621941703401822948024410527173917237610962663514549526052839746610524963762829288348993100346417886203425445194062642354034978516867533764257659507335439265471338227650939609578589717747211008670170896160875397798427096784829524704976646297071386860694475713912313721952297514703116226727350536086867770533704920997767607388217527013506571687923105079874285228383293923493187914747087367934772254289586044945237361909063970197872215870541082401818588691473332953109643266118743678417250419816137363769080838386296101937323269513630233151102430509410169402732513828718920490418874995385176788487481873608550335778107325918209826838613256469470248313332485162216461879159322915251776674816346878953852684186169996126148093808534511245005989385128381607543789652407323756726207988185064328410904326392437004229601678096500561853567588025473491557204367110785977861293039428801252361341553629242586318602275279562262430594768864284638677984748215898481711188353356655791504717903360979614276117327168208645510779192404869231908841181054762529201167169791624609661932828883020698499323553373688254940285659620115385995301808714291213980362632998666711402470142308661141633909777453268176652609390729040213048021419539155259441332239797178245783822171606819586536176968531280786313012756727594349585016551312943597139766218318345437856944882008142306271079099345821166710152665594016609477144900946577863418702476432457769398035595245819171717799245895971329285145142115836238222132859638563890695666011523853678991013547560335104242816897561273993214837715417336391987308825206520885496237579679946571615358106768260269111303752365631288754770934764526592726919468135224724779865427758473551823352613469345418924737964052030768541028532430961252459827165087598586322707854218968924440846951316022358426291738412690332992118959407366838651915182715259489528850569170664431875939157883801130293958938100467509901154369582175946726948076319654746985321321358151218810520807817930778527659103241822160800974669235938081307764712418904664582096316259411680855919291759618813564730737285813852499374358855465371123010024625235885299265559921965177645212585936453543129989721474255119639206739173759069793843388829097266956247855370776704618987936094782395636424262194197175255579199113178458861601429196498893434362414186113862336334967247010852858473303350671494224767447651758663432116246379917691913827545531592655390202390412976032171119548252248529029912813316614355599227676175520055414684537334405367196397018994369088865768954877680182260655591168274889871506118371442221163618686890927365400499771624664462412697845767575472996460329883972876532310518829972273469774351603479996789066453543685899118355398644930620621852252336363588819911312591994772804942648114286545109193535723035801760418898313567120662707897797549553752966018900187537063446944439995247251329153319277545818933002334346273114582374390135735636637327084842678418458344943379253381987193419437102078691909511810429469396099667131675079176531965550223537750662646679453942275495402313535634346147956328184628321603974112035381445537033401772016555074800622887408157093138197084357812733843727980076648597421663697282531723878357738889703770613023436725452667329920216436682435359535251233446483948365185975259731409136756794842708633231046925173721212439391450607414101265460057405747251628241630427757113961637347235917085304113165924918689133544115685153862810875674731539586138734366983849287145886554800712756015957463197454276393418776374311337833107715191645831049978521306002209720952733297614056025152145663943066880430458483494583211241046101222852585470010969817756112695647801529371026555443108613352892104899942885213264664652662126948943007668662191397483294567343671214246828877089900758587066114864638227898937872758503546348399628953253324924256045351877212636232946307143437097101145659763238836127208879632328825333629106565273591008862420591737502244339023898666186044534588242864809617229671995985614421259800399730921927247103971674617109662131187873494886415733847762363994249087981545933943213822642917659273265870235379561102449879410375713763010411864823291287294413381682861498789191769780025942395658223625187380319304387435599397209867677230206694429612337755215058955470260633657493930528916629216768574508949145497634812988616770097044436229161238500382445938794235078339465932331526470879754735044201073807551811219945262885561395579289845892166668876746428429627607406559506865143325279527282088451286865932739899028778770769463877307059397632744375836696661473922789410026514242442551316923205691765665144091825439878195492557886788112630142820971208029884365885684572120510985962600434308103914791187616437186899216843635711132287127429753999138731011193255014275871782996186526885308114951128243619853085136604335979484361510758671383451478215086266180977190246648243542304614024194637186722761324655345954146732990094202429374623444080152224952205659743724928994547186417340795384742862628533016806417595373731154259519103156351805453627623512384051514873419468829756429910785135097463810427462953348471322680478499184879635127449874770880159954226509364310261880397207640496296765146869531787581516027735796430068007316529243793142901362364995449699583849176941224205852904960665373453064407328047569406321140146638439331540450433833600321969245459526757185127275755932216905568173866856416877292870261764623390917168178189374759038561933450761321869835051786793298388523101267700662846814283387026593768245545104252312773084688627157553600737235032246760551905613957384567483687567185430309985792016981079085996166517668006530564862810517927333818025259435841513916811231839508164976137508138249228563992818292373941083672985791982849772148859272758388202390916429058723514919587134682863834451952801697963151351865711131870