4192028622933165994195688100556743296102568668368737326809004362136858595609998314776996984269066073360832973457845692677168684778757572294596295385917085619245988046159564308957786563734922707011072004334627472747899069472132825517129584888584468069223794611843682307980834195498274939765319452750405883739885055468600549250638478008841357400017286269003035151960442210832805725932197367485292896417728957612024617242073037787396307514177403208303323936089399771408166526255675466256021945845703780597375006948908614073707721674856366439606910407569154726578574563942371220019502142005998399141517866697666158487798892568146343384010193961539771424662433723528471370410454145632080081102240829491247593928588922196912498882392834163315459541978339377341372558982121662088303234565434185276568982059161302695261440719955021773189203297409867282880569600299955240878964463888857855772941690097846777419977519787053538750631944439637244980494961900620409240154326460546333232699666358865137850492550525230576354852874193455220441489426927529978870164958844642531045532710622171942269605810425896883409296273839563143227144050064559800427632659945021426659218316209172493752807738160922003736493960150366944066246938520494145133113298045291335002738946123396205229847951158629582824823893348627990100831584640344725259218229437875079759049271928820235919343883107365517184052007238665092815181371377992876860454609947348915630265754268014886974367356537017831522904260732753594035612996439351070431176678984841926346751305473280318505438234265757553786647165604724268503484922833718221849194358156481540961241877977783445797406918616955987536962064065869987085678140685208261896282000445344812662094321252931079360630995936378452688075797682677492661033455775168195330551466149186074591012140916753951348152263638044347869885903831253085659421840066401446966966749523980836557370483694484925082048362388768833252403803937645732890515763542930158550495968027490879787010577172824677816174541010924959621194027703820580502446612700301743145194160696113570919581021269540456433343452890432519084390832039266300391153540443968494439653063834086216344540718613811505499761426710337394107791796040964956833390525543020789029909683304519478058447536277773656841020138103515891169322852005792395026054693947845773268273950511591850554647483060057950229329031482547927643026775107845069202821556723995607976378213212343203609743281931006792738914809961612933735544607730057343232694817752441829392813139535913462054025291186226694397738881425465462521093507737910523187487577458661669461950192756800301717479305052994788869232835581648960524570936082889741976870486673781989571504256452946587200770606993562204871115901314229814025465950491827297086977932340918423032447999059423204425875755044994166327608861640407146736436934631884862485082186708301121016403332343230715493174083823727551246513712331628520421687866353039599796721674257840412300613494656760298124040053436399341784224422658466590431413163671854068537617566203645425470250152211262560973880098805689589438025658343283410452710583144694190249510595129387367607444484045754391026475702277073978292298680929637675440225172812161874773843579801804950472125098801365211121706072765106092014465349925263900815239436358799689313635608666077445302188718403630402513567051213211467079241399602614687989501794525548525842841548038431758523663466113458344483957426519229392901825146982808686175971802944591638248560895760184910135652070102424562637504930861379610706253134809239462123255139358370923012226361624365234166041977156468859428222202790718325221457896072283093548543848755586241532418585413940435505851728879572650633401722847274432012724723118500999779317869322105709446445288492299180920125537888161191262890996152265381739347365674384481514796545364347085167155178705497070633738617405829457739994058810581260726601474773585132372017517133866415619060441937763393790518358565820108821964474314864585716211183732370811796615003564806655109691066108989600932926941933745401403667114099806850489087660653018402278092266934812189264736207589792933025987240454532941334816319308252590559865672388005450751778209569569553717284027308121006681606390518771479652491896896058903862529742535881247834621243142504825474683165887734710824976413318427684263600146320957560367160624391818325087933405090903126555338551327108608552918955453117440320662742616685881759966164806006193636253612174649666000389074256669472616796206443294397003139227599525661802585720202970097712065321330300878302212226150630489875867850583517849882518435956005233684559517561245095893703994158575969181844013350919058949013916369656335349873513685263780681786950386189832421827602516889544775555888276719546393027627482199972709369856565281237160449744569678595853919290711529159115020615680605522780156105641394347314473548873674680624076916246722467852856200431473541564704780652707467050344023350525232752588753098770152309279443779075039128149323051640922974059676735750834434795755290396180373138930641364425505135019497953209207514445264754462099068654732616452085986467923157738396310156636153026496976488303871828271609342665852885753049308934784365965868588472925067402988517173181217470417098729559547615789347100047822642301695385235626763885924647571019925816505092791959203245896566435282450154012244896063719622281468202973388485340261966924632275288045132748940576755182176558635071313271058214153281056314950860583166363680303689039196980898816313318481529909233289223879232018428719387612180077212301914332674695046882880598714777678824777639147960279537691086110395944591613143638976892199877643654945965501795715669709577069264447226583051216502806047983499641591061584328965096705403954217626129076529537525243104362994102758951962239681545477189453654620464680218656819409504774327116962154187538180766813410995046213227997065873372031756767783085164791301624970912127160870939326567123348753676754789475804121117839402385629098969490372245421447153866114946181174869131021175646717948524800646093530972000233679797359491490796980129683750788048873948317828037396621946634549423202012559380871539484481235284726805032806096103676408688041301174929027164540992549858199999832494681139617141439547168646751409249998330041161740529089394209464979472073549836962897083079828335923227114654167073276533375612375662550191106981419240183602747890783507025408904236891362965726277251237451735200329941182982484345834434850526660120846913030559633951001080291529302829459067843573738200514682581347904297908390582497207540966357741333293336690341604968405178880879974711587300056667031658067362146832260768666239888418824103165842157970715880939557603317909154122140294872017755567480137187697967517903137466629069529594815947298517128759658573545570241566899587551096465245722583238968415126677052091545711708189888768872959156659091660769242631312771170889558173758776229353381198185405432041031550062942564042502163567776632873187153231354117075133815711879776778969421840400159413539540898074188734634040089819246892890507804225570384879961970268830283582976494160411209871022623456193119947426602705528445712556218459278122062640090000136274654068433787920495756283002945270570589185936178194498983457631169069838260493829541228749512637991968137988936010743297366852049848531458370769663417490824017140920722217237281037786882359044746047550168390247745495698795618148937006222566849469546958593027511634355941225917483848339271866084205423258932021451418155124208692976420265221725045194566776839152990926484589473320609872171037709970193979776583605932942733920013573380753254937500913323978642687197271466779848971156623116076161939764195131446298665551834744751862807591337255880542542337478283003455999818728518620567252987195114137727576929461174482134347842739793770390246148606681659065255940952164462277970286789056108776282859779535045539790963434960218661306091937632545437041792932225554412825060609105891379734962057400088444582869378555873605185533659827357375053020006596201823951715043371240681213688511164488226563688139837108609662292116530351304715948812886732945450598883702385807373169556425308952226064497465622854330864650201262576801893424497359744585225943465953943576856602188655496782352421975318490255713904468578691427368352210583351774002875434149902844034066463734950793336244939638737528561917257308723165443182765769564893767880160992494573538776262697075429549633522475930433438327375331983598675756301216948922725085192769117040811180716160953577855799650940651170113969502160830596551259496660610479014409907366562199911749758135496510923970158872389319814420091086460139885027245030863117044054600616141638681264390987025999670169722419980858705908816964887278454172806313712845884356661171023889035603770540870742507754375698109851895979147382305882009333929830006699157645408404133032153055185143406122768026828798779634868857193736716419636521412182897876167484569789108874513980274624058133043478231854319964265159807493410733075623785511488233870898757896086518615782491990446599354829404792855384052136475980919073041956418068422045474636414354193929926746220299633102772777584145903965083307982421991631979301147063132671598656047798406393651027804457196965365016848835745272414611916864686816262821191120122853484458650423693932093635677576442447748594977826024933464684731598355831973190593990856232316509506121763916486955877489668660273372621946469540020538764722989836453406656258815549356481518497526557378899829403761490157230720518931155928448393285755368279602011905191134609796202568576112982978950377108860028886645933029601647366793808327533614747400258568864680762711584231894075690047354881340044889798108688692955339194032557836680351756670067398260708961975755372366699815896709858735443705285761494556841561935709569841475337476141199510440443347996388775594693506682536036099603913140666717230222355057409826486935192766288211991943796344219981817284482806536162474560977402612496231207104992932113693320915113069947664259760132879864086577685746756156023520952484792427161123126839647708941938925661115318793051203192131546403983097375199466966735900004280609854558101306810781826758178718626855382259887597205432933175170761687288002081785591291845137628583567960383785298506424465020658991843943754151354452835153215298328588458804109610429119559759999380182935861422265787324458252604992507629271338752566175741223008377462326734769731164785196867988245641732100720047454393822203600534119443927568303864866041155188959103299250046825048797033382739829160226032749231140365499754963426282838905102322412621388935813573870375893173675488746920294815900383552289170191627315684614605897443138254011144099113579151507495258851255205551902146612852689686820970091541491492407180626184769187282694439092012805934531697563227340789472990986785324027222024537630857903263970451078465321613762147624617866485519604819294204525118767527446196370551971200676410287979477743979185070178054998707247865905245167337567063446739557704159596527681446139751908705148412804063055903942513698523929996154877438360984749758342795024660647363398180823598174730191618055562866711545503650485060215871931509445576829336882716828332575838559951001241591280218400814719472894941489260062426640082376011635604339706230496865381270900607331865296803783616545946390654814839929434615763948863521621225458948685381853586235707844275824232532903490839909818244617090076360129506318825228416132789278598998247085724486388906351149008985571892948800862208689594557745454625565226803173971032685419946932168758462539269607185993043740873260263942188081697928000024399430878736714436125444148695354036845482226095536231350592892266754666999709595563291842818093834704748245541036539854230056164404064772519828216768429373580378010453158259685240161053299758475429479685007934626781453659346575070182856787638285136732414927837374072059807406177006408320092441965212581750512253527566423994172600377604416611969283813322094978772572021566789905928914363968298909346924183350998496122512341607199628015742661258513385665601241828450617225333550770249370404245984222164042335474041251037966003984810647663575889964729199232749596341253569369044458122125771386240054503046980535713425328372763448428530924705272108568056636795445724763564925479253595302922992669737376358016904989918082088684884562126219346345993486232038966770550593000801745775923387668771850200063589814016888549368084889760713966525980323966271630178881247032241372853214375446082052357938135215493735622819494703479971046119986873249904050536555408667647002045858427163233587198243607006383800820060017307541118425006811431378297427278712361525912839098169148004150851290511662218332897675668836308569309361724137412761885824545138935575353356384215115652809579071721570215593266640948951388656326459789814110231298010670319209374904353460013900909903331406145507272386089715146374140403826052634726531940151270530532666859960861220147376850743852083988859576811604818441564019337700719127720850354539747258708900255448587451950457801578677828288560272998289569766627130267956914699391902780010019804429724622372749040186651630796542028079178207468380286603642657530865353421601148580156028977516007555951526907130701137814729207242667414545548247131551862632126176362782919344980348504863200814537499119230278132632497092981174121961935836251828615185071452188175651333581567868923155535963447012337895806003011401866129323221643076038162869972250443880370002458440128938736525358010787113773013781229394165263474630840163959371046660748699000140973436509268552210264391596614904667858722814871537360735387218544982343687798484869148101691148008290903976877753540207360993653801508839886176583112497113413621230833160119145698603769466003478546740280537178190683313379188750287394731560603312396691685856598498042038563495586418034471769862651775872628809592159308712378086426522704153043858302356975706251176516105785146141653342969946851452818582477420320345100957112099391487202056268501739756040741259730922282683284675939597715982375023584004682432908528621473973920726689719709891458346648219509767179146571675180442388592845573573604881606770663811785313936718288088980911001412490224261424709168000734023527702000308409061028675640339141942037484898527239247015408829686092943221862992913439509159765467454395418442030832686073528700883045494475572216605553853164816633993758348909910770346451204927152715408193447247787533747725932574249019458271930582666789411705336186756066219805015927284913713635485213666688071659782200703206642401692723284479003229326136341464259124817107925424230158393220666090768863430466290416041940307307301439918009555300281791365830565331508714398533978129412204131036867891861284765891515804813459787946170293138962601312280666337802322254236671569723234767645977664075999785637984889834533654989782693393598063754711640358618280153162642953317213651142914073977996212638816639111352591795033018937401050676210920206132760812349535950579088756997156109506585786668837123148175804718611074038548204891821176472887776997425995519318903823491548672417355552062865713380923490140387144291226775564108180577795909552848564884020281794954361571214765121679489602467305823467144805980645174162856905279076583735407713475294267912453238043776868509372123579730511683660440338365194352651873028136275460482987538780571606725159208734389945528324867864412283309009698652015449633822663768599152640262255140441219710139907677185752588149668741099511666990053918273335321288387809394514013524820463222131364758971111854801557062679252415689873681007511554188882492654007099577358772215124242776895618131804364289305562589728639745943639021397483869102180889798366609644061493999565062560046527158589122777987721553226550352523142419716971419917235843109398292877760112471063789901596280778056253034159338561091278064749120885644590361261908230669423349191545052896392173150592815558509626835033599130258910673568549817225756902778069788543688205343362103603644404996100992054418089834848406411112786786350119052580932084972998421420792049223310616783564263646057514465917811736522876607441512635225506435138246307629164353224570861263550102969455067499044812054022796938063228285075179228482115734753015868180157412168535987736032179553362671218659074252357984460288916620431074406580200442520133076229774366104008664990275442252985225780733505835747016511276706612927187138858059416017745436293626490254515502906010835554535509192506001193748399895337900987878460589999134255796930327367596580364613216994668853606411652428418959001489332141069529946913237931043715445466789196150710309189472583845235383726428339219579768898132052424511338500136789206467655998800403332888954355710263089353491898158365251959409433196284176902101365726046301459974735006994558395941501374940241767326681049294706745509286864734992780523148273430974759511695878423939953030688508775250087181122299122007319907689970049465778950354711348522605856549670449500264630708740185178675138153976551518563952335148662489053241669803927982754932505917025816700449828945018205021447171687108654083302321725089332491983578996511207094292283514523898464472604676197569624506861617911403865070173653537766370872750514802785899788337214571655934142042603242986907682632840274848403704552239733272467673914710506992962558747831778952064549533067116226342574411228321463508931396385321015815795442268890098564340878387878466779558098183184780949543296077585441426146482048279076138737412928280632624411555416683473210184990978801086539875491116894713422518589723454971915058356800622532389873797803288597530122166428364678994660143865844187728397998579168888310708863938392329505611947156838696302443604257042395952127842256040782008063571395121386343981043403284812099791223157659014408628298346533514334116567426240532916681045361118937766698212449829724699681986852110315701159417610867865174739288523718020262024965005504014806665845841061973359918789669595194743992173187529281341726429344485593432540017105887241297139644161103898288194523794737235819790285024858306836664132485851289765098402699800505169310477225850873478809684577674726351982195466082862460406543580764525757188869160987531686065895975270156481256422819869762411566306039747136758993682411841435320515758508578869689300453037346582001719190951879323547783489843142968050143724048168173564345006155482787278308367252299029302427844008411693394666192745136649986787475893527984755065372813485330012132443923363690841438608864898133648349661165637714311076949810237320837508587796144999386288740615275912802041139376935788585548698446100055887656763805305150738563134538474246556875214620588351607892740319379081376673331097971649678149562558456300753308681957189232940069415750702254717904962258853992524035563591200765925198338428333601365174012278794597884848758769279022016746616800016492332409496268615777781334748738586334887566493940161590275077160199444177961601363569935353708556929703515195940033612430433178362069229778468677560730372421662639112805772457795229185689628652847083348932642346834952843555470767884349838302910749437162072533202730936756669420236211139120094491311763745459760116641703789366429569538306134734152899539397255951808448640917566549343697314952846519425767308864980243292925869843671400958839835348214989521218709424639927103045729927181947778576544248535309648883304295892284723716889660715924034981843996799436304657320285838186999870497816136996274519556923589096908383002574884050192965062542928477889257619263079555993648960770876717343915109349708837600006096854973082016324741917380490743842978234542459786660330726810906944665083592360478288779333162311359690343379599320233312391365986785437287308236666643454411317472991331874207550373902653753836002738756646393460548109014994313267744679309207762389473118764903177615674117146387239156030029387552255234720221022345480976995635358319328035327635928049717584324932957388604587256976832377031441688592905467973560022619881109809133040090397492464615040175955144287560214461339091909652401170996777798100475736745916507422229055934765978527735978141387635992188477403285765950255795330967970484784839927964802519110277567496217000680562239440832955138949294817490124336427233850384198740070094240388807052970431116874244744410260506869169300987884641834039426294458411562608357964844552186364830360983721750051402086324067393974025767441899439275737714272713912931307633682863115599404165276546977173629559803232135808936607750756946726612433583281238040612311993557681789421925792537866253397218553020729747220014291383080206657554223216205134870268212444592570727848723380487798801690518716966136717818316574533824838260561633186636268139217921393293275661402353848087576200297384567729230608814467482445005795624473443633953193429218337627106343881740523446275394281240382249095244049227518686695368259457833222869559817711577867431713841671038554289381631567135003649296704660791317388963612268676763968656493062028767973848660632676883714489438514734999520791390076615047789911880283884445778853628336891574989451527666876806687445114255740655253014978450721670488128705387795228562412267820025018355280459903726648102120237368413122513874530841101977502090499732015177800107453882548823755419263581994585843071383697600181824004265892204762437754754628395755057385787403091737278594571359926574183768983452730463373073240727037574824974249085880251606092596196053505786256374817761617947060250453597973371807712125497136763907446682431533364894043534980401319463684977848453609163600546729406809663978620931282983095376765387825692125801262809180879521