312408610510810809711011111809703205004804905403204503207709712112404985864685580745031729954998131664170564806965819778528276538728012471812720617231666675357251938998618797897326421638591383558938820899065646703128511786516072049030265118709116400972886033518071021267015933752390936465469839550130234322912852508402293123132594307298159568185548520372096808113173788166476648085625523150012982150182561851618994817774938446898082482324592583726290740280690576565767108049733133611604782662625194473082349434669098502074183787554104261315142991415774473838200202033333263129317402792754350478153208494074854363940645274272482419407726977173858474765569646411451086794059426112030622848897752860768684899572874699229548648398518712012230678284037672621781225371776769688023127791750198996038095891457696239804659095711114039898139790922180409334571889722787838351477105896421137336816258472930180091534106476725993552293928418118632781230807985033331521357464103402717812537402545664952115214973741595172093678879415001798184074217419721035080579219064911685950495535471474890671319595803748281379044692419950888393138915332685799339471456950265542718208817656635192727734081610120239178937896347214064781716321703600153139850273371419671876727568346883623038362242767738063967113979643343306920985128559808362811767541086334868957533044571140455375350352382563514826664077031565361156461659544371584355879327516033511743591293955349424831856509812641948455149963180058502704110889651442628109941335084182286402014582788184214029863953709946361723462872362881533342383636490340990852256521420806860900022888159577069477034177421642913661170062601612183619771619063269555161470973122340396456258141083428969846464796397894821310593357000525987494047395263602659518317453298429867391929418119017099021689357290446689100470200782763658825698879225523141276685536424373886662571049277319078473097134939271484907872245109819011404670046762996121108835624677819004651486268865469996427354470709481084009513585449229876495629808768943201737493397812414008123819121781588444675952949101016468247524948750833539941074013412014193450429712932944383837617589402166204873575799961097732639569345150225673067037443089704308406393250652206652190178511296259517913779243198613221048748523493591444274570042530790811410861251639161445770381429370471191910182721827962305165794958347797767975220383632420579508185764285390510727595543641946663943008974434193064098194811983577366742990289736078434528804538705227693030311633255906407522508831259946686408106755724587453770010394882975444347192338652074669799409416809813504031938195034546314588151548843095808502702101347021078698467695822009115468085504027488010970890729185739925365734735159930860344184379244392596236704285483822159368672727201430349115280869382850377680184674781211122984303717227070621280140177602713672899870107533706506580574714787066020398047825524824571601811992326542750851919766111946704857570723525256099401496429392498008921003216487113875028321230614252832005609531186404049184129399718233848644423147631994655013470969530153821750469968579262110496713068246513634733903272259749783741838039412166812473917520660084839318908592047103857763527646837723978154025323475123257881863674700973368420155924978860883672701658783541903973801128909634085249686308926818351041655937359834802684045663307348793127299713931213244229431161289526192165924067431701512016953978242616071188807263668673850657954801080798686608844935711721976811496062308514729485833903420329478380666204855467243701703200109690665715249985961885702548513532835941075680280763810192633236668076454115979750377882899581641646409346037682627697400473506765846618521546009865805400423013032333470862361920474313376639372933817068666475111595675417057840444206258293051097311667499116659526618835397659370389072204896199305816390849479209304608967766665019695226873694468676864199124607817776522035575342381283464106863236992813103680945359340913220991025271510493757890720963749307675628326807735344907034447538986330452401318340704002889085872898240824733424197760875720336271902627509903316286137240946212306877108172540411533269749913722686718725326612082295878222024441624935011755804361015539846510739719565331059821581599136521471018426524306592100545996212584572345627661075483010613620064384525053582411905134109203368120703599506913079349731378974845082692833205648146711862572397701976913478663403563680647731394982653281453636268806836689680147747379051245683914129593349522020258788663159164533328193799588410696368714343559230881413321600531358484457094135737612973715276896245707641564190424183249572825815863658484079035591106315726689941251766194647034306093470852280114894557704930239984936110230048742902502375504834206138979961283530080940166922753157680572499443912717573309645217635069666803556557840208647902349012251494962644731488964582806326141737787862261640863176337512476078668109065398581429102470521890467385591622739528560688613540368413476813821481551773653042707062422078388043881734115197673860250751617834627709949699803600511356892545469637006836331489214988737030672698916756613235331346621411318131650997786791124929423899815254389883444747313652727710521183490271960270261646349073649704590815042910833568068635201218231371411677633060751943781028774270716968157065279711790563330916667467898974520994871757101933383464723729556396380256211982751578876077660905262815391225241123838093141562475685463152196783887105919576455077094165097926724795028670708377671670680842085906186552648902411460930416930002207212320782201622157167043602572190930241604640797951046103643071178799435047711807302485760627489016918416790494492516173319217054034351203836525446817371886323295581815286615650607460481546790399493523177775588076735326230430277518712615294157487885887095572960894452147791183890374073143831337210593078113830926688395664606184170915918622453688685190236055806616119206949409680133343896936961073108341507745939767101826769850828159332668995396808917400870780054152868839721587898813878706673687516456144267779506019903655423501502606353000932716524634739111717713650319909061450865272220145186949487469592273929405093873053764799198339919217204138997559531337670689771431276703539613514542733235104806055362072897283387092792443200312054908077292365706717650988307956926927304801509623548977189421502817001767890643321230135658505898059393911361436347424808596836033867483217394942146608622107214283126300573726091194496392436994676513445760357118527180219406779696037526987887833192065430959144206520643750508552420400181173143009299218650038999878260970938816977671946142326505623412156338556519492589541185294402312367004104286563715379207736694951013556124816757007220589294648394778173442312318159483699433641574844089321327687397807201557670755605215056826763319276895027254739979374107361060825687912540496626775331981260216357799835815316081907581335735651690565374365846912486725374395660735028330088120161568007914065422293762108171323013603493632734791042655370312506850709739112567160815610201458346348251207020396270147869015254738941679625610361431919023541464515432564668026025106130271656707004424566370582523079738753136131131426290023211391016030552562446032101882245322816295539159185262027328373222026118365249123164409790166134308655680523541864408485094681357790539855153490058124788244894392053118440951773486020187490333679164615953325797246547450023911868531678286567851527994230544041832261562394997325776398450124445096890322316112380917348731433089530180422325603356536926702438903277581812574157338265797294296839939428783823570054154090977717093966309839623413991265325423267884376680170635032568499920694430300922554798886221017577063427699168069348210677996086680114706812260721636947883331179607146477147295378698992970487775077726402251694175429334586498161588213507025125263235440464089029526207514356718647214064616362623490617578962339957849343920214187635814779788773979315791592022894491253738509748943556070129399113407919901480532526525868708375933768538560004255582601616186982592480087146697381629710388377873166216330543083503305505866743535599374743509581369890475155026636655609130301787251468864464801439556231430080129274535637270919171696017359306730750372404284852944084561690397780380316271216592516999956480286391258620912393526977454401926297448903578256437510212975448184919845332712210779699616027806701976541011902494366001630443804490734395023442652411271052397478763516362853704394526364107652931068137013952111131968639684815448534129098498135861326753200254049555119639602207917507854577571711890226364597700521798147373853696444613886981082558077070632750911307050759877315821125676692839899401751930927084086860059367609995011369405059078853800508700754142933813669918024635112868207814022307724530844503516074329754783465082898482929466349797192889866757229330802129937379351372587461525342910307609347198761973251544987882206274961941335990591493291619756150800501263978453322589409534831479662246353819758937512133394820872665495474564215623942542550515337065315025997405679732842769688464362072811619698035777785039852277762441970238121597811923434376065854804274640781726443691114673188992586136097783380682708016088633411976534669723651605961703373768619459876557254297894575719820885795254328384960933490430796639235608491857609016367447271713485227111427101613336976662743463649808207278854057574007113811336706889997038237289534906148662134154775290651043265150303689616716141680994551252300864768752862694493153361126067839990875337185031870519415003734092139403098394287390066094899116859758482771696980969116185419190288459850083018738536216971135794826137710209635732764942353405948082326394669593055741396662718747062542868601673819335284645111968383971587116564213256011531944749727633088239248948865275483956825990273999290869115993552233976843606718283395462825495002141976060320232932552096264972111885657993052145606332641439669512477105803578393619403405652202225428737290466163748383538256507546827614742666256936013308002633603911092386741182400814395968902986212190708401238922142564623143038602672513193070138449929569673937088703563366397844768778551581566181031363566540260978042760649935742127844771109295835400298067887183875140989969854423406015873138727535772834368559814690757188381329265754208663180732491581536525851525676299040947461706292260491269473263772436449589062655443469164959743836326192415639968733303265907939850051954857145507405882776156986437459675153979920444658793188508398850136530553240465905314769412473523407369504402074510962646537297058475135962682435246053193011050233767401901463374195507191717517810731611279456897684715249367587745440377690966474901220171955139734263910164113844609006781860533182664422049784452788657597157821629367376187539254982365936967177868106803720576684112076613110589391486065077606459975342603588592496254537502903938792301527776340808619892274625523225213182838666396891185814803232274906282110319165393192172708677786252452929161001649632531078864676799615877706266018901566440434623701198443804768291810519081217512621521813225384650318697822152367642031262417845537223632742343376084568166934238760698983920650116329475299269220603067317775824875120697784998473490076868818022180148800223970262638319789077735772701452395208345543963609186866019791482849908226791093085854867777653166809684750632051158017240736785021992844850176370148251281890067469117014033355572508283524727447345450315534575070905508821782544869791817899953405644252796137365578207635251138893286782861816222799467892771179087398169473544663284268728892940235759606360464155304101295959820787974994621719153108754277492133663462537173514096360198751784689161020287015482739634874110246096373881328678794909719421286140569464192369032486928241261714235216938016503002143787456286379523337175530412237442712968823871181840043048486595118635653409444973700540702231338232314654560472936315093539676556074996670029288106729882950902248409029264382913245067284093268199367657056264588269434125995725264092272086837067475141022673932507248459838962572640501356185270074102920232150007236244571661593202512351233869027985450128599591177025914486817460693906149810922986425924664181262064273448091309280183213312213720530472656533281078444354336846345624202066642714104778867893834409503243155479464481874358653938686847526395687030665053236866796835812660024605909565992403282596183415801018723981619595802615665313746948241706720887549505025887912958573540821555378082469433539629643980046755410013899425628591436936654401464438016961396812776660655183621912766079701183416336562408466214122107442546915101765229574818845428605549950617510914980942796422694735411651877404652587324422254400344587031498176316005570807999358118025713316221668159646104518008888818633673547512294759008156755481391335629966934108918084454058163685794772617486384146867292653108794627587069130149574747787606488595422628964736832063839698948218837493408165212996821839293503088829147886813093067040106940041424568918783302566817183685356885747200727252265752841894116399049855487375840078680103277403644765599011909658720929021411068060005387522027858267210426932589910604324392701227167179170198691749147287221398024640435241402859649916526848870866362075014421212244885705200596121175960141335140313640537132678153417474685562718034101859302024061621831744701217998243066158964059595984763603281934985505650776076291109832591869246026256162808439342101724449090800837125888711143049093490217708886546762355481760478659190255343499087954162634467367685561566827666655190855699908725040030555279530268505527127753531772432486847229954927516140572627659949113109278431212710498641545924426204833085427395412097539119450544533315787083658206106581372406564602410838290019475056589173485317643614970196960773901726029792958637037182593190502430913227140275895570058369289827308846063476910975635947509489851537731079206078148592263576655909457818161492305803561670950555639616066549851542031335910561543823298145745011559418485507618844585699461738291663316064372681609276609183443636606964999120804614864189527393411318659102753651868084854393998327243865309714040547280247707255506785191277472621939606875638260203877692619184905574496937414432678592717386375182514771305141907227597642087763179872746390804475406550476574869447783677162308568353388163719079056238707215730626680918737625511022004803366852500744366729096217495688719845641369798815075142621181889936286717595337693313314812659507626238518522023431606817986625977293925911833826453108791026050211258323301232644117193944379161738862324204550022330506041337871490593586952208543948702044792880876214606742844611764575313382587272532499816924771006117721621582683734696048243278579967198175443557976350015691701789376809289047605850900150952971234339113076573180160771860678413865269241483602545114436493198950846502619184951761044667264870525893395206709272358463057526876815639484959083687503374080288119658420236598849294299240681339951617561217194268450376126255920711135231365698742927100695026858578682578319268772851399800357263147018480932784198909552779382143328628092626762472521779865650289062540415712885338415486887462971902514680651838806520782171346192999867607860517208102526697416841986461966256766275233196463573073828524266741097270747989535563147110510076408699893115285151650653490135373288781813526560693902473705682997858488565857598382342088380606395975741807761428794852660385193620790251003884663155907797598299206656411448346848617808706313336142070621791882037413869027990733964696891747995940523121444402518783144787699292128410353706112429237706934533487118985157844032117410167371848442538539934152114757983923357678293316847510898752185851038735547998183991358373022132340274684629580295058273874533771499521027163436766222747196290248050812846910803226595662142409240660255412030411227174064752245056614431037420445895003708158113103132415475636413031350874356379695536890232223015047379955108305278506703350994434899968135859651048366609953239770686091201291683027052027468588428947421815906796993596082295704147276899178090362000209879020878489893707192582710071893824133846182604223251024464145035180937250660303379466294876828666143952253091106677937852023432471359525380350222938051682499579543886721342274389230646833850548723241308468891095475393881308865019047058781570886516533046977721018503249589600469588137346694294331658767053291171916469380291590659242830788664748934356354343485187494620152938585643934364007278915771428681684671859485813855452292538230809337190134285239894110926069726472528603163103460421451233784337676870808497927581836251880157356551199565122064073598523144991814482066002272702764415784553477683927191159736545823448751154813114602140588572231276527594195389858095343544045225934359582980735797502319658858951826154935730744401057758075719335561406878676670294649726120188067325183205024323539838568881741468779130668408656941397477329307910764180751200518129532284386970420394046353621841240264439348459538933472163642245689893376302724201540661857299544534196516992211084080095900240113002870663288077676190740519713290126903512057837720183409431524843940324718449860499478234348176680847032919552784565137779387998759707043226612133417336800677744069595839632733148445992872839118082472943457614995196623259393666530559312981998762975329186132941212830920625237382743193099666958313796614178420964875580992683950587193214639137858450802334360821342701628784073909694071570057051314848558533619713115915633814548851928176037913937692109597814940552418544198330007276644546809996653916886434822849