259960687678761568513962858838653671429108303399777871634670140072039249267179432972328749651920249327503689924915781222399868933745678226332928541837868608822513828248911890718061257842651531055189344893356103379908409642112557021851095310462569519108574242971948612582478927687382075996772449845238258915957128872064347657324892259525455629173151285014195118153696443332286274550073340866757798249356314058987175744662271769136493205820053221806339115546217894558052119660747234239146827323191323337572044667555519076394368847344794109543183227881686754126644620847195225563874091808722297318958048977215150819639316164879199379445386856256941942323232615913946728203259607818561448090184368779137097477581845068622857262965819410457142591329572257676794416249436094227811944739927329044208844652291568423607421267360232051138656902134931873210296956275828812702999585698077199862276219726552662579059374286641247693476344190431809419465444001565255675505576489848252556997736138316019353675723069501406284912508799653258474274695534333145376695272258572437042199655509558073488896368301353704621857737811725546873977817964128381533018383352213799555713997641240127029574891197862604586439429642320217379928351201238103544178388891234774450764329630091048804332321493959597663550355251633638376997689349762741115327056148649368893479715758760086134580831534663407619133377415477544324346168887407756526036961934904892831172835561463667977375528245279123073053958138602122862372395958111262443294724546848903223800681865169638168443708919878543894503713047056727831323748889244584712446120594037692212892273286661358893934643298369412152871589234537375899619553476974446789083135442830666710289252073438466353783668047572532594361546511642868927371454513416446498562501587858556403229821315768334981753099860561646316856353797882141481435897187915483449672519854816315271816064752480466842744875232908610495650012441523316262815480353028535709395863946193727762288530824486473268062742338829546401682096222426833641941870972399825731990575793497451386025498231681506433437517105704177435076278051192263746665753662641720538660071793100712952039512687943548312759085383913112918221364419404905447776684365816219865384065963155786967875835893827954974633195946584392954158318007894233530356474241058235820350087751682773841364953589289867691525372785573355744416335759817731561329912463506350102792508446432864059851828763894581863973725698208095311491370510669180435092934602150450639951990251889106719891471338851380142150186895306841598793856775181255302736367320614017147880325934726266383824477071648774698565910454099156211513617608534641579879113881807730329293057507895837595827347887581308665420434311364606963966012596175043256467118121239325366873357779013091229934984311329353563195358378789271182402708740335594999415136777271692757287452999028119439659112024437096518307391561562591404461814163755848385664139311081208151890610082525288182383186024199972374424376509602417471273990930275482786872426036720339679109242986196090839729229854683263732667793871342290395147165281452338527448501605247163377751992549631690213032200684081713663935166406605286932475474137140579247674724288958103086634273812724566950215909700646426488968165236984331646580011039490103670868956930240410856249645062823788801226743758528164785885624665555904106251162715775750321762229679430222684688710937004290567642136271173218546405873813634421765316859090377329896938534539684155654802302619716825737645632394146715829055324046032397699178637144933281180517629934763753521241842215834708663164830492428609489224362375151487471577604974938773072288208441721461235947957231378716901264229880689975229353111940700871918009326847329829465339802664278541014682948927962574908134414591698562772557776639869156728871133578133627172542177730707288302814844214329730616597589116983449615729639076894480319806549029312588432953246818291125637492098149348121456094467103387173621977968452345534767176886249445922279628271560361746143324513544222391729451856396995746776637954982704883993337118575922413759083884077052761154504230690898179539355071385128498462857487592780876183341591634675436877714446504648539621167586281909305734961228487086009990931283095488273048747248513339465191938976047548908373612221702790760228566363528175000661684184334719196887098129484272683887604442775023459272536429845948410941123171876786279627560959391676314106321359122868496348298716610944525308123396909891713088883603667469930165747102731235266823096577239783563632441377744586436985177912567467423330197451756693687989588590754107216637420653172672566807137963163475148671104293371460147780356563263304229030199100301879836055036207949065022482926685771328259056277224793629904950415533528902243426862727793077241351435459336382253543592122188461528191631969493807811211634001637553355838853157554716562319721575266707083974393102330978581655150354786584780400527809498138059081264825812984226246673629066373358543618885762951584234178925844603759216090873779687844264017240103615947598668543397530867877182274052084272733842917895464625219090112775647212905399318049222392388617483720193693030889992736149407643448570374959023386549581821781144566369943975760073521240390539632371466204425303387970278145298650458938592100271039046626808260272032266331541821801186998086296269564327116329187407745475931131483854493073898041992757481297947865111618247162388362999108911656107621385266912715638412263284588544384591944180983684997401875566797757516492871221873265991662517173333744673176225852876175353508750391121478486257265807198183005754800372095491617411213143756430134844149533101895612936187989013756761527988940158377718982929814400353934406982273309799309588776508776264691295474134193582996598115716045425941677086061964341279385334470373476301743577787897