9614319269891291548553005966962052538493747574160083006947691656944095812036146850959152526405224468591475259169460692758115572449061856049429082867681235711247833277246405934596396348283038773584384516165248543495704300132803592184912145590068209801299145921808471055703996416299919917587259136210741738917215182036218852947411528232521494172472256681674288657607231107929450237910582714391721333504961353756104922649476667318209784532028362625767682024197259937028720044766449541541702216274959540170000867785241232852368287862842441268505132678458433971202584808221477571564098421031099417493068394790327811790263851050508502139716316211147044782703515672290764219164127933472469814225154572762172445808309328681946325511295210358295705324818161921790956287492217814880718589241391105011368416037311321665100012490190351637115047318861622997129679309719269169364606406584927801086169259956205795585762369402117571746732504561201035424668758717554279148506738197705127443276302595886396708688696109262931917806347949109161496717245432848034895499498028195690800791867441093620474898488141610513065818843560338355830649471906242587296972967744785970756054060578001578088571612541115573673929190347436307681864282326190410460933803718424683424094915162706747854920129656292318215008420102947056687964279180744746296234370529132241609596716843145719458754498192977365438054187007881674441855637535099263550532531856825382432103880927935183491799590962948543046123205180032415349649224599329519795243433313707469026293221888742482123412261006988193167731374844210314225336687875128232213926563893716140383701497963210060882577184525759907367333192954885028121859478348170909649930728504392622649316824157820552948522556103834341058891976656781976221863414084645190130992918170337844065898363073624999566267924112388572401482839526790459821299693014421874994297271370278406200212683186914605255025656569685612150409446892210354056434674557407909630578938603701467064658201018836833269129459527355792737151247874779678726725517150772727690480672947749714080248819726958871952299443314545446784843224941680618372159195543856155928791504147906243789335198098237672845789500671930916927246361790126554967852242365665193029660392250774224460470487566355293493375805802442537527953887359375492419876514452595642143357375262541108921762968890219311899317164817202708463526576957575945340152831010942120633253115168389152285533098974522017250676799834724115654454517340262139898044314513908113365657771452677025425090293372207497249640856141098508720274987792208142339890837570625017464420227389412323276730457066267423842570677890355543143686512790663101416146907719179628771469099015249518009370613771448843758480553171946714357553085954304419271284637965189566891118095458983611208210421481837624246307699066673323969622677605492922432070159445358750279061418161206429047920460362938435609965222330396218668860556537557647994286834546058642847149143994129438786399938714276622148645961970776729379637300697854460789974823363943008625770003696616827337815075976254016232180139481294637084966212781518146175790812323969305366246822059933366553693501077798690729204011213731566403742769766043204936926969024648493741481613725735984967745882653145397853766491981171887721616445825319110902402159708992946103260750357306341152945242586271647276230885576466294083881256772931226410568140503680275000912097113850532621416469578925406817912457185735602206222244978772891514744295431066031525649872671427278367997554710938452325894645782257828148288079635813115499964818339855258157662322916420504165295314003128312283323994459429237076055184902363386606560975277619993188295727909388387161775531935782041165756771900765439732239206175876776991567487602302741899720500150543093750751211095611907800941415060203550881616139344843270374411298340355779754969675990537324941620018520463665994214745727885256621618100870069389110189217140561465616779288256551058513644556748187099106063883869407806828315698228749231785544683055215211104562743153986096601568765630268889740701353650767511222829222035165674554691066102212260943192974264338187781215145493276437288266031997713175002932622707832548202093186544844244058336421947117238360641603605503343467858791032479840517955425101252748799547554464968928298229265755464208584749371275580219160233595563663713506869730674771532881589309278648824111089962269663806056478897797586092253769977633139482869830440548119396864706425842891303413671020675324168551709455093286871711622415396777662748833546689523879385469168478282862102880801939517620974868730760169895148330676494959955450489387742702753440181054025068950150426055835996090519319935637588601427379684113485396861226060462262624738514148451946148178876741126906927678752779235597613747465792812231948043748148543008449320450709628360178650130918164282507058251161121929455158271757833550062280182156422100816861549141111661250537444025206269549729023826308877398433795994162123561015512062315141853846395120391778882122769450143895540794777821539091012955035128361459571838926131250591908486266672278224655499771313930486335802678409381574163956628724155370287513898463531072078427469278002477469217082034319695345600657637719898930988856878942368738559955726940231089283168258481441308252532029148046532205338989618579213570380343575043836535886140756834396542023224328668651955300321889290862121448040048012159675564049482096609932731543249398572113066427182413771180128518130444927235646659772296843059354828559742845995289317282240493001729634500496603482713959494166655899724215808885514714820863722715260552121666423655698460959479096324204965859128967824737479619940808928735781498720047920918411644337460916146698351572827366524111435230510133915469483456160074924808483258039942853128436170443207369443501667584546568683107600254998256165254953212740500932303720055474512816906723983015127779565771092790124976863238624360691459363428465429835329256639132681876430024893163570937665688711925413153539552721727808805306321624713097827301119726680818407205181025426282932053146803359104123048293662625991141475487646327904402010784188003819995119749412256531214031732042416234815869356102908156856973508697725317711727928743378473206462690551380434276448086218418194648004272000476373207367129188661081641254758875061444738877421250826110803501085697820061528639179097162939835248455776017429617272417934097967708218526569454258945442832196657384623907656580998805905980376285982852059060603694925228836745378871022905802669983696636609319108968258798417526856571595874910283360222473421386777728445732529830716389968705274539550957408766536780296373220486344059770440702891908444427241633998155354321070660625178615341849462286278919734618568005788367111616059668283694180981585373207245204777812238829095459551962106260758265882322572241973321573888659485198243110615982684799641834999735335143710636640001654229328731748119781042533348583417259487854531213074728038320237865334606503593142829096931486911501757587919281271733834372168107352568777162048257310472318299006501311460520788710942017180440524351936751741016037329622881554582382457964796015898253967739402716567896581830732073806044346655464062936396587027583852510730431122664550507992716742377064949469816151525228694476558988694956271876823447502106484181435965074152070519352219915580957186612475579984704199101237001676739992018466421265699210228045310175456856814584652007305533288899396915266444747381129410468385580591903041853714624646772544133168385266983967613804474703792806509220596452918877033552347015983866636370445926246755635568626609120017941678955048672486127853532486709447233623898466967857547269916717464540427416311965558482046848029520683740484849960738398604464872690371063707120171480006159481111119132703094014494608531017287615283400253690195169244769875869559636796993039604141201726589010674485434871445978226181483798854764655490689379130953581937765635110312838845498832795230021279278773309146555097756899761690221683771704688121033669532806239059075897678186151170907857092632131096402313223621102307756260376983681733045249078237130491388469975405856411717742753037130623509134241572438231403244713745380332055978047152304116879043471537696852566011745852158899081458946058481564363395219329511179057913276580879075056162870613828709372828611522615090991200320926709485284673299492319251561790573572537324879237894056864149265553141626274709713348634370688411560872938663155832060138101349684006964214911714770288609014111376261448236183597836565618123266724702780065833575229577085575460669009842409145885038769800755390098568493027755596320870980965567086471490585268566462661947461589415125315097572496012932105857618085537718690169995025936118267686034635136961144537505910046192594262662694294118000528505953532825340730510582210915566501163243660443574307825620927616622306652520649549963787305328434538094354626484363422650953659036439037315798746390172325502631581395194102674162027558995366781995204593402807647606615519467485743745610385647736529814115574394376999905626536622260675726042502313969317827800892340677062734388902343984367695664433607933255041312303691489727008478439176508026312353230266328200552526650739270102585390340939542941600786837294899049994635580355640316097331240691898194844121998021901341294200901760253427121560796019087702127206118908258099107763652081053915048491448028666696026760786695466964035789608421415464837711312173865306266723897928180131944424403416285142638362569662799319420314048650541023039452413742749168895863072618972956953256108813694338850430326885900951038030866096731834460122705810871780326920803605269804321309033212169338183367169416298806818353681139560855941558529864944937920925942441010973384415172912164619158457915309672892767973622236343842538801271359186798388056111726279002548468429718070727206422746401290336955720766290509259221007770163064612453121007232979184111734014715474835948708010835387584799836313224088664983438197114621300744902591792666306398165884314083083971188622592285049395079014483135562731334492034627985810053049621262039654286822544217247514831339879728723726053689036914248365079117146551088361655306744777604478955536093025047979019670075620074050130855151737978526274164906692140579954030261232088692994641357967627587338181456239695289808094595264299175028440769983907250953061692131859572957165659576887340429863269511661732557948329093044530347706116589804333747860978139552987216241361108259558040442984519556029633989863516993153894107046073293557286954398650986555479759689975032728118547942178546312502095344085046261719413494741546631577195773651538686279920213556972433987888553516232138939912402033198107629331874449453003322423315886317043749487465960219463454607824940638243066768382657415204398511466939817861178977403370629307970719818558399971204877888389834833298944705941211846038496019736808025756420000512850617716299961304977127030823641183213487576491518579638814104147022002890602066280684348440399462580497230772289861791175847339168547080755108415626375751246928297093381031432195103133669622584844332240398579635477882155205668549273457215574061632923276345374979777689072861551621302044089464917741865174015511417048227781859244893412359277126572081314019993955776436973873137080424955004051935107834731649586159371661882095017536799512861025338799136280215991848482846842721284199666503591929580593468122474017746579603313840072892616202035169202177369714480532179962214649287238264450470019093748787355252656473357034882465873909057453225189835003311171238129628084782923654239400348418104661809837058762289456687409693578080524165454417740372365551954297554938837039627612169859052681167345109454664251948862086361505843750217025808154235287134561791180938139830948041103250741670648321926011822124200222737168804936195838150461447045297052208578855524592733959182597626776823916460836319553527067299279260842283089178650925837911331816415551205328945158383593547630940766928260442678039596395292597358898369083499112044076587151446782886231838945295857162374706617002972742671701750564975042182744534145843380648857268202005439013992913223031811676596736483849462269257276438330393763500568276689936830138340219594758606143421992485878272048281907474786059360313255462191016745211061378190562424333962251131138921123773487891142041352494045524966347209574264492253756811391183743537436703389270890732022014169698948439280841859553549815107705097766612919046282857057562757414268987450280733770005890291347244217725624822283951295949230121157411231506486092005538370869685803712803401265795335573117601233681201325248391879370495313104597880863023379297899024779169214270043845495146580840729505782229006753504785427689317148107638983079067078862714899335988267925581916276988001714992138174015128703498025253745226663612949516102440375367134096021710500871368119878216830444805226155920830948349969874903153368968755250645534884228578477655089830236958536672669077153151147090985932540531876966178856146046760967200817179015104762160420907845895357520063092619536879201201442498218629487718782212656938219002276359499966294462316847904509864764264551917831440543669065945971660844053916485976482285474411358524433985340866599672598881853999728855859887202484746373097694074761358489497482083135710762828734558770935038300741269816970870150853462639046766079470532267036604080529875063358586668988434589134256832802431142051248867072212751337042623740400459202130749821166325177965242306914569237777534229444914505029935733189473178762345822823062791332687840584181410473681384445774280775543023322793354661709599919972535324905689412268373129729761071476611170616419968604682716154499104752635693552894092976811206727671836025849972340526418805177256032620980921525404777198110495634974963702304163278905451278005431048457878620412982667748713974932491377345627182143284109973130481461183434354453459202171081592452826928447139316612313553076335881903817487829416757242729725818760758017235541475558274410722645959549088068362123917704827436022089212203726510448517082321243866135293938340841431947593905098829963845338966129636896622511075486519922945031745734032285586613301335248806690732727800711952707864483737980038578313954408813003936754180241337326569231485225724556316481424869145188569065005480634809188761655441799840312002034647486850473883390719589054141881504277315324068866699194055569085199669711737090518266319924337351993088792849390085124407953787166343484181513404305833840638763779027187330982573201793908437181811183090555894021750425577448009317138606715283997301726614952192237209605687109501391614412647953860488620654072862331127639085200651768095739640374205460219652877954853920626823791640920334582933334922764559448938378666092727491470094604452615281844668966454825248886979390808692685883838822267092432520943358974611252290720205483929804087507520311288475064518625737754402166424516372490701494063548495983898555284903299474625556720501220296271584199106600729246378866831213205286967729020718235377752543603022736924504126594732157328259373240178746287694565895395179124461037240545281293301307633374679050921764380285908231203713398856665952775049988470030181689491321223167758026586884885334743213336925751526485765167288505657656747141621980136426963126779826297824089020609533719915890941438961143452266391604775832735548917225309823024317906321570711562594578141937776093533847566297739113031505524118769007362759808098575294120642762142758621526809084971044329627161072528197027603171249011709556040193934495393979133237126754990285495030594153876779311347502392751404112141470859925228685035240822919892807919383782815920860781487342356722950512776896747011059494924597891908403736664356588084553849533079826327946478033968982663825088556149455318553714266267591225928572336939815424901179600536275161637817305926208365423327558945959066217013946508833492426608978314080163419780732969212932249708865836912938439178847287027430457731697857911001927526399266981405044801343268719826601792071451369164173837336467116623687633145582782863209490913483784324332854136234747434451735399725843491191470002415499380583282792507540721451135360072766033620358065804719877860047121803096162194101269040510611253642547510666165385790351954047542665271061144889890300794536571603732884852767702723604142368108432574505548387871578946204396673536571171168987800816792729352043443019713000437204729005846997789528834799312259170305102475608436580532675540703278307566629916479646655841169517519526909663302455617316172695718769404068215149523949995713567322238605026565939885521706354556892946628879852302860261942253530811085591632384264616547491773867694404084062019765137570616880250768274507604660437521695622120746879969427346972565971377679424061743192213508072915355401901870885395183812509858116704042332419546145587191964361234723789675295599424608751304590620572037288146420220300419547234513575736985562037561086085294201294831674603611460997150239382342136787058750027708159751891456875499716297016460937765516064278346281482098804208824854803207993443688854406217454936759143949995964711725269384395110369748333467540107540859199152248897127986672227356871757861186107003885913774089712757518126229475131453911554056531544146062704287705256718669177473919496585818155487174982490588525398935667168890865726622359392010056642233920569427611927840746440499948912574113681385750973737859486191815043472909080166700784864514830718294405076223497128644185612023677370565322500477118532777749092880373122929881882402786769530755321501274423889927830569232946157045326294439282175839104718445257863954296614269891675810136381369786959032315904479413712245864490329660402930424883893929431689532415683969512483604238617944894878422370915986017207591925854900380463354529470691806424189907036889194088691200789313620799185116814778635546069156176176148176175482047406955642539744593976050350168046157974107201581982585165721633207117961198932886319741151428583038252805102174229586913132784060585411653501711324386673580459856013574907421572012733642610775843731288880977799500584915813579770762347082542318653746985695204182664694811607951813961036915091204254558827919106465600385299921882964991229484360925194680018548157901086875513228532078885215340863371160555043258929932301734251945344024866597000619773954806498392808997491565481076364705023258295582477482813713612361028808143103922696260507367614440496849376846709926343120878861027141186366007225670054508076474656682969517686323202924954833034083113327614403910850728459484829608447721717832751984067596073661041048253311250919216965843775454035099904179665958344099194229549705868688041790238665884584316994305691052287119551523858898102542260538477460500655505387494910890474356062604407533537336864035366382765942162202507739437134096226552394732871320642351284612676157122811936804180242485681981998792084347802230401017348193992551410882089516988068137486796699751732664660327912530294591143381587730332817589710877890005915140314216498737750648417131310432732088734039764397297162221944548432058316612103753240761557078984867728432288278396619747073098687049709604653868568540283993979909266215288377024809901412567767491402107256137368718790230233117981075455549987732633934952966542644002974483702156840780412131057689057223611606498959671096779553079612321046551873549600264656244614749590283991148336718215277966812825871236132007365283249272930252241621128202871681982310763860205904742527391866505044956230267440743953632266916590136455527633030825922560490941774206950036626559807244835506834340336168407969776016443390104973177498852920393118300707286685864910684248186314201572926411710874603940599310163069078289031515673649867574103406759447635869625511151754658031001211802426081507294249097830645058798548401373942834989998369148635026818288588173354026923083439916006955810913863194250325824153816979705501577393515439440679170151438081143333826452411697567466847421300128670049366281442933566397822396176171820106694861773872913956173197026629695438689641011393725331741351756245816114297731540121809430503685337367310017384453491721584383063410755347748732670440532381236888927026282011454099728627020758975134528857572248299359958545255998861388579034392352154673420786643058120868511524780156243310290169062605829215011719593939457580226239568460758081362882702172514522312646766267220538788316926069418846857086312441021565909667468437681227863999320155996168046430401722618330157736917923220868891206988832968051967767168843544291632871969928860730467323779186810748485394857654906456149879305180626443840764473014819394132439015495808115236475105084743189778435064480199880049983170643975716683360539398983199478052778878653773052034384693019114331849443057995876914044008386599829264694664715082891010490922720384907843893147235141989588252871890692425108833088395681744946548971975800511307941396299580495925598147661191286295464452984833825257570979124423170824142811026839893292919609390684171505885338926751954569838028459248684083519106140111894661963619682296044334527379291696624309175045142068019322636548415657267391281414105882709755318115286878466205135421002769944823733671313470381328384739481848076196968302857616321190981934826510224079379995401162190759444188230976088945275768253923370428195271230173528949655381681155095036435774907916690176655650130407136453986299993826198763475051433367457952369004199898439203324096488424384650440868028047855786084401499931015238649576866922043323606517262981780331115756718748553178177862137942770408617201698055667365850657248379886189198243698974993733046423332476599160498780371352704638399903284877967364188809424554935816198845918522577453422549847069829090807938343951272365749359511601474974811283835925216476028143696136807626310833162033845478096375738111875082683731220149418919394054560741263516211086106411248066600538852597950870899694581847591732294364625899272433829411838874366932041368966623449203573202290574888663408757911726858441757485825799051359387770709152574720644373077312098865276466308051327993304933090767144208446031582324609496952665427019527576740544710298859401928537527794806812486687069343109712338676358043553594031430622497535580316346760653224785932030579924932475796077211249396586166062084352525270915198792313889835135336017034557248115658122828526900431909940791072218734125336597795348074971131271796467942612704937365891041161528303728038572103679223320826065700609998126892800386259071803392723336252355592830718583894062182071622756140638613017444553920339311598303592644010781975302002080574278525518753653735445927925517562923560174679076814900067507095416925394331538178805760849195372408306266137542947758813784801532388584322652575646129991559352625466216593681646921058033121280299277828616807126965884369921214070064523713533356542809122371478334860890443210417275336180649309817340838350665642626242706334349673698419084836846001626109932297607060827589480270378731962953488759702685630121477384200163532662221879409574616937172354367968319110839843631328947703690547416126504497057775456521676680887017742347245702612878260238549085318262398835243072121556211196784694042178819565219983201591986129274067468928931508476250999655811983166318916333195580787479286753138841701279490520433762307249021853525646000945347511624077816199604749590351082987469066001001224180800486779857729258172391271623822602219753593821260757043424937811307025339682708013118754769572247372078615631433829136323852051328679144434629066700782049273474268588227614376957048510576108118109646963017083594863110838606343740583891347282809689137890649710423769397412650069233032505407083243881194402907310189468421915918650396402680390393062206708130478883142902139367075565517387586423305730665398673574806531139647977821876525120644561366376477275921807091675424545920241232439921990970999566018454229175751970307928319767584989076942800273967316140234296941190370103698512481838276678448509706097322477834637615248091035574827670785692694295481813524903264413138000614823934316566601733968629840269015679755795797585188901279099432698162056841320299159248260110670667353400555436915780223851663193753800167307102092578579470418654917422526383488018100730936117841341539114043966469700127561861559452975887877663193928323753444140971947232412877822842649064933191154770393917571506692029806694147728720921046775708867909153550429560869159491579601352156701829960913396317076096407065342730188824841035260232007493546055226785903454761146072670304153128829104913018913529765284463164157974077685678402536605300267561774815949502310107922962075386169833417073042880422609099793740339973907392876592710975894449966538288256012210740527724337773173285302836688258732038978097169621353063968322756334145679700932908986996261944576857574332973132027262726105105824419302242413846862490877131417743030377011920986553064945879465987952311734761065413702209442466087392748114232007840615715504430952658645456930319552841435019688572842994668780624780758909679941940690966494359144815646230065999212274081451046137218232608301877377230677989174575195502790008252766252199157213486562238804699626666081892697860727353547625663732002755246463773232368882265529089407768883303678108310912057516949160762818290160149953377365927487002042850915462143989247801534379896626465811329243756055319822989827304964675569009469969767154536129164923990400152522613412155170608363871203426833382870386127307158867272797156836421397251632684870001141141740776832958092244627129161696658239917922042702221817795058842995160385306786288170654274581154434806706153508168772519316696028167902567574387588083897867328282210633101871307662509919781598525803452195943878868362540450945864349879541193177996580433108746540504652788806625718157069531845412879616283776610124574556223537516711766982036324052976299113818460230303405808378224495971726716574913093820980688299055888481009969420636294835299025296589370167863536164420689195443000949474891894651616166044133817444201974737309117390239541098675358566970315447245096989614226849984792708405265112028088757724400889901779550905887594592873962780168952682936921158922122088425480585120193221382893938823399348184233592316638521935243868086956569008916227077455427046995921706768541715906106641428415838450980021509346507944221317280999759565221262974394759636227653998081607639230040233711216437674654834097226507766492908406934324444402765697443380310216978737135646672325947312879578256699035553907478295310730063565246538602236848434529469917980632366621415244593471996603184737387155168201267102707447813193445655048427616781255024738217936900544687497082069232397492912137124667222781521536182862424202033983714829392326468091794475276373958606644535377343415408806259871442356486637599452395375261307536242911283647736831410800306147867832581058487446865465896846847432150230775686261467786515519862104546243533491895239463353928767172237796315468019242686546189566004779985237320313442215771058516536337072918402520631926746951804204131947976526824810131562616725077623703123511843743192175261431345125767035962489330885902810407384901386314179999051868275834711812608452629448897431842286244684943548712873084883460290390786444157903492267393223005360925197207040957309480517596532579013710497767501366587317048070787291979856833235214994120419949955396845393581494442711508898768882038410827012670254825533122681329723037135106594211614656109920620091176436226977165831938594801163560959547924143232422500422972851604309905524541429098789374134480454546109640799704620830739291298714056439304395086370062965708854056744077174739496906554464839184729805723412645203494317764130242155992329653884664960576950056657413396247942612867857606008184975124500760382681438782167539085056382186583763786837887910603532187269821794426001206816613269997320011637703590642922899790555705260001712034003256069236175374482411613496500643952413316926400880133023774925325645630357637853599976794267170460838132990594871824704221412808142563760711974394147531475400895159117015807968075137066826078832933164613540636008274723793155681244706647360493548170626107496138486282509596740891094672200452878046255212923678186264107777067808745654847151388617980953470145671133061154437348080662810875139043413668765738532390874016439811553216765862205713815518849243346868827343159848540710039541663136209887380987347288471989512735925331773822883281178635936505006799315445579137329841256429220002787708575876479119373081027029938449131904381931012642873785741364853578917987407206096763047927877056302990096085811830408752374625258960934291070612973403748782131708413917764186351339937013270149427440936953883939297625556771994259517897406950678601599097872973101069107398703306376931089210713599428896352301511879597117471559573874187980150475955888547419914977858812072420439517803996836100868161374920455158448411172477193936963555663179147750942586686256468967804535401430181109435573728715512416747060763482286820723126494212589110710395315301444230252828604150669174463151231042043347523831775361467502704117659782946053884563722497778089936140925279932275322902702612994674185343552451176416485016645701309245881225507324219454680444335220892563821922814590996739073709004968323285392990404329755658586839904005134564547531332238426420869268710181970174545139717284791260947246440943865845665868378943335526223844599140725641731322160618606499664355134527631371300861197940743456107540559491448467082424878594560445728630555589183881359197164106209635915810181419564890685248159734180613750931373130001998577913445271157641130243590761448870951594071239967119046451549807631930383992186699145495354164191176948225979633368574346999268061800266755662851788908802369274483203086546215141568880980921116966286242686518970538002759456988360895026193820653060640372445339271817988388057598312811217011657030216730030756081251101102343551689563061206483578894280564366838644013655295918400553953713749341791271415357567096357704792612710444255757449314497359965402840353384500012785150827880300274181343032429943232845767923658002975697478300159832421300412653207301820594005034342692523056575567474834454695685816439000475644484693325586357632196035977113203214723302506527372869858209449745465619285514795140902435697978264185026470245310314334088122227848298475018713250515267533268746892639258210525372094316943682246603687325484208032619015142845702458549318426729894289635097181708042542306403666642760912308179355124219518928022038061839346736419396741039752955012639784271520673337832582421337819702614787427454877825364559987496122453039775081204873730706523330818980121330155496670437858547863552636993800731629258583217557120478405221611620062124397767269991535313228381282733624534375684645698439399426260057126645083358980188344199506577791707879203964615140142857689295293176279324103519550472712980862352226795777105133914853491692403357807457958426967575663727353417134888368182016361596811337659430194383768510792115262847120090353855368381778689740517053932782093439306383221549996038383367450410106595430319363705338516708884537084261564169045369310258314356297892936124115012449708349000679928625637431451830770223693202576890795505818409612889993643288414189198416691048493988136972231909216080111887987947949639653989399140174269656001858857389663561812528843829433423582937493834963804712380120690704849546189701143803041508058823571324343950745857865541582031627034014179765245867976509091060806540198184976029963108546132203098480470691330487065116437881248232138772812360775728908267942968166866823725504809292209336772905742669525039420555129192333818732348965535553365665353871681809040503399018032062447722485332463259331251881375086490137761964600028916616901872114834021123786694408692622823480389247289528270065188632935145842164942939455766055882640631058615874674441474644574514396626942702387701873678100292528711956878864055993108961895413375311234600071636729672441677664329726333148120447919333786075842947774893034604806576788006110843873355719061292859479218355608689880860390435694865106352472189645245500144119811724711259039924909828036670003828337539638998699840208483028162958177420586183727131070585549155254329840081330403655203559645727111060165762836700794013177300824434703909077575754711976573033018735706029567766032318677676407857709252425703097153217666016048063300548126785224330445643247247916950904585276775083852565045549406538303606081243567018229458844271325149028093148356749764367180305275525153032268159869810623466779518606186215125443934509945206755507032612208245544760314268051258070846764103335464725309605616447876683239489011125711991886936559263540836599146298001008169990920890248393043371431983229525459666164627826516552909245450426656417515711507385853631860385119627132895379127263259386405956907091411969240443631773669871969700753880685171543926403538220579313202428534160409772431463451946501801703178119556601970469986376656940025362487981868513171052715242950536279768310794779724185126521422063924899839515674545915112374741431691108371724255485916538919206123388096916443072006762307073444866952659982256205921024588306536890334944821552761281235682484563967502316910825160969843006568076776453687707767780436007131429322845738102995829876528270508605947290802032620363677066010200698263153206823094718186733717729750678433552002112734120144362927943501406569935587968638147043610688281177739244044651080293485420323734459674344074688825545036097616518034345528205167971453253903795071298243361102224359774933854999742384797755549561730013215941573384379666901840647558121763384120664668866303077200745155567817244317611177655676018012174044703869169734552284441795819792173328270659473324627787127442595177498392521378872055659660593168429553740766930617722564310263698324298292600838993045351607354746760204161881136036463153188025300098475163782375128104084141721770843892403003463555577003259556858008884258935866075690027526736637099059777038493096229132264677137008502333446891606368887123178749042218308221357220483756155088634376297430285635727245734332632706502300353021347581910584863312454194879277639019491698251327424906660392961179257228899595794329869970106001016241980665934757084963470610815869834289861070477418180575208902695527663146583595760683520871199624821550558814634003880589112242807938175378434674256391695250232145513352590760083809953150336259580952517413072992052329678086777007115283128930990202928576251309128574028623863158769863598153651157997646456235252236500511503592948445096809471313527177624431354038119185164596297438610606965663093144023493129105120054019119738925078988948515524737781222707288402768231445346351888108659517930322155610731667879713618478466140434793504436373436118535370473963454266720300876725617201259731295316725168081375853502800082905085501145895137030933519129469166905101955050255146841939163403551296526653482528195987658573932222646772933012111960160916563081887530920968954360602069400396683743099468262132658627719767819456202065384707809839851257589121839501552004245164557767811741830018132097446289127405408832263793523582040073172640025228742843945560117267798785470815048569659557265447603664820984701004202876630103746921296219204685197575914419916134581260457164841320775966479831552380253694481814779255847944138406881000855524152839396218009366084448101853065656238583152677477313621487196344161073764754545370273410282943355469036297334801724218405618833778914135786406345667330377193054083379477017760338399067631370312620870895702771032015496465102173886838506095711376369503879759130254388570752555937417742132777135305793972878703547950546970282971832326223431723183663171514697774123562298605337201829987244995066660597460382780632762138216275683936518381837956880532246313545312462792090130010859200705199339889570193428428651531836546564950581050282687892761742713466838350361963049038952545820395374029711965484932662994336699493663655729447378398207947687608354550536055889510161015366987081937671280124756678361800581991818240779490399529670504376627805844936952697614767912503656561240345004510619893581696128962881358150245747382551726773129742299127502289620528876458617741365973829800939275566259905774482412072954833378731198192901566751053573197752663583484372130590422337575847661597189862901803886935931411275166186855152714918709658151921094167945661040005386023775582448265110059000831554764843756470658261262689592749118107041860597076347729471646979835307112300072217144461230812874132650158011768505337898492757200492456891862422967557104728123219628898023781695319891467411029142736172511657715727717192115368339813888060049394394763739799601492633402457419204734927156008363111107361905988704995647591451654813604845911285331568120778785273753749034517278845459611776332625678461692237902471534447284634479881845527776061715592214240639731974299897238898490892086175786545944628626638758965651859253942948456083849286567653977827480106937665446922128583669502845505194952089158172089095096802351080216877475303039873013116780900472814298653302493391722014294965372903837233885538394231036858695205489496140709991906540103618446461253560123214361424888445223229336268642402723042257505170801062126014762572656321398383243434293891577488476203155109773850646190553712505435169865184509345871546045025970878736051359867939457095747539211049446763003358854775001626715981347141641277581664953390761777988162079422882472518912841007865156410632904162092683210902399419419028296230072215007319327275895171320836939157035010979984595853864508282200519552648079268443218097385092779911857509087592333396810542185260609801987735392215411914022881972628070414417940068131504054084622210111411771053997797842749593804474366637182662747499933940970849847369996051982853479699030236606442874677820425151292907745102553734849951362486015291092352092936877370835708696768998092226479630624901596502437190545586666866861432011880408949780536040706497412484334720424600929223666913240824671135125562133540790663912908153844189225827805519394459971382385342711875361566129365100144709849512949876702127020014997218138087620870663677529029930527353574534041776000403975170561080663419921808940341916459889315025761946910508311072395113932277525641144659280669300855200491511663740582379557642683463007589620049947669065293291695486090832566934471896230702919805198693324753519682886176644429719326758336798678147090444833217936452036260770191101583609938074165612976131779116203004663695547121525042643310096678433951819333091498582478120208644949548153244415033029789482216238832041254754205403966419797180800055679508279406808692490267485208168129888685133497068494667460797745633769981705992942694283073995164144857361326183825715117486374964431954568622499108472069772098364698900141900127349441496574461974606585316278437514392693838439512670735828717606554619500479490628483774009378045631755099398143550321374091851318257218874823257404446015760994077411972493609750321152744632355108658158773953643009526928492236068324668004613624870978152403442062837475225504723430504948249560725321622036739985611705885920958456055805305885671569070454662327248679145508513300552817481490666313207770063135853608758978639980582549569483196948225580952804218085126631966975336292740350227221080860604722547434317804564472622970690843351711748929472460066074058173103442620468253004413676690496579290973014823477533593383204688662952563871845441811581903821325173852120700380292146229200646160440219963897883336990148206114239877775878478568497612406376144027386279947327514191320108295543733438773714125298576038419910237351230038878372662257680490747038501114109839527458838758347323932844757987482210377940848894481895406674817435343209734543465306210776862995312761808226470798559313987648884697281493676574377651802556748194020480202839300647551228294483795610035879452784392650874811051614046210245120927902161889567933426291584912253823470766691616464647389616639156494834057611817542269397060305046587649178882042018228192353677946469611758150110098656394971771136171659405646181059546870532430474994986805072959199908871180359458589144615823696130536624908908081990952610740061861405230176681528380488774231627401042875485366513217032116645153385599697056530785334025277695620968605005466781295761346068855776060915302976840532855056214947226378883679862873118952463600310029688372642480630358009001927390541718158513908065248937605874880148275703173394274183537607553733498615124498024871037217736668328036024681357770205196418089162627032072816420946545068417459368150156520405632643118255770609587942406506397927703615333148862774583557794642714828387693635897435540447566442330666719679233347629736687142682233105793101962302349865587059909959844634121675971988849106483303632909875570831748596616051313802262892353717151027933856074372525703981257906228057283333586850412188792159528466498481927500317762185358587151455448503275091324557429642291059620448010651253445329468826041806281691303863555119396195952582105251994689970476747496203790929819382416428286435605769745468517658965234700370847867293674401073250494027155356930264278461508585241233166859162193405452070843668499441506183780194537591043122021389161254546121654091715413133551936010584356658476275076465748188817761240441540207881893757047691610274726939778536345847285399537057779394577932890659679668787054731250294260593489558370050219654398626497723727427016141605233695673520188529291541000669585704897133669546683821519785589992442905909499474812564416486726187946388782489564048714948827770568361370145608644366889132110953615399290925155674894167781840859949251414014871548036824208107476086359594716708729370054223456483141420679405080960890252048167588278558228086267139475981896073432611822535660995605664543758060436815508794060887620910137729358469848170559326005652063417397767226951757067689627706751635911563540898701723856752196706838909127778804957126294190588627272112294611690845984453228185988792662008475351877311823135653585584093007232066301369489997424054125229863270894287632238655397141112406936757445506549647714142792947693157881416205861457554299246524982279656894863067713267907543023390800973864845601924693614860563286781753723733970770944473581281261652446226867837379686109745886576606444124926226793710324066283433766704976825926672495859630858895137579202120054095497947441047510002036553304458430660678675736905313485804109419486230949764121446705068812559330123090694471075093080871702220693257719460198972976498862575164533343050629957460870923486102132058860259069383334413743989597648704813479350287574899638438678572117847924862003320955807708638889122986260603379510147476905080555628766770999165553265099050446331729929166360402710824896960539465886353093057643518559841552542711898309991755428371732382673346994600035141533418451811438952073074148090896557790512638538430873320153639480935416564973966210888677926050468228928011558662378547595110242138104002870324757460458197613874519159269173678876891273162309756987422151188691791627107278287855217960717348296005953563055665530305034003829431360485972272075458751754544456749102749129336806797605854191772172098427832256501126168041211609968660770578862009915996105626743981168506605737751974728682436682724767773997760685656533087928658064870244543717629308404570354132376829403413973864854600642450820334272182435455593479027048535063289454498459322382895421386432351929546135633490417995652108864819025443411889857902836107001879050127487844284512878022131475245389497738880045444265898307128617861081409599025328547243013560299901121837801281084781559493119229427900868166287704186677435010984927989937808508034860783694265556831782079536738741930720891501254941606658171469125203552770697120988342550021193336015815688254206692699094848464581047072609764289155215618257003880782660588340205363116528505909864396091383808307787218050013442305442414157614015750191382970211635059762811267309801786195080436391998178921575434335149030039707901106995738858338925211745867620832221128634168865159665850379240165106048780621181694825594446157794195937265621489580838921554427821154034519222377854852939868500981067644930340065372358970645186601881166590857819253264800181515187000171746751324354497244094437430316880150429563805441633063831348662443987823058590673527154338204207672988779751986224388182715663334958460625139949938333436157454735444979606915201494909917981935953532176292515496965433622080668603545640526477097602920270021603750889070161415194127518097893328467013348912737022118499964669758173768838698657336019068401392617161992486672307523257878311323029398179344234510791269967778486439737984643032145503041822076117958273736092549628662202113659019701381169235745985028919138671915697705653903526954697671321894896988120857861462234577870128409708440153959278025181832787892250478852308408660286797982263678910073121910785788542814974876718151524886673287992759637460496886131611921932915664165072440745035013244503740201797138833745884785272210814175516374373202320477957883957254229655837349920899868082622053257854973012138540069857521156073373961595285237678296750977311642362849583996375101947232017155883157018758175678935265682695030771672259563517066413485896057657872714501265173561825134921649594283681112762279062749815425729433965591662212919855331317896374852189216905611875871050290111991099368349289386133550633747566447887520366145700439568095705255713186157548305022415249594755740727305244081631351492139762735209321754822096860380630036028321737020790469573945379562777888923345140110906322166497794501535348480218631007590752684705619072012436887856679459358273069916243970819369383339923327285462312631866625666799544112747583324102395035603846554510465513354357516398177992112156773347052192406403507093408140799413093976499857450435950236710740824400761190605843272635844466664390119135445268746266434324474780013091586473841139339995791617077664629577478320566151496092963880236570282961129490586799407989873448617584963737178214250084608930524023507834389478229210333828623785299492442361743901642742337670194500557354522187668506507283687571614088773287494888326240427966834312559573720694488484399681841447730863328785646232300580664201289044169750391045987747489715008263410160027598187953300120183331777225504094024095144709950201040277954257886053159238826570012891502484396620414647686721789399587755687007589112639237840569440400509499799701180783968396313132773279435579260810400291020080427229546931491566875537275810018193986235937346500851219832932303142547817044540040178949844248356369462426113589995833641057095218945796206805236071078721982250106911074920184314302013284245608763641573583983134612042430646150073891258183480878961517399887465209464872219952466935714283415131954686785829302667402049359681706966976763971892843863270018712520878196062315094817670803076808779702030966977565718197767883601907985518513927531682554745828741058678773315046298776790882700560855787534161181159566881466940726165311073440928463713535163056980303044411426793272750431800491159389516774183361752743696395773755591441126753651058477456128653836274496113698107503355098319337499246290165717181592393406628756956054601381630760366684888549980575606283007033941164680141727044328913463502288688379118206726138401358806245355351227249115982942366983836097316987159486668948292912601944501612911038607977314174178432560229580709826728785801762297445563615646013909821202243648980031363442452043514303740225940411921763218700915383073741753208838963528650035262792970643008025596849986847096133269824923685843631980949153582427095631159555709830599341103465002601830708268964043719034377785108008477892753295496978586450711574832191398578477315188501785301100649711522035256050830919911767838130780735136218572468118257165595943412117377664888213862968058373025547036832973631124915259668436438927012978677013564934317317645663244574546647802854351116623680703959461118809072687557566210186820197557698587598695596783690039392515105673998923122682096645428191751935740423250501436744484657288215929561100013170492714068843700100759748672003918239758627194587242818861165632438909182579453385416691998419862294261461273109977725873269841762534960832447070409772336898384248710414906464594363761282144683845292734629949214640675875378758421831355198938001761518065159365652819636889162736528508774036755888320758163649966160438676170866345874463251984854199795313305014061695841416583310968626803075534075237136504395884844553489391963689055865884823400701492567742408934855682947726789132344611025013812498607699531403009670090110900030371491814797042720713711847058422778927975831648533292435009761604359185507621544801910951305654114716940603688704037358147880209548563679049567579579024033646042251965593879702739221640084076588436722323963565808578072809782033291762534633526117994479189620765225294387118556408193448324775642649365921213037375901074430823183692155283994431029960627246919373490488321965432403876707325199258664808129556287149612910347695103431658441135513888506665542707944130171597505037689797519135933178324722265372860461272682058777774953853825430280745316340281392780637722871025190400363613866964292780496869246131806719186896507817968301821485570088974815867853794529341855975423029038400133433043773854788360167577712031374810121902148444036967860803711793179618693834419492067031911962712540545869676827498067898529640242445611457778614479176516584372741538622357862989215898575964273374248410248891738854887398507171914450497689539874982958492379246312972368183600224362759806844387811862532249078335975623977365509481667366565290044193726489070015296723745496465665175652873223282926952461684066543625601943556248610835160360816317539353471704624698642600644561896625190765915543481476499488562775049386002119193554047856066644868168483829538590104913735384896933737760587912757954771444213414852280919386830891369148088327471962360124826429247952393244216950182068451788267854327868975978880882160848859616223824208361331983884564207436011157853962077253278272667104352402315704804409610771840301346474408089144534539585908620977411468425483831786577453240125352824085651435229392921329539483489610463862791362969611801303683214103435531213510259568257094046642011964641443015088756069841837220409345855010155207556586778969296532076002286771420270479369960715813194866549840760110678419302234542331501228212048043503785957994358732385749038692283086865618080787665072827281119446324701932897234047985258662787587613313024272977066406365867033701424563339745268548790699553236655617645379242916319591923027947052124069604758034256328455122810030579166931202612047121433139421914614726349002541583129933158366014989679341828922476216660571442118041844163303364242211823758520355271432402173665437787611241434408383103002826006829552276551320493445368024179269832997698210303796165889742376968704784404476456996093376742804250775845441844981401044171093970248376039262731572376060665872869703315959574356526177873499119211540341234111951817635313940117607446810668800555491940070327480447344222654639706983282411049630101874679904251192277298924352996505261935439689904435514081136698135451370913823960223521170647747890707193954816079415176745105383468544018857278303267861949512589428468072180495883326135448479531921186324002738611120331527613672862879326835530281364505610721227759900249641669117035685160433566984292415774923396777145716978914751000296707698687408841762185867200016594190966674032727745161303036089590883021115937358279255481560832891600724637131276215415111511535553956265790006390636681483237864491137805896096980795663874266529561790147939107882671095093319515692088345165972620880945473972894233311729715838919242319175617013610398961440693549766647888579041662179568847074885894777513450263047540799464697283582909679532064149881585474452526363749691827040615081834112396733439578201863715787082240081329954489460393891204161647849123076408706034327720656206848196900812791338089188360694947129864791393371941329215259907666106557579333431827225095963473711059133187739744869049987821759990504303819196147897663632567514928408286935576973689921875849082730214471993129137972172697208981449798431533880663993488558146994072804333302772052212365341802906155421877391555427697952321821975216942354484346940831983021539402165513582807777699911484371610629617678942280431387585571040603794813559298776410113127717267427277609037809899894880133084618481790807974204145894658590046978234743129397686661348960607485353947844082254987210627160580297833993092421392338730844995461558236125188826512079454803638848468781367165506588946761523258925953528100000542804204509043311586111930806572026907206018272303735445974036272352190748972167081097822343761893015204547901496657335995018825392046646205793595432471265153658869090129302896520577755261764902722806252143552688091758428989418348593986509160547392361582411478102905647704963758561474270610201713530699460560637268113798421544118270403497789765936515525518324927604991705582066720730351127909076084797647400884534833996461232953080973546589623656970440037204371168646603933494502537967428355736168525587751210958926890090820106197105513366536347048784689156205827962848350793584235847477056750856865093034381431572697833267037151964250261936604721191755214823940872144901618049949560645306980348859233460409971420911852296078480090348607296088295656764906739843712674389086077022305890745943071803340156099780872977423765624348566649507530932745708641511482355948291228196817299776108039400544809856624961328551398380432312871458362526785936743113634654540779893061620900573758608965113825897417848436969614553590694653972300191711223810654210006194353888930383741817921172278750749445180615691879731526034163191930504735221536768814126565785505914664646194686456473144632097180151278935350030424044229212281647739590644709244774699992589607747885830311410081674600184381087245445302921707671650153854557833418795365002873310228845616888134219179396256502653961778038056190239137376928181288395641607463253668769318122370875124551844917481847522078957446206125705139849662578670749426979106274292600675040349402784454027223900302328947148798840786886556191230634577983451177239385755910468582183115176467183027638645827165517730069820242016913347181705009489428419342772130061923871659317072536417260491323280788066850708986675064224595117964233293581471765124647442404193996408558918300428353919406276360921430485460924668448019483518000039947994343687455321326590539153815740563583829320913997336496664744831295755706788096150942147984081577973347523077591943717297453576866522018036874868617826319955990374417329057021843674892194525538069211105055919770784913832987611456510008452296089096507203108600024333770045694158207033425124194899643875917831675373043921556855775204034539752771807635342617022975886917756833893333983989299154104658817235099995684230573328570321699837850756321111036122814662808370462146293801856404817230881206569541097222506181963937048414534719530734067838722759013910189903710985422612999013271911853668951960489081617618753559426857733072105322899551219833429151997268599475719138750222495580863179059913580925462840805398164050701916863071962930464450444024821812554896669537034475396535855373362432004029391350614126970339496613892950479451535920810355559553108602544104459354286379989881970191277786496100638280133250613558369961669845357603369901817618738828495119934936160524541214793555759835771101270936744152937259109632060269308624271401015588820213596551148527558454668836585316791787256178679895202418537139601693428631493466295538685440653027150856461078946800609138417504627213723717042159386828323440227195363923353275652287299573653156690191986895568536819892683469842400923603472840417695296001569036107797223585720661475960840155904386033781441207645104997894414705253185187547776693067105356370461023627937093180678364636713609959407081597528869861366167254987800523947943413939813037861678199620876648888089544446684164879629865718229624317163699149480374369343458382483319941674777766119007641240878028036070146633340339306810777798962452393296252649781761329916965612371552607223930984048864089090782566450145352163602662173458467643508460129102272774603155839830206189494877382297748709821212755786482802963334220567576602931433081475750731390892442683435360730764514686767501020018506325394689492734126378981862198303002629136050866425018717090368742306351209006673279223556237648633243670474736836598811611390273559985311942641707123954942043639993401381382654905973176871045385649754784007044087775215116960096246056540371334046993037425826130702712457044051062177872396925402004117625390214414004095346982277117584004864852698501933573607808777327419035335593872361540432522760011588907407898960569136574385580003941796390901582228046376660663178084363417608379298814941486184681466955697941222244264123365094745485890817913658019074557790430428560812593588487012873412444079463656129859546330641789674689182247644963714842501393109975644647802157900871755566008580323060866667084364343272863573381157267906596243229880105113484450447556284787661138660486985036593274093850690673364486260957384215347115368137217265196927136470824851547144242272740655753807785020126092244408901802496326456995193805403791839415531949368049711662417500691273795133907547859866901475888491445222592931634626393664509909639049182597416194351896694263703244043182821945274939276672816146910064173066988800780773544071912698788362331250282482809052099709382094146486041970174910535321107876144121519611689189408008133315747575576806513415749840578566738389867353877650921685370522327336871343855725475449404017188121708391564380320939556473367791744130919030698834629924624985306622551108603817262157409591487324877199374397357387949908893916595619036517592540072847413359555796021714633586797316443213962663665732017505013854927263762357454056392513846701516032713820089764489298728506236444728885153440180713859920291352211831396931567384109386826341389655432837130999828425916239351818506691446391039444476033588273990912807199586981790557337264241614035138993358593117010401621514826888016834210341841867532441599162045510697576797099179524939628665285607614779504934448011977831817180403470221372808901232151773987651191148844147951858369276033310009155509895871884069321398058248481705792364749288722570803485597590481705871156980536232367528470933017872378702447407541445516709482755353793063607607391342288231320192953206686479922131901793266212542829783521748670312013432692272534644424359083053934231381251980338697515080207277979072226577066312982936749870280298376016665566665889380521859095971599135359563628133454751626985291627353840638226890747493098481328839317292915297040075315388492870182928281007454188588848278690125581376185637967884201693000386506310778941591477959798789225300841217641110653324991860354917256767829599577989641517711659556133306257214195559675525931096471171514443520844431668370929939041150810321165786064514114767388914951983030059293404505740402948901686801523280461188292094233722563672946129562523016249790802128520460282331882957202539580769827848941840438165939837573063051143261157797966005242991371336010655242466679914125081814773990989454106931242360239434142486974352920125306448844046704547856062900895331507271248913479244017074379492486765577853379990457759256150754838847680120948371636619917262093952165724627426034243841430431724082954540388989697448944673026328763514702774934592036004887484827636111020271219514204954525287085341364580892571484568195668793077418782771343739635774060266095054728623333210590241976531814089136271130681009109795631606794997775701663684236711297138668308497838244824812558957112431740368090827767487570995672674218869985274025213378687991796770368302109745779717670037910521582966474975513647231444725540626923095192236063522760120938328594614592064434676115566364466089433541546040456599854123992304161435880388249660369931882904500471923731449376595827195552610844049677989380520672711005256669039878612731912495196865391382814362995516465109844405752769708228653501282156242216706129689436484779023091018728836558531850162455153166053939760303298672774293798883088108631751000665225698104532645767948368638650282365678272917314018370049554816294081936248118361724577851214389710908977977572551699272435234842731437352994204608953032688843020930162327880944127520217731247400128437054805075299963880339472354790121945199417166117456195518139490003519158087812383066994695690702294273447535146546478333365610531158409479901237410100056956579512047825662383380415026833790890421448681700736262256528363000808053826241664536461410933885715204855094065122343238311808961011603071089639675349421545435274852088930565268699000872517058849482979818285706143143321487261166005431373776683451862734399041492293800426578255337370848194847865106568946917719782116237277733555297048841189108403941194750332382581249949592754754939466578112854529813868587437245381120851498590368062297586576167761524345275664140584894345226767273401731689271533781673359712710452206243434102819246882396340024717661956723844426547253596370015412660027826900789121658818313119699933269434785202526305059866165103387448818389914503820036114668629802204841087983189164336993056597438305088602780213013128730761247386440243521208651982929590352447831073792039851325561200862773456841132143404445850189655186606881462921552617411492442048387446435983562855069419444201439131333574619018435548421819627953956787593881014461049753020590925876905219236826114598496485232416709723832193930001588291713356308651422776738097884110247143799602893448635080631733219747383126113837108943732956755145207864601837579032232725481934976681960777061150276275099257852959934125786320535474428718383733658651347913962653700551214100582407123889212058473539330991482437809299649050755229487477473012195584460104835701973764838173514719341440813555564341957643159924737768937416636463017546966383203691887285465156971077923293046085934586291857477825480838515594252556923179769634467474211167863396078082024376320332904388758560120066543597828391938134610144518487073229638466149560991109619415203444321654777266336358935279840325814698563496484375615214135540449735797408342828248812950981379931215447129453309259934827376775127055100926591382050391768961742266756035896872162716930357935748332474402484761574002634587890696311823192554953064896462110404591194128335631105818699993391171241578205089613240999487124459771210538730396122913079423187594493102602430059377044104569233564011496993708268447370512094914632427788568843286404238728081653259939301174823499842045013983520589476993991722928138004379500579846153699485646916560720371356127981241389383539680471598611362710385818086473792603169849831706450606417007839031592257691676764246669744770508513511701108413543683771475032287730107413788853763571616281844359265790428307406270943444292109042420337263636691735763706572485797410965595893699613477728272826880717668938840297569389347990007292745696071880466477886964057071751866172247894930357802205885580508954988503700581465502685650393166399387198124166923955970382834962595334360042999070334504851888758502558629145214543931867005779853828941802578397020777174501466634706104951956673785921552505724397968632834564264332085229833531149400985498313105350882365740044154670418988661391985242223155551677435583164343266816570867939412667328144820887048340439463539708054434525735538367732814470479558984800761455566394820692994762286050627713477956553022292223217357517821887420266479937082847352935796448675794953422796750726926238975229103612077926237091057296470181246721204118405542164008975850241254409625756536033650068343793843979494945515267224796921844926103984282976999245655448442469393423466781939727308489512310646494737108983159667167791516407727096181924564227571484161546934246658014835493332005187529982705061362251881380321412930584983000790396456290817618451329382108634052078754160449452869269302254509597130816402889183035791503771659197862099586431234599152425960660412700409139061264435506609672851501818941083025911664174179093778635666078347490682683467913436572104758243980506489134675125678019026202222497533126190616350506459416106730975556388986556458847824297062109988295604246565378633679971741192616769760915851723786143536440024891183533377774356283553917607668461821609332159095821516446723530342464301568892232633100642504537152688086419909273424357876076440119053646978759102929577688979700271883890080362246141484706419300640159040622053052350888507926614463919458617185523039246793287994799302763672420226277267723575442171560841483831842913448345932711551884490349232279130219991671033261841798198213630589584730622313113797848261344303838072265676820101502113362278347038489832357473009494402049561860454153478827988358374151157351992127476334269304143318670812645871073899267481986246423309827345302821034756329429595759686745457610886606031374936196304055251607039374499762174316907024895001555277111254463011088504777477059281421315144887356113010439561255597204507151347367963789260513850008690733072258273080565149284506381831613501891662707495417700400997862569987807904874479671921676926936911225648143507399339657376911295914759172076137266745584599604480762105219894548882262848362793851155779160703822892314327294605132274708338933562176883423629426288924914716032629843725750208448659344594305121793999810267748122146852989661109646327664537725281107477913532262770979596538868451955579693215080937096400896981384084485982089015512872454935486714378349297635593257344371590483578008555141934323928406557183664518691612508568285882883763465342974735200253817977654053118070300239794336794387019879525903900409195769121649781500436965577871583122857804378737083346040355343130141673184415278246664132074399165201926448600791094098342638433147250211437107303028633023174801960331922753194012720398492612327933952458615668246333932640590366156816552420907999836606338346401850916724286183764163371666251686042284301523598656902941068746920055228800014747897040337093667422763171021960513945478496706569457404069277116373353427653575288174053817442143973558526768865600646470743426577484687977837925455043520968681666364077925204847223903038665006742092777478460276252577515278578546121257779689414713099817358576065936129629921010967441648912087904650796429623521974113418959585440875814494237855684936943424589879214424243549597266786809061944169124050075699255953870089862385254236820351367037982772838172610249592467486531303713351175206454117326890127879160056170472418653082608617167523629338479390129094387586032997565883254424015333075001271003792525634303342375134158575926041736690496224678830290213769105790117474385310626806290381508111999644971433366628963737487190020748402350949026559938772467349534833387109411494518638548796175256168753686491097916557565886601510447460861972096025926341620959759730991286266398900797139091556730151019556561296207745176736648755974221038333893371909976196737770616883585873341723762201766460171030774316465018040637963300796618422799531440760080219373923458685237266542398491785425462169525582185101061934974315038164822947782243736265638352720475907276819877735883018622229376244773649264034954643516297992949993868962437272880659978393877513807916885850933861684583305245600135694318083272900307331979834412018055364265102088884171347769160498605062915947482568877534992596869975551597313926308272465017952420025956086985597624164094473893895437354485338801357457389396204043933008697045986956733413418199561260021341682170812367905527885243310901039600636495082785854352850308099667139096692496756170161280927462409902584707955611074922875856005992847823280630664713692378566156311412234349570801579241296632612246084604552980981944967574490005167648485104388392744154487562148657680781440537890769131379353206124481947646591161252514259815323636857728524731701788779205611833026330831747207600923345774737449432518114953817102960763668079415246500298279296661039717050463019688698315510336467656730160907555205325159257852895696712787560567184381261999810290414249458558992348590395821456259054321773975886244938715803694426940819439759770409307864232319948136091288936954079228418170596321863843023972712437439462323659706512865957962831524570248439536479887476875063597511918551940475401194564188194142947598199927390754131786118137524873469554742820739104151138214424244003265791133599042115728992063142130416073687306610401751936614723581269380791190869263580969457318505489067714923826428388723014498760949788490788870721067190859737922389826560529506225767144796164840156698094047424980316616462121166725427624333234923509445668290948008989872569057976644460699511995267435920311462367349456240522323916247775703824955792830662165239082563004003807541353935854415506833084608596944420319427417799349636434019850281327897237060651903785116830868960120284961874012428145295254618586919565480442572660035754674343194369643657613741843947663757367177847182185052303252850324051170003592105012703525557541092879896608926406026730273123724991841526530919526477546204957492468326244073013738161694936801791419417301816358083331120226101573837077737818200523451728219257457706882403193028457712850369431694087904023322237725264923304691005688424971003534333017983901861045920072150270492839642504929317220320180961003751964541221950064814729728337522786684648360598085449857298603018716338807793630731861090857034270927936868471637168178660654692055874564978789425024038119079567787577437592063574407060191780054396901843924495834154943656037826595600235584048671909421211731801918570767478967992552569770021891223830813125983431032337912795973935895192626050846646069655194060830429491623412037966675871577147743975991049757965713470036380077615701096817102930129089247300233505086939615683262829421540462364974281684349312164523895410644725079324630835771452586991535030124046641718553865310662633215470136251247833845408408466426746108553158757829884746446082342686732100616578092422230818097446499528870054686322827928754572455155024602003830438185333907160075069756462951328805397612099864507504402298088410107247184203039708778068747286859083326872634443777446108385747190450631115895028172487935195654144759005101913013549385607608332760554680575307484116749785013593421669157719624914099134701501590121405152109725817225217463682852744055830562120552425102859621951013996018733364522897669003604750912799006629900755302519234689502233060049219617375393566050201038023218321448600249398133109754606027434901142931224528275341015123455976958398567638168938929249736486354270535654033800037482077664122812800302654103048950951746548432728171381823760221663325507584232041947602216049284998578066218966770748971474366795355078560346731777042387046995156544985088457237379308492509245348681163059480675164178515148056843981297125576913416828809851657461831023691414490675732159560772618756788034097394123712102557413717470094058064449840644701908270508314781747257794595308309154989062284222526755020045496468720123549617010875851659701825332097950805378181620906862807697453507782353724399209167151706015389528774959379423087887223552651080122374716546945849414027948396195272756559238964568537796885564242868433496090499476384671784347659661455982215417471645123724023702504830612212102004941233897959744773418016523621435644594935962538843228406164477623035763313899279013995870362940306536496643583589852876032135217528573248585613357575300730482862842716324041413305599428891989385129212686625761842245332296334479281309665251960912482226319185183172341674095507456774761350965866489579550075278082717239454825798998054805543811849817027282803672160846770294072526374679212837083089196562946872296251836732286585081098460446051284737156177159104584479308861451233704169370782021097509251990180756299534969865510372471516947156172077701503686793082743227871535500862773413589919774939962978927281892205667689023858753761319921109484133260372711415529897490547095934802496107030202450168218420752653392382394350127467640378044564273904522411469976304504794279860242590531552643017826266065636607176165131871861299643160347131904753203447013979183735990694841227773917242821466611673939992042023975336110858809264626412126986935408748627375746792080254049027840514075414619365628819443184330914727091684958293583063027647313753307204067836583040415456186584677970604045035144443225826767799056516391709811754283335619222740318130663280221053863129076783118106447889791584015875350530821257639019124399963181550477241690442829456267265176352733635111477532888367287114267827646748515590897415621737649574135204633014646656492418150038805962841675897929855322165027760972436231198847870552118178994052193752887997136571113558282773108733472962871229251393508523063143218049017013933787140602226398230357523346748170368072006688154139972774634513112385373990997291057678955805305625506694904295298593444033711156522632671309497919140303482369344599976242260371860569642557406170895159345803138923045874969676135848837586357670164379928840854601149299901184896798080553722559568778713244567995581913412533843777764273229903070426350549065100142882180281957823748482995120219092127325397501882626574043416120518878825513231716261680732409353996765252199085476434564806926907530684522279741439239139512302476116137774940261922423363300663427252004656775719136643697304468655728293803842647737761086216525374521603968285320389391883456481708229667138148498988298110497645685975748997515755315848240788101795491013789072667972631993294888242698958421934769380417095716873650514869694101600496508992966650397964094489977587173689564129414062485636621885676323348144088451154863793672499875311260413481289418465715635714058583652351090658600081501804001214206905941916375977019434289157354932723654525903918826218259790795742545828958630282308222624197320828748444242593125526666254142483653036029638562721089038025853650040919893260163259991527474428631912825458147862195234434618366531739575902739036067585079439697100347392738528797589273213601561399372834600005025686584225739619127260156331097005150612785380703398600155975509928148651596584212599781547311252351027161676227460956653457082690778658147382757646313920655886419697834714916270300601345719502697208117210638032890748378586124614694138714939571347617661524727890704074911809987956976592578980011649380685349737761016805172871612139764417185880440401363122225110642517483784706510922936315233952184131120530480064663796476945509266822255769295119353602022614411648514511358381915273140817680006037607285832093972299573647926521985171888494572365151103722894447823041817544511772172820591410992783188783519793933418775054516445946456152027363177137116760156203348643996519506386684900739186605967950824197594624633614693006483067134385091246834036774718704282941521737750593452346974349586862831118395457508841116513547597991004469518306305115059529454180460613106651298365164884102071487935873275528530122959132804021437803795257089275474051734268383202483934628484411076625671425097853977246463598711734642812120148576372636384630262306979942592368288309226597388056964014806530202357990204502739734595895066955320633506378369697744485482228494344525893099241106942229063089881044470291661264232339954013065496853609063295732746091408820652927335473391700735856285672877056143528030066068137668104174218483922561445486383343552705347833633003228623583362318753397474617226575712172813927411767693049312445889398126087085253110037025411801449093184265367924214716663926540022561920286248966336228598370667379880242134219360768406009469787665656267517065410890154454288994620500677200345714598714381743011956004326526893214992743435268749900431141880718195532827765558230403147092535435218099814283734784118722900577771806135711355469730854964712725932522905474337747851340665728069936209625443071398273820322597658639727915199350833316304715989314159117796977266924299529991936889009208883969092106473728085045732643619995123996082455610790537844620143632938888540656834970929137444060680606284485360725266501061002975045294276513967640751514372923325518694758211242193684308013886143399407506133804921515911704342880403372142942029962768216601172589130036785724979289170281777745538633876225559986804450720329040771846680012676764167618333587580041758424949679552429850659800302401316802190850354009774414965939513327268040293959084059348060854293497407675837155920462409381253061346112768406649362410459600010172135913273703818842523631158245403952216710114912099241725460317243447982805950558063449260788307839282008888206989118954353141328404771666230364257583870046031227476180081393737810713760937792827967722971560785529824935496177179620359577704078076485673462452016249902432614947941689824538565291305308160123916043644124751609253460184425554199438549958206844971125416926165742215662983859811735531688159764949957249700715515544578309823728465230175932912072222665489866761419019147354840972922518203838521850250053509071243473667545957181990674967790975513036218818810595515998667480918456886253186752764729149150801672062782300339842830142503225628986485288291419055382847536988817676181563527328741749101434595379644400530033088389784509788638379617274838303719039064111539338091640794706273275081505555626680454808212746521284707124150007449761355891670232351842856675764364076548995311468955588043149098551056893948951088762360828140905312135372197746730695186983987067575965525584123748542405835928849333639697568080311870452757027487767092417682666553697343767910926768699352530353298737600525045069418192576550659939896906862117766991736917396089820026725173909919240890865985142101358093632635472268008483748085712310041902714911423405316360480156490521859723010805973240264309698797052752006156581894381750053960872117649422431211128874840047237236059570202507838528598223923060987890183838151257863075675565085855956617342582790875474683929544782361916003665215867325430265366374971205092420938708112300901452466972717688580255838556928025182871638846178644412028615308730650596937101724027911641816708813558180275518443188006881196677907944113048379115111801004335853953280013017622475000384745308347690301714740745787873998689116037987683827253794332000537775241302378414124978459298161440689855815384517251595419550131561940481914385345921270885720383799358163636646102849721446364296546039701180606326715080093682760412510776483690708187160720989729330373773037713431046803396917313676152375610095533128306540202383616434924335622146256287917144528964646865537367577723906515223382155591533716025104518063185450847743217696501314168711491455497597102112691766278801750769496878924843439676965170514631913287327576097764262684864183374020265266787165631886157915894024461350086248071892656902591354548897048611648708227577076700488534792312851461441137781701085357240810592925780281375351437224185871906977577703921098717889314738592770176451787853583191783794665479182511383883232381335097121835947869183237173199233574300846006541007270088224756326959890111632696705706467250772114649733422484417039165133167032976305921493627180723516889336806746820654591519006320398835382010898362301662193165911837478571496493927489808287578151304164531262817762500277206223344656151435337439680655186339714660012474716210148111010998445790683365190456288545137112177688982982603808431358808245725871345652121098942929314607697133483013065866025394980905623876042734650030349987750636539361730220711165125385316063655141645080378101533219764680286910865577239870421566355252850761949547504381850992091676887580736084183439740559117863852726993959293622531152141635815920667574713609910078281291410198713457632149994984419284065543827216319866032443715389760958274956957858894508406775404034903528308073676923912483515072419854249118459976247718750874860404759711534680957957745727625540695436504964727012272098920579905549495963751695011175894277669322465047213292851022729856736092879385183063318555423437349101512380859885429788658887911556385435775372256073946208534308639314626057214254162742706043722132522479669192574269804332675636543496735402737893832906216099016398642915923412747789457326679054371563991009522400033832952474448668261998983080222316751829824547951592615513855465408039352668560612883581061783418756767223252920701828232916552218169111477588606069666422978996216688668198878592915188560632643283308318815145455040025852428468862661072809644066114835269634874306940927239956151273877705017758897754659771264300608232052286815693312678419574994276900277522554679748592756687753136156965177961374138008228026733202113160046966457975746107255341898106317005117000251647115773540169787212243375670623507862027974644862330849240701737291523722943878407568994502468549603700566017014212855731337600886385651509008115287952195118087046021361264895118066961795719522539709361230409266116478545120932661824954737651618915529814224736082049902619142998996777405583330201547732650298342438541924569593620214099950722562822403037691691737491763500896325270199416298987009031812365525941367188657993714894182307393866861658685957570698240420583101291558867598868532777663670371743770739861108514961519481466395857642061004348992816030575721600905450009149817130408014213334385414917649390101672853957077442321081564561370613385769375637838203372816680405216526436694912883889498464613215611388076953432273027147252611183984963782419937828546147687036199886823191295069593707468813061685387121016146626946418773392664521528639412668537139836356166905855958349116748687884101742553892720710675829853070786657579243022719216913033612529409099578129820112785039836190518259928375838375845544186951321114056979916135567765052522811644762555028498678987313610038238342896399714715584214511479240686812385721182930719827011118882030030734584220413875564094423041