creepy content in library

Home Forums Babel Image Archives creepy content in library

This topic contains 5 replies, has 1 voice, and was last updated by  messiah 9 months, 4 weeks ago.

Viewing 6 posts - 1 through 6 (of 6 total)
  • Author
    Posts
  • #11505 Reply

    Yaroslav269

    i know, images in this library may contain everything
    but has somebody met something like copies of smile.jpg, jeff the killer, screamers and other creepy images? could you, if you met, give links?

    #11980 Reply

    Bernard McCulloch
    #11981 Reply

    Bernard McCulloch

    babelia #24142295932791489104644917255463244145933337530935632565389698854552100919771402469672972147809681215246981110056420466128196192604277803890769466449143891845007381390469544982384730983185813457846473684382473699655559369398469874659457201992610295417911598033902095203857095450089912572224318981229143463091921708387966520773044835454420529188212356688486065755371437154035078402913859113198174322870097608339503603370503581793697498669653202083687609661913358026915272981108349739560282615333497955539833705483140553507599228636084873022926042619998037941081965521342949225270180363595082056739500253772306028535652532306547123652591841178117502905967510598910813285253967619089209638505492329650067670874149899403305700532648266438859859019704140281926230971105049227286689908461298732737689219150002535184682125382733512170617830954868213479009480514583475262520066865098791606558876716228449508725139591850883942718895903827610019302336981168601081673465330941995750959682126516846999029473612171048597590285212222893612456099765859540968830984930867066022043790841822631429970766660169245963303310455546472260472702266231230392488175697590012877904546767273642561220753222683357870245392532652149214853094977131719942440997198263512718084297516353927209918311748215069097243539156639356260507591474140144300465959867104142845901153375697032334316430898410143080087063686251070011185961215445294804899185571413102463725889377581539474554000613627844919279285614550753191292478046314533063811467865137972197457678388971449143837288374882755616365097168860201568171972976801520756373416291314958746203366746624198007999367635715254453843001469879590558702959001818283500668229886675774444435074317754241163288611186534687991736168392149848255810226423176628523760951874499885315254175027378579544087372131256814384812084794254047171681091525012227121211607533491871146481571965910279224462415623332628682723465139250445895929439403970128735783631759255647879926181125609779044848869923358173614729295251564734041132626740809014404845049074301892812810595857975825258695248585840616784019307693061359271205892807403460338704691489077967963794216960687017539503584761180481972418044471898447741771208701182617503118123955254993269056006907930228615061805435845380316416273779433403142259332890415941427446347524113154303806738894397903356395860038355895583977720093216180726993187573567319330059809635353749143427449913529068967789163821557751957212404019199154351473539530534264008564362827048202433696143674912380381414260060889498097857110583089476617107140188200965755546865476133437724126848885161707078577164282440348571167470632319140333228288912712908556534749128127214654283054015505806897280927353595836492314962332595449087353473467263046630523423504097392050642365844281261536107774569206407147501749144219469291324582330762727557591113797318836056843434031107275832823463668327418291553728876180599691234102305196515110852788522414793212848773839247559811721988469918408317988271194090644564053528700493125277054236523002236341577308155756341421098874865152951157668811181915057537947576520846864201686574754274794612803709224522132136521046756040793918148447212402237343279824388397524061909486986733097765186359349213694103930469053866152206802022897571530719273326499727503630826073976524900169304023083481815683683421192886101857108963828152948016093712131484116552510482960753764711577476367652685924610023213676890402307243505486189052560809482523449104432334568489953022691488030659606424599748458685215797001474061887914184211354699496050725075129381547134214095195563454302585900152195073075639659175074295110006131744280192937099515941221944930864030850398280840176038163612456607738737581131272253290938083090903720441945468465248096802949833803812324826885417507460104400882199062291993574009736045700708760459574812312427141459333955034367878669789822518126386581311563084316875573331101879902668601817965470229244266073653959307831385967586556283633847850082098316436362565218640764275846617702642316415569504811944753120043702270821091684386266240385244154139021948894500008005069520799212255656995299426237793704367292520420433555211042468606447967765812295432963294577371331209426550800369788293291679256818817687028364577213778938137886767492695083755755268032879795970596876786082289125783364723069116565998443494285597403911939674369953522297450301418251573727013905999263004890489904373527823846623676544658889681426980215193485921352531740942493586840686770225849729621184542807925892813130071817625122841449105726015919991495347165608998589054909646614172702456259809307973639713174442210163482867178700288787027615385776532528548243488572393866935095813603003045709542458428171294874085288978271447559454898095634681111986758238542271078750627798683783430848636603721024785866188050620934080433356164792177590700983789604291481906039450580424284563614435122316207561823575740777117618077235443170926621266623717934235843973318158201655706181172998061070169606174392800447872591323462871283485130682791654922627085944480974716906484898280825339465439804094533594029818853317046448893421232173370677893195851826023230653839735498947350300753639826094698659749877459019880844562998902287951268037210180880196826528454073101085155205887711065477893131526108709522246254751562278628225790742155946357923934847494675164240388629052792571648453580410757498119875466828260243916036868330818175178409335768021455363899879596806073381975386464006442657650459996891096439258671224634859063014965819277811849369598755233403373316105324931215618385592113355932143307434958787072663796355637039245231802436384148265146197098184084618555691793043289280740654234425279276422245033304335306137980178570041776795584767568265106581416732573512577417102448463220779074390650290842297246460733375470104166909488414798732111897987717235515511218463401104747615773000760371426814073158808884181451572070429298321138527742987268003908629523214597743056400100191216123619151370558808339678133886727684678238627281767506704426352476962898645173218008980345415914410533604275302199604586381232183720833635171140008380271561671680514375585110743593344473916493342816858430142927381527660615001837313694941175945393062934084135545194863714987874956931512901975476160229339355725691335987692079826949269830937718265066623483578307654680414507274185205962191167495366510994763663713434319800484255137107832044478014262699707728528070602533929634165116255631398814083887395096039621561241607432274049006804398455710178932192092756222993717564536827654742254892188905838028020974639474215526621321013129842528554372593426910769723061932054155924520940234125821810543022857327001950498127559228832861100282621925357819526748082396397396723757441214906500584054125742883011755099757943869145208835249275221150417036890446496788735540979348580063403331239040371447407607516550387021580160735541309962387520245826837372014409729209846915374614177691415837261296122897833836251811461592603790613937117758172601498948088228248358537268050311759870445848635751764937136624176442005621790148657252690039992051252337853275256622180020981677983316129405551534837156610252772693674880775729202006876324252018927871259599071144970243068817131948087558105286290439082327163421008973143111543385861300123663882142954599134940390813275888619824998535028080508744853974338810354544972931421801260569076913978518083702871562067797718230925460355659377902402044973953150048415281932801488913486308980342878858161103237227138688330231401408378157199129845095170518880380804662754947884523426034168662113596987658348252498052889871986722683409498752730032787365909748363392426203065733853840199589432035886772946941891152020255574325077576410885713108002419049736100555408520601815231912625201335441160673432465259545075307187218974001861833773502338034098585240084488061806715075573731148188349501318912325002509626858347758204772502696085715892369757020899109597211856743153978353504016719985017286824153558232927243051785958772856748261598436753072674305563955323703805996215040992426585667020508569565876740976163890077554475111261963374115063344070727632838383421948357335810633098387149613332020089855008467049920180884822749937960212770137668998516469177293849295504836956826923681205142951784085013709868199929615451199943676182504705902142754104732196471776066429217371182961941590021424687836618196600449271379101092088534581371777633241393834981319072262996489887794445653664747887518162077580360438576026878664016651600193217047282220864534469503438380527253819890108966133194304625771497443374080109916094809718171923376163721575847423444312230332969079022519300099963310075822951682415894570677355257467938039561946651029812799038149270071255772518028791541589857775028473163816652973275799481910916381616580230556658586744324190944904455210057304017555656927850845672437952469129793763705935867048026803098880728802245289571904669130254051976544614036621526940736707669195070751527683656000168351386322690675609090973028991314013859135034596137233393252134506110595482636596584492396983521468763946233151633580912074572442535911785614446364581530859186265095533823421127529096711638402479127712091925846751487096393173619306720291916060148197881870076004727315064270372764535548304875103112643560648952213637248667760488944940991112864406593462922767595064474563643358098708306511833789666001681414354786295863184198406518674387884755203468029788515828466781943421905484608747314421180511061839621745888343518007176509225420526825187347113381147241329464347792804550629080158930828243701517181868892204015354104987901888670241539570824657705211262002061946176565327247699019647381043845614892444226452527805289598701380966367687115887252620112772370355915724155072675354681520545107756095419426928473661461080792857267554530905264952671046370789413922488936842842088263124525460957314631777125755177545438335895671823854342923626513283410449138578074009192534321606598144796753195874721518803188953573894545823591928272231705582292890669168371798655033936987734367546606386464571141279847155438346853568526037468462948366366310623434159501687421855977393073764469766752377592658895284831371420796258878971787357263407311724337974072322416956051778867950623983630048684394042199537692159597905912872984605195611229609876540729033247624005588405239300438592723143186525472250065613009071099549187807304406063778876377046581598126526131171497475804776957081054629319719233488922660860822107519509026552063856503251019545531722517190176376898659256474540703839018987981387751853925392917528973334354295966269979087872277271096022881047728325497442548990142546604461828170267964729474513002371729044596583683118645498261379684843594548124225740579073251266089534143201947416565805619067768616802143119612793498693324650264707237929139169169102803044853908156883089208473836262353506040506277382917017752528210891415913696550099493393381665163244705075527673473533711630736826096476124386031399728798046354021058719175439974229714793574807617308247560433313301687556234241785035306279794197674272011388679216345724046345087113624891518259607750780658485675055824847597353310861134581786476594964971289367904220710183201125040391342676825532651315296553580286987610995716741376589892907747727832110080273362615930847408284992891932200854753891880285533421298760559655297695178031837320553609099868939802875106120287134291213338029581686475708830731961507434399241954199164132520091824719265130230690853196948576330258671567491683348336088607055213878172315132379132549810026845111193217173027060155340940002376880716449830763240556129235072227150377577092379126451541038561980914903543370093862390297367465152279654865545133416698336401283267782879871455303611270683170681906744289151855738844065078910072644080346730576004832073541809589888177742377221390597642039476264171193678475192190903935505789384965679767501688689700736830329930980504153239508282484955823624143640317139235716261170985262966856452091604205839762276833377018731108472382852214636442465896540279432594578002241729767825521422282913515745725441184667635088365764444370836977122152870322322752975995550972997520882187461893591573784910602333636916932376979142303340492651453314868984694141736903696447432827001186602469626613327981273389024651510561728745858262167225849696137096121535641124202136346766566130848573604010623662182099056040007834561130522529304163075191068326016188384535601294021394712358480089684571960138838956254742693011851960599504127393980887561655541398268399801147078080901465667217783075658378032580616409324319461032739937860280099116602789685176384159933054339028827445522188490086707744748688944010554361762524091752663734912622842325841649259863699054860502577569109014031733024875200889436809865731401772197970350398351345862809610719779562790731152598039621104962512289570563104638064724268849013239898441962496860867885201108194487170464031897714222036133435363744508229520195008474128314469294855240304733914025575571304388246497315901354675235670513254054590331420973695102222532267555601007627171944449425698829303191038893062697227999004237555969140199865562730408739766664667899286155388176734360875017737497988014135128961097415603182393273425196818619518760298528173829281040958114349365955039849332396018449374762958880645236046942798914225680322698969393729849138396943514204654021248168098290053283715166274960540760788918958173606065864546092786894918050577218981644133441926840699553653538547330926128215452364069748775617239492781356487972585178253218577204623008307114468632902895445318540965900157827731602620863782624233096082015839804923867335738077792398548216497908715340169375599769922484061626503393871834783102730249594696352825813826527537987843775723674836739793606279852995016459148211270821811000946736502772969542906756649055359892217240090058720852964897547379092276408254323917628217661925943682526051692007707056303223910497447791134865900276480290236017609367070729094001286253607445433631910154218804573997217616524022699421961940498494882745829183318632395077283081808756262519489274112438732029262218467928464331743305615609572316208666867517110931708158563055504193400738106923995727538652298267251766999486814725547179091913389104694611932578903651828390915485016637033922215397624482125715793666596498706597936053846584074958028203646256770864695543399429038856024740293557917279160019042270416917211378253877673728767934678207020705823474209457790149122810267622445421070024866804825581530646842316754934032250229318951691847934307601631647597586329891648594245660296959569003849473104746321225878484935526939995182342153042447463403021778223955028799570704766240457531460336512981152778021896167385979978969891794784399518782326859501983725751719496863336152659224275726981419381373616276068254033812841029947211871087244135908466496826378275740982959665429253110005510538699995375520582808908817677562290510173310668093221528938293643583047909409952692788719012477032012834870887270163651120210946370012738804870670858686368217427686004946926741186179265644781100646482279327287547937754601226632801062479660680994106559875048849572900482620487464516673849803040808077367879458734700257799647240782730315448167825006936645100290786339743097772571467549323651680203142083198449884621768698663775695576032446150724714830024504509190573579203760429284297258625836717485401245595653520263520449893517571220076628841957994111461733569628966307176374886029586765314909001019361411746357619001264523704341774774692111880173694032700164185650203669799263306128956232487522273820509965523818522863904845939579825550503725486721450801476402746140835769766072883968152322847360969268310790452905290635703069311817448397323861890545958531572411860961085937603629511696966572641909747118076970375360706783648906852664171098724968782880469292971656670756690165305283856362033622168829867422340122440539619003947301412166361725405571545324385570922869690997632480176408185664269707078422010632168568100221413364557755532320808700723232760480834951069799296158401034926772092871910176385058946220205351061411947187956369547844950375332542369196240269004491578278799020750980802580230071952212123510472938569394042940616693476624732977231208383155920390385238387949705288261878946736942583166020361641142560185575449474713233887555406069015439704237145772933756438643500747083234860489621045098677145264337042356485808558810865434950148965284046412572868774901138762481234396516524713127108361491385668382592368132272410938778027730839861580224768493758631373873988148912872120595792582447893330593343172854255621241204075878964869954344514476173927207091066864053760350874591738575792504420426405456952858941485300778073098707315880287547719336393664324337164503117356555434472120784463930300059983194660922385785067973654076335335447085817446540876141862378068321072416733224627554959866838567448113488577452940740230185038303179495284169663816551028567507943132471126609796695613030092884485385340794395517798176088218579281405474344942102828839562081061264331410012048551597246904082483542632813767223924151046163618628820760964781611637996975511752914746987353035954491471901606819688954104084707247521838694707671866757447713445488326984224932671514895247390552397954206851059828734684631745516590596299803860202741020191594600731635057567104787078080835227585642506167219083520185218914037406994946116362396021130484063275307747100112815339759222826060767660041914891937928870518119654970107092989918381521731222785998750223154506324391374537086064571590696265428512952065483093755579359377895995931475340746759633476432055477653216640423507902917152741837762909995664288027366016716372498486456093800941416851153829588818145043873470891627457188644821438636758110247133322807265946588084927803314164421351926001607801999979527924043330507358401842182600029953275312594725586166697022347947049262141537041813686844041802074297241551178234225486105518441487541804285541356873153421642737694827515586530603339559041340641877097168335660693450341216543649338561441532077626773263363656738833782004528843022897267143336542831696216782265010373487089213176691974160753476233970243169848344939492757199172104924058732101990988814850559798691323065651360799987149711659949980608124679702267312923014596087935332986894114491041876992016604143666381917559238924398777257712754019393281154874451513993693083493486593038543772792307983361946391102747517892054939586397837015403721905933575101437684803111600338458062123556782846138827122622578047290225797150857438116752096037759869432379367696065270079524499679993894295336039160263469110426982179413356213025555022941097067437839634512306370964381374088675502846597544724216489031485280359711255257815994187642979559874384534401704150779648538890210315850495161596860714301980068065475549332439993241199292932001227921955241656950714148762542246409795867960185811121531294963033214592194899128903465468280352877854931495131119997880566429698174070318250352858938408915621500136825559584771677973862301006796619024526118001394837190773815778753635466386782704225460567041574057463097368225683491026181171589471310597309351183438586878659227861382530691460852985442069960365289930730032347221470798700492604973867847161834537483953111795338810253905536061623423812459225780247560992724831117634481118017928742379069509931348597402338199533180080307613708386610214991665954254383026090702993395803525941943269950518241124711931880783066706895313030691940607256839682830287166884172646442346948391015834575106151772177302489778602345894763064771983447083941386675836645099481346516642030605401460719059446417631979448804671377553428901771390259707758509313744649629944340256037308573280875357966998906173597372093996731185887227588558383934705474115759601587956873990672583849907486938274509115013677342480890211365425545678557985840450991081475768211700102413997013289375191214728918185276725517896908181275080452172415781532595203301421035133186188392686587470708464723216752714551518728087588585953874737724588247497092763621399158368230058334339007961230340511675592598513595475662191850066342797865196356961580532999873920568139910101837992125060980736711932307839346427385031951089178976817111839947555974910763249350647229229456877186458752623234983278410729200001139223334940396788266491514312438195394655936493190232757623850575387992066020450585952548347059861783605457433562964344177049223985595519353104777871834468473066826699678514724620396571520531459791265049946725881756675553554556404777774509463052042770030174091778138647419078818398912260969254608056421665544621059588951784128858826217447084988822516146759794769200448916760422151138196037724437677686074584493645481566876329783232331840967368629734162934925652091995015889137970497645991012021750009898543746407326810478320533610092084144621843182435031045970903237752352940671693758985245276276645087920461847959946004475943982398009426636962220160299088324600751957028038720748210659998580378893069388065107990144744677587994514361165507487678290165023799491623367112789063540039021893146513076064999622323959814820644409396599629432377124906314404094195046373944791093668228250761528609648685727160723341799089156996217026997799242310321313811576375488722945823241992961560703211679388736361499068694246485344031530627038583745737148634430521354100198649075234125376669596290898681109867787202103955233091728543648577654088151045988748832266795113281820906075410949178806417287145879033372196925110355637725677659271190866403809779300706297206680916584516435918939313817607548361970044160488699252559462811719110433665056607672145051480809322132184144198462974568465438227564131546984659393766424392798990091220513096419843921094049261704539625476485892750525390715269160221338522803140112968947366687712533156594119386577335160427079306747815972458903523669827628675339022501537963028933332340006833934286104921158440884858119151524607769748612907470390528073815445517934965797674765944970331919508844725242078766957402151304972202004383288469071193649485367459973468116229392612157773613508069643921983723735906980775458983552818985980897312243153089680805511438267388340916080562775614635874615470505960702520351419628622561544801639103371372612445372058917782387189971509063508374095273553626214607615815071810080082988728773713698323669277837072851389537222241876839459220052497154109083315966001137190344125369460639081752754609837667578287819088180308568270704145509649743427208124833841943865164999938959129922891742956421372722208677285007205609326959085224798436909149209476203375893825730471090311552981455860794072362224416657487386277390636451355744174767403067361908415779606152069400729198146039832551027353419190400762147064433901746173328705756765384658912531140737012194704992593889287734028443259215307586404037341667310221148243594869210131901784480759282785221200025367377548293390322385025486616273838625513343795219622527707341558720923108262110527408125091528386353436520898045039183441317092672543363710088715770471413623261555129274183634542284431921989146369606944686058275730979591066330005598846751753523518915570703605477072220544446601332552821416883842849935148668329085106646865653670392928176306715403756099740966678251615662638032842310726609303676914592173416476791968393917842514081904983146087333234318981488524915200160923781331045367100096981942440093403942633271490670140078431964094405875372248111383179243380652596941981304407460279231836721539509739378973253416046801761277813600498978280524875098994605860565712639335072112643840018727792381769583859602239802495282138690420769738512831849028391235362849080461527432797376177827079741609958501395852416699801562839597648401161429449526172508672584843540596938046687305932993493633490286702293690836962360314946320801179536253528070217415139048414525835430185258739570324085427781573447546662792356491390830864729772487727015622785200563890534842077698933010320181599311092406980065897788851495836829801503065205780442642601231004618440478200329492760833186365507970838766656128699949119824497537002596375753239969165253522633493609641510637799783690804553987343582063940130230481063951463622144773696806398476056782619387019294823108096736473755534943776376187889451142083624414198610711033811053558158735156316252824974887557026140716202855483341895701239443194076783029399294105183839575438734751277784287782064772474945422336800581718164353563783778045949006795006695134134047185310627142626441440191807927706470409165379340851247382936602685835845924093384832299861451730274339091607039644704408691512087638687736158736924061765791010023376274921661016871990966836648184891983388618445656233869079528782962938118469090437207188262314020276339603070271401061396875138359485758996219898154553114022897869572549442134434738747379132273176954098132611375999828772050539598715556623331114930023025881520223802341803048519760454501728421768592897597713499836545736351487717938895418437744205268186510639051160407579835659749205378093206130125588654313223972257945335912482335269417197093145277561027564441246019619751736550350747720227864150580077044993837932544368500157089996411344005043792755497656482953874165553468867104007322818820276606766787715531843315417670078035443007321390298087799484113045581762145285658358391866092181095877880910689593118054998181036015186873983482210824189808228012763401855014449425937390969963088047227602590492644386310975089712237696389361429842583608254049318421691858952247528786328667772692543029928638644450670528967150581252667948704485598190761535169627227874983059950312667756977781835254396041974318717808029724018711389005279123224802931232513683889442266267480782720165122835709706510307548480049910249357265349375554840780319089735753146131091665094003573776190912497858256703088482087866945695493274256093993777330560104545809369937528790633789123964710568680023737957757389364558839602526932931988571655427557587592624236191652240190480783205657127690000968659365313830409394334382541225506814421424085073802727444137126738531819978065760841084354362179872291675162114339033821358855291622572339643027734789662384325246623227444863010829281245691008093358490339772948717603802924572769570327453553127586296841477700539569051148102232857948693058146592410509217783177000536597543293380255545859756113725763624870988308533199092044429297789166047810385442878087556142102713589011616097103589560178840914838251959285404553560725967583616308176057002847857614782203956537664568860049726484687390636344838871529375220201211542162852406627441686226326360370412782664094458489149555331095537843339013496384032315670550874668162533942118353449363634988848842841627864385065251323257056351715059771871439222965231664789401345479907408002145511354680356186465121369216115086058533518638576555480058085431900542331404845559225227477007954953899357077199106131087950935378353472032339030728773621362374159214891893355869323079081470699939349085373668684461736159771601583009550376335504002960458802707761557528535759192097474965462020642973107488790433584598665756496821629130662363345184157796176581531014978243199352002400446780491265800090506271247470711056702241592669856934756652133962717189021120609323759087978010840853137641244058298268140151983763400857945635875192836851974250451309134346354535835529997590985567050319845634421711979423950778322889675715236825298103194812766044681028700261177552062677574715524389342385908305952890559589064048572245263119641896828682867211001910492881642036332485842926053326408389204261125104491573545430210952204551591490487997839341676139223356799421977779040231677476381468081297362182862992450285674018290779967793599320885516183728528663972990083948750042593946334968489309223779039517672290970249623023290044186269136556179942239784661817106990850600857786283990631535391526381270602969898155860572705288029460268128536897859716272860633563207919904890103146611578196513307992572259554044098956831858120967628189148346231337518564964200520834890440110715614924478476667112092683287869522260334446053295237699249490715809341112108043357509020569000571501728931178749532441441754127127745429993990333987061770318838707422197122998414952252216392463709366954174978674286479187199517124187927103915145703754539270367451676026555246859526242735589607116845361509027134359180274761469534574379349956814148808272749530765954550163922118784588655407135612753089559524767552043665098334546308173743457034730181628153333337260495252949323377334746333412685949032942315491820980450428367240078619858476538488034202370848746477949845987171459238893096006719083403140037842437766841583671005980906957266357118363928382388731715324236961106120026248500718154349374392870179687299243202817277193895986098965552530363728718251030303052150370937108143097558213304202080324815251311025865369309603951757965425167790015286330305315101644597434358071183330431902869310703357861126392178834747949507352018511657853158792606065168853045040788971351661057600524050003992358409886605653953439836751576244859423497336477679633733906714368173928997899635537307955637233505700755814743564409576569719069145029225397753127969702044954151002651476695655451604626990000792853722623691829151546958670880549893217577771026210690974826756223511659737351800216298921322930376541431562241637325271686729996952298262722170583498868597119455458933334953857488174319761397044450243049997303925465662414553455714663119086935371461909241431917749660408818329221864525424962541668702759372670396392609897122912865350951164987192730688664034583012897827424915385590827757330769043427961592790100338328738034436120067990166635425476317420053041618361311719035366285740043148900221169953561354689964449962278497777255670401757391053710610398055101713160134662595681140888034076571707647759434744462361344992788487456021266714710300832661048094951974778999117100522103571901372588502558952095284264017636506383137770597754100607680251139434524239443623162096488063005622393878553600470516891304481759498798172325347793908858908181642632203436511737071034153895351379244035424828872036374862822830901648927387544150169894123271662094116243344585304632271539624201007635827111250014105014159329667868936133893838468569983902081448932169384473241185063722794547580898825024762302212273784567735914473238616285633187179358587362792824893667000598627168317431258854026002947626234025960425852972845792977905796431435277764970074903355422847621455739319944197099493853015838702565786276865764014487571253980863105264322167838433794732877668670821656018094251554554039033525949895355933144820910039406619789478722949063395030703510086723002776075698835486014564946017242160785868537155672414166816084199795829522242350262640410369586295951390393780057062344563168834907810875307259939873466441874299391479110458638267771714522623242850454881874855685987274837671950746283365600890118538252628367480501644233241359256550685586167115426224321761557118491342399538650807342620972678059756773643317334663190962603683773053824857973421263355744119438864570118563577286421324546689238782337175219946160394937902475664971238572252794177656174088118096015039119098233552183557107795315317690216402349857734776654491260856593637347042316789195324856768224794391362067654847926464451235042261854474980969596279295843386109259760845910182766978126343256938088965375795048782463614549809175367936421628840665185986234245892113731419583128079519497147073625926926712622276739448873973609328633250033049843739569796746361374816738819813233345724082960133950022108677407323192067549939162193417350084806419208915788923111335789822479044340445435738342934173985009890868599642123511436278278807761016602836988045725355295725759517083860516950972686574109814264614693572834098973177492850064865529041101566340678731434892823618122159252897920532517129831901137889898996027179521549897376105233132160611137614110489003746284787661880589547260290584024552887498241063219915956790179909224933846768594708547309735006521223472599930132178808124240118250213575176518629013377573212871379621110284152372500567623476430671116636621999197100059019979155345379154165372025647754327180976989172304820808269919429293065387992523302336875816121228490388104056307843527669646969943499573968176944052715995069572403801012841769382717069298394039210958946440128148786636055451798920727401112359232829705709065509293651738411441725792326559195321235048768565070883201337356682442024160544849214131627913533858241830620101326949448819796593215724005119920379903824777867696954479252584545444033179185630517161784479622305964138364110141868357798020938066319018871960419856492082183880170145770286492867163108142191858397736874818954243715202323961807290794421364472540015902822925062319939909745794321395908082708965045221308189817116601906753251987606066606402923465670285142115144388162467828955954007554420467639948622286926817686346243468762107659066269952177137079730207044390072804782773379324986885908145667025682692992482382503341350530108550133738256515603451141953781957170742874512984501519463209909067358864456546316820579961163015606530710246516572864100205385465328622470922443030123712409586719285770797337593779893771231173407630635949873664849956735999730187334891155995794470257649954037496517371159373438798110395151427882003648060444904586415923308457755496704378366934202295541585362011517615573403329082344930424223382758818422309165701978996571645663504201918558716309924373901210230006783182904128031676446597288476011768558640733655677480783083614011607944191773052203682717745680995439459211469608293334000532178172258979238200936970607413988570184906036199611200644955648025237966427323235998489560152640798194819909469226362579896612198130418824952111090524578937699238682650826504205686928578957939458324790848178115040962977615664605437121628380231292197220641527222924833837729979375520358788558382266727612014408000920484146434549130221240664335586204162542568058952635519788611511169402159642774519830715985377284805350696738628138503509518471872242069415442582161271269138337040593009151545457722085437703294046148067678430837583316133192136537395374866245913185125625324355130364201542777570810258034609409379073380476543185599749924808413895528314962151810526511909077261741290991936982305078096695750607735355340137096927077791653199591969131240149258236027945758753564298361675802231023500597971707527204321841222246579903490899117706014869462608728504415051852876202244649207128391312734473311194250743115434969116367540529227873383812848727709500603784615061503131117458202213333540101132753478529987254194887129100212234302045129666582724905439961124374485978398061978467529318198712133779425464163840299299063739237234444841868951910712386889312125638402979698662134070023869963761108853404350590318841855243430490634937613577661146150894380069408769472171249337963353425151448636541823164165292079522842535104276260772331071447909897105314653705406733898053695352399178865407588226147739755851498563199402007043418516147350113565909862888164409282598167015505634696554137528995313155312085728181733205060009199474933260715462210176593285180113996202107629799168679382700510446643093637020055208364936228003726457399101248730057344679134295245253069011946633821045364911663377999895269394583549612138707381544136451997518450936037936755502497590620068295839532128078325698103914938234954084434441834247836751048276209567940139518999308018734358336923952031287619793801620361503378732625373171565407719262517375994469589640419719395937723588465776542856853145163482124948789198551028090936671187243630730592190406900556826077154996837871486854318354939070540099546183738619752246167214377683976636723478368374829176987928810838315284494064812371020824773294456967111308814099961724149120003276910631361928061534695377688533562008039438286065672063481409049567676740997992184291723980268808651201884039455462889570073640238749510654709840092650431965285950791924347799026637702510555749895068189534037262543626723586733138740562759845556383869613400861652209636803162084161489057130804054777535927846339081368770619763341496018659772615589471983367261256351810323552067202145749855473345378075593581985275783101188441851006269739694099736940786062816644094921467157425825099907917174586370862560668197841010466409118491273212921683857957196005719848569386128399634243075862747144663939263517613902430104806010499530005108320851331131577321234108321803519574903716561567572043791969018884984141756511935521091542709821775741113461837217235938774203874283927995515627704980782519022819881335337659004502144876454144939578936865246903222446303448933766960436542157334737807855848823426291283863854578011294688101330998486396844104077818536083908398784663982527894578585271685454323590768682840855258223230377914710284813091162005812616721416859631010808049594111584061103059087666327660171676959534797969144774435800459524567204095773225972070161203722275626830606016108446206925580401305277464428247286070660523001381533173496876405175451102040543080434735134381391329462290106298873123512386182953841585541487917794766887839986599827703968463061542987859806507223216148531397835593865436882672394598388686722860537417745542316162033201484766729616684014163376541508289748180912605838590282098312999443069933852499665933975059119921917788921530435354437976555397455466003999085920331999327414271305730378132766321351815047704203202223176830600951095797791594214185085800619722410279156213802689511565397580221834906995339020996442415643338071881830185590763280764310035925976283540629052917831757049248599024302790056364574644466108242998014923480432579706610830409677765036897241102536347040976647416035636030246065295629627112139453899899225494456086871396976667634012317796194020165779559988740645466549268556106502279094083941937545559738626522804508420347043722245121276105474093488882736409825963456074364462264203357313190019223310996656863483706941881347766418788280314591079256982203363778352177077246846896809029520306286842610533395579955638711432004568641751738902813931885800256081796703568518644488913033389589407446143789728702557227231633559337936731736448172095456074475982941850593926577824708397122116366284573466603152238646139319154165410942920469431172573774787806173172722198569548204448354769527369429814118941149901958911348832242645231761634523698868737843473764714499784204811992181393537927140970407795554885950149988943152671210640744134026985482906834832855230137029259616540300714068970224666758524438538666170939177066898390226095646982754760577966329526661775089886326071895598863485828232470609715026254209064972547894562181476209175329227016325682108767793814272926984793311176472380038791488341704083536340932452538762759214621088097700774192828395760137804128462644810052236855598697870488433501934980303510378108509604030196259268076170040388607659699271690069510201259105536264042719653506146317956141720476719936947369153850257383608281647679306157438784321678571442089905579314743785634173642436912189455809748387688587152946806480173571549750384978658640352828639802420578678888289864314511826452977267163624216080701959927053870187944651732178341462284572161102854237819425746774712285082886856206967066556361975661331352438748243712349066820476718888429665985887061024148781426765817401855514155789763330416949591187798639323175073647339652735627449110662611546012940857672020534407515868605050727157896624417276574180436403775356423504498270468245761064137753466958551752697856792273106297987423956620285600195009299502821931185971983109639438957435736257352386492967039693463844839130172511844689402763838441976784799946945481707762322126426874778367511223500672390532374152850493857312163862307622820638770694724951106554284947882361974718928293846293878839569728928701692412753750262979476880044054651633866999263794677425697822138415623067168007271246846179307956249084540568359599383544605938297833627291609126796290136029855111335851582150781415656224248566849953259797507679389423221387628713749156516613085818936245492440551572135024617233422163713361216294366530262511247051918120228179202099848094584528325148072157556317156021884359470845846114978894749907473580054213706604182704070893477022226793998563693955096564128100410416689955952674891282820299854569344988576360242654610537501069346698768177722908596118766119712996626318689490416170694818775543486794696984351361390078023114878510955032106833298861984800933626327478343934038722317900499963925329872745335394118884729318389921390439052879843715559812943902837226724120765709310297655894068063005952654558549943768490403525016557481191083587578419603659151104334363209284506021703599515830435409981294797596627149818878781422537976663873722025963616410436689749274100645632646119239766726389843472534315742813627045347653945162710411501974196920040199106812625084608555954467337941672252024169323675316689661183574142715760644090222400864509275812970836713466340787163766357166787733938647545095059215655773972204396255729959446002849697069457691860779258102784203853359853559843357119859665776094273428033841959478669143917795167248609445645906857848338473616627556912322233768962726835848917032354823449075751273677299098065669980646563352216285487262425678612390812124543570535919754917067461987212730639019704414660846710603236872119923922113539152397244378465199575672011785042542377051990943152529442884618390048600784436104680995255000734885243465246260051332138514749371541401551204195426734170620550367056570831701861230178598984710001957606345605159010044244228958879703590833247884959617585114200250369732892655748525306415152088686739159065406186284822479909177669736385009192327220521635424147793981285164680630872407072728235491498242324916039873759598443187178123626058889819930753728337745294767616606398810087880603609698418431464892147900328894870535485538538096686916764034222795840802297738923816457103324533699397684561226177820509165367160770449786994996497557076880637187499347255736483516052137760284731740834767484591322777852752822088976585879357508278884853864022101523069205380492343248557838351548186755530211487837364435394904252482919496050079684447638064843743886087011990308455903783237564660789300322153746640722126769031861098937650294549367488546050417988767166846319820324551971438757767215600325527191651925976186682653350473632042009047402095039793777543700977918690042053576285505890996800333213234497818144887022014466877914646627884023733946351394791958706841475850127412226284993226848068257213236370698310997723215883858373609057297368647501003356985241438021027619805802266857873280196367223494641480197265798224909631982616341088903913262423484171254834682397532544191892850208231056715143665230138397054596817862585766967251495797954259552412215396857281042058301323009538415990590746440477900465009675331531645223873248899971204661075454525374457397975982933563664403649088953851935171048965706459310467781905375222103213390530974159970101907970507008640391415327632020018745031664878886075394551430417634601590250947835488252346305171432682828073478223641270951873834508256397212531614236329653690856289971059411206753438708962710129441132625942468202257600992763311124179181631455228301748542599324510646036729705337321137734954076118377384759501702847011642983739480763268766630145867600091780350024836468965490831815975215358875693150126463363634505694746909133030330700099993448660840906379875494284872697718503547630635844368739672542475074916954503923671691696287514126404146310120085614790594973259675179667153495790087474895577112986462517891070393870119767040286879464052401778593987875990217356530027392896747074889527308056831699460910675315198530525149407254796777221982897270617150945493058820414232729826355142443185274076457777985905907704933027311731383018405126501344749742031393777665061374304925950132802363892017619802155453453323703964183631795404902298776393619059636062460950671574936364180353992321431626313866447350492935113078231174958435432257508402405977229276931176666930189282360663958178696358458091001537699859975779994538818299127548788058528560309618258306503018730952850400019010622377409497888949529759004682839215083463670125329697263686275008051706874523285392618057400903277702433118432983123579976840938812600726555912130737429942891602881477902921599226827850492204402926916218393179354749976340775710793905438226011705699634804340130264379067840751239304894226148123448432045882659069863189739327553097292486531335506985334253459537245821336696943450339389365200822818228299366290874066359559248675718104405255744833874023085620354215824955146554300700620920615352364576616229032041329875066071534671768661976764037880973178890759239614128675256486452855563122846970325914445190108379357741194781907350397791294187797846100208598688285586115152143799921726127044075573920055994964139760023448760461600122596609924155194343695148214986866909087397597925443877336301597253549321964765772498817819459404023559126882610179571931212457616823691238660361017563272057005815623629575575362511027556153610398152499430667872096443982312902089560338542718516111867083621857328163281860395437341298468739199386141439318604975789766424340322777764426628634572428908390183539566870821605219129555035352631162807074107341435071981011445240567993374231561950257521579532890830645845172904335242023950135751379047310420094864064555554194294915675583352270017582951593986930052253706934854781222550429292967993583683718141504651237064200166762179436815084836017482232825341576928448974110911098171957139032508168786806775944002827763641346255285940149235185370360196475152958258842439384213300834360601603391797759240513967281507538370274813662699306002955543533358796377584680352768060025137502033853559016679168589350403258217248481530689837702240648127136978794825340567045143433868591782169518576101058880200903257537043653635435072334739717435005556908539945068690598931603364594401066629193450854350695208179426761721958851272192339890529025212610572278196576107296530417484837306780209041134904264021058720452168124742717196362466288122029370020712580381802861833388339557421084030698205057773092144116186658490343872095055159459859563019367780938807165826467996921150099960549338519095203751178905934050205661658701112495455242761839508338792045322971975670550788952491176991175918957420332293812072835820181885973434648710194679168551711925688325040850095818409143821073941646869950519994920961725879100256166183439081494498541477633346161557097049721043766178878606717106254800853727687608359897163522004969752797711578905657087300893220235701126351178768961381906272813921100296114155046602721484514257357756651068579526911240011120869719118514856447023223355738844569396135766459579441929508634580803380344069975910194606251856111249064148926534298190891258931622214039017830137139749507412394839162749797913877299352741509104721339155910998470941511033823584237212753278534613896117067783107300022159465973304956180104296436636075737596791663658037903002579157495683165220138248059528374948106177679928291413057845837977251539201413304499469755827376891025551694892251638996240223625979867929353904931698998403638789670515638514491808404260990700839685358390482118974454700740248489141795882746982970315244149402061208388050037286298969911079698180178920760887515258358463760741216082366708141698783884515274248922012764049923822024722477425763146349403551788949493779120331815720064461016361838210112757539687359472929302923820513622527022933775307034907258200169422613687671247914650522617819196291203289366330006318784514281489983176244828975091791020007949562329581109761050993362626481525336524967379027771597180629707891554862671217774543702547396848939947556429194165482783448890307860820421807006615302734553811365185600896778343191732712120955680702147673482683489615620092671298438491501214670379568048795387366443209676573997571557621956878295543094911642918780249620485552687202564686857400170845460374972521008903029362604043295499901028278055363691854864546515223670458351940624911191992881817855007532215340114216808227637973752230541611663708935215605164836858836367730419802093971486512751447274477120338684015842564075114268567328678540530278301000840855597010257042314170819380724056958695238469530713635362197531518823606372541711728514550155315575918738739378283436153916705002936851609291536090830033119537016253652530871797047204367207197408699074610322194808038139668978777248951278562224493650073168716362222962225504072058281097843973536477451084675952489507937981184136276957535012545859985483646944705697197943961095783186146305028454006451681445278337295672656693700633871583124610455070114452651871533612560327372569879460758425106652068201669440998409701569693688060018610434495045396742094452386176101115347360949880879175898963867026032785176365089158483176826376500550204874856477514493005374335110033988222776264793856905614088172372829879379537929810244277947484095927724382595821924018274928738653882923416793882391494254986222411920965786224468965218257531332036834532097023139303763133485999436264293829852185703378873827208520000895660667379881295854516240367478345947007395389016144462632207794258168526641993571805593824084337805505859326903246589086331574881920515662668637198308180882518543338125558936412989163563632389531539582846822644784673998279825194151480091174428070747270545904062573276694449239529309654335202118074112542195643159112961679975552954254183448772800058068592368026910249594305310535199859409078829339727505983954667762180639315663507803230591924363446880807788940222252519799794313081944021943287755176377319665839751636953617050922148853285031342816117234410283466990241526839731131289208733979922914112693863932637337221647036040555661674890656710745680281318746852940244258856350989174744181121655951871591402793373249317836167763497324456733005765520195111903402301409065554785589880098999071038913253504389367388741017502447517398324190960465516462395548976827609680551201843431231390984813545013932331975639875834818592273405541324266764954327345649568636575409667996509158161458473509298706094663938998315160949526544075592710221707294090792255391759303041246387931430944159373473772726819682198799793280509660368473450352635442085368115508087210585318247882353232001021770410382918826370581090343740982309425780300800934037339345764700402883697315299524283165925606949228708842504083470921138210085518658899057733762535725049164185775956531025760054674292289943455497954535364880072383895193459761116492387665226433969479562671753132231538000382303958262361292227915551237562989969972717458831136134341526921000037659987470040153480923455735413380630062279548395264339622299174963419166379477550175078049980867396283972617746637434478326838731297103453548431465926052699361295355311062223916896913699282058059701775534916907547064551328717277156837302409272760661355342790036779070339741598866280659927561200422292405025786290099616292959780550722622390200917341410970352301942756218216981546579326795129116527946229739947419918038930168207521121020352634479532802155149626349186848402056209249263048758909772069245432118120000038098674760930819976229866627256868070465961391802082674602459708272560352309187252897322812878811129905124522432452490863402873506152216233270223472845125273819632784966660340834414518007165918332457890033237563013822085556655154526315325872762664699084425595901758200447647378509089020417210144082816384259625120503418058284306829033756616965041162774441283866325404993533820154361996312621870481069531517155560176507328830101294064673211152070573222542976686450729254340061082490514285167596514894031247492026341514119601023899371463513287948354598498431346906654957280189428928974337061568353204351034224255439412426512497878912516540870963680393997996053685246260043464387605113265232040692410864645988874226747454923464018266151719998908165646614073466944562918131531170364466699713426761583446363997483205572427494160357100964516016500709722833191415182355827905048723724485648284397411265713126429257771537082271169301374013293051523139560207610000800190185420402657466232510359115869438213954956388095235889704295118110663513921950999160530153705287990593427194125745883382097745335767465949269184591370645272417837423001508584240138865030603669756318062696951248221071114793713149045062471876962160284549355912163508547984367590694845854487151108374181997402889721022279742958068278940323323751760151537260612897389815668434166515721981075118813809475905009481400102115858985296957249415034300042307573180019560539934522737382398719243247929090410907950056291870931847417628842337309709161283662699646059927925619169251183701490196980551640632357948072812058728708191910735815024971448296862417731151667270416400561094831672920743290526211641516620438712585897379638731322774626931010200031700785431111173524221220773319276370703654983266931382467432592560827715473080109957970944543188167422202449187298015602748362103449910288289686786190732931899379889502923622723683483796077024280683387064936284820934959136455112532614518733077764097624689723917389969944617881191333364449184687608161450060789113343618963187393621379674323725157721106769166339891330529598625330975996201388264235476232378317984076088115025305769523599301028972919924671336383379790736147902859822024068397071673104660607177826368474700651933496353439623017240000986705990129360404184643298152252156669586645321855651486481741076444634545536952598590699141581904946643324337881398519470791231962182181299267888465367452293948716098387667393065137106998848428327474128090426080040620789423013053186011033506835243828823381983038835415588037567081755043190302547250521700401383321641704484397401356410857129065457071894979670808557114985013445103211492358716768167281476323493481941120150277151370170284985745843343661643766753007597102912128309765911349664696378356882075342241873424522048801804841045114721136164766900214553461931979987910346843449837857875419271545970558869509618177050019382537097239713537852698254307273653545359707070734565828311202595437920344766037688616051019973286603161966759765178839136266984623750070821738643949619771791365544416880710894477946332613478958134634136761148616946921383583062089270290707564711138395811291570575249469218970558339009955709570017177688538937685836497835826908677463176720735031130752406555953616496812411174591112493863431801260322178133663141563010710705586517194552891264626761056051688552746808197100971181838382112535495316573831167599861400459077592292371105683176410446211188147906415953359364550438953873865320136532786251919093689549890159072522960775007808731219811739662562867324237868563624485124707700356234377714522637655063196812565827352855074561872889102281386567816086658968263013150869321180320740112917880200926508015620204070181500343676854638596566527889182866692834951643517153793055508463901553812258465882407563144851828023489017511881553177491917144211065121415844177829211789103661498562476923461969344215405090459179651857798447781802871742174952495342199337861395698713502752167775339122300664075692141541415599749152123601759921082240662799355399875584077241205602411261079234116382708967721482922385403694492502431706805546607305782987950698314731837176718793792955993871630353428576804321647300528166472676354829673039895346453325303736865373979882035031500750268923117628431157082150369532292113449877427014986162950348553543735475411690494506637911824265663737508976099798279556385743910849473443548476730943800116479860275461856714141919897012809779390146233531324512066888483541146462765392118400515045217982147642876137468792902966344479784359719733245159464520942156908979863832375599774137504013831209828743504463528618688048934663000021496526864011163335152512404084736042400744086779650950278359467581469416321079650050384185523290054735533134380582197220372399436933813742694555640925081361734057285349708415781313932314389467248674285059347836798826859796680840899851686096736795780549612653178322123916792616271882969640855701794818038491489264232200465233747612678117816410387846096553975477897382692593778908813393415036260611601608506177619666042583362781233502761910595061948745401713961059253743768230733230675632326438373168119547180624635617328506246884864052784737303322213529618686319888436138319940019425932148160844303513774030003121074840901449602340306141947186337392918681648678328279727631836821119046473375119613915937475910496421604457870986213961924204989197454428414228067343885939785204662012426852483469835829834443177865148371905939583300963254251824978355650991023836973239998952552245753224242148709061003695065530821299929170778352176489983456948979473895891197670743070092995268471431283710207964362904053261296784001342328144464625199274887641242948474098275232030117635016309327391737029531347232877245238949604784930354920697197328064765591229600093223168413506007473876651293380478257566387135888318270321585545710857561638131458166524601349132919164875868278037434559857201216736225091410108380701564433276102380549451049820422977728313952690350015991439224535937971592817692370873176484314197843973647875195739834037977042069319084386111403941839237810224501010312235300670383980286196374614566547659848026903879092625785520367956829276463539829231684516266040506005090903341488831068758561246789526890492133935356719747022939870036128374459848334907841516188740460963823558080112799166298522738720342682540771578973660080695478467302817428210688385859734235133579684958251776448855327695755546579328719094404181320310695211047961181276826536200573136978605961394407887981202690343705654496843196927835284477495190228737750666322490500440584024200182391862045507880606844080330595547292043076831655327518717928447407593011181434910502022841209270598797175043058149779116737784630028837045649196829001717010868608185303457472240831262796254454389205541676368777662867718131909611075048345692297724660724494036390919251141140782818357548758461314542273370671011594438124058090931236056352152770709387517127898457536855721896937714141672115679980981789907576961116941392268153050457993910352957057825786659719032501219701454573795942767830458404212381474556558075411455162692493407281212063848159321048467464146291500860667252671619368393825746128936405754073794890990954151815933766807924051015364915795936228749683898495089072271106621075575971669268828559419616713242717957253421075252026958673395499030382692974496917122412828242163523165287780959139528533766312775312617128788166458343523325727463790390653460619947460500615898715553736338402444433793762362860674807360805451345424052222602277160493931544598539096185553826241320595270384876768915859663747912499324373453060563108298629390864001894797581281261403195585921770477917247763266337714301179843860433945482230352053030760278498758101627306968765802074324633950857780415527183529125927854310475035999208679000844530766724351284781283470048107127723942486875581298769316247425431610156743004448361257745315303816158353357127362275884870163314025375289194609108832411445773665764029436244734247110170468246195941546312924960844219393718165137388248467687923924330708194681573403511248679965875164584180309145482959425678886010619926430761690379764709501657741402880685256277198359710111939601303268227575966747364284432894796684832272594449322821767734555873361537058843694693122156469267400600439193546929560570008787077679860280232832561667852744384342943536160583320012554500986082343827232444644586443166615945370997907029579872650778457561797022570579309431289963609784592976637405685843382419881265216514919064816878812219197398937717547794618340183041714238950082144830648518913499789168341756446855226234611840394325280080429518623434449288839315433023468752790384321518913533191530911584851992195999165524483693419124186666900130603104790614817594081732267033898329122375769467148335262060629373440679172169706132517505767072805859382433659382210035309058883459110252428511961629086579560319590369079605388591126589798179888034715698779934801667004533559880150772762025591808519337364335489750613814227653457313663634557471814244110932280510309001577911836555058444395494034288008879265776198264248022933782514230595220149185624189316161558711158235971142262896223706740511381226103058119112372747531465341303548762866607717908996296219294671726357208903028526838377657535629795981873547640073595776903280766210592502543823127909380397522627475482968225003872857314058469994834189510247715435906010720105716223179003331539845000498772456584797524553927236716322223570022236506012668797642402330889983265303431037101472698223742756484954090709570983604448637116080272798634433582048936072800839267080765472272881162272848688774768266084097687917707563916727378863516408755820794028383350316376714022125867484624308254078412267230966803480718289489454899251953699750803498800881203028389953065908335453623114607929550301384908633165738628134005613273913425505727351109214676107338515514495816455199910368825634013273410929449583686181125944904023524001080967184335970835849523822947587168034533986328431399051518108070819376446132159106180730672530724955190176856932538983449705323296707087827905321839736886629546641338292668931133533529868896126497781781050114109630204374739917133811720972605495326901265344723728472631542931504836061786822645934633332452646926591589638014606011611919596347010746548738437344350416706345922217247992175983542779298276945191132008297095745729665597229130176036954718195561872058037009147102174805855814351204432269710390603761171395864015025878269874672449530802542848934581459986473500456048928384620029435667473240971796790244662575988011441874072317599914205559828263355087385962799003577795074351208602799922454737800917722879506289115200418523975680495028750869757521624013791281726191767246829129377626950138883301203059222737095364106734427400682879443348025477906653672866909421132466392870805817863081913925486166575752826225520121304046910184304939599996802127187402250309254037905608539710267173662132237040997545804454402932754469200727728184595410423050317831694862966335293277312399715205192446219161888969063961513725656604415374842258792870155281750777912448238413714474499583069044821070541297446614296535679262700756170787875782663811132170730556487403906859677526239746282338342720505992694262568407066474066871770474734662271534463282994132321129220045052578983365669336747229960936961200760102144459394004714951446291539913083517267216604518931388894499025141352206114713687650360698563973390833891795261641974545606665942875093818806006766468778814387824423709131079280740450915181238440641293222350063229533516540784773951498807511846956200310717411902483660500759432386387234922349331535652481114560367738234284765389635891797342594225614640655191289672929252818234024061171014583774239707750434847089218748668453691414324659982961405806803027425425836555312581840412224898059815942089010057131606569613682128739300075829462006350592541015267628749114440545838408153121720233831391447393875349941866556855531839598919016284648501436629825252758285479942243164438293017417125870151696567247328188592185465080115430477475974550237495051666780704254885403305001171572164349843531950464616798282722594114580888118863007955848351944418789828442465275450605219355309925500908452621094870856282019249122980932857494868780362230349755139225852774423293180968516872370030263138746200319921126459914337998409111817694298175968930780408289577767129587542803015412026698124203186671578566040469541755144850821271408952085239108627663544248199889222885587995006518261354259175642397649608108174100746595869777219474477268665841039703845389068424376875390101052104876025049447114977347460516248603104884002328460779041633297463517764308660225728197667428976259772130078836678682633591951594073897246340161748881870381417334548038299277338702994387381682840059449864424895926939435820654843340678591952115917193182313567981753385519286948748482869258104553455573652890668107758734407272802614662625862553777574595914933510751782080870244358462634230742349880814332671318792139568618420011813970821487620886013937375987049519292773916958935999483216525039215629901931005520450798762570379177389882346862206589061223415198747340239662214622532603107795106048174244584357653186022714006248044581788825980373995970619483353303096903534187510559137018029939026810108474575615716363556702608746069865237689280404522878810972215017604567083841145271044892974092023690511773645025622447191470411739348156561830892859521935240218188458668537088975057087847368463264090205649873298034817035497228568473083965966540099736035988922843185380587418820901175313593460407141197960391971308401242967677333740457136500312825846645371005976491476651915266562069116038736429888753122757578278434341460604012147519509973899424581850562392250824656536518760894832807856262482023982364251795274697660793554323102708468069670420106388708304883046976312183220413765701566626955504234622701945402793431758350268231189309499804089710674330140604277781013061809526899437883430511438051862799058100855803546268314501915904712856679401524379317820123784687300966260108891374482449195507014862765457102552334554765361060954006663362258081033112026912100868257118838914556054343813827864939952842768277627340435484037005273416690663895397882851945085056012913444058128023046232279839121765818987864339530287495711522541337054897307503821020480447627172575502278109093351661580846146254093016969613011101544960866391474696382504693855050881289121276640420394629907511352301322055975216217400717166241200991067775864990193260568294538688496316825297155482336838827423315518223844102137724046919347811123754193096529284880889856206469258395953051188287007041348344369351166422554990878831816537178623039702829803868605501348115394008529622796017993274063667106525159179251754890339722776523944151785098440837436324896213852930658446007347514148399409652307812478244928247603094776551901600439949113683032883609075780633864675595974799962803947383316133556968771296814201046278914305231259597360540447037670531273965026769459707022888922570627129709432892621713305771680785007542537138719477492991910010067683370619879459991227207829507459320514490211945688564665325993368791781602915481643012823878994910558735004543401828374818630057775603746562294079784154335080451248974912467545462808654909070051359393962671481699995093727682203788365914462120805142747133856650900893823942819195701606381130510056571530585934909362092593231683949553561707728371521502335808843400483679474096480138325855298497879959723046096075360398486581854203768523101244234813014145636770561176367061162505086992183045566032123113142165902372114198088623809513433551730805287420941769982984811575064025554234074307631619634565141313812246069500764037940614260626987151025074787671077976065873036546592990092961608941885699853248668056936301546508462332375486515685866118653209860004698011379058880768870269904675543132128151273397158012838561376219345339950544558834378059274834093306383213741189988793168233660863277243526405350733979318839317986473395829535438369251932903741148586859321339074002035402571091088000425674911739835437306821801600317359229183082469012983778695045125614441201190174039917828497698232175397765521730290382229369633169939943925563000977635636695615880992094029872287926689418342385629957281215553103281449087646173217837176355759180886531177517534168687490810971892898960147710908178941929408590463719145706323661377296500672469747604283019443591773163679575415894731430714039567331409230610310646048987829543455974672638487059166941547612892351032037021960641751814793507628459531887669031456536937730810547063995539928334954054821562918307349451948767149785925198847270055199151225273114375816188294490917125204363830280544093529336658186653544726146879722546789379652208877336403407516284840894836282318444199814131093218272654031543368745608736237993764775532601426617845302458999956052832930679500383826295788411263221213766568943287814060704295447898820409147902367208832908150874798845450042909492301443924095059297376615424541760102882008184494939755505995753235450650950408984672240922499033352190317915312160440768557422253750933070221940715672045746040942102810069516665158211236925339015041079149964015746084871200441069466793522677617614852262605234043479484143995147420006376521051066677347966529268868242756779957784619462823916015697105001489185736780625494743886528075649651896973365385826216921171798022297573116154113966893657157925123730425820112611178270018574674736338358173693038143546268913056596727281000395191681987141789453630017836147446408405766198852059123485685969221151496643655574135097117071241241850488903946949954805210857626365535604332204786621244258581750881918305286134186845601081581446653822520351092084701429740326238855227128183454693804748658749070941755844153799764788483609537501867449378536432363787551840907420369878735446596702759547345922727734224454809337299114420298437781799694265150573715966596054797583719748162023343372576720159339241617357050584204150433787535304481314795588050078849109591600291779733052525856651287117274173183604164139603728108855607003796862369504972153171286104818511478181354799053931325055210783714239986206884794602357444072310296598295549749678881506512624842444907696024679107570841442158585195643687196454064839055509068768799415849216995278718687674842045669945865444967213192963891685673492317265010188519917305024203454294068811697063254340456195272229625667699229794490949819206124792144092492699326331509870520797144381189314962846661051950149983882034701568715944919777722456564803353686740012330164619971332544151975282478782160967097208660268795607624545572171761483713573888675982530273675287023554770615748430409318144132603884315593757129389404095449974413326183994729256864364785946033445874625757083481322850069912186342180089234466625560840957385909625667286962677947275033369317079400004990316305228386210987994151280195810412820119470158312418819533396192302298255879413955271190910362496013982704881414867583182498224303837905138664559531155942772383036909586305244336761470898280390471258764369976003426700168725597955826799404920764401995837782720582394101090896999157696379279468567911667181933969783342744629215933686565474495305480199912477700872462965526240980302606876318028595233190513673445257669176528619343443891611830718133954294407192744287576755654803833956495806781211284319404322205439893692112649044063033490018952371553325713846719737745762219293655157334491355114712916248275959551289171640467227880955679505034453345202435073685982102116701206666149712665031624854192927629968979440647315031395986809430954756715163356954576545520732739605111556510039920896380899035672492281554379496626411284419392587823957341536148891263356353132847595153059806530833199144903611095841817548506773220990318494490401333933095404355193210693561849199236132566243097113887798085957616090462803611926004130835287854086086368334461598942440970625088084009155703643356939691969147653550807100136473108204792247505783551141244032047943567845629018976480432693251420580034206471456750911255754729624341625038975676869758531139151328504385350264894516927394807180024975388957034221892272138375414078143191801340486741825485959916731311626176393035110880110929429584906656488765334525467246782007320236759888998281837410089183439529438726010484567884924610750291515789020610093288732609199331783318888053986362818259650692068610731951657520017704744416709682640233682198316768724729525873664945355240955115131542940419232889672141916242357633697526935022103651413005433405683779417260335893026016518868254940077150779088805899112225131140896827112992434142631282421373771837032799170903741909399735143491111717656679498178990582198032072063281729634663154315704930617304726440304651149720242371857101717256528015142821762258423106167480682150038580891893966730519480179761059613072896895689834984073699096652526290866713687662721180323073947013030676197755589317705404400228950055947179534473184204148708009611839979163810482965814510196473957203552108051550483598271671757535861669276756117271631302134175040560387577915287837181658878282430439498063365050515658032357339105572027525324837914737190138628302340837954825211856333479642211501752898530556276518660193048868061627153408550949438269525322957560723633875340380880482309613409610234785552183761871361992892505612533944192980048991657063775805151816712137622727349465736757657050638480651881215793698736473447134177313440857745598082090967999793889772662233072525668927809877604066686172340590458440062741132763555311204311151527304223840198974645542577582984496765797857204177354452065402806686291661273582819357050297307036833462527460991505491128723924552641498080581555360283308812289893569021377434413374147889874604816604693201139343889224644299652297667366206639373065393074258268186892255439364365351419449097449385664032566880780591421025493224218151837918745650663755739439771030873080087617149619669877130062989225753489217048481962805609811739748491341386358176257008198537436899330136391472362622036935854198229535112340041279871273991432952204740553250503060240167461810521752920744417609099295703443088054520752318196014863654235949716264812581287353393411842494477234660262169319888230200823251858793934066600809819048039226910241029730167728654435786418258078828649302621962084924084965848741773196996819390253316634117678082036952422192384399019802529490277580787707437507642473541293799920844741833059277568654477264557426765084236334383984800382408542408309910566719759231334338586063579167979390534957458538433859520768178009138852030249097763283397047998712013426812018751178294323115596764383979328850453917799913644937385052007558370362094772678122508484395814914640893047646390855142974271848092335561267711458420438226085599407328895203929834935811725413090398562834182339311739570967094225281041935352185859899247566412811572222970283204089068851218438618474118621331618660846031793445793958894262091546056140334734321153019551040800206540202849991853741306129211248153346684578334075578144560693940154233922180042935036824903704939457785799035892783606271315069113452539719813156577963633648459732008803519942265265952967873690041741057420627554575826965017297708787755299238371472258091955004967721826579121415697244641844682668914665886506038013781808637982201709435706543243513872286666684027002867403973073384559839983492083509436629166199369593705763118331484567469497940224723234524983504319007980753196793265030451527608484511360326472681460556972600123029693631512146794644919213446679847633107234881786693389390216536593870402050018842536345307654926074549668871121500452416167683812527729482518592120741445432331977414326008862391554146454740044206201707334180451633072288122919677734482849047743289139051854911205343426066712535306125253055186890298759535832081122112578514159667574163415340894506988236308891835755680902017929754750615447076506812707398223031075846670658308644463656399978987390859710308762209586253523915948982487582036836464132297166426947903213982671330711136065575359543105548960322049252986796176930841360533293282485742262561954385915686654688898168514481065365431461345696635760000633758309621550866902267668403404842511973768319466709116216735657479632693973948067305563412404128302430165953820672828061035119257850194395442704391501458265732878721983502660354003817622971434980914471918327604451765860196162621058683040954880495829639534443779160498835875334577005952832424633909454219721928878226917186088555443382882639963154501320515377614654009878427349459809220060422099761676367081524175005615964722747393338290163923147521630683541121097601631450247622358688596825158819091688205641183862872047186058533174569437281273604959117326482751967859209212874132776107596946870059095230375304491099983183656400060574595942664313629619604944857852746508460853389963102729013220636379121271719248800118605685621176643495887323887584293394276600574633685275887645332228688471061980430081107129670140159993137943361937592909759116496795673366403402273636335112913215531233709659506944017648114841646932528922996924359050911172112188681605680958341725743643767606801021579785645341669081545017828920458130815948397076977527565904196438267080158916105348832220957391554779177958910904233517675544004346845059289782401206900404536544855396386306740933916742048510744779565310879999271761177072022813674882528342383612114582884032232318814812590400174742784059383330072449082189361699122228775073243699401099553234601984697270634970469786304197344231985293491251473709973727450381658677036377823101824541697973381053361985402414749082426728379032211284615199610185046964564289826617006034940114792459404956466906387308686014918982348347909260512809856160973902940312401416584158166182130782951855163316498511436461056936843918209128097317055612768075114402444979126754187234120802823095552617698767289880170949962010792152578659909765795030152284647142855111692571166739166965784909059273552666845519056037010546197595816256252534780610529858907591897341109792576231203398540958404647984908440915346062089812712336230332143191473809928652777272681345237491266531632344008819287325776422912360800534310332671485426929896139658759808141965255069250915678853837169838395580105391878498797408217564343323367806967685831151515729393521144971713210977016952817450608376814260175453827141736492024625953169480646904585009624711758022542759970440992376986399519499786074086433353077185673033244418040303271460732376934691186327641796849388781353079188962202244861582395541014202407416423222181334825504142872721723186854469757066745389328279246861739992522648454028280481608513685312273288407474840249474819683145952878662036060917641537346874652548364569890062653481455440202455556830822175231279874610359672267622731587853629232322370910258640072434878111337966948833765054426422607927488140408083291040947829916856324631070928653374091427090312385800347692688991654020739904853557149935776469819886875225290892783454686053937127549334858328840578699081179302813820985903732925645656650101825216490651730435290354387530759730109608205332005237941000608649426494344496286530297016588474925295450946462257619890434116386298392457459650056252487674122106323074196158394874446356977081608559581088814383779666657424519192577986307292029789645119630564789094330794025502108023448359423783393891518955710232396065187466089228043031353463773264740816816185081773692451711208701923217664778721873249512685766905270973754823138836050787068142046824007094171560505902404815307147516998542498700488029949626838922284530987938238591012374224188932027550674009816937823072182046315866667782654656784273442575084186198228973897207989173333313254312247834383469577361122433452930519947004283959935712317518266893416910760956116867570452708966465256513415434357488825641428195220887250511176608071704931361698384356290558526463335630470989132041521468257657681071149825583780641795671111088663822784675238494078080509041997693992403341916524769744518312484581175799409058683004719023260323945962633002443795956598486699405687807231533965210131047143817122939799583995194321770137630046507980169891440559731590450681447093762055437647688493534821239733259359530362222141524319233685657940701503811684966626824813717554522294784370666597501381411405184896324796847795360022992304885636265286034638788348261278470966998768549344169964856415004381976789963448709497026693381855595395977708599326746361051708704394802449675103600133602911109329263715354944548314854978590921781734047782791273133835389564712090986153963702809049027512855303428855510580112821409478577104998717789896261831810121500555147840984846825976050379813599540230734318578476776161086109230601773670305143857273440611778087804225653694303099964304413656946244736788966299037029973119569501937993455019291354593261049724883047868017810544165611708699351839204916036322396124041743674249931282720677211836880567722750488573957924794483364436012680518049190869620886402335737682981143233968246722103014178705364183567085647122441192875569649444667274661430557581575583459742966956310559784798470974276021446625232160111775331652234324765066056583437754370870892958337249407275199881334791588004230009760536891885948554344229375953604506650244632731035937307899383781292116796495009562203756991888592034625872923747469840385484218365246433606473361635665175883192471063409324663232863610625542570254403555208824946904383199448980275142075745513282623313682073188133633422324971503255977473980944778973476801680325414097737858767002361410262568975413222030708182806150999886337641864902698786198698307286206791293308691705501062345544784460692151101264236314935011673001611198006832577351303154230169083458516320889577206833478557866306445148456649047965250999450633103817750462218691956295416746399590491118597564440452420191927971958436031881146795533247582225127113820939045299021423187300807042565661515480239909559646557175380094642229561695075087453730903503822262489396953731614888627210535788806608181683050466284911533952083602357566293476002526540705828626695792085385945223271779957219949319735742774337257979876315741971284801728252254542415300900867645564170244045168793220002167341473406930880410162356387191297838781506082788012942750234656003945112319299868009117429186723082015759703904272153907926600201360746703431475316097804480752142222734337058360285536457017859408245893847365993360110607551448701521277106432292012583334201419296565809496310936879788007440632384074453449526552037991595013766167158095849655548422087252166004629096228661790217960989286238581053489832565718235121955481950305659397468393106792693193320309536392494512680269046216668074537516998961409419723239867557652155087080741266820216973767069457374069915231444122366605349281176066343266701607044688558599821885324276770860477140619135919517663851340760817368974453391604248160219541146205518460120430286159202321184841168451498038615273145437640930287139256703224740130304170259919460762743782104961924932642699712290646092531273134058738781754074586241776778687523908087633902755694745958897726467364306637357431973360257242083840445368486693520860904046667520169221129323482855259873726674558974398751389048784009175195627315529449197247210682689013922034273664731721622107549309781833398285185171131424044568024713078814415222670795202551989824451997817810890546605680409954372840893694560207107997077649738572395697918979304305424023513079389048356673391171341962440304777971825717478249614673803999457442868516257374210519390995390034306531952796442917441543973849753907428050332173670546986759705930237477173765020476036643944070320576386673684836345318967024816178303373950916051777127515562914623218090708427554482921547246884765108681294890497083363623146521168168475734537917864395480616376368636614404504213446263361633070459877015042179714188861087995896936992330654986713564030675036508298498460990911076466460336130851411827558549571041564264589152746008823055685775142454156051815960288017546828582581699676430171838955241547191025860073165742040813140618851484007332327523544844763289864091706435336977021906550118634410110497615209562068393601968226343981639247780934195414127088923189707303966145200427012744518119237477612674012602414324410766451503540812242506849052295303030337025576177971579797537504189769832011109649441701934784823140037475409112313455621963711823945823487301519156602122684578502854794365527381617275076272207249851200185103514034459265049119177927927738257756828872730446068996961138264647604956295651692541730837919255503906867668080284517715915330659320281405501650574574444481484154105067022546881156467296802200492629127054028063477515947243347217051518978029154780829399265956143516046056947159409939298837764703409997767425456021394608995761632876016277819290804113479115074347934408135771224644055592501445361255963095327143014850201976098055173189457203358570240108249589878400451861899395832185110523094973572547909990187116958864189979574808328488176114740693037851175270508079028634186021355112441253162418574312432143737085030096785846179897041619771189816074125817870665531310566401661504069445851179674409617945062892628300086828063323825097338440950960108675308610357957540735146101959818668584341162384388851595534247495028928959786573906802421671424137343622712877410383083454452777176553873605746849214234742778558523141586196467832833127346798633560257837923914696934679946354183061624120355248218870765382027611814346878961953577763715587337451569780348543436392022755699206653548341379135105697894235927046820887453777920921907620821692136083706448647037644286236562638322881214703928950164236753824041631322950484655036098912196057014758010455018525565310103020648502355225102349953381464791353851520607124429636289630481012558250870355324942046548954218683965370218289926359002413932637095499673646665211471763044651810722131966364103851169686333725655728432275935050206062845174379963382423191123613202645909892065344373236432433190100995174912178055701270422656546116645155593072540229534003221557309076056829020167074086579573141466849813596268038858984429356667832710146010924027392553572793957947640992640245765086277883501965191796365279656555222415649706484325864748063176618547715970792287092313474668424683586150867409103248411193227709570101974532022842783881129209818980519638153443659618036070515507730472775974704696680422360049974451555317818229418051230158608925704255861493869104828118155860371658689761676737973948619003163168857493344434181747745462920300271898044025333522727221938719634723822228812384511062417403711376875535962163504673276885091071494409357298973973449393068808208632995529500472620491029732622433243176618303694147199419914135125438214655313311015924709413779064627773687200165178860279144542958811608959763981553401924544322074367410594733454284778138291777156468844662040800655450087752642820213708186507665945300405332371714751441928304891708075996257940843508620876542349101865039769751991245934647960752039272977839651818299970423617348415816565621190688170748911003085128409114356944117748830152993466277230550669750699494000068781372793887375940788826600928048566707413201028067089413375270314420556278490741446041268059526668440375782646990584694469659216486504605832669253412675153921721815711618050566876631581986777317295199535967356249505241857332081221703047817256710774618017065602880865860982729749953766210132367555566662712392760466297877302032355831043854845699091592334753623600443461264912093323719323352955973544698089084136109622340559650977213460201393443039763653929801965783153346668595581066589434410848279026525363928187113527995730052059499673233267718846590628567156775779367972559451903756557423349867586362031691898120267664284368646191700130143324234793187023190769812122386144890656884104019474133942779291864337800275885975766857980812285736219260125002027646203096350086954349849869045148580677555366067899122305237937876772092051732602361655283154101933241628905930748209490878277773965922629810067922108012369348917719360640931183051865789458232325738173239564297210497382435302802684344736562503319210141871063938738916507557373691091658784240902160492107094717503767439979327822761197735785080711990163856886294597975493491400501151560682707435441571778818855520071822047463041761433230634012044541758380760944338155944687136257063496041450622780377365660361172502163937195387273683541014471898386657729422794837383332959787233559953911316537857125213472720407626414760436549584603012798747714900090728149644720409766476969820790146101779200306257264823506421778330023605768906557369822232466596700264135902589165438239503679849737802139132727820851551979082894758933199282349481085421835520958194274138291885515667680990626431909542774226990305750241393650032241390320159725058914065556023625969996954520106481806508759661285597803653150985570921186495890943516503327954544235982965102050624405745988318673474462253448801368165441630222682882169334664643004560489674250190071839308908231762751974029609155585894953114172862673173638367755297806462417201009410465558038935836534488581743325006276582569234446237783612727508488101996110284677463010726234203673230798993527216066570384611281420988023040350959375496213629666230466857102821877328262581322649514716475098118531323760352621040983009929440553142315003563164681549232432723296648470442562110094356369388215523621950838690702739726346562438929701153953185390040314700914793116310034093298128958263226685930519708242675914843123117650264866586713718573045087870419667364525520402408013627896376983609042921137571836822789918015348121158147390511252790276812896827690541996251905917783909769340597794456593047038341430304096724914453230390673517461107079732228205002086575536359249618941717177452078127362948282459786978817309171492149417315249862035728597031264104512135285411953743148498480827544809357990770836094479549988330060013005855810655820597759209311355366018505193557542687066804775800773352092487524377178333448804012136263008810233724741328283501328624329513691308480494075503225066375062312666298618955135210922016755209115125223483039046382977772102988510942720173030534977765450295945689711934021301676606002422666120451934022647818609405459577510755793537381143954490733664733666936759443431597474035666548721165243386398160399168622823983719220878172187023362190373184617912473796577595456445083474617900353188476032851134573202040113367594421089687224232937239692515281616014914590859592659734863946706880474564344019916669522848784803530037472980005300597487600267772729534050124553130421931439790733604864200703411407962749017135673738657080207450534726676004263577438051193736264756776344733152821644144689688561230520509556635961000786502467757264995861428544502560324182305422152009274911485015897794138441686470531278200528943447310156417336284605497434328159104032762034992722332076103430373763064769044637600730227048455754551078433051700727915056710270776479566684544988178327730447037382173871551815885002258011279904487985281088059406534268399086628352587042265067831101864332620317530432253827463998062690455451356867641001993727719510742606250895847863258107944566620237092847776053005107042577194511510206916392559591906636185322672698773914409390464597098302653963920178223767130591007486246781121438870698445275540793908649893538944091371996788817793043081496830308769363621318486234835271120878549320123964088224375650270608847511043179770272306303382014292260713605402918022090318871346738801587923245532977292489796336969824208454602308030315756790500927547404366173652204931073813235787491147883921380945543632857274115588968522061977803806800411646802163026492419629652196906201472876930141450312994884299092622806433245140176015972529123670491386304253365612035738159095144852326539456777200329374849409514280293537984592006601237222629660845317524329470533935406922007516067101849981644307552900043009331998287003927529089503131710371941489596323289652168833460408217810339564015824584561110805316512619414469591849773299249881743909770035809690079762382132860347992258456925728560515242122882865424150360854406229630907273437336448315282929929607293716172745794086203490444094195584547130049886614327347537566308639111593273690930250596077856033997303576564807506903543741709194245916543899031892925580481359444697105962241061494890424469037104675681385969589327883527658278845720436162695647528929280893679111388209850971323109805388765872668167822713849755098319261139729891372273215066432034410387648701631889789704891240715594338024214341981839881822774036831287684232557515806875457867861092575637618162516963931281075787318127043258626339918238369313246274575560254660518604043542526646178651206572729424836179355346750265890686107782278634100772490111786916770023650031536723291762625895356481267064403317499646833741301287143175061749252444431756146422689776357489766007015518573111013540923528523254167161646301248488541211560116781385813847192591206765548481704955358035300382409565975174521070601579259165765637664039517328080429378026616877999554069119488425205926215328988852113988394658010109388598980553283858005009064823974774110234228488168188477618434849896651629284468382770726923408908995464887214815690547976616717875514631933907015332435557596671259203695523823352618501768657355999666709917617180171504790343155887366251348053947789478622634390168364388057772525884286426516925294208481581866501888956046209147107643156637743250131912003904296744305909233670565140686760858079143783069058519082277645318387697414041417469345103522723490297346255146301126574563884821711784746879921765651883883562715967167425542523266192242456059348133312342834429595857488287895562750300971189702608551341758955653592806693574800357312959438501548668937573006865972541476023088545516364058650853034065546352804557755770498474227465915971011165039359275554184842463610081215774722672144055335928683880271093399440432683730121551277202146008048798413248296780380690126691195436574396543418708335443704601050044926822666686193502854790210276834262301801341372181505430698832859088283446740231530483750759503989355443076306549513745779216840658771294067584624156692319457458712707629940388684529185118479147764724462603690260992226771199870345062745216875777223403551552050720827394090202515012958572537868939147606165136049120865586465979692115390048379397790700271359873584165139711591927184562446853045982490539789012946436292911748311863447363842517055174742915703014713714031808081989581981783458668263098285532248583292821240028058128985178431194710417178817433513122790794934885549651349662791721797562226964808150114832848610268872247086909992243087371831293189148909110628355938436638016419587322982456423664686397788445132704575169251575435314364534876224784256666196369950604140489516985884420772225675097349622981841422166323766388970061750576460210420815545296870957147378660279400354761447278866363838973933980184341947707985145820544432218452003527356269487489770073531530444165201833265554412385505841904221723933492895205669935963191213012607395340541089714888350787869207841560459844119916575318735007615351272609716502015575278510610566306801632385555316637141264161073080458533418879334792688508953201219285607892351747280219127188951484139174209440139821056082695690396486870621550858876467552869334923764496496042165775818188636151148472788384933342689368141064358662856774595192410153593664161969830641996829626531411628086118520912470500909106935905925290754652061103437800748718612011849333633444763774966749971418494837535622971110381226106477323742292731896765037319205461524576292131890853250691419926596442568742212780411163346232113276913971302758581318488603259205897535375353465707219902892516662230064779133763932762471633818188608393498379829380214913468435540265701336626789858436799620035078377360349581010752812363839274833371067583694418523637646506025713306990756844572931084239847771890318678939313439073998510063652126816585042565628813038707587675134496151743071164747773947991133038111669909982822642226378203818131739703656947495811168163035461335377934561965491838750901026709476014572525722485269571304835139135833739837789810168167438948826037859365668643858085615739510964767963418995444679287883264002902635624753094563793950667532985898700526548515216595546257140600737330394629139228228649236118811019148896191173298354249413247018913243784631693506304559724504607872769913791890278953608251104443087372732327284397164913513509011618940688226156830095897247827333098021893660738993145770528086342940757038968065508047331229255414291722355551287763404826644570881877795074290661973474252648038165831170340348872032329635631927359476920167974813335574178523542792940794366361751142993198843969305973737270390727518113177765152416668633125987818341797897026206739632808496444132606645863570015987467322685032816027114728475078602899865320118387308566589241377451787559972974433360885963324081966603976578578547731956854073722792712704331942835463898827754037028851682781846365345021713812579873153056171169995242278065823223022902067573615094310242215881680686706390066375569058637815806819716526104003987001687340307420626774318225721340116659303399171569039416479140336273779599353231748421530640381977930180873427399115524125764676529485407799406411274730544658214142845298604631250197050553212327052303716833880582315737205436528446388094721873149184298564518368487670657738922806454374834496014793511114099366072240354192760800953578268159953692131325934933247151739638662159702491778601191618130126370044531447062166221931655429415367417814859442235114361874915416634664369830629007298799575550979396851888955557958627816813318467698085634170035075511131714496079790651501658716530885855575319336528919359414937074957711340633864028598409566899985229239694654981103186877330630569880721996530483508174258244655846882499003838895195697765589431983291852982944685147641378360777952599989507597509943870000256122518418968009095746270887874810057817161598707133116321309504834342003655297101166760950947924383198233614334013390125101169261338379625953073051090205641364344951688731979893382968025870742916185175190758752511595899995111900632648411525465977448025931578503044321770772407099775824393011685065000696722314688582386298415975686639669396201277244424381875683409376535457067434824178133876263171035847915248683118747440964866118168042629298959809492206882267977802633915600173319434349076349277456022594057235995172258409635846299727461381738006008741826152783981227027735712544839989194846255700132665509486751839147885693605605262940738084506860074358977544969758723237986183579380987289282700106982794785817030393723760471520608881486337449932191068607712522198137436433495581666046791372018554984930779996781109676031089457509588366975530563503885333586048415657774387948620105236974145397994872977507637136625523040647558951413184319952838485569193014909391690291273801881555531680428399723528658674567675272635692469310692264258803359866067797566765989287108225794028424710213721038826832237266038772336976446497684397776663332809322834236877054552603948357984089033381583645302993230330038609562018648211016082170014852655271389575489757197349998277901042967459921943175731140229763361166335395976125204507580689466623497994241470325283524288535989542262253447074761513479844875071214024051573721669674208105634859789675146301120551256867986829311772135774270670923278757830181698227561142529364522760238741572758260843049146738713245238659020055354723121026534973734239463445877217172809808251213752095834951852050786009688483106907897033491365341399421094532731191566979613658879565971809138706197289332996987791278766645938309230255545591985719639469818710050553008893534148377696318516735252043853845979204394704087271750404466449332061093292138036858792590779384614881659802011273943844915378471406694424041520586562999120851864060955033106642518138030110485883884486313993794003904644989377657369331711977696158420439386566793361871537669299347021450286202210930821719613770688586375204879997087354249861962797753746135325891006091420053595528069737193761685581099098646552186817915983211374872171265392183097206870054962878088012763155289495829695742290923969519610216111206323987884466620939141714955432532586887747018378354879045547259693370725102101334310894668064083278328556306796767333951318914326456664017038611145339614446716350349020246026624105166882097511977487099172211212536921489799558319102349670744024413022100518111120662683105429477128844930968459522452017788155504665870940309354504499724040344058589497271988850865523961202263583366223518763271265374873345027024082358070738321756368371409774337903040572484816891171249307623660188114058298073089967731264333582395498501731980736452413734090219262566303944323931663662193252512677276677106950726386537409669555448523971596456267585141253493440698080687484648359843449456021544241000751836772769620219184734233532014501186819783969630409563765097947631712816973898473514365686229258464155128472146334628213802915207145375521417023587110728456393680087204991396923932526305103749536850470231857152052987896246097844240757107588709597432532147560801143679181997403149555885126836656705906992129870876034918802787270897064213256974084128293611820868429538829370165679335313199498931018512622516700546894306081390393037839445904958602807469521637221967287320483120424642511645814056196370724298981690010479524171878241573964904461237247560009474508791309685675492239230146771201597064431526106834559229432176353609833815164225971431415391910813396783062209497839423441621721511121992905060726733039141120253560076070017225694496056356832841556994744475091283234809927327840508070550157907581668707297940042158012050484349755491225391744985040487839022396728666470444257173946933290539766883145333221509451512248114870287675748933615338582191051405665712936967422142060502274771386766549480736440627819213478213471151926087871615659117379743261376569101656411740836626036771491244970382365668456510183994318055331686898069902410217986280293834925123047638505207378606582871370203348946536031677844650265412371244667182745826258078289797881618275328400987605208245120714550570794424105944923313056406302426674849238330227442268989872048621873828336536559808415835346417951081592870301964718570058081207961253147295222192650257813700406389410393150684992566778024289724888390789585026700383122416714901191513395957769138742385978672449415264756874192430301232350654100737040156778301639951165464028331180525992194858390958791493523115688080081725178891242738296782167519604208265714151514258673644974661963227975506210017609781449370264891393794966307382540337557256801039771157325824216795749306682675695756104432048457444678868729263388066874127668981438616734989637436446710336936545461347810505575949563260716006178638284715869284222872252611357240289335066900492752353958385346713255365743375140241946329570010654928912365024429771201212046396171702535656481048493190635481063073326184889463796619602949258264361014855631087625224757828796930340110298589501689123905568287065110478191006189900374250096009783870724647112606557061829108313301791037633014806200061487036026079466138392411638777714583805102386757225283417258338320016020527961978804252502366442290513039997623725307924089587873535958429383028680240796580381808151887357103907424089851218556493448776901501511190719570099987256693975227082266290985826183840517685585747309326830771975692755489410128808908336192983866440913513955596076423776454057444280066608536273586613684746775390920652324867885481831670339701169171478884449079428048081220057982792695682461614600811010232676707165009249677295272354307628138804806569556100846795889891570999589142472311187656293687594779907567655550493549724169247216498198516398453641942320997754787307595920307171044894672784531910234878336890358291182062247465294000296320814470616405761133410934236294303381460016403850277176108673112221975483828564866010485800841026508149843943975951738518684700155962243786334409210055847479714688209335668980178752418865190050576785658281976730619414995354289350283715945159089738202571126687989252238306015446369213978205914151340619366233781297502490352001887933858153498619169794740032885714748598032577295383153555264718306608347599187793162799101105963593132064250012584852387632199813535305881106084039642350375377648242721572006890384215852876932267128318327896189142089577281080662936648770052799394887371601293798624189891532335388444677114109343919807977370026438429113778199053293451261851426868294463968098096047851399507549170929873357614746660905652678780990880482427003154381579477821054704938825251289065340962870846096713945747494511422090154280905044627941181575825032395586201158799246367271055618407166073657300162920356625755956495846934701626590942138519611418172399292551614827363152926815284753683851033782515008536110752940790692124241914212564906330042798368110827588238255562528200179319685023162648677043178658583047005708919633620196157304488478016032501467975605349390301024400070727435668344107211058651598257037886929270719079860584781995581644565429447195089431404160168745141147425673053905520430017593234418185492007904009386532200232797882916726049661962523593495456329763436397236528761941128720807358942553611268034071767164247589113406020230363689181946704524566807284329942590203795027065968955443186003595645009747910705150730344868534372065999698106620401952337581004309112832116661007247025114574252566910596532468099297649558753982948974302700420134269141382325008201295729996567597668541028817943384190774878009083709573536520653840499045130468056227589193263720217121577528184128821900769308432516204075421412754864489969258869314362990440296264353622413497665658254491923607421192388790304952293665255194060679304419765145437856397447908834318768931681537048246126820914352952518648958688941003183271384472977765693779301416527877429263496583087011080689310613380894783820503611613623364146068648559521839500602776239970702569825385013467132059364129111735828855332169225722333944392323798670389551039041520595902636910336561259711112122507196108187286557816316091508982582845161369191873532339854259903694649169118092257900768914356222398145981056148056709749728579980817759483316333853959077465573447021927536333699746834578393739162314734023696784603161474175163047883792435175623477690755670264711565405070110008620055346193011320071418444053193035534924701250751147010848249480029447605621404037298768201217956771115087029657957126019842564245266294597379505063921287264397063721006715306035441443273949478069209297912927044679992543292871744325741723392842909268786876346316330235750811271610977488148748231067616263454468527978036910717237478742112433134518538614089785687140347649389533229682286044631299725683689715794126739103770994996483487134909330868580811616362816834741613212256229634038337113205595290004882949842557236748735191268072964186209912266549774805676231302410917440118759772998738742566158649702514884646087667681734468950867284998171266329980431404646774681332828153482658277579017197035124631342164753563764450494674277896294493300677572321379810070639007862814015397985635722986643878725558643587863197091189926256601844423496955957950965663252100683924867532949823749764603945483860631439172118240864794651848789445240103212108150158111600477272064002801836987463345684651255144468434928587478545685780779694678055242288012558422859448000316742530054907577441826839458317953904073578874001607543208949510913353979278513489668522891310792275223152974223309285302094230472169237555323579313228955489987856510222103996075387129015524662303976178120933484824657915865571023074205849219873800497733342108026433374132092525588752634262244295127110207525630593689325261629866468301345324457359574510312501344669826459899053939581895323987935698809002640693501404292462715605465181057513814031466229358398050326393337420466451640201194506553465065831541124492514957459709386330881513542508433507020215337885407741298859358231874427470089636323264271195450257833918122798753058078132450234014510822333763494640121520128151362436141568640797226295624987652173734212630456521932831229603033173092513956616374706673159781244185398822298781671544540784805567133641703954373187838878410473550927178123952069952199075793124746289457790828316880472893992836492444001658829245844993613167691525347576851297518025451381442551488001830083930188719253187209435706210210582094073284338172233571609473754044874424018636492341724586824457270064357967199766745132447902995959973202851507223416230329792348272366220728317364541596000760429667411780342160646837349947387490055538602716761648873712473647069654039367536780445261957712486371507931566970896484940648632337296415530086745517450351601282552862061876642635998552900333605122607605697005129546630312407629130495937081508312802572306646906558836872360723999395340768682601676400447372351626374370935597394942197566343279799062441367075040372685275596530893851707579465439278784654081630963204596458867759430484605660783714487461339799704548270914163682520622691443007824602441494707724784400630187456513556055875944429253524642928583158159388242207235499091469294262586830195202501855778147303581901181358187163233114784280402370136512915114511122220564115951162176672140929095945337622525311401367426998569464115335978466479298214998920149832640532478842321662694762984586497164438092999188328003535880290484201137716382128827241713182666182778913307103674967356483253522371794111036656734763277187472594630124309906446635656386538750840333138236541859282827060922459047402951214689766928510963318987129110865752322669674703137443244768222483424215654096563487902025468711272113669945424234561182821029411863712541762294396204641155506480205807678724879154363132677112763003465287913236645656885907488082376336233989025937079830196190425953309856929536110358742519604843447496296943067789463334599222423215756813322278370211129560404748116795048342954988251231921643711983676647661301400436213829398824343941696354677192346303193285580495214225283704591361909203295216983576075704854651095526841404686735018488424985376595274769214455671462587474977196723055048208854622161044774807864775521593588668198454858214477912932192579610970757323823570615029936966947679780787294526031852565417395990365533809301122058760981178954423005265505484543162573082611988882911493783137421024400496779164387319269991009090850884729018139867940997361459730480237664482962251627233564775010037513712307245763971465645824327704372407091617666609811364437783682691322226449179592738999727879408707258473393234896995707414163068176950178132541003633429596719639997816067858407005010166272157418536670714867795677388865656880326383165617265821578346542370554031664919665337550214227054613629018718007954590171954563109574848440302058590144315290005539745336188358517545067386336218883345562966723560761882214376279945330297432548726828858910265419704803807591323208894434113268227420528440762562995520804962762098395122453451665483729088410326621080731645853223876772502933759561712482906423124335472027466311992770079850504820368705898410893521772183175989742549153733985819460769409396807925858917122706388491759996072482865975777862719133500836053064525864772763560314156563798345525754501373161812927960430035801916533157522580578575512090680071969498729453447906658672984976438925004054915261377392893090511573429273141247994005735684810443423576422607324161624479009976084089044913416688897392059643951208546281222234558366627296224709809617308229359294651971595881881583682851200703939365639189504738219995916993265262089078273701655981731423471130575372089143610215252618426079746148288758731768579954982674843327115864168434860237997992316864564838566478440635580569467350740593557998821041665205315101316542088585085417799371695056646117773213527829240181313553478001538932579302274946790503243586473816367785045347439097160168078100623001498547722559028227907945893431268015994566628663444692249483655800715368095702848100016004095694388838307592041326275466727707106214588532337796439267062267542055668464346818970673607357823748230309140261741195278868392817992420352378161359309497464273739088022980000429200079256642478569305596878164647526454603475866003569974124737379696423287962763015851815903834947226601666065781369130451266679301946784032145577185058104705200569662752682159992772345064587113092573424203762911978860210033601523470026954469006669549818597022726944560334141547265577374420692061828041980448367830764554805428345230327955029077526891036783612606372117592631936971641824741151592025594651648786741980363581387182706315782331768318116767542650904721410859428572293182242537122236170718913540039484423033773146358516106761434980608349356391377042857308490693159218360181758341449027452246801310459686475854716370652613619305830357933078869318041764217411327014786180859997932780401482127501624659649010771808056097534634041677128834318498312792696056957863178903392080235345148761287649339616195128201485846071801038085103569688130426605822093113511851125902118145397974148630382971943309751102430598686531256098654940564642052893793193711653464161812883397114026711160390858067532534456961912390048638674651321446407464985166347428063331040874674185957481182780167048658095464345800498037228572629214743769649381134864611203680664897306214216447993215355523853986829290113084958623040174568000645898695755159815462365753477558117572676108519573862401275969644050979111451421938774298333423942063465984317008908517455436550528930763804281766519506621784214949977265397671892265242533740923312903886944317033094199450363900299165549918582837566505495333907180645876049983146376565669076182440577092897570515933886784815091710799847266128424498349365300506524311809093864296215968672269662236600866206328020620240305095067692751185164331191475502523836528512673953588836005333864820025278176159656181234584986001493998809502453009152093740143475816477294527889378521898638778228210725779754412955368063463982398706619613654693913519979464513089632388895612864046117727235156068211650609218557365580248529078898998610594311517500033623524810786478634198977134998572089352836035295821857204693287271123191949399355047660893644967395645670353225262577688582582551573920035919185945929235151824294976962662597192096117902257253989567092239022626029306874096188733344268855588908568863734197361468360405473816325095510421009670055748631295060955817086447143835801154773252288900803415126512118751571090466263156390976162973823351088093281922123313297913900019743020427213696727564895270484738396496245744641348283040518249970784852642660179733630407993198130179331979918488409570220183617321222842196533031319867394279760131297375398695301086184124549940360139429818330659131537145396142733262268690304629253752805717186924798520199623839542624829031773027258857844316056356344311696251160304007556975797782005879335305939763623422250569124136967814357623466489920472081845540786950540184723934625533186407809553252935156595558573129777755977958706666096158839665839652179295038218956618261732378445807014343057118237722098002322604259188689033673981003301039281940052988449259589686478213285314702474813886620953952208980603994785591480327465972551709859736372300866026715432594342668845634209377216459385134231225607670791819949631539707885212071768983443102790438603608480587784729101381831777079753556948194616334113617597207650639440952854539164939727114211287295669043186749547718543668086747453614547175765955602124372448533051136697362434088388056033045517375486694921016606844027505483789300223045367095484045626784288137554068518424517252321630593278148685102081083049955234238106296025435251115730866081077681292351803768132786356174349194125624329792859870336776533060335871098670385528706746738070156626328475395208471467288161573996010233295020343797454642903296541421167733502465246208744465842220980370642780070791000390890978422257693668030956401157268052291828375531908850687349477614389449035489807302730787348089550077850481338788489131075642151983014888794541023892915995858899986611841046545332813232345686099944716984804569913626156636821990895678437716639053902929224776998902236933116142673599106801585853875147309343337946938425341907129641757006435079073540265320684287569794453839141974917892180578541006903086920417597807949947479137644952855403093250342160927134227758769816854699775997403178537244282036249642930447497915091162332265290260654198998473945347712776316738581112937818487950315892235962050874842540228590766351359943478034165073470703458463283532473758602670663958425475252500332327418475995767180050156279614784416657637400460509412515971598406408900781336943353836912363626084702320815414217312308393099725548296972617928750657150732433019599523075830860676511135944554219932322208193878071916770119004859821533874870219410178328639680343081539495396443283652300273317491609716540352056874873127594683122629334745297135595352022810044358824592843332441920865031397439341535768963261656562069077792781332301099637519646331143086675480531781682272732387433971049401455275374823432173458778081094072765030198039307582866410620422290643711153733126288443840385092601369708222224701070217252870870006024359418983067573631434231562516157305069233310729681203640292409282447488858622254522172678298737063840469534117533101856980588826835098709555385410872160133867344217009826503548392495864857568011913869815184387340994521209944383314551943204923301727599858021744191267914503348129782644061168944113749936944677417484994772431619649217659069417929423266525256246396055336324604447547531568546822614928831608914552981982034436296362317969011273679403007608727799393716532721840935959487837811075827454209965541760730878626190992711623246717955556928606645617754445649135893630049200302105139143911073799450215812768279143426315293054098936123237818488124814804836026088901749607334759543303110957218100196049135190050955125463296268715303710403421322286792662870774339839545151504756890828158403303071909718584485962419339700936183963804250818295302289166532488897200122585096249547748472398548905310122836467807068196148399936909646430325155125212133245368865115636556140189405524665576713552507327480190850847438262175184564407517710213515785159429575019990830065950946474818458302084250959827088700437946460516971244539557227450666612512121688183645963568489496536240987277923019518184840959965671616725088867613859377025333872398374159055566037549649092625217301203662970851579279999641517201560533655015208536308631119928809696273184712072660911625579792380893703083396822773067742517913373196790683568449383180166227742479514883943500906498074941918469705955195352936525542810612674857026800447117721795132280369291980636223275919535679116734426631966642506302589551441614191194186145281322866251909458470177916488162890595602287687334559873725293614539318755927738281381996061445641720352022405060397502533586408721757744765221976662189499463212240852294654085123639426438649997240803712285590536657050083165455452919130301041449476571890672629546361872629953163420286787567421844893375097547442906992597127090451208591824814774381723876705709866213526635603018329413656406241146822212895537543657881430923387901115040555773691429110737175126256927950828359681327997585266742411570742820213782677948447064612595444640493743305906305212349005012963535651222437339758214549308775155173267703977589603550822405678580087904455798880397856136138754832362592099026473312627249082581708245436338527956378955041695096175395998395306515183993989756511674049056148004428176706438111771079497456984818030957835429170716836774302097974205186255066952894792786806541674809004428414494386767406661970854599047920309245230241266973318451999596502903940923570979280496705349786902296895364350032569165135275559966854698697287653330643171224926581828648440344847581178183481584737562609333411068312813471247077083801755573632959930138833253754511466652471265409100647546761430752926036022397692028395175607186438245554476482387192847903263526894955296277119023372000679500539104107106632710772910471975038500822397952285680407792228939225106367286060843448495189344794441592170923076044285267723598586454833196145725382886608873305475985806734911853664890418381177307846211003301827855440582643714348432048855826607789144235246365469424323170294746780614996456806087078270765282838823573245980860967993366780390955709133237825927983164401389328250560498220683707065174944324895865802174881709964046321419977536392812345575790270950293812753053568655022056567872316587570805043572781428600244284391833272543832025651345454646461140752300239504017617964569212799154998632335972466989661265927530415664845635138181823953300169544304096633871374772761164678361553206133810073621172004030168260779529251730361296371296348506379837965671350324519287567395532634583884225421346336478012196368126552633559985059061316172396252024410830069538564249379821199386270825303808241470737009576715818466482070984533434359725727334477835571625006163531367853492194076452257737624334966651022742375916651213088925954301325162403230963546675225188509970089112029132044398713479479742747832729828648690343313800845601825967804144606293457176469553199744009014627653045948733021413610424927618175192592494583480416309538708833062898473907485785660383115268684760922874303056042140677457370820910160235951952810550101340545478351409761849767954394753589774056362183923594499577387519042124490788302906792804119217740952489698546827117011865179608350739114630398942001820606272217483123903224843447152890043018586474984275031659577761684163293362185480101762363936751971538695587297496120010843711958682772658492830132900462624012954926940972822180345792771845924156900986774225718328305807896071042345884436352428224756844117251161595843468197119236999355537661583962975538466200269959340804133330697809470181737596538119511024492649054335739099525554732792561053686244550115500838990974369771823959883015583207266958389147415987642540336951620067229034385209588270589322444602421116608143223160114105318049273434782614602995076822280910431569443200429460554093482770727242908956522725354564274773222099024143344081455447937984468784064216356779868043770475134574651716766968727368784011642502955328769074021983806746386330041843853956690559111646951405371409177169641570624395315732894525827376040313461884315248670642034043746935794733247052370600837795255135860669901755248696264864894586896146796255459316497593803736341946223453027673009681341926461286692829347746612957500026891299999977187167680764076237566714731918955625828696079982377753598174266989480936346146996321436179856610520174016587695120926174434248751013597006277436398008725161956987394549154097314349658411471474355654143465670988050504195655856090666729399474560671163516904303911435177105290518173571592026589563837589282919321793031032222546771960668049687728123557835199526433880487881554552739621989450409205848441446330037562564523511951881409784691638262363495095602484815431794452466798918010625721734140350329658029708320183597883299979081180843573013390576623247480697441049954038401863710897526979313823645605349068078349337403490078829551376953133481126258822438528756463442635669024449318349818654257787988752904040128525543622676775879122905357192805828389319666639465303935990306942658956292394414748145545640989794601002081315964383229487063268463135008104757358626323955209036556345900930100235958775735068249726031705120452840339399954500102053750728725638935708790405141671969383835883636155330424946838237038115187656759405500124174850114752689870856152035256798302658288940113095282427155103010588228581502969941186741396301239621307035474193591991947070972840950727673839331671722708926454394057516388642660954816224263324766669606017283442793766470847702808386845148140381817929649736205335089203104903307216743748199307988017394846929450789480148215994799708545057071425066613307253069662033543785501892270931799247671783146140665681756851220961592916805816273183179693487285310175558068219737656881153432693266839408590164769928686695055837020081684750219782264994966947981370744189075104931443572441032522087264001904825705766426183469915784997332400800564522646641763215396365311888932105071718990242453883751513477624706319801340704870838641216084745965524496311333412089580793284193649814768144222355633516566773018561217382408242076168166835430607296031691374419392333079464379841938266671316299727164319323415518974926140080040755373286959976527055897948344762060393063624419881021394394645366899534330986085509560418040217667932717272566185445512061315933490966742731154110881917941292071918888860046243169634886210844442387062903767730209984830037035539203807051006053010952830592113018642658189575495972904241307849531916076183574642186945197027321914306518436326091874914626641800737571044218819679014472538983725129925457288878207472317428175273851394468374935569168730214040997540461720780173786118374987804512501230961972203741034648417892602623847653243745569516358783946221136952495019597366951066359084308762473830786286362139265668591699672010503940241351525724842132604442379879782894950138159892477739056132558184474672364289529909909687196164751224597826845833835348622553352292969503212131542323808183622768463078215608138700726498101189596850083684641064632468454789711643711174078387751220291506679175354123921491724260637395156170875327829912401196039624555970854778560275888992408506079329134849575161270098479948830489427949479717120054255213515405286971510621982918684561689799095133869293137226632788461186190701215109763771928080739601552426493889564670880380617080155911416388054868202280407889871013976568349581246476338285764303197915850212622466968991754693889954638614759306571418449559837050361131271938622470154048299144463972153003904544732117294147528305214000163908965541986298003256847085185340680512385501173840267513857312792083716537785761961466996079413494206214711149235468208938957483898243271780868538920150091283783618488811260936921390809359719067274709445703110338172619013278927330422509365283778023828006582848409305828004373934268216951213041045051916598607561216434548832705973787948073019055921677021547797459717717127881621236275690676107274477379598512822185425120071519230539671039287200571011023373537749707658108459012499873044144476752388626721759906919842834779535301682082149955463900926307373135633158186672006501859260728229805326084790827419782619920025806881030877652870746797131614130919269361855227870123647701128055565425207262466183546714029436755834479787318868406598293072444089681810248666458485840080547612540760041367520778147895682249441954269374146843443375747433673844853999212605517389845410407348366793756600905896006928514395388345458518451611269118448958192488032666177356436293068994858305124193121688527148152889255580718655829815026122804771009747557762666916936777474109290120777962638768469105377669259435784411881163981380682348665114638662180685921363859890830966072738321425667734514021757233146045559627633589221712826734738610510668014202509198417466955450626155207794616572248286824725091772439895161125314717248251240044031608540286640442164136325698132979855957370211602238280889479853404390325111672002925414859668151354573001550254161585753119909921593825604449167360712754155330586860511063757613684893939738572294195841588012585000151981730656694199455404742364209190474909099533374027820156793752891436261497687461136278557209117963912350679395859491266033984623065102034932462115163555724057842492514111977252683381363288733073695950651419261323217783179110743374206540421220944755940589400084535216717610645747721651268582356104979965961774088715487694170256674731697847522606113785381753723450567384313050843229465866956422205874410660988428610532329229263090803514226528790797417251183015119070346072579170790376542905195529234705585523001668654442714030862788513139730901376163232130295451732665802951169524410478290772486533886736267002227675431432330638765791733470714748695067047977632474150222398294244119218412549339948341286802884249933342089410132571867059639228265742198278254226485463293436746351951682366583096447440809734592009198240938118124398447952681619374235294672051016444734589957874338715660261041327925349173169028284638674791466208153656804777583077657205967274003536480099683599851930651214230611553032181219296566845473463847680717609505753259965762321262255608758225280169287031908241774564842359664050564795780639160594152402679225011741137853474335582547695511535334656229111586422984813124594526411834773773168332709375170275045776244988110108280434892128114738680922314355357249043573280526254587207612691689207700422725936551740533585569867360601788337036507027365471734623532284319093283152326201371510453902621720072476774418192706589440795847622705382748320905054604269873391990777451535745147929957485306178685942176320451814472959497800630602540573940216806781000367784173717350351319585307010849639509918940064293265645061835522913987838151663014413966197529147228538104198547612807704739675319015533298385923412652107049801002410105363128707081983519366186870071205378118771702446018379513245485862549263222551423349158756163310709694719954252073296200303829248133540023399463461871077285292908192860359454835614751250610649881663204800189410696642508743457509489174677645929116459378803477825655378805039518807853463543495559268049010646747156575491023033470305201441286330053370134925574964956426773131238394037975457562139396445563870929973121953649667282126508298837151586785641396181587818249378206909370867441396683972473911193787309212476865773924390168678341151068656364145603352000696004250930408023640847107440514524436188682422674558642708865631091048864827099186755586123065421931463478675471365023599479254655403612889939554720965997186499263058920521869647057859464078299560245694843513960951055135462935184688052578705262141704008962230113687327658622438470714878614084836027869495092469335395913001122622118493118950601713611508650407700900247316984590134845242305520719987055303340601642117191001665360343986580970582065597816263778552857193737680732367908378563387175509789698166281070006885609809119096786173689452912758399867661964717746820569320805545627472126168858761078203460484406230338128867559308436138229789599058871656098216402332656121348432712350638059837719292225341765890464253915417684283114214709165974585743713399997617564367052070656196220012517509950126765313562022345853675253431192425006260512985647278051803035957867885752980819883373178449800254532368999768487464119692563084676927509978587533748124028792940826922387230780770799218689463811162012102336248741242267428424276398071405278848238044092179927455639833182067780332527077646308722326311631607438002629858173282418680785016801318178621877411645153629170219580501294251269634406007913539587276585697369453872981448761699281271630351739367481472372488373010796136810520376879116605197652066970957015645320034462912801317031151925909448440531520706221176036578296869362961359566495058757236897577083235590499788544918839309223344284510801694910680536279879117603009268591425848494039106703294004169399245731645804643205586095601814927746401721483098233965990278177070496621298221472867504126247765668010730841049279055457376629762250715226611989044640648381657634003530197328220752323871857071126181911437577212666525515644620898356176517697689645193759806926746088272160573628243132415940727266821757670769438301221481248796707679428691651393859096640890691119897664184912356227392858291350106778586702444529444978203126183090417018554419234421783479962024777721928559173017973213914556688264948117194164424249458549678233283345128245521731212750001389161663415307864465435756240763519710533860833378902306944429745799602036743404485884082758994232638752257326233013745438905303821889724997339465071392004125695940930886436298621192801811919779592674490882193277178540995817573702875245939944555164154900385099005371145375746830012260931241464767092012436935906004535743960098436631188982356360214292410408344657808532025463751403064143069181904995870480283319408822187758946951049993090321655692083407817686899717459809842219540185267970264000614092276200697203188168626998549445587818198631404869387891357426492101304960141598870880299167727020431054159992270327543578810533654392064898510477386621146682699557754840571640606449004251260113701503375687204856063659882071649192624367728261132799734316232953022807517501063474875835511362595193195759054491421786041430390499946708626709077630835693661366182685018355790259447320433962101767653676081013726272631722216490410256428775030828874418472450952022364947630081706238054899824921032813421126611166843466472450710653201203858595849798574356768420063821603737968609034246275649446252426951943477795221294062879048852117572378432293140566233767427777875167911896227787691113881229772131783346902545091731228233179427613460893315757474104624029910664359939680502986982122858900429985873990196126950617387690180523505168928833089717785810776608359040719173972811967317372710805073255841479436261175986929497412026024512550604890371636440639798323807717475295365955775282569986216979785737919159537315965062571440891628838335342201095872310080131931194569004581051771743231838844695294402936788918033018790835932219886363415660969981908551758599866071574211993948137974851439208365865907054414742713761067651993534804961474246108351219183671219207275728289567424714938175828855630464415145533263035666908424486934418322655194432921221985727709588562834305713689530741852613090894699529020399406997890035153053625534325825127958294835912465171458984045645648003271871934336706260391207437126825553307287551752382936141576312945830345177939422743235353948220434147039580157098313990317070016608162044083647889023656507034042364039521184862857526431845541312022142367486135486340097380265270458222085511878257646518183404732280336362554996633564060703412477966923909692336569487081847183193522116446709342580962308238535343892506624848211874649941058445483032515073150989740959633485769575953567055838505420450268797464511144353697293071417211607601702766669027108799547679657722667473852672066601963308415232237759194956700264899215131079885518083155365046983181274587332557206758047690037925375080354065343190681372648431960854224908645178238966824766243191074483634955876615021805323873346993354967063175700785500842399671657583318698429110291876781859671010972272252439544392010443468078468976781688543762473068099446018446172010329545824503983002447577957039314995609301783307331252434300622898792996842582872923601159162811153891915669549777907367445396520804746732729106900064413784682658671276954991968579003744508835821171846771109057594857084234168391496919913866145105663705739428378936520617971842064488440197098325995867807398625387625427517328916843134466920842794375079688170697235108087713959463396200933242061020268913176732893298147773634016675454132787586432042523751172035466086745074924919350022018712622876008508435227066106842575723689443565901052560412001026082746667345637879224472072351682086783334837580922044043918053252016105309403150743565199937160239033992301090508467497668571787150688404015670954230356272627874875343440006156462939091195602533545821848950111571641091545948951748044356922087789674888798878977814960555818653708108747044699630821041740763179108009608605711058372183529986808057939736100316720931732125918964997316118676037073489386634838413118943209008444464713944309738962555996329055827779006224546243126733535485211341365770473165336676755221303293066870623298929270208478397721365460121413438384967364275926667866684072620449605232651774860167333397010602318081548214890920107934513109318687632574253544759319641854959706153642627804133894160173492796237521367833215568099431505301886403513318304344503175122513852455882073540647704441378208326207544774005911271184924409503844943553666643280007367484247803111701680839558580786811103334531971070095097403565908244667612928462525551534026358902276525381930686625565249007545389625189242979564617178520006893966178105987726761013015221619195826773695378886487458618719789871311570152735727443813936716059821575718901078971912797454277010905288494650172649937034351858784644543860438895292923063772973131962356512933656598177637392284430391060019326060631188348784570392469824766186567718412079074885710951759780248285055657009162769856075641730320477778078583133770882922540244496757510599277135430847134720882292458879810465648580217501728715241978939240908445301214420470010005337851438147937089752956738986829005399742968377656112072053339191510251646921885364383528415010004274535574326861503883419214847584888305588849473262898096214354298476709008581570718433666035745408274564193005305029975376508493962856293945305057003766625576460816101814736112272277248253496194504252640456259666578309950855220894811930193718132580799872046113839117019656884236573868867427030216106986178859474727871214842973079776342099957306319772777376867818388949700486826569704948218589670649625383147958987580452031900666277373414965582750035083776215926857369990462244597478597075879291437800627851308428087466356654933825006504416746550680625658873460630415466085298347599674323921992502166682813948080430646331699620145973617663004809436696441433762813825830562445626777767737320444104406299149874418381019827807742106412291898486025505251229032583148310132487449361617839944603329183834928964762816226000435809864568433330116903021648620222298021047156606830790566012047099037292059557708600480639050578601681456773090435259189579331130565982265907383537595417297930478388580331955889934992620812391474666190975625334576065725963404940119366163951068003607803112776153122014587881932248937805756526113913002721387658792788641678311453394315177683561419157798367431894990611851534404731051858564139619439171544945785433166647286939433642228355400877647017385369428925893021898861368314815673040446722837624297707258179367382110120501148987799467875835051439151602336171150216651572764877798626864300688069018809317341729448653448750550560139971324411347095084006840076891049889248606113066948463103262788843885495989588611832696794103587511455391958714377386514846832122161196359583763702345418484406004251966529785230263603234751281133133091956440719475756863393189448284646754440620311585148294402560369313952890667540029106468904455062667380059208246839733426223120885778437936148644594420072282376668554289371544991057811178976863399935079382838264809642363182301066147353591257482026812315027252007522539312892792943366550678217019311300736046149706860431144398974998856630324589023925976083146423648557555094809629781025202000427766361290179544092318320816036855127976418528444820602757718750089912496811529197789987346549657547071616536165120722621285543251796054266728663143116001065744016013856060622133886340044704882675756929071234897624679144179531240124297549463671445003830000623035505604267380547742273245148299000075264972044590898035252827854592866820253785483115103404704840252397610000659301598495227783129633014672550143655119243331294260350921881101080794327682506673873428009721950594561759159337317921557336331692925597508176961988550804696358742570335747618665783047972756985164723303864572804544691889808651913236516083809932925913890464891373771007033417594816090343807219550767173286586551735218790687292607115502327859152623259437797635243482642719583005623179921789448870539804158899123251090218947672178246523716291146874052053888313214808064190667703878660099165638973487833883859586305090313140020335843417127640764470163151294182409231726281470718239486896700209051753155750434923789832056529792581702899523885244935784059968142562917677176638082127129650702350158636610509149822264036224950527824065306037502819479940413946634118079493565476250239655774769967218003950738061734662070241488644013591934481567292200868964429158319319571289613250405389693741251737370818383155819137141558223954717927470347679438920095476791740173151312617376813348546129136545609533426357313306753105723447132352871487261993865698122385976986088615585659913571263811860918471724139221457503430651986139107356940681870129529779681820860875106779200002760800398199222569081553715411476938623294513663397963717406791630142814697796850486788929635717279772252768896219442663561165194327713576375605270451434933432754916343598769247606631005766619576490666261407391314844292542145843030582375715098289882901209717122341548921879739869402905443319574580424824052808043269418173784348121889359414259178834270514154801732713068603192467133404085368489459150346032343425601681249279559836897333332056655516282842663352619775205357569132836114708892002957569730073802346385492600002871134170028152693201119487534663130128501093624711738806541168216815189123671194729950032869348904714784973996240358883205297878163939493744528057912856520370405585285112617240173631955654233945643853826533506535172807216976301176681807966926991995198804253381340157402628739333143192789695986096759704041101752329132135004774970233612271611665239186839991987015381147061168447488008159008708499315252688705629265363170603280673352260034922919300305036475940591914000521405848399311899752743038838721300453143618798429230185107201701046276452488330418300898136800364273976942940037020358759127887446404974314699208561505438306950603275004147657134112733012613276594539065586635913583716532115779970410268910479017853547471289102299427004486028448797641559128134572284923397981119133150316754306071706104381191794732430693234279684768540054436230771756875417803553056499968016577385583766032955640160674197880223911554780537040174550961177486375987091560214804772383414278785956785829801882503566475050644968392333895735567003000701019136449471726058279325234665204588587817884266509274003698485216936776267712816701887142293244334211214447679311004286924092438970148882430402065452272249773096473109304230168494077443808618587999492119850088928478088071556293475699311693272427229166074446265834086988661905569687716864705161604411273813460868358287483949067339888631640808092177076482493368511128873981206417126860254460357735113822228958740013945236048804871706419811902626347945989750272485725472580202799988775554150297513913688431557197837814612848519983575855676369433898935601794050409598484831517100353390704008959907814944080455029803138975027210335599962583781122514013794311413526417104250561719486632635576278963446421517050843969026675499821429081780869351501338661425427806028166214606039970265374890895046905535401226123991855152572858753023739687507268523065309963601566055439852884025858269059357436299839401460674973933319435837495437031643296348695318404420595186687540230234780786777826983641479465340321992402706723224729785625201461712566342379214407111769649969882704010705137528975231715503469661501158665015836541029730077496580355593753986437489967190495396551492929816427830875498120348591836985343576180215302393287725589337328737103540483278592339741045080314500501391344687297693505344921099738882676266849571107094371875127171193958298507927814364492163217176741628442425923859540876656463094277375452222427895097418958425779993002842091135932513142441789242884151592869020436546270495224721155543688110528414120988650491128892194711099988440449259799909904720439848689589271427805909325826500567230743354095041069492908497032304411317600112627398245196794413933031111669165788490882657415836456435469529842423833918632260743448067945628519378687716855663845923919467926080289047206958404525018602367907273642220166860769788538208793827813004805971611832539660709056111093812618513179207792567800761208693301902817539121031364324862546351438019167808944221887250288986743616726935940568457869554421593084422862059161952759694228549914300149995133172926450945780856177619635069298059199805179202612785476791884367951180303877705554804782227622229339333290961652443287771777742524273327841172598559288161554367425585514990811491951794500987956090514315927463061387015671657561292589369049081088296380726259485957380945099298516055052149761679911791726733211502633297637190851882659639258556533662370484417597306544005666654757129270259680673340277823533394427063038885034893902671476626277626143196710647568402298165061816838254761527353596621560659122194094421181667860676860091298344905239251679869234285366302115262620816856284633966425924768708462485358628797476820118236718343535843569482479419945887673000921488210647197567841278919898287374289481279117159571426022551667934204337933789840499089429488220567702418092722465622966368997463015052660966366445262560097852415812435102801341720272255986671060553108678975397646528101049333103609718008847766854454755147997152128206215274933715176539438042823864742731485221541499577290613938600057789993560248702146626533171257326434847578382385927119101923331360737027531686027601817598027662435434218137817718438002889152443598054848509671878400960948809898929331874953768578295679630768308778845719998360344910325291158763200330035374978717861659944765336932757663289002048946942585397705292496335430647995147795189422365490134062674598565729790711382434786257841904896288414519327520724247763086732661811831221898588689584347675275397371659765332159609697461220590078406369583069514942657334921588302585274381458335221003515708561961830985020898386559184746371666687299525731325626516326729211447662242642869099447335974419406605456897972268892338073452377054771233288604870788478487726896605279026696619448770222213849986818613924449166086229088187606471485383123885491865355335965805044937516019727003435898816424158330033267385897652244821836991644350437606498648469195420510100337207591640821503016883704004764619184402374305279938856432659160177112986046414638702716571986536799872612758364425971786531631323282147307008921528607675502438520814525285827856373683385337051006886027436191446693289936875022240216901279024430100695087269431713977506480787095154915439573885620188789230253569500386916780547947993956665703234991951762434435429114468510444909712670879090576159315502955193131914974122490986448433064825235564035400677665494335867372816728843946320023680358681387069761144652472629532064733104516899535966369996250432942544764878744182475640519943059939646530125738708537891002575158487229178164562078383763826618430465680095114717858826029371408677161083968949918744675470031355181853509961976373427330339547611077018830371780938346340839244054308435989029808149233684751481993148743251690705522933764753143855106472066930495181444205191174688237713551794718402551163749024502035575287170206446465414892038846735618755308244887763098151120066440799658976545618577540617610946329715555501760587050080315146922567050629088111670915828646008120145056140477998541038068859437066592164618727743803475371873833310154223638283728838465956249652524630217665944151681930709344219083867760408175800547899872344056810064490916488831025418937132657817142763589432026264449699105756282734433420086956960242583293355979170648194352444913296380600995071280618692148164946678142297672998128321618298040490295294957253965037340309753972323975336587942506112770812330307691614229787331510940495608487381043640126574780595821927536280106782369649278506035832366678921456255201026716314389419383023353890724217404109909459705813722256979186639216413331566726551472491989539781773510328684839907543999450234990060793943417819611235489985050651236550255408080247134367055948955105776264643372975302727162760370147316321942931375781611014084098589337486491552802405268859767748105083708757341248648213836010438705058718724580234673531813059214175186374198742149838270881679860845728053625177011309511043029260826509624564915024420403715954554241866969102647587529488331307885757951368379197992716129550518614496703309784417182830700579150411036829680724685707698050049720785827941473264766613103208128730528306253733883665316943243865881477284380573499196383718208960212661084603234376935291204652402652213426204829522204484210011486176353244995376413083646603594558590809745477197993298890054697287002317164986079876109431187139031471417199104471431634663096311349101066918434898108942892446041094440589398870729155467589346235936183043625350254204441518684957079966299561535109868466737879989632767018484208454341249676976782285212690426084217522474187436342398877907130722419460652920142046691057263573380043444136376082026979712133489393659150857189692416418720251315877662664014483360151680374193315580887527288319548917728819159675190922429396078454022753214072064794186665046739515483596407303708600385063831292099924473181558925544334621277250219881141099089502666362814561608028659742223004176826757108103290190421673129531685667994562131042989173071237991179443388498096348531074205517335954549819717604781063393181987258422163360119927551180393021751164925115679045988307990863209552799849658222902456883875534687125383741634012227464128027700496066877468408471029822027028665217587742172180722682749165714244606873983382584295402085421656441652065624826588372348285663562872804531119752921685975236748877373608124699049333588096035511196854356079625423264551250447747133169518711162825706144804119270816627208247010755180762887328209370262459469633478617702974942700227186477546550611076814986717989326307503517612743958843688143553274870976394756399269894385180589467660370914303050959966506500745903614457661855486546099109009418030944681362769995928829470909010361554748684654380900860464354377448738487767219149409450613634599467075039486708949149124011426376004378478495677292292789192188156451682671456444408663077265219898849469357612043615751838335736083109528540962668739328665282689155960647693527344483650772690277544517420026505679008832077620395906216165641887459101481178176727950500855714166424573929726131699433961835911532001706420358538740255352797510674016199919611959077704435042494061755559514051598793976304335625394662186774409285688806793792810256976008511581811356873907616337721007933074687991023667013178769990814519951587501007267050958723434921933932761765674957624309204883216143684482331249129665477200921759197730874105113900045215737919664391552235314156710461024393676613662179861501255600540799299641223404534834817947400857573758621672797350300528085195004112145798840971531976229025346036162749218195402842615133068866584782464376436447363355065062651846389071546483038293293768575810899515937851207297890807221660292683493783756887859500065554595358231157143677270327508751034947613141415521293908732534346149617007069967968282161352020718033211307432518863438616562361699242352175290252171510221861001614739551665429727233400091596222125896787887432721281893674950918380434409240551162417218907613362080549459335467593962596573149905755845639986200402429637753548800856233681186758432033504171322297153680686654390036145924432208411044397579334260023453925302020888422916375345306299589574423445286097575529162736904175819044043553846588096291663925941760639437909601537028587660640808186307199015708053094409356269144666812411348661371637939091033545303737878952567369684978583774057612419756295537280780664939239903612478462049713814627552092346151560229000691585823493399554151830810131060217033205190096791385623179112882853732339594578117173301802018159786613992047550750318571568559958863309929997430595844022381737975017429578048392885280653367853691733419496506583672121695927030919635443110639491518734397360976243489371189937590225336641097720511567065677006002100819748822572270099618972586357681036223467238587797369346899508750060950981600437883699212556136289629248723468816058270080298825382562939772072664826121536356759058312966073979895896900328941785254925016600939603022566888315182286908573938782549296814137075073076534861869759898551550580344517555224827482267212241513458726962219777356324364881856115281076362470922596645810933303903774231174354259570992478893355477889741811751718583296271082290396258213701574194762201964657437031325190587084223132134407423405190316793416145736298516681960875785348647447036786531466747094955674610313173556975357837276730785240444999034952516511499702222575962575298307564377161401289250210579224402152240106893775793296195743008330982238827778777720782762264694526237600143698036606864378579508290071768331109234841683346441640192024350990781456692100494367611213139670380452141119949887201841842811319907290646042121760179702486733035473773342596645709649182732347692233682700459438613263716923850870963574071258902723345535766901941043146504300186029695923885126784059976571636252732630111745818569069232239704380946259010772614329532416859967065311440329204030305145587042132638505814584712497866964339185686761967921581948665972668251023339207657460717167725526374601802835460189206235297516781216969976344591638445462507373585359382185021632097945177183089169971306419484440312061806276615290836900062855986403733977827096769959660351735976915758303986594568772669609452214076668751772953474767483962701549892252935562224265677411286208685996675732079496045252068896734518951689593003126502529883756863625333693375974923467532106700877778058030172610658847871970564522818509835659619050956460175020990454538779102109160734685669685687294465702974565117834520612969744205871510275256312758999246803074948635062280497942337755813618227616112298836111174615743574540170952550332333536649473395526164208356386738567723746087546129155904686103697488343552618674631237494415911826212460202031849966930856696467145099214909980692064978030206431609061251047008643738417635196567115074048037415222291972348761816190905470214308890335827660260225735359767613520024328812025538743228150882722276514304583133464420586361205143411875952851294394269677711934372143971781945433707310528503934643317857452315762854126876642054539255112425789556525980768708610062939729898241043948729554750178718963439657039646789312530401746917947327892024945717484027207179366512659987544625837800108202569867959862649597727661284765683822874333313986817984370945146866573859379243307336671025725059576736371776583169298498767959531224491407130263757104956391474507258843644657161334952335190963826226004183487800641857579660353628074673077746621244124224849730919262980634994285501988022166454822149986618739978048162501098658993023700657586932548033117651787184515181956564284797265219240577835133173532486199830578140605866924901090589123686387995676009236965889460096299408966839164952330170884107854435317896664771782567079808105383086017350496194989738575504638946705209199796834132820442289860972430128547567272617278896614510576352587249842119346888320272387490634465225778295930222841004973439534049599865462555946424309834365397819205177825414530249778674101209755006784776295210728221135157507306148481639292987761963148215349879503330877724831363755538735133609625103131600621642354007389530612408389390290567706409183461113615709191797494987712197806563208262807921161463755320306863361150834670946635911461021286876757161896970171107827249642425419212323809275793096892224622235940286488984507540017146774955680915084429585489566387110147457077656192456743274783434182389902134808416514066334276865567064193248921076535185643463038987134233979553300012425607848932102062562490045343541865177023509139659606027481896953823356438501178630093819927747106700772896170050198565436346661438363575149621095105102824760424378423307062695876030710252740252212076938247704290152753003903151080775034621705618461003612436426965362785963882618478965632231526029598460928857498380262973544519692640065141119620707711847387954368374430296640295607347248516824013730076804018883951837179685044039200519636499560143399165632157454296781267437281526460017239621811535244698320420819391381026812311893417924975639498163207586868781846815849251119116995050015782037609185410729228184425665644623012185208058812633656659363873176499157842491568558169431699666003961023036823843969066933355741684962507550413407805614239628856193438175286291562985039582185792457962326232830111529816820176471979773568267573488611684417408188872467165476931936554971690481758225976692965764597316722718711395509892345283432737683282082010264802256815572343852842580147222488170372986366381516017858043777527232710970200760513318393950979064834535788270399039615406017127181005663190032833990275451180584559261577286073670125623028247246251819914429898846415757496092372436696889799937536444278955241389480873470162720824192462455527690153359509952013590640077560809182397857696531003141546320068889952712852355970992628639430359644036664103691706634313388018409369031899120785926099081170965761432420367131172609065543731243022996285906754458268718326941723871325731269449681894314105170200122442128435201578318098920750280587234413585718096584782731452565952925282985643924359229255315263191861585737634621778973386924285615797141814946642367231230154980227861282452922078628423219460835540925054211754378906227941538956617065579615952134674360252717548439759193666993212438733005220868163787468932074448088453492339239517915507601423182781150765404065686199088919248626825040656291872204693650224103435342846145433793886743345628639524911325557593985829429886809696798603830276075139415933414055703620950929103766068885901169961309917930213740053305504828236763112090244880492788217800863584320042424114413432796428106542624459911219318189765666415035079755676847854231436833595326879242819289842710040488717167714589453322011238970332881719044399844675245309482491995888664701936828591612967231861142866305250725536808075527011051792099828118760738681098072177259269513748117502054329030709151249306646009379046414467682097785615905345508084486087801351109243760425579389265347762567532264968871278542196097234251179253624287454733972836246745387490691775920631336636636045541951449095084475198939452177087242783856140831918649849596642202966697152881145220561447637011838983300676553887906405841510032320494136378452248957318111467719582416621692224883161960845194604519983506752180205051274332807556821671495795745773029208201837502433774696895216046485056246980350906927748522634389996198395695081077170401859428920661075737380888529664606413654689004952331332497223652761279025805608172021429800153195894249961977147324318083362274183530840430395757793831646321916905714695379452839571668338924387746874021529011190177633558254602325843617279234362626195674742066684858333465614705138026711636417353374705825768479399034652563235588547076882706029132232703676569352034389991185578515229287346524476676024145329853561326435967726626588068858427643683365672010006945981358533478586512645416619589647723769392814578442058209226784975253035368097535777559683202412073534239749267838084946128024383104469990911545723704495097961735067200305870777692386859276244893461778911319417715720980364348082562673418203242682775852261790082062661267413155733995792442405149373534309450504501341571693264688441839960388967759851849977525467636020285688373656905058451903240863044660438784751590153357528035312222652151250015420273545346532840684887916084892169331790420649046812033968874214223008950012915662579727342553907688215252612020214547479145648255653879667990964382470584229326524214506727398000690462290365266705749930255750781828770755348489323390809714700482452568338296969339605546422943805243062148470425543351237355170798794096536573478692244645936804636173530785837985897180413750167460819715122351041786032917030498931529090218637007770005579917926646182437710339614205138193940742197436524059937478546438330668041658806629266854743689805059875484490647378185046784701581508410469263896572054955669253821062621715545888952978850807961682915202576204297339669416422136160325715646516452613297367805610704237941609069250953719372561262530655293547398931781373826806677499949803326228419871088554707976731948622526118536832576119631675161115359106385211023323945597144642301621339083828130379588486312085366833003167173272380067601725729168259490533514925113027705275149360398607245100432607971925057263139395678747575628307899063166380214590830231818851442031400291043899554149116351524561475087167108056261165570178082006658259757759926315326910957925454241361661777463478837453088886293518027099232889537958818436292299715442885336019417754632881630144882017665183976213402599031737636081324790000118710063905708080725743871341187320924496589865154590431388724173358675776110458962554137249886251936877367700344292674456464435575503119051402722037597962682342205949441274751743790763901215285522193899389828904507411142088538129493278534734377683607222864531097356020392948038220940700379981221670496235455761930899711088166684560602324293736037811428593712455608017514528022375822117297756418362630447234672331487727529604238998654639889716100769429649908052494352100725350260597160093439223479622108904331176188880410090059317041997545959065086249205008607010731076834257850918792929303502694368299279582856963004764644230201983546508469777036404548609888103376882058584332669023530629110016706493661774887522071556501510518531982895840296821935851197484386981663966962625313261819955153912293170612783191353674426820952054435997490676502780775088786870874925781382545731984917564257389606284672770091221314791443023912710397228080632710059389146092039400708536229499009926893763902606682463647555221808128166020631437315238349499869750351649884280393884734873006076113181227656861851354517859696684667833186490106489633245218769728032290384339071785319261755341229037726865009364161617389704052061123160494320635119530078433695890388577954322250436078537632781738660631823738067359538261233642362038352683958847508436329581672043615925715907972153869166238548190444977625836061030995855979690249172146104328312991395792752100947280371307802895267197107577268556402433558815152559345740292514448896143478647258574415760258758197962837407395228611697493919334865457770320218542359722877175548913081907045157167817739997125776064592094598860616941025393157709538987960928742841149867567036130628648280316050747575420147099891665742346155117846863380440356045769797283299138909352698768416741988719856818298930977329355190122678645530783864512860106765327643012595394353549660129506757752856807209088940412524288688022270343039487516649434855328660196803513868491464364930597615501773651473768991552514853218822699225054374656963941826127973583192960179601700291294471836795075513352773571302145675577455775767615191610819853668297208678973145937846366410753672843765763730933211577783852001231156443654669908329802923811981618410176070565951269695718809605311190265560310710866923737391284487483118017086358940900135601310863737632952181506895364904714989788417440903584631833133493365175326799090555041096225506159318317263675814191025067742497670577573206888080853374541066447017239414239148355016794689420033198092252603336951798594281592222672368299519337393791046829012570245226712399891434253172849663310143108583411136977971424350105024401228927274567208512184631695898868623155785318190388453629649332910207458747205083377324143721656052325492624250916895387163752839035824112872017522291800747402565112523484400903793035714531141070466906082187240005613799653967138949547200579966633326947162425382116413220414046456566394333119782158011701163220341843368095996132906243691730474448249638046639993134377479667394838694966296473860758292712945211369767574939585132004991425240241819878671255834510205596971625908068549073164874472304751368274764546795718779002409374849410332835574756958698531132834586514897292856145738995509241134363896129148667164347993228130602090559329430815112109424121363490797910461105792128119481600386648771819331128791153419250563681702086557897631488744945626731746551053148445593301139883925568725051758003604278629672201669775110707525410095292960955273069290834079602149003809479034419212855688354611656974715648487204219618993321257719045694928439847148188069687341727755004453432958152746532089169308759714807363061107625488385236035109729389122678010932981203272586747204027886521541059507840657840540397658184439296315554257125452521620551702888674135173094508389038986795410610681577867093521974237826618724183093458992106617693823601197531559464017557066507047628091518035603237925979381668932679477371411016618218968356330305748502547643235248116099304855963937721009012231265115913265054930961240350846073013508351138650142699334933116233823189655326560628870928961460576658500313412714674101047147161742931453337049831938936878798307830053303483800012319755571715643616017728856332469219285486113076390888005346246960454411392228905327134831225699717033006178048518169448299607883784411755185051257907329091459039984106846457926962502560183419837125067608554017593150414522192244578265872255194958935409006368201549057318826137938700320271626183344246128589715785415080685130290772319418822139815573882179058438895387061697016477082968416890438394548151112076840064270191997919178379648687101236118399275535593151762030913675675236334346295807359669954174797990363837928803689714687464864391216427971023196851514696967264591044186732005808879709765748817301802168533722880150660125319789981525272373583970958711742953194947834240576012503483415108854889616400012179608574334390018549638600596723440741983802252229878650530148805727726891104259997971096670925564617381771704673052510456685634639845683677693166754769610938792613186935229977198918256495304188924190923218417926757876017363908141600923349432875641668815323958102670472288332824231334984635199651119202561964562870602426346320469267574739699945908959768138564448114850220194219653864245237187126171488029823816488493150888807920758343364469999022721175809204866964881891793744594974643574265516450294898817371653030754031879719955345651272432104117698949179865799164313252477791550213662982536973232673481942536240333729878682528801490101637450614175919479903454775240661981810485508946102249698206447848541097791491742629517161541742621496045905073366316188091677538376982544340621523860143957597000638642232846132773335309349360484486535601429323303096389120215401587389817305190176858087567015181306568329387915934583371630297472253990405793055547653239129135993949337656569476346086563784236036195091261577636354823277937005475360749163416972127925049409967421415870328731948345365520806079029079931002443341648650197386445902752518874113035037633470017793746922862376964344907281805192145932559120074287707957911333155348408154699594446332685891764772805244007457972679852858579714913051409900701290627192886170167691841898461556241142316889181874131487952240571094070446621919703989649868179655843100417002060551983324557077946712428527169609050923131551476058683119020002658917918842896859885278963111486245812079161734957823556769415860277867448937096829174555038422095735787534151153397804691815556564438517677889619088192840904510279055247232005541018095616429447377945648916943613875118450505624845266962464263154953505678467519984043327809801431054532080139458722443216950762383140667205533875188136543287962165330027977112523320234944864075551835223888229643298549447948422397918223018880069390057722081043494397234191978474538317800981927108456910146819273908099787540177879792462728077139605693833370550312980215503884525442341658423145675961809036022393996340407001491584308469363712907920370002708568399716656576632669145352009101938733374587920432461938839458432636399396588829538069550219331533145460479613612417881750988493636905814931029751159504029966536057656332330505644850798091033982658283858146454979961372498015377139537553409357319314915142542098784627581963233751383656664300703408955972991650096135718500780289913663913780151199968280903814951733999404694290352711049862991596631199422977577642983576618210732698963157151148005887865726172435046995502373958019205746489179958094670361444261382392608032085300324480870159173265438901635431174017844432717391717940176069791866233623661689570154348809276139748959357221275913128340295670823215731248722753388493460979017976151010786936595362717075092720783169267249450359766201314086100918898915910588945260371182581067224034843007703003557612588706847433847879295543327949772219628197729957677031503231396437739595779369257217248442944686311186071998556226303176305721436944208975991233993281056890788974264635385714972815270729168102355397059934394409622505697086738592593148349154065189275622609439856289895438903504019041577456172843969284422368809814588721861003769016486221307130515709956332825024759068865021903213085485104167521062413316257635617554944079428018406664589729917389447790214982971149553294695165426827115307518313655053198086981597671098613120376793608947040493600145723733282998155999734028096441362837348251586527986120049381953240299906093736100070138905824719465821329691682906569044363977179252734795517897730542980538323665572995105271468445275883709679950627753699873207301040144840773757122628198429400741961424069228560866303153042593352736360580419046757026709794850032000010163539480417452571699541068820825414989406166716617566980587149878562250119646169506190764245928189319126518920712809652124625923397685005144479240989527279771433174793182065844175982975512603063023366872672555753860096894543440223680409145758934955082376103238180398110111546008640816162638415732917271859848353381474635195505950812325112828853509385060109154517093207673108867201072746667197572854236828731370576642360561415675648010862282290781034583136171955806942740587363685852076669426119020891158909558405727911115893878401024767234642173600491930904614721547558418094187838891556626114527392363431473108606605649904393961518159358487806627253355777132589157550394774624774280190525712658540635697306671320845247554665174574695128767517252134978415939421650073456322398175778833647109680688194404426982584074229172102406690838063171325630013292189921150665232852337819683495479228784113085228142028675000474300132653277605383511813734203634701307895659416269585405097835311937029346064919346190181587523119056972348236756419412084679068431577984297844226810862396626631311147156481322988548404261550549397002117289670551257889714068482358254207951384745973460007769197430568230313007565292608636017464746141275761645619146788332567315844255280344832674536707675411617274735121962383804851599601925469465580280702607598408694338301623983187447185336540979113172562210312062056619042811119581292900287318025568401152785549909031701946102011756639547703209557252642989009852955736318235862807471834231311300457757419903155411905324594151379463192629403587907252763107096022847812965962953710319913034370292424629488987928889442061728699036534225126083723448269034341610265929664553306622495586334068292296866054119299935510338642763832981546430166817154787767007294478422650808364318914234911325462518132423705111213097105621691972196735934923608083437155910973870859234920933368678529100131450014587627466838361817379418120670290629937664733119746324652140611822286178065666615175163202318697528366613534484728197531530428620704211952393585161283333705334955635415949625733738868316127160009204891110786306174498832954113906190159172149349510030351327095768061269723732189717764653378848133741642238028674780354688248098374191369126077231722953229458904899251115829605848004333769598463006874379264294096703154360334639950020529246906411751664998578277591293657599619844006797201336013405730534491808337398239962030068195735082168675346272961091930955370911319318226954039322607465337424657591801416783556248803932845884247397534869695013236745763162973751267619630940979623539872457491061844712372377713653127998785931472832006258865640729209815046210562431831727718625253653056832131280008794938199260349487684761141081780683093724984934458779785722590012652618626331276676975816711285338355995355703844428688506374443378436287816812720882698566695318951368318569429435116644540914008486545983826864212512628956129242782107361347335875547078711151062961715219744410744709466412596004162184681299870259726730810023612557942403444968343053756843100632581881575288403754812683248280138776448496805568534606762515419865634236610181506149311429677152354273273928620902314803825074642280277128920121163449171819621226806830814444190782884696823778062854603918693150547299487297693845897539577027986517559388442045738050184976574097684238127945692316935137132339261222083822180841891167741017624014060002128337799398527409033352295411396910197708130852670845549276917026650173455042393219948352572006311829418317315461961270909520924629794187307786007991491426501768984079900060558017136414056275808416823135432036809796441288727719039508136753492914545645904303532259878684164296408737932717048369100584273789567124806908428731632569552015261468019434924352318091753642402257480294644146379279862604673657864708768201581489366184423660794814528453541541643394439913551459171994214736553772952043091559706829439383849510300171189245678916337020271440848160419784805170575933498170307624943471938073577447314244827726072567469990648405168923077575035241900939299429223064312120130818251593476763479671770860579971234464418582933486497297611593636993956193286956794617938781947256795290336372182632066289569245431043163246733018582908755212875701346804756723616953977391478718047526585507336681035274114550681471217205624496145311744100669433925598170391998770893866279521341889905621999799272487135740140343684310956166036538385530246563551749952334040185372751090024139889931121360384974219951542459363922811440820767199661582288982892031842164752112085191242680089225965497136347718866771148916422899643252626090068101903878162844178278696257529543974812454826889640543317945622707130988623286600306596055111347473183622244716108287756891460851083522768440531489101287092615774523597386531518187723234673275815719455836063646644984093218944858246364050969198887713358212969467293545762770129935202340307985663547093482071251215422116507922966663173572483943910379863272841354327445418400557979258568247118190605904544321041732185886149255136586518427372509962790393925004471840718111334163060525560657062396137691750569033161744984920505703336710538729451296071874919678348469454789955208706226441853859086045448551268993921753752242722730250392273412339609933101710758971999844323930588712928027086847707026491368291764482477550767861302317988966128967121514161508268086397805242485358611004739943580374141983195755742576748987837517858259418732981795846846068994570028263893549333278773375857979354733996967375821117934209671226527632991695495601117020258697892686169192124240093666591131109314722377714933924020938689208733418812309471210051592206853616914349460665386717865317288530625201151416347819937122717090319827559059491048197843658175210847103408146014400422614473222932336319784160697274590224103297873623446958876680056495377204501328139501536540154413057835876288101906493789254859926316542281970371079841977229100720624025706326245674742989689274380087173177146432483651554368412771009958228972336931864339661308964810975343822484549266329881118145815182707498335112837475660676570256852700083202339010316275757298981640266118741875348881733051564454902991123364252674217549026297985403281409397137662313216483291554711642865114538350275851142044513780438782039542680594914332828780694062755408775966594788193489492462898747358588899885375610785706089516733599943586228391449776656751166780309409736122642397788145426265740606158595076941300684713316511422229062116534491641032829749322736133033907225525871599617511052227794728244013077865599190379073481615035667709224433497039599904353774365160514505392482948474700050393154650571462692015688257208690184110501968128867530166341839648091591870828930200169015711179800037767656843592221347290269091279510825644176139469037548864838826436845886969082304693595843660325469463764995243442573658766667159087253375500557871624527451083864968144152356165794109249196364511080167251830855493901105627493202714102052162660568146592463835213781204978897959580250449391983460236432636737486340059386081663095563813474600972658439521601186352169473739206209791317094153711387917086461884401411744419138262216658968812713852261896849619642236551903646655491192137341243122232621519685455330377321987417309381899506758617911015309011709659835856078250172544149908185958695062759360427098393210266292632621441672928904844181242563049422635952733042884106335655237372162472404745388642996476843863998400008136538921516097078586211537262511364405041813219872710377199530786498602677890369234225504610989088826474487882717277486405201275332862411980882652155587167438227613805776958501997531452170314052201946973620138507632989277182254073561994493418216022165301880687014207874565630876164414673877099709664732573180489532093263019969309635697672620203028194055864426657174825032829707447698006241541039958801255860742673762117091552503837314540918559295435509929344989260628132438187235421454863779656181138031862231854766421691558179525192140845221307722327292090373657248451089781509997118040853938083941439023262536724686106697424892938958832784096208287279807419276524122238140374926928581250977293061733407501893997292002143344847641742317491009371288437434922631280290632198921856156142008212650137235970597749807217440183316802459379743457598112692133766581651521930517596978307968303281231216312150205983036411699974063499698766628587091414261395716436825690623512204360185911079151699448330562699680981765180180135712763817636159634041622805212695933259504578983048679227928217896342981397384165507684998908209475805437994906178374529008280278386336977976935956752914614469852905953714897488596410033407799547964586587480435416349981711964753843590255698124373209203346808214997921032731912754709351506643364786661741768067145827710914739290390210293154410379028797745999064843459710037980583141616520801075797281474445881474543958882435437752914420723319801843788282553620627620629399831462795400912017622884878622393059892878130808857406306814402109447895574023304394007959249527156654757595846598635830475050298009000109079380425447573632514945565652219063815502650487009959724911886270146626393134635892995093341716438290598175922719796700346659061631793908758639684685033763622579652258928457780635242994986504625071759015846149597010262682346614344470104984329955136009534536317983258639321029186400382635062608715445252761523742413096327630287455021210411544540023127542964674730413825430322236240503285438057626108888802326022051821412833497000912455436451303326980659271684062141778541483825356902684532425119088599496488970814271408005353414294672775446901561819569343997780230573122153433624954259798810409736605047833543233133388844070784418031412838774335498876343411576242522313282221714400840670481515123637280388296599820333624185855370642522664610415373322088975825462084677417620559276664964826804513433910766713705983576782134930450721676217004622718171233010364488513694529883464888874433611455585594529252641890022408192401768099388747966207360670605130854161460546865273909352587530893491712648203065130800173953301089540014314792476770436138810570484183714679392279742197099639075174209657602354678470162932279792569175272913618693634488918953165791737340441370898315773547768793964431368179844978226025041521514507157179130537979312648914267129135128793154707410587478955457417025586304127652758401668095684864268470667379171393569912219131845217589797315685883936585137284001692045074748877351994829576326327686084037459338052180091488804901481814759704793565567481425089678783610280592641323833210495748676978601269058421010197203425156681146861653889716196580689814974138227526947938572262990813246784337128051921326744426025440258723036854898518192592521670258900818902970876592883655545940907966234892265197527025191304082528501518545067210765956320653773091401909038288824449072554294371908315848065528672811852060782206650198330652462324918515175844883395253862044352562028755802226559895530625465070852638719475306780626593199971903452113772811234673684995846590911974519707079175828933873798581264505840429843186248013448101406234178591262568306499485780710265113245315890476978545259822463317931230256922347739981823307797168692380522049762906096250832405879147751431641733445432361631421770242248067110800195252413754604736876737414584304957547316994086261732536717499231977033801099160173492159658836420193299865573126099294973739478622177329694820793301037684747759482713377755389706937885260553053543774476905499719211221379764552510410266153185394183231353206188441909276928037392564796513071056730058290845006709545926993947523443884693112349891535742038138609894958513360841315970020558767863892944089111110201974942446815652960305126970287795829689146773867064726639865611161830531556016706898205494360810003040843052345639516755833379522391226679361863385826774803263568167435249386306397897373689059773669724021213655365740812950722636927595235852378612250987578992774808447820208262110957189333934573641606584823801285943958626457033979670083012390309358095766367247190573588019074696255156378461134640317641052550119065292726895836932254522746098775932017054568675288661428040646418483251613114936516329190277280669697950510760055845446755832691209503751095698117320594635426087026225676541357817768074462782702297113309961364170830509203508604603558185438944978714008077566746346970880140210775907560523565312075293384801184756816323036729448577674130378615810621499172578428752101704513058277429011653768546829660607051224374279939249804265780858470235854991716172247715963824635789625069232044191766923665666446182871068442518190466292983255497948199781816221234457447422335109590900213847023941526144722752764964357769884773112026679088141610699828671105989931109044505304003534240758856789064259315426865999881596944182584483979550758394999921872671711826722027223240636770576119164422417520319332580702719158797630977176186314675951748734885795114021953297018708378050324412930693067977007889574980629905420693429333030556891274469221001877562652675310654363563109731727617954553427951474025682274911724815079830092343705309051377293400188163336108247573662286216269795553284393707349211762217663829044124838898842573347590796347892128668188246742678855707832376247959058246741469563891907444763019500778199070166957999758503321683736516496839467228588638212360307440852786393502040900639099258306098677231982439832005275448599166764198026374059351683295308302248849640419405196603263811840441062524151901297716319297604918494436412523982978761707598016378294412980508959446576469943072957601059441496617264171903851604982127024644898005984279989530251036289612436028205210667821703780486733552225297443895262883228684114380108742356852072181258115725263548661368972115329592816081698077048052124432986855655914210630648461081511174822463895737184970329536701586569845215557647954983595062808400041141603897023737480639597860812044433658058265347403734919350903720575582617363834377689277815995121109154380417570570964249893869515709184636119997690727535835188351936353534524557426808505096770648034812164353577881359109605521868835616638547961133893518376860423466815201905056572865207210857342414227296796624406637571567713671456875301336639087396465158370127380067774729534930175290546069482019255213802837968791419570211741788612132994233021451197110707411893054001803217089807020810100389378772141541412161006321921202727591381206195280832078516420181971030965804593317487413669723683229177749020714470051644919574517859792970842106107082102842479556216441810911174387087312604405800993688898865113827279271531395347955039939542385788660973477370438690672292992886939892724527711856710293727613606128844851708564248740673549459044341564812790348672254432945788438958000849427759128392727600776414379970396546994075031840468739504781105011761254174309086723060491885090012459259900988377681722176106658439730245501082092439994366099296827485991470521075026897044609419546220592393634679095540380786511959745520013699917800589107030062011664616159327055607225220655097266853554028105227586317387213401749243645160493029852450657894625898794262524056062987195829996747707903238317199089006732819038844986311843968651149839099892246676861884334936280126909417220165475814896454174549505082842309259279527545165953182735917426598687960110005718597632430722621194037492680995227211043390639804719838759450748020322901297275795793722762079382562326769516148058536814050320881274528447803472678528156363396940681689286338788679506238773802398998539768466425970563537507827491123799909622024396980402644547821670786195195016937679849815481430062219281092087484604761990791570631806307023474522075008597925701696514995028172547739679796990300288517551803771262442805188425240045956285993296252271344158003324187639852706266883269271210959242727355939158508034899758669447371078025719091190223703673025707444365040689650071609411663281796751952728352275564656445686344859015323843511222553266958719791662324478702312685768090309327810731440187283156701953590174550419012061712045705367703671092268024784292211705948244966168353692423489858027783504609130318922751460397243743949392097709026671870180122666387093371335248202026203936429915019305740407977668968957538252734453149499410757003034207468774000248926624217233102924135383345937984932745101747540012621733317982814602917506195568746968975465268619261606358820698967631116658675835506504147999390561364578598496623679554039258842655167215920663249549946555634323070103569235500485354471366114468154916390737201897932671672176471055375590657144998351677009317344241242181819334885900525042355173770940067720616959225231260645843100601609341177762221248528199464949610853654147738648894539783556754149770585978455755027833288922142247058448033138654963692027861613402735671743624028657434436364456632204144555058266705922844764438855828414121136204490154259554143002750383992461002730463186441281891956640168456566198539774851855109035340066737504084798442464845954313428169509615005755370449959059392334947086948166224794783803708375889649091387811731017178483908570469452691736218526517411332363554613139874090473971634801638812523967859359485258398429650482111843234317063923483972040674511675329775309880485657819118168470295731866244814335926039428147124803374536190298924217068751567596612477826302088813246531478599625072626384786595738373550185757086192812729013840797919162564884500517207278743219579886703529298205104820048889210229471517013360836064540302751169574378242883121967271245418942746854238068751409394386517180553130399453372254895576928020473534865985440606509784920771126272621685020061828078863576312461802175104961802110615740806750744673075951740583520316731295212356645061064148601359140445622599778030255147276945922503579653857587597745015791608431473372581368164272246244802767435851155460248265355073910320832938729989648568076267388231368196473871961213514673821691918695307761800324976744826328403312519875350706952959185771663832091689801478676074566196930452527158431381240105794389472705783172070847109805194314834051291982574053273442499948592012728032517200412264708162737193930977335203477982629356662115214626532968001225162039320946604227876782960829655298569173258638285454402467355943836286733074645468001067607863445813754786457610815273866508160424653300703847098725391144568905098076332377404353539177696131286124594556313471180546750472273425037202896230073782881648974107317686872258230139134456502570090096973168415121717953254970159381388212689433648550561155854607781416004551773895516074088536361540284721804873127116536892621208824325806497564427097937466231023033133458257028131684719737588885214468859932138395722644416805788995323120738529637702568151143773075970863783472611358644009956498861598669346240617043330148775172891514038224589679455373537540208843762776686389299192806830273989104097146122215581475682988191883618344731360007023036714437408644318192721836272138902002721950608950002539147070305099092613142349280805081523260385989624248812304203595363363111783075346029352117958763651576420183465179270671069250811373284552935618647482786201930545435587845171931688838941700244538964210037441079124512190173706608920628756731236649018363681100819289600518596311229630628658187094299568104094776026171576730803342854388971930702040382266302695770269908210529571948575215486407432898609572804979343376860911958741291064444787671204859583655910989520106157566436424712508310173293387460690470171940093777097068289888844300230086755533223701547618052832360859725559326494122264447586216313427860141551100732049182012338941831816450136806260955344758746193175958728680667846432611962147637241164810995025015358424960142266786810502949274706940872800232341507057280890486141290391818137665291281120448330905227096983355461619222196569191922314333273640132222587185264582569704450722979875062147787190901107459387319799287371355774958841416072029971257373940873425561884685498133551884813523430988715703534740719138827152216654701709083246459413204950141011892593032473750411481132102611918429732465227611219963038652456856165106144127732912740779611658577853439504523715594971593730981752196724380839789641693207123799717622320784661390361119278121097562091654492410504430993406146679751723347673423208657493888610346547253501498555300887771514424967602474294254043390971401476478846606294001512589898551686797399577563092248462064822599951754906148421240800507236982532481631336619626563352477609274698893009282500083000105739701652083907729268901062364327592494319788458985582243608486606190366801365128593487783484880303939263302836464810246432561634856580849569282933948731591364005765450363436653133813711596271327207404790328075764633423736925477599619350498910833805744143560538521037236842162722152146362783605341497903680005611130409381093687040397512455645203746694266749133777370728113480881398545187218768654077352062630823361729963873227621709715003707539233958871420050783973993816491524429179253728091906346304491924767457844853777282139331363662253108742033553872844166097955650701089962052466915199486668679164737562817527700657088603118224935248089646963682274309504515283877427434624165528749564872151950773974467067577232652972429302871312021628559155623616675511920201906102716590801023386910579838698470948937804794363171763983743191994349865956520205543976555563810673051580681783546037214988336487899488484723404084199738688445759839171189233465708762036159940570038084389249104462847146464512536566810164142200859447378427382471396420355819306416307890167510063451067409294351710053615484044759452285220112292011251008454758676600030871899041232604220566212174499449568561777676711003367095685404650477467103015452427680818719869984704291647392840799485062077324929610959223585216259671917993660588104727187145155937787523217045181214609399454695055300699644334253307571871701090061320492857636405967637725540034920943955529541893567053893145240891905584751853736068076045740397655554993302691651228273048612106165038379206006231616437222196430793273518987535648633829979661152359489734651592546053862851105863776795141317615500352825096166970524191034209394311301845282263622491759571780416684768508466708291534412292308827027902190611123923030074103313768201019550642083410774363169148792731323548355300803822168257354590933570625200300529217682567023696195937549526630104378007894857182152912684282906308856587814064375478198795647482609351910858587991162514265767182536980911910963843214504948160392415333216290964707824791413913996683696469394001510207564483340583317004700310843732613854661538531332542415271461516387063690895771726475067075821629743885609067462673906622555304263496900405275641333980509146671828811161421448080327622274366670543818030052978177113378237516246250807599967042561546656710045445077136831773607308587592537820563779578928877010822618194926428484500785084388985103312158508868182651393429641741459736030813633166446178394310115140959940401721297350048553442436371550541904621975516139475953546842463376943687165582190538208426193493743864824634194152949479599937077314910442580474973406782027533208831714676151611436668508039417934741293546041386912037204661245089614333882647157080713587795707841604682686118268931440574395551149590728125602029595560297453143510646541877140594890933292687012861300392945740865261653321404979830797285183245087507379893342793684904043935732391998767371717067510034715049032990635018069334266198967231193734292533678240659965839151050493511444535126792239281649263787641920566201884690265173330776399092905453680371154734104194978517246905459664337822489510136458266752176336021508492991074846239326473771991924074720885462978628705784054129022262943132466475027507764239089054566478617033705700855440302464675241243008843974488856257778085272739561482656399125561113263061028365435764777611116504896152848039088900719092701429613530321226594092252794958946754650046448340483819893777455689080919761391114074385259293593923346616426298364940611609801492735421260479383572854259073817985473153656268497013027024736816506019806474473365038955559234893351449546209119445232166028932026834996617882707167487279233807716191990171756716989926525182579202668788681934620770289800901088994285753083029628607661043782514992525774810786557137112271500326497944837787453196865839153602301803338843059497001092263941786979293821555798855703528210819824042979027069671953368795367374926116354488818481924303276844227403378413880529985271484687216272290969017820646816702830145117109146124806365474541358074644377018838326935838966054242194848162854597221141089952262830113739674205065836812922094401514609142807945919634351389178896441084481511480577128435990075256962249017719327753256923459705216353794929641942850824802300907256191296779779527255520690598029092072553321660203533480059795553498898233753239811781906134949643127234018340174774160582588887533736353114382934412634713752598979723038428955990413508106000493267988037935348467380073435691830966771902459968528964041894749491969695443564032865742514244637423684544431410337535185409624930046200861550761700464959301797850593018363287286598440021103012438002260654767619292860508344962697869800674738662914516530477806900821775085637859026410908012136513578000005598400589383827348799126388172167382678796583162615660116862984013430058234390412215587360570680920917355087452555077198638736190275291157638901398345732237099281800439765043419680115765474493885466353828005839744140554063856950384370750948169317029326049416429251369116661153800464199217660873985475672316638352697240706929737221773521648430045796618979290362637105326284570681526167445142171145860875969826893226766952103650925048505332478494689653936801249989484389580332093510233042641835008560043333476431023073836854187647736042784549716592980447106463301207094282486704209232695651642427420752391587095630092578472441992606775444328575221088233990069917616812160515695027157718411401401843250266306815129737782438925207874579590402307536136455721646847499859521400672641494664138736973819205483437984449984982696424487830302576158229891776641981698034434314419748994683529525461903222844692183393876552152993472980545671319566084449665374347586383289346510442006455765913112401275542249775479658454718604802933288528441024358832690590102230008981949847922383782146540373732278144160321202673702610809671489806292573386270067578347571980167103998687510081798141167172433255525666501282283644879592053590769846097316755497244949072202509718172210942340806441800344696036273207346028408938781046501326860612508082161076845934643967040858557163519738928637575280826715040592862582322978403746313963428916911390398559790655942126402071749183533586151631772425757022811849911304435715067426527603691361407803244156997431677373328298513218921111558678368207792413961195719846059944266954753620124203670891177205181846266437286198802169327786784082821940097347913005162981381161993497019503631105209401260824429868816553122614872719686112863561161850041004984635291971221354134904166371529336347421190829523448709959435565964922423766661727608057003722393929832550967782034401043165714803085330584310806173256971294972805397943262572275650536431056298434849693959156397134059152553302933622228651739559372513413967920073787529543972704741491977003452601508814375035590221760467026523251889592431790977722647524465352986810580972197559855765701745451093781303399258953549158734098225700613879915487739466769846942407614956174202559616587497865607817390325402304262346786057498379125675393410247730725889193133705081617653409217284022120230186696476683516073716935698144698262850815319094856864956783262907235366216005933970157351047941749166054394909194561235095326465482012090613260870411148265805874792731635749476764106613490863799396819293060555754803294879367417437658228851705178777023364697550963049398375221721926361465469079130770209659924551153004713657299272703723465131164493327448322417850046501533478907874318113497359339990423805638826378364855840190158072498856938360807098744533114450223719091941885266749910854201535857129208924564311789209832271049324847716622880915334127461686762685091183599377566411830760510443648336906421577023925277537936017367209624833366461325787030882093565331426422451393097903054560416549874321453650811194221507689101598321283981355159082779464245405334249613360142501909174830599395918543270617936512359385118658625372019718411540933877869912402040024290616953064246892289793179005533406695381634185078252500468905423402806403917398735706893141425467480344019139015245451323938896041317064132926067938473095364031543222027539090957042058647830225990878137900920673667528808623779842790326245474902602967164336516600248339306373006317593860098520702117893005832417864822042774069706317964335667600923068231962709285944942060341553471814263796968630904462226324938229136755516682701123336353775937566800664603102957319843720533512473415083945897854356950191141673307574316966212158388091463478535189518372085013067601212275032143946604363429090394055466403706912481096122244328458736098463882746262365248189456423448023966850090679891153055771076444957598290156768777993095885566112126303028735519403930238831759003996113557662313939365623745144689321093369238982137291227885049337122181000959499077779040001262859661206881381572641646754017974592361641549368952012996445132620193080801004269818818348859715052031314130252120766162250106580189354313843174603643570822970769380999187219014366495158382709701094077144412124041322370606124624010937954443142914270640309132005616450838262871632941055534785461910238005735521872197944847640094961060539035585201481901024783404797640855612382755105519415759595815804815532454986199963806852658345329542926508346212595493306970405048253928898525672657003719320132722406138493792381217597883214234332813226138048801890048548847461436281301916304162684885994408426180961143971912980610468595171223536515509707563435442931046581506055188700129238957630509026483496435021279231821971580843082259703381957866447153914383349933697265886668389309458975113790099670069764476586603136522527866429904403584504889205196963836389312272624649081659634158256660999117778783733492760966420278374852474872748204485772014407723188911461888613824736634447477150771719702454311461346754091490872094167247527555933733599712775407508575853412462263329028043112099072607587695419127672540301069516286545116186819854747912980730473997482493353997861632335879710332106079002243911137000329182235585904775978580701961091882031132785486330127583535251515477178553376022428967264342950107842909491540165597989280249358272033934193635502302360142630441231686390597286634287418661192539648207321489148549317078165642929193124791096681985337675893544469500876918262272162249557542491420253313626464900052219464058927935824079651081558798527793491328932687162891883121399506759037158970930733622925611545169362083744158653252062382411788091025604659533507589476252313929656277908456302838291773917253846545648876148507255535836468527313286850743160157840388566810045613177726986242691377209620393240562957622666510412165526592274469047265190780877736803310720415664656990559970396027342416694269415243983513603086893617605162861032202619579226275935588218237120879070593375648287184105545278324078546828313770417211947712520975410405307408898730036039653956384390769534722103356639440776043035123356095910414180115365715473362217016473053055321049174901566197545961036902688571616467553536991357833013267913864888933848093966342394666735828834863223844886491006284980386169264782306732783649649894295918474705924841263151087673811066840823941645155519048289349196642837364696565453182671894748633853289683232516038034781706438494887579765213537656632661944797630533656552354736302801788835997812683471874137841235465290652550218136396123424554366218356048958749520681451664605149262510506945196157681920398731282191352658478297099545074218284036990184049552057233893446460185129319234138329436526762674269870726070856437571309375096926721567636538219206892822457714840051808293997205624216015210454493900728858869863717045482070243073509625232499949498665797865702868041066827416529248636476307701856135579510313413697969594298481278815601322038881828378373311123715474105976173853247371602672506224036864737393147801588374564385731522549567155521360683001089724270402209994224910316459579134521129934476824315195844177927421991285857420870031936002712086420614035909167949062585091504024095539274066918955811970773443996919503703422677372495423311052024997653304813998002043002524055427047314691156848200071518452046461872284123539517356272318492964331413149185895880369857727614171929587261921835279905286655460172893706912800525157847863510671294551253474745693330910720712681261051560309461876429080085961842535010960159043621549463246634220053434155604705596135369133236117086528080075746432238693624083303448670264437759471893799929111113269258658804375383448714590177909098359764345431887889419296172031348482359787436475541769729028142340543021467478919762791734441216675028648854695974967368830005343348422452889814272921239242796345144076118712672359257820547317273882594367421577207593016283167704704857766237811619396393150361086796031054813835064609449802558519946081322953817495264395416940651996871911313476943444910158309705581928817279579942144083534718364281276136838927190666280840201219808344308075489220173241919026598373650962617171621722293214180681637975534021880183149156134699896820430490893670594331154590524026391033683580624312600782496716339215092065197656712264389597474499733634804352729700136652170006845847307687090426214235916589900335947000016787779220315372957369113629853703338949833230999224810342483137421784949570767367524188619507301705495086213381269873520378080056529566406156703821911458386868678637773640599141764300497819592384714017790018587370769799145909422810850816453150788984548147508556926145718593482642241549212324472544964789102533660557948395256481254360172696500733771952390871549044570129122841293580116499590281776631786974742021646625122746475298909981271244084505550765890427740826581863824210154848563069219100853609261155187005180533911328210316314876791603455977854973848358266978900755838345450164360877363511665557999045647740750185327485600380877407308230155692268861028613198062217094366331936703009311998809137224658131512012597718939347885091894428360923729417624482808680837495869246257758815622731836815243918555365167263851410690652946990471266175340779424778291079391507114212982410629496570930759905047110448172901226415338575236891245019885225640504515203426623962628959649333277729895843958190855904157707990880814063176848095101196461243635670529876350133017877757883320781609033189229984490482058161935830451496447187386940903974944890060105245728881926105088952121057883690105267918025554105277309759888775318702241370240929355416898458665206820931007973032738406741774266365207456033320590753064699501487269111639397512885016528648028404939053080797007540888416755565441690351473872322838020320235145112875641684307383875609596369014370103022838181049305629706390194076482948633729706671290217387620317908554282935848918615284181889892723506554004543057342572434029536004410204144092758295205383485096619280341933389436600273562377432510666383387613164802670316136174753443884589540522467724800987296571654966476692932512856905054934399611481518040003724575780633837097620666361362543483093592611878136326740255226841480285012031151008067478339849295423085693583748709860079554615782226109739719111118802610095232209851563058298102134365772975495093042415860028284285843031590315601173235001584665879245191130470152397093507672298628539109776835786755020269537485067376531026312888562128901441044196166206329627437406220091550194572266993192248787546885282716344759839007682052123111295696474661036096406696586393086728178616103215746519022437946563001256480551526666340781455631583004183897635196467564611629938936080998555062851965999623972859151309457029264827982279869146787110587165381906804549332949097353551483092786581219715600655229989791502688004645311385918110037199727279652281408377946595473627211862304793904987057235852405219521786300057107618802077718622233395677580894507491599875174949715294019652426609810246059681253327572305854213053581143847582879676815199383195646266149421809703632714354311194821415107817572055196615455099032566908688654048045068381838900152948945383557128109244072897833213233368158852429155977329043934012913501249300363411069675631486517815934836839588353458629987778521799239417925056208372900353007396760758965714527921525471557083521940382270130724067598669144061686486749272616261821172015944546472244774042483654008507890334613458028521193455806774080952221219821380450963439453269027771791208465191434056017456954674141247747868920874080876800367728742192961546576813212476618370107806136493036860138796757525884387393109381500153253866895025129236373041620816530370006294868907091428097118748454853436805338845191162212481522585267838463085357568947153208383227608030745717762698325617226093259693330987723483275443298674740933927088232024303420429522078325348891111998137430599475386840482588145041529877915201654574427596054005638752065901015285202042046737977120757413674268698123963093860420269732600001155617820507815517300477810068622370756086665060157866258147235347029235160897624802180573705139811486087224675583271811590209220830563630071080535782252586709626977012069218672364873952633632623057152834512743810050831877396107899633188303114223736383256916610767294875440564038057789122817210659708496506563121942535319893613503784200725551238920659360378941972320494427193651679625267687461969657368039073129493615670671656755875207448654278800152317486317535592262426224321556370392596158862368706839875295100578314395439745003550868416384126928891941911077828470688007157167311494884407021316078363217777094434987885401164578508205293752316275082935703273102017627360902118003861128800224051194407550545528245767665536954651163782924359584332186501673208401068016698732143714032350160923391451572272011729878260381910952408518951338019529770989850019690043621740742896162376105707717336751369771036278822642448330032199500206060080868760562902524025181012478216135838898091385628483851832188223182632139857227576370004338894339820995369003538047595798151423286467429585265490375184602304355916010987969756868545128356903800301620281370793935851695955749191918676186548577851368617238543724199931090146642668493150562841516988234146830786753512568140627806358959240819251560500799012521386945418965719965875886488780068415460589080986125756984001031505277044081832362990058549336418168886189056292632734883262038566675999980358077822116067671898227627212538570514133674974340949089660393974704410959561422028519871662396308228306484273543961979432850072759013420203780462793468164619075145797861490923334895544451597831682947254509449741860062879204983205418152346262998502585666218298763685097675919513661296381727998283291945252008443459328475891897267817909141423075234302850265888432523097854781010060602389869160416683867832944081030866592195894992510469558248930897136624299044858687536062043952734581905464520669552995976300578695792227571113936087951964922964325543949478207907302753831903916736434920179745227731677085607306864701531198961065240668035948072633884138126424610018711003686567815677096528902041658026830920747792828523637856620206308981898936629149006780935961423271163375610583120592205363563788205346849552491483863739318060545975476241645436232442741243370431433253637184628762154925074600483600015052272740377267526226422061799683419929413878931326786005688362165575085878081741684412808726159801741990951847172799820967073741237912858167294612085229222313284547137681854400598826335120482804059382639115738964013481216581890420438686490653452329726290683532445769734781245856922674102662651847783346600725090625772533825295989271229276157096896002919502825236569033365863618756806597323457765847697246687298710630790626809332775050510841101907282009803903573116562011013847834586789180463819951637892480058066355993697915119005197276433456820994805654018133987287109209329022010336501331363218525338825701541532682412813464220434342863870002442892963343465470368200816524492532943815486647735909404476026788639909778409111857774232971987229503632612184471789171367950436019138192160583472063290726287183964573726443609291266201962036537490514605733991507867162771995065764543495073670228034012100024968957549153421562928557499671258097498506007207316098521322974166232394686557760601539746006589519754388200252944921414185494276739755729883908117261182882332347835333353188701169370511907298847080526109897435187043014493005453488065295364922316450360914773649538093346912437869264926450380802888307725724384598079656091031358400961965866349295681658067861156148384401466622472542461116456327241134293737368323158076743061375868631374688275626114746296761212812207578190454526612359433506941440884115038300900075600708284151834397891876732181942878741617484775988291721462926045812261400226867989162479978665530055591495626248354583384793114943755598472189608475645883385362709718460858246200545985501274187587184554763575004478131880369360767281582567503699142159364054373091603400324674843115876530266040057210603275454883976500632344733002052293917709659532120234255309545830167849007985746725601373333408111889675989018480119701810606855587964339768725854383192472485954300601578164785750002234181089498713485753717621307243799454560570017877603277134454208101468564504215928839717423839689565840120169142126236715560237856991470529255972810888410588494910121490999049412201605367801766962661897890961992240767984322846631430829786411525791040881688365598337032010476794989860157628978462682828259266313653996922753615273294018678160617953167771376513770373250099909585451214038205126412881331972559376782023041766488670378344971394645800146484583212921704048621407383328240190742828044353191639704096795525959925873072529907864031810786808445974818889934328842288754718581176246075120040612412177364106036566544315726868903547169145885983196802684841237023226269098410264560938060065327687374954048843307359546661237773061531559457350869511896863522118331623137658842484730512318699259544637266598392497197572884285888281826111073335071455920650347620330244883246956719151859373378779278594358234453025495958473925277735327925965206682800394271154797246281531721540580979202629199778969915244577143520789259124326753620873199676244320047770515113648546470949388169439349008290521216759054347246413887966558571928412804720730661577613036203461863688226419574737692347948207994939587900936019519226514926135601427816113289049443965497514429829577492524097641936543611623382218155239782774799445634173651943437318215326421443999880578411390958648327874038987476285362909203087284614402158744347860422248935377489825309940970970140531942164596626640222646294574524670387006439578451587223029375141223575248376218285709886781642471220076383449200663476925977435884118364309812129799702042534738209933211199606113818695361464415672940070890187796674522332124016471527143797964753121943228467221240202948235934933351252774400575786313512362834549231616342375861286558510286354712236280685568628153596565366580770503610336252693826805914504227610231697819462180955520353572488788052894840585387400063705699167086436326487895662960263733326570018513683282656930432548615663007111222032024788259165263396344411518129652683160293613303873141532633446020573011047959253645545634904324889226606665121073585922172498774274819148504452272593594012282796699522747711435536213477932971942906971231814113791290569599612142343028792748731429968435492068448497733627871874463941886465202754109931339943702450336199837524357227379175318543743139454433798992866258565761778890287019849417784469392840778936351757322317824687325898627288286653204213721197597308561256379280928655817089603081925714136886559273279882177714755547447176930091599326810458644375665971850740726954775392576549052026807080340369050311859560326147621179545538716230676761193807164395580028001570688780806837253382465657799166633812250824488712709961551835780902475682781294602798448749719291403350579660671616294980053654437660843441778347250827304806822282391676123734080067367782897585806641059217311565563837668260503879911933909944451617197210499882212607273070841100073743998890455820873137885090874708283983576279456357314480053170191082626772783902125232562518716927701337195351909585796904328355638508857021485007889962833688232820232352446009600931718362464935130341519327617478659253249209319694000948088534641657606758796538082905378411714592949001234681960711401859261565063994725310786955698488681800708910509478871108423146532900551975274424697077205652076938989791228536825506923659315919365189436044855184953966379704166609000270151412980515817415613761432734083407348548746095556776115797057588181387016741975750631621315984253297798505571088844469468976142635027372814436580619686154077124875234744185040366593803844556037246136019542675875343594222713380131731425083326768587654688144416539488395436461072031343010386804763853718516466429092751541896521638683623341521972741132414928501357662263688170646409290196023829600279860249588455832560382677871742597583734354364254554555615455897817758613666793287775365657073051515067931242331897884369125868885684359436225674022924996768026340171090049144840498564012954346805923278486253746015863829236757040538944847869687788188103974562728637574870376612608655486741818636537107314699616179514668137257737084176995412902708777833547990764960167381423936671284301934600857335319931849433783000679403013787073843837747895546496187956608440275651340460812398434288701810860080640339114884531393080147352390717060929456584223114075493909538446459202284211129699422725769598800368803087906306638583909506129254206699488528815923652934224495902690165967901867576083278101703339857764159768453580952540322197763138921626294403075436084789755080178493704710607315470750191672014554666914812883185395708788190027321824774116534916689000077818460902142460711503154621634500095969055813778301810931235740033889739513778609007696666224214905992892071003128881774979427487426345408197826031033223844990423980494564405598493386096285825839137418784360871005011807008533214031475091722880918209941299089939281109085169249862872429475918773959601421055420564547582459151174551266639703988256145054731712536493810087071519239626993766728497465847859092565808197102314786696051852920910919486875609686992231975352369691837732287797200218709385734500447250015020268829758153492376175668005804763421164910126395846756512283457255023894371003063233706728835383148752852965534924131383555122600089491952056700516256970619423618472985810647060437318847792843452357532448784137993829022393697439485706702389265952253813888697503316038626179002022099627310407364687160939292178938217578753363646285904547648811436395937626467023751824998918323385195464825816919415922872870961634011745654089283531335445644943927889115890553081857044258474334545902091283785488294882615318533376797151688018240514065568419229214291615530382357958333457427639685290006329144787889024927427320220974592298715728811663840718858630080575751332417089932535388868769504765300726348045217643341291744499976883376073693608328247471668962345102150064970156866808068855018693085056169268393943777555362605532813039906864747846045109451771773696094001293067690003235120827818351753572199141840290592163840218032163779778515222798118254006456128058720984370187979683789475531141375941408743824482897674876541465766925168672971347961456965034002592652136060762060371503739335455441878349502384717903103867300049753185989503822433058870438293866879212962329861609050476283986863044596784107996214134551706692228232999209245470650303275464244030967100776663497742100138161551139600606120465629289626232599811850377339732953351167567435288379722746859918191618502304089049009981944025147091508497678894710699775418677790819321957679717127907986646031206978351868145371145889540507098552909425008973656396034038263996697223831967835632932672033109065865923536458130172034788415680487323299263944161197050393290132946260148205153710069838392731898994436145636731535901587730282969809766172478537616777522135444650154587399783186243716702795388986316763612936241745548791615362798069902800674342917744116000358701814590335810165922301767242304608767616983697000339180578548581668356724291853972211760791144182525755389585541661816324337663025885197842786308424776906335816830987836450345911415110145529714697617329159137566013454868278623260369398328528881741920859330198104794895943999228530955469426489564699006563264182756479912631240214259614739304938158094156420976526095404106880180639159407822810097324630234593734649351462721254606539421057341582643713048615591527766880655723181246139101395493753301052783401711782253666614106776872907089753349003510612212109475485054949961887270843948218342551939675078867496110550720968665138110701758707451582928583932781039769633207802897140251687144709985878362987306414438841753353456845251736086082531703869074143526920878016154051723358496890664264801463540520708303289005546666561658336440374446153709244850056927599602324141823231812811448816480815637027800066635440619960255765440493839769242220714637032590400108319809323304712527528117730237781585321463911857564917275330061771219573482826675986010339261256201330245205725889928471311280551835534995854056912178812325059504509062037460418456620636524333310910928580437811116901973704950358550523795805924035002274856212617727838748206712827127167442366311744341126716119524720317139114423160190586022462054234467078864120268362516154827199507616111093095572587637947215245828737089560691930344154465138335428777590303044262755207672007634814835917027500414729029523184804844292705166428771271810325802056314883815480971693030803647844656647960644561110363533071267695778419944897760280858206463524525163277074225888484562467652576675866194123067418922585777503965007658392051959038353311852789936867645151284487953265743694306312451568959438688759412450470330691592341354991912210368997201020508815746473454895975770652806646732135253800105200261309585454948867494622963240123801843734257187227485983321159270471760470229692697380849003185368307844249377273184972665558735253140379313229103376052626809903251415741170678620046921690269583500966008555877440557197147354979675331777066661744711758331314704009173087167855523326616868429318098263324061516730854364864367504855721552500829498353149388612563215598869016650786597187783935593160368852681119312374873436572811705466184040906438916463785528502999798903693672038630944381554129855854691670044107714380218903855141780759528800216664138177609767141860964702963787169712633894706107367672113388039664524499973772970465345200933939861779741595844640664355966773421716595802511755080727594850189224914032938960562724778128237363485476608664114156973875691486318323395169373882086664699216422050342083850220742297100202585831463084368892424808210393758777206167114173664966648129850752888275447189010770914341672055545009720016746813026380036205737942369350851299823039742568211309131850164121955137451069945631401097747505817523128123814675665879391280684411426288668101105738952943705695857434820045196921995552569968615334984458642522157481069388938094460918614311432850499952660095954515485184590450764816183398329330725686325288494784822561219705697657795428345837528767648776901267635377784899492013105863518643348887883905573608103185771039763191103275733229969712979937654091921405342044114138482477239495345261664251785640817556281075279745571115862880454470152260995580204603751819128382659983705982329563628100334022520538513641209509939985106239339771860176058687140149761091268002733002498793385867800225501806351556948098130518058454265209998474370844191241148981630941912429504926321230123877867855806122292200028479787304331955230455657982214339918983174073143133078201306459636934040823531416792255269329672392903786058076253794891185208941352155877950764814212652120865596442749990879187026188819843961343661595971529262409535510144211407830810826800503881482012634783996514069064714209503720038882035246686058928940303968173818769815821282869193010127449106874297567167859747411197083486803819042413454352441949554242832716172461506525747723156255702418126016513035951833231742362837775346157160216478382153533435105913127346083975560997797104924756993633743788098002451110352286826659087034407323995174759388298281229980089506519015918547149589707714023808234358875778594006281143831485857747697622578016568454459610682865664184516206300675773104651357052369582033976519177194054719436969442242720712647028689831458264984889194754787622940357328870994470498712025970769565441148637647261072007161396917608009458748677194533376108713863524001816215291542912342831332083872451671990627747150824468661648054599040730443269001195364149438610928832481410118898859723707529453080384053441428945249803334295642540241333090629147849033257060574913383747467977448406243803735648281152678275420136702090312200939114022616456192780175156903269992468003203025201445486227251120622651446027455820465256667923667637459303968177014519694296295374112962236578710503673486511496614091150966804146436000843533859860839624904166924068018835361188551445314578932902110144189170513406090658287371043382894268217713351793642271232546167854692967953251731009185724422945653415919723333166822753619292692974361261248264687735433141466714096577945264868210017896565842607038367259228468608733505938606292227004156618327639316554056375788112898356807835527735164790158099834412228964666523872099927163501387626602119507750995718440859330127419173240270406714627808583738165007535806196894613797627270280976954003433751517392817622004491087328398567934374040763347484935788045161587123650389278560705402964406529458620613517955886380532774839793328961669517438990596225026881716903057634409592933462614888882823625861781202251882988756561984038767312341601238647681071543891686902984068471742718533785587467662595137466938298520104294592972579461853315479292381513867233827129429540323905734285313821508547445517967589724303203578764111785213503299001397532764865143641619656056065217728767140613296697038142992908107910097050580242709582200734899292821784523130376347330831413050041962955932441058580633504965460993882870595264924125832780738826609233534673794162904161850437347351641769024509049472258322021203013497022095985050335073861074681305494499656973255808031098125858417474761979858664374667440577076910318778037650278511168889917681594218732027712745415849500657080256007554973207679897305125366373062819150666169641143083698990962224322983528061431635480228504768657144832543390278416617903089808648730262362726611263405420051385738512414146841056403054535439638479014654655468847908991657082271916356496944521355655037664412563960953577431636853455871733873440924697358441780777822770679403448455695566781173166814776707026948057773227559819873787065408277339542900189677894064985242444864770815098559584285588480955408178350564283149910286477804161716248996011959159328638105203124834003675419591072656302505547590731465484996772550879833437268321763191878150744691153360593728094792561759671494917301660139120078885612533922952911830937649173056391704117249219881142585276667623004194835913865807817555662328725921740326267254681624680796304757770521315525906209013648769305600038891332074649797928823887689680667270318509359137408966029881659237991792199964366416176659522031824824067094869508809022897874144527825046489401740105716009563499305595301223996732596708461972268498896805139671048486247820841764327944495720640022417415815115057540171336905821859636313622293654141612370693329809137466439943793128824744159831818683029565478458498488767627307975601789409806359007060822675909231497940330165713972370459109865651550907040156096339915860475486069427706670821715805225866396712461716731540071808997613581106051679499104441002824994922119775245948031249567325532780270507736706628852930586101274982800555373045993072589992751298506879361549617443991617861600944485426365503170135560732218756373129016829264403933317194212295758830864228415538631370415673451660484458085553839806333991836069812557609748376470438268865808172905886734370011082445665863505125407898090764934188711352901693677786177027937668703947135963007438827849611618538673730165696827695466155069531530675816985763629130683835847975764867391134939606451569405349121887905764640039606845047645464204989332433544107436979019004203118098993028583378931934776506309537010986344315204862379024642968572965355427771739551638326531779803595845257268918448858688333818922078949870301248128854140558323616979229313508231140261402839755682706751815295805233045606137497187473294801643651422479281115549274027577060366264057351835799299795264627565566920684836969250524426120452180395275371872889778801824834284554617170886691521209378265981364276685492162883555558165893806673363585214308434988172151132753045123106597750065558967966099095486719346888491621244864788936760367958119771259015833389639482452856169129181653874912702056063036404004080275177079691410694060765775634358492097649747818599924558166109527045550708272426481089476250479574753118326805395286776654450449425787305833092391153992699182699935408597604750033501872619733386811686882747139484055779760244770031507693603248530747443101236690433139588678652988300361464802452229811477672654610815199901132265873014752008413681324142665970962628443639113805662739534419230996249814955286294674730021961409358531924953621551068802369529905248049818913004769518310629842454028038249259882325279831541928981755852789316099030101079806245033987575183486974428851520407639252978928677569171189530946249385506855272731168777431612392791771272927439657391493962389321653070811009327127154451372605815669410614812709384784533265264356943492922764549984559075917127558781657140646862286422249447001175313144423949247468298186756517848266617503517519289501128531600285596571128825028207385372686967458670615334214250817665879969364568488525891333330721911894216632460294509300549263483924902737414975673064317322833997574077437306402120064424172078721080778603310282751691247710163701141049151647032929698380002346521306033171263788492860006420297493747404732402203010591727236023498909383375032667620799408025787276992473553447179704211995384219870173450797802885977310676152818071209915891010223049928480119897973371111598317066608442581086430763243001896545765105116937273073063449817007667264613172314474969563648650952878360818561384233605999761559584587420814928477901899226860775834728424186139004201848630603395006213079471400962235920058458891343718380559485976581680652251991663888710228844778024132949430035641651626970182745914772340810594628049646192707590047241642938013649052840645857904316610303655896549853002311284981361363434401926547127173047639137818014099407201556323591026858758411314551125974981912213157958950072915321908765723707888047470673796850331746562473577114087727267624855462439457952551813911392143171191480804562391071377041715345376149971476470100702311223603867554775906042869860267464415845999312931033053745756160633855824165945232388983096261781008734427339152904788437085603476411321347567991818308413720757844793474263351216111850601730600307325592855702710281636756447865776726151596478818975111811613438241439513346038838139722096698267229281316932256072948844291968800467381777282283280106345968269379849078244701328945436107833164355084346206783078727532075823137329774759838418955240245153689862480194151251067059698263213973415865332843670528905221492457217690765375578489540755306454933477824720541591338830756023053688448509510108784778716874336137965886803939312585764250775555705932957297098290433000184952355387979974371072251598399612592355952034926427696847178752651568536540216651815455609081212409194441210944176794324084240676599160647900299900463957168765482215702208205724932290023087113773912593786904774763895798677005200505916941435204598638522714881831911315754039785631526245672941129650472799179759933860161948529638039640577159194821975167076523543343450213095223405367837772428809534413717164323908789175596478784760909492883189745687461260526928904665874491370112772627316931260745669551420088535643382915240495411006703778093030036773480631716093861644008036175059440110646792569716854473344540871465543835354812680623236725368467830186356774502763372418899060207799031019175351634120783115403309157365118613753163856670265692082107689070494704289890941953070005675512830221081476963940164653991752731714144747093076190920466386619904690475692108209862225227612401658723684835293617022019602334150736458992854489602568214923409973902161183980582659228499123617973283872948812699413329348604533998115389668438387850945696381604679927003019293046377393801169329401731706985243350784195369946000065304484396183414996474952354412664768203825913528796252202478705255987794512386069815388371055849245886639226063336208784470309464312145793408102641278391358541866565623901885685672489165170840510285695493021147803083874805905184593250704330798632751071495787542037739664513721449547890893613478460397441403291376375880898783247481972517299250079255741314946681101759223701946284017342508813765082849284106957888448399238572933648620237379614720361977285428368743950701858249311616719566983204917030396858397207002535762937381705813386908381199335713677534527272800224136731186414236991750379392065410354613962804376371613564505977006871411718487376749030685005549047496809857791685816879762606893957550809749704530155854100180496907004791368820473744841295019840093945146152528007695207766934179201222884476671209494596794939021359421983872130656384171653917431290901116871867815604034731530093426078053446134765257279396575026759634156572581869593250725487033474343336007091915387699802651093089780407847941095091455835387445809301592148471251511678756379472432038078312291619655182092092209648982011885378994733387999043638901805454972546795223464652507403074430384485391133103362725945396888641694332712627946904711845983469024320928385874644656838829883671217818156849736525245105432824132474337389875550468194601488863018158667643582668388503393612833925869224069840964817430783935860785032870517306763716168821685605479761464992123737720508965688628122288588020895529283599275857558634895980216078281829186532236811915636815950344182870335298052481050017175390630917936626856370575957042908183268241819180222485586062147922791279587847487793214787232387026742214561184651225414849981296625251356843125353446068555531965984320026567179691358816318348892083532447219330068027725070013245268974965148737991620899816904832956538872290179387533376950654062699633797260055109614290246761430247588392456245109603076730369803281412172729600389536232769884335538825818204748581641479242344800401670724298030522272340827638403980605831161905671720037853853150456786781507710943895918676030523973628867276636024242850469531006222243555126844341555583176276031652369360585774879948835014417394203360088325492759079582935547371146315922718064583440239227034762913196672410962479590139312564230178036636234211658513604807962156068145139402724734807429978894528332743331626800033041865322834364033255460552606885664444659565561325214222326042346895886567667719882773073116833225790678513181952268724218509635545940798735530567647283610055096741568379851421286015505579544354189271187523303836023886262790303713561455178849662473382350574659133531344488348262482742145423624439775423954045226578118764529917825519204180562513518447904756730990484344308629989883327130946882808498305543121065789190423289137717991019955340402582926764575532142358392584008612517638038928128933230670337401212493440019505263353089791811536611152948030786409701309191953702520630876783247859653282648630839287631392016635721777715410978464190786108961040242887163643686692078475193775390730445408733854686270185755764508693411079269656687819862647728481427605949015999977805636880998752684640411578281710167743262433260530862420810751362854375557711364231382394118826177428852066963929764726502981729984478389704196415210197421701073365950614261702129693932336751256992318386166681949745631062825698396300760518315965420577723868006244615643220845712808310794714503999184210314984287208915719486532473050953425178305605448500153210553792365543400904264160268766846958836946499228205910544477681785445173353716524407575056113154742846418967633788662085060786732532133488040679427302134248843432375611752855707899171990483752431110552164245534374701690584258353299602547030767180212771035652245310038325380594305084200875724995724134226715617867168297948137018098978559360970987574214790362031507740379056859934798124501698733940063190086755817049066578459981994312118267423233212179117272669954637435774825690701315195245261304766900009118135707778825718653005342877263002125041316872478479753332254952749674776729084395402599925806228983578783232167746643831938572240832611958069474166646682554813041992872907321295113807092926545539658104273927897213142121185311021882030031640520572148280227965372399933929217958359909919611107639420240274638927311324197582694868246744681588282607561430438689036688587507122291414753382240033588822549599329766040895785708155681790014671142939241179427046474770902515315349875762307198260847683118597747000825121516351317680474345260828830492376669793918708007947341741012506763415851222491427604880495426867948179455306945813493650301075699016146211314292672810577568025880167860297931357738390133258303185285962947053772657540260177364098106906088676123640598213168501054503986005258104431547279986904568963371625554829211650797190650738418457752241663313083669514301881858609928631930575716731575715119010931171284332649130999229036438840010525446925109408860663041051060807267444959177052810567122711850026676107048613006986210183963501751048282605017211141202790341561871913865655183985820407611731515400156561354687186102074349545843251426165927191457362952964729402585942100797978777342542478081368395168759036343506822211133338579085201362250963664236011367910504069853068302311115494252695975705316184584280951055373297384082943068193198651190041673886279560012236773631635632670446589998644358804461503550730988002927863198218192710696361894930341748232804107542909862590571575844293652488976892839519883640167772085070501003531122633187203181620896263490871691490214844679453973187111920622695720358327847069566708334217248511447608770793375172783843207245408697934695172327034748880662746018470059444793403711260828656341301406975909718325640234572166549460398668550200037670413299463756224493824117910871343703266987515753106532275243394938031022693172576037015330395482947992964185165335997102637769601416968766536777492422091389315302312687523094930482311355731275073187538722811929370261580074306154129682388799029640529464918683598836051285047423744642643580639565535683444567629739307476723474917555755956362257035745272632688460001202445384063523615060026191329367280645995354144948093456494794953485530863618886690967023603913003044642367358962002014665650511125529318553688694592337890705054895996001495910748331801788415115358343296719118028011072924239633514295991607525953792205538231961500981515143782827389693894248420106900731174474873040960704789401701270913412847073565040106268581135773275760825142517516125430162740933866443124454415043705438444674870296459141281488981505130944332179608729728509143873611289256806860023509290923424382788504999622709777508259864353650857235014643931570204950761446739271003703891139934950237520379025428893771165944783304452447109812070869124911788302329234774658271232458452606087184044396142175856553336786484240584012475769931846590788072434059947386650944506979449497733881872630464044678356076703660753445686913216032321406878832290380387144697901545726861042612523028418825339788563957499445117278129168226947509809380225300190746165503379541850144950067249763758027422792702365456151065350122731055171674467231038381642598519322535332809773181945952558646157314728825822881803477840530809099951012320754494584986632628072558039337528922122000559561734236904026351595745198579280886805303770469810630374048550155684988762348948927922223776641710639689597108044826525623395164674070199399061839002523307338385192866824596519084448400397460695609203270996751895928625748085514286210009858233113952456242592545602872773078591856490698722895344865056057014768133492966599295663896744128941553601654514280467122281938070588661740302897921882060853100159044346670872663469115990467061845285097988392992330426540311311961521070476857180160624666527240193767890406095458988854476916367054956580494796949045513692984042446698160761090325046540657861911397477497430360703265559878111682992575685644976380796953610987841854622588775927179627007850722132377749457418642438676230521815909765429681714437948224359430877787764351336213883471612673483599758258264097645351764056381325558484872640683249832514255266857187141514802996807763916141918802886144278052400426540427356062863491720139937247159399702798373874630784788258396990691666011042002356955251742036190895959055292965475575544137492780706030491258429624578962048465939761851465592159246703816537997346042154271964080319363663171341078426055747276173381791537849645707225640662829308978020117392634255836635022351663004060666365267040001728038176522255142391197325035410558330070794392381131044516183049367915223878538933870889150078306582819609376235717415903753956011780943323116156085292116638265150494537896230138756204857527870545978858137518979110017985795740928791146007400094454101016916796803540417404446530248923624124861043439377407831565759393110050762968930760633821597554886864977694421364156438833313755227118574359774372377849643381078912318607099413213468411953172236302652683402028979479754957001389563890253401560537703503180265287529218182086408899506218940161765898992662092344136476986970375368786286143371889515691590571549584423876415156529712339008705705975843685493200465666957628358889271772993293463034396172046302006146728493288791318003753441542516572297726797598588938914759612308705854157434565238751289474549011623165350701914887625469307965677442019645087628024913256643371134637874066926815818796845076176899651285096785289266375994144072453151290623762383069946200676972688524334510040288194272488143610321677139310050255753608904391352377811558746455049266711448617651711574542317668479649577332113021160120805865801637275669912220709699062099259139896374419598541603188990825780576190518204097744662957671983099728418371976426450295605503235303935020098859218594578974511049520179071510897786754425279855254955199324353194579445184486824594352331471490937115820941965698682221211690888039067666804148616944733791775962108011502727216350306276422423588322391719297968124960816024283000113276605565393339962744776351538622921959400045967695476894623139896085536635337068481076043476273451284569838622353910727726903065544244479146674430711016124661982354628300282749906747862383338864624351989274689907642803373031948642645658015507006562935036462301266116723474591781175852190958288906404809055677314462288721422854761169676545054417266304552604399081162725174711053958896923609094852775162898761687594528181755173697262907801158883332955290705695521876294817399733581529518800544460527530878997271091736890449600753313725702889651526670943894610031645105330856677944993357626870093638036375766290383426664316203201748630805315357711745874649972239766170782963709368717853320817798676339819706672276957621252633936352991473100138088338287751716984193130702799325352981255308315229806382470305868007150885734656872320740041183234775716038087832058300493902051426304700547406390010794312669515734730684397331506456168209431220963256377245392982728180359475421183899564767690381818568976147154290842262835563890480146171358834649396071695553336680335592848565834157320081580739681095359160245197100889589544112089425238119852575754809082271683716473374170871088419059343228876543581491637265075627718943572322279876380723277416128906171130942419443730584526151545386392652060689474327228649041614254308930825235165113550086247684271433385369638615186505819341405750479547513001742135739429944352168934067341760380495971233533506587243153345909043813844010147916044084738480152167356477725738638186598136140616698775647074009815063969545773106018840539561048752863715564676456238509207481789812979419506349403218324014657771026649608535656866833470118975061563111921832440940691595448534929252379485891936435523331571027908558562962058070185912253899031284135010565377070607729601817935874760456202737565866473905261406688279040071104349020160005078877746663637924349349022893448064039961307359109929024142685393949279199095483184271179204486184372201141674952065452619811413220378737063517777078783894204265036038401298606698006483883433978998161903152984935994179970091508331492119178875062313804000968341389102172008971159328887814603437893069468223215959066814598654543438361123818764181890993158646367453825053690889620595799331733711977686255478191924314482948944139793238290598848250474687860088047702766767707020438149344880541903011947657953172911844235554780831178891988508446376433575394526842789924432715042117686696159204279662009698094131046887270523160979140591640447082502493774967247775569869893494655181006602186592163135684018265075592497265832574904570916384835944389992323165590938431398410328734836438213471646504138364834110309636996437967343847122739278046527983182989593392877695218783458101507793119448819143767238038610305411567593570943386130599162853445870907227881289883609625253007502473562655772456013663077338728159476839963344468798988583707463031931582200699995602856549033777254562663276852080196137078366786367143244371369430755834293125678937298550252107433539409663439908340603503637953260062918321404727518194035837184208848019599615034698121727545549348473235031113417713037894241946753841789379729439095959629753429448129640518848760379284259513039124461903166781782744962964889967490703552944013002345391945755143557319830918657119041170938378862795703392839783862827122861076860777542499811464730087702289593787566383275464536620817482075758621192778003827458800170661868097958886378322825223709861718701901709890975550494111296813274360728204753734689960698551699557391519471520325696147563847988917164104222982189363773518924888730545402663497026849864474492597318165571460942060400296974005327005890674803629058900427831876389016075331821187315202979414479775177277996696681770711239325770910716594751124073743914067878357443389701535893672528267902482218970433280469153253478455476971679115248811004877158303870003586428902428183498090030380899252255132636931376736608864871320820678309103963894216663579769198517663975323660421801725976032764680809401172020234318778550689110830038637062611949559807488180611981520264868244220850173952709929003749060256234598157847509249416942070582989443164055679097125021130598900597300146843245024998568970624363617386562082889373055018897945625480432552519650510790906884058924265067644680834174359218958444884280535317947430161162295579220482737858992477555011597904694169106328846238336177627538702743351296977555976852774550914501645805555086229025956687508163179602240622504675322517648532934291822066450495261094544243483335791252312084438277978225890937622459489317097793182715695909119812768037122510437440995255771880409175383056485443186375930805162693193553738905985535278467855807260946056631802942810597050265805776182901538191405773346727165663339472984143434088012006390233085004655290614412110328844321443011315132007065359319699870447164623634232649262840517505522180814995929094518791421414732344326428500775588202236727200871597947885853552980795373624536983166989515290306696683306964136505699109442607063824938068696082595134478373324816006927229102785337272595222058294561258262821121991363561536445638919875439202690244160137541021446300443460284196114375090602355906886032275338408633353612657458802201787480407968374940050945554387772759323678708608684639569718154213837872516033549337199022045466292732080755908634350997042863334874707519551830090557332075996026768457984460332882482205508185498636254941747415248964521345047735397643743432745953563583300857019839886993348219348628203744368553386354600667583335239809380936793359401702498180893042189880306718589497075634234032634169859319402166416216295452826538151558510111899881168919650662104952934328757208950280901402346205292263937004422532262334549314723802908954934718600026366291608230295584599985790519973666206993271605195355909190260417565365453055673672151783437644626437332987754910007525164413926496162617298745988797181447159045800043546151052543651723602115940008129834086149932048031985103249738819028954228574007359026877103817775026307106842486625347824896001082844141063173028097796235400958828077869634640784756037078685650981946966327741666217726071550481248681957391854883636291972391120256150892519517839792408613219872994857655433808099296982864182093227809961764635893772786028392759131776074325009418197433732853117076503994732215748949474953440820134871294433862364387853618541181487703028375243891718699465602908288560313424062113912859717566248975465000565818181527751971638158115943730980888374569340158120222883848775259129157115911802034615621714299682760142225573779468455315905155564282228208810353794915246448196166776257501467710756829934066651675487779959994455497836927471611425378797138671823411040906029948859389616223133911775781732061523507625230902711063905906953043955995593022609317829536442077158005544764998104364681933792446954617272648795402666223330851329247253269841117266347539166720626804721349294772612223668745116678945237366834248363951188921643567612904235025166030157727153234863932201825685644658041304738772383516072250889744651657622420607475536116519890883615948127948104001179047322082929823983902993660378120237994404603993104231096651768099862166323018277547981261707637869912769994019194279246167902562406928414177836128974505748035093390866851893222356558508524390537226441154454263629318277078413235643024176601598647074598826459037021439263442689593505648953972850821936300245304885174039904546862850803417308648708683207163845956080338389123030520548290293203639721170463345130677114964658316572292239429129853469079798926148961390459837846798376214963638226521397609195757144155748087840633910316787697425166788319485963266298377726466491167192368893744399507503608380552647908213724029797149956884007179137362673505538369372835592522932522858707820242419754697651426014395903534249196000620665782441036651024526741464036709459974967708392016371375954319207369710696535802302479857490888048166367988447723444616455499305679168789325922349796291276112388948023267639814230887502976101741606574987523374868030784693013756973105101809214435176896394024153754476007088075079165375278822576447425024638983425593368541188889362245352894808959968178393659220954981343098893740891014823820812129667530838355238305303913628638001998531579419456829820784818329683346296119319534557768252929023243074071783544294814730415720522977949898177897012111357513894687764885998340611472317244440421334371284754361566595387459223748367664910548519053117838845727547276813897086223886770864880837681183601364753568955311304685084497116998401245823795152550962933454674812604097869526004666902256315994125006675419185126555129432998855951136818345917801214687107227487857529721552231410961199018104474261465863706049072869536172882628925170122263833511510024268451139675602070047761778762266910829859636041074208358252065908831789119806544202035759635359812408399417556338655650813076460413305947729089966401783280577374330083541042310158948768802555456502171048786089778289030979266044872375689678463031982454751590731324817388203413634113840474840582667029747543860861669150907634978150961026363873457506557787681531628166044613075787474204978994722324533363562853007819675331014969134343528490112763219366760516481463733042898565933278041208521016389098043348992674787645348152238547412119084142624979279982774896088894941049414853219486260410328156320271161892073474264954379334768251507208356369013903803349327064530730542805723584054868983889716497183953473133791003257282391771852201505616730650971393735468542693906453719703539436230780406251425169671558573562367536160840777550959048672292110928393307008823816093247513321064777467767201670302641683132986243622129999510670778581206848186557087507712623012158721911378452429221658797562508090419219622934222078265543528486305235273152983196993998765581080505683269089878747409568051786071959739069641899152530658356543098632288491131420303797914121271905704360349418723335049826038988229497267217648453282581973430737926029445258299747795020968815793464695338590627150945844044950245664174304493672967790810934795114710908961637278134886864747216065582755402892933831907929324468637323577557489225451716023661851309702110817943562562453569441536429307275566990108355795963895898175204341762581875253891753455898083332153963914459082247057383126254951161060380722663817718540229595626571633753102410297084271512678803385075290413230493629936110326469909983237971752172381021197487599566811065740887814685992691177806278399813049542786736545875524278992625214488444889151442590211530513924781769578931906784080901722197253075705623267763078345821600832639611847111555663844519942049276762095796365806748034013141595098998790904624867697659279165308049780362463296524118005254013423328275811060416373278490212631291341295941676793206874918272457383725540709290589910910262646759784208446883886952489689680882523946989904072656427331520168418538295369821755022925312803179814453679892634576060984366482998234472392330339249469465374481217240732054861394535680977243041709944039006143121707785130264886786562305996447457218192002168838877058323051873888014619091317664267819093813653065062172222865973599248712130124759802671952774302430865518185572773176158334146349624847010242317148732190293891568871250588955144363890861728546621428980875633492372931976664487492096674059237018101749217774464559881174316673864570267179278535952132821265801131181564834792587036414216758376488709792866957908418710265218335959789232964355295838257416838954844217591400214633973405446696702567490665304426126831965898684882617383432244477889576927776053945643810283962061741169180882920581400920367260482620933499736276400886295120130958176063862141249579305313876060428391010036517717663581483522213369802861568572505599067241246023431981199021075963509806563756251187463583592765752367868356605158541617752923238548390695677963608430124006332320167021774561780109685019900761486524238747121381704909763449820335659587997149265283040500108861315296729562528139404363851338812630522641936055870487237793707845958087470027375995497828618299531481987999447353357763523330595313056196341199705244926557017136501630437507147128285680095513884461952727462518380861080919261494321798550244061785203281329564767321430265654155722385807657559716367327723622287419807418256833972381214450975526380635780561809652190576774727350585808009974205243662938089536689093902414043522563822604943656746171872696258425288821632378026174422286441315063610507285554658111947830955256168246115931284906824972367835138147563352923889229464118120224747621788778429002756866681748099121537651166709798906839188299581277468962845469118211838856442028511265188591405261647034386708491939259338531542901137539071925273652193147390118001773666931822762150628878143151809792948528941936069793597047160452999004560305238756623803218343881638898429233448829745074641034476464100465429226995184311183318350485326996418580928833765043307978670016416527273651144064493537104056087394496551079347772173097097503385134705576846022357530541457369866647048846589796893174046777727503126970970834759059271361944947854729041031559725748160415953021929775914105170169429945638826046447401532484613256245318856655928544782950818141220255731671369417940468447844766102527760859763050834342653127625761796735580732040090387162975184411146879728366115628766201176171362583722921320457342748244648950233324381813117606947555728477309563023849053526340130226575745768534991358926012568768861298147401767418516021471027989711775578818837320639127537086702189954566498088104921475951544790838156825372868923633299775352777254196796831305413347496078885994427259950250403687271579251177905390096774209073960815204894799101230772047766354910544531843935375711602255868127643798756214903407910792597587028508695375935278702488831109707578135204450618520874619765996261503520215189265193015960555700343753525724961667157274574050305574093995048449535734111282264820751390873152139315819514630460165662060553871137138420380526963559663526343873740168032089118804916553909638390783090342772194097475551027279325913530724253635656650019345972825503476138256674924807018276844315733401754176030073740227524054627484433673222498112184495684941716557371243409584588711826766484743352434051035619979133020853082728939334486507271494633447871157778355562359784147058965498452070607050840219891934003655889457427010722296610138408111212210184379229883574184991890106029463014358438962948195412872997849706369405669625116545842131072598193007203650915527216180733127225438166249860167078561729229635373568127012127674909211254906611214335089028678670154211450309436346128308139098559587895048820535021610907077885934753240734644957926841527985106222588107670979785682445709879230655046081735664374786625336622959626925053629623753677979822376765197391417259524205392433306716763255356476016684228452180027384043855633880810407854464005467894453067555633662479743564593223499254861601006242385829180894835028384926598405652580523951563208566733173819676660108797942478116620826249074841011358255068509514910301470971329687365469964401105835621986122234195402565266644048577769058307348414258973689780300768359993112997245664258868873584148207047177891530340580676383118874314132219284397432117358840981921964733112089301412997617759572134694062485462392130179343771848549851529685094365011438083766063421257856507880351558825894761905387478193989479644556201865642106510042135627118248823033107113381319233772059450990626739160941072213408251953229082351783446722066625587230309514606544109593809271133142431696743122099506518122029143989171749613112132193154374516768716343866545657932830726364863905689222395749739959332685389299987808790816340111461038489998189879857794488003498582437429580854940553840648279115210961115110751406334673610878951307055690063180241128320123778698872285852748741135793497064535436077961922835354199264371168239103155129746682074090916270012451668594768197276119324417516430692554649830596996070625996303380750782737295812347563580557344567689713268147978212779919064099160468013746649174918110798906621200642295586696591269546040392530655746587385064786049954404036902553098570694940881490536802352834366921504803322930433298876820492576534154208990305632480956748231284519771565219809150219595476631461000801352697091387087834217797235612134428217952720094960967158773535156508527529496608538658707205979380467206567045948088312618188879563309021310189645814523106775038967477256009402983484000171391189355149731690001033633406638570931624420430646085979402613307192459566723117595141561115433671646732925206862852490605315785811371250139587998004825741539468118560260219518064559650307738758539950387657078008895662380623332182384580401387811144122361462116267456566655813744675136902665953962675139776999814395025558889038344060277983955807103874096097112454417790049956397189180559359495274854823514992984517226148012618693270930963563584836853943945003993351069349617798250313307158089011422348889702689352200695285989938157312201868639686875885217008807226641713768886050880268736767887603625633627381489046664550868340103460562455440025770154680777268704075880082658036448670471338996720891330534834959415331708106882762001760748703365668616774304489297488047916845016467388651488728732514250442727214560003716047753442871936778799550726575896417216592884052270065548650000650798453433235284830811756073563686270498916728675887085454095039072223455348252699715572345308567844840131995669555960143587033256744171613693369002312202746885096134156783725683477147573618590443724647668230218085941153330724960355321504467089916359854711743442004087302593260217638487964615163508939272726532497234640049488450725600001888773484024468199593229725501896760406897566298551898071497473335232967233754087577768154096534947543404532412164617812374595647818907895285231041314893585820839447289026515511319085753763477706064286511703307410495165184047827198277973102607305288852441350391928750716449854149265695904661248526868321777601152913380459642507465444988869428584976995513794927774426447512891893218526033246673088170973184666346316823578350395630941830423243551479381766613401656901323606335913977093570313105136571054393464614908061571383562527551969789774256536310226318070362369745859948817430142424991093691417276360917508511493921015857835284161598571796370180171813691273954998506850939555288533334286416330599495539716350402794408074132916556857679606702775665025844671352564194168106565683341973301609070196510433845699541608406096176973796035562320550359903318370827154015328837087912626214058528974123699983267250692694029194572431692594255016707247072272711462669506438298380560421522219077049724923245442272142152784088454588648154659693741104541759946720367960191805761057065680574084354744758850499352314909417675383281613603678594929443440076888943951789427123321594524071868320792277991036364083958308356743196203658716026554972087219080983692814247543166185189360092651623030535676691678412642959996527036002692477745172279831805934217923309070449395539411606914485203358971564487438662679252049327429712281708906467932023618230458001576405140775290759967399476398743562093182544141892569534202015183654741472931387385578125775486926482543775048005651855069218912609485068286979018183723087655347805620345758634258980056086062475350670497369675981001640776519370359505126716795790413757527795760272169681551434838959834539675787231144278735330759727987636824760186958344204854091475796267009381507815926840205609255371495151468330231132138936108612173953579009214720396801210587446571570823204580013052886346951836209781910899786265206613896888099893862823730573395530224603976846231113011201248733481959641529131682583186638351449035243115532359779941503924937572938934468935330155147680547785930323489660833915582829838899580658701100427371200299237944711996604578297255497573732353675047039806126945084939885760737706417158282697688509352380300290398071082847995778617984015594776725300264149900747852481450947435354231083375079355681481009798117738099407064179686667714708334062743749522927618438120564294367204461220608893065623948381082163906804673174268538358673534620226307722792277262940775201932866658584275195858100246226397823804373820418750358534997570220118486137743935340783220727795516530582913242925332920918291284426258239585853005894436419784414509022528908327198460885377947573760870926721101342991672799786382270756455641761130558539281482283408358281951686619922418383872478337863291738822561612779726358443391724082829243439023296384296505096647977468696467669754814943682586711757172465248378620025649826358973035219473119830352719230477979030431585314722165144711168598724220846975534854666277718559095030098325327357691054187165288745334535268923649607761887491079082013842426469741060115125321782392921723492169456567387506120156418929497593782690100120208923543863923339525378191703918823248824196834221406908193805145744513555361189232769820744624588449437806139721661983122804669114118817061215430350064753767568803023161099581142905694225892265949550432747715916046465273939738591414822805252269960971591866318340757528165040701187514066476835542423295705566371616427669951712180568644406967227013239012620055891814424191863933770992918564810175662133524260446548452287463376602025845286867576535721059284534273297833539515861592769892803140530384172233966555388436650488668547421458625842393603992452465884741504433213216747259637134706120449812402488196780955646908176821478591172562412170310543731970476327283332979627301807141321713500113484622453910499539177837502095477461161644586946936303139111281488326969393056549458304230898795609657479633191849010656626636495529025721073642550955428190304279418640646836001138375236393847072727278333073392434358833146054977237821663596330475978414737784033733389952520077837633656488520689182257972509936094046643733948842861902771625747123918174070532740815281967573928831442438473480440905965518457329573210444828115565289529047528591444641054775717801597954046214469153482271098867665938542269072002387356069584124945103901839504088738170028785051750241974403080312220287176171725830876446837937396347405378256678633375531003356334498215210541521955442582265729332796962656039832304545253391775842985887089565238080302117416319885312706045399590925342666175260193432625572874126387964359914686107064055498851068219483388360885020284565394193509319727681943309385029533227344841073837620664291461449071757863124519073224507789519015720879546271566706950102688106257217410774077743078944757872746019239725896737736937200131448679617796793220457262896345347170954612352510437039486305370677907871731663610139641423178354931776165556347287929822243310608991494195595348309033193122968397230241966313322551875115718417459843899550552084423743633695956209551432353733978236914192303707060118334889662885779174214246751252974670217723366800150594236263206215094226563236235486202259390699135417702485560902385801523095976502800303537879170337004854122894580655352082323734535353650882933186989046706755571802134851588691136580619667114162535727967792945192296458640434524910935070840196313602281027622197966088428350883252125737468131323959572805235194461063237530560267620590737661164551800297816944189833467094256532409898807116888469983496408291237166212353062270811036142029099208082195376080708003200058599792109307388235997127365856624674718097503668364387746772215705361432288897739020246883895401860672668290175362916060831032601205290993569060935055518431568801770635429895264460745525705872996139297786857129710380264615356341821664715058698488316392907800771417452050914429565093558995976539371944047787545757412150859245742756289703239819553163129111500455402340868699544178194507580787200494352605676496003593959323647400641808727737667079820390359437884671431848489961876187272849464529944903193039378743474270825653175742906213678350987611623862873928239988051189666058372354158892970749925254830111686915716279404385659160867814613029353716449763613628463144773715254807092392600292362713028253117912571148774168361455393075482488799563327021643280820133933161653771559827864930006722086873491692845659155137052397112602519667767195959690662271344091971764331729449619676942821299174689789528867792585910593921701729148354873454898347130031001112507501948693846723698803806161982770926087875717547486651988815937846251857887910711908602276136344012293999763469604309330760329571790214878891377255850598100127145094813377412187783975324475408798427130035577290449366128748349392163313210799375403951969422327583144414666279621274821122191585359552460358890617440956246329801728040113295691143353889520093682318770995826369510574683815455078137706421343706036301528407442757747897572359273019103598606450747605892288890668447964823978336273038965247387501736102082692955401857687558579999166892180919386765815751571495844073818364957453545182888090293635442670494602968862810850705636727337012686803632104505418700483514923637385750188717403195122185449594609001930762868582653197722408126975740813885008286688588651965448968003888669600414013447223952426420546749307435643022676429152040072065552880608242185189976527478588157889483816336941967800714711107218683844503768966662849852848261474099018647234187947110479864386979896611992749226973744188900345482664272263756233158234288629436933336093968730379556812547568340203338094593585598291394101028137005609749193746021068917588648178800957606334418845285623778662205878776392716302945141691731494227456282966514721053790428467194204585630724880458181621550473802324438619053045237791143815124174690862264985508236672407715023294070197184699464597379698204102947205301759917028116680243586276843027551063227744573926853589817292508339457752465908159778376354372741466978272599934031640513988782516235266473935622390463355370040777497082767178387061606805186084188563296260504467721768960545450808465566895609249380694058979091198073123458493355194369918875888978323908490115726284796266006387784678117489145808575556216936676052808795856069433961193849453916053933673265898878719740821923540498937410749442993183453350053216624348181027177251553891888377631265062310119537423349591102617732878690685821506027439206516878004889004489972619507385537972615942415604992994698260170909956216789288207403780916172821496744135398227762228650473909284432180449405861792792041252086558528035867623232046810654988312087487351364926714506479025491974257447030882161652050815657489895728452027522975721003286418969934622467684841627516797933370580945770470735263383850359418360042380286820681253303779574134635939294081800683559437971669664348237446005217672705650193498455703676815978873608891010772639062143266000139475696337902884186090562326705788344509808483441571057061477507202340896453163587621389643080400439463771352453455904809543623674845548211659712534272063615951950774040925847097146410870583698698743840551697726385660542140078403216015634208931824467762006550662215868264309009943271110386607397366159764939604655781822093125638670070425708565362554385006918727105644111467559849650367425375018126168568860287598169500333512776177548599030374417153418955754451149550649176800532269353701653282928010393649143113482369597734361531082465580802283705523305084436023010201231961272053945225913222512647219262063856488229841779231135137167057254327224075510603640257869081401606823981577631085484609332716700975839691675969282024933357981090896871304377090611199365339131079174325682381425474283996871494903025749990257659691474672148752692220991535593027931678312599700620013823483091427239304115731643099280857010695214468982260740314117981728260151500773241946288230067120492204929823581001884279372544278636031014421943008898658664893192238069723771370104206707851490635958776802697447426788981336268719894664359915523384062151794914480308614615129575757559826799217530300552210613301862006329014062413345617551888422568145488024440335058741346131601757947676192933746135862427344878674895228089501909661216417038788060660539053476087418398681262587488351153200236271018397142888657710599265431019933660083747378263118132492285925825293914781213550508677723574570672322286232699840889078326290661979980834803658390176157356234803873170975012099929199592373233099526695061751920561267621877594722110558381669758301695492160325914164150040539200753128390856385340552755449411219839016066569596822134010038120729431899594300482034280800447250670448997780444793417799596813776092387818485785972006403045655407409427996050392218113032166511234284670906069699479556739793133346430986482004480011060652541673596160309480298715754227289420066030960232869129272683277641360406546901381452148913763619849031796361082943375220433051578852534366276179809155938804940953195251535909962994486530151784795244916042924280415477595528282947567891612861848782181033662522945348796470723857886343998044764845164246821996670578060669654248497975199273557239468752240033433919553497855590185775662639247842500529498164098134939632981570705102498130180395999212435177242235070292564218688671756346986155343638199698487245405637179667021639293813005419054427075793690123921009419999117815665989625587895934477699551097663087769778447429378100328120477914056037756733553492065330935348516086485413209995965162951816077256396153828357727401694736394108038681460698478706734972778436031947646212199905434753428616720254637337774720065480142408473248918869889295633707754211540119707189578243184526520983236749147281755662140250789558727931198230818723103713746554506108441126042830333766461618580449354929774231657779576964343745528264375113389776385689082566846118343493627146251770808130611495608705942435239772138810469750492019162976617206669609480658444409569699196200890637976307308311166181550580823384683666806807447605959394518212762656141398901136131017668112060379337883904199780629483007343172623694240803645430254072517342349618298178269989485599401288175957316882394887176600580080935785329457617805326046587155302374457055726080927541884035392060754685181351897511226802913578993056467306700480385933144692065593622763784286803539733908093658710441229572306911033419153252395006142230354872825070152236205741545083678433062314029164765058839606129529928471458566685586993801791203099247449533450672584759665953048212076419775340560775323359323074629512573869014025834681323696384694650573521802584711807009735363696070052547523324220791746659459892840497960685509039007167550369836946726479421207045308367785072053119282652135953133699017804029211432623679733844192936441065642123290631188027679058029292403641614939866291424474872193139197009955665673549007136628607758102958984366114867207748153353826719959756819189847998904819650895557885483455581850656062619717650794765727802040086324790825346514264837299392126569694314420066242518086706131874550088366365749046929059325632400406822099646773917930285833223085752876921100136075274648314016017859863861728052916143024741328083881313725486384855484056080601504800759958067660834863923172439188480557011474215363899350591960683802658803377864754405563979737369957933691441361693452780341472962632404799281036583866076030860369784635890135074958052586236297371253458420946646000890376172453106451903394890207474579555177576898137736858518808120176726987962596817656265334865824760394765038159568549935290354269069479640124545191424102268782903688122169904195181312035445700618913501445175200326218331009052265591851263215375602592476349298922918751736297313196440749254492337075863707669901779278484247859984449264714273286217071163051580481097913037906680011408454428625189168001315860187787375404165820980377838285109947630658777800329519310199957395089207453499682516171535858980761015773522679991443929633076130536406020223377917915220596172306488773901891496726847940606272255512112957882737282661613373409792217680861123453917124785728241909386119609846005826955264588272204452882977170941409922436350081843077810469882350315217378298196797459761655347835094536602833793951748948378942609656704089997445925912360722121317449469249561664918945293399930395943777528610202660424213682913607218222643622990728856197887255640957357710314066680154198704264620724705938391305154727928213849376085009527471935199878207259605461000803572503098983777609861817026965418007949895148967110610351090159577314358094441527086901952958587663691407096948836227558563089367041032803459679681555590424292005951174526900086247316487534177188628233146548350775555626704109305807048825225997442390825155335279565233321217887854538812196356219857018235325465044808281016324569202339618482506932090067012945809195882026944314523994244978488990332215594275503418986582267309586528233004351116254843647534134464722563890263238965425162474027446392476908056891721772262375323082450882114256662019914320559271217031552825066338996870408499106178062700637075963884637220221892064092495418033908967011156580174614587771049599423523411865552654850340339924434849146569991968507689181489669058255693974458665252916280937126641721686122816844884616499020895702582867604014970756715044721672200746297347945230493323499434141648387706591585843733524602869705941162724468999539369718426692206368919661327023781360336957047351281096773240406690175350044849188567330460329268777069581079841962168883483237789506281151734377913784179847272953701676163043941289564324380359825064907164951180470457791896713507220923407957607573476669230170670143957621083239766439718799951221394989003635886006544210871512588544940323265410875067229168312522831097014914091398286534314191335102777446347754056636646085322938495088931091536516172686141878563634513335231249286243981310336522047092856032114346617113230097056803908058456666606289272056049192529772365470338665124573565146198836178236309016770311155642629234605074378906182763686312595999268847798736083199045501677108216603647600285020116159609025912196899331970953094939438345921854734963727370879735055638098510618810614959415931968161072349141212757197520599685973016068077636228280664236101259162702848668842750262749685558169898426112917033911190625411484275080615774696675070255794341628643764791593300918132905838937614635688279237764494860491610253322311339776558898885758379660896075390969224205567760579438845469840478002319607157203158007660798864824880121379066299487765185354935221903012976572073549660623779434127075549078102135296367178960053158575335414729972267296177709363991469359915833909880402553588663856998527371840111728407910905567184098694555853250993241017109624816674203220636461222970384287465625254638216841857512902593293016078827968171846659115174784522916163251030879404957098106302131024609685446051240521572716936567823333939964895370080434456752951352949412535548490688476413771030791177885587800833863820603835731861385941233892972915743032396109958934146990378704082919307221228280578747146957654834474333803820682503697359832312988795508400086562434187979762540663154225771839547765053280051755293830277173245353573507555531130880442317406178677860255127053068144761512728224649944900932089683447494942196958618129513884164618396789428607539020562256348369561471551086751996298674654822124114987093592615808906730662827399994729248042084811300126469090138591430905700564824451115310042363709474220890865051382488618980266297134820945813544057110645388139640689014879261502596850211269388214944636076369728066634576806539170255826728876239893980337808687410635461413819674431370145383930441086998215323878000107241333785320396457258739776960732758515245314290551409692431605703448294182313383208265789203331014858898735792737198057548082985278397246275398857229876552843397372870708827740048316026926027331672515202014087243982134942921054531877652209547788062127350155255359781738890148927568488769349830239388090910789511414587578901985858941600952695259795094193174158065912932835682653299669224520800211220161674809224037824340710249070568141095704238308750142321248977501215003584670455105724628219069117915431629768692426292025433128984544615408843435690977073983028650622362115474340782463155298332574316958987274030605306749416838652125183026569538718512425512758012086576942346016495329375156156632641958436617288484326382737696737752864977332319374313759727321341930153186340702021158729253817540944593125351553129569627711627228098065229984259465896601355438956897327368362582768795079643403888082607543925395599032450148523328189288383604891431582058376769347303291677769729572463634194412917614550176307877140048898156097887132659715752153007431881731763573819516153219470264122376633913248700879464568260487263829745673450524974738958152622229546117265398742633096825589646686408144082993145379248286343966992517813444564881088672787238172864390191101407697197972261016824521286672604644004746518112639324415732115691705620537975933108047518457743345534545700016540641011546724058942170967992966384713666455239145479625375501699343192984616661422369715689486537506045409818157963331757887265591171728681315034217645774696315981958700909275792585959653121621258799881319143019437200810805050671380545118345933916183157337951749072426771814378130759397880016954319652240804263697837162262047801823583833805755820220200443957165247135337175762347734882605410029459802308234925562811129459447953501274977770227491557387838727393129248337652653115188444918585198458343578434684747941502267455958293704235381996361356052557074403316789042552369900185733348845362358810115115238172641329985566537351751663592760527147021262115993445733043320005337504264475401289540576950375538296540496888604127980352300278610434581621862839847330590663234312259932056426056247987253474790686046831426029115680545183390073449791811641916346104030318923624944743574932687901212790719857825910231925502584605698973501134451034310259329663146797822632935146253016984128957393917305203489365715343424250947400217220697507692747905584282204277047113087571042560720043398843680363836331748790724848781035020035499668932577862753251599093604386465587362028763798038227767018641090903959209120261968556634689605927170441476666701575112579470211482000830372735338753384451480510727870136991549041498724985910156365821925223758502245691907939107717965027380018463459715275835616652769090971989236370439771575457095929805919547369193437420366752417981026772829134119970935356247005909701386207634234603614715865603104106701192597575763142132791829725088075290248412754263441484796613889627540097409128527217630199828657809016392476255680258536555383927449158909802745871115480240986943387152297699954093378105243028018229706497317342406541111163100690343921887456377681384298716551457567608744354552341642510550981643472120639957250815325412468871099816730745579013193333944411757006545359601905312785142470661994463048294237433433169671781924295427854047515636562183158096433880663528567441010882347855852564849621358648402798973688745686171260677087875831593904176452462107563966596470499542856233370894322317956525867013462799969199307914854438583553049121810735809354655408184056950827414770451903855473373584281957959996694049495663590457197238493506780114210280523345046007031989356452285832025789453563384795930054145621337941704885556539750321859066911556791707189863050373240702057795780841077489973321081758506710805060134489480111942553584284368806430318911579001116180099085445964551286934217689714144974189249669799201337160265020650237407884650288853773837052859181445252603893667877754417337610148671414783728399063418231894297082401900211871937927595859769348882531215203385200105890487955311842602270586683994144506437712768942650771629827248261182003408518636657515882095073775968385179714103392323433080510118731253133263599657840636583554396717729132502841700902184215655521941213245672135337481106846142442674008644251857340633393260851619731089549088019137903793481087402966721682919623290081713274037743303068559260276223535331700645535002608791845757058107082599312520750418177053876042262798736899288317530256707733987613382888063630671483435147840051561071117008685427428333270945777430019057990372000109572879658997768900375690525054301874123652541951403887785194975159291436858445249969142102790933060328231772357106598137446170807131728555376270723099305310428362991710964762850813821712005726998899804454131187799163337630210141010527993140532218104266278978399430861460132500773144048591107134070065917201984496788498828482729169771801431577973629209585782446558492038919388391539601362274515735785601001784003794633227596369471207899545916550608410596573725661072447305007592435336006907911976989827708401564817495909582667691647170663113641048491941081748729060121819127372072181893659906510808293180749290924221799302041459628511794006681093876489139725866259861394519159462062614164139209193651762886800780743737296318613667123869446522145039535803081879336240176878203015426225937903264070032002774653053765000131552915679692454264372624845537969620268953389384317533374687529019325445671245041729371943199250287408358402763391398527668271338660826072420841593407661843278027522481846641552153837767744268687381812600393035998505362005364639026716107797013200465771410304262845464601956797583386554967938815769017408043149866153164649651125509975703624612006525513163418230451669766780613356950017481417533046313602415690524898131364277201857287945721154555852971097123200500274368500345501243801053070957117094813807050473249128396718792629708428834659104451969459404160263827146594371630164032805877908491338589357297268104346621049246991954871409312837406348947104153217968565243365607619886733595058237991252121066673924072021797129315428215270667756668472143885903478039229661190923756531954630831361624332848183608271820023720539707482421745855565264988420287541323827411487461496766539768214184158508491377247629894088253667929843200782159853486652927386430856749235545088342789989134729078665049689959106006509789888440649283717674688705373430617458605780172292657030916760004219018283505429253138712016540068181387550498819418085692809016321008505119830184639596258545142999177721438373461134471148338378481894133106522137084699966161574031802555659232858851974159594073038111267377348238939073501496543126691621626789326458917615439031151586993253659828740883363593947657960001648512839277313516987306049608689737438580033640426560109766458488684039024832288260482323666510305608964857463594762114808936231325420994105207643900500729832849192281908267481810623675749075039782465528706214108293763821643379502111758655164494096945717325222377235431226398675534516663976985365552534258295769603660872764467879400319121515966350294204530682869129182373006383913889057321582882952769025456411485687604732840445168563357979116531519773802007138972040641758044990473759407268003661827389146262985147007456640590169573922464047190087261185048309751393353754131005609753746212928101739633665268376273354928596306142676829736025588447000251643116905407548861945499964537803093748880962520233097490399337094795620943547759162945859829332716062514122180074129626692650548360966195699515591656896963598028537504282644726945037515319260457705589314175350883341601792948659804053524772915480433823856220257491162276356968148715828673900941293769884418127950725100976717474546806319604628122545307203145299440262438385753182807994770688303394909951388859509809641185925211696743437428750247718303590068125754813526870694139129074415926375675161715932767794668437331571584259054066246216762700834452334909168343167689148844505380858989132222449987378250733578472971799661922325697850631082127570951378555296130533883123693421610329350030032386344432415311549227419491102613757360394181988387109170358295553763613324943979229077384210126029738799370176484707711826846947481489692597301308774853585608388592055760795020614110579358251968546302097912966377318338129427036945080390469798134550161412402807773321426575692759747857452164782559758765465688117376230503589427358693064833091377632257704897930526558430496512423942633744527885930928329691405821016013644347644185099527691404351788959847585290732186974935530766223064588823262616313227110397717976617503981568290843037820414200116453166630665027954876072313676032475008136295707816947486969314151038985279713109074077737599831798785923095148528580717152511015527118583185572873263696269458526342414189248687950016468902878254249666064364939086361415769860308165229720461175150241806917499071080801519108519964559229085940428499858147879122080743845823674960747270958871861280102894929435097314513771940933144691054964946162474830536254346857922227150241791364426666996121443026804338611648451067542777126183430060857008929368408619441613111114701517661086234986026977321869824748333748147096426003061599411282545755374042591130519455672645869660421591843733307638023499268583266242078640444630951061040972137049816223922819428540830654546012028681158704639684072075454168966786012345429969811274350899537367875907575734693669059916165526766052408592339157955108215439675739442001215932284051967047874542041598594089881622543996701508501233202714211312156120877793863875140291431700303396367358910750475695082303597327307223631339842253847455154228116485538488199229855470515341339433574763232688414526684425107216101682573301737983515546652809122384965467539308194259121819616922509232962471207266783033295087039097401126189676519169676209179855438727283749661263838074429709730608939125128328673966440666203507781283473794249076046550934713230102496490950804364168949779942685159643209973568982742274530698465911489982133636037692852179348625828043022711252699382385625541228562501983312263008049444615620369354497437551001951057908785966835650265641977518282446887794664033181322192284877795209403325310264470380970630116679435330139784235168596416738122660985157610567016600192157860353225599337590461758597112793578269823021770391861167353556764253906794640689475782633590328964749326390778877553346322800027182780729089392187398441975803279055004017166372442306834923245752304644485896654657009348618151418080238376373763336844339301564089981007565020483517407169814841444563686649216941260407351720234682894042789496469889142601157156685826449368646202435768458745153209442619682568151921515413711468189018173313718268095670329314264861406676855299665347946716538602898561348341283682204339203148318223691877588820213592691601786645473960413942523972980420370962013622040020146140852282883620138547722441123803983170555687870875552913348021522281848587490319740566663056822490615036291085159515214056638795344347720442688510831016883483484305308314299128308036362403149415118091287450275069984901083328831323191545966836261100119792957904277885666879760891519505575010163367603163600583561473031476284609926790211095463149522417494238714710901288222975018170769788059874641410513467311719358858249868484062667514554567230675603785021992667164303065590795900665144840201710468557478674116793198630044893571966474686012752025254429682146848257913477903507254698068684882651708626550522345250975498031856112847088214232947882346389058813304861400157574720479891812886756706864361657881768857298204933374823380592231722975759442095462134745211265683709048439145006474873309060394064097598286886507218136610777775469408876286999204822207510964086475234142433447595553262278700244411096138206217018380519857756576496016345437292206486578212275192555516767049201066099125879004728683398400047685883732041222079812273856506935721215374719858877677974858978066427786392217301604937637736061058539859878058217087198215334138066191830891917398887873915869537401578899290987129778797082134186272656619112152141919303891223306939990190974481453130613877636158772308758762788203898939652388563871146817320929481171197838587663281195146148745641235007017897231789503038417965584231371679163099750423400794176381395399051751827153650357060442195222093270705404096389610159417802676730665398894992103958034005261727282989443285384578902191748415551935694580032335030116966749281838135744164430709640174565813980426950743905025610535140123898480838562817631918570473258737622676836174031377686198701929094177733726076395040020070493039124055391330315819172933347158034796277150605364763471872314510118652109488519285556507554221334518127017601494850596067451630958469542253287503842716971151674501293906036650471832355084825298019586081419053318041236328963105346641477345891804334613329461036458274545539682797265538765598333602998104433821543923332944433960352305655222488105793874970208749384387300993582653270739067684782138188254732791397891925655581998283795487134695124223341537973741931731751014160321695973916029424374537618593767672987877668046182952563980455294717097131924409442478697346629428844842535809831353442044283723748306774908504301408569191942786076122061262118543409492582731290677897485153901820379260902237342135771529088779532616459715844744755530254423215333334791374180512767555622258384739199655187669732458984981830246919750194663204104899881033122850129273043520490147325840377131779176198152094739126320108582205612032071096888472351664033227413371534914406149513685245745803127370416265872988836691485268604630060584118247958776342624048905989708446996853688356682134245514720219128919794273675256931555531413080918474964653839408317850284748500445768433143009506918858179730911717072802389630713033594078944897154325540995052223010193401084281820043878664015744291284511246235557949780789137563846916872635425617558987438695784546400965115948469041673935178412216608725124664733350579741672654743719007768112145892189420267308225349859585255301745443897875102761053783416914117392915548297399390382198373938574174525976737566319094042492627959178187001517612684318867314242883901058676770045629958806363715599599399260336695635419418986017488090881117606662931149006386051467971763188096599325475727120577776270008623014727697664316509477604009987425185435997052346284745061134010026089615828146582378045832637049027590927831292766472261370320589446406649916596033787863230322955182830656201048647565470541940116747652534137864679674760766904234372754548809850351621366601338743760379364532902491663508875156629463513659906454620164445411359977746752023294814612732994144274897777071403774587475365977893882118370968479977922097554339839000937462345371866911867807717313106050626002883858534482043272202954791599363703220712294841598583274846802952699621482121380561373221986029255147732138806804250497851577217276765151324020194722456526719674653744799515364323600156937886857202629855494813300528641709067854342864000281954236767440910074068410873617608052812089389039078738633027944856052882446896742294712888368955661192782426916122358552675733083746002996707249092854643827312197307576091337009166632730211207229172383004191406532908381036459518572146654795291356874116527396906828698153889145541965285169028699695697655711995774934385198374722218526609315571008292540594727988486608450782291293270012738368381337797238390330162205147648284861005828658218914398320965955187596616246466292006046569398726564783078802544878572185223425171439285652316266180824115378540129777686539778259333637781238723649949860862045421183959565588647101268233185991836128371025118372815336681621427097452834585391199390402744468799128776064376112515514193865409129156063978452140078352884152732067099596440658767101466146981120853148253501340292571113185397421796240881415185843619357027374969685714975660172701242287787264617079379496075721957027155237230246315872632752179466488319160155305979387742691817881559371824204570983622537449634566692301964891489046565095644076577809858434792417212681001068955618681400886880926236621612593145274142642428511863152975315818865209686713790794644260058739174892729609323824511725295309568938668012573349295978710196138861886629926375497940433782013893241520068009078038262674622532736050534147759565745586308207117197044959934743306818013903840300730134217304903786630746999046174238468519675466770757829220944643830943764070324762912037724268609497254197541186813439678120576176254324031971680770322688037634807968740896062197647781930088203139780168990455967846756715098989511811579437721679757978537111618507157901916755250591014496765249500586907599821240006050846672720070612375877919782782025224369555725919304107707222421290021225193720679066612864798812211049276249189553869423726791334184849228591435753483606171072535898346548531313090511614570773333203185151048276108957630184829180811533999142535094664298248899670304519198958811021206470500214860830493670392646440690068234037516918342323642680397646649053576114933595342195640418300405047624285393852731501493028470836654634797812592667909837629941613937393390181462683722585320036908100945081398925180051575486183301693702368183792490921097750336384065416163456894786339584952871390511851170764208893979848838415386478751418668658821345059465381256020453349623745729462665527208260861066335105861525987516422288860217715181424372505747521988584619450996445298831538060419843062947979313158022244959566619440753636997141031359173548086835524021326708657749708054890464581979419851784860805367567587191348396904166332669441592801643698404887384532441348121577253151125735713117442379120418633268821619167273493687293808010637759655440262038898228004711873960557658578217704655976237002550349874743256359364954737206015741905768806732593012572709558159253149503873686363000016304713328265866464308888057120345193273132453400617595144755382112018279013807357982341285300135430425396691263012129001540465702113579394351903289218684191068511859688389238182020448686997648977531802858542169074653383549985845186524201100102578773357093081433672205012759727652362008699850382092870245460544268654897848361788076930831304191454570098328686258942282179600402682366339211415855134809926304262624239283053977131200870047580240148484933191196648671836684890870263023790067451665037210530935379858451467599252871032958575434226385244006509096619734888209466031905872941737289979982060258604987820479801800109699291337093349229988053886345332700686108324018447973203165461701988391862841809206733355509491640192844129247261551698082995039085745549338666928429966695664258305242185246280200516026825676102152419689309440725194836480160156874495429553306881667671301593240703087477369376349860918586888436307614921781578816072483278596932173539273579950279766243438568391465652038121551910214057111685993724406243200500514710594776902561995741970891604572014511339040833740451431010804929610188537417203049619761266927378623758489815671934437960435541540082140995963564747387280734245193076447024227334488418885602756322245472819567381683626884099470963996084982847243609190437253901426674022647771221421811181579339820236085172280290364943778066809652683853118049227284042343796465037528980422322554469596455542065571569416602570526677309582950562863914148287093516232506159597857771072871057509384655381671764896203983924364268049733024495860832698539726841648182087538808015699321276037951364752842512214755458804569690805780464950715031333087874226108555888650001724540759008608367921052833689752002405712766593581425385855398603616424974537146060862816561229285326779605384323852681538918083939499167812500334292534271597525769755147647573703409132481769452509615567644195798264381516624917508628338289563732354734809876410703671525154049660555130434885162754261257145398228189372770433197342507940082481552715086554843655679635298908094155273590643647642170863278111769998859740879621686879476888482041117754493569303629395781587667661915951415491975286757109497160033592561696266784393862788400608675545523907932765018634627309632914053610656434731207685376243325378193924566433195831390602676452761666595590214400530399237887664828958644896890180683694095230821655554149338638363296351470422891419048224554310264927791188541310080036684675015847384479896134877228093347673419653410602380230307365321872886308859464771964494354062533954567491751893709607120324454030861633131975938907446353177518170101563005627458719646812476328178730911988080168444210351261568367451802149219813059252204067757393184249633985384406119339447435823740766381267492684300528613669407370036498195209261256260248657491128775679000783129332935378190427952582069092069673263471209538554646957604532873857661195814868028497117310385103763145303413860304940071416956523676229013155089950044857126617648793291047055306769050915997640526359236166669648115069938787014816612169105731832385812023025164652615695927838067320236681380282782553601509491874207864128293090392863869432551923800637906645821795322353566501136876002929149564526007638999609938530103259464416067458772629614231733967220550262696169985142073016051279944164701681037798367454420480737381274605070218224565137430702750045087064901170634662666552658174632469353626897870807981550043546889246313831455476246287915358090791838414100573290559474017013359333209365625519816212479290736554344967187998409415649609379747012488768441062421841135687209259672706595458057024668897190724023126365212392980174508913858132918991779748724365724733407303855150633218194887499750542564891196033786977456763044387362274452641054226311010187410119080369509804754080906245832294162625479886596389379491426416490137890906957585572846549138379602187189005400061685907142229665528341568585113911297456102941548447805061219327044162680743826871823281505833665165398032252255810252464639128520018486926063669346668430514927807770233959076517622459104498883069869297109408661327229109288964770955445121034798867575758890390987582469547569875402258152641626786629809199390024167406624219918404888193177032277762317711440815141341715442288033904840956180974758378787356261210468700335573609216893126777359038830307391947208100958467331617980599765931023774469424567746468531288008022518566875170826755404315093624043461276895448918447015347685453853276721261504409873828502692775841669529288391118217920305511214739105853875586897344378701133450811135928703497507237536780728043982824826133541076304833276028069256938337130231319516220548547670941897220076918925623711219077294650102028379593063146976707921827812265775565956795279802460016546784446781622018895803101874173384226302882698605389539822999363551987518572432108026680807987752396906831659564577075536708700646018724999661966384795625779877640208818590119242069213063821764835206560667183259390067164071359473316024533429615228677554541544349331167727365301959399473291071223717774233381688613296144071190083957885344152986046473585374556839056925403382767130306880608197649000946112398020218074580343168963950960895250172737803808593320243593440061665116557624122867277247899815255995883810208261650943290702771087681465482544146764167326340619232934645084027834995464814363627068556581022471888827350764803973049276322012657132813035587039190564113639357551463387801362057098501123045797258054080818595669854558028653144000954275601960635049108475527062456097074262898075535301215733539314439438501649045008580782914153771195314802750775174843450418228494579637742927873638823114108343871627870649136563738487328049253976744356066720526210268301176501677276039296474421991227370728562043805303105426611017912064366085039356212039648501781994166261361617045829540050777504722166049129341682909523784648517330524772396091766774200469250910448505329885452383166030307515371011047993822627449813667914943435642243908336700726412884836460092966885150568753350536027852896188387816275370223460666355068378188614885834982331144052925874087806689742482132658696764967662473726699086060503219865120790725563024176860250898109267486252823462807784901925426060631582385644640749941961345245938499470902206219841986898839581446844721351856066761909719041801701148906443217132264721506830395135550520991888675068208793010700922131061803772381700751699997887298078543597811071846497205971194254477284271720383809232938187112234368375394497495504202522677900818295575788905559121909548110817169748681054612945570659569615291740327451323189639603754010766421003163123067663706414537543731419788695918283995937186703097560783555745670171620033408508728296536466708266036200843199200937509795932656187536180638821556168280206786400452735334359671827855300360574548089465477381803677529576885912350205109965596850145486175147431118572240091108182750652718847792370198061331208709060199685290485938482375890713311912756535536018281958511522248018446299528293334150227527354166872478831651993186546268488211997897794245563177482341735588358447649831122032311195630991426171877144751943219096215895846210617898601967963434027525676814281626287937021796886671103780990107971633034421397931852437745107951045666999880019016654295155120391334934387912087387096273369120576660342352107339925758368767823194107947583053570591379681614178049252732479200384173640515925651361472304250917520879081622597946633019564934982304830472162529221341078267830460803028500000452278106281630379314541165243418981268452003903428822313772855518928345180596789927078129601377393165604686105735532419311576388298277465211023529050520723647237124674681858234442948474387528306074542680118028800131932241683851983456121089448242528796784757335788016111255285774480551806271510337669749806893554153535653756501828815808976974200263368527950049079726043384018145312410068837833935558021877627106246080680916038950438297220041075021173046913777535799442634911566300089456198956955246123305086848441283439127164284855275360642193154537002882071472553910875177416751066973492060476861989945172581482161679029343089366767257296855489263877798983359846271979228070154028602239177085996508876672403643650358198911601946543452379563560658955646673118892171878530455629278700300562887968716911148208691029343993751428488900205339282841011617157842625750357466519719232785862922336158512719476522084690852706941612472157970582657502376034191234220299733750790139172642649224977122888925759163892683244576151022525998682600856276800404403287853976359689750328196406100769867887347762889433634143910580844592016085923424902274138422544245199972938209019357814660166449929472176918104631176808096995262651781987991449732423839915348058873900167875192868822997864348354595991000326680203645796443036714813457596659864287051962480290131746016615924342589642996623171846402803188300118088099296792504901415323052151312347645712194193996761348541508879552311298116473820480102105283669025936065730684033944690425533470306734194614581473540471253189628668722429861778837906942070689499060059777600722842219355828483225343996325301913810953236403878479071796961363351979164614705050890323925014044268555181023165353628370854435336256969404034266259178892682319770901552232310624368166566396975118107459531747155770274877090705109340010049478976485858051702412202032831177897784803166231626448000718638457301030059209045173742665566672157263403329599830316277298102201266394280591883971436945527048346459636812071380362115844530103346518028993993025340602356971322617843944175635515219571469459049811090157564149403284945357347613635795254608821947576882398491545176397779643244632396082308846724596084687032761629310334808631959744904879667067390504418263714010936236546937858882897515794518788099053585324965095823419107970181542130816324540386368830327306112956402623500995254180747924809880854770401418152512206616579933432562016948408404753523809467363646578744505527358087675258547959512841721111742433079418304034021524144874571059359211225858283376438448338470286028277272689124074312172317844286169733429104286378260095302909992440241845625837302037584629151200230203737475716371179867854787711974298764488809106075473412292927019703240036786314188303044773668948769116801321916260686536304729545348133964615114253656817645802722481413004963466221778443704003440740719521881656836749631512001238761921195044128882107490776107268073852559543379671422984134854852049376491354829502408781350657666086760156056877092359304311184706970128521628191268187553859970344622805188702023242916928785260494514124689212847073052573979275634384853350893425486885682335809067958113536680328530294754407930756778495899055108773642279338838529815786125448949441351636128896678360047424627903482656329980083421287517287306848578936080187228449223067241670873792888517061683547470399729375195286571195867312309680778536075345357990883396194285831731010871855966817267900158726685559848837780506902161596588105987948818055249665498194024252248021354851645315947056011693993505420709689757408521586552782277134820268671693252485282053240392905169180284165501275701474017283799171753046977658352915791576863007359896160462588305785161947564315964040662500225890729252020038753671865672306109730037459407136793940533991711964774890056342419597416690927350423776039244341872449678638468538400362602106051892214816155238034077425007974945837420370537571903986365929506635557262109319282610516377967730182272111449571202792738465308984362393637642783034990818311216454865916985603706210219763225755471873109625433723762310814840083035656344701267567252862501042026869008449067923958024664982584973375398282992666878057099962553866076941239179038221697645295989818519138377355091262372661699539362989361494839414282074218323150511877435197834367270048619634283425173853183656363547850157781936919847600905597315524243920186216436620206696639008307513216932084878908698001569816476718012077924811073698284749556361204746016190839334289613256157403333069275590798711494684255652954044918594070866865721391489880097927871237569124579472206037150971285007549539426733955662024347811812454304998879818591418571400482670233519556147725256042308479668715605494549430941793938466785803921447798898954817405241985884460253552250666469544963279905320760839472383886118169409563297862469807080657923496372982380980487526387142555590831270678049496054815199238641366546215372422984081523857832121344038961253804707328695399063109979485599960420546430602063913236153149079402577143375561950740541696154130573842138752038047546391737551508823204271335279962448267759478657588936522652170991899847845182251945560828073118220009417806267898061144297573909525265005764544949499397230553941035746015872928506541320250892277251054939442865652896899542525422234757730987266319394020864255420166623185126620997065902435832423835487291687159747652883291408073831440259087599491886361873534378288443357484046032993457091387089565385951844663002213570566300693638026443767470208105839997608589449893056846915759069751864972779253803436615066690703081777924164215237711516263217041498590820713178737856344911206000708833007426994819192769958775628929878886972340120591724555361969654156839643912172676900037861241738321467772127768483431812213625500414907602956000783329032640887752072013713455133057756254614472370648485595070976038664655844219224277546016645000814267217887002105549763950363495877384982694825537363863472199944705487684116396465229230941850493593849252561312694675610048925517015225469989455196571266810294189902203969910094730327538164323959064365241090551343234538969176135820976939978607630344549292971824985079973515682761675892156301388435268216241602334826156638545556279675667028190734463924782827363652844441028479536592535238951207316499570235252417662926583069918224062740543891202064588021373179058401956350926625802086516548552811702365243605076293386451816226016547656103726774491385512801740966101727242490611433652603578893146491400390791302458687153184414094919878433361133822954175513041206977797551134867342427839687546136085037519921791453931410481995997006575689269947448580472745925370517913571343859436121770810445697701365891323813479127857037883778409759369883250750637242882194158889938073807529892544024423164854242950737843037644083721065558946904429510910901159707229314350268748831095661672491689656082691753523957845187976277679746238405803271601128391710121706681259221272176553646935669547123084571093867056864605866938365470263451885003285492461552341293811879111637640949233664260738657055047267144664187471169097966207396966651463537413162145499443540602043615777935992000698854673682431467739041248095816734202398180914701192570926921928986430643334547459981464609851160215317438825545226933972894881459964259853234187995398149100962959977447542309974197230418759400898237891384248321403740444337280126076962608485512439782665719655148909780490352023076805178397119593383543902885817159288431298092420499972802786879625084702571923215194214239787699673205486354122396799164193091578992591537522271685690806337862410252778175597037112278694511057766085506833616838749684085175909356745080901076356916636430699909088975102314706752346053047593031744522806055125065129036193174761916162033895650739628672096080200463369087966851829430334257770309145467041066064762025479344982640153683136789529032321546502748725382852233267905457977716970941901921213903540011381568160949674483082164971246421954952959298804944833371122819617238229270634296769833918864464346568592821525442417699985642766190528563487466400835991805057329029549418791732350431714287881490674794860077250154798860907709057113897703761798053323194025009059453309933695142014431122244164992362109930961051643646985455298284981189196011726454013174549524617016258240892475895412993149104929085881452242796380149379436229999368950322669930722191590480193275202225411743776028452319776176311528430245787696872460305746887649852154531617396766585977203184987041981851777293841183504146047807479275385004852314409186105430963011593740517919110295649855514999860242383551759833069955877216445741522687602179035537524283054761025166422001936321168061458883025554840272577344515031607127324157432546450244436297828070774440927875345882930059360983973798293136923411514336489643625161275203490622252671311473658806344456666732420233529806539970292175429496825957740313042976007418228430714268790932907429888787150282403426898089928832331262970082342924267657931007933442681852763191209540494788351770948895885976776218884014112762650337097371540384030131738991741685971078238510402747231873180989816481263417919428847759514825188236999014900985117919541122198420970242956420708111282891329878317515158023893690914690610012574121948594922939200291790017648033125903300757756408500505297110886926698118384316561258901026326758734591797184710235372710148554080577335757923015210630424345231998997174228703590206190336026702337738330308843970162024393304333625213381004415145978809617790685934800191468767137453008952477759726553105188271419470694690084740317826629121303399658457067055476363971913745809006216331945117635228834405706621666418977231101093350318520904844892904824963418609823549833661528310877109542244567317212021945779558802255499807831623689060044360784833544017466829403175261616190960048261934175653950748138722100584402961329417087618913547991606415539782378020034202837623947973489408958726905369566044973507970152654880755946009061630780991069841302833926182239936781170013881204527478717272211012545573227177656623607852015303574493024298929297784210770543815357400694981865503714472075025777686249609017543937990705856760087670093303379081625990508402178580510302383965762624981741539342712884971430828973744714968344308871118150864944950344245261072521186496523175015440773465985746343734372729990609388243049762722820452574096957528090698043961244234250292285726922931655722059827412734868490162168057779414697567112223011300745568684768244579917706724349450672006337008014069388511998910543732386656494429128115129010057543973373847032097361621339914880397780602196929737744544314031688161472190345321578720955837819576188002702467899577547717902714303516228804904273673668226923441698803030215423724287780336925012744844824104258436607070027098333174526268716689903940363216735807933202159671207389792882856375862762361244623965089925023249930117080875861647355589685540419480198307180199762177590606848784290385991585948157655450182925623550919124481244309829193468657312920021893248279073724466886784083935979292018080755758165486672779806301729817489597607288451857665724511496747974705288934232868123039304521245484926763210305193911485533347884752350147803166687953108503516482977084068345925771141612202303938953632262575681486217031479304724621510799216179688039655883035524191340566765476901454544186830042081136773164872491134423786202563970586782538104848909130943321683906035212105674397864292325340417906380579973672377583715315019789437668021800537482914684846278713252722767126671438717125479921809492922402314688747108137468518151788828996904073157317712390678601935990735211978100070740408819558874332185182973519188851669374241240837600491088619891883480539799507961666787715461520523826081187258293647197278934538328255147341163237995467337577921618786738329714669545535090292252863757155882501838231692701960913092544482410524223320368451394982636699637721647176441053145570802549378513642659367218817338054604451469042555416030896369187060427063016742141584443853310595678672655058444444810331616881169925309492527328184604630129966292638593745099737039467626904720813725883879722796099660596420368585930772377081451164159770416525014257125162024817720051985526460816024613240386290908921664049588415364863122283340160561222859015313176321895619443396270307252270320083048482668937314233714140728259409214749837981398855049018855233461178729960864436306320389560062002654928296174953836591740441533232453731733213215556603003451818015911213955724689778735549887607538422038941396801982396588121392665779848558259241204977555869082840617466063381240873274008160365537326315833470865354281308712672554099040723441410659243950189452960825840310096020049589950491142964639426335797385425375613205690712675560146064665581519129711690283737333472295940242042160682803418726116143610655300533729438624443411011477595502084561653601014590297706111844204343574231483027843118360775597781783317209423908877272513990076289247826926881257529990315628636480262178455460340007228830571699124849769711848181363346098857197953082032363830474815183798003340333222043349003276627054764425716694187131892547179532959085618325407160118392012436764785072236720146236788722979306924129892443622395916963268327568292473274267048101980170431885365345953356719254855298734722565156671650110626618186014786169829646307038375380909398196932249893796526173905650226313025063447473331111546202955462718299040728437764050691752656990541021771404471657321559920972881672674344936869279344271046796246353019016780001582413917029105965508444559787699940828289018075839666118227138266150351030360487099824130877640601245069624288589371608019226018500872912404539801298267684967319493109780174303301125382475983808963093195409067572882481374679279074300232459614220042399353059217597287098810430238740432317217928049701834424813780669298865330827439463391022435422548478300522154492160183660670973681302794403780752167478803310002836444485358192142271308824314979908660555609622893230881153173916301750250136429515497962413327150853600438746041102248855402706705974612212154139250097525367052393365571627544827345616426670524885936932334713217930875277600831562622867339661119779764485101141180703065266955751575990061103092059682503126031101423756837459918565839307040862188475781987455208862962778057755102004953175173415525324421067777810650434370506083715502873633775296460679081253692939630320551578558543434843736079752827319103654030469020131423429110063480655798342633724508701920164071687308535131548669897378292779802776999678391952935046414359337463352059682874765288396609188816227447991376156907395676038125749402589778264045948820555776666177723049641349637260374722785959764511444184987116633080200695549174474679869510882397040967667363313938286779784953080172677612093000672720939923298919123128589774016571168706945902117495647152763545953782307087948306093263175731561976269745386553994567016455060579228624494236478597871758865303278753868680170383513464256642196279729721514033161840683748901695474682837594978751924732906330794044561816890138319410812114580563289573538209991368056691014324506420891755162361898437126333993814298886077789900275118054065453703582572720453924196495287284657775513527517194437343040815347860929058191794073730869800842705501762836747223644730051502267074551434762067986452842759175145733923867302787118483293263891096143746494206533775013622287226857707805724807256084165316312104922737504468291532274683903002818257642701089489206793858238806641132390615532138903418227451882686135252877962249239248037788393030778448910667127688418196071200407956099166073942593957676674459131615716425370570276653345787592582895196418778290441484548728258330696408005065503744398426488251229309111023173043790638986597339246139715811076595823343429691637713959336296710332766487219062683568847878017284967194616481906287206222682482305564007035845869999993840213130662357969631806906025070897643207859303746263805424788858158683100111070193545578573706625162063626970042567333508806322691420321088789309328536883150329300400491675157291998478041202874416949752934773434604058151241448923554761209651874468247614176996285864358181624057075492800339315380137516905099863789190277993001644778725580826307350636839881700793028069092469267408719316594250229772365006529467159771543665193810447224585863023869659568708179228456141999149497795213830902857929799249272092501513895176254408957492458880484355585795052613287753798775595924985766300260284322968786590779934885172120934539235649453376629643845477837861399454529755360035025717580955387441050790782603060008530846856773122310386593528794939241237061990135760836928968791334796989686238762243826707709711105344794486342652990282179522043821912679919144436786167086509688809148203379231335916753872824448549841078310083017091387234762460661736454370309521994702497296789900829289267795229064376384441300308476522591740672315364355313857173869567799858223858741711429167041123078177398886218532764784211778734655854470280123256792259993268300206343793946193494723144403788835349737584221123211285769625370540187573091810369267712833445409697249635230468174074922112285997694320286007223761536858203964664544441131120689949212609275698353890130286015730560135682560627162260221665664309656357317714594068272997434163679629783633654998041916210506683610269982051323217013493125056702821657166815844120702417304742074133022680456219546521495691619514107733801550580494061031567903268327485517673756892528323899551527297302669937570421938560766123747789128296937229020526011455365445061149142364486532057174451647475039466594015685154705172190206178355709545582400434126809281641758588603899647350702676453409964377110549616218454985066932884026589865293461803364088346985132088585399871841573620735835515214043527647356091648913065973405040596400343797043930101027779282141845319923528959785632340769304280677606908593881698789893924308349442015146783408235428356611926615500364067337897491312169062828682725407170681752188396877128207597252552918382429781550812003977536941891020184907272364723738737168137518481609672267677134332462303087859256483220939953728333633955747597609447135832419554288925561669280271617034801310043048259248209626139453424247697484619030319383055591947288669911444219582170878453916952802527214063174591912964299950569893815550495022854240409628448745777613130747025250016003088552738924112783006209553597768240638712328429829617940474716979982277678081648961677202354710751783847795414243254434973767261750637442348790751387351512069697571618523633085240767629086114118526208948659462692289817608399566861146258883000379227176363850931012713362054348316869718970146782313936743108323490699006144646433260605014700632029657941696982432061757560786394947955320420647107542746814071024766624855699399395556883643354993627971267160994412704074789295321433100491428129525427600045351475825477297566562837101408088016516535475163940835322982826662490662111704630293970987516447637586488380597243945531204931818668808346401732867374257374565866875977017030764534027931754488910834979878341111225590871838997866963059396024208177309291153414861206438173601201368305080619157747891353785381715563356322680487901668758552213241261539943474343424124372189204920458956419897087466935512217321718688162992138542549155738779495883290201286777933728435462993216623640416245318032853236799117211665799784711172055383981192684930985313809244007721027934471330223601166758687644025866800046671916884721446271765806281098098571490253882953403364259981686320280514682311003352817184284612933158639424086426217069828469057188946877476951048453955092251442030846999216587383132741703171680951868219364689988693327832637951985424013914058862853054861727314824944721434274667244538648408328793028388420739757097139754725285806442263207078192628117453030666533018567048012065512905324999941795312353143482532974057192941798728410099303424073883956212816697304024750559010371943699540224772685628673884635097219844797891009136962110251801280574556170345778546541991416260770817028460991985957397549647240061592202400549874006846200883140338470502500161659169684282854250518329341350172922230195151002127415699847853679152690694689390927513751504805064902609440732677479720347110503897730243541402255856413970886383808417067485476701822571491602780631202361622642113193946877999004550058421809765188194648064752794469625248855152623489289887639394628631795267965135233092292615353388813239195704615003252241286506659829936973438487174804997646801666207426070778770445835334980650954499226909310943800513039707886983243804545807152655870458262987258748653409182631947522847333564752517949440304755986957759864013873780105777697594994359353184567247591817360169592673503822468132056799368031112420768753063306703488929560088202153324604153926722997578616840076214322922136373905238164097747999524810536797914765254413697782135485390992627509760295326807248152593834944547367825519917733393942575850146065793305300547529717871881763237568540813565260298772083966774857166964227460546988217547306901828360351772222160578808751389884663110490008626854723237091077716227380609478091879955916016279889468307878632016795897547045352303806560775058184142537651136660695114968407054999350262502756693597639742261222123379551758992651909478974098784604959937129863668303209658310149925436055588563851928445234697059859127520786833002526380944309032861659735915413581521305864439927896532158137371609035255797252694084615821166293524679918449544902376839152035774117933159975218172554640053353766938137131242997310404534063233761572236069454765205707641690662289373300428658592201246679118233049244864627618215588284285151163591314422484313149719988536537846482468593484940913862593576758941720173705200304043433144433981753782766040997918688358563292546645280281340193633090471502181158607401403166379082777353857179528042009198496625918567279203592571838413638880676674841734064294186257437816789980130545683757904913185958359192542219405164469326009346319823042395985779144443807598368025400726159936208880723752431031043524751722237903100502735324218977825928535872514451063070750558730163909514961055693616038898934621003117193780300840230620606653217105684044977311931968310245961743584631319730896841462855273058879958588667954781547922354471874253368358824441191421784035084718509444356740003728825417360798938873023186835300539601097771584450156154381870661491745233878606099007451386476533471919044593878367736708470115532810851783175972277793346639330782040656900638177688240596098239030868419170156287104811159905024053977615906047834709482726646282618258709504776043135551820473505247802452710545607794136342828006885588870740405416997353920318496186820920163662501374273241887425842201464554228902011695911032608055717836479465522106912586754998106856897109948029325351981378334713213254108942162257921386966558233923959216810593874915932893350452064141821793663155893459600835156271699675292829618848789229326628587324072638381432382856590829007060735529755414018772947799758617269821933628331756172508451785754287777549264530351691690071535782472742082715652398724987851893827239622176436662627008486551470823816619700990264478624720818519753589754054663338698590738270533569165106408264301026096653078859661049923367878958941727881853260912112979454773122365951756436350911066372541502979144648518762732662386106173813980518810118356734564486406000739172222062074892813591287084655404669346081600917520641701784080644286398937335748345103694301097012899922157491114733705689570263685735745337781315112002172344126952006296687563902616326713122873952413532245915251367866624970331821425491500381598042059309069694276256626415425603959641838605309692576253566232638351497374768595085283696871244331649824475714461840312708658984110212029189771303503709972432029753788223011213737427627583528978616248901988040357001359719674062365510219792445872310622092891709071570487164961698363910750211515854263396733995195508904394339430669732350186980276697274918914552316593033979682910211249738537585747160448693722937931777724625099080854799058002587268247000632356152899166180859773706279926246948965824252048306338985653679696028804469625213825866380174763848703802931972385807254296063496181486450151942817318891720090082665784490230828595396779576933761488513927785878769891691582406340178693681690255433353713380798784432970430630839242599715994298484586964871194119333809167661978521903513592863769380904070601469938810104757697048489329897715931490204840410515400197560241086289511208119470801008192875773029410287586419077194748440278302958137534272551207034733218175830784699726773344700123822206060304367316823015342846361098354012537549056383165955311463089822898149810051176352090914264298235201698087019199647191721005361137024934782732588239458069301487288221764001087972180262380542799872793224232262191077189398020664549447473563672855827476883653555999007826221188353399714887101490822460471029747803264247865455812110683137594841403357993129706023073287631657849939340644135455860649319893815690280026827198933601841391294819281739569267829703672271967568595032772822649109528810254572529942352008047612887309213831858307504925922770961038030258865188321970643192679286369810366176656457620753929066927328844926317089846626210810303183721425760315937904733206868434793129477731320076912649566828396235749260586641775309094653390290953508071747181135697088011454805496428222408785665327249753298193019790509449130903342330008679392069580798517875280022231780796781339749960812578711696324490281708026499808778832540726470657481407125007537473851582515526903429683266267767464765243536541380829855840289421331565209443488471150381651457867832004767949661425426752993034499884086407048511731398891096705934140025479126089243624738214880066540779826700173114326383347258827875738806923024155693814019907891338372295992721596795338781684058969602464517667646938177132495684630041405078529271128120785983198740516684737845072044077347120656690863196904554391537843701218171418829287784453835455858819045631342572927646443039577132266825462771051557491705788546918089869545470551574255973732484613976865724742137424748824724064498694221648419283654525216294886028683314855975217100620677879418471341981544774850037140455345463040089344412518805885221926215226688424184231686597150845772238715865537426186455996173325731385236340942080039941668918343071625742485894017782007611657628670939143990109434862259161071088518029482533035024176480041656936085091080392059486653785627001543606346143320830576874625544381364043562612043672905720107370479968464152376653170238227217400925700634058763685843888388649426979384784547683007403050607761182374899685735558256862707772369743929100541237169631896460819302193895024636745887048889934290681152309487970376261868883251956331775912825829534636937071668921260104939704599345613816410508887172772049882783631506720805931261709521989578914797794823459032307693565557550934722246152694378898983954375869421553274278662731334369327505543966387326024216683429380410673803075888482480538343946959559773640596031156765443398328250166193270480119071366312292625063238260802293615571875297830537216856501403563799867039241871444187632816951467578998866778265712531066574999808911316221500358296668251306533124466610609877014868926924010923011800306869124599052975022861371969087369913153274381163223344170792541547180716343085891647109411075844710677653555246688579360325333038677436093666595800084385793818360508097587834978161527083310729665585320220168851290090087143442878455871348341622303494610000949371481442355142449931646404312103238208347934311338819361330309359599987937353475375264629640238798749640995326690268094094427743721792795800668814441669566730076549967556797792560989634416176776128334573538323682101508013390950678309696477906260445227687241950094417161919050255967950235306037615012075301272505307679421654567377696373524126875874182831865251080826889187936186079834193592521880600102237027656145586613879382129819898458416301953356382050236267188730324042792993126453051251737727998949470110786724499054389424603573261862969348948113112382985554561708726832315604193474461560131669042360403166858872884044938543603785355327020815791533428990159314862691772580059556699612488342161941641651577469022348482120225844830813386927627000006789562573927713000151726126820792841909012854189327587878312678107179871748195226771898433219739874954952809387201042202740320028290788608560999455162086384042403062373908505759532129208178542024566879211310344832422183072645783424906174575862729157648813044740672924801442882844332091914673669047149879959314598771181956773577693944507949638366938732749213482020364383645402299575057448068696016165170657497321959607388800660341218700331526515913765595501336941500460572559558233407582725398908993987005194251165975045383261805066090422137053361638778854330671289155982593767777424086280908947486620659604843493231739075100270267572126080934298730591992516012948445622098976054503206348324694342434741916205542321785829855397643059364589557214681769713053668558358702619467460908695862588901928405392027745231263039139072917518072664077775726139246728732923612287925167128185218691492938277410310453969938781530539042013878893544232761275561023257626367182168630691708975696026939719767874918168870284467051516806673063455750961037265641639858963363604981038411630055569490624283678824393035643941584934640622437182828380088120859102831966753565790269309285478520338413938260277492138621217509897997037308590918799117982916781073796329046348690318359538701368975858316817547620795680621085603067109900888338656063199049820375466370611447344952362795441786924657836886687286989817775561834612699621632790909746772859057959658963112866890698205337768782950489747342147847992675109429411397135334004282549909733447548518586841289729246758832954502876352366473306328319535898186952836504086299259773255557875169358777478012821084398025545138734136599054057089563722349999547268709110154521035759984963996611168075642164937467971318701925599006955204345487460594184607238622438054398363911570750582231098379439843867120059669362573051334867829794481607819113198397245772132605014557000082532072626212222209978070119329649430259232154595241554564948154786447383219724257526965259315148043840154003118721632393576610098436156622665330633994569387006551001060220985714836217118384193592559013538131708849515188790198655513419650578433170589926507950151819078178525175349401684227936697770897372207620514781432711588457088253095642240745359608865261222244732640174305564559637521085636660208537404813649591466667017694520446764365348778052442902472064402106078420896339277852496822627657380509357425924628700945683435661776530020362046726002481611930956415245565950992849319129197696121767221922418100741635783136938734211196541108403577792018298908067494795695472468960506214665442693557910151035916875466719540961261699952949877706696810634122423584758796256869432786166223775904557919182322760040298472167928119176871711622020647309990571498854483464878377653303684523826050432815381127863352827607096303409605624311546683766209438208944923200305110377999193688837847757478265020045726620280851344254375505007183876171401199644667933635947241892326693825469372174212277291782806059014428666095722501893241341536438417767730464120178225020903971850656226244014535995626585356720799100371467342918819355985549182999842129892815245738851498768449117230253671074491962145744380864191753911747151991281574079480702371570771484056879378805010336263713517615913594333871496916501523932802656951275201267010772543239285132455408919610084992933671250336583855306312381072683099919029284772975915757651415350003262869831133379167647594332884380816442807995596271146440462430520339920438101544272436133289370624619407650456291972472733731255422454784095459498273628105357463584136800677062939160812878308363740438057704706254961957470870379551326110366574445796648188754993540204886831448299664186080271989170085793837533931238002791714446102157609148801520773236735543980711234380313641167707276759516305011475096737857784177019068220768874349672057855845561134178980083549019106391855751864413524605791928339008402764984335245930842788134507848863443007890218840796034829614918987899427863309146410029944616881675106273995510628047035758935143567194323045782421712956117089793330754264577602308340602038569233329618481072322319942972003154709710765776268282368345645610340627998827979458576427300928022867170311291656104582798486445671461155442240016577989647538181450069543677366278449626720139942852314346494585045877154679821016945388391387519339153556582732229822541138511333412031110524337892033410111946356658612252670197835216762181661479381299457091743097404114088422951563024959086468409262269913988037817030818850456576862271899217246398455562086440781920927202983803315532771336799930120919497958998882669655528900061655422686882933045080603526059302513264821255911633786575708024472139688082256161794019207821541538645012183320482417512208815404147636945855479050121225101284030961944787824485896454977686295470609248042491044282371611857395310470067254767855630793719471815988373756266181104885133965068910398655041373860772343077938191361836692908551572091171735902917086827873924235751763218516149767427158098310123939584995544517173508573493145721962044856911678662937212086208570046308482659808014498153711540545860921072221960534499033351091899245424458674348425801429065771189701119994560530031679282543205600179776953210360482313177776870304216437326091418363056029402548659174454838343699049820765515854219186266273308866885886837016700412891912778284662763809493182625680402176780437831706309786579718530360674442418620702819390826400489834184699372938245509791123459793909373441613393299362199113544819205857930688704882456104204914966221145669027089898210706063500802520661750213145621023284341892145134269090770263687228798329161529018985867095934575109823941290786927518603022647488513365405285718017623599689212969859023461336267096313300507709622589380923327491139641421753921433439184964952769706481428425106210181003789202985119728993881290055125791173042100593858240984070031181728553655140446137287854937351909348292997493471760445554399951676429403825666938193279752988749898977788724276978725020302841206975866338987159830237828960664873767882893554269029194590140088094270585200494653236960231365427619622611820340566707793250883192169331115171704179231104127327499960184764529572857479489014022776631964567365681158085002533459144442819055702223180574096639383113425460917151782707246276584365411079842339698369339715576886345377205031273965598212020650799714036882960448013976698133817517526247401071394670154860875270633182581929593667199150882375129704372176388386179398058118952152473246841570096873911480800271061040140900807379396131617572929850200168930560180291142931906182443744466835495114924629473722139429763077972348687011593906352172168783306599388637389466498709750002852357736098104082035411299147354037015536560170894222107824611150603240626854843567450917301379351958265431094495077534128582548418303568486220645483403988494044035556870418117375910107772214672695044255245920701723894465905198114322180151116909978409944731763350742457482476855389205692712660235098898338503913645098884310022526473877168371358164870055856565067134008857616985589008179256720208461869514027105809793377850609628398828936370574197444841056435022189981469268561305834628178296788905881630214306568460907503862074529385785988786893767944135337771863135099607723089343230306288435882264495011859901373641561482694025967176231435045372649728683740529326719988661532326547752906712591585902884138223446142919115349763410157709860149796999539980949137214675451081588387085292735788802575409576695180741828660676097661552273969956763814326856329630415153861820082786343437273044031964655227860792925395647283932103627017883015410748954245693201645398804375564874555874500098034846745941763483363156486275739775216544121531038021713454389621252911836433811885314164702435001787001794297991561621350747888933632217282110390883596085686095141416494117362210909706669937003559917224314989142875078166758800146492244418859903447168084547447244539487312087019081682072815491496682454019617627498460204623839632685326463094383720063751333306650608679690510916016695007348857735929352742386224045617966860062660554583540156885489631937192074081393054200392697369295351162703211602273950711668215092833390462194878056190282938255624935378868455386133511764267848357267434677314050827098685806287254401290587089492694272888117278834682228491828524426216665429474167719161239188704301779822417259776644564479375020545998367250855388948519707770528890950004802090485476488894352614733578688539020245197960041181529348139968711051772532638041382031136937847911101863210159778753510428717396878942986316210415415339810013851231353101279852585903301228452249074238406856019099577902530952766383982267029624616420379799531250626951644829142617071798360041394962563351870678172670092537513403732325592557309780761157134754246135644566116867945059734479414690789745210110481683544875214547873308495888408432235135191933533398590671837155661985054887515888253648991106927110186457502196374629616477655226585197560862587809828289319645097629022099570476559592638191884966960231874596040176390273713926181597450136867000443103334081209940595816850375113676924376876481282691479903851064653836873885355460351637888753991369272502665973549006327416355065418330583480891771186865239799858641510662508564669923626529100139558335902892928432864321722634111083190733125486674483734553195668257586922251416871183639714011074492605452236460439960964431461344812092935271316311181428841676144460100979411221727254216966672295375437356468606998511975142163680453715657840832125681969865997119109638460141264931848917617991161718678260236816184330674031788483411216947341260335847952544593259028441777031518788067526214756855786892370495560651745055912815396885248472551638304729424408379319154119358698546698245528341400617993050499291759212906602038584772483478209057125593945229171478663189841842561907874173525767177035194218653213126287545646209762775788828402691262041296318614596370553621262349247474230100180837450115769179774507359075508119924026201315395335080828541029094493536938949072691843771060488072435014473605806936451361785497864801316520272493390806005825891846704797084712958504038645153853023263715028264100435852431977434102203692994923827471705100509552006815503703887177859256150590394943703388996119302946704272427089365165465395583185111916071266249337066794063353778303166858839190089006831224870523433259814317317816995838257337661684658326599436688991950456273420994760052539399425303695208742850850119320843441344409651673109280645024383789535055386648483556646960470847699803440725279106112096163167673064005837841098788583439280938315751820678971223803437189542624841720400847666063300800298352718341705420454738064410869368501107907007811012285710541693777858117786897704401246155518635068998391535333114910252837741534823255684366286730218284576791024639210693061808229864058665627742416754040297831156033744759669003779650903226232725478591081527085819440076936023604995710068755871462893812245192310682164704156013952617015797149074709225649939322713119916570398304221001902830686923081973451907453427499212266858920010391206013319897559499502820734584604030326064423878012304919803876344196132122443529040915500285449021192917907593145640286357602306990074608180932980115276978488373609277517758055845303161231462173959944686189221410649012566546729875319290588248292910542285532689808161335387181502434633255337364811726544680754617531136849571868911457367775133034699732828262338961086470033974601076955980719390794236405074398925209537997936458589503223153473800933267797272043211123252918483197908179257021743136052932212113009931947583687713733215314879409850307579550697708229372749335073148458361260322116533382480823756547098359737490667641401111728410638024134499136430320786504522988802902827333999903231599417162329390039080807312231007729507194589550610636385283414100571890507234816371940730013990083771777981130998787713493244258417979391334801993210271284142409111411042630507113862231148270730813121992382198575597500721920104742153964743609077548284614787224834330490888227655715362984507544426532415495868025992004317373154497066331273353955325529937470480603726673536476920636551587094856182988220732213896079257916879677274018645799086928139444396132997160468185394922370643026919590900493479527877966111003613020861470718068660815930282786305472519432604437067866263624081852089992281959027868598793630491383333857553165826367842796516239121135637055064015452922993168224973208851960770923808946729275935789937122257420903504189598298449241408797325181292243649916078667865157462189212097352865990883606018211789165752649800293382027141888435988445285932283226564677046226706993042278196908127503170602304049426933414251257456145146596886823970010171070513438099911279669768862872093851511247927056126810760245814293195635102084640104013122944767390124663285041994865478022549714662127900729771966990689278304839553190171522380553879045851025515708202661497242705543734819994970348677215900490146154445607820976998580931702852994226771623496133696335267008738851581841745714630338139081755434254617903799749297725946671057633387680583952343634019289903085696368397196260682500506547681485339284724746918499249959252215680404397809780252132942515255357749389584132102209366914236774259824250299607096556049101732934134573463483059031702726815000435515236003626503510991689075696153896152555826791908534443024407738251112389358302423921010143256181431619859243986080325016485184568734253059993576724630354852878922924725941826528941070944080808448820345845530164616207985622398249303906187338061991335828508942639277096704860392593867743686049428563730154329006333840534895809618427102086729343782674099564804160990890232682861230944738006624169007788380641451052815363752918378774880551254051793128779774515487900668709317509073269905739904593077139573818346325469177220090817118552953375222311988211655786089595603662406578453346702306754669307515266440705310955468634081597724969777619079125044130891819000906622810717724988179083976687899588946955059701996905828651172747410640264169558909205501063342412062896344403358268639466314549230247463440132217896390739149378458232732837771325935058102983116872534780621231759575926480132219289454816908433226747164670042624509732756559710745839096819696842781262879092306475811439855596603969838615355892602924032977985484602722086835444276672244707775775388249792304013028891847318884192612461548968957614483389493108488076653645381117484468224080138610389324997163914574844217479695968569879881309639652748415888948402643931021829440246481990498085792765021672300496470146354120679237859112707805657853738478778790165393050070693588251135312061065695374420781635985244815746212829386494702758152336650854423367720067740299528499301705354691967925119437718841524410869953232844981359027857165689205018618684829979192526587748860914549796425203326921211775580535581474714210011583343534698138699905365822603672575572718161453030022548974603612346007904833642959593296865234625761616229472525758342390646125867317387204378326107234197137120015685087886070684568086792430163600124191897531504916813907604419124948231281176578049008574598318631341921844453315429746416768101629861669940040181939686593760666099356849594877023123278759843152868580065666179801145733709138052717768831824289774242182572632511440778698501176976819345264952947478045200793864416477909082818503474504315164003153604324270129188422908824488175842310993152451439327985030988667744944784938857729696847658721368172772798905654598456842671158251446189253346701706568238561331754712123996991673920898022502504163522601110834673903026575714044211112317891421226904960668648066652158062128037827769816447859016809876547085150044909195567007054713813611476278961552831614345090280285110011805679281457708779612586803119733265878869522493150479804114791881416099449730480449814600391950319683804440322022284850822066172485182353777518387091426610632023873951472381362395949315661408449643430457045550796822263392133193018820740258537111637208164253886883043517070758745594114507412725210450253068138655012312666414975879298415539575176113696287143295196719016902014530792395326453783248011031615701088135056767482145379909445218155852664065126943577944023414778092679217235244943430465205751521999877263568982501721323089321854489463835576815788006195951934533965343543597758602072849341989848493860184384598546127365888266856128814747114809825069407225740908274396597935110949454842232407778114691696790586925226357558287072737697559782981325942638762280593039558193873894525298880833985471838909894059522581972184976860967688759144573333310718684062755272167400472712025125064396108931283987458306353092530999764608646527457478663054383674750429109017265398064997238443243882474426741930717278309014522332529176256030862207042238584639246548660258868589616625512752440936351925670440295601558853412248332890144520804292448139237823674108556675909948772071368183096341345721941775723753045499775182322285442622223680538534367967547955360473227378408776183525623764405444032060191334598588235134078040072606514312458907208042708987191574137157912039809107526533432944686294140644963046114081373975274183419603626117090456201524937723838452142841667737630356553849910830937769835189904945027637922852439369755565009061792632761424969377877581363958027174113377421415958403003829568925969113163649215429655807473283157039256391277360939885722281344422982928391572099098405093241931742157310747675779011124846895250355930583083173160879393377905919422063299948557940616867944390218468111608422978747615798183038713860868851388128892048120167084802559012195922183867833317260447680577952039480206855154677752024276670391056181501218911262463603504383262199599863835542563637138300038896582028493805182211701909091769472270268840124897313166650013884815822904032156253640297101312687907730528389243218878299090582750429812851643249828271811439508575049614943266462118094550675649279038107933147515921529059077154859788848375638164777959437049557759774832591639940595608687328124488509809538481753223446718703721550692493766714856125048738396280681962352308254830673720278368229936392422749922295607594607495625277912255898052656467455862952571961565352900031750857952952980993189317602815861840483320657504970702240744368723970967730042111521350446511130805161731047349106265845945654420206640829157746441016795567681202629065338767582426694986030144124240490993944912188092717131148323092540945101369005210444538994991266949489158456279822153308770366851365710905300001614995647859522282603333087361260734005493480739803598012016727884572256843664132500949158300257608844423917647249424151640222892460687662434220101534088381827082483497512708516870872864515065810146360232076432808869514644233852690134660993809909359734080057785028277533973412117773802076526077421874424723699447388817114023100341775086612870882766917492976521104955781295110668283602773949468458732271755531969497186193020382068618069920084431656882656559713347440164452876853104708600827347931676317370513607356675138619929835273914618065405666942591424738967068625478033497198741456540160658964257698174760502613489594461235926125109962612814135364401389018836843669825723486676324637953727146667465393440739739989676430015476176992919450388892888084690317618988342800411727802830262211610697113067192658138596054674506608582040360843728463181877440883933452414789153738967102597096505473013058999508273696945592937683874921253735708109115747493370426070021274487988273768252222751233773159044196388103817908368432567346872105904002386711175041019795642942160763890777931306404791816148587994487092651965027854412652915297959424096107034276046553356106770042268454420757645850695471269479151285790090452778638882208513551908378590192719505724060230272818478720028924533879061348590186196229401959022606822700547565279126381412328626035546151530855073827457705085201454856672594255914852278492505562143546039595087340135414432720228493522082854546015506969835338212357790218977237973240244334305391745130537951721854496103011757292060553370491903578081901635608573243084525359377550146713742832476358857014241706185559042504302514090147509437736069050376214072489045497978237297539031029166792966769653248706120711938266812260576416572200018154526229309427161846760017109089793213647853211330621452785810179859541819589135508021284844038526022371953412111019747695635334577498654512785047763281812964459409889017182231393314090218733665432121309142260151751679553822632546977641713906047273585693838619159849683368391208461274262635277186515852780261421463416236049703183477981595512420173906061331317529589467578029776770505617023099223325594523025919270610704630943852316844077018893217450783241698791409103390293917698753840765533372616291076269220261077020039266578047096862296320939346478519420933735265974871116706474355430239775920692274918468478800790534654329534043219290948980244411885573295443977727642164907198750749102336339604404614127898266578006792547991132063137659216778131976533273680728018282422387969102146378535850700470571453852815218300015788494391264933745938227619098994835514928071753413982578241305410363283340220703611040239320339991067487958004808651821681646399537040391630020033113843508650325380889398297713004634707316607323750695609916686600341379147445819444632349734344207943199428967826639216121595334752015635130952681592176100383884059570114445086997530181541377342955361674319431278157807086714722233240495084573037940123987511313613108525666108798954063414870732999817449871278612888599732854646308142277995383356707275910186995412885906103781801784516057788615280631223655334104265432615076978127792522923379302181408148147772695155341824777587270760284523079251331225275278802730037288181590918241845281488954500191263705575735275435710733464467339735112134157335444091425220980323513714826842071217514802326384531248709124809073398168818406971946276227952379308029289368566891445333665383250823105366636825434208417438740707690233591967511410416751376942988743287718742489189263069199077530266273190496158845720690204250646706801047644085109343313565760180392237117339613986053646679105254832025190054866493784656620733978648249570251402102785021866768265661176599932524379625525194545622562138647118735050268333694913679751334652713440803523406273685032603476376471670073117359392287184360332012024710793729934247486088161694836639284459213337365410120346041335608053880805576094402847324715259130159227086281899426481219424825170347044744223430106530262233637792589893058555415622663411665327139651894120566459388568220848910835595320743892137918634111822970140413315598370748067094803369721373684851453119003274939469498581964099400075935955045428718914015485955910803301481762665887133496413396506349495056439468747090699949306552187302652500455749376268161260480151841996056284334351310673302614839072470168569969492941701103110779797221769019955932568411258097961525881168911518911419699816089457764903888464785329890568862766473741520325281319618844668108141863252153886523496294001764692578063093601706033712921197990699511914074476636255201013625359532391123376228985230439913876813857060741685856883806193786162181365460164916922981371978179084344169015382912032944393263443805913608397317184336734947064910858376950667435864710763974019954948026046299005472846968616032217736824204571476233773628433854917041836173681353854717932738115590955066242185888277546179758712470831184676362729083168536195274219399685467834946545998441744903476160362172931358790411186571423450343082199508020717987514776050673365075054760646546651067520579744944453006225998703243883122452132785614039725105609201711280048080047170361459107336529679579713357246682824628614042482823236720028697557097298458600734259674474934664982933505435780358143348632342579785095847225878671806571531107868599367565650123218175049149198917151878085252626975523831734676380509007705651417009244782453322481937222131840998456767463823720872982893786143013439836583917439161845277999886903942182386667621709170729984954442759103438805661717418943893186616069253496492209872817931159296227490454306646967041089890912240693792440747980430918356629850273323305097011620668603318621622722215320009743941115138820319332879128648843712459194086492646130205385246650674241635813270000230563363302262629073012708577559286548491788986655592490094707402431874414121123387329422689400563306638092007549611997193013741785167695461988382065958220598756841636700735021024955474839236710220468097618494258079025238504552848378300277583219472473653722016794735095063719567559514757124644427138121320018237648081424135722672137326353020095815556386116917212485714125962328000286507023617475158499526049220113381425172068792109181182959679368669545707841307725020938995402077555313230269049724123189270793091812964908184317708967434164038147423639374252281379984472699827389982493819652264245163968410652319297409277466689087234852232517917073786248244020995303328214519102779743091139335948776986020562147495132621664956896163662329078212385998249637048538309566883572765167614846433125567898059977601587129417390689456759323982028431751806021166037886170443211131852304189030956651022800275489332178271168956961463061214766970594373552418919191331709211419182854275946575247616784940820031800844673197147576564130355903325450766886902377174648078383717216654823903776107526162794741844863161698159956492160158500168355556401930454201512390912633387039011595766838135840948266213422770355511275635379732230575638939767945794240048399919887510217517070440466912934646826599786426029383160081019251940987404469972610070233929849161990969878630976578878200660356768947258925415676517363825722310642811797906933972073689730711959435783423984783355457111388330226005431992807532805388721900311022653263658672900542406475254003702183275754252813231931741937683924036666557251062331001832647275827727552623340826768848350631641106015443760067256908559399234352651822048321820691053854835490443388457219649493888643258365088901530042111520666286505355083164595817679601423300039513871353254451490764489035202975483391158893871996911949361452110124405624936370300901718178715899769249936389412315724791027847235779246810729660427744346663236170606752152688973061081878092644989266315055415748317087840482932321918669223115486293223850565037118688703410213024757540841798765006435554140636057187762786626304257519523715355527196313057306679596905830494067301601019236956990199867113260103401979267733878694368966241280153080157135290517389378940606488261498704034166934644523196394164553854416497552986504433385041165271455925631819427875638630135198354083678812041777870716749591592987307311438699565164603062736642069555979361698712228282379585869149480346685268496133385519879703865148111678174327138269276013140486721948002676287861805696809230705057136475503643925300659625344446890334283732994910230440407985078088893005859383786089245474762282008426406156756727725692067552146243790411385817571994728904975249840545879277314216188890301762296291609005167258061162520265645077277076921083557307043417298734654189869483828717001041572697987290918961225377672897433581591582667184889846589326382339932708408688593593506392953213938896376952173575780905975440055328749333143064148358589601502815044813187788596713322033547433954156116196472272117534184087180235275050906291299733677981110968033122744965821669193057527782827910341988349714559376212570797608132389033643524211753837114624539548030295752501785304910934392250328497402125178102243327407391352721089031715524028730279181036605683890489131234195969959016638778558211761628242297322838201014468220081344407017573736853662430889952662443798096725009443884041766022382629836908625471231271327070455179658103863795469676127095806223532951560603430668790540783608198870209787151737126003811336844619570176111162373828543354855441101766853280282862196605324502341746713006837507250932709778864579840788194046995655450311315784931280219093461498918111636209999980410911232133192082414193415780418896519917436255748434128940763750687505279378011541644163660695565151305671445002285257972777398906345148658663810646172080803539678892887645088312171626300540698177353286333289145106134062530493430591059338175090312261810328470336705041895534125012062722572693057085095803510205101217035049530791664267797542558757007150299476681240514896183090463299246515304848233920127413622201174252141477468483114185382898391896228670540735761245216990275297738781605018634429273769777613687672504868967284242086183440209671344612827069962448141651116893881716091548218559298637081439949181824362705113627179519569588688207844588203572340166770881951859571698128792502463770003282799416878331895318124692719142551370998942364861322905538087958151427409768650118028502672524093901883836431742409083110240903645156337585061844279664380791289426500057149815738249799920237373801297238730137486977961091875050423924589147272259542859524852364621359731366614916156416267605050434960776379637933801076477672757576224467279824262677760547598370137319909718062873499268098218817876436659350909772118024660227771809172862074630236641964181894972597149851377809342597121813633326856749362866131014505758091829038411268453119163884820334200361015028231777878101801168987730313945792320712083192807899383064446995511836481966346495428481684379263831671347550793026605007667483617474431209497379754746265495679398106823675088513702789514607754321402910583823277774627373674140958148483319162727549781533802687637978584158084862959290921511523881828702117239522205678006454808631292537242039003843753249946388452579399797620200916419242536882090574270075205125371890476305668770571078140743499325053081283307610108352934084761691690602909094111926685098970932526563264994417022591757756295255731380329826820214695201240951482209609248254379696479803689705437568708533205629879842851031024863124962258637707766608921176535031767974039399560133015229341894643428572517284391459727973287194249687783465870615648452740513987422807825431754346052641341072906082221260035907524233612190416447625037798531356292492160548293928293797467663909625168806273283570234033224317472877022051340220697677513625648829409976245051427391384651900002559597624839324817263760664585803413677016842407949615356958377533141590166355009229709870256580780205514974219198594367332967690263172401339976267369951263898075166557816160826454305871199278640362935812776014103779735806160035372300461449837106795709702307582638105455355108270863087356792551250515532372987290699483419214787959444035357120471387679428318989713321092825189736365128021912699582611465649623742903747711420403391424853353683739193012226486660818556949407779298102023744068923012998229338205054808574117606891326365832103239729651848609187807971208871187747154409398912561194749528411702348708457758247235088359812725275466750221711167170515171591043193848806699102177991523864790917710643033577358546501007718388263599445790716253675956994143201331637655655458244862931621993056244756670203922232793347147814081540839034604198261642270392283303057476283535691998967442317376316833226339209977383272017493862825197592537363379627757182368972653882938619097592442889391801175568987375354216827301684318556208467977115374687846340614542269747585906603515741530456694622560486446537864364982308396310261042915730182316681711155750972664882692821317358885268454866825423584939847226630480376352894445002567882823835738075190906209518796805932053525822026516063864743223000539325000955757517374322150745773542355986067403732730727787390911486589496015904806670664255223846260613583130935965072850760352386291556344738074560396057797049971213364582676831188949358973950074135030361596105012524867040517051569124101770347177072156184911168016957611894502537441365677215264676866150896682130393957838311583070800058304450441096331114001713199075962594066146624496755940086047232748662065719446726146703035504419858245321859752525141692688000960773948440958845084516477621310343848387589942487692158372561360800310143395255277129756894946445389552290504780868495591424869565436021980880372326491647025566471858132623468766089669265090892538159568680266062087908313484975609015607823439910025282737868343274071941410913247787547494940294693634724162873953741579891704342578698223174461666415713750408137328628039331523971288609952753382321377909383869420473515467714706485320459129513471701149929691850592946939114262541058276265045359925849006306502104486957533427962970611665629104247986295112310558070230576924432782918241291547297502382358924012885574981618183124950637945317529934286923588005103784752598901883336252075270386520519988541894322136694692022374408646267074595034660481544887846011047273892287362881420134154285882434570971757712435159188489487159021823446555083531286709817620111770448666184895067718849622595296372301778333337930587595112455355848289013362488924784354538361354335743310689528960276895380575902878207931590485882687702156629718514430177324832676222817891867062692701907870895826409418172952230351267609243919935688413153366362738678171910455839830065033846922233185736570572297236692663039571560256870890902735112119042083219279699729712066393873630539732855632395951437121558304631203371121182683162348411107977445014802346672661422101092894294613958079813229740591294609201747415183433277384078815470789985959574444864649580768296179987534765297450370106824078927123448116284096110939312799706557347161179154129540052317768337163036382767035360782719722639174334128904802249165537705009646319984611547075592323394667547809569025239317138004511719198554374308417948471188497941608568928750069565372713978114128732037941441092632323590066978570464881017422697269387759833797319519541729353922049808517648427342318022820945622354641788842692340023691940709252321809770349544719069440233915984013453690024857040464173129182333891629456595463045547167746827207892163025803472510825886437515191007569488532590174870082119878986567072489043880344598818789497985194849962352406657221243915393434948077919533245838449842069673204229453781931702618459746668506726524819104942058310392547117829773501669090723428798123225890462946796048603302310749410032170081264589849470180998766404979818861395962870854211840274746226563216362367793902369622155016825021176922174694482477457857567761595175777568371396519906154140927378904433146774800464798829125115484782596580818587430531022192131883094268697401032143294213812986708626403207885325790842847519869459823446795508365409596617480502660477970135852688381744882314104891310461299416709364659528876142770746919068033309619892205309731317477297296523405351587412443002419992311183077923595986150721199343212335870226825008870865438484601616309632186975275887724355949834017789054625495541933522175385803380285888101487948839080490147492169681613631029610810130158997334095529427138699978695408442639488555478028249592640799065432179196290022468852209458430133376525737386754919057650327177386591856246193123139490023484573370738781291077696743077218715551579158686894880091746435191104987080533344635867182147676454597365195233722973696875351662359609379811839387489604110492124902164663823310630807481990349832098988861894078880046915596679567234156379249347264262935397701989093049707632961156801611816956857841092839921375244791974621323507976784670838652699393742365671063403415160330707449561478173731473638108910357333166481058353995355268091274662827373585280413671754343985818204650281544748325312212809657615293380966306529390649667614392831214763946456690077577628613676851342319551599050604398738008291102729438592299633114463415446109813935557250370587514403387023470353820217733613086583392793118256575880362278648996671242612592185332191107072482491052138294305004507831348751204163477392046860302799799437219463160265498242011990168880147354491626646905518762115799013103776952205304194112102053639424400313426183960181810554945488041664301100723705457648945692377167179057137880010693315291746193431867528118203805311875488609869306985685008663594639282569369928514770833448098494574181423289208687202239957647786711515344174570017916070498218817416118088741614315845255077102280665191803540611355222585063872717462455066466725846984514090447554041179820309349601581627566727031101238222736441269503651633252059253604667626810457333995814801149315782588909522204540205652309316332941051400814710194924214517693716303995429835901029658949223549395520800873462200201209130658109903422852721997224320825493322064386940876261484674515905377882980580448242988099598872712046441390737772114212509918036518202461746018445199483280154496297361612958083083327995961048129351084576751493866139578386845722229473353391449718899583019775126028238822574588546651187815167461640865303082024357185554730360312106970953092908555028868818948119935738131667153455589685143437892870214609788195353081454052178836716387084288567489212517898113915881829718307678129580125517284073002491239627747832132308202797972770952798310266336819145090633540951264738249230655383255405318542817999709414455941961099815410430979472089214572559219828031851138181007810456657606623222802840866069652183993415367326321798638450959728656967541309424188161527736464711513003041786768849430103871665500003809240246096850928208238321173840679217019283607672834034841991816770231527611463832732016761822705006046974821474444793461309702859581529080204479075298619324711420179740981397034266866832889681518786853796918093097563727137253104442557165431364801730650278844520977058460299895705457787024870296526997898149488864342724268763641488894989859735840160101046588953183848346405713879063698182824224485509551024171932869870156977122511163755678462696639721904033245550299605259682182057270005622560610790421851010203089452440941484879007548706633585478759115418682546273125134127278243306055316318892222443050891331750470394538904631384291491887522992771918901192194729701072523185835362473389595584840508456288863880360435338575047318691350697902532545282541494299896366048657469425554524458920199877755395295645372087850442264493633102210132100181773019175689247782308222189551564400356560640923802976666104959892038867200689480651273055153269079153534549745226346058652701848087740950189133013071264032687858509807659135260248600595977896242936402472043798124861606413059999097617606720478824685989058236077149210220881272366357932501231711096647026236235928855910654202966347362816504598702529318586793656790603353954256750982720855806460078562426931583732465262676309943250253281877192757805661074543903482567880469690362142374715181714192322275448542471627404853908758579989660086446286217128787076701183174208305816196154331722072088900042632158534755804654940501438320718443878217196255048155708232886502822147996347896524406700357275023690471208077916135029570012431238393973218852867343793188288139716242782604631866619658465884740580396010275117511588026408474721616165483799276811352042126227455250677390057928188610634921639662239247344678948309506413740373915838735200978830665922816774020973623033739701135241214412697097880628653946736496079448656236453098305966285950502424526484328856539150345546880880338632955894919870164265345084985252777498529113433819614847102319348976351748260929059231668049380260808292459629719959622744497252994819917647837737688657087844043206833801993285884493529497189444215967326028705194782527972833059496356764246545489798075410143229913656932165159196046516775103084531480190345893957045683365314673452494825513940877941010177227771924812714679865081924079738411268331835021908511510371733878014158698265631137784833897317245762166166728205943675109788060357760808434944037626470343030426936752122910338892491015146081930399957243723489748807014156841520149621388543314106438612991639356432547823197672583544234260154278216735416211694510214619271978067641054873656075327752542815870819848553901379030495254357883400188887749557583602065711452150380559210516199615452984742646076151990810887538286642923915967266954490644809677063026022633925203963868519412684302067534081682009699213476722200919623794121493181306229648091890841323751958257945434069329941836793444373222955705468120258224054889446144820838505269489327707025470217384336074360670996928277266538636327238943174525495564079254434353259659810872605421896141033442131153336130551017159501767966616310811444516561464306206289993607735618549256855227901164774043443800800224017401181647124297457301514451067802509785542061318451329574003279150380166674640818130999888197130071215730491362049925017287293067793336814053449664493550551494913986666815872206460071056037947241265330958888225387470319883976671818930801737348289591140732959407509292160791998359062924353208247049975532741534454081295573853856038320057413749607509680511306090493531766462244727501533876080631229011769627802610714405287417597287884573942556048020571601499748180608616692966863099982314263789018892956385708789644533076193168529280401724698140134784234144144942715260811550339640925430041930110578561272595462341533221363448770697188082272470482366457270452468175568645387082075664066015282591411497116395220053302901834233899875662822811585902345408798335895360587760741363532452507559396134159003131873084674297452525340707163893647451027678581519594651686848732824723880720757234076256066375726745994111714467818524021254241833232402671002459545884447704352606639273028669712164648920917963772186432605747988642789803924591603851998851581906569738428645547040195179380659671847327386702430165664792881321855962641921463850927972064809704360458951843860098690120261654844327901450964860842512389446303629048228274368472006578473917389614581256271421204807146118045645656291267194896093251304464236157497272458136550578041189903509637629505472453879141425300610479676509661072449539968564846735230914919901004578460462234074051921428551540140548518227310437301785352699147205957034792680221054817491581949700439457612032053448835932125578341444114198567589483700965562236034060230768188787000244384761308014685775498319149726153454472257876735841825998923202337136205760277078270526930906650934567655029160507625617259102007247388825355763152339109673707019696495232125624554871133227446891072267214657425727494085266338659167215130416441123359301504991246693800247111090711489864144099419010573723528488276583420563708971665779368617481049660453870986196218615332973071043996782209886282693273114013436606739814407315031836633731934021833000121658536780700188372667032536765430361126868745462500662585979846822904810646279697384008218606656958024621323893480276252401108039279339302575863474904763090955840541480084079579680724209489229442711833795434273209614044233220699271376130716718798291117222745092364863089049393989139926950175431897269686520135810087125317197362213049886728254634059259679971106871445844465393341392963621193977176872646295895916541571220693378332827131332986377198123460689403388523628112359917937256287209266883822578890730970643847339877983008558580481729522578536959706183965383416372516903496107259519935954901068111374798045563471758095088450869181799098695659180840275120327687545770955472135207190120018906640396673829430145802821935339899934192397824446054389536016684245506162998355975802041169163855937657685186270612663051895500833502579908487279418503796234605718871618276787119430571395911153014739177609729874790486857137143497143053622035504679493336577855630701214813196827464860893025556869238969703882876082620916649353899414873124120222804138973761760325913016485310859545185241115990966689278452033829707138128866904229048458900953324215026473613645364411391382101192740587538932991588687372135985935849009558113118043973153923038608654217815693279739353516652788117673373636865970139337896202452290748595542310479214335675560300583268989720923835908651687266791026752646161318793777119694729930295580335716145065134651948591504017076068113026219939876950790896453021321538680681228694597328721024966908723930709316150578608747474513038417559883071507495422281627732051349079785948879120056682770165280496783125022614193499263237988184726355154168054893686360332201766606101838961013379136664115013349236695515928268606646671325000589628430689453658275587906127387704748994681441327618823096006840119185071621159558421540129233664666920415386993307695871816032425969817492324650418778759439900209055450085890599909315471822437487681017858346110467092997155546766925207385250404970340640707746516582551218420610973655375679250861891255347087188170595310575153410370265537869294452365216354329921866428866694411194152963502806699232213871673646148775666361988119147340296014108025344098413611661769124461119153927058217400524211838232739616534329823827222756877540916177471941832922632216069733415762376561497023017380587988319333142880656574981289075881245392128947025463030037260175263293955584780730547522025728758440613350616633545753531511493328597877570874462772831671373008096916323209924834247787974213362922509008503648482367374772030692105696446947835032814388859005550088949596199018508811778925504196528919934245597318591350655154864634338452919285134752766884379976635577614682512553900385545841706609767286170997911461152106864871441235518239086090860295548896945860307544321001824771719178096329763036817192822485299740993109662561491345968401965513527880531622657265680447833233226083790225138374055362593554000834078491750326292054227423564818519683205118656348328571017220957607256938410776632488052881435697084877914949678795565683630983395496738612853604473840129735180917918383363447406331048595317510357458205935424074025883820024400308764740000182097557295769948338756349798177671508117651713768322952862092907799961625641791369972758787145204470648999033962008769787956707955634806029935836782913924363257787676423148856687946349960361058246298746180575511889465089697849483923252355576349477986067341315671720514115706668185479406725930408855620740277209166205792599236327749036883259734117314542055488159205693034847676488515492397942073316431032159897381750887985232928145896601993852523173413446309824879313240822982690449176844481073494669942218278586834819025853399913790869420881395658119970541443380476162546161143828195887384767116209856471622676929730835180805057451193337333374367078648299307057027065479003535153827877700644501543727748442656472836082727403422130994483034376639726749015866651210593397735651554838000838351156591413149739898629142726015146482436818990445905890042375122337113104620594116258706640409754772755791291379304462087160369227271485693813734695808683021612781103574161080710830802673565365592194905994943575575611975492513054978843901855369948528421077011172236626204077594906512817732271931004012061548804188164516340631321783304137123641543214755709677039641881227826427078457682187929523574656389542076187562964555972814644561706988556790879218995432872597467840388739385961816863128562223536061086260016432333053036556032578086010437873358147979152733333639874424877394929099843854783742923464537792583627907698410131066555629437077128394452414008173127025121230519754343398881926586167413888564711494422246276199476845151690827413397206726324190224381406723223037806537361091810891478823389962246914060181862003449075634002322588600474730337512293524683302942405582342750419761991461971284912062009841499140493367456257967007043743541551417733054551338212078485881661587621688754267729014638427476770339065630661996220154349082785929845784412423516587181345978822237509157983659924736592775809343158926833530155667270275191719443925015395537454576417293231063856979811650649025446604710177257722187468142358079738440923217453024292916694650609381599764776141321049647841278779557980921612510904172960701527140178604053094515889933544881311981998895448950395584729348633797858155064674805558107816032698199809581584172217677311653607457977833504194181040855596951021166782167020624376678347482039378526138385843312637611575937006356163368130900782864799164957199805601038781988379311193769914862858022286574070399692301452943416500232273054208867696833265721886586223077996712793763389199031725200381175504422340848291239121170400196781762902260245274929970613422028808772094783206295226773208551015575327542974959529188451698489501836455368030680083027685396474118017331491255955190942317965292590949505933331543669995630360307413353316483817269088389921692404630745720600619528946020994235345398719479677987616460626579396270817748573832246223343920052671055920903119096686058729506844868311708759085268681480759313264097031841748621386208833776819775528730739266869894998325682025268114530482673053163484712930340615424122172883058234190417003085706033898913994847243396091316440868562659616403657694062470672921967117020186441936401069832377040213249658747247655053216846897275810954632362700249726571093311702008569502344835965773407963254170655624710121976134071869264012533553202307957743302276300626457752260921560193803926744477895239521912848396510006851734909160644209984533626405731668970279120380120521112445284852986018277453370731767363651495297261148861902682845043139828309564056889564755191715344888262574891575610102128249490453836777045123062191538949796409264416207460852422994625557243436898813111106562540651007281140490753891150330739557160707261071743821664833974955550035149923825555751087684448705287263113000689766609808420863230578829647849179365189741005681798899338755867916575284339968775831047904023784613453390091162739449525616571095151406349077402675425265598109699927928483686672355270266683082745431956918488721867280971923958306139928565185226485574342520343535318624902088557425550408086952927367157452354223112214171584001368034780746844402182506998486519486457162278622829092581201816373091800963127303645288075213647499314807083706436582343251226994986141658247245772960036264002711287013831162741448626895012671180625080021447544763451642782323011365866065827455176116028675757227578332597069654776165046172617690225368975440383751775616769766635502488900096546795133051411818859017467882634768230166188047731639555012011974179863938174326777699685961895784752857912968142575645151190952238006151197545551648966129291466946453235629705408724001901343539593585809427326864209978079356602270268990965631598344359745101239548291220461792710597191446871882425379245773436752961197712589603750533186124492806127462161158375984327875952950635956958421061979731187893405855075944346418728833637712713193607718742941250157179565960692623050543018197080161581747341813308519935745988249449495777093731025598740581043566114790973243327540210958876771429163196574344949413842978919657048284608888494515352572493843096515288272902982121288323204212376212171578128702095740106554645630295870715888860290934658634241857459146702709427445520766634208601443913378578812697801963298442846158056051327655566940181521293801905444710716217931201600428676355187017783501745259962665863919463860985563257604089312984714773156064458183084187155068719270863351127057696001980245478170152135012974042013012874353673525285437095886400913504294939024657546995726347523153689745588377804391833928985495920836998597190325525940608303809917253621608420016182938100741182443725393724645831221115574298605918899201428976351484388991297314107487050273492226243573229033454066037030242686895022688613249339562814186619559629421222121719516920651633825528361241158099449905611454187666147245055976666273142544873316704875610445224734588524226677645625784987810355305337823798655065167309688500059922275337848905075000855030578900451480696571817423055297171301468846474081583568166829391123611005605901566621288118651796947331088441801045653202643351805533870141181554208895584887990945158043268919854803275857942227401009474176675686117619894333618240328352540175590429473408686901352696469232409012770170927564950300879054003013555355156287561480834484327647320837074276734500364333766659637308896126498501921726388912158276141073662351858816533632526230269615576592728497079958184971233507037315113705725346868346153685846510914343437038238154791032791402981734665464661165498975444815703771559289520202353731510860213999645173608048566100701301940026502114612224986519594491152972673515189235048630264486431153361844356142656685137513732885442569427591499168776456773391416632619498887092643154203930052954469284011390070743016418566478956567944311964368435477318706178920891592082157135187251368760206720139163899933387716568967692607884669628327484319505707190864930729252083364327713294375055950020082745207579415661624961173811333957076780557868698128626210470806914281387218505363255381827759394377367657964269902612211120934351171032582962675313474319138068720140533253501589516875429412122074908376545292308778597733621975744516892531599211327052608300155494013841076052939425184736194601766494513898316674976257239518223521016275059074845010315405465404411589369188081292873678194191136818552547080800503524346638423320874963527011123406828260207447405808475836564192266118797194564857136820155077987306207821760521707062499148013998624371426694727542438307677388225593553510479588461020381148777402628113143109728051341585452084398412459580934044131484454756925551652088219596304723896786554153238877986313423421114549492234039144136643402002591480945962530359041343052011184228735572473202578807979653278798005797027341426624909231514390543707588643733354480314384867161264692309946947083507329652591461575426169589058474569767834099172024371515194811938620493434823937306395661732469305463695533673798736816626510302268002466091424582042732134305892522180887566517036314771268417810264759692566951733526342150936896015073504819614659331805589049222766873125024174965881068433334580028437948466228446726575737422040657150755070972059564248674071492588645534858178101265547989393305801727546352934505572022573764874756299040704715710544851441482712255193466561754593040699402560046631995043123809321412758996101276580481819591162027811948075132584470335829397757315636787272858317393640804298875833559616414586408987363769188734010077695341941429229214514277646905047414916405654527752184382154923277135335899148372263617813438764231528182559932813272122934213007511804866970072270821273175758594899043949472305764950178775038156632292717543529015242159738656170019155286970231074807372521726191332677872259131012494933030046312506365625916978889141211599758412705941407634291740746238335367424768091236690817589403274479760856145744111568168097675471737284651441242381357037489015069995397359609900631495427760309667384300850081473739868208705784749338695375422660470117021609625221434493993042012170350468479205024411141337512862257011927349445688353528427826420499172907792994616544827705448412154312225068664733106207661763723939029326174490727375454954434834195762110446263681108390606938846321986650271542651291791955104504359044896033325199022281121383949206857253941517509264447732437921138631763789591234250563151890291129229805210233592657024994644361674848038745847253599038912662942950251973510161619096811643040677857675077066463651631738979609309179463811741044101081865045016000190024978854845177051406158750570144215792522470004317633240219585658768479968900107173441198605678344705045067087853950105128065122893484187044957997146677126239553005123470867213808789671857428734148427537145941922630223025675368739013531880154883606604410737410756848046867544457047499988020847534991160273426547602456864089274236299140410137921538645021582329979646251022421616551463297965712808747122986712940843146545457668290733502225376583525557267881402653345336394244182240059734029287630370035095932166368632251346956935331876146446049872320278193940891130782014248642144468863127705512415709355890980550307824182644301450233196738405558126324025973548449636603785573323937651823484268801986218714707613599705414261020478674325220302185961308384136366870908751506159315032621080950774679475429414979260908459563598836483410419652154827390790837600926335333682564707491447042646637537399697712080457209702555654299228139905717444145811762995843123861623354102493326451564500434931085612707947119925079471584853712978743351049765738879875418773721265919140955790113422297159323133428144349850675359513225930936470429050170596277464257892443887829946832256696325257980095609918030164435931277956266829921546814601001073199570672354510844211813185150151014227090802189591268100608232496709322337678861001386290944972555849175298122957423380463942611341575633910811808105579637066797492040703762695826805798419215529781266568752784553541291738303780886155574241952894533052771650516818836716931350374487249891500020435657010126374330871689894518273095246649913657118739360666882037937967415673673462977548436843443921512872824438245735991959561976407782865741469302615252774249332613857007009591658759728115651157774277754327122424146613018666378009336634794129500354108321444362129265292897699420131635750686210870867146625533429170470133771736841882159384952098192165866862778840580737464977639540817758023186339635111884710952432795585775690047201731508990632234894793367533955144064572895730672170003158940347547076871526284197240250047050843428988026567157546927921877922418859864878902528754532056680184377923338908296846790422315961297393982665112695583875451557032205131851140714502822791218428324588604300545540636421262265129627502809662548652890994983256858295285667971063419153029729917252445880730143016496553813714727121562270772585052481326710232174868048151555550278811016857040109707798883835959078705362213024701119099164329808889265300238625991881893851063426300914753395052709635935864798424832969347340110266842952490321171330360697549173810060079105618223684809229164101381012957130536679045723543217061868725954618082018297685935953550200392236771664535617369677305113740812118908404288006524380005925931767159746690039662570501359430765139880845020091234649971232547864174954874367515268433828518268361282055342150766719136018143905153202097183544196346806663198751336349866919603860830380954042493559589500812238069183133880926031603826297268616249626984954622100169960436969557553472954578680152832653507737365277856201962105245048731678885030195142777145370700254171386187352651121489486533288660927252037488343957219756626691300681673584103575557257682921933307976559871273321854185933936136591767836744821507423057863006471722974127068151067479695775240921207624602453038566080637444380455093195844625433488380993542737435334004564976482851002898663154203917332317879716528759687452226807649605416960188327392748306861613327360068471199833248779301002756662776317807913006235259926561435834736985458688373788959920672358138963480569305989082537708377150884718136519134417653804504182410063633996236768476273961911929257009079149139890929308892115619675406468814512241085546287752876598227574331695685645863365486241944200920459099878290537136493045401873880729640926045013043306020597489631653269895226108930119847513444285749013890540450319711897752876211446719464452690992986867427680035875975069640438397466387630773076283338809294337993578279021886242231094034710254791562535752012583260600535128894770087795886339601954219510316099500155516524574076211214872636193200979483861640877727095733626569365711429686061570775898898449974782790441614546443318392714542659929397752959761013975706375827593334845253192163354397215754408554631782821247197861085327472340958496537723397114556791516591631079381690236098227950580021883144323971693946763329919606482846299398429174436795735336434943326735513450083530193026882714868064276666665619840831921475398844027703796246627505513869405149101622139638521570279788653079843297027958899042744310476476345155996600634667638208970123423091313309236041159776555956181014804157800192684091166988671589705492998937446018569375549288779377492337027757862576114285178072574473443114742133047733861135376065432066886172082345761595167028135225461095119423227353830850534606516028310466036892538269815910257610174242368790847609689752158291339611336570579859397912112234129197776455214642383167174726841079156000906540792320656452105676400423280650910591947175908416397682142356717701074876557038572235139920855938009860007227201788169316425853390666383407646203793567845141250007860540782653165829233942865608124706370934483428140040063416069515443502351303116349134320761610754563348221188050513661678426892249038765068449640435920954450517597100541579725471219089497732806045746637308606529246531922017285959890157265409673892494286673634211194105199840107908099055758127012620022644485503987596848284891960955699505039474335872202547675960237964705218913722937468964018963499834435020167952466389140317732944509541232624559226182049225819649124716213398099855511415731840336030110416175436095227741146007638733614661103017423872068596424359299627813509559676780877000861173662676030410129333236021287646238007317094282977303160867478128619061805575145309458645203080589267713483980633189520251042934662271565644409530344166526763214017435278999929381452736610900880068200908058682978337452644707303109011098375676650801415262266417999808510552998762724088138606879429808516238653384260168714727899330475020735375531433425406500280493187438111457691277683222156010228997814363816906739754045149088168171941405419197406738934184728046188348519943987147528180923839287364611982128684151251072834357427565411323819281715617830921792861080579217015956662568402708116808228205889540647730595278001474386806124348833093080847220756138720706035321766675426755104063133093802074105963947741792580498931571802762379994621465573622739978109952265417331548832263641605169470890521245595365413913234740314407277607588297769831651153457969107229451647888291266555242756843448036492606218211981018669506867061996779818895373432451952568935846959903097436061856907136734482638907410469051354636132135137045606757403603052478978682711610922833204872969853932441416144905852551810199238119182503179981232004283335024626925289960938793741151968438645553586566624099886786905830187113809761856321826636208920417557246351457579293214023206199368599252020750915260890852796790447313726187179421153600188145000073823950406049188107725182573566148614611262895590991340481369466191025465395290313603172476865124368553940987838545367809527343978656789759178887944728837202014848107422497115954703528326761520516327435846882464659878630829873993914843220341845174373188041253274679728702180050334089331456556530883341069143848276445908875298399335709508459333717486585966067556037400227039718157179758844732743941914505464913761253630632279098026362082298301101476293524518171241629253337648874668644362121628943027089991233530667257328393212636818539269222728388050683830911080041989130644668255012739970983814965556462456909749979787939259338755282582539283994486709937591097534520555371604219346040952190898229799069553670456921403550429571874095910503421179616734291766217220339596991518265111639760595843228476958363103691890005992189613496190620087960392500522045908381559734507335541801304620292683492158455687711512875425329842800982461248203291673256330847539081574610335877600199635309856577622825948943005453143397815626029637855013925673332792004062650031762238444704001276380354379626113244006936808541132969413175625649932087310861389517399166601966409512617569785898674648366518514717443010792773632680109198015052239631183167516941465442873886607992129063695445144695347700361663586324735697264031289701188525461766670505150366572008285240849342676458002977009388030899229503815873391739166395767650267575972085984256623621729330540649501913979129480238076821587920571818587541830263722525466334516236184592247664471411576761303872270351800273928080936747318609703803549629313857663221230217748663748534151257949593847338783289396086306281732398863890627091988463611822671180365359147477907846953687697585853354432307123046351840897483397907683624617507949091273770609113657611147471326053868624843220796011987516106573819501220167862723284159393764776399214076433703196912662832047504986064279075488986325642785312917389830637599917434243494894236497868922745746596204744469086668613249831459665968069185053141391898691879744594676777005477308534450032839622902097219023122664881800133253471373005404605126936649664101628168074547210314218693561359290420171614853299118464024518539419498229585537293273769395788427090487061862369731767220995951055608318937215185489400999031769777612953844404342251108404596382119619183437022805774704081644754461977741397385303667594886623186725199567081709382349825724167075993569727354535391557806316915542247540264015685715151220051618968319694254516672254639518036012535695144037097691944729367166880078345717246983226702071695255573973916821785066808707221197438524402204872935972396074229740624208199820577755760779172307049471836753653891281067966042020691480303029780574913954118768437684594088059293753856186958940935906284021112372731990069525614225288009464620426873095639893204711069227477002420949992812668174113418636366801154610827809996453664289278462879777210719596298847480924451890180849748989422263724620646467160192542255642152702817335326922238559881505074479683526932006562011782573487953315188722039090709692023628887634486484267059554298095932997645394841302615842507501774740581229940092281650965174953610783026463748995454264552013201580433715103709260820424615510338145292021105598347487393003059117697780106057084523400342379898014284716543252988553627457983231603615161330073891896237627408190592272993092806572057943203044819745851448586925716088315812174530372167970608169129260368677590524559412797171005834252787701797333732172521742668291535557173924506049519725167711567958766495676895496913040223827569930323723512960845180955690568779640030060407276764098720066785463311769506755418288895669471543917866814796259071037110545232660614331402888757828240301038293918524365560028339815973567371338024871470702060159194667353816161216695509642465673595536350038554656447439960227506211507282716886205128865575978137673973054581101939010107781212555218751529093752993740926868707616160410859612995467909788944672872251464664276082265548119147816265839904623825067500400615761792150188889810879098272567783303770654817870815877548287749671368774013648912690484529189028530957525672481739716005324420535989429426595805375691592653779408418652924886347962941730967230943345228895946662077014788866532077574156227726067391998602453849078649278922753860821558536375362942903588206089739938645859126489572007834093236190395389644510464267654970696576286794790099319233276363520036689710063151611269128311947370508393841701680320844119739877685325868989624686683498753445276449318869263473824029762901003217150154838894886218614985005593774143418656354845186804776480723602579841161639471906272741410212619656688080161477028354107833974797593797747900750574823679116653718380804966502012732091560533582189052785127998396681849825435361036587220357705487377633946071192753843434576817375887223794160035037811013181960186708031955273969244436606044932574500220881745692490946287747060807013623435705417452024492715165441272437336095870781332861335815588350549313503347620674879247262382492436224322291462889684373321196035175261201726756066345162482212583291173073263744548783471088575938051774483952096591997923855311461882813237814776574933401787647837983394632253624665553015504361982852969111465542786748133816511821729113981340151809499378323843725069815783716710010317136688572023894468399309892386273678959503279098799193168421788814914170238679011196344097758409040712092453678656055323391374416233756664077151205721843167926182524659906459673210251378608639962900879415523252385678496040199863737469611254893734131617883743306776396554656314138406269214849784514496734330438060075599474492150301934404461749990531119684833067761279891220810347266654563647000571732307754070757651025066312684246879071357747848474568640455250087487580854384295431879753088028127202142115934738415208318460531189973537932700212743679636690148218855006847790673996298827179510228779572424443038209282767912863017836179417388874878443862606595553280746710895722878491355858704367193802934161660035344289374464620242899025589888142279137975938293346793690171123672408899010558473583541828023858800857463964176029766232310215736851257053210730196213382886937017699720542049509462835359176731990588485576622559212953976901311952001707105205905846492869817106451662917789703747486809472459704740231105207349680722148011275004069087233821187643497491652062493003852062153009245860152769258795891265685557109348846253239517848303512287654127740957131570010913294721077575420940603957542783740778052280884367321128277413608856642146698868535401377225915957538675417718958558830350434571115111472812899903811215115739821200897914644672960900566066326078484060044268653593737783772672728679691201848515433104890789127109878401964974062134399967441356081079129588786435811741086426720925556106585099707241318380930643213819939425867759249612190733005542063556783913851210210431305186833034074644675896344815663225095004995486714009578337697978918271508502326639453559110532504423031924957698802537903259413756415205635164679196479071527662855848832068678125813057661178495741933356305916038936915247243871877331788061916135251454958057835905959890504514580178204198722215288061606854033761053341283981089395912355129478010294052675825949445501389331229805657753627430913201169903781402932513854062474510225198035166743883143396752919508969831329576117404609049584266217374839720585042981567479442840043129510003538544796037337520595845785282250611760662695109998872200932246363505776500447459166276143187691790200615978733331681226011561306837007029008284297613314941949630591940082305882077576280458154721620570190099390193675291903707719358617427851217103001630956622997884466306553510542322398730395263221480816172605157635557684376034182815858806668104542899982476061090258015192304364262932598210363338978364517178012489330924863444171426646882581540739456920910558099368550084815735594034178264659510129459121149027435087042529133971807255568918102632267226427512183001980757090733590762557513637180373310387299124354393381829343946503559973315671989541161130840796403805381790200898919172253675736653353411672581201764057179832515083624776967338965996752993188851987667557742266929156750705967157514803455119732508540057362620790625497998233293216053328863017334969189648937460313766561579876752039239753982172617378732227060833055282501245122488818713381769660911530754951343218510776699741724364257748068481358167530099724488566640885266375434292334539359850339020469471427779485400538600117114883704029534166608499127684535321023390292076014648190214204139185903519857083992580447428846877032385117647185826280415513001072337425165577406784257301617019719692961211678944879270338924239423387755627712082682089474275258249229161784599009955856719069021917470532494414357141246875268787277162551181764841268924298038171332727528296823667817499837539998002564776521729436706658584325913000961244201789756201649281735814510538190375277010779878051914862320025767861231237323013006844247425331827879501800952559477603455914564097653951561920470401011963549842988825717921541060852557589090350427485175821288606626833755919922519973977562458115339365900354015173938437818753012259954163863847880398064920390543211682456154305413434292663892915930485175910306868966807458690276180741397128514357476081931336011043178165184949507073702563962504283327375989343997734024526298748901648348052288510107011683909201699030820765211708558875230656761418666630394159503215129187746246543329522846982141673970754406561153244040158974021424375859800881871479173840826034190895216658635125941061238828341695091931684887457417924760549982170268172069445209200906824575415618200794861142954137833860407857639013316534297684684505700860986575400586571746220658820424777754676008318194272525963155721229727300574189691267345733063644451604569081420887215220153047912833159524159852692693184761799535814497362654386319508636766522630084545050885500730656118139895790003567475096831558976284690713474960177232566251404949511129842845082949051895293133676681106666591186162888671717948205255625498292499701651689680098064785317821121975836961810807744947829646208295312343806034577745385506905964075105136813539091937526260201614321807109490164072717915872177769985264854332604725775443938921337575808447064505061838864307356294156325147034979492933984493294256100615941590910960273879414835472892066362179877726131562558259178423948779915600346569815599707520721521349311219053745309413299706657763816117345900542745278735919558019975638751520086941127845707722943528163104704344284606259678783735387868184582790937424490802175543435584463779797092100149790097377356048880724228562109716353376038770251633834438294245661976606800350031796988205547278829744817608528324825454342802636182510383416494779042921823164130035984314200308038094222811394159355793320338801372330296322981539461443028105603571864142619538375574694816992342693554796886173761951645759346805614208771527245727591253234956294697834308068481496712863188380095766824815829125975799793620432325960119961761769011200441834879382241603707925098628310725532955994551111886653335859421381949571152709501806527582214454101789703135766480877094703792924458700908541733761912818842826763311468695500928273512729101160586309638180633200336094713806376480603883653419015791017769293017158152743490278086663081517181819384165906390732050927224748113454495235076807948893151172454862811952262000845749899290036459414984771325185891160869300119455275640538494127612269874361611346534425590211125092068632506444933836093852172185817777996715821090714612568335215352842045282587861705215919983035409734920061135786290324025670219351018741583096197173210437065476702233147497559198909939490668747102423215655131890617738113753339268733859386909219698862709627711514854051280282100501226580278767167169540824194957490439792949195050370337751792719262337095238598429981333828065467407162726260007603168226811098135044646633844626268212244451321682058475406623323935399867346134188203242599529755109089700408291750837168530862936433176204758657715123943810828096731756221267987077327983864895493717568785368733815593055931735384810697320947586625414474279830543492904779144144044028677194879379050161887642609384600890852318893465497448443014832334948368714788552137023566574501156221690704426960573967152683646521119665264654993416813384231835580917408424253610348039684391936984605602412363694285880106417875292579678643024430758046158334408494071969880467584117853305135882614646987601308807700804465892950272599995490584884180946126225294320256312636541246764076066668403755601363794435165933976598594393455196773115541892803762435842286719657991234351974250696131422412054518269474393594085156120665663335397834290990760421535744202142435526205912531747611725690808345930692457583431432899624968536019850107029455290295775594810086035673647645826545076686464175155648266306537970555463258342385377139240599361222949515285475970726564669461787542778920459102268128318728708232862226952314205070728323766872797787447881079409167055066673027495126327447178501984905631571003511303383053509213427168839539238130973440021312205763857773041150456337843599130390657082900623361060058928789466660098677774864073134094316868564771361138329586074182085916811652657577828589416307443854934552050226991404757777493276560245082788841703589130996640493413148394917572066530353461996633740493521776306406221466305658886566265014144471346149122258039221289862437034651897018235469174656610752326477648026562572151685615907544462379797236579162082429632164602552368295824534634710055395741340373926025196112289684136121663689890930553126033223637411197353013990558600511603828245210924919277908915199636431799337543247069116692063455133293397881465188831346288704352235573000911399584198079421397532995370845339446033325618291387920453517892156229857600785126640003853515466395481195370413410117986250078863160543705808917255293730848309389069704223143851041725827432388068455620937399251997656455343975169971075029701506222559435922593030934237733156888392654140264607061130074006254800655324793372509717001172625088968896968352506749247129214479389041351370181499949297363208628880093765292757325780118881333052919351370050571346025331388458004221799494810677611994481083049992685247929798575065666845123103424726997438276341540289322340332366232912564133612561303035925164940070565016406030425966645181913839782862526145974290368033129058663058791468168171064172810757968223367190942474267992803003898330160398258498648412343452716151832535535269100407525329721338262035766787054810290848354966538683463623334598317553961264914717858361616259409228502664179907629030275089503607770351002285718599977066904430786732536350295603301747454355483997361323963694541208821605947943223228788568925903012216906248086120853380496741400361510132292279449214475573521733432436750660929292739757472551138807893601175921830708966634116014830157533311681036443960751836571442615668466026381281744538675481110536097121126927734610689586800817748665197264697551863820543451754375697685191878906993922009481900253974113234920810049962743173685093927617101456033460396612441632577952012561798258884969293119710407386951565987257686001739890831643263241872603926069509985383883096056023336520728707241694768234159613208786782697794215337553508260193215150901134980806638534939845075963240163018413322571230671092447164808320424328464560434919438806291564548716586911453139255115554406036432843426415764811582645240592667433992777152750423679368198024524102135329343933493858496829754670985764000991884721818833199476793773340317439038094349646987529922457909266105911397683600187617042451765217124653260658511164487379417302877551613640663800597330486325111369385920043000981841020547989558672252890543013421932082381455898225344789657748467338610450856947391628521584684380287677875103613228458751681881936144708932904385845988719793506346828878670065499899276844758597089965656728513478265802595067337598977247932149466998973941531456428587055659040827886172060840068688982520173362993121650473148443722308261696807317372766568430081886031581977545203112576623430736165843336714695843609203581056119562458669590709598193011800371111406544121264129251078406193043391279113402066776871307591694788662087808993278435330725056610856819725423230068673297374989956468290169649897052990984765759372937927528670098381933474077857218331550931542403866119081397365771382700755746412284213677722559775894895076897217259193081824143894807419917536300645955978952715140663340181661318436608932806011643163004635292094899292967346243854115321034887898612744458632673965440535779019968776424263506500249019998306140282569265278917239513572830186200723831873033405722984845566938145877326122472730256713788234172626345782639983467118324805561509986148165082628258038027933247665737396221310682140338601170655146879011297629746350998104949499530964691767627623169935355214126131740816719803430235202329975697175704402024058217513255632569745128054719567139805814574078647724878509114295285078255869464638699474258810875830203090020603889075224124930605538205574001551432081248363741029887267092552509024766235810646572781689108065124772666925257895359520119472921845281065208267786877000457090238218529505159267404160695933320085083869681565092060808165328625644219725246669498793546432869925906207462845369293027165434034790013782053218009478550943881927190638296176139893910436022483171937488075817854537813712815578138981094087489500094873519685508279612286839851177785161495818682737458310102095913430390391601342973697863618459053095914411368173700096462289282324507064730167268803343724310244922962809704264209108151272387585678229589325610855045437096158642189020377353322079838821808697139422126464976536305031758700087930839933298372922498326711533669691260872949395622858088511708063353813277729779784254708965002935415301922813648011908698746732459968545006464475151482380986014177061398245882449881912489278814749253683205493224172519929531094075361560757696851971806330482894426543082687255395259761200858694220941127541170184342203378838938932933998748040648910667666918500890690328456493755981324662645518180325980748032865250915373930960923568784874780169798016756143522868097735326218725861171153293370987040050840857858608827034854393525348992848489281689601639512900532987297522818296699584810752034936227445574024428816490696074130270846612292294163891375970455922699756189665582005367951301169951613029119330666491980664539401684593368456833451365712468057702924877265717230712441739655294369536456082152258363888657265832460916482713138990710556019200382757107876738849849688398630349513993256016962290183407292206304123551983703091668172094657709995719745650001483754103581387956297283275614539118230735810015259893634864127737747813404982822985011920722343999008954981431094500006176770321183875445875520604004543743609645503942969020462676825783584186443867504348886891873938925002976033500919068422815122382711307107885176372253291223515964675546751893743287023300779333909202031837585399900754973350082542572866830950902007035707815287078930219581319367448795388269638760160061325381534854382501111854304404783327853241934031397429885266910518462055953212333579565117243068223447391148220263425711805433178617264805774197802162550321271079403270961162895418859345460105517121430667424878534825582232642959142836861477995820373861387601138316568264871891341137181637072899712905360197034284718664577978926522249570196697312341224674911236311813313104622195603373711298988436536418683905285818416399786585892352020227321142984499025242422092413290060555184919018726574393654035140518716018471284688910528777247916818574351708493772259512949729750189070497403596379489942351354673991300116269123759651901776010304698503374226195391032731313696463523474610389617208858978213342875166045160314535692354454836327483286822911819840182046951776024602909289376053304396440107550957855101958931209161685853513160522057113247695066051842634100102244446967763974480367092937015909642089098482693529889726902140670905886848418775409751997750432072600307331923678869610769976564347078156266392820343302890933957160173178521479625988051023882878247832368176908214536813616737013945865900850072380629701747377318061980572264232398812663422261990305541842865570482347292438989870647502477727653411918493836564079393255012417949704431782013825850977300896370563064694877097417144733980423451052171573697368395687048366253009245008112702338245354973993778550464384813697068641827505215758236349642505700768437311387031609780069592595670958783015751317590627669707773048124155018627695085080884291938434123792385663158675261545298724517875084355770637104955043115426879221553910970330368347439327447512457974681592190346354097196187557581962168994033008714694050712222967799261612932357639849920994920172355094517631334482709612180722645677347694769015112184055450690091865366679961606588965058195570684084960842086879488426973544587744951764993483459335771168202985173502110726418861169337436240381145051174166982129015540389647448117421880997564298688180267025138493168351328879651813605454841309478490026499454731042342422364535982927650747142437279201979677179534139794047101096304884097276485890967217307091460309212145595229820796116018242019699405074064374562988733600609065085237815954153078350982792439423323313353042703723914010757324504904254187482049411369081835761159342262285388588158738732585484736901965601239582205826817468146726033811798463836177572712013308083248408514344957881050367181163092495822826253284154083971277271850243725424284201303037163227734900841865357764867460447421461487853096715391770216826979060529347155722840511344378876078320301676431647017354487458977993473681757902348692015036513637831782454066186986865477292486244793130636453275687736368381546275166870291786416567373504406707725511180403523570357758405323118692008859425385740458035191566486894703898585013643444026029037388964170741999682261820174103117531304414556660118889631630349658714430541563021720656059531648857358332202709046743730426779729935005093577887070313531295718521267022474875617622868220114744739133667406504784646307171160189165771213766588328881554290266777003472679992423068287792700004668673987899705392232487241855720819475172720502924458769555285332111218346503741837253400215191193630041399118118992821556619194190677126276411887412122205263503751368082284283762544066480341884928557988820357243373061946304181263465097844364723372551029228059938534333075254662423798050418054162408300192701050959954312918924441122635357398373358777713009791920960591521752823689148986035996233189340844387831641068110547073557644771466742327999606967548765941941754213743578175965091439211170938989993021329059331842784915915907724372281179680880630824046670423844198941962479977756950857010257051300734999585394638889371480768194773416024759575496600403682107698071365054586526672587554411063537203330064691288542712186206432069993870879598990531623786297195590323397972308497390949089692907282766795789784569009115672273749854441882804839372693911368949709934259552080967844526964168660502499747611240239257750993451387796711915847880286410588833089694627848149876612297619961359865012819897077343499108593966820862532475518596290782512363407964990021328737505213773685156631804705300429876366167860280390838083672223367152369892185123352789710166170830602727928597245835652329146799552282180545128523655378344913383318556945226882028556244891691981521111949626183615373028848929166479958964142674622162603642847533662278055000404737162348660605327285812888875377462159927063206896451961424290419363794161498106699265640549246356087915183996063553185349940985097733561955454852586195299488875023896877348828483266980284203784659539638254734924863039727625904534944734105316445403981811829030628200013607951022523982567447206428529470077988705949849484356076305710902966005171463921387634931691848160782061149716870333890468538216535084512683102974150400578961340534491122334127887549123168824676730421579302590146252204054687070648988182810673494968502455481934249406459776727062891181537904621025221962626920762739785294218097184529623996774318411701828645326102678649518939588412781233253704875258283249958986120692497559873998282482098901118784387575947385665555369833463931387148720327279621364012124419358839655880051297114052353609326283622194610821742300525084756757145950474865160667469008556528514985481584018709964496993309855729166861956354997798574964140551497317473691493992984010781020904581779668344653869307573310625654901376133711503701464066089475131356683088846631504639539539239446742171601086994759504407050141295964901262741982245406671701186035750234026395242320394651589229578358129571684924539202757622756058893811788211248734965337210768717501127735255617298423677829464958713966519135825619263323797053215698979867014315075550403532440892827096070460038822140722991214694645936140705239548295680448212270146453085161138481539562420049229152170559037143563100457977446788884129889865172958480180310754892236788332541497308273352359581649981426479118313632267471585148443447270292508352782519362539974747708121213764405055770090316622374852426951826697107162963983132979504501462958080572990619607396876476524328704785915873902535256963885502862232616408164920571050979630154293755064227057494851772351206175005217701735321835740215455087095069520955729377659070182613891654645623132593848365644937419183515297564616953285896151869047479298554580998797572399165992673447984243266214805989367542200201091662772147826504941472840669372340297584394801095662438597008033773853865186291423867317817414271973720213690133534726723331425978450807636599301057578542961389298895166552204943920246809944406845998911389983501323167371754005564850261799847428984376006231162061405004950909737252248648025813961175055145723735059233600889546418537294123993245165176157626218370308181047005849875918006288354555311681737810019703896342416099263959494817761529564878342031601118448228653650453384893359629955321458733416707802630974432371043122222799744351434938369520049636895426202482521115243351013888121961036350897257951622101043581259994813381409057449068530658203071924892892163578506048842131148399621341527192897362751158813619838201719344974246228633833264259527369450222694718535757197071488138949249238772628772507007290351335560020770906076546510025439555488249540050465891499903430356833613526578576902474323816544434363691503121993970766769073927307378151060215018101819313282357409047042977100101582542192605770210520373812837622322524106170106011762459614262245481970978325252353991188251320803570655627055403393480350855847762584193588136895101408932187429590141692479805104526591530975360363358937851973736392432492577040739127730474546408540330215494830327484484960704205316303602748616909276206864670202071805707657183924157076165753802406117509511588287234248364537583130271418056114495816907528048102224306370061469681854982803432973560489962293186797944010010559177264717291612087315507102317754360291869377271581271797862051700424482044783250324323934904635187941144120118053583776828776573368712108783317480661694427795991016548165056441511180904825326906778152691167158534230667752212354424553009994038108864504511975944445825555019911887105021993675870128716198777285513543798453133536238220205621048277303311648597188535664923839021421268778061935218208765323313991784006086526089436615108156209561154922356686108150646233954954656639840023409937105732063938559885421302206677252105956129513801359320641168908113150587779627383011309454769217660671349918089727525328621821031430547506066749431507868933928702255374412924568983714240751386733946465991541553494229268075012403835148389214765699273904495923827804962349025054254867262383718265067769547467477686495010974947184216007440096762872848902359287666429837504128881250637010242655503008234659667668521414270666522450339750602982968638696371058658993462277123986303565780794800682338163431683972679760900309834480358483341307994108490613497175887352167058052786844316721822156958641112296704355155549603697354300131460542163780642997093761780089655187860808378720844049848733534740030398585985194190722502916612148329857478387760339974133848981101495314468775608251627402335520264544228911244058084998981310248784645452653784025458189900856409945470526474714939427818719194030799466167376483344228993009435641416877681043068118269157076350492707994419884867627187836445875953127947888792593387054265621105755300522007956449595990211874794251875170978226558734087527927621773366841971246003883748266733774602962936915928679886502484667267469543180091669858123582673481913030293766446007627383320632192990194680055142055171409139436916431467493955664544896537635942588552737738151697928109726312341074726596763578810565344462568097879344622076408446896488361195640078730736236469170850674703066402426207454468326656133292463144587859631733996458598524360738941551217622252955084661781686386447662902632849163987991189021392911847197242495072707483169383977001269516310064605140229436001080076048950663171868698141654620363650954152894417557183466697228773797407676727080446075599169127672524574238837662317880493678178904763502293637260809317684602952511125195421609487895375129534152549405654200590076117613364629799963867685084843709119995967115233327790437360413604922918341943321680315947165884113788131196973087879744068119048265953960954791696642880084118628584621973902277600056808337655089218990800788228043784378682619224419322254498833036063255386256556827000468281878686617245763825746861024480768605599733568208205948502996168771039706340157090826980947992584051657059046793332815740007135857235357084746022811775374294415248817307626809953469041143203834036569355347137049675616741177935783046657879223816863384148867879787503939117400821524293987776942911205133211366016500486810478449510451563823563404140359420010285130934967541000113245814495887531400412740641166489520285126112483851036904172166595462790367946811319622770370577709199189985107144491607994740534855704282607470702977144952339106448125182747438022110939062629293447638068980654158021132137171783149303943589456067786230104948556866863721248582413357173344793645689510696842552676519172280132903419947606166180359340942981553281370899411370422656270064620575926902914879833761446431240053218726617026343860237374431767148072913443274179197706103764195577860487358986192040662170736725265562951934528239635828979599281551366177789060151657222258985154544799990076144805032725195405920196334535110157142732047660032038977295866128314349153500865441247337058789458718938153718066470302688260076252842500064129841502137023420598931589227144624020852013755231635626279527938806982984389128654519544096051899188489208976853396995921828846183601170023132586053046553549097435601844623703203699105417741915035724153744188232991222399914765038536043190897594856749716792208005954784108989149741873537405753312178271241823986552572992694685589606260168336123245525093406803367856756350339489521746237876844879059701662813923010602580515301011723374720107726450744819668004184315602151841016219131441513452678899010459571904531718663131454237728567498850379728147196481297959256714661227806766184383096943733286145167341031097902182727573568029012771328455801698600609121743047270429265619702447966009218596215102368876952062975453210165661820236779668073201030242675431508985170873002269371640671599794036615094601332649034591840749340204802382704524419532901116031479946768785375723553656665641264266167517821406997372286834465142950949692684094256995545520572443274655878717151223981632569071208266872271671140042187450036683929104524529042068032143618208136061831324802969183853377824777970312177526134008250931120229987337020923030826351355568784927635018686984691187695237366707083200264377359368397882504881674007322009905376076002703414977786435128818239319984002206002221546777758834330594427090748939958570253020127323209878004545419429376099777137632237402022253269242090555347195731674308663062106265822131603986196787763639545579464021911529261809668907100542375447386172229995501021031888539624947982145530741942036895986731845915094282807250295772475688493904163049672092340809416840397310436817017064228529333645363230170884532501748878288625753701788058560504443126637370040444743127990747345067689030765702832446720920199204444270593138652111816174723277729258418888659496706527223567899576596363346740094238543893015021595783059735363507478087821925052838470039398733276807121408161335788882027823641201126924723324377452455083620259879335784728007020991181329731340600975948478539186805864936497033648933632258098707507022972597546243895731112885463431902666875228616486570527908161520223932659923412061638283172182131879667096351166316200203244627625613026384664078753092885181119922877045317622090915201400126128579080032007924047523100358690428174105982513146995119749363443333276448471775658408365140041449492973386675973201370990872038330330356453659093320869202838263637373280111941634243462823293495674256531051578445321913678301600406009038075553737462252928033332493694850413967280876341273775862922055487924502531066623559081901238575728008213007918078596039628596887283926210206588648307355519230616045148303204184608057272576981250963004140709639317230330497143194619302609412584609157273447463877799170586148181024229865683596923472613813752613390373553956435858266785657899663147193069097430221382770530360432822529325530342849678073329205343401919620460642707496395047624407339287872493282825272258794595877600646360400794599008877173243407271538537422073766465982244263587599625296443958668804052907067770875157388313727186158943269474042146123470435629884828742736059669327198389619635071782923082374408121836397959250172451107270716040096960553313305856680875379516581309898447657710823465877560590624263111713483577105209861857101783604887462078342131659540117888784179126950041323168001725486084088245877993590155479489697188776401291316857151839252198720772153791030844415780739682244482894717782953365659376928500962017249900645520659183379868942270060780618216471748778053698952663422567191458405891313056287988799766525074571427317675774304287621163321451138995515498382393613038316949339964451021086150768588453490698370780887939093582670611906099007371942569630923931373833952953929314114259867605917605967088666195749022949924081503475553464683512153157775296119911130297736591327616878416804128581734596169248263761150422643699982340331647310417745374118026631817716128805719266022737973802087302674619105588849015729981433863029981060454963618039999893940465083941183015467695496447014924630955646607756407844900222893182770255462738990805893935575338449904372798666914066119632194720191320221526254225948767222558251316460956200854207447622865568573113740604602290151547878173299970079752182529705339590258951044024579448475344151521285982549754465215381420560002715417144128300577440871303388606863470099047840673868033935605010556215257590130885985187719564781511148494928974211823388186533573218088965855545643716288926881823168859565540530739535761522927076038214475405370150594381409936672219592593658098024702685892775755795107574316877569569033391357109699005184777969386685215695478894886374972458401997739641812249347044897288013688614135545447934601386066592665847006747914009210888600343347508739744319870352378250497119988327709830402494372313080700363932327889494226593391268707072705186314901940442477788931535274557558681581125241820891944720502264957966719484685058689099070199441702568283720129155617297726806469590651399079141950563310994261918006213875257145204536901329475803992124791075964132464688815201415808539347822827205438470714118668103124493801551521117074841808345151303821073942201123335747800197153620763659936858699059856728933880186395226907150992150599328529686395533645245102141213981115457303313457088557669130747623911854546104427133914980595569641419626006405128921647459233134165355066606854010803604703192970844855256888466724516720897277188003284623610913064765335750108312029238125903862730460043489787040408305435343544270082107086289671203136508869790088052308833924291805681729500789744146622134193301434139425938640499972733251811963926973304753533146149696746030005274733973819339951649214413810871558198614047625065760175680916818530283472617756483355219127535985292975977117139130935981015513569433978606959493486981325207057553759448733828885338347682280222023805827825386852544696035243976869469034734778963345470989760733360176411096545115697612677379730294613659877077982840139689684799435944088658686819807567572310087693370361216959618022922010674063758214716659354946432052604972218898755515675835466989330993376138584068827518288759911133686974929508432937999186503175699031030471633779517174315973856023877880139475650970241597605343010865031018571057829314603715905667860200463945439589669270580164102845800201801474415236760127604170261546833538934258070866741048187440228836582689043495498605620944836160479338569330541596084074849112248731620887795368218637641988677151573379092122488802426588137499545243772712300277731925209306892790328656074218036949248247615777603778362470586264332838265080471487487328255844354969901249502910993759077661768585733425246686948198670916580993404640715573590938877865516995475101613074710892909743876386719613759019737786354894857357410154746745086995692002989982578033331978168912126453700817134679979508118191756518305447836481400336319009528964522237478112484723769973115680619658710333013047066598152830347877756056380492441613138882932520159129239682884085569759747474364122715712080835825845193656924723211863055535597419592930328902004548273021498017123921761042182172103220911562030987459061956406846570303755663811882650470570604738019438752078773843104512608132929133864788745741455004662753254151638867155065657535694786453442358250070937766607219486651717552449186291195414392746310961695640084697214837168265879477811655508766938502662215384642360715187824261872086348839884822204638988097198866441067382231754226893056621482797729727912390733435653639087581929781537650668907808322650141781893422880047522699177493735396961836596548988094296626179768534060772298722336046182613693853936950038988810307262833800801096134333464143722339423935146353470641364531401061048033088146208415901169289334866683904105303420795541944009559182687986106224817104145141811144961638710544903584667448054121470132577007140605934312349337614181551470296667578543730322241620811185379458350388248192569349343661783014049690142140668382270762722243599620815931967587364336452670468807521576674253698179087394451268187172972669179636652237425363634801473288205822439185491069602789018915049149240214115464467483935629935610079291134419784701357984134165296965617670445370749726193115486524125966888114107543579023056696317223959297301159043644838417643891490097145005429711595635274422381924777649946724972802575661000261885294328550938129927743891873750652309346791234397046316319705603835755395754305086754286293608916819090947032975407606076895688747047822146870385609259759031246770070422519080609373396305341681888015969816961733736405666743964082654549598241726268468317297765662072551972126078141166523049707761615098164687237018494881079767826375344333815159547612780326664124507321792653685309115735201822034838995872001047208236415540363043909360229033926825440652211487647582842832915582516421310038315538209086658432650704954911589285700362843923243991421501963306131701893497799862948108766574210445865728209085905691876461089987364546786645330199252021757634742576019019066533884261392141729039827495636265583458668232538031077049606440299313916877073998623247991697299438524657241670723056460842914152332091580917244382195730931452023263622322474849685416838004296285732880053053715071970735961186423951768486185814286320613323363536147966315674739596588202962069015211702541212747729363060496138790299162574090827011107405693658934351084317050925830211471018563631931917690834134136270954498754514326993161292429177091840074859143744760677386608182962033511977805132202146658042856175782328617427350381596354208750562494248166727475295079501668237739184119645823033931338176179342317694813231646425712262381484227149266978320392844565524806682967216409365751398397775423575878665966358150695596527865769939052161735788982039209726403440698869278370016728600807271496854808122217588713081270237840147984319895489660613258137458122935288890977772713718008100607781238214959054782569693997954761703040372366128637020373858333322075289573167236944084793044252603785380122662452585907877495245562241531126439612217905615740752088037936055047799244877264035275325460484127649576018317197747204725802821654772328380079161543090661065141916052485096909744166785330000167767938105178300238692541590672548408635657360041010159048083413380308743625623304936250311873873973598060435194230819936691467076167194367155564201429179820408470339372931213917811878425181051903672453241608764996209972553836103926472478104305297971045115848471547520323794882900291064340086978191729463631784825340272907279969273384465477369370852404131874713966728672918876299587226001156281327895863234066056955656974485484338529078347411233217447589140115088643981577655544178628913258140511707888662885402255620816153835275891461556089991779430764458345050747236702005855550050742094362453246066502726729649599429176304611098732803453148753047301163721175580619461375447689232936169642552977259078031849527380298968678750293143957726581830477511552478624483256369842531334188855162623320526948450883369206116810682272629473189989627275004931888363254701326188647376230732963240046894949016896274332898361968684965755034377056704669867720044558541792886764005088917844657396612483218315377532970769203745762718108115025165895626755165764006957004225913374400910041599464180567498523223899685151363879271524185696186646054884670361502583587935405832826350340871975474933241596425340974970642991731119972487221187726636288038258144723716399041900598646700395613154615904419648129122189511340706866459033126736627281949039112697745372660961775707074045857243662530682245874288529268414336223053349705089852934312643200377491589801596681499760495728320986926400343020717271683034451310360287841922627261434658350037645497454616814843647356389062666044614187710437168594331306881695884254410347207495668898584256621282941840409527981060709058019021836432042554086352965152870089618404092814161211187992201670453057496142530714571121800694276644410047686626388753820253677845217226778359892382418332840882763645722030741717201258490573989248807153367433153550098395874375815231060404738864196101467712049098177177954988721543466936203349717237023906310864811384909535928300302427137087952479133553798995355442133223013964524564653942951093449291136535463295304896654096123221876309368290732269071306970539434612009598693010779854558459497354606873089529406808318219507774065068158774538244127330579236683709561005649335722885847982373691482122024359831944367706260192179111730528314798481075285982972433989147789709983260800071316086115607236625152300078179193213518352325619658285193492708131130298220274761030482356857307918795499704507683572833932574509375248668095779004341263678845186571591932456974341042745245700582326663390827244331957868349009313005708512882122007083633514735957147585958829577371676445281152607836051266557472049152980696733670619078684028281794824602791650668419908256474022935140805369425505400834886496508538109127900674404567087076120817334730532760540030131909054072752935137107446069003538846797117511661328363626778289258750573121867018012380088977832054581680021662522363047754862912363573719559441779901584067273244952885330238454271007034818772925361241582006772698487752263547889332710564736045460578053730086426835419942352223508030438503473300953461836049735381315554594704448532603797879326452040003432563426570696747944240703622391264741432090816482363030958521221261174401414061188998168438623036049999001441415821644708085654458712183434923075901190753785564576582767735156309899907224461028962915473031721348480051089980970772595561215282607527511040786334837547108196602772131531829280082713118062536418958818400228482698404251323909848052660823537940242323831919058491109614846270152022053072206567050802963697179748608401362281665927629677052958700970773638652172921061019018293958600377358956383015827738294581731422772835436023652047675703294299013670481033766426850939570584867913528178717340513984874151150879709727855119635084880354501373867963692491757153864606863383344477976897772008559017401214784982777141190537344813697053917823710773556499239763094456518880611307599751905707026432949048587419517471880187284440091396275045862053585561145025571998783950894859701205841601613808014028756398824860798184011055197721640885342949604824991601986777739883671961942376678591459225592726975694058014002454310915782046665377409171939071082937928353935602051535721049490101166078314646712275825817339759295064303844637575042322207910176903878840639035855607745048959610622673781122149236792943832254980362306081960756130508418482559134862009639840139114783298850318886477428644740412305464379342970995397136636190951163439203597761494975827010626168281574353709945171055445717081832815809074499702343183918648916044027055766553533294136819951082047443312227815284742314451214971432155662979786330939160307071081854998413722864027724440162806734352973588715451456956958380970851862996823978847441264090066115144984690672383351289654757517890534976821600429989543443579533570308903242695024147423065391094964483550958671763620598500609861369488030803240342305586096197175351175366610054706999798994893023757756813668479237552319929680145805744432400746079298067814022865121950513416832782504647150515803130458645538830127447034385214215948108898246108051028018773241189235432348236938125182596471853190063969111712157563157732994598802294685194568359799253957160130016687178045942191379699968570379759821285968866703073841347309981229570154618298629035384228690846158351718413397132047490229071573625599335722737310291078529622188554083928709041042905618201948630328961209903542456924491373336373459216139729925289028306606659152860110474444094494836703042776181945132689116866155144421239968508940024119649160504343761079476796968137786646133973706630340953748233402858334548180385806820432414186037441225164975514610521539645433458239053304284864519969215586479705383021207553341109430853003537758570949739251917778944767437000169188533669203667343383924781397859367376190339398188218143209029710990787134624360817036224576200318976408381953209136846492179699414094803927192840620801384008064285289594980178707371138298789431999789470981953816304615216057576686204771770146146529824244560867508049693083450769064570472338158172127183991156779534587453224850409392929358278884476915115544204912193335832107072416240542510808088428872433805859859620609008283761582574147770601557017520865942540165884933309667449154715803100881373729392130191573200648462151861447701743568977406456079346312033376849631989862997431431973107787140563200960218350820689252245686937676264974588620477282703756041471926624623435921922725799123475625115092886456613542829992658946482498343066526196112772651103625138309867008729777629416474936105619497513351130663969084018040175839602539474956186260714560638945737674103124510674678421815619807950223510257462355373573868553860921148153451832043065924307743965100710986347214051988837383533316630729292754239376910253640669928256936615233293484109398397465580647887021736939792703802043486527037066676460291078973720361269356592569376618938463110266509874924258460476182807337903405503194046968988192427051123117870129730974717971116234136832811796660227565099875610111764734282483774708763845539215849092152003171721559504038629997744325458456938099232101600271343889483591622414670002749921008425776115084147909344992061931807921407180421160052733059918938015860775205310020125008715871768042101787070872542372656757555866165297246032457283500065803687354240944603464083736521507759527700633063673140633821045037220790738338615172885313990658858059756616495306349142022932616777266474355814177428323126324767461960308649081376488143283219674467825970167630750120736181688750952757718421192158793035771986807505671931469707264814981068058541963920320458567067363827534044247549533123578139846156698471946559022461717091588898132618959950037440568027205289436094732586533043517216246108062675979461642779511948674039962004407680366720383680944397218205030415907378375648019122749936740875164379258263916081491273306362830022886146432297125540308735851430410610959755452588515791084232136047591413250903835336512540617071933147382947603877701117923323142950610112699925115174945463033594320571129290079132527363988750283913979577581794917529059464076233076609334435706428485253138447645964085516927571716993912450068411899871720891420548202142584442933887783000366982651967646827027263833210808076886395439170099462853026367527697886860074976939254567147228053025355178349973592669100911911398738003142289240843106370611211033146830633016000122745700503169725655657896966352026729631659266518634442028949382493244816083095319308255807535381168092980858378076943739719997495885767528757273323394382269364108585454060253253624542516388086581339044820594097776444514980184189417896107684439526051889517198526865180366102167325599964616185537425797335207150857123276373612903639098093296052411101782658261019084379736837571061783665002212890761405427555311137816853665610350578537301510764562746571872739449798384081233903430296899671223550423737627733278067796154149262819034391426790988525522532980830590185171643963605890058380706698275298133746278157102391664388768364878719919449096141162707763185515196799419310152393656220506193764096680244401719264382986716140331234801113452110845123386171084117700297376909134297058621938748396875434401363722212582671456600302081632131037973652321441864933942821751106884759358629730127397331326454815678513155802335843817918907373089166963648835292759659910456492410782517313685478798944255520816868317040156221701427309633105581481612706742206098379872811833016330488324043430126058793612453955195904735820101334950654363875237477851744771095431648709722374254152117260606206654871209796849077154399560342280073729379949270849716650123999746757078813774876550645143729992416327864822058979767530457323436725600662850906453684828759652621160664500935489312958162875744178474749684595453876620516708836313151756867068775934051027544482797584219892575312103258408498031833353401402983505303709688115669168693025642309811049979004205405045060820242957978354986235579207681447224080433821516041005782157403043422564769699441242572865748158130668783888178542412442290358817405464287516806799705446094296441484893952987200314633641251155033617863332673645604198740815792526459336092746091284960643049514640531145192133029547158603226445166889225326195838722802290233593245664765965715104682547250781065299805939140485089878159393670580604611477511969876410381567984389035529284594697793266854259409609685998220826322482635693156620956337321141124359438718647601804997822581228504181029794101274554351985188350201105027143713376718069332562076040787400571593281279280557738742093340883209735501138517779630851242782664684863994109186697829043207575430911518719285452119752588413038747872037099558218161631561323596513643932754015166294508915564351919008442597723907773328168134836248184799635518835850017364981444306890031507905435881431224568175990516013497345512740775018442419090304417755407512492613358292733049790731597440535960915368841370845827833090880405684508349396955350382749084844631328256289363809799460665497024964873957680432939982070310672722167052460022553408784985634287440212248307565859831947416876576094007416148443938218908205470834252488287578530360934743401653981462651116497766675350778996141268872749041983266569284646844112060867632844608451240037762837610769255644827776972820289617020105619389724468256478133696234274877411391399390907314629968520979326851337856209080992809137828881960666005270967099146203819824894223861057149610298086219293426014078529922796779614244040073186995380506736928978147933540530449208213885980625025293304297614130852012592922755010589026650544146958855501200540136867318850611158657983470564186487446402042108928138512759757640197516538416780418406239893006336909265812522725901679139726389059405518681694712308219003589939653356298875451708890317812703008615168086046997301533298660019698794560450466310003025621282232290368067429614030388244455784976059747901357207047947351922838373480984309017949320349388838125983181446376135224590130262818684937273988830881651264921875520545717298838921709503775713494815612296728620858488077592787982249128186128958891661709491073702673210781896474486424725754271139274219520593917210934692811569425402195258754689127701690828261734488648935950679009367920391922729141202649044323344258641828868254693697292576305834945573510578457924910387417984346934628645554727164501685721201835039828882497310017964522093403912755946414386111175108230204049179259977557847161851808558265369752949690920119102159687156738921144518887791842950784825878010142468872833320122874000249187911565610441740472280925277360089923394957128486240726597304387342686092481663320071710702904322175249401098774838878659993456358845656950104369096847647406532960195820441173835112370212267174387191742067692246619660093520724957676988396589563135884378057215674396816147318531532742737985686474044520378413539327361846279834626332104131547534707149683242021372636589162212935564285899511698608405759944837043606793816680112472632117507146680472915433740887081697383756914123807328860347714837534916321319147460373296732449128010669636778510859918239059179885615107700987755705024263324322217836816236660687376819749281965653835935537351355533440038259581087893597944898172312283335413672504277990905238773051524602859937600863507392312569496606964881971369204818935745654015534348412257034149364896486766829462054679263052872160401802759952614389013124995261730522883140154193030441150001950431096494591370865722441149428869397423160590700236332356840681036374946997790721280535378009148945201300284631849415540253973205812415746905649872114457646162188773667617430729689775083481008985828558501858039472009214870814836349270481914480477145713222334081286703860316760759680210082594656043477870510117267288889475512738318113633252797295749264878494792738069168211330733569832309680863252378127934326520170978709751852497557892824516211120595411221322735409769319728178532886904543311350503800259380161753355879935765253126438283706551559241747255434443946130637946353558186980940071244482602596224973024913821119370548451960444344957834446693544308740666388165537854023720433712387357339443494264837132666506110297292645695354702296588084011811785751449157613996713076909291331872828451314809514616989458503496613287738452000124038797182939089360293946136963708911044673637842310226459700278080423757577141945838604448997890854082477550845596761655780219781086596671028606723987450710541023881534977508028876265836140690995342133724286277363481994764224576113812019464967242440452218173107746947736430139944074456780775405279053237936731976824877072457598770727631842826189712168196816804999902606154951314081877870364698711127881119078029388304383957288986886056247402132336610217530080275169972252743048552445806653658231504710657826076131236803029699931940479311786956661749488791889053918955121322938598723476420950794906463377895331487818938045706864088058191832644759982732971878237075241969710528897434314844718772167196173081601993826336214611828654350003776256278140731892085944704058676104946218349386515102803282289551353803125037630054414428899843483321934145888966132224869266359688311736851232102981702835960265542297378287890201608981139854097806669283213030720016151780686632790232602534712724450726975005057916827587421102371255349672908167825899085987668658555869683103967439133576103722132090220571292546270439319063662136972560151121008992142502252230916288221192314132041424385774822196763914403732406224273520676219380136185812236519725016667300605406451566550406559462789673670234893958283722291011219641557943091704007161734850774523119094304707913549718754625021857221225968546993150042064152092769279385582826310899695092202771757999262563738912827661896839561530978120779147920593056680445906870508272637782688432316567463608542947884382913907567789077398818522510571257856093362881596771195018752173041406558568109850177052377938929378003831082986885620438460288605601218590685446032877161072924428201761346133960958081155252651585201173368073926579345561247666745034108132960982435608075466919191024967128914160035825024656203159416950602072463613338108172510932639895075695568719604213027091462584757309906973932196943683755316411757367611736223857959252306596161352916932680004061279037183253489322101416166501281490927860195809279317296648333754734016595639275088130661720853541824271070652841375701176035627055809480589318253993750048315616831192548887959521628442092598301780444540293554899338867608185248821989319631982540276511094511669299100175400142433508499555237897241432228920205409768018015360140186282129443203627207732232037008132542878363115850728579221548348826301597711541624667551810560611551664533419312046214443591886406273174548540455030679204100799301312504069207274392191630474665076408560920830269681683245992498123132156366232667227820409651398920274582457421975580874401067495381527814922086841863970363603790278603128747004930378062266209414613598546096733247943215070842916307062875524437979255827749864919824306004397519149080646658428826267675515899660940300386240390809133692056653842354171068884283058818761057085070364693486223214377598439970428241809726291650672016922692229427603613407330095558336864437021767853362844622404053636429542049452947719023686298756636751006764202069238305855943455604262155177147107028814274347080302776608392764977899774282043170879683634624884511716349236874049388652493235084605145956098204215607291808978994170644893961178650380935660090607799890206978078941277467560612253286077158042586279739820010742783766886535033253992058431761198584894748417234535005056063256186741324318926638841232861700100735861704471347936715344243756167033477632411186192819748760227519891085985584897557863145926886147164644549109696651112217655972171999721105443853608890525581003846865186478437091679323029300308813459491737202682006624906428794005239114890125311173332786814237476024842670034321909879993825699630051261636283753141915279755908282147762416856502383166329636341753999645205390390136723255685833017468099805555417818766455751583198836355857443858380577904704786533219479266060868338694740898997814857137718802298565148666407742727484835464133524787451268585357588333992098678787576882216433145545241114437099085376558043691494451078057538058157161756129354636081990376946334311971111947494049715855041972880542826341310254435162678053909502552964050598847672296685089798427179641311959551099023916624853413459634332234953938562566688692336248992753990519855604644684224206890245283697910800050447528672981580740595147099214286697137902402744970920252001314724834090171369279641337324759398316283282582433062534077589176453442743939912740919365468754592709359370491208819230982161460631129826570698282406205356950923209741516052419888671549784938321768006236578764824037921094061396981729777346821861535686746080677280869206160236057706593345724886981348650796933866523161576200049259559437043734440994389539404768235365691517972863825928462538111826161792319346932939717708352586469091295713381716657936039723763728571984622154464683526332255108533417900483942005167308840630184411062511010253818154758456214369039852974736230389360854002187184366912129383649073138071658491802028872167802180253501407660723928805570551029007598898109992276778818368167238826987094477803383997158501451867325338470176488478331286818957003501250144865983494228964227632934216541724017971671547316706822445225370315251489000979441310787082848012584109525863358097507668454629609859963710323150698310793404217846883499700806484277673204836906640018763199958119701010275495364751592728884048182043511172312972437278835725585168492237251694746115590746710474438730114722869498770672412712624771433171193373058218240130834786574876168327230589208819029331818504401431627930552801431974335437315987257024269284144900740378408631841557510144195216509521025556117143168840294630476616634982632686326711383499824569478515587785699320209336158825187636054253410838615173623170867113153032119023088469186473305524233498556838674860015098585144786525898419158990253158612082196156290013533118571714100935048372357060773144122967042646612120867796288179247988378751511550060106349081877067993225563743989509607728717644917767585611196553500198606062037464000630160770712299078868317867849543701833248959834145255390229054083954796886093939706312187948291954315550686820330419420076007765451807676164969808495404084807381418055208868861381582870820654682206171535583576064817771221012340738792570939931797051414228330101329763646827348668086852774093976626878598841223896680898160216082668894124332885531620030934744217980042319564356453244584622236531676470232926728767909954913624047017591683380220853225986052878579666845436468282070025768691679572926082434507285477915390782552716424698771692240848551816498778581458686092711331423731505411760920620555547925575285456393127905810837599707072178790247476304302189270935004855558126178899774977704828145686698746502430182715032947088925076092783116036831631012908470259609648374297473260325243151760111130493352273584533912806471485036089578028626721298838894852897241865404562789827825465574028433973150550178018051402952202131071684422553103595047360672357750973483297181001394537034461842109917825778693743848644402477749420531350727580597118003032182953665715655091871312569273054543857768777349855152162979181452387232055995268872359037332416778033272302528612230610425119519593656831197126672205863804430593763015357093968540362618971255029286275264347382244447222994664483245648786725224764777766072109135926889327867835262406507982291274936985100285785235407103513954417764244555512761728529523877188302832002795470785784807603997244370459294292388256046175080729965188085103485410754185935218083706899537791404253463344599091107432878351305842209034610793441168156091118435754813526764809698670137509763578917573490657151453777671700988628664194339364558864757791809619027900890234487134981770075383451203836436485104246954763106910862772414144497340661666868208414196355409034419769819194205530725376970899303246750742266065356759129070604918707035908297880771395958835123651976364420101630338807600473632448369832616016159520793990194478494351179600708084247735291429208573733812785557757945066660479834722443034722598877435320055692466332226688542998880977694802234989583586260310570493292546210192575070139578005686861925753968004288560975811767622544922056148581957468800158339593964069246512118094660497077531649621977988971016104092164066426973777646511266502021857864556490193375573470564539674875743410982953413055653174840771476785749452018082364460069592208825233314015200476048094513130249294586660626749725413954521746096455380158684682315772089527805669433130022697806629935857589320841400079279954272283445483917046959153754863128257822195430616132419508298403887545211261514862137227994132105777365957726057012646984550204333300154120886476667470503852105136593567935630583320915553777796133471193187701584853484868197772142087388128915962598649170007960713962328519742815221903627774200221678150795853198046968040701750548085400477426014837979687254504571719557079234400139398182480154585855669770102159351502499776177615344678082791960264648379536090351835912966443822152167239466845203718613927065070556141691526160729151258254358375956036492923652336276969858323175297616836709761121891892084081143450648190104458353110002902798324332606317489466214419604039711425109169594766641340522865155164039997204441590072879749225210377859285064468050946732218634238216850479552439414155667280553548762751901133435835829204670051377653687781191902669646245143106679251023379940459441697797503151558785130371151441846073376979070398210116280101537971386505289972344213045371400550042259400585247513370320306184107821314816923622118433225595917579855094967047422162474033853775687828162992303607925979099069910490356255480021883502043230746114786664547877046824885360560600592973380307825719721741276903153825484341831428776869904690112709914502160995217042344147627779566319004128766383528829172331657663743446506607978302857156921566348818354086322168712940519655984736040768621540497232752929670440354975520742962116676824383197578077205305020485975223493116282589287571918257614231468234486460647042200029878469161392589613431386102685987337546078774928583145680483379674325164617259218465987755722724755300793149930631154645658001209426550163743558645494594251372918416488276329427928946043923160885880805321644917927563932875203656975001311497724623604023968815238161635470868027266458898838187427979099246416074003159011534867641925408725629563805961667984337400691070125926337144509135843485432337198660798000745507478794447692358917457662910063513141771440547211819470410465946371498331637945253861036470486283609186789234811673543312687681323018085113540565423958256294823137893904282695892226959653749053522584185624865214874102788963151181145756493524990457166493081693776389969894803843734750067561687960876081514937227671434881864630955782895387476016916296521053278884180246915649531497922191018963232439962530382435907159797770206258402621540760095834232681858252260610818758764325425279057552284306496424325178361699798237613952667338123286754508221088270271694937540550961500557551820482994592114761489742462044787615719186454617796546977732234284402134769062212290479969173403345475533361122269500795242303055784570225383389193684417815905828736931125715553523941003017244282885981704973093426818791854522777250634628256178347818506286946513577071406714410236392249766625155082994656453374907427118680331484134604275828234366943984955816170627170701448149060399935746427374530396640557600079129703090771977529286886845005763062936536409359540716270705915522228114638345351025743802367676889519318651638540602689770131244762269121835354869327134106027529958073354964745602063862224900219101904032018717403228597741813378076929047967772445836505466203998513760319489645000530347583425908068515472131056614554570083883981927191079983645939048841031805406061815729383655590900225936330430054761722614368524590520166436681931289682908680274212187157911326799691888079056843979281542614516022662663555930752840614389054922381196588923326872297220365887012734611201806247602447163769676901244087510907683191031931653749217202054213811965453744571072034992089148823744538400235527638425025967626166048388237428656525513013941118226473805622795993504782303662056760105948673035582745566132210446655216952545839125148418875556706641345629622431190462611316743785586738867051181374526089098142720191360970608983497603910926056689810886993656699941823816043685768853877587615611100268256630388128416316988977650199862912146947878816606226046558676337275572629184109055196643931705808289594122812586654963191375015124063786367161905726571768881784871651801037538636512270682519645862233543551067936422272885064023365594133941326183027611906090035996279492107510557743702196497691608455529629286079947906625659367724226758450992996451960950964386004497153105777677045597395655320458219029294185040262898616147874758192893463618586624150660980921599228485408552079284734933107179851359039709549151122883770471585541500345218471297960591254345967872364497115096250205686701306561736540543101738092539950302907049741703804064487770476844011841550973901196407799290003286799225115277756545155249290553247114449846668882915176102238089266546306639216004748888705107217433786563569346021181299352328168489081551291510937697018281961864490975294933745901365233537025794018715668602164904443730007493474121873364549941838716852833911761411357964905204213365601688661679476318618356301385027713094349343386393451605396710997598372159924316252875414272880071116186160843175999436327672656086211461010724199804980434999095327621638288151921716143853565863097972203525063376728426767498512281314094910207612021110091231835511872267670503453100387753904763516973710473616252265377257911396523322350398607904212559149150084526008083653904596613318373203555124191543213753581144328022118311651224476584803891206263777803161645713573831328788475171511320097743855227533117469088155614646121378547595694327652609652801629047321994760656651472849993920248846992645942778610660086757521169439049558834032122697054066181571676351876629350525912948134434043526557667544257836330072768767995956091410794072440541437456246673654818565053815336810832743132710470760722579961070085324355581308166994113183247437796990875662169098052664556616709705762448795804814603497390992503992692609312490367186577526738535459242293078160160009308801853575032455085391656712748133094218003672134254344493054700442474718755438863205480088590977311037857857659652773071711725797355361837141470663506849996042873418447854336938317749740347543606385589538630014635575128013725931695515794715196493469526338078191579879115247749285530763113999783148809481427700861266557534066849210710614234208153563879823298993910484595527460303184874982983313510617650059960526763594323189533073963506579749525656598713126194811765756329935281559356360982916240294614857630533119076857549872582937282196541876075755251365627030807815803468576287831718608252454428358055121418045521424313679698467079521115959604782780030656747028806124315837957965564679473452805208225573176219199859663615024182587349848252276041340528553966689128477447568602833882583070501001150957885623261867352253523554847491428812817724220679971202157067146371267669364072880762203090035373648771924542691777864166558473279881000277277789062307366295483285410799498448400774784900338093839896052740930524727968684339193868004163887616604446684820441344531832901900494615246879153215144584087203499377178495610308222490581448957641552961265024720810661696745705778114081829912843858350191789090465014724755773630785323332551039680266929111971098461797598215556688334968664536607977129498348779122099374957668670478767734631051048508948565221886086896064303281906826127440544163922360115648689092098996130804510078484189879540468653019407857309069244131299983393980870428389251691978238969311580745345119122523680417895010400132077919033373365791585538368414825461481825921780427122050108849090937537117549369736939222192702246488764584040514606137776597803201906364880460071452511869782981088978290264325857605013555781944187916376072987844027413665070965106803831432468908798260587184599480368069543201505102299988877858761426727414225356966423659004759221905774186121567858736735840594890896993607118720913527217504060729070490509013593827485344007614239668445378000641447599640030365715341498551687556132858447595267454870830792529413520548223576059795021313852137634762206793975497217041460397108894934559754153389885230496960180127577386524318171490541770804417245662132226717943022932072729068569705148721489253954737387632787572740189344325165545644940744083060411878012179478167434952512963682302911047497868578782549377132793403723301106748536944099345176786308252781425848795528837008754476054056820926701903223376148542672707994236190174654075395954535641599236148180543552809447795450043058759665940507833396497919131422754499662509256546249156290711988801539445141486319333220767011650496032916348176989131119787485917826079540306294999573385530839861954656282109925476959099332658135213282883862262049879943528324198455227595286983585427049937315278486713355198249452445258454144015108790257160293741603093132956957953504688951441746752734450608682525122836251271183639683253911505777783122785299899272200483467241380694115458791650318086797129321869945337911586611686777892434187209942185897632738186766716762030870249545036549423370942489255879021009527475871895241116616908236745947938085085676629066470619140098443698256388453086216944069920637594866674348335282392765081392173875101734220737470770834126553301664547511418969833510461025024257668218159684599308288690580280867509312351102786125773318657725528340825362005646342420772995099253919105649861144803187816589912125124127172875130259043914469775255129001835489417192196359856937272369076016818681952882977101553732982824200382121051884936330887170453756163865780425874442416496307355235251746520888755804101780905277225019467200666647296339155161820159211321626700112617867547904049131430972674897604117777905582584536497775315511431139233132267503610857684940877040128507676443479856852556919620167890509170164710711576405468664785008807972218669205883918180663513958605101022851395424318654014823316654300842828574810155996962504505371787990207857779911171291383481560748404086876043748237198797785366048231083971476030584829395500004212747659503577283040770222070986540604159106872254893312276771066748073707267220778759845118070315938704320387596468164938023634923460979840863717456376269180159159193156955879575863122708580426983165474831044577209811173890693752055458340237570812185653273299293165797021504907528700378515520533684537401843604509133395602470023510868258218399019377261363483278390054345385405800965542821577210862642987527512978745583820462567391050064274802549352399614475019094520111270232476195153919224007841236834684197243783016745297474496165917749231508143429528836635164684292461991355393570594599339276169610388575329754273531855204441531031106781546208127961370375196955244781263243481579012297755984884007490026348347377505712533503705273391394092334496972315304864960732294381207629257891457184747936545349758269655506331548712599862733450903417926366013981986178007210112260119526060472478659578814228370856664242083151188128089764705861037013336200905564495739192924460662562405467818623372107769467427708257213716781844701425944548000044599332176999808386181377943275494976488704841372036213798557558370021463826053778759317959854458762945293867171072905008274110626819888052566643828328902896505766082275294782860398811506382776538523415865823318206619969632404911606151707312887616498201400186658999190473604416338925615852071947013494742186734343012337613971524948345063577766781702984379623973716530811509858978896232158777104040264712203230934094995044119747376882937042713425532986196571971751881747407654137318701610214972011296671887352271150584371722724376166523151472898241516705807499879837687165576596771998056142537666607035096189626407276523097307722749254256864382899770962858690702356509319261297403831173607641808577272936485947219148643977309305212335430598131034699901357146233424373576403181949977920437955817649006151956648397517540054397755537407585863936240950788679939097308822488300107536814152075870642057818032144481130167324639157776364980224758216535803830722355275457741175595327194744208427000103037023059617422602535557415315940095942623105195185512223960264768524931593158761524002655861413422092454979793666411855899133453168119008418768751121458699145659764087057500614744174332491277144593473717251813842592999081565582855523244196582529224207156633085857843251049704363976378465585867504809187218260299068556281128044242549522689337504689227470582852076366099389644765836048729539813424016186410011476009707609882841854948042388972848331142098450904424931979814121724235589391446782624292212261342059228162316485596483156794022303253254759260899061697275489759667449089647860637662753100815634284149467419201087194298458484577181393093988181621410531567071559279885055939321102154310035584210557621409524056787207926044555451782610589448017711501912724832568491524831423106554454124886689854403207185128024829812890424030430029642017649242394307702627419144887847428414620262568699343594192961881887552882949269737147433092143429716265180981014398650154227854645427765954029879500437926619544329670208140769569550515080952570068470984114255987462550571389530626798503443067196938548164437424595261532478569786385904652847885759981609139758075660170519006818693972204061568991442036193420515053567555088489273610178787779459099665733212892928368077999094050741519001512281020306747692673034654202368702348861764298877184061499232253696787865366178011673371711330134130815024352824473600413176424931954369769663262448644866100945154220000723648539311320922213217733730780309094934903918615546657610644656241894949242405129396314460022941055941093901365169180552936896187725224362985297846127580513929278745301996221549401772004756373107772950875557703174599846832934107226988671595408477996117646127622656769719700043588615392865021103350607410395590616241811675503357273268611249091597528197457637666062204473978940159674249022494844985989771360932184346452969193833805469584878331708927500458476491658653856793926398041780234090437102964855749433654639366862619586059185317369481053286733504593138998106991305436093038051462485680467576654265022884091381861147756034086989177372143471826139064872643868892912911479589552852219063379817816116010800832569849975816599776678747624152413952851096253126194101711650411367324700784903940955637062784689329307174291264136385505277640727573683088159187786250014723940779427058582594250160127018486429777828378999479281502776700183254811159101099314081636453580284862952632743246250490077012678656421931693179667755876262032286950174852874525477716065280350269908160393991282139883488546505135230816101304438709086831327075412095356560759529740310342294590581366460116517304754883568203269370751499808772007781735271087201051768906386379204556138866226356909772890165784701233975919106705276169229432321550735491670348210498968118346238417823734783674866850910266747801084460488603091506179981100960376480536734996176805519331877193829581153103917485648127744467367819274746600414453612441255535107266182251631502264574854461775578820313565709246590436831587941341732640013235233870024285364946701588744344994425776019143811631319974389378148537319840339125036382171983469020670761273668502182105618983116744002330477589571721843985026330474865273018271051941203804980520250670510385531342834869426765806651387980474590682525786312555244197065899346496385508170985910019643126725550621060443670353253997982113224095500954275055157994163894824601529141781690460946718958723637795291487880119490975936119429550915665371584808764930715671287978406416855029747705475162254031786967974659211352909580707726606750069567105651693688430936745081025026872988630613227964282611924886178401714917205674451706782781920149461784249233456864731113086908330305401580322755407876746910697223954765272322310480906125529707983857092095176943598274459500271507724949754265619793621782793775504994044223857438639077780661626944355870153504894650472553562814695911842315712579665027952353527138919641777751526441760577413257630402612427212012688990573072444337326225318684197006186050249418015292628632181175673810108476337635088001531620361350987661087407691982104065059470384267166655303438410231340259828092244209369052364409398094558151521175840355962707964708530745605540831067216957036986275250920880374990700275854650536564209229959618760176930556819539980037355075872227236597021204013880901451163208427372247994011576564944060962510948205112114646223506081298101141961258740175057334808588114493904638034608593528474862491870151099850632018570062985148036812229502710402661316712334748424532095216767927682900864743307705705316103511635652330580497894884248523172782141737643528088849664587854201349094244095983505671127987472833602289952921664144293010427392069795432745748600718678838102250486495209376799630879158213719584544667511290891649751701532029943790800857154847967634476479165645440354708608143482153169914404186825672597896186205689559142979654658751473040212947351968919095150364655247624177591464895034258314141903016301276551240538574906462525592130603544721339785069024468651128661805571049939802800698590234237079631778306250311547957970275778012703671254085224398585512054345785532964753832971703393524572605057376181053460388801777634330618523809386908080233576205229824072103637488076692810590039366838746784235421456138311667493272033478084338253112645122763252615612391996340129563738960298441476877952469534676726185069078763931362867552440743519422729064918277205602563575904097612319914817853361211114870392383939077145659109222358174661956815357232850624102242648211330635379222870878493331536361271607699238070537588081144519043600979833775657290520140537142889648420996885587973848140099516713338007405796423281955365333579699579327983093994637076613133682661848673086639053669402247738292933178844960381449410840738874809158578282776291206564629006836133161576000968284634007962529053555728902876184916021717961096541017973738579646661227229111969975722197166888014255400047245496122639418077933188654352572204888785457259137256736695138162962396784998705029008204347622697100615468021350798567627044466806318460968792575072458919970192174083488466142577688568976715258237888900744764486337782540715266178542589069550292615801563710896794166658520128197527834505588134380107664829525089551932785297281638810051567273279024506467950920969141920161191783336198140947235168833421042638811043990071887388660134730122196743512019449383125437225396154752917313172149144653038077486710042996717294001082602847257900738714665225126370348918925787969097540202336724657338995226355953776230219862426461828099797061507889986945286021574937526060424088673178452840349327201295137300879457981518431520452182930821694355189681129428493286524243581625565810868353163684070084011825151989925514851356686137661705242066946016431028551520563731672498445653158993201837561894073942898105861576060595661269595297743646984161036753465391952854466096327858808777333507759603906885236178933767830314027285125608913233460680239854363154857487824168841220042318617678299120677641078183594831155689557833868491340453513923062205846755308655584243065403455885381988235310170031742944243576915771295064330250740705816838455562651148005526918370091020804055071196961440391575038386876809769809004639863815120981716438482035127996291318121328330849331935366657040569619172777743973769516930831004144879270536576768432642358411379697792345010658674395723320926024829761194869122812522655614489025637782187617768363478880581219106237044788067373730008601047220565428047891460149062170605550615254078631475115374081208899523802986284981698121194044781678707887278958472758269397538082548322977107311942636478743944630970066277822335268339134770495606366418070986704993543893794378754849970249552406044625092019595843381034600406879154771107975680046453134436110884275432531994524636071383381566334929376599944728542999821045574392737232292278301913041602169554305154570011641684378128327357754019644699040282766609264555005358358337992167439725482476366558436141862778669656817804576744159902308292078419189473357820607147731247691802745329227391776511275693038823593093358039037900733245540487986389777343202079226782949369100697891965963968892036085823583324035517584903603067880740274535163827884104478045966225371172126936270063748019339949116190561368070398214402555817891638288722168458401503569187978957735679505781174738039166542595087499956360079054637459470305446333394837419947140233816244918935261293961565264171888400227509214029857747355466436410675092940526920585350413013273800246826517973826692752017456378490770931090355321316259290421163732600907184149406127464173364290774059451551919443364166858732373607615850090259869480021105003727213970855713185435682755849732937062317628396653174151984756919386549396380590513470337646634093663516715858857254073778765614624808374693116198181764199220362549387881648713468938454323781056985727032950252104628559652737813519127918386855559235865201962514521534993617897365400071558446195832014654654208275427648004761500759768254412061941760512430241073857526186271215759162636847196412922187614175882445394282764858705736286428551298875109879063436123961864924484195732558201899659404491379964958763514379528935357761939400167417024904337433819843058989586990429069975983281503144230932441573225019147212176936878746226482927118990203824762961967320684571735755915700225003188773243254609709641554257228770664246423164403039231980763130077868845048912074446730034333119136039722990191244393606595696254155439289586415471716952327287316128160071528923030985068242989546848954116609463588550708011214136580101675771403725947649844481128698582694092612983149044570860169279849105964963909224549197683567620522564600032094055030981778903512905252306590777146544044580432883096224695681805320452037274520053302109410242188055500381765495355462017698295451114334773613892696213760702601027047602216534707009022384728453658689098187701259414851128418688222892252016143405010931872973684780299246295362324283189037013030452929782141373265234348217951160512011529522788287653475650627596627884829442109626611373385762454406411899292190758164744704489100237004547687061513636684299690905714653332775701942473620979794580049516951967658237376481648148284575571254878419744075162427399434074583070327996338980542449520103591910186748216651635719832732809968053615525612690944470308515043967428045827824246492599241768338325265691882507671511358116191146675641746775081922461023637483647033217420200618577412839659069541965837586352783916159366737626589679152087835211379408178182700876278251664094699246295943469683907634645696454685885453492537366909589664343960397481027205120030181519601029372698746778134217927179718257852167729800038162046561282399497274607581467815613864634346778862104060800244891170194612652989492422282115868785753812627617206832152254989402251800807445125239410578453831894027187308231238571358863819200896143917603239625181527289194559017484241535219045134790386997616518342040690815244907576085471965984483429369002727136252217863637181726206329583155091061429205570464251046721580055827691470934002156975120925297697398016119684460217442858790128357287652006574538886945045336192943578005946099808024632216733295364513537107122774684928314604652081719647295474243225918484919477898516802806520664148517282023687610718634613772791499798957855691907030027726641483621013257493430395045305334620355595291071376883583349020194247572095361579065980728380067957628876597871907756024101344926742251945480197253400868195994746465068390574278748647183486627741700156944582321588740973884220352518953651242295119486306118329819008878646508510757477088699865339520265007870720912322844918427889403928922189384815678783775099287633717878654674638812511565729507339792274002238363152601900716616663606079678873313968946656123007266269760635749453384320885030636091721561014770851165552092754848486553764323800710813856613645169557472028094879381793716296906345750384326585899830910067805118060704385343580699779623028672918191900874102863648911067462948887612556362624292041011834662511465970402510608594709664448778355099158121128447076804811647356573122073434282085569562189456760343451001908671832743657002594520885365835041016914497310301550547108214164893304440930694062472415683116946085819074213730305144709658730987543776253557618806310480004871655950916354811665592863011824274089547149822840208885707401920124198379200543872399012134433120800528765060659652638063128369694385497721841354455713375628121219599912788570592236141947971129632271841075180658751476780322179107337030688675227679626086796225465432663910435606648659326888911061092132280353997557817847068868008846574709391465781274834388592041296770141149571310830455783014255816242762610514915526145985038208187571681492941543687806976969462311981246337367609333541470578556909099148068758568087205151716553989890897994304199429664940201125291726719646011151197259936192035663238304305832241765719189250326235921167290764931550461776486397441078379099259339926245966495093283577494344041913743491596641638031325134414188278574597064782976378462395329072107337882723823585384559577801956128349021217356624910966013441512154813866908710362083364413061842041727217243991429347131448345221161989933031930463291420226022219970003882934968110090493304297439590073484555918631606843351768488574669544025025038335437521180569483390394607087435123419428524261039488948618391324123888835778950992561600796035373371600277175761011333775537934627417433164200286689924401413371147310995450836741708227914957675762718352988253247282782280542574522700084429348935593550758776382287298658328752277945075905715368325708923536832521392950670054380434239154810537887682750978736785663272676742594963941052125111212994304914492897983052834184892934738546679553020365318207368403844794340257928659307693992221210732853751108466207267312952211107051321838779581964158740356111508823358219074762511158236920853447527227099414423760486504595804434315360598805028054558000991728084540660012221135976618636989592576378437662820597632581572787827234669947684773983327588387657491076572972044776606686922461007528571063343461214636121971872298880461221538099523970455120684380625171041231982676399691272588307460393603993078474721902171627798711338305209932438569488104950115429113724777888394212066181590548269820946911178551055249776293395036244517055557166203500053537815357199394201745746238658312144784659140323515014818679876362215174935966352295270172452204095556993855707556224159813760283026086842248963766113333420873150160600101995062461553995646081233900432972183877731522811595047370698694064209983858151472039397618671577608147025497052917591202276123689987851296291346809331930177342842017677322210989137499765030373616156312797481362120706185377786745739229531236036448274751785197567790426584530145192639184990604053376872809585863934169331989487867161494853897090694701125072479660672469759531625001840653686041618671821216652489940349244320800368155368444741159461277599508359946664237627392665299898076914862597102230618146844896270512757153690047175684492698236678177947265374271305251835155392208577833257324518652548313986700672191449791356885198656140399732019885151046698990761844083748280178840035982654950646233522843221481954882422611765599895908821775395992317423576060620190872123188427549864615314582233394694123416847697264842980259144669450362170058140048193429122999076597154228463951850311256068168765388462513549521969233186074043549255086872545063252729958344244137322982760219728973873531940510996902586523568976939540596485298417178366732446046521407971902426086405154189115924642624498852370781155129105877315022900990179320535147540745194392204118759300574117993357902564701535030910730341295551147471887029971637959415772501020701804791685092649385807253309352399359105901629657460096975964454574553676452273310261741871395410121198880710243058000260612763663045788496066862273416636828696742056652243878579966600107068697587117068526345558406923153227988471662636478315573324341112775933571364805946365145477460185399341551533194705869595812087999317381084902863765112132013779815309361493265138286224847888177321498889477882337616442807918090842830235372550806380681247472413354310213813123975400007798367072157937228758589688671049281628434844718791502160546005410187222097479444484047335323414593912981898509065109211667504207262495966570785109190317309985143954342437183148199927683415855525591142175174811514066009250502757887188775097700133231623461006482006845397304934646221446185929380682016170636253901014268465760738010623755826836554996475706630345747655519450787973691463442063064214584901405139552143190035759660050388179701702238769866537807751314510457645760676124911483109973863175403339239393593908944424818317097797946353373660342615453852603219197178711417067437460139575977269813390166596597088212194939949456485143421474208675090826953776594385881779410360716153607218949870084048511158937619794668206846937072854213148264876822449483753692540531576288480178650566483990051881645696959929704555776892658082420312051944880428389952648231036758112303847480478672987631326661951406033411500196574547643011233673425004917721670772407409406253140075106808380281402839699093140374252195500958736300433453948283716209381523682442856560729943479344747079158364916042616452833935752043676326553607707305663400637819500747014396874907570336257100973974931782460828073333475359470224834799883642547964459654120229816502635819684944530943845053944693886137984292605944734809265696607380684550066174219922526147462610694789010079992010901481415043988831343067923948313723884099881777987460333694132251934569776294734954726335353962809669758667200384486138381130733850413307155094311944898520240491651488548247199608856746424971039146729386983656449752044548286783514523780133353642362116414473934989380890990353787404547498115511538111495201134353579045079705820101044599123031170136193486964374142763588640000928868681835028503427808946099623607507454460615647166625800950610800833274372639069403691569168974354233755202588692205689992627803036873117260859891760332635103644329649482502124483728091734627176923110190534546791387747735133698292496909682558734152203928125853276637381739332908702100758435152641101996863577075184722716428953416714740507003842699396400927354260617813564534676705664518171319036607147386847563402622763232536714539546914440625803551566624078523262182556618292989410706869754414554542499549787699069597753642404167336345859069090193226343845684894572163875704312741501907649198032801503119623249761968057574582992851047157904160425758725907457989251813468324377383969126533558530806994242735846040767421237724112598463953482545917874896620690382941944153756382547710322549366710344028031196949103967158995023293973403948193520679836697462224992231673291049913003278268447786126443333291287220397117107963448268191639174942252098792263864252109449339872766043235209289437955458188083592288425112064294983479344740638207374512745293693023464095766073320151552323740832212528803107734979454881327448884061308976418195521100238392737716416266134839367248186783598659940267430017369451676325044785601946802744603636064970706868678181378473438904461980066474633423262769389355712643859205728126118827656509497811218733817243954324971978038609852349056116862960513954862755150942007948787427010585304574492710224245787702653193215637174338153170381788329734098320160788257983829910886412976173292470062104217694595426838736723876271563939131409336531865110458327982688337198317133739275832558749409049659244720167256806018767734394761969770495267610060062048475622593302271698333405626467617054340048597362957614652786741679966014159087357349298596949468021555427474639616369444903716309421056462514354412037772364187485095924882618768719021190331398215719168170533299163818956905500114116017788914257087137022818362861104020632863566167524530022682978416092971715430347356307240410571265554408024043758624038702189927240655273151539533870783563725020587880492885989687572889648334468304545093098432538287053983012039760346421858345909497136499224131866014315808440581312264845366859867378115685704384625843769989817350857058953351296658810522635067711214245838347981934680721655985893644991901735164265577261151243272327517129458394432608135692337828295016467857345931115142318336354005236642384537231873953239251647929245786767251519245716702211762144920554509767616674596138749786488926994277659725725303075518174123985657103545542725765210274415901681300058068016247207924931188195863032799491102840209501037776191533171118396110334933895332767853927240068763427130949074638717272343194488188078161859997685655806833865185213304071525912949503777610794426809522606126933758317967336809516117474742135575177955880289367657118047722237878423702024721688574038808489046158939808482950721708631841130151413031804399004555397626485025064506481429755696817007563633582476146520243067056124637269648012962294871427914572862456015467273166698655785867258509588349358454497676052967642456137153531517990655805045820934267906793775987589963940837186653373284917179474411301022428620325199125927030006877122562548007857059017642921910315049756489402234446728866434813289008022290582299182602638963766788190443066893862883064339792763681953704011529013068913228235653976579663225401866154558821848920727037743763403647434554155466343951704668910537791197379594076718820089952894418278299376071978018936110378229243235944374030604587772454590429624390871845155115449680646414999824126695815461378520908944283305900776199984473771806360836961020514530642004273187009298754267494223791733223668368943135096829188035264456181540791072036977052379254037724372007543214157327917859856807519447986168908774512603638249498882787677339638212183553558116593462364675322145161071541979083275151253628196188009481025620284618924575433431703903016044476187167623798840483531844050557330484900576975080692884559085111735344631990013900043164032281494962355613030923261293961714289750965547633194750815295672994054424633435185158174128399012911043822967205426825636821138089283417571669859772878740738404025027775143406402363179634469057774700446863873467278455466812268120934363708158353847228553234244799298060624032086312886295819222149471869448268206952341217178313557022778664231932812298308526802583724504802734755934811340472139112111172076415821297134765403013803621116853703131966765843489858790380862145432303342855282436012406580511123989876484379068320358107086358489298863044971796456165111303851477556910033361158142518384930571740646404618815332246133116016242422930801672541212497715859691224111212328891120861016746888514683128016688612386959117971495626377606386097247107746546569140707717146014633399264517135460350296808986634908499312610453059571949770672944264364792146872861610355758201590279832091391982129402053672245558966498380401968996052948213119313802960269913442162173938350711405373102917189143262736879480404034562293755446459235111483612992070358355993293938219996493960531484903236201769768154440372024467590723674654826988510149761596428400891846203333016085574433966545795651646859879660314498914528142885954719161047429795025110235198037438411233841863896900861013021387806838229575311872825253531603393378223348232042526422934715633463074846237565523241458161982986636424915580870277318126573769777011628750607282416596115244221985975292610484183262657500471595287831092159653690477958492921557655527681352952639971338567963699287871400107722213967277293350549916381287268446691077266331519493739032010098834420929643345238935875353688595689288302998481394144477288800080863192133974718219360466392298183403618300838204908864616077499211062770808166504666120732745967317799734587276664110980497633949178442661455757555440777016881101946343510999437683538165653567185444913690516997521276288999189129059693677617273091315598138593977449349333032790389100091251815886050741409019249967752166547811883549399395287013450800500495074802609782837209200815486590337054346767237035074787834381566818889668736219203686989325412705365475132383737039946953639340926600304631130829737513738832062375918893127883088974318198717863792325502998440193386997891392466620188632002010215130622113505260599886441672766030614372958992222870188292603013186394805068606035516600613094316089799042871664408932145769529891098021900566075789024579879077583024147042015356727008728027822566952116754578359739371636380579568840539679306541343200252066571787274685779587229341468084357183007957644911067221750406784804766497615788868327124110220164332744290506076624497768129896701864440092749832744715541618845401381590288429157873378211987949443864045084962301782803369176228353891237186872451873978221336015054406346609328283069447032409059260806597919066980755802928851105553288272753266069746740152306553256340824747417938344933917152169098919581810996407535279378423467468695576001834199722656556083297162039967451086020504386627188392058498869829049912982995198356492489654604839882617702769358782094725967869449972053192329454273650813094853409250741069933656769022950326733379570494418958174075588370603062510876682215821888982859214924366075714658914818132857002594858203979709689334034671663889907671883718270479351085770420129471405027671173811105458676915910101655621648267871510989290185134422737802992420488448619125058791188245277457726355487201393650465206166283377244791798765018990517047452908725162305618873208259007230636646209914024124154467424804745661844817577215012551332203490955115868145260417510672038755251475733017391193278701361371526690566215654166723920418144433824669561764595926907376269421408654334572819600401073931245070041594990544720300890447627822762472321950107393882738328300096614516046759523667917365306932225852906210206717107724413170244027865906515723675043689213788173215645877729133247830681959739359641268935581221346698521309100106945432660278354365486178795013052022980338442731999542261515145940308223565949958266270481937516021411612020334502542291792947535457388842680602105189947275945847967442214285985505606862381327033311296374756916523131134697417460384268985082422634806794916106213010657048849600446393643153295590203165804456085045030193286622568815448816201140704887052616459333815435035361417373663276077811517491014348704235857203012419635039726142520570696448801404983543278990936555485847774365707529525551714043070415709785004980676977103658673904819602111935769968931013133859667005281089336526543863045523883799964543434808395802871194661368964370558135107262840314828659176742323580455220155547986596281375646961085335613665257839713438340091210994407186817597421471666541792667620903427058267945987337187481166447529002827393180282449812508511254262429924564713500510469076219436462370590037281176544224912304327560396744323062490314800111093753339565281956342768054156220548734637091175350387782974003319247926988359892900975455051040191286563849764932678261181615405501231136163333315380632176135989476749833793500819332628381355226908499800492839148243894922766466972976237109260080168489231326166669319154371762222432655106685304664875528563523329414926464313740076086079802861248724421467091576901892220403675180038885152982736633567244628932948370606102050103083864624771122934880440031882607493648645374982748109589103312398082918238153341869995679038667752510530128262939468608891404802813233208993447206575677523121041919208582420798336525075856930873711601059672392010439853714854781869736842761031604959133164190718534984406860477827687354277169628014673511148783117415300716450421525648624278794924650131245451180784644456255438396076992946680139371991334217189153798240617492076623534569756092105182532757336616530418705536893214100888256426351621084769565041882773465178570050943446668206555125109527952874926267247560965180409191749816359205675966707740735202751009827698668505155398141762019283379143539585174080035113394890921984230505809622931093848809834060702122846706991695440742329107704417160593539761581089209644912077882372904416813464103730499311982935831491600517919448270084639452899581637124168687159423425382666797796683893015881751473503735985797406969083629604024430644381642018927401579291295095755146018881951042157879997101497791795148573148773051038958981258765960964668846865143616974443736530357653585656150477934726477033367715210094609449441992205364929099972203038542247609625406727660528429582606371407458569794022292886638733555906164916540935953730397739949634971638703129916870099386478896778655313208275532783034548047276204302414462530685105705082872212121118969745902409613493292324103513871872197113216066344423361841559219497245953589371016753198441688803971624629916345065732266294970947969804710895560020026750989849009103457953503329709605107425099987268829096719313203326518545231060192502456861199435268485448553614691038723342732131274713864625769365055254096963977082412849893460773728642740996189254431528641495951227752987112613685985268513858468571257139395693672864297502459093325090733162534153771910240603080094002646586044952835507481985015716709041138328371468840925154820509063659261002873080961803475767048648624671501832913772921714675239083582483685402230691934904440103014781436612694055280907350513035573630164318832452170850591746108270235511237238910936129312355926926306260575779622499216661004342595253918372220707598500721956940534958773638184591578843543901760013506025846419442612614822942925334959502577583501269295754394235368658226863654105518460845542479795802969169668816120579191610196296319921280143067659216218720027235054818551208591017891102259141274547610542321479481417803013941928395673651544569380236553410924623022269677442691677030676846802989414347909834094379638916262567808084113532124002269127959554561986223129725048056226936519288883714943759011877369726322767850002178511376335071523750957583625280642430798227427221011877810608085775598792954824776586983733367301566962334037057134407230624155207795611026194536184339121217317755045989427062115169335494055352031869985661045344701503162019552372413686404906088269960868805608430510210631203876427474299417035554542834669245941153614648406814603612022230433275130505742330439992608029538139491549991206515216653018404627587460118981367400983353998789450277025696096957832325408974657196657779461457644523033949402916044158542847151832551385340363863031990656373904724623696991152273882121933290448452372544687579572741269454888849993055554352136736078437324272638059281651577556621715045781660706064608220870459180731567222897497750433180356715281302790180878441208269220468567571502432500021082508168086680645678347652688632278913560819597662893983103374983265602115635159610691915327635829606724121622271181754329297230199242083667815773254897403342194511966088901340745521128484058253451165128852207306524900648553964547612806718584582127001250157031032488011718438374127973108995237632302678076241881910083206305820726440450574058502261471666774065388535202220546054780407193034111970088400624323191737407138202491453702965529538202335211429916602037840245075809378121404159828408297771923211758925205691497694610377561074872621512296591885978456815859420882977632235404328363113144702912659737000344050990777565913448115372744236915860397580582467198814060760759690557255668598132424466323281711570167704920064303001914783432829936897245492025939634026090858385722132487878952127156729568169763327695536762284016215653383132178994608792631425590568888309358952947083438254934356598264481096097715309803636670839759840371335843046226111901918529887199915133052017469950596723947232562111272725094750400285786897860929110015293432365201356907966090435184659625118727949072861371431211598579202723161093198460591348827512162797995921667098990832248466910808322318113554411290671940170539684830712623403337148663549054774589475749892506843597514148158881283286141560929229371448515444794142106115011329049384175932792327023609855245421753389804967427132381537440359418019224344122767342243411168824453258004756603918975956519207643692380812032948266985243890298252671092716356686124127348665585697088800219502791870883068064559256215024754083361867252573169089514142826538152371987179277211021695020745280118540673885795891179954589469800429243229184889087024500286408542395776101010935700075697594921039699397775127166803272464651945184206317945591267947840530159127854011178901589139929751209136058790620719317811290634804046025026546162651311037622444176510434691524788907903833877004191865082528644082322080756238099432593762245079666264370371199341683451283753296371314468890316691051058190054940334931988605496547615880226111938342612633282965814794074213773251928070975998692727302338137113068456059926486737865465438139787871743891957257696438786033678067684563931785132565190945049527977594043544661567264509431419678441884453565766789960512908058298914860049090426805969793695208349488638589542461738194839673003263651616241149271044366188504238966029725539747856967786702774803525227891777990861841445217147837877287649726193045297982124150146479484934553734806785493390225641814330776713070059141778119953232284564925999799783193225042446804951423235291500719343300710781897840208099928469075246675937793706560335461081883990821366955948880214845012573125936027194115152302441302917955652768634744645809939598938222175982544275870291046686967022727731939743488690823398732471334281149924501193489875551930394029668392022754656985330141804251068515871457126471791953939474961274137705508777712703825297832353738443030744876174470108843130763390639942866164978104721226057276523867416381374889860666520678008802800285053894567599357850966644168017449618891747322604528645259412512905961928481071228068759731918740012206540444480256205152071533194623090490247033502851788633250121293778681299946897893874937007736495978302910345367353068338501361218826122025794285728931375805105638536994532386654512749084825921221606550126063282626984469215380314596446109227837731233412121815424762916227573872411536267244031515401722292523992992121669900966290550983262449936119809666009320395542566570660926365014197657741653222026476285989110776636600837600420145046621632088627375608718209536842138571879300210487045223621929212942606626211762596375641385766984335870877825110959524974190311831679113195745672817291264423229071656393895733978381314964071386215375634204281288322998838343499559299951198397517852291879486784348179354635026585245704674029788650221875184050536812685412291092264180809673836616394434024905375613885789588990885063631437318477013667133326368790517947797757534551563910113857264484921161480071160229495722016275786238857754273100545892471285132589733853259095401397151182249140267171018193137705407269559883288745506590483345773776744810752560130874588593172957059734473199401450965534708961214687957320741726803479318528245610540794300652387657221427701061088050412416684152487364111957050691905013613072267989405259898245111825279225635397820684486559089985879054780177078845142063147577892021299089285890964533418231366694278639001902628376521105083273498304776251777882230880232065977060663077133745032209354078320689142710613791803098148331681838039839522297837029034810136021856695573020873369591448961826664348172723698636174157211595451930650544695866084414183698490911506585544180209352022469184282727806541118723141510890663632503926594923613179172060211739436226351918398801158947168313594273429095933414893557150329769820673695199437116662420833528508730552628917441986494903397921597163999341906721835000116796539313645725350549039273181120377345256346023532156907322874923503451197073561562111160989107834244255094968500849672655559104115060721404997576236682739199613110559211717400611377392605432583651148944702486247859020200264522489597844083260259157337431373037073531522548331707373812241681982165057062367101488420249609620871867046123430960803242314824721546427540688759403124402859979274646367810068306186989007389618041284608288919541801836961537546819957708584674520677305408459936790561987801681494512008333561449478349242793605878242182304232022116104879853912670669933113683663373859818495233356506268496990044945184312437854654064409929242852103661678534298883596081520216413921484365139934960069120171417031676921438309764239654521026439348088142328414117037983590404213263416039915896002877939156550493351827051067939123485183197273873267992736797016153757163167296995456918218275120472000544545334251236940431673981829487927165586113594905269460107920645795689534981878314139943720553461381416820718142446697272962268786722988127927039981423646742408068142047094982390279695933618797077852025567313472653061874297009758460336995614363838397900000908089070273687494355154961718554357881252620656894724993382305620736473464856971888082237496248501416189926479017228227241541933051918154833293521727000725819628311274193680828689832567248568174584866003263472731711654832406955312556618379893364581458262789408640286299648529020546023557758696451454272996971655838590388123076125973983275867674278857569833452395370800478739102710950726351051525011357497282829395000910345190930142722694163644688879013531528020161339845468571049551641740428971730403590477026391200594024523349252500747417643535667709461850407818598968263851986977540824089439032881985265270900188434423397167365962576959771905078922395414606526388053787029583945781861736251106588144888854225669911500320421698251245175222258179854854574295173573086769375242877389867334652760487730200833042566798830579897014235689100791385628995258369867925767468190475649102656057791382876792555755958248187292208250433888520832102915846838599804094577050538913476667348472692545984993905611681443928991429017046029604387120377712162392437928861650158244383900508444586959669135072911448634389879103983046290646952354385064816101489228902234714658327876249204890098059274320295712526287500409538362814046840825944043183604612900803989591767661084806100960855943444437242645223702903566532323698633250969492469940171902011571000075080900163308903601654697290658689623677821564502228383179961777980345310249146081600630467168018650781361302598614255238956398713813281617322585712195263985762240965446590106742661669547602095215548424449693572674128970562575151272747426404586741996379622547646620118634196826314259180651946775747865265605260428657327682021068080736199228965024421238654553832388914288503655036970336422166333102281306158098220539981134944238281914343292573989241409370588130191859044210458417535999494876141278972673444000514721845948724643027030701662161757247494466591897998048608483885522619187960504754872624559678642009146075033626121197282523343405505847732274566288512973789878861818385996614435669365712659596455688121417071611382201741292768150201346159580052711482091758112028009840054783133830137593645621454084146663946838693164696016543597126469929307273244778660135997493348567780014783720501453554952789856146936457487993276128993387928656188930167927721328150773194813254231150267533844047677479704851724767948724387426504437297820443763636857071112485143350389692694267205275105582863093109520686148141542785589627196616493589328010599602671147460639092772918495521093185768475827436573153953142042267321963935845136938695832139347410943581169031493819429125255253060463493710938635326146776406916452590269988533643060129808729763452876429424959227267796237260021700846689847318400123025784579240419712787242400462040106548654394907429853027290294547282975243513991660234936374850414516883043870224277334851829201816402242231867442257299084536447776605073368778466139212426429794859971744684058570442070777685523104036798968122901484638255579393607325195865836692121507429202973248012621525352743377720288461099612525472141207642617667896821941045476774234680775688983976361946310630366260828092143029445145943250203223086016529073308971047113593391718014731039739772720683428347023984773067037630046208788243231739993671341665757416522719866115578072154190555372557369204774259273270983998406592473820601238884324309486396953624371846971217511519491748277313421314372588550550024005704791291784846115203110691139903558830037664666508161124852303616692639927951195529688784898379554573712484772859356058951620489152169346117113278422584285276019315020836993596420612492843507409553538169918757609349909705482402320629382455371488289733546934643540441067379486999702775914525014903656856088648921121750780464326888366173162598438990119204265651026806428453999813043574815668760007522935378663471517449080592803024502857847080505379450555935841496092004890439895931749031565771568890900610345997642874539084538193041925132081932984601433283494163275161644031028570735904889092422118458479520561210029304158176771098084902624490875284117577365967167533266035292701910772857642619837359165302810368885765242420505409840373958989690530951306868736578573859111920095457234448324287998806195161800176101209149171650696357004292638631204974540336138031006666655979878051835594562614908634091561792377371838472418062926622050842922301017116910144554684533918923095355980703663634914662299495495429837031300596331815878296302125181247480830705096681130410218923719451867684485127226824609949111278261836198391002454250022599679389085265569934203200520928625324345700416876020431935237785764711268124968407723475968747085893027640503311023412106827460446280179840861591022209601895290182857387254303248574520032737715260215677129062004766666664058172136313265860951237216169887805490653778506191722576909714733651273685266661278254487147968538529726437545577906976147220896560796391748102506546331926292044580446161116619308396099260302659755465720646618248893174593143436427367946458805364002155151895849210343646341060267709452141172937792336624098911120269224939139653563462962638640441811033796236177829140401919456228975113714135983273210404883974060651783929216163666549591599415878486652912949926390302884079739009282930938375924025160367835473170976783774883228950738081618200587501860878457745918087744241632160930920709785629282933117717766244523395277572401253628390591565932099316976663563010098870882611667134801203817917885027036240354829994204732408434776577790792828238411634299468155759741750861264454597442459950187204754729661789867032487714362110407258482140100328298017652216637567220921189530195769335160641926080945981935718163942679210312896952430371939358328897798744829436115129085562109652399745149884434936136828859151084322386433931384127059791951604397793050013254573664088015770499447621669211462761771659800164246145967214536534793204509130507799666828887306122514831367792253955181162647603977206490705409232697196025513328891310609385377218921583260950397125115699728105430209853915831670947491161720745311777486051582239819470449187126435931659327983608926619924009725413353902779663563664371846525234877075574763668446640487946752936606419937571541826538351950356579703081472363964099001249700040346633509647004464383856638874281108197436900865059978130827838925789074134074907179196892221411780103094497924261825168014093131558694501769153319305404416604998262732106017243610468815426732676519216472843551415364962730121631336934376604627823997296405462156231298495316141966853125310288674646885848870509733618015150885306426356597072968531329217868684728681291346089053107503081866684179101575665326568995185773218206447439905511048855862141526016584397207701224045537906195594355316613793581644890106642155658505697218642628997454212254092604912980625325988782522269424641518636002028911489499471909302853715791974079870698748101723482390167340491522328513198577218800317374424723066321413967916821086017040685136100939528894958048881078440938768208095206298620146178284020335098687767229176671494850349889875816937396024403531519933126415454648092519534169751763998905843870455919044830665473736455892637154788034548098937541065888999678850055696933001735840246433896705149346234738989994671181097369581080605860079612126129412996293122558873205108103956514321990519444522290332346323408599845140474671572864179271594434272469835620558338065892690379470360125653292427379997437649092886122689549546585982742269829858521983032656626123202561794224910385956522214550165213914072871305088895668425370947587676978383814881290327202849896168793685328570379071365864804937808947103159314289844629859377734738169320465577615549634137675532364286620355229493086778024013687953802858454729388659112565911242817917301051291539719306941133107608393275373045081731245349268308530931778713159379128357062101029633061445335078631805574821289089118885475441468949325354090604303230633786400540650485484057977862550859269906465936542222899328633492055764854252976358302683611227996424608912990103244576906893710441880294388015430227085015433301781810431629725339233471630191489789559164332635114078668865289806877864761961435174304416441557004558470421905997872907223533297216750885023516014786189401842324518342669500680207703024725615152102157167479869330852591065159061442549186527322839293500328866446016138581495791115664583386732030868329116212681818889727642413485002507323373919913860542343947395035086643190734992254574061439829627166856730730846294715602341490023529020339217665863627838467518468907644218108760234663746551917866489376548867007791870451054774147863171962213521004799784934500909540882250369166741521307975757270581021965920230674388403276039680580262132051247425828371394766482489325816039111483778731632713168707509501587689430289041725565298071004994869890845935034169416894732297992395055327319432451015269415595100521355283654648021511953230002748845846484580497421875510078234426537325122336078101716642291613053859243909092263599865391425137611261377183445925294116918300002018142319091369153005757425707855897759663802477357975470892997285193583653325951843607349419954114882095755231650102446812202038586016350077651569224179637467872701184140985123221434101265775334241362044928295666872016525070314679566492455188892050437928897004938962935065343234137597342154407843107864121448305292930705482798807605225878317283293142189913547754452410356631760779909573486111288016053119995307035405889139111160832892951804892806022299218191899545701816089909372859829493423151183227248635138220744303119572014248812591953015235446303077894393033397614716179945831551483677724577869992494488300963908159945746539627987257353347473670269178392310476608715709189670587062503321818323653597304262928149284929612675600520814311737750231317584541447193017986639933837158472677088604758158719786892539827218288391641784707034887359234417506479187868321008963448752127638651580206696091217491939965681060316674687892856917162958348290809395808431446448762456635332569552172053717410196783726666303279386945328903476644758386697725341933287984124438421544071484111483700652108547107039914376792243581063542831787124044599225379825036344837612497796356801960797833465328881846677382533105877851396712014223847998171851054889636806322242280019233521822672173262587519359999605384314034233657073555679232159905500536702028074685742170473841220878812515652996100534847424609365299369457841737069701464609663987487267441018246894775854398413816328388282272754818092788753732261128286376343287151686403886280507716941825739518433143481414295888093907874067949518389343901160536502954492649928079488839757549437484167194497337048032918096170637603660908685555903179676566013049435674584696680496246684570596028251640649126434295046755253222603235971954060502675643397302884787553224269793208348943766582110948401994389785464250178720084070937970835442241697927948350440200594647769602206031008653088988294178918704360608427941498350857061758358118750885863602855537510498026582088447921674412531291846691235411992941563411653206603323939372078342528315169700815718628322109215040122965797310463938219408313920102409888803451004738541798448155423109623315815810969997726243771631189301951416045588204734007818425831517845238876201614071816374497740692901975129436332045815721330256735605149707547041377383922410720997694030351595957923828394010572873115335602769667009843574710316213084706352536824332814973514433103971534192649883786542212312654225522881738306257554177091603282395352628664244417551429023227926541484000518107256255403664558138348666017574174609146819695283209313720195313060720080086431341743008942575925546108538474195574886468411706966666422126670975912782860619815013966570587844096043859668704484768824521707605979801054931737509467309402248968191327963064259357708106720873154192148898877984389488848548451281080153015647701654088581577558024657315867811687522456840776582396457353356898454493228821538103706352155592074485392575171142422243248935385132677056384435096871241562778161403911176046495464786626416162463292197042274064165032580674311485973601395569459411506735804404961415516215738498716579789695210213307165192310854672555587931525491941040707798293339788075073609934196812514978164636271052684507345787234922261129600976979282514670850717718554382336607046709202710442733578999725618974289729982738904190578312011581655458178604944309749506935278898126904652738399697048147282172441367194071382491701391787606156179870065718161572654729580179653820555761284435445406915135745744631965898878342987309799671238777887623017505675916438379340074970569294258269318476759173006068060059248447299840558889882759953540425577582390617881168464619800230428057355455709785290580916270195123535403780579936704499833777640411373504754794770823976366142727616427745388871815294924454493112549474870532759768516788779468459629422878223275509416300254525145502739545569323151179673934142220201408123009062724816162511834242486728185221072907482405428241592700915484148972323272321786573595408393512037460635481665606731652356281634973296359055300719762039640246436536981771493869006847382750383827317180744041002543168688854765812394118907795151443417873593576225679212823925042049714269180261185263118499883595555579857783816556188343415938209626665944979569167023813590291972696414725038901960613360807860703373699011619901519409817868644826714786495505710110685621288436951594885362790829193422229955112676500213269608960910360805594901836541208035393928640675335315413660400734292152760273678891302114768209227253049868642156924701672609444190065013524688468302592505067295475277148313295918402329362457603882715849388118431581741116821011782786905572598388747449019018823678444733258540880800772933781243256554350467840814555463440409015288377194449230121834231833587982110144964889143248034531518704665072674016765581226706784140518808944007271143401888371156930599546001905794458956520420977839599957210702648920490180550316780094962227738600436742515559915484426367433425499347207434453598021712022768772935444755762095999141116899701694805542197266164837256404062334182683045015996082014726452533968195465398118920474928397480286994436348407003985734278387515033048677607343182669674442404016570369900886582545938767479654411440871103318958857735568023702142240680844999279093051277512800113794896043461588017377000834872074490959541414102676626344387690172962097253163453889379397283998840235157288704829443942159411049559646642284765552205505354793972786372016517740324948398458864898726961414341560240194736560725967425762766090118419615248514267160602804645939776301897441832596000075896292437579185456390704124060458055631163412460109022830133491238410651372311562175836612571969059169165327261503511472756465593055875470079063775968865479156257674278280858558953852166410891670706617562106898024563806215049227408415515362856401181263468700240542653775209589213453655212205713384443887227755617388537807660500502622986679873925523570800726913771120139315150320179872026539732549952976814115951926399266829859859363036197595947639988434674304369644535910727414538798404909674224136155816253930162562622338400619150997998296244481246164469971900736259188536677584057378435727513038734305235946852963860477594293664516516998804097128101892906879144514994243683137578499726806089008308409228579137581730958128515531078447158219838904509308978739101706608074152280560943511716167005778768385623596702966696126775151799517681175411442569529014098919232652986425617605741530628853662946746135265267558051216554071323236186113586083664095298701669616337326396426060077835289841189676994409279310345271694392334633959152705318214078673827720636643385127215385068680145378499722235758157031159113327954355923321750188017653507353568454668141772264234560844976507482878373306235865325969969252282768648450783961384436808986524312409102945044196057413941918192475069618295695055674288532864519952086971231727327295762705871425717304762822509664574702667637200846364770449138140763593847473294507122560932215870013063568715461843298056868788623815411447035479325373981991687035936364377850538141785193069584566543416550462911874335542820549588685854797643761750586919102728895447212419163559337679134027897653501159814862957527761039056733069135254431135418613363744863441202480994015582529993001210988226879983657070870602601162646133738049264256891447195541688576246670469504374209126159942757959781958177602261275527308752265362659677783996277878572034335039214906960048796969890686254421224287724075361364196472509488741147805475601780619388245496135146961491620908114500144797270525349850944763897341227491033768959317419243476904223266817183623656842583447821215466807562045434726761099901807411607180425722012475451518843520020111233444786224821694130489881949404125574718092912143760934816662730834593179816063182844861462005969225443484368558621019128168131714162540519757640586610270597027301524012285370783090511554049175922214275739011216137608280379636508432562231591749597830727270848623391163211557355159716825859877087773278875040925777045458595020951573851461823939289575052161608369193848784185077842020830240114752168742021663115341964450549322037915097300987120031632003206547545128625057069313147925536766616519129984316601481728643456859397791818411014725504220896989461409661468754003604909209327886207454883131764408848171016948503910698934001758101855159472906511773419761284555611133245249850808303067468131788692704042018580283375317330259795830174636576482706418372037009956597950783969882685236820669910021882338720616568353791000131422462573215678324436320680640838771322066080853464956991680248036801195762505140321641028651367510672039541554075934587125329216312590293636016883532949084503009859942821732624892629767046460610739708359130433627537813506546339731856137240096629884734434151490553768516453405461394683295510935247433371701883801657793944760884653911536262295536309736753141482635708958654716279654723441650075837386754463612526086599381041516737313692881004439657611206164283785157188486486209322269375675930239401379062998675155789709371146069142031671214261827654617260124102071601767854514803565677137851865133766856875638736979681969235777581629037238706038500717116536909646959797635242646755558840683272613186617645359996478621706667006408321053759960062157037017446863386094950154955490338621125478128308245390029636195861868021165422630455757869722107375159102777191914429675020182562719376779869687749305484148763850909241976288270527018285374023308433452690669989105260735240054149159928846260779437295600023140301536286596097192829750734168399197695053447357678916939028005249337701142793169223924884372304141794506545893773735920857596729358340466009769037035452217047785146557801965890864521325911601832736874956361711962287701659079991978073409366544360988405368600042113769116472971520570618059880554903852635723624666058970051442802508907160174596247159703888573896969490876297244451571879122856525422939345048452654321071510235925351142286992574854906519090007457982679227187112453835781455014913260311912187456468834128017053485622452658483868425599796675833885161043634896748245584915439308734835718172058615700282310377165695010410879162227054462240560149771145630588368707211884642944275534085755588238872550201257427898587816892619746922288411905441554031975720249807066447374526836536212484757764930963850118037596281125593168639742822571237270679465921523355750917824853923404874044472155526931250150204204987453322262546420939534931751932329989290564457173152107471444501412012332546069399395521593137440572534131527937141040723086892792437860962860421804818864453742535444198364902788634563384849232025183795638381929869560413314393361931362375469552516416922160005649432551819122818647837404016878042749608758353511426589835264812320448854703340709324093380030840056096961271324093796422400224083507685165825667075328270693671302175827374378057613690096680704562307424508120637541292519189335751831167733383298272791753164949412424404392407116554169211502938389495729512633906346591320757982947859820562225257993372063481420129201253160251038435239109475673386443485674206988649462334486558175060281236192211694824090546603243803462335562601118061469906041172057985098394990996629337611989987309419980830911156166267595772099427850077046097648723438771071831963292770375828968347879370304690084266770218582477363041747068699582767872361916807401692509345675451639520121499204822264119631264079675356573781789627341985818029705464757779271647880408949196047637727162965293213963297588335178826288675068745925709949444952123910730094449232781008800580501855635650066636881207765134980829408254614826449845234209651836611739820150796823394449576969329967997638481091922905511481410482805870821503970310564997789949391763837375039739742097220411632010815176836416049856331549656205944216206643410431218282199856732193238854822750706632178075029075699986476020914150519855292299976079342752348571608083757258112663132057062147069740061808832996602390842934982717781658338307489122606920825035319328520755436101051770398192815968628877999853154065696938625844829871173711006669803640368990535950812346638384010564466324565316132920696245095201988718643629141605384558060060924453865401021713913253503892167089712543229831097709324837875104495786363705036354878726691595877811101123167772838934937786722736763643143612143025797385728665864201613748845141310897052716727202646070811211650077845345456926134358231176645203860374429009082375833931945950057144423402855467605128261649908974038544899560222221818730630095136250178346667100840346230123667607214236248659234418809856789129334709508700914498879313715491188905667151168948966053052802214380393019290559514236509513448510441231170247583285239798157847390587218390389363507779995149113544990903431694649081383788597269321510187519390373108705194233391409348599795472213340263116234310013175787997591675717818078394487759433569180010258669429381440948681101393196780387770755066989162480602777037548079877974555523241242307962442189202246840060382109962485675165012542020509509159641665689694594472029353950063793036357791980173979717715663729229315612751702612968190044080948780050577861589520695824889369149139542385776391899881425063976021094581002810928693422448720052447072213265068411233393550818837330110801437543603021072952873958181020766502385471201638244440810286304705498186273721206416558034324267719886992960785740640703002320794765596686949385243408778757055452363613434948955590051081120895573398613480934421437100384044334039581964621043188947213015843754935409799564358097696431324907922657971146371579727801596866333358271515759423371315355665786571565586586451995381010688827599162412292285521979166506938332193120847251174507945975050889095187492651798988699298976093221635483171135077749390875393062879723761203434120611863467345886777289600540803556322617136428784579931812317969309116671380738734782697326098070134839196384298182199561520880653776195793898515937795002041979137580100526979925919866130284326085129903876293442184683471304283242633086557547129852107068088332840894547081165048573867177141553680410650309031780853407300674277600002111052139474934583053856408284389660760301833701113431604349423057039153591908270012007261718162712977568879570578282533855638740047556844238657580346504998036876907131981304736022334614897195058356823184733806174361437960288459210899026099026048015967553052237053482837485130255060571568990456806687957868647928218357447744800512369594292410200746290022152913944810181528276266615850743894110846039456362395432634036393478062806082665848704196620256567239066792308078905961371976219857041330925616221406114066187942809831605125232333750557406096558382560135357730513780853150577667746319128078349096525987359547051615119030301318575437140568714706664819055065699701689481031408868545999279407375732309005917499481889315147047077630425358899316136067690818988450712774504953119296033730435637216900621239108819653522521027282844979504492372112765526612939903070733057416471980197054098784628780947455675870660357974376604748925625276899400500340432053067380668862060955596776572445745180926790654975947167949276051854933634233824530558978527306404679850835446809009377611911083329671186838333739914290087434421681610779731841714358972662955293802903518429671856623849973508915258235299894177420982975758795302151242570003188869684509043888610153235818185361423944232573468556194774331105518681189123098219112610397705860056539056223515638675053568862265076417657227333308681642746666457539590424365522332143384439034756399802947509563417502865994649422043550419866491405908202399316150693663822457695395704956458661361299607240838369818015188556343079552010379805220929951406852956970194791182470588610132599748685999120288519670363580739668681230852820571328302199011573135029911185858795553984361005629346277572926928852416502665270507673301678676733922228093214269432320729836959029585307417690961395967707318728713562098146903887643686985878900338411615000989525985862707267868636754708440472097818395843658880295685322327713051815178354489652185242500776932199366055632245138655328627075303730562842052588033565569698652346944484489716075832438390477249213015939057255000139471801351117953263279947706114081647988648170756282758404838344561714477346524514231474593081619395059763105315964748140422848424661385534225845464613410914863211196649046071007373531515883716797997220576591006812040737960529745031812127993224140308758753830781060299762400897286367402933406553548472394379186310093489580726538966673300379995688724969503337836824569634110652354834483753207250264728905547789176707772100514411023091157121261254136557172968591498704044415791311459410041304353348368043010651564232090831767496073982821109567993431452465368640729952092511315747120498827058821589917285446030524897479475330160308203190793225423573010174403870410673561022461482718512935944971547820022147482362739417792950232939379031340903525782538140338706690848417851437639961355549297286021832118444954480944813482725076097687559823254811467866478297018098784955179666284800501880914513582787062503086434940718949719327004399409865164824765309505921987764448968367313017595141396852362425003720708253574982146252571189264945457479379435846618609136428239523651612996953213197579172134041353295405931442380409742477247446588201311863213613182957313495907915830981193069442227576602063249940677361371679365428744762639293258707303544778896337153277930993749072720253107147725204655874379825123020774676204362459786091352381583889271407766624065914638584020509834352249180477986955513048861526108913572230686148939675773011709944505067340750291723453778830459254206420382683557579013455422741744318104339428302825586202024358910206101937190322455826033473036364629901111420936629969954044622420351376849350273273798027138845659026355034981011663263316590224064177764420757913338592180565144737171432321323689685831468051075156333382039463013370984368097367692746047882341881288459090851790615743807384552253914410597888082176834821605982499376874532357222468681608139762730681400752605216222359450793549660872061423860577686447091833878842830662232143115775092997266272088220060544445460551602185474020433187938605752906364495013967107136896517140941058794464673728545876360837411125116485552951349150742424460879538523714705042927874136293071754294437567476988243761886176170360995666868655497202727213584492760641763168280812895703339117906912801610647583618395584392886731665294269525400406265609259155050165642635222522372620755216262676965745795257633990650338033352706476923235660025735354497495217543832907739918915827879926961070365853849378989216467376544647982797079602236057396365050680689681414618416709937428142816571429449608170128448946944285240536018054846975948652088459499321113277232999861983100980827229170680217597014709640345948460378978176983782756110966819555179205427041541783071132256217250644097055578475093313452858284216737277881182396185537767897529622544959447708176797193404893009945404726335199005442744439024521791211427117237915549000302563939511007210206943982597202859954789848021839240635638397915247845805917021266814492209658226771171513430737690934875418952379812490687406211910501336168438602019900993920888845330067880903552651054444761132356757363481503378740243483238678577873283181595513303253436579808436649773882138373770938999187912152615749851062783390569623368571727555765113170392425567920541945240808708909206923343939349820122451489350371755927981548520112939312075862177537415808242280429048956134315775460389724543446036143189915684101232192703574180016179916138837610066054226812224507316841730688406298676696370143932329737678672336370019098455912440216257986207872613988993083933483374701875772795243163076855390434265047029932971689440229986222372470783542777411704725903063917865466043955232413489215921125460553299560800813977855089850354106464846351266956404863094412251162281814487084884452847916172395548987720372822490652289698397166783248493887437059435842753246961703942304044396750302779911817364552029005553337824475960074876564806457212360415025184370562486937967425163336848691012635161790559067893000443542595162961799463572708188227065265642714473859105511304422717703972533781511181883234879381431267223792971171667227061386330764878499005517697583541537175692078365547130217070905338147571670693212065272944431456105098831319350373133106860571232912005538100681736175816154441412978807630145786343414896248429948835852488731502067817122530284719838438424829046679701634556916010474842405401093698761992848882829564104399591804422068149542131429295188897162789171749821041902234713367707328316242619964036484018390517400272655522262772255404950643676164955212934833450776640673317050979023252172917831851599499410117667855679475325404146026115917538910135619342420093560386943699838465231111850204046434778816607198376685737332935694517685443354493953461964312738620819353198428421940994799585015741895843000776407697283635202887803855732722053586446417025785765923435003791861831079298125750981308183325311454716184005002205752467098918406510401117757730986757153201787398503666286074405955156016098314108530985607104431317778969890467902375828333575507001248955090497449932667558435205192647344889438035384647605436428798006113245743976551918853470753166022287209235721276792180901409334548614765615660689807078579861788182589434334151737670256191194939244100429074986432739332404181631486087073984277664640125831530524012484095628205807023735483317205765751780216533033844322404527668877949890323405338646884704882057800531535537974408570544310642753597069884343304850811606824101428462742456820516150251625581279360875522862608979440403229027403308272392813063455647073539578370678579710820304945246093037011195940425691919949424497766344545795241475209708901650531215213991753234097615969623608071413920209200239548314584496666291554314852924731697794221979887721378269681091999356768175947706299308266998402138777146932259394432157447755378832454569455223947260727334783662950226699328025299205011993191391550500369831514582232569380219187250526137193948473299637446831956479489847949601263211590519113650955540485482442683366498793818642781984233912120542233876216817733836577150078088273486923692689646644233110480177409543596018689376606137925414672319180060488268470238784234839681028456493418655539397789580526707725489769017442347643389642464992358765300419939094163338270692912728540164920401030054236909283067971971357975957216949762842504144532866091898996506764176584422209855014681853395535058475104974964860996391691222917885286360038211187127356879462712345598370612592288449397451736465957404477921846296721738935828241921540789019192204593305452597756714582658858608564816741679007020875453891469590152224826764566878235493854036919600204257113997649139253996947378836556031437702576033985444378165493943810106146637630579672190271256476095959238380712070768982798250605428812973636128690996952514522914462755863430747580606576883941679254464537840502642057943232840576479205794048343082187503925603326073615076514837129453373488415125002955705599852727242824674055510990719674152998519737907752501212074859904433955387075290563068611788655482103260517347656576512193990015578988857860932735988104514540868058555846264035748174311918891570080315526732132283970311551060202142867066992627298473513277726997230007143700286424116797950940159856479591882363146936373552882259836823305775960289977444976342638868357242615817131352031844611419027783981043060385029299324247806841081192263365368920935086444821719728150916358563004580106850547446310295126654545137783937791404810370808653261878416914394808026318370347993869521055356876343095534649198504127483157176288935484184729361734407072694700191907642729008881418427164655316477385087234460635203452383524434198595267141080426438577727742469972680493512432779147875505984466948015913343383889226006724969259116986918705475307716465488004436999821758782703956376404379607413779929381619737779847845524272427739970264190339535001977337011797870826718932412162287404297115271698106454047979716011683330117023734874497675479710056259268547542037836604549788920078527948175139372251426959033771667710846689466173269422615685257768942012076183759252939234593257910356600612052341539023232900108156307552020538085509525781041022452974718906378180920397808295237369682725946409263754341385158656158688518555774958237124364610346408216454947586441461222971953930469694491158478402010396008805073767159503774829742626683409082332300139217035124817015104847919655039293691649869312867315124531422352851593902481053247400129510666420202325704394171286628869525363822755001413058659043913819276340937510547850229703511256261076917402423049313300811919365862317979347224640576489231633021641239118778196969549924114243249194298884865888027674324582869129704189118916227356445236160209619665829460705210010610185081454494445683933557193213523605806101892460393751453370020631369168685575282506146630941386404712440105647914787889010465345927262861605139041359717181407052627897343980931906903432927443051444128045069896264220825456676745608781990412732078473743113810516311119066396405430973380765860776693429059555267237145321647275677716764659009253418265748327579423949502888204493675513804862901964367660122341272314186434662965028407329678270646109817730882289104337713420364288360045331307539776476976143186880238881285578773004411148585256385730920653331849700622120280040078141924641853322082160294159775841881825494461046666012883309909220016281440951153855384825081756557121027352599357613121983970866713321830512091365134026589477974035352694172603554472729903723053783061390419173219841526505422701327453824198679802107692688878342706204390082587498419584406504362288067292424190231895656033627666482604146575784497950195805856067621076801667373645542238215878188142877065823669559215646764921715234943591567971186960637973497429477120689115270284719913347699868984061904102392899449174401971375950368971316909821207626422121633182481604295812417870480494335660979410223829471122240365002150278080765844250818796834903988668505727709424557166539939500080091153824932363104720938957216093429370987005135827132320765145577065717102930272550954535708297879577531736002683237945352393987747545701536805580639537898419056266928256635038418187573820346900815300991405810193624381037032036040122989612365050362710912327502618749277954779081681797088442026778042915571177670856954381602496141891129867678131754576188691330039608397867614656967150804814049979507363135929424002462667269055459440098130681157885034098564973716285023800691321114800744205964877164235702451163154243027734327383862774471159003054430854660115052055687911006150894170747317881796980083140687117541791798481525420388075890839502557470254013703481008592222594647396950895452731975286669411839936963800484897753454888674620966813222702057504574922533509939303735968541410229225294743740105441761316516914033679056146907469940059663824425644749479745774321555311690208434528165537194148375034730309548179780637972822782880316662714519464079742117913613862733906993100421522818965573131654903882803380727690552630935538185764640083612742187694736885585595627587764949498904795334214827409030326502083464254332323921541122519793781614586115497103770803076479539889301634251530148437289796666427102577641750708271094252710252550956371848269087496282547868155035723672906739802148841891328744809275427759449531679297272840942865129943328092364884529273467725774835414068176529166020436854684108342148220634930208383837950624564693060884530622517105891907198804507505608815899324215214510276287551328040488466693484579674612839808546961249816414710427778237674949974508536565247045686519607603365765820978292917901544450598191870181150563083873329402777680493644162164235858657677532749594332738393249326685825498614008233400981095725929435897372151646922215565083350017410264868713216768485412644221121128444088579874460122140256579708298573032937345357442003486646846319590389018269805795169526649295987207751777399224786268732066675146623655764940748478935239554978330790033205138916873403249094685636277774374095785966574612143916327770034949534358378825627907983162809410593071758802516077227204526052148834370978507629778052997093201999165580240845493005845924941841679591736150586331272104137388258669040990118715080190988821092544038093605604826591887163940120533979871195893300180270145174365886342415775532194664122356663937131866967628265723701266123071139579127681716428278098978066538235187586006584742187302830399778232070017759509806287170892586527608573549387036058976994319058470411235983957354805326629066862964440341623294195856295620550703068624624852698570570776232191301353369136372070746856233112633798769750128675375014233492677061382285195258723849728637180026718181856277112428992538004218946801267717137924281807150274902871016542734457530728151367108222483320436736068556644917001775534963230298650254582506862008290771111201050834506901933077505891992268668419758049314879737328862635122790996968329226689253670781049292885858532073644028857814338807834766366696004594252092224201948219146977919579604359559256915839957881436385821605660706738273097629144295557017162585169628082444004626301891312051750112027773470767086134689363943229226398405990822972109692713526518124068536428311248522519792828809425333641343021608102704827376968137318329053900863100600141842376016813716802900815524663670750511922883365598136141581551028447228143235883549437859163830560942702900489382174195639716693004272911558264862034787422887647767935119567006608712841957154372825357616896368023073586160280855821426222198015927436205692234677919180550378881408183903672442019273496903905206983634971489932649060944602687037494858496209694922559981944535758865303679275053210672672204330917942267966246725995312463324497320361097962855121831534546549777848981122594614670364599039236144944481696332781190835266234881761143221132840059491331049485338588105593035103619122360663947727958182164257192354368741781879147239216939572288298708779665491972923952444332255536860745896656868843924809608576472981001659555496351743048400007858580102427006022187639633624711130418985411361404554550547088891401536463158274684447982504966516906343528126824734564773403385551671467878374019241725398966316265993304246847614073386464490837123277187488333529333788889599066596137064808902435066195839342850646024643198829806806067198388379252371941373166710769184137329120999798083487246519917238115466335168491220810718181939753762215872533994310033990342759303421110282030299505300656624845259948195115565002622827600902355950599754140336048922048322490228839001929121728960853294593405248993793206312151326118013508609147012532965118932778584161342523110366995176211008496447630077699029657705723531071282550236260682061527883723131466577246080789036462765187058692075829841646958082452504048261384994107221409947925902382900447128770711479178437827740429484925789440476998340977787185713041728455661126904344932796688377569811470447543777513257736608331546067825271170657349901797499211898534490766959948612570111815558545275206980934135985455179508301712062460071120607747435488727408567571906257322392586731110450797272581302270751487734604476938952938535718141088919227687606280888896294250088843833781769743794123150833508769681666038092887237248695796400071094327326338942236820134499763849609966934760057927392636245140279949444727999459161163541016139965301165585151900755171666867608920492402653465135952931757957720772104089171660591511396963942491645934025910587360553041969652435315647935722489141486308277119238231731339316602000495921226832961289158687326612652192545220171607172359132427539314687943876944955743291214016858504046874642511372679851299765217567810204567556194809982135854914905480829746886382258157528064833493121383104953500348712240634682609216647408471855796924181619256436323223937825087622422727254211585182186098265467012309539426149826125456014157213508916994162091269843240672045900125092846127540345894757499658998974550836792990505251734615130054064144361131414843518022292561770305338475412047747115614262177143288286326144952223144772376178021041704094557020970344685132768875333838981994861160181730696296639599359505009473128874924061281261892556388263147789796487651567551414204481285017688457932893206847835279599200839059863870526791289353215593355810054731640465538767416172885626794293930935040953205749548408851343858357444451360781842457741721130135973563203657098487292205468129146524616144553680036442488462808308039415544718402574212651445059512278558662295292518330190991329552119384119911869819025972777079413330358143663199682894926952516488296007241436658573862694608875774042502079829112248203137706677201405389189350257750567736355303744663975112697330636033891471518100438433458939210546389538587868767546932091999096945579239511589271744229369923858500647182662030613452698634844216859579822806605577931535663639256897458216311319175197229762005654581510478998496116321208176244835367432634249993599087330922544242918863304560288987279694627132618454142672718303245126259770333550760190124769412855516924390167585343906973529814316055092382091369556538252407875455395901095512057559720746893321412127916380395189711020021993951405440239863311430305370601347115391758855844565980552770126524107205725977309211073540805165051390442322878742881782049180660612811024292481907699064471340355967933628850037697998140949007678214355004840918795553071734950868220205080166476314738215912216835195332631692476319453000779276140367883423813514044046836780646466940309303379155212706760222160729996436247072259923167555532909497948226561731514046382483843998461675603013797297397935779213101802682470807182070426846820862511766023717658189465512596874003006367096484741608779455724846802888946017599431490103027695554371076119116920342510482633885007416854472461785300553712477034735104172818468484890089018710072055651249050525284486413582708953757272220024123557684310832164645638336956724617186396123574997005447070183054852571090897208652647474179016398812015275203525789771405027242920780481041375014178548462492446196979563628600669272209724823413658271200214576458762453936587016120579628045039302178285435701019248586938998633032251911100798912476479837840704108461924802538084910651608239758909637125804489115476960973703351331633030642511220365881399650236179522089079942591177533071605669220009457114699563189973393006893021146803352519831758686335775102806000238532867954699036526181517858798696492426460086316377829237035404444946849419154102138546626343538242758857656697301348851986519602630147889324092352205419361709414465458076987702112843474016589132930748035616936934997201186192040164995023476805575166975328792788142041596304746344981091004063199064249191501447199373660857027950348678398385652549100292972119727506769378952141364285916829455288463600906277005527652271188276759344933106170697765922127779955322599248033544133689733215837544155519053234356220313609943159311027017684356629486974825984502789529977668362125671596372816900910228160527701510244788499314352703655174521827289176767550811789491836713587061475080911128362242992777354369006868164428859311426629142619550183811020298995719045675242855646661319453740161321488807920277179958373743435379997940334309647312956324246168117612337452545740768607714331798716832882914348269027425321657193590453496832312480112602924546422908729849046652420247459442317082203639422608269383975288221651716775645691711299098763813624542976171450862302113161535366017312715181017929360891843616809900084237916860353474378673723397461711276132816291115914625695788420866522426359443389209939765272757581909145838193072367195279582448399309555727007264961573603811322238563626567262488326608594097461927403924257045270600761832611404488075521610233734004089565518793409619535705103479259134729669312088042183777256959279375449798552183639879012485833385904213970585745074741069705434463204809852743061302553776452274963139621178623125869965460676741337541591917872132455006249340940838207974261680933812771304269464191417450925695903406419045567518087189125487737404651421467633562436910588612831038884459335873735414299174552570188507721034718648233714882026245435223210170039680718413600363437321409816016183009489968159047032088774954824933108247688802456020400777573907323195794970893192998180581456362866028712912028369678369784344473509478170047471612775017233095758720309491414429874213206291182607656862594521757384023933618575240284266748310455133630850269248478479960568427331431444520362584415191250909896428456750877362916132344849419447888210531409713218528239068059721703264054031593633735848474522327337636885612697403603180314440757283207917114309421500764363765707209906911953356558924750603127475924000420404096606782170699719051430180572918757946203112490445768891781537963050177581419534118925820637767918789063923421368598274347932215890996179696531352645684943309317976410325634428676498177238248698444216515074224391833630148327041962373179209834440997212552464292503868542241399436233980856445877364820761878113847028160501276638614571914952700512921415892778218045253890333025810225383290408113511684490183908355028619811517452897754018353933509285363241467485172998660383434379752209400425799176352676377602977823992421028467840637324496460771019286228820373520929126464350750445330274089090249266866181964794053944999544722292646823441736277903608584680790451766418687755517343113047078536229594327992587819974018530713064037174520581455472974767577515538959637760687354008688397044694145575516676475933656751719848090864716564968968401963507558631653260567762268115619573034557086135223787207439781524401797236446491744279910355667472105112066567899947793358287420683986871593756670834017287889289517206604837902315449382001056306520413395403914174750675465036620981498311617072761961586499209375248769782632568821068837996408447576051455409454345323567071272290647008986518792113185761921027112795077989442255233088560080941368973247787865531666645945802406153844550475446182987439013573603369324161402960775346763448096364560103731067908622570372948146180537219253298267362948046452491730765575127749856429685197305140785967468723348400841182544623567056174751571468391430120623162156382509401235954564295770835660613133689806750622980119209984805577341424302409374316055317459839016222641999305833484725838582695849977599461730757620920009000656062930019589422766268867832847747241308828186313455205376326500267911469126210382250346544527037913863038354866058412112539871894814065696872308889443416184444046579238397898405283714731075584562842469895521353597083677701289769317112330835105937415932121266382067333867650913193407809356517863110081678230393957645914822811896258934066006039734932566073741270399347621762433652833277043911952477651358393227007962096940021669195307004483984732087600361798599857142576058714118083880367584940095272272775684271319223887289136877247182797898337050055493390257475802565337662453514426169624295150101180064478570003167023386582238556772726261263672883093858687407949341855259760093383202120533202959649548434400173826402712001791942020841821226901155891752367195198838411138012368092241646604992170409637830262457007380676885158101983219665711009460910133214938582533280693327885374349096395346692812529952232683587905356551871100804736607743537753300353645182375859921391887152843559342374867857233208913855953306482378973074161322159114729940154188482758079049042728956385753221967237572193562953065142901036395820875591935426549785893086537217821232339538915068619295714653961668201575294739031873736348339104961632252156231467668360175424595650395188110571663448032328488354702746435535202151966594764067625272431570829271537894606951995130607180377996685585959033359287987105048221850973017233126608205992397408766265978912903111089076988557219115598115870521049219399835150992396963133107125110261650471023860837156203260245295199287646043997332114352931338992393134563953350113125902907615232390781133841724888467295893299308945977931441186918565676192639198547757425943486392280699148304532509593927690105402828184357000414064577438624823278131972925656726479040651636325112718672507551561671386168847158943550263660112759426856703521038002943155135263268556197826652430572269726189799297105126950016900412421838910028248050539163395864454398861435535861845060365517832028140897479754092267727519816364390969936117243468434118389692105828539052161450577109559812352819905157002301483054136919595197250603443419745980739921132187465471704007715456722615896883016536966697721467108272506866545633579658828276752378791517729711892050596666955173627214405488607680887389935997250941045547192736044055301490646308807517586181829120774755820320539122755692365911876258681918341002696858815208039915487184980878523301850816221195692379415185160685237777536705468205867768896000182897252268833139556036269562019625183153755027583445234339133294308209279539579827155267377008751692303915564096056554972014742411143844499519724507842706050192435673938202637262149399207291509239875064026492391457191075999234727658942486473410599006138517811294191771710983209444248930081365044796810983094598741299365944777389568891725830490447253210994448004792413298424774033365142236382424856463021369220938798628189785009921617666875314628411752014527262937740584585943712240825452087784044095353727206295305404108351945431867700579312438609179541863324457830123245554131618450226027667663317558238843254848240700621916402666238828091895690508727916685839898970050625645936154160770438166472336849298075573830205588112938442788384867477849181355617566224476782701067122350284351620874896001424404407368984968551355931434456993834193507696248419836604000139844255147093679378563250039288969575412010569098917187598318539505342617727722023118428682309775687858398086341509705254098324697845246346976182373608458415969669670562236443027694208832727854588698817484074015078577642695243288605408662078875073995580059007909011147457659558862978914420149599747267685449756742889609811297845177894584490733766903360161020336293342184553591926758694811015496478045518975273259584163574372452856143854707145131485963409878408997568194865304564872218227549676944407125309738939243189220477238946384704141292365843829566638068446738847857612192900620197352771069355317424417821301724519536497842170258217409022871104228900108757332333470837283279371977657798056041904641260687261578815936908822378965252352165255109067377830314076791925512414837406048648416874353997456306188421579021864865194486077485298868653933079223112362016199983254488763672611377748162544260929802193038724832533434959341992602652282790899654763933335519464817341425437232841133263914831495536680713414335182197720581365692827228999188868264025389441439008198536272863907312192177851579041978224694459749814067689854915982003482813035793262111523838357120175489639490208962406937098606001594610488337192009367509273693396955112994228703289546250330403510922119343760719454921934897127443146584027032893984365907920821626040804763009216257513762720329875678296552311812019609261752826594307612374819261574411842070098419297686304934060431362235960710546776503302739090203977949280049732306737841884177316930409673005695926930751791955179803599707928134603408692888739183999322681310192138735129081655632876638546105823235100563581482090490255853010050452378562303038006383481118855665683711259521990935650925338315602235818470086734659002786589471745111159260164880146638384435541582417096681653932696363030439594594298321243711177708489506588919022807836734903519041597702010417410399980544059870891364070979985714435277859479929260316851127491761086178188270633341488368464475592470023745651743671358134625808847048452957895342743428798811393667594660987120209730906429461728107351076713663246097679503044102614462099599635457974067622964912320854283989237041966804122605093552157284389827501792635535246677471574957886376759446430004000893211697495310764938029079737090180895806975088184153164323360798003350440489485976585081801911595529164386385622102425918638317298156637490055235142459474776330997476337909938422308934279531444399469206439560080069982143599845917107214213096633066339932253949241192454124777459409896959584812778472486813471628124298489330821552087359063307847377049105019210108692884507048395399767741178064386843195791552146991944727633590688243219470114861595001799176901152310213053803665932304880824947043222122051403571375752417363860988855032259193159818424126416643698190102861455543528965380946544218156731147645954604677741089273800068162369325445426354531522805218775389760664454252703723922697525632443632945529265789125032816202368059062107975422523812100622836119129472285853763492763151729076200657550628746356627489868782900058846963148834044665963636359828900882763224641421858692744116132961135426690222448431060243838669947521215090653322129976224732617634444405476556312572728368394802050906616041721951812981044401999301018126015434826843830354694236901119764730594486131051651801475737908895440023513911591796460216655360064238196522663049459331037178746265578877610840967706349870298164778173407667918238382520643622812804847062237026702807736191850700974359043407812127496084761449332706760136142184855978663815127262609029577315106298312191127130108619512204521405081626986982411174803595392576255435083023369141349818816423864688202884088062219779920062655299610819110836291360164985338401002318705989160460863565056936293769020449324388054738183922904049830239312157963495576400323046388621433930139605277754335660594362114622213139544095214405046342139927981558509640958860460864477291241178613598269768863267467461787641212518152826628792287585502835994967299029217920534023998972104625583176814568650294526482033781202378781157400389850399052105134865349463976761628818037366848435577565214973881742925970892725753184977046530023775628141157474008982793889695892792669708357323164310405329725857953588200558511103239677523068913207061232384742010744084677159096658612057798519989134765519376636816214483410450517074327708735622472919063655810153087550253865959448968892258904235794257779961192497083795487355016138401566804108155446629633401223576823445404495225511636874486156947839608876348445821226979491263401685873308662411931885342274583003211470143696930446637018854187414536614774817365876528587408837596619213875147540634986611432077784139087210070700864728642903432580990243443544946639839183660656811365469594104697058238304032670814351068407471993145352055512169453274355341322659413859784869868202553794514029491332806023686178620923752389553836868144322499939782018927437017304259687620644334786479211975263310667160055920640597581694342251764423415208913385345460141716624343956706332673008353558285122527704895151765608647121436611697199145466986336262328291026207728312432775855497218229967298569863637338381487834147079476950938531750303514472721125226406040552363166519725625226974883839557375637134031576346250581815860781886410751235951299778118829100828757731783689336979541827640092916430726248698497115162646000896910668471850153299313570106155695330695207332102055857815964529094405030594704106036400007475065961143858037740575079139963694912456017992795143196108508505439716500577853608790032659309824552437310085632339668094138160977422341981282010353098852216779364081618941529907510515991050514044782050557316311392889775301537957357155697638376002266883945185178274241160313821040989976541925911135695141264062157009401587039059023224322524097412627343155370155927702514786922856909262385644888453473055177937308868502185190136300562803771688981655343017250271244402073074495301353036682588390172427573098079825910773888457798988964410552180263368837399240813154093405365672393435406588556034720330666414329347963474072371334216461301707343071432279821107300184297792044354569077187317308919991752893193696966990013145874664747379701289699093258465718900439038152904788538928454939614758083919356942770657828706088567187774808492640633114416539910753476344813804005171320350895368266706605350414952596305506385934213870672846313969349038697351887615130035464508931114618190158609334148570003666224736556448595562881604373603233920165977049196363242056238812528252948167370771305412961438824235400946177083811980353236147590783645941019917132537046787333377716179738331821768463314437159575357948477036771015364271055969083828623570390541414453509382416054062535447368278067437579129757658579023601522255530619654966967676979451277188839408823852935784791242110908810093771584657029436351091879549642699517104263832043234183256905782674979853577251380438107796244019491769907189183457486023263182202098395128331843943244911532154835667639784110672439554796468449629472821774819025350980537615547418670777729050756139621888917918382213444540555218627239222522970740564221486939042067093714944781419395701246823529338796936252587941362425246758554412975084854203539768308158633979244541813434857246196896226167403985730455509715097830001439122842192343864899988490811774627268732411308390329515784853500825851414510399400279932093092321562333122956313295654635003531112319343920366615313890006659089041058710324636700364143090734587824887549475730075500778080337450034502862074421055483806437408078580526539323292434140410169284653088198505601149117803573378363520052375984479652251983871129300367696606785306578863227270894874948092527901008052138455303156251419244815328606917566691598588454496950672829007336257824556060941765071744824065603583948796560338437754015406754753908751828432170639835793599591812085319060695433171287307431502264449004966552518981656201379458082014053466673315240167572827779142786465287711981582663643149531911270034364938765296841756382707887366686441249654835489773275145975992043054144300296470676058634789877789126995725659115985696371016456747332044290416620685658842615691510870854979524591090900615737027214020466433635988486566831044335490811861406749922611794882434074873049789721443671818820402227001033356194986989501943426751685276823701138588576880388683575323005471704696940893751680487476276645025971926251173647881846512708560565805366069775896312864647028875287741318341113399212974077276403069469303189422749620649645232524733604934466254574379271491008119349828724518746107488401831519882952564272174277451190667251985242243138847136689023335224952952784223446071486998901119238389865302955339727361121538482035246361152772436026473277611952030532688203903162493206514144331889083342667577780335025579819624875852686850671704884095739520299645170864064201459985391626011283716907968382505456219732978168840955931340186662472538341372949367224848753503166848466152270830394760718777169350769508016991720976110444333353423974270356651803058026135490379837122372749699494040981500865826599709043596421540574850645741678155140420733913888586058105624239995999551951200684485222360472208948612937497354088971320761244305718904959251753643787047437183408539706761727025864602655917203126815546767885359615077887071912746767313137741597687221131662915464607292103207234945567851792977613283851806898992637177661015608626376959902580753723165662560037265563879624659061694827362570965629982717116280956440585040957073194024613981422099717709755954354949828034482927013347513950036337447551149301096156851246539931677680757471688030020601305364146656259361816653257892285092309748339144180317840515970628702609528580040663205779488210719145558320951595188904452356680494484705489851694041888161695250090971519209296804134597780074826046829010734712929945743550344692825274463659201759302339092290281798036156001934854527437364077288168946489330974890106860716047266610579940487429744660961540806711680820126088279445441798530900770219169118839248517568589935304987113786803035242831480033762612952191799481804604616847104779998178234250731073852618493873791067443335434399772802374820834273022263938490338204802422797422503544863425154427646780752206320346927479855563225112168728939078895514712274439149710354809948499556536408221916666681260655453799094653359892432075300153047739811781024253352521089645699017793460494756040879975984445169890464973355175590317355484004234148699239456852515264602763324677695206232305721810758708948537933858223750268558016421304511901125927853997517926322738051527008713826458389137880050467602565444917131052670860127321153640769258145149744148654650405321900492853957900626766737101334705486896156124865560706142001657213023385290601975043605464343423185148094954619748561366295276429685303651794129644332154009935697219526005876059286170245978163684123217059428927576567580379778384375333159318414503528989187365552978562482549153712847313413274992442164642516071822124491837513159916075876029336746143464449438164179169504230824899844859125545096025271891223862142857946835905599299321868388057485681402584131504520819071453329378230780295679617221521972365926756577527913420858324389137519906900184847627886630396376130261254679356061391039352845338825361903299869482204212627568554238387527217405838609438520875794739230833147571213974870626405221407106446808628589969234405332163451988433107501125105261350283718605017181865181318711848476808361919812742091902492695227108154074044920362592660899578962012332495031023128494506651136296159117235750022744757799532018625398288729937979160947950279223083810178064876236728944464340672861211390129465021232567528933146800317315231468101491691381181597181951291799776425644639803332259244713101901038717696416497105538367332184914624970223018094316246788773347769815197988899957444230528648885469069454386492197527717954540916629385143848590876362545227298718260390625606769653351801720891091646766238941799484569848669321801946519395227022016077323228818549665254719412374550262043333652127873831645796112611455482807924409561811618750875373697872540851861675284321647763507151431503230754730929986209425804322115458203084803676519406513444606781736195383344465284993150413569768247181312820669683010666076363072242758209542061330034737306268421673714694941233004240412327097591228614287064639104404149827360732157560548098474877292646762837101429725931659041653243389240632997121527473781175885981185443919074542058705710557678331941123088966408148075815758957663031215821161719564663080929230321264034550492550719108329027752764644889947274684990143948446447899264238064585211886620224783461233547646016237346310565674437044329443863379214902198044228877956013514857540334392316270618848712704452929374620877545171292093532276536302003119349107511529889463642310078271562590942568809220447349578696187927531023710990252809392443887442267049055940999893644568788050238603311805860574657356682911240285081859866857935444024079364701832431352687371052551228555794442036403606961323712519753643622439375139945919244189843056456868994953415601042618287669805545228314226966193312488544997890817097981488570161760864340945281715176798548554302079679731692839427638674558379500883865391609163438017907401803896050863433394175465244884414734322300252306603177178796872155074585776303438388506310559381578781264537646435914849993453570158127609529592656697991372103210235171218866972198987942312961383804051730816757481380407845712468381542932456931564276476691356969186690128379872346102538744860930513572166529262306248756911146206222821653564547818009740022539026506602989276605456378126130155299338919666523828282032350240732468334927595416182225287122609341831694300148675328710312589866028590180033801028931376582460530967413047484428075373015492961125267255465810157247003325910011124666395489618830093135997266981806871657260970416206429812647361102085249851874076662409236753955043694483480158598290954865104354540680638079240745054155308170239170170759317651623343593866037494911976599799392757769718461315605757793958281063434808585882122685713642744453039552252849135899852515390561307046936677066584526073583292753772081048837567586084889843581503072061082110685409685627244957968470130676035951067021789943717381720646849392685392179747043455119146867021713865851271992247906760533498345238013586428606284814235255256242881851083364733612613106080634892104848674107643023277750568071215659834445878770289664822656575041885742039901889712756650367473194255407091602713257026566282473963679708355688790917231861485074432759688280713976420507264046470734502802544138483904984267073390413568622743066513634166021771617386419843076610162311249190475915134157866256382421231359665954659933623256833222487455478595157878670001596800381237322327765978547503296368553104852936940933867192566599448886003421359935472563651749166973402763356109788355771708229125490966242071253263827312089926023103534961670568654020475567665860610640584013877688470952213639685650995231438363971295167061021448718193768053126170120704641667706663070089365713108332025589799584083239236634972583532793017524230067398793428015021943090997595102360634027004470111636326599328081073098041343179491285548926305556581519423137682895500905437305191721313299318984050672350809884612346769080240274865392892725323410452205907432359816750222853405609192673220043556370202975934373301736387262701580090670366051027875137329752482617002166388977006931820543768664311353442359742308364960809698588267371046647942389530865981266962744000028267223659531816508405292059936347792826642968045433490208839706441728263617682634041790873749143023605370606175897182789318517626919067657705489359082886567615334068586095001184635358779085698097781271094001091432651804723169181136260729158741891900819751263616993567458537458497842176413828474328282270388072734775339350653876210799124333744918502419115887932359096397487717470079980688941784407967452140523371037125942812153119393883727022711703867578170956769770126343925259177306398813280449358889671758579341500295078914500441552041859279673381718835847867041283249472978587815188787260978442874413637488331564403392485999888970644858563478052997049956016657071380668409978230941676397760875134532302831336221307619104638372914448463873689064016629709561960323119674064555063677926543790861185000420359463976151826648867779361347488567852448395861329526098995972203992525733190876766063383841867864327034232151107980945325969180746355071481988472266900605761527476248158947659720213898231443749709992323164209622973825516577491936315204489017670866959519875842815396149566197669812034649631427113316241261851992757129102720659848697743514348397537203629078071556435013071740618323589118109612246008634713151210676649500718411938128013079849906006733709289928337419710062779178445212561316134067136667887725621431982378086429711581908575380511809177121950900213586087776432390585197461115388542248468671376770781778382359259650494508476165653819032195026767473585009039459250176602782675950125631165581809621862187436760903164320492424336784006126359946086149953409202985389778469954887148971092163800518657593029008985866357688553095880100317690742461212370816017467624107680495556351604570700125733609362205484379131929533867168311935169018845410430493690111688302142572742969544515555788893053447437278624789527524019934535508897778692173448538242380474755964481615013347278486522595062685432161946212303521879527763264699078964609695671989630118360107496683604738056276892659145380884867820596266817951790676257175496994648466138125445185384004668898304132989419242848334657320223569905209729092005733242601988324705586710396728554471173465816351095250175127022460940495023240976943748092787711099941031666492560713851086211690160698032687596524634184896307632499336648070290363424266035106909104384909208166755945112774222295659440516615266539793779024926634830748307763410682086014402360761421834094214538434277035459302542257128462613122604939535971378382209984325534069708571175663306597123868824828936971204201128594943128599181714765370092786530918268611506134664843328633651630693276823373603941411341470838009497960229340233797245219298682076670275133797323677641795177544275228997801649036074604433305883938174690546249772932775808103344420560201707392831619913229267078191965840873649899615449165854181010145808967648356063460800631437245394979531481242679256115635281068005263837720767542938574737822699283618900113987148474931443432901030865345990600449572089050903757802312892220328122263974784337452443753925715994662642853317735002950044182600963439326206433918900905659826520292164781968112932652799547879720675716512243957523176169047765808205764229852343196557523183634569085626913393014996453872310150695386771152166470435144095497041461363158749209823020646369176448601613932577758128282223835033288698393763521482612387607875006324481958632215477375338162354497266983587813872178035412822978710882493642299428695177012232502946204395211173661011400058969386869565844196416001938439111247279360773812987110364607007691337699964825689672413120390805604960965327540551887539357641013028581275086549115494735752736340273532279040962406419603678375190466545923583545700586652880348622827861130101696658712985620786007083549174795804692312860744158662013250885810429664549948446387893575910882509030091992126123531333736443977133971428290506846841370495676442898219729016930765405116887163137252303876747857262284578541116753561707405621419326445803447313914205836463390852764860045775429019710079184909671928026998057067366978907379893159880078460262255709298963798732968660889984453023241531219402163274049341811005881819855077142860453612580241054064349033682122813026209129058410461780310574250509677767470364423522278087009121476718573352954938543449859631820791294891878983509068505606355648029528607506591218780452778150372343383556175030500257517125001938245531821923934319384750765174526994122057878517835748411568501021741583272826230628297237870505225719929438445430029970964097344572642310101128037540245478131804008321877909188697294782931085187671622895603455197172283024234795783466095323846103649388843764271527136528557282804841063326507850698716637273419501988115944927091277200352580872724066062338042959037493231175026636777921853836927213052005144083811297356746427003213778815211251753123735452772305286230120675982744188875016600258949115268889050257085811713151908156607832028537509603598024093276390812640983632756342624948191512847639673182197451640680286502388589840350237815756071064922306407011981248608365323352845894385123135607674449172672478938635396483758625992567419179086087072204271376869737078673975387894547202702984976241635790416077416876490665194011394162561202605450563774440810043074736899352432227317420034217301736127845997154158995396702620084487271560418989181699864401237646721772112181967894386469249596194795712234291905949470638934832631924103815504260808595304078940159040086830035426094288325488216913941355328356317243508353980920239178223565027190367259602904993151575706171752444375189829773713208314879308856394279662978124305756505342293282276148319823608821110903869613218303807011524777108455787635068923486531973637101399252543542050215834776884455352957567727945510052651810676967844400306259641688425054429140298986692963463257929990854640836415142628222841651606399492820886363220427347690245323407394025258231389258349810765320393911796550395576861305610083295430655626922643505988709776730307410818612419005277920437947680288962940839628624787916892621323182107950866099649246821317846201541327997922908065353243720367230428205085808788211826799762753520197141473928496164669376153299627094315452145774195376854108759243911305034803001357273802902451851322755298792174987063578993507316913100325699058178495150479971404886121670863082041994695429866438040237528085917605029300354385091208809433190521365361863567954794404257975484956085575365654922142251667569327237063419814560671346132070152948280366919236571858895787865713060920544584379874188118971160995588637785677096091511285613134655250292822824807943709767466651058926727273509517906085348911188305477812297585688620937264713240939974431487193348517912158104072084279046942430590855004827081736223765825941638624072288447063009487945664094544821665401315489838595654894214995880924197586590511201365045778645735191808406162022665440730509522842714838462818666130175666652980996209255442985918919358569398287479330823507671303290082436880594959014337238872437766009288726972463168394185433787995261195315335813141783901538589048342965117985279792638978533396892838207980542919288516693894489977634168611182984206271524383870126264101029481337202489746693165306616820555854924026734112583815507330906054669477724951791624723675491198294096970795985281472645857176186414045846762219894799894809609592307532965367464121421461436824043637435493168478726117178018960518206239509989816676463910618890712983903302852340625780669748441518704764616979098832264348102280248698772088409232270158340098979526644751854962660558606430293689993635936301977643403971895036277453547699619527564243676794614718645202225079340365762933706489721445029654654434226795895469233134712988779371860964472080333058798749534914699075438072538021165941278908252971395072313164145878781362544332315780385439394840712998788423283365592073471445197764574224446052956871839355435350536477530994425596657635218425730968420734798516549556753787043814233365484450654123421393029575954634434042510329246089418404896195930463464277879657366488405708368152170682332291166796210450292483920989602301771191566621125416019163998863814120356232084340347980187973818464997026964152333239821836859231045717160903941088733006490755542933154509587181883733794321492660085188437591008971669281147999288386290506181016920292636752347887038746055367441378163045992793552967458241713214197361682802197013293234235201037343428745590964403465905223259133087850709744380298548623594202495709784552685762559472013561838934446628746526215164969253283427120969292253840179013864792688876366591686627837971333522131949750086012709129069928273583113165787550385280102864672822042495395642674866618989701644371346891684434361403306749068514751836145008845779243781224325397658896932861092313575184634290378656900537642391246227275358340959762343211843015892366001814567235363573811492516903747948803680873557332667722657023186750058791617024840194417463177026637122940432555903622362559662495231443081637834392175648262426963785024265959257371222624313441800336852030613453044268698222530121550633628667461387924610748524693640190557335386192794554062555018972760489948184615878062650061466306621744888128331637133561519818217978597283408425816826923065794273776309996306843215377082448317685515772646337446197186097449611267573068423291242791480953352668911364682911167479789312330578771968599686397924433467122693788241998712329189159112087312873025212746803395444510229085811009395968205160823982139885014031183884597081129211885794614037952069493938748190907606730286791755381285560001375739748136968979565853485980988383592184225523873607247056577782629574058096790616816757982404887906759236754941744114316000634782789546042095396603077401132064495720395077997858764271864739760952995751339104431155766453386057113339355101362609956988699505478272378898617251031707751779575078475024087139935303185781275697744712065060840803596732486256583317324556678359182640348099968531761606830898140525614419131044853774312945382863293342849074606257884724681287556880155327795054668699762487275637877267344307356743531012236800705813928541770570917694165613163287359438161221569742047079249780262596813167710091756457643967279138601054758024346150580542463681628849742390665777932837460859974153075398532030708439776935361117771391123390229485519555124774459512055031673147873228209321028296446183931832927725032974285909393804581586932832526246970009219849231144280675824599180581867857424101328409253456700886936394769211615166364773936789088123076789848803857252355097336329175681182650234215706646487357410886289195480150153068895626625520019752036339970060088213067007977698829547849547295752116136966515641126005455333132780149470125706528454289033098663111415189255256158252965376079173558166434727754492752782986316969896764098687781994305724644497810919790944449270005361739973636533100653444677090609406494016448000418470345892773957788993372253968799484591255675738813223467823633967830661847062790611631218347448407949326244921409941158380164917254142574709195497291246893000972636288801930884559538477664051982451280709292970484967532247126094173846657607267328156756466988512690139700881938819452387577773274252409289782731042069638964698283226258311960490233170852034090342455257493833333502132055103710016032213955237159960313054927357839969424721384511003437321413490460058307344802322033988282284532460273831883808592033578437426236491901122925103487602679814679852719725775215547672640431692337268691088746134777330024092379966539452102941942236575168028452154845933208939239018867459051629752495599733250429235120395178999029230805394405191229120989304542708330613243270790786478006609520966405947346084937479839339513074031942196474862027159671131482726401175448006547196966766788226142969275342228772760498504469222822132554706077543155923393746653572576104237763562293906848523691434131231813816664502014778788994632654530261925302813526802660162442800900872933234559686890945831529158667691427741580486908413480030905427904611540739403107480919676762196167895451114441499323373868731507751882310288311791890849741301291631573659321800348154655719290557179362333958412311651181511285852678513233252755444707266437209982931454649048320331139739745210461432399929002057884094201414997032086885404876917447562452956491686039345307591804479301414540556977073117636407598843238693554109527571469273534278469208885495626533215526178578299843606650266755900283990381033489876298179036475043462326316709170254973230923094977299110343445912165121779298832061404145034925200499242918076387572897632710672335993898145075348701490393315628538218409634729563864734039566362679502140632872633361902584010499888368841805801675620540717016650308370965403683796363868486311870384729462491587000786053703738571176157187725180073634706610729132072445636169208009469253077609737647126098662159033910892714446421087873180040998523133512170025758601143349290109774436313898278688188706837970443661007500572971662657691996629653574685093611844292940541025069435430670561685699673865568735991080588162613935919613204113260974182505761848137209256279305616680815681307697878166195843724736307932962778274860297299554424843029566487316973145550935382649198180814902460949246911007756370428518596311718509280881861577941511333278045252789609047647932133085421726132111620397952689478355960139974376203124288471955624072821668241425457864110633371139702897404362117761949055012825295418588231264341478897638151458331672669106481383826619950489314848454079299025986725920128744557656825938583540618152481752672039749535708230676674880138326033564960514622242159107296565656194461961620212114556040077341890615806471625542536378071814128084231894979679715950883888237403318524561556187218124590297952797203834498303201941703277851691229138784812553622087191881917047156234486526150779712259510392446323692514219108367671836773159090547951328336060851785326689826124184027280816594891256348083109861996576018052509012829377627064314092673486044309976928356386734313025419850743108738725936604514673284104157533373231294556933045439473660989679858428661904107911867058568371354174912880469691609075694149387762055017575383833927275735930502389388367415643299195794120311754902198907913173786243461641258598439391720704453721634541753084711005675190446707722581501010278622422304302395127095155367540599844606898872639993910600346722419378341538511287200947468373001425644446741029577484767860750730167003773653770612244655113055565020593312848136218202885426399977726018317074885401353931791010444797237948763975569983986149393073559072254883409491498704059023560014253814998511494678651386296037956718004680862004198160294561876138024675899058354258238637467845368737097300230557817297642653697931750871555142363473196325813992942875781893084372198522592869103173884777328128979110049300905683698457520988926723595434575461969494016444138660084639015430857623019424526311971727903892405780162189602511313718192916546678379562912976084817638635282646965248412267320736488948823753340836570282465692047962579867326708738740278466673149398394881412377525398907120848500009640735511998462198911091756122552498002292034900432468560769388999340851993728142053720774011891948227215204661689862491878164630081516701209147283951307366170982373260087597129327351193091895228604445174149837623879804803933250329306085698536200855282285942590461877922279550258399842008528882504518598998893289119648687510329690604643469551994718093013512834707083155146614956599826578945683561112036126341251177865830741250827432450352408372051783036835681439142569780700724584502234414852490277429698919990710536045527358001453801648683603653354209844328543040762722837835693407279007762163416059755926011848648244491219202400693322401324263885104757652988356572174654366435347149314214709256853922569191353934271314795634433831258574060334739802005908635479795363618795440800573880952070624109683938540457450766481163753199139997551931361161515767763419130463582545968305529060740602525727374725389335596296419339296505826343618446344519066955412993277174259056337938934957902443950350023250722062748238133668871072038121538670282554044069499057766247231326855671622902001375670030786897096330564006914826290719240800711574517453682431267985320650920784732436651055113099776715431509553330748428276415480951738872920112648534100497321711623123740928917429560447962805367262488495063280754589197555080903508566045676265446953236366178919473489970497701140836956344487870669497851373599713043023746430844185791461430939910196391805322893318484101008603623390112889115640065291401965029384324993455324347602676638097955611279821280270570336020645358693942463276802925575433595732740490642608829960350584573978519383461474447780229738569951739805143322751869228519204591821980941032076151692085957056705098534070879085505285424641098125971761542782099078313303867701446996529630383856427875322117481920920043021239125581401942299296579020593322416637352591488246525541196977647081934670119015506118863094618907656431457277489247693956541572774040858166479368055044243114844770735453466005087489181566931568547217871408865668047807966262687849681040465738926726993178372856977930892085116215184365924415555062408411505916958496313933194618538820160473598520302619541027349870996053185829558214015578334813767451764905917580470794924443777433352496226590846641990227453726825327829019636315027694679477810719890642408300972264347174305509507890924961529962448281067391676335430642925942587550818472889225559738429544941570149151258054003292921530774269958727285138412972889447613270880490920448550621201436693779564784487914330216171508607116549456723455674859202660229860702871450855855551093455852552852848716902430166930232543460592355716104982538612618621833648832153159169398399473822138995456859382569834395375481126616256630925771909794065775216789223499234003373276192556053196668141935001732553039379809777076932996342515185662104570049413917672638353545179220299692219285654899460964670244039442148189664097522972736892411793822406111873074782443778736013131562406674215482363056874992302734782919004479658414753074843994422521643517683130372548011831587252615942662344760781175938251788822889673132629138687991401636477992327601711872515359374829730963925488856684045545859800245576201255656228301706585019357262877200127112103593857666763357170046977733707094718105931370037188001872260904671512449907933745957197216975508715888306621132437068742074775040150942680040083375467599631228229206117922904439084381806533300468723931946818887458234889548281066977305888484135271066450612986851887211979996279460965759328354025996679407197856986870228022807897451649343723780694814213680151368237751448455702692705250435019963537962275358421913079371647073095393181942341788899053964636886592776933288236316862174126339869478508262885698171589478465850256864814753386460691717726409499492776866637954404362582482646918369595248330426358170112174575188033381750799884701596491117153921544833936415028747828414143752894816557877020714267930169173822829594670359328794459631768537411674155015726102216130270235262368544039165995970753572718609936869433132070810134084953758280273653957535402084221865211511783371564525483801352628580375854426600258017815577706357064035874504933565365407957016756750761293334573494792218067929798514311062464540451484862072815897686607070611017967552672863519072133851785331663861156237752821973801924779642687687206401006144902003169948229560916931352560679383724502192461159766529924677491101490006154155454142468198295495564708066646882316690026956700836881068683948221235095670088212492384427614753193151251178920861887478451774572188924940400506790089700268126852333700655842124818623840196416080268059588300642010759351801788029653792737417050171260209809345172701860992734684359606600035053094019294323683776681764722557381062156799557994584302996359260507644787801077742685137096725007003953942378293554498415119788689506761239877046936230842361248401977875752984670555161520250275212980539380797708197305710061487452059334727008586778957396013198777995831872856131541846605355017165655854778594756322655625117422776292042369965577891210286140568117374055320255968911978691348045047394433228079565202803276750926562892432304542074408265914623957602627620844838109487924112643206829556327155850761393902363614992390475862306101959787437175672911423120366553691199588146275196218305195829441415786796726613372506476933865726501012407847250772424123050619244056469075255947469053683230811011919727381752615808005879158231767814570185906969856162520184971516406720343433482342181317230167449590438501954936809372343374202223540761684952934708117367350596425823755198051133801526626058419209083268785164260871922420470416708714068617665831184760036468985398241462712715805886872654321391021744333953030927126951992526356269578816238173463430389878422169858892407303241203715536505212499565056052796088270884571549824705043582674931928868088344611041216655352057656783758157732886337108024542549200605840599771250186793940309909617578348262792010079905324692817573076935850922490645785950398931650168486001480590802494785585747577120043811388897734809703958436204892987196336170425710643565587009243197357249655952036181519860510730453282025880584362624395725834737492469720585188614851577834826159572018287483202556062934987085158742971557549256785430136205878120833199843423538470758515787282571883604172923348052043392418490290559412673051807859932380770486608491516190152570776158324785737197057768534993133214203808658563105915290745720655370922614327980443190442250598925334572852301261138316682307407270211584890503405822971574867375204571988131968888499720211549754631883423378038385688961606342101945930721491427034113100809897999143950414137848669748160836734775554599565296867490753024672751586566157032220390924446653577815636020505022125359337536331581218839449418835380007458582205304391697114620680637633392012423978824398588007282503701665641459415844713693154358453276679022877063641130097842905707680114003909911755064809268525012466770664005607790493853544691014039978658244629556677627620813779911674218290729709469105943050942073852032765187201681571383412811782908356220306775414743189585619020756638849320507764408416478528165308118056859694283482540461895730647686266949698551164199601671507410463038870158611129665295075188726081566429146226410462219880491550038784592660700213880814487573601272680023371618925609169892822652165792496282597090111329482096751957126565765359468333504385114381368598551134690775024074763564135253098146987462548040783543882703250957517408930952188107476381670302135409333352747375346685935148531901377524772714789741214313810686650834665864548352703233813515753869742556232082605195454143168359199908802378639325749951341926911556038528846858862498331807293818305540782914281831224733436086210034289787323968875371271491619626095203336276516861477414063881097543539634529832496506068101815046775688396698880990749806664506025115007070855432745492504093420030725891295996421093546065117099918382642014582829418250250098066168953277309348031527798910192399062198227062608531879294135225933156350262032201425886236367005985518580168931821662318033906419298122026102318056486193401766494393520084340545223823372235408462997661603705522119631087861973495626716872606962876971280589028698613611766543942985892858860320281900854425737652090263057001472016326673273238324276780693698193001340877776249628684020861292924247859842709915993178391428378291752721785321877366519061127402042874397303259627777183701377205613089045917916531843900546832623230303006790425120694471356271056853802882552974941460144799568123449541233026743760159539200551510872226150904312149914436497749820618555268890227067240254613310911524668012806537943191597848687387139791628902206823915158045429593709157667730834579496557973017079132389059326939965426130422763606406539713277310618133353421575495597516098391195184882406328565559366493441475379310186331824088003954462158796476028529425418657099069686970547473448196732636593049493929444031760448791597420412343824273300205241675865244482611982533905446099654931874699516611570498320938338015768548595103518837153487373906082402262447165276380101272053450400646371120464664041843362738642485493612326343585874424453444709552572759007336784521158272519409363280953871958730754492877052673720532626184650451713402704022740282102288756281936362219724699724934701118434352198566670189674052076757875554596441892534076435803690834699407295453239488145981639427926794348715352638390079771359956609345202929393911465603544540965881017523360945674715650272392752013350120977210947229523698550964152890090003451710996516389304714460661488525796933062648600648311656833423502250753710216922043318101025634001600753455804399982289304495414092021400193143384837230107864072592921038092533697916598058191064973679426343169072111320758981521241565894633785945617144012145067707500202003155283030464572351906775015795404195374554642169167811147684234759597655088878797097709609743715740074265812410819665701819443732938639052607945326179008749603985610666948286376096223667638188914309704358762233676493835480106335896409637726271388507680066532327641349802016546741727067152108992104766393026176633229472584198656973853808293188112324862276744399120036050818637652647224126278512221579201899697550707442400048048455047185976349813678395168081265904596408286914955795770804361545955204518958262659465876438378840878855684509199920531653692063014986475729503758341324849704007507128501960166029903493657758414454814712694746266231827526264115023122729201134697014724972803730762379984251510833930463238348731701555530081311947604581076739839342718717891253635572222219931095960355550695312696249165308948192605043853584059530132215711103307265186922453625692306554521738898252689066657367114969215500395060104686378967906308298166088461872734884516799494901008182224268321616095998523931040164503474511178298673788927508864401910607087858476653688370554076606136085395561345622278726304344856072054660522799468840753757260323171920692900168693570730973575334050387442470842076238281633933691799343056365788156617667827638852307619099904164214255289220349015217910377705877772581715578741134424431216315742842667739609017343191784989149312793285036039282415611382121684011492063625748358201232943924435231020913489140209830149430311926588253073794727989646757370377186298479691956999760475461787427747244520637341241429629257275236183727706446841577010243625828837756605620669366192218741172690713104052179629098571487403703389617168772244120721234695654057461465196328528521447631545958812012974405328933791561655414758435694383995604926807051437333174020367891828474632089095777259356163951572718656711471541661168010272052488911086994345623085273344372623744374164938228742055919036847747847159428238085283618173654978820358702382951318654499785808855792907132769499178947802057168829339901913218114916606949755659847425074712824361335642106983167811042081180867500254642231214660473289897619062562238274171373340745828893669669828666668942582465574524788161893055516980170233129384007643551869510178911275781658467000273623170667790611699064067485210144056103556402592142096085379213368588313659166501864862749623391161541075519206791236949840877078104905430122620288582386681561029884841239108104705175520135170712388450091895444781740193668819636731758462080314655763214613926449908356757845237188535345924290314071883785340779428585770744526548615262989129672861786257571547212849888799777966391990267866061175895438248443782482876849860300140474970157621883125314088872904097759078298477540542024375818234109078558079620842827788662621026374154357765759664767263371146635939758441506350955921328731560978194741330453981982256242861522811175114679633874966140494572875045362961927992876020463113065343166463628170480869845270432250866924294067516964247291737834276189309911719046979112976224501680753637669875453909939191408943675861890012453294486551149766994725476805095268027204019802456328338093593377626258007337894549592931257848874339170552658782346541047297058273761136318500426875361866108975326693018266747131468014112099758934243509228494100917905835604260267815663115867882687493347884284025852361679046495037360635466595974090936364043530031385579642316780954527174570755100856062504730037004537649787383323978828670340404679348116082775680775303649447033770344785485141810489098839640900770546681187675977460481480489872980146141194440622557526010909844575383365173629822324255795402054145437287646514866656757653226389487034225796683991617235757747272021138191977268091216312940442836238743989579285010611692924568150192846634397462635099240891992506152971644358115751067348818851527211589909622063230227948741248553469980775605925360231208036694418580286362377697901507652537599275000944055846485987803646528911005751597862656002003379704907727404928902391978691278871485205192693142254360955809146640040121643052350906086884481553920284279057274224575338942622762270739212022298339605664035204779363188424525938045178796404356971378449658198129311787827497137439837953531953469850245516000759293116556331507743577865631418108008693789273424806472811601249747595727136327572654588950667587646785352487905295325976607381868845946913450205461402798169511676359210847756950820989780355902950177895801734630407446709941051237510299144517487426934703056913300135698625091275950789721002001406618730830186624365321919857123677569564317666330345613248058002970589050995935336021477783277606047106407339104838627867194602013349914204286584292889147941818281142005357645501790960383190993579439507388359051930901047065360407599127994870540663383881887436369819387941666113781267312951142936139669873262357430982668558663489095624222531258632336627362715208901447460774342236926786073929770481018211555685657040101522848442312473659745448674449116272258894989137695023633780822941464644313458496136123919620520318558628818767392074201810118302839938297446937580430587922158392868815590732577550177646914269559009746077765321913917268225018021471306823354950013510022400816007628420651130162814856968738754081841878234172764025549979435901305932348564116981047223927514886827257110422363637766587344168196049733974655425315141896400563399863894213184849638782170258415773913670213515950669018174912288707410929945070058238663469759441431667233902075920144778436781315464459574907091578435347138674041449683145024810261599511917204566410990632671899013380248441316463255044357989195084374347230990171875283142341842662297776848454795395533845828940102239486889792696862980754903926413626953924656153415167505902784402083265518136218693673596556592351669554862796004054926172094419612956832933999505717658908891985513339580235344244133680106627197894805978115941225574956315842341901729612601013073111076155011189961888197367054639277685971119797104951919406588217093255629702109151353799498931655144441877027826438180524386954735668235799250848993170783820707701129147157646429290097963408385367920522218653661784817944301283443203529676519230978981338827032568436235427731784085717573996202960238326114448221144302662354127679597311271458131550619766303713573685888053739690427868536801329965203962386377905428497660675201053944554153952055719238597302593251926726940180724822816276483107030788174646268544245186851376651803763828784712962446863842540322637627752921333808516932722456260886702509878698533646927477291891770382153433364399378645225519408783539657729812427555982394490511112396620357504320517415007121397584981529241690389062461653770194050742239396177090209198781000761792421413840409135892797319665176519787653595584288669228526600325338076060425877702927143906311967184656701329853950891017685997369409075566427176997202052660308428846824453660908353775076453558418846684490538483369333034998254694269833548053969132349196401105792791393342406947664125917552974585923974330390142628964547369865166344727956555416285219383916967366478952052092838197972226010072253554082363365216586492309067902610655760214737593681483367415873766094038190655340212008763339996054379822552366320687436889137055988659690227187919697372421769076004934016706863530702195676326484724193218808826779379427993785451777902736906337052341490400182598857420022000887988775019386304533896141250625300072634572774895211194041944724494307986633161359311937887685786789746033416653185975295359335894940734763539591873300560350335077700883148087612382812649845251422775429952091873291063881563332253296311004656591822376704337217803445044752738586051732937113406490988551641166515737770431423624301749331088762064553337998228273410437294026952515748845395186652460188457522021649849158422076318389167012775721975350859528723523068056195624525059359379462353380612494328269124324660921864853499938724815181294979748699047536216057525170729935426247385301702600091963759875551722756049026834702424543338508137092631965013151829255687570005764561949352396790805425941219288596605446740696263178942348756612188628259849363538737584677102450613791995328683369562177237880813852622685889156823082575626866485394726797450293633682249998827375076208163840805475223119249110879806538522596776666857963546817564331195466724513047802836134421945174864855801670024155932132442271264771773112225728669992689754060604892754431597458324443541358027264359384817474019928757374879484098123170378270064704840498858261969337161256915605910808409406043056863201341475409193753832820366548267215699807689858176238048574402262819543806372281188039942002393210195532215226466998517795709294166632756235224246941489666526297833270892875337283286017717500121101483641978191984401677343398613055607535594669069291317783855355571383741408145395226072813712747702413511650431387151814728298552927552187222649724779475819389581866445167264618873410050745637184078434481622005120259356455607835237254325712675863264392148722825538739944725559079127844723808936012669327701716882555903524844612688930033340213184016403024063017509163076069992392526395060902795553815560522345464074175156863413071838554034673823114401669439107966030076585780164244652657683569942178665061978767691073683841284300342525760521717049466776227166786699726530966991183749849338421194414353844569748909734584773655835511958306393970681453769155885796966059511418797851890882702638923427277175957636217654009659304412053016268773399893806551439020928267363334381254429704882335316683222088198754372222672623381387478066264349656096304517910474192232507362473726251804877472740230290160536611120394774006425837002383278959215201653416707601679582110505670963931663616827898280231185501218253661193629281142590281442692280148420811020017075327596300892391984709591211158842052420539760972065365393939736119214777780555642671900312910055379931796486338360373395226407329238058144764844653274981108203520338274222746482520755169954651968897193052073987618412500850040364387206963096778925199603226440403407626932776168780087357799694879615867215319189377937335495842089623532591690559056991936092019474781871882912465214438083159917805944510421809370827387172268051703343070169881122339649427595703788045676878846607259114322295544336228781432373683126033518893072524956088824202613332307049726519997435140144007813899201560631530925315028457342285682796850136785678395072528876385687216610684105947608463733146138818892384408059988534456415297578503925445962646797639541266310503085784317607347539840253153821346063156844034466125334590255916065789256342424031549829204899336338661551434710082904559453529391706775531706843004276201494792046080188702347687609550712739494732122204517325688962411461015226680133183798737011444178054812169286320491490055916113302833523930976148834959866784768962266687532295619034435309412706207259177991465348698203857048453101677361254402474822629087162213936729939291299883007233802279109919428462771597125899878485360074886748247565442445277613868569582823561500387389341307812962280482166384911016787546166269831294127964000761582726428411457009552517025449359647856867868845374521514727112286356063351978073139833227545038939850344569418889641700801863113089707111616389767415444012586626057698142322124629539416557880676497680078459154172643974588294098563922785764782211363976997315088814742740727594108379015742006575784798311665727296302132866169555052101658856269357057235132987799214858569551050730476422944055767638422338629693340017816566540001956626660719289625006593337433302256414120005150173166451140115278325077651932757333607490727509843168684495038079521716100427170031758241561190400746282894298657460816798786273327500665867517721843764356228025468140790508104647419180954973766858737401139710419578440435707248763604714890256633112424265907477510632650196235404700429202435544656574114534747904262235707998244360936401017872115583949782028331268426287919460207700258333926627271453879582121401076706978160086139729205181812797132940564424807274499821004264139703888187183414396530863879593894723673974335313567101008973322435735780700582854214429248331927699715155998160884320110797212815906083879851290507533771192168385748533750740974332500021518748419211878426825562245031862830907168940047011877900326424854311264906876984999773603925099416702944132740241560395202384952445991072310189858952505838494058131230996760436800612202148414793873399092452276309431401705520341251926401721011085567834786885449931737616063721808415330538756442723483426524134534855202088381640957157218499767385520385453299735048776129639573723854223231306540497202709155557417770982375257333854276863968356869520465359227934195245913974734966154473851480549128304422725366020232184505075568626742845165779351241621580964914428059604415761523142414855047988971068026066702209320016583076242554916024460654114906497060597592749983012058470915365138935504091315909485221750962777537770431744929698164750419116017733188857241958486049030026730941734831041283948648001749606674841922369691494737366091288533504619990955884787885145589426693868515299445433468215242186208375342220529463915045556077367345666806343111788486987490279656727765842242602782624034354392592116767556412208087533359944015271443451248769278543516703473364650362458592450472343393847034201565575360737878246472238155896305066834867714130333366021961616242216137099115460057820446987029050272287272769304516414788035785213428422954704214582211629896185206109745449143413508805768860270769266000596965871150044207719474289013702824309355775905043836203779747475085684379566802871651417760910503039135988632358326678269574423757175271452661675047953015839700247990309198052673981336058905055057604421477386509318696617617044133820327026314685431586978145138835756418943379820377501541936562426986881140394707482015599894756259310384986474666602266281797823714997800554460555935360371392414126806618464289680671947204626379344882348814445540014077896370497801607578570433501140528454480138768213562752202038173450796704042625634223477058743963941671801453674236546716862373088507449551148423053751569226048312996849959200331473555122715102993419243523155702914897671634199732679606671590857724488310771722056785779548219501683923711631985135286720407713272939734169588478537684755838845701724056271438521238124271299571599911517304596964103743634556321063083436635507281552402935631124238278881467009976410863579874333597717819038852101847524624435442143823427891192584486298309673550769426372919072494941321911213684144021026365607320648734869165957307578920476807426878942451504900142064773712838734388716413507842383744327914273732340186521525070276976858910542880845987511874415703896532121203390049918032836794710696273644925972795393026893439517354441316130661263620680256876843197833927779758183609885114860056364666497142866491538998637957793866974258028375731215913925498466169861455038254996297659078556594238800412538262755617197192321815011740323702837307073242818984248966479422865438462370333461426593989852697064475021270825351599189213175907780716209268446564229504309884333630430507630470435305886103758164820314434907581734639666980791738016422402853470399942851369672024114189822839541953003839634209926019270930412036261910679893076098567563535632026183516029184412305361312657461605550872745993223902570935831828508257270910276217254824792191380437817574948441958798327742112769258993558926372075085026633164623113342338961493836546665223875473443004233554508918745130622010956847677342539459926794482125065353243011024671327245196998535259395890857230085150287369717046903007679227204017196470579991130060003536832601385075602939882871446697294555265135070286880216486827029311432585418192876982096793287969032379432236585341945592122501618177904812008112810582237420883831684649028173807385866421006461905358428704471749851346892784431020377655959707551705217619969558061598660417426059672561100682136415782026138880673138559815771108325841353975837992362214380546629702427708473940260964302378649613881971316120105147945295652613687973940059068687511349567759094190746319036367654836664813715468863802402319753797455532530906377408221825223185696014253405223516475507214734416928068035884880609569874943348200022339139409063998926713874827830968469673155348365593811639090478849333960782306329500704161071026552545323521133141441190409962041684808420646909604149950922102539855362723774489768250931367273422381171534415126108104354518166225108691884995528192778714582474214285902661549136613590579471114583459585260078223250531245039320047115730219499344568345576546356879579199700040977014537492433711051131968809909514895004130498166112554590385135971826960207022715262414891857559142782154358735308800942322202683307018860855864062836524066070994540997711059158800611943371816660181139553395615722277000681537451551169828066613423196904093066777323754789981404170527280824034190762183912668874993120797677623944184614367139307885883895869107161332000431112994200093995960681409920457153476179501492077594280902998177842876924896265823943977703864038386409662516999440112470687240742151649494932134027818069449437808249961517633574867757688269131086143145701654409686146592392456236324797260405719453757359261404508900067124446634437474602740041077791837397944522532553013234634053693038414877404935722576549809665372859383505504481334154567589367030881065512778586307396591867358028706996487957695792041552953819435350652543440286500738357630205881095198775820408416366807259394917857477385849012956515163198212460392522876058829862695938541821146114636959652852877973074302234413633155111631311878339355511932739444787431402180900618040283081911903810813779050645511684326286464223013022205478980326838681341621116329753640723605155331457002012713849082860446650009370269391740051313259050220859079174810272368017717124933800376455721960246709661242809401525242198000559693305278968831528054292049238155289587684476933068198194749914890584063797121676208989050674532565103672857307672780158858281224916234892510897937816309458628201860755321847613478088973147070050629841543926790807399165750092831127269914148082332230095484324065413822059160822967163081565259022301931894082327299873600242198509749480897264890921581492698557751712824697124397875154258852944301196309618258665099655761241413236069058668669816681157807031819000681494080930927447715768602312428592275774104291893826642619872314040824515704839870839437674440358248064610054805894216306748752682574259404762916502972968216582866835385133170491945116775418197501901612296573226592967188596362483570249111789816391585513875373358051630628780723688687418678872631813383293127644213441489243092347586581186434384528338452895963357721556419928390639813737778708199763587558106325326044026108080128369536810947969174925638510276062900170871923935746056530310835180913630440280132901259834356227081170820620870259033676942225336986679008821189838080444961965351634731618345279617583519382266578740452788968504921994627002216558773136094691355449671801473772383451610749228711597261261215899929060087456562272167970724177848745865738623341522239471767983273063551407227923197490839801145222623477502207636210705230658132575283473771730001778360602492060295738309210437106432382994057212974586464868025154368274643977060922068476680347362399316488802561727412978887879092427926221468939337812531922433975069930157010367436975130098121922391524374087631458079645776832776422402546157645780831728491822200072787456701470090971053982310407284360641280913384373936676149258545435616670942013350379026491481909165552296955454639547377792825257186216340871600745689787302928458862398082354131559660795571615869360732822161757039190919857134042558427232458795277869914163682142845617053212359278276876350020645912375737090661904571286818213675144157213549374417393666797462809101969936926152088386886688860514801578630575640325263790478938569773083554162448096032493336740080389919052889137418155067309194986625105458102596757774142449653245045452768166539177750514520023593914640066276149354685701874403887148571703659829262758414594686090144095093700033493111713126579856595732491533229399142268787718091461212398557870890589831247318047633910929444048529746630916964802862809866219337243457161123253610302230773982017333706296188903120973728167316077999508308041803777549515075624224291007621781953561699409683985157131062990805860624240388203742971295646663401226405812355829732190212929813325098242609161362015996150616040126176471221777704660516772789519318000921335893324871350071771564404718420595808113925383457887267785901239089932736779059697583305597740312306886196803321784711579578059112136534830044424754395349837772386650709742564537068854058650435337011451665658305761196333068393209559886916073097016527142306071607880081671317115081250851571967741969089178807084461530402391240951684427283862861628636870125703556915366170104142045541903988375758127509390885779099574558830039378592231628798241844691303255417241923145502842209498146514281488885108541145247452272962914517514393725716464952872576083489609887400916247034944580441889206348583949398276744980196273309973968572740174381502857587674800312942180789118221411881944850592664775347079625346207720165577617980413546510633344245559979807596737412471469016892766759309112916970172380651662938619507023503046152108788032890285754934815978117766277245022702793524910725121298589459841041638725508747945019665453998275777737946509367161354325569008689624815462345335735048187182693038715846064395233569801801091983966092607022861102869620396217821002128053731102472109177455315718374338071314153655605367352091871066694027636654727580744756972680020434263939241174938580208077222555098213230709817904949853434029289585970938935451819412887061763537773227865312735364020297216936772517817704531798839716183615268673280300191340562816302420486784958164220351092127881678796637816246700269251373064756770521286347429365084483667906348868383536372913613066502113961479413995186718796398399130409417142973941448451264436039853337427463641191585167294785953383120761220179871529839331356831554766592614539230710273553196013262685770923320401750480310456937732093562570056906616237407011653909255115857329413524835175759414206757916416572120674061664585384717451664695093020146019027836990504124659834458959506569175244175848865457996133706552790217359688139992908587860724348722055705733485535131193108991023168790422721795533549252498952768897806346679115736581619161871988467602896051218663768601975304033453957232766415268424624360025508159481456893228083749835922712340246494027923845055632566122771329763335229287329351523867964738532589942132377293071302032701944433603658627144162496655856751385634629589453458869669406018757624284764014757007824802591102622772130257901634679667841536155632885273191052566601005429838590364364311570727898020712619423660938558750214420049480498957940660553010669682766769386054363296629381335814511221072044314140942186538674466546446219884098095614509277207622688867971954343831495294248350814706976271959288421321487987109281250360526175979256812805675391128359831349882472879735019464046619301052438896375903916883794516806701091263027570859433280177069529077004708245797578915693953450380059853811208467461121335829845885365488935695750705151631661636650430349294936597606346156857422929877328002482738499091175683343259565211056940409437786065479282578397101008686698536366401006104998408255035387056870999269093218070000047647244643938644876619849027678156520824317969150044547739422306194247442079837926736726641537902226781659309439457956484781070006839542923072148400350314560204019946775081910948846018583299215209188501837417318024530251382807803182568460546658521740353228917656499924940128592278149998887969305054742470095411085414527169829557894555667417231686192693845869239627578414057496174900727949515237097921110794223895471182050571213922867703404297142855442730457344650512932589864204412496909813394027001739362602316135950398705848886788962750040013396754672131448527831915638285821495106680148294442271985889453792174781822263705870764845556104902844711489765132760902534054622371479945197972481518710542552962567798993313968578607789430357471241551234130165976266179111799465159584185860028415704027570779252695910793957662997302285131244656038149756198239442271943727858266847000873737959192830470149388772017800655305702193068682241436430363481543002590946838218187904303309199623241688673794390377746484578769007018699047009048785945320343553077182630367569130837867654370443333898316084060696066365441764898721886562006971568645817874061535984512006201621054391111945382107517134242321293326798325015352529939111582452010774612869288196000551546664526261104878610564532429577929175354601221285318533883773230366440975168882340201986731456638928758796915341023792277614693934363933829089792465090323346956680459720715567073074344567150169095598257402781104810057479733260701646872251805662598031928060662541580312433935998885220974217372940272686558819523445226130528788411180647759571777056804890364412305543995920419174805786864325814925935129512735202200875996278292795927883725051239653336993596040701892144880282641274618781381586712633554426215036548227907833028618127106429775166059898651430483563579348841352311648274316746636545648302294196778513867694058236622589674559203541797200418163297187469930220210490870178992985185112923370865626092817043270569742810745711593996060687757678281665669847434721828966694149629657736263903925643083940945559578672158448288996675284754188389879355532943189308237332380820143655140129796005908872042871995622046541060765548831118427407469048675480966967708733275456397816399952523152558718811083853130507712352176819557612660562258501577910541903422362138630912695479341622274135441599926099496406949698354422741028792869938470528963628990457223998791728681125055334608327969328473110164140608208076386041832884500540992140877957726366518597493008205818278158461456607991118495274534596961013448514299360381875555204081207944333110050676123860550203049450098056958493593454714952490016764153977491378586264142724496182074673791173675137167754741464199152971825503298833104252941799471870658081272457115640357864820594962240242879149077473302809358523387403302248008998747994712780041076277695825435786092425158179367004639184875316948403469363296854154772465594727518061367453346489684481720684878258271641337721843031348817053189832670972869152066239784887260961315798408236155211230481589733439892654869209225741592248867891690837129812097039494160358285659379900024530760181754117641990343958072319980682039647722497558085660934161098463602755531001335307097774061883027718910534194718390416834748625276007541188649058938004475093052424316815952559164431028091032485412165349867320006155825255447921798449701148255950774417667575940514359759251714198218417810063344230432911386136413103187353492738072063822346828586318078528671966357914424327367952283675246140114478783889468405290373764878238001858500820858924859221644804339509016894213248173098449720467717323610913936703191731381564411091236719469280286233517109253975679054715139342868701360318829082213150674035787074436630849416089500713677045125839448621742148270370362990348567693799476024976781219861206895556717680599317385478746984942896666623040088511438706220746090656754434971681927291099144865124231502283412995385279797561465247867677867796675492347793037651138651767028369380958047824691840240071578633737669289225210289107437035101607727047204432908145634344339218749949990290688557787934787291245223893763222878586247676461834841638535280561226707754837505560137276821322943669394343172496713971101789462419735396600778348334044405669964697793455349265946628817032326427213421771350606149713837180806493689452315829035453288312430823519288702170337920143461546284511340894838602997184002898064375869729278181189681486351180376083658752152523576097763775021256163312786816848276848033244826529308640421201206971249521904714812860527202934707590058762477105006992127514611921572818395383002439352135707905470681885557313040000332688002432200754591633776876192795221849821938356622441616631526228142435720275391179039929750873628161785257957448621926113861344482492990202401510331479290111837849023540398605385408912742978961374105710779077324137100542586508726987455079918484157543743333320132004365033853925817586889434211950843051074475806998552719453017647589746211266422495826014330549465968759440488675282854477165095339014479207170340412683806868887662108662337504863360600034050138504795980971044872592178126422246902933041444717113036539014992937960353782427470075522230413928008152944510924239746349096267412357418641218505681437753490866098166669560060273361383839569031476384566165890540877048724922785260122752524075947667280469010202157532418966151884657287394096226524184891964431447998238523781153421199656275237521622574017445605542869735150244157066552309888111530183834829676506861349791950710997046182148423219636749219322422788410565317769548978315875717612705292929738967483615576366817451658153048690319320776359962077048908918467341756757126981104849169520450463294105631429901741581114749684982307901981779162783416856381289540369266032990579787209580762538678344523368709518975509833439920499650136427160943001020333565914506687641621441466315723762024799838927437831012429981438238004857139414081208311905710685891590676691829990213233496632891567283273037388437949211257081513389921094710145620626455977645048318493718782041566838412145277482891628385479853690903338828796599416324106937676130704711360514230623609363502742561904175845441511574284939306493024528258298633517916292917403813074810961041484004704239796991586542153913699521668785114287461254409624498874258687923452180205402909904177024090932631185832762235074674299959229600058032392637276103150535509921619463007165908632851184864350892101550534200073072809590830512057052783789061667522431894726779525846483887856475812101944520969179891232666587732799165832729650826836412605857587443183711289888178857187365716894448924370054021432852708316171093540451092525384672084176323946661674836757899337137542994469254321036234224588225289688423316757138696768963620035493704256699820951399364465933840955512327838346863189330106694940993848769705384361947590988767396953306351579765150206669315574154058847567798141768149680006472178915207706762422938373970629619139952734846496129381911561732952788605374897850629901595775053826639468230408668126026350245307892572523575308454573405193504232778843271525931630179973374364201981145660842383758404747738281722025549600281902670673452476304987241313912948086345994247059264101022932907036818801240332913931689744434758790898793996176476214451812139907245114134269076040362067489739045589117013733100444993121164750005469713597264160918317833656260609407047666604250948795164660615006723472925233458672274100998899688963764098250325080155500041558490993971229609014924006770958399989155458382773897658812269925463268450683818341457536966020650985504251703543117429612428693106798326673291581791533736195764271293008351206956620682189616660763069551905518160801496765475906224443066518686735916326007372019837779344013598687822877064662072926755944329534317067083253427290108783571532867061011509432222197571167399025364760543744345855717609526813061183192053827174775390866153544567652943343078410389444862295140412721683500634411155837684972628921657980311793755482832285559629314650121854102303499969288442512724584648138961761300374749541310441469036753962305342413257524080401666868265161610950401790039406844630079016584038728147257668069642856155537631298662735714896870458899316882039385090534509579124129054657437582114809486173947229753506909668957518008552637997372232032435181252352811839706610654416867958889466453503363538861715193613739076944122254308344182935378142791059446933276524691757809706389425300613649263121693991261141192004257686656378935361522835618633780722801808045247119199021142206276055607372339177048581596618370519272780234209425479106714054110094517880050146195224435175005388691891315055797163854241164314992453748690000793359726300996050940109938262401089040266543499604891407510909157341150174470424765508749324280772347806466547637746663832315039615634251681439058294800910420736994557610992214428273938619179008892530415770175254654106621980910548664880342492233948992290634716606406722093072620930330801629767453954022610688782476156145020524949346377796319958264999092489582064665475585133812141599877521654992073495038993226373879944923048087974507689301024010504199888261917267418220470313248748664804367217385679687938421359869540770358196864549293761451484695314538395687104954933670808414212073285233672506780278848801254984036842441812962125937862420054215256124140918183529815393677248209161703461316483314703465036472727247544058344080117277281497308819383676402556226731128292076709404743989012214168757177545476964317294914045804606126901112572120107600132381771335886173711131962755876420419857640282620278779474690904039348226553174025008515469126601631695898941888177615907947334541690797551819586994117977624387910503438861869672748617718799510528101549317165318485186660715113566771700423379767567940860531574715051682314560852955694789431728388229133227941365903527873208520952321981746678059840269769969793994403660462342121719894072756561496450981197668337191165531653504141123762743969013690287987631151877986017825175510074678634405232182538259522160415424649475953961035064876700415958352932270381951866703437325506891666945686821311503665145607825766031679478874573987115195409852214072768514752327641011930780971435288490396660847136771295937757562840262320819584180465075909897062193546967060371545423474687339494928737717996639700155628675634701968090986253824353907306335809602038540625104505110545298033094866431522619730586439472189946517288406497618915742837928685608106733895626776947725967715454622676061729544383625369065152319450767763193989749015498209178430722581496939894347355469544059160941954876987261455914259424486837436373831397662565926637241270311659286215701833610406847024414952093415986787972569965615984473171630867494728444131826390549313402341935553589495760693685302320185581627935827691098610759319928082218298196340312110219414690047483415408573300714708752263069565119352941195213935804552523782770883011103283732711361606128179505517780144875780954909437972129546782151023673596577601940496203960592194352109315513553040996611974664925650756460775099194114287603695239362733947403583627090253230594870455054042253754532121510309091112903061592194487391338965817614246292964395286482637976016132473252905673447021797955650770048469529360489767123813650024286776506803031791351889977043821648200911546180236483383198517293849235463862800365360728649321512293668680386039695686642880634853254909016552570561908300472384245605384748116746680972358728641772410865923156670045127574069787379547809203003493065393911788192314814536136014223630379449025436743345223622899506190010938209069411531170195476993494299085634327383761159469078411126883025835723784289750653186902610789261452447369032004078781130876843233420160581418761312562350327955256969275611405588961444817966656627804360119850171223309394630843389337901458170570868484200614323534101255762943990879697467184707367383519170692609999999784789160157686570576322812696740101242192103697062797573275341723103455275500446129951123396653929652530040086628078783396274565267189868543791895456428085489982983505671239287672119478507375648935072535354500857690132466536987524497355681578253623962900524971334640600349714967067829480271497087135254129120099887720409889492745269366982537931718527963789418850552056949681941010469892571840685893878520153414161903719306404551314825826982517206097804980830774545556336925058350637358567156716186374335825257764515149576314724832043564112206718131521866720734684063445952990996588542250745688251692670992602783178724955487510479202584826071873794640204011845471992394425002796455909125397815233316861674889949862155527270378545801914921366108752946369084789443209837706156317230698416654153210028275273038328278218466612869650995612250712748691073987502548635956900075362215914295878570521600725861070971599504155664123381032684016690147529063633998074788799794860603360346552348580900846409657985276946392362054765034531688493769186318467648390830713913136297584794885818396021499449644584682879767628726495097092533496067421821954295558709732246152670598262502995946991921444554320673274384846189324656755655537227323103281322595780899606087074348316070106648661278047945857655074474174792775327684320714522768104715255566146866233248325957642466759342819339265819089255940896801428537299232428838803666397374099959514489839724124593039672150507263526679725473373898233550789955939570339797005171481825942529267233580198405291407007371833097064962812577616057077889124400554240015821429172788032261929737291493506584523579095356912874251238393842751687557021423817553796055145627040397253652462675016320266346096078849209560556110374999988676498580859653145515299004431120258542639563377456415127294299284814060565111250328197071134610416344502978593844177154651014886930889243888923902857496279932477110084801457214513921532843526309125032172140697059107966329028108046699395709101623845671964261990662486884974874703034929630725180458102909088470357735647617968973573418764883021830474515621592975961071384012413771563704439545706214180068597960640226133766243541066771867444040145170573362829488847034270659368159343147162180172089897578993318989253919461514611891745952534696577700925204795625240592224193133692353637335491676777238865564960996674861445500780380656875836347835604568471148010352222764293196057150217454617234314498056290155768602654840846319702109606502357918649443177465797208795110921836638560737308331019763831665690764274237388311531754190766021314251172729956494953296446671073972868722948999458788831915933205357919268021848682519428521197148534049651855926426849964940146590002243618800512388179431357567540414311738527392676808619265526869557965922200050119877227012714536933686757930249771905281686331310264408435183341921007419792837550175832536689552137069517031965523197089981613460860081314093977709899652562133613534257195140628583217542688494199351513363322046091672161411617981558470487426698711697796548714738745033289217868887334672647692555364077030424614016773186277429782807406427505627787225301922542633591807458893709983009551791672208486546325320911187569880569469329142455574802683689836785616329421623126992720319235132240302902505615847412699315098709247923091899017749813686670065768100659036720678773203284523922589209384284738822743321373037394933082035712522250951553873911536680810583987788937431339104901619911107077951881216417316813222227016761156443663889287021386905539153452926660981823660020486901159736025504297638681230719139816164535926665152320016718007460030897327414409598831047840521782193353893826355514283293007379072364009775475216385411059053422363590457410657562108301464320983620745136195624088345935216032338739781392726585625234934340434490835848328383590865110863574714386205985426166434164531740295769433013802818338281844865302109032616976928905288552196147529508084961911596237296954237607421234654873855106923160260765723497595285622806054975969915174574080316947971912504292131463503725893873755687259423694253173765766318087383657151074931446798712910161972043598085391482358436418480817458948813301007618010150816306036306811674461905619839394575675844680133870061797232201106880450881657440901684904823746774329884803687204385158186994265074618231632415095799228123229639673988467910602353827645594789207623125683842286386976625158436481155230406076730697009654571990930193091811226986277617514842896701540464880583124562835409857979228106927706169593823061655004576122487418921410957232108165042147073910310112666914360530859036422838240946101129131195755070369414365356815021006735677113052224423877040969288280047590034601872722329950142248050001266628524484441125916692724862485551664029707916820192639014858826410731380845606038798566297700280265997359509809693198216310606320764245586950489230274794615892857121199638115626983166022145544041120429180769070793009721081853511589947667837866326127329546230077127927450581445756500117724744749123993934633292893730492014172160709902716643733192909130600292231928553959442491511935948966479021430641623133971204244043872730249189606799526295647684106283550631274810442903829442024542954344765484207552628021174101406627878808847482934334169258730842619100191314966147166882462242912374627482683990100539870582839812619744537781142687252151434180957728088447801830719329538522841104149213907036224481997825526541834877401903268438819100614952603563734681738197196723127809660187545159608681074919974683179889273107429574013055842880858031445923698510442066778282448837781906430414018862331925096211862559307170555009172241810633319107159488933888357200667097914936560223305655485040462782024784122348905821792817862017189411359962270235295377895019558867145457796018213055223049298384376809879046240748708958579814265207812771959555335043023391894218355900438641706353793766871023189713981741611893126905005180371240638112767545426358449908216883391617721273172273761551919857230744681353576599282485815622785470453027388550386289600076727873113660074328372277263295583577769892837171424631757326183578221084183870444582614934738858969153289857513835788344804861641417635624568693018101517596895237626806677649232305648409699159839712214266909046611677486436049461807975392619567378399601971107610367594138769594565780797312273575495263617893401114980719382631984595548230584526667653007240019827405269627202820281210974674148945837015612145964522086887911501631455541960289085406181175809880547107369372076099068593791391339076937126898611387899787506962327054174831321676290037987326629287187897949738516785830141811171361314847093615782420828137655552135348960799682944517113502550530656334191428725445348199543323099015406274664552472689823648071977474240297392355667070407489696701923111416605616565690148418783418528044636452265412450746122950088889800066366022894794369889886967683713556282488378423980919361077106599892649509723790001840106272733506620214708306956677579237509591329629515627377829453433111342751893039421499827096891534165513421771111409504851767224509385605032260425762898392134507691608632884401268003162645249345957638053028828043822077943312906278044360405472282028037605525392734739846593635763958500987409929753859556222117228117395826205165925826511930980565527235153150270301159040784315199525323167747444668163241035908926798878355326376239580827012878669335558249313870860310833193912322006032784185708534260231142873979824726050532641640441246982541095384237011420492028235906002053962610463738100899279887857459123394109807240067847411559795532103993948138989602756804189174643943861187254769970928217447720957915572324244539018206149481104065017944163379050742378693368964381298615450932475323665317337817297334997152601893028100416322145081447988607023254718743419976024630554952624095684495309891809241004873480438064217131726181842015372453052028028615188860532366491713974184321482248427744721312390003117405496161782089878730135255799445611241684503712433351562954339535845324244055881325438569870704143617401082237254463870803874170518209370149904967098432397714890779188983933970802676493682544376239660914428455475354931187025762588168849469432089071553169868273721311514294792647009866427576362720819198814130228326253809832616804797278149096675096084697189364340972649973209913574030723033057902106136476780595432398709183638560106953343296164531849116983334693275133292319550034555906109888592712137773528939293670129610511170037544258722122495003705333592885434381819992529185109765021989653939219223758264635408334394989990832738783385075993009339060752894532808416779996888134789431715427046857252502059114824514327644304482172136310632327509788666177837690327851318258335459691409051439698365731002361886507977126720290179580829415397294971285711692443848616420519604259351568472704571352463761276206337990840822314378940689450408198895661357307830437211890030074972955188517297182656038911638886960658708663026004273962160356807573298220695216618039621275452741466771028410880191689936387504475235887832785483586665477657812025797741416190323273472700702808463002477866690987939044287721165023657916136434775695317289729162225836416220254357277435956322544578018681309070818036056937974969262928865100405292928542372652558825220468516730626578116256271915567758497836846866861173553143619175632650975418521355374275450668208610393439639594802422491254785576002073829595375248410097178397681347921723054478260424231581705539176229895748373451036938428232034195061891111805222547574339659751354165467127802514115451860961641019667039310889424193057200929374382050856071630788561148877613509130907555261185110530249236987136342003100677688061853166274042234840626660988238130474134489479383257260678388585159586271293014201171659978322085758141261697587470167101723332420219215977394856566169998511899708001044985425247642240882504267381208143107384521099920510271945794558895264018662245604754414063049048924387991193532063289898655795522119872946364062771168175601069490889971825852416203810134211210555478209993305578366554568087031262109150583964929622100167150168897763177971683531492967333008815755513895685559709408136630236695523505220941348931478197080659335983051275493726113774701271424607625574465404018041671901144993850109931524277482467552229183085111256023793917632676464299516516610162744365284177555668965813494794586483934391710367063484203355312311323159472148766260986565732739431457739940085685482686231301042455821363060540570681505905606454140052107220815686776235583414755097832761929377545398453493370981934575166876439260835919969708064913812981407165378997240769920731639259651066131501253115528843240009821641810139315249453400462433690738902453905784044102878342393222632526116702818536932007675758540548478698907549950639887300263626077669423604615302754796071545987041056590311015945649838512486433693185965715784176537040277560924302855489986419464140489889496673353125012823085943176588322738481096237797537367475031931291692547980531353054577288676771297750470612275977567608124029877083805835578416194051671438305026666025985744357964589539201702558587799181590138265165972403255064103079395832550183033719007436373635673094889790191516185648775391779230747708359066434106059955101800422869907030591063625934367749331210996844434391800242321490094863507366010606022274618871225968080687218492013855194638775978470337109149129809664154119853261024801354446355679332031227123714052129371205416683686075597034099976960625923529900491422056196072840176177901328650324454916753431012830875331791025872814432371814583174658581620523910844411948699970353066171444847721720144774525923040927619563175897790012694304711336531775570698912448647678056393593062122471735012326575621815679448603562025403266481821110506704578308117489640460115604323605598049998293714712754456800964446666834830535798503599633032954632083052390912706928670789182630304910355496727557223976172185436871454031010248068179747488498849182460419761715445170954853472244342016380537423609017252750380030898998266800510325379274729993553684848362038401406759651300421025397203964050968631461126847552062773615896187667346731845255472623419059245510064745208097174037177539549958220692896015555619312320170194877730903774335216529265352020648473291942383359978437858819149693483461470449590231788651829768243827194058780276297309631490006275201791363131244602614728430682600419584593304647244548279933638710738465414068293197695704668447965367887651558918145466087622583008402622732100394454203348671126775000345138438618736898223286909867675706664918601501036036316199815412969172476384342875012946565209513878390654894735755696263764011121093342467262214890139852324623150410465151464635738663292200823768830623595023785611600185198380303195830861540294570256412591832918625693141507351683513403239250239324672857858078080390777776275418932511662908034391868817648795629917142663779793554164877462936612599845057950267548609312967995626616510769181279708977143979944197659537831738507253598610574422286010292175839258886760589061883184536719000407383984937737984967478296081188030540252517243131239729383762886435296677808249454079712996098005091262661197038475689969125966896378445142744908575521758144154300756124003636300707572728236264972626065763610213098650114943435121939092635875603075459910608392452277640457236200792584940710849868348734370452818305076974819682213733614536765766465539108301505173233804503061064073645933180805896900763337613644153608496295708009644319445448104634980808733446989741099106265014591603417965638302101017401076401450242284477876940058100182560980968636248021725560101906164252581026565778213696142995285348271355244330110598769208460888991721985566517547032265110086861563299269066342641384029637460792328232324656073054282897594509990627975397475021805907605048041138350392249722466490906432287840429991783765795702898951744790495304270448547891867727543713787639146318881717111655718761310369407087427597674322177646652011274706202071812298442517376803228429554831634987305103674411291333083758061654132403558704108062276571535068775036107396684201513804313092213998140376350044778894014060854259135197808820922197040388321432943700659751036326017589750992613072038241482803883032762660366781260413960746293511046352647726724487113556111588451859707944508609232417902769067606105016186001257262973185485841453058006943424593981999017224321295588566780307497258712483071047634738595753594997536961336329325579480035768448469629432612569069833255245930858437520823659449339133790481895145725103268766017032428002860728728147675174761530896357543579455568406254129526353726706994646814066660364480913202808507083800090029231904506215713576695724604049324502461272829050763893172618081604414542166716526173073504721507242790761152743779533160127236081600305920490207033063138201443276198365480798276429853732210666527605012311130776717958600854793643376140351380991500204872592272025341288584955348991844984788355177200793421313873119234459486308958615698337802948558733085297176397751518101880887753726547950707466491587709536414952891311383639844360268885668629351403050007551465332497544703582107161182693464074271887078270838002813597148206751561720331866742251087933007885777437720859058249455306428995417830854971629369236107325330166548401050322066171941259142255347938280235911985811006232409950466846485420010061955477788961593575309615776273320505403801642833235262070171377607302531775950012216749332303152368726364964258689467919059470940014231398252550525065983561916300380364092919773809851419162281660553857631002136686888033740020972211931155031537427316118906861221582761962314914756617015330225737103400134859220318839424469082740013069422809001751396224196022934556492555257005150878429212330024244470715435784733591706287921332822171954867331030534651307705895910350061572297115498150937510912933506274514809778890039363990153460043014169079437680461997298220269555748066405182810880882315965068990573731300888363315208974652088627720005512415580636077988286393823986764255981143623959575729845993865675463282844764692590865534288240946324478942863603711667313657672614014605899934116509183063896240408816711853370999908519925892068889367253733001123157586350806930055041429344496191245775035757417864656841882307729286705597130722090502486619278756768485826655753233016770097975921606088445723040600646894022854974623304930693606660333967743937708916682747734825480901803345384322741516098779931026932930975580974911000126876679295816201679509395693418609463735750480750485077729756663067780788923830859325500603972284384807847645371593741929275155410179434016153422313928284948341078158101072004575141191898997337644051901699993296252644161575977050190232864667250249941605459505260228992366960901555506935118332389182783287570411194589403458345405230073049065313971763793497257195566437109322444299720889190445809501056393441622944225516191572880311309046419445498897876176874912373698157844362950206556335167499575746507900309400382527114260913741449713701863040554157602865510790284428031717986685173029921060999180988617915299777854176502989707000496060238888150688965591151239876749255784667188508382789318166127529392786161815507857336993334342127923022134477791064382076840038866789931790474208385292621531920602006755245107596164761822541089906819473596585783449568688596082721236016072054535298382830973057338741480380083348616849441095232354789526332049262539383645313797492886632948437210315836908630149227715779381914662129890648436124218821463694249220347133087787461835486763696212094393456890286850116832202819249654414387492789725583074192757275068128839017699749384410715052158158426233466272044824939163291947730294819091810351855906986005499775599150520591290919929129660137638875605337196560020605137126207412687707710096845078628389801936891246099208684662941518421116045451090494021420296687485076131427156674898737453746117140239179049055223916560534057928030338496408373299590197261825974254159967721585285823934924299363550908143886978062511179004402348188191400407784051648502464173753611528238929896221007364004728152767638234804831640800032439785937895168343146703420538090064850646549521621182987557782127156934623748081109024813440457034475839343886563376355627024099395860101585707235267394803768016430592456029368278214785533078449474446088185850867675791588948116057049760861717504366717423675136999496953230140175686382501609953582162589020142459851165527291707071740889901562648990024089070132332321387785795648295586274575276563806202712138065246529149930993370609578878876088791656393799528610143597645794832669463049857704131619640505964296209044038105574141907653588652604368274567440284424057475660523017636445738537405566306668398885432423838390011336795754201894482343301750095262969845276293403801723139655024937109328016220329592885850493301321144252429603047630277640599809510159092329433018966211805522947310327005550835406127635062400040498589847056030334890831428630068087189844046479916743874627402687558549468099342971988105236655016758932220400497438807244384078884613423251084013631869110813069813884943990467404831486272370830834621856023256072885298602920467403268565945907163657074894207582740415513683928034972050447586903079800171207514178527152293991863842982858230822075076156313314167940679191282020191129808158747704132307016655873700530076129196646236962059467805581063296314041908463963020792460376599037123016007947193254603918844895047463945064133221641405115095238587227940513644558771274427200382757372759054347342530564894024558786256609940433244133251100855167566320492665794705390927948410382023015937314880672070529686741257753308568337180494165006182279450693379290562368042231337064673977091623004909630617365162284318200039342057853977297189600439666861307762885879490410835815389195496459826027774549667142668703171379776311565824806846348196811352165204725025830798605421185938533955214511866965958311175435701973191678855482085847280779591889726957726687873397171197876386499047530597248698992025853766259552222640055728297277479057415831777275402596404764364539070755843796964249888850652356687216262911433599126973234026657296780078022574991937453950011917542178405126822403781794541314362622159363611757656887255903641957706908402190696277186682410821120982931568917240852112800950047819300498371201654857894839147457635971576985116273649379761067738414692650613740270915331818325055594337882736949267213623736256652193377994475706838962891779932955551995657066331000061316563794169223135101973096717586654182398867242054303961172144501706887924825611703759574063076992320301998186997741795624546944304497915805073978716627034946826074059063202609386771220801160992766642828400212959956177465751130494657065596229904504318301653409390181599659117483817692625991603766900009115251736628468511024905687925157820050549546668149417823046805204047954304857796457252714216834028404663488471261903857921837917005315675997154125191306275933869084307594020119351152935515905904105418520327782227632091984028517715144410655652958651415168144602579786865572740222985383741555053695179465425482740487504725481184054248446805155269672294768877587678732273093645372068345949468690351571551234629711676716342354688591324575522640045179006808878648875148493694258724014705838429868480558183902621715711434379010262599736980224255438519987697998729383432476469327577739449965607720424574718236522119960330650425213170853654335017844528649009978247246672021596383346020664249746333068578098434127833403124947397221709969739111436961374656032844052989551205020792156962176605109435135949661542641317262871239757092557250278698453671920736879987173039826216640871994738646854164609223236624252200776979664119173972056533136936875324136605229186901525393926133478313619113665001122505802547654233155424996841171862179960703069678213080556247520653295324099393174083385436488336951991902453100222635537945922022032006941892637866461520353564936498146371355677696400794974640173737759912250692658106651317523216720431648285360749155816241988460366554610860520175863036261367125125542896894857539807501151819927974379322717381432798252316265625920737000466020472091337673447605125169641192873276541081616604123560004523661295801011591113054817875226731978667801523401674445352466387223179944295727734830424349649410633586021834770105770152298917096762621275325670180752361668009481363803184739950945216246232367834024779538022900511953404780599283924504180891045546266872037678836073344999819063710691348903010680741203876780172303324954685977206993386756260792459442814172637709487615629074470851803520215626229494237087816784482013366962047663038935199581998255137953761552459255448126589923980723882402383703381656315666971724641547796481014114017715907001440776148768215884122513645970784940346909702259140652955833097396295234186994475048035657104307219485539426091967319080382396429160182782906857435602844370579642668017319068536411351510513511185240631173599060543002811748056639763619204410467557906946421124621433164510229510931112474472666543772760514615089584345556490423938270874707795878153565846935171303867309151007152966938578613175876396863422990208779934766791068385315838054733890770775690564962141933340709395547493334265617974728144336417491382732765033330009000348459312162084941438530791800444369087344548867581597233174370349293005671810170963293462954898873029162832382671597203317756507412920708264341101052344468177513479370029892835272001487823619760767915178782654502453337405591029531327655695053894530154540103996353093959268440794112460505391402824325724111609341814756594381028868020708809814074348647885443371871385479720707062070194045709229412701094039885879151753904856766584298524572608975540361772565930506311168101151374341325547325109892849975517775155673803228052247192682169155637994835636440916465178222679507448760873139649243785070680481425549884996019191374948127297621369594945991490894585800900111992722580143990417180012259025010274260185410557579715984865491217743888946278137722673774473087118786683145239900951001044109071814393635450854722829885737740530040484003218490858614894093009511144566626630751521423538567541881755070252441783722760705305120889809608154154787946084520317195659694870710596370128152857787244531093849530302765626335706982380146090475048227498340249356966242108892337989811108750804997399408803055987043436753905231897286955268514000807930324070852142119975565411351905102202449563564341812581837758164123745062351332894683063694753302333166492252644306072845189991059338685931782221068921389306333232871833780413445348125779083480961349213116941511677043165153657825950107868442694671734945537573757421179474501375211571181408160821972083885491623155354166326442403727392251320205910191856903539959632361824203455854402982394610887023904610238127890093910200932733860871816219204540309630795317954324382291966866549890118688541770643628008702777624798082251173095452494723450192262933797759845166401114365035459035880764481361747685368465404902720615939375331787271572148089110104444982030598110301144150066106769158552582000255335862487866123725392911272624232448514021467795184695139987516304142041067485612416017753291992691079174416064693319268090252906059824202681203930390000929821248937537673707327791606439782528806472615483268759037867997775543600268849198140013044616315447095074608824037509135208024394395088684057042334895827584824517721197382380442642481059941551345871406439967818670387831643477723405266891198838141080547169583631799757369725074450714047670536464138346753271550549552469579161302768269547165583876534890927658417511401190244787865665661344857820569818378858074212879685090243469039683329447295038304356663310304350118574163286260718477958571308742012036636059080290340826142115572889405651574339749183990664499561618016748589949397954784819848599464613327464478424026422623095195027603432531705457571190760620101037158953059327712975093451095685168882504973000413294937046422826785394245701363295722058773480240394599953948387214309284750282424897693390313501866468073465292388249390793869683881214744562756267240356067280814433487492515277476503348390052102293923835683927734947481163732643180634850291134261625854165411497965701750160742355513617011388127150252261966716214486168477065017417014768782267991289005939696200988688517434722132761801161910300645500653042923153922377600894902644227501371542359854833115994885482971348073518988264662768024127238153362390874451634760313409888063657507264490804628795901342058704388619894070685217886774843620916525414178206008478773567241336605745855308890989164947534569122123249353490951922348837098533493340673037276248242535630149442434596101720760800441612434466628539847994462788787294652002916035140703028626710011900124930092857005233333460101796520045134119596390265232983770019113125274253124028726416223019451914503312150084999785927974392991183382578385650894400485092549578202077644242207379317203586036186720644198153958093266493556653110278695573124172221487542234602861209459446846592147768817839219082395719893697950487848177263292200538900422082435874106129569563526715420975320980059835055074601447474374470873830955649721988142463213959898309760969920872438323865167597591106428265265350243307888894340424073195525073503515252820510477679835904571788379924123782898394528149746223176964672533922340465040403167925387425119844629110322434110051914825737282829908386325908472072988438806558091740183178331432529747920517334667905439530339791754906910547452349853683013774749540677931792092557033254920529884721539537029095364286684694432761039825153537510875218539948781300668583154081908060954406457311003818080900035752206028838852853622386429449496431640903280482742489352555772089677997576731752603048984512055557755111617016395734599968469547704395825734394350884732566218285789156455013117911459096822887298537031305569428014887439252266846518651323768920638934324357639498893415746091242582272252767834052515516288448428616055821264292120608305987843755683087421570761501450903837801882555288716237426302044419421741334919343348422058075633022797635313379913400666597923687750135000932297382840531435944803300478633270405582804479448812247885159886391997295296663240142835179078539438104136948728462272768818060151684494702914164734517413686957562142991824625961777475110523841702481569149871828660461879684717168510360033488273604673889902771915496500335071265092222144453014721711734951235628468406111144453582424394175460001455219480168110314383285649356159529527186780689571796525368208619800744069136351376930033509613691089686626657818877616361571218459342797309536988495319745050302185294403781189156709910332385857179046555765493334582739551902386787161602525788854892785629638872639571320235211933537360840800885202992549266943678595195626859052383737702715041290552171478534949439458125331531460806900218380490406277756469860971495714724276184492276402923735833728111417260979383350219654477965095708206924315003522887392592496416758792169602168488336724386421340925909181878633046619049450033573669171684563427424986248700687073880700383100848317302815066003919049347140818817852709031061424892243531205064608724428944560804996238475006870601879353195792393731226967929404877249168969246129145545794453998676831544339854215356880856836861263622728559860997382808465303835932628812663999208279970388934046086244971367712402121826697671889037652040059286369851149836573830417456868940680773382112450817832328369168619566083582652569111474478979931827790893014831544592478320454226795423355159250258031309256865697083090344301677090660741210136233210792776743583713385282492470756170628983126047342098976094217706235616529540596937950777308714652160861685218115555402769890833794310450450406726760326195093151515345575151991479256598940646713054930271656025526807086461443264422955094515446683625820641612785500739698535281347904681950477687109242583576952909214771745597952742978422762536081599910086155386958554643755232485641378950128275395190909416812840447978587619543673169495753104210162892232641633813486908147017732914893848899814289344349464824652552529296799383317873700715816188447763614703517581457820189204629838834510446401542974572905826016928555123267973546419095550992319226243996605313022612111190511918335868343101375250702331128110368463367131888206218000667309532039742191931878106962049052645839704765111795336502912715987085304957329276842437318681974963455995010851698080136264658188864060884648944779284659329975193768438894795617393960411589149480059762166264092129460328203373935418296323864561788554587289686941737470184398395288354960063996852206019424595910441543573116048447948467072552525011630815064960001397831997381814843811298036196525863353071430705111816704026673639460705547481463872314773217424980633266676775486782888395365786125229309124973750075304185929704300098130064121482425116854585004916332786238405084344229727365886491251921699697888828888724904716264722792273012757774520469021887710613140095391068920869164060606645321266683754311456197958186067620725086358656053708796288014823777245354728072849318159336341714055533821496792294759695222110268880292751946103205627459577092135578028580824874282416795547607352016943303509897236128464347232643715562967456484163089286773784761464767415634247565067281166582974192567389300679336281984014406955808735418759588154782925751450885302657930087296711446308094073044496714940057347261349572096054753661758336595161710109072531942847214341547180095699939409482564317148417981261078806672959971650210648257231151548746435341686243977188352184876914823056810527441527918950054371690042452146324104034340650989805691190294316190986210161189153422548562842394788173297644438721349782518387283712868930453586520706984682374959218482922068265980850369489778143627169328269070489154548347563084201847389245977512189615587436418708607418806348707864272112393208298351528321407825532827504564353769310226875018592550132724698463757396666816525655736260092891950377379693964996065177383649354771868740523850260106042086835131865812325894273226806105966784081922708815980817642790830139307816227266249234467693878563479934924050417467934139241232512100221215281401056614844362395062127035872521832024413586998132472675191244654423931677506882367236351111959240351432948249817939895876170685266443576159592399592438324095058367590302613269439808084539588355678318970572630879180222658326332773190824248219063782726669290043291250920928039862077248759531182319939122988291674142903898092642776556823085130473056581442184673199000237220816924891618905563650705088077016831897763987368244009714156742615767121280754263466274358769916015896939456151300452979646746801451688098484082231344716209067296112930158228185390911758397584847890235875121925551721425181583170854660619636218338171572567246273604247570106805971862140965413305610884977469122896563789614312681634208508168295221049796214203395964748286491707164988678658881636400400908807769317965740012882399257235912158018989466794087483015981205689171076736786822892746432022282578473818456979252104788022518203978923135284473627553237545378958456362901859689102166011142885635196138335510960723007787591979467357479783585426802464261616608689407031803680427989716807420129281442596490552233499259163052191514104966732163601837048983162400120803345413837342243451776490069200505393135061671564176313256108022776195304373669563677559207617357584573359604361618289333165463461049781180910444891121786182541848088258577089414666055707982411555881274007236911460579892658760816157475115418616112009965120099832262327033901059204702227605077013427266832676119990883438686862286070002004421406192223395209214660094204541497581375183718254749474468654636510413868086946085307487841453283747044562510563670587713649963483077836526265799325056292536174597745171037785900449992586759870279633894951924160499204751955014698016489412257373987597150483747307462886400921847537997005750782524525492696299520680183700019335833384939692318370580527527233688982062958697140575074522877915230486900177659563334720394197721480127766913622921616232094228928222386227145477047132212000033773292548589909686223981440531347695701814567445804100496295624815917670799344379174901111067601779607000967911131372447819044905340273631960600720618999773692296181997788465646240113106427263043759332583357264971481380405250915516927094970458176295875629112752306717124430573645973126141539320323030951035875901677670352403128054320208115057742158666194939175277129560873383646137557012849082872197769174813324593140846621054472973789146986590975034929716969276719080918986487381504848023105955929193777763308554594493987797537179162179978044120490114453077979163171830259489347511591665617745688352466613733181818337908774827822577824032851680653097268083566120672384941348578334913833556783551455424695469553390341294514025953664412755915198456240366963256901527091700645820328078675663568503557599055569857803332851129963027379858720231317517169750243178633213945830342141669354391080116592943947149576670749182327405783232850509107565823092326785389736119252702140199165638907991223179398206523702182610389404642100073772664266563514827320983644284284988757946620618740985843008732536728050600602522367785555485701008129410500969066293786838239517570090423468669122460818213299418964396830893023622765218795932614756317719523667225201218752239148016423088555666698364917149909885038732420542705067774828946707452940060445468935668044081998605635630843228624248710896494058596008971777141632396401875560423447607068799768108427517600304293109504673438874067752550751779832268533822913864207039249858471825954889996615978779503332353269423372361026753139714066279676503721529241527599003078422395304844231890740688582479077694502297181524824231041077299812942472999468350471056353938795751996978821287702347236644920886630056314425748353788582424604670090515619123638917547728073825590758356328199581374691227783545946262115222478915009857295267341918462035382289948228429994752058231158317793433374945105090713207251921912207709568670018392871246470926277409215051294646708450353774997427429632505330620316010986984050828751603290222384315658628032505113800907062189493211617428729662164690438345956559251984957229135463949665771144325103095495935731498377516877143616391274824009658450937030500408646601678208062342224700824383944912850219863745456310052273884521246234376243196861374827620876335631677106930393679003127502466574688899049163367804763579741868015432266848686122705549740536338893465759840796066167296607826293746761746675193719537295872246048249420596481140888582915464686217693332344741412955697646494275355226937336370404365277546935356005497599155822025791147595011335404986888617614339051552326222520362397382036180532957372432888480165381859681799951672403015625410810424895938556859383493375110037806511393111667692656757961928497536142650237126650482507984891717165677017277742533369208229524761162131432671595622820032744510465967180620376863022529845243238405578761387794388584641945321726405807211434599822379721031829184854778151349682607198789578977168811811979193857705517616204448538619337984935159423621578123246529786751118049988141676601982042232899032484346315203726567520950407914617783126135560256485555527638434111057857344924804611565753923287673560380009045819208465404453131484148458007761272330575466497228142377248046768522687063563593810246863386534718374902544450345080990007008462410048175083661227243710682950343481565103718070565520674089754134010239942383873004471577084096644360343965329172101824240523600003208322753902171553066840488711475295852024649492903902788929436195917192992021739051667466000990484932214053927580925752103799894242507906035874007506975051155725543182788542204252734100454755837519860943964369748065586701221429442259587888383349657042178706325256567550059259257361167182599933760736287647338321012247277304594497271392174856656560197813625819274570851158386343230153328452188733290579451661139032420103402805744339428979808604097485549649482641219964513997440030911650156218666161440189332505435266354901629437772050902916028869010180588306277839684241930213317248338209150026975697757206814592421949225078463608032261951815302678602138871020282994150533249337812893251519490039683635175487222967578872695127628743160926907040665366447641322569752384406891753055817352402650120386794660907177809312576541286898335865813607638804644567133749793281429105812630642051358590976209062135499696262246488529615768961741384604594099007176002387153611595381189861941452756175912182682066943660753708635122294472419425450741714137516121283610623113763210744732209542814241737831677358226374408247086837263195395036965617532718118330339239704376485707513657800411137734146788249207901245732844972837674301804353410964362617082222890893319074307064895447068661853331209595260621551393207731351339282409496532751166496402575948509190182481712926205639697822837326048496960920116019009286307514103458136022440093869473727401866442166300421661923196085512854199439437985457139289457116914902567284297447364475632455783472378579440179917926998688657366083473178185842616653431492243260150597704547129578464242748844389760390882817274350646454368979794299160612467622731826744058099544381723568942187008779757616258093919862659872169749826487534413614150768319832106484335275917418072564635736951002802804820804893454374911600720521414087757795512189257439185707639899262058693015137481453274687737865211958303793894254111015206040019074858323950391231974247103490209832762945213675890090568535851875428557367409521509424019415446449246485232191496702301937066858421854325023905537315854028457436494196216605082576144515396700092572895682705664693119745141092840134377234060024483438868134928701912838362027674902337828340589430725435468270158467278945765458245075867302788622774104422283318875615541302899250289248850390601402935873145221659474678470576008182404803127215065414015068534772410738553833255155306235295733931638267637695298601103477312101821279079023284317084297346376394072825219912511995624240858201578859552743673800646238213613748310586805823476288537179086656258017402247421581371099903578062303113892645860574740309428753218532583550997901226041832208883562407309266858649674934622511652179177533366445106320047372008189550075968659106584051755207223353731226196546834879294426960641701416892529280767222461915685770075242921511948451706237038556981116675164217734874007750007470716189492421174941311775326538803746756350602105188943111115192636949577371001012771298552702443307157542410421337848085749443787509110244972595611798333898589326374999914199668454124729204820758339605452567614505923369891996908003474556147665994595249041513946325224842840941871779067962373414963719373181061034059689988509411662721681374743198492251827007524955313337255982876809181204482717405743992284626517596687009284034854568502468321476648553030125364298216050879189388871793788518635660762632719745173996524828956400044869168182136445887186471177298007751237896562076356981893056768858342294846364861936288393204752354274884809888322467238882974181856492270358545857926307646536771227692965341796699364920210974080185045763156237617889867252480631101425127598465558270540388506194026578701998581133962952323542519896278977352755372896096817124885282319558842273893848130880879483667004510881801629057474828674119545748690267816456829634512818798592106718619708749124890946108477626657288914311579121220808751485573324757788313015934126866232426239607868346010160726911205306951376878601075361612215992255372706785744836552664604901194282103924997004919714881617269621841983113503079699173675525471992704039325227530120785305323721108813850824830908296218729767559815082912931634304942923295009177921707080678759676625953034967741657468943048160401647842135298800907430677744641130650471082940908060951012694933904555545335014405524671330741094310521809853664928892908568687911048400743384309048326821808647509890988215742101786998089164100505593235583889263790698459579925364204638275191545626171354959207009620058398781833727666203599108571311107464420040486799364295181449986315658451707022057087061262794867623410080353554090530898164530583915722878405340911361021481418327799558847994013589571605684077090332304515000459581779274147796084006810191686278175015862560230055861498984655856085214273548046976284166113596107258212706071362095720688318202668716967778328194962844477504331227796226159001148736926704073432958856195332552687377460838093140846280625849154956374025049691629362871004923181641483469673764901746640800452542336692266055133782118026135760379273957093774950107017283190443840096334518099542139626875995352549448677027441050442262953621290201853080392633616296366876817917483932690166710631866782400993264936908951822836737856999253648436616589440356681209431746826846205295664584241781068896778663035439757749142997174445564487243630781323004949271291214626884515448052593972435153135526973949864587341382752208106620451506576409004794754538201878369588241762630449328702389627770159845623131291555345910357870310511897121341959804127194733503300317956776653429835719999860359861067139261786574199156200764324162687294494190649721283095879232875123747178669182416054998386756831229219174416352486557371013907828716614651576205874553459100464331606176255817019970979262773531894840567511120925621293018016823628969682601210547311204853937479038558883431599008727646011470076895338051600034382698434712522962061174649109962957900572920339616062410685677930620673338029465686193684368376110911000803539965502423378688543516895834015297129342381562298259699846261057950995545774234986319540199865239054961210629648476973532217644065439895457120388115385018163334218520482278811336936616141878787135450352168340510812219259468448912956361416808860420591007388502598594163178207664588954723301657937684848004526813207933277520635338717936828341402822663602281853820980253066942040364085223278031856671562420244255196236036661846969458708336956280140497170162602165899512974366541911026777520273075538341379938014366799441553507318533309612263864096230660795269753702379491253897158836570742374609146110730969648737320233951563568392555100815397898683286843012848544729772266860203202745682916417171779288603298027630045115184329216597001610718375820395717904482981873020076494772518763895671690831372875491017897799376371634447949372528306230272871964920835438152374261002297838128019755332144126674983411938270655847528456537042919504756322706008242065063032259436686649204191895692642022208480966672123514152188540323034759703154085753589664948203336455012294341183687476478141673293147211079447828260996593967736843361225621331861219135886210963980594932878847657679966360800953636785827919241713627429454116570526817965543343400046418323756375803044392441671674870040324896256967222314033876489020690074714529570091978350442843689244552142119805737202401186140213494066493685314959883596578038355325729444375567286625469406868310065479879069988702722439304418950201944463721269624163601323122144035295044660168227219700727861523706178819149650940151133423440058322337607098466354517034354392329655246116256120103006066235616085280181700760511060445737040274000559387438140811134800462672402900846414582575577795088153051578411810574093893431080889683270278255090757833863685581551069191903935327716978338028340019917838301953557944085178735783503117270980715846782896305400732995537399459975081326024444868148750907732980273528169320046036782349111534595531375192059088427723215662581656845024968741256861818809042213385880874754797024032247278666561238794816990692693082304682820860421849162123145843850743291347988096469879277630431266548955946832975724962617138412851897723408874673413382424358256509028788287916465832869092527779422997236921709668505708689075341740855339985922886528665100525803519132065576593981006308579691422989305968061779391882111061293218357315150905187017160333534249809134842648603193417987703543172066931713113081635699885163482619807201286014273080303737547894742540794397203693630669135654261808701551002692098566497250940707383376653419459365081166271692391925188475896255695316201057575000081054280140325414807525659611455901254746622035077717766179290014765226162448756038158433983810388434901120468226057088696913113518627236615971319087399455415699810824830427514276874007009517804293384983303208805249940017149371488884410152401414661370941417694576989060170164559533223269272411700277117150579273070786552786482275585939940983320163296918361554504780088802882319178816300750620750805890094751960746775005395652860004414968640730566225218415365477140758423288351114011391004370302774663020896652743063455473890038792381123896757170536875597234501736625160072952090395297844666407951790842698479155100555708919517207752840492661182030357829613602713097631111492485971494844667797739676611529172911290859897811976437706363635528025472295676834589174491601136916254464060070926532251175794077224368599756402795830944867278402371738449494970473603825988931627869443730789916624070874233675873569089413220322485571619464704192681023713229410287749177246574249700331596929464093992960657080087566480695880126144944204693502587111467221721186543191280068018718253739442991459572700939376853309335452151215031856556846362284848923003465682199363984040846486173645480656843309945309269173417071510152332611971382819505627151185499998212444728649508337651599112593267022603535503523374080291700368889334729414744412587843252291200588109749764723603623358655122462657548785899581704198609085502162081520942089641428339153112357285060851744029100336553879908796955189851028678760222590935713736994095620968574146888923537064836986256428467845624009927212020168209382862438353652722013160833916217350582655116041667704488432897143787475591520492272017684194771733532105818598391112306576848559733348578531026149398305231010011005219292727277791201960093376904299635348147444376590206043058871371359976502329429292107124531861997708026791666241826919941319096756172319137487397112956150812796476205744814411353398324291457103632133745909200073027345411354657997128510713526614542691644803352156288701668227876300514409957893932324854660434035306291738280919950944709235691793637089826629760357074613752588028861432019039451938786284115891404468265194352249795200197471684696106182526893163106387015699445321104446131833248239493380268442133033809649909996439880319131517186178359220034818056339141646623131429778433119423116018187766327702664194580038345832488765565540503013090892339893462965246431347107379356856980104244134020436132652245822271431615525564728665381307449618516407826551537846762767202036018499377854581621782215697341252003163333137624809224155010880547221537737913778562287635127927460400258827063538655003384613205014830644904944154003149106489780803216492700993067120582970160938564039132919745043809939706957316171734006861329023815276441443537411838467408648150961252182208774897529375873453459482817187875474301736926538276012865453507127092989180230531396225422826631605405286408717305866720200938682266229584092309071896377185233564861192110200519524233793126446261104761761324939458220132632326960529035126840726864720656918058830586850828254891936967592495411162534400311301275121825712829651873803289567912600701843760642777889669278306613056764558585781369434571899587770926294808129422836952205923554226407812415747439908622604607757077814120109059700412492393526663521201747924233681914670439980939413459032056249164862709358372063237412293562908139468834168586616604367171688263419476979668126937520751062803848375686461982620832646762293317152377831060956939129749370055897760567846968445853494211585281415834436476155842508255686761800641034428527824357413402462901287640377193260174208541238662224095108579860354573111404824661642582177592256496035837230545320408732635098817815319978242367023302434502066893911281553851207245050806431643536272713651467579028546454525795467664773244001562783436523612423797108792013262057987724234362031148182047081745918520775359386998519321694790919556643724082975036570720468902252975612073730825826947396011004111278806046957250920937101302292927997838718625609026365461249971586891669699562014096832189417273120290134408488626082237744149836282723074064399562171782425202844239429585720539923305006720904224167000305319929821013965970099714074781429154937519276853538062148939180477837369328728131172833988125025444141823920386552065430195574829628457755232469745919431515851452385895624063363182108925176015839037567634301496113182634734678332389094874050267805026841791317217636999426430905822926166869727823881794264813313780864310853019542185782277646686872769711055393282106402840426024582153254644994281007389968351868113802489273265672854213336460122102344546322759466545652926972677338591447673520722769038353733867644793113205858739238798868358814061286818729499983967324128356129052698284429840696162898126354597364916916073639364629696854493120386771387013035214288236052044852191632105482770177293289834509178590451501583277455850040129330140720430100212321181468029755201075425439193653615349187812347064064870974847687299065905794272859302685353244635535559774628817930835634601927463599360837067703019475304568404608631354059535219931965210644469810040780421763337688841699025619954162651659960373181154396657925316662171234274883010870080043588530359638783059135191757033609872733804705347140104210613457736154833356582548062529739807090660447011537672611226734362548742806876236621495527970557495582020901447348263484098523375194567662649975309055594174845187835000520488132511387743185553536966602621946910252314689096358557897597967809342598120527453216403948983409714492745442028959936046627229718486751480337617581817508312624065892485422504781058059190841554232362782590416311284693202072583740116448803684962883695727492892597724623414508857419738542322300703305366917463795679714547651165762472749759865291604974419984303342907209797356453600700120268157338095651907065642782210013615313081467545397743121713716600997684503092251453176672258312362467081036337132373897074556793057778898399057362558052801987611678771120745495322426711785547845245196053937330331602449115615412208541627837528217561512312693217471342732254442747736322386993337794077224830900099249469672532972585533607543956375911287772787242068383006266663018105351542806049786190942253046549661600185860428055715930789688884489212493575026547419808317427580171533225894157741128562375950242259174536499608974342496218952549347111934051016750547298016729477478566540642032451687380788679992315835131805262690330658556084290909156956922689667799759518505356980224383455784849333758060444008334388890710596619516120195682205011677984204349753075305660595725272384257501302893273830389996697765706688577548656490096348939674740808045084427539726704188857813452171080491143358086786157179079336191207581243935493242520801867797875637159571112722746604422882966788128571894481769511724136507530645416746316997590064148693914273169130885882518086639742253681934828305506827546214618574290946204668000028851169178249178445614934703520921652064807770918832949301252616676627997525663892769809661663420910672285480103220811697352110801482903659258530812475542351944437902145079849178468919435562216956162884265871438538066186075636092671329395677034240498474659266966797917041037964072667630967225361327687915346761248906667212157295265334251192286705047691592268508703009253807398076580801918266806386397918129055543702770308691353150002596980483932472732663007698259051715158095071066195526223914392724388701437578678476462859829710965336374883922570916341018015893660565278159624195923325396829384065210975202531434828702405627128714905814362614791330662610393692530852032101485668721696831042268782215191676942392423391883768909549629724059556739168377697565879028499870378523452776327307577841273356885191615809161580053976553398098069773442563311039034226285772786511798793682185025327855825610300763002671875339585986303820068863786757790884265454279610519104110112120187127271513473586978070733758687164402113845493504403440123986342296204966353910039523706896760142845732874445737523225391991043714361061717437062329473365064507650482112318767952334402786850259642558279799702274807526215920640835593501243027421127471808297673178471509819618494381811794495846706084845479565994110365417899428960045355280926629170518928955401413973511376946300441209888163471168541824570553360345638523394424195569858148841377812277408130197953188916903090569577398958635736749600026488856376081058855457709970140426836215876393542714304868755003145434336634501237079017825716691851134881972183579730185454674035517667816776274385412420157940419715015092960831962159121986143740847456817365281335942491084489020937793950759796682949750479821670983857119624358849771297460432854035646957024718625200368512177408117165320576065569641509360596496987240060369908044029312203913354604070617999825477066872266293017169933633642955153279665881329176696449767943827015700351782827099710083493115729779189063128254818104139108649366669903998790544776208138511742641089129026838932312789784533936076591544414016884258213550670236868204164425782820800080738520880364928989880632152336905398147853132617392746388708010439555793741571956381120298895142067775652547584920707758671362728379767066405297941118397095011581569984722223162101680284724682443438644914717352899007757590778270101294991154811287956918871104292894874892376652992976372047575402429457477320313388104249488416263866402882746905284285880730710726361818712938023654531478129116987191657424175178113851632980405151888319008069437174786069535697512810905242905208736580241547068235743625316640695076715454118547832083828606922304687280109701149727940430019457235813759833629191918889984303382937267906023255115658002008814158562345783718768280200241743189390956986294722782758802611672179668749355964411561060187455153363272339478700502578533102701666997469302025286352563465408182298822242208292123053613321888654088893175544866297436454061128256118803141931264605243620978511290220936907256915771998879159402419643664869256801900990307349209240040651261624341506540578377952698430850623360993092382963317967606161173481892033145140971891432709482289003681429018334674680764863605205135008565433339175359189784190909654242135203466583229796935471036707923632263384297184713412474113731117649372227329725534173109879068503072968653225418531187547800763364299854972747785121868445155884568881556153846262461150263669154553968459434305932412982584465938518405085254488581098800212961417528550876939425430097164619046536308060904051470695834776430252549779692291691176255833020559210262164801483095589840385804400826701250199564504382032634621823178237494437304164182095536889861361428698199392654923009575093487229772950170895126465890557386145519361575992616454029503587764526381120494386084468701155168162809434832866383461878584508907238672880517013626642278525051705526729841534673188955981962730554977059655363794645099074046399006088278099321938622447077035045712913802316948995113457665593241178918143095688286480806158291318085700478380469612572556089300925708914138324469677725411536106142543867934817525255314848732514805390754884175387548252738978618365376165367272036772818545322971786526378299852723787761789011539235641364296484896273610062696399360634727826771482654872609394859878463715244601608437115994919541032868542049400008068734671862551195922233867580432524210088735353161058634325514542678622527467094067122939076532501766914524427039349194918059415231616990221085934044722794067750636544368001884141821457765694711774824445478337339855067615184209231159947781928490860125442442805019442390519873082404185034741375513453223435466707428471279706694809492030770021635415258792462855883506912218755125989662109875654364558380677929447653939989867538770484168178110969115022483688657161095112182537853985133305197988841203602689194006583502771409727195760986328173703707167039035819835216895547390848945072076197403186197762023531792369629276978747587679366515199234008217636999912759480268809077805318864680335764620334366503371877647426517261028310579199784098812511490564761830330406308598468590567966279225733862954181395247568872824779434057151517179956408645614169451716150595899952617647451232186800050561842085122492064247852468431587049750886069659352973874359249452563608641110832835289084968497348993507926810027584961930555813631039757219875254750598951704114330965010402367764047889125666677481225516704197627813776025114142738775653171532320322172786650490510804890408853737298345405885121784319449489350592876319661457433185704694645651324558434057584884042953903133815104837000612820013389872799633685548790858389824740527276812168177918054809418378323829555300891223257505955020681830081889683738162378335814685974555351228816373121899120551830143437723395841757095910154032395001703939954906246954087838027918287833205627452652292695180137763233816120023685058711615629813393366664227672655080475125842632241197577561181026477448389944863792364859970814994254538586658195699952679670774136144518820303388048615332360811925674160412989602677631719671131599213720556825754469664415773986352988619823550294346711106369665366562758703816817990557654408993683318243886250615904869539520355342052207692859346580167636920547775820999642326444871116996346892822051304290415363530828423879124807456096521713541006620802245560841419514963061737805913827125230204100565710458937695833061571698511995962178741833080433583209135334531720032411696944401392301225804923539665535310339436050138649230618101389011455847131804031929630704790836612936924752046834079453097256690439194810922892211085858808583723730303167358617655303960892592248106401879392566671309486013166210812136107083418646310812393614509029913131394175643515360654957440191815005440465809879276339510419851758160378410558883638213587045340380421891209675476422653134403221991098149296873676789172583580540743952592865787367708345843735721279882769489400751261317082980688587935986920627598217048376615666479868159909629209340598591150090508590973105767973199745946331983894676029647725777623579467200534242957735053453983149765487799057051976156020957554907248499744739960253212240292709970611170302500864382061670953733859250876386197543641771485799570549861195795862572936005520329804762902655182145273522510360454998420105904409597000818403973342002645313298188306073373525818718063049969799824289081276989344365905403928511333304130540643069849429381042358636632583616894592549139034353657115368581376267812604975231590377567715811926887916994393583550923259776952252699130349612282560209861249793006109090707187758362482210483962151337687448428017551168256788801612418763052634699653368423498799421690622790836781692152016905877877685026553751226233720417569454659565344685274941414977495785085149370351338997279276436324867073583380668683215544359143296120490799150381470039055975978203676160981221645463819446827511182939144314592051854456040892870718238713785281554970266045532300461856096642940353570026621214638158213542153723316791616325533572677961658245034958523744181581265212400488057632712938807514779883187154202302077206184881490017775531759870608680832918215473691275014304733665158688687058772790579258232159252905754348089992887903046290513027991601680386034868733600695195576921622346255253828774388942164120559372589950382189380731224705294868726147527290540420515061299451656130335559528742959949475450894702796458147096802071927781477371871080821255704522079043480507754228143250418235865975354434333125959743261174495641090987254141741399125959697861012780825454537668021642392247456586232123764633276774738556225701010680140342787140316731610801216049222820971370881451005966876395301526084639333903697049634270520702559024758785002541031756050620304952970753702155775841583683730193674103488495165774432707493467788582994421373733166602471926436649649657078188211524711209885481999663486663100385237494168511874372358387821553165276852120539074954798038250815009928362600127514383306631548486640276348655765172281132548223147946345162182461734024741068839347012456399404591004748128548525123034736361624571945907285499836386393949179929724703513681442437129194521654880339790690875440625905729567876784439460329330554140789843250052164256776110042372306436725679461072635192237801531790616116403368667125278980260103580715448367425462132103083429914312614542444212385701589265554321853060100839471378562616646601849957050826163815131645929204736131098146214108644540353767247611865935924136168335726204399676734624903648099861713371016039485344571315794560086408178534527206808473363956780294230901480504658709713152881870875316716118252709319033439940150400144528468551823644929244303425825071131151807259576619509607379779667510932963310876880062771676818396854996265665248956811091228725977995471456498818790430471695922838424573592209303723034185746030706840514640645536621704927258894864730842007876856720319533482778266037936340176677801360109108837604393403100654757869577996736266048413805119646280794645281076548634423246940671262547320912458569526949000962752358147454937550984879711375740624578632677608527806911507609718645509195389697772783833303392762226092852848143951260413392904500378872742609400699026301943696721259113532130084306146221474955855778259782916244725688644648061315252597913660382602652265251895309678368244682917708785448955154902844717008892199479967339878402564553806296032090107837515217668069118514987015838072709214737931025376070815578805471046603398134443795173843085359934167582823506014932210830129552772032671701289368728636715615414431170968318316644863700237869828873085940443173806180714669035602386523941492105824583219288599877472395262078860955076654837798706547765718175771612594825607087355575693362748970033454739732324964575089314529556707293330582027870201616713869665619967538962670618367951450454374844624740813160633081574592995544691322359372604902415598865818365307199155194497233892878456549703244671632950621215952420777065838576950608521809621352447434832679702818935265014883778764357971666728081168589553866985547170853248829843725446836588128444115935971796042038260645457125322982750248914233422922624403792499799605120920338971666004679355323456106804295876837679064114756993535382873655638867209054439766010481962063801121951300136791598976328626106137609703317305931824669100759386027786962584388760319886764376776530609652399021019679648698756372633714465289624771700843904750069277579826343824443262862787270281521724822029426186589718980106156345246098639319435178369077684019641924441517592239944183153548301142024069800884434674238955832150024310131009531777145609748269442948263001483439722675455798333166147393178861471258496437740404897450101569198281829552581818285099410940947714521443389433216323750528080533017496634422075300286851749832177718478539279696400008369642376126811201060240649871372929593797481469540503369253172199266033167447214830925624362199107233488077068445483960139749744850520464617232524620596023252288430635310788043158091242917605319824676596618984301131239481774808585411529668446932470262417265194215047834146414624289314620239660238327032857715302165184060337521619790920764749832538606532640688677149328810024625445955945033086588978245322436356685897348632427033751209442658565809527518252912881666202441284121875565467906850996639705248904316687976448427692787369747737279861709454917420991424658340133984809879829286169721732801965384051013946388106414982959762447467823946811225089652599241858049422666475303722215626787830960276419828248152741192475715884121355981994726181952786427167920815922219742173158503102832630708456950864365890961622095726184581906427040807410519983149425986007434879312776487427623903948499079040830759797974318554537742160588090645998443277135711088973569598135639199432508486839550444063299368648139725403741637513533056076832766656979673588758458433907755350604014372395603624748918725586966931067791446902653509917297874912888073283935649910831781460283039900421484012658177724233583448294723354825800781836331158553537998548375522569049967430451854606349676045717175591533348807749717561013751872085320174552223457975302171712566463627578959391840635342778192454631006186453126774844480738534641314482368778898231819872791946316562302143716821675275546152531969895165259454357633583924498597416133013408683924743196168674174794685273322456578873490493431033850490633053933330481034379717830624983370080543146457326077285737019002444471349705049501404130856153176173231239925413810529855927098146467653917407150965464476242834180916593800061390302531139589579972452958224293464344003776268055394210177791545853340721617299402033478428587687282593369717618197623010277036878722634323482024329062554683775860067445749311769284524914295698840941107769395805037806379947856961696180593729087240320846648100754299184344168693732662038645058723517677053005359329107402392916752942974024813741371030508491037305197783945631215725481672893734820878950379153144602012639462573600861873170936034395805811041384568043215211430525026148288781530960150241512144027406285383940993725875530919635837438792973472191833135540125514368561179119816055413212755139821760953397556726614244085023827500185559733660600254036295933854657759961015636177677302302731668686476810615899485379192494446515875476419608626237179046337887656511139330836658556368449517441611223640184344512199332279600524851252213677028682153060270952012782056236194641359788609546938179276116846231600971659495186784846735120223279394528382221035004707177803067350720796370496598048524128750427408017248453594224276047321780740211429799404035087882295965822390220075316568496577110716455389887298496334316709438409738839010817862890590106479101880170661661157589816821256351059901933645936717218930544535739148207829468121687397746901798310767656017367104611966521586421281493409704245751879634465954921992179631139261297173440221335866215044908466978137849405777040341373650508724594813997027499782548787870050569018238225683451308036170589293241957955184456441921072834944668505499109431107947070342488995158566609868855938837394145339372120014639572261454658243316565915256517155952897112982145841018063234565719833825590498920832459821958076418259482779500415225444076656722770302108512977501345716738362048796281289738597093308769546621546305224127957673060537010231006014985083973710277395375699159341896790435596952637565836330045029985887206351229867516584121314690993000785667595738798259858673178407469634859998677419690530000654798449907178826801839042574657460188843587377126740353830098738098200384518685911205152847408654267981591650978299632033748513662964136531491480764877342367202664539182042840138004144758789999738369463005546141357709608111244602691688493163654382695832887370544324680843596252715200073864034595698523539018789962618614116112603829220240770351753648591055853291904679480976175714987960182988403939893750298869053779730772062711765563102594254014044780535393777078894074031409317009488418390778520819972883091295491861161622277750806475090073585020672142981431734105897475764648461061133038198624096347735833896015275070254327729981486165423292294500411494681580502575426213098540411138030548143307000597479324301374467601177951029591872292936176370122074144009787717280092186985107979655004962474471041291632460070874598176198289394483921762006754802167617014511264816370558467570835819495678319871028342126053290970722209567522272170904311130115055161702500368539640197472459038942610341570369967409091765792917298451778729814751218946586231873301560947153852205621394285761139001771327132026957819220981456696487417744256859735166418045914127134668621435610701350132878937106538223024762448928326942115012114632939532929034246509122395415082646141335520618350635046537988704256974343751221624982399080534539366402324269163929315681110602962906494969696981091859895316067376407854603444488833191780131227741948801433408868719817648763319803927580487415035591591307698603533993944159854627840456582830998394439316836717246068982553859586303107802370360120334726903690305284222533300221535499783092338417335633191013419628323119190920601227057128770606690191658041314477242992061282114502040873238597784833783692590291147883018826716703394939050252509197948851952478140514821141278615423104286368355672957918092145728839109614517964727309487177194502130936777889065438382073694514728608581846618175152111553072161541654744544421392646290939455063391598685494126698969861852317633398740480775089590286221270125596404017174026221316844182624627816245750171615368432318364395447031714838036738544499848626340032215842122706298400298742472381944126787267906684302231864664671246441384810304574701003100745882292535540357063502596036668097954533690081767904848086095773521005631401263610866863760480410519928585452666641109526699972634435142318218472249010919855122553694421303536423843170851473017543130744511072145124759951854138792527960531071151818409055270155490039947525504969194964225404493643531310374675366254959909089454101064725869083010873220887815196316973688807542969774694373100652135089873482372392166378650169809683470471807544720397393286333166874255026595343960628236293387822818312834908403815643760864744245120776579825364892925821729159051336957764242272102854521728895197209674160049293571968056369476521597482458474951352293263280025589057968857498760289416994800383080612407559875035191243392557129167504143341754926418054911222856368573453006782359714964290600398808018268394975565324907974300896946496613374101782679495456619789855516415082927612928333659181800654916898753507161875841303480519035600650215946136503545220379613469683156739215383472493870140744489460739018400221315722405621578582502229196727498811436425417175494821857363253556969361355678311091680585877352131056466966225645012746496470110896236981413997064742701842205546723803683056200795532870343373703230626405293204378773716094991778656419439982416162991887073406378853270649927893337325846860763374459567863970271228304510216185572562566685622524178563048032857823232706931481369024967611092253354465075693396936300048140426404625145916216369060932776461177994729902016350340127534555186054478210075795088412893755161532480760159188696544333218798116741479090761109329608335542406358855671384828150930022203303374748529569216144969122302078020652904698247326363607635662557969206044491895748553775723954506359815403873738517635673491622835428781084252452335440562818879041405587134992805646108733877577678658680551548610462127782518840523606169006650485510819551337708319727664429129318922855512530988701971835080975337488497772100572555440638820628035919918610284194535914756535991296321517194944699746607995074208533546242351179164901702205485949817397539386121485638815924173430707519063583416218145119069536324425976451868975558573258027808578805217223550498968751783274908336322107837457842622617786542937219108130802444332553806107182227039682578709536784155652580577146368264860402777794014792986608335838794600079422198134123552393757017104538227198338659532064210954940666418182559994238678922969882980166104681043148309595544570393755601768540080275638867264400658432914185252841185895956038051362132597487257720249149194325160500334865608446907259894860454261571653367238102805855477461278962011706056917081207550177056414614819335749708482538387431208351542544638238314858923949485750762447411853940761040783452852171078701229219859321746402271334480692530474924508474363898879801836919087129650899201911199976437805858350812864195563274324621810636403317570560147221805310796691469241527476773856207680535051329447904864647970022317216345291006073765924157261662020503819189882757452014836341644184928075524760058509651593829974935109852548936701431849586479606816020628051166000115018637651018148624161375388174807274466334898377231282118754842210299711557814577137699898493245436749691327554602753472120282474431079111861654239054418766675449592889003923613223316674080374011607484043639486082949251595433759955818747305206699905004086107647289121783647937366086404917687933240029743580526924165411650179569584110301505629078557214285358696144687644837472113644580160067460039047345491425761884560730740876452033293204040971472394310405185610362305840049900554016886820248209044180623389157512471115744757863574707879070178908151557015990862230344302414902370423117030452020271177816244137332650665922561304553862209627716161644629003173523135802330384638738315017435322517645699192952392247667353199084923608298072199377505156145417165865798964494888817036929725824185552044451070683959890608802014981434241888994882809327926775631342897008635381655797102918901970939766835305651462563310275481637935229283425640918506309207715808215339643721113251608584564907298578685929729927695864394052786333157281806674497390644257351710630586841064617587814335357606079882898417739302214660837701089211425290922780594447160695230258919418300225521313534373122832741787915893300389558791911882177841546131599278085027993887956302405677501228240948199782913469978909747868821263306031355259353373836000820966785068335852906642228044824463993808406342833631833331592976905037869823941364916914411389980447115950793671488129030049732298126837908377315094580695277357231601571056883634289468641082718760982690151759543454234266516897405141359497208955431327881048235554412442337972787736714822342398084794103738362572507650254490372353497852416498346746948350956585821250025896949698755085385650293235242363634340176925509483826661920869060200838325007513420819589977116741594143138918159216331892074509709972996301763354852848579128867295839167085048322700622473444410913726801823779035517305050130540730913840399492562707563312044778078368807041990821476656831026279972325699954664849580019953927754072157774919879276101614282651059265803466597997678425217971655544205139503746651543946608835990585393131785494427494297246136387370655542453508495577214418252221830920167644338493046331340747683817004263172589453534471655459476620870903703989167311404916371491943593590648360657794023579292537144954945546501183855205357724365600738430283987381751365061304389300779638614872944615214204363876388865870853956622207198638769166548884471061080776305419862392556735426066683928994955213350322606448210482080367452167071888971638786511857462830043232534046067024146178907680383600162261813423522485196367403390220408303604807943471103422210906436839720007283169360676803411817501747579523170566984645751177520279609936791652873368464474431271050996781538206162762634627402314480121344985636091019854906494490748151522420906389179084360991071485098165908765321098320728061829061684881780261843340686961350875693086233436816640043815911047363887963599879475164741682129734618875084040520277190580501729576609847579301374502664937622013595852726002985654929856668546063218770914673378046336323381002667714023935637966700963201754650550612627770215349528096136990866022982508715477775433143400983291370330694087786076510005263774323519978506746627405778002839903224709434145248262004339923939849597724701357747319381575014929222232460691053452835444762000399399118827128594734559809344799851760495821850196290122065956258946256404812914495081452398339569900733770011861348681001577167725944468132350736741330142006310711999775645898654165486898529091718616502961526962462829824565502785997730264065357600976151580366255273369943332679013836024825657263504811334665122039469044898993253048203016781086006674799427664332998723877881342129832884742947657751317529767716724880009337198306124298234314619217200386814104613559107686107034066562221779538692975909883054254568418137676510718848670202733321326300756612092210361638152108738697258655491625650508637791219588785466644768157763235387480658316156925219985136696067473643959036425909310458659979243771895296447435131924266689828168008777451599930643046018775624633181550471347819172172829229256136533200533815245905577055799794243865591919935771327497006258333125656369270072311520803693197439512619545451667505328389301386078678117496511927435442005824190641641783280096902591327412175742577423579080607377255281240691801750994891192385550581968822060579547827574798919415107454167286492507339928092082953853082665150042773209209762850276763883466039710385548219769235975025873874416794421643918308991878730902516689449356240198488774204561544498379985556438240102393495745378179549077205380703757741783900955820981364292538939547977578684896469048829772049005948877586882922235758481878971089048471312921250592460482342738226633824501916330993142847226535387869213257543465046686355286802334576165178524095428643635457242259873051254412527601394474023241224314182736277114365887595190470012326463764158854636329718472571996887557089625435326286488412632316026850070225552883453026802811242264518608786807456451770191870672149551522951181237453219857280899828424069234531242361906466205032800322110651253792798312662941496702796346127303550745393985114064312716451571200997526012607226380671259446047897128444142455311314244913562836446237251981738145221345855445953899892137484788253244336180475707738631697182073217023847658123643974293342802856401614843041541845553124056982231765312945404895811328084170834715467510521149568317510482043949926373941044853702729439299123112269390021652328625957699622511380895224234767276166732191191565717569135179133925800061658930641768898074542013357269147095304874384172054359128292963344383693366022677498218956287818837128795901347264109091872391341291876417650176985016904598215435033821892579524668513405530795374818904771334911362558726252691861026078257173968691925858187244644180739530620850065030042458173198024904602357245817130125409593478832768203867245949848005128238065785536879347579829114217956717166078782223879861301885216881701047793050428195674750772013742107200387833488181107968168923547380021153163682642611638273986377841278475376372173077089983810581758578595958641434306663399234004862852273086553697232499031702775857267192594353058588149750535454634463396347130466155168294342670386122984040352975657627942337511314013892149950963711632894836559776227481728732919011094631213681555139193545250222715031580352673544295575672334347272173479859252187344658811292062549728462351391936856819882617177717101486312175338606823019262339571371985809196218984437486449208875140816357312151034605900900070326157794410441272262721101663470101185030423409854857366738343008447047568221746767590297259249277191391278959052722723515477668264729463399376080077303154631740911908981751280934850915134332308059848309695182795148456864564482075104499609532229692351961215338902600146540709959421651767118251487928956957981368511166350643568182978368939237450022384497233550199668016736761917415447900326055198924408377870507310269102068877763798273386794277710318922401757677634106121836656422250036930907389516972330865512943444164938887510631615760870870290489581511238716947555322091571542443239033340561526214659078720480962652722288708783703021193088868742743994708986594275690029179754893322009401533452289695981295579770884516975701451655387059562500611448062046079048914489872915491031716921306464095084443613110989374559633106536652200261147660119134373579872367044167690328624637388429946964164327131673288943102276277628147940222730701020870506384743062007128396182357570502478966581479999637409017788759167168644350431762102951651710247846888197214932376544995663750686043635332502428232275304136569002725503945877208737741018639585136009985307703175064484126459343893746270418778220124998107594900459496625813421432195707758895306019255179069315378580800619019851543691180258112776190117748442501898087578166407892374867272729960816637506213811183418711569446960146445585031444387643003248403560355064571862136751301594411352507540146591055704735149043650377393370673744586479781703959113321903308199799841750472840576959869098920559288240151073977300873342934368595719218212419174936353966766322554114604300973666472139779594501001764809260359565630705219673569273017899795066388060961675364419029791460462477640641812452861192594207184892135645143312506119854781645383583425060033760198711636774713997672617574530847068835056173091653198477910880267269304567561961165100372245212939310782037583730321968378413999075427814267528462557957170913188154927780537580635803910510098511728679034464930071367441959743082118710585356333814737211195386490061161948431756749648134887901821979293146549963566891318849826379142770711446526978126983167953720417828078838448062425093511408795482910202262042773820219465780966767224648575053788251800093244459070563611647760967080701274296028273984127909548393507748683181548183745533328724765481449892581271726184712360812487263668553328671835479154505784670275196581467130354048840744178364780608850331097451157722895659767764509513751201199787546748115129708256977611241681078843815079812636644360819195537061433719521036956532270110318604420791697261868847172984080348579639515204160886898613888398480901705668209824619053915917298314276332571398427866873397247772813509069300068002235463897439622003511686111252554924798348622202858652346545282454943211002999411944261059734781513947806934987451837081109730067237704970721074106657023781571490403329132752652906194550341413755873142757429710029183284302094417817099943870152465419522851186220926278635699267611218583749519190302624389600060887316568375030303971288956013075317596798266339701485878370598467874228765883492769528022658043340380262732572419331777267874436768601363608102306763994318530666885065704348215596644042303214774744361602270048457464206998281712100619266931214422100387916077733297187753968756474192475693751516138390277685965665498116412929373831964761780172081438754377682535829143337673204176577330576761608156543696319028986383351319947931222066399438552868281955839898478816015847552127761450785541901937073182457614284873100479608591633424926021210759916766587837755618902413657107248038453006141880581681353750450117345029200291845057128865473374651798874927114600013525153631733887522834023594798118163640032377259338897668872505242816785119595711746254997284938713612844036525868504077122976627495309622269049722309338480225108909886136030858430578275051909773862682519396404404206325861627527501663360550602407461936692253856572714556322684203660850136738804458772332344784250983044261939275721914425010187905582987252932905882429985539633056499532675996345946430154814029781522885129394335762105777947399863748348267094337414068438469919976749059015577737032807605338557957791061607224276693919759593157688898067259480617500535640797204544698235957044616515127948376519095471024878419040679545422480978697837783711321095281998752392196661376753043486173313324094741947898012925760455096700757607901076806233867097591123743745364878728918621170493997956307286014716335717375607570168182000930139513163966871419468741992475988664892912937492444066852421542061202832829681480660016321692466239447826837351577891999903221205780684090178228383235337806249965867924887436246389463935496112418558676214833741248658389837682076881835710636899876974406524441989346242486638468226263715539772177033960462842570765115869649886380153296284735174657503216023098911243301138379656963640677485683273398045596981011334939871044998571497840998183112334027464090796657070446286195787818811811187235299649749255163843695607403525113523107563198194519696718463119792609078025619998052870545873285323898870656248655595704960546195291837110016639862728859136220759525573681159837489663868511509244444492991635964677321131833067131244811413730179309993134445243116095499126952042732993268588164112286126787065831481342833796828690059247387161670598358578276766823558158332979239471477577210846414705486105110624170945580328351728888440609269808864028880777355838307707058515042226014321306883108377254903547913166382641338434967495157583554838859206982952676100108502924344124551856298039732091070955276415698771727803370402489745493121265963838331453217187307220736730832268612048056230348930202142455600849781640791996174889545499723759908684714926750924104826307138490947330243364888851089625468520747969578238092375214421428153143388069761785144549075427024516468334592276325913570385999671462866840186323239289933956721290119064114755980580846100636070079621053214095551977428255270285799550808188283150789996532227580598353065962477805350314813533348852410526792648865596881077892030066455493739495478365984453948101281817534130468939802661434149672673183641781682109939815454896031987458237590160750366712017261814684537600384862376399086556098948579612984534457817073727097834492157582981684204695717135616191681746341934104665785762819757166808500532469041692856821339878279423719829939385669937979785721997243875079559364333537002517301307374353568447788357986050792617083350772209026280228198414740980745758194607691628321676803578420321137250718015291124492781082170543477054106483695967896043612124017711334423236732194630286100926369742546287264960151188580109339007200789632598152422405914768335682408992818196051075424200619419964203399129960511844648842086810436248179382685340690386330295737333252465987695929922445182259637087646236611434662087299120194763022241916384500047410335965719919634999941435110038814972183531447785635008963225713667129925608963875733269874672769527522659604622481702152454043345533853755301835960254782038257853509281690203484054499818457336440609644551169726535606083943172658407520592487103741342164935730002341607594960614303733951408312781617192928836010704288645168139405435810956735490593265676422475039568017586340527302619800840702142197450042793520695686006874116657361386370940270286007460233646181269605451157687398883714715726839657591292625103365295362673496731062170910608176455311695288762470620205551264942178581048728663421014752388094586322050012685931867834508693948467570624200350189968075050048607665458759654390715012707347160130351049977678442086013060481398251097193896050572288919199731528852538979357659189938509122028682638118679616747958076908088848763893786055362593462497076904382628384172913762878583566537160737275387630035221370198633090203299955583270800769379822610594774236119206786241929720777630857197787744725433553740013257300042331673403693304825851846185047807295419063429879041442228521601640588071398468127654824508965717162544119782626701209424928090165880461108033559940133963062511149788249949401618411040828409362093863721856501530360991929366154268065834685957184536752099226979058024984741827301089556805407144988796675383586774968573186369492935944427922512134358446249998774112207153088858269386208496735325462847912159111468665522111731985086563745267552478951945193893614679914065344637315333557055089926278557473429656391715079445020834991423455882251828470460936835276080462490884852401680756418769593830496363423986497776360550590612468701838645785747215021531756897212869220982087772906405569075063346086283118160319760396466404328096305076527811650160842128700310743025626670674706863279766709056033310009147566044089251727747075799219438230553769764277552824579196959658691017165360939098554955492528719312807300751563993974049483870798377500311856033092645579294336299704252155785285333984596412295917744504535580920786806434311277245942730352188442308071072598739949700878641603568320061901527556310434241521195000528185483999540861902027527003428737134956649956570554743921408943263194397563477529750044192829732639094309387133549468671634480809314261694091187754743823585197138766108077163386069808449189235338965449874057659384838249895420733476982540413766844182593788046503104151737651128411066136470216263469806193218144635441375537114862976691685846305818540365797568368564990545041055114048377251853973284570549814948584419007569990373587884261936636313369274387807832152131925007921114264331099791276194555116281272342738834307384707165750586788695291124591922526599581067006826344070941731448708069462861981650562485461037259997200137491546229781444346925056064385179642928069576871614072235237231571731576198343661318251026785746074627193887416822912063729923063521702259005908749925911934663762373752655183766140228908020033395647143325541379419056592548596543687163505284137925849334615165421321206891039969306301597264118438427861277333994522021811170090981886626929534956980615879899677385371032259144249565640755055072070878075555037178225655732198181597125278341963516730839107203034016659974127110685777807131078208156977555897156450687818339422504294697708882957162808212153831275539038629979561079815818883504852212282102268947120198106697892834237568203142558270444799987145293571416363574941287454326147860006325584369879322221530635922057222515895638690638105505917549198030269364587535592080537847156884973973778556633202932028968898543936203741714852483080354533360018513034204420969908776754048166775915897372428425383364625712918480395746000278845890436458945840849601157535324009313771223647611878486397657959152575599187064724972263094354421309459574732106636858314236031000150081365055390024364001781034659836783026754279485039245784633755014194298301732184744416164281802831731827342159179940117321423914914691935951553524390466569225680098882118662262822372323792466804688162021078302609914883859340199292458816417836355913311732196753191339704020603644223305068804013836646650535669136099877606904921869810309928838578101977441431092227262267521165032527684624698068473894475700653506597789059171583161343381943433451172553954980970228508066232150273201598208388550563614614423003688078234278262876734042832193439001891528528036843560215838625006682521344631578376829824973152273394116122231604055572071552988165253510446586391434036415023620388872679288003608568328565190765211731949018941398732246060292051931371197938605218923425271972863048981919411061605492072309896030242530094076148708326429714415876035427089409300034246270109181292922579936353756519309014147771390021874284850560191837693195489975655836320397224325771404360217678683339886078277566624000798177419922376519722576363680496997851059341857752356432836687919425963668672008825811365084036931281633087261191838366498064599794663133721024319766613884761070340096635422319232429353202273191495252202031511706095119724949527286310345676204092180691018995608920218532344993301191527562695035250822876244263706483859051286486535761258039607012025433548647150991869950781800722061997928838849257937875183684369626742549245321461007979976008271793203791656839688361371030739284911502043427285575363101920616021835656896111548241902979135538396117239462252619513983487986734716452529974807145558358419947802681064544321499472177834008841645055714298108437642982135335322594988272935293974628270442644591079284249939227358372118287428912983271431680647244749406485773393837388006263876629401221035081527327814224098063890165242618931749808182640722591330992115694234092619354579713738429636807804307577906888835775505143456347332293962814018044249608569934609223715733109383298312262381041766977302566261191182618860579018086410002483130717555492178982247812508431891696721411603462250453486050392716116935035691909977436544866664788595268700476492914445370678934332029750441027002991872137563772027369908521822596658265604020040839421137527244841554591855410796967624259298348107647111272925486740855720143535199055593936947938010729518425189645507708440128643330151975562625732600101952399762386070420179528353983792233581718952238125932979969666836601166007591006116136543957198770777654575046847497082523882905573304002838687485702109663269835191351034472224855070250462379950994216326673602938001629896522988349204959845922221822402229832986128285088888836907366174866997785786622793077203310728971587001372073768022936233574246021557624375729086660735443746641252253467851712711952988254199544714481542764784314743654180589638252848775031007350955794484066030349416215684558879742953311295244158821221837083004887537179044922200954116651776241818447125431319807291433120309216095827555988698006068209549338667133503189393303283623574450058368670951940392229299141430789552553193179347560847789863358983375366721493545098924983979943322811294834179744731942613629286174157500517524051184759334763290651990776121130831793906123961236796214075773090058880535838462479805176649871173208051778886213433708597838008154931569169870559489857824945064639783566508819085827747228392398254795570372866020151796808672042121772392580356188937178355177564577612321335293492649281765170329195134639407747888621833181734857975135275862567888237500097571599357437622956187587896411099564680601421506249412681272496853539188825252295268769363801500073823743670018286935607794700963932646423215080847694554087514295152948440318318042246914608896646147720177876466667870522873552017286871219846513987032552560455328142076154128335078912297382143699706441240466835115940634193288154210925459430019308138967612434537240303092375514424720452591562219395906931523898889681109152343075257079519534673738942275163893454452873179862049869783927453656075216560143381700542671358674694288094110385284392538812442030233266963626106839432496432764839530246412117159202865372659796949990541998970625529616532847282660651929994223325852824373516277141953728260925871930754838270957633737583954489646688844015233026214778716863608586146929187587433799452994690874865177058782904206620596261054866771036479699150548143656827844985507046295390332334849135944128245532575523282722454326393383863588559621635356703884850108558700750478041954496856635445996206484631162825805586521327618634476750682379305735242222751774090760742405153879795417290853765973725891804713594157252142935174859365431243578938769867208054307094471514233960466200153133774970865735096553828605139039634473194557203431097112454933070967960864562307209962682600033297769534750695150829024025610745309056810460310181309551226015152425462406931160174686323783177785316679274028187930422690409831130635864356918551695998980005292169579371391649716146999788533530671761909209433693208344091007991831948095452936104295394983011613489975483734361345776002995704837239472311268952249200073924672843694203357426330794310022644799423778162517092614704352667964904336114701483279146671200004770779582873736540006958403218580801489171824208921428286461379050128957832664590541998095972688615279610408903454546865401727768653843023761755924661991847665271293923534455747402108323942057374103031028566565765406850548298651484654538820180326005313662737783942294596042504028894169502271614472707357882210679323709527326940304882533162028057062826318224032444545472876079064684637469292276352718584531840652495832978196141473813451096717675626918509089206671247862542539859735335037253995302997160947315364229654404288650566809204718902379635381538720721356887151447596479713692111497047114180222529793200940637852616937342512966524108690543839882389187778454205801729033573442812267702694555683505833767024114962679357136244282485017480305032023146575894644790477375862868238597347177266610688590832334915722804915030555447444866465079995929408301647658772904048467348813810248835460775688498658251428376156450428714074135520222566767698976836158748122564050843878374464230003184590249860015464537623300142837597587884193340355361378726298043505050198914983749700673090617183458532891656701750710927061256538541243433526878953434096398465954247060187289353515091790817454222717329930277851771824034723264242534376675381620888422764126672699033842403221578931528963819286870457582143828948262504403613030350975396207469383913365024559259976019227045382195236811633014262649266293358634151413840903578257757763491997271403259941320607418399810549375951910900518667929856378823419608578471204924040455469832003813244119633915062259633091290065661801887574847795541873068180796819630056290672794952625881265971498280627875950241399440769952825972498567395317362170886203879407769794316766202388580652814241452419595263629961782499062665918639711822967000247219814592797260293024470919254886781444934989383629324194164629776057823264828837141833004059181425709580615812563219120932128808747546290272609809779844355944503328073448857133967040459346273124123716312091332701160398218056352229028256321161418326635601179569017326048758676730940059319753805389374177972302661448415231664766363578765311057126758431339926961339200889940833020765600936525778148944615443122533145316617656985856035356032069362884935072936005213935869154627594803524963869162061083724955516269031183876902942870574086577139658939002716522772314906301450136892269970123351071394056343764122396251215362775711941680852250253775087338216905756859220125987681559338164008874518044008764944474089578297850494207820086963192972826013031772942110791100771573554916622945519983560186325024377633524616282925075955091114932747822134032840573525823637525643412530023059940996368769569610407437281299053182689789970596948761544219637415091930592432934420320877555375029986167472906940055841169164984998024457186320793068306962111236164667889801685697421407677613472366359830757200013398746242734896302701901901839994338253414675078069670831681158188137446816052592357049255794115200925210121835257210310694306115563483674320628375893431015931315346213971183711143590123884852798304004262417520391715110942554416060606974619817101738636737297043065499020743482891843342569437836833213603254654071416982322130018745191473682325027174026220415554021451249897332810327340809934878283382209310547872914497472792125111386211923559522734415036632318811029622930166348118731267512018114761885172595527137637919431969973768097593929006757720199891749205312550800911635691346631487970110693513968260606210472576775059589439648988201439510896621516678887157626943493570923245351764812230286382749980124067713102013302842701575662372959044566049314557385740008930072417956436053040018075237806413453199558188951405076597370808912527279842733512032630668446922055483950729671274552735520291296128721869486651775575583541259902170689068602937938768044987985640285174898738932946883508077722144474038832743730261566066991005495340128519602864685203219229986813690906014047404319772458778997423423412303751349581299961483689008997818209904038810329299243893669790796654000895240170563774453803080979630297526803268299543187982394725163970964136068206636066446649029629505513962878820270021496011784370190072317078414167426481899118762839094321994075490726416694479334867219237386907581833112165884993056762453241360924895964889362295762797085205612432010670757837066269230636670693700743163447704136023047402027990373976910226005771015542792994048397961463381814978936236167464406700633831663894774176340429445906885175148834708893723786903530152689125627055733456425805773437392654291720545733168645259509795256156179286623926098157731567170334872518417225263119421599607045471655926868033838868506862638530830950176062493750521647610445857266105477634293074178322093534240750920895649155893098316326780624095168239284595849066204221416171556879378805558833828926405828526648093300151034315625543672941671920887342173582482408699362550399065880108166776439350939426379440838781614479961002130544472453062364942600560608250370628879649813532926310597364929679994300795738401168714863618574864372814870787839682512929866078637193968352607895426199988566476452255641173442471527546718166531192675640247195203193037054912077354849462888658872957642045991903504406530147666493909507127331529815353264858944685531515300131554767845278785447854687520733635285466217710744487222755607135699725473615802132225669605517765154613565786088958196847767676604375746996158369150521366036668234896147681211716972889033982745056265679138536495798091733739053789665218739833941739744339731249750005356131884947307447597823696329644016836688082008275041478403331966136096600499047456276591301303462640142892057363328411740941416581137958147486343498706748328621104587521776239000438227779504364690113411804802989676324998985770712961070878261552057211738309920249543054184443425738823059017949025244960657739928464830294963684290858549428094503645831814705301967782921630896851141635155143742935027917395646511691958050121772234623708460045891415326199342068276809376633780762251530916778663554448661663340918870348316219640339275507618731926731986490242906651339275386570909086962995285098500966591102085522378054481473961359854742144304680858056962570040720969587335456334513210847683506933444472066269050406761528863677313863423667008414182808843240254816065146200869437682755958368093250930029857512827981559210477546616834764792344118839770472175204735075828854944713597555686732637100824995907477014350523583711837144186269082240613282486778647967157972036793960770261574048154084548620522379849471765371322198835490179171470368558445559240058078020096425985177641097201592602378650031674813738799658749101024634204980740143102254928798250221613548439543484885719436625811165410135710553890579781392776140873565498424204804262705302620693988301602441817417808634745316614067894722533915543065690103390166371358415037002771930848274005650686805709759953698468810525318948730347000164892192555113745031525579763009330001919971027319786277361434370205806762492922293726153847903151500281086995756543799192582137045427421932110663453037693722424796933780731328693978308220918085818196103780460379651274790620492868467734367429728428732625614282081836585010711410733776573596760060665875844478599263216327909134439198869463624873826743455697875700466719762078433237594830811127925532411068746281071987567208816575002406430981720565598667049104101419400802643864727035191793619241832201748465484589843953861101335887767519821988725079949543676461447119250817305592927836314329361333717108973941698139862540556310565484472436985621774320418802304142325574521202699758565928096684268774694906568920711811156329260722874399073068238340495114405133920210369850357758440118806585141592532888889379595990555310049084682164536956807925374150747352990459518794355392719110160766448663372604402738988463818956888320009776075635987109213845022374415955143231424991733620056671040540921222137183349292385364492118663029167926300887999992790630204955466732991696407983411196746833254074291363635677286838671173637770296854906475105409884676061688073372274051203761842362665019257057469998123229534250086270269988892767294618931828527992632542778436729235645895345224805382235992647286112491078322238312516024932236654009232957079333161020486730464740424525083015300946340403598220094777877436194756898298388507108299786386350758267008721517770203119145018560545783948100041768731164913973649510110821456167955214340112927831303570996057424693176118804075153234162967924447215570483658257951057025591347273507027117358748810063247220406870525574804582715214918897039620401064657930549257515198857789060101937732286390121760538375535272617202932576150519817278424906131068432422878548784610496938719759245569136413841761447044746464530330598934341008879034765310055182621900517017182817255730856572334158424222700329877487055032746669350121012189300252115449963287065441064842461516143355407414553811023771720818560544680216123455141163453277168622157375655201817946981394566585494584436457589480227537772989974242246394724625208792907083846339000420839428088627819360600710726702972284003902539159993663947259159289118569252007402929125829609749445051907566323610982200359555817285547818834906706671278676295588387341246054005824990688369502802120386992305388581134074609074076881600946212475654381928319096083791363671226166963835551011316464832103777247744171652335970484901714444585085964019724808247819203481763373017971370415340572147425913018420555750673603003821258962472259030328070069288454642193020753422214165760843078206656675577439378311959255361685617194946774225952519581736736913353283743383672246053694378459284375201766381411433373614145016479786351578709163392424867377420330228791375228355006456125059520677863877049765931803267990835286336915635631468742035233522817414164514112851245755232434795685847946797081638049306199162788333478610570238076269134106751050779429555270052137052158211780486758756596348285483021204846242792736788954157942307155790267095487691227491071176522228539833654796657630198871683047242130928220485216949727003325550892132886638388218640194811943544893918827955121490589218757135371832760358059586309781596473244995012781995312667711929153239857808789916703885816089553337967601102192934889076883256419271601275089119030231043639792186844149363952879787633469990176851338572418697646444080155935978826249686997599886803843724097884473596951256476338388403909142974298471876515758525874520905314209245395524434735398653115402341665673791590824138168889073241538505075350163218484868218087504626944696013939889484380506831797948405459184240856676068607876168765604319876130908256997588514459604854990682583041541882341379571891547999678901907408823072412619735999014325711792174896091681341033270957973285553699135690713133857534413633811776920752178171359255355575985505593730691603045755996557083720554004636446746812418225044306271695573023329988063984623546931910521133009744623976516689372378500743273424236114036461985045587949351374138910521289652388966673918877182079439789531517039674588627773616665206475902179352742747366211474823875416253632055313174346330892361319018073712708014380278689294605420035320381046830116260120750297170928431919562014816215528308355612793634785083126854943276634209705790433376353719284445412665620947885827714232358484198970213793649437723362330305806359773010549993364739304251223327154097973486221972823482358094007281458757792332670367802494282239347384516257575169048083538585902536505861877814950933413422072160489031299132090805410059246030997599441690590479862505696813391969060376863634196186505344568204426007741115718531754711105835545216041816051063564481753631616294919293095153187503833918531472534180087770953704171116885092075180450696957717304441067792665227027757753321482199274130563457732916758854332010339122448271386999800091715408114492302702797867952366124130164500740197754811735143976880544737687232766643736333859262969682754398981689435222510106345904046379945493476184874769491876668470220964735356779345370754536366151843039341428829173247119898778673254555520685618225270540562772898639262848762993666692039719914022066714548394389528018361090524774073429750406084589827164257618800532138059327245416475677620420131020700014631979471815978530242193877525604974496745795602368956840741721673637506288456971405433939713350078591241215345188232981470316944536023097320959255299436841083530518019125037157913796191072558796130531401748718725619609991175215064882424843809452553624686518827056794873045956989183705301487277980553145967117094692556979599721106556768574729812303072405542149538468215672093639846168197914654249967644992977349402800572627122399507267917025930767911774058344057318718981723639230954634661536410640001981673353083178403624098973962186008907688634794982406705884512987961371041701003276481951006386148161567707416313881973683789664252485507300615500869249492705792036330691992119313069561144351230409854057801595150067982377410645165038563333559265097024565711878292384173625842493138407648410167658033019136021892682683681216858788558813029853997516256013939274343868352886669774750911469057122984850251120743906316882235118759613257314858955656921098634072332484352176849211627084029088009478246540803425785481049039743209489348823181032547157483281572384652077475027567767461230711720024463605668665368218996410008773027302732681397687528570014592758895614224152876653858171246269005837279748843455714402703945891870092581871418192616662711538424750959712417415497749076848054847282297881271432996889638266598422803100985694664106726558026141570494480852565747315346562387679602865958780235518123978444019340820304618608969078158516708453097026978539823960059716128503862304828384751554584613644450207384991736397545131054961057356144581392727326868375800071380705126893442519528997150997454889247311167674111721198363090421669511320195940148464758401915414207298291557150502971794088507946500442660777993497092255754777125446240679749294080268040776481992820193956105226888939236181067849130081724706983642950433971934646176616663127768782755208422000317500513489066716133877806929519697467983895642393559655041153671264450716877901126478872677663126859751445801322262034357146572073354508044882362709258730426014302655124973057535208768808221279573454184373128998640450332929706892310058417468883112128027161617105136465520878556844438051403444497959738511276231960617247275839547361089071699615110934668242258643533965015591916276866039384750119841006131725825054219991585718535853264066176462159458582018957154886135725729788702561548760174581869277064073316659268425557740404654282998139507042370769934535009696833936659434461823583569408381994320969248187961977843000286026195673484841694868727730399120526244938417996255215607705235551064057279230782370014679092130932063732616850810884859404775311181231682254322816531551130233471500906007728479506368386401468426683552393175915328134023627925054296699109359528862869989454670134920899856916472057269191375946251260733335545047628883996377491285060289296679180172962500425165026399358845306536227474138267335605158190912230062621061111509078011832253432781442503763121908971508833174511661244536525597590345157639650118277327011696551714291832054387053949820518357685784076190681539355610466777177792797025556650495538012637034447257988651145260896600892851764472390922034551857955485949782766756054606694927997764908620582433832216578816497827701827610325621307546281869686129964497080953161952952255068291927262387868823857200463669620725148743684042642718145572187592029496155972394948196581680604412864493535791312979268010961372837005228753322960839354248057123421052053976220749574713610808432954766872770816753702298319362747069304723936129484592026103778727209988459137025047600242700258259416048769481174035071607719617145856239795283872506074386378723188033530758161310588165750493727524975676290694273136647724046574209403461083379421477655294009611961288991039321869123179209737259242428987067165416626919129816379200426424535084268131589877332441708597672566523091686317505562580855615993025000472509825509606477443100565041678266880108656792314811795437272796564381100225555638083543061620370839004127881249439156004469016466753710984502017439409041572148035397215743851703560563504356433885549377859115997853117993619924196933598251400406867589828199364831713252553752065388512230961393499180225409144339989161868044443100644143866303040561304000077621800934803409790724260480547309816695952310700094045364850610310483640170176245656858771268060016400911115948741517909506787659979307129338229158484524439222820660916822926220961461380552143650793496375787553167819694332667765834556748469854435237866897237898427161042755293865097577038505581165381556136350960206969048414776402818789316943863364450634554636353908327795749651607203666820513300942998067036906292018605613967066317268675429455374091546892495826787597241684134668882342688839120302775265332086296777544321282083182951582705004611387768870371659269889866694598112937013975875788186759386216263825793876301751703663035382535760886113597762633875496087232723525049241482130287434879268026266717350517576653345139861820202259254754606155875982580538417330149480084404237176424972677647443056973831481349073550522245097679406925924674773704155497969489857449046048630215882772772270273138713986643117559293596597500281985775921605130872367874614407799076220815187328648904228529069096555201239349682664105012895188944944246334794585090051323151732904481034678422186281526277451217619795992518373687259658540740398571939771900728378600688521547466446933117700586792057759533106432250468770549563270098810594472722065018952764761628504514664924238589422160620415588623873097012509124642413463770507956453871342951814918706095580229495570843450423820253987425947913322563463744091250770315937511598710309385363565574873494307690647559526727788599199168659183138389639114572504610587276873307045269018680844247893331671221823809745473221505266115978302837762465399613293197468633825505311620865248667979170023982239688748491471526972857148185779103094132980875756196157213884607988623190932227834608507180045000495832110223946304811984695552293845693334456971208629573253912424731238812147183473495762714249700547758474110857780209835821995041699223575241540573190175654736094884854133398688512274335263319874910592994391561490291382867098557955101669996456775634212064371824378832468032650026843495046791634228522133102641837557147808459783339266994346673440765297527477861450507740174768973214163658444689451812272248137027231276657917465527777075060852300847089094998676745284140115000897651496014520501528497672724880555037996903264461229114990251930734538437306935005699971259547918071722701457734784138151549135970241007709373420210822198664302810624164769887519829661668511192703743901367839322444833898371373651714418861100474564294644877329394510123711841178627044626040378859361577801986234029397634564018481341721636737502311673895343617883667287867575072952320272379631273426489215349462982044718629851274571313144006924779052886256919261878700334475239422179378612554259794178839501570699106913849325374406922217853164919188889374556567972468218203810573266237507561271055326304484552932482998613467165571556333501429396346296858497547025765243950591317572379064093084804575844656297509336851433791776049424824794294858463318262175686365691991442042625035420015042800215330232121108778416793989197022533204552188327880341127566118480633848376659625706165728953194100876143786531599010102948305026257733834778557015867235447146810557517362722623217658883261797754387070267188929233459439202357470590962452000352058233089665911178741838456165858111358303327535078101426548476665239083305802635165559196270650236493008253880220684419889991473068093381294888057702990331824493474957382445813935536650844363625473171493932979771703050707813736419525411777539231525639842614569096769013243734598862234856912198691317359432424438450255569798726292914728805439515105385516124636226739870987587721429046161217950563182279508440896827474263511212967935954757081275929869420418416570538637638771313335380511760121377804589664994844598132655423760032844720531199986608682620092633647234386337303101971395136774351397413986326702481881913658222704010857424422830420484589854941361633052047584063552767979537769470698658069042215110148661113585228192645988149518310649761713597875044082313373705390604304334311859674246391247255205903888300154132501025512602989060526755045590172240660772088526824196171695565863144010262943813259161831800603440062836413626133455063219271808302331516153347782342752347421379713263401361908112352169513768734605184963799304931277592678834641408665616843730734715709887409370451330680496983114309692569921815856504194068828539355005685560527207612085153138113509160528427466063726953029393752232718554080865324175093882826455313173577474655067261700515159309428198432433761607615778185637958966795542727664931334343923345634714861211207656264686795404348544824540557990646921736200180087113153875931278263399006068339689788455501758314146566703896026977456138705173310194813356806520274008110798481889037129908051182153634620502177182112552658622423950348020264977569060918680901620943121889815240852112349158521568410003555150157206768669995447980389837171312757298577041702074474481239307884385727100593482659546549842208657859860096714503610130446114051547827200488161019266002909211956623061394003128737973596898622050003330062652938188394128118864363295089387718795202412970319911192931074857052982062584032927855761323381449441055392071922398305819820945527866215581809155215389984420228236764181910968405433420750700321764485112492980310347341858718086193549303581227474379834969095577108062179696703454770320828834087566670581763932385105061022777168954249954925157951933065720364897207637117640139244782771415998116472343276151710484471520512520153933811960215224778641091953386538414555762344411067277956169684331128601957173942720129781220851174871609500803510329627916345394009760693356023412281479203719141802817973543827983799360361703119458645596339236775100533496521024647184845645031575852448634247571667878827716207044056923971242812036775993937651929542343984008243392552968203379219855594070904242087492793059001935699815348028870989545974846425395592913895946318715143233603564680734533685797435693687704679728590779513078384462982740007641970357091075202747090914373352325988993434860726979625349487844129600944443062839062175624981276747344467065268349065827761018536334504944657422776468973722011145699983867258311098038887247935645518015108955389560548197379610690377257602251063339226578482402674400311164730509989513631402787961266314943324068978553847819767145575529080340002928918447080336002411003316307750052606417122000640101442134137209872963602460025789701241705218828337367929946140601874940173189728727394494664734820349588905719915976040106074013048197062640139049743907094987533561551001770523748854193794687065116232980698557248808293551033530475373157429467367994424283662351038571078994723848802017008028583219022013330638447213512089219312183442703419377762972597568744113385148624318697005043117037247826643288831697677180598751900902803380851844623645696794326323810205029501859451496952894814526029260413348152288940304460816954872127520281959974338655151445841131908118809029812562893382757849811317735776376195229667486107823054248345373282056183767576321141316813551913099523027116034556110287825221469772562005898025099497233742842185882178722632900338102923634621352356550474654062506007032130695750542762098315348715818871341214045239449418300575234531555304877153771991966587407310975706818619974799704018148611045038385074114475717893777720559905327602736036980903020303469941941609571527219829983925605425269588089762955599995689679111555649325622475711328198989440705800083384509755877606025799128390410572204518087501132338245881096859701536227197309376900836963963731237354335448815000055303013710742693022763501615195634858353753500919139383689071087862050297620310008205601136346253504606169706832969959508141341937348502582856679335691753196313950432713815504018263080053650130906998281811212102833385206414196391903032348027815320620933456737922819147625747706344470145434333690942531843864415213720926367325527716858058966719192488290752708253636036516681907823158224706373968631007780669656075681696863802459445435147507988940731292728095895038919249087326095405950666824826830870737367722985333479659089497767065257292973974329637470137454419627264496134474143751021225387846042411752360861181279473905514347300719559651934894318092388173196777998969502492338415830705280337261923354737764128202079875244719435464635736953469519114793137228217337169616224553901963431882873361265898513851841613618944001495249408863449358842571263573666184155971896791736399748733150865806687884667702483086056760967953701301819130110863425058941971154860806109511624819125166309977637764656888095528383497805281164368205481121933509063803405043765065570133720539010072335378832485912286559874813028470437701044470672297045477758807870857009178011701776568783913432806317609784587143160179105020467714599029237537147917200022493195703801647367039625310816639681761299359710061705238207461201168077243047969158302989352295606140718455015545131371057420075241563589929047259198422122983928760905941903207593876194229776208365488026837987168562723213643507375806509073564639196080835357208789465410758886833345191096735459055784499708503206605493453897231268297274060481117232903523711625645317150048819184703607081449756059228443009103733640319560130230171666729250757062136039586629617302129253876083519995107713125156660115324078579992252915381301691860402653630939340872249156913867163459725177536297572963607221169499365927966256075388386777281259831615646199542387098739883557117696823612191304301590748065322880317907092066598292596734882786070653681214765961172603321996020310160908683344342559135767882484969446982510449805610291043874069721325707312486466865039295534356880726547378921511789187151313858678204180298706132111872733117220005606741530968626985624183157689991245114374922172424827883840131974158077856494837550441447699784467672177473845745711155429793658327567916208690107445042681969721105556674031333209582371726674322172750235263769232716186857828428780548844674937943170730349976442534146785134779031979688004427934072414315935995422535537442383297926723918946976439354499307417079129194345685015251844461022773527809734557467154139365464506749415655984080724571490353943518770091583341968113615903174589139300931570705427868804398861181676841979457740798806622205977382880067789408610444966154185517867293540058978436700449588764871311726940566646110733398829096670910266678289765645600528834711743072367481018477111380469123170475625226208916461645049561732264915404546086502226529907753202858820836513283495339181036200631045074763658345037020110957956746068534080546796812003037869476207085002756519898543820931623992994625731702776132413834603986970217383473676123027664219299702854890198799914177069959748857778036169960117069270448146382658279295788173960797692808753896420968826926705160879419267115845599685047236476231528421439244839673553529579205456789652541043727062799747152373929633067177774865430034979423361138989544081288699743601759456149529093602257647073669429905950549335773532506135529524020035570519095706447966714864742376002649208537170280721533980666485745204614436930471243382110169958859437512095539923784792703826382095657285520103444271612458914408881342886007046690162978939238946565813743514532654299473825853044425906063889826210457479282786271995736274976517557330511015532905572372253348868844925934712395790138590218353217941951387404637107252101396907659050368551506059611788715596801879641375437308261918042636773682059759513870305860750416754122562898948123751832954848018089451596500894096190291734516689844037161085260187046353281274620319881179293376870013993882751410222213974206159147985296752865927843328267747981783383118956200484280405730547957708065269959609785771291501859037966090948944233090724300824328380171877129545595534862113126068338028000636274296799084106090199099407409858468578053215094741224134009020381012058536764499347130425848532072194650683219200370546778723820098779261409927741207966781595680179522226085483358516441408821060426166144616162561211126639090250328416208548643871405222241800313575514326327823354003681628702237752506722046190733917483311061333070961809314198075800859984724685444559335140914447484260464593018276873506808710608025284012699185386978418550107538962175142618393203533283802267909412909715737841146671235502898686645890670754378992830501181448298133178819056160677318881128648817983592185850990901502064426570933334280952691419124514683600141009275167990576741469387849443801889356883567756849343944948141769151599601304171855225157890145419246588611515434331979815467587864662226772844047972175906849070332189464584450445954803083442885496482067472047582447733524186581959124416193341895624294762380879548502467716264514484774414852147069404550140421870231195533253923562176960126260903239885761336427642127359628261483720566770374222909731275307165719983562640068105802251756839815439370202494845829580044660371948293590922389756436065610548630540461443514202197908870282002906922462861008123394472912405412973040138394209565923617207025875256986400158883129497261505746240574647629455848491727067249281972841796633105354197672136475550159469454664490324383662032533576460188852102749070941755185992009531166905466247466554886852368859700347222784344762415847078641803702424778327863074935450483978952989620330637528026461318388720995041090538466515171789634520903599981553749719845082424716674414893274931016942193911828122045731129087596219496427646202994406720581600842128005880015841791287715967076457177177723521796535546587929699999718266566666786928162371298177463804158895416105079980419914100434466728629871498875661673810012690513436600153519941997253448173481297097496436720716465849825827645648083220674007427827381785006281105523877290724992836335126913881131046844933221349335950154932527798421458190860455479488690043846129292289162947396365318286020383928440506397370018447665770936485482458267905954725208238215495225181742336553149824940436987759607582025218870093148682854404067852079691654437671669230778191571740668084541852536516097409529542035912470246979871337694777675151880223463158151790128394922337848850524699975707889484603788346659230459180866644897644146865555633839566182727070822722016366385694057628849374795260000240283083255597589176376017836935116031465716581209013105433053923286859054516773167945156165743217719543008078590533131592126132059119513951875877902379068520574129101970394306085062821337319043649474100379513835747110374652440618882699103447949370946613259399137169018410901657710966485844196750741474207032490053471150132010989168609265700256653329100786786594055381513490023260482811452134835604543088365708489023982354763732283238176587595225037396115339790411789597180276064712326146207206448455250728296191807255000864320312014134247412543106048723350633412556613671071561177791038091919386084013519046016540587349097204051101166169904163620677978255729365937005658510798827409731567254930945115289755602448760522014862624074047274508329828622694747159217481962466657432851742767093978114811840456219132994326930997822786862333439193923783012134178356630572006038236924965164838181309942112594126644321550335543527337602236534926095829009296699160607380617677729853304126241034829331943820670131202362404565277400266281262391569964022698018688429020259362167262636729578225908229229473662088584660449492616257460550820195477281883144718734766576044522775299944451503316784455295313868914963186753789358734963046988283420932689648225448732763755553865735012762640068000089055031135199846181779072251035122362743862661491088274427661004752835401712408904135334189418885113841671528923146255245926198405640436512877452338594371862418895828510701602480170443532381333279979889222859385080272896224234204189189051791602128275066962300567036600157044392940543561938990873233379336479285071671427825919670487617259168872916709003145514077911126572596334415868146499388421652467856299186597285223000186474359278109296263246534261535887494179932189508366262580132841627119870595207072993288563005953205685698300224959834896538460538698913021283350848806636374848612303691486900778527152174538462741865224522618387285026439698308120155896985531275821922359744795626859691352024004751661802726964321354267023139219691148923068151445341580892979208714271903132094052044002171420801307426959598903639455415098984352846356135821036048652225206220028339472098473936307705209235828909539727360550441105352289540569603180966433300555245317272059834380309262114549810775120625592646339620376770054412537598926613051767088164264432876721867759985153013880018769416672731165824430269460775886136574999161053095346840608675628013823975401276085167140805457131731060961394373487311347854772902675461560861583625687713973118476449606316189417966420757948311725083911091176854866954117011242647110950780428944839771743980016284818548422890097251244877574564380718025925112421132592368814191978067167576158730168027454944724933565776071148765764803013237421041290622599899931245617883990320810792519230630344913378334802426151375024407753257739489451177688589819566243943530417194704251965635467786980440516150941630025860437312918829840505049226636262978030933864199125256173866314370056448853493493023043484320509352351033505249439297363551367130881456884279321884521886713530139106063926368615132206298060098554787358154504836151270827800561550870597389433044482974402823844796669542265949589896634467278452080230793299559817320528357450899701993034756545896102058186029994239316374183881308832822797448325940272022787324074473471273658692947331223792488465327492172852062490711383678876021461773418179211585616591304352199471154239953517757864402494200696840890664823407359531092418324810986655220499399542672149635356438000377343006052297860087375748127949503781445775491639740732788191538332039571816836991748848100025719230332900211973964811716588298454577341797373982929888464220391878451491170333053479526798054289665018239800090432512792804044920150154430059085650759593313428566819329892437871547377528716934524721801513317642555393206290330321691674201958494940833440115611116732696775708952291629977199085089755811823286265890768438904113461649718350253597352694018668798209766673358695225061960348755656844740061499835387486909473773175075517959362480737658159777165194668101096842315380053769279385363264404523891341849352398093297437712373287356159871942327562699180690385050104316844715552048869546336747500227363596113358904842465465534098805061139710674021206966132750206129534054434803516856341491959133444499171303002439402078584354758927951724932666779140528703996928762875919552978154451135472350162604421976217561566429835402217007771764760713825574081844111767193989265139976790218260394827655915863625629969730819172753185186110523109212321657364910380068216836233819370693106980791797683417147697189699527369850927281173635741976486023319257876037026416533886153638482755108979287151926195491021954695309522777194460185960861921069194668162161124682624280451276228946356541972327756056491600524084934191406253465378059207649804513285517765999982078896802897121912448875586274840404631674546394319767754497271328236585097741909208016598859385797278018161389117930487281969605081100524372981806050851074476836388424228229685583268706861821220096820494129474497679562875087433709622279425637185328306844994449740880940267402745968495167216296738791347589447987931118755531678647561978876867481776111623721666526838654592770430317143192935347663509033095564446488722660915028282451969608246997932252248489315172022376756299026159709241424307372252371587598220087888678782026555209502068131104020956476640029583085390519898620489291107175306899298707341897042707479456841820310920936845745432107970276501061369489395868606314277608250315106701872186215180274714462988734891305277444895948381647088987785900833692783752936341510381935420832747766590938340259452485587926809848694971708420487299559352457890544513723331819053835027861276882090502555432447676585703673808075117327602757415847228575409887270648363676727682382004072876156355491322368873349503650731317352886029154189445074529631273389662411005586651930373328277197198438522027731622432120604027322069033373687877391313730715996113062295537351574844167896299516270641356412530560546074367668406454799144318114019835722700246939263160312925060886710829430444512176661022527022944692009954603394991253623284759894563057555311593923900839588564876367200421611826492757341864017746896258709008559124913278872849617312449806882738512415552027701300821819816445844143852991907055012780942264131778017682854129609704440188145440328322268818136576439678124653409771891984765852464855201844886710012693562910433172888095284013240054266933025669182119275883587625841653040177465522096497809482048995900385986649366738211556448190200457940614878390363360809057502311836936277962438024701783337572511057331783700380702882466291072270580641094328533942163915490431855303598244545863648100263920162366128646513093594461875634110897695316747550730042236338823433526414945596531545872796586668793040947533363288163712760408833400005016235564699262690694137778272857098082241641802502933100790943479039775053079080609977874100307681033494848858220751940514334995670286237752285618240959341699859146946223388771403148182613579903120382810723962576154311451945698355877527699554826998090263344345978741697560941093101280838714930722486957628536334006335789137121091847061618184708910582611173341753420216889118399584510977511953702717293525220879444411398358871226579691921750837298270028743745278956069517987947961543556984514539306988929496186122248089999089247805276199796276405382727181117639635472859181185641944332128485835594341197571955648151871016477687928187211610014012385081916591100548187156529904298870496899202536639205324077825285722697560400253441593570864278130114412952798073829244339840578088094188740213384186454031990910665664788769735319144311194266801267804496028089610685182783012404566521822349722508644274466131383712764010339727352581612145041721696055224049525181554161687820458531898205929734509504220630413870866017562665730799880999368190493979489012653137512084815520607576669082046530462737627901433445292789623918325497535824796159737319969148490467751398676064475268871121430529018918643449756624422552147688337860849974919098201772658185610231892783593041268946451883271908361842895871676363448324848412093184294056956606522076833775839507044239081994481659261358062926002679501031590275837257661151792284030819182286353937343146234925389207806866853141382836885705042118734991491030856068093256254731204674100616051726583392283606514376190372746152372314448618335496085719004336122326420826763009915766368531820273227187402951824193508144576037113416361919088200136447550300239820186919579154045996757075381865313849109134109478655014169938550627538750692428979346628981386297019036292190247984522528530205049696397432001618604568821120992481203454725501534173068700079511541643751352477139072459288994288526388195854638592492798105173985069556305646638179284269176383516668225469076648961071253880898055430426454700725300028549569220775469446535315867570621371402265723982563971806736325463325834324481068782520993382834575920029439439469610633212351379790472899465764002118231651037722500866784989665145994092282317753521855101875987317827870313345281036081022122277905381946726670013957715014052309012110558849510807400743488788461895073219150345831371036946090165144467411025327595664187537506732038481160794283397619677801900698405719569118482880512699071112692444544962429822389424937961459742096447624592883770517655326985297783625993507154874960025123550517258875818764769726314503330547106005792600425823518261722129179543877706593109887497216739168434015190296860855806263529178548324576530289288697755713977485070169023721340919726120010591937194974143447161045832272040064424579263918062194507233169328832678296321870027749058780224370833104168517683646386915476133106967318452693537507169862121334951110722801538224254982714365336357486619600573762186057744328133195898622864498406018054910435443021323432697241523375479511155769729584012927138141528256098409771143654748142333835907365719904114437128900720364741453244379731664504957109484672118940583577823981753088632712451246519237909279082377217833389595430886409233781961696619005794745736985810262551116899797925547917292088023120973643344673306606779152060018745291438931872354130829460692084112017330891320894952791932703476346986683516666480829239750035993827675326758647482758133031830732206198523272657928703587100209613350116573084260780809706836357673048084394668328015339683849741724328769017057120086805488070495774103228043493534674452980017402086291769231767118504558092287847585324563938151872558619477533713130922380223731893184585070228020676363329887585440578170531406898190731169206753469916903584808523156797034366826940476491851962708722510586380775089008818857345603520047674404889416188858017177640462718801943045430874158543129927983750525195424278139152221292860539698619065445881722854187735242556094546605180523351349232264457374873249126646061213469050340897985706059597028125892197879692303298626869476549751507686191835435348731234446170567816181611331042241561615409112713666492722663026471619884700749792390743892099788358481486735973225676114508438259981308292443522926667167344374150597920488111272912398584391235292217948393949985191630934063690385386781297531256658021284861005977882699901012832080787414708170141564679712638568351194071396168911313166932237143642191371600466477996184212869963661489292804176489403926904377385068482306230456747372476559184644747637004516874747834544551307140738894174887945792610225276169114743454284144362533798474854998853689430955947934205942791389517871572667854696245218641116744259962556567347081289600196840078309438546631747325583368496362277412392996770176821737185774126064227382037544563341686355607820046411244446355613177311145225490216774226507831807755534588304311184340824246237221693867083484151897359749963845748076075845675818147414827858953984613457597123742922262256418612838036701741660195988971770879147841436085650029299941172366073210468683639244918539391001388832655697355888667373655477636203438116074705897203950854949389568046146132891150454458968285724480492242819170689487800276984156796443629160070620585737930870120789778524543433321213197658185254389121732711915162347314278930155249838849351043941546582709359700018842637681090035527428686595912878804301987713871595403356194097813954482876925261967140091667551460671882685584619979375795747725119647393774544194510350523463116346976955148650939291483709491183502851463371258480480957547150983105390766486392753967018652171661768162681219326649317768164038387789749006013312925993568077811162745581083767304205014521918829162199179650904774313701803940089270170424876939688733188904725725973957088833402721800092861787782332084733129410962111458176726550456724090354563581894186712394480283311809988038875424292364999603147789402978200962936314185889463386834738945858927815670988857570667630631741518312115749643849254150754383575767148531798627375559789276380201414428996563787965342051910725038088000888473604768693096061241107752550142852957609922344163083501304385879786743558257761235648929919226947719002732283726446252924633135165499313643723317970981897740528764145670028443725552407043754328423419689846410087217033920402623474256172911852246322365846730783389730827486164747322140101816846325344563178544596019391537594251457085330639279534116621144516624505896493896447085748573311359861394204705129928615557142005766776382829458233986178259456907697630566056367463712389299557654429362946141392285734596260197162420920164658950020597990772661297998224378315510924039051572464392155209579952182912925695772182902542284568747173360926760290359341876974516931354341740077667775949309718491822296111854519806149885499828063749735726132437541466338004713819781683964242635513179636388227031965080424055445508800190594959296282067318837232938391111423813602022576555297553652165783220765574150179627674992747080791516598920496321183404648322715268901227147054055837571179972683097729624023117743166136093624287646566983402803649444008173789275538870720012262224708983267470060706701089757753937833610454847909610229403564650696756334045601431534145363426623220990424086542579514133237107930504733308561740912296165761975063153878937852646526804731036131382936177853899295275536147167427673085134122021775840856056866820955551019346524889817596692861466087578636884192862135115721208849241389364485830392406417458280338817871271121854488149153986928318047138513175253216432087831860770142930916574295931622854704145081617386755190480317501510213361630652515510892712153987869874083830385387271293473942700121248642002510034494667772188703446625213360337189547483205405329684610858093212155563424062537748720527234005691699567170088318488264429418013386376956668990222926160827562142660675621440113202651265641085655089781698641044111805970895519748149929846533331670286447112151698502987188578354251922961509262944802445296153675380006533005509102139519202345938698937922743361977011852507526547901050079582535268093651770459806162339721382686619848917611095322031764738509301160990688539082981457109209311402638916394535608290876412137669463470933914207807255454309152685830045926697587141628578528249239896397256274963995583989173846530545473290284342354350907367035772509112489757611948343358896893853532843500931848886801092379220168378292807913132853048195876927042886010049839720724065369506689249825457145590778796956205676348089799438402831398713079828006358378486297451307150996809969480632860429968008250719248307022078541891451097065729959928930006636135982603025642790218303434450065083241015809081783281706150081349966691900429050508244634243626594061944576255584549871127332843351691501144950222867224567578528391845368237933680156817077203711355871931930678635478224270676620690765002053830370235143560332116289986087530879576715402764569372246743760101557649568589195984156876583371516999139462143380760476922057336816092041827553708096553031985720906322513657273865199803881628663317569338013165962361530305908995254803247587945860312087024744107192083833786962858519082662763772999616172645768689959683553991861743332632672367668341832322011549394839555795800101882099499536284363365209829137191885815155462067314292625482220986728632056666160768384129671597838448337547508614799834971968967362974885026364275796228110614454070097339534675202611876174098570684188288628029569370627995635761059878678197604571337929015502374726811844555463880913550261840958945703117878837135416907383372047012494560512549738399756228940890933293200194076411151793337232882374364434589637690450119852323261026484694519263489898942316642561092588782746558529077627668677472697593414676378201034568377042881889393743913287774114887956826310890754536519944185506842896148289507280218962802768020083267281940673604310363783208048439522720324602886894769032820770239541264102325422752123967512278494322320641461839708898401546911664726817447367458711096338475807895825668475911899055125062690115524809211952220186832855227819992740550146629092154463282080478451408639723902006217840598990752741704255965553357602130569765932592904514585085727998541161816733343180647728715394296597093660791287518036378744312199637874736593038313236172215828153095920823864161491138171599781836059155019573577483152173284829902461611653857012845460033348898912361236800524174955572954099795714478234766600173612162599774205208022876498763043477642829391386598585755618533169783145745195529992868806705232647656592816866824470515270609581053947096472412537736798657370644482563137501956368067749607519378160207253586026133494678937326127152869558957327992649442083728144142623979154728736026731298882041847440332559713933870949519721260505201942802064059831262012700759145355458674172838124162128771541890987392501749461524875036201462047470428225589807995260064596399597990709939852005951682946337356636779476423018940582055522008641004710045790774322026101082384691662085470287067522281375445485685075912944525646834577983518933654750371106508568395419445807774201510079170686307809532878888647341725004126133063314815109590995654959873481822416747739278750375144255588936596604860828993126994305985989284072362230928585276154054754056999544656380091542701565535043861881173971489760695130545647283943420168681661316033856682720694192443191624957718427968744045653483069680700358848917262749766715950741545411704963829356617129931308087083595545458124127931680097410443917962815424238234728914837637654908400640011505806872112858474831374982820716565430669168575595216867594345926727621739428078097968023953310186651816997099751000946106709166242983988180343632700472470124918585737371467784816499361765862564736845023873878257503158136048024001472109319374895333241137025770743165382857843882658678778262442463214457942170385257264984751544898432263945760564445588051459394811621032223616164636151011099890216251744546141967287581383314450505992004140030468042584925331846631084065599080863970562987173492211396367875289960444687141463635890686942011077218168517107833080281492463464400640522197519364034445591292537109389302381988738942681029419506534237768435529225162345211119127596638419470363640190690480454467526837893363741007536605693975746900678825271713804087017938793107447616089800391783579730813768685105966928042463960791761627604142721677637644887796480388101640233459508523407885891467040552627123165907252161424202771359533359587992902906148983773818494548378702864927165180206330662786374290366653941657956560766697214453883292651865849106873153771907595255013476893910059354570409190072775495380629746183918940696494117387305785189780557929909328224033770314655778396828126347950547177096809604955737598095748914087760473933794484248134183241541888509022949363246532454861914157803849277445253006195124730364797320790250543187389059918382540042736712385462900636693144177257469062195208108610265630246401030649018736585002755358475341369651034216799322499958288553962430864301138606786793653816011319152461800114830276008928460307255678489310111913529601639961608277551130161397433975684937517095065645396078612710300814350338527106215488500962724609821780155420109883324744502781308833041876362832771796679148709842248534126149917307359304503896209863467515648653996280552556976023711694235881873124957466735141775245062561789635462207191184477930994839816323532412117828164702423070016037334923004787665752002295299676538949742455163317911992730193239951446137808319627977929043746728125038332231110776701068721693691049977029676095644637905626726450258240291552143015545562048434539716910201011981884289382068003360657879356555917573791836973674903040537204251451105413304607277512366042691051968040431730962024271690195638751908709196018031861598758205498391874891071777200578769859706652927937627100003563249610792319800770146251436183224772274212119484497926595439447247308769440130495636245247308669061882125091448340001294037789921634600914071542637683966902136291131213189630300371010339827857801568063093279583212320907268277658691949408781797726242523305971305593560268854040036452974371597454534030194400280506866973974863027224327737953609859179009529680200040284676599171710372340776342230175514790380113062359792084086147388593283870853782152178626194409784911038288808712622776506424970728128201412573913447713895014976363114799240388687067660173207702243625825517360743744543943131710533480685042082826436318704496483390920466463592759402603853932917815379601616801486164253726231963957539301511469179667981930356672079903881173088802635618321221604793220010022914002355275187441004212060246610460557373677195956943400174745433548593325641092381223912960079781013529760695141850857127589234348624506264538092003644161897301345396325292531370526753511085419260458900073964782630335752371656236185718035331699394647345194309774856739651660827437200897673675836969699468850841265734230212604784522069582791966606106940163473545049687386497933877908671194905102893943029553022648784329184729200699236788298269498195496581829251040735625242314958053664314249237198201234017951132415146003317194663494434503426401559714616763553503747152276907581326598585414727074886853939029762039571218088429407551047668639606530057271734095414803832337074976284747763763519963681070515510368103061182235932299447266480824774519712424363170715969725356839580056264295183429710160114413304404165630652383149534351084752464998924023178858266912836981369717994943244924155434611395895619712148769785433812102965464610692840349119883474898651584751366642441937990505306663089711199053787241291624945311342656248065601466179982959560440284922126939731896115334519191576008792115932259866992534642920713476331789587143692582058945782684518723314564017165693931409823373568036503513260104661500667970711184190295170597764308047354633657429461847509109014018753344690386392760991399351791635324784923046739804155834739473829815056498869403658789347376089556745165133763969407223944464330233578465392907522996623905468961649512529701281229317045372774326262980034562882984528097738240107509887551093522380752506936286456748106723100952721386900511513273844054482101744342565555223143061679065059806517958610782093435116140590257562377062479329782773937850472933566297245497530020810212555228142680173860176432312309438328384131951472702237406410517244573584502123623187518663957168783486409117304053540053381589290724027787485095901256958459474750821162556648902946867599442898027768113682070340959356035402633210352452590297794680890344800994948440112689531608670601976445043912394303922954965871323264985372840501816398831016873973830159448354579828485859315978077328171442752324359712894062965554705439849857960911383384893860470037829080544081259197387524160753795090282474762291160200831500023609714651783427916328244057280856198870452862841887559010511115547304992446608763810694621710350707539412485152705122982976733047015387178565972294970125910364615710123540396948893971493760420448718435286568471858068865566257754353227242398260621735635692140934944041875205844843259877070216612282921962985544437257633109708417440489056980200102542408700937052300779021602653570121694250279899180479984256402341650682429477868691480248915696549966153671566760515808752001312590965300995965387778804374205395836309789935632308721287213100928820967070509706926399100781337669610959501213137540780386303085987904109060998511956480286638056476775264994145449234830746638958751950459168811755662251682062179272535703207109686546439453972854742710445502353888341902043478734609684442702908979978673812280574272893170133319909587743754475430597762901431808691257382450454487019468640754968127198900353342577797025639255098718620625147316181731724652617963475626934901928772237744136001652677423017643504480839087970163080076623460043043050472932305130765010594755600399775900177266116473308915054174063518246255869519923013166720498578486709717199939480953170072553274033129200782354201774578076172927384548497149214170472908359956393975509462162310828294718045805266198629467114559292437848436835596061202342557822020406771782619549273716590516698528625672120466001724884442995477105838404269404915806060986410173458198973438922144295336702677472982004398834771670293165551953850383692134187853307132546555183597023533687600982583602645859029686686864978342146142658656947604711241025936122003908110431592935617895865784193636440663729746741420091937617064591993531837918711286142923727943959157725059594279555074052168595772713221410527670038938968618128760394966196070767467066480296719148627499964272676035069032766993327192452268735575320967340329129279535399382310867471704744780571342484690772081382285043703648911418027241153153959019073331594308753517536791652843880659246750817996416015753602382349246383861623311669993923014827840187530962986486041759574386814438979934948835155762210019509168771119204387678659043609543530350264929293112662573493843630347331674664335752267265621945569580600874978131880033848119120585929897971060689232839152352818902082270628115092327205700609156724085878124127076686263100613987967266508588699846491822384260142295472018113625170380424140413633769706876012048933982303888787011472880011547534906629572435713944281961709324034121425068013137168172307457683643114624474666327296957011033697250185220146762032523590859619496813183636838119527185948035037589603785375924331381417739523341591707649477951586624008897910293421939336559947822411249144030715097371678681768326125110531908293934451366973889111474012074976913105614768888101984277998152195827763865226996193632061733643982265409325429297292006940186356720677960509768871272660262660946551547115052048402511073774439816971356627629300333635673064255307436856784598540464316551110324304972345616903576716325560079364604634084644654791066239048389457484825542637938326901267036950915934766680814535600989549616963896691704189645461417324436675666345902628224786754840511855177381438185073340769656540916218570108888843098395228225338035612754784996522207289172176043361973405367023656970624924343044605449582182992562807012355165584073754858325178762788280678875080415739752356418663175966324729672603917132274367113717422546531862119323368742876838086828586592005814034947069777834442635528422747295004171922674118465188415447998286599795663825981474945064668146184869763596983864023804183773057709803157160283564638810519894221663277873704411009481965751743338691153472842799992433545669373519501531225857285053464308851328446443186236968949503320654708739129724051410699412437111912773072665161121360018405074094837657454544987521228760796923128959386789049543809673817788673410597277683592751878921968925083381154586758099967294626339980327018993401104800936751294842440720529294680378650617658709056744512529692594968242211359374649586030078208408177337787449255779125921419114758807839861624238952800154929431536033907327465980897172093611733099385173008405858833519903547129283634953788051775197505242449584973719703517627747294177675206264519666762139863239041029555548733367789515450359805335506008404625664134992105419740305422246235356209134985942162829053381385256078562974768905031243063210372030478141197011269405951977877511928903780086054858169935644100699937479021596701696687692669925765697035679216390437357983677009294506504662255692400316777400592760316372328457214743855203501520541339790039189042875133438397314676789889295683457471996867971890511627379636710774459541794075006200754892315023748348352790269178013106908117578486261489008122215709922231163680639586223984582759078821541688040611377021999699897898948803575687736628106389418179975008958208749907799942736821185357053440160847635742227746340069888976533708733141308042585425793981286450562231564780515538808094987449340794463609582236761996083205685295883208066881798884757676083763104015440882520787926413467116582174310874412661205387891890630412018260359174819272189208358993724653506806231745994986879748812349243362488578834971273846834488713355565174802256417519132366362122589013531405411477838771889328202165181358100805819036563721893748387141688579417205917859581791939519527779269206842157720030852090831714450320922122503836048088643014944076738987197783621938039250013853053742643812334636563707075543698627743091954470656846249200955881325842418654614106496032041847294466322341152462622029004812189234304315772244607509949400325968260387270915528963881562001370954080244832194762484910714833651369542959007076240050654537634093586944920349729440211995993111513288169831385503068466724381229183258493961594215187256149375282393769760633018152054766304074655606258810682279311718378280364437651670824677366777228523629381250107873384449884551678924347831687821944523878535582594052988281503507746030293751584455054209551934792391211570031854326098916574642255809920998403694106571161483503402570424563711082003804462197729403490208740954336978540355828579488597080591613039476007774773717323587746988696384148815650123545077622265299382395671630708241009474103032293432566870440387004184378394712065267133891485193741982997841056594660756938078214264700287811070995658522156081319880499941561687689850121968036317783032646648852278967410312293087739218027190505215776348999934679226755553280228597645071882456314065158086282891235703293701671109524136875614298633439227839234400098921293027493961966608900684278398370786615922901758612689741608781776370589322721187561034698950416016227231980171142984493196570079271923745873585828671709275223815670309152731468775415677795330223837978793839065501176933231340535334105858788536249595577122660612183268585336118481809166010497372662960199187734533169713136554136797354612695792337199353800834498268245150586791559673590051325762702415752726714080339565798254888697099601396912896727080055169348178964688804403945508708664658453767935657790964921620287151828355290210895619181362489965376934358333437021897293916875224181098206290474796139280927641979800346770578207979774866999746669157094087728399476110288743029932413376106146549510243335666190961112466114809305959172722726562898452646932988122248984213123803889431499181361478729295031436648785928107739679408272312277434556662031904375566403281493055446863892625571536216256535766391518346944597886733273274528249882545351225457886078215012692072570880764761734543227096864509288978883730460099203965506730718559603877624588289018545310436072371340933355997030786460366586067993275007433753898903887165483111688156041885965935020509198235347337440057291972731519469132564938755621390984499392923576431988860029425283558106583722830569278167843669161472793098983765139743076153777759100377693959147015080820731630908797718035261447483746246280613254321813959503845465459970607410600378693497354047294108723721799391722407421164913259727610848463692928385397566332460932489112590903794278504444536568106920694876651096410711448830381752151302764107849064435842391669026108544306387058794194944977781612955144479951205465691600521869485713715706156599596638385804903739066393510163378800022910192741470125347380648250718335076769187019546467994851008658029158074356556260311806928898909503621230910533800593256565800929256169746765739788537222388585006151719801478955360042696409611897984331486543227814699071267692062399466902336044307021841392434487763009352642094155576811848883451180686660369196552223634673721817935825870055592078638485380046585823937950235897668094687288939501776625802697855857483019782026604389255318365151747493080922698692586994823040637141874485244144895906106608819824992032890233410066632213735864157457473878946545612698465990613892290022867339497099312173502992665702748646956343353608090954843789478698931169925880407354533642741649255455887752984213335063986071031619801352851221984006214689937100043656725028981288583302634023522280527661340932876601273589191023593749875025968100977314333970712365329195426809447119995780920478243087789050150424342461304417464986091482469084209044050013091172377993485755162899803201928556163554134437945628802029010863598988374616231977996947830590029827634074342737016285507551131667222642178914268183164452112147446751778394305818916051203687846718795059444650988970128579841489755377998691016160240616854917623591063801014135745039143016790416115789189317767905026541782344478696589817664487139336848682330741617548966718865702396842579536364398301853807150817997931523416285348805317032314339396621231865196934961801372936514847408241990239384950435508509597949415382871940121420380858098861812007426541334886462613098774448368078288944691809385351496886993656036958538553641208178719970947561105058518073533956550487248593996008663087268385335448302901866684811319682557719121460881716956481686647648108727358810505516844681413312580916859713257444066785396731829616197856046340921754868968756835891812593840291026150483915919563189422899780332004282116557978680766678003707560060218843584917448910586146825806425191150910501126156485880526154241864890440659108451356196982048641800872452587230536510276441630561171264559300969303098201785347425878726648883947430751854374225629367949458090747876536159161620091716555854212910002944264145224663128709662671623065965254754338491052122834032973781691245229846173782669092932853298554074690302740605478805775948243192534586187330178205933265577434572880770552848229829398773770271488330400994802684529300968310463505106859698659350075527059320763790321370245436930554635689421589718960295029987699959844059421454592584923922105584525579650229769671070275369325909282514023683204869307730854198475554449013799527590655862659473318514515682223578929842108428093690725357010059849650875994521785726057139660273081487447605902251744758142123567974832397831112660139862155587638401105298864857357262651346811746726753038707452679842389567529197472595096565867518204123838692188432203534523188163604340802134931911245964197602086603066223516125606374805994782612931356101016459703708766470599712503311954283471710156840575281860404104211973374056179854112293789191540292007567512514814711788701786696384061471512716768601857131299760151998197985686158825756614030835017315871227110723878106763889562049632061625512611716755487124590825133383877486016233613629875803514427872785174317341231575478271355860669948880419593487664831537078379354983187467227574005306335613747315201720245593292254087388615746972644567804700582603366071113525432393425012308250125581606642741060739620913468321968071369420992451219400812044325546045256060759163613546611945270782821241910897453125561196786440664213692801959620293204586025684963817161181586815951370060874979944463395664744627112833427076810447614599547497432400466424050912959690269087084336495867467295656929231809576371344372379205170319219084082328429370581722658544587491574567707104207239363472658214602254591685298126074379500528252860611214237678822090301099836621182323990765074455892594441770129736866510846931137096346539831120681222354631413725721832067245248282934992710562040962031900289625267258287856549929113498765274053030207332212005664239073762295972450095512569652364054904349202188203516263520885056035227497997262691346684675767140598882279307148266724417803111730484858456724450781301084101429026434445637646560110755961953530987459414802853656594737910369012425595089310766417202995135869504716952663670482388085161989097017982205029639271844127456154981209198005106453754991651232663048803593820269060947251866466782087780544112853431234338486685278511129362966917549032045282558668267059209366609665203626632647284384022134861149771587005052078778423654543490000066607077639437723174418237763467927289998902419892486524276375528022823472517999754469546778142552399073449274036324838444391857248428710607293163601388055731666186096608854649790520248844929333434411402773915185490877536128702785026342066765862226318070248261809978382533189510081534018748787026060011276829424379542714865344376369231206225037268653220910397542046412064530741809999013319975919708103012442574838369025538690403801428466743390665732786284102880418353403059167406661656764963793840084353389969513632856853639611167640065650211458596277964814924598235062025746757233999922298981394615236926065518731534833428639693279313613795860779807920258838121946047814374584188700230178610588159230214914768415391556406810257011724915596132121161538269016972095637200240543936111109473492084490361343590257685076461267004467576871972097996206462726383636364090537130320270893924174285618203894434657026351458120193967197696384114595134983564268978376290591612295703310686115068468909239010718269975940266638649891239958924691325206218015899064023060935962076236991013948790408459767141905106574866730329926645857538792150536272671009747691905431372935540951704281209010336566319179267283242740575773079617447187894313691123038174736049330344004355182901889109840078968772887019633329794215735274305954029310617883540175720158838822348009418883651349651576232532172759486998319922698416625278868887739289237216877055151915532083065452665884449490325846000196276098650363626953578430414576810189277327803431310907717991698476947833158583797187938617865542840626968106974731803320971624395750415904600974649085900757027005403391499352089431126403053574655784383685528445127879362359001010253534817900748819591514404217187595440433570743869697423946929269273664724571871898287336113140069230169291692383592117124429777927799703119789121272452389119774314768308476877491389778099393114047555693310101276338468389250544578794594652105780627222552153296334173822171032162441440195311632033993702484565898134360576930742231498836260791335463359503056639537092798163506500258951539891549004912711733692232097046831284208919292210472999220116029885373390182926728622129485619796042230353088796021560066412186651351793689066946183634717566699376199535310200435963659477793032269786674961601956508185344489715642559887646786704072726303541694053484642320460595907405365473756568423343617197381404553484470874284679324849485667651867344998580720062871613545569790405224812394031305613353829596061327218640471188888875965909986024754244575220810404792965777668161424066187895047980175285643176737046400372036742581722849447347855284933858962256571267604490579495991432545225182055637261707848221363491753241997090195987994086549971604847668026338227593425206900574349069557995209251689070051609186783061351906859761984201830161658203536961765932116588129883906216112634691929676554263410044504497189526343744673891000687763161735943468155722807764453987681872496433330435339391695679879912661743366000989756484455790035053683995055660889008611160359035619658136219801721592351065253807025170627774908940022836672622454260000103733014193853453298189780271234313124457474319241119824667583131854851360731701701168093482816428965152777768972697573347296305619591959178000323113154167014624507967817241242751421479873710811530524963749301953566496848150138857778447871594913566736811129014547366783531837765456827699724669597567895950209654652719487238005688457814254242470152633923315023922381635691490080514576875531076987164517567618650945027387302558531127627414803946802034808636277753430565648821954135972545031191443165534886885323158780647404400961829225218098236591512500732436231344510651817508702636999312801880472788048178626889278597631538591460973130262500633787702101480749937813244892948202335646776573480221202940410975779955699249229699582741090277827556591590099111799445841089190885127133387602497026219982797538720614517678986321276348104752536863755694075945693875149206925377917597818395308201901517103684203965890100356410647430668551053973729297480441289076898376245936019072499429872424316214554524199891615020786208438854233384794951816007148973561351158374533952032783827063242353766628439824501372659257615818684563648802294571880416026850326961564658026515592455301554168198329164900952213455531671329152569378548372581400852022231000032129046959655481747602521601274620018399253606974613173848338831250136941591029980369491184514543271363539650528138310402242605418607029067482826037968232495874183512749896793518340711959111213346679937667389519251185346094900874107708033285026285424101113755145972322902552232911288348629642660716596929279158077883859356317746252171271312839448951451288408904220078400122901917658594384695441237902966376763959614464283054261561996966652125688855182362948299742751299628736309935252928981502568015817537074151773839400948499312700277040089911804124155471218589261185095327914061273491732668652532627637570336216204279130917706070441908370374968710862797357039016145757923034186470666516857953632967532801233285090782648487085704283383410787144626284815167127738805123247997100848640269517443518678572930220211511171989415895327011745698729264872469792850169828188777449207744806529385162881225650785494725898789340380020908463505929369216689276102542208661883334160802099444462989781291127534994063909829092081034567560138647203204681996515858763895533638034399155452528848572407712353585878293603636471605943977849468563505856586846150601306245841600329552943341755249096601065109190198649056530226599413323752675214989476994026087495463749723576899538304762345540164157311694196839274162954547060835275609554430488414214886390767758946268517069234763186420113993002911632674748403928420294919230504836599899789538878555170049575122834074707784955117302926391060674786883654843542084952568619719768368713123508727366202231568484742027411119130345011806245700325335100655515050511049523946644323098476367577113574437708016192655056406304821213103652267010611055838852757677785334406635740997496872355718841993298900179408283404602429626248687839880591608444325918968924786209827161033567908532278177524789374086102782693883811154527349364709239069173120130388286437851068476406224700926319901336970649460539671335989272857204329475296885013455233756157448949596422945408623529044797037562806421207058790168548961282298972319628081661270623725859500846880133864150564596567196821492674814060318732144148512324051680712625734879842088306194989273038853138736126264880514225213047748254412194994480714629847733785530497161656711005500851662902019760347465693741376743092810354757087599465978689246818459337017393898875853639513913890567309899203210117625715971086256097628792578945278642324002611024250435881818638953079097395815286724545807126073856606346550890641412499884424754367680868273025251060537613897648610304313084990339246346843520619554835109348107573870261810470749659284784738261063921996489424149712649362662867130223701687944741589844532340907931838700914572278364482186203763268059165475802841716145362637746891423935880846000343173403571716507444963540983282631171404860684283806862880323291826314266086593369077231853288274084691023626693573535011506890414651881295323569956812472308280650447652176400528236433636711789250643993884714111662019621056550928068214910835218654122844541935714566695862796549379350676929811643254067039753576614339476079693133811399694643822805557216250654459931223199606079630736434686478410773746328734178179767078980445238616102762940865035416523007914821981934810477982636843846621908509069847015228928651974232615800916353633185843652225640002408588889950993309115273902737058665518660158026929911075898245805114235261229393247829772367501344678600827272955806930633938850367415951435528404600961236625528644583141529179678652712385152079895588027333294356717612596912519950839461292521964617602859937292480679800763312479299431119220422569664252617519140343626968875341846673368189657419883761600921400378397667260189214155244565017935913906282265313673539265567581048479438189679831535461434895482859217371404394768388858283957830546011040560444102783994484480908001359442781088569664064014218149246483125217261575475338495833205450691205559303318757718110048131973895885775462528120857609331331641878028203915348447683369491369473018128104864352239676780845077281226518608975760928438162039071065637275279104899439875110471814128532668720974902855943828874806833669213299273412769876893575126512305013730862693807814678733268825054039241176791682576366506269678739156084485891692361042481030581585327707501815671437753307573862657057910109626227681090939048003892137852678101319349677042948387279335447284451655569132670252734698094240856787590878278239930405140054490939891166498976112582907466654085121485478134336198245757764989914117099866486415068909462950314125937064978557163129299149342485147778751844442525443081804219239044783820751606515551885509554122761845106307902614351902478659803146911961896415597056254077946808434606229355948380120033212879354411893723255364105365464203286133873291890639372588747944978077658873774240319538331281071337641325886264952031513853784777659226869219522875103355745301302111621657577952077665419114450045779194832339623884168637085279325350563407887571358659457749559779098513923806899878535322855172728052187589823093093947134441530348944478510911224674888881899437748623202781159392075813313479790681383745616993954841956614258931371091276653126239029837716307716990025847855583903776465691064112105695475154204999647892081795779799469065467086958418270050035340255648010075627476409293988920657304525566003993688861491010943364131642814030962887167744136027118899729379161755718680917491227854812778285770747877766003910730728590761565668306092513042001206921261483269584926003580844848062619007072767000044002846535921851829319952265306373266838266840798579859068324326003184641981343579309455561851630947871948995323252342784245522417692359144498122153108722125028731146896253724602406214932710476302801583875154151437674900209767551304529966359653911851052884284636795689517273814760690726055169206620712075175367685158502580969147613775541291132571371851288981041486232274019620021089890584578024412907265203202394855695380639394322745951713703128810523337551582217597005033392567004846798718180904398399415746710589410399916475299693988070242903284256098098125718644845528468178025653655184759416625224243535003660961080588516182379960669461591375805341372836981723861627212764445198800521902557729897318818141888410918059795488646059340977883255036245729380563396826154755293640744747827975178294127720330008845144706763266771064090864262728565261681525581749535582360484854246357129942513525077719351852398265634241949313865205920208174145108881219229995469137526087605782017471298198899146613887921431582596294350790657248014637962657993262029370482314307169933448855671191374474904807048196609438956389477172336911225328174745766266260315038369688535529276356494240375968031898911249837522293138492602286751155795751503670347689490216568839377682758547786275337397679797600676615793110830393021796207171533142185236019229045831228935833543604547797213072988152491686352646372901868502653280532612536038296099933792466111940691748388149289123288418514205819238807299913883844451355314032316366782111934998472027811275070005259843843097133316231875217658239410139671995098617713832377114089827052827160078220222725561512520155787512723500271179465343178804209181190306339499246631872450206769939218252291170136429417317557872186659280308673713791063808215924169551277146632957366639982559140228241856914330276993863155236512894517706284848717706692330384024917331188654911430283359475428050088081556649758853217085175133500951213073694090800983225241561678734805901244960870457801740965493609384681190987509066508568503914199590425739992251850105245573927042513558559226599265960406053754524895356849580146218111962202101578810276703346027755876063910716304803140551969015408233414516760502185177079969764318556598934521160623887640327389369113103237298187033805468744303646328340130425491093220208059130215171666708153365703457127071732905946997454908861893669726810173332498287052512380788490376304040249279780560292148972696509064766468433522317594258774980065898781384044201894376263831550814429872707244831444834609048810291957017878488195785438290852261540854311430461722740694498829978163235305450446383892585515024765026333119924967989139597734463862900590999024166012305576878250358122153326464651346183024569104866220288926012147729126987963090264908706781627061196220652678248630971670648336739483334166084584665500755892565817269573278443541251668531823602501177713951186097038388893996375549957836611885594259241251824751608767834829896751029543040235022583675988697419792613960548924317047880773163456456298827320520976620940912240461998271905677850423099840425839751212833418317823429106738059457873929200454129317368947802294609061734847024197949314954811800143914360558523050507931171213572248460558973123710086387157899533099158463279400343322428108309677507065675953868506960824999265273424083592780294596231236847070559264258926906446486857078848147207613111785878375946560206654979191378167996943759789209078549697994543903856138545363169648955812719827059444204046312091934325584527377563133265075855190673114319369166398692891939100007105760052507110102156330268403087034253483650116222834289243098418476548886633462847384604480806153282470050381731743383579850968185833978503882760875789257614861716275207436486411793130883745264051396711710459384870906008128650937935315924548624487386755462987249366923711644238899531297400816982816704220185544626388753188894990893104072679628928479242435479069266362287927294705441533135975495265241493276549643178672333032540012785294948038053461469530959458854190033685476858033264802508952602939087458178416485072976114390765202657561423154529098769646749777406204338449580133697013101567346601326344538362873125975219821370447420361224122128890399384477017827865901515462004820147972166234643359390450874603788068932280802601540720216054763370626322438832780803230303326708260971430056570377265081003190736639159940346674512454290682543246004586390439604328540133019597643832697545646814308134204848500075510332719826827855559431442084703446047923678999407083778344553003650365928311330941923559655347603467069718222527232389741639403070185860592365107929854378218868043511922162907600365630420488310904012105258593272936807001066378839422951276887002906979189165567971756170769957576384436498629833484358027683771527967143245569705694303800656309496755554323957641927432541227631550159173682840590934323801420230444571894897333339180752295456297708794472329069546570577684262819028308921349246741110863145972159092495150379795968661407179821021283120257993828323215206376648899007499623694048117783706805226601756377815936277551506695236019398041978609062377296081755681869318470204018068760565624793478036603820245719012528975805636549475299826140799231357290369888383242129680708083646889625993903930021447675112138448397169606385283784962985282122907217938426203492378623487924338686485324322042858871408958507479890454991931790394646952804353510844218954564821352026737164137449782417180789057776274747730301734493482755628554951032655099023853450589087791469134968026321609331517037473339383253705155603096093643027380142435095135712332733158478056887933458555825651872493243759822350579921536247495920872389095300341788364637840434596914804505500896318934090050149436147298033504049157606133550379515178149644289751607296537969417428633183106060533521186388494230558919118419575239242944297666143888198863272798284533707068002895968572962951909404506995740024495290647677140889564363874890034351045525229359376460263697889239309697694053950411923992411568055458271422165691773919869510242919425430336231986992896343276350935143542699872419005004078266148248943644248241475056263187451657514584922669327556705437288190100923602460675515486728374163362706946166868793518976740727883911728703133343250699408846233892086910046551381924792457934141715240550066613497963081750300272102263069106049280864270748200892965135201909200361828060472777564468899213637426560487982232761945015837903066185548736527545607623791605852822912935327480442689750145862996277575462770537817838410055647433708131954096938163734674203951203918754605563402930485787200352737908324830524260309484213869419435307410986221820011011251661787187309380226970208201091196185901885135031456321916603837761508382009560431975859775044477314162090328338136714214754213185687347168929394449517400377300696157365498032940456690242459511169513747601708297359329384852584832925704317860358316116556757232366662479733100046933408304660297041399817239812675067585233769251249492405061626384024598986847539619739827271709697422365979617429843429316031335577315595086316816629136274858893238816872244481091894599104725291668931582444636820609188047227728920542631193051064503352708314093666507198701033205318486496439355548926123648217241322887306887303988725584387793710941497086107456549756795763331376132278792826409629756685086711735413161123593007888971825987676854854724775271127221042357105401530050242222232824975884488752911682876934961371578749055694699289353196938564063041878284564131740088356638503231706852772000604164532166943153454889250213887690169152519599321761818294619333067244970515044552423343128524531915153313449529692216089655170239167200691841410645623856150010031094147055818972995634781659281991716626186057044573289966220070501025097910867874015989377680417740139527594596832437645330023029706431088742418945993056499495667505572969223927459986247071021664043112617754717571454236026273794328734759316704149770778809842244086527822805883481459884704316603316037547797408241289620460601649847748913895551905689520234511562617488409475608586045947670099839750136442102251212569755845329466480697881277915265899313052375244182753863537445357134025554169350127806566283271216404378180995749762622569271091644099763340355985603232018058711449350288899926625570905988236972758560594385995675523086548743133972049886241425656791645069695783620204914483605350241825835034561354622632794985452978302796181421835298180769398372779350981916502460493545557912246969963108183370794568954600151889923406300736067181566720825112667430794546684621360827487137714295913320292333329275081459568284531518445556042412662238512223907796700928034722191319006744941972469967600559663490909778533799553026788063767450055259302068695115730998656986111238820363028008251003854712583812949270559855878984005769803220380136032883809286970657351705731309179843091529684436826175341457912868726598120543301925327396151926108158071222409677646084613280033088499054330084526689164421633171575504021392114980431729756113225654946615875693058695703132224736162652448782081565287982801935167459344014099779100034726976115327100362405366449891889869695576808205941573835015563119084919830521568586635899721542530464754157361815261349917380177810217934735797653767847948276915058485969271378779231586988860798297572148915932503150528098848553425115052176447895694683876046310032268954515823169272178973025663942416728648304426675868735059327331355890484903293356952963600446889610622813057687562427681066665549785152223092899526970891180489853639190871524579116942616983362362318365561260935797347447399263976009802940305866340581657421881147094185083131869608881003218447060237074481130568670152463634783371379264221644025761288081126280234557308243178616279428761909974688310140657166007667544004575150886675323071346947123593865868429666986151801669024165655292810774818911144106031098674819967357714298997826378809737226283350569184546210591985851458540067977838122339664718822651144584906291458260300323711331694541844629737471334735872218947278602383926957552602802109148834101086006175470141999302286250043598352854219194158166071455967127582038570307268183214953403026841072920454542938445662853149252371984627057408704368235991014920648448912653682395413959202954639385868741132833446908314531384280984282845110555651295175713228141425885890389702257384611121365651513511659725408613934050889253412555956071316277069489433566639886531675912560027875479876888620585733668879380818686133291382640517296273483389341876388803971226281297543584714458406314961119902035891037346551312467705827836514773682249940447966852878946410788322987156341426033875353894919810195832271555457952988043169688726531286610543959966300386311313959258205979418640257366015665414622902184634892207269142038540603604811402529988716370503383431028043213374567807228250326325407435065165638459310058994355075478942374121095225303001787454172981834288276436819420096726325217848874309023766384626027790955822480814489555658647325305491025189740322459350428015748611805944621740790055478280633219693663700598364537032678551520684622225305289494921971468480844998713805576018599864125860290864879244477935464763463300789240403141769135868736380889462104051991708697955438498343720041852526330959977749910580640638465527445261818121235419650051072243151001551278527331604721946612988321629536533551416315403010099978644066926308439363798921175689334527827834374595567115017266312790365112430603185533682392382958479956388840850735214238673584658213823231986791934250769389600422091823440959137902440224460720031981275179409145328798991316862274794230037464716315238445413231512160485318057089142738580117523044668566510040975019460889313508504423449927121606276663806510188431334064909783661037215382095936309344213787939656238218487602323216299986365939343447451719806992976098747256727132645953309905689676589620832113244957266850320089982793149109597195715419701456430200496138016034058906447286884344996738684780071049450222409513920628185060881865226051692100075160090603944494636996001026630558656900322326185224710724451758125400197955891244279690627920939519837228486617813179514693898192224853062126594162726356956719535147137146674949526479290040631594814225101633232754111111414937395259330706023990911042734012179375732206813791437773262882720968066954645946620032496337080118461749562608384771027480748068332186121924327275807358938215715049236743680357334076163665167407966159418916929568435566370301191865231877072210442426571098387071101913926717675937874915726627771798754336073099669634958984060550506722002661369808089378310102808950438340919401644031862604387386413035795943781576007348654287799513498232653062792931202355734994463737121539550369219915128637865722612674689540988143492258549608442971177516854873487709115322761425347494949350525579512792535544663223582461249159801821114699715998898510608525665794937239006286955578163876719198430659156579786926802432663393706176096643889805505965828442755656484339825416283331912785537388494168809941918676920682080707554908108823719225627277570777857782766267928898555041091331918327745209469071972413103287829931831092383642896080486138359803342023239470536051437501569425018819170914013832378397150581965174663849651775147605583821917613476209092433321216874252712184047716530608962100309287167439176210562235886327782472755344151531935550067525599510062384564758227805139674372608917264670573521085774898869314186486416248832656651930981409572875338819175313513654950085490827152126505533576515761316393960750098427294570018904068190132823388364503888869932272391105794466931246283703199983702758379602967322954324859240688379621009979841449944175836637191201541203804487533549623190814297094838082477295048276921351131290336021750988869178090673014601378229075804951459210882916355303975588681734400154839272445190883204046370076153542125527053320182859217483550155572169594037344159163104690131684221086443269442700769106632351033519975128505708134460998930637900045153633097437175266150980704666754027295255002964721561193449045022624524248350987528788950536926856771347412832925473525603052678552890828712821018429279779470997290038228606309362346927558800335630487609371383110707501583535506461404386477678185304778425790962716469902705229560084923721172404599781274339361899287758528634071806839887392293448084990963051634735848602869751743533070435120124336148453476336595550733674977800332561730205082341824261599470007824745693566891462166447072642872580221993557338519501650850012458206358829775475453936227110238331591249668766165289440502588843444499487298310919745113052976887927547092038065583025354316280883062173595033758955511597647111402078213391862430953039440418762892114196935808639421035462910772158296034883593690209638781664607999334847909178980238010837675733824219329116585626273869057119880714981144809576321628981226463637711427337615822144500621359094282814554879644863043453018686682284028969598535061839827393323977179866300806657862260276189685812874849973611182093561982335561408042582837622861054013562931672904506232707877692614105417442394136369227098975415883441665117383697757900274565716331724608447140394353836312756348390057997409354667922228699375164910283317948253581579446220907831255471078844628803241624035821449614022623695952867078815970054484659501789809776448466077096923615846263461757799094068081241038136312637603502257629298037542636114836895546971230103309859281995691951672337705085300496260220891063281555719218466934048518147280165484446412220329320671424264299114212652602422420073121302255959189102367473267576059550567697623358476141140594622442770354417630340452367150359777057510417048390553484378361424309415835150349248993979369883650917812623041157249773457522348467317957183152206642141221370357230714585752797285752604996393012205450939185006873429976276664509087040726087375532575909905110962806650961590394913147880159793153586832258567981754563143652582039452809123179562657494846044717738746408601385000252260321071908732647464173297052990977725813002511771745896302179556945357001113816398834472197359847934613790335086968438274209891730780212938241505106487025396584474151944744666808143211064522627779051425430047030744500630097552202572486810277227833916225841901046250153618268867090394206948522758165250449253979209755350843193233812909096494125881483243655024247107179267686049334861002480539830774694460066489685287506492352267975105016122022834359947783975093331632415185585294192633831624012079908719396535500544159473998243920923017544664627147006265496155374487474772212299337909179328950568293326376790349811173453945239349462273382623310639177318617708584160205142457003717092038385052355250163321314494081790851183090152792264751191106391050787006288024947781438884567951053156600754380472523657274304470757592262713257395980785300167176390848181129601798337890680940108601088880633003082869558464222810489570748856445991817185522692065929114321674010643495877309739872081873950327385120630094901718764965001717074217823462107847670666871753150262111704864482199430850934425776711289095167188644860696776273016992706086070581204005206968190713397068883882504160436427622125365811514116246514692150900766294981354496097787892758164427510543197124218436505052631665275686480647180915969477927522689536435522395879036311482763399270076399064190529288572307066987533773172625688928952091369740108491974895655268340665937032559749856838876826734417550861558763233416652673913528234938287585944144005274645239756514317937338216033667724888886667514162531803519107894621287854876504546708363372583713447796767826119499178658019372875889358509096665518757017984097072922682059230352844993754829454620353292482313978398383032014342194501943489514926505426301784399201387764858396467325396658178101661844372521227419046247047864388964015863250024955640302458298422335042992656908505355907563311530979236793731047891116330561417017158761074737877444937691802230169663051365492653843109494294172930235323873891402489085686250740472580148862911808683796669431216787320138461848707518042669809651437862649749529137460263916821564509551713419227981851360402374495186605271181551786950751115608179407689977944826363315909435396446546151302944338384432899327949350735117535707234828106382046728764637646311025859704260748527357402379298422395306649238762897138564542701731926169024869381934350699656972270634080474990311328725868971314065373619043598064930966425790596452506805427176680928323352362568089131843482389867279272960434954235641356451760294646850395738112876997703315177682499694963239401735509622606011587234987931197155396207978934933901154371500027918792257464986896674458221873114929135587779314613376256850515358570615392501374270963410164256061888512130555301887064418937151189183464877831922297618609365896856924285535624911279989583580269345089218858968526239315959219171420752582392421177779568780500047829015561185837675595935822282529290858364978674203289742308815154714678474356448237605793895102550546255012421942136175066519270494772510671974064998690942469487499588508317720206619849183531491832814699943029491263478250948673075759334108388891210758087929375694713270636158076884548758897023017354522095287365435973993944870257416104319877546597772144378642950589045661160899415353485118218711761270204937109710138578977938576489462991991826589551228490348198215909953287544782137773819398389237438463434291548516182118395273053141292502001597410485835583202295619077676324630268995260136587779806604162464905232371912701266210086865882114185401731637061143749963128158633295179431992071684599439770183961145744063893552046191857769888732973297475412759503652954442548598766207026553656815841524341388042292078635368667139007141424910434994813648495266387915115161733723536068524727332095293972222080926522108280465504769915979007496717229903897704900536204262308032480817852191526284493227760121445999506406104878791496637556682715192222531282336957762018039107280394310889716686564271164778482965752754837168721069519275519733653948809311461527081061430359278341982796682339121411151617018793495880201208738050027301565542849989314120721663826550763587038245305493172357801996821147084426829220815339321941076526276779321321508508934835010934141268998803455869078161700283002616873089918576185169799677588702268965101187105108666979800638074003792853626204938897582921240102415751083320414248683944495305042746637907755711062854750050347030784308325683225271094328172151217868962604338892905062775303319915865220427894888936549120537261425718873798683115655787324355312021242137097007950603574763058017077622191774217729306496543276823020301632882805249646332718544471768846829676964399752283695916124015695655138431577365325755805483991461496581828805030672001295061268768020884121296362316691573294663204446849062268651058704411079841271990189705910148424223346155785403004663986701774275760358510907775288714491072120736975825758608893607471251996683961898800113976615889241153623637714859731816416763914603231979750121774938910839767075519782175841363706883819925413633210712395140417065101406159056967526135085040735167450300370529999433539504516939467823468476662959639563799233866990753566339171064857964667531636711952451682960481681949134222066993485755406915490098677741373322951152925634185060198880657549617539146269442505429523437791445113525243426142250939026506704169608798320064632429147408834468777155665711964239387056160145823294621599061128119647216421567599883590584727094058280079387788088143668235008853549508025634094508727060589449543882626983198517584644449368402735181122577865613660491210407509599127614616360306107284659428414670939890665473201664517972796653648292846329469771005064245897544949001724984297681484979750306291335065015698992023849963852122218789796618046410181011441963171401393748231188165935145383960928838978500137531855329259166893148514908408213904635363454611214165322454330637702091581578385761453927475263835980069027933504111938744272892206866336906790416726134529685857242517929697209436737437249466906827050711379499950384266681886436472020086676243879338542073448924802343367296749241123779397839093864631360858650763351841770534760697856737711008179510067717765502398733330669807758394097782179042680776718819004790372609969319846490559200636874861037468394145577355368896358612908056948558639829935477587135178093470339525860262274059633097015547889485657110862888394124658315661919207674694380310534393395115461667148810222903832420980509687070744296907995860508040764869265874606874747940425528055724578316487413148289748492390471161256234832583019342958872031955453764201553456604079288252199565134339765249547785196808418002680921888992949412460771847260507493266600129565243803311280856890541659572542137319597391184028930054391388844852235925991865437911781029631121172749885044504581201339623567885158549129218087281831050593438978411649523112080056837816787207171199718019014703844748398066963823527435301023818741428034740372702269402071503580315905965812396839075384296984518515620107707493300988570560080779558641905093958710857689151027702730724020691379639801406165467637180051838370741353096305361599780611543830931713200114652310725639452677236565751800627394894779004282675314724788582157411956941650921196057787821423348662760744441511751014408358892693558005357305866459612997124495289881161233494565629594616914754330829572892859004619940305900061858915732014456786903823714699885539989122716814751727524595909206893994121486162159203465133705601621582462414545870447055278315566306437315918193988183440841895789171433002123161167741091763294773899247433008837473481519468685258768707263231629099671740474052015052584636534010590914085002830559224818580331779011417373509852803162218311435059818536892360635424233847445078930063595075827533904959887568365154354422491629833913831612390170615225154877049579127368871958301670998247364040475651055441889197500490312238824690272675679806055372362875515578060203677072613844350435431137305248044097517366399461080023320837073492489406463374275893175014756852821218549713047614192669584416470307776569919072595522092698619709623634354989271140840505207333619205384363980995853843245692924578074396432795322352447470220023050067900800940390101065194706902986624624970907380780443601564176356114280707859963961436197816192247829053074781293479017582818800104502745265788688706411722707888162085508479808315444126575928889540273286264630743066521751099471567051457996875832237353118811785198364116940572753040031299459170206762730814450587634637855440967435120885639822831990939039918981996312643180311503206838099274134010972773582157444563942048494004687526723651610652349471412117139009774488394496296004060643238860455573941921999158228115322229268406473666030494169314239299020905228992612380157636888147166749409453849911883741728321244976915937328911735289228228208559240180183586686700278937914950050546421821899114311945339578131325203078629049175550609703261364658772514160713695686622374458706909226428149998913790742919075686301857877373196446359075290596154705026366767180530838086814178479499083698060352904027437281786216287545184868350965866737808886400906215198448186757512531483545565803390428427369649599700616140723479530613322966238092117059577110849309074124168195495452678931198202858082003044374185522343870529141536851370111052800381832603882444267826925668363111650080934747204029627446925781429633467252878311903316581301014126016417361523168779386060025555507820424855013428354690148376311020886405482150310757052715437498907520292382121523623715714078060608710700928855255240817677890767404769165456624720498953603952241946010455967286759805859803738033485998439219728546400129984709821871015096835588427466649308113138662393159725286854605089413943446784692563071815951355511247687584872809425162127893772954861767774765274840256658801706900323399634886690318795038726268955820118568947630976153067084566835313528055708807103294335928763989662583185286324129284295706580508886792082989752411201852265545057737834694556399692058948872508605900651234579733341407114550402389731019475593041311951739394658858508745476137624176124059673098220495981857100807851398077184039637425849687464051215416923227287012716403024023738144972507312229659842728325643610565894265881540563688300608886898059826654601981686124492405092478512783898974383356356772880439673924521162353030969794774948902796680068435928247684220311929402822997292020334220876374915593045116284883354040772941768954270997255496760244670884470178163243474026157589309216503869697736707238498752464279202534888691069912821151188431840395487485450494155638431243249041046594554401647441090237614391780646668001810563582229304123410931679926127542393999545150536665193889396325149620614574541401998910643189042451518302275695833151093251643430687817493159698825040099965269585444852774176919832405189472903484661744240837232801020084806125749924245024353451684451822142943638532197850723136024865790912958626716204584291078974068632807756230424338602668400392211926248857889516465180970915709202640021681644593867097570227707721387492958303694060584239020979748381405711215758057618629890761674840845598384853816102358205231089583430525478425077843247890144765517773268915925601452192666879543048254097590059381791456758440290560342466876238699883693912605726594144323986603079274403614918770337833392652718768660944807977373704792310916436852044560543565208509921462985715906576910703722587291010639990192679068268474835405920983911233843689286280690531253196670765872362784339358895952498400677223000105038135064488992688365870602810030798948613426371559366196417661678936534299984171725531639762899375756000217492502814002450619496098088763170826337184230433429735196376318148564439207440574913653164627649928736861017417773439319699079487589182760960610263975960541940062065205077555150899929343281834514232508799338094916534862936425285364243361762364748426678044788819308150881596519204129082478890467412092855075575888800415881768058860157349033074613615694836774687189385148316165890250363469420250028385932153568281298947713489766075286646315306584498433398618386470483612098127718760822973962019865768472663625072682712290573602237466165124266192156780351755763539858172906845698841022624477770558068671418501153370645696284767188514668964334591698965244536642237492043052833255965580510018219092236356443583637921962511823371283125137030470599872406951478717433573856814772997103715300894679833279848860902836319958759309259253884388829839882823142321652886639314038799195696310140062112710237190109266751116171140558557472631337482499088149345314389061731980922635944228553543093686241330689574705192914581917913916856929935221979758581234481178907870504166338518433113027192505638793374362792554193008015742319623803903970131991460704364973532439128175610374684379609060484168649584599361567872545939717419171572551123600827660346720360304359487015446211162288525554614911909050055703397281198126004296932508245768383049150043448718146382614119301186163060375006455910968220953774502783427942488459366236753521603875356032226372856524044963138781206740624061204998677727890412177957175603433913331623646009683738695812132272146716380724621003763243217985126240772657747018714914337366786492397051111496161289479816497262502795121114376649850226795777088306330188264485609873365090944379207494057788826867896771991271486533955780354256505977863237033140089649175825317803507609885360054823074315827690242128315109977150551532202180582842307844545340015284399065720889249663260451271941206232657973324883577722294974451684015598156135315106415324560825179789465418102174864353242719486938899052746497285069882331047897498460159274409049176220690977338859420304422200523328866018222798401039686684305306689311572558354624857642654854224197829400697675462633369721072861978431000523917069034777591675431228780424110287465015316295085315768057552213436459944006680514810474236355295170630679814412601762264352183535875712137914720309947291183088646284810854538560334874767766698230069810273545942078776693992514803207033998408320924508403162129216074298111286493022955486515408976962755111927618047911248346288682338487861030638221218949807755373784067174119629611451656470289776978131240018607913132476010151636873575451492551560640578236924487029905718059328885009036432992217094574458237612307366073172637613566071898962047861152889996754318363867421065008943154523130678094545190337939195778022416617577259701853894821411810143164014566637188271828027483306305660821369654911689140747814047599351326229361969562911236184718438022255690362113843976598033539748042927978116398096293105122976257569343121519997677333451454818737160361637692150066348398695203815515819157044029886268708512866744864871613889253377822310960628914567476403092673265914184731084859133303459618203317317040193718639325952218606343388304712809791605148141742486471221375904474694143809770297640261970860614949321634424754606568688622737521114325986945325348193275881416025676540779311517929213958481664067234107961040371133434852802463013055639828443520997809596834340060143615360442063554754981027038897297246365196741492661840396620998540533723662414132979306845396232864630028555592722023824730890870838171096533669187497620792295093909735963304722946987021880501555483604929417886409409684923262052145544554774944653139074034705919581755802960683851770737771071107710374475852529635613428651017976159025886663990027872509231195322282531765729550148224332205956978593721641304412796574449125474443673511018151452665817696239754951292361692759452114636731045036678001380710748060356395408489028967446938370797763715557122603336317884552315967551750703742011218935895942186004403604956988187643019680700846512897741332771048869195682884603793853125209180023164303850286043287033454194787653486485602310352685090554412245434745700670744814040488329577603683560397417306490080127595493844147734909971720776236485695659551816352187303369910601931084198344481896629689741688637125088203102871312983439352008315530468817834780238808914702487308770588433450361251034044828893541663400944788341215069786188455239265910410294687135640480312898875733476872711543781962603161983715348598337465278947663183870812937599407878846065108515969936043349342841817919347648465669915889993579191370896805464981892636641737435026256474501177765650237155886004358854046769301170265585519982932041816454815080752123703835513258256428330790004350558352936068008065622532030247235246531833010363035958068141033833528321672122690637347160184066705836327746304291328331484210338590986053485361226276158770045309749412367972233889324194075560288075548261985955990688714598328949750551703165435584514761980728018472683154617556754415123866741972677501073771198370462330478430785055921778606356098929342816637137224065051621759145610683447599459442853392848865459404204178036129694777583042331504407793613546634867838542690947374257144927641015276898340579988122756443601304518245474766724862844083696696795250299506855963795019727386697070607392822689412951215410954755425548937562398305335629795997442229336636947851272402859890366067235957693857783113381537212624783266523705869504343237486519611750390076670447588868267378620653959164279865804147368990239348704353482355454442245365337287915533996358167836348277804943239549491273612452999178696717237622914867792085311548573177433959757219952220218378699081041083366624002320574770066792142406643306253916029114180872311756711070554848616440432723526687282813677384122249040612124679711917095426777413436272984023763742210979008564282097474805003824535904387282521781587869174666448852002835040590825938051686032494478521539307896283830284759849030336730596439615087383651575605597721978232588670306623485118635279789501061138682322336726234222526682824780429808958392809668037174844879336275235578034425783994204397745361899666562999112300134430670674980402982284563581205990968023381888012000094588561830960250225366734511255627546898716488619747413285539812939189268757859804795925244694046621712529904218382120930149970238937489497344544077932719800772528065620554888845756936146827539076108143339033564942906334048990865128289065960584620316816889760823964013046181947587370189157525785957338032221725444081932602430465938981820179707115310161691211300473350978509531244283772095020090624144691286040926453191779934128391444701275855195150475482069226255257502250830944204348275795776354642104762002505629077422707250093548603620063052242335582103806934105823007053066720767042927181811782642681336690658258682720241113878157489584993827451134359422335851572478496525391844239007646785583557849286572789012569172597415748149885918630771487633555936574040942827726470878883515052369202090978105765050222775284160235537440260660150020569116011643873700017683961381739939068524774561402960273377999591490860428676106260103007816335662495565325474259073780101140183558794770062966411691541379221108306172300827790346963353820211871685053250048338454006966533511227802232628070447966400524971039480548984830016605148328460603907901735167300242111381167814848217830346336501601335918984992465426322818457569396134400623576551577429833177909847458580397094299415567403371519859689434143751790626437013403478931421515288008275077026165990220151265897735919731529086945806119521243079698377735395828018248654231381054856297045712961453223967802950823353585851254789301840658030548782507865785992002647932310661833868246871213380326741912711738417540717990195138092560392216003095275270070153710737200962868229602320923819437955315916911774246151290482866127711390544273912580642754448821580747958593144255848812081354619266482478205787462034299770601102491977138275485349576728142058551600829394886189685564861648764348867953715077785150557893848740419881607125373480524536586020688659527590135464902931687174209233455857721003243329505302352990878442647562680535555630541045992689993380703336256484577874225620698297714462808707551912059134911016747445882373275355151230657003416433599482094860129394134886718490921738313739358437048461780297977789001581602688410045391257313732578768684031069064682493986529482723298446840591268189436628641257760951252670761867208848834357169024978054607102963754838790639329607898756078131028968476946006534548800925831247330351708599830374041170105938124569842996171206822369215492864982584366890529107129609834694976160105381093504615995124541697514445741988208763752249407605853052036580837433384748466959735496285083881122264354236116964344847618274439483936806016481807223647031319854561495024496392155616442415169782946545786622383727240762577298786361570167901601072732023402961701447068243542589838647659139323164863723358509452891598455712224709143969020824087111035336824660824482576851695795416417076650199067047664836060432987076717326002422542763206181467887656951620029775145083694767881555976405033918341083259405726168188936071274695203043437593067207345356987097856501136648836342975894251615843294788337789207429717269188471980690042881212808230251463112483575646654885393568101864522386837128101621970723086793328538281546764838146520027458728155767221078684035670040023054894810031590761390739639942436555105669967807746287299725292977906800148476431046166342127520156590035227869040499300171163403880787884342556776283009974737580067649379321791103369215451224830841265117973092373078903178855227586569134838474845142181805731531277602764675518013757751806803292972355762848427699712394420451029404129747363839735990332531492090567305104113120053078249377127152147711573321765124129201571869090890851701140345137976395357646050746027277320570116255038602917073933071724494844879661133174128122301506021863789095162626054034820466115938452284321310119181841020571592423091540277786367027064698524238263933120249897958580325396521054769262031849209963501131410114188890180147358313571863135725830667222627108685553197844873327539313476665299725116512859916652835389201424538079687650340420847458443960818911965748968223657581532891061852649037749021380253854816577864039216420836932774594679892301146499898159778460764592680761603215992478258257847958639604816387609020658850417381038032288029633686759226258240260105159578942446656181920300835074990776867596391183851984445637822829532454566923044704234735274655309313713436176495938456894134178707276736274174102353574074172806269409243924281585226247613369515870635362379549024784794380844671162692861481001134999795742815114279977207128149760910682492448232585077770699474825405101119786352617365199279249332003978200319541668111958543676907048071306738094268435514328509041285557345872775168950602884382961721590600000838320377212532382294739199038344045332622243700289884434727255694352180021609474687434650499110594164424390140936730517546359830408793915649283849025550774639388199258045242866763077551861763077995368133866962795616938319197491920976684677636705286040693852983078417169868636738653437687694524484078180711212253893983798152941402238512470879204727659568541735744735919644777167700379428966476773952886430202464364212900168788197702108226567909239461464897169131916539789779800530771827078147143620107136556493308353095264573258992217487078404772741977575974829679088919322769936032052302411282246333778345590223504396032226795986919843367585070253637898125375786724132906780907664002764256993179435826577852705952047088065636148640201280360841539666125646465781654499553132548397670757881846228725142974398865818433043122746771166115635477802872774371942783256941703342686719188239669946195009868118094388016551036501812909008492167324768644407152073016389941719172357576026203824100063038371122188243859984165153135244883750774811384134183048474956996951923085839788675836647799505853383103437762518942193973723917031673167675988763186025067792937286949345433250687851416508434749165518319918099850693912724196718281590148014872039041558515947439308265124826426039998451607228622958806560779547208433976507477688170352354256717296008495070726321111431600279471931112535389820876923483754799955395232228964414881804426846942797434888201149685982726500597417725838520013631717316650194194058200899500913385898455557416353266886888065142191445193695453372150224947554331916238757970928149088683424017685892239488218966555565986877916486089449732712602312481005507917083640364316420097158613565768374418252827854790902385750894824456077416225666713203810506671011721451334742416846744981085721640423237108671768240762288748603090786021637577969179312626438899057865549268752882392283944795608867421533718213144813186668144096894139499720823367438174539169575663068984588235771722156190529092049663940107277648108169746358303578254700238828166940017316683906373415579572644365231899269938973015485816772098789051026297301974112710014028680182211671491002180080408392562686321140217780719386731681752418465727060538044471603950845116260510932446722673606578527414659990587453484195379923883963791118227965237504126946638886612322236720199889843090993188470802781333427927177685362718085880988800154663746708492297689663075982933452936747710126878236969441192541267034738084553302452463774505338483927005477808632962409854416905815801578348729011043981575932304383237255407979436855279180361669455411792298567534170012883139924868011138538145553144629346167362866555384667250596225202202239968992944042514081883397323193446884919104601435622845010806805027335217954520446099251441633920338888104548510857505842708648992154224133015339532652261910808084868082702243243067933213648937875026936158127531103163243411980309464301759572236050777272591951399633524366817362595872286382361170539436331819287511144397754315601070868255840908118555573542438192512123612888743387772679583163473244220042057836775236204779698633308348626822005905043855694338381244738265340361302033691715805382189633681883933043371217839179704475237312509125475457635138015747680547442977206685556116850291418183280508007337020583331206444633383022794294962448084667053372444981136204485311515077292521166070831865655128026451555135886579209861360563918170317420394632298943614733414012700585893192260848836297680379157542959662732648732172404031277956761934038637400907672793140364507268527694555589217623025370950630030370010757576552747531763922270830325349748440801605232126224364490028312200043790318309609139454314763777299631118889253135415882027107057156838674729493970462785479390554667780291230320932396755702161569655610325775039619094835869237112377336606006512056953659722037156862014225605676050551544353721314152024522329443677328492486488806862904031083426499737557254883675561511114525608910953496388527056255536235859127097955136694997788137280806411989796538525422952112518320043440847352080383143484120493446082777250264667269666774911304354759381494507822873557340796206181298573824278098381220594233947146699380632079733556294545757286360365359394905757241357892282719341338577889668603375381763865961793055579250088573396058060792568993136417303529880096546573123717375447766466350641485206600671528047786151261516515704233897487445839357714324206641595670236005938774895097416205538037297422825463473267083237234092321014694359837332897380258616765195347747121530587343023952447678226693422898612321619496585876063955063949807152565020074975289740487313495514478260794374522219664990160235258818615252365441091018178767131946245361367576516735549048434586170018346265901209740958401941068038009103095918365416281424792218514130427636101326157164604702962079083053838827788093334588570406890810563138384009460847649420386864804716354475792820460721581652472343367343988479515051023602211568588214617720832649168722745525392589843955822969401662395543848372922331409341537127087579542670110974537225465017327497187831605947667279648329281422741941427371798547671233488336741845306130670854166892842178814440017999339476273790392096335695650350356056393276910971378866266524469655783962368972073713731398695811927876602429588351765919904653967486562030948226544101049224626572911555851584975637668091895573724319786390052550076098964410325223471097618474041748041430087282647804816263484970489556261104181846540437486407723686503139105225152777399473414405536792420291883794528284298647688480420648426325559322842013557259280312783447217267752507373000463082488903009770792473413636984008927769932157204912092154278594135967433704806833193911444100462028704777210429669663513404909577905193013986413623575902080433924932554814382052097871725985480864094144699141813487026061148879745097143461871105433342122712447031309851507335739454099688495091342707235742394717066372714097424387595418998786770218598234008196375534304707386375257927879762854113741638841685110295211385547729031818878969481160436487606472437050327325920536868964072550592836620950228765614687647695686581518319675020804465567149095041112223264418491086407685235001908902847704751184945097786788633065849090516796202017390513890736823040183712882880426187928115887403721791885658477181584325904933965768867741810097033000917858719158221418452031425870063109262542519046636582200565916184974632097457157102755934603351679295328770185724155215727244879292936052753937075331150435330168840521134043327545960709453109837636646116296058722191143100546767174295269384901890874596533802081223679675515301478643135865745868153558446541810137508352502967345364301180399870148654012670447581967734756955392448650390199613997737403015255253214561028779822960154007992094346260525835116171583636842544273558747015707819430695953773561235319109675860450862462151994570323945739853554144426953885955415280027179849199042963156441975515466968727133686248821739283525378480126144598134325836761985765592689234894274187584182049694144789985182226456487438769880273470518158058758799311421943721239989272947939238629009177787578200301015360646566415548102684273916084771926595042902125034101802031927321812461086340312737201254691090437159424532461854969596375951698268916730012604706717716259851259303483758946674104529493902475119995838222583395865065450620748844868365263125029364566023806746351037794410162501636176620122252752742263232379893183986337835058888672476807732205542276475278737712093657827707081517886837520075343456630325142734810907767484088363686118282300369106142331292101871813015236503970400242659770935508272956481350438388952699857696795620194146132679258200699874568966399946776543619391341583777534427395238660120022161414908819064569921007191763142466427960023680182753972948193548048256949120370608252046939415258189194697603947875323260212685451167245818141810254311642544655785989673313041997540241339873458945059553335086786240686838264805845606498048499685555851566428977773208116252265848824744212528741275974681625763050297374096305180731254487960899843956723908326589394947703504267381812927851037082219005388626016482277260275574851443066598278672003545085795894401616564990304341846730574555544504736024718785786276445029968800008046149857719280658068730693436126449180820158146026489976854813200134295572370784501051977603938803875264918233451877164122212099274415089938232922931532681004716501549348654909790021506206326334435255735023717885287098679743214392014246544110687802963128093712920814543309109871161946127616839007904299237251802088573217928406322787785921521155624844047813277396330719693074830618920337517058028492799845596024407476403121210054999196135291179124053096423655554599346343730923078798531674321822363389413248581320684990428973805712548806965841302092643206622795543048773983774407189141559905340446044734278364980901866367186264189449881170935107495096475638613400990735307872709202250117645347305204688909796952413056483597810860251634279039957749435379864974333673184782524608441535487488992514520872469739204826220848716832459428075204117414206090511724672533979172642898698566678734625012747941541841537140248475205070324766719073718203313741027473310154025945018314607023863519645669018455185925739439659701012665584813576387831482587043049296251266868767141651929202042896790488934701481696272259852093019445060297833879452077145013635482179965604977371867609614073502130697788831115137040136404555018593229637768280254431959840035916443300372951897898627226486946065479428265220831641390964637087482817447338118061292822833632675785356533666360107925605219405508987167533080611067463289417093592028271774877482882489480084712269951496068594542709299851272663600509480356705130595116459786697103898572408235288994018534307656300258809570447171831906115436185090219271067837138089054207968360222552733992581939898959178165308991592762871315104507112129334499724701176239123408615321178845320934913829150404535292968793466154214426217362133149422537829577142626603123173606120629739808372204522353529229223287045123410714055609650047182198580896439612014094339732474878038944571139683176471592421886647549480299316383975828778361674752477454133981647617343200611621480695124583027087327587663948724290304604345083437340200150507897885890401353376152428522259756845573169207550612516859441284505187008697213480219215607696239374045499333333868253414986321237856987753446778173428554935749405965050872009103965698445719669340541630594132297310796156598338509440495037908056198408924297988883154452329496770480720882459577623031664415114427819380538409573962947781441883493411101929492035760413326155019771223146602901812408625493781177689201056933273992417976970014715371265351337960234447265038952584263767738485298835682036234189560308298398737862628417023404632302020283285637221610391365654199300803924215585170830181551408535327952261786058288924709833962573428686765006379990386268297342894091033402513427892925648600965257557615030348501736943019384813425161821312650328603401752617620497523303007429279752338482669743985207087431108982348550222451567875823535717555250457226417255811507743388787440439753682522308602234125535550468504428018466780469274977016838118300452466123873837109145479496715232202700925583726220386149625126352404176817500100163248590072154947045131551066738349924112488051637433669492592815650227851373107485925728674825436149415132822346588582566247722049361470620006424996966684861392513846409663510168916313174731415935397523801779270878873638001309628611460997765449462745918402934914302563556442411940341628071811792136760044336590501248556504099597155382217156912406127582544325177853575743467459214957940451780526114058606790995536593007991829034343945736640742061912138982321983141100665400589146191089968118620273014533912341227450489189781151829101791495342239745932304166777377756579542276327888775561011708893827345557742644673195260463986977502975121474082021466722872327532520143877637969710609241667590321470795760791771193427352987235994708268884227514356332074543657511343083445996677610149805079558035939311284066635192890074672359686423652740607350361940878283492296407199059972598518094339144054045110147003630652573591258190128726815226011315323043757764730434683903322592680957946444081860191178903746695297711589249496660963000532251257250160639306881891033949543262173521976190732123309867524343647330708927794875099588636357946277709172531872500574669635383552134341973894831813639973890642691630115112730388519229746731866989191560624474114934013910100192012600338196978489639536795911541462305914494437070703142034594996066497432391427185048684467906735535894638699659304349278036235465596929130623729639178349187279779706208820679592241595077190731973335143830397114315815507354847773987739438605694271182735965304983441031082861571063502547237978348928064889578898309218964361281619713944720865874034074858224260856694232777840901660213618081166430874005993691782345426450730332618409397744629248056202632664567304641997517670105474421378978748419400191265799629323656493818350658377282975257071052175648716059709365631430027901021596258961155734761125239180073447690999029316520217225393057843002088435707992928747404174956350358834616317034177388559309333112045822308556600380203762423400868586394944721394158884236906193521726086910295709744093222317837108263835215539235635982956798199588469068866680751748259871969174551908033615310463826621302474905976375111210475282825113136945001845859525963074724712336294080550582971735745332312904715748251044561953320158400365853657839933994624121309751102110517744802749574495364294861506244419940564776726390216312821409111902784125249095623650351649146788337385963783498946077195699158695360696675716763443262281321950566094488405667698622658432814204383790800403040002748015328071980721529831125884063721764194176952302942547327014530547312784688288458530907485194849064615604750106477770712911585015033936106947634083337934360264916293298020282739293702574554213637750737178081173191895051680802364272882675398463144937589075350422039039869681627937580012000075089385697534572257455296718186278454999240167984927561035269550892283511272110691982565720522280697089133573482759323087815973485381511694729310126589817590151335761657465333899951754929622033575300573375804677268610386535314565886058033775693271949645282171705870275595458540379430115378137316389392145914104198437859868914549718405916073144996040663792602670318011798032378987005783769211539114990643241176746463144865696746165253536282166090369571513800068034201165836356871172363611712219043309310769622149625523725744302871852416306822153488928231547766761542548428545797015313185218464892681707161529148602216214775640975965569696715521593762834089314965420270944930940894493687203474151164575969126574819647789718415526471373179860141059263219507833070940218375356365732617141139693196365567798816507634646789377700111338892545083879541776202505274929675014764431054379612380370464825249675471380570377141268319703789936640568327446535277107189700301528070598067786062940392534581273945740943821474539997993329954265960277623007645887783990772027364259707065469212482730288376913470567274514595716960044036844544038914056907669723723134514727135118545482774358344562216243973091567803832904886375301920405769994312014747576897643339681665065265294916581225732698771699700036871352697040883895638426454071001091088823284903020454313898420897686757721794617425168807818760919866836270142906251857004392436471042559012282143753775119051642677244671434228335311584668755997810295523611586334059044696877503931317093526278941403309445895192557033847503917007439223172557337630299655767626830794024218424463790362550966278183363015239828216190802182463588570493193080350298754941922225615865794229429778284796731248692414564254878558306455936382282135698171950216653449721994323755077253354847048958986452130951425792877283439208536294373415904070299300219560332145119484046401060054935815484445814060978260725580074265980173498144870049959235805478625935987437259338216347406447880465329714452343462698437079077158309136185546230495374390351652089911993612479437149831763615704725219549663495947680368544808934207408044194124876649734827321020496306442867925376119492966123144251197171336732318362417153362616471186109473856538973485646533268543348467693684324340528625947551907814223157270381001365113202905774314086860218674998684825521953974544798718403620461578073849341210117443758372210308439946226617339043485739388749808424179128152178688548145783055082528806554147152623425027373955931093590047184942779964987814926718473847843783569184310424056933112806622401136807668378191773712329380748781760336479026668168646875936214385827271704300252122968505573646368903291363378763400015738684616776791785934415368012825300785471285936131401049326276073169081906338581942845235277263289133715168274731008700036001310495617680185140964832619097844366268187399545890090307052747278117188294374556245190067387655978855468229526074965782403508219967768453516595642772637162448053462808869313998923702416137916781264645002900009791367801338212096044141813691273313488711396789932449375753828387807339458291126925242374867974815894122672130909109256043563636100611071340587312894391069815719226466453635516995937079601349528047857762393511260615682145147865612425493219191768772531099938187514307361263652307897525322162757082282375876782829192851943223976469183904662210181338289559172104463137341592323780241272900269135492814698882182433843498320544706014746655495303697306499756233065804377568156138480273602073195638463695503951103721480786902350774058456323235866306471522857030863649428394755235167141868066087923322625967426927679633389925713894257308481376899830101098032465413780506557478033654836264576751971230875448634251997430618463315675103477425234417828289190828845485299605841912472260602768954352987391638231740153072195286990024124803117584094313796735735527552301462331806160442522004802937891054239049653891056043989226309894195487259090024184565752300025838635213833481368217890340534876663518589935630821550788259536203181434084131896072293682408964717349626029124494172554939967427394347093036902973383754008834294199833892783962879630168406679480467918132791345772406908319895720996872038971328286056361334436227409268238251775771590830949517876313873049208548948203427547090118199666695783355556940576554639108343172068892527559917987760223384413376354314604144208083139480598587777759236845335976615010400395158554345792289504833246355133324611036528939743589113618899880913493952414686712733149736179735589323790767612324583513023812366394879803067283015708400729434739498530248065171534343256916785727823782553929347544942919732764063119160116941857732539164993058808897076729892620662203427303154877044577794539331364965694902926932356581506633984727028685352713350264207038232178964675745653038003345227425681795117906809618316725348587021757750868684126957798342302770847907767158937384028544797377438235053554435348587538441111493424920763302145400193170990431036913117389476235246778508632317033200562624858227128481316649545606712901968938200857073226286447637657373936913509741036812767202018128308208210977477603695459208173181344112740728313324848080873257021009836578870596716717229801810284225280240470093237177962565588721113320688651257521243472743392716803272877345450720554625767918638234690058390199887721065499807376802211277690112693857533425945256934846352719503903776836410508086211903742280285605952557771970500460790449605989710353028914109175356737793955257507001875881558785815768735598325599178213477230275943629710769143180460315786688098810099964113459059373241070442749462204774189035231681867918294911235907736424658324429684641715931998482251803582440281917461756262687703416088307564612373660306882286200168430794894190400450330965658923370257154526066462861828333881273906679287639691992790914940639668243108380417480264266637766229035159167125207972102446863493671337052542718925104909408240996374130484690497610270328050400998341578539142274053628061685049070662487734097258812810397330848867782610145328047998284108559599867390492644534638554039175780140970935929227676852117712287448466800382687685994667328256373465002764953893207687940030764988023792487981512879002467726028535952318050249055694448918680867636947392232682095235306558589966175215637026717220542075870751690679207977068042782473101245393603004774544177117212967086899051436200940564344311421409357088025878507601971661248143136346862344104994652067363451993970920979553033084182177696881216622152206538730717210051070421512073781870811644846161441956788889209401121020770661612873286399974450234874562223484075806997446559109400263449484005462809102724470112616366699180300394885064979569182446084211627807942583059013903270977131103908474066125613572608886907022395615070341444411446881429551340865789390837751168783143201989121516791512802311281150203145549411748020945623541887769615917635908058517881830736703560632033940756222247910796134828308438354002450377306164080860630216890023232755076279127716943678718329358885829403304593058893210588854345613859041124570128591379833011018062340676330893811353850938013234044667719809335199465953614271880064463880162065442988936751301102430009186345164695741303941264916963708873085941511420928549057512272171064900904866932934043663053218318947349657386796011576227487482493238081318269811321167874822407273228747148238208733828147203404368338713168841827159757575363665146200034027612096917473847276800969438973011077475712894011017953201585391327242232106039837506087332807935205075131592058101903442756010888766788292637209289929671369899397651977318727554128693258222481662848507874288333831295835785648443561480699860615713774928190264570110264968940491606704185755658696577005333048811006821845189147870635735868626435833215879416482629099655472842573157971710016540150618281748632617021043213861177504277373792851943925466002397406130602991249680025580158054948961826910489040066286118982916039263110318226225773285063750282894745550126726017267000556738147707129413041046748219194371153189559443548529981539397609076613896576834257595959531261095067860245385682733493248546233172638857046672249662429851751053502609526253751067704253098930413022731419481892880430571783656065124543451180846852132114156489227249428387118194361028776236146602126364165929691660288813689546015807007496566879853644155373065027058169074089173051372471506009253358040448355707433045263870063017182077710145306526198918093409070397038203275106547291392198874431642337500626250120483368145531433916647151308057233640795085996200996791949120754145127593739514638292044513642639220203823574470297378331917756770086838107396558763700090813779671036398775581581152825999249372135848295114153844018757184880961166744488789172528773415773863564603099939378805545735014084010322353786875408002467963885267418981983938616431390444471246092969179600271344566024715725564782276677942822143338278057488096580763169288372332577352907660846191013323571854667398361268436074812972556475911932697181865869257264014248946069968920247194593257005005919343249084294654742365984481496344851517751874149326124177022333410651136022056926788349262951275479090617580349570150355191870196207050622530756414630220514207813071605397001486998799271270655733927968510683806313483394923696236378402257130288147486660506459460835868977029409495535243214726238474933866688192036984825474574097664772100152631909867184228232998604873864098725961915377933189224160858475349796798282245479118108702557287172246037114212315987448549746631175777061616285025443096612711007241548780740116940753185228910683615632766979765244831933094264680694376934298886431790648000272931620085922658409505092757389990793128510471060506691920741600783788090600629779455236494609434576724598244696751282386309955539295441005503006416606271460941483882841562969870286391675138051335097970829789764086930811034243398123024132885851785286690809453516444398994605968654894053010425238339692602420559008998282972149971561612232525063929923841232098153502683575407459647409192628596373278104816131658377300821190811884677540923905058429744659923723426918558626529001914266988770250979445855153154355142040884060248363670525499330262664507317423567170990912650869935573211236371166302007851940762697823728353123006012211516025780915141059277083804180911684411376768128383617130695175975940767518333403569133888328554355163057812026730654708715935722827116030930253149662968667264292068881556039148951268369498282833916199530926133656506666394474362225447204179320881302307182476198068102859052749764726787592817783013044023654349970512156933796533198263390459561991401699262513577558768203334144995827263642159304544546059309803484154936273598764516754689068629439550013554796202659807006587318694227795945828716817683502782337904334753844733273109730372665824213016743476047945253255563095628875151823117025633560875501962183675421139917919814459375831204563242988370048515245863554014049286589495277297829791283611724197680613714677681233778823841614749653461173421235851400586006754164094601582835202287237237285417220883482130603461340104874144435851511705294113278639870334983581191119072373136606826348119988868770976219175265134341207642548406738245644997951617939645247012637224765639895606134549584249852958669556686972304649771465911504629693869658576164453204634287762903684656784965777421776553128992493122817093975537857208741313729034754008716195090652736244437605147285097916919719979496244241231448687085086015048982977192201782979533464077100540659303258257586729590553556753830868994562791269735365595384393043819879770559152900799398810432923520660981740947715174771721889218930469662335417450251079537427660692881404386472632978929499735443477877155127279684043945429345613536364877792099623129705792203292080911597278539477756506062295347355517947529151305038675948014795169124314826276006323578180011897900971823981928484033130776216778711840865195009287948041632561684278884771804238577917894585490683836704937932440854451637782150288370674141170902729499857991924983293433892240750522321753181808452667161217022281628491581911272762078582236861502949469450572065563367834323757987862938629102559016574984574582836004397859595254921442795502661460857680234942777069311592454336782727582188069236774058570429810255580582499113234128150825665128924477187201914022808113864690083164435891047985659964987513086610974375648335569460277165327319435388391120519567990008382032998165788835563866606142984289573219471042930505380413737393299818110069362764173700964233391691851560507275934028247662619244196578353283896759364682887506411018949726065080234852705160080282968431024521564990290706496236789434919591567741570441726125041024449217942932667319359065845117534936996089580914382763584111934625124691835526348649539748138787067664866454945016374938422868161278839202186059585289225244178470625403267241562265033379407478098142591136873710149507767216529095562679716711250511245232402557671349736680536865208501111562838555868414619886401272375862352087345367295659382444417854979768893353290436330854188342524599842429197038662846846922606627703443301981260430122621871241338907006765568102828171941184428996422184516500103374428809982777673150527695736593974848562606802820288729610051151082722770208860019191442429874737447572616781141195284587481313006991479431932400552650807682382374136096641413662058722171525185813101163937810557416301707711575473329445803608456733405388827792668143000924578673063074130050213551190121860421599004379657425931379805329260429967748032735464907353081292283816985446502735680469064398534613175541740418589446855832429786367340446828097380280593692685081069585412014214182144799455097729928043831524357720587871524505318793977266347329557686134943197252127848056169830049815443642294992678208528677477641417709186209937448670897005323388329262350101492027380827135256633451633007018270102723737944184014240926319022759252565412285160754078766221304032094222142210766063538098517794390175306039068536893260600619843642708900483008991856789814861568762028774169545828360916085234947160754247323446559488360301135579951745862347841402171206123753425345837063984738346786407275869786041470378192117980078130739930824855299120145869817934393004206233260262947108822372867691858875465317245411206549971814924428609739959435890604091328852880104242323616075584172024995439667451792253268854431586082199958200491519571363046881621221399369149285621500420826647233983116753415872970768501318760876377382786152752706317484866014436983285362067368263872998558920258359213132167863908377927294603370049134138415267731955634292079229826605704090011044369862566261387481597393780084051398951662469680534537327666669108371866240161262832338542776715880833184870303646577791678645162875110511798154953673779772776482404217293329584829948017582008834722277574075486160600434781365123936604505549450802668488774987305420064477216289715520610811711698127792540316258332057045856222607981737449110622211599853459586702124013645523371118482782172931465277859035180197782014398677379142044465500676855832076344768592032255836080639849891113434198953987834520028217447603932540457925198514727012988869854650971554463078513611366699278605126237686143434506515170603152644106704599532384373208589179445241604679038874774216043501365383395810862519783674880632326543017269810065736447365564890884684133377590261745902686618255076121963527113457004847453803063261588092217284615900944415551420617916013504425615527835005766824207857995950125017486759170636520565076417752366419914495944860213238367531450982255608391711825632945791377150264268140842882594474867826925941548026054578938244903933667888300751530631219728103585547833044169970316027025574556262479428729673038903407958352459022095750567156572193948665306785279506197915915396276574509233278362068830632108280649069255562043299744459899867358605386999667240430131478650208007666494887882059220800077722530480746888752964430268048966621532673098865586490443390622188524052150649649313816705664429966282620942370695157246218901089377232080072160381251390199370539917774103410510962412220947750408490839296732618806285401179843995439349642796625936761991899998993820327908989342210300050060202349724031220739478331020820832110935775683961071813378526228962378203285219382852341561746515111604873495101214615283395729374491978358099333421819925752120463604232198966534344297503388342314457392927116523305074005274262908083844765691882866784483623834730461014382306383288897288008709216790175069958187080948863412991868067701061923880385547866902700327147684780838343064079929568196947078389031179267376913569847303505548328912996840045291326474121708539401841594382908761478266226931000592514614184161338972469642349343466701267537837146728640431985678085533937155312002317113514767979261709972109181057408467341687082445262726928309876794039783930056089568436503208188770004911330639746280547887366842583040968387714523370566603535334231522142359836926961425713422945589816935967203721162294442673113727173536968140147096972557305213536438611647567719340831644325123872357568882366595047738228973684859652390952038023694489667919446858648648271100323437571117810792459689627913865934826439600142376617003055964240804519991086458441676530496953231691464638318846216968672148509784034997027219163229539789421636119877292205669663693656545841964949169025951425455504507619669828991419340419377769269658582508058105946059234972203392550101423913866396441302690656388826669758403741140171817257472026729049432465661619333550281623861209009914306058099402823900509265573634558639064972476760895394637649908936704762427331135831373305928173540624826396652126438486079182569875992951250530833752518964649241601049581044909692485909215586391465667614398230588981746578431074461658148799955455114471540458063516282211018661385985507961876187676345908008897085881153635166712884948139389956470699608366649689519410364677887772900261035047844183345409530248333084433319890278986197457386490286304954724337116053075900877739489273346293072793350770239941138196468662130411397542665267531850910850861313394564732762488807564176311505730744775821776625806653490774360204641255490272700290708651487568543380694094675316775642763312818423887012620786424851417021999371379900867348167656373526079124467315943758477232601980143096179179141871521029884493178977667745400613904330421707374421194481858209056231739268785646394507466412564051943912312553905876043190310167542270271855998010910658370213524432737175246279443361365525501869731573955293555972177114110013154688439471193557110564052402164807495844673606044582272849213679578555491774209917461030634607919510264781504831220242551604943976310228768819807326011431073188238969006239274971249066644123265206338308071498761123454291416947371773051907648367290105357819834378620221089392251108955653343088705124461123692035854699876143414759687286543504907632180730898566638539857091609592595121250903564210142019522019727205863133369432813039156859710590604780084822249649740146071779651239412584031559161163290755264368889725896303747162483491276568234165278348104019861058823179215823513794992070715456226274176998389885734119860986397183248192753585068354528431864328767892542647642441406098514252313127347371696136078072591883324387267454205454362007757593930020174853574287926660269295194422632387265482830286673442808794309424645885207496688078427709986159977828166711179597795345711660814248529855914401447066664763627098752373898823353850716040822785082130957286689098613613383666238631909812287501264295489200008240881655434565297636363204799393719847375959577445025465488349293663675907256516861679938560533924114419767248512056407739515633152394525355966473265452574571795047173020411046740776380993336057628580581054893071517448025410042479235417478344217067487219203387901812157771653476817426602362931116424961400168272175607983926496399411880761304628807184279088495277231619485697607630266697272277561773794682418688119557500494414500574418070032311882376331063189790202918619675485194764647609222345026677341950083589218826905260326560586271592931015089151417649597148325665652884645209176116647003911703936620315038682465126632629720607370466205061324442046539814225481062199578932968106151963238067481266321742424099479037558668700617499752890534879844991525849609697265376184708749054089926484215240641972731815706670406960789723273288806471207006873724919243371931314937246373997978772411072881668346461093738130460215506285455667994177677648987640282226285862674290550165339831390381690491794690675534033201920235230611482725038593889627636614884386031481046198485458767546240102499674867064593916809380540459940088947077864332263725374887333202190477769763143444255762396864445234230280649263549069007818450796890315571402277794527264752446570240398206682052624764023952874967966767092362523002797670075398127380189631617759595674267540081238308661611245246293693212365373114561221757880971716865532049947930428151101348489803231506203862978403536902979475162209989288804846662268895487693644280877399785572146585628453115010417948928176282169530979267136906958261003764069804270424241560847384785687986739334960202647555425895715078289886156442365834975523598092229306826168048581595929968894027009143491378270147535679900254523566582408940991984443435803153297134329128874767912186699953793055977458117697175033164949499913964814317959474730168176613201262513389075251027234068354184062539114515286309800055615228765811676873788533993241484079440994952958935136038962407768090042114809713133669731415480453404116379128744256512063751276518182059595161162301302404501806923653710277619100830739782970660688096179243769143550205309627664914096162198892782134367581866093670619029173264149498739055844593529467116264352256525866673590887990589536999823544757736865597673055847351033767168895170018455868245983888157192690808257909375412881792201282425410160331314651330351881013830344434525551897056178854655971653076049262860494090969491811479968845666491841224033352395894218116606582350414320834781859520089048487766763635872539260676076668191194119636118500868258897040760464811773785843711505878206049056326747810276971471854449709306099203534560224753042587509805167963378792225830428427326562912541730914572376101247763728266617927984152244956032569537198667105498744115309840870455331331938898741216305163938767198040434368833256218222675649269384777929569477010397676700034357377901556683446585743324863130835213722210142817618163741201689524848696284668856831637584037543546243103495737527132483958392147815072023079335535508899699846569312531639945979501199709590778516218542256339685566850507766735667280354012134678982958692561070381292365934731858867273955750835882080671062351642815269712165631952607069212735683121365901527546593540877389349631220597881603089565838247435356294908696468685983120302220230220811539683126625484152463194657795523082920998755841232140540147317884220180581506892804637170922573473755051154489977222327626554708986477851690929564445907433892337323489113214567703407318186881561686138408368168426510534971321491680394271697636084365565135240806405393502761571928682337124959217594365525163071893444933353234479140598697407909275439636172534702726440201474903980679573761246336268099764132441144880027393032515286415686195171716300646217097331464832456964238915340964412922563233940230581912286948465820838937883029186304680226038599172784505220689114401251201738984506841619052662092873541087239524922096672216933162911829129713717846415767123777423290483505150357914504293338493756861466401048547041245984834086542153978459741535295229357883085132773209461475612750159530941718169588795347290528312915662434998430596697345441739751882790516069699418691525615968980224887237698657826863604911607801368743609064238587454910646475546711472347039475477578651651536356511746864858538966881245108725902226693521435483241591958758381373715522243284261113833964067461964323710978200681193653239564109670151861044305979574900397908624308517435409379692849659915292208553788789262717460456253340298146324453757603958988920143025109283653698958101292198761413915062953290535353589375971241564908662662845881592414944935649537902058994017248935410513807157786292488462332266516157475062713513739871838011664185772046350208862061148524185456267206641030006031282763172882855225979872818273784797521850441527257204638117346228760659229577674740733964072900205058180842636970073898355120863534595015830167433103945281405675247428070493116107448070668571354415967104238878953639152546623456716583857713115200559795435940172643768939361427466748667395460158841052390792800718313083807527978878990009371547602419497237138694550324899860785883305091229308471154107485982892849564404416251999197230500668571071407674541840209435344512349538852906044523877803961815526428797492222239256554413426741665652903882048295680028120420269928985222845223173555044750991013756057000515198288686093106846745667137802585988293684400604844707710854505522082329624761842330690144546911880755001561450690112043681482179671111719369416069168645391760211086583203234097827556644285496595713553922043926729559335203328410178795807056768307062738111105287615369300590093120152872153417763244505020038713553289379154057643167745496193660761773795725991747169240124349107739025560515866156898074691838581219111648046538582979401498304865002572285913668406356333342680514488584529587275928542916792612476846738225796356725957432144431644813711953649016817505328879460160409005005499659273381711796281684083809067478095410746672761401565393567621330290510843513482967938888199751111949797901455759722416993025098984979099008354261183053672850202701829677143960933076184329709466588715503207631956907101386038696610454657694811399099515146065748050632435126911037550902813984415517264172093910878116300739015477274641450065553378767099964558806150595046035462909679992402158954261997792364951946088366702313705676666767881076518640155645389722875906964662027719278065778737451326183741286378044903352657304881904449650643695253346620350384977593139909131883680856006216808734790228803491177014821132874205574200386821120280998390399986760448035401053854181986788644024343211942955829417929124114335404461171215220216021837571635414737908083780990376681413089558253224486734570707946460061760392571344615506190755470818748301750171624777549392717945270465474983106262878350040975450449700532623332926037638646685005873591088892238182063635924076523615134363183834888697674977921166649092959081479346737238577000682468425506922377642416988170698950789676579319088886055428314821862957945826037898053606101228309952100869799651709174032665047977961728006293936211439060012343878541998357541327508809784079286012240042826132599059413738004092347614750854855360072427024988880083442134941615669354758183713988165425798477384075270908725785451554400977440840554226379236629718638084667010821082521324359539883097401048702317382350765550969205277939826178716125355745480324988504183708143301097728562379135478983274408524807802735514501702090034447838229582376092312824937711466077776180168341032322679093319175042264073189696582082560580865759617151269028368200461910722116209208413257781566921952368177349412334428890063094397651535304073118576602413984840652630810732443112082189945728221453445106696046565135758774773257288944116977064137152090906483205263097950698249049386238576957189866412365918231689011596393993740754124184210316974350595640996055635057481744243013729261472499037074148605481110861649153581695938557692919471342975243655032187714154013392527763686620646202756111611204540015613464503232877804178847253940824474338329348045701980095457804632586159622438655679168941876743418125751696066189692953064746533468029220853623457075655988172042062623430019872567330662525089397632448584785777933050796995534728105818019969159833223217806952012605718215739967019428753459926103362920336690023187880585574680796877806717108638207149550913738351045406556755975480860053332525545392193545521341428494250601192500264099475694597332951994449149393123226360334217721808999043818678551201377707913809316760260817476769707709128071098060968126745907085378468690972961882429376205215742854658489519479300774752672796682070388899584099318052546997649163041868796944685847352508587724937132621252491075318140192068900337230123113243384256379607600549781390117930197533265759556500484605242787890973514012835841466731982654098357406451341436788870959394011382057406815458508290098832495326908326291875841102989634805377694626517609190034380911846522983009863006094054935765914239035241217598600761020784388779331591062924970297308686352320170554761918742629913354008421136091789965477599238647612980574132216278960292836758016570252962686530071491589859328530493482111174139592408839822649140890468015452548457141198991412597173254464568864451159527976102120738811959741449334091039469054863078467655410765215042334147066238019524857535154902245985041678526623640213935982313158289513329003579847795523675511526282512371363177083462656446704827180636589795720834775349660239329314521021767045339784446083648447043937198989063583113295562587234500257930264144515699951140039335985554064538789401414018957998105002123120411078934320066362852446547828442289354500632681209197124977353280707846443364840090810841395086240150186725248775383078120026564897629335668333676758620030563767497407395502176679914030274291166870365125653961199798045494912155446671125983088162690747501082051532414398633569932606530843632826879495072741844779499045562810024526938617802114474233001005006577282960254166638129541974053131432951750409525145440797558476637627937542822497917112218827877533663904950542937207949425620256020415710250394653820214489750706301998482791718371318516633975510041791220771852867895294784424175317052683671392006641248457711598364342198886672560360284621302768141144161174044173682949074596288107253382286903074660626581234724973996582083026453558864266769931584825314555764923716994787804119851130822501450413020647915350667445023182807196121951196862670174181314782386267090670266790234109529128070391681108574289296763996527633349134829556619891129169868709271840700471841798968349872726928134061779605948752849178534944297718876664624189754609630762148410455243571076912593817163666713866834119135801100896225627359715611005132690139833799235554649899211098656485149125246828629455819688057442019625705046606656311299659023296590014320873167810744071277457260475510988437632596092196293518199410870221017563906311747933588632228064079824757252686853669471394700295236827107699540995546221333356495151342055342046462363645821595866838067127165574889903702580146519766463795410323857505526873731564137318184471074622225431449277354388088939266205197678368119882922150818175787277517828058631616408093665940215993989964544856558163368418358420306464081222655096984312021447349045399400378675351778882792123546556546759259914836104820484567967068251838404729272565050595167318737661092563760210718891409197244648707181077158233390495469367103992123576364700632426187541015847974014490997982467943174123482856039884847154603684737973610854327197972467903881298834573730718300332061688056716875036892696097176285700906362017204178760707157716164558519330227409678685588071305436197411892937177650638009315980655644076986006048999184120612249531392088559766662376013016281256383899765958862169371270222004817641666044633956538539358572531831483343459717959095596556612950166609671120785926195164449165920649731422907081692984680254871334208167678068943339128345875507705065454096984726929193204338754770885817753910251984176766418252945643916465583259726993201768357902421948226427941766133537129180747024547442290537519226415845203912057731766563570648557536466081846471532390891132387664696198623132546137636245177400780489907776065811962799147384336361258820613957645525032918172962254478969152486320691576934241015522361378058137123270264204189529873525246623462182405773030902485487657182278400573384496947302280889732858415352003407918095886279352571406492652327907685645766057051032559538503824521386122085681602847087403994829388508296826387092179985277065936385624484890866467681384523002164538775833623409952286763465301610416934126270178676517312028150700564705793663533389160577416730150857484820864713705808715594923262267382901124565898614045590784164627480464191848649135422856870217748811525948588671179261266442212905959752957315078846886372415122989666958223521903250159351242878328847597081706184669912630250201584640302573002810917765034142605314073092595811347033888709118445588405664725919551960830958788227960069345357108707632924944459278269660081084353017478671733586790809624877646590797065579823587111894617942133024883413241960313684914727314138662976461537457232141914051764514238668525235353683842928107234097124763537812593233329420615340272421357136099951691587723354857692201469618659980024389600241344158959321414476875980025928635376812089058920214788088966760596019399313013818312908807145397719671897125420811772255440566380633510021359588499616311364574715814758347718620311693070294051941481842787893565323223382930966848467991994447122642980972665507970501695720069009043677079504026726384749997668415372965225135516709348759973358325994386716231210490638112960784860306845743173935430983054170345319076946685645918644999814175817962312270949670140549080185945192146974756549086245372908941019174187473696996494214269848208474391237231662589617691205511759903998136181123319817364245987659854511337790916602127611544061876940704027000356041308212299352727712042538368279960844918962461871973945041988103896928744958094486590067086710610062079731370804674714661093323683813249321545351649793478407097003472552257120706607296682371449930766979597160342042113167473904555408399893479939652931795301376550633249151136473336511413393322275598600397705225672362963724605957243265822951334408846543768088043050052454901635894094643561211288212858822756471584291847935996511258936248264791387418959711892540457824002974502300065447886021241088406425874055040817702974938420815008496275907810196263539303028104767253195294366874036293350081060501882461111315892159135393861341998377586296498240423583534955452746991630260153675602871918971804832774008911645712341259718376372175347109974376431984250014884460066270250808784831936124708575106793622755641681258767913647480222503316491556453943990260424839547814995772190623237505301145373734529306083373959820189396855672624812989791655700731712285537265041688308762252820664004757197659948960201483460738112170145025672787955458835444642053256886604591439522714624901038877840582699479815112551075438657954363960739192378583251886694904123686175571812986294087490833073487241300456375796898775035194997745260261713428669003922497129148847348040139931671590102031267629270112303732236542147648442677648188092823179349842750215284258716891858984993970418039487221332217548702775178366490186720400855042613354944178417714619521603157739603122692671840081373565124768698132075641610113601190522211834887630483614398592230264796059073930073574923535383491430708944342849494911410346590523865737224508431389105957234546989884519822592287395491355130287492773583207317946928030853450659515262056136705041678811407438171905142202557842354419783095052085880104407008623518170721355021680333656121208308460261307788226286804822021899319071171224618270207136793969372110240577947537113058499168403697718446721381817161993403105876382482853345930050051865683429494058479602722284300249132758635056532058187382154463891017662299147025639723404003912255769551559509070477134590038808514536427123580826433799105159057091739032863889456726667382426503419586750498684120674252494659980672189834811059305124738684682381257571582566170254218402043287110621767055772345056905693327846282336923897127768880993407799948125580854570064965587025817556384708758039114611794350623962094059825564090971441013130264588728031688776156162792638521412742876757946920211925395842350341687687068218875650630767210068962820940442209474713644289455819966474480750408448005544233303565978733440388348124324412329391010828200835246068529529945398948458676773395991145597957580960030774805534277646063957902323730197979790353985841192939351970914987316848749261779432427602995474663864304890127613497432370076094183120230936394827945727483359230448468634090580468386307246945492058916476524230513467367808362382098454455693225898454373847431165091093236899041050667389431139530463395604278015504997737029526801515518150000976516663258157088811656771852246847479429805819066090559446869854508322214062099883714884542474484600152439465867956257056421341736002487165428688950706080078255616471869320197633106920665889557978131781189391687263371834958521124211414867069484186856798560497863608889659102479173160248016086002788967546526785996317455223443906236608136166901511833020987570144214211424897340002134641428850134481846785130342400948171691148412449951562190307580065506137367746814248444123532138471619900633450748248276209014945051553470103143382406572815926974751248578943194660323379342210708390593528218939502328925086705539616454677210921129837498452303791663153685278698531527018377933402459733814962767684736345890610278713381247661474335673816400793423022817617366294107811784874977083557662789907922068778446174778310483287700466217542537447237651577467639507393757185054284537575432944194544236136270643735365386422664766657435348899840621736495552229073725359397317411876589461553360318975111425925719197508608233686433850534642076322912412255400556863200456053305298915797650127895872454942782910844674977494240262287584126836585891419872444155496151958811986468020760082976846475731958108857869528065608352676992749622035664288774911229104844358112927537869995071956840136877328007520519610306321805544703081706102691924455940840772344816594955460758212896983150699024407498749231376816051532049986751675910199164940821498326669902724008329982170394514054178127251571696203880494375533825587188972284261870110401569507983033795676187280797419859019261571643035885004991739748203878270597448834534401180473950846318968477911568260194662556934926647954361737098421160507040630693118739446895882754142459509992492635606354103325973714459482331610428774677031498022344542273022198788530313704691631654478849124487220064412127049932149195407790924404040712331894834926685553646775157449357239633096960517552850978530178918575084645913753199862758878447374632668483614596519370635290145862202826709188599442264987545447798414646049967915351583822956728951134131534867245156492676625010235482067495824594833909181459595241953632245237649444510854363033397919039743984922734946026338955203674328650202102212715433838441799558859563495654503434907253841150333180237151960073676269720838043879068772221456140112468765277352176950996506218259570368728476958861691393405031580466380950983043061458691925902534481816056217116617000236872631082718130497335590828309263694317101596879122505119106656824968268604293801253939936711531961879162574023363187402311450413757367073733246248121555059968218850174160647972019095808566072105060169315632107126170827260531761904296998912113251491673222428568226339269637479425703726098793403170694518521289589572939262186467749470363432772289534655186702999918537543447718309904969757949217494461902484223899305172481412736188563944006475580894792819805061031497770915678695824496897436625949865630914646511917554300062237948767737509306807809397212839211459405026210862741292896113895830554449104997235015892978802322186848410259627345657251035520871960760989454629349561971241247375508348877283094356514199448707717893411405783349051932373592575037764405073665156096387289260855860471034715327373433263613733439127864713740807018475461739520560277153006369935387509432767609669916939585372086204947991609040282799739213201225918200792134670465213501796032410932742378261930414751692950594855552584407199561853984617123465277117002233998132814045157068875319256191566491787416208764121113216260100838660375164113480113313178189293630879048025604827215414713098762626381778963331231610652903712685596290097569771072590586229250920309844608850707092006795939967074591673636491372510888178038132893973640793267919220678852942695644554333271430661684385520714678793365355169203633732524627488074107012564451313497267318317516245725658421878428687906455649374927201863300219115995310845385278892890108224188835277040878038113101075482113965129284331204801102572171727380239465942121935800891114672025874645829499025183219186014002001072367139940155876675058762999819815586270612476341507482527108990582954574925618557226880294125321595488503693669396867438769553607083517194964132270670374383911617025336271545366639999972744558259823888815409562735163373536725020158810483540444813208020261893863941701904043184462166709651068142233228399343645442709137970534797232464901293338454879614773887747676094474706502768819675049527497822226526613433470492696846216504672856955068558530165976412635265011796057906038839126638947388338583320161494988017088351915225443217923807685434667541057863082830704806261088789077851551120362743039358627815391045885681663286734382831048482867352497656308024156672448674491212188173953242774997062664278063674386759856369965531784530946590762624882038707423106135576509753327158903839525381691848391251661758234975754774777550566731135139081526010086713494544115740400994286052512715441204488117108960988446255567937797490480229521745356479866676304570000459730836159638335536622261128229122545189134335061194253654133252447639653201742926031044575566415284459425306687995827953179306045632392164490606698075491717941408652977938385546912366913345254329964888274007264197098772352511144605152969647921326320584457866237650223148740235509613149501186114798608919732087745002548340287735159316587435091308408901959355594047967087116533074280372849269937635239441440496616730262701346706385599212871839394120595778605421332760315658602498519723983508080240129222840508919125374685613796867690442519824296770897174643394409569967655792997376602619226942956913446220604786525515266051694122729126831697709604135869118927409252641011558976746562550390460865866379822446059814050782730739762951348111850370137035923258490976258627946207411328283627653463739251530964194310946588990177729671088655296097734532947884274749547402939730644973900976910948006627002885737876197329235930779237157301739603094165098046686954226089120388030408477659035836595920264793160603816491225413325140387317340232163665140474435343006420102439316888162106769903713755077316089168359635159137018278363377607433461338035075604279525330478617375177761902046588035571490997938956021033478964298470366577143195650925512714842087675199069663700803537744265881753906441243414760771306908818360668174372884280612287687539674089023776659273249946940637749956137606864298806317382885013239461029319636595055113649931614814185682208607070912654296855412443653369279314524581643958019595355873865941484022523547553273802382786741119969239025811790540314853138534054748467782785929098180805260132106419768350290834258108490586101054735263579984576150936918857455019668058627805980288872594655852003959764786852341077093140167950526331780599388320231526853908787206598146500134155024032323859479229216404336075241811938315019431039078252608695439790943306672335924264813971215464063138822078390508587128769411452518736138343210476460995893602180161593302233514616875470163565765929107947148186938953104653013546950871592843932694600413262554506762053317783472040642550676595559625737470236906940736642162433240511120723853925495249647751312043928735176782732129554545601288514466848809883504788260743954450442973402058163048954533953436058279043005942302138794451494036706979208970278759308454775297491747607141639773691494440060077158326994941703297112719592278483292564839308267761884252465110454063553204656141731287595937463956608843834613299436661908553656547840297853875281536000799320009761264774343629771810824346044264019279624052917254776669358920846141676169846669725610699902135510090479543545355029934397881680253445367761399900325626347640561679232127752358744316386610985974103195961777156418457291393052747261983832850680291063143190345838764801550732589976555748222892563607955676173739260405846718793916118484162839691439949927715287823070506559231440618384888156789530714922902585737888617094069112644331339073055892680470660916257175015287155337242193520556503065260132030435725358305526797060033768687204834050448911071794681724178088186631306690971152152051323775599982706104563158143334488186877870633451177977548790630994464997790014095658952271689394481535573870104796991336833808273319622190131882701723931939369947540744931347360141876544087261705340717289249985892912673746718744556161043485964737864972973193756535561021850111158137467866770257132124657509831632349410122226376080721731109165479775497132507641178256769869303400327032513249681344381214819353534193967532320296384152209991483053787005004468524880484132082996150658243569007810618262010819267088627637975459496272867890347076898042330930701453047533445594629464046266348013929084289703642136466908493573630010408265290474491021571124131060245303547762659933323807195497398571104934934229394093566230146797809532058354625219328952492199728114924208010945652593476549027705822626068735329488304874009029015867541656545311945029612786077578492319440810237674247064616837873158536308490090690749424835984472855213339360625950204208091884594079168059450339115505979775084451208101476430885991065951205133939725745062484605077398233216019493919461939069194725309100424297023212603690425042037455137089601123538907783438257233581694768481784685816326735252669620447537261322253778162526071605906914999197348538171194854526340014817949715898390767124177105182120775405537504007242773389879676385470057562814189315770270474408729680633829207952464128532989513023193463397799239204611548250258160603015196415026458825361950943532955858780384951025285700858463456865607731002679674177881031916907669888570804931325300158917292371480563416990632104771045665191428088396559079087238578683088952823852857322866987620820613291828512523825011374899494319220824405549852384803485769153820429994604263314696486899527046634352970431158015207906589876589766142774266645167765398110620912690710798008727498400299663691007193675136207129560665266399283444370654501079023045955904035527792259381770922503443546602657512944965053722123607254857823451215379620725442052404968381798575058127276106241157742048459641851533272093891905068312272267704484921365932280390882558404658322464257757862188095718277367833061361372140670745798545977923713739777030627105050942614238692296940127254258642406315892510455538668534737385537399063157711053385096650210037541332296048865892255254171382663568733742102874137312367232616293930684210908790841847095982661330861895350307208949013713097660966197680623659157081162962044303485761447836029485099349661221855023634595000120529709706654528322610150453336519052523532661220448513876348377864761050120230105144772627282469185471782303551783168176657220303231149396763396828102848633700668485224409336412653451498931377533194467398115803752052733987009641892466834853754989510343344991448980456798045833258666112873115741834227958744464779102996532445360331717032850446646058010495733063562021700149956381152703526402213369500350219551507618954954041098698979491818220428857959750928314670854656287000894403912249942803259318767689550075250459327401734084606902971640083037118184890500200529769888331478161972014676711878148141401573210170658045539184487724398736174370757335529161307918864208632526973725012937354536440341819889794706128860199221859252926891286220768749373280179205679252357258479522575005420434343578888377883162166776682603381540927452175398200758709900136255104503392022423478178141428096399236375124212416274190864449877277989464564087128374682703769952396444571885902733229337978685787348071884916724744040297038709135501766379710326238572952138883577613241032807548699348263579918921010486491628838681908639791974764028683402773717710619027846585027578851496033946832410286409650221310810004025877376967391666954332539893507100607087389431088046926447180701184602796864886892534608920208431460029347169584802123007713348414044162064317649117152452786105663035509261285821264565340515383716994145986173363106555983216224371760114478746819052888031291117798891107178818998821141560303251929942631040872096339585564069170044616321606042805624556542782270014995242810088068719472594572567615704374799956582677692125359596177996678897658815972059534152657302957536539333637210928349344370206828069546338601752987351020886509823630759761884650967197946010272774619614257960552019776579481351597543781309154232308533979819601787039288750870670673715593319361720420738112778156594136596866276502614519654280705517671598828340494019274771465485195102109449647944101340436456124043733063693479672637799541223120690506604473749008233759349091996855841259605010847580049196450976275267333151524061007598050801079174497956438100044275019409080951979507044742481599061254968174418682548422562666963200276945801632055862247182084475916513559713919549291135556218782949655909754555346065361076461734314223263736689050829108558957275578008334938644969198946796841749450473779239852317086024848238693976430058773556433520127532955914992345367716895297685134187177536073969278111784239891716644861716642891198852077356312787019614033464116824855705227671946915330795976338258096032975660605110128190246693733472745192766311708637016269490400290303068229782644049119829205104357136381012583251557637086533901128466780771835132747534829306294660402612525607785688669736135145705932104275030241749080719108150921271863575593241070596601249824388393746268102435183237003571967060138648981857346189070228832299578604479937899333961929315691420769892898444516344284592117612495847826293347528997967578436975377755698388968377577400461434787430968989006757754006135119173883259929957174755086229013708863009403848220661235858448095846531447317744691534750211969414184819029264510329556218466607594105960725093454150489763415631253359721210552478681914732006835128402098055351364259774052665440500477278834250251050763198727148983450475274762947696037585298781243068665547815673295071759246715041075538466444562628838987109448469763356382247166900278017480254252909108945962753693064020822083224243630399350576376495859926720805727987288325989209266685839175935584969014507485768535092944373956824604938526012374239325736780210722649377093122969206662743223949022384544936496694157787821496149209869954908060697521821460309288905838527986104892675321140042323413789653630968332596725853073528417041749124922436915129788118182957859464672974562860443623133226536807248683822375578148781884092154923117020633786849655925682093496586203186540157658322258076477567709515490290767642427779104426135688464066413706045101329907552858431477283070346011403567490880240552690072930927193278121161509009373622641121525881041505406087553896073285805388012638802968342172344066909781239829061385090951390884067963879064237360182376801648965642869074273443307106163796653227679233398008836400863811828068945434263909784163733856840152838715996429401682764168998433286145532102333117450645769794719013586803113761047210319280759634484530079548366856542672263815457052301404602385798467367307808930959632637808059412305418268383130437658644219888416316300568494033563657456609815471181726341851301977077682325804079905248328329294627822119629292518130791668061014251348440311265544309699934523553405647345084178325632261417900675179369873989029311269317987532016499841134943688514694684158849981617123907654654646597919661252555182763492314203811946483266021773961587477548521551888795663493344764687485046220220716949680145488196651505767175241146985043028875755644547149469122295174688867178618622746521913786790737548387569603087444690835641122431489337992566441694070302235574980212679681172178293266588227997769424687434042033742983781511373377718699507302693401881358427151237640143362644566541822104722174624658308321307620858649457251473268922560340789027788891077727682231927966823768351283042841043570708470684912952104408081281179634926992462064117262561533598688645637841658008783838806938285988250851336418967407110034112003464710895889813325712476946892107235195078156482600761003775975046235912100625268579643529758472455797459136001436787211078386545844694529586258131427651000147377726800272364088821414359901440633139503720210968733689088583410529798230790207651929604186962352406864903855357297691573609051443366571292097433193069283680451075715429042933724952542120676504659224475441949649428889336345027842617248642082028017108787218874762235215830846952008289354231207930597283015372365249616325084711032029267395308997759317762552388167646141653826458692784109585304048828653943008643794437930689912566241535140808768412340229002131749061667871071452649314235931146384282604843179973584625478432084680102043114049764514508135370147847976508808314434832501774850194084195637071391483034757066548701775599201319634019042909577269946163051073266786661241685949071895924542760580859808086366448107266319945051201927496429424192462266170555831785997746402908416804376242849762661250799306935986625071702803500338111309034836635923145537132692362405345189367114767422527271129525400167165381224230295976146486232258260702598287955075737061761149116904141630164137504449535492342303462712591213888355881666392117325212401179094370094852745902995969932458745568113290152928819360862478691553487806559087838822462127696191921524135779942512422448833739400039679182325146551293668802572490129414431370024548619703424083296119258543237238416418399493398869787387777653944137469359550547888008053126435648812300545897751413787451146122914175314944435460556857803690754665472787490485829730586490807659201208399464330554384359261168599370804924203825823578153768558196751642155493566255156946755735728575173974863914335118639801356215811297205291795549951190491791876998938309329777972518257212997589614102413192034044171851031551333691730935655313137737402570490495601814525434957028624779622723009801034815679976386808141573276852015629936542352994345108320801526243466711739920489167009300793115316620509122411130470746499005607882696033482988503382861980898829562878196712153680046097039216859201809738871146050260021277981651425886284279165672784637909430226591225727614810084072154110763751957484639505797191873002327261905011508980666825207409908949812345000897853189931234648373012163132691834222367941736791000656093896320807878863882973066581980903655194546070286175429327942058939879425924210709763844103417389892150470217958862561646977702925718784330452862800162564845754114403324431028371648152630362236078405933223115232317113076769950632048776403283505194748177766162151182670639321351001402394006117184753002358489140024331675527254791653066605421807450615989745148452564084655904652826131154873957855509989075183025744401032766231484106303820446313287660284639652800768006913236427438649010288207529038506170835158150572350138040541395690540350688442019682498680347355995640481643961430483063886522938987775333474578238178425105096673904428468192993507778779433337208493569386532673809444931309465668266836856889879525681783723985694788047885455689319550834193417978766340544199890201999283529937974595823117148786677259840880528717385392002269682620580318742654000163713604982396552345860644194706490700987544691150285063265534485576571231180367883235375964121772098990775899546614433918817683452893156006277252207575486312658267605297529281094883504386622099301939009931400044706641993704608263740097316673907556717328054308641633395457382299166235566996866293704399073469772976492603773112349125589307071032597577804867667791672845747482897591292984149508199547593937414723346304908524178647833128086092035422855499671258769289832540739479072903636105036346509067560531335479102125272154666964809745628545842303396747406641380791905781513045079963423459678059423734651167299237403843993371450030558563127602903196598816072782265804034226973419389157258347747467626647082444043335983885202087459519428167796248360497393597184912712087616624708136975696892932700397266800884972485414419230238451050661238495437146020982804221537940093786273137468079673892599972187955066352069631467653566732475608149221133286750922430344366001657303237675661148877040252456159070924282618260072965014674381405947343524568653783358017640577187468725528778745466268544782722977306792986698639914523961807218904031961407362930134206180832626927786518935148235275173116939942743530397479853654477160329172209530313072821205918998022264503441114552205784226512313659609929075926212726066193365495789398597310155229987031013222428456851216319585252993951563437835349780002621109083346704312301659433926030852538723044847453631800161724946297598975109062532612454670421863269527115577349904657759059616103394602355571275426805879806681570138978491941191758537515719391249105471808626501997413197315365904947105613491759809676537227718475577563502843500866307350338751377865187050105065544051264963708101523839366675648954053056151166162295953189543342446931680549344838506617207102857033729432982803354982660404464798963549205366328520925821399112106739485947167434838312485016274350137311664910715230791478387889003139522923810750414617558614087791230039523299408073703916694128942367715463701350891220854112619641473822967056856582059109566248618419024715774844636895992943502674617980234304310291029035918528017439899273876125707727538572563556089121808505207795470786880663955596384664127091388323017958568924293719927090997124680247116792866151757061071052406217085716566404334328246585675742543550373829306806194153144637864733217711927133604272418315935280317318468833455103615857156770551402682022172144215279219941054549350645005285861824981057160233673140224138620548445183046761614889725006907091785734814434582674199018623222221110801282752621468323915612470272734641507280220556949439542311893539570370587591811998294119724080876667766949944162546387028471389068596692489078923365487085441803089600049164235269136991301276464602316809565183777555710011153678212247539475311827286751513562140690103046136511878200352647792137794441843316355103241787039308642285383518177186016952037574954701036901557526139226754063985842111007558420452651149225770902572647274583034463186588616049265845388420213511550328452030558836010432865937790828130134789525064712605751780501261991881950020682123291727791723273671850960010819586201959894310212119022194276828746911999183786552212855789109641767734589377789050843924179426616962172899600453959133031049070600493987230676862578079333805636797532324945080380439407882324278527032692617260356055027929476498103357734492485940517576590782729391246942148534815404483096926901067910221956459111782338906312511918562440267015902952716760922452152395871128621007739878510611916455966496332722121839703298930084557196969604454368666129652636189398558323882960912458064998087662507243732005512311016179852219487353378726202662032402413089730533971179877806204233188519115054149590309880467500948446087115672159983189084024659149163555860864192322780446478828888939731233690187733098335528765433350706104190844984470865814852723384279091798546322915590525162764059605228690690248987106013154749109960333972521360083856058879583475155944888990504381819344099206431604734556153023708231357769680000415609240871210146461198073456896263292001285645483993239364940946968392441907073454420321048989683089291869730639721936716913662822759504736162288371658676288834911716026503122716956009881853574322475290047427020262767529165900140580530164395596078698709321861000979012395275215207809499800034992235227603164623564057434092359048167320607923892888419191427355744939330291646974307776867004961883803817613887773500307288131872589298945133556980608609135975641744012601932410346564694717889260566611986785147501391074405434747137561941021264541063912197835871751393240581486022273985038116818719827276206536632025652006186269629816077480990566672539929050519544159222020985180356960853156605445314175637861334835293488381646121244758632993619076025210068684083645026384885296589518029185087441930565564468083202018363519098535917933673251583681977183484801028224460980091640599527596163958272251138671775685564880759676657005467316019122435678911197351428046426953693690629677809162768253629712168993308769263826511719039289891309723956250721328752818941442867716089634694658293262540486714529714392894865366479286971544596869847469252922813504036002563083046598571031323499738959606622627902478188044297661670484826451274000791189464053054799402024763898323578723633585596181507719355492174233049497671123805522451571549528133561647621855277589932978778111480733382953741325615325271519040177930887004608637634006728523809043076471386589365362897013768311064174732212315344033345345673171436126070055375363503718345774155225521119727979859261683591298811816651420975811303988135524400473284427845963186030714043860481996983063277890935893296303951797984298550888247754218407736461249316019740357274999336050927174642056479797502710949696684236462493901233293631616869816766204045805253401601866694145267922455591069642673712636306233128084823541341925273562243778969636332866308017104712104079003395470443045278522427734257290422138083389000993536770718269563083612462621372592472529000113239195543699429902924631415003021227036422104996206219532610299366480197232668367092073884761477113764009529904770647957920408404282152752114853131959979529957782319348585690191999191126956394002109528047687275586107660577046444141553701426254155675679636680799075473984316025226131630702956866221495009240021073745671224163725049655861403304483266116110595863029778248187045513062368748873003181272420164569870192316168356884610704573288655677498546677161492215741681317373793038663324586958752710733580139896482602849785082138868114946143765159155609896009991867486996479659605630406966134716609868325989416303515894891039231795658993396484951770768560017043568937038144131530220624327494195281801558211063817342096663927801987567796459600834941098881643113078208567349651465344552562447127710025658319416840749186409547786857451209444447396520539151284231410238513710566205741134466873915095204923286299942716435522615361850337594984168992541233259461195592157630167837326514029053747806989547705861044002102006768632118164206677170369549343071047354494632101110091036688821268019276362070699802048407228798492379675817210772719984414821335997072135807515698821886316643978014890491818063124585127386261037063906978499845738213064125174922937273961156018138135835203977243497408124465129761457068850439036527098778299218858371503069928556591782819781337902946316597419123595102195830332963542295688600151837583767249687342643412368373342361698612636892150032108106977218153199931255464102070533957175182514047785293606577185578485661698675298043275413745298292911168138481044414218486064717040737525133714112358612233282059176016420673216006132570705846541300160564572448756025923684119450087370904507724409672752234806060440655450774189264870888593009683186963696277933432938238930804678747559063540012112872464210555259548828722396768698546777672214074893651935372990941774028900135174486694970443646772587365562800882911479132415659525278301446736334622889464364242266745549106069581956292696348728209105601282154706859191893111489880594788883984504625797580688738446917845550265114114145642972744121993398636718998947879850897208172775067425109325122292737108202506275441290163566184083117548095060459923782711114659205738597743711257135204651481864288286728300440461279759583237501766851181880934852073024474849588289292268654623272620330558286021697868445394497443049041673268869192295166485406518056235798197809407452244388606099056162747567295956792159432177905737374068912517957509725146478464769628711496512542087505764477490622775049944887357623141152587985228139802251742898091052756524771071318135382868379569125155079234450308177034503725945185942332501284883978862509739260953602108024668898757220313778151891016760092994381019008517978631260793719527757938064732634815170902778363053750158743317749949860937514619598020753676979104334212043180444291289844137274145273708717765253135631071594217589846636585147075850693797650417584188195131852499204677065298207683631401015171743451205838911070384486270707013476229842079302789454994948210227667498508040377581536687014778770066121548064439694955224695050183047499867862606929922806933324656519859474479663275159306017048607016729527764941209605929247894147905672283710297721839745481585184337679698981392267863468949173744196087896651215493498537048992621416086688561219578992714314683578907633609393958048523245251577392048652504887130231030201141139312599207807722375296695908528602904478046655641627898049638678665302413597903577726463357104459393336345797353602335571414570331285984576100344576952621121999336256298923579603860341659112455605912073138898459175679888798987624012278996889551540074323206792589934652921674779140898463852402011847420522302189366489206009552218230542862223438070566798690609203518725755395877880997751445709472489025815122427999327755164828447102204327023908196169401527806980509098306542575227936349084478310238844887490331470078319792976531706366492225736139631826573940236643375951046474164311868842798218784881353664229723748979458427685478852634151896837924713838800680851769031059848421499472183997675823192934555334328245834020083335911255864801578981188102491983670361680259153447264425755589850123823510805497931418136801557111189345266291992715030495410354995231396591873147032166721416791321205117835387793773389490541741830494161551718662421174489407078299620840019540248854123194640743321030167597333317903260486930961896816751593624838885321024201531767151010652747258351346104335897838339710371779979326906837354765866392920644510626024201318517108904138105387823527259835090977409163844493215990287776684276225429658810291033245231870654170181096165699817461548725913741115610605925128886856751247776903128363538246575400235177249598686283003394894985478332743871463658876454558361446045740453411958935052092711989247030132574461289505848611374307189450175308741575038552532797749180792939214605817110959285931760978278640064532424251288782274923141411328949239382406071621285529428696411063651879625272694156202386060034879321279262537713686129454808772148398111062849117989763321017778896767649008167617954775779035064327092842248010973461867930283235359474148666039462459600793595037866098526440157481656370456805662827401342386135935245901928284341263929575514042364526577567308348850124771789910469969623453905278939736315143847993994128559752430407236069205896639076333262292037588105566852305620697184496872893024824691907621754242937037288524159670636674906114108386276689497087322384159697210609359980236362114616001604474908086113301843213063548683014814720550431163314317533889160287396139105936099698028809363156748407370531952805382268864389002188070328682248382104473126875434598257334208962408621699446000653734695558849776338352484407762826613018929657433405134656843068676011640807203705915961721339705795195850345953445012511852171142701102173267471850955241111917529211428980460998420566764018226374751738919303467989926578925401088280886573688711866535889549358761170303373022813384714696473987481389650836327461928004278107597051585905283235659993435209439608176577261227060475154938815459825313478798277848894103491495648750345316982514960218461479177453529420192696880129274642751653701017966869219246307853143526759290775924934107451399531805382217192169372444269763558623161232428678706960882895741447134918405619636194883619599747950820101600447840711890734758735064858695915876465618965139067459566106913514319584554560332367589060264529324145183682342455311418349258338194075079666273516635947388276730016198512958101757397097325097338183841347782060047905608091082225837559036805700396104827486868833060781824944646078419270692207379256503466903061023919569068296080861395631663327494524651857700334646958477834764447021381436691381953842220944938315865308436106309090034701702185154407687605910006848802389376298985947545470735583332183559938217131565985011714386063813035078726168213785320192836141063109885982903064683352849951017842541952520659527190327777097693380419414913298063075373893368000103264455977380234245499258432011713409961584061918963644650054412862562218293400344052268999067143820141873156669018282364583295465383316888403069825490308168930402644950584863095634583309095072763361515844498941084002488635613678654248636812948155200636997987606582477136531866572156627207900128977482613903554423295817844832771328660716968789746819887405291664285013835933945301855717794929021752170093595929881501228138067226214922728572998742141036446518021818605094343072081699858931058940134372995144934833151138250358731309203025430349141675891852617709442728713247547371547443166549970877071127015772483310850712394988113816101059106740865137681154372298084809023378285748140638451537319001152394797672991636964486103485287846094577579779579659581726071529001672873107195089683820612120677922120557094405212137248473811917142780287357945344764819606012268912595876473672999076467607495096829732242833806964078233338132617057981061934312352678888014966209024970397547158931113068570255263232490025787707715525998558869889956159286824137902337855629987058621231554881344562536949749287240832752938966446311451079709877507071883332858523395249881186513642618470813137373812542074278975128676169946472118448279063654217596834214317075293077611592672933115224259933814753269094095397758115873007382268687915545566021379559626289344434684046373705879395097270350453467961621657288799535911686037442851233201312137526860035095987980270976337425253163283895355899776856525145949484942348931439258053363626630257544559121772739379879567489775501249209921239979865364827445908713890267816494817916242937771934052898238374846031103194051651960635333443855887389213929900513075239175612674381551884292575942385219567651097257393351082548605249240445124677340498822156562198321527812779538383482861817915232360858553850030514071443759253494129226755632006183708102088048626092660827309418556758510451712391740438508717358271828248553298843590807870945248876833518672381333847541715145611779689362474345863649922293642248266268935513060471190304315989242909631779522148281084905245880564308976598670772481205897612873903454648009407989930892655739663066873571048508434953772822122048551194666513211692519570204200033849976747694265383799600649131704154038560205054364660454800985526506984000009948553110045351753705046896319015854674789544681663896074897777022362020488764346760588213433402275264236159896751530228084162216794498938056829978512631325239679056686658532218534452218029268160205180575107772628479230083269575048943619530062956799045023462512453406418377006859491648954755081480168206421303197462618727638063038660676432315849881239752956012436753915644136916839002462618222061381142357362879936347841570369164808198894735690029362284729262877901707323770773122613785111026258033453743856456111346745672398708108788300257891010290436182776304213830779419092658042654732871218870362490204856452380526582769811299106536161580259312846468823850636850457464797395436211228208822210082934256090589363581128750219088846739306101740136939715995749156607081953875120050997895398814617999630937711071200558044312526724759701138291471040587225804579428953791839498279362565491622238134629282533294704966623152960633717267501256361664193559295124535308413961115831498536466685603973814829381689376064978106944627226331522825410354385357252081897117679893360819740427376249006144466645478155449039984243107642539055190809881254736081395907722780249913901744564193322346422058540333471991120045109361389043971646777840671982646547038881102183135623234845588113674354222363190787986686242696868914410928675287688604167418278334168264656568900613590233066367195303416630650465401538949933033650370157989528365677024879431952332379290469346587584145983823359548648242258763526687437167413037373727488377451490039281895052555952324423250898545162585543512231929166356687980035253380913969596485203891445194945198772960854746570732076841426407468071978740980527321038964257453749735133674788134159473025384845986457911011610912644782991493077359029073950273025262125765629749750325995768991845941926583596082094455686267458131027452451648936575194117049880331525308928502024631928184900633212489925279270255468772403778795003054782119329063832962493699055749958051486852545588406412150524595521589400498283507220624620022611343719885944083502793487017013983419818013885954632021386087581624914740474848277636728688373843609816696572034012320677670179854450917133304007310706750697047635676068041952295414206327878263893270718587403453112303518737589934826375994082566212407300968232671396916725287131573866751430136921354614292721963613495826378324664850306430485644334396251364166473805106095477767808968441778323270878372754356543375532644387823307045316660567298971785349445511216976348097206479449744900969135402431369102822659299716798304786640280848367777613605247550632859076888397133875172280786404747548285964968509190873616805640479705702528807153460647408191876964342405715812168339373383720561346113391874024218319990773640901278649124235392796085412559524983357613992349755921944033334974291439099008857896638814469922343854073705491270742655167516230226622260782557272387353256950947562638225817610514531125818887457162172221490331073888015607182503705803018745869058041360039178278470383933800442056314447664033954753168022870703553017856850725154266082090839120133406047247592332287428661772409995837671074687262322023335221050002630413050315807086663870676614701503363463119520554296703561623060842621417525303386457918700129055956924599994518114810772860037844932577575487584437533319024552729737104181626473272996301789342488104817009535830277115767458043134389276447204343057931267993893445468391530543574831076876195761506036158705360263640803902816946575953068752701144009390704882354618821890131426914906624319319342903148735240156152513203465369304843725022863734851720862339837064801105132416164658881666825525598411215521337973687525793463037831331213483882660530244644967960766316849630143060994665106789858834973040055326752777569096711480113373912966606398289702771520941179888353015393365855209814935317896062943980313648799843613499394910502409093758750966906557676414015607726054558657068262701176551176357101890274947304662463142645560363685709935635315947389908139132860759257356342285164420323977559363811184025531898518041866616698270712677641781802292455132019848305067655632969462166446364578222147541575548629996443073881142161460511556598656632448550252180396578636802549154026433635486884475984764230926838763747535013732459434876494038941291011813634042366714619565405463899425966061376536165737062472112412839296588240217974322261429133201136932757141069817985176393969241967004799752472421281624463379177351326251408969882011410112992239766354957954530420650225154935017009941600180965170642651615626801555177598736849549874340445121923318692863815242339502146623170609598199109668449788449680902548149322584888907742963030104837167898934649797283207491438701062269789082620792829440098878031981234579428522586568160316902914829222322970750650924331714216438528415000528733750440263231600401667779653502108491299750483562042972838138502339878111054178032460374631710962594832085772686420105240617367564434779481182992088624386476551718107409773321956958901085584900990396399373259556328667564429481358690940200555063324728294277029144562583236966441608240795140739484234130347106171874928145259855186522851043664768684439645396943531599203058277912624847759277839233053763869105809910531200828641501167122883691776868431846834998717453293126954544981559546805951519893303299162754296408848566758217014441269950968842464842703061270182802535332651025357401821047466153567612715470908403734395891008962278278374111655652675581077014105531483451602874353717604434718955148974473441428475982482667772911040076415597803253542900376430947203815909342357796879493273054398896183569654387119091051061541673104651312715598343983483505225861229595968403552890480600895720249557123698411544016101386546015461001414406302246119277849482896308131844974028470819356359782193330234284673515129050083313521570007190647200207956421832066583533748686830619536621483123588286110135329805225490614218972059558955353921071397883511069520224323156258711613066704564858907350847267449717279269540096360605374008817403029884911070678476368736830075682493791559777860191337181799152960092406331634723325683666161524120298277226254897818051385639363510959156448775610794366158295058697055651524549356331343864401406061560591358954041527170796711104880363432267043603841464596673052738620816325344575413088235007950842188895824348262133261881111662931898205455816771416991561723846135763620521633697044677388157181431096029497944046912384302399931883769636134639496718040614164977559343027651051006252737356091458977836091481690066752121627270648057197440716103147155836425308369139840595367356372158190541608467427150318727161061729937888944684852802495448542605015519021677376266050833696386256979309503833222036069217966037746471214771843540593328496439056823913427927594169744617354715785410277348927798059237621734115326248731514428112932970634485245497011768720289585693245587451758510920725573101578041781946128353832645509360367383265679659495212711894349417954247762827276184560756727240539088085491196437104426807454009937819352319298897608656879159744543346891391401155224207645155393584937284170464587206397745857389039766850931713446637591417773910176328528832563870134615995761305642900472407031386037341701512435339729727272321057624489555239238453109578755976010254340996260713258901639174246500150889037066287460502638737308320076280087705429942376168636135578977176273498104612996542941602210169241139061841146012709867409840824609528465008326291749662515795965734351024481793352692354697777638243691237285641059329172913127948649071070484694663844511686363344669144232672344868839508101557642693045087421818131647415737177795119681039991139237368488805481810513296194237651776901611129688759311600933173464177523730313451299572128602903866561849481532361993374705311212489399537449761449077276228664480267061244155412025609502609296721183743596044413653134113502759558413175093649934114477259716654142829365869418643710571572151533214067210891558000968780579620161616114485172281846190031304275174315068317174987201162126696571249164863266451674868148501380060297236442550771514680622260204534155307722080855691878434951962549627559742148566964161458599467871040905558014619204845613638404928932427563681996515323118045579249763529236339199517223561230479122677940943597988180558222119618243551227916707695312611539522396051424724569843272908064558389581853517596064604842025447476664448994034948387411302972432011389415875891224073961086205058085014745756309914466427624634389178705857712925509779916901524381960592193122532673229153719008301077001914981134177198820576181324700435356093476098516893369116115058658787090489920956262850140751380321645654294824445523900086304324204063688342609867749854816729462920286351235973826865484054176985904680058691880008080451793731329084317234884892718931678530025525659722251914831603925059866874349189056238752413448517525645952751638872564761517200805747253476586188430989488511466270602257233632845207612623460876413659155749238021193923186072182975144440340516975307939838546679381715271208143561434414892375097276316835082674582087076679760923910900953234943405531775017118006266660198886886407053116661828918819106135007619473906815837769797832510918076703015244499174958169412165030673143856133859908519632343696945639157506679771989052585678840276772645869847689881768117340097657112895162128383217275391700803642598845835162930971557197407919138980137637609565459771886457959579285378059195013012316947697333705872027079029708913141261751002682101918968570845363546709795576634909860780186742737812608757885562476825899718762971523038017327012092228788716336617736657226889366887775032725256207280953434664852444738307028365006141195071927992035047229280949298588072635475455541476481900885387196913352842700326570944158555604444074539910874433815182531178087148145115180256016239235478658562059510787354752992134511330493528025507346791854258676114835729255020363266899479288057191294868520672539835405865678582331954138053782863573510184363491162630453738194854332477257633009860151654431254012352534975938042776235610067732472185064124027803133945575633772671251536866507725440639435365168145173069095220048857522929022182814987183098309600663581653358782860015194197934944530181200418004746801742341113454172180217244653608154853124238504956127260180509737612108171922604348473392450796143674080437077612512930413825319108325658625879523076667102112698182505869308949360299173495843074575200910340889575535502437553084305160143909307745339301502272026588573215311067991865868015743047809561190280392945883756011581793793037455559722881010034268449845741452678433967462945460617815035208144017896213459944566788611744060536800875152760878602949093366032347571784282928426084917668113221576273622839316077070116407215313271811116410886405927815426517384499288714249192899337619687598983795191683179143909164763605799103371690529392808729750676221091129882811075629588750197280274685474554179432290791438263588010729851073610981805601639080030799542908200611790886939209447423820825410454631987029047786299612050624812017629483962371764554082746023057054301911862824054338106695136595196666900250272908817558965918478455683883222801795656499392206624213243864377327259299323964162668939960485467444370265651987027577362430500650228346752481996031230671161398547353295845051011452814301276775708074117402497688286556582069938225272072652678182288843978156345249591299777046528321292211560478083848994219086486634727297488201765553118676452463249798101650248599197979730440033998825637297981265951553079387032077833445833980921834609145963797697973702304486382547135164370711798734790104673772607251297368777302088912633073290399366086941963159202093426270286373586872242627414133657383592276568561590246126108943045999866447612486116754235233686837231627821032162588134780810119185647451618753750585351589218219123814932372592055043128038486452533457224412105491554777388065034092274279465999828261321991044611557839528007561419680711827396427289252788755276063939844713561824760723002430358436265731582344461383223457735391871866133454360335543983338782273694935095915307188059457313273415959502153872672942262685828308875967645919704493891650817593652154484477664746088004673648229757948206082241996368495598102215135321287846141056798033315303269212840527817779211071148838045352715508685136189340883210652318103863028596084928949818329352805948018360433949226746156379936512327115324556913757072128174462104619749804701934636052530898859597351788293856897663225836088836259888841884333365315135297016074929717012242618550056081569853054186766426073932828214320718651756579361811004184733788090208840036358618046052668683697225825259856686142221151380926278244833530083876803218491456473118084674886557079328495117893326392039160498175985214938639889521729825193628220353031943310787043090757684485968797517674288553072875322474153222452869764162416224287945427684089213919408184466628544901867426743180934293413176087945758005713074727895502748895255124246934002917791813481454541179822134331502015583328549150770242667235316079378876759212835674482366825378110538029315993402089541207161363472896805790814743972009566784762259535242587261682628618342498995421187489500163215650251970407936351266165148918219561515799921962332093507219680850341643340773601763865123640900368143542193375611351000480561883916799006688320908411694007536452749666510273369260828510678527007991373781403683844212613395570540662906733216169220861510370433685690305734759752753649172970343159116952248805171707871505733114452660133619098962382164379306198364962436659774540800031193363938256726556563761089628323544169894072201486439054683981543134775281249901312673959194940234765413220403275581530815184958009150343167270840075732774444360004099034394574873139237864431883462697835802831501846091453549777938940310075353238871922858276083159571642670733534396462766824972845855874710836674044566734388963524354746482996190218920087195742629444356048654261436161556801040462767642063835606311079288541487939504888257943743148132591832045605400128135422479512363093338847532393667716475978025014158452209832625663734220162451524698533816903853991840466517985786760383802806379757979153134083505720757316579134308398337599511691610984938944492898208218879369813038834651349213898259835648557595337241151891724394032569236193658085813278605931809923206613593596532432570051335068410838486533093796006532646765561763698574582645423729782716953845122924972696210343503991856794877763701824552441542868006892284323520771557189844647605550743161054362313920708009348330420891185673920120431243015540638117541702142730938457428280024282473050714560911243300182583619227037258669551720343286398404964317646174614886282560015750547483657852369259938195121704689716796014990849753404611267471381369929451757883445289871409680662779284896112540490474643657384233326210179944718386955756624230006393354656137648437592366733945336730418443701725298813647699341491511976919663029125323951024275086483695110202272633284055155489914761040480692265698080880754240118811365204878885465875772035692597084863106345673869855236659719620755512052727048665886953399119123942668428989924297136454144337100546206604906450638382558076227061440680343723944918870442170391263183723647353016674751928628782241892039529137015585345825671596209296013711424687949142575553998114399113083655093165813894689784373924765579423267237478519474330153662320092484496791768203751401172283135757221220709301532764396595642389173428217096680547597887104477794926207721013973228907031124115799962214796793052767762548700751503211115621362321604760051671187737426966898173118901581049402934002766649634717953582433894689496590911027712735104980644192022559669195359180637454770255530580000391714544499185818837041414008749377518758738729412733078616783818485980353584384834320464647779249488324234674588177201706542233377052293209624584249527370865533331072186141882720583412297386883179610660398673119853329566786525628838478502777418907080157103017777064489573660525484223970463177212356230612688395896204178657742231396243198143060494981566488395122713023779348024732701224126085077448002131453891697368842476112801781771727374199707260770739022708699153269161885486543528268949650751837954301739429265017769624155557728245614384908451216176965559054646563437188401838111404929785223620646226772095405861014436016698169366303827250592814656597355320123206031449607396006932282908642645591442789818522021464534573914262888348858310265582467357693646075771310104536723908320034637568418878708921031187032926607868494654497242442012583801970942799977246797960033867863954309707916713181504707023023272221795280374866146903069487293459823702756865817261316062089101404750487110636512837477427388224378866079046234080167706114434540505193428806592933294570180014759516422714584645623603689584732935868893039652989106943335133577022263050500636357241906809826842494798801358803239969928566725098871108371046552721111448493678421645843356956262591798505718883907420365272488235443430629745173374235139559707164028587434709982043605429390245305530313099378999024161787587743465986009606725587298906165340736393549863204699941340407840002630736386331708179874266073018372286930016703078351619678847358084035505525365943588661403504915178374048614344386982103696951919279171540656936527186114408039011933647757732049545955813607762830789207957156875988972343987463096575292772924113480388683765848758275518127763890207826666669092736828160774163150157175484115004473020898029441198979442480873301132849055792625695526114290265562257631032278828999942474940707986792618409511978729490356796955389564451147313695376054713807456648590521764090523598523154071025525856156727482769072141061884360088342035796205174412597388324725537645289996429588785770909109471619403499481027772044433915657878583120974176698770239445740283894695052229762078709554320969074294412999841357178581430958426204199714036458756126305748544612100769013256017643488810950860315095177410383281154817071005846706596203408369418527993292458505130756264185565082997667184835498106661436183564610554641404970822229219818347684442240489482510332990653322639877533590745270667567613202571451049947142354296830430999256124365872994781189418120488419026144757391007699530437999524399196240306500809378388927014974378912979167211839380698772244061132970997902796881712156890999358633212914904849369876942752768296351872115894091021038226403459650083521127475048100699811039502363821476123420355984351545542373213206964479761770010843798988887947037940062866778294715388408067563054444635585305785631902442114398215233001600870262821531339937437909741264088187553047526106563952987322534322683948447670385837946309308855267340744030546891078802564537503767256108822532845408483539167616470784388575750226145626970705053464177005408797682426601593447534681472699343518789690559860549327085910648390944488495498321079989866134386875617797460534412255609301413294779838769526947616764717974266602569111429748569291361781794736162595091554468893766888382013344150823277774780610122566741470584659747255785251617160611297367412935690556616502517923099535717507077330256160573716048520987064818581245132939635176501791158165331117255207427282498696802678138817498956643599323474765592039580020470818614874987758039374202513043295843416106032724373442732887889282185395017130186423320497040231478416038435074084911841584515965258399444142851263521669686136032764752568259251660878844702723644381516080038119626281128890423754845184424787918458906245485681535390129358185271871837057377970706935090426959453802455629395658898418867701219689507184151181417211415112768664761683577413028584999976725972438481599085332394285519497799780764714935701651968215778352191014812718537651987409703407637740313409242304113993461217187904737097233613271907357941653583805623503215564063711873436314449323068415589830571041073813440916972476030811522588723081435219270885839013782946584869950465671357835486352433827915325133623638363333457187763634386167232296824825972054038364122571642779483269693976220308568480758929335860983021466189719834910951381972576290058036375717773192872983541073525506309258995990724608759011976739915198553740882602921690981099453492197972929447992497809969572472062174187999992611275099165225570699752798128974954049559411066988460972726650906287904834667944830101808375393853228024306950971666948494765905976951880918785243756453524661118586389199231056408596714716269158024243767171728136005866623486904591201623993863141984567206649989083224300615918501837577444350032275857249060753996377161066331476161826653034178510021217707418486434336147603048410670911881039133678521822007126352629255413789954835642538548781249757340499592892046848156333928180673236783241582213870550544920281551382037434574185438264016210738477333193496205181291376416573910810044682281398510849735600206396123667096957628513816551461250764257902099404807470266885158757530543118549550647258498664811444402327492932363911608526774188892313614138200574189592813947786580869621808266643785502470193959445035986624116000041594351827776125007111835915914159813586234187910156978039978302243386503718665507114291758479791881824612953838176668798945629961876816516166041567450007232215590575070295238363025348208666727996553470527421878658172358894799908082789271366932591846658869078464570012579304133553416910550851187243907182730122248343195365679777104418041304562929343530886993850499661595536226170288550789796097787725519214234426353714560117707964659337675429890173214091588846557507934147790039804491069555314782973997725564439231284318828563103237524373201178154050604339071675703009016693502875994911537182711392509668294761379291921672623634196049508097303648275429649027541806495902119497901583433033718759256678217660306782152151978474077847058594355758988569511564390508493587278360777064281601575642856529450171147852696626047801888697780534771492427297057039608302345855266482073644502873408153995131765067127753545795274590281366364170615433837706989402357275218022554697524260705884168978557216602032909700256819596696707198253286031023914534867355496922241515343288463366487608727269274399640718692043148697236350967868140962764034888836414047259742866478986052324039487658062349138412795304739041304839189894496308610597626601580221900836144164358326557995967716593722400893915169314204043103427599508345776930903121456308111390228702172540301837160767707270019110024938600234653748419606427061402152592938045539908624990300383074521800431873447839072954514049779897713513645391451595430398339857161981967031175527623846499535343258523940386619161927888828488778483877081635802828005369486829831904092460723378241754174990855932459769270477213545084168071167954748677183651068734537382798305597490573899632481324514886364568819212547270748975387554292392500033181511013682041859584872322543942152257889086225465628847291213432637964056112298812375064826584571956420652227511321030149867646833236326491890796071443546282115429876205256168617321597667772042751904682241156806330863851619036036626720416114626236477446889036467553731484487794095296933763800055623682365514501486148191862001476180790769796878793841297740677522111503066002853593386944676026294322522337002326894500257329476179818005525233783384043901698557164057188524393687827516754998616874959889877937450486121232744516054357091244746028276061584402946035445573808095917285733340664495209035196740985094072416403495735618085926772540911969916739099052359466465884097021998536019665346850661080398069602495037240896403832391928678479588042578163322255649083076317382623719757727717841730278288494830951472325288269454038029607949730317777195553664792888874977731314077803997826268397112118043062872682678804008540055602317330865785156973872552488845321831435469362768623425819740458157506270817705934674182717132647328610342353542539266270613611275809493309150304170668427669600595392859767799760604476301695998130734477479401481817494235724593386537727253731500288372043485217587881251081727121312926399528412683224256488481241679374480922370485159757221965143712381281186498548270600047541621606709669685479898502549129268232776963154574716394460019084643073417891304961642531240470025753558716916297425135622036878421395666035862878793783431038784549770753086994743945484752352320753990884786348250975506150641975570068844017621176767328339756613886975896359955840436021063662736455312993066959293030556204034279015259829756502763853669113620013748970676969857344713325038932200403284618158580137651437073915508417862610864094129803548423606994994806382717575376926583217086720035073699209302107557952220587453732583260762090151456218789901118866010954692741162419298113831717323387580613557031916445124467740839190440171614615698918589342715319734976262849912660834700755887450973804137393062671532117673511500076642971236384551080182401621891271160319100707671952753262051992759602190815689351150386563433456379850930886549280733924457088389152617876136832205061896348436881714101611496497619924516713492114289299944503733534856421594890990265772424327828577603996069319434345458751217916677144157818009870444811633863753028208676229499290857749342752325359860788769773042576683712342468619265193570526698710339576357346490600083898125412827590112110134339599924888094172257369971244493570264359685905094698250269140817741724389625521926766800006338233883594570366560533582484823578015709869908432759428563376500813275649400370941002104130510668440918489008949558424888105739285022629442866558431681411505358320604817670785397424238706306793363677896097097298321694562696957110107046527686089509485465777379488685852869952021526719558234365132369968409914429468733114719333434875015595333146478259384304047262700814094918518814208936091429619348692167640715207655323582432876379915615081839989479505046933684982531107566893085913051846622711008433587969927721192159380597103412358119866520717951247816820605024864194660141671077989654910618210482896855108826013974480677470118317124053513873055455533678759690406973288553997969861213348855376387898629797978901352511906730563912710366667446000054862075891932346972786769893507702710762600173868845584213648421029622217689970390891239507784110425668163383085944622804497831201126336015622371143155083420653826402568129999035739034096163283420481347891069340672442461793972843527613835363821126345141836610712932027798562118561869820932269861257257926115057246375944762807488946747394464854051280778857614181930369814305697007878874456480362128230629929232229617203234426042653770634610465687638797460834350957674779321324134561833384346233213121000224139506954423347758048977385625746210738862584733585340591748336007248668877895666474486338507894192184017358572980727101121213245046457348397490553075348735404439926646111631396692357103606602467142756313718863725734258604492329531441516877462442166377950812458956174650870125478980153227846052034601457191913813288539897380293099596352765146206797516527428648544436623194936731619062599796203711415073397574393578839771302565309034908705117263339617722403958454293176730216094154206671953870169846207934347847853060034480355568734581400396328414105414411060350835344142081713855360210526973146898926710360299189410099387321570257146518148799291206463473822679081001593129127862189759893648426390801241430669795205074558184474187855243350200271408620627061329743524484897388539678055892291697077242880746995083264514069490779091646098434551486417847546589630374529478596373506077880981891488634131576640786882438674956458451944744797355875779865462697103971878822342015582240067762237324576807124225540512812935794138546751142120914223136369516466061039517889885479268118023707724692814013426802748046073741797819669583210713192917283526672799360615575868112894488493375571284196088363540198738806932891654617696582876548261939483433294057358188409511640429120312563344440985544545643604553759991753490806455129839751753822322639874492057999212487143576860163853427884721476989419599478107110624344270934561042126851356427042465125778044808709321053749094644386221541158391565997571110641780673832953941871360244556439626875292483713135675049630564464625301996534867798345095649445713504754984425709547600205435224262754298464943951302795779358198363976255480237503185749516548841830403257245132010643281171126894060237800522913656529172489230414886891820405985371232702720031249083293054138644070518629377232198019680258807715480810840726425642667603624147239289842533216347670002786328250632107158996230291457029907641211305419908699511072305046641133355661018926546216408344422369073308158078047076638551200194660712040720499859364080574222714429086229476185288768178327713955087513812498004244440062704150782000608813337272969736826330752900545984679805619991976521794904388591153840961959951538042304501454272484312468492493572806485080100947165314325900495698673281281741909652048266133079754402753595531725989890189738711332200978517572285014793471162415357727103344346465340909212124971735206578115651054197417413806515046528399183725726593517182526387559742050104823650157687641609956314370061320987898712697420616047034737308412006421289636350372237101508800848064429931172473171065282027298660505890006563865139951435622181737434764639968237104208704404076857166734476973790830902531530930471658117730670740185077793785839373645815832857723338957990072014418868909609749177499742757336821727402679835096686121073451090821958593119980189158623142580885383326508443378321069689018162135922321993597461365508655209015999357598480481377420429354650565133984427272796133680059199526049316550365404431626453809440937319351564025785246743990194079629574362290442396866548344161975356609271233505666403782604413262469557521328261646160399174722696692993253244604299887868502275527677715248317825339822217437375009837920969823933327308089530459475503588600417779230730037130381588221906158145064531694110936378902569708631213316047849474754198419536384155301293412069365902674527309693005874630440370054061879651029580277551879977727470451774058516694333103345519525461903295015129830989551861703616302208418473450526493423106409298691942648889293160404143755644115055369230692326363742305637998607210681621232577502177385004880421314119154228144596081182391559823283878895099736271018129813568389046169949963431000893938114817459819916979123377466326102896600561118759729006449022883210514008770297253698374955745192555874812197328263523058587291925464596364416249460677588352137445908493099233352154527209204950708080878017039099453174413240526362915136517853732183444160348336341872240151946864790084777444642682211509685509360514146793075507477024231980245090376096748359703008414353343261100734850138374105535143790208304304677637793554471538886088467723768896061358825178958857996036420682840947146262151938285742339220333119376962444920702267481293283868791268066050080656270438234565681040829756065511711221941122562296556141024160664304438118825258315232680672254867425198674949992211253557137045620323179536683324951042950952937338328609133402015842457453909398785860445011814921182504717540831616258991492019177990016994898381255631069110597743196995830190195431036249153772532036062839805424441593635316503227091135786138819600836342798939110673498150421535370390712599516150335196095889010263254637886841487078869260853717698743282802258312146695840254942549679102833258256345352222397612272820058022518677146998870480855965132623393403435613802648804895078185040730136966712505350711748428658695310463636490754228192475910411099024315877622244285605216

    #12077 Reply

    messiah

    https://babelia.libraryofbabel.info/imagebookmark2.cgi?kekkerino this way it is clickable. it’s a retarded husky when hungry in an eerie place

    #12129 Reply

    Josh

    Hey man, was just wondering how you save links of pictures you find. Thanks

    #12148 Reply

    messiah

    use the ‘bookmark’ button

Viewing 6 posts - 1 through 6 (of 6 total)
Reply To: creepy content in library
Your information: