Skip to content

Instantly share code, notes, and snippets.

@jakebromberg
Last active August 29, 2015 13:56
Show Gist options
  • Save jakebromberg/acab72204b78f1b499c3 to your computer and use it in GitHub Desktop.
Save jakebromberg/acab72204b78f1b499c3 to your computer and use it in GitHub Desktop.
This file has been truncated, but you can view the full file.
385572808416526742760277401675025075021515410653887200538627585520074448544572202521232464450186806602057403084836654527155755245251862347562880847160780536614604284488351264740152502057085401460812401352130481204523286423170026212370257836403184311811626153714005627174231365101442082032110013337205007037803150588518265648558873441510405233885058181413800672262065137072843630240605004472678641684460731436042263554018280858333630843254546302564616503772680458637800567484167167248245830610745238356485217506266227767855062838734501527284634556130086135720148563420535163342072528416218065638614102582567578880662071331177407031734057337021486432810300711411005608057277546321527441273066337400564536637515613312160501263475102822565307206304602281782336687164317203154381437465603271614226266617708072081563732487083607165738365415435878208035433532762681422141131686458035370331257738858548101070587376144860485453424285255576325101586416572641314528635532626110787412675138651278218355065274414005787712645787782507187141407215114571660505751502032431168164533010527872325363631641488532405405036050546650565486617864012851882756086118603000424651803484051642213226115048231108414351751045383736046405182576484116233816673725652225033760637311213426468441506352151661611176074680060277636156246175185081605427121603722118858627830172260333708483116743702474288576431432304737465077712206523061310873801787730880460075350683346613043010363688182653244631034261675424406287466246873761563201314885304756763713755721560802187513662344708720381661713866074420422785126327137883758884170437042882504077205804462055887056384715656108387516887675833733548328534725332702762142534480468082701713022213731638123866278107103654757636367340051647677212572745823446535432456131453173701538024411211328727507743807604386453030225677840876007433613056614256601538437355553280188341041434115853632642644655000518087814635646053847620253751063405006080326651257635702433630762886130461860403842182485442461666668506576111466114334764357183783511613635500226308268812784041661445822337356141125567701527810831161408004125634760176711585156288826773211851772388785707671672565445732177643181757645212262571174256150733036137217567304155268163175260828176613571414514454354021814543537152077573401244451102454037156445066011858435315702500383174135452170878822653873431816383137743403617367438565211532212242104261483648086767311656744104613705480618575425014580866073121013087262513450627174387664684458567085625224054747656174826538463805452853500307280734837883500324883426185230725344033078788256355854778660673507422247157840524148584445741284616222555343610175100387345745838375336102516622438632375583184304774585772134880811714025413186876010181761504270643144758023830341243435545707648076737613707852536715634633380082042885127585708603254484261617217781381787584056203346027728276275672362228527747674127123732580204313124071755734345254380383683015540036312508565225321563750850760245430332645705088563582680431067083820157454848435154404536227682341273466737268140041131478846424237500348216212887285684231662544647181010862512210582433353556218625330326750785253631835300148038765604477558346843520845245167870240382754472645541300113878227533747253414478535720160150705558277725208806015467682212534243236704144210056714480235023857437037804316376707254333627576702336116568010360436424254707016865476537603473452651375021010411732263020258628012156751623635317207730238224736008072474321771241764328141424327146744564858121655650671762825807343310843053203117360635842255154085884503361487231402274840353226087261805656657663638437522665514717603808211676864152700130322072875123365273175614787510451500634142611443437287784438804663424661121806013081717024305354317675322701168200165415120327650833034734767416143134278608684510384274680414660035706234415367128715202142451265680325215543763126837067586457410464613748752755854433266478727288387188785043201882130167332886264206225276220822266167777608083345622003647587285033644841524716286734835033771783476675315164785770828160024051017230640314560635664618621067280413501772268661862318270242260318708412065688318733685047624252474101432512871753024543571064863771021607050700150381477782405370266245877061863762053455217358034156680000277504453353535285742837651881026456804411821736804636043578284800450420356771037438840016350744882832475633826738621048364642512568234780283330424744050087118560633072873428705307638407126608724861474750682444474872374588272637676780620227447540017136520862361740518065401121463547481565686585052787330442464052045328175832520633132668421581061367836830045672252072552773681657254244737485333248207041540383223403058163875204184825316535538211015583264578866400855775810752211433010567035616062245255121374111545770056818175106067138777083805663005262840438685861785416451182706220348568121133803312840186422247705228625846200624448013143527652067558768744084204737523084601533274558201131715551521730005663530503086867542846610466301467276532505874513612064787087712548150180820725312867818857357022672647263748037577550057610537213610120751627558823501508863877356518603315718320027802718527266715788543018234874717872828030527273815127318326354158551327771731658505480411282554261484683254142650886340363151673386615087377254854878817302076047467468662033878384751462506232462870347857620820037362614866247488323254022684543247426428886432871660645585063742811524375740134885733434288712305707532426257683361383210450755545507544047652153671136171855462811544370705852138400273846484278441702620561676754175372064820526700013607761700820483066673158300824710306811510713125027421808016480105712867843117154641722675883732711772813747435405300385415011630776532751024221213423125137226676373288406281465368750061573573220412564845054630486501008457684810640000143465147628810321153175471488260773020175108230714585635802708550800554518084011611632612700386586536654771084460300555518304277007780802724844082008352303231802244675756765855811185611225132806128002225765852176288560428368341155201128005100835200184546134450478070135085724573103111050313303440346770780745563186821883668435365417086218802620412667841670632380504234830143433341235050757548870875654071782220513676211865436116474043110264154238708722608761536465805185024223384008307561348145556468004021664466317702783451343385682745800683181126064563708818618158315033713804265424636600735552755671760034311251116276100260465253068032282636751126772122736002135236344058424286825568615104636772750465033867245403574714457283880142367328562218706064706752322023670714454063381370543487736112535576670483170684773680061223155872870368573175712617734048273285056414760852772221682437621243126673748631240111568150215351770556250427524666344553451386427582656100742205341645540430371651368164615613750433516136802302232727451753484850780747867306554583545764533467123670186162176653846658603666075115806736735613834553778584232622480663430612426661568006464300400441631150237662754828661721307075000488286272731685346276067206076722554428600633250431880368388535071721531103082570476488702866307346753204211733468186621034333076152008604435413406413374084426701412201365272712020000802055828722202704687424856403352852330637630011074164618487244673826084470382381177610483766206125633425428151648543050862226503088772008077361535657528884475355548826734338843280254222170374428453540250884834065252023201158658244348780733237018421651150667832227275187522758146722434026273185482611728031362821043521384343087056081113534437225281627304854516334834667332808518336071738558076627267252614471031625477412755173613717023843717314228014116176515526050182814830633767802824328487002252125154247653564830015232563711710802737202184130246635321522218230424717586860352888751726461641308510458881808110115644404766276226216115205516016561682087212646232426168116245766625374742056763715622785146718477658583618412684140003162613371642505080302447227117848032125155688268833880822526566220372227264745354500248061204576424087340764656815841738521380830372273247005643475204002407761852465730865846637307004212727602628664521582818358723148627273322082864071755542005675003765852763021365524877740667416708521000013785683050101563614545160215272123668404206880277818623218710166612122461782127312350465486506163120062825605035673756641386844471076765038776241610300856322641440574443458176285164184521250580271164680758735201152528334883033522705158616644165716274773635408884320455855233578432133620818835140648064506444715830870203165462720177003857205836316370453770815707160625566483300174354017540076435205627015487711387401255632360032238380780833328511271068480740824380300216088638506736061127322743723710881487428720516801877655482124515505357550038373164381250454635326352007206785527575460477301006281752825214601262747517478554661587200157741878250572064104630735172842130737657741174044187674850116122671461123126438020448127484773860747160120587011855612372888140135645754646825802722133470567273622418377462642862441283877674288074655218517616806304018514627150240274166344641761464842210585640520525040524162524227688336068504655751573648833338408838877853283374527237204137321607253255158754730465211745068402016308758611335677162145162650256514800255163012055482266817262011841461335555002702864086485311183621020546601065177174751621540154616447310552563611027547158803752483310161705813446666708123847144384662651842404874708041324586687478553830800814743123736502551075022271171685341766763660755775214244627271827107565642133115888481676575305765010645268448731050833675360777763721065651435241612752145552021041525636066365768340783428130663005132321278181810518288003552274363046063605760006240815310273847223286877386067530851773761463748718224528876620585653010528846888701258238013882807528357816647876181017011831368418861147067507102375058440227673736078203681276124633736405810585041171536467354334588215621228168247414551721827707278501214183642717375328817572470346448645485626655146302314577603763233377672378242822628260237633851260728871825474727576051705668222057538443151304165256823134741666705800482058671731621180657577886703338613444570283585652631870032082005326536284355440277135316642352586284180874242242530236373077333064433567313720251428551335482147106212871114426062626050045813725216448651612206423356320017057328851887515426040727316028684342261088111554236124572300574601535604183216685413528128253404543436760480583255831228351487112252487341274002337162801133588267602274008222801480133284888866012100573836313307672056588638070571348311815318201563488866304720136444061652002560223640111654021368458555278215262184603352121477264835565012270653115617821517163852446327566657643537575448058058505100608200502461846034240487485851052042771013620462207748727304885150318456786167087324763728123265652865203303185563333544272578372528855281486863665334431053221157456376135556285113726455731600050044337227130503548645603618155812446811534300807274250326437784322047745773384828612671822105152217040021200185626555621841123833504883682401412508223886572032822706200166066012428783077636512833230077857148847540608623726658213860225685646825613855784711317858320163464428454827447846375520084622244755826301811245851578347481707570006241550676654520234488363744508464343701671885372782366305330101535335304586773177065812558605540457240824185674234784780423122426646227416637714420118332107362817631056034576170311062234684525644560234385554550001411103081084174222642814164676531112720576340868324826425757084748003045715773661084750648371733408802154525355814718167344540226645024437672208877366258431565305082467026805032140577251603010724475357508108478317658532716528604410363548372471173346437367364241547312118604600761413885610487780045623558343484058011882022277328118774632218841054215113356342608113246355504866211656765630805552877476560540722623077476563311833820161484757211700614522174733434233305744340248881114285613535077585146408670820377148427453070830230668867461655102080301175424236664762232202823460127025146866216444667161538517716672460231077573203471775240112405771664057028517203854128816570844252601351450415765882421081581124284340173304757481351801580824201423053030251410178314351538676123300227202877853411483488361340886160288160432355427562808611013075452815357421128166881422771562143740084326311770272421170715846425118632648120658302471554531071076866513246807032141303165356546415252566687431854201261332022753713152070025218003316157423171626172423866421475136446017020844677257631286044322738321288704885067358838033884855422533601821816857361114648787683157366225157528838554750152488303518073305774570665875385133560880238564467730165555027832448115787481826863327283840346387252576867458682322765514878144450500115748888013878352764516728872582500236375773253307818412524287745731738207166700705175126670077815030240655675651673373368017274413435013844041167570172404400762248087818103603677023337241565322736453560527635751285530582620058127148278016078543836278068326178104107524685054701677548205507686721887087468635570421411267764423488235064153521115284777268710117874726046661665843258325556321073185530405458510728045717808113243036126816171875804182288850831012827846181822361441208364534444071182256161657524502250610745362450051515183376622461646110374753501207387780624353028227627287437512554704536302386142884308427040700263157447548810646522372083503253422863406801067832382234840458431686734002300288382778057272414743166838675285815343436502761003073171822673113148050846175364267835801760010516081330342525013004620210467667105340553455020401303421805417635362154385404048030772876231700224320025187478668152766521144850768168213375386883165457760084863810812513757076228347442118324543345048238318741887752070828646313432061802265550230126227788864232306221212852001037457365183128853651815553588265385242487835042735812362766688278473638156578252176328285844816775686248832827475887872762351842426525704786628485070850456244306302232874611636540266466714058655385357185527523285527347186780573867547551503842543184806305171513355214550208236406832684124222532374646418010740042485312255107068544158064087725543627510401856585861264371227382822651670221832141117743244714162048382267703377733420556370366100632322302344162073787353640528661464508554605553150653672121640228186684820332007316646284258570128107074621003862132862643077343625370016435046674300088877402777758508602616073108052043635875380812400888687327706788308431252701340546527440678416587538100173485561305618488357425670471362585076545460221827876378384824384322847383650675420171778206880536247673463857348034286533401640878654330727387243408333502548235272364416055756660552532741425271646150316214760437714338413804641401606406611614837585147341358043220578255146384781460012806137366177152076680030182222815832728638437512656675773412013644264376147662053286133104777668201447631160143750084807223857163447062647164437270286380233076048450157425282248146720310473233131670615538712384306411213834233013136204145762464880468020171243507475216125425414087137828831813665570463348131361344325831764458203764854355747045073887742553860437352487506785788437618800467573670551734533163505423341014651067676747721086572773150043310625684645844534425580402565047013171512546508573405863137684163458821302018474426316683641151282461078435313228267338724144731321235660424058346338888688388014720433125352548717864634458737150668470015342686667410474525743744706800185614223618077185820642807175171654446846224677863218638545433700570371466673546817326803441281852767116728111680830174304273720153321623373512148148006062541138308285450372641742644612520604620113314387547068825857281582485172200822231552880255442054771184482163138817683333703650561808616730077308644080772061751040664022841542431434530816034520568813060013183124380788435645020752012047605323117827042137471274324455561061327253512515107021063438200007454176113621866132027073313132205187403355161326258537432457256224854807372757380163631755610827022343761203306270671034703455037115262041325234802048677753563073125663557747335165513457863781113848160827287701243410452780025722345623726264625620022205754801247311645236843673760440625150403017417846303681133447525416587627535660065327316780641625420463841044152378104122661518374485856587354673562121786252123423334832107732036745120562301500786843340310170017412884706736258862757528076564152252815265131475527113062486470536846854150777432377127173048306105615480212485108186515877004145241728171368671625506333472230512738558741204668631167806432373426720100760716883800740645356608260286623634771838233348778542820538187740266131008437420272760074062083073025725068767041204704811163036435683307556252788158238003862147134253772355562016658678870206030245581423870217820444631688040406057055634256810718447655646100337387081617008781615017406535440574524120434268375761862175435758808840427455810126437603140564635003160773125203064665568685633420886853743711361083875166551407610378371067375678362714830821072273833421701130181654841433057007064142314874688223235283657707832276841243025181230638247848027167805838512613248741678032785631466580348411354730146247446681006564238583720357672163807011804416712787561441651455011302481661112116828542642228017350102170784825724134313235151514310503475443234473838443346647342145553836642326088671543127065207208111881521000824004331762757450878707238368783838873188015724224512758646827838281178020484740883033516461256441211476541414880246615317262840628546755256848051172441211388857835521766715888427145638758421533117087240236860361826004814348877248206735500080634436368285424478716127502617603161065151506738337285015354574625418151517044120770467141748455605443250521687136053631456352253765626815041031603577567753862412108330050461263812665252252734255717103780857406372356161011074130267523808076640054654542030216404338843614342522461031456641673081432135182332180330126216266406570480153558505456753325773653641580626324415037061757352800223166076565861311424184338340834101033464378821842765011446127411550784803853585017534403456243564363542378281728181856171744387057255828304774017533358257340078606433503381016412220278185053133123536881644800775156120821871647510813107403201155274681488662402781881334678554646605621856684013430212168771454757714814354258263804588513531304138681337275245715622124738305352888264534550417521170481706157350323573770635042732281282875605541631851110247243417202046183677515201306134830131345052750861830837824227666662201134600267523864853764702022286711880634864011710214382561722732634286081707782522286686867302824730248821200425260751641348882265841065213161104472378355241057702582041333110424653026800214161180815458283451162040885650358888081373062785806332283046178512838800661135874313788470474247258226670537855217223475306708831226040142854642172755576860575513280508105786202821423316711154484717545761682848824237843607265245350645564504162208328827562625573142138252651175216405025872883184778330566308203564232234852622434705326188814342401347587615307251583668105327268501283463255047346154352177016832275130843364426331730681206860857025647232231461838778048304866264520755270158424647210471672875013887534442541333185138126115781040622760400815176825000362211442462638751767715231744543381572237362384584312555448723674527777243481148501141631387347626362821688521715037873185858361352733351507554676015864258421400580721220257736223586336554728073084278548853782865286171153413517455331371707370204478808565706865716412846424620507031710541847212087517558581280571530442118608538367018714577160484746370286118084667454164683846011604857567232421678515270655716406550646486275651463857242183237171287370788826867803068680263800048450288183560885234461768168242640473071727238773455478885467235608781717638227248677520073086870130620672442555150867122023668720785450788726630868744353477124686014877516103346358583284065776428306812110458006136332358664723384167102516876775572123368833573744212676002287878736338480664026182252067431655004237278606024854887232632785847354666488526777222714002861630674112428744114317830171712253786848102200601701845463560565473628026056558163463867738318156032664364478113311350515706576547431218853347135565272163441187037054087632774876066448535533015528134545231125770408638036726564225823743033357164642864554061251805515453753413626818505176410477116454151255303738380670106012384324272538550405023410506505277183627356783130124223344757367103133175875266617141243341114245666101867473754671187157186777607573033420262741883100478311246610154532157816356260332741357222055870327524351670618808370504683042657256508703817366821758436511244725427137706135216452055362028880243813772146673100224683304180205144308857547187831885624707365774620104708343473276754314654675842685727110722880340580858824014477336857278357048333543138716564286613633571381874385743222074082318577148721270037527131505537317516216130658114411804725002780020700570212447027455071538800805718134778248416278628152352154856584377887285034352341241416672106851717573533225623667513062023362202788178007640772651052320105055453738000442018680004340877037345730612411368676401447111371727752076162426618188465183333325708156148681854302358812347536233241542221843380164337562102804632073833218586460387121787288530725513038018647866872088146857060588371246662318021462507041251826304056666237366253704551567256113070035443257585504360452844477123382478038330040673253881763504565544067370717086125642373666575060072016755570721112085302186564275412473636107157083462045141614455866411115147888582607684285488377875625265143035608032601820183685415887061688430810478043020286732444580542482655312048274233561848466164617442015443326302186268405614485601068787771024257024068284732052451645043211657588306785178838543067777162636761082512803211264303515617816887722826852876028665345632013758768466853183162848757252110713513710502438150414248228458175604854862433172258837000454205321655267465331215027721082131667842233044606226288726731428817854465483638587628564228065564460772440034318278713354685322355820473336717871115240718021262663783375172464667476734187683273051288753132056364226222165602635276017175773117160426025240461106438078435571772106770823162772403747683226271278584007460415314318031246131408085853117521472560302573111021583815536870003750743003538721776880312058683510086373857057387824765384268650011772022567464785211674280580352658881126843575657321140187806012526860202804152664356637082430176640015804583357158216047052185141233805150660842147028114207184874464531616825815404405163826656324404036060542457488722786480013583222003112512338502018632468483270176105504346467404858824863738620024218372564385067462288258233556522114084513506584224671743564307181551885837388600758512870148256382504081803303730110856441627247285268320756322753843410143545562375834722303801027547388142701855348603346066345471622560873735320087201160105246057072736280608134730500650016152157808456751642826106505455027372267856545043478635882755087068152338002753658124468754363386520067608776740221545437450835301761786202022478812167033043356386774342755422663483542648531530871743034752325418301853042823030050013120227228617750837843485758270301484557236018240530381146171308234115814637840738734058668557713102024786365220735175524147138007080518758201603636371046855181138013658215341105485758627870873041344537842335653720740876045111854668438068153761568142278065110854411003020365437712884460878287246845816333657461402884052460655646062552506607776443725818133647232024137082677477003618103111756074750331113241168614125541585505872324373676703705830421867815772845457486345540300506558417647166736762874574055342327661463542628305142125804487200167867240615880088110253516252021628128152438201712158263345146318822380674210603677750172027831442160223476727847823074430258650050418885881274208371464183105352513877874112570278006768461645354483108547406812385001560688118628585428845588344771210676670424864360363320614686346383028480378864155201487166653036454542466413834802080806854453777045538750133633254310112430585430664180188772044301521437271464378005472658125878116150823635072084876187551402658747101843100345388121402180547842483448818471562235811307786055171763772142026734438067282225303405057647743054616068741155311625306235138563564646148781100718212607130821351347462311301644416055322556737462021607205548123403737247500462014554532470305543545171136472865866166765417712002143730820124064652247533130026304062282062614238127034003732523670526271673627142658228374055556483531423660823840416033444527245511744068483787041504358622656025832166604824051203850721038342201226845707323406054338256580428026234055707168733103308123384535807158337531487723355648575650146843632320026677305472857038385283077313622381430740880330772747855645431115508462160327125478385164181786780325126572436422454482433575544358206150145410167340003857026350235531136235505735083846124138323263100214430737474351104843240860438511253734416182386618814666778255485336767500780657032172774665212438444888520546801430004017172470370067058658424378638166345124360230258268164315668467371417753465415500300256117043783768373670247687274270236837756212836331140123761211135168508747717387404011461181810447303718250680623700084686827031431267453344763646773473261106265238081030382664152204051308448037714581713242831660170314101210853364580437530677118075071183304256861117170755460131183325504266884722588155368428533015612341828324820731602312737423073234264341724456804376718247178164668036070053635872540260415506477728737000667841142648480813336177020403038275641026856783382543744261618533154436304582713588323281118324574852327458565821653418735328100337673504870606620833235732451230184865843600511723537022321413884723810135608475035586065105020775124707886262376171778443475577034038564104830484173310020855342820346220788035276643604054025247087404447603042766550250778861287230443604768436412442635006153385012664717151665821535452080718264553337523826757415068352122404153475723248568026672157170876431727314875135666474745175645627220442014164876473305407541120658166477587303351130325736315863544132676362348216587800316287034128053052505384806430357862735331467015866523442542186670115416241520201326745130872406702613704104666354518031114342572616818014475864648452007773826006473688437603456052878030023260150130252772534575868562321626700001365503114558400223361424156254264858631001676266751826338315008507777847731587654510880446370118572751773265752747642122744782450014441208556044781144184134016147835331028020618140267276406517368538264060012620252662837433427423666870630187851317447368416335241318050438767053640412805334268033821832211837734565260663881223652811780566564314546182373080526262067267878676512248620541673563145436577877863111034242388866267522185687838060554880756288815033220300750371005548437854878605228764253487102372478825664863486301137868484876052118740318325564514860782464152050746708101811430483808060008347243347467113755225477523157848342346521643528848114373763276234337573654128281443127873616112361603273567463686375251502873425331452618423580201560662014130405238866474808880616624354116857572700884583252345377144104306511743751332354517634358330830860483477523653731070747616600841165586524687727601730834143320468212334450550600546018544462400031246078177527615841741462547860252408777478303117561626574843517206458167626868251213226808666174885061514706274546136027847511854128528422382523311152030422732184805453565151387320715811606078436270768653624632850875146723032068838758152161727651047350453608872507846615070617616057001474211650161141542677182022364367643680667378353731211708823702288538851770818526186787566470753488406613333401243315416386081472411677541417084345116503547152265145071574011670846786240587033572715648201525837515030038361015453353087041548100327111313114618026768802280757777730308114883423573767182050720253330775707734881075164642430520617366466302104521013665101714863776141482742340726832655185881877620852713820521581700881156340358420877261553262220647507283612701732516652540556031043110211221846064870146173106402324154847415124542754735114071575841883160785820708146778725610640136467111833216043065306580634067871557541634835178413005333534034827444451106076776417305665640126252866137346500677156585537286156312347663676166845433237867527338568080738205073877063317427816445506501325765120023754203462613058163410785633854412085457162746446364386425351610153337076385223800212840485347226142071215652025678807664625786180234326877116408614581256307516176263145557733213185186853660334243147040165671008464443323653881645877105160586701812667068870062337417885645450354607510058001826036365375742833602726470820355463733453285382503620812585651522563863025426042607865683341187781384800466763031016550475557470331240370330560031323550125677206342712372170683734187137551655105423221741065574420212818484614251685567636432800560010831667162863110707684753021680266837716621505477500065332508581712323061234410034636711837780257860035236585288135128052084008722833707731085521703867372022286740435742324406504375253868234506558061431536356447325048166774807177404415543055616576886567033553876767524022818252733302545272136377386372633700316811538548434385473806218241526584644874776575140232037478178346214136584418648411830265606884778871708778075402283675708343374477740167038457214462220622454315453412676627487565117756117065185777453483155121815564175317650464437541227150460026077670223483702235018882288075754755632005453347803855202857243312865307515574245807130162842480145800080534653356174213555283867435046730301411415868828058316135315368761661616474218434574541035401371403631151053302451544863458224821530562188520587832546668652616586360528247685475036733056202675685618440288455007528215767786784633245883200723287664645348045348672528345466544167461016205665810028665426623588670204886248824200855800360025673406274627587383587050743510831432367314204806116746382507212013203377850617421608482073577106722663130685248483054112513657416348515641574105861214120307485787023845208681866764528834125761428101234068547633737266168261443431333041543848667115683668331875646711518811206334446644584411347778135435251314771821871300175555767440236445225831413272004060661608304084454585086411113537222725582335560237121583312868304318131265440172272387146052568263001287113854803726718370164725614044245274487231144521455786367533052423583202006222717828430366837231736186883774164362711341588482407672552424648130578576845474416088127634537440546400857106812661255027627658375475651581311848384578418056576032367168287136264242530858227010674603738048645153254544582787863031008547570445814472416831486741527810818857128226787338770004472473326471555328618224141326081174143851518372217483634016831352146430221805805740007835424583055181270557683004211128733340038708242240762007726218043147761067430170845384812017621153310331264442261506845433341788863416585885361451176776200476228322202587640827112122724627517354056665638447576354612087455752342233608178041873706726623783345367046835183585288044534222156485412446765005640640130023280786847436886306045260540205302241211613500368432117387320182784425048173366135656748848207502685051058700204601416473312676781272331438512363760460122744671331124878318363785523611430745503672544708571831812543164164083836451022703473632834270764033213375150054483622108482600772236722505550413784181730614154165870618306483856440521203804471658847818366800006027342817666070363538510201301185412650424076812242107363211551588637525884700517351687376556487505635435637037104320200862261255715127302862640302322077151875518875312321463523175576407458862220538040843352435418342743001670531160624110343324514583444603025338171575533105434385574876000385651570047466330813705127324643477153751103705531276580325434125524132686407316546210520608125274341513731564820406121020250663200450102208543422477071680622116660362508148543556385057553526016176212834838083315118750527241774257151620012085218081448055738101148136831805611052125040122663141360073227020433631776534684510074201867426164023845860856225671443226208031572700414351622354187873450782823176371856075341616671077774222718442668162700827443160688283864061226371250657171115834152844300210525532061085808143145418817657447415863824654036637070005406481708705604365412320035382488535135071311675132450066457243685738378728260020285024467157386582382475802384743068822432576888301668431412010775270533486478870005618442638400374426014770848331041742866614824364226622683361441655431813676171252006426538406622060611561543102536370846882113741205707516330001747837023234387612568064063614555130000022610862776322717030224177106644105383044613374887163208784622546761648224170105404614872623216052733732452177280467616884035677844684585514126740734822650767756067726108335430285214068636110501377363384128371880072062504547483815486255347746451872084324515071380104337234774454088011711677550708147236871732677605620404171406846871701582305443008252260254752154536454805045547166454311516472620170572341613301752585016721761736784848322831622378082777216818403245873016781140280855068803261728150667432437774514114342240332141633450762827111485178060154727273061081030211322133841048386874520310258373007881854083601743334873505730321315414733410335476877368278661753200122317201482577078412468081371223185416086187753066738346458323744427188064044414168064646731737785587866873460175543865716688783575330186778061585134546752356021533543253032756644204220113387833508562545451378324052883371031681874138811400683870307085410870732105233773434340157027606055722112651007320525282263044152178721483847446437835550282723660611631780611665328638115323860367715273022826420041858380843077860487884688146702175680821422224450117581041806338127217780760282038574213431070628583887642400873056747053074254003777050132733201758151283823045644706076720461647857547480130804527825018040653180221502055247534253876758434500602351123737765052868473852778764507612135566072400256807486208710472226668750286147354204445175877282124468406132465752268342763418328206740106404470767044658833355531467668167755486466281736063543756334352113301520425628757086870230812040318427228082678612851452878070468611430758740055634200324805558756243800758800724500030562402386843651138847216564080260654183675112741176825360637857812272538681708338010662234047426254852741384533378160122252085025426100073035707236560820044548412555547106143665263707660547766487383662417260740683317401418824168237716485840683086808543106575321142070200711558285010458638400052711763871332076583755523057500821872408433821506778641208622508781536775414785837352428468644732647461784583847584125763188158375373887374662326462436115676601530145450865205257406373888037383382854031474387860878810562823200143355037073004714352755844400313344634284504807446442178037670708137125577814335025273882482702886624782821635253072606340465381735076748810425288016211273322688513771800723775515282878425431168321166201014863626622514600081220122603025118227421340873451844825157771685357327168115600832547834446751180223871250868263340761556681877721183706183178276067306512101855522673013362151281326480736716363246071037651562218048136242522168188850056266528527773485212761655258278454453814867273036582757672056238733636178171637114523203566681847320406758751407015117411331743210284507030368046607474800315532252788332516708735127515701125613477526418475055063470487173168263662855713441444027463434374403027708688803370504824534161558458603352745151138222646487148186548528844758601404757345075402106358518037335425064811761217827607662248151878854668258163040004836646246111123583631462436876245553702444706844700418216540126147151788458266870126484710273133366187182485117741244850650714624818645532831555681681548800832415112167437013555160738001700555655268765282061465316208168425808263880158480247737550524338874625730867802351388853804638263535563885636071605442274760243587136702270848441373186368018753342845801553715140730102342550361733308186520357644118441643884541473607861722025257487428416712353425366153731551450336660682886388144381775447241876320251561664140683773460636414024221182411073741212075373527224606063870550863285408625764140587738827024834415572848725453003565346136278857617467850671740041487763542186612015772467341283322706122053842247726658763057724045036867754277655038611458330752753551840344310165420321125268163382406332460802582150014578276022516610207236130670532502167552826805744161001613433142154275581582318850072552635277775717134725273066764004478481854887711004162688533746657124617832651285585401601464125123206316001137270345016125270432364563845321555133376553523653422385741212804882277854643403102601875667321502212474362016120321334288003030222844387868134745223867582576666218417517555425542660504207440013058327510451134150354315682217673183576323085578476727142588414252573553810380236468086565552855584750523225087772175238207386531667440815738844625643628552035074770352016108640401148764871642078361731426371446401618211745087275463473447445852003064503804828030258121786027451008334171773523000835562118281418128127821156622771587344651484713541535404106541876881377317304250771547831400533561774286475325350600717883577643617541738558621443070186585261856436410757766648002427050581130555336533118657063704814564411313188871416675135001560810140886681342203570112771080331406548774331387640288702687664264670402826658405284554748363116068806068670354715523374734283885500853178821261071062740115340247834413701255370562556808334470151434351517112138184613010043720281864021608471137271047108778320383810643052102102846157386185652212382186148760045280481746836741317137740430212161064720514141376862256800638526761046516706836378052143213336575684863887478416536745224734444148740567686274661240143507371402073537773654488645035350440106348776340673174064360863347028803831027366420207536533174261531453565581180267080170744545463400733755744178747088818072328716427507357536225403343655885414710536425127244070100462650334653043817058108107754521807643181778034364511612853681181217442182558087302204520047341627733445035082486556380214642500367568303262302188854436002438613745354027523757405567872180780185484027103225418424212418570372065242707135470716377535061571074360448827567432513202222833001876778624477145884311674502866418740670427674175244602853604572085286553834225052431413324820442747650243018170114024763446812467033187780178067404478426115343038044012214805173204365513213120724222628433011556602374187618135765262058721323475747070527471181202651507816267301365606544200028707854047425306840415340605066517151256156761423188706632113385484727551351277631336370344864784237624566733556621666181517672777770815555512604625224710028678124252558410867065282136036607066342702110443676611565126115816684836783202811360087116830763420533542632276067607455788060180056122365735842410143377178882057751572481777767330054476761180101176218744765144248780641140536447156032685088387040431168651364006174211268830570278180205784210310263353263185425005318117516018421250375300601027582125765631426547005536807630336745482057142328410682545276354661464406440118042252145831282841873682066001343240384718360081486588377004040203862847732006105151840650681243566803022681168166300137132740256663560040127036705702284084044504022004527258658152344581053276503312054438511354503563148331752084107468824128212621253856021275035664332031445171630568067632702628185672540641725671320763010773160647358261007807251146268311485718523851256812754540318154436524307018008045107324732057427517631575141765080730672332751003838346468787624561365474558651228315774675173312480305203473104866024111881546243628152768401638044278616555601313806583668364726328432504245251188183263537353774706151281345822677200848156152131544531301438638865504536271456536123662053280187430068787705078282757015468177730537673016215637134832144615606606251083808768151810312542747824732218875372043226843848142331021411252052063811850440824872600170414653443326008684841158265257384832111612813463725640607710524712668126231814351543702582806241675534218073282626075635182021406588574561015554441178237047147251732206688674005261705355746343023114136342003163057473341427286827441335185147067716420236751475557624025421373551124551604703782353583381323756367521230322841063602522400780315506110533437701231275301585586355034153705224311127836175875003135040345241358466672032104211241454555165040081412412373673336067768324232707030504633136345757746428142207762147674883603736168547576127463547012434852585861848027753088075778185307360770313854747707141276216030050466113558734051408575641578456510277688554021641077701263568865040683605531465677344465104445332362454425125637176378883156148438246164045641341236680033618066188168136303632820314548043071244036016213758586373672278472328267855177037787625204555253663376550261055463202188531255540000517443272785087803727780333043160732886682318287377158175756003482205133523488783488214068585371632707265244687114558777487455071651477430352858730157341278832804086253171761702846565471118156820675370688786000657188457787635243670415864736845420724528184014786348531226068033747542852450043072003405508040065846420232027357144745658326338681142826248122120677271675146620708117725736071110125737222185600124632514714016425705834440134411670338432024881842704073426352754135310476880225867706130810754208780413626632235035657011786060722080802708850331517675464783868340102182272634176421220446526653284206536777263476445477741406208301161364035367400371166257067052180252673547446353847270172604477854184252025688555167176657142307761681105885012217413837374140817435107781653371187842268867204760315350630434663718703476287248737256031705087302100253784547076647086703707084821480652135835860001572576215835758267384641366663810121646268762223527238647000340174465731573360244642227776186741645726727475120303850502866775484828782235404254036247143113336710545118422203046864450113721537423221174217063423786802120434821841215038148415634360416350885360873430151874222478514637233342017174384378123460013764461250303785118451450647100507143127382531555757851258866623562163223868531272836105865628612763724475567138058731254113601367540152614800266103657157424857347574843407820817502021163261625617281410224466158743432550825513330322435187380160604135254383432885327177630504724234803150827324764400220678217630288865352873652834220183056686577660718677264132783511357278733208806386311352740185685626387084562423615438542656546025505001606646505022870137057615282605870007083088486546456486657157584062537336554612852306715285605306201543405486030005314883831808854180275341310132285202440461147378508848434401754724770518122283274262308473114201156088043573326414215852773062156312707034302405243863777704082465277422153341186780862245486253075333836104827647453543615653466863630315685332087228435035628163824073687565564085647867734600018222435661066684877038330337302760044282206818481641425332381703704466632713227732070508382233505546624405054532031852135273513252307560873782560280026504047107228777730708760207038642484532575820748527383650725278567667353403704774458485124778006884673200048187156841870345857287503454487484713011163422150317867670141373867648221577263502115848242607318161564467630536726647500545477130557662606884575561578414678462373431767605467804575217358165508108776544663246524141372852621131420335521525472730727322712476625614753235421201065633157066872362557075264568480640165442767422873447416083400107001034185572722350230722837540158242515877715602613377700554125158788480657721310515463740205755068313067063237464425740414847381741035761728175718385701267242231406476400801687362244433856463470150635020220785263880277650800817563845406228040778076418502203303830732362557480743074044626010566044858754785188688815531616724304335864781076747381376288715868133554514874601106115028148657515174864864352483874668870684121125651880830818461468144470202322873605736605568874670725554055012473216056534852167067872221131618664173015445718372667780425465110805640800461167245027755880627864175130467601800578752366546210861631768484384388473865030047052326330208330838474588806753864321676377745740525824314577347513253237125285562165168342333123605683653742071041172862750201125044076426561240511476147771834075118723187434571425410176550185758332245774447660402481568321253078207507786737855582086263875282236117804362323148785820845183672124323217117341482734073640222667355825646154364047581835480436880031667125617148471377463563231715882564362527577016513774518640070414335677734214821165127627823330863736642416874515340015812435386503051203650828181375116073002735338610010430116876682871255011116574446866423102005134584855268626456862172814018675222777227465246138034433000834162135176216087803410207425753578514582373403454471464825372111336278660463311405085265320123633300455858805205763050855788844320540226854551325463715325303351013327554102436135086772674150524761848405666361555401715005348872378206332278214278643125434450576444276138812145036585040151868543677586431578250884203532011455243614512236157066502126326131813257124353148448851758763723684756822410813265852731361618807084238075077456805075440788678504777872682480037456311618728045851477857763101671771148825348465855286567821015301451282446802420763468577102140126801844387332485750712827236305151003824487505150411575244051726111045345820425554064752570638705187831306800424484116534600320764018006767585137456436370323324413258322782258587327684367636132473254568574564571521715378436054626574182434264405832711062204135044336626465541676505662275604086457210252485020178525782114410654426360568450385813831123710035030675570587472653704882746620764403660043171813838405318312727377561305063510170165635806154005261812003480548610743736360810723327644668752734260047275631614438040236385342521352152802285710478880515501601822373884226763234424773708256771583608784604633473146726116856158458253855372202208846163131083883772058487412171385600555125278363750302206488817382568123841532825362036805407426480253627748200882738661108635330865347884832306860317424487783422100805826464310430758053518522701408578728572000670507437864617031370584182460027442572332800773640630572045332302354456837662381844130271160348177133431231063782381768637756445720521268122313478721172751884718702746402383672206640515436872845553577187300241756124617304228381678110803252160453652018051767426765002383882641115407475763864657306715827684737354651013634000188501811024634311254543528520131535276347711820675575780576110326368600601453221561228657830631545337812614770244160280117872134820126710032031717705603834284520036425550333781164311256258511744618410536531107750444140473142605610781488042247328357544618737113645357216770455620356071233152143433226110757162070120147574520881465001405355215642317428725661835384334586325018508405231448735276531613252505707726777217172612187712224112148756667011341188180673564777633851421447844665853842501778243672541431136281202833214373110116321803657218150440205577500356588160577064502848852534828456460467818134680816812211635042882637617112212430586876523283468206634638163273622767846351358030052357138267634448107402311571454348524237815208824422478314754472017114408382834206732286518464618780633386566501381016547314246804714570517076348453024267402620671556347303440340255775708382406574001663082241662180633856287877638540520240122131658171281672115320272661754083452747756865383423408832032740122470325571163204332711486557623503432171867054841071016175363848154337236737333417687760324340042482517213260142872330568070037703628643010236420808163684722153200200127660626113801530863462645244501334658851027428807873377381410872465118473284750108767745785643520784881653555124773154241538565383247821465247216551655513327516680470501742771742611483017746650054572287352313076282445501267538626862867678805166315237746335324135013557370678154835182744854524344458143770367807666340215362386025320547778526020734741054106553068187573406005465843225714725703878114735887888704883446527203473474718615046833346761531113057215643237546737073747140645658758440406477463624540260665617726081358618827531453488326573357311716412568865601127127646510411224576786638010646270025230626271458586636127468513763305441151870673115251717274164738268373813406472775440140185111850033213307216128543071014227742041567155828871456522325526370402731324645373747514680415304308658875822037168446388876025613705648413621382334561407481363702302817710026536042670524653812625504540178460738446121667773644865644445016247884247584188808284132704616873750735857265042365552750526157770151763626825757268811447316132530324832375010160076786587060553507417020337601207083225824545537621840380134221542160874701877865267833258080182031147018473438776268888231257831564437806400400763580526585022156203324285461571731602107477547172052645066822536157634708286270327881017265144174035755187381767140604434802346107768151412824308641132383530355085454421860213240411135837323763747222803024423360006370722834230704005262068540562510726588702786317032564834544682668235105140606805850247738820583305656877725021600670732304131613241676631567831835775185055540738813388822405217471518804140387087583480051164378771680402107044434077204241403107577765750826283407367122544432630063441308838200182073562725870870230631533171160561188843854002336044865705158372225533060867884583368061848207306781403451062574552320813311253616805647336603608854808448027030402636136568646626852284123211441733072012351660225433137268344655355683672244048762530523877288728140381135224282725417571580541381613545736100636400523118704763274863375116300124343783118385060465157182308475886028358533356488075410460018162017287314816315050325806067085067708162441432604121030182681103303068344010254431418330406301134155427168722148663153263186212406331343407477528181236671418361603815532640613464810486532752355670504576470510475832142677812123045633836286506863647364123418751162745326848724876864031704448534602282228255465621460447401342474226150421120704737584027725232275730763483651003678675051617570410017722023310438538638466282308536547342587553041773323840230211867568155578260825316117141110328003350825112103472478170666484441183261730616426684551007438383403187486464157474466418212281705521501287215255605434758751743814470300160527385711656207650045612640022185313773406688144285627075306620028484762711422816704200226470602653388147642467710835755258546072620142143527537120861123426355647721276741252216514511863580644554675401642841736210714152350012411275863541615463126538475273021745770335377316404757645731671326150073277223634307625161747136553042401527042445855312636762054140431408136317754827257655274075554452187038584552143842726668306533015800888215202250051471016211622434834540502232352153781464288461538248012345337482883165211554768061733674323216547848451858744707423214610760331622364010324024764628171152227384871050340574036064816633301883573301126688756818650566774831307223475163578823141272537545222348836312233085656273876367831255355386722510405111538278248032084300336434478753565173024356126850633735523322386151561477020303840125442413472512683002662870737778414863152104641355410356772080220674527818445443303538735517204142445545201562635041036372130178623604771220051323551685530357847410885400087877007721606336267745710825321855601751371351128308028088871051562022152057621562644050430413437663583616433813136850024003546223280807387173426752806785865686536022708826771482202432275411451882121302646722216417276867604442665201278102706754600124843334636237878832746672366414882587237016050722605438057312061358176036127556203372508467307570370325414253273518568586481221201333115846200448887855827558333747177366134108117580182056072233401164464403527145183833111611876423431456311243150810252666648211018788211671737602248174202783751660564820870414547643351046155700240118246061650733681653167041282820656740158438508560857015055122504062236128088061176454314375122547041858716243444727681470626608456684044350222533310264571225604278081742606870010352874875352222041563667310371583673187168346713624358515237056246330027275677841083118136151144784214310346501062252131783486781758462877154434117687465473686046347228745503333263268022343820042642762667007210600124171232403432070537174751331810887242384174403730386573750125713512457225620777053227745382477451256352477036008010536150207317781628852854358765718786024312588436708700124327252650087805726778808053546670051825134241778481605237581301674176282326211410306686187368742307781726273435670502680742306756216743036618570263018667481000026630587771628541360128452855480447277733557654715005655088434122504573865311027401556367470168652287440082685550386520452353732584842024335122218040422420428287457707051232351611857204177561327743780442041556375625282571567880443438378254535101801732504864702850670165417665408186805775318266660364036702308135563681222112478741180822162618587805140607041586326608704455056605068543706521353028415812284371237030357687464244351478732635043476122705345805344654045375344714851420047348107471213514735363618801863504212803445374727288131306647778385617650684062622626678667880527774677171051630405650017106603552122126866138818482763374523053371462135385300264103623142478742473601220388265251716551672206036502283333552515248485346485152248353408367202406307502756556410004141721444130600472643114481681632573216603331317414412243145887751126858032786366718008612016644367262385756645624215243664744602070375536676584386866568520241003244261032533144850856034731371531365714552506771187012121874218640133078733310858478433176880203066817102024484721786708331165545407402807418132682044187141835046827486401264257808127640556620864825142535508511718508603848144146607200663038016882448661431216127715524765556407205041080802332884371364382153707448181034043352165771246766271256406120538624657684436324626476263764863427464060588440168002370814326475715361328615523204844277662843845310688105635746413030885065835064048530131613052545184255666046362632840372843560384420743103318570683022427632065666050474627357742276314728352207600873817633802524310137623184880022748505680514532038518334545581724576210645718687066486468005182804184636164277318283026500554027014335644167532307540807427308033871652587248736368633387007686668374162133161281547773771627077734024461602524574145552417316805585145458745620477068547558487674088483433266045463827307624014728843845330667036251826215018842584760348315060050546678350622245048628155811738364640336823635080106103810524505643142885680115148871807236733557728750867811544274626348618576300260768158721441373258543801340827510850740416175780126854475238632806238084646718758077778725344647157742267252651304526357034457235270783614745760113883066582310052811754188618405552588661577881358384046516576242820654005681507542861213342576847021558031613563446053774412472733504545116468235082544534628401455036013138452852854023602003188340367153424151474661887065042853132658772784555274463167768503761615378454332322213356335203875376047661754426061208158582072535783274638621063518684772444774104236634843658406730673188404324727363813651134024154126211360604022344580228622507037265171351756178861234067406416477887648730570665244348777734223423305783833347826638453771827164277643531857521830547804705205831033158067586853403260746655172538732607527608753852828453446054565516310513271337318315714838582748546558880810440240160077150017534408526278743545087577680877006627340532045648082700433344776837010851822111657238137586014723812121473560782014032517047424616575175884025223424868076366521742741523765703477673882674636882608205010045131753580753826561433054626007751434041036732875425762252547723217607201767708654463288252631600647703362628386242821846476108574114234468781740416161381177266222180067176517585372620782003813816437715685564231157546673716821747051758122252323682228776202730162414634460173737152307320412441730746040203317032108727010715334841415431747734237064384101651781374674825578347282371016827216465788407235278215180385526138528157016720545374773183403362312041268401223558412034001403460334358480758888337180450731813522337187412383441743827342505618023538524154316741681344751142847035288685144303245442808416782232311486662315835644170846145318034501426456126115481201514780168325332423323688561117787037285648136163862684421664167215268880251444352407483743463035375215060734062486055331677156220562131318855778818365225565326458286131284441818384285562645633086626578324135130430280130562358727447536843050707831381043836081572144883436807616846851760027152476404231816005578675665874323300206523722436551164832873445300704663821274166455217552072582324046577772413716530162807802765570418231221248137462363754468266762484102305025837022326808666823144413213311664676688884236101588358872055568345744223336181503718618001886037504821753451772383633155720338340375213117826136000850786201380530683485202178378586108757863128675528386476706633135022837015730753207315136433143687435143735887143557452368282578604220374411602787524334308233387182441628723603856822251020758057022250424065712538568313014786706844674354320667153534484152532714152443387541075527047066845810413425248422720322861101527741343075470281656446455431246314155156288507572052555011670232550675288532677524130351306434682440750724273315777553428037245027638138386136616218813736071640312786776722227578807408642758262182241716536846207834382843463646513842466818627614507286302375712613215503126730721743484171571718721584444255815678206202533337122117453837023564122343547087422843642434607338158827446530633804438628365184021107713444713864423376178870617662485034163171335511015544120277771385063017651186772146742843328272067237688777602825533375871110465157073145154350626326451602441844117671444717512451607821834566463383628833567230600030153830756485628126186461538326017068476331688484744855601002478177333163850265027416716730887211536562865656308588141361303073068477154470761120136484841123128208221485303702643423657805581726125802135600076658817265231127032365203873118736055240523381357406007067753186343224525652555230677815405135257822532462633513745041482462171616872152414535038757281581338703004030611543846251864501705083210065125242664240544672234861150640887876116506307010627426517728825861581123287503828210082701426511763234281311120886408007032574004058108536302871400850375805172612571262411514141835240328871845457233638535485154775532142563725450528182878151422245053807120770661705160012201811271406053865488818111346633174764525838658043144718844260420206772781842348611717305020842021083267454128326361665485221455456827655331272186430372456564248287823074514154870320642875064082627848412135116782783210327512485078772255783310077568236663487625361763501424530183614534304682050804832302868546454540737773742080062255278411720571743627324245476548382746735100767117478526584554283264124762544564437147771270522242133276478168171675344372825758833072100510208658026468154627670576605304511826636386840720674222528117610274051482373567633550762463130848422827617561781030630765278775611310352306284507451060685220030672082418720280146506285686888314708351467137231741345288661345681282437476754063262864441754336337338380500733485515745352653814174622465412768841586158868068134447107847308148155760811424326026585605050311253441441888452078685507316060607760841566051258643511525284636721236074050711854560535752218772883760620741663708515352014435061333545654346726085112327316677121044141036032133168451886207122263610775832520304317826702460243172423848072105005106203644806017865524810705273888627658064137115563172321625552404003022554822420306470625304446543428525111470351863410455017337758542151115676533376147672447076422857552212433614377804477552410268212880864841167208882563527447563433285264305000607165710335045138078237127335068026382862007120660673405470334848460241871247800108610546886240426615810671385387172172854316262248417181486815840386360821053877000758582408080154830837337354254514746023532632247783038211535831745226386474642818665706626774633033061253305131638280267734685015718708231580756010351336412173821468886480281768006336684153886458400573751623168236170212002561410067478465265535455800888018320344673010327538234455305205445687772164170340648255613744205243438683457677576673764751341033240351573243567066860043561218166112844514842315170283312810140386685813046022847407555683238018316743002142512701273762716846182181855621176533635088840156055646118603845053361480626451343174378686872238604407443623045267758725728643322742718200346624584456036302814140084704555050145300144013322316401065412205224258454521663607618488055332288311064083140323126032075825565178562455318503604063181253786770201431858576143631002288575142004713770521172182206244436413024414771805727803878877573874777215113458887516303030354785365121127160525771345731085318416461680834222057272770871101206850634231342328413467500265728126806348546304356124168871852331053744663358105874480713500778687801515031778746473647816356071184610076611772180035140228853127575030043547087735060482668868538236825233535533153235124880483643104426380078501334716553784447177808066405245664523415583643231845087144313267408863212311861407735577617102473873436548285748452717236216008036270601748513521687713578746016120036323707385842728513174160842276276752751067358050438338845851326753088556275462155475374615432012826308661531076211333241188178582185800657482313683333126481412026433310102323281427863567603640860470530428464311827731308171310474817173841800427320166221276575417348878312060475318830864364267881724573230552154743150724388015326515432080825468628544275277484370777460054387640228176546710428264857576054588674626311837453352350120031454364120633248185242862241287763165117366553275231136388218422218581660402543468604164656630384371883577623123413603162232461428822241647316816606316237103682410802751360226206606023155031273722517835767336463406272220460667718412005201847534722317665555527736632183510443442376688080641874712634460036663256452505763382250574530245162052625143225525745052478208040550277136713264225653700226343531851615664553422144534420101854463111754568452408187873322712215455775186610176212121416244875014507102360821213811445772172377222208836756362118821134257428176153066668586246577847582726608537644702816748151836370687410345424360213686838306182118102583743645342485402788542738012848387236820388507550050227068171383810776521864472010350750371050587567454160547211787875452701661105543844728221437751681678732644534715748873328368824531344021675222672275017433887740045025626404334884835185711045868636225334576220675772862732646055340255811782420873803806024542832270186537546831668746730036431340813160155466673337115064464765247573212612722706840421858054600722472533205375057402485833407355054434775166773688044345844653113713143330672311032427204521325824376271711126420537240088666783565558737430087162403856648664710862538843887712862035685717366168673501217480007222283343326188328636006125274385488656405312363304601028411618642328380458565386646624822671780053327062068084024748782078432831720433684534343601761633463061047135526084808627254653816034348648620647086034253758453453251702700844030351650764660818346305124161150062050501638745458114283662663073354742671712417684812524683126135406411842225715618685078104701514435840427651403443220277168012284646303385327310368106560232046732840400657846268303365125777510136881084842643634164472854021822653555210685171828247254316020765211556373545355370688038042840443348476530703640800405211371737281208546840376172611157085663418805558007277183314621260870506117663885156418415187382376432407501254070806644070687510721613787542506725370884451280352631537664355832005746027858872621456461857732000846748573835807175323465644886603003204134377226783046146545680542006040654225353377835258400576556054537065445606873375620838041320274005650515836126684304670201007448638004004088110514067622682243054667674373846258841434885847544355473068605127426760481380314385764272713168502260418575203743621828738516113386038210708757712430184325057867537508254102164320648428080852620631413302745364316867061122618644606753856848623364365822568526861636615736334520368035014134533382433781468771338504878542613114245433577776627374085715673130243804407545716570418482106620073022165522738501630524454322158314544664413615134148381634271130555655873105615107123503253268413472708730123157650820042832213723374750226785386067131423173555547814243021205001173480140585205255351616312342513168424343083573668337372761120730236625008362424182372533738528543734575402234703383024843024474850318527276705864273663542518314312221072587622262546155583211832374656324113571456237358024508256487517831124215778346050411543303511238787053570705161655112223435802475154808448434721341852728206578116353771804137415475558538024285833652425000401807827281030401171135252420850778658051702115326178178321287123717062132020144050346657146564706813346503886355224567883500427711036371273806525733685553072066830751416847865707155080008481544056644816415528350814380673546347361274400652524151270566111852142516205207207207751006537030450426117245451324210384500465365737018173878703168068053874455855380466335454638524063754032485658534351686310728763134176770451548614022773273252080053757712856433201032315612872146847733507202231516018252337335526155118581655755750337068230700210041336155845075262264615864422201580048825802387054761407640018163145504261077871002362076741516276672555501666078788172678656038454312542778626603630618750106672035730156200156757857628345481426828270368000265820833550232417012062183145721086250184606235738380382670421782617685755546532644400518771278142356160201052062842606127407860571027511825065043377403265513872667040165883331662748860201773576774817163733820733811383000674452863354273832513136064820187803632086652815177588116282837751313523266510050180505560007537066062158107086454074615853700784645334448352383235118510074752344137742627523767504350163030888207641010018577262836766505124315054747834844484828573780275815826420474415406266772011820815184058604400127700480063575870356724570768372582875685112722547132834247568414186870244750032213465360406681427745881116776147038078413777404234724232311662844235303134801072106733375183742518400404280786223352674813503375505347084636057657083410285052245773112763601604223746328010106323064482123152436650535340025768531603674543817867664355625773585743050475483725168606407455241174106748830364531322786703718556772186825872766602383123710871543447444554306872284032430555081810645406411301374601120176517674487082338550878072330548064388052073247107245858851508621134177175788531176053073823020410861646344855570253858606467236325016048406116332387128822827782486124114670084047884236810611844200828723347782040125464226741214231846645850542656713610605313707474265453055050717861831185422124137776178171644862121267121163000523884200102301283434585713101360675142028072536366322473555577140674386425823385236838635040870751628233815141840218565704233127333680467524871521607562467842674448577184601287406031815565242503752057735870606121220245717582417251350220138130580285873574682154707128644561755623704082167001651625423766368618655265510501541681727842510857504807884820887828631622786113320525666844066738535635103045540775135441327157022338462428874242517531101823445252068430657184503474828004722124445278064606111830174504322828316375324757886541626612102111172262846583485261602674210132063446202545123466741561308360085846421282556000435037458322074827146285305680180152727782625647267765606151255156784846603430105287485246266047851666733337143474430661540316032848781465468724467768707353302722417352241783503265474840068252616286412133514720840077415238648164702855673761512466444164710065352622300243711467218615258807471726326481642827518620857703444144378655043331552183434104411153340130820437676767848840047502618624536446264458117863443184101062881321233665588656635638021068270601173005325485500535032750746676032753522562452273460418706673571080755087383141657487182373225336482108422736724811587545244230708840538271273756203560430783044000487756047107031716762063135117682040350468360544347768868408017843874521327388756038038117045308478637676265540508573540008152030780605268257541807224804531816561664484874050858860450688888344817356615127774058720243653758043466273070632050575510267527077723380853656112732161325305540328102032778663710337727488332082116026114710054025847377016242144530833631418261171745012274652275204165728455744342744451727136152007827324185704138518085533363332310443087448043158021670827078466317010247102638771174150372364210476452436567211865451832263067577045704057511885246783620207631624151440121244748148231060187314304700411283482582708033346058355338366103245177822864223676583123767847348656745001865052216317848210807808121011441380316623566383132333638040310834636628540033655578618182670616078812172483638732404546328460147312601603083274115364814180310056201233557441082706781177172078873830873264304724253184617240034306120565846741627670603751508503666850568347106415054358040412725870307455466120735046806771375113341006050016202411667601386538883184443515704767832664050108063737612473747826461260323314376524811182676864238372844680427324343126258765011416111886325417624728051572053370577535312315873467378161606137253705143250447255487064318306387861751545388765835422743344853144038076841341373144270532334655061675624201636626824558560751115218281284204850643273774600106448110608573224571476612844435760600206658143152107028018283005336732330844513837008418775105323073744223056171176743422800548750860555255772485804371765417488476314415738482136766546386304843821874387277003414873281328256847585041688361274087756276330557801202383821105254078527841745321347540802272601415286031576380265004624040804215684752874712257163342487623713738438574358026276032530074665058831746535084533537442248801604745106528720147021286260417615771336316366786268358854284120034136611000586380303885335608347202173420514518335558184117770711777363776326364235525687470010054831081351673788552565864770165085544384571810823766564524760835441222007487041278675036832638861332031681501384144804287571616767525316760283685000106723757517788085032354336856250664420006764146248200810187845274825448336477082708466158535466555017326110084035338530803240865720135874667282180546344363405126001665588576161266451413248766623170633613836282134355086572708182688416140163853581848124038532681701864245864872440445566245534321683133802101808232808232641131142330664618830263815736581160327464212454005643284520855575437652275121711067736577631602271641687864462425168805425370400225735046256154633502105741357021686158605351027574672682683016475066307153335875042040162310383167345375878405157063423318622362376800454168023284022053634115160752284641187037365346005163282513785302261365767245374757383420502412380172278825028765633308681011725855703268387635047326876848646582186564701706073801134406206004723357750226355883577328535108887316816716108625057201886547760224545148575423761087136465407288702168702062654025337536120426534852502035833251545808757441306327188237167836700285447868468651785502030517356250413611118305026124722770212334548143342040060515178444752175722857246134165701384442533616233558511737410622866445770577402323018262421438134665548272675421600047108200338441140340446588265483335218585830465524272821286537252613178841253008688456257643860441518286010335763870484058147818824061428487552303030118765016884845451553113724361886123425843284546580148728888215102858804266177685511800165457625382415341182812106031800253082622445763420878781375551773133506031564375204060670634833526722847387076611512654620304570707852531312485631421164043554526044852578786132428731810404087634757725837338822484132846761327035004542567317276845866222242418858665331752181182371226577705076438052540165281614018125203747073414166243626723786423785138817573826337864842588651583103784080035500121273660328404012676516266643714452125744607333215566238187706283810865722242734751348663814605420313376736573382465884430076784738037335288843775154687386725734077586168032237875176032132154338822036406554412463263605056251858772067330050551165540224723841071056050753311875324233254451281157222528848360005115005752547553621818040215374173206877741834735673808187861238712205617663832748266662156306728771067408046624014161082743131788433884676443055461000657000565682211704784140008407104602576382433077750786235301860284033635488564512805476424263674071152061514232283507757660288724386728082342187781443075482228271648236532027788725760817445567403331157577048307673850588337083567084826628884152584566361872823464466126161578486452050515135041406855137727382317036262330528647126723117571464514277807326706786388160532058514847187743165634027676355163463125125850818320606433863708440722601183440722661046561582012516055777711623712724411200040086570535265430814336452825815858445014407311306013000836470767836512441368315506286080661181812334010630003733253108511846251280603585446682654403433637086218245341483666341571654526777368401330474715245515205642655513274084113271411027222467223064781055070155062873120280606841654860814253885325587166461074618567006654304370760455573132716442277543653254457184657087042572062458554323432483478115160487431346823141521830057756071766316447102674705214083482277775685710050386887512017176388382321302636885871804856652022427232062662616623826347723870421231640470617811652132683324043718370667127323862510575844147623303085013062641147170102565857347402676810034646618643212364728732012207358261323866530662450447105376487631842570635320275176626850363458463576780042152525388036322702652432375478882045008268317436452543505264743021823618447263040263750663062754607261887167452564622517124387843700878506710175160647770131675111461533781720024227517311583284673812727430036100687375034877125620836782203021751731520255848115865445603545421166180134235351050482072286012122178720258842874025540051888303652333280814611236422148041018604333111477757306847088868816703364873418543722744660646732552438654462036434585742803827280501140134080771245536248661303442641850578806305525427205376288030283827172066360547716648582711575346648258654255255238372664428363424045634174238236328118621456117611035311262746366554500326680658436350228084646780775248075534741767630576052208288511774072885085048231742574771277135574428165844782777861037882854158101424673662386424586456432233718172182866262453602250480844823117851185230218473001506861756442867230000376581522770421077116718782475024661801158103344662880533454010317386871461347558850100534707455272570057413255765852452538573307844355200136067115271030753430886763280318773301470817608660025163248041757572415433537743745285324070864406733587711833383378382626420104680671877862650603658624164468555104088833338344688783855483740776805704785764315150823253583354545258272558216588042601733033341624123024011156881087212813150706481128227733401234204621702111238435672707783668502068173561566625232052762337172265468844888223662674614382031402651827266647368185416637523416453135054077178674584400828636380445882037013131521873281507142555576881820737744677613725540580175587356102800375717305725783607018365524472863772477844473451426082463130705884233834542867287587168474606532737552835263056841830614721054782208268020817663885343460054440220758872202858475504117171334088565664883047848362356530624504562658627583236017511141850378324784437272254001173523327772043200465701480033757884371123170433111333688748756655154176851160711774726652251057672413661671805126480543376701448140678055651447606802853344236567634032761720682531601260173524601718116552616345218548018261442482817712544703208101107284200184145048121054165221044870567868805247152627778234573024884228520568735482487244783365472235251642182455546371437571736153756442625267033385100777277518326367105188032270445687127415314572307654808037101332737870106812816135727040241461311738235253428755857755807727113588123672672608418176673338201220645540021337362022331238420657178126248882846150482015335682177231821241481671880317624652410612016615436085715533625724230200520634207484548470711857355788471510732031388143203460812726621641721216766202612832261344860557347406462750840244586400273001508135112486366146265766068104284262516187133533378310866870246282576845621262085066334502351288132042136762073857743806152018331224440530664250470767562366436325886038020402203112047388724318342545341080083320245008835104670881457137610762451715337374812124555566257361610004156178307005402648574444718686718601410707077883826836207156536604123168328644510406000727833500715726114751800144860668522520465031461125800147388560218417048651111151675211405770166437474564157280635436672026204477644135005721465252617715731121877535166504312520852138421382774762807884000064783814408477223648860067187515053853564832328716434335522858300006685131160833756772012756123340862333784533328001702380800138574578632517622806038365774153402202356130167024016718361676181731862736418208637301556248263177550222818613210841228243866837848683620130838516254540266616774705171164081675442042701584730522643215216713704778558210018161555735385022837188150416322803240630744278158673122804506805462160467636435842418776587372621873423613445347304580356243735767330667008110722217271427102134845283438433725048740261721546060473187425771017333083244408310514227564630218754247001476878822446307264753657103175242015513050624406720402228753613645387731087345405887788740151243644314673037038140413248606865405026232544212025054146364272375333424214235146786057502122744775343156283851670568308537251161835656355334106850071074125103332155836086858058472116458655131442281237400268174387582658275164627462004883082365885461415050405161434502775785654487238187558316374234703380087588151358550265604842636315486108705631256576581361640677778822343812015854541430415041136435265616688317655302063371703154604776053255164853370001322760418040361625454332478218537234633443411151312478602672668015641542470648350514768302583453830164102001236026215582206815482445011461822806260206560210527854051705880158038612204751625038742553341314330741625006557160777017488341268885465835351414054461630712272470125656340305442460280008501681552834750364362772086427188843823660175538310834766523418466715442103156777520610574173481824612870154206481580264233725333081372775570334148817407580525474412726776002064180606560774507343763384031071488476126734003761485626263710802223847454313447568426335188041228368141478888853425260547666673645326063503351858166457203126836751174606304337347401758708242456755175362318474331037544455631087301548017431212560205024880224786354270360882622104257350133463084163035742740464743468751260871830425381628782178166537528277534868722328171441735606315550734803581756386173634175330810435333657052117358824222876268226301207480778515205523238852240232371424202132726847255507361841015620716576756467446848151733257483271180237042803768101602735853473856103220068416216611320385846545015577262147771167634235371733285425765370028412243053580282121384760730205371268585331601304048303406702447823321210571166342626437654455461752127826661327422788643743282773306131167382206202835741104803511483566388515017006236640605770223560602160707628164807733440665862840684226708468267560804848261361627831750652755374802387806546362871818632032420451111565401575425400678301225761067033354728713350800726141152001685014116506370865343585570115575451225355208523222063472781217306871555716085361155566586832106621014251257371683275073422855032736027310822232008775133776038227750577422775081305153844151541580282283417285701018568274408753717038743817423882511046225282886630552636205037454663877024638131428733635201368337704684556542787462752178463102445141044667720617142184674153146246647275588130265267362641334778831430240147613321465553633022214041738211026682007478136020623135551860308140884424648765133705211256485828864542875761235200263584170141661237846583125625147576800380838217005072048140511677108585370116811273736543475687212544785547048305463840855847580833767083846544185488872264727575178046123733100206311813456752410540175320240713674765031356425585072076041367615230253606605138428870717334360345742622721347316772280244436610326535456660151061408008420528378188674371018776386582637448516765657781122738053873682313837288757818315802343480260277536130813122242734305162352030756046884414044853613808148441736453645138533158065013168268887453832107817610387142364241355244813251562782272702200332221510511221562020755553337202002572040257628572240318133426147744247457503088577506856333687433311636801163550384356855888486108577023673632150652237704205380354712048278448054554351454562421278051271637568616861076860052254580380277737024635686063451736845875455313644521521171551558254763021810630645406750863157432537710685264734002046064526331233163754214772562268151846072518336504308660668018678574538766025234467585302004437483552618766075781475384280208557604878135043622308566083382800533623461244457846275153004178526274506303888265776322838457771480805361022811133130434222034780161041338175168158458148654822651143752806113745727706414511022231824806331821717657365404075263022182822578076020174150242417522541285266025108853711465866362808141688661010775233463246600556646421700633137016548307751236118123186134775722585036110868477831387757107688841440610848020746853825022401502125742152400111615641576714844866030160183015464061245482011708747324857203305138837118357018241637147421140757326802852483322248618048753318877556485101848381027211403151110803642760864216701004860287760638576601863068652210877004322178726285241848677321271140023220331458043268142422404070045217532033611610384168723182652387285828422651063427364254125132763556271574777570753040733578212480875271515058145825560078352688244475738237718178066427063657781817803037285854864856326670515256780811366321310270271884566830062026713317277202441651834671534483327216334312252872835382410713126715242406540320807674231411243650401831726264715275618132217735364173545440742105385137137374358878442610232566470515080440215885178661687666362362116548488328232170442407462827168113847246132237240261772012816884704842566204171448777028720783885327748474740876875255650261877128737686741175121587885708787623575027304832145563800628833270562615427176620357746363122734266064237726554766314872107188147330380423823845558834241502061848563307305516055080808201653174086826244258002585828371170586034101801270640838206421324812445715886630760758201365713843810647270162806024574720035888723387501578615221285666373670435366320786384311757076883633430040757522023438845303566887177262002471367126383662707706573212275523788474222650435485757576377485181447400576767360470606563554051866111873588844030128651706187013054627718384761634286636111546260384522421372265477135125823388641835284651831545805670162157107037210174006775836352053800460685484741223751533835530820235133831177340552752108268627414830345744632247073644714106702714265478257157223461016030022781505066746311384100700606701744367706425461714001022671424706067236406215600656163267416121224607274657658224241586100678688285866430250424331847613178641685004460382715708175883355322735560877405868402548012613078556315625608718668723140343813180541605313586063148866757627462253738234015086316060116264723500623046348416722288602400823505375001344386656347367880301805751345042104718506355276153554286247014313026178031642680861875814568530481504515282853760616042885823721124135571283723007334831422505381817535525451850052433226728186706445382240245285511468476720375821001464584508835860613448015637588133818425486333555284028830006424763771135081453725653281371888261247650704374020837334153632838016844373381718030488222363333108381763776156817087072818550322144372157547706608435311750707870226630081662366655743828542666056010881086442162224534053606782578184388874036248885475803826557207107728864842557205633402761705172706463056052017033342462436683056535877425481534726007417420101664166658123704852832274673526120066036773764051106066157471481312067288050575354520551648711112423383034200744125153884132832153605176813347282746375041452212068305588524251800780225570225180682273618410583055740711755427461665104433668030102764870421437707518458323335177676642572803777052384382845543682877637740531217885303565731252022165745528585554104170526376160388830107705155752247612364672271354071263704451556375602860171257862022737367752567638183064307440063215256225834334632125532818736780626107025716214567228804338468408687870005202146175568208756344454762073501543353155160725866883215403811681873733003721820700436140806246546736275433182088087574885458558020156311723367370780745772382180283157745428531750015186830821211176811232873500381245684880162513835470726527530645784136671216085068313450160363636017560250361453516802126128423743028888186623418146874566647636470147406106675058102613613604176732861800442365303215065683782024055131584246562888820858213411580374158138466033825638328628535551034441434670308140041252150031338680800436657046886357824282873554058157010477784686624463265555327475884321205371660704515574751302484413047834041310111822467711170404204114222803280387317710787848485256021850721300245674887721364474707773026774520803745345632418821658002642325046511247676358427576631157031681450672775720540764425123317670030834446025714051158768071433803256331725178384700181865222535115560504777810215476502283778848307564662262755725801702784468124812355111385682055477443548121671340520872178722672601865088345727721883612728170317767223571558173552308866674601551448213371278885636440403070440461758038865216614376108610863535676135643353035267717425873127661137163067141217433161153052841340028285677162125228876220512724866553578204465034027465155203524413134736540710687678271177288348534328224166467354838537166462051124708738331276188784062018647247130514628413573818062368813150626283658154568366461076527342651811010143201238082084470102812730507422346326183521512606711002428860375823370831362061857604482375616767707472861328344832583156586308663457762775055580618451316387138138217327442023373725831631774365010770100645034143604634484553417855856318210155035554113753761376868542882355342622543632307124658005400484113575313854525375373263702172082102831552300223814472780708071243866368288545375258385183034511161108033883504067844613440222237206433434251342613244653320363875312434872487212375356715847425547156854007760518275356608831357013616681185676777688535030851721103302324673725410665716073605608037842477852881206647151334053503587270243652506818121667058762647440544215008035614437218563585878005584842735005011812551051817733670767376772856357171431280636332617136713775776777365055588778576148323207107808247555360082337032731147646768723682865876776443113167120184748242753722482083288220330466560351728326740141203000674532610638674166733525415242243714167700380441753611231802266426583730638723541458616146866672614380632570016285726582658754044108633152001763340558707478724823631881054333528054871350367477665172135068272251760071788810807778105817350186111302580220604885071540264514133215288335072263172840601335776385888004626241763673606420600264023847060452856665668472377813356548525176131882376317415502237358758173871678420017160405414464877836823600204773720706672051472205260616255185773026727423133180673035323778450764776622778138481150013615208270130137147130631125446478115518510411262073541641014027516676611612577414311685617247774570500307376115734373625883452373857185303850808627876667765436427045343828876835373820757605775441230613786414862407412210810242030228160801685642616347180447488247437562072054632363881328755228676158625773038281636770322763836466057538080826683814606717481843165544525453503862072556402641323778683000444051343320281740015213044554048413644245344862877648475461511508221005188487512265360208531806847664156432835045144407340044225735758240831736144856773816763030451065828324573374808734270256573733658586607008364560034544127872654520637834876638571842735242145021423628650135264741884717185840352602450866717473734314404640742425713162518708564004444754073401788545762266020332251517371717483858404663733244510141081621354320367057281500368256710600772547035031313174552570686387606862200736273353561342525243306644367335214350633084430307836567871534623175770654528522438625527455367002072440253882101682111065255155608224281188633418672687486751421362476817134772418263600122443318257643568282760116523866265418246867528607410853605474673625164027230037710012800721136737574014548430574584061020037138366665062085281774448782042884855484265304264552875666543126282317505467246674521111874471250215403727835205228376077303231425568441607325173868066800666400885282767050016474037863784362211243482834734063477740012128738450208608365452613657161044633444167522220201507000867156418844462616643781235887422302456838120763661562051783883176203201860543641480626052736487355586407061174361481622612845675316412640304408176413484403668404427218178034002431220468743674738784006431482604116571447535750655241655616358682741723734103877250742410742381251402068247330108008127420743042108106480725826406343177486548810740514284485581240503148505073017034886851220833155240480470822246468124338635366188351385483706845353431066708677412264044775411863860226221571660020388512581685026387467415606177176862713834686771831310070414726476628868464035665103483117538508346524221312031365630158537706608760812218527850083013276216222502683508613457052767847782301625415586634608553324728332652034343818726341631012311584327484626237263322612264382432737577857414213674585621223144188333824767400710481546525507237333883630876556132032402071781578022540063107624647331642215141012245734145701576650072107244007275080712226544352707430185362822771442016038085810771031744384077011644416422714557627702241665633356651806666084824756584766170801188164401436668430210333867308601073853171276532802743454616836371464721578552517672877523725307834440540713062803486382100552847663841441837055752643753080423816465621067560020641037216527285852274630356034861710352872467432713462706860035318021624153411732338162315427662817882772225540177647362020178272412344172221210503163872815528556875084885167038701555746408310366708345042640267031224187682576337814705305376324786184480308376634364674012650514171357822668050221130517182170578367561021058886134432540272480306882235600856812671251356353601062114464872713703773268318101578162135812800678512485238541836630630331864086065540026753608413124614813381666354050452834402842860606413253472073566344378515423532883661072782441445333512526865648354844325356535276277086853261207820280757853813317288305336455127466541221462088815581050335212813210703318424151367560486203535616564586510202322631884545740704402067862003855831715777210547755612500677002151475724703476228026251812728741360221802356116460175582022200505282835384641664670038886235717804526554500244801274800526554164535785537214062630088237375661468852621318074466663022835738572846050886005728847312343388160073016346133563065543614365408824767141086847640008474761888123330073436542411616024371804005256274848313444670441878807460737066408411406724536631837783285104214742616575652340610732842344838047707877811576753748678436372687884518474726170140637521367024837703880772014755431425864872052372008532551001510555868648412428660138622246862701486805775753388753473284718370822466153741628388634126583014552055030483100274433114526836176741310760082542370386064505476081846256155525881823384844704350117454812255645134751226771613833078837331702726636237862662581532446407278223624000024120611770463876340526550524435078880467487118723153145877315677116505756448354661350478021188188176272286584411440825205132342721170764638835570354427564538223866547876017414787367663485701247864166363138580380026042228510518164230038638026147124871220436442343816130005241340501261031062448506814052631123636478451465868204851148521223848744532130005713482758018508356862872467644045824304416775040802377086127734361307613224015844366836872315128772063566236782583733587314312647887625441284324155344531630586146773131122477480411084825735183810370722241134127854226417837212332501764152780870067361860023642616453643673238764210786068288530752480123546836757638571032473658722257664808365704862218183024373613011720786872737826446648013585304842442655442250614524544153336320006148336763862600777132020777616160881302827170230427754717251647864322344575232711821257526668545804360653276683615501742143844074420434101313661363564643132410254726123644238061310818511031287381278773670023137638400563156568883800563740104774152656105738105061258554024585241576376472366225081283275128047446751316136230327373763562742051276288710070136143515805416120627124741143166605017060088133077772615156173180650375342075345126424603017333813523516378787077726225663738368043622634770464048483551306424651611775345186535187274480602546484610804354368804588362388256035468124057584517370344683365850551033404437627233464148427458101035833083120506410725281556524753212334683210554328570866020216645558330074625244118233511287467843345102435270277361507603215482808883216022230372456651083767448132286871815325021473664483183643582144218124488543830356422130577263101560641070150567577432026674741456728228012527031175663551074035654103045667664313286675412088267386321818606833422617506260228765216177715358335100461765337344882763174403616222317263873566121724786127825480520274160886248347523087664513132072776317156617400605323511032564778535402674104167582510655134548424337270143156258184635453774103166104060038172845403248180001018180462536565818847628585331554747835253421305780678565527512472115288665735845376888873210133484610457350353103807448770644032870476470288157562631763557427641832332685314714432578052430722660008217531067582063207734063831108825456012826267055081723422434465750447883781153521572056657100030487070437532676327287667300572304316460321571478306743662033806844444854400746472318485152075463144443255856212127578844623044105273847820108032127136600223433336073674273620042865771733382216144020281386853270233370540078080858348652654433327646841822330341682307850038131036580704578243428680221148441514774376872658853063783180503365224387058384744765163034310135218273273546562740841200000053807476500400702683802248515882488728661300308351626024850004032051504711586744722105418033810413243854661188135717516784600002581547232445886673324768783663654437004571754810553017664532262235363263673603460447085373320502745706340847301538231178446286435601262642673732276680854726342588222627374652776615067446627854558222673514753386718885612861038036351471801806783774772270448582244852316665661878747406842761650115058365711410270627364618103703411821753300573114481310087626082423470677733311130235603077846153686783838137783518581881146323746568541155364484206417774704748161587766022382038331181112420407625380051772345151167243756752873561117055557733235504141554825530322108636527433164075104633301060056653146455558664853601617168111572207440271078742661124318403744200635213277136368417742274817803167203712156210853231061106115047045152111730355340736385125336334624264542346805288812272025536882062776822878342217687321267531128572320358442215211044843508667053752061702387261531072527465504305584466776555886635733023365811063178226672130462483338185128288012013056100803405361712825405001583846306823022063461427502757044750432633007520601087364173035001307144103510160446578652276170005338515735156601081117022205512827134072317728581644166062433358350174526868485211223882720115124057154463505584663265643406038488172586178017645645381667485671781528764117425040046577881673477553652758531656781346741138077728222268262608852825274513337814231050165273846076807368364507275477444362801856108187757515648512426278558733728658534021085014524514312414587742427332661182753406001513663174312708017082074506341313442754461078252325837161113674457071364227742845753056230020623277421746423164832513140500520200172321744736083048617872577253107768118555410531138457373357752035474735825611726771403185346303582724215810686583706736462317238342675667414148150578363184811404003415712764265405202802344541230247618574383854264540221348568057753061166164655776557652306383381808376143531087104371303145883764857657307043187727857526548682171404408605726766463470784467133463360320203765264645654753650433685161424130356106380218826525466181464742341064437486524770581548240361456452278358038318335727656027617345523236337328271881455588236728856322708616122886008170848505268687810884662557041660260677471668806054701130623242310123711554873526505656425680268765618748047176404334850283786073380500046735145780765510443452444514786861023034105588818301675354020376353875414264618688728567741643288340468351276381172127368545101021574421032871116736210687073758157274205685200532766157241604003343053324341500206841568321442644445243514258575478114737847212634755432124331401362356803754004267877373456254325180470144672361317771827204504154584105124534113510155104104000105884357612830455817225576080182774653804861636078145771825147302706512388444146836803068225662606542508368603184473427358732752748485620464017887312007861707085466273705586722171544857413457786438711817304168520761621774124578068581387657301452201143372376428114756172803821655327558663871181031661365478503708200115331558108707468727372468520504467704206001212734624085227853424102022404756208222704820357036761206173530225305630838185270355085052732651330828228163484717171410711821608736062807136821003104405662170824881728364804325858544223168145578188427785656271054384325020424701726058200435035074006540733401315457742011317307734680176278523726447125528847410705687756585417010830277582336234658777550787308636087012185076105513815033672434166776784771804785130637023505816632210888027717578422242637513780576665408241581776818224775882220064056658488561070746742633134516650511363131724830101203115252141326872162645718573100614656582705321212358552176318145665451267734144057464471501251766282655877013304555142583384182205126776855135105614015802368527011305324081706172381327556808770241310535840038451254471201877465182702371571525365582573010478723448334538868206121834670265543533272875746484503832087557265016464526642341450540836218013776625670771150211640636251753378841044540172536732101103820101126680257023580284730311154640350185430621522807735256050887223754684112464254152566235016354353006174112702628170004681410475726528625714514510710264067233427722641327544245508462077571428184075457013852528480358515334436354845262401310105530213285385050168321406567031650050815326380488305650848854465280844402332566135060038884225177462556781517001504882807267866682471373285105187745118818100710573541156067667626212045603208361863270821582756643744477130446241072017855248624856412018282701135846000361218084356501217101030805107261358230801574726836126725564877181042231571557213334371328466367684544481173247540773575285880235670800356443742381632720711826678574017384707444746246375872564304787180703036851650630780100216482605028213077800182606227855784642357153735413187715432635508581025114144160444738058821203422315081287751221324131723004444742505128817467447673673886042787824656888026454411241478107718384542317573733818164744204306450036612827247282340071637581387065824065104058231406326418543225714276684771543166075481013424533352063162460478780740284621632485675760202372147832218628777705527373553637004304626668053105011034234536405176585080888452235842425114857400447115484275643144407780375062651184275117381172814676515360683452883480054288430646478702313013435040265686701245683001608153253311582142761214467330586364412658023783025138278638540175576036446543050717225615311588252865765466845003170486888001382357813758333135060566323632223454554004875577033157337521662708008625355275485770231202548406570386825015207841228543380763251732556754664844371167401774835403067655823381611318500811676501653701573075742247364832770160154840051646665334141016644323742026108885754587068478376245206864772250666323372241180031177741068668503117687815328130788220405444633582122413047482617006275700072317051835878524634642866004625851300360083723488363837387650060732827150573533666634785518761433810757015516488366766252012386512723351233277862517233082850080237158884712264334868441625781406032058651615310011565027373381776181454520282031328500111707412673475725336440743541824613386388015785268310823623614551126458810031656245315451101588302443436786435803222182384078302378806430700852132332606812540050841450474824782234204216786660580720670658241172218568400483301087380583545540307444310224154186427183860522312236331435214646355561807566666652534157233156433536661678435871648425350544546738681126273876161058620721757720822783043584457125827441814366035252000657028100372136035815234580336888787060567504627370103185732521300435620578178806874048443720476675814873560158760112751876086138288548476101753673135230334508675307420760706172162825234686273271647411011673104882108734323155282755380668727330331510531452638817033216714041762523242636503023722051132156148480182147501567073516756052712253352323611385826344886483684067030841073665553036481827876437437810167773632313847351322231751436881558071220004637515418406562265025475203507650515722448258456721172476024183472556025565421124531306717051520455712845565803085066217462651503715417570065777155152581777535540818528472650778035512645216250732244620878243435618687633871082302730316815010114082147604707248645640648077045875223444544587054548214567662268645267642141174471747077374171241454573011267834363784728367715314363428100876362615323601821257166784746004425101430327266042548367136730737326374845611603778426624540783272777853456701508340846765411642570087087788605706737350371234735383227130675373585472451605183783521726458164368141544347344517085357038257108678562113342244312630433685380360236301263077462113528247881722423275105345636157750872486707480326786620184213744123143036042525357301722842204170823220321241472586011675385165443643360444712768470001651248747761418703654048618446604706035548145135004832161645105642634561338071353637405028341225451433708222713751232667041278136468550630483186426364433256683276238734167441285558546075848813513745705183801660153603362068310666720010003801161084516822861684815237534631747036427150314463203876484615513675430811568637747433141355311111481253825525643065048464642813100115413728744032472578563118431382420303560532456382358054687542774120014017840520882832444251642445550753152566328272387623226240317238781200160538346251810372121075606378005886135676625871856220862510226131502086013401650008864107480630420155624267231236128043253582408528102077715377247588585466588547276486042383884487506072114215387215480415243270615466817468807538612534785162150300343334713055488034760310705257605367854521468763563545265715270632370482446507843355540706883788104750125710562031143012785650062211251171157627186642556774406706405027165714725056838210562454646578765828246218864488321632466351648770288788006366607780357061453224170311584262711133823314754400581084111647858006757174843851100627645753303827816807703566085007534104080447743570505562013821176073130868738183533015568786460015584746666580447760286723408835017210132244310826346644665806676060285036615516540236227630753508361025301221633045500302674605336267287320776625048543075737207143022728062778233311180331482576708711736353682830621001645544543646258228645750583756538866124838712548127146105836152614187057842260873013014314302227683018224650847720163381178587628417263186262632668345838486588063653743478404124551543406048456667800044817178642143120154366676133264636712568853030580886317553501223206255051885454287116006542450242061737640585048457813430784738048042230563616336270446210855413308705720505137452212211678570453287166886550687673324458047703534614326031052021651711658745221077516662344883041745280537531668131374717357485277716215537132783626133524526560084120717240318871842570123242063036466118768560360683457054818744405257507821332076154535326886543171231288326842803726138537566171056812486184410457673102415215044551582583442670635073142600300462873358202725077607303885655565030786543502875160833435532170811778383802380348703686185068550566822341746855453544828685611484668775166744623647315685063107065247315703236080703040525312032388335283608112687573885637178206312678507175310662226724772084328520535531663518135350042160384525476028287317486617853144221783287584687151873318710150868682342685233136768585114254581156024840277071174468102124210265021781067086254474654326150156877122731428161721310844684612254678176412054181536750104006327278823520237412200366484804443536100712343088463821804436842681063006880807010038740843275845648727156186304326838125774465011743625321266831705553843307007374187258431323384230015556027786737507708668240551238630172468174157053441074201723808185374252358225738000206743730840305840667816860327476538641564087865038231504778870344816357052570087386152081551628786081301102337111556175313773246827425757123358410086707338677071512534022884570727712534226130040003148543541540215872426536844174463173338361726585152537757148216487825020250527150285602808036171570785826868468427308882687480353177220448614404505366027175216208755705151126140311633837828587137873008603478204684430302386616022061528484383641246755540676813204273657412114201558450270165407285242755863632658468203160655311554616364503655476655865177811506766340464882624227015842123657563073502362268142321362763242354817601203170831422114221656725356254344687507750236250744034747260422442740208160872214085645721086775462371773311102874232724760271411677015218235265235782717617167807440610222443865052008666684872415377632606357344536482221345162563623451045326268423526231103366511588025341616238868830307647634413121732848750350863884571061045261641100635723874215254833466748202021651455082685533610312446041307157488166865468277083235406813212428831004545026412012330186677282351763657540676327842585087778345154007368224358532813111606328417582300831111020171705506014216864363431754645434136456801115321870820145341372657161455188880084060737474136701515267087256385553414803066734642284718650653886472654576140540631513313005020402124287502457015284585054823318486611701265504840066142535413367116158704453464437016241784671815418847514532312677608310545684276311030860438611785612648587884843133320466507482256203152124131344044635666171228825164638073715307230514026107266306154218375223620524605287184707826130632357151233183033647080748381412172166684017607823774570121388826877043140131817530750865017572552546865501868052330658080330522672080268706513413616033888444841026387170551673185142567768142225070222720408268278388037065456066220462242257557414284741342155458010412066240088546557288208366131464226211456250064280386362676580871030111432382461173711644217780171462302531564777817156435222023005211146445187460258881660651223257606580207882411063861073465157706730042265263746177248885124503151182370586258344145388368310700225633735307535610355858536743522565361040146460163262062144768832757147182025061846582657524784214761838335530200131554811128234833258625385501131040245843086478382657152523685282317073275663238474685022163314765356418378720384872567430444857518845611647447728774624213282415407372241573652313423783555112770812202711688147164663252856628418341864654281618201273102250676443824151331268401386375006011678505081031755362373580518404475244646416701363187472460200256371315204762383802535440002553410544276450605766625342302883862046027614427013338273652846608653322612218714407625134271313231845808318766484621607044385317408283215263754408812571016064537575584872630173862821811876884153043505676068043167178256213883178848116110438771437232324621838507760040305213183454773806307306561818044584605374443308613484085806426137647134513730085740480048163140577351157483257855801461210573465676328756144107647345646788627403160503644388466278275362245117015101342342218685874267014470548501303863721727084640622648023658370825014106310207410488656673785757683886621275588230755248182652105465283412104620610884366144000716155008374237673428434707260205047023167854306232748250308013803317023150252160648165226686756280857457065615148723741330471801704844047405350358082122036752803025302041455140056654407477433342458645375657056547522036160507434765632056418316413685354070821837757023184753844315123377430571247734511786887573668260737371764686800713031876321451468362686240740304462251481714458700088723578127150342166163860661645080836408041051854287055764371262328438588526752710362727355186152554870636587068275665240373163385623625411434562331862273651854635655736323450121604107181614131734244081703450050424236351606140208854644153055102736180365417842863431144778163471480717853451475061848135878071070021136306862103180206263472828703662753280650032588281262361426043418641454664076451042221364738043258134562826848883002568054657453682333353781637533165853057244816617854005731057283442804670535523063348538623812141274886203765221150213210106473273802832587000522037002615234081357485826876668424018140237587272772343735114821206221717545788225121130068342117104078706222852031337035211172137480743406546048087108650437540154174811130764345444120736357000433850381784842537014888041016342235087684421806676730461830607121257185241753450884404042278373084362766184807180651451747485866064850274132036433116767214520261016058471858801071614130588417270021813837145630314581733283734720206883387174712344507656643320616687454027605748536115401300832776707174443460155533525618373782265314123575744383145862870244474530680720523107783026243465200422021873687573752554102886805660155754000706011118831678711112738546087385578201248683441343680681277270518385224480537500718687801362082056132520018035686647223253884083887488045745625052778877534156807381041388384402562768125633657631770657107003462466167485371774450280780722850004762422243240048324130138278832832560418740443540036110147506338077358868748721867076282032186174635223814237880080680184101785415834586640240078300104661608637768225818414841320531580185248558740016510823307054863853424260764353380840502488450580084562500404168403842402237105633457377150213340722686524530372410505145672842758034786887426811026256232404552013001865825666214858536034033135220637852602763610548065672743744856105812310016518114813666284503010822605747016237663436401351676615074200131558555643170073884122562032764735873718663213680006605106532360780164488101681688653074287017608156268823347313540824674727208545237405751408821826846715411528166650205412776611346358662815264812461277381534457186803414237155661027828307784115235437826861101363218466062170075653027714761753880170818806262344234128337423438571237221258660773862733121703156018347372210801507285605580743462445368588877086232621516654440625060531476537730657246277140855826287245308558376713711645270253683454125426351470268747103455071488720786484304076833835558023855247422320855188614825333847455233032400737421747140613711222607737755012701800278221415435365845386221134450584220368700233221623675764554684111105548020317258472555478688551203108405334542525187720577611223781624444857345415367457101618701887127555505128860251061821221776873266181504805188568548313824327354828233856418077573581002505847577576006753420088533351425670482144187545703617125232810258265023388828617205485125747068251461812782830130217310246268806643440166525461271222633340684376303100526303275120333407377653504048013133126058530724438203235027588603201453146736176575660288412504757233041668258065886822071234277668080453811756826771757858842664147047441784300018744101185388576753285348184517312743812835060742573821666281873171305704475785575458824088780815278175872374331676778540546664536227001255875534767414530533372006866328002372001103353381225500275031643644678128513040237080887207377560151054726677754834013353842215814882663088223415882831415357147777706205672155575224633478241608103022888705717467637058540637177107662833361131087481270882873820255010414867454275888454310741671562608852826401417083021276341167118673823402561822452532441881886265363304610165712440684778217822747546187052305382611434226735067604403678041474528331822385521673006022274415313757336033248741107256707501311154140705162010131568258616081605081341533453156205287476888720065287540188207076815127073876137511062758510605835412506441506158518027076840058803403317752401022813503011767610151083084884802611854543437325211374154605271031865428661620464263164157436737486585040645205865870701057534054552770111510805353077575008801288325071814741831180355422814273583823803704557851353077117575648080500583478723722308417578164261633508037421751434371260538487667632785866247146150825473541612638251400763073685552564585774713210276655085415113523764142765405121272843846330536333830711451115055543586070833351421770542651134303445406263533800662021314252020656818716317051151831280155336625307455605838520156610466488117660125210654125703761686555216528468845030100643658886648748215458275735443713462815546007468035665226828425052674532401535377888074232537310656803751541385305162362223202027022421326603341475676478843854775674277753435548667424083171554761607643468746211473468846087062411747773380238558728003345124414655305356665426710734650730136361250482675170551774024102352560810730566264170062745028000733417855861720068476538575707475860652138635873681146740182466065861387083075057452710512832707373583181670616860376288406610542852468748368232426316640142661378752008025238612603370266071682382601057583086103720453734654740035601162071746288484528474431680756758204838275486548045066836345850576357802410478745812152473062224355724763786468365534486287763482584371572505630628002622506274844105121233008762515683412874546183664736420207046627634452265452441300216218535630687860145670617865516647346631503467681457888044737423332658238675730815234374071542471281675536762542334643142145355873817470156642360344080583616022571403743130175665660823274480670341354442215865075721733507382732218707280785615018008807024241782051863657610387280604537512776106106272624443311848286165140736452188882423561176577218680171218687521818546088526508686756715637612827658575436776845518630573612784870540173858058273774854531658488340830805676574483423344812334023271274617600634487637518728042502266660484773402207205121172664055522252752626104032776167567760585388171701067526181402328641412554528735647255221755720850302216857806756003201742667632662613845856261065787678464683660744015613158580266210313021676126611674466477338446414634241635038030322242181778621827648622343147804046771244065155810705624077347057635281345540208463248154238082377365028726588472504875238674823081324886860238006584327335477776755618767384335543543842476473281105008864874036081685382866005156336804085646336773084562450253250730572742868670635585144310283543458453303757081310043576328320455565167565314040762581175235543282230680248014303388126182356885256215722686124784043784678752044676588058051837846813650831030250745536045280278611776864830002146786450367250680828282648030047126541650752112348343273041123100878142847610483725024002222330385423312544622031802017221858755467354167463503401302204002056314103017543537332505324383648537781763547715714318505876031735811177877125802280327271580841381782057352047034747717848261821714232071806316667168220326046061554827205447182738735035775053837216865710380127416477441448165615744663830803063222516700187100523088056263062773113760006836315132513337885555838164640060450167856436224225487714611700441350446341720001655483505476260487005351480332408732853112381346345287767840030678433565203105378234047701743735345642808310108132360325223637602577603461075568643173336757865582351263633538834068086417070557176556871240257487452858236476126763077602375522542888261037335637882370753240383821560707365845641045338515563566883426800186811602177122458341141141267228051583078885441544047751375285043345853385613487742731400002187815130840425723510882068810758524412638143240103811505426437386505881021835203883736631386027886651525134666743402340057215853828265874513243415160405813270250414133354173808823640324684155852325813730852863888480262046085150512458174717785506556658381788444848253614325671285825550608607816737434064377651305332442565835682164584206130763488060555086777140334456833633877767828145564258642755217137712238031642137110276107552240060146608048477647231517145557824671311126138484757615405836270560372320084061088643018144414378155252437887213023106832106325574246823505514538156881645600262446383608283747310831783134870031636012734271416402625341603083356861720323505283610306167288281318734170875463616568276413412650886741282510060108413107723015621632274425482705336002841571048365821051768623616121074687274713318574834718428778534718114548780312840477613602254236756581060406113364408860861451235157167877880186275483377586757655830834880650563155465673204542047858436024141856638617826858780285434567036327146437344806360854647025543538601762204160078050165228332220742510671416340085274533851781142632148457445125263601161071784358146670345332478220153756485464246346710027733057320313721886867460370046558203431207150318124572538023740047717881332227434887756503447240828741337175033078817851214625371361674663887731072884272454505206022041051312253656535044322466145524731466023762131320317565448585518172600761416440360223741715653552577657338128426703321872243528037024272085826365332586105177001705464657407518010144705346455742652858408111760882467248302227813545760117033426515165830087670632038607361732133422376777517013715637878632740650314776516130351351348101808554035552523253460757388142837315372818527524782364153051786244020617266704270771807506354241447838260807815622878511376011843210138756460054708836814750407333314856180453625351804723854317304361865783880734834352018057164536336255276262250877382500846381368772016035727518066605362116421832344826556831483485630412474148473344175781022003078308546504501342212686031574502410611340630601015586362061544148343467150530720360381138825145864074755820555282750785851818168225535125880163074084786215427365233014105335851621850332032246081003100604006724146817633245224335376447555100464737803304521572616658446726516240655102146478872054278881330500631247646814031866240145057284203124327765704031347858827241045856784511853188687366353827138046306313663262028880824641807788355238214347035621578253835018053216528376274727561411707862333044365631248231071452054100208586257480813181688046024364847401778208778846356840832058632704018587356505887805724523274850508716725708447140772334252613540182028640750263140231280170760315788182336570526768286373202275063226366384131241335484567088407755350557255508245223328664764736036028422340306343636233320333576633242603885805714858637338832741526300644516431808460287556137002577070357066470450347256427563765523814087730171667405208424115615553517848285211263371668483432761413328087001388344430468821158865534664685262880786620520876031066584126761152248753117150842764454156682742735306484881056731760366841026832062236083465711070118086224721068610840384187803431372444358860608603364526705057371058274561274763688187801276100387450147677825675323657840081548488646023075623612140067343636782467153387662143548737776603667570673677486281426756735647103764740246665312858621563730563154733436683138165231077275607366842551718151167887238174724221854116817887052678642825618581635814771338152440170304415075542006888415888544522131402877786262864553383615882228010327572031884585286422350714114213068237841763488370073505554573871301208746646482335633721142736106012382321402180133003850036471424541510621874815427007502522164868260127420237713366766477471384826378636782322225677132382381757285104556064411134277217221062668402487248648235050612428875761871414457703061161850242638226683355142485688757083734026340411553441768101170177052348768127755268858431153102484147524706626846303203820477525833650575415235443107437500884760478140071125405788357105468007221411541517107837641580035753401837441072688807723622076165822072563771502342454716230835740724477348381153542287707516061875473204707321732158827563450122271787524814242283425626260003538713341287611135736872644036533077032824837355214343507663103038433251007118750344026166240121473162150840702438680030503326766472364823686432475763685686557822665141870072538846471706821688301114026212575681553716711321878401230385545264608871247304466405011263423322010731562458377040236786835386686814136472838814754806110321843472537115212704438064322584602686644552220316258855335158424787865246016180662764731145757276404647052031675607503241201426626746740286128360537450435055703745865253667242342254333158613746340502747633536170744211314616013342602848127180054064724722423550102663373484658566878762761734487125456713337364112257573772647738640416158078465003662354448354584655246720372788441571311546273374268186212474015403735123222317565444222587131644420363343738820677601313168034218648032260878215438236048525540146634146155415127670662148566187835106124326008323822551470400041143255723056426262736115711718581345253784665411777172610031043113616703584774151037354385885462375372787380106617723676246732621333858821315724610111818660187020225060135810155744006048306043848447681407728387120163425467558006566430165561320716626744644567015001013056400471652555650747057637540331477135088555565488282886487331128131718225127226105768617764783577078863113511151510801030532831526224508561487312175511854308705738847235655500880413560575346074252873006812787621807528531820527833634426600046204873343722548183723467366308327533774113162785731476574211415874630285845066717538778630241433278156801010156621562543411145224626168337553686311325771273748222810033785107050130380302702482607303078828544011286544051113207084476031846230742434071875864844674128420861056433317061804701740264266270616128707407505320282164755555710823303662111013341346275158652725687623484207251070113203750757053318402562833551251566434638341204746005120646888182222666206650101801837032725664820447337040758420033388544726347843472603232304321627607157634001463785026708403504543706227387557568461026030408653705028477373848655126712784216065605601256361675571715768127133533145132503622778667215215281741228248514288410682603540431108180213686100817778135887172885545636276824650288170232258114336108840701107783155086715121347202271112788545134373205858261712086056760871530173420484670020280383725715441424880255118347532151536334324341031844475435431383743342636606168478485306473034168631057673524445714036421014143381371706480382648703171318812564138220853272205741266885111560025685175616780440501735378453886160033188745475342572835634414653465457638431743540783241524505706516356180327562717877552177208566175268733287350738401628043461667127408807205763234478180757226041274653345784853218343738251707875167568122488843027482107518642617446670220653064460065285713600845437412427064655525688681114180488113554278477178801268208578023245866541353332211755321046832651627251576112438870110157421181747027304161016364255874553255346314652620810881547113500186415183674724745060533658323647155375101026156475103630400410111003616751165403554402502752025730672183318780876481056786071603850034010233643545758741631527603408422461186672655264553430620687603344644608088887722035852404277150048110617730838604280263846677418186414551208216884282637455842727301724721148573653733442212044816116074188254214413667426603770657350751326413855163003146671147510730750074143767081125144213063628413425377304721102082734738464843615508638411034376326543846355118778764574458248386516833557023847317424825360630381718114651274633010533884603033737503085453267146857250268672645008683288731420078825013674877317474347737026451220380663438211305145738856675853330541730444233654112513555522410464360862401852123038851415851463607872752142027746580855422815660740345334346070812777762865631420430783874760007088802257227755244610048078257548426115240241120628585228710452224100271864854431111377022440671137310662380173073361024045811811548255407462113635153380057063865420707474784257173012182082506223714023466118452265117488018702524785237356612712800628315775258648807513080778657060273731157732656511606034236861404524873083768058552150862033247085438352258456277035771872617351353321855653443488054241023426136886550118034323685586283080007156271616405764060248164830087628607044543533553736235206132138845614814215457173885414784206087367386745110677702734842284768834235651648232088258072028785267520424145707217453644431368381268138781187601825357104080061024215702446550206514781685353155770335540581580706483438444565468060103040153465788258436035757604084387115270760730245660060074503800461878604840846418311683000630460662140474158448232788180245317726565453407306434841186686561101527162430127768233525256203657613550331313152128215316334224500664454071584851408333430063118237180514060236818164470201651686755081587862320021528011377860512376457388670022741317848853370454071570882730335263217832407133357243170117351516606113840213788150637573265240358756276858786484877801381222577580252286581058873077615245828081225558481413400245177078666347732718233236474543285417078857318117806420787831023206502881774342645326070573273601504138474413072600588286062375682052320388140130184761306334802200140870368554507582502084233417635467501571351472767786448827266603285532164783065188818264154821877627801172336033045602837712887387681405364028533570870364822124716683328440512152580550838506358660158858514367674022064563023360052720687683256556275816228260047821176687478158248478177811315182881207822816615641162402260466571717664835727348474586435084777571775875446214512461661723832702544113732823382556510761220276573070057023045676848237522832186855650263063160433723415786321086843055452725345310121657842487325138783867706682751016762171448702661703115654587262548705271563170157776450730621061138118211538371125664858861127883311831453466123220712272442018775634028008022605460158430423124650406552764512322334615216846032115717573831050458733561207376458376833281480651515475260804204510043282472373453288487634303004648533766813787803120555572530666387681434185401673850151044675018283527682287221227140088463422105765702551472866488085372601500885862314145581480630816605228313332618112513150848434183847006103552001265201442802046840476460464321725158514130507873773478054432534635605101145137081135565343044010430012651046342301860543273068672078346858701845627447606536383326568454833473014362845632765775831617557835124741351463018664774800437751705272207161862811011733371400041850175851773144772028782473317441516384431667325717206245420674783887612134033876303608322604062584340167186666484488358805875081085508465412537576241622870561262152787245635402076354765330077057237142245027206322102655242434015023215487588446765702308076238023387434573031747262118644151175711057272675751721741302571841386237788455476100235605687758310845043116682814134571043572613672500818186013423421722413866568564048522386500360601386062462653418816710584345505104230585448115308710551008021146678566613285112573054366250252763665044084303056126461367372257111535835704057478462333780856816664527018575340031030040004217843022417881514153637253703001318411645343233278784773688460727302617241457332573052282133268477050142530800402161573310155147532182105526877134770364348735836263078616661060316803467651103228760047128557588071561164828166175028011852276814240581257570166842214034022675552007221352536756838832006041048115032827787673885517772217203187407751425566418765847170173656775801588808552110037070051472623361657654225660773244420307718328220860766800248867617851805610150418624583872423864064738653363406276407808401631064540270631064173144314167035483374744458112253203376017034246251343477285641031387637446668210861662115742524183522856544747276646867714800575355863420276378400553770102420270641026577353202315836245124465221153845615858057321461841812223543022204786750002274355242330003673210750035113612682446433110788317172357204630315018752373658033848871002630617133824454046388075052236117582264217081801721343158851458305480335313217226880452683511648710284073366006670460280771158630164011868024783530211382484202086126838141205277621601858160881730380621725712808825253622537574048358721786700230174354754835541787858061250136738602641144345864263272251538257370045582484608580855651300722805077250462503567011765446583101140254423373108477370060055881668556336616047741404524716856075337665260301686748370310208616788043346663168044737578358605487016360575101168226260553547130215255446653008627284772128620435152457055511884731736602357536004102524821381501788406427128624472855246151466305110127564164302467724232303736687512643115767115315071571456787042663075668233363742086823646671185303546811701030153361473776358057261037485565027716475840187180380680681324878037138316318707433868422461520132451023426801611421114181112154571636774854327826137087383686443136133460754856643556645302350474482686675073011152056350370882676675267400565166377356488004100787137744526563811851355550204326224740662602250886625228737410783015464418202254070087643033568036105452524126714635015368515033003055353052442446056311288721007125235211618883688064424302383256352877586080427502583652602731484463083147145713632642042046582867603467727677761866352555410181264312070011124617748801747233130535748358144010522153363037242418612233201323560307141206663704880647406286257454406783678333687223631015455071713440022562847231181241154041727027245052184321172223876353607508784600065743600340252016714121758537438008558811700417445441147126605787545668800586576213476413307106577430022023526117158054334278520712305223156208772385451120540455427683757021313161402574060125181725408754713162355805252082743832262472717668351057606362101483535064316450812751068277540021172704404630506535474763432884567060630175362212102222053716624576616418146053387052567681328141446276227023816628638077634444257717064714201220802586147731855585321428686838817743082118633035561318357047833270670611104731608112342787371135312776874435128215233065001772855741857760565204423204460235445662237433505485352762151866846540425387515123313454534032205312871364555037242332725024358745203824402685430687024463808120157316535608025850402017315865881727162750648381830210652551065825333753132236283578626683162754167033838868167385401753487014313452120878385510004842606746724141542008208727104286300378425161271628010260580071068580237284344614153303286008320880864076850625387810032426310207228483156056174478251626023504067275168084636488875738344386551042484161726366557188726886808123261847447447462134734855287756121178401457865255438024517386643072368740248678385252688714252476428313218153002415665568716516366660571330632637168088380585304661687322064234280258543666427778440474387023737060117244437160468502431840002362735388206215604773862852560186027013163370252670858755460468554348677514833457256378771140162305040068554857158587665827837570157715517488430171480047217205033762771800647060817066002176685341365000038253841802883122415261474022371856183383135817082624137825712852745818151037478618600883781866687641753583027337170865830244218064380702385232126334214583771304350427861782622561422210305846050146156688207873763053118538640722471535848338841277471620230665814278553587335328650460557534746761457028661705174824814733848655187261227863558057835308162324027431582284582424203234642636405245418651170252372538328272645561815181261827815605123483860105705707350722180065775117700500716865414882236485236873176646657655636028107646688836666342084163437460488232825624261683746588377228338001460106640733243328530543474417360423571250327767348342667772785578620021822786186508858187326124314868167451541134306348463472013280045402351864526537054565236022167062767328667187250536860883637276551266234276183128303174607246011138117887728461170830381418883438772413124326561854254437142388368023818320428464305164044440744766554508435172751033678551681733866675774317142320317043528260208235026846050516381670765344876531358685652244166362367580757708265884851541100242560646182280056108631815525782576641272323458271818150567620127061626837026335105276322282118057711803004178736532466676710474656400522063048161448851854641656755648576807011068460153206844583423667506401741142236413221872775205025082517756373147540001175848348243286650223310164401856437728363406287353163434288084861235025147357185651315855358110427338125100173480706456802652242273208463470386313134121772161372631615307008056418651455150657763268651525338462186352478184263451732542208532115822466066080327345510761674836185756466470134174558445252376771150331063151315628488387788648604534604372263536030153657545624403743640867508726381815507842613314011005826450124034648274734175651748550406187568084532250306454222075438365140164112285770537305261283778340372513630228430881068338777178885014745350861303577754784462882577585648481362821102383577117556462534562747453826560310411267414538078314718613172532882651056701534314777035047325424324802226658273507307662163645761460260703053726143453531623144681850104671458502817757285082272630562870573378060308265626741187452814146028267353560451136872163177816366170301271674006338810267500052206381202814602141703730512503088470653434668380611625252881232724180031216401714140800528822734456445443775884058346551588247113570104158532071112833323413058332366851261266528307230214436878244411888704287812846133868777881041422375627085028385031002637676010272572105080571747282374506760375058735525026614261315288011884854062670762222768862060021826233554815686732125456782755768213420253071402720615570231582228875604755666620164743054662505440031586320035662148365154415116877667675770730277046886063114443073457613805548032763873031133886052107803370880084705364754073404154457570805881288227051740156678362408648377835788810864770247188611432657471808730127101110707536317713628335205202081754526370280703343887751246203056801542776161401263213485824584418887400555613861842872345478336760858201631523163736438764878210228334573562427381833024288827558662413048868222147103173828228530635747327083633770445344641307446047342435560327247137476701416037405858678880075267586281307026786743374803172234328855556017687235137246541718118252275210838466404612211581512665581533310284062611852840823128061367531216828168087242652883048357142465471882452873342427344672778682636850037634111158048066072162786202003045086515178660624531223052352702135604816406165454243025758574785456463541645340068287687667423648332437445085466343023232006558257001688580083382837401456057248420504578772182476811625872603640472852521467633088021480077047144604742273318822077835858753231277183017562470006202045366307238233438182066470655174534667707853877344844608182104176381420416214623436265547884571743888122036111168276578753068700138133462783426523181672886776546044217742377427386768254055775154004122344172360755838502831427277700050820042436471810060680412047530420141384867423760162685406837022323704541026001275330004414600131265066875544538374333323036232285266060117758230867304785312621721438633754486241328181824041275822245157000248237023747713858188148210702867535627847623213856523228334564153736034362742614603883530681276186347436014372356543471706214824246383573628340605200842302004371567800652523123433352378534400316537482184003346377720844740713851127637147601305345638266372848165126465774155503042738575182212346035201785685744377627328383360413645221848118006440838588404581207556174806365670712231621431857588400658578221220456251754082381783770060703654010588131846633753484232710847288651071733051324731444348402312065846523610838152487827123405704317278555806718717254442661664534314784555458363642038743640454042084868033132305042440816250643715202178110308470428282300755336508658554144105104828511171710548200135884758654874254115043727785811160321443320604701268667586822235108463167517320450171884570032832482722427380381864477147308466800357267185027885228415347044265884623707441306716646228862573278834211272313870400421251083835400638067141264756314881701818081438650266255324200411107475536647386103435662758128142145845024334658383345737035042810275707680752447846478302233408004357543026303458625417710432533318488222234700883548130217314745081721154135483578625335372008010881517221116087055306283042727033784576573375101148452786478334721185857766042651068176476404828653141854746270301487117075706308061433387617174010364434458620530402658365350810074085825511240456603506470631185651576634587526327267456127183872276785746800058223263388376286635524076438314581144065533405272067247715548446065281307483645637132148667262237223778211548415114506600460644340733418105223185301382858773664740181264105773378773115617553183878041387048520070786618428720478811707737851085468624765575142625655410625816235623262353686238037617028486327543172505576837487202775658737538262753585367011431082605731561558156303221881310865322386146540600727015048363446874421567821532045682870220415477047453476870483461757720066618841671217616235402761544586623611487700616020525265114403385080105872174547708331777626462884440805300033770044031125220484062534668284835700171078730666151512742080256066182632681144467334057345188036634414145140607061523505887740777382425004183812247020265741547427255848865686116085438146180236755758248368874645771647256163624087887002835188871351206642453133823300814781173364520520401786350148552330457044781035156545563727488126422875470021787003813825361156636643702622280077656650046005654807016607088370078816363772524143056858126075888376453024310564176500041746765516255801273831716283015584606423340657578152663654232743203303447000530175483524681117143173278302107528521006614278178461748355566515830828620380425116337473433528066180886455826382363601736723610726382374672784411510784252752854107608371035780036872246644578468388712487726827021577241533333373687115243533736004746061755826148358813333658634686856044344473258664660220661762228260620524576514484171208533172772718286185220405732004737775708655312201315477064813610488146604213174326170838714412734407528306282556570352746203703377580787521473282626705011748646140864525350432731356488000078310243402884002271580767583456774603124532225422113081508332648172670615453512121314483786343483184108377573404577162166425626717580441103645127160831532076832403468620646228545540800566084186618565070332234564863662381174735557347784551536532025046566438257834873176645470262511517027030355467677652460410728087123515338271848018176656206758237617172861776228712588673268868743680741546860085576775186157702020114563058310362185483674185222003252155030615566028180611454625355640838482363243458480666461762503820413002124562380600857512734406833352075445700108140277012782300588410168577724441871825445217658550683807140472573174666732700713612775283603577042148471858171782687700423340483056686612117703722847163864470381056787422536306277036107466072374141026372447284888068774087480021780702111083006125263447577713803186157828887030423000640570106028281211451060534607572306205357044655740666254387227235782163771030272675410480674848516465572637257652081315801134550053708643355860866671687418804550060700757402836802762171686102585877174678827076822324012670415366631354677631362846238185326873518657030037341658623342775276473064316632755508146606471251706068324737755757210318423882607722503821174245044056447602080640146526033382802380046441050465064185147667660734527570314803306073084763236043733604245015504248222461330507575724006178082440618508304785521314734883166254587716504488133884715316362116460388260863663631887630525686851056360400642846708213401212526441437427684848172544347832675224583857831623130664234131383801438567070710572436045032205060665831216205742302333104040215100275374803386000522318878178384167246842370352444566115535204841422756450570723226082860487115522207676881034584403435064402637661268663017744756462745232548114116146027318077047302527825486121613741508340440116457102415420525334685100432601601310383300612187318384253457702345501140410878568658223550650453062116388116842856443747004811736833820634613246400174478827616161418216267783231305301861032807652747655873108443552078420565238067888625674806243500708542530055881447611033115022414250878765778758168335710686644363514423507608318640105501276472774515661600348682012102365124572315218601505183804465464638614788008426488617055004441736866685184705113052270525354301202247854414350753520821523372026038722446886088271340284237117171868233888535151875717704220471728173086725267462467714133485177171652116702327723000030255837642068516621830033253624621811364267000512742877632606237636334456043588178777141327666702786145177204458154737200116270051266712523476565501331668443045875786511760405742251076842578707158371780675526721737275304558717445811351824450045723634205851761646376043872700201552800116442261874657287232778551618028602265411411530772511888207186454262882750407811540157877415628105335714382338601401546785126066841300638426404508834041057123587045401518071156646014075020066736602065417722202065257301862231528142523404438550633212534025512867634525655811447876074523340715786854188786578325450585340111145512502714013261115255611441124077637172168602325018556106533532348748458325726061743728245434844683371376017640034283645838024770123432534751165887404143303767511126546564872328170702634664220452234651447876882075474480562648014556006363510007417428206248143250628527671458183601160872762725166572766108481058518737324634467774077050232726720360075241543184031765764053054401836271285704663355885634513364160206207804386303851771147444865850820410321837682734745780256756754482062468658005023628474331141081003366830486146237862015452544247176273721165360785645330732357668520205770865362338801078420506472375256127166114743515571445258033724745883084311256483127537370438427840841518178676172756153631822108730057380014250222334047420543160504081825320471001585654071768360574123351128848755658770770075406724556130046318313815016028436032848731137818388713833305067577335475523016853874158320022443845065023416068675432178664808386710382367713634435236285625875512675788301224468122603242624376801327613423165873207164158772528845102480840626282546826634826028286286368132602283666852308128227266778200837834368481501205501872844141476575176173260431427758071751150721451531075063654554852117811126056815812005873756534536588375344736624007584312861640418736570006441501767516511225358542068512516732214742205111584758852687438724245250178237387405520302562472730506815333883665160315561315542856804761378607102400347874140062171104878041130021276744248010543653770421112784254032143688272357016052515331367101236206688386381528378032568063043084470074504347566106621542661736376023024663561783773746018167743058822607180720612704183202765002438774455001117721825856251564378446008383512040423831777328216717233428325410115223712000522718204734557572626387268503507862235670638222137121804034017474564843780427658250155877620507558538416446342867232636804265308476151511551241528063134730762852530342010048752050436328087832802568227805150210446845720801072008471731615023671072643414654573218362875547788761824158701237118203626244617728475118283177120106167271205851554645131767087754535302210802350523477050756581823360388224202736420826525503516274576451865816237648355565046627763805241253543634413482225474554530445861678182123368670842148350254012446503701861500365014442775204110004840565161274638372242233857724872667241647741221286166627872180483302118833813684124678007074457133713462803534263340506762153664121238707503233323177528822763570606716462783022002178167573451115513648248458745032646265641358020466652721105180336804436141001733878253871034103128001260402884807268113411446566051152744053822235665865140260233678642443685574220382525528283867718018174247781206516737662360374573534433775564875866141551486881016764225563113253503460773868527677621148320478865087308808036460804088153138562603255112130382006707140484573236118671063882543714247812001850366118387818668626175700366010867208316815638766542868716564286382230635113146316783020770228327445504144814468317244620503754662246601667718564104485170550026513750642443751353420840526182478226853402261336436222273577706212057728000255021656806047224651163326727310665058042566353468716726163676615416755126464741141020731430271478033268274031101405066414540606713673312504056007606582135057668418803606781151052767610117528777465425320428636452025430025841145172420360844628344126318012433604464312374513821351457371153377322871746588614580134782313076331173243746643067768441811422346455553076215230400833212711877148003563165085540473702510504085471684674711083637737428120515254181850847577086008033287821017102814450241111778004103712225085531781731654334437878537702885005230247246674872626242556060446136606460583303348824707173463240062678365201541050048186251415212657277465033478132122206534232824385227636480280547215613764513000220651774434014388837451100111182056181374052540321074860042815733168008214106782660824368843536733738817363752874515136235622202504700586874643463787374456768422485033831136003036456278677368524236167730530680827320423211225488172547453117544110167264820606865614773607457533435126048487821462881474377442748865634583874614478025747555334320317150465631234017733215630614818805418381142134357253726111154478481266720071435610661662265776147526808777582714732562454512852656346481405147101608320738271662253213308157002341187751353272867818758805822132028383237605572324618457387612631011715377834778543738651623128653806653888685108113576108542150030364022168148543110023576785805576323755584233306475384768343878652568351045154540711537502431048078087522835485618685283834130842005321283347752266828135252184881802145663157175310120370415450648854232445366547128138734800384703351532335753747454485661127441652211630264880262403463621230624566854655664300460604572123431578443285767136008838500436837415358034125275554047538536663437230338835473108613005844535051314055265372783162575075666357664165644804240716151544870453121540088783641802535208273250572344315857267007507312142063457350603532045202255344160317068160604168266417564657161762730615117305701286528477127546461744081041526556173232404267018043847505433812152248107636788223238338221253034753576684613177034120642210541723876040231888672567561606656501831801731512364771370845435442158135061235217651153284676042220222884053175661808886640067788051670050053600300767510160237803843606600233466327471215272565168518458362770720357723282536350535724167878224167316150608375601314584638583077626341581384471832317200885762705860817403057787033453776062704211781638020206701487884877764307770281105388577543021408514256138450383428665331243220648614018676778581721532227513663831452556841685204654352578272356182317332307075363864282856362660437371321830113203267320460304646487535810681604173152505441517017872131123485702063434308860166235200318256751256644845805052780455407264183030718537834341172607160087580421773162660662288373268448806745425460864476741268822638335747517401275760236068035368442345217210620064043637065368781532853474612614770050270853823171780853666470736420442884832243085687161754028366275250812347305077823433876528653617452588653455827157120738444416723356481172022270224227474555082871283745133278557250207626355424142553180312375341656745635853706235544463627168258725257356255352375115302347662218860717560455541762810502866267702025872403021428252336428006127143623645815860810850377133314302360030388153445673351522334205843164303514006506766727042877707614818345131784738881038701316538006351422760442063786285338860510720735531108046258860621263500217831883742456254057554285705485740212834251557080100265025524568807582807023830734728227002430026674138582781002616167335886810481167050343402723522785283161224843858638204152665606034801367313003366842860273303246347450713112582832302403785751814108641523383533010027026371583087754370418453284218822858444841348757406453822643242503267083715440683311610842858803324625142036054787554264628403011381848727052106065051701020801771883844620112545187142164501328263157813483837484700236235781658242415043582623073787252287147744138526066268203765515628740803568101570270727775635202552141477066073074527466336611471715112038071605187166763516887237576856106842284216131247702108547577421048418016287234082066087675043362440612457870238165838034271130131332375366854144221533080357670806250513085074528766730207372517442483168618481777533334551584812230638363172122462410144547547102851422772723668426336417260136653425774367785266582033384213030342421178316514688478445778652432686085066603357157621300022588402605032163265450033066711602450525012761658660461027281776412577860241458084311402227484046221007301104612668506253727736254248850153688300256511274546221362745636237654827884541088060316060313850103213415202457722076058206384387856805044628565855030738855051614655467134241852458570102251522181228335488285571157884431034863536700620504866542333832273577046512781435204885007753513565721723505147180226332513046707651347322336716330226276585300163576244028264222663688488340341812136628001463145801211088074310653443144538541718778342563560070123181333721307570345088328123012513640046235175044231162315046312828010248302756481453802218834728682411626233853246783853133556288437802421611335630744631835678564677705047630331482040366880078476876356581145264335054157436015034238583223737458523538302422585487125238452686555571774271761676108156762767670848156725156605387668345613016245208878031307123542118185741507287880658501736255686860050848085131845046336152427838866655675062143756274861433653423764741555860767262212120356682786332070857144711466026548674230767511416143645706000562221286256626366133531521002785641122024303586116258833322116410530631111521478272815634760666102572317200832836738278735326283716417525113275656400784521461686100875607566105734051027886007754128100532516170234075742774452204855282773841704265532227034717617754284778531687280140311710003543575272163786675664376313530821685245715165622706177675830104012443742186515537240744766046134647812141345302014255221215053630105601657866423833012006717250172168251513735414004664637384658377676888346188357647134835651737574107850032720843072537810054628147642551308201260076326773557556324602847216570770360237407204646687566013016077027021104262453567075226433871153108060372321475726078467567086272233432000572131370383485277502227077521611381066188358654867020314816001545422547870411034567055767442577522502478704258635157348706443133554701470655867150312084587240372377263263267642560841741858425030040576184175002373627520475755560434301861438482385201256284316535253446250101265134878413313386801726401087253272436887565453532418476484187745876713077516576810853805326835358831473037751086457546644330817805501525870683432132636400554604685602736420334378874403813067237146134336437876576001224011084647414137330402330583087733538878450728673615167364627341585318188060443717434675415267672483680788837846208832638568632357011388221808475713007863211362251444438421257408804013628621175212588643715328428406601371741203476024724706580351127334124114365426014818467338818331365644864633227753882178221383680845035521720344430556815065644117648335305555075418834321127484277218255080165312661576413681628140338610758040346128475384624373771514213684305353800868753625803175454827761553064830074524317020080268587371110186568705513500017835522530761177488112608845066585108155462421452474162881622236626621483110088612670756348080876247331328006531766053023031661375680610602275024384810110675253665470460447410816588325165213511158180067285432435858813006862777275266803468788116627322073375368701330744032502110586886315387330436865224683143288727333532301226184375862868207822586872472060853275573665373656226641772160366747503402440424106231642600874876202172110206787611060411815556070371373230170603441725207122486232325284584312411372646574357341006287256280421234018784576572327068453120754483181425232322200705278287757517861764127408612786701501752217866744682614575410386356644757714430841548074202857067784488438815864221166312234168450208712125054120286524270276344865063057352828073538055626341643653474750486254225362102772461772612654842131587267053848077102023230601184576167222488304151052626365114072680582525754064523411857546341647603481051213737800717261243313486721836135424303744760606050510180388421603787427786812450068578822278332663012450146351556020351082400407454756252741318328736061318524073234535857824606213662440404523131612482625587257324717481583323642223443616208883426740264585144818400360012120555213856150703785832008786424877460884782778470182617658232605045357557520216026203530622851864222827318534457852677621628486336804554455335378620203016157685345706656518066332307585743824250664767412665438631754744721108301348627807534260666647585532260657706316061563744086433352424501144778154635714747077400778126403068634580235353154821666208243585427063385542763247353342505146153225172587706603605410180472732544016751087770405416364378448814421013446280830143526502628105216701033851264407286641852163664070081752708234278422605536418123774644510374532845842561664574050413518483432363474305075044507630455384217138572550627077514468746122186184515608853572773452378762218363700507128166365458023463551216532025520143131452804358831646737361173037330826425436540472747685760736113470144283340007344805428740773176633866408556147128756060403702746772311002434321381331363877463746644016763207337541406863334086447722323613620023100454378854161655750537001285380360272177732811881204747424733640440707367258731584878651765125652833304332642318330421153883568554726226086272873772006121511073716564407872223480352388782606708277740556125628163558023200367226672065835574084122831581773317326861032345151208526024754156565535641752627584341280647017342085366233126125017864660871263576008483718558851212582634683573367634515843387214824525867411536302722154160803836126115611442713107741882062367247566251236565233566436136700468612235643432240148470184533467657116350414116172646730823137228035231855537376775220200713017853177373813478033432640044705182886412787556541824810744885808366782102813323788651872773518631806305786561400452366032708023405373225486783784117826683641825348834127077853723530644531656340744676161588201730486038562663780223336083223110086501300176015486523838217220485467228625077470101080380282547470235601713731662520748236365830545837225044261451053558374656320376425625566612013181022251317453452118552722257212387683703213601815134481118005757815686633242783167303357642644774380358538213377834421385007081277043611147827634101831872760480570170378636330415725852624813537771752335110030521488535378075064622368527350636247804662752706057415631065361545523876526202864586362822467435287522058672567425580103331500356566253326458405125746886777422850375405763718642455086361476173538405578215165550654831106035752716713858285762146874071488268505446254421770720821672675365564706845427441318162615422760187811268733324380416622052688167220670441108378545836522107416881248606506250101738041002146546124006307316202135006776405341482685710008371274732401331815413380426104888544428686410630113665384577841231304188071841283586708632350423462608726823804402437700231870835082457434067206012535433782070240374451226552070880224725183542473640050450401875510682045358076425328652237642133347487820487751660454322475467174815640170608441808500645007715525535121168613236282114273317834315633852546757521400146325525186343561733645870253330866683023464040871734888385512451072362481121220722411181524548376427306785586762636356511031501540038433023638832200143243858038612180245241652253447741712771862673068052015575608508315406084775463626253538427602257786335203532301564032314036360463355680082880680544122420372210264674762076732115060400126200475215023166522111015401044572887417412113423655438257315708477254246526167308448060541673868245513772367408620167451422675277553042875823225415333450087771477352357516110461147777665464268358824004714507043050880453770463233377778633667684878740264346224054185368503056152174453218221757068238051533746753720601476161158452386610255431220787150637055784600233446554541071621346182516610027732034835706018271536416237708005078728146241255887863630118055525017525710482264247585642045172404338101667770186021418573530736212658218513076387825480263347567842452560166461607376232024816108673445720557101035662367456432281643025616573560138000284567486667574764525847038314030705451261474742633275305872853536360321056072264316534604748625835463700788225157613722213013633251341085174100643886428445187465424365285072125480467472727730340182702830551137170877336360818717388375301514863001116730254628107715446742450765688844748710872151022647551145566001728856513712540024401117737726777832118565873530410327117371544714848372463707636478368671740716731073265544036717652386442486107516844180836141624003333454100268234123232118713851344227227382885738342065872562783288563485144654331700805646616072756668173315485472651615571452823765568648437242333027785522765002332072375717454418040046062048116302853806206436408108452274058437076541868781522356413481851036448340040534100320132831403480147721414462326016310710303800600180231381571824286404851675442315504443873107010002750203132301547556782324487160383123074888774650166353802710238061750051874440441316511238274013674745410184044274306028788118866214581781670531623640877642751381338708842750720254430377022328516564634327525754673406352828342734233148322072145633114511570333726404515743218520826665784578150112532535032252061418608465853266823023000707374507442780425264636333083013365653422426518208807534764601601057026855788433041008802466437341846701655703045388464554731116618046427486818153635843738802631866042661158838547886666525483541274000152510071647021340711673282564631056364566416235084141408710471631247138080685602755612342200118780842168141807713213747686347608843670177326517011273363440847101343408731828422438233458701046738807410168843405066068556328461441203441530087353350736575720567025566043253755166133423202651572281377083350602344306436183562264433437383536717018086747234602458845402606808565636861682620174026866575370706320656072204156528415734452417878111507818667036664717244581041648118608554751786161852667737125525608107644552213484324550840208280886241648631241163637285323677642281686425434152077617547741363116333033474006375427225580487672256345634245162573563807601672632626713306002427285502332224716608038784406620738460774826640543870558400513366528050484448710172286631576636816577035543578727230804634573141213704676607268612388070243876548663703863280028621871563842315720764604675085424081505045147862367478455205072072687626712203303136272656263121463283172205806617188136226865771587114242514205611760366861210045486587718803840683066323545030825423666207266714475382362544452458568786455115865787332645831632811057134756556228263713071343178086662304726856224833317645803305546067278148870461543813381305502200876288600828135785683046582112405187081781678064388802747466461432516235203048634554421222710027545864721768038280702806240818740883018802046261732555747115762761811055786317863387176052556813512165710615530742875371852431624321430236881521857755361621030662882066635618421566517287836582821564651820700558842511138160884721887537287722652423281022203448551222318223815036103855011705704882305268835520386535341306767548538530886822531821206225451862827637830543404504051020125227515354226560347218018168358326530727487142150588783512715245574807331421381242708546747547316104647232167110662604066708213478513383665441507040676535814172236381434112018477583402716261570045015056507718305576128420705043611242230627004177206322714240837111060743271736773155027128042503345281384006143163326104700788014124458045230646337167137135333337176853017285307253346158635028360153418181052418747477003512473236316821318680504150865082552403727186416126587823516513748066475230554303014204477076388225443460838004120431665068305805655683447325867200212767400037255342012071572768056822154038368334521086362386577873377006375301146004432766505203755077268724046013473180711677486140021328073041121548027131551203045078008431624053000254764047730741132454340706321868281545114354626062887455370314074607540225862220362604563472143160612768013235652666058252345121075436560611877324034731534463071511441238561345062414461741354828727340250486066225787016633862826140465851777408512413081084555777505324238876847131087218464421187607733667552287315331280805613477174806600036142803206887288713035804655633563725474464418565246125564112074520001521213010215414202856332418341612243416318813605080038843461650157017036732764652085301416526465218630336752327452357740063170754462765703483368740330784484826456821236720833177217082761786183127016515166871061422555048637345782017110686143471762306250175238123114324880343867274668520138465254587213388085587563684800513268752767372444466746888700561104437402727657377130736226881152204316360708317857768517544453333314370537207411105654608143060638420271887345155705086568251875704835660707877704117757230166083685188151748040602713566448322601145728253612828826556322851184702156073217804722584850741868817346352613528381421522470522314343468413367371610052251358820761812201307228348752473667288100611532213187215622665344632781566552043345045638023023451817283328606741262260464600124283715657430416665052547005503454772014306054378661552353806466368104667502713886820670405653780162826762566524180364321053451413060203235222387407347623407258475260348815606424871863351043710644677412817537446205554438832542516460471837166486184028772062384654532456435888841703623160508528181160148567488386885608630245105235846612801732743515644544406385286372133506581271837280160322112861786160642815812815353324501115753426173604885244565624863063571605430751402337506783717804118356818805080633682665743355503544275432248817503647212811354263544851312875684625023544585302210642573284056854140003721414482410613787588637347875857232352453832636532077856018620132013242433785877865310102700308273477503048781001377086778847423187342548750751343081745631862450046177606750307465514014524785644601736660073700455212153275800443111841646385516466105618744136660655232712004473227614561511256128076512811481200531067018066042746175163226156186423200552413185088845354354842410820703702578340652282140431265415563645481075478037482483228288037428421087124572856563336514522340016412110231617458143347087751545226010013152201323537587726888574747240086063102537672073768350547404440501871656353421577602104137437017114747824575321764356305828508543623201143378654668716612831067266343070358210052652424550338378862551081446545703517543558850735811146680845340877048633437616652674856476477617437233680738346410366001360336526354601114876768655445552555043715500663133246241436536625550468217840312860007368461634626137818234701612202127308402365652013443165570106750358361817030821004403585482518626386344774406008163241103483351361886232021070457334160810781526160887563033400806831175027157455740502060556806500072464856548080202254071887025720061000501450137230026150072122613454150567756365028104580680561524387885464112814782238311525316088768343774288587210838516367366303452606805504722356500272013026878427403117660865030562248885244014832865105614275215512345242552337706048375563103167748687710555500142123082820463247045271888016634723530600677647688615002454057475031508607803845728766721550016432882624278274735664570081813710334207257683021461104333618430734456535557230553561221744273835475521578855447053530814028853051153476141873266481286442612123548470724816021673040802242456512206453636417277237651361125007517404552700112353030173362810475040774462237356857460433374767221525164122577210828266130008313404071354717500513524645024041215151455175121728584785208762057283244427567358550670575856356680340342370465677615570673166808661582461402242573217832228027585326634738384568856037671644136062204212582082714621520701301085353360654575233505274283468274521363508776701441615575262207738118028684803866687117551876232783272130507103044316418231732228600737850773605451072075657672316511742671572784041613245375613243765712827501884625386761206633454004030063336261630405630052672136624303251416513646755713487555582531267163307260474438024487454538622384148316246486282444851508550577053862045204214663042617640443266530838830774665365632585246341604831330060566401813114588351438855810823805676460160400664712388376742715647884183134776488140504881544817684765560737632807045568502575002080750710350130214153030515808125611268487684506683586254400460780330322154225106343146208684362276213268276188472133804085870834828151840060251825716263623267354752880037248804541534838887121273735357601228846805742503815804552838578571150630012216645018002767061860555275226537872631024258678711322412553403788311134806065828086344444771661864144611763071446634315186266418155311058150464572363126324040216211238733168061404461446431358618358815270884680436013422422260172378347308070853483185116250300287417728887558642538456051870742856176883537048277747751230503412320206803242271842440673047616726880887373744667674384865113140041062257545608266422215682470528422178405036481187317252526676764165362152821612357166666481010106108056055585331446020176202636355008682436403648625330137536458515851461373381082206161837281331403618124126828437231818401562682430510731311016203830485675157832354132111735068271345553772311476213720207356113620542000515123256185770675385003256512081443006385855622017583032445385708266877436723005721144155846241861770328257753152474057385166878554628584343367712482564847467270822538082254526586350870665533818358040618731178551370471450746471763174065722716480084073637122301642444562634802147185344206415678245381834442332336774813436628777731337512051784881510463321812352622376256046434566351863278073166532528466636744148648561666827078478715330553138640716685278301081270766127111827108841855048681068508831576127175363057511206780302227178141263661778743342783658718000684047626812510711628606515508765768071725778360852731663520105822602828140053381503267025251775266448144805185618878647008812053857476630472068346187381826327002751247815207884747387246688244275505204205723166650653028118262871212685445404586276801657284737530401105711862660252532081738468423412482533414314371312850056730430250836020174381668403536172143827428761056256464581640006078156348823082508354440370487073126185071541643444682214588626877174762605312122318838373753274412440716830203804710072867231006837417238555226476518563268080757577602113106405883261248277877566236671032333471704065538807201372866777830654411282373337413184451807718884633035161123706382465228832706447642173741872638538187233465285086061250205117770338514571337048815217137760304086034206045773816352151183827632013005183032126742085008164668015475337854815003851552146533711725826228055083267644467770471601276670424533603878132246403273371078035183840703888810733230873662348146326013338072755613074331162618737475475740167836650046227624540313171812231585467374081482655048110701881630722577827378303450743863571566008280034012820665461336844401616721106282611554432705011042060072661877783355862348664080864477018407127314574272158777156783080186138060362000114303646820716832326357203220401468728221030846281746067718052228761213423604051385131826161308554788630225484777041540381530848235301726386023474428704315263158426701871570787660624003437634843786563737680514073427812846067408064414743271468354406037767038013863801843003058135002653885632785334062385371365233684273282072847574228430256455687334444263044341442104215752670424840720712113220037845325154447175311457575150772427371015814338724056606680616306108845062524444462183050814051137316552364384151843745362207715527627168846037634407505055487306562552861227404368117575818152111144556151088560117311301775040864525117344513818345855017211662841403708051676478781456052647738233822766053511428331376771010882867427426163277856235107040588413411405576336160410586124248264370100842545068256276588612555273860134644167203300267558763574385250145127122077078815763438485245553560532602847222552647704288400331786254233356547220231044175835304224631522422318337388413735545685100611204260167837552341204767166418550117103456054422148645557680756618117614027767032143714053856546388637360466463022536625165106824610517031700578140832720837123215020776847716567346467633061156172166317344882867563257763114271226785763460386770626833586132730116210283303510670386563875572165186661642428634644486538303485346372214844471543146643774343334416602308037046771200231061327674316813842204115261482271841523268361271822264281417525005012555571018420281316778101183235713604447838441372415126167347351175730615505563316173763112583013452151311201481146262865773541435845772542210421633788770418717187170052205015343151466002014683270856000513048334203113881744401840824855342468858738385247243353340725314237248611358707856861818438081710513611247631575165612277640442565706842408400605378707214576017016875858752814826887126504818202742634454301704172645285442384481630264435338286500340857871360372383558361272846321173036237554601286135571702064136435625018747662548053445246467384522801271468207811368882816817155273072778511871207027162356766500138387545282565010567288266125022833306723142738547457806338655701466562351614771383814173356757815315213352278633556711235880367722333750602266347375546232374852237550723457422635362435171187830407140323052768572211746585531646440760123775816343418417060133185425676224835268513488061288783417114700643752327075200734841654384406778411707124854415011840707814468386225047257582734036157627751255354216212681546254370063212673125862588824868743341567343345457416837625173387510800243357465328705807414777462831040013233163200057084373663324345365428816246765048160464080833488813584418268054021726872427478180865855672450873467765463338868443031267657015668340412047556178054684545137304165345054310114024120331000270830784478007831802120062245454483550057316615513256433523647485047506725857376588823364602503654800812126711123727558527500350521225873245825330446685135277871055571337131574218477703255588151563751623713486087104263187806561552206370311262013247776521774808474450318670231161317342422183022338781841725012878214070264136817683858014502733242220066705071072216614116253525312336172673287575604188847503306645402386243417386376538274005708823833831650344684616725164771878716726284051763760650705850566062726004851255673303665102660278300271122400433753250351708182436877770433600581876322503221228875462505278420173574514804832163365222624730350664434531305086381325462346788742488854436620002220547272468466268672072144467020851177753204457727423430654048511106828372188582010334350763606614786184003267153543780247262320302120218538204172487365768150616241287167262171806527508663313430104331055712151650631244374223660824038558846485425441270255626536683032115471472402162151071763664038660611810312204157200881888167474876038185325073018313886757451645813776002807121140158622723356258806063628624762084423480633156555172337862842837231727617550014062625044272567021035362350783213805270351615836210404801737512713304625313611137757250657482035154716874062515502265338166172360730241867550646741736022437607418400528050032500268158280478477626631027410771878637178531031220407226801205173224366776736102040500870213686172844655561233788627002046260483810534365858363736148204722601287432678111717388824430823446680183834431528500640102408740703760406062608061178606813831117476505473633748766583716756865132536753174386612864051556572722177604007102446723465841321472840543654141083038224366183036383244747671634288663627003123481175051753214850458184716010132117282346127874026473508572651017241088845518304021105274677020201234384728531245863883031173363612467180257757361740126155388462065284080213374705305752285683564834383657261523333850213145750413203082658106824377125648720581743577124723313050480200305704116283660573812803212712585236540734838166536066450877421037723363242084643430814223220716208861483070824584783584728662641312633406688130725570004633306508142147420378151702655732534170318136823800532865170215406445452777251554286881730203110470166441586347765186681588860276805172167620410824602506010043611005470224703623117721286200783676564840256730548835754843011344682232056167823668325188056086341322256536301426601842287868588483682680445526784564267840611731318243884685765787083186616374028321370640726287017610347115342746477271320481281106543470447635180577160423187860001058850666152408767747272160333586307752261842282871751406350144220622726840820582886433552575527343164521330582714174878018134821485437438565632701736116841087614756342875204583808460150517274137756235403217187623433357855848331806688808825313582348666313257838305871057835666761726847167707651825223567182872817675700626062857231132163155877785067183147853074245543687667252110304256882713164467542077203630611517553727685005550257612431332272355147755636145613135413114586871075035028583105284242222374830001667253121437531837262350847150081561717067024844743342485371102440816335033742640353170886863880064326844323440110867183260725384866462862674705242454851433325456047243264280564466045258658764323412856214616307508428573412305431833331800434234600838673058328365882887557422232105014536637205870426881436025801536024788443426325232411074260107231818435687707083875744888165587106242786262881681350307181083630301104760002210857555063656615521880358238323114851285158470486027482688127146216540504485166165570870762551876384126358458502686222012738048446474858151566826731228765527758462301304534588282067705336773283574037363026706222581736830351754230364876307016020105208270220425110266386772088206138622640845466552342788013778233236424404745442175254162566180102043753071124565588631150620187608442561173366557826228614472408471046807153587482022206853852472850774250101312116580863233600053583172671251434554505056212610033736515456356082148181323426848334658000147743455266067876311863570665135555422088810776316431826870581151055323343036331440147013324348553525577137053478622143385375575764407748415385428731504504687683428706583068351631086602250525453128244276272455020564854677358210038508420770271547120806654832831166545135576764621577255022851378116756326723773330474347800212616473331172282774332461101580154118065604302000415344748340385673074564780476282374387551264001401102440303506113208440152825301351877017668378128245736728510340705866685317163008275303822736337663388450765051221076084324286374884414644172122244431308831752423353814148083041267048775320061784072150535763406787807336438711452735852500663736542537832407734362358673466402657726706513261610665250662037405351014660588360757168475236814448710526478433384216364346454083012238680553131222315818623736535823700388360734413074337654547055551362157363431276836370350010300748688700872821660386566503667367760445626111063863718658325686036508881853408566487257346643436056350614513782461141051361053403034711158625776488008684060822515814411125122571458276767823646263165775228565261587245450638108074442483715084722853846626355521866367180321267204020568442075163576130182751554745054186183710482587672727777714364007801335683065441877676535111551408687187650211785553587016730458167256680058132174015618087650301017065570700747667680808211483224601600550726513516271132102751227637503415071463725118656148646841545435811623136504577006838866228877045546422174625735042310741564187522010254528688220333557513885845505065654600537634568585122441446100354872072085806626857224172311657837881655502701763403617220384715123223562503441441654775852471870308534553627613424681887401855455462076216047655666141175687712555002275428055033870241711031528883745176727518853587856237640451823748347371578787246255633621174455186557111824702555148138288510451482114538628562252662246466176367776820756883376238058710241534310311721666872410050566663327030672050456321210083660082781852050673757717178620626288833748705231421886870654387516571832483082541155728847434171674816764203674036618506263654162761275888405337354817872583561075702773385168207230778014364616338774267178833851354828738007665257523017334013631072845212513466272425411156853840022158425486531144573357541015167888075016100624220528785300340273820221356566320070707488881263475532230171302274543340533662213672426662815347037471546126041654071553778605356053866433156176620072437233365202626234665215464247742753265538253333555011713622858470401401100242710157583610782333332433704567220223217425068003481400665376822641570062052805452682160337748000747051251882161747772236400442274876010553117480458047824274251172067152045646116764804368807510332656828572335213642321611842553531882711262152446578563710676137757571355372602374528038215343617570808602424218447307841733180086701072757204023553157334858867326672488276154786701404070452778702746380273864324461686884860362381577032001175058800552840086648586347670847128875685608702302137547515004554686677460647020113074877156002666511355480833314817125552863501852775574188647333356077806631561163770607785701563355046274377330102455810865645360173862783676818177532487012707880365602733142661505726181003633616214314686583244633658544047647732322157275501111602168022053381016210212751158187740141277380074105447314030510553046260155642584761475785658863406130272271252317467300860407102000347241051845580141641616268418050447682545640413241020676211445883340075467838814682227486355268116607857021367187385467613573603165043811132544004388341107750375182272783377721183446084226023557715004535778835601501480447417824848671056227166512787408555608838668741662367136536133468480621856311583587642584301778716651836842088272401307246261851087255366452882218758388886818303385204585820541433003005135465748883747578054443130135366681512130321047834884463183340840240323120322852718241271341634647817012064383404682436306141587652830726324515234431182340235185130476122582227204160656544270820856415315151381171572663445488541758833401141142224237160074335534303021421335486740244007101367341787722462353348330168333672463213114017845406167645680536243587356478456755256880865485581774858281054073700868311672265844153805443360584401155417777366473304082480105128608472806221346636030841282542857430504633470014411820107370073812247735501203361315735645225802738723842410573566527358767482210433062127814714716611506878605831713634207447183584264557674650615456122463366030562072178232280426720175808167827582804765513583631800655370054525085042646470220061028747747518418420575776480168066500578253887375587651600173321617521024804420545156808576628180413078172080686454582148765078313370657612360241532322611011666202411127437556088722787300728848824637312058228344062568028142360758318664172475361704562808358251687514481411760215555786073645124124546102017516138821614605738581300233532200875043811670105871762651000284805560740148777782138754624825852334276067862623716701482008507037103085807026237245227313380203028880500073236508781068647877234506771407800423473661452002667722761771850464203167732270570125463704885517610653770253162632376160434082741601358604606525521287375563627744157252048333555552368332621063043122318252560810521028340233248503385640782455740235153146805144783084052345888086321188586805080541554483461125758413247684611058545611861667546070204015206001808056677350817038675810065862111820778400311366862006280711273315562857141546570785414076477482643808305854088075680100866825500417767542377075645587668284485667747760725402356543350137012208068642431211000164036608820738353220563823716482187837271542776328331331358156785340300483346340110157046868283780317314283057006685617180705540833873331056728647784038117200081155658775633763863663476543857614872018531022074680071801034832332305405568334324143804471873808734203640508361338225480704207222515417765508781480682014435405384313365551670833613627554754205064305036602276875313362767540461201616074617048256235003574345821653426605450357138123055783411273304440413287027538680132820387503306662163637753807081545076514350180612506530512018011778355848650270203561552355372137316043215513215217833677880248042776220454210284446246881660047880843276530176344873802213362007084505888275461885188556881641283820821874686316141712182515744262240276338783130878686005014773816582064072352258637005544252750684666724177225312026127434106560551844838604126461058005423038878875373325803044731162625336381608442525674880284622132432662315007717110055677846672565676702407211808513617562160147312810156385322282752520510231767771204540237661336858823764115158143002645833311142846640140353367201680676432641038237363385135583735101133664327500620350523582635665118036274810331034816486743058566120152377066746470177868137088668303247885848606141756425238481410642358576783711128768773114150068465068271637316545834254100361516220632226137403002101852186765046840324760806571085652557503276122146123126442304200216550426150757281522084301665132154886702046052246830574647088645322217278477650203145072768852681431341215067066286010617801048544487745218377584380103620206271772337265205150032080545023605502366345465853232501622044677828171363241426630066252610326713458028154406866161368185670203052372848337807165505281107075821666668633508433328471531451446320808172325437875633633782320580845466728457061623810528230551435388075308373751055441688215638321824281221231143230170086015347046738134442331423437374816147413501242205742760841358333277307282386383427645645854218056631230007267644470061148200048758030745320225174082815357005116520722616746253108160546553050267237770711671721675033801652881631888027013686240511200001581005814133445347143114641202378048540018636626411606060234000587533827247504826873702340107185841702433451223815638227740334733043484505537027808008680543440808074682857652147228608641455318218517052187373435456850510586371116187446438840818316210023847177171605434420244635004760135038133531353171788847116637138648111705804410640564736863451681483315411474575167416307341666786160723052835143000577376435556162341426652804106260326382132666211427302233158563521735086080876310570301126154545855554584355701351842040538674425634627377233663648268110423600274527356310776838418277244716650146614284834215466275774051662352734482817387161672534257380717585656520212500888704143376445402887316357205032381287434031122361526248150285725850008221481421842475352342631165734532665435548474567877153533442357376311247857388027731628665056330254634730861676552880601584218182634542368108650828265742784074308885204466165871416682743165503372650253834261082273278137544574267867435611017887312784203038663867311645571547637504830158703437481186824080181522258173620527530071034578535752346460657456833036305842174373584025277836841824747644523301870110713166737001827353603378088651582102074205538152771707708526500230445863022633676365838452074786508441151226763451576220464183804623855368268001012828364654405631388288554217450763305343305026264641783551053621248313042321502874674316076007805515112415382460311616124487807361846182704454628308255878866173631652176060620736136022014354267182036717718681604801181728112118356673823078332388163061577218058801652320243518256346114854843631703703055752501645148531132528501145857088422135654775828417801232265071061347011636708233102711522831781704044363338762667786827632787254405654020743750887848354215100147844432551883181327723635308622343745055372063273518605361030053036533103541236704116362652463266662612848243162886545145457125554425036822527262861678768757810253080102102655460085615583383286644283587565546504276405022124613140131121621080523447223835338707458824507237487386626434631141150544181813567720060847423444741102450670816837754073563785656053303150621710688001318863830156210384405155525581344424833557710083247172447737715375157711324173605470635388004220200053138411841150153481688486028001348028234725446323047655180333707415473610681726727856260507162731836756085145153814345041424082600763724843530717751576325064804312224677122832211668136215183247576134508878364261563148627224636803603013540284844352567327231672450875027883265235361005034426767534174114443231578438310685731788474366501081434622813636778624644026602302528803413154681351154302438884258205387242782038716183250543758424285455181266800701876006754471160322328387477028530111118332126617746018658003082451281427776316807243762350481204758734287422658624665463727785400072724683450736820167562583338233528754331386004717208216288472487512188243837385017047435700143226038120531002211664330270320335407626575381758041725480445615484511211885163334285431154448556814578785726268056720801567783345713877367308572263105200568210804425414023868670512706862524738432111378363611210042713215031526662807465281282373810134045028360271826002560146775648312128158728614646474465845563864815662656023168408142118056837733658281385323571645477105060183058031124322005063714176254627386675257453215132406782334134525204880216874406584200853766757280137700272757100282131577075360276213547788414202416188866252056627671427842155336348678132034413458344542824275764846665687428324745263343168113203822066733031473180013058167530856627310743558044448604107608862803435066387004048716401518200501758810177487835114468450267872530581706818771004201662531380500110257264373230633213818806652081812215040704152464265215043665136454807403301643632060363526348811048151334331706031481367571400538013157541308242677500000584301362080471331180308884670131486147531277737376538503082807845511444325071811365573527282812848584425185544403005447414000613061158017838305871643417875074761376726153834307237175034613812465167241852828821761252053788122261055645814808677247305427031107447002403663236452323157774340154343117784028832575361328105840006202072221600880176887653037351414727004455562485813703387042818874003160722851286880111262448301463404610461130100461001288237333846037527852313834642151642423858165440235646020800381133732355748827860538408150707610417151148587678334468077057283861814672530614745585572603567185874767372330614370812818576486044500620711102138273242388338843578714172045725244774438773520446567015334775765445045512203805647845533242025668607275067785340035488731515542565274503700172227231305820361051430871107155574610431157646410571186220457751506320548262523781435720266420610160748208407035240865527802123608065642264532203602026766458221856733050248187413514876310555182051686405632785625383434557845831865634281277071004754868824812348176017806286376656758467741523467236523228231665370846067367587027751367070362620832688582063772480707626015253238765755713216706156000557643531404467506841587576547447245131376202057866847532408204443730873240584788713711666528754081003225063461580322254677438808310240260344010586355725003227730788580627840187764131854748335684245117835110512111541113062066804266550245246410136644318212268304303114668145427346341345601178705000828606740101373035368678416830133477753804550414157538825662718800372580273623482305501650710768252405326344852731080101300205866331224074462805514502254103523862037668248580713030567673332472205086512022814830406766771882633235117007153670365458207381106287017730422407654831440682473463516026501481604542827483312524167865620872412574311775543433763011033056417372002803435741043007404381662828641085767331217331805132144755875153574118424436653053424301316638477822555451015208711554723556350314614466337071702380450785212674886701527868654445862185672761231681522085102388516816258585058551218084384357388862177287881280502278513141045378360364263226441760345725124677074343238083036027515516285031650331681472057817576386764547811528544066153435532131571223454733817473016534652262443418837435567086104578680550712252272347276506843613606213344541515304344854535104018276327606740147308253824167483448443218553817304881836480274282576004256012788213552676424258446427643246283037830500456873467065277683355704701727460755776746410144378378526225732355607482115615356501666744526680064548477223131888783128623235835612314211214276401012085807857674185375351221061484517771037274821460405063226301221874506881863655474658523081108372768061510286023777258543358254747834248443830430142252341207575888475736866184831533066872601161633261041556301030461530787611135413378845082780517133188606360002056771587624046435142275312781416682172285534161138130736860030558613102186567243211486356244654670520458506727673721404722884808463216255345088313124632813836343273256728782061333230284605742514450064153761047148123211308714844080027435851233313707037521656578776452640411663507454055818885718741715727647802484705802618134625057281523838624856714510217805273232068352422065857041605866184347271002523231141455617611755563525817305500578181316807122481450608718681416666015566584314443511723427515144662132268231887278135884085651042061487343731654887888611403154232856474731646576861248640061874173346007621523587458372702253225088657666323868655242134551751606573213815437860310220828501026560406342567156836714811454571476662270303037801700750830704801514745280083421150231157784632164848652322787764086876646743814022551160305383728265130518444438132006770320182418120768458726868144816251504146041451826344446113342867206335120051400212703424473556730547173664121774523124873675811046662046764424002801645182706440040730630722351313653038125488648201633420545768133068866812665468546354227337553886404311426176746051718426646403442743166662676174186382156747135113083608142075253861244800323822471428612238830830372561472808327556406821887006517850527321061676312407232445044711547680311340537043331661638544825236444134371831546765182687560301455471624145488877580188300548584085414001668201516000681475228466380271810282324527637525533642256776340610105626540224832755468315055841145822137828068511806012260525283404655214843882620614310105323080031740557642630584813636138784625308043263818437000202320850306312246625113300781870834218424825471154001608256024363025888010724834724703202672334064313888760267301578455243758858665801375141101713118144652127824051116580178870506134106608403810182560371162465761882440464670178076326516573880760176410152886806647608452073721621163043727605281127175041122278700161806821806060250502258415470765386858332448285280757184574247344465872685827443813706582874732424514800542763606662217200166467152323551110665745855134322235268351664002243567158640116277561437167521674284087604438755442214821682625877058438176722050033863646332836380236270364700203523556268545781121408801623148810411083377161431366031048017254780627356017664024714728072830288188856103030633118757008785582414285381434760573524165300186763674083155723207621868018653166772568314114723514020481167225286644751375430234604761054307477443733530261187667758047033506414483551128336061627830883463877686871101685515123174545016535664560106228161402746138206011302656264788433431283424852858843753407217306582428274257446535352486784058637226048881674515853744601111335521375210045340144878062057834276843671005327686262364771886872274160430370238825703518342820804600026118122456278527572275434841824767131505303610557406843616080033165151268562861868654452248516035312383528410273613620215680043752567185657424255080164080820405220401057081474747630343678548687125215278314813511682556237171323850174163243404454562185287053425778318227141882011535541167571384804463568181583172727180600158068805454067100667167060786344388872226422020452683110365285664462631686748037443740700166710717064280723270161686846571173048723465405517355323608522702182131856288658777280678473423140808483215277868327720825687860667704643648717505564425756245846238074401524837702462053543761030726466527542324325573865145366723161856850357651455414384482413153604555437761550583842014252840687651456838180476846242725108385456717074187463203081175568011361865567688767638327487337843310528248174242788624551502854825441034662848248101734087277386630814272672634604802817068236273614066681630261784851774123258388543574382514800873624052631858732772013435425517341084548344486335438300615823053552742437015458156351450556207708174405030866712217174547330363243543431255580563733836331336066187481601251341252754233632367844856207408562202140308173613507438618621312368150725553864811875328350334441514205407180231351476084503745807683254806738764318417608168231385185580120383500560154624157123322526258574770136012025883386618362262250238781501822502728775715726156385325848601101255483172776650205076140364685686104656803402630210134788475626003116716030516432130784176237683332834384671216507154571125011152004803382876076101344413836162283713615161438887542506456481413242028733516058350661114503554043833028251706168026746074184410100238383328473501633228272364165170358132267874501751548656102237031605166257506485811055002060150112440682501515133688323423386101766400451627313406062055242481103624753857735787666343473371887227618828468867614365775684472321022763580125167136172572161113573836420625887882303151647811252347707570382822008301703587224178165031501111275875868646677557061126516543234218113108457124064023482178625421028847033556157707053681164152417424305728577888333145712721481402551826650233270685122068773648626241177414030326330842251511587887084510686562361606258455622358242328831663365858177525521767030176282358742774511245541353281453485086586355282327362868137765062523830821605145857381562708808405307457558385013007678504546671786453536368506481006840283137650677737700407622107571806165318006468132567270164733558612416106841805062117606602230763232317472431473512562823532342433640650256150313314714143857515826525856102476448325636550776004531555853184727426545543704421612476367365327024007056183726545230682077445678581267188235360271268262321010345643207276160324654278851462336853406622545211366278155146505888166528655833744121860708814002316852010672730423260033303021135500428605783738022138381665567443243533117464130757303341137285080757814760672232753147163225430837047108172525805178112681487765855577822411863412663138514257205237757007404243080775788087405730826674831488213065602557051718768778262723338268111265388411741700284507825111200111072143863580646667458817374255356776250034720444885462200450252851860150774210321555821852376857017184885858602610267556033863121538461058050832126054218330264616411035180542241284808804022167878415062523000661218837152265751266823304600725750228628665611862543051363260537147313031828084707844454536267047888082261813718224112154110366638376433841258230868154601581257313482680633723436526275835277615714236431368507802007066552382425058170042170166007564768342668114881604762644023443886422245205571154380485146521364355447361233031574421457676544873705550841646843386275671163338262082341670536726802311107165086140085630021235067080831101037037127077534452622461037866785224342850255125530427773002022588661562113005360375740403115806080506740116886476084257165444572427184715388665735073802212705366458185571302867774440841651107363783776855636728824504378871004664857305682555878121400032100352670237376315478883525122540001663211488058331652657771346564282074803156188250106670852274860466885176161682551643783424353561085765331531183486662117040814225683578660381134317656465173448037052536564182114126557803714642412404244563888433464616360623721074171130212558130776848077703103787163626051033164443037140433751605837024638768564020131753246567151343676544368108726045823622722262423154158306584226405285322543545705423382301186626441684237501556646828710221105056757352325835871358534456510788155452366527867780487216453110162571754454826844206522017354274480628066335866226155805265568277022474852173540604500741408151317348364233685160118674263764832063260005485156772368736035483112867422335326668521534345556260678647406738633041285672364366623833182710487240684002662178526725507527412861374634523452754202276228245774435466380703143611501038842266386542266621860144878266067842775006642214313364521381663544038710621688072766608175061114062072282421648754783367067687428656152605805418783600070488688061683051524722141304003472573052816285741872050116574242016105015262142676315421233865777476827415506786562317886478482017543677578652707857308751033087034841547166234823802451552856566576441425463343083618104465428325823035045534483250720388302120216345243647660716842261160117248688207224504073808388231562534122453518840678672802276554335201700831651552617134538645161488567253862812071768311385045710305220473857246522454035322555027401547144168622771278522266437057200705130178841335423646432274250586713871607622514218154266381502077188678321658006454537240541653531835803754883206114014625267722288205726744504362121852686266058210466774322007048525134755346814438758587407703488751762186057401743751522156418314865286482842381735161685734163278254224584234566037588810631807737771157085356031355713354711074271051651551331336084367625608262843168308054558357470458862300085847264174718560255373223825150726113838348083576100874514132583630733648725310246671732711106052568608467288884205664403371120177354331406275521085252115470444320672347366276827406113635133834322651472675846156127355777378253213887032551320363276250540117546807118324748002063641168105763548637648132631800025377761148084442182143433330280757252077573081541842823441252535647478213351534831655887763537472274238444743861116734553503335545144447080000873104846780213747215245253864846680054334360657252511148871643115164500058528213326082082730633481806637508132163782222826677707407330006753213881443357162202078706632662261771147361726051146106341212668122723487410100684116234867234652534768448887682873701122261517128826688174231705137083160866577414530054721576011664250585241327314257067385232664683423501618426700716415581241348507423440780707152615108126660237838345517378427331472505208844434005551684547833826762648410147583721883481214678821428612316213364580266678355368861400162060856126767305656332025175686081034245440675815566701634178848808714735084763547260848664854558632265013476360423221064708157560188626126432813373352161546340325862233332175873181536017765454356341223248635420572213362062015711245768634231375132117372022341605321271520562532327777427818382478347415125322332462877638037068414525017110013125002431623875702277364305542316672415766481820002762232081167188822624458421367601061388840678310703033317067227132514181332375062253768223750762034562886760087023023452165365441186024348665356844202145131052650005634886001732855333734750168063420500034845202634161554105353754236483116383222706121800144123378638210071470277347270776420063316460645402124668415585885584132404305062177054178432873584467542635477618824841736712537503160303675786835502427643176156704477381464666155822300605850600418135202824230654377180105025636810402107733375310532757104714751654824256368878140452054428043704466047816362627047756817633338026440168408264454177777041270626437522134071563826245185818451073707878686857583260483802427801223874521232576206757086872367702467433138524083186768215637038180618487467114521681341505312722323048777184003310843026867078227604722311258536371221450316173550331654122104755230737646006324655607115461237632472071222077201700372456357155122288616416780448560332750735358643111416887154130348378777082250842276437260156855763304445442168758426484603867452372321804724582511832523086324434113411450486863517872872353576587560742405208783372487484364450482685526672561228476402088545252703367861621823428403307540786752082732258313153650271834164880262637735507627448411171572367783820737703346765633725703213633877843071757333854567422121512658840113303117783174308865404684757438674518558206137042136361611272176340030816167223351823142361044110007836543578720266716178238737170425714431631431567484325007337451436622011430273387000077504255171216276202415757386055276680181068667724772152736278634822571144648754034565666783281173247544256867065478278827701347775756010676144381785203881366604205802706055200217076820810500547530521367251080561637327358334323571478441148028104306717022408405415003340626183864507222848686580402582483841134881504044602200848838715077443844627684585774807112647141317483116187113188455065683405136153453872005352476256257342088377404545820141464038006437866513031513250107573472741146673015756333270725725077885837437265038802154787412241358301177348422870520603735865614658425130344518828857024152000646224824454132011283321765410706157335102577346023013545072052736824157868872012874358086186856280801757770302712850420730155420318803082318177488277381554706066712871768060321806415756072847682084564170525154756038857257337786321106123034135713242432437001166342136722204780171376841877186768748253234153848576667856134211464444451214536200256328574062851173370114854850137675162257241114385021362663828267843638753582670413170178731555601625732384701346807733646120126433648587236230047132585265764170564144002433327378628673657558111163353381085082401860838307256821445552155831853336323767418401211406115032164503152102205875605536845072343483415203270410006676724350206385270260258853551337545303500064643478217705215000254884758782487072335523122603280378673060041064742022118577878431707135510068075474082275481505003051346616677822471237827743276074325884850308880163271132428675388857523811512556778043644765500216768325144003581546824435713242070130422113865524153101722766648127323506170104774273675226647360676831877715621647682564387043126115864620444403405281234242357220888213557062604244058840647585873768302703572581657454422116647368100353277814164345413011144231030788200836317632607604855753857023546810075257040487134382674634208831730281384786167743230343855343766680468517108881405376786308131275342564158517100714118345784306533262231703071610225721164082636228083708824777128320107377714175133056011657667822246784520664601872528038061562285462785020475461427805827670467336228082243101617142848731575225205358722867067137674745027612753878114758702145236018517450030650847287847308701514681562452465574780128710104183050832683384255014400821181271778026615726766175001787287810406766841222663810030614038246266127361758155644723507224216238073262440603850037063385145435124256150452507661710017178338230070131080833155271853438574456363741504048178132370014220848127284020454874475307712864358285243438364201475704230067222081028101415621476616010466273528556044067372408211177687774722834627613065534444557222874103037672310860830388067670464178088101824786861714383075183146263477748041251044225333811216074827304552855267264372520661371825532601764624147504517705270473815487005858663355623880302357672646563763462628142367312335041163230521525378312162216081778680584853443841835812333883356837105440467111872486751817871273545050201788582506083221277763123302448466114670325532066738332258604571075603323282504607774733673345520034263770273028242033467251635217628678726278218226228577621162176102126347518282858656566820788605837172233435423633033264261814881738734426814041334421710567336472678588103181677023850412615557074362138058383777856120200168771158810175707460187301085362777457883563247886316318142311025583427667101214055661036160678741680717576271511006873814455002313104785161588333250174346852674563340770350638027032478058165431863123055703202730207003077033776013817706630763472125630811143603545661435405580360430305573086014201561886180431216531455630871716205076458014452162722504474636486570616085436711777862846838737133568285853863317407030584831758486726051706813116374017640533518325777723587827014288353107151316786773768855356544347660804806178471852827031538657233802517416673354745717764427754653585331743254066856216487528563676320528133742318821736532257582280833830807158733213888436383543563612653473084372273017012122010714112340136671362755188327088185781253814611466355521514210348546345360347871782258863156385805188231756620135387620014581313451600370877646320605673222501357526354751111680372867753385170740655775780102636357114521513636632733428252152714340343253173511526450844382263740427752846584781583803028366756583857214187756238836715742640282221633836147245527614765626770811857760008526461126064548205441524878717100600358578878006466020000102073241352558810840060426600813858205834677072618011527010386687710150347113654781517645581480538171815528226540450546437265032688043880671370532825472707284161215145602076751141073538117186714033878338747845832746813517873806538640044330606755131673186020622047576016825753765657408484557131108740282071774307361088311831054232757057585431412554244208867012711624815225730876428517806167374222242085256681707427217252741103116740008114443840573611818638175576247418016365861548258076086668125452068542805638205025214174018214853120315442574344025558756243580025484354781782644807327743664440617142653122650344771300340652630830257216232476540600888708718754665125051536621835645082120864065735167654153057676140057504346053648875356125057826464061860487845480075506472400265368022746126251536081617741630451072681384425336836337000042538830017872753506251180680552337717685804682858857511514052474661507601415500072855848138350676213551734732744111822020863737044567357384784142165441172425545334087330028035607108745803610210333848152838483374750543861523235335782188151078385767563580786704166585340614482886708511672808770125643464055512552600821012574703751620671556344170214504673550048358406388134452833653644866427235448348432425775365457265105202430204235607072478336316023782744542561070451474717735658032284480067675138007885375258015602822777643020458820515500432145658506825037671236426815522360361871733101568323506235876107722875802022583784827365510635261471088107081314201775162875810081878686065640344153663248150364831346243852750326004133473116466563707877682302764558337466551113266676603876468066151808212307311508663838521635186832166030703105225501445671244131355858032270414173653736460070606522015823136202118244778100287274616381262638636212823426435465725408310817806426723012204728176670505853127802646542152334326634158110617267033681380620513881317002777666836306632251804731430875531832370118341780872355552544222480105876858835356552585570360783361610438174135522515167546727545365401253861006502554323085875362480225571771711810570355814665538276724124572772182318330128115148474676647873224213853263628527064202187024675572265112066728824207268267886612742355827514801432437807632604470444586287387240515443733532455870477026208388605634370254576627351772750562826160110868607072251010628045622455128867553624061065870053064424030513677568312650482082716671572755302238361607762006061270111855422121440884012652674840771371553834608630781734175052444322007088217002020801420220011318052705275247706072743528254142845245173151328871087443203065231357824240416141577543360606257602683750333014643580571145441168030620858260667346833224887301153227313247175148427444461122143020481728633306214077521577313551680706748777708633551385421708574684728674243185868300812124167446873011655835887063782771177173013714602137617024313528755202021524418174374835813161740800280101004854623778468517768501564452225375223165323464681601131602624470136742607164063657253078660725205523410842206473882572432818173216272045654852267072638556772341332220783632427800453305868643744217555575021083323862886206576214708408652062225657851102286471461842832863332770846871584637621310855423545488408658806158775017476530074132457843536617462267543082743061811877033355216688078461766363588565424335506670231467184153004267860503851373145471678202120070557731167017363555630054336507446777376136087211046842388868683676176838020688143260784553113503835748404334043485165543437103463667028254256486721042031464605435076504737485386865440754781824216818661351183250405861852488287612668366316856841173028320530385183822050700186201131336485648844760522175705225066734753352371116803311180203128617807630748615441273470173843620624038583875842556785250183212537851562548167725865317311853887175648178505785171810834358151215827865062662411375285613510400434165307130120465161342814667638111512830614727243848855506882674171515801164128170128363354306267368656763417267135115816162777133568432802027751427536400130066808401657213544147017182333721630354047277128271467748178132128370300242364248681844402113151158702545500477035356403301375842735287240877442451424555520501267704431441571146686005576241278834116300823631423360218182715212851841611061768871553531768657385642207707668840246001575101030234675608602748068618831456742343115126030161565870483208456333751324386004772740670258724400255144631362208528041875547284732633437880483240146035354235254704122413475127442053814245466131014633748167703588642566083048340476156311572001778868781471067010284140810764088575467318801456284562884545861582660648201786675626257174671782773166776610202487282264457532318675166264114635834718416687155745257180017883524015366572718602654301067854528380616267320587508358840712003580516355783171206651334750866363380630873602121244274326016401184036027350885214181785762738348378107674563836007166076474811251287687432245662501648601621174606618216736645014037751056536182744548737026347656608326842008438005533827078758186110316358130455475723054263374636336503670135182784206386875132172262800368650123471654440146686034243100835402631435648231122105573824387304300485155058381372651428727523403815671854046532137180055533500247845410357128101615156773052450618545137680655323307750158877380048088514315343857164486837275081266715766651625835338582507131220471530845182568826502066472047103844538126565282146035341653071541664215204278881200336655254532382567701422080786156704137756687843834833532343281040314383878446108280173258334286743707564582782153538102107675357854084255513100520786346484502577871278573174372361532674758426513638817222078426855766052625731205181154602315214667803648506188323652412012553122835151516078152058478074511244565717634475176154850322640044756562180525158705831822666886734222032107282162357770383584131678068721138325427345521212871883634012814731483747872722323002375420283144447563047207285288851270127343761574250024482825878780565200062616635074723481733662837000161553605304368365814277287347062223627520707161322845007625768503780441865085816643550261701278410680764035805140520455786863344551674471845372813637450282836545534653635085042247667172112414720613645338176564323612131228110674324461562142088414165383285126083575004202513688323081641386001015401853146753306184858274702244205362845162363832232352363010472511336335828141008524756257828823573707842750228873440480124428864815772002847004852014222121557825526113332035147080874527556181886362082568850335214768083667211660022058570427527248144446203781158732842432373306045556757451147838153652544782465277081786061867171357255475718863323322844206374405402056846225835411051405525441401453576447013041606654473444100137687220781043042306237180820186265713557474308138263180343811760280713181212267383233188518085078246147838461082123267524656566576472818312664038038844555740650012484021236808103046838542501226382773047711726688810448718463266886882822756014663226328221410166015663587760756812020843311481273831243273756235718813521367547002242866436463764171454450844643066107518082123658205524036807838037173547137723242022645340428514186358314512034345417157040675357805516248030353617386545315653113011806738141861601017106816205013816330036712427325277477700507523275731847882017607307371755708115722215837428553462737231880627138673018868738721724140716205785834316454705810207152182246738602230162263616043748436421848767280407356412320457623634664138657184671221531771873868483352331481161073165767455875862423877866508278532474646270651275215723318722221032504844170341803137854478073222415224073628845468422401020858641363234352467245735564818051124743100776440645422526383505706723418715774742102878023467717204818335874205701461316142321026137227122371307162878124273302213435648022625557332678616601647382074162212623037257030066558381711256107384320474627023526707528572761106483274703186414524176270332014587683626116054064117154246617428164167857256543158005541744802531516802313266747517002544801732145872540235646778171016316242242080178832452237065722643006725763041088384535360650451583046467160017173678255717324843132263425063251052185761027076112532567223668080405875465667807801158715175088182702218606688728658704017308680847805630228201411287753718704085421663757035458021878212856718746881225157322283501235338284726162068616846502265555424448430745203368248788652854511103583053283811177186563266868657540540231264170335321278301223630706378277564221361680554773522038247671583776583728223250671671861078843848173260076603121841528882505780718730125257454625712808235600532267656428121476013777305370431406026876773171672411363121625737114860155707330668045160466812150020202521848686813828775180705687346685758567025855883514343346478112251563304851008665366541435787854658327638868081057482822470772855751610124171178850522748680604370534028574050827267863466226351781147743235412206323574601454632688146407841781284010583135641105723628736167433042811653622306237746830152317476841552370834653648006374441378554168866300061426440473580386465532186503257552335638034016271337786858512304540026760538202542438532288118835677023322185823631048233624686181205817070577182726824850684636280027823101305642227074100457845362628847855227418772645470040415631388135304437717064384048831408221084150882751823706162003052053512113607726630410717383711078544778236840264545154440508007153751650838418210620641474336440340422251144052754465882440674502254073003821682357056363008210273670600287315188737773253101347037861004861481416670683585235448241022420468450233280713210564231147615641368484610814106336402342105376687783078701182030806361717713647550410307565756437504273173443462612388474627773206335237464645034381635706757715047065536604527130636312374652641776037164577372872735004475282381025312277420234802343416488702378305672780544326411584731082158052408582873143705215784485840752814570827633732472864671572048181621760583806012070534235644121235154228482354767061266400463313652250160464683024452647500272766327461127413326436804733448740033488761225877307137228704203877805842226726685505005874513328831453768217673876415784888526768750701785615221108870344423285472135083000228731377100506523406848640121385537210746082557403722254062004270758885312635751060556003801862850141234808274581348678751665631074685223721635072022568121684417514568273042765754110351044421485086635424236122551314346222874766502766106015708060083304620276443670111143824281724368503228677360833658275856427308575221845330786027821810641162450652561556506142121881280707566317372585313852124225461324510275286830476165066283387551441680034727753070088872536125513885618481560535331170404534353212238524807121052586572060631660255623722810658506127353512517641845568571586766712117050665024356563383465351804225532707470228864473042607657523157353653862681547176012550744687126408603425808045552037634541216421178767514365288406537506260354104122476545318601142356768676110570637754562123730188817238460220343648864038475611685516030776060343265582162501371624170611200675420761681528053850754787646781814074328875558331852084012821421786582730005351406686435815538402484214815843564438246515046804331871178878474636070811700044882624564850257463088645073221026682304448517033762862201232512243237562202685824471237242865511665663688158787127158226276425251268328527600822443354163651661653838628278132271543867874644526773384186677403853686445484145538433562350824035112421217681056425248108004483802601007168058015066645642401276621407827135886887415440518714323717225060223578400247055548532511553882863442156458362382428811103564328381827534642411488600301577158211746830350780067021855186016745688071441814363063524783458403172640247104211447616823157167757731806544315117267478128476484327677340846183546243772576805682235303527467746382588348712283046848146017207635055262565430336664715836143730284603657354480050461351272423277566574678568018840777255668480131245720202682764166602423222441761684168746762316806071788566185417548618336188572134166076253841170878541833188783441740321110336442208155143056853422451162561831545815317853005288202366067035283746650002818247406734726210727656531231834358163544345883421734628653081766511675641054546165317532851058143503268110736130754081668847863286570752701541443368178464415001816475625305388611885113887403206040536881325264706455535820157210817448725036760271063184241411061103011457583241534145475317246385880470068177538485252363104465587750885721414540734236821217541247804303145676104561317755010527732728364168835500308816643105877386157614810108527385180056410667221873781443865056870388782767837834128440510088265816861251287452388257833301833858774377230567666845106810086112745131047381713148674785781684334830726417018536135073730775726886276132285005254168388501508261685482473870542003881071813172565401546027135824354037723477646858080645637251682667056512765486783137116121464764285432755525328865764131011342047432173106547401401178081527147458713068232102278173442025631174717502171556013621232818146407874034860160625807667356114052265157672144757284304826214742328648515381102752781625655687150333536664243615680201756347107545036354225002488040588716483856407665165641417364516465775872624020535840102532256354705016156683301868813202780632360825855748641368381551350612141168288328815046317087205456572032533331774541604382622768142810015166780504375816138767173443215328744708121857257013036523556570338337545241011887415331288574836372412022438643222630544255388678337262680280566482038882653475157771480650300850033836842827102272546525811025400647403358788546040382737267156570240443755050353353843544670880376148865365587078836084050427755747724322610283323533017475135871237244076223425651323151542828338080588775726245607631511227081588234301346845576886562877775462650124334844277015612372182737650650305832023557651820413680547675410410405811601777372658887120187816586504810278701472468814128511146270824304480417786377020657617135176438024585885603224711262223115087754463585302230238818454080434625505060507444153524435274324325381086555047584843282171535350402306365188230661873255737081033733458706200136560538578151363385487373474360742423887670888326856202165562608870437035627257372828616574544006883106740328700658158812188473645834582354130173573714561367563626301518622631055848246315656553503326253278058756574515326343314342078584012805304760351326153334613114736851140410638118582048471427023620602050207452127115368663300014677675482782466305878612726613172683771661436765114683718427536533432567016706332048540776885214806124181654123248811173466432027383548266326460410068757474250587488561873325040600386304480356738664081866335711858401036012465174852768712631054702630627045552083117575156811733225356041406047468764563060562865348855578565036038717286042811211581108488116772857815708626108803326865137234118378275518242775147750316575786735584017236223486047727706072876802521671526546251712503363768146513105125318781377300671817846645381676782371015528304684706404733473054718531061546472173744022216426343250871634308803648417868886173313081611112074434124542054462275535488161141832215626267868033821418558453480877058411004574841575487286270108246474571837735354536055873432233432133442403636065071685260125462402838205420568543544485141586857084580277604055580241753583743350722482028250716442624706883247705135886052366458187870272222670437150485244431277407871086374725803636565127580262032860671388122440467135477835781342866362211427646223865220605031428345181802041130065477627327642347418272085173071521481018767334558313168813258272576060038616084585407415382612631632126756020716888785653658231161326431175386117305282138240701551585885415031201407188532546520250437488341082450712322457612658467784566343086351600102058185656168524408170781147232055625241470551522345382782507788114118822405825766373678240344204261721770812151458588531587261880463045125858377717643417503745804366178166640326633868252177278448627203170824372878856631766864201581118258172203836428543737280683268153480221501276042533150586760735706278684122080130834736016677680300702438030237168630634716368338640524146780787472651142546760470538014277114745746570508602132350567016764016476567325681645201410306348058074357743624524671368380288605658162241385044256043866371062127580130544155842247384480508360312387501625760433210148034424801633225840458806404451665821478045463553070234866718065347872113663135432784626354142135862478850315815232032723154264724318530288252675278836386702263336184531638781772100012874645723368356843226026711218084842200127260433470315157433120731053541030653407460547124704624304478844020834568854125431723411718200218020263284687750512470615086022551668551774814374537457483147440033815400612043464324067225548320357080038556336573266370338844612357308681082674170321267687613784022016700025812145446042362181313852071871443202555587855381188813530633318775637544465154765878522024710588442570420342142555470825364440332442415865435615048400232541830263077557628131432820505343181577535171810830075062468378733220833775254550854162121358720174652111561782508218424830638811427564522365832802453600872406225834468512078630060374800485888712846130267707221340164670807650430380242605401202655672346216088765036144580187724537608024435538487701208203257065721272656041267161488220520535704460813860415510445313846013024628854724465638428488770013451162088114773706050618787707683047152383670054765230771755708371313754555212152450718761275215013552112061842534003043173554537238218058247855756143347485108655128747645635680853417886706044180782866750645482451405342382864607877267884067136326731608027618272581028530353632183505313314355626271132513560565323866737482685468883431603575028741686611328084101433356248473562660806654864882664142644502761817558532022277452204675344235436146180081477815242566332274242500057624716765502633581458123605571650505048175207563536680872851630346832737367514754842671318588873104723634488741446833305142377843354415330524353617860470028706620205788551834613734202530015333510564048234672335204834612233264046534338601757730344864254331314508323586760381560200302645711274520837510186571201003440305013452801616030836030245462572563561380368745082785866123061500671574504055662458070820048878845655473728101720606752562463751116021655800541310706500438308313825441716545158123660882618853812068820112732471145200261182850386670865485883317150175745783460475588367384618658123247280118372678072576834322886456321618345860520800534347308160506688581142673174040780650870214450011045786530023607664207201730781167871383362113701836460714773115557608565776523024885726716242112764257382075152816644524086505338351305052655606823617162560677472455186038741325667348724704561621285542084454164170583347371874250150641155831230744428178432623732121757508551253641557115302220458068382861836240638867111626428206436305583442268684184540042586066283383456504016036576837784736832882412530002271138471734811842140077078631062445570640806805662276663750580640703765515061403640332244600133158135048566371512268532363422507146786477877345780486238533125067763430421811842560441837277324447760736245060861521573533608003328170222335751161136537010668015553212605022110553786086613550066012220571541254778515048068207165537051710117558461453210768811442636703414336331044184266338022831761104385607727784461788847155238406088547173501205102644875573273685183673315243745305250824176267157034652456777161406714280667460433431830438186658407430653763666240100105344248475008856216133556335354812145817112304808812383667424565874625812322442761212314768523202212603188635871523267608852770288872442324382156088685747876505547413605215105515217764323563552601062015234540641373836514202345423163462733677705378046045307062280378384065061004654647240210488778131580747428405520557674725223668455732253727175372442533772816242488041703150818076507114514336445703301725475853300834411625866885502760536002526324536011634353388430338273368254078827885474517806443785641178046847472374168214807776016147775125837327028323370840680612318026543860382404647851103716716351336452065316481555684560102100882102626511315203533143344020340766182440681584058054576162828283553016608361286545436300266683481582736480456245782752618478755432747800823740513663644650251161866236410485425047823355636056810727344661402223354807848708656624317187338677477773373341082278572258222857071015522612870507050161006421863878435246108375326175762538727868633856840183373058458437468386121686180887154456340734775036625318255180778773767153530072577273270806508145087561455825738600400030051452570172823825244033247722758733873700122078606585232188337533555306202123866136500733686846284650462633760661032270724886711043232712787568281750180227542363166400462475710168274543311165010153281118342484807312304132515787627042872827307577331760083723181303533547876887432146225663588701225323880610075751342717172461468346272677600630108347680370537824517638226031846702482434245237800788206417585215476275172540345042847145843434234858103066476816824823882505447330520757756455084244058860842847127538877723602171112417354431100860023237281310524346281553768011723014567501604500351470644511767164441357050436161082115447638404207325180556167127713452715430385266673607668407711215016421354346333066568818557021806347016225501875645268316701253744488520358280181033066610866103863885788676305647236466288511682573333474672424810818670240034663451251634351082305576355500742477052475731283288016468615275317601584626232448514438363688442248176006277477332821388511273714721183254076550744803132438016350163817884514888426561334244130356023775046028106080685746076831841512623006007536471742648232112651816124618447175646072561868263000833882011062182774221537421365813583013427675868778632813241206470636182337057666438187865337716700685430177804653362352528124341532046482644034715642285434582427114827008417438212047703155035502827142086540635470821511333265414324036575386327846488577851202442888177334538803712573755256354686357863754625225323805822075861347348232331700737655462352057470358036374804784175824860750310086312808651071118563037682157203584416437727154662145430781552810837261788262603030063538216088246441773855028218003886702752336321248154326206112217222136151043621411051514006472380261415348611517367023322261745215274327138770320888808588323506616166847716551664617777374420322600877866425750327702811255783406156572003663368207124001863530643128066558512651282280038032201032365263361807004286180844370326052071656601020245633225586442506556061263018675082455670110805827024378622002461012811781610812565107772658203635808810381653580015700777387238484274511360785815471718143337305640183071810553166151462804066225134108222753020142333356110614230155160588133551400384407752872100758665688417071443718238080682074836185664658180423568080837626173745112606544723431553831822883340338874722507504181651462452106872643805510387534472812868102464315877260305231476038084335067157343471685858365213035058088518852322536100428501107448836400662800065125465302810167846614132436731875221427824782856251131387888702806328846148241271747324663064861026627200521203800464180635001810016328545864882402361813248024021455737247348434428404501225726806330408582617232516010073234125470134737801818683488063838413047342783446387501180801706545157210227384220711636072087172606626060634746268723201185376051117274736375478723741730634046243038187256433888440248786680066121405614853100542501508085182413306684527528588205746307864560487557568814183308670338120087542340387212013840478137244530603551588227024626742276803472113004142888561688587727847306751160601562381383645868270478325072715127207067043578608545627102014472455455801551403104381357100040753600445672575711766557345230100310567240784326131755016553878582123415103721544762775206572346810385631663372135721578145724277154636778157840420572533466302375753825104327742054340811774623882334616663258678563721485472005522007381653173867850788384715582357577021880126482830657606508433205670270340510834872180483135066320076036087248184626085110248044374806536703032675743447105285553177360731074341700270814717061310232126743280578188850634167140125881343807245106202425260121707635447007012634051706557816125041276057174712802031016432748366168378150460487248652881213027620865320743414282252437468833171738522750378435424408040848657353525381621222847014636682516766006033020185686736678664287502046754225863026525683728431543462228022841224458867477065646170035624450717375068262743022314756361618747588588716531166445621512686414421577751807677842160140166815637678224134823383880285767135282127400217161404013502881474426078520260302124013174186732234204707518767632848364543147003785616321467632586584506174813473374773434085111735683526584568768784816554172105526312370741473058176347686586086234541316486531317853214636410750458457075230625164724414251487605482474501021786047466040383313281671774103443573335733674824727653073226252676161074744647258068053638834866664722858646674774220738064024304532434072072717032018855863756011733885442624447642462541477403622307553560167756858030578637683231647280125432827855703577544516553083161363326154188816415512810866371221584342104875387550570766674566081014678462587288057010088851474665113431621752278551477406552028511084358082001127100807550774012138048041270667353586652163074254870438208541873503456204728820518277274381181107756126714463016016818468516550478087505374674050326635745067021001305207483064134545010046010768887557032678032231386070254351152273375824233673081221450023605604702820616335444655660412088318032322072600772124127012127247050882363026413530130235875404526740356462668541565531052487846114288836687417156285773482165820112638608488382557502143427634575554742776383422162656263170152213257264447727337315806708116041481756601503377734735200233246381041303042631885166780081240342722311613244847572658873541518641008473271467616721311866844516445201011112632250317345887716106217353473727183634666602605277664466778336653574130681463345786730433622421615624561854841133111422185666137233557630432066554832184048067760554323421204164455270130825600863812437533873136484236840053725613881204538122571615704643483224255213742487414588272671817238802787855800567126652806686307243645557152162563526842211544432060728220056416628511804646101188218516734466282717376748642082501701078622720222238043605673163406722133408157717014666750155766530265544723156446466037706641051754312477151031638652577202454814688827366418672877577404315157243635565150538231544038026004527706766586562430505038364237785105606004065281772550225511037355426317141357507768320552162588816465221540678332060881482211536245760878076458342074720675863141733433842040655385023055438613846562031866510011140755228387752402737023015057148238213817386766123082532805208304751723466336075575305831844424328520807618576550883588646143707032360176221507766467474508204163452223078258248632736733867227535606178323716362627544513675265528773526871777717637488713111175171382575376878708560288510214587006745801605282108308535545105772324364742071286027005755460633721153744014813485368053700017172547088006444767584100683645134562172657148834210568780373680660673164337181235085380636156526751013185473864057031655520466203361711027315653050728157227474623054376671366345740752343413476606066711576601605233067308553136126850155613812136382840845203123776843652421456106248002407178060576637288437338255800605174712316608120336030460441271732735128773768777076301850854541231480774153145602410686243165775388808510486367581550513310752063861726704832302548167734381048230421004046643301558064184067788544784041478530723805106313308210673812431882780116471002052281477518072251281185185565574588688846162487848781871627281282120082162541772064154441044435620686575857803455731142733728778764018656845161270755467588416016350173022608207444021611280626748318352263341188342837864161564546663362385607115861856827415180560440574814226171835310323865135705200408348823322556285466853222077117664257867534133852068103662403665110730611686383307468168867115257734840172828720513264828424046275611530604746770512383300601025316536117141583836156862851834855058002483025707405563452342783737380708456783402224444376320874282766453130837536287008623141120464733122782825287682757214241417454141515832721838443234156681246008865302085748057865043350644378362555116706476466662288500582047643513327128477070701138840174632715668656331842526582573647777286000361566020262138305248346131238505486684446847254174657178336580182572004386733118682171660621666214876354525238417641030751657850206057831781626376178154755136266318637318814541583677668355733281463867612368752505004383358270720304383443801648573142448374675127616585750025415334350244123557531623166826415866726631822780312817475400127701677218340617163106028558860216271660100645436763353362186325417515313515132578250723431226071768478025785341618161033345083083276030370140847212430355313112176105426887801313026272173806145834370802637346007706440812426407557637713388330187861162807562105325028773865665556685585662505725453146531007812330700566265004226458203424805722777566172665350838735120513165718668024633700047747427315202802751041056454584354057574821354356076527582524515118503121278627751025074117384021873600164876732770678670855268858461821444115131870546332467211872342201042737174137470340336685653624817343584056028165627732870426652501570835872533576871627875057582357037286487572166758614141168768603516383274482831263072136667834783400011023681872337032122072688718840500083108475803826530306148373836372623534567445767074456377336232015513866677585066580600654173638552245565435612076042503367121232731440027546207254655685346575830868241150453843507530428416062073064848276301445227334077015022862414548137365688370262502476325715257003212087027118300252862528128320701701425780653570275420477240556303250515465404848354183005260785257105667112534544753113825725217348737071852420280622405010413124072348303414533580154727776862380315211823800708140263434332137756733142525644173444583331664815667763041114663228304760775270310658440340378341130676300710387210157263883686878246320007332073781725242175508012268744601683423354167310741814023373717087576867340335031184835542461024563648658704745226880737826304470773413718065346425243325466467427251213801018231807063428515484835051412367056834655557665875746822601887731382333655530300050168036867307887182060523383213045210161153085362635562170135867647144253230775875338522374874708112148237454321148834712625062858734427356676323472335851528151738032667217347144040102058040244861864205658874243611187357477638577476502347687572873862080476557122317640400750588344036158082470148725306412275815312267274170451548465157074635065481345842765122718651554854468355336386006610800846516807243454141166031145000630866420125758751068268201375831051162164855873882548564530756271576432122417505388371013663063106177714546288246375087771033522063442844470426445255757157568830315126766243511270847753480744728226600320268652245151678565720346327187815648675516358375221604227405631836683000372113286467423288727718501142250335352225180054317061363146486115735137710652018310475134408461507272381831200523226307167208537236526728851635262883820676334324366671152607456686711427071638335713088421435765811425753632363346107017321520840614012120555723235124635817050707638701038355404240051351456183530181313303577252020750260666327323550523861364358401610112850185680077666630784001847522440608466158008146236453688145041582105336403814528712145688158256001312058528643776787031400074317473417123201242155846221620850100257763036457106251800083215645186734432500457160665332466784881667601452652220022888144856180277234261870402143724102546421387534184260052835713740833126527753534886781140205486367814455668273026708353524265827207181873080827267064570312613148856032468658550441828365524070720181641502681125322125042754870562433228673854630127265145758756022723145502617463678435674205881870802604844618731176086640525321015085432443166473617665172110406107270612773203344374331015067866502045604838732586173138052480744021362787635206038535624517458222235062675030237360645743227820485650871216235316636163307477243153185287310207322602603508075207407157310325866335637303580315145852168440055150072405128473212838636213523807362048777708650433044551571423371306726013602807785682728281533862687664361028370355407288723574360135814526351358851073262087158421238051018506301106661161848531833304787384214245185150234710385218172335524825286805147135621038754105405502408451214818762448476631265724743287517643316521167641056776000338260117102552577814683013377136261425220820512830220760856704853115243507014313378346562348547116667463357805425560047511001066466017084454017846306073623682671473120212333058764458213517830421231668361642183767702136755435706232156844258460006774463434612303355073482152262238250652378318325221387206816243652430045213681562077767805327177753332105678028560021681408604513785277717474681450260415847757251365614368828101267172137124563726556778316723688277310381888051833860723403444675488205183227172507656588464874052416874165241043084338044843683426104003457034185178826826365837434014386281781875380656805786672618507011000026874125456461081180823544544735810774724103441571161660481344104384070506808823345182004308555448068547805164478353377562060332630854156871844447471606008280678763732324883608655763828482600221868642628020442016013634787161645808026015523665764031631560107180552873823583308262167670535654672108704822407418500081600375280752041805805756450226830216813484002830677376552866407720873430161751758812718800675627670106430756082183120326186566136754202571270233525703276826704620286058472400586601146888507062345055340812850105511186677142723826061545718882410687527421025321877080265130076406287243045086147330042027185081541561356803853047320353525700127874742503887636372254115871852037735538413617788532736520244443043526470358517823523607277041116360140641223208884876224121613154484154404732578875607231206781660321070137166718735116260860616226531764368188620046121004777384046706132775632663823108008484432786732821552742571150228772705680447800542665007832654221134354418361012236145078455054050531452873570103170003137581328472275375417364734867655368153376040728047337006527046684711552711362477424585575073004337365665614235324762801673110614014228626114264040355212034078372170573146467004555247401504788557238052542266014100804488501736132856483530425607181256135270571383858621832108013266365684812383510756806007820021278273485033217114556677633475415733086777310680671617474116540807312085314185585716114074302014722606828521087240866804377072515535888466521001355602562672674712415546385171438114612856330373188407107550736153502457834073644378260360337046512172840511312140505341281180284667113734087757874775088041020611437551440285400242751551784822770245355728724320043028360071326728622484385112648734088634112784267007587222336772108026344704678041287324421838881810246882566434050738448128506758730472017651150658347441006000626705106016161568755617587636650526324353835313081184444008773175543302621818113866376213777368644438624585032683432546358617101381845807537187732752425663214183510616870164706523814357515481285178610025842687533022348757513576081154121118578621246337812360863217811278412448661038856654888811701835726761472766407141484531772476157210503255741383375226734415662137356074538853754340073185038445763127052441616636360720242254685814524218628421571527320168162014487366382682834571532808234640601244630364852454332454730305611756045883276778644640424354341683484847100536683684273775617764081155588323400823606727868872563838503664507523844053208384012673263105374607682455186108000111740360076115175385256227726833755545727245536463712374664160522371325550182821871217730267570821410213287101872686400543736812210527114105431077177775180277252410184262628107077564281243526330528265073044581637235332264181183158264871132333018488628056613424542137585431801535830611712847441110441240522884246346007031505138161032416028423211478341061317842480638074135316473733522655180118608180265633704602732248153585771833080487707076048706856766656331234506835800376146245001445122481181422178574805460681118534063052286257056726611227782415288006606384246518421671714622828510637065635008262115454172647534808261324388032678178503718245571282828853126216177217375763528321011740387574332435060645426452537278304873626356532085382770577832155725083171648057731254718731520637817085888064826384772682602583347420713440441063636471762531673766272477812037715422757830631176234452215322852026488317722061483005637284166381344278208712820674480246151878240050322868172152435535262523002282811448183400638864601867134385734248447547115715354570788114570534127842803830278253273782058574163587133635861484246487335417715576530324111827740073226866418366375822734572703266865044221717054434733577547772852636533575084233126747736053124456752012805830885256781026436604301826600712273362474422128260787446322728518517848387058143562338676137875640831044625418102222630062648541854268384325648016614670401256408202666366854840334640718746476871501753410104727006158631887547082874546854505622381327306568303507162128853240683438706222053246134736607351871370245638717440755221176122887568823883708685053158871226731655106157177243278640667465031556537814840608030632337525486777166514316704323782156437645405804207331088183631848644271403401572650870833848420450487606058338468315073306202843504754472517020601762402731100484573320064343685823437477408467802216070552414337627666553727415407484240511544560851011083206247877703131235350062133213561627786314227818351725704671651478126065365608805422501600086807081156337172136460425500780226606283247422843286317013717865344553218562774830664714460116214276058444025625514447142045531735106281682566788683322321851831771572285284004113002473636756667721372287264635754632734466584532283055425485655353284326562725567625214643317827571570208750133286445234771485817808568564056865653658528876422110301557038828543718726756146762810837778458180162462041476550542703778003483444361863366457805415762864380375204160678801262426082684411664184465153708567474867775572067754038787412518316435010677317735664828637084516108717477228165517573456354621288176615602222013322380445833267851204347654807102301858343036671233283378365460275406832554016412374637041161767243748076852438406510030217231556516837883756313113605284353070746478124822267360170557024212723340150554567534413726301474277074603121213840880048327334768076604563612616874204403327630504126411535463753848383148207874188038374555454385257374304067685703823632334585184554474021136402807236570647431728504234538005383277201855460763517365785287430146843725212610443885118135382767170115656441374088107728880807034522113822645756643262008435052122855588461407160383136432641152444124513644285425812712534886733370188782844046774073855766082721324460377456764753065072213303715156184243733158603874180644584612608543146882342262414636444613124654557286881222134188858440238556113737813771326530516164771783746530827025455685786030340455256656770304654500366226067130542211001141470116518726733875034523626815446747580834602530378358785143650062202236516547630378181312784611882783076304624532733803343824813810483323416263224757804081706007774032733461331571022518010302171268326732627166054755762751776603038242884210030530742434850672274422638211650762780517200117154674356668771253453251004272784675874653816253621425661887033213785135383173458305230127844611822275210550527547340618700377362658760813335030023142252638273774270443317065826680646464055143777870662278210402113043057716483642266248260577535865001814260027336483176782702264042012765712601431870786828705846362814486445175766406554585788045238453302161421613474421587840825183153342615734003078127727383477336687210766888157666621308216501338875663106115641273527626286154413007165124512311576624045716115227323570104077285518737140352028124251578760364475435134203888887782066508847145731865836626217512145851265512356088050604228027747657356368336168558834267032410844502466872015267131862778608244476632666604388830081500657082815614426435286271560585451758542022683526702343330141712085784365818484272043326461107847704335177537550256135184471077012876686667450614155508265723266860455707877607735610847751442802331274483682241665872372360638065770086581715833155370830727248064887457661213330062626616533841456038047528707346440027128601841211468668217543161157362247625075415633640483033532722287322866475756446261435810456700043415406856467521227162428358024434358086813712278233772130635054136104481141718405807047338247440842240518152037842538016820242340613445126431731841146800400018377606186821673564536715460820664161336613027071414182537860201522815687141753205711828316072137556283708706111061873672528632337507034246827411161286108837867345717605018722524818457433542227637301845122284675344157878617516817243485461550761032788316630128065086013520857333513022741478257045312622213138718584043360344282762063830567081053134302456381767583875083446073410427618417517667442332523357286407413633273744238885154246443386582283071682015547858548465577730344504023750547025174277002080751528201536141684515066207624737770251327031551011274170632855384632621630316400516688264546356261232623804301830081580567124383851200845247682267461258256111081134034224505522088453283034835306171257888845663161586188262201858477044284056861822775066420808165262738601770206773081703052143831281006382616887737563672315454743578556685181251527012457624322825052803001531062227572487007058015728431048373177226471036653845515636150174514713874810410128312524432356181420576552251722430116313501488578726761765434376261136261732806542701584152715010813225163577632022312061372667558043088220678158207540105282305836088283623322217772854426154550053422131016832356017603571847834761504401148633585432257574222616377207413567224856450618213837644301630434022731521881074235653428303881380375152341773530612786068828784620335350203824875334862512423572878580586646572041533834554535076715106188736338620200423106708428707061500053544400108875728167841513353544428407605582486770783583820618557575637828608425247047727754573850388585772838686450327612014780566016056553373345475186117348110367186620824161032354008783704411437801083788623220078401806646781811116102655255708385288128275770270680884333672422153367374082667402762580857001868110066477714274264375604328607818740746718146085302352272257407208107306214370468642802246040206304754207638245033367057243646024380775385226855826086106533655271135453137787131632708176566842633261034417451643328467731531155746885012777388515603135686577215055311368332252805634238803785008123127370835336421200840173280533184474251052327547818114044522072511728181606452857403860055755771728265623245168314472788378710180231501740108073058020725408824268466011341622052378303624556057333642481260874370426042108561548156680245126745788343724551650645118373421563774053800584880453566718736812223445115077366606788765352574668432610163675855858742061850071087031316782348538170771117070443347301087177246338003523257320452211612417523032054375377358578388254552346425161877863375324422536301713323205235041811558362181023402586220015008100533803138106384354321276176146857636453827174801568641026116774515101425576102181272682616222272766267357658563084638170201506846255212574822368851784116734376313301012872244427231688786273544552376832733005888856655480337687478080512752262205784620883741025134421221286588470063326224214801182566761721510233670826681344324813735614660321548704158025877331875333068175756170681665535651763404520653113705635786282060228462206155187170058281380860485425426867205366126300034687264353877018246511724075243657870412887316483053044125376071756240605172040181530512536714107434667745666513535532720242245618011783651107412763221527122834650256434072573867550346747714172453306581636087352441405475105446610417758055133052821875727220087333668647486541863563605345487515765536564658742744466460228825147447662143553863658770336380483188712527705330754280231247330875638867513386483310555638586417201630511870308120165665314028175851015845140427806076746648405463352111520675623152702171224887157000636101674736045074705182435688716427027885203837275284083237432458834830721071835685754213824142580041010072841211634530660116410015428626744204541551471624242854355475361783781501275346666204875747247136280411130671342283451504636585055803225736558665574045180420317742513511680615871221708478572311678306876766078470500352802437074681264515413815338403380406358003646260578173521856822060518528331231337673776524524151445734600755145341237840367517410772257888543631878664256354658523704466113478777265065354757207271846016668354012467752156563754520035034051833002751876657135534462507345713352785071082268216737574470522265177008545275215614648568442532028053663737371440676873404535416364848163442674614501041055336488302687802176864810322326047237636208136655732714724641312716253526001585231517726362026531502526021115038177343354565736413113683133762102563586664432284568306441827471050814858763618200431543410870440888644387478681886112586847250425325272160007234516722282104764515876841752557380248738651666088311068720527444086238407716426705030142541246787645641357643065173811768821300676647447737662213618202514304645777046447571834802253231820372100570665505382864685184654720484720031622710387306154348455041807766178826775148178350821482815210520514718378357642160415353717508828560474288344782240318658068867443456106253404467826785416150628274263007157641135763534548323153875611414044668638328478178451461376257860081677474432840173077268274070602367143553624488323587325043324500633775558724860277064546154832711885027361564534246376041531830170464800817254051432116112252487650382250460230166630568828643401747555442241716405551540126800832227365324216305288586778788668510402002101206023357731530565834537871702877857657614178773413268742156253836616774583016745120710400522372118660676412145214032567628322127650177480268000164530305150160137762402726133200533626678401802716524842441250547715324268086888004258744770821462625313016364506745186618530260654762621137676730427726241631070767288685235512401712274852877583450473505708522527057883485357874373402325380344354271564825060827508664038146040401582018604511017162548150324650034338068734567217180668544056273681644631812251287622577865635304747113604420186183201225155882064877026575112566460028727245343463824516523525533023512546512462756824882756554803726514632333872213728760282813883550711015868006340716672024230123615687278365387015673400877356610668604581352684050526022842865620554060300051544710462461825585400481806674756315632423732763761558376857324317471365376456104740215038334158662272760056176572631245273565587103338242882363021536288402085213808386862861375423584418731442528285627386885840561624346001406607057717831872120772564200762235154875008871113632357451246417711115241641173065200586154735111885270721276635813405561018234360331858260352506677077017041620778284553315335435170374720217102142172613810503626846860615787845187600722306031738030444815228615477823777244727748061833434382063543035711382440376608603220701351573777024578135617303510352147454134453712186132534651803453328380608027157458803136684876176355150087712877682302020121557487778604317560554815234001423473136301288884563733044538618054177741685521736425381057454645718583176780012635024121567544035720361540170752044564827630600380252036362352034873405121282546500474347418182048036588163832812256077756754754608355680340551870107475588423060744807525068267677517853556571462578635171207665043445606007073728801174228821845388252306414378558052637144822671422706532888545246132324878503120756062688523531755211131732211435785114343460272268741007534848331532636541771286513500836238852411011620158555437315240683027302432678017785233573857700437730554785606350012520772133278545476787561072613372551465345533581111367558210031768321430734360800287371071610303460143062184536574485822070273840716661665280468820156465287346472713458180131308658631157523347670504013725315415188418243077703184720263503137547770606437114811417444337850180233861387252661700585313157640473781024447302032341830560325254111676758662538866751056527482658351264823062702417072726221085304002068162581342333888680258725057761183176274860544273347273287505153103167637431050504042835718027752572543353622444188871883780578850233484162411127823748506752156822788560604831138621072545084638866603821222456881068171642175253550648482072763851387621481278003284702624834701133048886770660547431214151721706770067464331012553737801437710823471672836223036233817223407665426453275006425884858131328015127676845722665705768140347878376618411482818246755452157368457688456508008808871336058821103010480552217017710140767065271176330483000365313108135403173140868488823268502540678411005521858067472462343780232022260371435560442675425435466556461237405071021508042755235321100430026275466110836067656145857308246184371163701612678053684484148842487056312011236831125065274756450042187545442412707730042264123143428636823080538661060684308756755084347515055347533855468847458586110030652040666586843066473046788261467563206168568548658125185284556264552170476355886437703081432577446883672124122406661123876468776473887041806640231460200203740872553877588010573433243022757423488603305658378286586687135758272555814374251386018253472287816843585781164426515830575475432171858087082602281201665326363856434333156265801010073818328376517773846566361076546680202220423605232761137436662343674675555681510188327146303246101835802328253685374285720302511611354532625781538706110351212243681354266726102505631551546676614347776085485207631224467468467586144343024017765026187232063306831323351386224301526242252148568026535803724462064552414426117327072417382878874127881427071417614676277686184055156407853620708028266151714742017383627270187271656158042348830862065012142726234868406262883468513716304865573730173584820351002120360184155075678012135178158725106133342734001365181433722416668075106568662541321373306418388613617485154150205712567617831772815663261448144841201736240351132732520575650451737430833882154433181050672312835880630711407104543608838130003315446505534663724641526476828476315316024423032314634458160678266181572302626540704716622715265053103421123257256652427852115470818846662548314845210341651480703704183832182162461053185834851383224351132418553328365452037121084221823101365527530370383535016240714768438471057758732665013758208518303237745346277400754710488411340611161278361218524744202545734001571512365705546334650313827114433817416487285148486653705572128218768514136013667087238815844381226616708675834004417111847864808388878007204424415250180023534543242255512576582877435702777016073145822004337243374754612558256185431867040251086315578417106223608570365877513344755512586888011445514223271638880844647155265403787125200887710514214235405500482760735258087744768588360326455655114326224373012472471608863874631831580800266054817172122818848780464264703614441873803178882275582631811840336806706742088457303500602458808613002117456542857364346062132784305302864632352376274734182100437571480046701710507742743013161624506858780148263483710467073001310151870062173450544025503451666027570525501638222354713433114345707778417516823527468227243511447342140284330540807451303853145154028778274588114105034584537582066123161585775603823640428752643725663101061812713720248155362420871641454460152775281887161414175227773722427547234163577143686317401576071238650645787818654125430533665202662314801834806102271438183831242800378847747666583228284147162866317577175515888354543372253533718437488558426583672852657520488148447365457376742431083204800228100160366732767141504338156123057133665638786161200378814603045476675605206404876470030885456152781816786134883740327183740126324876531160886076308785564687714280765367548004617875213820376184452615556678162471780712070161315083143252083651447131577513513426582143346342308836185736485628505751438310540606525424046020657707720041635545114182458583744261577161187031784017460878146781548558186517214128426338221678303563144281632212638016876504073577372851268754548034058250427626354630231183615462435118763665542833582381201086808806146454864148866570826660125412861282234740380870728706418480871425283461764030854334060075637878471437843546355050768152514276723288756728872221110683055301101084360832813688486128842554778463488265416052772502503065104263782850771850758552277516261281820277124815253034652836706300525621603206025128733077338475135103752886221807633277510641557388471226568538665726236310553715306744702061332868125153160576265470126258163861743077871307544886860316608857853034142016357012477011442146483206465765082501544655477167251434421463622224350867356446646481738228383131075213882718482617263052556662157731338606256480873805634228341653446540258635636180364056675038867270763658455535325188602784233245367418854086710067421814216365625777106753737763108761162245051714501705870446188017727842463507271148436735651215051781013052250446760763642483845661203680113068182321601761057268483787343577613448417786321238276888674532157867583067324640276070802375011250218557103786512542806213746054364641050465554132528144685677021873315333504710044070242455671318356564100481406750540064735428723066740087845842276823547838423175033412277455302756263764401318344626843148158420808845106545610143071415262745715814385620856250145137566540134345675143635828352331632278351346837360721221326547816583047368727286872717144775318333125246077168802887428405445561637846563183257570785113845747130103656674237830162777634205242377851803654170022512700485354200225283666073555166150500023216481475372880402846070577342446137868133247278043838180556338856025207045720134114650611476277446240457650526432221112672853683686403838804685652732230603625862318537766500538023241727654665026807355862668214538708687472470774016522636367452703742221055823086630065133218837780287307265325070074431560051622863315668120822877370435862177160153441588066715383173214133757824606370275850832252507818360747175170740703207788210068676862645581218167431147733836431245725611823474666318207724645360842463737888656343151457234448824308575131751082780062253746360716310683612031500661280454114744171573845155322404261048842404543637387088206740680545603838745411833483614001366032452866727015236110758663754425738283418167106027017162105426250411617228247110748375442167525644153213675060077782847430823135801157741183216340033520434435833001378237360533604715482808766056872148470184356581285625686877145768412117226754516657530410811105170677173001430223526103416547158577364471100623857877715435052461110447206363813017804127482510303263517232132004573664358184534850525722801873030555503224286252616587117376085335752636405102263837184674848154427076008744706107677113771771710517353660712630108837218813841603466441648171571212725150046170884482244822861023275857657627242851884278574062177305850816343137186778180423820844671080413415381153337717075561765576462761074166188232733501423776257822106137772848572007887448553850631113044842744750438376378776816813862226887783061727882760717521572772185000030785837874806180078400551134474303558246150074527678848827305111084226356848377872464341252183142416484787287027332764366544320684660214104662764621453778375224514030534148678501168245011067011846365577281347528173520867188061176708067703787147318107655563508604486706071783184676088443707647486882316154827162740507302747625403287247303710385533157132557843257338361405352827618825231752562412365818642352584055318447321421272626735278450253070581580858384782565564530874267131605107470072700770636650566856502380265774887541118052215433307684168362155631208875620250575580748875686178732257034188745505167074587621068112003327152871020622370378707380701878308507100032871122372044528578388337316157045114770616642320575105306084155145034184151544167757875066164537670844150505275738045541222802020726412671788806208861043523167656730711518808767172543210285183675666483332638175080710354201328663536443166261581868050740206057653845853102728380735485066082374544270888568152324302587082105258065207770788481453288088037126216636208577266701123456581146378723108832138440857014261688468675148158374172062506155110312052800060743868753623701854142465373201275615668545065380086347363612670056872810404532280341842185170821653275786325207506658418511374204304128588635782344734033817600506170658305652384568874538616614318745378035688375528836216814087304206247466701135883460613506125235627027151134863642747618215214767170330271726860230870084370728587058073251233565361662672306524283201882153025371157356624016233626672212136846817845464742118258505645188634400558777838347532704374681738404158236336815438700283436021576131227134330324036877648252145820203168008703852610122076372447801250016702474345604518533132008708176016275274668407834586425351888852311022048643602503334180344532778808115005573655235201562107855478005527711248015084665102784035471121767516145447277833207615024182511871117328044022574753080110780842265514057031226224633718723541465857822133517423720538152846433022220545864674010487276546151560702322126372137435288551284784440444744768661342233324738110377878415726075758848735035811408724580300357315660875772144608288540521656561775872138506807076703218246660861573040635100701384704247230748552777546750334815152232147127258247708267242167883153308588680075201236543058270764132278227180871617010744806141116106831082355773404027051866836762348744235261740568747543365047322328708553717878735847475563360350632387603766551440332473115760433268144045158636243058625845677410764148733528026843088336083163483360426236807430664612052753726420433320584380415337186423487552332552215751052041630248164526801783384111510662405813002728088773817541686868727622453800306834431871460786285721806475153443756666527760341472601812353140887184225334487753451250577100380508486631563635747587356878300824876228382388123474056467732554473878684522670356602468880042048220471103876122468032806423804060080052460043126224212317573213424402183102805255807557005715473846006034155458842524536788482008847471245610628048221334375233027462677436435511065221513318381617206842761864756257556070485065646666205748624588087406132132266676877448170804051182154082052337535028245442258683666553504511132235155586243714283342164845418018207564314567231825278203357058687155151751736243548703363506502650807203677748856807533571404881581136431260846703301010345136655225677643567443783686115824438082728702046083550823020025664144012201811745651320608563125663803414706705238448766253037842174342473681475672067107753120727880885802864832455205782558556608310782223557470405680452208061838341370156402055458527726114233275826600133517400768870625173618253618114200041468480077753727643174764837223425106186575682366735588385157217344031446384807762348858056360477348137116417721638146362818487625538843175642651652048762882586757456181817181734243530452175471168470360272276824383536515748658771015172825411445825427372417715745408660715815760323361515861357828466758848711314668101147833651244158714068844158083226050413548111535205152702782785876375134077048543284168180755635457230413712236106488682843027102058704816765650333581842735082415871474800782326607457611866256284800756015588560286146304701720051853041341803237005054670113206037018031172470882151052126161160153318118464382021000473060323860241731672031258688072426461552361315054274740570840704566051615328158164476652738604516017853183713102424153221242582181315470615168053461475278571166818360464843524157136616644258070873876108630431606378738884082187674815013581477826128673526233065554183146453672871100132261155867274566748137253561373062640274326142640516313350224763086356140780515213653505264375720234300220110416846158037155035761186246175813475815884804024638555355404538246116026453708704327553328202114237247745607040781052182214356710128554003465137802108065722581052086622115750132023031202781510567172727314530306017752636400370146022725043164334114626314213513167527361254665312745540086158688375146711706434161758455320341755677504170722535508355708688870037362567030100677455580865156154134844812844655401477318342206366368485212125172648275775366330868051825101376215767826250062637167440515126487638221773817704684744675713603874301214257166184837552581128218413521610026208171207285232722651165233830335044003636735321413437006074462301162311156388782851037580684275756733576415346578208053237312808223817114828321027472878852120588785761332181650177634264635331085732607616260180075488304577675177344422172342624117243352145665614322871456818332643456618564133801682501085636107061348822348564440173732146053457445426032144134774715022631251121271065174616005028887123307445061332151354217116141362227781425122573517740568868274704661031354876221667746573083615246267846302615718784077684115543534776013465382237207806457481687828435040062213475175146501054422341460681175366627338721251353364541604681468381584381746602256323734711013442353833464888751033214384101254258586243145725838337388060450073864883743248788504700652746256547376141310066504721765565125362764620368875645012864526528132550128672470487401574056218206171240760541437627254148582535436678744365883874183167283088402070058121751254787822188862844006320563253736462522506177724125021877131544161761132683581035854486301142387170173726486177685522040628832361064511623675648777756170325312337653516136366513563806034471184503345225551360226375884363074351042416630618780138388524152738017476402275830581861242302446016746260564242604435542456044157552320507513100075433158525301274711177327625657503512431866313074658536213771514681678446033013526630411361188015102445386077036160705106343801866630587078542223804423080276820547871536765755843347065118243826504655415317581843775438185308664412414333122626073202253747832883835627246060842413153100357415248170673262320881742540743724323302024205247617482202336475067700607204222335456410574051434668048117183857427286567523647304757623203341758242570722061083508471476128855047882847322087036842365144568657253774182358728615260818221510180114022365508426271318388874617072764202066348230511415567121457278643618386517573445735051521024860743433103472170182013460182715435501011653480521304145804230730306468115210874746768524650672115312300173283452580017855185518758173154868135431174268338001867365535625341182412075840454021576525264131712851377364632345862705242753775721283113630778530787560005360886708556860835825422372017767605385330547605635274656810587284221337835140547847661673184276017226671151812223170384463506222407012510263350701277004705121172163053640273840483001653654213084774384205874648056027757236551517377558213678223764506678018472301114725631763855555671783402671346257451210816373782481152476136843135666251888244350444284463808616581684728652333674446161653040432323060413007138101126072304184368100362305128166088637854332743361163530444267772188785187034154285464437451121700143582025516621681528524300083864480034034231248375732721031417280412441128340841573701824027126207773713047360000802464735715050268328828254467104631340037244288056227843428451334521626872707336820168432711141640723605538475457265326665464321823824321043484764255737787670452133764860551113478124567452042575876078534708418654437054851065168585045854331750534545445568101547475870136172757144871115666386188571228738167377034257576128372650861235753108743304042645166658531760748654750818878570685606076177366042247743710024434406254506326783444765236337855008042444380680144546246538821661816177680642311362460360821101574867504368584366816213544561145065720206125860570723784034205123520721438082436184634801757115735683281824408360641013164656074745787332323064327106301566030083301071803136402132287812722184344852361818465716837756555540887586513163682264876375178007846658103723226278387385074380384642827407252042724136825600074107266800068006422313625016044483884042344630743066054230251607410853686038362502882056364084881726742305702331467265316814553354668787736251606633272456825413584157864671043710600010086263540500105527050623176033264786345374846006503780214756121454242375300203276638622110108048141563441116628806234134760504553647058223554135311070634858585283855327107188520657882628668108366275624056858037434806641267454134823056843474608772003763883828131011448363858582282875157384476340212466740162244647632525771814178655503331415818870868241743742518047002010055257008127753132152842325872250853100044748016171003380820243323870376281557514415340577356386075663233567866621437047168355712741818242830756844300471882478133053853004858771017120628372014588547754478437417327114104275754651621204153378635230006467204822651347643681856501541404714308422368417328640117205583687745053337720704653642518742543366004241252017042177518848742774101102250163563468372212860532372022710408730752484352482362355480065225374872342684523882633538018218878004833648435144204477643805675304224015506868244054187653516857610145563486610750173521526455660436107127342687353856082545870736175701658515762658575030712422847417057808656102234425217555213721166558602248654413414284455736856432733100065703554347778483806051077156248606623464527873767102316543764750007005036537467618802446680613622067288412252465564771273167405134322541602730132587112302758136177850875336630238051271552886777607111265836310262066481306343442471235000001508682105860174883057335117762853004848684531755361630426048273076710770302123817710870178334841388333371553651472226264072303180805003601883748636100115878537753057082328207045286761008658861016140047700815182763584776642108371573668180087363643566433168813126587173556458641467058021026542638020462662101425666457115002225254486348651661871402385725786135163348151861564267261678408854378868335846650447627178674156613170278152267877758380648488415062342251472547127514673587333825731735888021102003436734820642741870724801072451233341606365338627663356312265076708086787585122786036627557344402524873008550123841161357472808527678056155827073502382238272130770431442303404240533083136373574488452468145213014047573333857574787607187651127142125727503820705187362721363484802720352732730718657666053050404624786350310774521064015268760502842002438425506300084045658304010851210871285641438066575400182286652513861814870703544466682644517471483628222014748710042170355641104567720754632475137688500461121662555560642730756625576730706443158315641553781016767700648071342883004541256427886284634108288326532226855344810528158576750254455202010657002457541755768867768321561214227403157471555153676883401257624574116208164003630874051451300480473038534022732778374062304575704143022437733518330604031533113611400257544608363657732532673382200803401003750060584614223354382654567028650430316256045853080133752674822500021820467230220035768705383271676005258863120522883855846730370300674470344572420014768573341422404478247318884550024802156250001077154154688515281350176845268420378248651108563148174700364755352283314854532627085618305005473363020160624661066356164881601718380426748762888630533603361084165574035556728218565218643342336612408243102760221477421576745217836671416301468160305234227855763761823328710131704336222760088573576586284356083386358724631374053846770638554048738783555876880615602137574055766274227533708475824450620467334444631465548064437684155308663520180302166818030124405227706427763816033502884282807540828737160518182507312424157684388034262385724751046023175172165575644324432051437064538516748106550308322782062206165284725857818186311480013255675207433072041341456652111475800637051853477032757431421853177523658776466406378174457404820881160011776370621204840561501016315221631048571377374707817517637638535048377573206804342463115605176315083613461644388837254535053175370021343735077360166880735241163770127825056274812653863831050517721685530328846615413150167751028065608370116510350638070143515156320066448001436075770272524488633137670742412854382431227864157572055406022318063480040552042373242583778222570836867185320083537058202387783465187226281447572405646487056222104002376055530471022231310486270478061123343744302638780127207443602808361066625201144430530386462471031264825505507310068564802020463052510831538586836584066413772427716032140817305688277886843746707818016160684744768856226828373248214827775323406032838302650044272180225460278535300532583780167428553803022648106324363081008683374542670238354702066784502634101736353737120046660272305007440242830823645213127158883164272111324362014088633051101408103157351563031805583227305683154182835075618150225461521021716826521867581417172652760327530784735631754377168881340137006828536874811137077236547557656028216411438180042471243227208861581888838634246176112042031714440110328450315604643428103081806750481277250221684152176854162488623133273565613746206054330741562433883015266136682827226318376487445155726754520236656315061677846037327716073275573170123552276336016071173031348201435371158400573026643774782751874513437084274010667632645656117540531266201106525417588260387805017448426681080136211056055070526675255231317570467385727746133470224772334427477086018306032410007856128131258882413508888270605448316682853576654420857668533618356777583043367065575161183801736608578426124560120703081355700881202778165184321285216582481432076228610743378347640255036421368336624208023305074403778682808713462638570868473783083377867617300810633783062605535505308844848141851631412785381652242460301506503043074063067588123638540251043754271286561300713721633324668210656505802127735546407821316473817647081516883436136825753853405805075857112437281375345332147443831282582487140838560375047836438551045031545043651667587534402361620146223371106121623472377336824675374533460383336584451236484178235014848586264658485882807080764441773174140626884877832007122436408113563530673185306154472156010831236237251660370760315701320520346833535068475426676072454343388005500062258733830642464257858754317357354201265665703042114082062003771334024510565481288816066711186011221050080253775614663132538807283008452171278827748581627343726787521473427256527508642232404733244617281168861103750184402337375825403670078422437077001230804157274101700553257555257310172355853874331723638477862680213417552015440644670542443003408521524614867778371676803301360853245062133563211558807105007803878452584430146841884665366157466316364303713047160454430060313824247626545823171635204231383876426104306165327833175382381521743675821250221277112250026408073685608214575868270415170454663064458062701062800281154676127632173612843011478434258470616882245766742677406088753735316361121856757840830715011148878704382616237541205460000677023640211415557470767447670112102347212407355838058057233367277537813415810667680034638823542706734623474342875300864375374357512266025287386682532436675162555327260838868268407283123120448814086287447338550115022348626365326605187737230116757421886465703677441522576450323863122161178851018427378521346612671866555156187071526844454330278371164357821246125617835522533673680637036428665201263687200488743863837845755065688130353372106403611506601154477176266128325856388520157185860325688243824035557587150348634613781150783453218617427766867361052364076731343175328458145880401321550112500068132515417674030081318721384858633704044164617218743601801383060808615332640576268503203767167352341178620875173181411763403510106270557621376743381042636700452581027601144401016162263173816080427368234560033343682460847105616374234108347380234655751365337645710420682337641031530533373840270473266001474277683373855428143348680413418712535563687166637731067284270441308052180763564536221805877115204236750163842674066500354772121248363506441046761448813168477065176667780824050763067855606404616557656233346587318814225727518448073322017258366887882822234302311286663318627446336171363801552735081646843064830810803655870660251805274864680061360266500425885634571503352543430633136758880326135612047567231350864503287176535144831043101727164873612436376327161678412006870876248530645455163753717645158812570244341372428443557077334650668533071574428533157118037425256111182347302054548475746417885848500021065267682714356201752628331225283122010074740517511251805675861577811162868224275870262188403306335345053236260827607228740635071073158876775317048802761612315036144640606346160170720477431315251606426048040178125184863776010474745427257335482070487172051073512262453163088115043331511037244674110211221202310577546701524602640268802122866611246763408212810043261627368236307086005352622550517054338654675622386754387635185687588602811455530136451126053813450276386832735214855420164172856612647810665320631138875267814555033770630284884504776280227427814138344738008806534205632430081704027814475125455614058530053102423068846617855168855322651445363553283787216254512462041250386144810437377422805227745287618856530264277880054125100201648375012257740506283172658017177587634680142158554838708840074574416273005248764280048387625611585817618185378120814464603447423565073818482870816380638825501724652342878440835376405222625238842880780432522476283314370630647761355314734464517153837080362556455881516583868575446767388707558147136648820447187533280124478220367272665435671557481084283061176358240136172066151534350718358302218637737721780631464681575358882471488668845747323841350364131136218086076584248804338021204254787464525645782726453727555011078672842017780680717381577103716525250403135271141720738635513272544210752873464513018588621311854650787868267118270363046240082364503884457261275254026358372857721677781672146550234650035443530110724374533477578027340210566806784320882713087150845218040635770124124414643183766206511250448212055807438481127475153573058382132638732577606551036870526524371222085837313662413178347237745175752253786803487541213778058827145050134563263426508140027362025088324033505647886474773520334628057234271165153280055813223835238031435008144235243744344084854520475245502873684370881358781844241710283084837078825685721343702674508732263470653675170065676270128182412870733365833486770722877527224356276616587243020304266641075582722571255818603127526115065774033080813304161548125067117326811743562858742337485755284776215187508467600885164240044432180645144080001052260056554141372664802266200305374268141155521630835720006315817804675275054701155324842581856245056572827826048621453568203042814177861536357821770884206701730378761034242168705732252868867280623814245447672508835366542802048277828554505416224762200451511056305568470724562110163285773851573376714432203802353287880863846516758220163616875782851266214368447267655507146107213325772176354364687501067281583800847137463084140014744245452102567750603705576282802247708211211052354070368241243453446333708778275554570618058068146800822463821637012043307718270103161305552153030418788180305236865201547772570358340224138623286702864827160232342557053154438553171711843288104720036120487712715601242565177327068425202344275436551230261162752717412205151650644275256818545063016500806770764807070113677777864238517374255576650176370125884415262278105148443240521224334532661325588078567322158016845802022178640888054826258001068515148448005644707813454814753546464562623462171252483377666087233533836655710100322361401187252364253437203650163671860463470483267845872771314587317888814812123451086344311721007426188761602738036805240714600135358461644736024537335341104181863151331365476820520713473024305463387138402486542185024255856530656014481080081555141301464315702305125366615448832430447201187211362748316874387338023284652374444661538436786641417332403744270567603541432244666886501443165456367686770337046200313360620116845054153281616363472658317580430230222814006707342638010044252575063717788781524285687051450530264841376470458331617682358181077254762640814734556460206154641153706000840684425773012761572633300051133460763430806262111583113623216786565045172642153731311056573452661178316620050215480627614067608222136608658788886045214636712211535818538742645856021118182045267814144548828223657442482635171602163862513452023744427553658216126873475747248215132282411200365356725113817026007122312084740886650011323324638858281855626408406571567555188571862666015604148754681754610766540733784063263332411862031714505702137675515284152587713735583267572577288153643682200833757383355785456535013185557258811360713200866400865374113213367251365584815704410671022827152521580635085476212511854015787424828050674155824552330137557507822141574630800716160380706712308806231403411301537475820301320301146851657332222771612472627576214337347466484762555546326133021061213260414134674587584012861240536318668255074813186477134517474118724413121024021748440018570407688615086538411401015404576648125346862301862453263548121524516757072751706687100804856612312273248744356773000478642816735016115548264026067732183127661200147716604714315357621603648443284174136073446176358305156700853350318422844286137650438351770541816453836052048733085461661160510675143881838487415550215678458357367605024570628354575483765560188756206860875356338324618043580580440588553206324765328552010525036428106424532644128502507711153026577860722210653562787764732120308340333464840878723338754576865635867855620185874587801177543341187703371826211574872771324432607723400246161262236323242172740158162541324344181578732003060345617307143667475548005262673726448632208054143757232307385447434114570536435156677077176661807342222514746723817202640486743736736374666832600066608566241518673316883288068334423317245863770670703630810020560084816717665787583444301541388700102484242137404354012413730630864422720706511874214825488404654202116354503807532000570666733373718414247473786317276338848352333210331153514400867653283136783562863576845018852322627743562822775603184350613787885562531875773445864676448500306836372530432076650412123586822244585135728067533452622410628584125478484535571732135180712061736887442088580766615440580813113404325233213863834448713816022830613765752173658267256835088767412881105822460755238681534305031225287065678160322746845777410484547633386783845360127772463417141221725042774261200062537482767347572367754121786357522364152102773222587771471887310737620547854665035865342271541070852548120448781381018312770664637046536150305361150766680863174832603187127825236710455664370325374577207775682388273180311426038551041577277804377834314482821084371526115465481806746101244511085325247656401845080060037754564850567412170065632054508250638628782511813751608502821673442041318435773086651225322540153214878020384356870462822323528251678322541542341550268605223572861025678165124881842244330677048332038448701284068043276681250763770730046373576643678657608167735027743522714267333046100188184040244076233628210328276082516087758102487443875233145217662762718528233048335180338673350235650702611624045551276761031845328678186516542722073758756133283545170667088020172727783421273260714445834100437258615032831841712152814403725741075635726145485256374054474006454841650663577851884203641572731720770613308702372321858712371433784536130825416872621288801558852857170633855723746143836366335314408303564823762857622363836607437643440754002033661723123182251371708271342077584214652605814187236670663030757866362050444184132611161788301375540072604011083558673463841242855274773583376638380485438744242312512154246850733610360080820727244566387243776332642152156677786388760842056577610815775334074117245143265831247888034203570580052744517056064541313087571815685530660277715836761360055480868748186768272061837484600438373455073438144164264673348843515217472478408307314581587124150770533355233815478488487062080564772605346003808343286762270530083543666434742633240243524233247347486737675232162810486278534356460047651507277778463053681163108870182536627288320062407686607748188402656876550111273885015864230446180184834376113401482057326141027607812845601742416424344444684348007871865424377834880883415284155563172466841176721805666822558548146808665415133820851653456817273471677045634714835044226461615048203147331666404770453350674614413776558240044405717038076775387374432530065017126020821420267678852144777555555272605240077343776654777022301044528237633853431114120541012523510082602752485368470848031223587500446838000837551770420446058546358172600235036548763402768381580834631236884226120132881085282704587846465361204711766622245221378003873777773400248840422033657701337041158780302813038755828350871226702884654251460584882123308516106845051741812077870823417207734705570712477278676522524700826658823087678024328032788255147830545013706317454801636463668320342118442703376616214715353328555188873240308535444178406277213473527138767211733650765083313724355155705817273454202846730218100615642833380507885580244103170280764765706155212174362740553267010361064765175440637728524272238842020826436561711681335656622124052827662521104887204688355547305385122758036173084611032628383243261543266365473354832887546756872370187526732340264230687683566462716231423302602478151711758374544710146337620347718578883687228420318070740360558518045455003433263880728855803564450076878560883237785541047143512802684777587378243254701374156571558170870518042058068815250145623240004863367486574205417267846308248370586013633658824700062362257010680028652007430104248330212864150525175337174826181178110023603522241327458342785716438305762534085882022182617481487287331177877411681073552604433607183705425062375814710115132550002262038383120871350828602048734301070638076784345678044244726845640651255543444166056237622676581011212534648263610055674712324767358653105650121475165678655787383083056815206768245425304422328401564677118367558883062678156047660242371882228016612158251846553864305276377112315741571782843372107827651318151743462071088756203260833840560447363813106314748303661760468654751470632065816183228448404626300033710646734378028701184485037263807822286504661516663862811616174435436763818435205530373365731771361045672551260251141103361337016361218884700857034247262481727873614804647503167241078667013188370285056502303638000562711554151824752762614852368740501376854335424513257042701880353526544616663364818028360604662555002635443042077288435387110638027762271061130181810046287480048867748224576261202163604676442416682844862325375828173541304753162277182150762838538756772134670118542735488660055652400678662760734170373238007852252705424753387130141887570384687066610246831582518818382041430700572180186234680015485532230802781336468557085235026758800755228886873401662522133623320444583446767400867524262705127783115620321354831041701647672317352737666864820725317507704710701884181412658367047883727821101450437887371727673784667376174637770011754330151180202001708234381784027450634618668830210262425768848172456872764864847132834446564273241174481456430237012465721668278235242052177570511008586836158513816375708776716076385611324101058164436441272855452283228145067386156846648876338045415778862324887020610541482657707382185280716580073642034543631441586730820702434167618663236518556502831736868431121123744664368125047308347885544853083643537512000542810248445723218440761511713621334303303428744426085804588546110571280280512417028141685381300110877138748162862054624557737158106718535253652763557576175534634484284708273232330667706768062037501047242478801077002344304444278255531183204618861606453228312821622205647630373428762502127447021280072147377206686076632233153161448231358313773864443307662610755817753086302868173057278148664575444758165220865582026164688647011131653782606452555506653714772052307717307555028863328127068582181057702614827815456533787165484300527044558741087177146210600031656150552573033351573520122335448634314458487345065675481767138220875573118602361208735630084328066785177881088665858008520881188705187554871125641303038812537032187485135784178488681113474061163133103142711840301080202747316745437327038743504338356386831016112222340120338413045032516585007031005052646502003855173712008807617507360722362472515157662620706638570204506757044003377257481817726444135103001012844056082786602083601555460710200068227504576521232074371438123005338711573886405064324050402312051258227268447216681752143838408077176627688172705445760232580552106638131578176328006416265621282857485445832757866242506356107081406253318510224486645004611127855472775547175688655518835427866660511041740318858624418204801736501864362764186225813383305410141672012781076757843886704741554744407512267532408200438481825425703443503316481842220404567357461683630404531136781627564845425532170412731572855125321864387420168878575563358428574130433638834261223442660664604402514315653481050551343547126324757515060651188674772048202630228662604021244812845838532815252588552830552612203502106002744342105360620806307710582101073810068060175332706357853170541837625333353330223105116448115630588615478447161040025258358816836658724846628421631678071611372326556887542500831267287433340838281672168848537400413337822128834134668606826158480720278875704611518563323818311112367404862143483288560724756830456537675025802408466844243158443272487432731758721171053047587115328216643108432584016235022545451061588583528476215653354623123155338467473501703321082661753304400382615733606340686604627066643736808025504146457622804767572036051706183654408736813234354378415258370286417401541602743078825421715001586265700635516312851527778586534102014362755778534475357630855805452625132502675358575551615824340588531004543074440204038250384266720513785188147662274583751578866420551724256676112465278318783454401326144081208153128336116371557570386486122477070437210302281515441278820766851336741714685411303043820448815671240142244052871486513345118568320767083786653726825877882560730787325142386571562835048738471340463658006855448333878072757356777330706067461307178514113078656087880602724726800740180668236381287041345607223748736757584346156335212880665048833470163311205241463888804555612017382273511560408701527766617660636864804108356825070802242053284523652741314144866842450126273108744106721573825557506478163814130072868422347534875300751218772521521512077314222212037641716618600417085262734745173768464335082715748050753816078688317124057343712266714554853717865307803500080805131114257825624731570053073614484661585172553035424560502470720252142751655700171454378407856178314242443103606712041311122626050783220375765347171302367047045420327541771010801722446615851671587182584202230783875574305263424232853282227132100214411720351731771681812320087874026026768713465087438232076322323112318836510577372742663843646437703007316623367508602620654437488486552220846784056786224724470834025104513654422872446327150105107441610161617368057248800743453412235218031108068638148822351810244577156337148630533576127680773588021376084032166165335674332243115134212645835682210877631005576133143204353548334531131844643237054564276277172013058681541023845100236068028071826122303708112271362030546307238620168775606160144854555545176602278217256381162711187210016703062674348303568511553375207706664782480710001362023504601106032763751048835463725427737216066470413201836633271851544083773444251237587803234051038527224615808452830704671857722467440737716487715357518536338321053883844284856852316836771864541577328742774025782205536745136233770732037134434772564660521524764646776252183685227337087716220756228473324421300556762804352206545041722670760532756027567576737678088310515021443816324237657175545725076685782863622246125200761576760163871273830184581671753770733742751011576536601084384677524485325556367854373488152483208047653702258876005334787570844014535715274386332346422028737151851858602355015044510527410607480077037526680602131214805512352586678808605271010035823303342371460284854127322753732455411485742336737736073502226154508823161818123585703700113645881035882185158207057715700313034814842051583220330805850387001605715103252582064353200158817311713100017834485546817681202358627661527686543264736352244036332873557321525804324168725228673247703261520723101867671177586071470301526334831218161752805873763383568063714211350071126638825530714631111556212048521138660304475641605155710620352417263150047820383743717475227055728254782244485340727511717600681420071800218335010483101101155312351207565610467427260858053382356430628142761214585734825160245767436671513604657520140878782236371736382585682002240122782476874282321685248631542756551722443067630243880413128367235084783005335215185014753303351737211044245047836853285657228663835057173083616074723552314118233653807311445216283281700525335744177645882030530665580757567634085158740807416762663751468374867855348570183472140776505884137227520486401871710311448573336636830010243416286375438561180426408088682476426624078224152350766725334272088433178424613764561381765301242041147662281173336737858323713746863276240567604411445776644007535207850528536455747671658477356280344702354138507724260478251210612857614275164011161113647738874242316500847852365514587832152603035112011357416578524072178405620414756370378885018221505156284234254140723701048814874143868742436043778341873085140474001068204331710515666822555833743314865513331013455078660038372228757264647871783374386746567427181615325425773538837658753102243277872773517816030846065545202744368477503775846365656828127352480823662613853270878431723742723036378226452860453017280803878855608885688243707013771650368247136027640075625656611062862160832875836638846357060208803441366626701626861038448035257050272083178501152722137310542345380474514374205423703433745177850234146026414217665600652142080666413035432021375504101843747016817276107700000846837238800637005721050670360018642346841847068781344753360878402860180564620631441618077573140522416517317008287044661812102275120253382254433131384223485537624681562835231084128512684683344014065102478544563886632813642782826810056751310202781185485055527344362258611665284502888086760276750576780042181073140745422725345360284566772522321617027308330836310710330858677705862603410064265635038643147213586136047127083831437472051048471628470752300366254703187523355161668810767014108434368274855042073038544754225166821486038736164652484306428278348568076773114144803837885088620356072476157847486217772670634541603637107257242772148627261246068783268112741080210266203885477757768611733537185602440748027247504846181546472838728774663287512774831018704465111510706827104204340578238084841155151572484705143203215483725436323325844567546706515688725486806366087486317850128338302017110842637536234700802568656833346350663616065011323820217858460240616860556670726535104004373234500135367521516386877447314185465882468801747440324473586351407206411474407413428782135205834364125258508446875673622115137880143548161743213860003524620213418441073860402821865730134328636606557486431136332460142872417056320616523416216436883423648563611186073288466377566140246765842888320661202700688871024223587433034418258855666480060432485421758635412437584854612063387343431531164026031485207703863337857180011533636203241618101435513628053533408751584620553330304841666688248017721125606100151062541151161748582647535230548672625688131641838233432570804728717013664132143016761345421801632618537562184258751313283008672467006785535342626341610036688161064661215624604058617146678822865066881886417645017412245831512746440040651260284244772102743676087474656551645084202886070371252230805445428314232161524205887516111676485882084407237234800868237476816246457817615263854285857782215804760357378412820022847248004553762613317821526116070368541730201471326143415115017281623208245721747326047643844643767503364128412663311531878737138670214726718671386011033284504760506766800307648053622780583608152501073057514814033654136778242241763070225643815352150743654532207342045266117276813142863447008633173857735358100816743055587338635153707111422213814604231744822227577145012441641811802337650241461885462882807437847825686183723328350045034265078172430578540600223885855186627500842560007856050482861526111262607681725240838485627021104386325677741028468512117764455341056636583157627682363282053420480705037108588506301343422438681514452387357167328457814073566720810477847512277644007527016358322746424867581024547083786163717574115631824876585128167270627188883444304208142644314642133807231176531535350822628684271655875241076137548735634668740572185017147168823706786712075362018602682322057024313238202707183057154870057684081714570653131821528208670663438655765376077648750735702638872142875244846742318878211763036428353165845265114617536441404826451253378288047175584228362760288253453273307128772622083676432818426786703802007746558881075244817715185750774852863027188648282145574643115047034533331746470777724447007163548116628501436026203842085122831657121317168785878773652246520827521630221061628285404405280228670187334718361010287030172764323116781781161406062012506620136255674528433564228785474726462810731270070253803846047888743864606328434574274436585257400155612710855002103784375314284076648235778328866746773231244457408115705055471850287148871152768655680424346138380371333446081873612305863470042247502273151313315352235541604478662756010186520558322034482528103034310606852751016375716707223323854354127216072433885737301451865033386758527316831812888305575638710001884066523837652552362603317712832252510076635040664363754545057840002014724111178563121834828701087466844571541123035525528627336018702630654582270784678425547217060800851060737177116171750742860361171384501786620484435034301358081762287043550057767850358156051353035484628548811725830108410712317524518764208013362458715420764081560825417451061140232505852734515485562243806362737535578460114102120702713373478537338102070461631010868480821350760206862343165478167072500426573464130158350274084155765677153710628758201556344825631674235245802002276355202460574801133437666781806220235648852051041177264057623878131530374712834283380182422032634125814766455372513805230500886008322256167487530042235588127567761477064262436840061843275432128860186156103022165580028201316103364405043024121244642568261611644780735870576482456048282872328121726854457581874854020258605124857376306600060703050365635507483276035725082633744675275240561677134127063643375665826612104062027565647602623800352663734412588675574783411276528655000454760722614723721340663316224842225332874740504834188001600053663535115715706154284557200450723332868786000522425488180327408117020746260864143246784821735048825055208848182012057435010687464366415707450876445286445342570066078417611163520846516141461310204118712724557042525686707887046601543477072357672755762647774440415087603633350620310117611061426467211222781843084086438737754862301334012427056483267827048284640447455503703801387257282007444457537436417411558551274470782427382863652401066604047034877453434648350873865706576713261486074034648437467511333101711622873052808546332364708633563882752354621241718103577640862146832778008788341001356162538665512372073834343226268453442357100471524463716142672242152155188736771887151484253140082834850641652618248250448605582354674741270677637053741506264825861514323652253615384865183338827858350733646307748665547017257814340038136641677757154320206781822445146358202175875622646243551522467046176066531636668714171712023418807283513525516777674108023302632485726462076104641105570070834386184562161138014163032443715467582048323748282355551125416476445881063056244860175661617810830221540112201862604310325488535187404487423551216166258115841106553482033218812336814313620086585588050237201771570041352274360001830072585308817730000606187518465476531063758855428654364628580680621646206628002261215435020224672332061277547148217048433702561610308763847232305361542134051136583418075818525468614406534537370042276816185554732472111104745833752512338528042567303432218750488381068251303207816785086115688218071161000185180271068607707834781407586303353861873381350583102645751040772523036457556885177162253745614766402723842433024800654758384463445130378536652643227544182435666247171347754576218334843682628614135546323612147374777308440141836528732665788683317252826841848832262286173654024133332328285834657301867813643303754536278750386404555070841018358085803631864004502260566465283643407125818723534260504158770014355423215146815548008240005763030542227478887877047268202550276347575458580154607104544835532202126561640005568501207260463000671225024622122102202006058865447640824462082676771881804326625708425446834082064446553726583126851522806838387452810152064673773534128653088663161013724507512544411557053701403252380325840531513223364440446805550028213883551134810373087027303746004450806267482854626824781484044252885127672024381055300406025883681724663102764606707353281150038402820675746574535815078534758047370478477175427321465337827726613641254530717432383238608142046316844136643551426810542070688556032583045862535644607568141205773762077816800246016083750385577651413002331054323343265234433504156161747548776008520712540327840863138785321302303223524526340236013357434211615860603578748084272432242486513845476657641643251404086715448115537424557877323612487510556655405627045202008344247722434115201145518825064502270145603602763371036206364532053362233624866587415060170466211275366308675337772885368240631411861644808643814387604570425266426571223465242363812775584673773178067066720500007322482415884658128106528121053522538180840405670854446145844626712734358535106847071585061127111281046844021878556353560447771647324115112401255750363232474558886840813887364278568256235830036505247257325183335676735183150542754463724422218427428453602228121748312010515642010346857370300825526113055285306437217682106625453174788858286186647827044122370047732243240200081555745203862582543706036771270356617283753327580100735026122300357553886705615815523203882783488362338014486783023371051116122405535814033858778844215014818586878706417464702221080265843710745745423788821382844451503635221182842267623544321260078350203040288087473433036042240123770633487240776808372631101166553574117114521145040165643253604802711421083064408332112582452700123473744100514213362806315602388687474167785435784453421110657426835353645821358333185226821074232386042736711311640104474387012388430820447077623378374042442410031364787615108458538750337271341245285835048741634416671081165784873464848244123800528780644840254321125161146145054584402476471026403515354352048211080568343688434282332318587857887330661808760367504151386042525284374613402187444417325363061773600278745166731480714043552281127262018028081280745773577311018028108325330410233413326411841806733354401278862088233747031635056117682823115485078712208423537455317837335475681017244105678200585075280238266056512022655804053503258667137218683385684476550571355006773565673558212321703520103850254588365848634031822817003083564254706806837006073441640141184523877278244660287127746418410170545310047356306200465468021086442853647052183827046024333652305254610012432785811645700080240345366588334025710556188807655273657266451806765166165731234033075420610500877711261280307203763528516714211600243388443246382400248517260181000633070507328628135261116838058676362543175507224735181772186040162357710844024135275042428575880758631078336222675468602410110352414234278811745278178410406138176164423666466610466487755431280610002113311345761381118488851265828714173646221748460022767744234225538143123087362128087107117550311551035032435064023350202066530317613372382551356176730016848323618474722867154435865052855627252503644720188841468803232522112231731744503451455743405517213582084763001316414207821635670020271270811255213820485578441135402214806853257583888765331124760036448774654041306576645572671747773420350551634284220876205454611262733846085553668822746073381872605500651418087525432387802551718566502733420275636870336072658555144283837412702103835117220412606825263482726371038462416012571141464148015355421424230063238820802831785016414573062874801348714487826314821854473503674636671512607576375687232266185842428857756275263431073458676063265184357320501766774721705078473746621057183167333775004528438530118612756885301257065604573884106636705224447047531665554314772288325625375141178655758584514364227653284116042043001770040733075073332476037844600138834746135682280681310614836051234162363355764255763768765721606470410750025055130384506221768142164587146274443704530551476366862405161352883007383366573322264672471723205527786443745815125714235711751057185014217355370816150736311282736632164864265186425318741813188606537505511483205051661472718463033718348317276514651382411748004506850883252084637485400477487674517444755035018763215817244826467636484873583514674388275703256347564564250338662313718507216565744855255548648024368438747482334303736410005374854163173340563814570228284561367376271681075465518766503236583125201814360177320084155734471601680508136218620255543843574202882217406786616078116152632258673118876242360351802672827440553605025123057745052521781231080848024206042518064533071707326231243838811635710673042425241618180334531465437404248083114318802801050887130762510886166624825861086304506064775515212164140081768751233831865213058620712172830562888657087242574568015658435585685688182403453288483014503880613132717720617744054011546753444601466721021121663438088484033207482646186544583625540154562807356601441626457403721036510005107717166450147147382517876303464705435516161176834175414885421323627746082365568843723505153655804766830088602231775148677346443316603261311061142842300132385325750724187661731322316333176120242076864643346240611424736384663555218073315841272030020508470284218514722685186304771518521627643770124515644576358666312153022221862681766135501176717243681110664846248075640548150322477044078151167738666171514586113856177257738583314582548373801754552723520552778176817125687303721122214661742113340250866775353786038483230613213575230545182708568178053032436187002025550838504250184138403177583816360512841836253553173042852810136246773716806322781113370322044534446543656836287640640244507578526466616543025718108214100866364362362850126201038061716437678801488051124440520735347637542588343035453676488504245435161044500684355666705245845503863507833214720032804877446608161565123463631835705271515577362117287111046306051063352040644837754247860614775621048255373710718748481848852762530053848627811254386114167783553773602300084080534413111281314261271612500348726254686674406578864404100726627782106824778087431011058413100850488283107814062423363072153812054482661665347241433370288213511123840103288582322558628631128854540510163266604065858585840447383686053322311116612750125766265674765288753746053830668187821218303206572540370740606062061347225672374877582647310232282733770542366636516628582387477305672036501588804233836631387456178053767825206420075736226136036522264262283748807320640824708583311771457316246858806652007672050015247872102034474322842382155288508733745415168570530534470167681541601570430843868270780556485660882417711726720181318151465568115287320433822106537624850672152480162643617222552664438105154178170782275051070557152082185051672788632730660861384446738367577058642046171254316178755501632538006170847523754332368038018600177508622180376600018846685677371217601586755320741633607380663043380304755057765817208412122272115325366785323841636164742837737654773113785807687578444676442267087841460755345761438601607688252040452037535766410675682517125175888403380621737450885816700608517833027727888175126352867335511830104258442375436428216607111725105862218357402308803373280576565531325787455724823721164800537413138178345413654628825676615183868336814202523120375361663316303818023051107057855477128183402267080217372403768737670078006077263534512266377385662622450666224085104771646761058258718257716713323675633500668164634482485002285840446035306673502668845842651075872150616736083830738033602575314661258230271764614278582248662046854150374442457550764571732212730717350853636650818614817310785863830852052126608571804625448534450543561540610334058056402166841855183827270238165227641431124845133344003104462466804031026830376418525230224686715266870284750278122386011748824423420260782076588132066724631441665554623143366783107128201467727801368525474032106485504026543314875636412744451076512417701113731685544465341300647764461011210435715654058215568613178458752286630120615052276462306317416668625150376810475683278427548215662440852655125001642403440563706772824615826230783876465051702271826516744707786530511323438616455028886813068145242706417585445015781202775405148057682676125340367726158478736844353685111454277648587042322438438752611171075730384445118078410070167628845180453534854810685081475364632433430608823540262654136825470440773632502808280072416756071250526245586056423270533724025634661505508407315057170411231425144012068081040061885078305583812200058240416487014081781033388032882531111363865345587355557435638523365322871182565484146002067034415746662285046120140550102631174077327136325056462382011308787084874858668563757476477277180876657453003063007181285018162610145760826562563875824877451448265656075144604265203781405122760328635518876171784835311804574374177308210257177505880674677175424838431350347020254377656328236714038260424647510787250882353161683470463884108057664031552380176636725144807388184718211060501746275655440638614423178826341553165166718623787564524417324088256245587674264106238360026241452466542102401243460621427430525475418123620524875753800452531825273608611403031751355607540211611122674837486430882818037285836274465248430107131263685410551426764287442587133187024788062518580645704431523100613061546255062414801211733183480345516038728680618040071716063700575715633116214334074024081482678780563747152347805348368728210445558245148761160475708067185041114268066708247165875663614884354511124520502350573445428811137133163113010422013486064043667877318258683787536433721025533728048433684437422121808223585140166728370550425653068772646655667354110406443126023134373014236707784584263228262123558675107002256068277666867040880703337204681871071778764678318437644472142751100453822188580178625023733514825546521864258328326871624486806257774474561585118383671364475567736066072102716007176387800733512574815475045633714536286770748574175117100142224516400415033334372371087757206113324067138847832533213840181457305111830678884856667388245636078454744051817341575061300641552327868514616100748663707335005301562722474823676310520820173611437767554817074031438486578672020376482176142374835580388450813060247586055720378763555745830146532402820500368417342476403317335065656052142273413603615264072648508421151001713771504517027211585535506726481231874315231722152131703155583422068236412154337263685382038140448210644438354335835718838441112272617738111204824042008711657056680720101007112023037634330055354480758684117530845867184052184021718776562778130602803856370028674567462006282773468287323020253721448610333487631482178425517032355507838570375821534010882828218671085810120145421784480121082184776825417676260720461160484383281305055453314716108403232584165700454646826401021414252407315657684344666063243473583554471010567471484387200256033034176151762030857370360238213300375522807824013441850512738336641403535372370808466150410143617523650060520661734222812486516453028322063664723080148022423125331602425016444667477120842277724575105170660673154248367021666705684547563365027362346783250457013872015212315052346025516164556431120108741261215235502585026056636655518364643373464780385664640813605365311765465836824127442368220055634871043310535718033345655334742486566585158614742057368576673363568615332284242640426527786221225382157338245210700488675556826260360517543506655480087612674687857145333105857420163611815872683861845722222463060452048176072313261823107133733683641725882431746228728074258672462560844430414552642272465717417755617151451057568345448374433071363773565648277505272663634258733232716417225315763707547525522445142323304470403328510287331734508558608681441383155435187666732567186075723703523853331245858103034474342221072478408020760262434766864284814814302850386624715633561573163653427403168517506450676451554152335336070251100222214530602642138372331286721243170463565175623202537438611750348301723657372455076582157770707631217512210372841774582210665715663883532105426538088876433340687078507725050018724234734800013217788175875614585273555268015761303780106143260333176820558414050168382664151127345267736820365421328312268152054400172312813463372237326020376240416008721550567031645166072820118826341652725627475380265640683206875255516872015748743481508738318310315126482360452701253847471103043861667123804725670215582078623278705388851162765510805623660323756540533107140616545180502861118568331782131322152601438377710202710567152860758745468025068812867675800044141481376026104055440767705184242472777003413855220016541281705688805018002033415716643385521204008511247014048113371735587787566411064264647656011732550620430715304763357675078717272514726114383467745230175746178182883674447516570672024387885052336115711867281713778645566534572081600556743656038643216684336588403685403345880220085176848152840377352501806668475886582557805352085718312262167282404315818420643768003733023012227514036034285354883057631104136383707852875423043228348307051871873588644655217635085848608055575865427407001751011862226528114860352715113208864017167356165302536223318502663050465357182038376600711374277408051346713731874227212341307866816530064037871514253812251168788067241177434066667760772443503485670448743534835558655260828182131856012602842753560153617600453747628743385567432788176038482805505885227258803231772635104158610640653182310475050288401726366675024235316127353652066862823827470365281848031336312228643081757457775330242058432384600521413560328043248052683863268371550866324561680836312370561783056661876018257418483164177731110118854312078743226242346347381466772204428426534505314456341520403085018651770847540288143610105536564767561681262483242200331465737738454365145177110043323728316174558804516762508300204624007151403115525607241873788731103147143452021576172847640311650226468358127543157566707455626466364486657063881677500805761217248247022304114613107416518733155784155261087454074727504428351273565415870485076552127163672567071221258760034068382728633645081537737034648883573202624380358077528506320257756516744351686641164524532150275244884410263348750518775782454640642555205755046616572022575616611858410537271003282375682464441738008167014760617170217776624581173435074331056208552454375672454422762587367664604241525006816888320358278264345731040507268516015042371266261265254204273870200160150704807603038818434184165467422526241881481328475274566208134775482867021158162774278540401201235208486436872278156517103811228515163356044540324744382531733801158044473153078185554744444578251731757216532866103847737388062244078402033130436013014448550445026853205417553478486451481420372118408544688067040554646471753488636041051000706220770077655308282835078380325114136675322881881726050750135620845530060200167237154342500735313234448488414455013651361340820260880064114348163528102385054574648387233180823557552046675342756263340480515803501272225784372041284772573637374050137580747242014248418305308615735624848844284140085815714228062401582078827411164553786122033684315044778554566387842671113581526455184818700855581064850823301402102353100032043841277668035462103686344362252600335013746356782726413861176460446234077226512313180886004445285688608872037226325155154156353611076620152660251546406071716368430077154772852042731243843202732873004326032006233538581540516522761066754182242826637842248348116218356782375814482516832453860764123587512346515435033452703603056000354158362133270266304470836002554014824676837737177477685476428316042182405083844044602056103308218055055281226210811783571658762261812374185141528081684582128517325603721817470052041364526372470671120354386440071858308168564182544013318135016070716877872282243412870667677836114236058362520272314072400617438762002575740178887441388811287122183844801681521713835632615175560374867657511484365438223885383855170506338481040348750251333700532102170146808600658017813486827086701384061182026478273475518203248650564831853686601107477605822862073646335011764658122050400272450321601083471633531507320101826184140442635786604633121047676584644003178662743186678021311877845152012173520558377435132071115862422032183085633887683508122305336861177651863418265417873321375346424567520678470080362257105143845122248606460341373283803763844641542556772374736051336421577803213610742882064425173206213760242154112663750446312457067625405658456710860422546846302666624367886120135724855043874478734238374810608821880537510637084365053100225815486808653616707111421303368442252538531256315775228183556152217323786367244853521244307027010836678332586206073358781574221238080482588182456676028704635576044638556001165146532524106864773517426676811348670452446156010714000158465410362288411641863845001056642052320576325084283833561653431560131880254836620174854602455342020105647546802208112852610804515481842308666016831081018144270884548201315772241288403356030117326485374808836458651211362316045446358362503121056647653748257210820757755017822374656724562463443164124021456387608862023408851704120487355323467506052320334877676770255035254173565421536842710853322747101743607632406651023517745562171782884684320572851136484406021863530502875236264468868023056080811506238347305802175374816648134220784444682253103501006324113507461074054244563440254277701187528782200158276186715505182111040773641688407410826644056665564554502120416802656042728371517417108824125747841271250484625470422563644758124238113854451350146145742382431170213012775468724677816258524350233020141547053460078620527207370833415148252031080046200738702167880444061708506777500868271126784172800256136037306055156434507456545466074726617302016563322172710221152422087075337584576760427042117744032373081077711651758180661762788685041170874511617638830420770427231632182261012411780062338428882103017186301720624763624813815606865602624033202403748173716610311415341400353255043602870518374106043304803052648107223466467106211524322711776004082686784654660167768371730411745108604026060324065705503053264248666130748847552855124082280654348773740125775080758801741147026278017866633240232783275581100225205250270363648748635654843310567816204035812827836104727517574505826066707415364858722360757746562663510484444582773708347855614575586278583602188566712726286105575441172414664281762162356850371486001420120165753221533734527481471758015551570367252028464887555853150714738014861673057850725167174035667520431718131384564116615547072113006708840502585243483772838870404050310712651501806584763335743760851268274428738217525620425847148252153071478640672117672246034523604412274127273250515017075665476077863763347288737414640878746018625270860756058250222278734502563463767757155324737010864888235528464800105638128851586385150538577045168686715112446684517415874072452874868514124073431710117032465413752476062484247111187847132345161530176767361140545610712203183745508611058387821324145733468015213652701611273160502842582713582161650766418686467571878834723047858861673665616652333373167400068810053841367825315554625348436801318852371820722581876550666657083348213623534380025572680788332072764127283711775810464187740032613224540324525651568340732075802114857843767684143211288776123774063346037010377618155223363464082726071380747638828472221277670477081115334253772608152474272127431744667616414340061572448345384312686651162132585671347433771713687274227853303212885631610726767542372162831326560378745254407468403171546315132067645713813882176875001718882025251387075612267671236533035104484537407885365835027582757687383784614088305101384687288535883571042884104718177467004542808310065431506102558386200246634381163501864885023267856214643635664140252002587226801870422641312536555437036218420800400343151277807630775757182060251418348510454003180555108386528163875548067636214253266476456311035458344484136630845204754236283663174681821230042211313714465146616373047538101571518512255814420366344736771321505386546151388407834172154487887473054124265577416188033804638455518626466301332055715624466551368456580164453832163425314830288207168216418473325805420266638318136758823582368047303347647804064651445622783154502087601028502811453044781317024135274488734263578852002566010643263784511817847037010830047166223608800838744144326188852182150527271042326263361155405632104111880168656524366450772127155436168662883141534366068163832722007017383763174502742170874123806653048116474607723530336277507288817542873823860617727485304782440817537215476865882330605678676507852184460000055826325320625338216752628834850146164488676115237726410422666447480611746136700741666616277800448258781115087275306310212253502358128310415140410273578450324233515134755213213881527161110330764425062157072480682454177503145602840322006145203340377757756484204183232567811654644710511074120533223356411125832385178835045486254403575287531315430323115234660447271211777631142064577580334683828128287436813166012052048017770165156115327368041162508371566352206376508248600533582425248541386442502330766372285766238465247538451526841102870238556345472457014653018047726727123115214744124840420818007746461651866043028808730263403146720278352515073642427750807543866701685041471148456084083417223313012335057428547340870282183661618322251376020183746481876505386661643471802101220355207482408668221636307113007673571402380842372545777862137617283367250134870825158804164346485457162048333684071372810133466452262678213717058150047803378033422033752103418368345580170410282562462225383333168373282430206552862205440335740386366155148260708141002485760323070382573665751276105402072147454705256664188314212343836722715058705613020168544122803104474858253206583451426567717522552230054630035113081881204113676725643622627235364520078048371277058674234550450252071426465251410637185103078867775745673426475688700635013050467622634177266531863601282750026210148431208341856271587720153838557275422330313766734470584840605338222002310260688633887620242071548768372387237432086263631860104384501884816123430788601773786141337250312821802637605365551727462601806625314128713043030434300073231105378077527021213034036677720621375072735858006747837642204414322155568286135244875370460312401535115435455520083237474845452617824046711277748241418460854101116077245827034748603632271055718704723272207867144826160777250143780377567227551605822522005742418270176876042225351031200551014340026543748647443181483754220184635270823288622230438000265801001722073605571342517123015571788137246067460748104045534785661241156424120607000471504761737040786058262631682043744266311622507348582232667016741703137243266458788803835218511010628636470378637412130646040215671185282013455346843875516825570337212544083532778181705325337232036520247404134173111756521000342087047673742041601556138071410535154672741325143574205754761468062027738555867313542011124425424113518812757446005270448451253633804782381650874274287861326806607312484237004030417154466583533511066240841400126567773558581457865002662848603108238127214010786451160256653142335166148616624431202753082282786244452240772014410782407585231068804352135730340366743676128318116302256715176636587380616245704068333374323363443251148060865562385212387266847535058087436558651417473368055271610256558216876465385407858552056478213787685405475045588651883306463826002466145858645030655865337143642548804040132375214458821071721087725644667135003770617154672705501147486348816888112661838258072673227762363342064204833855157174216128167157143628884365446746401675707065701457274471163588532322220472150621021775250766455532520252084226341406118221761251618138543636382647118778421836480353142115374322133618637513174800213271168462004115742556031235702781734346203226861361750245183670331851076125050180188511614746814844462441454813240831268460670107872307154614006834642782114028183751624131715317118770371058876238283417811087800773300166203747746515808171087631783081551725400455538125031050247858265071045244260057872385387128745833883821121681300856502110278216130811834442032482800384402723735831247253267168834704304137681248075701876417842514547571512125606174448470066551702777174284206512525112680322327202066520643378776011064357513462724844561088040761361635848064522638842511453524247484473315173264617511115775860126364375820315666677675767757235821661058644733200711247267575123010422236201831653523528277530476714707443417085778564275402731551811202357670844436073848321430071314086001305573585878277652007885835213538003783018118086570221026333746133487821381475347656867485526514814166130350410556015462101234336101822567733523475572718552606483406881304518620152776876770304163626081827233475021283587673410366754344008873601416868725380572244275556553822085283787165372432704565776553336388761006135446063161780220561752553477503857104718642886042748425838065547038633236868350671000470223170286606583656143472257425508565781775663803021146183886072233386070158470804433383833515233843524002558151648375188452751274461800105730702231027541048422150051473230855208822144383344871567080332123865418427335262376311118725666443706050441851582825721422510475600668288663054887040211607071585301323081863217411846848364315874687512407740782513416836671325071703052243156316635760552310812611010341070737334702210161512604628526768587088563711178367467352460300267504864168578200475776014074442874100301084776574173225176111838286863562018580127273621782032831807543384828182558822225150623000643505322847124386613033205385086155838833364073684508628085272388772822541433342827371188087367242007142317107372457167147318670203888422377471216568288851323184020074864137515813436136106733785633556511150051704786847837141117522118256854131086420513363855311875818536445273016368867420448211674640735074173164804630744717168718713410313046832218713714048270271633563167183830177836547472834508660305360556063723261012564563335302635640505686186367787576175582360417327371351615835465522840016333048121137542752454310443566874246574251788650228755684623477871723371517408000721528783187213588002825448484758451337602851255351645282078573050854454612104572867436355783052762754834852522123005223285782425555380334464136808303555745587654207216222375650004851463022267024580358347787777180818555472348714141715434222512356251553714834682746514671002272778077475468677521422214262435530138463067230838367532587451343080825747220222481124825826487454855758062453356137840145126000343827515356258103835217008813406420523451615377313035285525614062173745382175115180868017674200437551802135315668524311732370102050541812474634245342847380780525718384601321234386000434026511842686160553430167436131221727562541576842261603877021330841802117841321246087325285453223538625554214268505040716501043451447713005841886510266387278086515207837766820100238051246334560705315346243816083071153578557613018748102051314760628182558423612878028140866830033202824562505123135010853551577732806086415162753552513031238238328213484547401441028775066672100731722543448172405737385044600288830434544601721358417772516502732704306650787176744246440260827373265331417518281758060501745533305504821156654357013800616063316213027107443863714075470606268461117381630374517347542067410168752565010814183026557578083188071236526471113160571207063577350763162570783516235052653756687110888444362500810505317033026231155248751613267288523561627076366685368207378553136211656880128715626273234024033028170688175108531578424784011082541261130868672267112170614206027018655371006240310883216172135586032341028018607034508137145330206113474511618040480142727837216465003242228548411203813844638455016554776244664726282835228100616822567350811152178530387481036515663043442638766057722336144587401575542542402558187477172787718706276252310787735504717134455253284246807414035257546106773207730216736768203035815402306256860511705264011107170601615246711415845208182131261315888133050748517866162320002385175380336272072625630226251125368874555343306643264304506745840002650456554642614006738335731250312416856465215617035356848732047018221533242765616565071475855633364141521527287266513005628610875665542078405157872730783785667144843125018132721385327044205235325648678020281544534766186227077825511575374273528317540255008631171552414476406017382487166817313346362518638588663348503622540656642217461001045731818827466483243034562802365628786426563763432121401103860056204247433286788633861633343674072551113545028558540542275125441033766250342744016535813565144711211376667517456165544222614470426408202282017360681257742716002115478684683415824608551337864176641703755348840233777217728078641175222703340210516774276377180687271134651118875042568850075571020455767038733778860702633482544705851558447056415022504126760854066271728085586632764553444116864015422842781155031142135744061647411450637410680125005885236132160284268675865227488742346317238241381806780707610843576472037832782455205158684585570374886867423603110550247744622555222041245226854886365725225686362268546301627446801846830086214040185782060683884162787765046040364632014674125740712386256101200602248247084116802843864611838625352161234435668537585270022162225573081262418253670163103283414000233430886576373134665318460617272725381744214673705063265181055477048346844525808411032660846023364560804815031058472683575211036866718121474185412560107571844340224571515260045133075722634654587344413365215467025750212240174114551325715587812072877811658473133044821313665357726776440804604371222013464560874763616706454368736125776106322247158265713253263716745211110568105736865303352583041607567508133061585420127817150842077051561108174765715358478364676601400835576310438351254453185051255525107160010223136223765663164572500384452654785345362582832186734465858637820604013502318575778186165762030258737210853810833545770531340883402442186186100387206838005387658210326417763581446468614445605503418130186613272411504117452221483112405513863810114116056802453816877825874282420250676635343678338615650162087470222152085100335166377877478344583625168080484223302651060126402540057411414715085408264323326075553088108780032173834483320441643442811671856584347817315063657053358330733685711430238718113852603415417423618723248317177707826511130777811746825587757020808535434326674830873652444625723606474305688455285085825733341566322484486375847845506018801411316853085183867251718637483411110277687351637601853431721138884557833754843718376725026487424534332471267718813682645752471454270306378347234027563628547208812026437703317328624412237250807573411812815560856771635852638457541018634840167441162305733644803817127337553254180738501814873301870758281028411442040063881037227551134342773683320855488306026346760302803603186581184228615350470318245784582877668410303411837041133335235247166536048875603614703722103435104255816630238402542311625243662554113884871232527413026362817874338613451604620652113717643418326657325708656341885023803767875141655242102037747853140544060134412441388170831405058440266004730730421782152433062764276051266771761843855705502182020414074522850176054372812724125724488445716041614268733147738230803704730141642554844110440061017224272871073440785702176501030230763006134341768633622137510225720468580327363387661216533671265233132085203277651313683101458382182718076136300114147431522065028802576200380088663172604737568488342133802067101607567331176664430724824505336835372436463423847601043337037885373635525446636216120622026441257451818425445517622812720306718430747668222866788027177724143833810404673815876130428778561757523072465765013133131557410068326518452786428414460482280045276774442377301548104725565338841803032687683787043661632164133011565680052767254040237208187620665287274071128400347707426725330588576656582884562075366266843387023186461417616378777741327338021620336653470720240064768086783276523245567654450783002617425655774623065301244786735006671811073642343768734842515586312072702682822887044406842544040388166847038011788024872725438126627774878755483106875146822323035730305582087803216428348443141210042543121063776424142022834587745840374305461074018240774581240216484718044412853334407871605335277861147270616887168452112705438618303443135070502373037312867023347810433171316132148485886625585202320781746606611817086802707063001627713778803727611752710711808742523734274233356467284346325231345770644558388807454265814880218788283757224458760766601166406242137102221214706255517773832581758128120442026305778208621177784624302663226201711226648532434011145635721346006637480302022858363701662331642350274634652031600333221758101540315706858580883776258788336663443521175676104487725441253683321201742571516821644033015160865727050340344636181158122183130618103248720060217216863645144232128626114615688474875734222366836721863151330311131765741777862065763186407832802815573286615611743256084086077834654333332804825606443064464855276588812152570425528240681262117657150755752781876268416075613453384208247427022532427823057277076030777744320546871803622787541023336720775252617210453261681108554750203184205511562615402553426766062433528051711702634830644683815516755110563182611437656780448801440322314054436446162243123233408308440482323775543024367426448353047228015884315717613280371118755143852306840161602018754281545566131731762843780826802033655761561638441627141026114564583365302347014646023040802783730428531486362450263157185558763581122232674075633846133345823801667622213870371652087222576732520202622073348054178756668056723276061466543487818488621607048821468346844760825532874578080002823016805147662730381057248246017333630277033512775484258278470626535306028070717103272073174468622037024101318153384180316607783560126684871024480460135468148460234406081638613044405424205402115227237826403553666028087266218105726481375176108167153745064714014343504127077271364571586276736024026443451561701808738706157452610165630550543270548240403086613288252523403845185507631546353765338877268527173633244486147368606577330427328777635678815085406713355723203228551454336413888272756034624533121226231416477663867265678514865434117605418211244813127735427878385377124424017080525874326440376364526868456033785750675652728767443787766418176582235343428145067148753428158322351725744661556504224837660888331643832731841854114081832183526833126660207015681186318148170827780465625758654120310804626015522754826271027783228575760755833711704583515138088304442006431025761178730856106570053121743385658574407012771852040405887506117500212022433314385085181838106580061208112612636040034366646415541417535748511763361223118277541451271236858337457871710140317235714730651864434836775557776331268857886125527165376738156640116337523400777350307815664417517503567617573023813153665231162308026620388412580023061662661466042307635564230588421180056244685465142834167253721817457400566703320746252518488026140136416632275473864435474717843268134443625407161301533786750126720021244380118376861886270224327633235435353416208687310583334103550788505081466855132034742818316277882543007073387531743257240100760561588735320883770353708830272334057658864138784458018002072671616626875524838034653735730467083001442727377280685852537322803458782816528040247716447012642411408055841114444181186363037040123606350216518855333024871477554646045622688133710744661122071446017255532345415725545601451485621541857611070273022843517522326663788710010142788778731627201585052356286134388360835566805751545687536542420611513568816344528240625710853633832322534044246472812224768534653726683767133747631752721234018528417522514822574855130076600146834633085262440106388585678125376174708346178316627348364544778108762385728230324577512154662614020255626384268027234162585402543231848430147623158215374525040115124026632748383253201338648071822755228284342523643862167500862032831882855764410552613307424307432176371618855322002124202340330248266622734551333811310866367023270601027478805353540286668675828246807252741251633835208651610701815166062416755136620053220514551300404384243816120114173760763780687705478765771234211318330451017304037611164227468427342120635075710518224204767323552520843115872101740780634523558543778368334581188675872312254331522273746161753526051105483161481542235753568620530082103411124613586360070816076278034724582421074806362045512334266726727618673500547435182632037770676205458503225716838673731065783776866028813022173804040472011278216474757653627727386048468650015111802671025241780727313043863882275687654220486033361464441731032427567301264100586643743113032147725720842688531346375053008611275262307036817500140386763260208173166728614247506636708861682374461467820168747778676777242275471868745147684405413347458012810377034338726347126724304135823655227171330861280480126517566077547527811301533823868151633068142010044607037330880561678658786586546412647486852678677887728534372037118224453517478455523254133468540552351423760507317166825016358568054878245036687540134267503517724072636432654374076356644316507468621612531205140677008611707302288123120073500785810744681817113325416687306727802466108475552140830322543621572850884837707845753237161263230627082501557741845463800635334453868387568413366706115785054384511466264083520206353113352074456624401314770031151233580026786145128541031218560161208225367267156255180670262645302503654106002570160856181717650205814442043748546504607244426110870447452255834462417734572364836248402125663255583320488604114222531106301577166777444736687735101770363430858644784713852584320347674676870641881003325757456612585582158102886503147777402540647768802164823322040484107500642430612807077111806140255210561827516551281560856232506653336556208526862331631523764023373670241117072863633752224411438451157410655713173437545354850245211260751100315884325548778028072512386102223521314508462503711213146535761553638434540718033288120126563605278231457281181210261784510402087446633077512584030150532716205282355664376647778208274035112403158078352488838326823187757167084334433172414876660278683674335032624584103573184761128327083863550478602878372641200531680234176500621043718774882710478403121846682837146314483270614716842553377045607150505105021633114374318603782474401333686008465745647887887868224576246115464888871773642128815714342568333340261361081716327463233002840746800311357504344416463630350707416614434350783471238763611367344147056475820741441730883565362072614275457254364562174455312633532308366571752427257105283743168688764277562534614702445075008316330154368522563038146252620582203030386368757370748577628505761136480564711855627144383188876204101811021146400777067172528553361853111704167574576740483825757728645624500234537555731704718630004246312324432136718374421617817775736802133258767588476774000382712276370145574684552818173043324151236185856780188550217743327112568174162508186271765050145218346547163165815142852308574800660212748857053356542163543703608543418353770741870145634377753752548020745362667462636535776316770872632728057681885633386812340520178887780454611764856702862244424318442564753666150370503631135147146352357651126603228117454217778063581542007873433527731036356011673042345351682834861246888702171453774535162556771404776634626823003448481141020533046748815315830664336503423322884667683137173144148612622135553837001516745284835151058750551454852241581541580176407478035116332888517082665284246120806078055711846164820127543111177812054418500175261846403104034633052382588156186452805746278385348874451347463554000636224002844781686451761687031451135406250147223225636535372354720350226147035412246782457857583565164402412416234223368760061054018330064553873121521836621057135201536140834066013243846527213342353604385648200315674772717852465738416237718500883040528330308223062308134060732208423364163156314347062476778532128508413214611354212377200314812204618013673782480134237586270833550121087332323036502703575172267010184811886160502221153221285204281574462081846114610826255546152703625251873885167661262543483523187560777481600670326546104433342881384252448086885017206546113308465487200512534461833780781327153426414311173472607637564621642370164785655273272842160022444365676208213823877331633531702050084188588105074531811181323436837250136275714100700541862142016268487483003086647672777528580588113078840523807261774624014777746836464456846347653203485743221401331031034280201633673710611676010534270582863246731718082480024141275006448476781763742640620237010516733536231146313740825664741267226622671427570207376818610135256615847057505087350066804071082183014220653256784507486275275127403115134588715404161757315377140202746066818737712261811088722601514830156377241232833223040261688724685876476357675451688632275748886644567712108156317217574262716654010803074047106425857516863776160234325101012667677676126066810587368600802422745560642708541648077176768403881531568487513423184867758212672307810548707115248702021058531304656410617158623317264624550781601650445604708654672637375725580841331373513226130021741215434406018036768075450126823805554577507716823160245870780234302178128063267676131848245077157764336173652084332057810012262856703672541178680061513381151175882268165062282816108500482848070168064510052266712265035280137701427481141786552860423461331521567060765288765615425383751533563117008144765304416536822823612357311886365345886164161637388526801046382200588176166268087051621278721003128157223428672616448472138773686317007312036847220321327357681867436651437088372082864150070528740370836872050515364844210308857567053420720108156311075050851881448467584578640018562223508431448535483065874511578558163532433464088525822388755088451507550531013184560535818268886078023048754054234880328560558260214041616835648545214733725408024615500388042363565855016733754303107441528617526772020818445015444580514340505425657858553740570283226471333438348764318570225846342061655063228003322483767247526836561483340317223583703450657458568364033202320830155100813818832127314437561027000180335873367688825146150367036417140237138615855575054220332710551558758144620040522646432003851473377688855077353642152011500077844765667575530678060651448033028543557852571435783484757575445666531672087673642203541134848824718146160256475507506764436117075038253273672185684281262324272821852650606651638853346620128867252436056282831288235061236366122657350046112811160805766018632037376316527251172156171854332334802035381465304826105654617430817888522546863486733216503710431058550267106203850153613676216010071758054274175501478167624488277268453107024148282388460681316273235240243048874285212084206333763581515670247027632668376123670346867274164234513502034872864475537665037337860020082184030807835010753766101516851446835237234583827686664333143627068560383815732805126071026025755623236155236671703008031335656178543046538531446545675838776640351601553714814543450262062845608078561258561852544586003685672468870348274507055234041144427566034170868748814416436118451831508502408574280124752376665075088476545640363367883701668112025747476072165855372647063854814001205165531508738475704864876115415418764724847571175438757616557144827375606164228321083477665621253127332760825708140213577733511031375280024542432117125147457238417868508857151612243537807332432427408580585401741600834602782341853648523110176103623374123546502675552232756760728861585446221740443661376405064276415067171604186526672087016658124728240678018484440280100300042875001313084887424153160617870676226582626347234023688260356032464375021713673154404280884516205823473177718367500460842041664245527802230440873422328623625538714710372670584480855772234238624583068422205712830604717363651074348454433055267685772303500105668387547533014658255388785256686258484787443511022060400333427404830650224426482800462642244517333684146823208884457786045217636473217755233658543631171182355450238146402353103087712123587278451103075118608802555551440133512115201118860074378418886312486358441208646601031612688406381755221208647150586005385746481430000055710647567223661506838555648402116814232884734132308311072475358542024330720250542171350770634625012642836274354822605502462432180213750775054827328303888288656173504712026004788651402746030642502065480146646446555273406454613604654033406486547856762330375254265781014267368315222264181318271541240384577604853526348325033224364088342031602271845838457316740147180804185802600344248578377551073111770044140857083578581117086851157403858531433375727355704754117871546723506147523406337810580886156046385388574617344758671728646043508334374757128110561433660640736244057682220238082103463511078307371735707065310653288735714015208166063350051137203856578686816754551300708603231543437620510331345847585186556541277875357440225340527531482556282877515341183757512778328760603432763388040428778440553874632476703842642503285136040456140402541318342871512801462130770030488664700354176578154677667766075666680303335076033830662216171350552263852127020336261532688567827346557450601525120174647483718520780022631767181364326818710317675772378103478355373610665488467315635085083031785746704647415882444837876673738050476631246056105545313326710180587127833374232487513755638866206631027017623452856060135011453655771210434362880176401358430326256343706058436178276668077231503186305241604023567614605824712776632787432720682120733371433433438166855628554213117628366515406772780310424667032486411650073374455367323343520818224772617702700075135324413078347122825100817456257731857065088734426632786574866081510428723734888574884536333047174138125507108626034076011871725630057743024680575333834415073863131367208202223304241265765300160353204578735426008838605371574653116315302120856321713552846302685500278088703875511278143000330150706053082305105158545652528555635078002237356633667336843518637145215167027262467361633442743821321213733086000332072885588602755378503122408367740188863720715254586263882640735183423727385706384313034784832612550875662227137844583483666532483334530268618742634431128372888677034648046413830705756151437174180440574662742664658517868726415475321644410822546120036800422220178818711532163578114774715046122417827540884057603586851654334574367277105674478421685306703041758284854047614111261818846523457563044434346204332628785881371713854642740457832512583102848008842076646781346304886587553118384421385374273015777867831156633738688230554016854888883424184361330258418010266084578605577018250530038062522047583821883314475047670641515542515038631107111280376766271285650075701616018015871161706448216087485034700622534837463718035177204502437804140363517360712808313658030535726327333884724110622354167266486171103045838815428027551034303215505082215174166845103777317787383117206606870772781153642633567213252733215531086100162028676344851323534222052864087342503848552745300438581311251227362060651725440724036675587844538087061001212320818373260570683716226671782774160180723877824211881137838730382385008668777882701415048781460066663624424530710412072040471152645446350675141628871242275345033735206081571350608514050832017127434326680841841881346861855206702542608214433858503418463371765048705635677073134480385804068435588717876666425738888150814338100121452104828764020473878261057627822336488574725212783185401274382204147825714833213340368113847181272210165153663727561422030826861338182683726820444417506140854745043807257138568015214584538787264557080244717542856754213756320860103740237646483667730827627582072703840141635814105236503134251820476118162566677804504358004301216135548711661451751148440407285418802333134615404145438000305556680761627604015147821428083374877071501548858670171611648801346581522125870078106162715502864758531523017438340858508347155480001466506252030725228360754571402256375827862555545577763614653256433046545437042735073025355411353807021037853213047754721185887220223240312360742625000462682655880542467472434511024853001355748732170070337025440032008003106722802478164233474335153232552766808737760403843734567737508036570782175510857441042384661554871627876345315447353735447608335406673361671241400612573271024066321472440644834405302188481028105835631204537213403588025748254607577862736380172514115350843647653806630167505741731737445287650446351133504330337168783805385248577658067228401204403040522050864618635068871057501648550015178764406671383434307654348030055005568121332888812871652840561786132804180808124150875428535553516000823431762036770817385335611765826574644865852062526550605557802873757022024626461776841405366618384532057851727808570166801563235881132432832614006270234052587172078848084555641326246318888062062732275864282704032162220834652747764581601446117732788683753485675573757483866663262228683771821053445080663301237616123085036130381034420304700434277325588555348276355461860074306625762401460646864677021382872240310071447633746441315222584600322326854777358057736222331613710736785777624313751533203814631164106357486431588602602387721101616847153476661810400381014863477668638136334031532118261140450220346418741802733107831280581713238823453222847425506214677028244383275464531361562153552343873188323400582052721748652013570628302005706301775683020504643574354654670665865306382017873547841673758673615020245825680711057824116500256466666165146805450612453773867487571846365826086234041213285144203283458687807701038443883802601610762682773318448501442158776683260163845077327070601718055815708547256553158882352207346803325228771251531628257776787058473453253525481750570548161786685303064376622017815331523721500310640684823246676047707482663011560452355557528260702431068643620348006013733602638350743620485040206457337148850816364321012126562782703571560871478745685656820318716384021754686302667225677603653354587356728165212674536142213353148574815117658402872020257051228124606355451674514777033060751153823377605855426832274042552748707127840507860156048626602000562174077014215743187558207103215854634831148135675706151612842350841212520548850053888648074487262724475137430126703315774043521534886271868728510845377442204152278710224237516087754806130108142307163311162474355584804160788248644587002157124120260886527510113078711022344584827320370472815061324845873420805356661081854244756602283312721557885440556031147160020748517318620430811453104633644247460275668886138561415151657262830025463347583635001402062146637265873451881884123885313674836062775068436203273528875723133011875083068183865830414876372867653116382405303132345282457662582327325480488551616773761248356157507747526335647877034280553436730512411843076412008773158658574151554320246712377552755500031814431257476165561042750556620435003548432035218127863778010216245758482675517455160073557015458631812683455611417827167686833864007107232734654124147813641533584836028235687331327627488174205731532878635656042054285380811045343758153712857515255023788330487458267514668667704860172658156503151081631353766805256874500772255713887052744742716464063561738741386285846527804286423541431737747457550756137242283110652101808170016033567037887745132804721302414327120582460531151646012416052717522536646568244051824506420740462788328717168241337082088025574646605213278061142740287051311353481885011784725327646457277315262876825641615586841085764235322361701334610144070615734760427537330537635278674061485506013837317345200051858453471578816438242440217253137700210466237511283634005675454843857377028205035525453001458177647036821102405184486645136873747620143068704155568518611436808300102242246866837227043202403356255612813288580861844141876613465463833731234463064808661723300824036140486578273537452743157040638131515842226688672661122480203817615881843035036686010007154510372834152363830660156741550222773807781721386637714132412688733563781020744630764445371515654810711357274155040477347671176365178627642417264185437635804563744175115623740425848357724453336228447758625478458853157463254811108703780856056651634872437015031631417045077823048044323376264554507452702323036546785303572347782414587086152421872825825430761647855680710608863382672586238512436453151224583321543513623632711046850115732552651302676445610012645340272181216845642834114668765641726211764354734260862684427514268021777754718601117483601213545867044406130785126716310635781512615075472171413367808864312347500070773280261050044184725733364121007734252857304654005602171104145858018245617005530723686107177150850412240812213237207307715552675005384852188855143681854304217284258368733428761073811576854754014520581538018882038066002552802382037281633807017860435513368442854101573622210540586875070743152344810404632771428364764157814217882346818605722708878430206503151270008128033864008648767466342742387607073887480676218451716224225623231050048601146384856055428540370734661200542673533172438810737431073400605615410421734360034648265138017851487412158003752833738560534287573722850102212374878558538662066242057866678871028024508618572211864680386213332750370024357210532265316008448623153572840227113346611764766541038885454366615314840077540465546574453522131146161133078271281812026764732411184707762762347288642367145688160081728188018666417536826724565566547604473417220840548100727117210186544155430324304267703100032647084004318631670016442637115226506264671611377077416344206582263803772321057888618670123208057845614763268885370102411245171180011885550480145166540251750504357470520853256241204540111113221611074516881281635086734624122068802311070778047008653055014147231233451550428710383871011312172157607377524087044772506603566286143282486344245776876110011230210075763856607581773325411576274863522515283837557560520300403347645180020088531074211258333345840340830103183651103560522610038037775575608424720546558155802151750886055653107031057867476621083660028577101104073666686572822664157030030510752204437771523177018736328226074872447611033130371616656784607161481571327452552437018853558115510438804717151812653876635474174562740451742617675667137764204467302750010608642524431727487115514751258300417627615628601658645144722574886813158034888128031354705070487170722333102001677765587721751244362764086561322240002622526422147123245827057688827222176026773550867816671016027841842782885488578031455843806607516548745107785082685136015845702047635225484102543287846646076206870785317050714432448613871485564811420640512826044464825424333100446343252328254813115848687843804424111334808622027480181270512562365367365412123665680352086776405127633526152431506837462560515222471645741308132754438204331623662886831311341763800512702401638534454263357042881531688184850645625160211486708341626276132250787177740786117588500853824162613755701725636070345763581240462605651008370123613360258313483721678247016018767355274285101874660634587333151083676621311054100353882442526740160127581634587785012682703785038555052576560161216271520635430660607638634514473650371544582642160848350345688583754623538473308880350531344883356303151625763235013732665005767383651047508033386878568003105367434440051487761256410275030620683867346203562360385860108672551252713420732064874185650048532844852842625783352121522536528131651012018473756545668141223752312071765500137326023250145042476108127803053068425072052757367670400583638730271814700458466738652283624241525624634446372164650132348146633638177527848183528457138646148073520216527488476532550130556740731555870202687755211256664272801184431524483028527721028710838524384863110430511772812284662336021757662536142861104866377534741585186237343041526542364363862041000043324573306443272662080831300840450103838001777870517766171444302042380748732281642256230200410175214424003513241847442638465002340316478417741126376186363082864336703061102667485578030110583157686628532661305633808852482005654875254243725523667005303357320748407340472738858261581863426630241434664476440824308226147424332325647407446258846037183410527647377586708237307048256827201228387278104614268771464675773438713452706674163482806758686603402384544555078648775248005265817873150756453728424587123687218072761472668808166183613454822681023052824306081735506664444080572801332440623165254517860674704634816463333587047787760003146087383524423633551824224034448125814033508563830104043804201268715244785823448563417136571062566685874527723435414485276466323044507144442235820377358821333634743776161661678302555508085584007315083720878714577724835348027413741304556084875487560582884487024820032635583400561036740656104766403406853001645144344826484766255752317465720356402357067635801251864687274221061626114588407125184248451250634087075003526166542621781508432421433471342464067603430522871718752765232561836833368183247526434468316063876745753810784813677747284483815583688264425111558746351042770577830030215240375060080717248468755223773720234628117157626072588054655160400711488428146166408650755651654163387702162878686353473808717506053310442676876268367772658640677036101080062008365277733103122163807410758441247830441062784220043746747413236044158881422315404044124840412340125453206115170806276373623884143714805771600788227075810571818236045855751458322707503137210087468242766881554125542712205414778277556844328842635530030583020486502876302283802665175554852752566574621456032838417437720826683488142753103465651627368512667450068365484805858178816755580714845480564366524665475552080335152264865886215837837113440782625531428085427037483116056022223631846254767010648126123578210361040138670655063701268568827184357211044358647235723178314788763615200055843276305446260164218615626254667108330607061274385062863204812760250867145518238843181012113341017242031458000184374084045653050737011138210811025802618100320065055804324047360111405558852783383347547575785103721662384884145583531546856406803233155463200514446552435137553401205275306062602586355417107300084125268382660873283133762211360540216006612007581854050837206524862732426216021318255454687426232865801661621074185118467651033223818063443314418106422000341150265514671365712203738314502622781463037572535426528658414732563263748340087018810816015582348146123254345383435614721426832653154418514370524708787786806113633632744387163166408726048506744486750035680522871225012651851435774267864622764000312150751352416451702052765808370816156157782428407582517672356666365001423512556463062752274536515341283465271400802672505261378513514740575078818070411685657073511103561778516838525864105207042543634128153330175271376440280430551836581288355461662352160511013642567401082747518435742487808875203207552808068511044441335480368442762702772684045227331212770126156407235425700841376658882055032777588482120661502865060640710630131488614537831218215576753555865107120848376003730182321823325750275264323174858546376711127378065328540523722444132721250766751245017548640237738256463865118440665341064017427235326027831833261282861716740144532214478484571404270743164200710107061887261634764344806286652744616881125466708751226654570837751410141632470682141320537071124262134575608755454324313271420151603585087303820561308373178276072227132502784535584805824455270080303812617382220035344208807647855036732134527581360805333564003026852162523201561024841327302615833627837733484111468512646782341141011323861587084388578771871073776123088058317815086468503720755717014352244240104367708530850230714440175550274508427728340758203660133410084814478768314680288175702630313246857676587670720738663672558841156443511307746613366624070570681384564245772718216320486366761836263762215683101328500162214475254181342831805488173384251380511341531321106545641382665800535034152560215617158558443108543622826052821264762724730827730316651735631711832752887222627404436111140722833732582410116600571218582588501006702383061343363687811206740316241672516273773131160863517573843082121816146218721568337467461361384447360063187772426423063400105826187305612754418322021347630376776046055212236206818655636281043044404663751172764257346214612872207450451088537072371518180482254417150643507851084233760647402838040073803715488814861777537210305614312052107362111805286862072712366786081858287568817243230078383486262667221414733267652608746063384688002308718246353780083213045077561454702033546317657015323365155238462113608581222062465451708188633176760222124861051522270764461065127581036658048843872253118877072101644105273860205008868843553258108734577717501118614527847231245707762138627620715566443056000083076886671815750240811267378763374271188180475706423831331136715000836500672385547335110424060357075014515418163652362307306843174746018238206841376171083575860337056186560474015154615025020462403465086404030651402110487460055847437545500010363774087013564100462434287031578654466125061616206445176476104334115222002530827655417137630057774716200481475733630361414874087838338304108734821357077827657104066661463186232820824881213566161857221356162758508523781077066330847724201525660166220644131321507325828617100023878745586176027067327841720740357107100630417466364556753015850353275404558747641861142627773260582787842302301025656140682276028235482188152168281243714473211712123723422702148104370046603127007707606643628814577115771635157504702087845530200148324637272487284422807806536080884163563264704714167648321510353564077056822067554236456368586714522617147881638318365112375387373361882603216263111468315068061380685720022041767271842005105203742714876036662517885423888136472462685771545228686501707744816552224401260710852081416352713737544577672366467086587835315650556136482158403471660271530150475554086187207753355504357055437624750017566462227701060545468361623085650646768203366612742768365474345312574460428700812582071623018543542132376453608210517308255313547252430020107473085201612244364225277315308885240068182671215184322111566422483345576536131802772556344281125087830243656575310188837200787518770056487067844888221718374812011307247855833868812440462007285156175177540355672322216837317768570216562118432610018167081535562083688414443042762480628304288435010808558718232725140774061202225621656761778882606350604068386461520727216467732382823728764777836681560630460852532087317427256410835373187044022643880775813515577830811081043585042350552637185447112728045471854841815637384023173370334322471318168735566624431042153025148488417563263076582242728655822446212875734077207146671435728210327632753205045227228844324310242400310757642464757708480552200027617130455650673242006468768765466328652263472586242578815076877238661234135758722701813561301183813818346186674187808817046267123810733314330862583636457740467631065301415126358606510342841510054217824616365183231050500288608163461376343503657516820133314117270300557451034302712246434833806165483441164558224113371037000148586120537345176117507711127031562112516221720181642224174675857458024067564327738150713780303535451144874371878721380632532021375656415823041547555276786260836133372450547277557540848800067484440106631148031447124031477178465216018050414003184711661123882745050177884456214064261255318788820074882187865432306411487806761614786412857158530062146487513328485057671118325108026301155018253684387803507876063050608741342350040448030626841367506566146886552747264666677370188106033563351745625683842584180035371882730383146704270851673785645130262076032685358442337108382364606284683111102155404018543450544783248752375878627715673082372742225414638657232108368020640726231344201847041873166207811723654005272416643488017227058207007656887020532407573213857245138723486852753541556583566788148768422367534612447822660231840551263726260672070241360171684362077343300636411524612426135271701507180644024221154503846086781035500855576826752368042720520566568861663212318576575570706350821418870361588128621527335552775763825081866622868224770028765801835610430233233871353848861554473647021815054151116076023082451068528511135123813454728531128581521601750145536885473223424070411505486010314836105552240283565043760733787843288821243131347808306121424346504650438147633787616435227582766324586185232718166480355084124706331128424364858104325584235477213775004604054335361182846358278133568622426011116885171850004548515372172022401124562563533673210502254616488500804076874102336082550414514412822500287235707652232553441258051686844304664733438574430512271734636787776503701155148731832707828334721845006730432077273603604750566534242518140070567141360465806043132065456520736250574646150417062543454021621483355430657202267860663116721385458505722465067451068564580277446228065223325278165247440753776388611385123567762722305427223888053565666707835728466241470241486582308743528582746768627460034884265215051707344654771863682812407258273034308366785204111157811813321321115451488854785075760060201107844158555226424153060100806420027458486222500411016776504368732273338043244850104107463545080735215327352080323202448602454503701718441744846283233371882162186487330124852825457185685515350432414036123774753113634055202457621604827610838220518743736851321866312270520586816164777210641151686174042342285748465780086418018600042105627173287135872664528222007327786462224561650044238333206226234030773067363153424313028503732716775724148856738358047413505856640382578018706484601313462228436106340842810221846632785165285702836566162403870151238877406883443253545000032274030737687770328705672050105735726025606883306775527104386851117303573732222746707366734153616563782140578814417040368104850424021743777657058430744861326844233310588111165647246806375161158615607472504150270852852363454461001311788052034351553538758306753613612272503600111602517332032260704562031882363201061707077342377224065212085236007238882841813143387252014760332764860482625404678430288720801737024528545681663552766648707610872076687786447861555381028647550500704832140264866088075751770303820508203852522284246585880731585678162435343155506070328817784064136215463387432626446445548268654136200420727517445757164603406332537477172435635182370744653762770880505834711177452074822652432012576536281184328021517515471200074548868041334552202178062884744188883215221228402331464757558271704026302074778582736137003853520816744753652632037163141244483251700228251318204401411856340612677816474663767586303732113376154766488434252011426080060680424403032683000865157323067534564755634608387427465805276811847032843773314620423646445245554837468623532023021384415503585704871333456124721680048753477112754212571201460701334880625578450175206365264353067513523157435466711080302878408424550062344456527632841733888747472528546016500652141238622833048065228041758238264644378624375145313278367808048088760653600102687721500332311711807826767473727514670720327660260180558072663330413738067145712372831242442550472846413671448061573150202164060326002817322746576750151270551613656213245768235121352570106688126712322188485228171336047712858438638334861374544870186334301410417501046466250126544630645466256315171707106361876437831352052761655126610138175835642215223570770762250535376066356111657152760866680811147747007764355374645406221460115753414855355481805450217018771875151601416668572771630264637140880060013754321481537507728114188174576312265154141235504480158632016532880788647036657671403287801836483684400757202004371031212638611335480657100841775212577336403322241400768285167360515361108754564316265837802838408014318460077861728581777105834617050701750433266630618576410514254767207583775080836875202525363242624380765734721172077863807348181067310588167500574851070315046128337525668137407573787621674273245012528430506367804541018700887745326465461387618457382748317085172603383045650703248184431536625446301201778353224585385077608503305100776336354558438865772513753248306886001072878120581558018385060807103713638050126816042267566753744140071735524380066345858753734300426547340548562113642166670175030500008161178770611178754157216888750213851124154650521781765545505634377872506812375533576663253145032420237741508661300676264624853450833070812136673272772021807234640170621346146368042773041577417232556575035465274866215760601100611551606105785684488340710285511181660381062622818332661181287237800305855841332023508036057133217605257651725375301050234163866527022003371308075511268533347008152252622665788258414030108533661417140632535273872882214853064041457488540731301443577242281873240811328074433086432705512620747753040407268324056275385110613284551867822416311805881334756421038815678472725554426378085085871262003322502424814261788014227077768621151750547786530505866212682080216416571151603720337678573361487018642422105246805633831231758130031332382878083865247812778202045330747646523750122765643561484142774765565420564282136725846337421707427155447434081638358518560656280083353658001703123440582851317425357054467413572678725763507610203610544003858720741471102572587837464120423563887686523042460362784168878442052451607161444240047788043870581200254340327532417858683427121676220421087440123573722304837454207205216357062062345657620308350410187002186324157547230800832416868113758713061308625300768057561653557460158100028573778428680734573781862732481716643723203631625226828137361568832457808015683326823864570378206384178717630841671765756857201433178147776868887251860488786385687613366666557163686627503126783421570625055170033430543407060544573737216225017448106004345671605400554358517717171565500882737725333716113663752435234407513318452106844825858574726737076832180650201145358547300738883510516136122271047435763046157041617182674571673014484164316413743331144446812854370446875701156273684576273662320068187746412017251711435753156078001162361332076566842578538540324128171657470010775786510536082138365401757145888086320788524604136488363445203585864148538635450352315485552207321052674426132007438040805043403573225148224570451178588006043465587048014657224388277227810513326674831624666634784634422232756540847783305155834454757810246332383410013868748712732486521300772362602817245108333303844672724323263402266718520386066234204156318551246671485602785645410720184741727751036628210722054352316017457713085028544102101076857326175857673466602261481156054062206741321521344201603263666615061116087068685654402101035430126023885128072861377064805212408264512778568411548744274306113281233075480684545543216285637338033028546113783281513587851122188657007821888033367308387227624107832308775342725514675775168077206881632376711413061634154770575802204200200205127187563478025142367443782668745676161388188278405888383016180306775853006758238636530547534300334526447563200453853026202072084437678352178355267035882581045014082267413287265124622703662250065825852238250572031703123842168812248757435664883661876678087361006848653071721752577347372675710332353870137602037848000175783851762233603530104265641436862788430152125060334010040411213125686331378473358686174001467664357841361788742280386260448504537737864775376818274433062130441240813155083162761782325235154774544742785400245373362366174137155182500841133264562168001468462414514058328522063726362237316087115122413063637658325383100480832224120654813441580228658708257448303835003732712015148018717028101710140430085858552088067222040644458663680327528368688606311866832370350837126144327852607608871546743708707853512272232327842128338431456053720555014581277753683342435455077458544813518241548384136472140285666674363413850161772838666113828648755556780074274478873437287858415502107028676558030560743468083232163051381212113002715600107476002587153086534177265267754311636887218571850024278001770420111158154417761182234476877534541213426634586000253867376463481650036346542401811427273545750514004870788375260555660677653173130815782472773443256550820860422512868041563530558155766510458123106563803102876212327708486326208768611802746660778664001776571267588745526621202843737785827242825206136564316746608581674003221012053368245565376740314357002318177700171013000454718052428640735326772255565716681604253331227708012045538778216787540634040744133760740475638082302682000205052728048613113886217636323046801258818536672472038803831751558827551847025082418204406256203130085876103450177317461820760038034106077842222835447654060633472755427106845482441735243636125536753530162603427775147123145087618348202386323382501076278523544170667226706501031074056207800702864566875523054883147542888680172266012433056360167314044876243430766558246013064403735041543263068352881234756027573320262732327820610781687228187231488353315871462010876758734783005042430645442028788405785770311033143311143845073046023352728751100081266187623131552534831123220612267661671615878751641871774846280300821183437646703048621027508562763876753053854715236327117267431551463170521083708306400467440258228027451776238362077215631425556038270840332603838583324012687071755068238742623511527638608881350620077857745782427270678721776474332046560645058586458128615725812143435440401378006363153636340212402377012337604774511146056237275277112424202176338657605864548400887640105384785475037230073804442762886800421332024747051037050070176315651436604345146326571062711654603355638248777171360285282805541422323603582774533136385807756636737167288128858873333478227820275636016074274107575373354684114000434275572112188658677027084884005107336728112260468372870137867580815378778038578448344540273845208687437341283006073416031237288171140574267538826038218375766668862546813072133484820383667042711766427824007448348452412447538574868177327483225376003025368427576050242238502227683546273737426285334532025762758484310027167780854475534304464220503100872820338117302565554042466277868358221112066758380078327827513846565767826275558032322421458736774564580541737688670656725488180647636024886855884166435264756366856470028581008668501567214871771461278208305141811508611447718324426302356440003266128043885265618548544504615117165548687804017603427056446017408530700321055305805102382602005888206873515684225587006660508071457128835218645046880433351461836374360703633842721372018223781268337831815257133235376785336173770525787856401145270438287387340702106447072867383013648811451644554350488656858838175840151042656744216377281656136732011375084106082257448612026486652382214408085466516462805230483518838168651386510122127483526253670834351573777600756677381555562538717748702227767181185238552301114702081656026470263357546123633325605122672201773000385087373627670670313453127100207585680620843367705820158318738037053005412006244307827347266841105222433376747745466358426735736376612707336487273671666553465436666160242862845857175153501002185728235077607743602885837131767861832557085701587075038340133148765707737668734063451338471125510376773427023847032825514546328835226346583332700617574301504636478276346502065430665835275504730071550558757227818534656443143286181407600482000283136415306536185316218625471411707652500616070512086418814560806628004364706041255003746304240141778214674458235855860878244153103426672365122316286223017454227005126474336271720251434530844247030624258302423540371462725007566353564753665428658188486008367767032566352621641786080175516673030800862714317807400122161472474806316385166833405640700088383044535257423287651035848473040181880156433427230614631408512131452445462111416100116034072442133142364638715204863658257813456858171444108558626711081044665004817336330034030336462054335287676410537141561367482608347843485064376554831707116050443635470743653805062404145141847235333554622801223356020181644547348468247751440263307025560587323642573872633332203346603527727325672778275452254567567653516802740351270051237406146485036084053721417738667015324168168541230258035157871484382340881675783364614761888447827216061881656001675737814875808760831582182452368360232017825704512772545642782515185531423744260748650838407442765887224773452820155646421826375640101451610852021361035526500858736620803812233781345035672385711110284202110322161874685187632340588552332300358677253253673255248770406734646712514104228356642680621704467408868323065876521858203481466755216384665615304118287370771680045256426680606804620843861488311254030462284048175362555837041422161635742415514814720828138537131218217208577555235026551700100013213342046176145305456032333118703622711042684176617738237323212615023632038600070257028515154786528446402858486178506245434252383060754623781563224043612676147463845837523514837240237846450134313724524468028188770623250835486668302564511422850525240274766507117523218708111136864881081385623512055158611080277328257702826258480308025670767837023732653312708114680117104380746878207682832838065100632588473107001287141603335118548504752011000224811755243030280132744217700351522131887578351703412653658471655838740526272038043871747802021138068240583548726272464081186417132324864476707566650853383638465587381656748811811831532078563627377541552055532841156005300880515251387651738805435711715033036373372544134732545351237836648157168103282623316805142433450212631455516428035422862450032721073163141631165058701050622225478868450408804004827270843533480464068211655707424250040712710058340471333302781266156834877116623165277823703434237171170014422735188653804803564860788025861880331001554448501314287436470300730748358351888366264504305103523807727606378645810565454433464356451152553353303414171616181475388457604324516252087673563601567131581413733261757131501620235247355037774717033261867660650856340518305884558434516102437076268314832857506818682276688031807856818145641648451322672124272368557606070513052745048331018715025617850036717080321642872082628825316140716175251528532254627535878837037773181587517018070115221410817046408370162237778552562310682685372006663020453601523757205556032374608653260437442405413131331520500536756833183065753578583006017263386004142655136488560215244627308416424684383414002382807378527076865325710072804565510810053233361760760076540066100246862063757783052756881107111654336263611718733843675833852486867064332410123535066656071730321045427312486025768368325567387081188058285420761248411680510604582502802010087558128545423601436337480807653042523227511005845010538232174513410184147714875610161267665654861812115274461633154702354373838754606710386471058006574887373176268412286385064504121827141658260627348267010038238853056432762412362757416416000066634063614577364066288177526814324225872421267752744487237610738136475614348554351578141807411584627211205454362317268431382671346468786227033723443523228013308246185558822516866052033620526537314104428053538112264874378273455021155421230642524357033808267714173514228684103578723321838087127376613250855624820852752063848336156546822044780382304006168418316056045626244610224252400166443527868462880867808735238053560136588347355682722687374656812865421722421610878288444755216423462736862545063383635843363873747234144876402610521182102463070468001325318021810051216225412531535835525652100806478186871042232057723420385013374043008434388311427216176707431531352221657812274464003230802164775401686576854182528736875353242853763666721650256000385210843024224717826420801307705432745818544017630567557508142486812770670156235607582062033836150675720616212756306707054410548744178350230147126662161138567034270357006841342734553480575305065628327747867487847842034868452353056083012144436016037670316383142112710587634152332171238104604140244527637125174640730104448420043405067272773132467380808481158840434358812647308603203553064130086323556508575727366564271306268784483635844642021871656275235442250146182564838756311131185278110456448342627434672780773515676243422705708858232641747427878012355725540272557541375676565788365405164101730405354764476157362328135853873812254026706437580703678684610506732341243272705442200573700153341575236122605708460117167171058238744576270332800043842727028362384837787461217406485370502854672726214813067516740468608825773763378716340544534303030867887833672367710335607350607344846054732800737833364288573375442522437822268232236031310508136671776724318863257882483004075285306834846288085224371158310618702838604541173288686258568403423637086270653153746272877862056440605441516444045848187424652376545853877673687761651621050257641260723008705104574625367235168003011521776162846767740723401308373682211588581112713284731177672487321114001757525844515627484114628377324603465316653705585581764148157556073531540440525062126208714186521576356560346803436173485425611184583773104776167453182763053316181741545358826470752268410754571672308253357537054887442010276866403661301054503432805288504672023663324853164811873554656310834875676653662167026748050883168155444786677648377751041371504165414804267371254416357602430503552252301883303507550142807756787523750514814442261805224661707018510442882487730570521676145245687211431513453852868782562350671814214353037150814188700366374714330242625551832677555488245507128333714533763474411641035438816387817600745601071088288553863474835016710476136521774381037433458376682415038340030573663482581366180802346745405024201823203314353783182205510051710316417026758285834188163130177458028705888651855650220623818677163265167510846762451338601718685503270534066167156418365374280443338878824626764821163461363542653080011205845706710636771474372138373781856348335402482174087880540207588634074744121712705641087664416367625210014020432572444134010731055436817438105864204672424005265285582652154244777346652820546475850246531138040881005624410736662065021627350546205263631200785146258418701337641166673816348015475328302246643363103473603233637484708442813872736222027037466642463501636238608453000100780338376233005338682027777531532300853714158285822818051713377335028781756800828016745036564672838005605037325384800220731567454680322111525622355818423176018371667103572182252714428680145786375484856085330260801523338382158663547124162828457513666583088708475585036458548803426232235468701374016631333261154032172674048826283433823060888512522085601220612557556107187133574816163228340602260141412645532151666317153881684617631722753755062604638255125068152068566477350601088463307260788222264223683650626573170820348538332235030827720417646636611325373570726752384048121006758570805207761118667747042815301667567248222282815364511115657473085453146123473627300327653681513608506210525171537751677846371780581340472730864627624532357106501274212722147311464105606800784077337857401468647201560706802521055462433446041603851300263800503451778460358352060634463011436181461303106042231424817865668814053654806061834707200566841625808381250808361587374863258380228260014457487023718137247240426247510160261838166478436582861527134821460502285183401832556813586833022053776166125261673566187688368228446136144552001641524414158333614028581247208655152877302243577522814542862221308432037567082146414585600414821635278020178614520684851861660751585212558812720565432070557533046361274884272120632763266888271457658765025100850143473222455842346152511103821650118818380254445072183503020818386300861358445883570655351516383223334453378858772651758534670308484300503018610132662335033211516242645634177303815076506468238520550631872865523807777707745560385481651102325770256838217045455065813868654164133510582301053522813621106247886142870558317882682807355333781180044468054727454433485133665226604804366614868301643656684623722211757503380250523288733237410706646584317443022071083353751635666802026701016401221138154053506180324610158248385388166217016316004514527304508032260763530221887681870442756826604681560870767041376368555307821344427040006177157257112021735111652107556632670572550816260301344026111455800830211373555201203750036457311041860506133873416348205386617478181158708574415638710755802205834764506158574668644160176543440302712856234082505700176715527540806877823372667726180184564176708434805622454055085433108161068341851333438547014401880407561313844546881100763757035213370374412164435383342831217576186586001407580772343875665618363301807246152834333808557002573076724807512664857187268406285221045545061315764184832064268536504132042712311660748475585057743155823520447307856435476748855160452434572203526742473230728782407532233724701085088818417582607201541278508347300372073545251532206303761324843168626324253127558008132614606333402548275353486220360442880457770167326873058150762502122223718016643315210737546246101270042211064052633832256473614304617774183782118116852111255082382151550828788382825126300703870362710435401662036574455831234474103807651353148251117742854482336317407722843852432776113055128750577506821457182355616764324630215771702665365027552174855382183041830270321110405856667424048023405263283666002204313844386126678432030065065044057821840202611264628860837185388350642288375230600773257286514713311323817644341418241361326304821145521630737584244286328248386133345871845256380726564008433761543014363048332236378050627258713447186847743763687102606662604510154024547130413050147287277846857772075322272200334435165174182726633267001635668142540358462250746461033172546372288461610772612435604046857830075438334101041311630727260688581256424557524060655345862164564108027571445282216730166678451411404375444742228452157620223757837460267737521344548356665641061316833141353432821046614832083272068314653876782105411522746331337837648565113527472157678521611463236225680008628241036363185552132878715083534222288034678103153304483445876360777542701412272814760518120026046805717387485840125828772877721855688016874348616375133325206811103581465304236163835882383736486626861737380718448721008065413720176462248771004277747427867454468606262107013231267327472350250321155281354562748682147240502103805707142145125711170472264612274571800058012640235265857657508058637460237606635134051057276123145148523402213738812046310584077680075014481036411574070417323442741014477577702554411586531422700220850531246084232181883144060337421357078387034058544702263165548653740263572257177318337080782505675466716657782353525363753047277153611803378116851300431243583650604481577137383654784247021656113205427636282533266150272051082373157862505815074480137852025144248356831013745373625741164552870602877575555237637522887122241842573818205824104413731638565378563512054760182122448033778185887854413487440258468632710650543485756558346513066773256012356138575731001071466486750085516328712373137666163406781743263177635228131542747358374081580044323714158504374548562708676527141520172554645464718751203261770400236754143460483382587547416075681316401365344754676115080261063627030751216877800615757428288278386353006776712668343006252113758137846483142356712545012768081236812142704711400786382711645508815526682042205418725124416144607448554253815552468770305717727845666534726573825770360880661330848432278847504744037438275763153561550332122054622106525285838066140205362650661834048848610882413108053026786880573444771781876087508624305323527627553235834874185751288118277522182545002873085827423771458842817583022613524358424168124632264632087724071223501428132516684307485174320536121860642741831772626611870518135306407740686468375354637465615636441726687831453263588262330050451217072455862280455632417011632547160648224283884803138313752006366328382326128470584756855224411687462624524417243306683368687466377342246233121254012625407522263657508776706243686728656854181761300236526244674610633873568546276224035128400882308310764184681814451737134038671073435586563242685263661828803656713757455084218074450118883311028218488052860831621330113233120026028881668174785330671346284635567274115058442132444434254543751146287013176381248254148364646678372151223557744127448231228887344324628884155056008266550866580857648315122503424026886542428445367715128852083584402100762004337447810571367684760353176166652262348137331232327417486185173174101567026412503465425862465205662275748527701376576738747225626076182627274068265128876705666184003131805124157382121272151445700554803527817520375733761202287241482427330713488754673412162058717682058066625005684753242333180572677122857325463171448221601518612507724072021824886871353833016412105874821258463630274474827080381040116775062443127308862631781052806261066364338617365440852416785358528022265382513463810507426447054275582376064828326281701726108564568863202351426707386740564177283766333352718818100773022227531502042665104738236305581225177318353718078147432666182038470502078726456361348340853376011726485345413652453053225826888517548276541483245771042265734250202188876868345621885731430433526714107412152454203541357428520531546062575848524580527788405038524310681641371735660161325738308221733576021823751422355827310635603535755522274356617223155215188717280407144543803143634032626675442520303071178268130761251254348041386628770023434327250156456233243640285667663040760732370017028533684555235658720471125334475577215033078450337363537332814645518581461673425602723681120526854465705162516245426647327676386047300471275361881346104112555828085878728031056457305335461064327325864848275187246545530435386188176643230676267624410604545227000220014757670772644481005634325321532558011544463855615188225665818081023343762620278122337685342606572044323677145548710025427855281851160302511771523084828532532271568473556461860155780866335735104664283627473650320764128401475074701856286170245817656678312102727681878832557183627116283746663745521573250548433633387786778428505240210055106765781508465208043230618261421815426642857471181302784884806204223514621037373621767544361887020334276760140052751732601274435861088233872752833013101845278457003577014503830210445435115637378240651018450244152554688615452508752684355111423008103387768136107081033374142311453762006180678856133002575158183503145165362014703887733428478467406813183114610070424523025132114877082751174027263057230004406861513882283583042326186032366402305053845014011075456836061854575414553201208570576046361787387207815431627646103484676756873037748614360113332268143340547380138275454515424848283600464545607816208453840776025202650837142087201686186401632660621608084231488564714705263671683852712565453580518146025013020787753786627176406201304338636328024116810028256574126312001737236684286403721068825504552765040723053237843018416160701877743784383807217436150364448240378324253300830882173150520487212263407711080445813375704311551873574677752653686673241755244273572151536054764155750614830302515706455147715360761517585112408102552084143348718112583325207466616636731632450438610157618386124055618638858875443216840603871727860483243422360351300416081217364065687754887818017635187468882681408767553117854162067583388837137887702688662820775454517166118620474405287718742803252180441262886086317686484454120533572404452644802415562503337137665720137778721056553325781224644751387450432432608370771322323617884234472733702236124308568567088138660337065527046071145043343378217231464025447132338523576425736874585630122761262174800772267607706220457111884177560443426548853465034011051718083145472311016633046548678431127768120534825426142375660676134130301807440506618228358282673157252377120678578602110111854815578115432373354408558225658060673242807025772611154805641872180120835760876156142072323344772726403861164500541611082620273844048461676115133757787303574536114588067276030132288472303476160318723004880730480073067752661186856275667725385442121483555461851362000876772681281730062680630034371543081741552262085274871387662433200833816035276127210888778022083172523155375476888442478230111056044411784683847663387218765404216512320557461773578667612315314863718871212710245835133458342877345457354774470210000355436724132133088364645856454415427580887253108868171508323766745562276332222285400728005223872662460082025213418461178526828340530020112463178346238764860313368674715386541662063702415376721562705458468018532326084402426445417744634382034152124625025142284272855015271827685274643343754822415547832782502856605522346422251035322333630600265550888224357602348840451182256750116008445528250264537671446840711688833055644866582822660518732066201285732812172361184148420828211351230078670151355843511434027861238626277354238211561484515715754207223208647768021574672620612227201566628816127210411311307424531345164372673171022788865425546605673713742023046054180623835728644360627254383357757312345756857450406675466167358544500420306338040332667452021480137676317113032411264201851668756042771135547505225818073482675250813727238541304408555537843217083373002232158520871214266357873877215406207801616887751512505572785218744046252244730652651627433584511536645108106115026385813425611784805301852337756613027020604334161753450660773067862436156372352234145450712856176738251121233227847070361272144366150640822176645034510161168042886186847455443064468105584108036463681751720206215248100748783357736780605034284044060836446317543164218830870424647513056770773154268737455208132522176614643377078630865407822376848731771481060246507064862665671841656586642041104556543240114130451648263204832505176478855847482481877158114236610422360833561045788540614310182446182224130784416057603665243656884571640487333225740012153735101883465648532745724586571062715208070650406481663140756885340775001455224304062632344273001182704407313468480753180256431320608075774736457574864116728780453213463146733051052723507736885336168443350148172714678683585883751214172751213860455048857164783263651625318162364361737138281081026056162543678175703425325780368013883352107865337016161564402424374114478440842676052748252085318775324200614240238776157066725062577616886153571488282475175605065301687527876114382885011544727810723134037150157358471053638720247832564302757536003247127145286086474537417186685182687202270270538818612877865427864788331552373851533344113454261810342353755212821242685010275860582155632836186847038667236317128587014171134820667812160236344440125347858306865648682844327037182433863217733018215330782251816621100663422106351658007546786530230300005175335048118555777428450820567023643136865846850603055504354571554370348022315771054050820532582342237731508531875774731817750351273185176265336423035807734040771664344185638021774706728482654874676634700685754464466027717106264321085363831333404171760370482426864665386084855476403548437438255324608468337442117651258352074361500658044208285284157677024041427251083750582814672511275874685227822273408770880658354020333058600666512612256711680215237137336327276738074201086563465366851118251774122680547206341535622632005777823264867161034154713671067361202311715025523183157888177481777547536314430883106576111514776852465742084144881740033332868506758488781040824710367240351107010111035354587457663536735575875100577578277084054870731818144245350052187286615621723678726240246706812456765375112373802217342214740634152813302684255078485840101145001442845801750633281076318540248314002804234664521151020356664622535041718004642317038160566611615448020752267082418448657738328003050456757122863801256423250701552388260761440414873474503627237115454536378271740686662876613507130315734888336518632167656374768085171866125443877582431728154577374786628530463804570157568140308266284137247132027616846077246587028472253027834507314851841816110537207715210336038086316325418774285810376573116046822477024165651847425232744731065021228653055153562272616204722383212552680448638231587871546281047560462357274783037241658602881033616605704863614224070810178088775273468334357123800326340543815356758207280518112650612340714200148056628487217157080442031246310145576021148126505131813620828470868637774841342136127183665447250833081627118456063773604555088413615357116765675214531481582546754745703288214671457467238883745053335501801084263623761240064271804271078733104257026722704205506087123113351176528366084175831406182237031352053160516587731844527386821862637660028104577057662054316551378840706316847675570083254137575502472642704735680380548064110667273007628254542685725101007038813688316580148743200885045704006663084440254878106410541018026067528828833380506741110885110024133003784442265013342380054147346413462848568682442056577502287340375452652108384601470241003727124412822761678437885072771654681153015187537775414855607816554258587462746415762774001473188184735345003557313544075265234260057204308610757422272430864187235136887154313502450727274484424660524168525231535540055818753856548231063115728637411654738030066466068423463608887815803743321748668125481217410155761588674412011212573166118642123758735600702042055576014848110178113274428683631078136408316464446861567602883024707144585164318157736462013435872235464167454244861650630448704147782412341763240768834123027325122878667124637430020865473113726558448114707348835178303414430311130341586047801250152542713241110274257268807754756776530074667466178373565421040216201188857076857571756122442020530112345771266468808507168552165880565766071465882142612368644036883785631274877678481462762063300738137205850526023605058847218023136516110041200671350534125207732254267120245184006432757601717423125873863723483617130488344137165852410661665757257803747537501601471865582388850364472851271677146057875331044633556520865575742778438733036711813230253361223567880430531836418330568260202112254563888105154632081343220232187323317181718330347523183354625845077747364548338428777655108688781836704878421245885062747584446617667471651046167842356564137308618348002803516478635543275676458402226687300708568751562437316417108570074433385214271700620360226877508581644421878668165458307773754087380710151057135613463152636563216311888774316347334525167227730303516350780803137673877480883633526030316588712104411167585604185731287040240606238368844682143274645710122245240408068804723574826080770130658144511126128563165881218608256361845386863706540087245503442337800251464024357705276223334668340658764522355486730875557551066748272656887737270616736118347514360357063305855252538208711160216301175643204240451875356635627176132441511526507030566421021441386326576242326211240563712421616400335217220424878531545102581378678085347415666122311805251101124612181242148147340751625668315516755185266182046141784844417020202661086345136533223343061128631701878266141655117010262534166888362574023637578414864822280105024275175882552826062561132668000776713318523041261666307007031836113703007047488427176808425068406746672007787861085864352107734572530141821301886843203827056032181850561438345357420820872015157412528128375135403280260152284260542362604678807047384834142822218744714721822570457754423054262028252520785747377437733554584246227362043208813122817175600375083462855243251611702080175045383068647712207031603883186425872361824630011206821731364538054134707326848734654337660208532426806207422356744751563525347188100441713604257886460264135056407025818648210010485378203024374800185756324607684077452554264440884803522760708210313885071885481254226283032465484430155756483446077256221705003803360510717144203060451274087618800338308812144558814880848637887802837805171163372563584641784628671874263262557423744322003446227587721711861874326320381880664532176051615852840657774143134181637714435340324806461852737087631406786335686155041712351377321510488413407743726674541848344626550220216781000735305614501501061654855158531570070114476671472042362748131057075203587074382185725152443680538517177400764186620502658502651457164685463763586786026514768883450840030538342528733454577307785846348228760772525620238216031746754766527432587537001170625741571623057366346814183585377428750177024856110676642630125108017567043147182823208358157846145773273147545075846110461561633628605345867825444641024871701023637123268488185458240743528468275268375607161482117467746223551113032623247086742872835436267550262381085318102662308444172674852466337003672214864782348362264610816734735152181735766232551610232778128236225508868354785431248355471280888862566442168247847222674616157761576711028026030882338753336427712476844654722883471588845838424014483130041665228085013884066811161511628414335712351126160817550646311150710181814687581102617003031608761556062210222643725078004285402810828184157883855856751287404668714033656532726018760024678363567658100500808076174077107518284762325238571852401844015150016784784323241506842442127118216330083632118146202031054646300881254885546760731241407105468148073300816278721210231768458374144824420152067757080347164288885004717231142621568016874488024861547211831415488156217142462367845444030640078660702524545748627042506232264522007152408858035115536185311424534048058737433234024185171361325012835512432106765175850376427511667717673808803185825540347723555072377555386645484451880448413504503668442777775537800655286361782536074681334616203235561542684570670043653456575455445528686148223647474273466344346813887470680002210036345133024457534467222232774322036528514858131578206412737886013862246636426466480884868365325446858753218433218133782528470421483778182007717201878863555116688331004774364854053104164554167777121280585048838140843472175558245553482431353115670373047283704573674613287833478354324275726021748345775065673884205161336875007686061683336668135814238584267566877745300836023686684318256256063868470655545756765287227223510432530736384563343210383857024461536262010241814773382775658774305053456068573004104106457538286200558163848003156588244016080676228510805736648115455524556641687604788680566503744360077781338504207306051003615784870472140650604550500726515242126887277682585414658426872677565602248572445243365046465236566527132326125113613255885233435240722554607002578861674175354108035578472287178245657872131284034738622316260673272378167460584802157847567826354235468804782116775545101131015823750335173218281853713480801551161320036777766011873527618562538240427338456263836246855177121847373021354826475776642707444461723866173224424531662215417425840583630854761264225881323178052356364111807746785233303050036317074210114412700363325066066211751673365123554345846436660127261308207401127051317855661050083044020660684778841131631418782010683045856568082084140241567825501854348635232046734448031478726785328461076307275503473511771708135112613133366745241041422214402004538233280102621333131625016513157223317014214725271103881866185713368466778374151223527102531553871276030812047634202044417883057875633606703344621684153637263355538716054310135705226406036630524178684634160478301777400500575018210180560274573758686362048578456138174818544167725866788865650280352728248805425863622172440802528071204820045704504225128167555075408252284300885305863645558022688263756353280018718347550821624327168376354143834873467138118011024281811478470734016146718423507384400331140702486146122006188205263160347264507167348052737105350877506703127664446237521652472568752400574463756124605555860082304118237686727136558235283055803225341722745550562258833227484413462765648728110443185246355820527435724183781668805736037515157871130244426402802711208280307374658702676260044865137800683287811514806238666810548404500766481041144240565032225471131471051207550828846422312072053542412027457532714226183567744082548476612650167413376728544888017000121244647265207538054342766473625180380374881184473723807557168226731101768227156100134512732383104823282142581216610562106320365431634573476551448876623133217028430034441712181008846886380786176017333532362172145314882144163620038476581051738742242008824010684202757738384881718521146876838721268538773807627214228475868615238421811803014525022366048536131244362743465560750335880787615076735864606371807377631715742880265805266043748338176338715758862326573101787526325561062112851036303772601518321014200856284651526225300576782357373521643152133780721117852201457564528221440800238152111662883157610663507002427263703551548138604856545421201822757303333170465013681316024661146118111818224568657505625857205457666012820733338307320228532484633876881122281118048120852240471130444313221633560486033135458473331108523068828601443734137448224826726370361041566320264555111085366014566527183517340746527702086135322001730457381108732830410210042628581155155180248110155254551623343338164506660546251677007621210643744030367402145846385002861155678675037342348068737064317815582746371624732632387436263823727326723585863720847244805517386231814060168731142404674516722226165042557263030462282248814382153620081355647877586466884327608164352076575757810001652600241228132053550545420167364227865320428840505451714224355635304465434737787068388887810630047346224786432864548283125503871432037557534808228616783804651571806240843842776026616042217515712601550584867154458524252802251887413778511534861424012058121735275582580711774308100715461372653577000434013852315636411123100806582428571034337802488657713504300721444713733826027681436130320531054452156126020378250221421012478458773666654026678703804570243256044523826282573215228183821241138033236202850844215706888515203515488403862003467238764805465568044841777031152742463655431735875523600534535026102440157703114172427653150257486664705526152525525425548326375117761043463228374154465646802676774313013463145706683501054008223562338354761657456482723308361644383476181480318328315278841383333345684150340074060724051242487154827211714878557545264347150374512312437718585615265551588637323127730520756370560420362784783103055218878566773562475815316086277238764747853006262067542717702103014406507711035316120570376333485251871842242770641730826661570743874517775563431272131741613550232127520842218353544252452800771742026238138318582174774730523165772518283125368456760280573650333785552764662076433215007750361036462133326603014310854558588008118222631162477417576323152833553045417022338683363165258524155411406111051616640301588600508576235065138004305538046501418533401800376810846550380151417036458182313255518775504075366551348250238745218667750607345667581728361843204674424778712035730415081826086305636238270435680608845708630628387217268573846162574840618511360470810242301341105517828511377751265370274285134084521685783365478233466676703183467474615401141651673316354412701543821687821874753625370038870872868766238853835604272074166151303413565141524728683407752068222051227302003113760662885882103466234018412727138445315316661508185374518227206514264217844643725637078386621168752334131730561570463765885516733870652331230175788548163121751434764253221263287455257336567135530864434816034112867322346736544712503858725631054227003458346481715701248378735420887501224101180311142874576433321830116403811760088571682186427250202708876834206066880533130871108771686205576186500671750752456703000542330578622470366001177840168228071728186751661853324210605662424775667213144414678546262727460335161060246748431744026527573024803736014428756820503422577378243642041707620276333772066317704335753838484444828526776361432027725086620706748855755146214505343102603070705312282783505264846241803147668387688701570504881114630577181811641148164356440657815357873104774372386824674305044632100654428044475843514785266522762355167585015523022562522767280714518156611035614412662487458155270627741455533103605080385804773567732575686748463440024633880126556254514518656718485225267547660424148560300552248378420100323153754016334587568620630847113666252767278078886247625788540666555188413007523137130417388687360718304887308875367268487621732784526805282764185121652604878482846413386105128043171531532473052406885268726156703733156428558732276356016437414527584080177318816872726377303731817162777531850767144450331832838141514265572781555480104867012260657228563404074083408178251246744870775052231003748181235446247038663207408141461352544406047326137733762518620647871745580837121061548077274028506828156712667787760400001113545013174065226867444161638880738726870087451887004560061770713633808255437287207312187630476547224430330513672418245571875827013518833068686277408613644532380008325583663808812860404454482362757037182432663112406114313775680006002156466783407102651462886677716565428763171273876255503145766125423306282552765105071032178546560728405448143750610266861154782142043177763353861134665558732503366658730827160415843267405522811041636423073605483316531088244355214305861870243657231028170865250561032075368726445324337853868615282042164705048064733437314075716248078260300322740750064724542706165632611122534712600783001581572132784567834836312217601622470853327762044078381547158303874366144832326007405058610257811738308643276546086107762583181431554263115563672563750143384641887540571708107357467516830683027433006376522641574126684503368577545807538474452216184757471724745324647454388258100847616703260662457223814677137786636346808702501163073673458741658230076337722448216632166154218616800725114087456050884278506445500243000500811311845222007831758033815128850324571848703838020038140040146450786182342112178710677615707254865835048242016048847830416532336376053774285034636878628505288127585436442073550163882061304032061160374518211038220184753071210572266603081720465533668350377413786333660553632620667302713535514834405640534364810213776021351643566308840757342605788161414504570255387081174571658603464274875830034578463108852265478435064233073552722252154818205333177827406548675530706623166186378388233801040643384706714445162667008131807101737812483864636527170088101843477203638230765405035786816322072015153561572382633855613781204410026833618467212427461764508614785382421061714753153026356623741084134143116034703007033706608352132851368333467101820283727404477536661678307127600804134547578472610872657822228303416161658586527586366010551468327572406184185567074721054170142864276502732325427787342054417876306625330613338710242737050333337138663821427127751557260483401250115752646481751422844657708715823006483775358278205366641223003031533741557685134270484838320222230116046738761437637588624582178255776881426813412131553882527022656372646154312762635511022324001113617545432305567625846111427275142446875350343375760664858245631038122247450458340352001212815406140621432540450146418070410532035128206518063287367806186106004784623803418374681275378725335773187868053361545586100270186665543364382310604058402345843756221568350461622072253354641506505766568228302770126115024634186445663740115610641816386060528277418286222462234102353858800803717563680518256743251068152762165006700371078116631228577741005363041268540700327055384033870064205520561123354314304431146122540723454801888658256820833882148341041676422262125068588030410713076531881846214810027143746770144220058257801007484880614176438426520525771562481404046163170101884688277468418514853175720311733243643160354568572812163572528645040120626162187860562157521774246221743032534284038175658455445875706403153152512641845736211520306403233284540487120427540704374182162463043413434618052657568682728476160867654412186143155624815372730133784857301427771566708056522165062285786501828563082226700428710775136322047346880367334028623346546124250000156056515386406652378333815836081870702768380126501750246800281466816173532743111555023502285615015050327418581245765484331152215280537625716046355376038343464351548361415633543502236745463606053045278285603614678482143272265100785725333834434832728206338015257875402800405841774140301304046512602384723186614101215245815220703027076770447250056777568162634550012557161202435885021332050542716820164564353701876377023858521618843868215150102508465030215083371047183831171216077250551665206168487446450828108563566207787806408206368537355874634251608137188333060756884461001327154603100486334201357840653436637184820012152225223456503563518835036581356378135660707144446475450355363880655351341562123133785784518374320555053477561467443484048051067267578572872650220234485500153103588645787824172654452207552117334267506247710315612657026368853573265205313600668132466734042323708738261046810852487131868250360244424413358083308207001033074187251267300650256274312247484148557475482433503627523430348468453165717161346623364708500853433374450235200062245348558432420334150413835721717687372625364266161585536784533335070002051346810662425811333452351230846308262411763324505706186248136372753650417581734800518306025446677528626403307101738688527442655367751763588250114861142664254173611607674724754285661758035253164123078554230865112627514871641125736773462646203773825242640053635141157783248788810004633742372350153722516604765464647026484651056627333430208745482458474675516201546106544467466125476113232250411882113556188086721178072516876613164656626683678351411512724472424785333375718372142184572220561346403754514746128413213106247878886408615183286636465828156271675255514171207185076847477311457768828030837661274478727046263877245045014007778312223833774015734247652388012387506378644034603150537375287106523038841037321631423644404786144438803607843215364332252154177315062668816610068677407564436418714537278786707511303776332186052871288554353480873735176205325078826381432160867028532802288287776132456724221185081805133426351533384351278031337047552652324415405552001024250036330125505248704631880783088588417241846468068700062825321541416232753518227272385745511566357750318552772812204614051810826206877373346204684738665267262545552250614781042048181375276212112286881353800738040256728005747438772715677874184350182648264013188866171755024367055055000660131103031114474552742830713027061276221700574558521478604402763213065200188715847478414864681746505648471188134430557614846657355378473173877468430808427037480110638134576813721648510030311813131658425084771266804862476284130556532465200636023344410137380512562615115000007088770872133682638514874726056027815061045683007474052301821834083141837123225416060402160186008628478712880166307774385521215018662006056712162137524835845113820330528122534006105580504287721665664873065180784764562588447161821212404274331677767827802777447501833745381461034318277635385671071174550366628827674543355364467652878587527426811778200165054444400547326355714171334843350513247147554117281606267088863615838621284772148331356166403437021578243103076188586274415724060370888863122441637237808040640517012282587251810386606858436402644883803666257702873321620645451007784868147406355464182257713763117301827146704547426183680471084752548384785015048304004238564423202072636814032573438868153685471457317110356052754138165584332346207020435851478303466102460230285508201377358047687060837788604814037333141612103746243042367121302287088182081825514502132070241214806807220721610661224417821313731275621254575224246548815534133507646766863631268727821142053350274607661210052110381563012716318638384447662832281381300810604158167555850133523057654628815451445863218606840064022611607802565210044710833168277788776602225540421144706358316060448340740675865620652000334731162077527058724107306612360856707204430477513554241382875003853006868155551225700881130233586078434671300345402422132068788831307367227657155445175067072211655377221538522476667455251563163655764386843483564450755458600262446607060264653002803555461180111205664383083487765015431615225206518657551724524138377383836884121465555827564447541776251267515730351350520700886586625225766036515083177672077665732061012258234733073681218541372136712671878513686820354376202272051822540235873262877613566474107870832503113337046361611505334385877534643868228466488125175545578038116134400263275764533205758184627503185473403168672558340371155231274522332432266865541406468170508175348383371682280776626523037808041351440875502084875622505784566471258181113373278061451480135646462653466110156371814613383117247103453613344253280236280754656466588512011066682216588761522787834503642355588570380370872458473726702552538802036353218753062406056844425307266083188430088747732880572354654170340441686445653124818572464831375571485477574385774173063336232882016406172620436425780011677886832636605364288703167762332660545822332110188282806627758087834741536783761427123600358660617488131272728365765754213141523270135885341857003435272057384762182804627028323637810158335766802888137046506721615221448600032711408258346216387278554205676473634437486457170466365360023470545112280658143087651276475118512753484436851806123380480608782414720077043331212483452076017444034502846835846427750221445084700357731106160148787233131270827486341817821528172316227228664054770181766587146285128252007275002804747840272347178713814768631612408434081775100060327686245652333140312513036238013166302125726166544412700730503220265255106430853506704113683848113274453220850616518740800244071067872380100653387687861747653503075403822565730422883845720118527004866017008264084126248718614216868647236540127782484740086545155720336632383438760466817143306458511587720551006337024561738043717511755747782183821452724042263345480253775265876831354185047802867166654127437035678483734227808055146850727525154811655257377861383488213581324231513374333460507882038717523881534627575026075825657356558800684851502062652075845381516601034555760723425334187152127125087208351154561434411883161531355262313585087425781153143576467353262151421702826002164825267401361402528233838631507870034112862120407201206260735102288368154152287216305562773371164818765433237221112363703661345858681056678323724748076848378164857802173218480563635488611366855540580522445843833876831035642517520677882308541614225348245030852400171534805303508023135037015432150810138538012341307787251518723042336512833308524208723583447742765210582080385253411132750471707822478327265206081246434418270371604776207733513116145316846752032435033364865058785800080133871157046353636578712642578086377017428315164614741134532560680748245077566108364323734328801778626676432334584704212631711163344054674727710001232885172306167048751437712712626016323247872506806075275513555774275887245327648000547785801356227282718255804867316807662648063086583672722313074764222420016131775704650831832117041051668465366166887425071184550125072482008244240466604318364834145551442366743218328211811027264303217675304838457017164356220771402137408573883622825531210622802385861708643301872250862162243001140423657753803022417343851740810204052612845115058073020802463746008303061621583642364516305411521282627015574251550226367118061733487013884170715624034380135454624613455767218621310234241378841633285323657585043631671104820850482416556480847036675860733104443685035741083378258527117025616611834813055307106727221343854662052643751134825886647771312640334647416806617408065526061332481035010061482536134450218061850400652104704853322564455684015608367167015346041262073878828603852002231810221537571332542155832201610281623207462715714108553031042142787752226343885264013353562420460556222840485072710387618320005527137677768050180104026833240248244750217003067554833755084856864777536710887536245673072576563435638646508332573561656256023166026784547737418434636473370028476604717131438561216470765571766102264818273365581314162780377544642634124786382084602548420151586048076254782755882755026872424443773820737675578323123705405287803034048040486675075300745756640616408885037341452747782835322370417881658250247014221781301262140678088618268552766437230314556052323345067650305640136233844667837575680527772848382261623717822724445811450474083302445411454843102006251652240854256617442711824161504426030166401887702634268214881673282181018860872068145327371870750485804778275220825242656165014855083543171707070627148382410487770088525014027112734521123572120440338870653826550544086543087476558205652124023462224835746678041342516160817467680325270221816020213613585417148432728506281467762338024444152532727642823051638166347680515246742563785622252710643187301483556435545530215405558242187035064478634374656683086543840812686437322018063807788688434166436443441108076201444270511568111524538230846116134553423510118322672728237040748131271784646233042551783720064172802266140776564037350180432888451357116025277030131081548637207277827227261574366115461807111525567482062748128321066504227212488311018867640007864767361381300066483813771288414727067734106353586480367278853033380050850820685875311433026883483015774530306311611334856671756735861316836850740156631553125773251703708534875705835050823350741777767107562531415810513738427784661385266152457186738077242525030788702611364035582175043102752387422552424307815088408274650313245215622585512886107002061606423141826540774741270276428384144157865148438376364257076800515706131084556601011031416453512872885013802862677537848180502814057141326545110144031068456580425808424313623053648041177766880661133324810240783315777217712512753076173328001348144480034318474320533652527726244664378042532756818232033731303235074622803373186120264461006737783464644461885605488515247127715324750755671211668345402004042686123701432377742242060106025711817884014052335800832768134214582817115627578246830676427108784275760657556851764040307022356321738341715347301313685115285324282453022783686302262354531154086736167165278222568127078124471220663682384021000143133602447642417667515488232717302182174367721252456018685332702303246777804034457114458140205615020334342842230425125458873176004811056315507415217086712854483324300076285745871705014106542153116872332603704358387323061002845538313802014430025370554028305628884166553530785326535632246054441171554087412873685040738278527287066300070716668804851361430256482027161512584376854461138635307882382554810248108680220342775613725828700124113573047417207865066387842872335382743714771363410357361843350210037851050217002741273548566374668737576577777230768260086053438872822723533062171621082515085727256034080582405628086228502787468844701145246362655623680226311255346083005182538348230502544740868645835031312626028455870576035048457426848688834112576541786721814485834881688440738070358510334534366156323648475214816362201615641212052278018627015835630338584823428186321153300177023864786446627524020306337522083381764520708371404660611177125845172133747327237006650321575643604877687042815304620244284008100821430803435175668425777327214156544365560355888488387686817242481746211741101356284268863416842752865366105857263784836831512057727130888483516237367867635504868252057713382647057418314240766203823330170774366088646306458488288452448473878081480785657681402884067872541170828333328273475850074352615423853476263126467744813581550723643673281645223572535303448338134215771571588624848836258202513313274135831013527203814234535642583583078807085344706441851684751750525787244630456874851337462241636818604632270213456180154425455428318342246803502727577858366675158575032744836070028482615154385206114282821787337441821134057345342155388837488852875752375055261142521433514388332287858140422824486176665324518232648078830124014415211251706048637445020487778330741038278284284321546643750831705317604867742811428842403750004070534158254035114011571134677385650336643843286842377671536163235716885543120028720163713318264548531275741120883035610524540860757624068654832832574273620137462320511734237075868832733764514823734047435072680761858058133321311183861537580417888708144026835356303070516345256785513214406648623825635725682023714252370708064210512763234612038158137815511218872246411306438037142050528240211640821877556006317644217334502808758720132424886372237232078517443812388746726366182285733707137472015718117770583756546060340264581571745206277643416041542465834886521503204226187880174648624314034265228532473512007540376021033218408414474110227220358127484105183160883148356244312460750578746173463642553634280711062185404428518748465067136687080883648003802732117774068515876324357485517477836715246602288853682072484586768616433528247825327660080266548134171407074788880634122562524333370722435778713382153482303243323125343014254704368577464425887023681540565110150784276162308411451680414170834336806734625712287176046522580165584242713516240310212606674246206613108182030765114854456764652418838422031258160453401218133877383613564603440077811154286340202371265486320030612227265573630254447103431854482164254182876727026766808174516637535415431842135851025064412886615674307658418107335333865645671272741106316400721277154766085571611517641345732764051237087200333108330117868576400687743715630815484824484714366188412164435805414336104350786153414638032740003040158686816880003243712653611153338854236772200383468715381401530586287678621573887828565031545511231666083246537387751570754835368400112278734247035528105707048116116245252033624554808262381360756246173818132585521770205802273135452781426243116575340477355273884122276570683317333606105324010123435618727654534414348761604703748314812758207747003314734615076613262050828004517582811137847878151755584053473755883062807332643357170646377555167307412457505358171427076543364648503042328377500821262670030546517308530736352311705851452523220816055102063504167622042474302060582744164583357743154160541805034181832122103880134544760650526840433831435405302651052845573280882863373271328576137583725118875422835635666577833817416606683517607138730171786033704811052267052343481632750036232404086252275005637806238756730456530112013117317031024521557518664752413412538443153505838867408872866737482123170056856684525576274116553371238358801218565828637327606106850180614315156587065338751583438625308881734440356636130152478405701561818172500152647368033222503347014272774672765466587724565770561526216124687563336115532653142656651770267828603652603522613033633080146466470426675341812675278806047735751328241183035181827846764811252034322046645335221746208076850045546846687241806145881603037261152335736016772426103042728606077767870517633504408222538755544556106112313737852524480123253580408635204866257564703472466687152558807031882005751704773574627737161265653530310830116211605842684460548113771826520045442681483843511180733245558437581168462702454601744750153118642134274463031518321765878830284836150641178600142545581437523147506035811366131457713467130013162821758648585124257033242313770578107386708002722111846067232821641787512472150417543505475543866007401778817675320081306030461560457686003588687706054422214636762710700547023037124130817814342842711813054714542502750654115003586625122532102301661706213613170825740028112136211060088205283670302868752222815076878588437342325310452707754834536664234074023351765402100771062153076464467538054184741374717382536483678005561463271144172740026571710572404488686660450703244138305337215656330863170535726410613082317557462044078885263860341483656531370138255878778372224865287581452348831262170212605532621632318150707478437716871062031481248611043133105502766188451857381242605180268786627052461247504256213468308066512058208611660024311801181074385361116145045365371476347182867602811715745374067454543526818282313118607010353228551052775067780686486804417341467227683486145631178831278446814761002106512706811140730838172185178567126343805403305318832833077401701671836387362518283181424426071683706711612288464577866783876530020010758178702861456716726644148543374578065873887318877168026337723042215880022077265768410305354540217653158864057418328027362242270627702758321348774441082457125437584608028764238262153787488527530737085402185277005273625116006358818042658307231735507072480218822456232447422280150180657188364544268541851424257143081086630714353132436328254352525338623045837473808327040173816130346720771165031106537050166601817043582246151268628371110760650204458456888248326342681272841577180381438555730337246356182364853326674630641712602737804136173444510287663513040164872734687577747475113507611576486520717461748055041440348312254380887511315128277535384876706815460533686118318362664253516811500723044743805703458600550365853171425106466750624630660655612335765004778678223048486407481576556500824317565133437354063122534415172512050610252523077564273356208647854446561522580735553345608063771487060013522534265027367750784825711851206868113270734838374667078683423524045008503734760025013357021152761545063533511726486883432512171023402563201661556022245335535464401852547885144731261644234130745836580023266353316416385346826132660717724485820030636784804522763131462257685016743038424608046538283502130247717216233105472326244026878267267237331232068781083773807468270350664365788776807646725763110885644816314077270420175513456726534874361867715512721528102760722561887173305233441281537267275612136471237374533526483373285148043517035630556064165462823216435676254877338033050584272282008844177510387000865310107745368062732000263415830713740162484511452666076616564634585843401520811714246320216265612512780758352438481102543321840426206047326865510174710456657460413524027723846462841114025662424633414162451275508814823203314811761025374258266108477282624315738118725307721816182203457312588324005257658414804760825367245033844051356204801142340617660721666666366371233335563756033048615550488436015436408574706344470453716440652326463481875382141277281052260685274605176144524764361882878210058367185327834717247745122845634806618017844367774278862612582114566478640606151710545234116247762516461546613367271300442316422218031220122741087171260674465142827758448755626756061746141381188181380073156437146056114534735004737600881622788252335237088788764064451580780467364452454357307864175802511217373028324611224668845862206453163532167487802701040683758802506814661255174571154232156868323168747585430227554637016840576582017653442522216681723157645281106254334604565540737442556432878582804408276113335533761345622450771718658580178256410128246345485205382704001088202137313013771538037757422671045718265632557445518154031761478544171708246360747835076106322184076656477277885663821214833287274242170687608701866400072213121136714443317168871657814622284126543288527872581654238764048580715164258605334071387372035622510537757368760168226365871217860820786375824720055841522016743385230776050636238065287834433773364727328155471521380561536183150717136063621762146557207615478042031632314333164460208684541132174088538076514511311062767008506605818150683401174455274155232261201741810515475378124557728436835233372464183472210233554358706524415166238811313784617865357378622551318703114414884187477677024888163508047530411774844323766032744178630314104743813614254450157652660207844575646328876557570480413516654438482180078827475582038241451531688776128118486231758835114622533402217822888024427437715687852552234251072031517102266461023864414517757446677203542817345476108650682343067136222721304806055108764766413002172578185811313400111441358338317204052540617065232114601086717372143535115737321301408088880823147220122811865162004067456664654565437752371608023801361846164870773801680133807842704832228783613257157233150576023061773053383200258158060753213065452066530518621106743781466650635512548235017685168403684445181430651458325630042025106656611537773175065538154775424407371084046011611556055471470201307278545163515687112646446372534746544864267408018660634007204306774513105861114851358367601281720573187763031483181261586385874207256115761213865014488861881107702324006473412602003515204846603356745335058583343485064865114344137382470254451428441020483756076387540684383225312541812724876771481011171701017821607283584085355134447861725684083074531434178883241680528216303557470733482306722852418724480633405464181413831804847575114541027231375706303244456743410217813766768688331224823336778878231270381716773317234032661163460338881226707475771857682706663801002436612830644433450872537526048144527338758637723233358341471558806674817403802841058458342550326114782646220564044573847548160350050501065360310012537832866238475638740351381267778717701408146574120175247436768664255741326737058304058620358885688878116178887353851763756208444855650201266843136031368747564767465680000384553366867181406406031476750582704072357180881761667438001053515433213764856103626256250840874061702882002878765200036487407307716383152363515357560650028575658413130405267703152252466500505626785014437483384220050380518133751530657378142857806000813486385800516135140234120646524218463127373485037800160050300055533301215121570630821328854403180366063337477265373021062307305452841540643387150473413553666608873808861232402123684653007246017348104831221231680047270584207730281528762603734150761877045141573674278146031383514025387208022718107668850475604815360685607841253378277843242860850427205703841645576425487234375736555221748206210464416717805051224687362640644674862268757426670271364630780625513681663007618531263873034155776672115826640687371733344287722147564444136441280418145441436380706424266654236708561036674211741804370587386456513246801156462525267077721355725604256853521647805777657247222546745587616806383201810567605044112504408847357462436028483274666784032488572571334017035208404125828468530724883547831664478713603578283665588024140245861600185612808854442607734552765553077613807057746414178365763887516055407638066206286005434844667721401684086207341021734155888703718673072466436101285261756105045115521134430035433766014257031266446855514552787885283182371122833612202640722155648332848216062278725685152850043522152088417365288126534847545071581350157231838650366452814555406022688350428380410174440264071142427678712061124060458825501416281480433203101080366758532507547701512430833566335877827214628255540651551121210878734848781034284085663026207434518013875448004038806505753735418688611881874641145463344542566103647442084313335372266261424255025321814242462238816738311334103672265575353464365526753722445452188322031065624856216164857282345110542003218447657870208234471486616276148708663487337465573578415087256416287713833656485143166434140405745750846753712336785823776448171076140752282763878715420286617761154881021385708713110436681031742050650563421426754138604766644624425624106835302855476742483336582171124323386634824680782361313120756011263704765703441177542172123457075402151247813852863310026874665144106118135355712572740138555344308477818006640857716312160347056130743837357741102810866505654021822802104653580546858018701650667347356242386355051205666760532137173066572271721302776011013273713385424214200756430548813603716065866357228247363857213116723157038105535266470552665476385802750030787008418256031485861286065752855601407188843213885387531283671870531486864240411533514832016600015401574725026310624761246011830123025661448426366311204310628341767157608283772032068425488866704340123735158472763374705551361730845186086880072150830185170782421815507477230638427741281310884770031218312343214263284176151182001687341250063631337204817613735205582323654755750112741105848214318261777041701566358646681765003551413722421361507210432775077418267458563342875851643766322718011184647401537388253363758657726403777440810642441132528413861311645077277820886635660373807836146666851508030762306424717114058716572833347811710571034641342175172400858084055535285625808328006325402026514878607428500406321035555040153120764856253537855082280000365277331401118221567085606508117128216186828841436032644253274508022554161436282268400661823835054650620078721606042162706574813476142740743730360366122040686672262370822376743061324803825082170478341282181664357818171180885244587347213363875083610522545763370003876408632613463258028582163742411446823316466027316377151105000645767261248236880365877260683010678600812521801683312377681360224143061315026585631606321154563234431277320731427423551586381076464755442532051570404564237056266408133526512051155155872026322767774734644812555487141847754332657342775438337626633643648014662472831585854126446785212246784210684441101101804746162246012264847307210324326247244500373001846560284214462881703211667254741700530656360171312581560187073002855776131760107606422555514416210188481124071272748127470474437673525725053601376616310677288757426344563081106045386244057651123417160718264432167352054010343234007650764200827341486274437413703358672447603784134168475710242884810423322243350260246745444400717702577668420766682663056331826467245404725666812580160873613344315018227826276773077837127654841638811784287436571157776345721122068450788151117124104504834387478650333184006457650166411675865810128424317880510507333763728105217226557458777485182844467386801472508035020662775081243800025673758752224568653034467371547223207706853757536733127106524785566330174888011722536851768656625161353063458651187315382014115803766248254521726341404721050117284142128081488354172574362325487246286734514268653837305633504246143678350872436358134214564628630857560607134502281245888885117426468717465174030754635753022467428120511032384568344274801205307805510052821065835101672363221574765673153572033232532704762751142814210633775338817053708646464237781654822140325688681087701633730583320037560185075087765841201868876467272812888510320520252378181636873741122632482583361587323463476862251852512562158816326763850482605442458623218181307820770053857320776586281551613526271083281561702110203648381655018885830740143030327304750583121774357136040304817352463550605727411350636873102561366623703064707743762547850404447715463374867731033213307235678646637564600323733387354812542572426546272844086224434014212046565506311116123875167571263854017268437531874857338855164205123155374825252454476428058115204243132325706546681372314444687676247653727736816370852106761507543707753731136400775320025810647306737061681576164741736128031832044011430072408717604418648087266515622045211217105475414145745573715508548436051832384312328274358206152347618274525724151631471347745750475722677804033128323216470887343147027013770855456630622345082831480357740514748623064511611858351475551106760804670862255751274207536575701251724588308427250558388116767238075776758604221735853657043527700413720015746438833455108521515165468313005501145171457786877886614436685512415453051451404016100170423736853144468006157105788526457137830314665103884680120108822724636788543560003270274370873300342020388224760621335250325876880340801342354688425158818438113118557054384837015361674781027504317261030233745484238085001365033813615436875870621242505237360532381058813667147743348875830784835428568020231413125711854281357368310817328185238440000106541754286873788025811318674323822071332435512015323435001884826867613730338712888458065883363210026555678441768667648525608770042156458511158877264065468528565857170401415131541586713477115256463527557047082023627458853002800526626723188677105803610640275054136448363815320768378538328653751177617132874078266528162536106548130747281763845240875733040700817145358886886680430682562381652658127284827828331433721136316373617110266400826838117384586672183026147411060876888642312745336816332703684506372471161226747251038288712766306414464227138462326731781034340241145528613311255232754607013611434472437233057807584171771866564644338585163343801131522338510004581030844816865518352632882216762651821277826256486772574423024565228804661401732364768175835064773225250500520523253084130803007531763824233303782480857148030463078662704434503518725241637383618473657104661178422011162452884474287410431008506303243421872813674415458068505124160165171532625078615520465306821354814805674485808756524602302513023836835106130516857827786001054650636414562257104003458474033823328330230758378776307507414618482441065362674460073088665608717780336525580568545688270502817254285646432577362666058134174542627332138144274347575603535036347206820053871231814705108552505838554246265255161851057210503420722513814665433112450568387417177505442020302511304700442420476156832666526775538046770570470871650546344180050482671625078503462800817330414201586703211820083082232258883375763207455158631116773048145735060116427024753482565861200087673758321225583336715250214152746525108031648115325247740776825504314522771572041240131237126210668342135508206564812837868560046076615611032071021503163480406483114665873314817585582600751683355273251322847206162046036080056008817786542021005677665558605638850177208244682823787600336838555241240813708348016800505163245504181785182637684742462387218466362272675788176054323407543674624023812711458514386868667874577616011778066287678380650771448132637713036828786186861575714782865258720404655483054777021744623354526702562714486242183216332460086473701800515045603384332037277885574064615046328612887101057655864786324431678283788173437085841481501621867425328344173885085412270524573607262234326054256816546851576167060526258487668712675241378100252757354016067584563336343175045681207768414134524443588028670858828852550573423218208854002131850030440400782776536176258070357074376175062031426830665472433120075543170216765316621220778546223408007610225574402122363652054161605162115611122204785458362072325810148333730805756435661286268705168048003708137611164688054116873706673537876744434174713264703570365407877287184671263156453134870402654087105484850282580553225072017135273482023552640388476621160666187553586235777200374644652275886046780386816323430538603174260788712042432222806118682845660580143100482524850080134782157076887412502740600215305443328504115204543012147570224226880571162626178417474262472375805827037351882523817628855873246282823736307150501124530122110025742877020418526353823717212363861568781845133413588621210216251073467550104462348516281478444027258254543766362472678076621858438742371038011644036262217673487875620027886706855876782847633848325623376381632126122348053557334255208255152774446803785572341071314038466035324036365103134223070653450051321477005085380582668062216408505876483465667747705010504002640866627280832641364862748342074326550184187626441061241588214576714370637271876120848027680237660256065354123170056121666584071565808446402461867411771155724345018266401486006256601624047425873070153263078547383484842455715801131725633010082638555620846881366143757161308145814434317417215631547502882337675017553072355364026777854800720471560243146800221427833785658256508510575534203720800545744486233540546170521783052281208457683273663117783161277231500400766166748747060737454034421256814401255287430868720511713732086321821564636106081306118016848480856685624657056564018613855883383264471433605041222466278218864024058142437884145614322414386040150306104372614171687200531634663442527458625668422756254878720806375718234302753621685110853441754417516048021328738146347074748414470785652636825488853601272041827332735743653364311082862337342428417615062352145507607602105225781736030487627586660652462505573672655002876456341613845130043762444351133732678272655774054865286270156735875462878234176053007655866221813812033655753721608373850452140117557600880717636041174703866723348213086715836075472120222607483652666524733426310688000876746357155561268505284261043153345137864030418553026588485580640614633413462050551284461053281023341038573467840131020217851081734260400345202372735062257840006573817551665238117527450536760180243754115225164205464045662753664416613360381657277781037733706358535554403358070805371145131226571540162817668263561762732310406773511075257176626456822033226674251382730600815264082517156243503551161704538617463200321330670853531628560311630057271606613278623328300041335388631002200016551650262147434228868857152000058633317540708583566738766048243265827111612012444837850264108240826124013107073406503254788578100773152187658460354362175770877735538756210167274253847683858832250604102725065636053446014533084300671340265101710052052872587181672655025205122327267677451582362286203703077005512045088683534411822477173055402048770662658472708147217282587276223214470758478573438580017763584573465277514444285665216868681532505434412802285737084127128210305133686176581216535278570652250082184017023564221626581285801114131276070376640333056187111545707046502865238286484288624263307586725582400407100638401584330664882120027742582163288686050521373722314757361745211371515743035533240633420364253552515540528186380031733675363771463845071425460136404780477215417170374141500747178268846227618810558860518375064045264241837465181486658807751870380471504671604270742222736021373013364505886103052882284830282815751073720347086678414608235218421683462736475460158836041165650022556214724151756435700175146521572034650640308184835165173806744218536605001220417443248275756061248175405241505483755712415811280867070373417733044011064133672133660108306347406248420540420447310835584280277722466700214534776268538135400506565434018570240350304485384523166836672706226274075747536538250577025302072221010360716012417748887418305144504613713261680704832130752555667371728740533578151648631312758836744478318053278810686568453312483303168673778373123733232832180138086417487680715723722064476503764507832758613313136282083285820121825777087802848808136844371314634416116364657453078145735227061531337206261778353218745676781681242318167774343561878462821713600267110400506868815671748237576363875528807315035384088306423742882682532223063456444415176757144808102135456035674504006668162412063076736183046131417802256776702357654387532202020580285703480405583286574657764326017566800067116766876331856106313382453654432715155034241853461680813446218727160802862533454661860513123117087377631450285835200846605013536262227604326811263277436006163270647144073528515365453166134106817014041711003015036058036745141274851815878887237224230133133867152678026711402611848707142823770118868777361552535176740866162054120811426414201163421524124158811364145731722071382612237448827808664276805807047025530403080137411175805672733364140828472151586620665428416780807784084555704611176788425132730824363384188218541687436488605872145427461518338533788624417623204330531081607311428821073413580711564745168227780345342850467300815102247174042505851161478827864817000363048445185247831736545728658528618241533147676584185642677625006184354244387341671750012865725372780350233884150500545803462713845743381281327530733638561545461510702460408186165771633311733276323220436616786550145266650261347052561038726385143082547817084011266858766233030174572724568530638458525874156424244887634430221445482444451083682724756235633722014033772102738564420051254488614265083767716045064638418215821301265166516514138364732872063753683681657777868888857036577646135787812886643053745122065562371750514388412165007644248506474554738703780362717076802480453188624380003707482204583110473858860388480288826534018434860671286175025114368366604520460278560823602607685808537725162306073676248635174223754528385556146506048884541020728875375455705332452864171854348123075241314028843316030237834721714610233056408037063046617025264071416855565838357418561020056512663372478174487455467154138526143848608072576543385257848712577807420444723437076441602828577646348444226862148348610245382212727114143370030025531086546678054430151122750878140538684254725755212521073782334385112884310541630030722106353802600162141107522225607450431616167536808384062185253725610241136018185520827660322138465418127764276311156646334168335214324180871114550750817158516116222007232181136387166632677028481078560256711884104288353726537732002233845436452314124210568562845504515234252680240516604484260504538154045140722224357115172721004843853801500582701303130708608048261012187787426322426171086658471354673006250858507764818816674180235650241732760250116615087202430214867478605345500712808087553644013111655736336277834074105831735155513152216160354625310401464231862824508650408676633000103265218771042351370651842555551274452762320837488076652656715375678671338540276611813583468783072561480880164203538300832825061703743641030326174305603281418860152810513782424417744333653560357452685250264677808774435446732270737773023163284137722327282431788567653657241073763862245270074367636214841626556325331347555270177657530757538706664257731265154802657561571374243040142864557323081722530506507877285566383706083663643454864448628856080288212802411570453487542178827070616707820065613764333831658784013213242436554028807071142530115167654448044232086062707437408736002163302422880114754574681111525088347057456011480836288838567106835326131213055848276031386467738661367701802784473206312607882585677405406006872745127852373452687200882078052264414037377842130423702051851232022443071237634567077454871003374414831872300863338558516552185184066770706808406528413151667783478310786077606205732046123262237425368136601401822160267283457443377275212744010883435260441865866661636531878443871633308118233134424746818204102454786366704755471781776544320020656327260853052587531660835704472322277404768328648678741040850046462242273555625142140466772150658653843804586373230002578305212306662613156355260556761653336884570787866386646270446024160344485215802232246531245835472223610502886502863225407417301886814870630776033414575414654547445810833783486435405377078370837701826646554865734513571618728804728405538066808285814582454004235471080474131775147536611710183888101646737223270448224487613184767738880432571571268553630253360441131304634818882828216046662806353553165775782087183712234822181388687212367607837241754465347450423748554700850207568510851401078460240782567537008046047587027786281748538020480778361513417107517702668182454474525380422645705446168181640325317653153614214462806003207056081077778207622817506140566246642704417630535574327538744677728136771412288325472530132346605600230226080652877183437515136423231883261615514244466264830707568573703670507731038358415231585574232681057177646502667573526116346713065440287502384801304072780282563178622328864564006100845655227314403227134405141340225825441765637526252534456801538510066407368128855828782727216682470127813410048677502624244602114516284087235344372045358547204638076277367843047380513861108372762065025785480767078620443806656702534135522448161005081731078765761742713808441265250542733137224430785780335156613050516185362051501406262420676166324556546718540107284638545176604717815437406186808023475070847683874556782776262867835271387425805204710652115837284470686721515171582211058772355232871412061780666886253412423763410746467621558314211762281754014624144027736768357206865160775642178750556823786317457246711386445688885335363560668747271022243615733150156071510305687362033520331088378660007451221557184430230486517232136555867337033454777635766077768223724846510138115118323325118152530302365657513138180161413214018135541466724425070276014767631848704468138865834265185204224218638826037627215753828718425404370137770047424643148303037367802482631207601511578808478272758173351005843525601178082643274683604861273315745250774400073023812561516743208472300357312615027554643480617300886837360614125172057383305314038341713728012585518848140760003804176283413886042318601011164854843332758273560761822545052048402763367644156574345240536774577718385284316826368187205252636564677180346763007830842142443315346383050021410476678311130182248782610102263050551150223707224216706531237584708000626752402833602212010741437732563336617666072710283302423250221783712155380376278437684514442884338186543270345037414620480247112150321215582006853541106673688821865822743840852221310322588401145265423128764138024222755661738730140600021575012581285745703161758678564816112635273588241662110215228174413887368773620846374215285686218405451488503103676680414502545620066770552281346535444015602605667864006076171400518880107467223633874234503416646381748625106822110612314254211402238573247033178165381712333871507772248554631477638072868706867231742857867572562505050302850063601142412387527627635682025817167837680325012588185561141577804043136025228235684113335608421253511665056656420610828870803064655301254681413703261473322740667244200734528173500475645557084053507144232437607555268260447443724408200871517805022350284817180230525447502186547283611310304424758137235036884010457067441035445087468625385561556124783837202417331725735412508061042131182006158850710826060788808870353608044333475580243110421012533242673224404750500033203037817421076455050845800251368227206170380251273621563465225235845517554058434825582730317366307682236552654401078340672025127221864434712685200603030105457370427372286357013156566165642127634281153327452132241008703511823013818822477218334525235501734347837450225037508775784551526655777605700057355350631002823231230771015080306126118861062302465477171057081866255762830402388353412048107254468743207605520336383418105752363867204736354848676280073817811213101033352850625178772741704632686366288073468832765805824368704271303063856282244110032882673450476601436251367085003246240604257306428318081874838037580464008658076523641030332373234117313482420704386432661468540412783428424375541126506276347184541436852650100575380453626745385344386244307618225346060651540437230162322252675822540146156702286851628777085037778467523357778030353125112615522056153884440425805530306634123707273247456835565383423048820776710140583115062241140835560180817655274578340375188345373038646426471567556300507415002851607234665131317250322255462275868518226125436131725256710430050177572562870428868475115510523543876448646450777155632011517473463710753884831537873384343838314337064768402302453781425317083887661356020267585168480534002358170473435773156734716508608148435783641125424326785214251674175705122812084873271851803420826534113368564611787370852607150818868126752630677880611503325424108735088840465746021846248670887720362626338726653223286200738183240166721527862278348241120055176768867461233500282050244548640342565727633554857461643660756063264280485100732583476046476782021667768255074782370122511740155808014367876876410438665454388870531768666700612257267054840466316821070845820004443143155106253332172123113850152131002604211452572057217558368250022017160184173186677826284255666248112274674817778748657766005666455044630371538840087584443025561112504083242142218104383226286673887180012428685608612038704140106434513883073287517636151502600120010125370318032168551345864708852334143332605702015405303308653177662015337047418170011322515362640567753581687782628124642251247352084687250011840605245712567462445825527773805807270873784046607603824118126802678432180631728406712527584451155432758145075655452475811580764600137830703088006682752828701825252161186516883826527146665300083552151302324547838837335147241342536764317034311848216887273883086188465876661036141755535660085476670772610575308825088404364432830728075062357228218586485547204110708441532376414178160635736403683484346778357856428624162834453474132245631736713467337686177631824272421877112521888736356666628558523006145628060775361452156807132153454422720751286823714017806753187236172231252725358752327643104634313824448622576485873721513830007163673512778707183645006766605706158307486382762285343586614077277146320636113752504111858467884621168245027170366515080200872014324704017570342722131242127057630487224653581446280285831440433518016143054244531515070401604647871334406658238666620238601168011803053667187031786653064653870824664552308146135708714716272625185813466426275247150442425815412428563337672311361882874354677556157606852805865013662760456838032715286703607361758806741818471146512444775564878524653055258328088020486883407151507250634128258276173258212030645686025328266647282408362550875815625652554367112720520674815615411876183018130776076741460378444640311174671112384855648812112724803883462206812114374005462312424414082075843747755056612640252103568467038133201216003187764742462678032846360017045308061323830045722232787846584680412328834308852126100360145445017842377187323611843254366006230342344017080236151734612802444206871864850065605856470658424156856640811355086486147146408122235171021716810248881068788306301851476028884025861232713222152712708640838156270480545411845840158618821340368278370662220672258820255047467185582713703106061686118768646505228370010873043523663770610135741365480230632112335015028558622670142353322728733282383505607132282775771383100536275163247051407861010210223787300400713440833153432642706473822561183527163823077337517783477336017150313865146736107015538856725880023661345804701065213507665088763168357307285158407357737065127421348215767428057580341531073318510028622546841164750345053341888783126578438776760150755413072184405836086810222516328187270406730613484083572687266422806863853113773786056857818237757608781805725887676061463435342641272111267175022751205516606677838185861113530804737137525300182860823358833648303077830411270731382020481105388215711724653008168403411403461711180486230138551508130574687601136814037378376082788420545214242758270560008161338833662078272643640783334606807762638410302078148752352006801188567554844737775128160206336207514111226635374222457012755726468464515018350630204061518485580458045521380263410643670107555174705085317105852444006501258847222360165707810732467778545524845257187601834724122287124722612078014572177588063532277083546608045275717381366886461361100420166316452052130716374685742462053668858282726722656140082587657668176161786158735854324476846023812413358175573376052422484184152324557534280438640081613470084553181384621842215278457227105522486122472571450520820666506841113036314235681673830086362403324405516250576088324826214800687375744142537320836030546133235322428073333261132668883408131864416240505551648054032637650850820583237224325151123803313520267226121633712345222846638082285317338750645025875051646236110507600347722685730336103318127175833056263737805361562618084315715680163455612728308154837187017756801558832265484810137185262886507445018108465615840548348580222777231664417560568542213343306662053472851266720422288715841752130741807438601600846558508767073654217145280615274761033146010351674137620305338016734751064357870381572433865276427163551850033431040605675500143264337728732266164070387151443384787714121813537151600822024080565538118732551567513577717740244143613383050730425836840065064606560082138013071262606737588715147845713263427230666171340220157142854474476786726710248466235577807431642106132174167804265661315615657211221245616564744047260826041578066072847424036151207462638113521026626531034650821105812835348368022787308407520135312600740417844140162247008413118451528253745626022777611536781866442356774453273474541026384263617872303061101128773873745254658506780660311836542623361331831125205105257776285282540700628550023104323053336755560882513602371203468733312404128346334602801362055371587844275480540358381700381888486137406575803671268115355260625318124452355622145841764667755407730150441100532252545683586174565862778240101680211461527331082441552627362162645633037156512842772887850180634367308678734875158118528377018324428315503616015662887810112832240482454030033083844385170642745370423037518614360874176216212008621813860258871668416105604452464076211376558423127871862455880518071183472285405356827536126315835151222621105147856345486252123127683885830337428605102852330642856757201338133378512172012007124858388641562781306344734204222648254544347818743011157317372631473061823353827847668025246123882440710333283263828015582420537428785012288456825301350870065337050201868275021818730283845020021627304788478411281628315634176507753216010132343435077564628087183324400202420365560267055172575344727155308058846823562587722634327860178486434888021650438810688366527583460422237164335527621616757724283734324713658206840657748003262242070626248747638020585656462014671555703305178754742043627751006324520531552572054722582302708256810844623823046741847061200730844286103627811182871243343755352367026618433525125137885071510538673555622848458563737461734408421717426152565118503622888281601326738347248512623608313844768711728036312005778331241030281408005803043016750714455600440135153550565648334056028660541463185624046075813383024803323701583620520576218858336862504105730248343251682371208138420185773511031663337602001502117282184216376775203110535602635363255574075882071204367340154083332088214425158461801471537466650565010505831181502586646261201457400462533783526410047812560831818372264021256538836033061520423561040458878877277612750564687834577452737616435253321150056444433713513257757756501663231631151473353144045847738285678450867607330743617421240022553623334847530634580063288834177414265021665475047726826657740204025443007003133337115812068660400854054520515540626215021458240768546874713762372275364438502424276277030037643068170538048077840841615257150160514854672304804765788233575821208767626434632007222138335403883685227420128377508164444505066740352408787677003774855877168766363542050064070113675583510506271287450768654581540745762334232763863128070751543477064585288507664436332887767716846728402611530038384243563468163156457631788535843015782463418572124616181522356234543273871585231054172763050766265682675221606423813658000785827110348063457477037165575210257750454408333768701615304640553070386210016282782748788357676563544587123315025078345158438164646015384661071001010636821576224003770084615676138204568720543057610420433404784178783241732500161001846413707130885858458214766508107073541614240635681317210360605676372526685040004806246662515125875250217546480243605678551577848080244550236065437037344245083760718744463680323817848486365327024705618555731371700075420163861831424282861255611110224406208665733668004836370316164226022378258886318038058841212063416200337720230802122172135126677806416052487530680040837566020777036557730348111076175170000674023306880173620288658745021046150065453576582318616858516471134186748007327100753707570670442223813504028730766601054505662470436558545883260812728016680272374550821270261515567185733477614377064042887827542000124077453437775446281061866667341132503555547475275816080116223611716065145228547000262367183827105466144670333430602664458617888883375114584328328647336415265466250551043756322236430284443467373201026680348201060403401087406208112767878710604542251120374137616306237334041746564081776165330543606121022430473835244632135513583822865335002057172550078316315126027015045511503858176225054504487601487350003466806636177864173183172715028114076684586806641375236113165057326520785104357225534652727278824342882204500563477474576875836877118332586135868486011637786708780450202220853127777480324563654627830420757444137418825624460382758612858605475103522607600728680583312020688426870823667780652144578840127563866084562001152846472357077173505386087822287380460887468331287784155384874713610348515775220258873602651868061172200213010653705625158314556244172526115875376427622843334527261604781868265252853165642875215684052211666445635887166657101074007183507133873578101857765482674220786673385420171566552556825747460631338206257053811552122210423846717822345886036231304724828468530101214146474472047340621110171550646347504851220002656642371582402010362713517245483785633750250145280632073808278522420878226264336703885583823558851645051653472260085867825616668324773787884402521045222501415744261287458734460221220281137450786663386687714182025604271225826111570117021274576755088471653284447663118821867614320800653571610380265281782015548254186701768075034355852713561515768165572456457786564646548620621645847375543727877343318477534247573160454175327445781752845486181160082635531717768823077572473252814280818378745520100024016847103354201385643386001718775657300803587537886362616614008245665115355258811301432680151871024653761114523178554181711087454166073414133440271040503266802177178240424371276287577703728334887563212501672726850683802865286518833603336802116036363318581286030718765357106668252086043116545461000120523367126614380001302247045760606740466615622648723385720532627325851847875428014143648622365173552384666461233282424174208521835607532861114345806470130237832224372134268523852175322033638346287774826044435257731410563763688470578100738861657610411025654736368462237075823158106231751121460826170381338737616654533677404774252882835474011633732346384576507187702716054180608631880338625401206654075185170258053412647085584161353384140030421676101375132158282625252066344101184223288312545408731047265265530822653132217076888365567388111185438806387580131638651606621453446782105124671075003163875708568173555185218306713723461428844213157656716553520602644075170563413582685041302705215503286414636248138322372580431316420033400216158476878444284741881120017738417057663273718518453877704610387051131873686663407780648222351412172625761553683108015846203838371257171404088406841731874024463682530151757422378567605743163616106086133254151583325066114735016238360053546716270327125852063862422572604625510513044634435776101728774306570685348840542668312711248256236836360748537334744732418515322768407085671731172048287206241653646811527221061603166183222604061203680057681230237577862261563842423033351312036850018776046547810246615523048514442716845401532166313222115818412475703372266241104373556726431847866047181141253675863472504048775037600232840341381357624342483270285414712541371470223850124431534688538142503044422547043525646763834442161147700300472488281226280414022444707601251381165117524316021534217244787443071762508147278866287758264505166518868624010600335080353755643670783758145242447518125625631857741018254568024074338588143731868128261630316838834533364337281546653315135614318507151247381582266536601512843831615557358840622201401802820617850008120013075862530503151510117130387470658853632864235821055685224587456033575566564723230756117288182365804220640615716654877762032616681042405766681604374101531543686016141442344430783663565475722285741187637435385001358046220270466105711266332773710744263830761143410347131875548666638875128856077044030072505847008138100378004270188034641564021440515138525476036873152861453784053430134013544346484321680576867200271714538848457072472356230372416368285824375445435284178074142660711243126643573450464407764388368081114265840460583637520086628487283846526064084030716522500860805816057016463145801285636584827405863340073326106631430323104114240681816757808780887167150403750675456071281464445705862256271502573124357207567278384454764127470864820017077542631185424784542082215872063151788636037047733746772302612458332868156014146631132665821733310740082772077126010303175654123304280048557532476884335167746128376233611076482135314211502476122540801248213637086554417816576084121355502132574652861528032373247726757380701060374036384632570080040870031128727243387508356856815151132261082851328684431342641623715606218505803312610450280106627425523167728825600218846165326004433806484314486567082644204446027715848282702326837555877533182722248864533351532452241061503003607681085466025448401104138855624406565165257083181025580506602344625613511635728147403082507355210058246258417282433514061546141177526670638174563521105873800044623716372828862185611107572724611844350672037722853680433044743654407111772677275527311433733324470836865564540187800021421226204770550140858764116201005104645425340185816505576617325815470263401382382247325065656512115867315781215863367265353147557402351645860803344557423505312631781705278322206343484267047382503558188671230240048368537181781575428818540401102463514153815301484710228378621002666353374244486705124758662265165377351165828778572224542665630837728036230565338052805080446108514184515824017572602685700661858837741284858662821863441852576021318630100431742401586087782172650518750617835155048301200461085488603386068532604220425272524851267808708536587188583461754110116525642315240123184684035215724585516045374238718074524456807303246064084508131275776028117752415188045825684861370630432110520303712456260638150376133804618160245557874528172688201037266615211766005674724431785666255214406036777740120744506270027741601777221753370580612302100182831158323634337173028551526233657636525228504384635771741326337277518828772030001332262215836134706637244200582273370621681340563856727615601315380482741506335281862032365381137886335850287235604781276705863321685004576118626648503511368320846828188385058067443440411327643144260477650771241213802682168845833003060425616844733155605762206442600738007460322806016081677326031845267638858288707181122400213733488828372641237551017743535763031846538581215347783305078673318520645010676211223066842600344811681383002116525363788101475802650048607834216640071074204067833704452526784102213831754250318130567435321786861661212072845551375340325513223476237773666668475478081613745544300636018376874822681063281278218334460688767152872674556017832572265112410080581500133218068433356804801348255363763685215875444755057126506548753008161164262647267757438810345163047500325542817477730556432416316674421126810731244246627028246585738266215212457580633337066628873622360000485172608486841645877706043422730217338341468688511145050576408355250015167435015611673203320140122655605645372070377610328825441471740001578570278777056500261161306267183120131837553042381400512555540244158524846843716537565070118554724041378080362365168055170127878085538040812243212043415087163766767114082358566045767863737383486514442055781140762805676887445254732614063150281836106750451242110102182068163686017134734855041770076114781784378136462857187056233388101042555850506148015732131460127843208808540724152326728576868781282583372854044136664030656851143578345665364816472546466350400555180726006352474463864613014027182314148834770416685048354530548585516080325130203543053422133076137183487011724681760637386678807671078060687614653147545832040854771212357634273573347020110501074605556418333586473216131382832458826524880322447434842016834708447720442264114787755220715760556736274104423837021784182070030767443743223080175245471641147844224542338808453270746301870500072528167030124615324331251026400426751842456404335442387605622388285110503506110402350456315055772123265388086526872167147700731874117244367778225363643757422621463138535788523818321744001488387663082437448381612654665773368077453788017116343065517212116872740552823842144275238702678500440477567011072008566056632734663335003505006270340887025431368132306576185780426083506616286460286224852607417702036687306704620718135854603023663218383805565382513344142261175402411675833604638633516244706600620826115210357353423670207135685365448256620865627274757875822227441245405711772781367724333200613207101527836106051338084270361515505075040570534124088506338054826417005014611474604603411210103178826525655267845677742272874452435564756814701724830241610074168680832274733636832414423831344456501431643065014276724160113665371283528188246238186405166612570585832618040085218012408882013678838870087562203520701113851764405453675675023018277151637046653407401642780278778506607012414528286583386523550157038546062458330422535238666175547074157573784210130112513570718722768227786081728285538412204638707016806211807462551180817411800552456278866221322232171870777783763218874163005885307206014081062225444577145812048504417538371520187174184866402364073068435473531022455035284033083814720852560810350543301770213258866518808575180503866351040380576725338756845614617262744861823603557647801647214205333644808755713558670546536654644464656870720061630416530201177611126515101227306201487022882326036282486371353072012524513614807225847533563832402551025440226701783347754427631005351845352140515257418586818871114254287016620714533781784220004827036216724118457281652062630530036862064535478347436787186105285682625125240708088010858800833048578154771267617545333803733224346681518877355038876243437485502660511465425217301154147735667468161701887058000367283676275632443685414304623701513083232651577154603432241441280513043614212501078415030084801655286301871047052074035446441643308625845530264527384885202206225214273155121268208844114701458513135784081762201176752865582610482842266216421546587122076265417851765318132375270260834002425581472556270031370472845538757648556423233532575414010121172136520780816685566453222203286063011385660687867152185522742363316068486607514554006178577602741817167068541711340556432504111852087732067736155335314434248675345560776168414523160771045214383353771687745880816061132174744547568234303421152068878385458715084107118235636007564066216802334102713063042135507253581402614357085470811285417354078108570280160106610325237628776828488244740686314244184308103180850728377507206375015544856028782804344677074181635231841703253432655618281811407136847783075738286234588342073753385461015323045634442744883278414380841321063006788425018378321643625154666072061126442817728330007524753683318011237201608010068326461514001015375438273485753008607067340344052825032275467554115588558576448511285442240853315515865534517875180780177583351166721781587510743312832522176818660051181145360113757130820114306283154611773281667882051024334667244567117473013483120442760247160741408068486325833212147506020448345407148236346781133852643240658460765750746224054064666075716153766502084662640438017818741373216081170337860706306446347302514232154740652616645580061583207886488837320470118575483432161164608765223821116188424001160217486177877036314602422017573380138226417118740427320867608407263863583815530052316430861015776501005002250337184821268471088383048274405553313441061888246827110341256881271203424057014575442886838141206087334476766682611748072550872224731431523866314312736350003255385204056322307287286684812686011031235833055783003743562436754500306134346271001458734180470536287343108425442122223181800462376576778740450064618815811673687231668470374223408673456037516225775652854565671888705763750515166161085675200381538201546663431078228580225582546014822586445742728617816130704701563846185870022714377102023133738444737283431202801808437171286105813671336022824525804073213802058244531871236110152534471018752474185131007435704638411888216442151832041205055838082775718176220587224084422227784707721817132058064818302605414285758268075085172405585452238184137726882078373814204664050633468043242730436683577157561414248302836205202246123527814887186532245646446777617006204464410813064160376034704652340100221765362760884182032774408865113068566473746283714714266116871202406220127568605002781728235660831287234586887333335146784780851861876647537047150303402581110043322604067241823715685053388212121284341273415804351865775015563365774500421185782253277801858227817514086118807740612784667114063030477308813772516731732724107251408857613188485737366386274847308355028285140716366571473887133224778156628551568457337514408044406405708812060543428525250046858483706204334518878738280775215011767437554837201223280128865882166456543015868815138108538181447461024455037803524758625017632735017117065365666332801241780538846867830012867272402751804428843032178482214725451117358610547421601127702051033530824707374267443670624810683150818748408773350860404554700573304201140438004827553048704557015162571404104200866065702222372631801360772150066546035102264080813228624107187400362250443784258281243626641322156613834062637810116020652258706336877774780458562384183172526814661732207201166538447623712640655731730207133331846376225582256117154878812757755750057212223053433717155086577614761174375816164412748132275850121331863727010028361058717626266881586323035731238435202164184645763185216815670610567371262628864211440864381121084525641562173572383882656685335834602241458108560817186408046564481588175404447383878347121365264182006218456242047035265305563768023871413307521312778217808610115111376027431400672043648863083875743177036702741370106216746388486438622127811602506374363580644877251831045631852826421405850584308258262170015653336384204010652004006051384025042285524348110554742822446627420641230165120125387304275448700865125320758534524603734334266167722515557268347807736388467503356161684382850262861518708130203812423138837142160231760127242584053646077388128735836127361773702010076127732460172034431884380828453635552226702485572764662532310257041035118605850660734878436532441638665717752867851564124644065008617378887325308256704318437127538751210634587740831766184388347111265243278347201411413777385282033007822216832323715182408570544377217636667838600540020616127134320008683531787185064111370203874056300338536046785261360007345708471101016287261434714302406344662177430245150585335405777032450580322446854543855320516128213514668582380148186733602412174254851828027663364266626581854811003456360628776535755740778085861268157477672237762802014033460855354350451083134034448562670717056236438266308821610156633276088188603881532567000857267563725717174470845630626618548712102665370665041826385275035335155185232538356260723565258014723323538028274432815421433630414684425068726051872505688354105400305118787202302300873111004173024170277563608552743466043406804116377107374556054214808057023473604583745048468610378011535783721114767600158185333746553045354080785545207324446836772083422474426682406116260622233175355530225236850356056684518380772114600827558650410348271482585755820487865356541138503225701300066767418813443767762182103551423754256305307446851714777713840014215546057233277413088572386565816707371703018830548455685277442032742735216200335486530226158768630333332122258037025782253027874525420048681224206207643651714675304742222715067648547486637161243112787658883383364460804416602671781204114142851387057017118653340751754441775457658155806443474127578801607710633008403538587053618823610243521285161074488574620341331065217714713658156816015332310354260674876706563847726054402287164353151607615856072252242813225881163641714115863401653673347571800816746838331524023118417554315684181765652711602278016866617733524268404117348344002222833517550510236634664880412136127021477357074654464774122433120538823043481477048055180581567848105626647634173057133055233535244855152606483527076235886712017877521201135758877727362823006070283052785583665473151845851488378361110584286680228171185505245846800851646070471258753801001611488768520843351551455442653586831132652781886361120257061601263878364687176806035724085864283373517747586874786531653185435456817242242461513257562600483264327871072320028325200213108710401580877214017766117455866310444408474272750261248878712885285545177354677560002511741130123050807724643748635221120232472877074652234000471544240125088540068463782682314830154132574754116681784708555827372884112578834267002252575561770586538448030366885621207032575826375888313406887704446174302876601421058443755768152546205714854570643488828512481571680604500245318144133774728755536686876648335030735034285766233307260448655322645465551125802103681047547514863432521012046687107236744885418734112442644660411074070720106108835576237148380284655437832822568388275804728160086426506313810124633041321875032073046006232082136285687437306357368636631522438605781416505426387381542125005655406060862366674650147887233233138540660342506558861470864347070681171144870872037832474475605431778258123103830773774677251148544071482322166271337612872474128581351817315255865831600326528858775653461184121303601853356760886704411288703214842006087121664172176476561633881087132351015073407355508867441305412267123033144002085620117635133780081550682138537282650151178381233707030258040285378832538117354601678852786087743171148621740563035344402675303223462127631155500887110407060845287202288151870658271067144001678385081243333370522378832301838413545238122742814078527312470615012816656034657014152833304255522885743865746840878386188565512271803674886308540073345888018328378773400581161038132230286754070358773427603177727701671762858344227446654776337568625820687178154641867216705142532303012521756502333281138544548558608320055233413716172783282081272545720250255374437816522336358227582060486751655756467145806576518748624082766430883212033343226520185623351085473531413815744571708075611140540218484425428036605536832522057265573433822620034480085087650318268355365108768321472268731426761441140721530037175583841624833470207876773058371811800258036452034150788172052053536540685818378337883281510012344570202360554432010335735275715838141626736770654811403423442568670023516386728507867854143123717480814761630184724041768678566462447506627621343041512081417771157810686028452137827016875336414625235473107782346854323687008268127523503040481567001525260405423828216717085362337811687215518244216465568884605107003234355170018462512326476344352220628070766455254160676700775824762511412281711300578285278744716266301332480264362472450730403682254102727082077354202225460470027852527546646560631072404584777054856603330284107662545158253270377278426245311143725743082453415867571357414587514762425711878335134121801371074376070350270455546157780188602034028435210537406718503777281267277642258515634562528735548207133788705307886233045884615608675805881767156553813050287878558178856014142243035856024842331771365065551850576582215163082036457412021666637285663410571154542078324275864616228177100262852556414185141731284302415238206282207352670557458165373667165325633015608541143014143585315621301073418822531830753214684272574850586426048120577257071281877767865705642788874787558766615607860228880015506720350130324722513508743071703810401066002370662051040007800558203457067053441220508238282145720345547736225152010231777036383166353661033718667346036050761206237774613066642757814267610853318052631021463527172388130588227761354176426050472586426061135728525201124248587061464547124057465247502770408561306550566167570347228268542334435640382860823812286013500835666287062460451240047482083221873733688074302158014151883702378753704136456111647602352100381340206328626404172624067111426088283106864568008883730174160876511600642050072230638228330813723341773627074257713882472207387318544611183621261517424114778135425457664632810606563657116275502042261412183006835638444451366524711123214274060181800754776204843583178688207132021114768645748011722420343662427006363503277642620443814785874775886255016386644158764518733302185035111652760880735782156271150268573144106300021026358877833580526705364630313446313721877877528714172873582078388460521221574701664367426270252031527531484642734434236188706113630511566555143407201613647248306551115074113113713485762630310277428188075354315322377772410308376815706130454182431776025856006683711054380781067488701778522568247485416415528058417121130186415715880467080772138121724765134523030213826081033073203653277845501267258573840746254637864282810573708257558117433735715283604025054761711447515328461415513877314138773548152408443185604334434111333346835076072175527358336558540383425054665055621104530747815678538127871862203005704431060712418666537226848801320063713558517642487686015836414682148712608156141770522231114060122788744461556312017265788758800854783363744024722535411683114442406520133478407730610540661265442784187675616575327805431272486768721672152041508864254117065652363008727518608110284381276472754837826563162436888381465072732544477726171481283567450224826521546284601586834838062054328464776461128433518320682133443830275825556537510272778356388210071277175644331548172753011581775842475043810820276626046028272882525777536483161043758186417873061834482650784468550607337821371423726257044121541422452514051445174034528405573136402712671002782212204404582208858238200455845724883487417110734873521435341803526774048532578322210405275180306253853675065857345348170566218412055311163247826336315323485436507572775143236284614204588477872032465226224426786555756268087113258706560758647144611855364082765642312581338015534058654313648031535737558436264738661604003407001223732385133811700418008707821734117765878714800116086034450324418357753420047730483888103658747510357607561362635357133230533334672625012373382620386602654076336010252612832756767862651058170606170038713841834214040722673324411350836827508201485211740468778845176464427521835310352587460670007070436381741222384330257167720112034454871722452350110312763578140555557660864112830562523850630268520851714523451576050406611277207570451222042757263775404551037788136578633752600367707480528054043382182812131236162642748368727360773523424167262001615278110517378252133786503388715430158326603814137436202354601184634428707153727617000283352100121643538630830227231781282210077700007747038022052258007843477288533816488485063386655646417321624007565512644185250086887334326627366376446205601147850455548817200511523136465205376130207826568682500487113841632481018757588845325447768220563064423367637533025778426702021448380716134340453434274770781445017122632514173204077137553000671308100178441718163575244827386217382105218874252525341303413500706366513544627166544331263021661018102552820883102177751643142784578855654408500081657455746833212426180623380614771064047013332263377001378364645164733722007170602158776338581371242837620668644533313057236505482584407406766670177318442368046415784242387802007124010206510388085533572751478312467745774017226847481228581521287220661461376705841513268182766443387666887605872882147837183328607782447612157312665515467632705418110426251617027431673408352835215026437155215348732457551547731473757465820475261051084286766754883538207827680768861515272368361358666283006323814563331632174554587117468056135286406246108508508778514002484451024588521836426743663366686444017773707881828807438316633154542747143601283638278233427216248304618030008004432371323122273461807485181874856752474143587281446584484230551574500728637726020738862325817507746178204735488603742865156664840801833076466455166475673563156582453426834361006111838600678251258523468068645478530280755322328587556552616884475118287156228254806143583108471585511175084377285234117162684410013002418864033535637188240501372644028233166254335070400841016342122850501133056405467308617204657413260632434452531112611740160874888322256618817811054456613017212446035348756168333673840172866284702185753014567176755826372613336588500780243223037171425532125166371155568824548702401182567706406772856315650557885437401177833722558472416276451414280335352155325668321026251357406558434204120757348671044636632871104446173430326873383026173256277614328236556402442630045531558752462073140641187817637474543785236557424106425685305380835127878734302062206668624384810051678718886624280135375046341667322723707683326738508801622324770460823588487468171472683443570208077303683270273662528572704716882644761724446310481064034353877424751300840508871562554208874561850448524533315421245807568347540305368682606712543044465724283570325677466751621801108466400715246708850247704671164443635146471473871160540433400675452686648021134270201560818838280654683750872615155647026445054411528260550225214765482231876628277056475521167228827165567824038115606057475356567421168640448843336478275345584886081857756168281403025520711872478543357072456075584666733316760011555187672138167144703718772184401541038437134850555740263682842676076481416732761185450627460231232202482120061851347866506622170036018620080282856086577560203822183685205303068060050268284245510275156271042460535868826476815524320658573805433652810810344660038784178206064460067648602864501378721102363703566151106667662100228667211426413122455345520117457016573585203763057344511587587245685525838826140138365164564487252324087267835834558776075645380021645255742144686550186686438208078077044884728728700878034028200710272701601487442654374475134803528404036388161326610342266350234668332688523558081341255837848337067280024376334554018077250648342870717721282777488270303035740057626046531845506753071882277633821535254232172326583210764204431502264808556484242235301546582330073065751343520232055538328304274606248286236408626282382623282051853232217275252488587784278376317270254058712162210530381104871340166537826386605368282762604645861308280276526533087002368830668863124041063222113612010363786573155880843540782601876417388257332211580234751608062001102554133750242888624144618705625287823605205805540578000535122554308224202886126200147402345207532120636722302140017311857018377755402847231476746664572663671825858617623715472312127580236887640733175717607722671633631601385251828132454162643037784360181332371551652717650105136228265117724543811472743141334571483258826017431180521384354841762825558504374276265851885731615122153028373338576234041132280522276147615550505858013458150621508574867375012358733206524015724014262651088216813736580000755484033187277247214247065484772115657128434842262567248235226147056420733161377656444840110352628206811400562818504607502101080665522637202588385633520836456046274602625023868458800421746008777840538572000325717562515484524534715750852301471700131528384834274366437725550430636554018248136848152204177625330866871113160848076208523021426333276232737464170320834454332053235578355741542800380486532568136685673814055728588607883244860821575368220732674462086643425436581704661368361556688355874642353628326445204622710703566023846564346878335855580017500550747055635011885858858407231414517677754505614025462308072454358254325831176710064653731236303637422361676466583382614401188007032340265583464708183588733432753853678488480677003220318137365002456781357200741217817707725025353707367752222768542776575387663068827844681461403085414520711042232147615215578631351166206741207804461827546300361028543046146780472266301476453543005066114223368306486336143788070635536256772665277307274785548732551813616421061546874838687388318420381142872835757030113663334750880622441285001212070560402751356425376007503804741537687624228081865712855131278318517618558238118652481567822026003350545355541531732841128838343382011053407785362401465428774107812156032538010317811030711504613534455887565600031100206278233601155263042636122688160120045837421373638838618817548854738876388807000382533258620776541430281880170206775376331430838336725345048117463688477634847565143086880611388533354044228188814560428021044787217488554127574043717273542134543003313676003364423161612203023700314463832115046253672338645842656484680427102625332070435748078680601251001504386007023052077115246053776544874778733860776568520886875201703451186178328048878452520648303011222007188373075082231338037140788317224626257827087812354673048877443516328355877245535145316448172263564646132617465628526284340406552344374676346382216263143756102141578714441174256381161312857007547607771178748042553325477643471832402466453681228475668055261514048715130020251834583736406322482557582015011485448264787358504104315731120260805410688722843585685118016305654364150681876824850852534780336712470225058455016105613068203813878646555184136881370478133878181145010314758241465683507744274248055805734463060105471320051732727786167702334110713705001215306462823731778735346171428725528815362515160157331175025827668608850128144768450138467374667571630575014178868300162017475001860205788528272261027664728140644846756054677011324637401305665744306530234820473467327865081576846343758608444377532210306451745624733817558512854056213421028636221123667773346778537777530213542734521832146423452456127613645780834867868458682436017613081812088132380154065342862782627862225304721432183111777681873120307203245476026736830885062055266278762585711281878534226516648617205760831005741223732415056438108866034045020602524366262637357178830357175127066156166807423226586624004311356513874702400805240304800733677140164276465057263888445543376068245705305280733847580336787747460051406853024441352105884658517301030228413852535323101516335856310733524538627848135820100272065807356808805182564303022241523470476663015352063843344510243536205427227047533846318030878731165676266832576537137200537546227375665324827480011737235517848437107050068355116350441050370407687064670018367334517084004007801050705801370610206612676752568166611880420450440540183171544525104320787416571665086218256525523104613262041641750740737227184651512042343400177783064688156833626471315712605414360568703756275205868837445457600551068064653002281331527503702456183364817247628258426662585735005348163762280871672623070771460063146157418752333438685312076352253531172134332618388610732645666144054735562522350667335088031404450451318303244342528764626288476886007022144761716443460067377733767867653621015310850364571076520427763351646655765863618583707314888227640180464677574626200530140102058706816766860778660078325517355367112830306530513527660020305450724866580111016821026880410087823131188505106801770312743034484071683820671340644576348261367127131304622788861737623763783105268408087232080122016067206850378770326207704566777271307047650857030545615080342438848034641128158825172181281532553534341162847226507080226250386453427406386385648800388668723680477086233430714242421487158208016352867652445647375131342552548312622078247168873607470018368444047634131583140377708500151550056856388260818006375582761080601746274551822777118720746508781218137123751712336038036660157243274240004248760764333480286736616662073126016673061122368875157142603316103345176370575856208518013808874282666470473267614123585780253323757805354376373034106200578611255886770452138741102864861445758184411217818517625827383733746421715675517147817866022567146308885511031334124886044062313770604460886713425234325715088177366760437234472763255148452043622836573675718662875422610704265715845782001815600516744780342454571601103666085010481476472317452842400551108054865783784835287525124253010483366423114371833856305631735886363471201335254580164222136115685816051426625626088060444865845726311738447624080440882425100761461422444065534023068142660537263783246654886452473641102062437324375812455310667371613066766765255128547607308427101082634236153781703520544616484433301014617268318827730256262668530613674640130431461576540213784580532440174383642802211772018131743751011535447686207111135627623827782053371416534657288244288581322635782201347321875613512360422534576568513630583155133801248426210778676777885186423514847181268678882044228176751275112185685581886507664411683484016070867131665502813213527747620481550734601807048102567610841525772745107310157378844670421604018868080436202735571502280547006033410678086145012425312614323578681570165120724768036621674718858335412270008655761578685255321443451850073780886210173651628804357157412603383117653507766808265158856165710160436530328487333248201108526844433453375487505140083363107768138157055221006433035016846524500544076134585753145464201886687263266570714070705848734663212585826584821443102510138414586240541782728210205486850307501324073847244117123155063501533371667220305552517310548721533415255682630465250014405631685420451422260753865477618055043154511085520470856530501800221387686833422801237061062876037405072254468672287132004472786274441588225118684213446234563425220231770883554222630313412478311815512323077072676730358082815341087861455027070370625217072476851858406306454637613885876711847683435535170751314483516300420533784003678864204657684405228684850640602005638120246308285875086162881333782342335262705671381282405340625535010274208032667812025053812431746252750786126646285446270777410837282625777751050250240533250446620203735553726564727506125083733778646788345784144353566181503005337405484882645385844380183032363115810332761641302022808640040404520010661228678445010514162673340134315453363418218853833053337378128024115580742226741627675874831714561405582020368815607670200634120300704612672401640775511211613666550447130671007605562505063760437183558300865137514762260642318644570776003232811251214813713683076670083834827884157721442214255424511330575265417611221005222023036858241186476274415113286680534564047544838881166508021553324351111246674588573043562762021476705134305376666373843725581520667677056672674345160812481136386646851687547085330564282410817450878734882381672314627122501601574837785087602331214018254541364531788577508022411667418870650706665308206112335011075336684147586558538781524032535112846228278632373267330830544847583175800208410708116888843672168663404086777460373256678132610750831606086751213622865627771364707812030211265811628273255080380040455837161610760513830443433848512766521807661812725074023851371654072405680758121623734237274035587857715666322821081053484211323228371423373605471465225150531368821626343307158176738737450073283036765005533847161315057836033706876358462075350121141170701745762300216648830531806474027734715036383287856315721827365512521446873574470032776706051046267436880306753886251135716762574674885644850738540786245753050136415632586713681848680018544516180317887511183303233778162473852441338443375133064123022751484604570603085325104082147843841234051735842161543043856048536832650041033758435021058415458322620643446785653280011286620786074600084745578374374387380727517175730678581703164280455204886405816206574136124514056010618664714183820310054481216174242335414850467046323224072008576027450016154861483676767284058325874501306125554425186563656381787021315234888550313465410657247675886264122314203565853226267545064876743051337887445485361575351155682360146614773577671540366084176245302718064321664466573266773475637084524267515780474315506617126232833023677824478813450174678811624634200434564864163412500237573215531083373825261052128152348405767282730586630857434356183520450611345465330376243652882846715356251757701540044726048360183453114654484004576537203414801061366677041662724614382878103707165428245035608853832125178355845847313305370224048654601621751150123357826275220626081256730883584514275187346267323473567700636114080166475068774865108480177528715264540777863185120385104722806006155513877160536066254610480618248678728342387625476844703871504085365825820230016265562657718787653846112782530725641337651103414452640434177156450222564264573630765512257258842747285458764232451144180024837280480632354325667275108000384532061317546551683281252137601015022405408684422447430775052373785462618877548831176500713520865663071234306468221175415647885473166627166344326355041635226186027603823271474040324644758750418345133823781873486522268625618276362145067585635340803870473584082603531454000437007401278047266331452244450553443021423042711701776372707140318377380372185661758105362375135032681430346726442843830485366304234508615136864348407544417124660053878214370858823861886547003216552614211446517467187200132255382103088004685726365832822187274250838126631273231218261464317712282716642388443406755364624808650513343235664666883545500118281570103677366616373014600078688158658020851817855312378503125285578580281341550312030761523567365833131507831481226733804425002254116388570687521485521125627048185726771867421037813717122718631181002324420068566875314886801653762827047433111803861023702365757243680628471335630732640847218661385211346814751546600774317223731278368152763486646685865705440770154530708418088387766801038386565612778555207655028406143118850141278381467752404005288052303154628672444244501381800685608250581724342167522221005773802305481050687860170281242258353706743230862268212345532784504222137717422542552610320451384443358084880863574760076004868571604742470320444488271203123568801434006880325327565217228682182662062345524553478511475851374343317757211430123186431408812307374537534314545533088027433488634004825377607645840623505118804257481017351455314287311443306676774760318351704356645524238587825553175604017705762771072101881427817456570677762884334064777315715085652124658380565387100832755786271074017887835461582682872626546717161644766002275067117040016508624460141387751631585350280305263422345576065482620552215853056356786020221410881605528308137163420374527743728245388242558211013485025512160742076166644883340200402063142435686870434747645877448261663566327340535281235688157215136354528371584253686753778585332725761250164338618031544318021802151632485810267807816333776553022168527524658557150838312002472763785023078624231470158152760605837656171502354070161745377874884465346258166347210731418352656538224050826870886817152240761186752258114600154112748586645806120755504837078143434431648738527000876058327628104020421605177315747580246530071435537306684400856376810837126614484827375020752681485541824147281404233785357152882108664700134833543545735805684483082420178075508304550770407266175033575155522618873331448045625263015388665008020736650838756465164638771817638618544048741857652610335862871834307317435207787415771108657243103176717746782825586613267432783805573463140668436843758147730016862803420425666435064317882600155803533213200746783353366313280855326705517316745138078431767137738036766607026041225563412714086348815871217665617863373074547362347650417675608713420316754783258167668020325187577266402723738861484584825365647856432104341642014313538457217613846741502121611373811525406826315802321128807435383137268320515087457242575723815670108587227224527488071487331027160414356773241327682548550615134635272480033300651032563370302331808637736351544578458405363526638652167101622381230142531218627883724780757043622560062813270142747622683263113072247408146417878620852820256815455167637647471621202816047618306544106814580547723566484735486854210470462324528772687523286234548854508854000833766113415222153781543034523873473258426152030358483387738614272705844255338225402110367481807674154145221120421448728465017231057604560542562154484132812100630725340418674344471625500248032208636661202388213853135064436488535128500470526276712708473425782764428542814642545453313334585071368348513681562552247468412711276435086418047004086452401583213516766426883125277346120010310438677781250601201420045314083843823478832511208424426877140088502468127531210528881556148145588533456617653218537328077412480045425645370135153627374158567021634802571843425715010578684866660564726528412421646265532676767225457527642065428221814661810748172545061744337718076315675650154555654766741141274361538330556124180162331785780136468662871856071488287688800375026006108600002608355315723620462333740260342204047851586336834418017887002267525538680555468341734205124412508800417630702824841828422605586256544838646623807458254117678440781062717342830655670480202650503073870312217370513676450518517634432744710521428877737003106372220065460535253048562058200534245332342272410450520546862126404248508755862227814137651421078147773243678538614501488606252722668543857702448414157040074502074750827654673177745217737235661657342753240727424364563701663210470667728462085641437274521187311386011116805270562284674278822808201532445673512345861234387885253582141476748114273146258547357173478400805560507618781281325020316250001062147186535018368240112263001241306551816414714107886751632687042740820750546223237140278754307301403607015781222845410854655674407144501523760148048536451833202632167225883175274568480571754583144621824415283810115770165316551266216843664002322556556558313714607153752602473106768206874236725550873040177058427712631715626225277702311821166060866340624805644533183561287112621453040780050310077605334726625711423248742385880868578258366317170420272376170548144762604224072420703333560847824013307463747170260361573417722078531738122440543166250538283073566322264288153113801733602147080525258074675058174332085711074525336106258072704041334435406534748403548668313342000103847160840642162824514168315845276082270476311567827872871278326825325153563336075460152354787586065568802156243183880827583842477131471066134054616752414536862230146480837481170401536342515802302151825761235516621251753000673651685202556338216386865327033680010215620614016145811255165543103565150833441673763125504403533644887481436820762327616540068517568606026324416041335047680672067456308078025117855067803431666513536563461412873737854287860100424220157638107858638102556824245052852506271364428434847151146353180011403084146857123421828060856658502203601008853205341720235638646542651458420723042366614107527014151121013881267618037080120341288226384615510020883377154625725418612045472486284745213847087317578324740650208372340252042132521026072020712804376480540764760878060806588133474840110716350010810681314726224476443476044568768362136425832248242372845542432833808215053620624314032234431802736871542734026015516766314460711225284825077758365177831216880085524022735644707155451412380874815080054387555448747545588762830074744632816680524727615210050214436356652102411355403162567226118023075770484782681122176475351405732778315503502481267655671765323107371178674342717572442633066847528748732884344320674572555321047548725087118364224024710487585763537341238874751701782036825100186745013132628848800670818133683650502862344336406753483451738466157078803344646682248444675844615548260028316267361187838323142318415173613112068263620368356315316431688145588730804788037074105151821158630144166388518777675804767278654515563013201847230213005254300521441134502880774417000156033866174458322885432476855335746420231214665652220153638024731351054720342885655824560743872116740102722308842435658404613312251022218338375083361520232335845832444365058005663568631757854108011283164626852725455750216141867426415875406117037618773400132400432271047775447447585818366244741825387447372754308888177421013335327787711214285332507085535588182783611250870516455384138012335884111164050337278164621368182850654828657335508682631436217251360470164751215348237415578041710611851143255336285074048718857370011035310614344700158507775760780160223721404248778148047625347763158057111245868680877832658010452485374768410445438154447328616816788274057344032148600334577638274608036181644065722371658108653836224164703810103755325052207233650324085471001873253848474736004314071128820040114783735732816216611463400147686318058756368360251186020740027275444417858866786536782210114605825440460208784870257540356652806131333281646430442683354068208581171652582181156427316245234137625272382426888025128617371678060443254705886608387387526104151076853641801557024454251674452283808372707126061627603233136330725242860452123041080532318018465480617487084141280181538866357233004203065450478008354356200250614465851328026330413226288280713677071341840876357503243771116746578220523665083480082701713714071755064040578246183024627486688370336102443518645113777617431852123072342554677813084347661813065567751033346013875804018481353577661802580601052285638445518117135743537511840136886163608072161813510804670521226632401864476140666773821754504883778005160074168632525268547517860176064524661074275786270461054707203526502760878376350008241801634312757672383068085012707062388136221606822865144238383606832100784348437750226854070845605887576341350415237266743421454771118503845781256548862412233346106477421285277507160817850704388553080424721057150666588063857415102244306654713771442631724016814411631426083778866488642452650617106106130068405505807215634524272058180810360226081568281251557564084387158332241621662338733354206718162618300863887061387087355118325133478260030422858170744857308202451773385331263302226586323783635501380030365106355078541630271815208385850517432308322478181856836728812547523335817727871677360030038421576777153082141541635060542861404632301846377434285281077268403570323252474803480627347554441566127034485004435848386371485314745468401528540100281626268600660338228110816038557725467841470273533638647856521345511468278206316658214684255422142732572515546240451232483375446872403017318565442737248631878645088628251785635222368387403472410448262028380251581675016681500852303474860185363513048140020237687447748851146147050837064741730350725282616656847381654357805486135341750227472040407310368840836324664407074525086777152176704177702488057542232556737404013834436787852814016765788225387100151636375801430334676848672601430378105416603508627542431353287330568460780143084680361062610532647217366825232205251168465241475146575344111330507812450244466733571648715372567678826438371417040661823520722812205546635443478123657248074311542272465862337664417463263121561714803141047715674865123538303160774787116264833478765438281880833851486267558864413016434135482878263307418167006716843867564731044551522201870515406466356072507348060552757306843160534337415340014306424508021641214683741721822831223125253465604754780257214665815416361171772126716616684836008287275723474555044384772302273715183023258310461600134461620812380317000730353038072576526731701554518510264845622645504015724714038406173436710031531500373108214143433640708701614048751876008828632356477747542411518786255427613425532343647816672286463723161158252231314865846445440541430581040323021845801800018615650124510067181845720074806457014068443217068830262865053134154332240486356066243884371354247716008028513757870387821050578660271784580257372811305838413371750236277462465245642648240546376360661737682128407658267603606283350280204633367733570788686725087222276273406717803472608301080428582303202434536206511134312233768106687100213686755255162162811211571184686423650175537340231813851724524107085756811263827733334121083543577658882057544272138170558483456504081431718626462564643123632467018026358417142533852668275865866003882143211777022778352066241646671064188741688344325550823782876653778400314407702566565821130372303067115143342646845128371627716868767400648268865425750262753562474537442255044511183013544647871445086844108552271337263451174802345246321130557373808281343220086641251405370457506523355745841610544042610887422445150600263338286254378017167586416803878717213383886780022772413546511224508222643252252425801515364723102068550362547356634113801725187517335202732233832860213882231878236572047788217061150078652163172611470700031754407400141535308305756848101536777618587673007306233506835734504504538468366813134244264411162452012267057767653127040031831163534183432218136745058366043843336431611216344278616645284020163622275040013170308823856387625161651547883184825168428552257727878342477172368171165843708218178474130815522726530187436116040100164533637715111813504517201500702751173343341877414702751657181808261616826841375346038021455654517654658667648161641733110182380886028527670156128444345311670476018827367051258347524387673203205513226862620712632314358318261802731476067283523465722280205757430023006281342232105836032118421652313231873521120137610743633835212278178613212684018431137140386361557163570166242860262071151807133035755114281420138528475470777246562242758086001525431848843172686784186534765666586210516124800165166166181304348034657818712632166132557152225033752513205850842618576125510758438003331077174052627381675465318558587834162065645567145700643231326460813586070058667400888637634826263238637642333482601688605270423134674860458281261858374624171773517400244183746847838047023750364488464286205485567218573203584165015626066710468767304387530808452774458041700373833051582734363786228671518302772504376740144835838634050888816424754545222087260863505151582746130548265857317664275545462028080377724165484254617188456233842185574642238313776068527064056424116061762623666207484326782538474122428723870463015768704470414015163532366721467862233487208031730843522057548462246437673672805421586571872575620516470473835456222224882143764752334483183221800212486812003612188706852150184863704215652624335068830260150783333126563870357477414686560168548666153383235287484258358763652572144752525780676343156827527773253223586831155825216257348114072782018846801231404616661543676112611682168614082705826134276082362117383386222611120565165523337244784276580650884145207323238225473653186152778821710174705306157882366070406308882156737463325026462065117673337111352875145444786118233780426142883843413517310568446434068215852341683328266346222210445175658540626586201214826330524116260604414002450068278642012725736720131282313633811025081423207352485200012180858584522158485467250262083803300603761846021482278431581441678684448161132354327728286733014788787616771701168142124087148688368417843207205021807612330626517843738483104287658173436638626508132111140028754125700420773286473887574187620446147615014263142668122543874681038302828765212084224735407053427643607140605380717565722052714548847047045546153506161145262532887131034855302455537662563452712680840567130156053526548550816262741174034502857485266128482550848188148817238746760183758231078418264452518268406007254503404104615246132186673707734275766635066015033736405571446250448641328405316875428367040337377416326234814534532272585121082316687126071031883457740828580744366411325084887808308865456300883838336151704145707882281481010620041666231210553157137645126202340414874634100451610456277503535465406860711806433053516870123401565363547173020245052128553167402315303405122636885137771142786435241263122543645382838743524835386088174866766441187605443073570435844280047576536413046706860727110103085182576327800725323344743154526812523214844873678402242777263602728013650106132771432454465858565435560277326407411865571227100326482888210422412034055824651645751237745486460814657621426623468550426874280206681385011365180123108452874474807282545002877144423136604217605247880320153107473586605614703512526274048406003725767377537646005247545803758404632358563680878415825751775306433504801557811206213726475300354675734141127212088153022741158656385411486026413221181457117128875144515673246086852056858838811017215341614218241087146225146615287013703625801842627420747208507770844600241175208733775071873682726300413281344012074107147716333254585236056785586868054718277472686306144838752682238005652628604076706351283711153245132301337412080758807506770626643124321717587075702321675077235663206511583513163282706346532584061644220353002323228736835428884647536684723806325713257364381741082407522760065577361408538302850703501630367502417607128517055184316060451603422682172725027033118402202772864570262633717152436347236747722815424052728370737226467348465148014777653511302802882817751471581548312246845858404425686270861420840576113336071531303132538655572147750856046685802870803138653811850380350154212528683235085533405257441530670243475163685222313770783545165135131854187461743877022530381380381467460878326823245872076574278346358254246701356026466870873562514087415048503872243847657214351010586855243754221644073446410404183877352301106316832634307812124774686670730543501221667512477701265236107888351163400724617670732026734337560673827785002737021771387072632563423253365675343520575854084714681806316102285707332508201005027545687406202502167712211062517276457078411237343107150151252404677074730448507088881064857224124038362311756178031872341571068718501002046675306534031827123440443338812005866505266554543432860214653431274323667803736724065688238540735432586664865504330826883562680328850630620672800617334265211002878030288024407400161063332438227700105514205533774582068578542508603816400411854562450158667462605540286673624650736501463627834148662151471415187600672500325421366422814155141280653552318634347255154586632445067233002418565437686560208566254170704014483623166065633886821158111213743187682857571502068505030642731437170576355623307777617572261137830871080772833353005423062763667013586477826447676732826300748617535603027824420184632038141333014372105354412114322503250518252362035251314282717413574850405030658640063076615084052623070473748427510117585266780387783043458168055213655201336412554753578501628341431640511308665241043172415508120727836000077851136052135001482471113422835213425660514652571804673561663182510447300587770080226610134128775504051711205576352156686778588618608141272541435734810537463245143860306256037050461007142411164158740800051870802374354613440753710100004453026350126711635610678604716101558408512008438523378621802514167426502661424021446062380824202785716226311888752512080742840216525475065320368737702135521321514383154736728565776255053102148003687841447153244105083620258167385882875021067482571686072473226843735413746860802126140564608715381557636022463486166284355758122433677818241767547080401004233058521854183478681651783552351807142343677756583730484626524750273086665615363173161167073641746226124475277602680461717182058362577041424628538556762118847583345716034827722865653710240271267663574448053557114264362164715488100885170741188446782774311817050836187423785707536556433435487231774226248573332235282047601165177732173660231277315663872483203378175548578012114411603460330815447004583221828312350704720347866717662873830287823482713384726636622078324235041516344155604602105286357121356067464630514618186853857081114705404771143884815424174578054513442214753475227181185751840136338481035131448331143355483021385423185138175461444140763202850301233607466217840515350200601611284371182213606101552110553282715637117114735823638514005785455878128705670620657883082844137452243485448415438010806638703014004388440275218045224674061342214531408544038633747777325383712340334623318110227042262147653014586202453462230156207737601310260008641075510006163762103631780025684077616214753150767245835134700304783631405135005066465821383023816843351346727814073131727655752086335281014807551534478006813457622334710421136763341880457830026728406316162047313788650552146585400263504686156365643462058384660578744855035110558416702525873514858258416522113425605206750003271364846784380787067372276578131731636080142528041112762416785401687801050411836306175258052243675550804603852043338048434567134376640440275174500055036473766330647404134306162033205346735756032771760273388803822431260035655014462100154346384547175700575857024824360468475350370600061512203410001080024266848825402128402246417322638360837250225445573284536274226354138076300021203661442675036542216443282377011380116784765531488576586108682602101300517162045472214425045816670050432515050663703380802353664743817875186717737574840127412338555843106465701876635826000014446282766515421272843420285745818863706367335756665802748452256751770588055757533673638044615033007150076500332212510336031474543430856200353266751584017152124187618518741634658284244526227825578601881748734322644223527703735255853534407467281563725530523556026658058728123560561807757856364387320174114407152080517083851041810515345075142147520767362312050117672043261611010085372472302255828634080170055272415133422868473120060425523675828876140337707827831031231004527102651368013832332506715756152345586162154215266557425310024611252367666663524600686753462784544134375582416817308680842000351685306313041663840762575447058248641220881234306053883530741123500744467086788473627743236832702615247673687460341244608033616685243474257237888750455704158415043155432582806648302350255306323231447630413803386518308740606312371738226517828867744362000838382070161521250570863744778085388068587471706676542727134481716311821636676553451312282543504588750684654603177227055812327641473708083350047205377788588140715534588738672406288405004063478452537863432422142132200465462666872355304877212753323006351701784474203753444533131465550311675514460516736834812503577628405062205727487081688662601238622200180247322625500078280464856355186471605805050607623852218160846224528048126577621003758025651881375074514128250730116226231377731664587718231370630676571086620107361526215076648343767553786052382143053468366308082235473583133845812420774200571304213724463862166358327662813862020532013047848387472560513553240322301323122517810675111107262145713732051313626172581831077646116282555865137251602456760547001245175516850040541406230816371823637113435070605022348810401674476587236823038275057661380011221860530702860735475318650053681611216514834041802304546602348375404784734782732217321101138267572865514316730148444806678530310768737268684202440300650861341342036123471226821380622665433502404776131685142775125654452161258340668003426633204645602075376332128728432436140080842752143456668320357621318472157300803402244737888347246407300244287620741786641106111355456102870786448853586063521444534882611141022007308515334783008181712072087850766045143503383105277485716552725688275888460427715547382370376567051400340562083278836726735741547408621402071310206017151270144203780008341420362086847303724272328322486687348008000640238084687574318205565053421353035662563862266347707854432353464167361143463540241113182262263433634327572014538524124824320224452168080827411802071427633051632885850324247257386324643874347112712868512310545317163082706826733170835200707838784563272473288742523261017404248465207352285280608835811405488368360242086720803166641564686033601846775485467658328380028750270142502887875328045067421332132120687335845056330367271113010184710452386265016815187011042164303417860604006182653648826637461575180152481725454164083153301851813034227524403644007463506547604456177143113610523363724176347228347178553486882324808182045570282650702456181613660854060745517485204300275153884532512654747703267835005314076652482765825846772035157114651663747564715608826434713258863707415138736231620263776531370878226582582014763628321800817340787161003028116371427131508001865612501648686430012875655808273685510471241350734281273342734202078515151115611438581504504737022708458372153174751548173664710730087586086603447426741674218034605772060808121483871777855503251781847572865320231786433200566850423743340606711308326033825510605042365565517721742810658500154166733488782631284028465010687556327007514405341635630860185568455015426417661178611765568486224621571245517768250664425243423434786225458524084123381663301084730528464580735276556484688040000848655644407615362751061276877767051322656812013503843210055478252540255560174245253480660713681125041258711372684638810347036057412387871033872335627341146102858433825300121742415367051787086061580750162184881387570714171464662483881383461667804166041873068714533120023005541473545871031683750808407068562088478177734068724053461626848171667308883413225450488082512816736728523660307571627134888525063315155130886087332075420737431606824231364614561438416512570506202577775140156256736522388612374767835464731631721263463100208042445618053213230471420452811682528138568668662766547172724824653362362750286481457465378213053844568835242150742742552852234287170357280255724750412347267224622707481422184657170276725052312454530840827262637528506263683704558675607367653600016258355875705512605368152818632045688882135757521527741806072325667280282061768750473324520378277636515565581304717480242430803571538748884138774458634280331268100647314776280248287814035171064271253207676164651103751773857056161756833478607203523832170636055083705611276106815085530214688360876704344246668585500604013388554618501200817458646646761600652472131780780185335077476637211158323006421841617422144354258314384547073607686268514854736155087577186845863801368686246271626161378461786881237140143623314058600676657057000605373147423347287682827824030524020828247417007483614227787535585218746706311673335041346820847187750850450056003277463262113811500611361588017505683017352444423337363834870232052120860163513861780778478186673054562588132626752652571846654315378011554323183648186500170757044236830102657580327156808814428436864361502840355822312348402712135171825507048551180277815486437136166763052705608583314275304818606133205785740802220616168751433374727606000653803662868780263332106711378878656735008322801131231673133022620086605503316042083377775873042346376320042518312018064041183830315023171113452214701847006482408041764324083638672765310180878058007131878053682753660086543260524510813442383466330363810088232146775526227548652408701303623074675122818121742310403421687520028403646170844616513710170187434041765163104644441125886563820245741005276307660526244681342247486622601086843020804305400627702544066545112784583220845178765627220043741015103180476188212752265544204565666084250148801812331523715854453661461115307188241228055264828811335714546570553846272213427118333467842072853417732116422578133676061682241008281562206402478428265831434605362482512227758318818515618037001376383010582450368311082560334004565062674337305586036015251037880383742568104014731440656543826180785803371433121138160244240488484320281512831273866485270578605747256035808587230860187014104841414780342622611458554158258614335058203120302682551306140066405284227135007810614883256771623852760138612714268114272168655013785248203625563304014448302078486264476351528831360407154082863356155517362711343853283882230182700810173240847317564848525366501013862144743581838428767804746852734662786581165241125323284454227658445504027523762862518336120810455486025144163486680045063760272841655760671053746471537742837161876814127223811142146117637655812537068010015588400541115331873766437703226301466421150827235858175565488345554312233273026354171870415072660242123715320601731550543451145132443077275307227104571120865410521222166118256355004815075443043683370453566142803652243555668735713505661866683386143535048262014728325681065485184580288280115738872874543473455031678840530506670636580378834427316144143702447046556347531105212180366227672531340008558416053718430338131778667107352053607742736320356621087456431723673147600637616016784403561335406220125548645343230783067602774080176205160536608132766327764638477581117140083357844373080534705343030243212480181168201845018837688770102300741537440570641330001608675832622882563852867028844044212035248244574844430574054112403404580373373283567787182028330453813248234687135586131471233306733232601544617805370507618187751740607343712045708775167856106815568838585651118745838047418238385232161847185367182820223415331553337321132885008776822508417722188306874701783055504212077333883131888173370815830306635671531835573122433153761004113863633840376114750136674425006570660438610432144014170812088552228270115644013673175587315588472256056222420152155414748222840341730622672853417011887281555344824785063725516407548884603517284306137147675114582518540102778634811047458701600054251763331727343462838375428800136035105076503685527224054264427200384845640482768765261033064158422350130051346252006650416370683741203485460683188452440755617141533440203185643046423408675348233303085864756828310282444666764686604647643471010074044618006225654635341326378154215061333540704421730450801181447633141777568764266383448566217571037303154262680105626552265588541807812580205265344855085135244267051266371107758163407324625580847814681738284213180134140402528635367004683820823425242705762038108770678485015160870856878234536783783036507384133426020057812244542085612414704505422564572150608276564838415005665634256178225530824568831442343566347233070672810627676817082667357510274683283263428625478830770363056088660067126143002134731475360337812077532031378047476866551668234407702157364353103762226775555504202610253316824257601415236828318260610214002507017316030082623761843653651454521172078063702842083643606158841503833266112606082411865886807132022618670308808802324641820244207434184077500281413818715703522600410675686052406224171260785264854558555460325054441681348204575037588586431765765256150226238780464066420782553373356061112874654718638137070507883033054708376238212782345855230302786014284458453871623222255261120070106304664848114350640148841353271758543026150350465263058823485130583527604772778281328782625800052070518220812407225614424181784163707005843853878682442431046062453644266853745261026052700420457721368354766056884774435207585456400244462874800561714245144276041655483537027212568036751582263160131533238235226728558607650873031706166711474327004870250318878585611447302321126284401031672328126848471180482183437845763557388553056433311780351783252407007247257628221077766080208501405772647601733581646862570270886042776486725805507680518141461583886240125506000558034502115342483035416465710180387150347270650471743400624522022371785080387162071158402287180232603360868826338603710515532625142376348853152780463084821010852371063277328322850750083426240506805575827700541037082460445280304356113641258588251505413267866057014011611250536458361157801188550358803480647663404340632426817207107151348183018667561347430640261833104372615523348855721444108773343668412701080087156541076623486048315428375025366474825128375151872416321683482263458304310610751783404680603852054448703831223041125283628633416480723475301803161412681530603072724580541152613014323110384084331080886807671680066731210165634686524378222211540354668256371341183715721207216465872302205077030610857440046554671326351324764616271385052010304621780088786327533400114732167087810151652788834364047286258646872375556803400757051556053148703470024611606722633073626556115870550865451078831806043500182137034073047703475165228361257072451073848816136712532185836415823426544642380666640038658081851250245333273366364050106676375830853838833355118332217527676561675076370145210460178685055840541737606787431505544720501366217081541661237842803110462455558280506520017514031878521411813547235247772624550811775853625264653217130227535578327383362531403226177852282824326844110354335670515426131826608142536035718616463261414582742728742785040645623257314160416446501761024825240844260077641235252642223402483362247033527571584152855227861660480100171231823526537781838610204687676383621564087066853243354220734525661318237030773415334623476511422088485784180831822148224366184785276685638128065678246413060180205811473628156487004546436355046552174480253614441167787544282803740406178746184853261578766262688662553114802765046518022370663556815085045334546054353103356247773137502203084273143581657653728513840413733573084418374703074812253744816570573820254446012188436602354328130435432726413223356172217285716221308068123823835186178255786775527031520548175475251323436531111146712463211164658187606602348128184451132885064785368672102567178064708425185063053622646386757382012143218135041664411546832832408063183777561575412047782867152571011175875166423885708817446341263134385553044778774834422155384488523062375846067768055777874237215583841178757236010645584532013505764808462403066741027703170378620104721073033261816128702228470400808277456802115843001141837603857888323885305841724272438170107048482538422118240454880302185020648242064384254125121684010836188106111006380235184213845127054673364721744801814448465778756061707668766374338476508203567480877072876505886356281488142210005647431421032255583365820247658422634827147236815135301167635766415207765327675758072533786336766318324805622438668253758472551618643638425582815045378252748778102584584821821030406133836264223681168047841201336158774062510020117548657652202767320855427581778600647841046612225683765771072610407681783440402811057063571128303404536023335345770463741838720032413600656347885288312858777556851622435426470853747550088108084736627154635321455005838227150830563802788060132627077081835011005237223422305281615651585743664557556154074562225471616878174616865382083543118103758477072200263042573663767080047310455113310785517718760423826664750632354633263045637664664445016736418310730524842536801476482123687110016750227284578305681450882101881405785342146284311376477524858656703807581170654206748283777147402815000410864865256756753373574010772622807503454725354804674257858656005157661623034534782055700541446686471711853464771322382855726013276630121775583702543525770781135452733876526064742015417251584670054543140517684827367234545435716321247510402670251602612446827173812854425288521173657367028150874830481770880314507346453767554680680674811760123366602424660614720254250812378743034503244835756418164815320412173761551325021164564535372873830483104730307177123504431221104835880353227877364267746222733508047072633646170257570828187261147367367160450411047334820452615111844710106524135785881425437145014560545200566481078122367076870873826304634846168634842742010224642727128708244826117533681334351528634078146088410867683821852462363520527241628164643377781078870155443480302511781835676323860236265312684566481765565550743254433573044480884232885378832007862071411012108810328867744114306540161417744755142204277476850353220528755554812462842750716868841183262076873514005038837612267807884274642637658404446162508135245503167383812251827645271132117317181033230151463730364536846618713132111708254603351606221875042050431845131226565501085825038226650284102042176667876402018113421522415084326868684100377157710401772336741866618721365710566458306007257152828336667644552760622628435576428106315708087317180155221841721877512726463024801650161607236536547180557856854874380027716835200860348742621143760568248052208637425868465474682326520368038884338800556020882003552807027570042080073621111730580824780855074044465202286458354432366543477414375876254870818653338558241766833373855433308366830176824658386763610826230201661073460048766828677130254481654578363508116446651371340310200065806126606088870532884811883733586253330040278685473315807800272373653278220166515234278558266017346475706732770854837531102374088383838533813804054523506652487142846761683821451630328876012637284735668077524387102287802111468248225248440122765137532257026564665163346546010864084847141488866644302407863810530732877345083362848685702602484086387358458277782727775015821431634281813353144681570257543474623841883584811514384451203330738357353836773331112150018451187545874401705638720585026021254753010304028172646276082340204776520160822423480883112756127435558877720376817372556553870353467815434330821144025350067557801157581486710348244587357785537704225731810434117825888831118125448415030814373326338713460868740551711310822186841224453752814126275063025117833341017213278008480732754542744650036723448814211543643233824037261157166431244613255688002340126640127743744562466271045508676830227630466147846705566615017533735521608430027840337243730724555086112577377143458522646114287278361608642028776648708180615651844625142524821068666242462370462871008135081663286686513860256441338362412281530625403454202620428651786348214538475682423541126560785045333324270634311021122047387811404803134242757846373288874832875666183705441847425544331117883514386015277448434488521102585554016338303615016775686261752485534443160201450211721421400212511325123773684387734867440648834564062003108321134465141002001635272030386280050677208261823568006325701724265127757585475501371321682302112852200204583355172040408652211017732763308312011161378366805464730811553264066355375256144002704724213426741212222121402166781771868178765010300010017234127704608604065306166462350541180863247314724832777613333584548178575855808786653272281734613312085333882172535775081014284234602127353021860436754888203833171267561372055387225787383346062354873258354834875384302206284154602517435324127646461441233640040664180764146852821018384770624877543750110247118708643544667221650760617785507444768740567427423387637068011541436356617727211010148672127755010816768076120867488253050371645833361858134576653146303858837012074415682443531764442864254058456331783877583575723138635454818208614152541220451085385110241662217006808332262275503727508375735521346580423741864834501331118874281038634346134330622800501607566322086314226743622271526523205302735335311484838583428141110687623453121486761510226320454303588473538376054528388773765335610764316230742112285252087312366403528647815333246644848301114107652100780266673284824364002364753834216161024278702885345538466774415580852006035055733438311034856773201417182734633620624772281648175277532582847374758450134076255668833506536501336124708601541128383288315831560625556475100402148852530018481133636564750420831887575471836840786551457174858118115808856031816521278218643270512881374228146216821381008743122535531351886426088464357082582706765068316111358868621032031625551355501622737003450827508388827144766008278718536010146851304140138103602564141803743747882265738678277735221553045387471761021560327775574683814883404610305575485875818105103851805130642341272051484706674733016131551455314872517652464848876668524515620050565576224234153835343712285122101241078042763565426172422408115670012803863251682833423287025057706638534065312584828317556171107314271222071883836678166763645028178511048840588560173425851672224085238250047173711587404478133887871124412671460582104515808213574782338705664737222685477263042751283535501788511875720153324440658223335625732243632764477533013263663023245526574808003468605428137248435117650166545032271284053781870552605312370725652311781204381854136476748814667830620000058878303230627864288702135368462215246733503173504157164582403784306048515540467540518581650732517673777678643631301072572775364241280080817668613087871678705031200252456822768183000265481550442517370770750516824652728443012816020727781512841674812782753152150455620812310843100810120645830374016616718356234300644451555660661230516841464755870180135470246076587166623557188683176277382826120778731706034165680808472473603622464856811674055722535734480622158046607064600110465083237445872887254567506443431830306034781027865487111688355126154464056448507402561044536274811826288402785453524063832830705318011562527064704811481537618465037425520447630716177282142456630546810738675883123172133421535421623184167601667282287765352203040888782153225121116068158767228227842340244232142402332177376858251174428858313637483184504535125301528624224737301440513453763705211512516281321743148670616831551062571461224631731773232821117187235442521118461575104066038878878737747300000601062038373788142657314015517077200878445262243763410585587305146542612665644326421268264656648563200008355703150636286346504123206733437037746877250443653645243571680643527331307612872705660228262608218340685711643487540036872886756652468210275174112887302328642625664421374477016100848630717386045573668081541775502118411150673762152826717001267240072238848857042204270340855457551664407282427107202666204143587401515066456650127178416406271788865707017081550834683244702038302377888013654460754621146607850675101431243214748623742724635234887222413544541388127710185687787670528251518482327323117218120526674550027435340112375385044188248246313023151730765143748188465137276435061111108863535574734064572668402732825130264433087647776441766523175141180660410461147850567311445523314712420141158144556021418841724704304123206854644382752333043151038783462145753433881042330528122654780176047868628045516275188444288348504727130163606681737881107402704172524806218275844065177751844346775036783852715417648631188815025485815368545020031625630326156451023828382555106123073445753303158485733782101463474808337241528461377276357820638486563613843143487474320835762175337202077030308346812545864836427377304747484038604437055337860237384257168324501874824620814623774710826128712537036035213873652022066123886517842540056582247628881578727272146640468470035846345513263281617611131323606802843543532081787781440454200261484118001272284735658864740863848725548545026623712564155357265660613154071134821557428768023785013445373606366148667375458541252377058608423875364320873406783124727441235155855858413867618635212608350777560202680736100601786068346338117826118838131066257875023442071268522584767687045088230542040133465328118588434828561628517626400501220847178035140263133348487551261473641312556203545507562550172227142376630754642286684005843880015370053124611087244373351413623047538426308874177733764155467523320233668483031457200323121706775706586463482374717877660742486051064632280270485406038318300337384807027483573070765456603345040072837863268718543563678526812546588077173673653574444188715317837404074510020062177757868380083227421157245575312765466838583010327320822153165181871284828784182668334528724563756144233630232213822326462103272582270322811557756078125101863606764480634528314381853323720023624237275075108208730580421428132085202503473812186067158723500810244416687836702264008702524414076056357771726844353220532085237677218552213132443814186545538475568160060717561027107721567121462064762425162723752655037670744061006433581662313465763667766251061853172385327386454601037231114713305315743448176217615182213318034427718081537760728081683006044143544124575444382222477248715441507401572862813606340776660684071221535350455066612304282611482561834085161136106141287182441137054250738775386005720475843313225814423233256247101072424508402165773026074876731874800313358646083808565336325371767046571873025455720106256188867443613611131257731306683740280455714155186231220040644038410538708382463504604712572716772560665233378184585556146484115606717447825130447322021720277785158214606220031825184606745521058751325283221268371765855628472602614866872808566350634367208550453350172721010104860757464885342538404186407105812143630133383402352650838144836207382177551070814663385125364777665026618072325373554882148620505617508280534241870662335770034257878510462517574276144267374666465865831400167251343108353838756285331718816442080584746575586287087253260355376080177702678586263760630077083524730536806285757880082427030875656035174718256334174348638362638842560685712426871753207225121560552333284082105767014207418772515526837663007158882327243515085854850602070760423235367081116528730168816442727508754375285012173621343772721511217881651657647726428046750718582421773074150424412460251185338174423767326271014851463106251500257442165232146506841127024204378488080652807710381886452107342880457163502765703521230683308102140024332502174457376663111567066005364224351551486275370005788871252831155625525573405584410407870617060884024021417881275400321642146684282273350300336510765153771481466621372174627805857872358407225112852350067656133011442005364321140036442663411414180456768752717600680734147830300860325206747260431444742685718888838386320334157473482263167756005650358236736880034505843376662370168568262538004684183067366885605381186343231367636235414422683045166527517381175737846447733078408568700028456201086161156268047566140550683143185034445516813136226118633330861362328354263817078628161752366434636240805114076355825151728400131617330130348821176250467348631365455466283844413145704415377112218342256825125885507651684718641202115364602451654118407203547846222047428044833746041153525702831484663863730852373848714307106027648564534710663571545000803587656273571725621688161582805564535036737807424633888402165734628828646815860680357767415706086674251445122503044884653785010482707748370155556031480154371528801508850558435835223207452150548832210203715150881806275016125153057355150213114378885565386045654685128462371643241136638757251142374844254665530044067700533107714455831070317023363738781533430686123742507124544484345353810634308311721631280851306750066785744133125515843826614818852471811860710355030047658804754412165150855082338061578752205677744067182052613326535778325815700336448022663837241880618308062474036145447235767212538506745852074052066081842651086854068836113068762456443374517434865081578157573835265046763082021822714414360254307783828603484040781428726418412488538825428618082048408747277378415083134332241014881353120856511818707501484367663311065871512846244161128342660226558721501681316847826711661751418244604156036185281574403481154878252781684430144006205485200584302823757707212555761425856428644160053736788254310800773735484476635047057847781772748578518275500347747403703417367703474364571516533052127720312483878561354121427820468106243800027178306733757730628424502353283388872567173128476115858340476435618546702608800368428832607275287881632524308756848780288641841533011325368807688022270511722383678702574213463156100701715245241106302522746874073012360250751676547236073880176853660123767612685587282387083467422787360700562536451383865071232608455336148643644448456323255828366287541357436188040346622717021231870681738400481177683272084751343417271600324530057835528130610260858721754005063642878450630573238784570768563100444126226503110681306023786873766022744458414844251203605123680172646743557400017400606018267344543535316710531245526144417210686310361784846718561415784033774437852238512528787380871021047284745636127062725885687308025168722321057641740880348515018376776126683764804222216400568354003580754842178135537357862774627131565748323310007740318034367333855752608004817754434300681185240872601620818445678882673886607432238363088564458858432582288268174161362826733110047475356870084134318318653066075741443335030448464701475544443415881782272642145174288547607158810638688276334506578258838746478548386645788277633175236781465417476365418171406337853625680846270650713701465023770012860544740663457216552468656531771841206244277587217143320860123384553236281213503441624386554050183602413783682064554883484002484466625286532462524505528041287742216313348370484568078430675037254714287565754102614075102420523816425726467225527376527403832320500302182882632855461041575173648514115330824615818815452328888621214406185674603038038875515454763014132345348166660348888747720402878314781373384614402414088153641342326342774132416856562803431154325746220526686270584737305731658628507676034166501322282070788810456423236160383072635573232214447833741142383236821116874115381156857020206508340257555331676277116428624843026787451042142818722307423028053828823655536817732561478331273784105060063370377006036401834713425404582571201253206773268655818503575411324383327274577606636423343325762325025024183184445246623113244370121871212134083732166842523420705763817380844716873574600453386183781372433384000542017807357053704771857010811108312200242338060155108606458656632108316602177800746614188464144075458356320608445462338513674442112448860377824114875482550216880231534641443248174016254134236104626386050451513217746002155151176713464218270643042020040074706608233574732441570461868354000173032071654850878561245062143004054475730846358530836771558432031864654738342807801362375338715420626052008667604807076301647041574175624267575475718260815540777118544463683750418251107631581235237545368744408432241343638631851880577266281557806011433353131600431585834505812310206312785441827133618400147782252817411465132863406154870405834070625482654603181305814254144673244386241564038324101510250032828225803122511700018477340821271767177734416208354268488842574448888473170854567522026166028617144524861118756842585632164102241241275667557183367753177721022043755234727182848177341885214531426776773525871875206104743274266624737436501270625213688431157253147106220413306057711762156406404507212340050327122867004001304656704133400275046347303020273058421201041136857371141581677741175425076330373221561817806684441581222850761007020428700168115507704066738148071511711031131045258340744333324054128218872503724150325256215678635576120736272012467836110585683182748514866428401725550876573075181850816118201050567486438766175400423124542163005476712020272230847104377064024226548572884358141400515446587573680821180754780517338787770860508716603108373182750877776276304636140321318775815873433717840628242116852657733757327712023135851403107772747224032481466270286642202362611817710746313117517112581415244720460115231045023110382166107565368126786116741686343022385534630320056266588545066442376085366761417008236727576647131067426006226254215350727844131572384316530032146333388810468123266371361517637726105133031240565662316733831286572880247086048666863421000670865618206125237100466865344488838438176382734483031760814356522741626603364345443741484572261035436150324704333833117761676664831720381764058446786257185652512862782564284468236142073201788742487008122606202205610005376185726514548022700514486888255828734882730851664381787472163685786272720423843200600067112643841325434747223767144656114003343744112637761048018865752142066324724613842388464150678533241434686234748285867228523042673202856070501388177670306821611123508053167470643371106851824032445860732408548233238551831534787637611128337250411802034855238533177030776884172682571282457015050083210410535547001856828070621015740007530738408326878746058058780576865240001533744883376561220358473243353727448707507107663574638032573376410515626650851544736448374127771525848648514786242462116645514816258850848503166202744661565838535842058620055585303800274524035315887678503027611760108643083547041605216427150175148866606453442665760517012747105310687617234855162517131675427877354217581165450285412738228738240132066088837168258675028066277641477343164804366227726066054821142852046200511827486106202546258611528085471325402740028832828415653882833230016675513158488218285580847830044058822873040686145525425068778326266841533506581104210860530175157403437736526011128740138275764773015461616307313616800863776661850133626387568046654601416887875087800733005508181787056234413213662640845078034502527203445432874206113335688030755350861473716571633013042660135584472358144100444250574806184330587733038454422364226038250138170723806652677036265263430355230252476435141415237412280872205574868544773853573053348518151044505034425044847273782014606203075282617211551011687176111645081072407355672252771548167243787466704477568042317080126005638444737063375776833238670075060832011136145818613513455818657016826482147185138252331470214667682375013853888580148480337027020128061564836806513265542016874584773386846528308630027806354576607301452614447448058214148644336770180132665162055280665204206333321860605727426028443565364558784525874353873112856462027714072358745537304865188860738481774427045618873130778260280712050611484001400531516524737352701740754212803811820134665338480783866848358247474080082814031288502243016723350803158276773170886010038850772236552004447530657752767114856807272607234253843376378620202257450558634000747728060712527671570153740146617150783375702037312743325448267562750465057141428017187060520285788260280882462158787588160287150711837088023123820186446744842276254283862388664632544288072773110025241577200860182013416041816034261872086862147586378818384502260726018844882724617146176517850245738614352862241328813184167137084283785137386132707707606604165856722408640043480125143815580228583405481847475278118141845374786243682756763154187154351316183746810736464718765518052614643787671527841058581500607180423044163573315134484074026620317112864657247284488676243504640612184605557610271684433772332841302478172147547382261527520236744064618641262260165011203337616434616438406621186873065012410367516146783610258211650041012607021248124883200306527538143100164317101676631604320244370243883568887058244246235503701416213276836140711010681051050318247277438411878776763230044552605261081256315327675480856652803460025543506486350705341135346188186145220076588101453613223483633474212028800508884635086427447377871308427556665403033542608686581208888675754163161766177483076822620356545624006453513187365041666480330284700247021084886485280164747216316015407152577104622888064640627154443517518767331333810888146307173152887176558501821444308648012447366552250671072721101258361624004675725644437027072387268835856820078283106107673785082573751046041027737826365102424153725511582001180434284722374216140800634407778517721215587461375050056317720225060670381735275063870725821408413026563865630371511223521320280425660686252217002323844404054866271232028865038150705357774000005813788462107112824701440314641540025883653232584634664318167652201575146000583578577743688783741155182524151228212167241527637314025033203068700333626447178722113422008220588371332362442712535822047722243375812665812414253862010205686353785278622206407438112043606317678004600567773330213032578884676614160803830461351246568441831480605660441452003636225201478018623122532150364588354138118686274076411256750281845201640160135028374734556814051873860541668466237238777227546431148818738487423306285558524386413442422117118234176241015357028073885882185271213635487385736157405114674112888161468710762223401748521157132207816852036857601838822857767868814000364205257725403417445384622403506350785860672135826375003557314703045566201641231413063011445277184038441507726427183564084644217331482805038135066567772461626037583836834084277451727052601840146324570618357671830720842355327154241454534652558430047312577263655526127531512018031386542437026457636571573157403675564071788405748307034536817335731805268740125718520581475825162824475165110527755057650332085737841815165075237660747587606465070600600376017674177752421515363170788565677670821363885828631584457531483385478327816876272561802425461328658732765418333034286551106526304162672720463187028547684770302337848451424388828066152106415150316583702256611743060830873614117767767884241772800857123415362867437565810640523616826310660420270132673610874202213005424410334826450718440441436572228765086164003715710314051417212750668687646876086058376118221414354215742228034746035228623142054146073584264827686167651082504441184237240732483138202752665263655863154206076232058812637434064541257658470681142708260580165382722474462601318306404748110367516718254370725137758184752888853302411214371824517131222337532502332178348110868566476324037082801223316026171515286701365223043126244560785267706032887875224645714445838300614063758041657821516354511705034787760271020027128488522454753078360652537423346110874635311568240305177552054142610316521712762165672600204762631263552471782150384030275508643162155585762245225204887783814523051185866737613744615820351476352080817724737767873031205208358707463766408151172886817421681822571261104606111408425574666860878036076772610610563745146403462450615845356252148712044545206857231446118047646626474456837701171011682475748482581132727574230385628724220537433048080867785661316303414355151404621226323146273183105470376366873365213260403105418463636884630675481422050580622556516514813234588078473761822212541104557214251573168218638112283221678271316431086857541716326230333554150240521856114587220443417042320383110827546321882383532015484532033178382755566755105270305844383630753464158783423254177612543762632170851480372487178715548187057605474441584177343566661663854862061218386576072175422057030772047611610335324835632335517284857553842683337130652672320283340760423483486671735800134545127182148435005182432275822160670170182582425575787566586185543608034633248154331224368686228007840702225556342160452320170058840040748212062726536335322076768348171688033507775888526534533843248218577316778278842346577051131235152610717187877136014403168073565141386728270280024577515157506701888424760688142545075734507705070830483045728230301258360768552016110716165062702342226416656033078871428252007448508064424042874670202018000528472786207654463264637265102418111342316367544373074812683374338440088623234877138330201538367408281243723411445176027253215140100352555520351083877427153073841274052617183460175284241461074242854051028163684132112780367608640107854454286634802831538303777658031468805714654745404747015202047160244121440543343277275287842406754846242170655046482755445550285342070286126800480750425540265411741776504463600262230578131608526142821653163721008643645638480276434830847714634008057825305634417180587818488140770330127483460647370867725408224771682756541403514407263013847200862815120824488525467405377280143170141555821018287271023420824807206303707730222221088741452777105632585502310812024307783514263701806608166631823407542051134601041571724882861702405218540335634240551370028840483072808424871772806343178443505371403823608206216488374508562080277645770741084361033251211061787536880665712430781322683111024813143726633850351103321111081740064022442658500811244545883585330373103605460752171815475400621107267648334430020285258134545367415818654434405778433047725820077186257472032504763753124136071007874480026323006610778255156011437524380284818536015027833038606148140808578825766845386872814411001883744468356070530733511086437510602305204037730741576731012371125402001866382546730114770351744576551453823243234172536704635183202566568468314544786701138413626854842672186266216881764018716448587455834600777047441777538515600605614074874480270248780138854761200576303203201836683837452814084355885548755704308223308467845558746382732773418286783060766208127201476525525577314078044512826055713888066433330048875564424232481556401265531568727411718064344806686082336763502250833565588567658674318414161502601104448440002148562077666876817153548842867432865325053355277250616476650541103628367024324386130503856352317202700271146588651438463547143846483007286177704576103518747626270288444236137150002360407821561746426527052705701447537657247852355832201213668734774005210024417266702867263661530671521237685517005528855720720303285817546010737327286748610277165123372575513752514782863742808586630462137766414003328124563445080168462521604504722012623384846215404175157606436332108740327400853246665618606325262182867440588530623784222776653132067266270316525563166130871067038637725780704335754234760101240131576623808860485225247377716365877855720575421081804034882782286244443845484408655880758222761651381276010625343451513751176851630163361268142747231565264436280472304318770546083408165336353614657140230512570234250057838354884154323485615615348043047453610483245408235112563753664164482188651501164843654823072474653810618266647470262412032205570803216510374523140385151413476134877725217882246564406618725822506667150860805037227355747662087605464504082645272601741225854573468304843875314135063527557066602407177411377774312051378467772703420575721250405038270526007134033478081882406713326427377027411646253710273400662368835361524481631630635152818533348308266763288725610467552018887430707868816855871511333164457436176873703031303132230001821476516204162455658523716061468422248306877366103024082033842581515200485604462228184365383127120176540636260282184614465541838180728843531881758644144743222105528186817123452805873164558536527682842465245320668666384312456810721770326555824154808218440721223780170517228148325768833330721678700813541687160332457242727525863487374387288125500344640776634614706278606376168725556238414888340751737643717676470520886810535631513462757583366750646432032788262863523378235627870002631623873640867605623088146874281514741563713282472650370586665708106827212326043753025786733161481251401783588410422647678213381631680043817010820241541771103151208334406547045782116367504153815261766833336501258600613886532120570556121688816402408584044546464162517658438506523361507842211340783533288180717755072522285552181676016807258370328156632338045770417562435508605342315116433100812167661771865004826545030634786263868473114161045676360588332270370284061844871753515346186727141335682313683166228832364766845680672351583087344877087828354788558228307555305313581677588020575650366055044630518234550001324004471316741430863017727408037213568163020865623817152374318252863340507223810800651837640781457774140687434323848077078668585404006732118233268827706318038407486663401125851236171165433184355644381434278855257301227013068136471230158731610772776751567141548803453500250810078733217278773163128163164742160550834538456062235670121770647337213468412384384373645847124177545650126508425006241578153380153422620746644705637815012763832838451287302370484838874815762668432332720514237112848844808027153634814636642064050167824767738178715507224404600411574140373552230302103717165273781352205836100573403137824766575160713137883628715751686777188777586673726350150031280137212801338620343267412072341382140412381232737688772671118004176578158338504712867856341037246648504288286335231768080716031782575680481612861557622088303008578245102381362287460687140343663508315083204420851175417630171834618518542022621088422553372585281071610822758830588187733161226727712486641158802567837474742876810526060602062456343872223065181535735741843815700672287380283085615305524631456777284243420144743360465315142314215361866722858568525333726318665574511015074536850485380830672677827140863304772348421337047766455032333648682323015260367152820030654287530715154150621341000771216630244858680282103303678752423333175122861606857861656301541525033418641515588332066624746130030060312467631868824813724010133108863851720236157838656812100217874237561538575643211073262850216387073523816582011815368477081578603243114552212486534501638315771562170030707355144420325602584213510831531436176622826201823772546040642858530431421641080082866551305346845388118024550374534384144223833840285358107654213368456450321326837543078833440488084247644228841845312032058887817427056527128121760020647662851503202464446807416185373417431364846568202620620378564735772504173701503618323353720502285467466506234300211721330507286461677010820101033142865008508238777470833760210467762003721484137503724164165828813368620262007756780615875771367423467737671100702170543571501307767351371638832821221410510501184780601177878261804682232432166203381230438607162881527405425265856271386687862842172374760044716267780801475564067112177815314162852350562666470502340180574714878230657032771178763013160008445343213328661634271882535865433500652132735784004504453355084038384585131303717138072632450807573334554374572833818607768470617017057612774416562676783880550788670440322651527847376280634632615021200823304348005715102878570684425427860053375330846001754205402702031460461500480751287317688824341162237048583121381400444017477121344634631441047213580067604055865603733750467827581113426734614482262262057566266718624655375264621180066224114265253872628110476303021400158258324122103481730562718764143021817677538634545244757237342746815646823853725785587124146324816252710430044354650656442178463068765181820568872401873538653257658425445161466008501485434042038624765578113578568335644415152874321538674043137644515638207604466336587814046775158011106244445861205855485622153501100083505085276436086131102638272028203421820455762575710658208437405005272223800118657438670140306560821672148445165648224552760772850668548513315458821841645518864560036375071773173362264157773565826563035540360274488601636315503625306536775852874456802580711318331570060543122567040805778175262830207782484300183873734452048646526014334253630260656745858461485876813266200781475575270323820624341820122712805015382577454217878036540548434801218207716820735667301381875484143806511081853676125272704208863004051232101612877810375530631464686455745466783116567168031354583102415475143221443012715383330475228054111067185183341437717585257808084452525667111118566452366007871667443121566760270827325341670351383282638533014882073373745633667678586304025858374724075568268453733710616116811611604815777645704840508072100117021640852373052217222343413481233412144077328416457837635835362361580722582241540541282874142373705817303042732403075152507874222660371713158372216040212764261422061631222701035015704852575140056748662585605521234538584460405842878587277124165667777274647427267434731686313680061440406228150306205710104544011170754815662256171676807330416210060454666422373535516522207612586031615675640707866328138161076573450467113211716278873212856680681458411373577468736463215131621706063808206422870140087400847227525883135230681414604387816485704070557160116054556604346427730135841318403466840547274512258848342500335466830522118813406108437712714878685174867728740125403073523047066706558078837723126502717748118672606248018701367732355417277731880212116830234144041261274314003443571047647554284073326215482806707727426867574833420636882654366532866156027577444288856364473368540835744131840364412875667730737834826458781383362334511824622455477710244103233684075580143258052507118014406262268577258635078428880864854860014571724833547571031886315632875242813533245631725540071177765776164224282381744786258272155710214831333666225680234400278462724560771540627008066521161533887673560054041305883240865655818656418538345523185218678868483403346045787401041247852042580337385204556641441127870828134558872688874804081661653613315384111303151410221867783007654782352131447000215413134772478585700571114060823708288654274356022755578328374681283681421080545430760732634435578526414612460636456137855483850736800853081850867534651652853785525845468863550270654114766164125500706278305684511875620381802600373283652214222427830354873408205104546824335812813548458505126085417088725207588177343254206582333153841082767645172720644053007151757367753062353405007528588714657811630571724430604086875743734623080214235225168010313483124523168230157858474320004325113853417177180027345658452587735324336700213283450853263523443425028884747617258645853473367328073572880170462321064026066451387762875375220303445774448301020076076542874384102146452188536082664837152177376762007176716451720868533805241866058082524488367143422347024442027614762473626023557211383863246744277084355400125714074321377654311558032423088184233178755225183206182786876100474841632220518241473564000616375247717135513037881112286875166113408202834170311706525624112456232522183745424451858375133574845343237801063668136365248686523700028612550202206122200718842244132635682112660562841566455416272271680643281468450416566325331486122886046545181471627855378508022555415756875216635372848364135763411534253222111867186511465375680873083408610681153307323764114564471464126464312465705876104184715656501877252631720783472683254707773745542518027206350118522264038725005324021177674238058011617531447480752172626870303060452132627544300375712728075153610602706163253613705017768574673887422028860287670220661523182158051220735261375804218015147427227372602557200273174345887171525432201083347748743267213343513343588826152540351458835621655860506186264270777636164146870862017482426734166866178485621627111585850646463551137871112752566381005687524341351035203173738341826262753317156458186020505844240560621375483770887783417304376558677826410530430688083041144137744545623827701536518411253752024054087222108843402143287242338206467044753044821186154208622514338445017535785765523125256664586100857565832376684268836770554067625583625447462324556467042712064025106302275105541077840627375167443701776025733720836415082563472801476462657864350507605386236810547020250873247581025283625541417468564332513177676383320724056048101787023355152243748863401110416767658537567424836644007508385177358126711680461556342707050474182308300578328525325045637351506771363134871673384142704762044103375243532041618502161724033113513246130441774577587824484013102235228563702013535555664272451171362810470877236322272821132831275127530130078443638480258341738321035774574177664074406053738306011455312031467642323841581763416166741020585446247750141525072888207828880542576682302323884482017141120258207745865660067255054387242346462417804400231475735741284888333160443474425565731663718021304328277502665801864175370474257524782084113722805168256106240365872180114253608728842452414250326246544428002520168532164337025528305655208356258513114132212175678868480437403647226357708486723760307676462747028855208155122128148063313206783466676768847676505652840056650274160108831804058432126553430361116372883885865032462752165181825286640883126806618803521026087740750835027370775658375480163078286245534161004411504608826267205051111440554721234763134407287132425724172885116887127683446316653416248717202688130188775634030276610725686123362688705056288773511603531701387848142761405483803223017731688830000447035461020153855545840741422124410027741341360516347322377447714738768278501136682407166627231772167761700823543743173020715571546345835274741566315131241217110277801706346307632776743230157755017210050718403088631403831501450341020667630476877855877713123725327123120825335175820210082262500325468672208085618423468567878388048522623734086878504423051267827035871504120137677717358657685624047063803443810738550230887841420422632547627826448421350111177883340823503438165270733502681118051664258078781215387454434076468141232176752041783724688633108611838032085721102476433148676544762653604070547687127628203312807441115106850868562122058436424188073767450858706788241400126488607238170678340224227370037210528162056402330764324483575845385188884086234632644642141050426605313186244802418750541781503636716537071615816440778750343428284661127605482434245764351243806275031716802821075650144140287465835543440266567187857715715263337428254736633668814741757457842818018218287182858260375406841161144724300444087231275145837652660813557748575550282625468105688348230738168770115635368361012611067432857346626725042641125268456626423032822150226408306417416687635270815815451888075472077410432040063280586056486164318246151280215570722505173786800408173877018848875373661725411767867226245827522255567772284033054062208633651671462253677651541050473740658510087465635600011010050561233726216220480812428308071401873036325755203283343525317248267713265082218265140662361870848860118370250624438501850474617702120182635557831735875378326738316774207258045355712004855450183756642016643570635805714014737445166338706048866465655024384164777172106463364547071288521422617881484147248737235178005865044667343611338122285451123665800867783608875453570113348357276536106328857540062156858374886047307661541822513747264282205748434060518022615842176603251356707631624235140741017786515628431680184047157636840442704388350022457558153427226027305358031086752174844488227300634604608533071460705515240217813628422740842520505852361043183432102647411276365210404188600177344615625733737347638256515452465635723228677530826753123384207704015407731432036115884580868225117173871783800142383184261743150103036133762362553486626781785451673120888035126524760126152712877411448504833032370884145481546750710347584105123208111643820673885815044525437370502131187355630211383821724475144035734160002751357705035428573640425123544385707806856671768780715812666580761116528460041778228517266041656337636716605007174208487323374841026704411725618703476730824332412350786211663820136402812430437528502167551508442174812364402111443632336805030307012354170147136317184235644712357166012348133101810635237858383056044027138774524477528217023275302116678602768267152113378010684450245143371166614065404405011683472788610763311101050702004335330383420508051631322437758055320714703354611344335767125110118731462617044744255545481627236035621881756655080208187117300744750360121638630613714846860643508775020265028463277646011125086114165048283526478667013642705470151686776767356731755056168338452255606220086578342423236020221405523600128661582675735681565550885522785406166670063773251378816056111156740761221435226887517310517718746508440300453077008214011070837601701613281760340101116615512382263221206082302477575753707857088246386473602545328548521833751207141828035804084005336882700476452085746887134373440744575318411842362022782363823741406262410543447110613576833468131447060065624135776203477744440767733364827565710065455375164466341546862643084286510421332733845705585778225754312710455524521336310066851043087220822551737356048877780733286865878726707680385866241710783381061573325011286142242180640472612737081482170448534722870254258251285686245873420322610644126012468383276731707127021135618216711521332135175672135457587646020613681773101881651076180123073782176157818352603886400633341274343746246131881145535402116658843623333074250726531341330202545234177288807644175678834381155456773471186013123357703664325852653075674655763835884505717324318018658368775403614782387445137754588516315576560570707231452711884688488038742674772115823258365670002042564001537226583517731715856344107073221353073170811064875100508401718854820575074268574331540647083086025535667305406017765586315610156012880117758817345366374872528401484177428885525541686603130666706822084464127777780336507286543808760328465306314237538251117362012650243227532830717706441232687462522258586735827775636477870318227785261617111521331857156228381052727048225747523037442314574081058016733047765386387830563030050342333374226473072527260745537047777326631706414442178447480352570672127412475876820242328161112880235335271302554276621603421523004017554134147723348400865740878838174142651077558401561215846014357258130713365134674758661001451877173302872044080886441522876278868028410201854077575511405063347834118760517053262334656183224421002176863576003165118563066256553224165375025500218882460558400663663563442414061786001345630275513672611428000875281637738705187820061472730426746748467128686785710082482656246786814121751468662533425747480726884305026436315461257453178672486711561445541867070273864783860155831153884837874517661710614568180706387618741558586614881818568414073730700382322675066557838462647762177664316587116830047370412227653304877634835267660803478418825888058630863073611815837582882864056078513737667245876740104011806004857463064652818078110056706505628401174600168003304713326271577803808661720327003822017133647535583403541573472371420851470517613245664507325320764347131701331502863711718020057088284237704768140260707460338663664138571624412574632634240032520644456532742478505010054700771124103320435371350315356711733446686135604424401414753734443462268302064755523703431620255373250346033867135613150446553308176136553748782358318312081328026574857368568000072451062847534288721026015225181337738423231506456850443314707767724836717273772681061683272215281435664255277252384122548153882475703302216581457215311328443586632457480586786180244184027555018344322447323115770183076181271657333882634786218647625611176804486527576615801104777834248168224321874836625300433225015361500540528812125537046722241572328154502405062110752601388761821710542826802721405410348248683665481831138567306357407816374235236240354232874487584820448670653558642653827761373674561050648616743713080274562477608546873718832156634454838013652342464834221666476285863106757427256546644727674378271344101746034102062164068618015747867278352472838586170116464814314587020123335834755387826525467612111103275053870264326851334011675514485043844580321741210226770501725271781315105458365340051758017588464665524321533321831228450778781713820717280257865237713027563641360864076318523131766854560138760436777215474225174080366306563086045213355257473823200841734050277105768328181288052601738720251175421846276458674625860008170026753571781032868102667034684331707801030504766066677115268220775707614855152156504551158804837737784118162758337351000420484502485548635045205644841518871543631478838577087506140685362584077817443327615216387212367441002737688873857828822053717857360716062651438010262866247240347001118441023814160128641554841281560757345374820571601423460646875284618817856633435362522530648642510686307472022803810336501658337415342304213518616430764382016122051428187284641085607813310516554336886554075583434111803131664556415114228283351786533468361434480064564388383776338767701314747006087627372772070451323885121635024552235167557107632564281216231687013286454288732150430024807102202767453472847456557208823163243238158001768466800072346861776803570444335565111766514313177603873416730665884638646232445681500253881403805040726010062258102343285275657816361842376324136484525588071000301383301133614467062342128157378574621885441046676216114258835035020525363100881602656688162047674157310158300736685471270311385653267151647702251443522623755324652862160566563780247002653430571482642353706252307416710171872516458123733217213858172562763588875683868272312528673204358124108372882267252572275230865617735881183370068037008403180166208724303635300403827322208588143775578468783504372555274352820844854385201210132363151143003715261166153532351713345883366480100213153526304147573011721736038480516410346760532727465042325403208452406715524707840233670272543858683251267047684830708812332372032618802118332780030247175153331613364611703000782857533526405737850040831431106487061575547713673757033581446048238801836557073634718341155856065413431466012066335221578134150378122043100721434102613782427430187257750855373112517718306837100332385030535018431475504111848150043670834387252474081472250512457834428625475050131577242465123711055318061216650586624883408000500778147308482467058767172751206567044451232478408887325130015722833168617568771176138680558307444457725102561731461312855061561310372582378108440657313183217736858514381324514126737327587274072706166603288383236725776144215688868600358358324433725871121263047770015280624056270154203302018631535146103766453148804828678203833264018606010714070868824845278202255615123742218161606402807866618554405150605631766416008613817010768885418068265250122161368050430357405140085541742671672148188870258800823435617525852565135231318265772630307565187246086103535762616120634071265663618227733380281107258862258804267012648445136821217637743433878504211288276867273841174226725530547558381425322554636334266587356416710617876586170615811446211188408360110805860561330438127850353383066538668383825275280535884218187450002367615206201440812340854873508540356425085512845510381748561686766120524446183207337840387075854637602312082860585557105768786820345085461811888525882585817011380575603468377204438820370311127220177830851747888722350255461243502274512320450830512464570421464676766212535150884413333331010251805402503846611230276420644607275512404104272630415461055258741156645262220327588678350065318264537633150108836640633805150745823873156746306243842033473263751512130873050203271588113404825804004040506188613373468734726105452362407007384156470021817155724752462345062007355837325643204441423548131043471700661450333826177754131807534070554571715835505705241808427181824501362264285728170435567428273674842368158803888300565231731688144517162213215542080211748827060620060846215276276244708357677831846550774084884588304411643434034005636756005607236331302331565275805050778751644812457322116407287620357718117766687461732530045815625048672620545126371464153177580152681888288507181128677047773662645814333660310743637783532280508401781627178405234471587447540662262746821577427736324454323751881673631266173866470876262512730578288231270681333385734138517025358588228632458016357153548261557128427076718045488075161818850345515203487336545802268567408015081641368830550565556284532813024818002637740332068775240611054374674836221446863758532034244888272178153741544116044448488106812713805186721565584741516308432442433262102003013363027020276378332585246271780087705724642861103201842686285767710450057813085643231463855472451454057017721344602443258236048527618455032750036704724857345484054644782187311173570318057113041340846288183222442635562728005116183146375027778183086246535050825008327522464860164567604608587465487774142356147411780382211152484348612511403827402345505000317455818482430785750446821158347156646375082758178618168255553771453557541734827577884722811627545724602354184025711418577514057344728500542218267336654278536267112517610210247041378865743376602774384182838567385240274117811880720818675735730441368722355140870773641581850576177580135025657760708468100283733185117061031340687284308670481642055550566133228323500873725717252546275266186531050540126585413138825023372822814341204668473210780160480006871181660652370078247427641687618624478480621845537131501618736386037044620882715371632255304243524566267384336170152101428007526642760617825246214811454457122478733103248372321081407535751301044615288017355846041846500131872665774800481280632817774223052327664457212148088326562478667566865288322388578308810611074751174426147262764817281638242628804678010808442126404807847746327347355378285731563153765438413108384336167603052020245304137406420853631150526185686345832682036176578513512738306427247012204411173843572308564111167416327400631107785324771361370553840501843422540784528654048651135708020768107755223083376564842174647562022458250151600053068404071024856284757585160628022462540520052520804501787467360552417261143552444284304644342442631854646573554473535426355734623303834574530441306122040448270235455613263247703780080440500107441144260263735475675110342302157570646780233648753878564524065528025135522824132525628374064134545823505817721735518377242321707036765318534788583731468042667454470636406330484026425083511856355468044881443611450546545426356277858634323471182064847445753478220540100050880164052427143012280487277133528755845555333018480746540785136565863480210588566726435865257875860282523362661085130378315076007155722560832151346440716071071844774706825832747844315663743076818125665564182775704487030503700704047113663447527436242172330504565155785305754272704836165630555047004136423834364562130333880851275341668141127672760414766515356863418835814527655216830805311578201632841880072851477555872237456326257330382134521551823224834150656242207205512567346077072218344670054443486404455250825825462264443205556337678234427717342142558653515820044063464031618128745741280381654110210302842064524087451378685188353054260282675132855674271165378138556130700337268780218260841836405832856737536331843757637018788281172558783580360185320115031405115255085012140178365501200744850387517831476732032250285142157575307716115067031560410370757780848582563888204874700803367771711170518650537807882740030215608640524488426535714035065527617378036580768281377300031001516330448238841804508641308601403157416481320741105120205710656032580635844105051840255304231356800152670762286583330585827753387648875134063605556065855086038863566821157258746534426338053485303878680366242183310211675014543053335102520542777173880568638037245606460135135176840646322602406701346471846630887274413104885055372530853464221218586441743668484044186374511452532513243514057806140447588115343247255744086650284170407068102275117772475117483022475327678632050761830115371702511404157142514237683758506740238010117047581041384248221725742403853802548001466817023241643185446511565822875504060564233384734808335237747231255148084702784446031233381106154280240466727446730307734222087583136370626501623836256341383510056432832703644831034828051216003640105747632165880023617225070825407675745752300418437523123430107161305608178411861574817378886547327443481375413170234876355558002008584513505632586047318338170106378520187247148474270806813278658823502130687000700264351745574866602883140762754484171744134841532445168140457603100578023642328362351455517326768531753667682855622502116567570778857253801608428553046647447568211854180114716510626137184520327421568403236078356425324353054460581746712777247155214524620036854201165116674230107064663654370872133311478730241843777686881556857640778274088268040825342710361837888541750006717076554556860316416335268517172324725032347531118454780157218008546682171245762414223525040475538505835026872215747407464632638682176358257421660558810878580352633047028227238366211848421077485341675706353106643541264664632310650082530108553827748377210134326760726636162451153405085435236205455856433074287766008167877220415685340721604708286876405075254558577141667378851821782253785827486811683176647450112527803502025311115522835251783824221465634627776117444422501412301552812882656523672458255423075643175127143166325451830715001244628368888402677817783845575678170120023540537277218585724856380537038501414774426247576364004328646204843767562662283866610421217844448101631617714008817563716532017225201545738633775154020585578347880113376043243186276453251481544461848840072502466750234623788202635814735023805617380415123020634505272578656576424516642885538335404316208867386287344555061244142563318452307423204236458670360083168804302101801381228236208236064673842270252030154467417035143707214570346530734214568368510520872013430581252174441108312751611654756103487403852737367884663505043760852373415584450073035533535688375838681001082251146036232834680352402253227336316883248057032306301707074377675623712364214426484408018843366056483748863528044508056328615213544458586608202766231213620540760378556380818187302138042422268868887102088664022616376735601884025584386220848778081263856117418262551874863053843715238440180774416736017405138758053647208122024025177870062803667160547138564405000603025707700016867861501073500735024568407746037034587714253438486007003842667288148624065200576403186334216306010301072166018341386413085025008243356062731332766520217575228102068320457146506418007225611648476344042637436411415647520155742553718055133201523428120101201255887100035143063634088765486457024067261235886767301426405281706566817361686465711635378721788350642688076235561665726666180735160448055316224472344351828765021517427673700464638261352561775480476323403311241376743458553043832135107623733451652225706202126141605511577626650861007857262153381437136651260043618385202506758568568078246175663425100414652085463214368818264638836220251833825271705710274264161547758016075610538154450266801273673403384805660518453848775104057634541513010858800145010008243843712466428238775853762523437627660311464537750386685573880131834788516067855350150401458660655743156305820606626484003830648863188406485151672723802674702255156647247054476347188807207833631527640863603427613183110333827661536702046381448800524302032820365386715341034373323606070466761357105770607511480333452667447424113151440567001548054044128632440223504405875144557578084233301053525375374885628557400356885118628431363266350814130760773417775406253673661347677563282101141830323883448435474186127017088041421744005401551065683304453454238735232422830173616527703203678601583447420134263711430877531666307002188173575768880430448775346681844500406555880375328152807161824601455368023803852847041116434112563650875406626745346132456105305256473156117554668102314446752216336817864303173278787747601174682762153268826241558843203121563046646740124375206538025408436734121663722602161571455418552468430258742862788222286782457820644651224238507670252435005060703700068320377322685272132446777311150742180202128232366310272118540232514201443704716337062712454254681772800766333247040736865762387416860644474871772647468723586331544872752477175822438705261038002300807032512137772640714226870848134083526150675266626536508166581522673344741413656431254535638286304244500762008324721363060438620858528848374141648220022758677006161506246528730770624830737416600435023830305668033844300725702824656667284707110004606517608660003354537155368821048647555342781117062634687630546074430633877337078370782286145630634748840363717735461545556631723157322526612127142747462171503785681253551664855812572230320216876500884671878115684764807615071386666664403721511417574576030620784368786318886083863510840316245110862868228021700465301565258328687706024335772668637628527056612116383174238164473031306261640030071455124410588417335517060533308367584340112481636260035656712867032271185741571887378843771574815142802104303728355638522745412761401575056835330656827016052240358288673685081665261176548363752510821800466757200851672531864065416264562884825143077832303505561800538244717087331438426080505470311217038703568127047578007808503424760246323107583133151353057251277884668320026888301113411365388025878410685111374627063004525581221261862426431537620085280455461631268714204636108507121027672873776612234503301484543167402048310584320351400745503715308373531137540524546543163286724621006082104647723316743463235864523363714822074084836622368322040306380486135377455782845660001343728144285501436241021345528367870140060467400870552108405812775182788527787082477574262732135348181477718430350805532178306522874825347256315533646461281026630378206037420821656317442833745851240318685263483160282223544770803555025207461753533262533414833182151311613233837256605218230252738130310768833817658265374035673261212525387610844477264820151481485261582087800483031452004230787627201668735236684413442274772534620521527878582635238042553282874380044150387488261310286663704170376461744305455645611112646250885217172746267000887585570040068368374744682812208470466744206721674156220682628742137133726246213635320448467183345010417506124254325811772327326724747213767854532588856370835280223777161077115801425488857718348125745376500210040737030854270181407454328780468883055324404530478435225237714318144216736506883741523034080802406248871615073434155665355288240357277020367331030652565415460863563656864031550222000726173761641124753270470052111506727372154868770865586330783846566332373186585867060602765511321127202272076880232173170232678021505057048735378075073066721488377656402752780470718158171083748036865704244145653206066564438332558268100886860265133226742861312856282375318151611876648372786767085023118871340270621714482230334033677151008664042587122786228216250464267374623651363414013403802807303118432720288544840602637536314244766348266564187842044320566201555185381813842146460406041085002682535875617506267017868550106234178271116422808328601883003461736786821526527050617511277540333078156714667661582621668757214844512305617803847378083161618434236588784351454478124285865170703141161808057788545577652046333552326186524351630242321388654428048264168110018522505025867677165053008558566820036270618354361320248072672562500126178786486545457565731077305555058776151638177834725503775606511110361025775805163645808646642637671175214106177340737332687123470864043301485152531858454344081858803274680086345508004734161051647254208225478510756505410042581813800176032562451710717235688470463157388424407701212527048462060522572053263884376081325886157280840135334322253620557176158763088111343536570403521488375451336665801451853464844643124660732811581007130583266288501308640457042342255732804440875445867484143628035706725283481305458820751272627801321178216568013678178738206652484147403002170206013346085148024635675131774721834206023768722283162638310725535602683248444584868562202667658838704504568621133566056444280850124333573544761017481722878828001283610067513706753251717433137277307870820777808624176612561511036436224420281084764526207080744027080835265056866743142731750120830342544482005036804776171046432660852154123363732783011564356253761751316815406265104474163678651201452070283751253462528485508818637424485231703352372772464877241053623464188832165651372631851025657210536382874146305124028077683414838651654836757573480275767704455775364221205074626247116676128323816111704883083666308774085717641481486617537035152842027485306085700433225462718040837607515025576288843682346727286614255015232337688416056152674554114135783546642087003023843484647840477816082138683218528152108617027575354370638417543803005111634811017021482544768850181105823747037110230772631067400178675416101038563675407636655335045875176105671863686433604581424164420874820701638706468628060421366847442564270806654274153368770277354256386662242176805064551408846263128558366882342867633521204154112166278663672206233821730023717527442880600723474185183830553073322470802106111840128402836303181711156035464652760076038241712610343725306770830210614711816372343708188733431225546322748548112403875558753808530848017110117473362427408266441027360617784355653817711833746157803023643221617207278266316712470108424107748104047622258663717588816626180406285174470513746516865357240720774164320434761013165876140324188181122518062034024165460206086538750425142350248535465360430848785565414173123260606672658885018375231668321534428012062783856481643363254036667324000068835886751800487858145752125182726133735647347564441428272731603314682531365734174044324273816632638782407122275733418273200104387518303418113406738811452761416620400231471484551830381050480864833756380447202837361184388117624437036286441231555328532365335885511074301564411861123452332556267250151175000532340523618023861708884008268228203678523185466583482253556416638426585125218067056736033011385858505067625405452488784480421647408314862275832261337818653340740555283545415763237780344071571384661662137080580388201588286351775451814530513856603436520734417520070717686423546813805851872170684516430485166574410583086166313452808846470558613813316608285362374117373455542880545505327745308040852736568824101778516026861208436625100382510130113802584452768171425557778300774335225854703476601385730155702313763716011517006655061025848352815708204083222342451105114217286703273325133310815160472713178322182208665274001075830453105733066025856711617624802722474203441818482155001428812375840448246688841138213788284851751718542316657508820170528380827486754468331050737108811050333608317662152281633848008230406665070615571121662531215841340115113755354787063855226041783626808727780570711468211827533653081262108775688245782254045052082031322122846254542101234575848121720728105387302453165071281071671148771528045874386443303266070464055716186486263326734026541504268648678640845025023824473372561742808323361265403538731104548326003648640802225450108587027733362783431880308085420425237250641464237037024562067401611138382284818658353428151155876543835715736831557384144038852746250155342413831730557607680788018270141311163360255621184774653211026784461033516041700684873764172601781158238443343852711022602668867388126254273801331571820206034127211633266262362475154556177262347818656565218541152405275168454817666030424021354673441862831517374856577526257732318373247647265700686277706620777021816334172716771331817545432150131677246686360708173005727584881050371342633754448802841446487758860766315262500525448465245550747444662360377427342578720222468017886552525068727168350445606050287436058768828261023777281426710746763714846133770736685411560824551283525068527452145684772271366070505662774885367027060518773808578618267647622816017818826617182463880182085634556332743742244280808625008475284158504626381166774674218870335418160070072360741411584704110001265535447080065820505887721258514788330652117246332522610380744562035316318653571820116861115704520708236170357348352012111200122226875646667810012860752717550654810871640382234777273738275561740281722435724128874443216308614162751470470165382723087673465105364847620685265815128610154372230716202381485643852140610642070618816265017273253433050803142154365671187881728153584165352120070532034048157218535585242631065488344080275442448545235270686353062255224311680285772405741228174765757766313662261545487635646152083446010822136504046217012150387055270732455707804120034720328251524827734564815678233430382884128877354128747075082258052884403344878514862282673004620841124437235778746087728376416724821411326043157668228240615031561431022410725023666287231377060315634636580130641180220041036748734227280326250824282258636234445668881028782048742330716046165108163222041864733523644456278620302356147840835041274353724244152660277420748810373017375857172245746840358577833521338163301135717834035725260067058701362408832328726173257478318886510804637382486272008724168125606733702117840271686014472133615352500351746565858306450748422845173164823584174254357613548450613122173421711857183458588233776125071427505256558431686584862857672061004767610041680481686173254421802177453267343128532741081546454307422506478721612348563780365443188686270171511828137417350813888444875118208255715200547763048773680082035450217372673806881740275418788378875858778408455422034030507586554281603108430755803005361455616158741703261055546043876728321263518446661878175128330682565143360526835170040487284023240521515586040366278043724516622170176780674760217350311247362247624671532770218714434574726387554815117366602160113770672168346227201584721042550504458161723638827426470376563710326354668335416405680738227788647661421565020831567213132455576808771440576755431661154341622137724146135402768370842152007422130313812866572217733436087436717056116534530026853017674765682351317274344452066858448068763802457855161385714576003405831883655017868286657005665386836487213682514584627017726224848461333163206725324782815258124678754632354434622581210020833246655383356768804227216241150728273470618081017621368438414806610761013580015433115418812547647724542818457333611721808554164184075406445675578632678083243756623540332646853411810545861100884250246610031841004156434533864102074466447536823507274025046367053346045834158006575523177788478166013253443006613627613703271358616825763120847201250570188407664083730681070403281634316331385137803001570154625450627442105662065446583056333162247670333356544537557626256034020840610687500300244188265174850700468744744054137086672407265853110023434214658315260212165070308432732102076574124562741663640080643560418614780402468810662417645366825228173845464460657705158785322473461287484513702548167721065855112858875083458745701148777451703625720425118003438666631574230585086368722356648531867135863067284247570354663701476185456820200623377147032331443814024287687052312488866735872673811787284157125667765455622254208268243430028825175270448567643285442308815216323610548064350220121624668830346067773743677466160371514681864813676362304016864227031682173416843731168372770014880173602864301087034835400316335822413301863106522114883172141640414472743138357282268255104415246010728237880458082605605043415288086468564156572521505181034612518518048123668773175116253151586613217712515666786034632661272842822255172811758471732412687214088268824808265825064138886236237874263104242677755673146808024556068374726385731657872278268372507446206142866145280414081675804603467276362775111850574618634622884658254086488800648820005543432208883768274085688718704073133351102061387808456470565161144703484138667384084034242265378188801513002822807032532782851623838043127646457682551528328257772763830045362322402366741683680811867818353232814421063151814334733634436681000474552457352177171131348750553440803763165831514706281113824617387516667484634147637256166248286123758468732625538321878374814416757312316562246845883702453588165143653522163836038233451133187556156253736458307583646353763184727474010041231057211687871306160081763453232678210562243366166733666363703105688271535155300314323871465054185572226576062453854102446648840714658804883884011815858523465341106086044440308111276575724557286501131018340250241400487180483185012130654057316557367037477375221563274160620213050242510014176816283051208761313631813004083561241311066478108562132888606464550251377500155353843866606637626710670121755518185753541068453045555348312522886553064886871233778521804573340388830451623026585714285588133788061050481800356804458161763766883865461456107771000467024715561655664883061361377273024223164357016168432474516527634271016346078216318142647471571024824661850572440670447286863614087852782064723103618218365231808517602742203241752617845555251216642254220556447256158387460400420275822582423177375468003610026421116507323307558810161185721800770082706052401340301071012508455611200360562037428807327185428366822518486806037163051721736813881140437247818464525552783365754850140414515124425101026151144256113670414704583375882556004247120214745182408566110501234461344027782542761660816833833223761423278803277267824553478464800834050255867445462006885822843665114268160713507001337585588735511406656034008728772225502842763230815316661014502625675248140010286774454116523847866105873733848800355686666143538361443073308761856315333886004662204265720275208850484527585756728630570103021445848073813876585073837047213204130447343730622645735507324175233563172002063863383043543138045681871412277812456888438157324517838245888186305681868788423158570830880202407152048266301543177411076234353616162855423850854035211517648166478077501515643245638502550270007206573882110757738261813713082688115232388013883453045002666122883772841746676758108730526185415135251155083576663603617837515478350360581386031770022710606615174776677427010253663475205588311346486514277520350610003247764551065357510881347407887117315063713185775255462087421257642018727755877804844446826773652017135865557337762661011273614306870356720142624068723061423022171176467470667022000512585761821386662001242514261574485558016818155326118214703881264780125648341078830626486867230166142348218650604671252665821055527166536368148131807725056170855014576201111156681638088332220315436127672111613373156422783556166128018715115080164478072717604865742641314885768337803261036522541185012446381562465730834350150650075255522274856621801442131331117652483012385071260132327457352086483881755744556636785420228063008160006852552430103057606176075250304834822210757076480572561170535636463305146174558748353651174561212226523563148042661506737664237046357716882507731025327357157210218278001566853110022576601880821270132377817225367756085161103211771417563845236001420233451026236265726370015682426488563488524181216708886348532886450745007426486143520230655213561452217810837550522647768850151341047885712236381667178885801063630352404375077578841051852341485803204705251125555715156008648406653412207264552837853122485872884241048428458036672526804780110514187476682567787036466564168114161721826054057367066147121232104120706181767782801545480304111401013515760147536171633785212630104535150455176564440176856366321047210453370330807440378660748160463856601537280277267011176470845568634170362773523104620243543123835741555421672521316754816676248808300368821066138880877007225454133463122282303217780277634483746878716281456633462361648802612166460004633036427721861831338177580537070608101367812553401143608765052824544722406814323184668730050036501048845768443856260030432483010827132321276863251241733381670462162531115053178453524338335070285614443850656526631510176681246826837806863663351512101660080302312001188022736088587002746203717051157553864117760856288744860258465752441022641242188517137106774284043466226265458134638612858467670542823025346662267054405222453837112822178420371481110160407458838104604312052835221184117825871127867154742662422736818181472018846114568241126354610757332648142603668307245575205074866845108122637285651778515722441467384017418128040506277102828072027130712337506110436853328420761754100261806227182812206328312063476855063643728505855104823148346568268050865876446335001703432823771610204747055120743412618445762357011580506676244623585374366742053026626617720238346535722315810124540058327102716571030178517365327717766321517275685080061443550760127788020226275582175538386432781815578233330848421006551774671053354161715817454585460388600328458208341527350135846830737628876610084318333733255743470128713327804630082231001875674858041845731613067737123421814277106717763044157632680155405878155430847881284676347004128642580181376424615764547056773487747520564215750131061275035324548863715006471141534328108471670823007030322430655047064861556151818235137640051576337266780577414800774382756414373785837551710881722646266720055036374243224557288546504426456232417262153260812773303628076848424046027547453678155614474618176157338536476311774552725483654421430532307123082822574760641616250160874668304334727566853716344385212083041206533236743387741575808225506456758616526582417455768512125135526145573684632142402520078556072365538024072530070577246685727285420480303800805670144278047456048665558318832020837410206070736268845851135482211017700351736707125771183488578041238028643548306333673500585411306772614276633121144334323757030820513322781735211665311184330747000207384680678072375723107888461312105642151207704612674207886773184270608756808216006625264428652647628422338710220088633682045254870455211530285724838514505062141617678423125384458018671021255643742522573578355673724737658365507801340476836221263443867101337133672822045764863474168486464562457005135428437610062836780628053086776021833488066572201548342767164756474876166731582676865378726315635000468664416265027513582480210805420035864807142240683758005571337707684220310475568570504147786426588837046114216472225727255766571353228831311854833508468714582661150312756383440168072232721713601226745618338641683427543422128586412470827284668417101143325745475221875527300171248776202126247276832653687542843574481761642546582017818160351854102356361656447743312752102315030474543271414850501476264861328026452836225458038142440863042081683218038546048320508371408641522827431172080410587373085237416882656656173814228262578035528018342250766618865038366441620600832781664846431412130717452348255521353557375815552236002803736124157818828881022161382511070760424808845102672063248814458081673250175361807646002132231507407820158024723560800564024625152802423636475300466730707313760115057061883005335656366810365782264800837382613832315156446423622857102564043655180401740724044546045263214881336511022102513424170066385545677503482672105455177150628602182226165475833133333842556161558417462471616667123582367534214151214682806300288717506116240628434368043018853825866201604248323862441766630407132425862855501683322203613384687235046432400433068474024313368464205685628778785547444655847380624683357373104367755410737278313636523168460472073844224644182652286383721108342651654128334230530608422126500682262383047722084216841264234726766187725385837241132610106006764015474318356346537776081573775283834513703265372300102611513326787856056233776008783478223311410386414027337432550755301822718404441534228216861712251564257552545001340356660087305764734247013126266588231735437111757552202780827367507552240173284661872413360672200646585255145853661842122146166302305858507117675346054224666262013873847375276210226541321461773078781853145555125442226845074716120066232886853688670236342266631213220630286253461837183176017577338657466365434731108077715367422847154874062233722883387334284167278606483862044336414361141213806053610142855636648414774160201308886580762512317010364034547315156751318788756373620787114526143578061054278202350728357286456261383262786377327701424371356768704074262186813548643446375070640867580702634218711437277684034276158348751068134143624507818847342173456881015181623524275808841313202075322271704451230363145748271418633566175586217526872622545165552603161087874151127316128886361313347202526262341322565856846551310877314503808171435281140546828154680516676732613433442856324653837237561742202886804614886340870477604663771454881727783171271211630385172411757785226448022281802646076877471205418444202150543862087741328775386601634745683643426781777463708287171426532143547082713582548161036124287551523774164168381162851867537374274525677455465035772641881408283171322638675166201757401570137507000070756216142048200164613433316360336686446231064786072832233723160020645533767738402255710652341051362265824230220376323507004608232525266647041213132116522515515665674888113675031240565730788034616824642557172680684318106801337535368211134800070368567155442200081488618845553388333588272840018068135228385603808127434225832674883555083145025072310628088810883711686810231041886205754445531557662630267270625423035016300662214807636826165348825748856457440063771513288432722456351436280813405103752768487651600251213440056746624270173542183625882672338433103380146458278100057711446878412350828341064344270612388202313167801363365257486217473273063344384721316421550175308582046127762645601008152426385035421366211864423521242556631516655523880280761452313124841652728551542832321081570445731381374254811214416337154802213860044014453837615107483505873002078505565530768155872874837012252431021350030161877085484771357378325016513487721137367583080218870507471856558682531871742464347466844105210830424142313053084368706807010424113720032086220165268336864271734284440442242653440518217656172037264535582465005061423808762407261766112262372722407323856388614154570644063363860350814471164171872470550742105231623840033008202460853813735674037650718586813484440773274610707278535384835245070624412851187073250570031471135451485201842408255866466477033337373356602711464157224185183321887877707745827403401025716322476253850831865610348067003471008801446033208062313703621543217314446082606818224251272316223531342008571155367867353476128118836603741428421430026104717803358231605462083362607373550543137007521728367731364701141617762723666237688166471888388021132533222838857346410274215430030835517081483662620318830676308702277774223504503422668844733084083460740140474316021364176126501748526885086170000740023008143214071112762080704222827440130166067816227514118028231277531175703331668262346034180505311204078078458706560208822501170450770374106437103617621848184722572428586745748234536073623356646210647716876077361846364124745585706647783156212080855100744434223737212700268827805406650071836646041114306284861612837776124725182221082685641344836082800123238454228641867087656557650867500778256325660154028420180114100585863443551387203353858505084738570718441080210632160406455301405626613476438602627103813157360424861217663315648218038121254760323760344714686114742854770740727571362575684536646854657147682421643562675753843011376424572468422585823087431837480308811074385702454205071400272074830013656701303247217105786560542775781833066861584733158631223206848110724081632078850106517173778423133064173657001025675430438240805455205724678223367876477726457546772362321431136006443434825574552212257267137008660326787658876032268681184160825107777524583164834322150225782561172133257035244144803320311744486788162070381747504875722844150226254564887413161413585280367008756732620143734427746174403052061452783103146613735452788688138311185366644388022235166275583663753570230860456766153616513116225631761313288307162800381766706028311754374556777518668784510046163158771827310728326220207141080127341021453131788002238050141080486573214027382554107348274154231874440725086666383608714008562443151121806162636685260615077551885085617374786267146683633265076736453065108204457175035121371834883425825852177315011524277541284672714076723348204348241548765377155146074530030123633844666102500086070880333122158831110456424816854535580615150852437881430188612222577223670388236221438388836885176406232041755584763128000677873631387308643083661202105123876824420478327620235826372511108405112077426451661875305026160855414882445108064366833733575236233851135436621364645788824731466551773085857833382716156887422017414863222803611874640746713767372200551603833785572664677307647247710272734141054732512245505831078350287462844002553882201456425637823327174555368078781218760855128070886887166317155445167571148604602328822781644882537818447834808388580147442148751726283433511213843780655024501314322663623567871851452834560265884401304327704786757463784515805745034247048162401524668256753573562825460547482155603357572544151768666781023502734536153586038577556332844601573843625634844788000004380300124816137538755673142704464345676852283408042431271085044215622711156005442223187360336866218734038056352161204561204163172220262631843038587165484052871700286631471826076705741561524466314506100377481655458055258808061441201322315021578374681781641307023046765785828624727420266218206163465536781567112380462126501160464840745465414561812261485858401381161112781660724833588374004712177255568325183084848623645401751478521405846872516581743267571608186606365122505646876721457656523340821505677025241136826633557416304737413322266287824718061333557828805624467602441186180857115413783460118386574840821431661523870474788318772512701052714660725712715607234037857578056185644735411848258736457606826145064148436875523466383080262713805332315261127722652676206736126360472081302406081743850628451530476500161355056710056471747625510421274040571444884758544400557224313210862382863858518586137602341123581338175322675108388437151065850428354888574788032001007212851533810265107313600160550186666347058747725345253831852650378652704701713224246082380351021183563780737871853802036382186468022616345701486127336341811733570155440846188247250478752476141113405644632878078764728710837702633050240104843231065685161371477018888258658248317376573344311738832255035228471888641216761076501257653722451310861386073065101221225428832405470653041313888857841087442012824820320708785028101724143637724178454251800662316076432375633006107783271202404434088817442337788575031070582746675306766308710027828240407046660661036847332813578803262136124110301111113704687107426031615367385208010013702518614121208004663865270530366038347360627222136553280366600382466158152836567874732366763741154276748331774434558302665225735600802400470510108334744021444671540225215124135546085422311747322205470248722038872446138640063415631267043650088007181577377231853545153511046134488802545464251034478815805476621813817576751486488280702132116220318020675117225873738161768551474134560667184425127458177702743745673455815765131365755326712007783710366541464154186034613643033140066347782825222124662268878565717486110887233260383477355776253158648672834612453360504853221601212562474400348412161785020644432861485835488262210162061817062132212543723516034208052424326321287144458184412604683645751322541843626638325082434345354378206016067471686610202008205268550583188248035671875043638603022618512730877517701637778425266511208728037711422837037820506283350155448310542523801404154432741213882846068218263838273832778770853114447650465870445282364451517336777028738255445866632011174813108585323101064185488476327385003281038110864031340144431425426008780147220426613401120165216775311876042703664284318158530708715060766825346724458213366566657603620752526065186622265263527477388063100837436306662142333683602430530257243211526126553865870464411274760687871826462573057504731024878631112416325118461702082124136277703742085545267081571451681533130267878345751006587128661487034802320087603241417754110123603857242614270151436732872247200654488846646525067165603728474001016806145434263806802403374165637684707784066346423654186175580760343786358064815620652405108521333261763587046428776500117763808538208011210260854822685737218305627268076843746161664731072105707022071557326813210327010703218150125384048628662875555286454023246427375244384460782761782817055134500205744845558663117084247201424184343512538556116018218250410878123742652738785005150311577430664101622826072261804855401716757278878366751424887458740402272828682853478008643533327871407833536468884243222144755632820561374083863326226071043103783670266584651858748855781504084832253883150727487520147815121880411820754837070845735741744144622033454207755346343421467822658018830602754035668445245247044727802221138525800317658461640336732507702720714400266871037758700446417745868488082772632562260205111231101538657246007826180851604401018224824671343058335100644721876852011173741460107144474570547574752476520638664360066242672048231453847677210044008724738814785506885154523023275047077144542301606673047423813204703141708125652850405648843552724741234805218126141570578667435756818470780465147572253632705538440273002246833776815082733218822685464407085526350272007730534536777631672371775518548862332124825572436600316636674006238878823814023702618827676850825825665520212775671010357551018746685610132652308166035347543444557183272707050406524736171822340870531158843823656476003604017807503801438572664686457415155355424312824370150618743311732542117843136141403258106458517088617121764532572206140722707534814117677645721757825250668561003550744432774188532165836868626642744168740024431664223884750585134403248636775082748132672326631673745271856484118365554802514335084008761478424538630540473605204625441366308787644503784813442750267546253812547844732714533766715123033116875482823622371772261451185245165356434285858647380382327362717136164887827567662067137086334646727184373045643231431502525454874667437254863058315086112555642002623013214580713755177387275603540072273150687215621486072483180510882565666571381057324401517602323634427344086316042444703525651558077788120004248817138787046531778286051207333085337644541215181756347380505458673250287033236734474311741630732362114741322860136444500115337788534162012213134635212257345323326802182171444015420015333030370071764212625217500527347122312647026260624761830857214307207764564562728118687133713200028864836635014317128616003584230601718662804356325242115043208357456385117355536260684650018067385472040340286346355137384156343553840038484501626813645225445587687800722315281204548677216107043177871786161023571474553855412844230055128337485537848371356743558602233330723310312176577453615250456725725725417522005346126454778202575832417605638784383187347613145453543505624521708308013413300233714644525121828017735305320813522845723603306505636760046480138052267030687567476588037676715277510356601347354047036088573700413830157405003834748050257823888104227662525213505307202087270358858304615537352626808640585311333751524481558260203084070408647151126402350815140364183383201147742687341866273416688050017566883455841426261884413115043824200011282601726000555263371380226755548277764462876375172734653102611426404875427717854540646448782068050037175844757047600040770611886827220244015580212647867115151831015426212608856621770870380852022246841422654134130567320243152232102527830478088103107054803017761816747162774717616481616206004231438802728807543287544558721310368233531552382268525866512745412382304377642157074230102880786756826836247544587610747585750876254824132700668655707212804052021776028161486033123308851410620575883623068771635772473385470327100068805435541008444767462488881504401167646868522515225143110625372181630767442348271010524605483825356477746680845514151451048104577637627364566862585406237344257617408505432623225080873786222288584762430601506883475220402075211246566751737476625361182455642856155634276331825238827408832124843778863310427567704061165800472686100024442560823322425780221264763086488627316458355032126526550416246331861062124720357182883467637312571627388821158135847410516614055038226472701806687130588284335818076453235436687764531710885820066783510576417237710658505880857687852656325077383888208481716153056475584240627645721000182234153384481705626114644354123240418831852260634806871867104001040247387146844527772606770185316733003511668422353684765454763466267373463360162017888642777818462500520865073353336505607721137175666774805048661304725867062262565463710382352356741146664323177086221877128765431447387723344735762642045517447884408588016228158805265055584274568271828584032350260256512834057258440348207705658850222768021166806221251312480683871284385343481351282600357061044463216148255003255580015550145666242748887675886104507102726861165407356637581425124850888538032582220428634334034857625386744104353463802682183026320305708547356600200250038614052865768088405503167552172688455848373035525880578142868837171624754220412306141738280522056142041844362067226401341276525506383281873416066861842313805452432041355833441421225345826858770461303034425183377001288340146151035100374764885475657120711641424648703282271783653270147216307078523402341082577671307017510637380857225362881574744765133162835522857210332360607166545571221535880213770623175558277580478826770105304761081846018643618268042245336820703580843370807066777153752007240181205413807387171877312715877344125727737113326751437838582721585187653432441781770556718434337757328120627517335058123027525607244872006504541322366337433256480313112135622783087667752576313350554787356464485616631147668876278741545102365343660230546077422250036557621523130035028805430483457002380387688024256708741114412128455881754557880236870781257356454535657646120184127788012832582510426774212372407642843045065430176205373224322374861140026512258444840837161147258147526086503277245818812603386646166210566201670550201868464217681718014652874148423801201742332743034355077312854371643676524323717457723818202672756177763230156102002708218757125655672213432023435347435173668262542125000661587258585752576313202030878676184178772378202364742268004738868745753583862515600883435120470468807663361565374422312876425170360420285106078185862378320368108477570420480000867202104478251110510646306252160080637776783520101642455224146745130662553238653124507610834305034352578733040268534164258353302014314087140828462348516371173241264863068067637185323632027808161546403424684040732665110836634670360552745740860472167334478743418483688032481260774833628302586668354811208533651610172088575840428717430826187254537627073467276826063722342234611381868883413112122440700047245127261735243851402602182128165056517568563068525685128500851363732138456446018051238881668757316044807546687086381241074317310381544631625523631316440365153166031520632876455836275730170872836487637504273454824473404788023162083348233224316302086285271078311083862643612328401281537747830835763818810588405040100732862388112024101278687155247525118870280164667823071780635155718424233717724843757813416624674444870060780334728648313611486003427037188303160322244731570334415140637566331358042188600221087414352077086346833651770767281014246222405335318566880225257861822080680764146177011656505845184763615186378011280553682134432488423238014676376833272378152271228025284481714424063214348208415451270556116032374612023584504612721152538841251544072866061413348835314536108886385772721414201147524333603438367275803150458336611811726826467248306816822874526481714234785424470418244213624435418154236143117773264476718311175414804044443352866404100702154376583821517651210513430150036834473714871136845344763158183120087762672850631608254027733754322672571782442551312378715301568728155250216217571203607687111554373875164372255646543242064511781307860471012814021404382468575055378054364622555054242323266172017685806743310572412542157167163365407512613608612486433224015332024531485476435255524663567454107863828453610185275221047324175587665207423385710653065381282086343265027818371535780517305363050457627106071450124386531705826438751600042388865144413550652516886175540101664264245231200768314642343144051081354015071820143183884480316748420572022488362627748446181761430723214368146804780437583271443734565075788525157815022512425561633871644008477333236456736021106651267264018856176818601864168273502753812752263042354076276218270068241461103260011155358068554640336867147736388655546637145483720655458066521235564055284414883535274777123801248414540051735131135020711700235282617035028151450663681252482516382415221231851323280645764670864272887601728506231870284504522746433124072353568173462263863876741128600054303200315520342341504601662015255356020323868674142102731221130137508724643851347840882472635168570482171555008288231820880510532321511314800362377124641551437810402602861615066064745837317413173525285778173263725475631818815605125146403136464277712021228815126672048210328072835321036778124678378384110000481113118040602180405317666365534676475220724126538643635016821877003215035330147647841823228762715808375266538101587232245547658630166551437725423511341517562851361417830528080173627817207768465081145544107833680371571648004802373061275615035143273162423543642078176282165055451683182182222555048162573520520751044380876286023766672413171701182548836763540258033378235263485207815615030826687705515862222016646318658702843867063304068058264376315846715250486866081432350056356548864613005161072006140172203738278806431281286548331522354021274177015687553136578514734830626180076835011304671313334068543051765707860427052887663457556017566461352380181854712324161527277635878536042028341252453814702683110844063225746455426770376355058251420203354441200777074617134133371377512353832058032808467467676403645856360771074347811314278733585140464840470131561236572111757468134375615226116731457834870205223731777654455076125041112822060287350544880272861868715443680428085352466280042467707370556417734623040016373644641267000885452101076788337411205225821054160575035727652676782203753886826154647181744270443836673154873430470614755068102156285234674157861236617257800230308567754510771704385428326415850361110374807080468768542386806704011066206286050284784316220870546686581572813414881761786242038141486425420148246048242345762577123547118755653311744231123071022265044636325342526346257305160156545380003782778622820586120671870401160362154482105508574722556021612285081818876525288227801178384680570568260324133721175152337803252154147785415776816232467707134240775257706248510465070674761264560515550706760588082331417633737534887111560763024047368326341063853434862704082565623053634834242658865140012340568337107633378200205844341514347575206270880158140736382764655643755802815604356826865162735732276101558488738120120733807847356226238713183653523484541635766112562467308471637180746042523444683567868458068210171525721853741171888173681055353560432787725603867715776885361375876138857660886652283384218365552155464507381038046413885863716544618661521425372275517125353121526186851270304757425761328354867454650612744562454265807505288181280151837487786401504444456517312474646085214747013316443410386234014378527847150180770867218144703201243550722704152262212540665575452564132641814465580636645865134380045060344736230184373707778430744580424040170174605535180061762811612033264800041853117846378877601828825216102275440166821520021585064630832563646021350555888645861811062420334277133845535507743423722741265310330734572776088555822608143611515056003223317501130167840781742155585018064618183660112816037738734486401022783555207744247160061128764247041216077510857635231862826374605345746211473485534706204405373750277147020177456881545515510043268520218560840151508255673648512211853420276408606848472535060664684271035023586602855142611810364158112654351486281626283230782810301224603433431620441747527434223537467487313082610338061212530585514628126061255082603004808346427062502601401233001042823786824821344660773102374664428683482542447728838216845043168518662274022445365412484273200438548166586886880155877883333544216370812376324010008753402655865032513640164117440827147152586082265608788843771858785258064784654331823631834622548258758743550025302887078464801814280340365665466661541753277127434477877354224463756345450378413180480233303067436464351043253141451488836078275000646624068084160715052023528031081633144810354303482713378875775673165408018327532743075408210621205686123052162761683271386553472868086256730065368387205052845082381558650646584710168062453407713236434612847322483303743418707814103362618528756578331861601403504726666430782375838678788601531173556833150005133772858733271857414502714768187872725556604467525745801114641781841262488276350007470705087102858305227352223731470083663480532085331041573334284625803633722836558216467304207605755556531413283154028714154768844660642585383824383788587860282558306044260772224264833687064311854042126860155618834211280186623656524004135511558017684237803751610651571226381647858153870482818686471142374203415055220576730501257142320744735733352723676843464826547132365085165868850877184582443400722272124475043274046258413657013408778866840433018153611202076183361572230023833282320721178535445486302126203340542055121515508256636856672774178508781051313070232171080363277587040001312821572123741575803718001678280800278511275402455873884722184238254754558101744357464146425527054130001573306760426365827535578418632078841340645684632072856160135183368840220836387150563408788803572253282875364831084146312722250165166021276833710612480170857221223818412707524583322025325633351734731384117315512262430452577852202683053050217812816567580073274858443513055034743378161416815317853421234268334250467711311616216806857855468281358443057551644743787213116686170844434744568658848776285240506283315332442845784446376111724540556516625842427010826123261637342071060616008521868022413008436233586255286586201650234868887133877622274560135151476668057008433524585750778067001611537708811657482066721610483820228608185416668321888012385744083377057480174233451005257551404715327823742322185152814366524076206750786078775880751773128261848552570582446441260806588872034674671386251687537541227678053376242614624815231682208232547024854475055823670818753860277714718767463207828600030747456428127253035245727302117870010437104425876082478254320110026008548172735604382807047558474546570040228418318838641382564828501123664812513806424325375160773754382306718335707376426818845383415452605617802606822135586072870370125515820804235041025250345232283317532051877533763871422536380313158430446856237763816178702743670144871805415333673885503860036445048547205345874007838286845782564256451257406603700010224786067355171131780586827718831505844675172178727377563832626801608265326413658556707035612537688328448222762245663822188250388410641124837611285212580818457568331470683171376562304133726387872255160283128403683122146166343168057437543808643103670160572357761871060210866573428274247167751540173500863641666747171260248188677088787442784532046265337375522750238508663168537455572068681538066843424225145132403826887161508555136766571267824420130834011884007573307551101030553503402818778400761714084806771072025071818482804726272868808062684827337352314620137422000320715817505016428177502185527085173548547478107731421548585753732652176312663545075317382028382502522273217855275051158227617038274657481884058067335863023562874253261050552343318517680435048338364562544261413172102434407663058552360213562257218520443645750226187252857016140152308135625455388145583701071366481841287474222065787148058507187550326024632505285407002536807584570213602066404465120077506234703455841787574237456514152745605434368326438301822521727540451304734150765830608606676016506388831740281155557834142118050805874466370273071232458378463248635176107758462764253587562637717430577822147278055460411128264676882672472314833452863553851461412023744488134408877131324036481271472358254702743050525241246662232543128538878337666171765531203354221705451574212484035548750614473521067546177465253553283161722040326774010343433177150048603607313536621758806042425877136477882438642446178581040382350031317346127542822187518242184152442764750043243878840307032866010601808460815460756752528005841066563662228564224250705447665332880554623655356571846760786376518614433735301700138848268505537128681777074283743307358627037436150586088442607023576317481755508267677810121044046564077872322871048210303804260601715888261880483505132582042435744386315255322027600024847637014724236253201365272463305876814727841508802851241077528616581606078807088258622310780456156107333770178006487635768722877538377614378236030624012014711566542728528403044228371055441544770465054802082537141837628564881141850602244044177583862222341384671264412660518514355452150533754008073723636111771773430067751504830530105644053754466254745475711708504102030658414615301765336007152276272732112385504104558755860647242014510305053526210048337136156866307538426483808800412603004204883136673321041250606132528407665543376318107032227112426431052613465540673644171846261071487252210762321005155232704231524005581340107230665447110770710030338783244687253108873838543740328516867532283042201178328143132033770267546473816722103338756365183078170120022445345752172088140417270280687225602663363044538182660770538576143563376534442006045646421066583434787166681212083222855785242532383157142381525617547788526740164724681414266081540046052007616857285053462362716256615025362828817453044401435237354380877256386765435070805070688202205730040882352003107175805756655240145588430140636726656026288361875613628783342245781671146287067170434602831760356307884738880847701816826212252438360520706082130321134842085132210257781206716152375751257660855256388404150276577577250837765425877147612331104381108086052676415042321140530086485264720843834374225555246537438282053083838100667353858836717485737662315277761666683850061507676248757484054811222882003612405633845200048537883668140831745737628004261740338844612507043065566307845010435681348538884438766786485122153578522428877631431537235448078276215470037508431428332181352623441435781235466163812150251801602603781280411824885052730281121426602181822562358245876150727631417032113238452838253565157534113756162404156168408768428410604073026535188351227721607352618038011734168252663200382838851572332834412053011743357384467162073782741722801621337220446407443766215417540277886083721385000053816635625584818631630074324652274550865463776825600157565286104763257623785642267006527386335682481067237107686382446464750816486573465867883183226332243146651773371217824078583564067371147074061125666668416553202274048136353750173080200765810348436504840205552665633514821365758172254757858203427446030872014306081851158032560136030636132441715255721524236712627407214058658406583450166323674633047601088548104871015111122443526732372344361814061385104642371165436247224860871123032825730842801485431775032261140047675702450348012545031473877657458687463883786602167083401188015682270703765224118048376018151788104242603300135445213033828443673050715046760244283534414442251355107033554722218544477435153530304287528264885822785052381118442277500783235244685301218867457404355757762114367240837728810562188304775038316653250350608620782065884466465876626324376036148385501271621043754501351841012164801335640647350757664727814433706415264425283452342665306584082003400662155777466408024061635201330416513778860480816258203607226270582730135075545316074634820058712001470532336767267841632711727644476022505010180853453537514306474505681003614655532157670423606433855853407656770115066450500742805408042782805357102484758462277145272634763828214122087350607451041265024047106328670468138777450506088712020878284060315773743515028144742666642141865242324688203768010613337420680630185770040475472661460675642250880448746515727254875266168425821022265610646056101165100183432373024116348055475131074534066326108752321136066243335763338014486500402018763186126256382430705214141751111063855212201026442840120265877436180673177276838188330714028483807256323065588231621261422012020526734284535115188035007711352671186068484385228418687106733617718038656431476531727370035571343076842643243468232402518465534603186627253370430157812543637456083375482457731475228261218822331716156433401282804534672116058166412166182385864513174556084848724605704183744255583727644615643362700020805736130520738485731135180237324505254517753038613158734825554405271835176132713235511430305644788750330253748382787377856260881571203541475832668032738240322673187275587447482871646105625386732228821406171228628277770711243604841086105531387771525274742667004578318642187425306444361346672717858752025366111203631225303262713035337747038243116070037600804371324636117387342574035050425617008857671336673603408834485623214622170868184756416387533241888655014426078681215360626834663530806538782751172003600486854178254411058110752246375806541422343707022355355640465477641018881307208886645845237824152814418085846141835554132338275750206565787666111712474334287105135155806228760342342086431172141806265764646087030324058884366750476156467625665024001460718410112006616768220246637806633234284525413563210322057413745457278286265412015806143662752761578750023866114278013838808474583703860342128242226515000133542582257316582262174041014416475243488732812140031318206573008300208048333155237636381772361267170012514178742320000154734837887618513326310248855411418208044665764022612305625358768688604262677667284461801334687834638822458614443828528773270437375038267058851100223773062706481524202562774442872502287520775308315702881503640212838705617632571174184474028655485560702743678012430222886577346868045503148868161230762847188578705265885824201623612553450418652658336626513122564420848540112038773814227023382547560558322008166558084268358371304834476515100144554021472813672527262233637466065721132461223822231083130542278515170022803005167661735615656647276443313718888815235278243874235705707817530673668008224825356224417767668643083353212615400201373775483827043351521827007223028824108834524372078431375540708700374502843181622483873646408340843742147784608744681143420760521425425072837067317241878452673181170783001857225831543635654324080102350176357880176638480225488764311753522330848704086520801245786662528664433178500522606231613517520177377037355454838876172028847710240453542200755385463431380268741481131451553836556304017042400765507340030347288167587683023657741380750535682676175805671142286722741833742630052025267042626585584543741817016031760837743331826112782237050384480388267442001132824706713128763027744563141402247566552648485483277507814422476608836175746147117310704752171655112004227070763435801754536877871438564424684326847035421213855832747310584753520108006077762046048463201350242848647047316358245002046001780132277715607174645453668580825716785820047748755403434577531616805758704533241582117837521014138364348661304116371634535231817317472126316888870120712142772127325744103567500828481244518705431625386627264046035068448503274361762657123017514726761285676108445272343544024546187170753644485370673454385107073328518127222800885783467401517362075233174777543585180888356313472088452207615071363453123156550883713652820151666464115505648368257317587485837040620626328657885486424344741077425662665482847563486758051534343117781215104815831376738375222034668456650526768818651304831605442777424230737321566811635643020124508454515762472736388510838616027845541401503701106444874023662761644320140046438650316523538678061253434868047036250834261868457176125336465655147552665273724271786485345411157040883677003448878221108320624731413048008887865131641711800210578566756086672825884461587682755512473101473342187225738412438066678528710565063884277322830371282744178703002388281778337652871134463827882541150430265816218652505625241252551474405483287326410037522187148028336050452033531334731352805417512432643121540610482832423373602082431545747450083800685265088388014877562208685764376887355817720831501333404688043725532656180406565128320103577284182386325487712286385854607326483050140820213163055172007131040806011531804567682818832203312828674324852160886263846027270645044430163524275183644126314010370506376780617831835770812705511135363771331714028744084135525455132575487501818553281870507462458418333232254153840252202357587842335860331676668352037040770522262054342263867230283614412215702782565732122117387836866421236433146144735702741188857376085637444285488545322233162735638376475260541717817050837001853782458150757143736831271013635852103244047414873568418135384086633417776817808881033776854272322031205101655246755426731181168314340650146611285478317284271152106845565564622201347258172551346256834182888366864600512544640774124735110373480000030583010721113536576752137618585410661078454770637224733303838215638408446860823754015517028558887830425403738083781064711122406638660517363373845052788812643044468043667373612875853076777555560406607444840637400636054128026534662738631274640812781321405580024085230803600378443671212214054327228031117542040877186618123732702812848432317252311847414621201221876153214105321751142317450871740784003451331515083734436315284734570044674575832862777666854852887141043552387806451275874501625664317276282245785208108240728870251584277128007152570121052368828430586608643435255801523042532025115224183055451628864246486772881070411637078538234751131184310601521401185055033202107834043781725826721348522555246437024817871635704742535475306244721486131013766281178747236162711768281701427163001845023753716651310166726766165364472455062287002417787043656688071781852875621727033140082611583312240573863235075667537356661062385226824833006780133742633187871110528436146383251777835581732708051603338268237441032033737751708337141083574071444077035615568385357614868635461882168460064411237841870873871228077864638656533032022652152318740718717544077563826345765528578265628861170043012603285117201764222132871128686444057546276802406080864004553475161573710120465676441574254424705388548642034785862640215155420287867370553642118640626768184632548570547514407026874587367308524555744887158177744110432704601400714187235135276345807763183040325627461018782245455063667061612883340738304262256022548201054518357818254302020716045255032651573874046186425843841546341650538626525356808432503063224826220283381747367572344020874071332266884010836675846457127561777828146772577824881016820708058751562037785547483607164804734340812336657125508680166173760122161672660780436070231155588567038724547206437810056212465761802151435151712886210437617810722471346620130377246886334830205687163771645035704510348616520617313671281760240153043472150783722246788168262280442851823110306122421342806240602512737420561263073201831412622217547265477563208528375621238316510340786384743812513122671323207266721573781556644001602575376684354055522843654356655220012057783053648300614185711431632555660045753175608487837356211575562502633124048235136026814345371560282675543745584617333468770011650730384344874165076854517657118540404823666623683734080623248337028672104182186040713217043857072766336161034431218225561871638116142442608517340328415460386341343814327556028428883883441736334337745005815148302761228086820688482005621583332660444453484065473525263405008271065322563653077772451444827405607187352414105855780125527046017277078143725417746153132766720348270046754081752661274567354471843542157475688530723428343856105830054443208571563163517266753071762848286234665238311104144428576800165042562012405208648112724204665520651124134644228281786137514620806001176568334146883685640828203687182261044483541242772240267158863834167044740010801243808462464606816806772860368205874851661883050668328275776662638631187553845883482102000780651553713366836604166575810633525617245635172446388767286281166655618532022271253203578400374681880185446138421110327328885021652740717582840116467260745857257883788220665472522100320652300277837237735202358682418015448812163622623121045806148475836384175257343860888110336111768384715281721510412876548151017611312344576883301330486423304485653465528844110085216124282651827343237767740774548851350414723162463376455650100176730434554550362854752585607751487725251254645428627055455742271510052731121040057106828630266033215684855456507788301071757335476031021752830082418828671664442738466631605230734628861251525525811751312526524763238471357454527567732310837771004116126313520383453746882140151671362604150147064676663452331420710451001116205512340842530003477707422237572576443130437245053367040467788378082541268766275411556882711627281630684887564235837782137731431156613544776668428510467224144015400864068088528777175640055203454623442867430837162435587487703611426386282133022215110035556536804664843407474234525646824112350230330885364235405811012063823048637811662166637071033828613171121281681181114263604886025307202420337734507216256448281103565215525142510470081741554715841751600704854874344601305650020710047876534085337323171462747241681247565551458351333256086146764622532124271080205377628728621168034633685286077265188386770582280473383883506738411716326480765688032065220476606426246802884133085060055855785676230300078747862636302364682287577133227186552345048476401685784331758326111684408482076326252536030370750851525652867667241641643334588564378870814782284162672620517055850206576864554464682663421588387452022852764856337458576150518652046186748267020440325562327332172608344144638372216181303150223761705741123840532648421572482420782667428012558457267284254168250355370272202118537505074657667176588053516706340403185236552834010575632010254278266622305286143033326377458210344456125033408275066541687783754085427366651011854707587444758170240487888276462345106785565555554406268652105845843358555713335616018036681651135485232746421630338670406711744425558354561841065314788317380148573726264258811780760507036285063487713283124207536602676465007867570167428022650115750270617387416280807810564502286332818752038257487868114126822748061821152141784163583608306546167401566704156746178381208465723015367816846764606576518065067665035031357417181460622814615426462531728535434202038632661160738347667551846287371670132640837323870581087043316431575864230815487607885370502400080277744855564836246255325384088852514556482856248853710427872480076286880507231250872175313213457665543431365116400814304567636816140628513530053715130576885816020005136676848655102058126217263107551524212487541636658352873584376300610064277055410682588650635136537061588587857206044210316517144573063313173032848355444854510765067724500284607256370028363147636628054145220552010031214223285733184404038331328486322613467804652266543115075335716062686571674345860406227543267471784131324035485028711311803175742564245538271441730406380683475553116581437408355140644222526828088127661304415271173151445204848635486403362413742757247667280335123367610883654381666484271008172837362465872145881118801651458574641152417344715446811188042810563223867174612620867525568254430465777542826787462856837557838725271026127022277812523735720108710685285146887007200310187212102370783473251257344760354634147821307346811770055802663546153360254802034253464127002262768005255372164717378451103151765451638635820743846871071478137753415826108754018016814422825344101742837276831318285464777840784078413800515737345188304757865708730337667732778724216023770686330017676134717874080670812086122323877818060682543866428262734477221076622522283040715503571531883640014272080836588616231122867431046547361856463074740582842510631817230872812560662888613201538081637857875845820008042256128754221166357752204436411538882667276851164576687721677435462317821085856704106462116126412665627330284831647564348648565034750408580263607438182266415103841454287675400657366313360746027422266673375024807133872132516543347635057836107342303508158786702043620847577213661331464038806817110771243786227207321086443434437642088365124875262523744471040087788731317070306385111478100132603451416610467830725308868262577856344442320751480145724301172762604756005637723158686220400731018607033065002348227563601337634565455650346565506220574431666866581632331068225287065044213413147132406744063487378186207754378562242845174017647410424422563115273732780162372422815444181137053383111747768774654044216248607331022078350383124370364667845242688586711556004638230480064205453881613477765230162220556144342608166502623274636540667777360813485663778420284301114721668112154065105713654551781050525014453441348188030451274685623465232533412214187233441257214844650873266716872575287384021206886587563780872656627386742001176637020801871255606775367818330764530101257533770171513673871231483851222303582217204278435847728051068845337653668521052743762388048027868270320613680753656743571548121226220520260765033561250286868146775287518003505338545282548104674037032651115565720805451457287563730708002078258586115781315154078320688675234178200834264226645523310315674508016476756210452024412048266863557802021776555104414687640832401472477415212205373080366233303720612275374633517222328012511872802388751836330634607615555806441708150840337425217567222344643665355861681874515438502733688252752427800354844175610087347126588606305873832581485710110752167155654418207377457204762832441257113477323730558451863464361228840258363488675117320741655100826682202644638504127548758623805848883524114621770552073408506266206800842316257872854073325440640342477485082104134036035011022215610743785784017444257626550072572582442082122188064364387533853277072413108155818845773288635543736018321065481846433836327331271538264204606736078688655683763370470206411103830750520188670621763371030417075355562640248337204755337468668778400514557554233546658360687428072720581487748883845850728716281614224732532741185568623306622454873882658667560246571655114643481758876516020188683154863831327810265512011238548808784085285336784838582347267283841482010768368010263102734313258442412081508274072216838201570652425761083114525085628658266736071811346657333750368581182331268031607344171847272003255175122131088766601201462481300721857806004463316027800225032504230352658061350367674304053870100112718845286866408554007223665220064101183383308331187301584103085705711471043483248316404682417075768306352420680076501260670750277465447116173515182781685434144665802626605804681830677853215434621836128856612824215171500054410607341464264351254357134872405216128330486632518854720384776130527417863754205055048440323730835287404324827455281305504128332472815722516366137731066218177210762815431304855870770233536673438652640385764346135582034511824114067204781586406868881821466722717110831543533416463402602370143866235172460063553442405435365816004407425414450125544443832016777157664270817020401832807040001780336515777418154516653505512258687130201161557185348600004072255616706226338470430412638148267104753648156664254865687737647527572483752864656000652122584510531878773053374535873746270556083156003736351540073748807037371378613441541032122082368726826678461055375152168403413168653752082520086575104870534578503461610085266375484415182323672137374043410317323376781784315507812126163608051174817263240217380582558738570287084570480254556012042248626711048313115228522067077313644083361155171010808861527487587063511075324225887115625381342253742033635734303218824082600372011357476111568162373367781023434212355204857645140066123583333614355355010822483444013420847348326753023128451063671832418088074110470887343285167077484565868861557612846247658813668222832263174302145381702100345073848167832306757725102301845876187843576773222564614074078072104102554201281087710048833372020027448453322546340633508663518073186450061044404320628600005882200764470376761853836712040348388478143711023851454084725526534171504550457721061348456238731300546674133164812458272050825237182085346513730234480688545166122813158726143867854154782331418233656710863145812027316703732056874616784630742666820484823557440027054010144171886087644770385018547383337264262760650333741832187715804344347640777673765316874362552833101833807163436118352008380504724125105608015077406451636606572714030876360448027671647626177162586137721785478861760461215418473274636244647588545875108222317618254150055742271838423672237026873223256323127637621527836661213387138853437064333587344016764001163881054531764432830083405264772574446384126126863650768832601223222541510843571418350601833113044504703277303027448827412245670487402606320780072086060811133557512737361234868724357572132443441503286068424532452441642675164762556742486677230162244721068810828647200728385057636024546833727881386015502150840361543488311485432580564253487887470840670360207523602327855214060551134863758101175247315427733881500430125086438660705254337337214335378662588727602207860885020116025038520430445635378757815470224134073658643133547374416446664177881087506058162017768518048458652407571554811777751710382354405255864040325761680216555436375611547288732045308538134010610012146885874520225450323681170216835486840565511228463181538040528517607766200613710610414603885053753430416554173316427831514075834748872387434314335782436184467233813140260805224861265813135017864873671450320016581001241738441680118267227335277686660210082335818336620088560582816172071156660870554231088261717540174066432526253254850280652221274140716788181357782585824676131501151142450327311083360205861101565852602564360756147466712056135126772635650554170151878618545460260542237472085041653353648610207545211062172027337316701412304702886560141740533034680207645464663016116313384558836662204201773222217486780727005308282111364217483213537868663252246044052560702777271246632368115468026031137356885756862445887455536106135435434233261605836315426087566427627185572131187758134638070432845185504180546365316478304058161726574617450324410730882118315087605852711703285766277814383852706628241612282848801007363071042881225134113804204826053660184006473257184330502444302161508715050202315115437175106568648140581813073571045215142662735524025450810632081448886858088506137355713266326182744811888102386403137333874246502465810858546232561345447051068732070772010430300265388775471586203561144784470041530710815857433820527157314607524545818662374044318638811531614122054237221526120356220287326546647855644418454542120381888457336588000561267544657428568340148217406568332315622708845543333773683466680515017128570378175621008710136682033670768468004107605333508645711401657751366826078637521208844343634323520311381548803543785121006126136361826653016620268648407370183132008622362735671304471358732378556652820540334305868630145810254337626156425330414105561710881457568405501113775726306087873107457206532060405530680014070887680770680418641511488443826442080604461525054127556573285030454132870353777564828707188468773487147704853552482046513577565762836033787007531474831811721638613243421664652262752456838684268035773874516077434207735607733886070470524188143541452081750501687262084237813743760083523047336215617732773763311240400457871246238744817356046716883657603424665250456267340838761072027613228482710653386451377322841018310638220802773685332828466712726883068664715076754188471255154617417740072831554226727818685076753728323038432856546724673007181723537354862807271503333404854875682551242337107306487188183056136168615233100534180152834738112787225205884313354760261617780060177532834180063764243070864252021673377586801485818486880687048816175664788516607347764882546856807031554300230882202386535617713117243308448530533582672821422600101632603065683763008852255858647027284232015761351567383248480521537078111465164748146158756578266005867578755781615753708634618283410331624558610378055885343828000328478371345131065184670338261861453300438011316400133320572740802072016386038877740327627431735475827754773526008358064702280732600414626838655743423143172663374725770134556525747727557462317463155087011886224304032280034684608053305584605885216375773776711335344021347313456407083403804031407681537203677185816502756753570750462258408862106427443344071828750215270771763561270116375542807570181337641854422216805420552406106667827377101083616826568623677483268640043122503106617052274588015458522603756360738863710472174755042506337653483851170602868414601137572652085414501207538232725342572474627757840088160385847761018607061675742655352074186874432240068410706017132005341320305012380044146477141585771753814505377080710866244748778651650077367337502336475253574616340647606553243186425452300880808780201600447743126647587048332227677541087310723652152185484502177081136536047311600003401434230040818504503448218764881708008641506712463860865443817180872481446167458326787077803506567116636833474268412808446865866875622742778147850206711702775414587200156502004783637534708687167162023733388353617273681813232755756182264510230028715431538278153377771824073158087407563746656873447815318053716853766554857661474455522705664462070562407278533467722724228160854180160500751378816227052431268085577888174457406618884034727814463448156428673667203318588254478036001172646170443520055710484656018121241248066354772523323874356362654765418841544117174731484865080423788740302663706473122105438742081828573350255073366640730460764024820586682162857182656333071600160281243774506754007250887214447550382205240141550474368136566640876763677063678318311653782663357277157111486056254087254544465537423481704408754700374106565586853538312644516143687236248722052648323235771018315837223624174601660367407464835370877404341827512343518526835081763237127685327112076252231674100187318108675405474713606680731804105855467125701013516430685506324281572133051725431712726353860424137000771478457442302333352388651505758622642610801820143655102203206181240185587810233423224716042558475783884424540106460823414862574344704268836037723258870687341645802107053363738556185053047317880521851068128081424574437462282077003707442782306576763672400501486850214138723106473174556525773880602480151334610856371062074405424762407206614637447435464373124388561884774261157262074370228163542802007474786207202432110643504278440240083077488866822252851868121080282426863587031177130357003507377765502717748025667844858188181187164132174816724276407443403023324513057318268623707201324166511083013304235181001018714672688063272476073384862315352032706836580176283758206447441802265073130221041815420204548003573201218254026634684725820856067272368102535212527434800128782228228830566462616436620518320171105050142131802888555764257614110233011272114821247371736083882578300442186265041274437817265212235885867466155230148404031265833031777604586228537440330035837205741250725217318447861837866356183828484346152750342772823510801402615888016566461256570531457048775374035660353503574866655426838148351662101430437152755121228565352714827422050788755548407874367365764357376438136322788801476207273078206108144821155610260462423111220243813584480400534203067785681662118134472543868505654645363612482602127284565726273255787757534487446651318431606138340726468655325523353733513207820884725837566887857387583563735866470218146846446527464835308218445538112718351362367372636370806383050085621861574205865464160320603676833483060654651863833140378187187176110350801483434467248462453610048135540455805575877827840683505405767300226671085236820676042738112305571571605302231848443614153582823276175405653127424174522103823182404185841301675317608150880411043586324561361535230765403310080434504060511572475084154310166174620600053707387812558381266866625646208345520882623778657107473705418876371372540214237541385777457480653517102371534130345668528463470782064568853150510846700630430667214541504413027732001545743713577823856710238863740185280836838686878577235704530857683826807460055716055568087763581771828835116200530084541588726530578625608512787481650385315061556680415113402072673083385405343412127075057237240248614858433730705848476720838714726754357844822513121038124475655103688402603124853723200224752038508825584645084178188478082412530030156233140545486786745315861552228367041860157372535075417556618026110260775260658521545076530133420371622133044453087375132350301145430661647575453007080054003874041408080660375328121207677827151311133305765120658286737440103815261173681061377833444576463125723427006111765110511117526513052364251668681250130661312164878245482687542502263334763447630820844676643067417816455232184450808460367081187567633522710435810522461021812874507672124044608343652454410042365504683418463272741803158314645445427074285872260357457856024868178756551107535786356782226412701810582837014262072662586410567651641888585870816635768466474274840207417886013651384571708113815731338416575731156388150866125263184873638313205720582557627403087330436387115100171370803170515843310330417328126758182847134861401051383888525107036218614566763741340572327236201060087186178182388625730835354314711534451558015738228255742557674561347225760701680374824762362634234167136427862768323342118278352322127441801648557857648777578525105304711583863224174383732005630237801048807268586001842580875012765661265121448502737800447454116801658756545141126881338434247155003247731501126175781751502433550674710820274687378384881331135204416121722214012828286541876166717607330134508320065201406604856064055388436314064354468272366758176477624402312322617346558826664366813022846461427138586655488730011168487300008082534553800616435408435373841107272037535013254412544673344226002016882120488720806442138784425543645505133235083584404488245458341076344575672474460031155267636051805606437705713314482868432202138601051656064025766425562028258662776224322335465216180132608721812415847828256228553151654264366273160033613574155832437727157242077866712120457087882061031515461832636803285838857612552142028758543268153567751662102361438774870383171624116566704802352027481282542802570863737856784414004251733774446230818677064885317580043701022631676320383516785301084387067814751430345173831700710777865074165753585235614174556170858187268846583244552147087282285505030676835862674713037081670523728546781836613628058463442173008768816611072766274383515142228805318052386414561744555218168167847301416564616645337500253513116777606754706552632366512424424136170652177171333674105805846705341514834203025534851377246152430752833452571034611518535436003485826147728172037658211648415021432785055206831087014213103710862786085161751436524867372482138135551124168528162653764788143433170526510284462262028133646835076643360507103212151404777673181111008662301675210381751052534327153304714875114443228168503422824285724212661441105878813710285474405057701081318483142287244781240773023576240130825034377822537032037637386422111183635205068010317652306132700464642820584843222447048081357115313504084814316676671762237427151570077130006486362732731557345447742772205242817520617348210748525127505208316371113335014471184744000030061078723860813100561858822260431851782815606384573615640021218356678312400187758551742146841850645740352383824677146402684147412234788325760342200228588155403456134756315172451788516821287035035236086814161234810708885832382517164760454331712021652844426148488011374744655642161412056861443456401740807141814028731722004546242501501564226076138514284017206364635453486326554632534626002010850183442880380202607508573631262443476123531782146678716116136435363471044350116675052805817155578177035823016803281701124173786003246036126304733026614137818623532585564548280238702835806526655654230316068826552258106142577765477327471218637607614438512137680454011767184788333638188577183715140583082464450837323147284226653086666504722273132423022324301153668136076157552652540804084126024107504057263304107410557656002150718704464483258062777523628852312776214655232615433532725605037067420206451873822510050074050754481610481235038626777188446682217715648563755243862560451684674346244472017084103318578682122664472624560381633667406208783311604235641136552465265510176221880330202623043846064352725875365863115223605783330823648456267108701765487646118040636262552408588541843282313547452481014043121448324231813752784528814662075025002308015378886812147772438788846801656314706560823056854350186847246003548487085610251887217283651776418376663037510021286112548264781016736510436411274661440616450540168701587618382770084150887025572348437476722251618688472574756526178648151328802240206124534346150151562413418530008181507342445017816811741550841772816030811846220020616585632644456255635572440220664047264816202332106445771742274678581774401587052426515603054534001485182261052602142474122383625440831836711306543385366852377063115657184152713474613688713080610050233003535174040153478888188162086832721781775038125252715056611145347224123766322866822314015630685727266624680543727253224438272106345435311666721728677540838582826157205361574527115776416842316821633477782156256158734074252140054108245250207240537312126634821678175530215264612167777641141847351383027325551307006662366267237631388535276861554573427718011581750204653556845142084831804010321053803750853183115168052155848235853214305112538003615434834121063576608332012815783437448286304118244711568261302170501537064852046562710382401354438402033585381041181285620614421715586487368543538238805465836300034116825887686315757347688816084872177213464356227333058087564704547780361762306318305332232235672222536220736050168420551337474102141887754426080245736611681338682413880451338616853704066050485308775730020521362770312744851104305314783182404846741742735476748576750565332624830602546411606745873272864033315075417240860520580006107505014203683735435242256241888603183664775173606634781135447325757414133386110145602418725723565043631881167638610804213387485222483201735376571207446564051625176445364626233777321067436582301218365804210316434058315635786508415462760223713511716673856033610261457243831844402073743767104516451213462406743163863806343050214664438706661316522042266416411207062274483172253346184463751517275404445610664502085074118868168470265165725587108256257612762285887146552184412486036104707211023101282781602636216140018217751884806764361220452517660072735804804220487351140658578082637661573201346521081820638644705207486641226603272274454721685080148074118155104730055831623706017235085301084622501500165122043720785645741573267640111062671582444234734808175302617333466178138832870570265152748760265800283842761728124778814808831286572000822167104311474455255242684882151026864436138074743626407502103088180874263613272307536652667226412621034401220477478584537131215334055073763132373488251058667788202635830542237743057016582463223378428200485817104313522131786563833507060517360375126344140486408204402674685277788720666012748345670737403623616020316005300321710213722517448580104562655488264306303240038661284105786127256087031145468526847048625205776351841676611254232528085037431488442817465484745541422473263508102163540871160617623267281633371856804150344215811437457866314680565624680783265508572743134752253107700064507101845853725327601314013178860715385068705820062710650886834828152310862035706363328505321156724360463384636676516184772163422685540423332552870675525356072567640052572066327243148056165574483701762540283835841071130587543484277016880455113656768078643808360510036536381700022181115258214522400730248410072654774572213488677343622706308776550701401867061104724718041754581172606774535787688265826734114126880344221041432710843168600335730020341832724277611211347510156523068715236271471317608621332820658276670432287416316567803148483004260747370184772456872545608626340555654025256802202100261323338874301333344481626503220367634225202772517513306066170328458421337467412710855362820356467065513778023680121827877216342863018523673036873204270201011087424843060376682774254127582305782835130111512883174365407833384101647388038280086713153068833313745043117138246664703118116757677541673308376082732073473243728604588875182385748867676350867642208336527527758818812246862883010358411740108058568348853225363671284657363170731603183187860163638343861706087821563116771330685706544025025065510518605221335780416308468104828611783210805766127780153837572765143001646776305503486823048208671407024544755587665544775538145635485572380828654003616203214283700671552661671138143372586085433035503220833658416250780004188151765842656361031022017157075862136718735027738244306562160461001514342446506002627561733304327213485105770284836205156153142714787673286574564508572016554144566116851221443750501246128077085130716308408885068202545675101042854477452610854173175587441821148328621721272488451435048084223555855175504466834214425418207533307576087360150157503483683865545746840001564456400607240758130214824201430254585805540144887776012832064828250236261544872130068622568682621610715304562410007808653242662337514826754823152668585777617608627668270214528380886744450624474010818674546655722638864601237612652020004308162336537251157843646422204632633620438037027728781570021334441417073702427105620686302328801404076536182065625514524840220583406065188178185801821866045052217317022238884276344453527758886547824800073628410873147146518201777847226340818765350414266814101803814654553088882610512227878630530678118364156072748541788341763047165553250677244420372756403477371372326573565526345482527211834468074402373033615822614326477454478353201646622631473587280238783888322303063503573610737036738303521746277046137781026165572354664501443137805707770508852732733434227401662578641373020708854214726344124588530321883754070721386027145243011226146434147365828506452487774227205544877708675141808827884083083723003308510476110580784863721821305140335326572123308538783645611241725684841347524217320846322868241745862703156338174140158384157634437127216520765736831062512785674210488622136332025376531570680551618467883373883356470076032041366188368748743142636421510454861708351647131483140665840761576456847104844017810548055784285162482441313176600537786345006505672563432111623776877254600006830643213516656773652228651776641274018736030863164285205332542582816805085542820846075450052666554872886720415850688857654053743445507131134327574336114525074854646226247222358645654260027122151502467443411401417870848424606852867452177417325123451054127183154164201143880517738374388626325608878125570305237208433124066327070568232831738511417508483034238516733834607074765786621180432375260887276313386055268107410704784431227203436238576003784584547202663013777444116731323104871614534547714265378742747788415810277102603423342620473578836565447453363303803280385025388322328113545845633601173406272582387858401783002162867520224178037261163443327538062136236114714652358741388625516324610158156346153838580644156643265455511313175242610372786070228841376057305165615156012210365614633652522880284555677412860523040722384887625855782056645654810555835354616578783205407861041247868262377468185730345316376028043373117280164554174504312228203168056111387888615115213526440420138574784224357483770650382086637663648646043833452557260871660224558046422048664578048131677668417122881048273665610406085513763512187340503067756613327762452033560783226141730765328345177144531656047101230051220177852150844416028306252351863144170225331386643664500836406651870067104875168103587268237656454223703513133083106216787046317131607850024154731063506582882146772381558547261471228660284204121782460464432142561344315850024613201314656857484335437755468153460845033341530411780068355672452120555036358077641852042284821853225304263674471043148525226813328450647040722337306808161141611635548050615716763523034710435355581156281744372177674638835258757847186403043660524200476488278835725701665253630752278428246281440316281370421884106384487661036682157882315468157787343618743748063364530463107552835215332560300765267275031562256348170307066706732848121067387078824622167761447425204886750572170524235174546057577400102604507132463330757834585465607580485200762144112235426657588321515386453552782061502025534681300277024434804711086417833257535870765645372016876466203651500418640478534380701806447367707247075452174784722407830306173534887027840227822800423526516300847865734736375556783475354205263363626116212280724600103735523873217161033480486500600786658124502701584447647307886407114662012640334815438212051727123366066718487681776847000433588667087200636816183223182448267133750242441110375336042251052480120434851732675186160855257232541870023465416842156167882520106537758340015623756028743366168305656380725307253756512740105414871464852870511572683715273478754812117065508466765378288306408488841137727341863631411305231005361843328003843872585384421628760885173132585800867650528274725312775815414560625567218763561584612221413274048273378652001328086107530325671323432874717631058538036571580257622282445501154787276661572723217745305477623521040612583275564107658264267308012514565051536765278578645348465806675620240664521381545177386363112332131847373316555183130113331134001504243104536128354638085066088125834005381244565356624110155385315442172816372305412545068514016485328822334036810083061615414566680401658355272782215702833054250222411106650144655453254186424452651181615236362113837876384747175453514740222223286423367036114021672016744876772223565500127235873022786638885036264757141827312238226540741225474561574600684553620158427583144226775370783003447156104375583473852048340273281637533335607124016265762014404613344667448002556102538335712682016563868654067741728160646578226040573606418008743317553225633701724010821248473676088861487765400626688767784566877554333285742422113057605867658683724835704177100175106752135722313158486868448852856186852047187506660125026147624777116650680100237418517520757263752850576663242566857438606632874686087744655332015627684664701832784702247508411244354733825418752272438081411714448561530366208404732815280066328362137585185048471335874005160686036007038541225743300116058727614063240714546555472458484112345781650304018204120445746423312385031114658233366687826365576326672567254200810168623767567618024663717460262643012517763557826268175571385703046210112635787257585756067173516555382331320054365365058831847870424155381644818085812144757625347658417637560256161773157472806651503437644623844316783757620441638641650831086030024062652777272744005431224406316822832561621587162161586431703581216725637282204283822226148834652066865357548667801680184100850134676721251783746175645555347428247627482334662556257212381811661544831246525608741214073054118760063621654480180116630124480653201635520068582020517661667763458626156323725765314375020672020851314378354650310845114367656236254602270261417748254150045301351038468502586601828152330451225054422242857061636430453143176374625363720706821260213878047025264077357501735542438284508211046607037717417330215738461345854224883118785732805248526021376656753843028488644836735074756614002342221074848456884056800331205413085257578416268074667246661067170760664463603765800007408074305604586148400348656136345351137150176012125270845640417810710280383156584314363221715185456447580451155131610422227545672133182555887870354680602783521405752801623886568234801430758772454852781056624775471528322638605558517003472401674247455577506451784188083711610068230270848613207457534811781003185612461484162548145671420154613520861323243257880518281810123430242312840486034137780377117016312522883248462584741275855010618201770572832447062504610233578831584808180637885846101722661703285577576131023770521330223425326027434476157153654638176270510238544280450111033078180245448144222720101827305547658126017580328841734071518486134461688014667388046006775774540762132412853330213661445832573678327771785027377341412885136204452258628362588320084818637372445554155443804172048315478607723814377437883872624855831886718284088820521385048327878227811155481334077037162160110813748367611476276657466510126365323700316575014536376024674142426638171465808311236465433484010610464437675732585654506607126537281661370841158263788747887821632423262866044724503176546138481026724056373751505000044367777476837615238761755402231548760723628118718270648102357527706558750774761481332762278625865837745813148658055547807133828351110457854166213823021781850366268474706422460558553411066188615643527121353711872153536542520272427381155605868576638042331780537555266320023302578871151636141258622706602111352656374643378036501354102676600462650842324300230743820524625226066212726681002023433373718437136118777375135416715237045618808145527125060664350285288113515278271188831024102764352075633078412637653531132660870217210717832826526803717231734208888314515381017700468100334204248421051501342806024080623417206767058444807445664537753581474000604831643661642232070606283661702411658680620287704053456463522823271814487787440821348660456558458684386073183835176271813555877070772072442188642861450454102470665207751807230712334657544880107630262180512625737081346165853167268128747678477487362625185213713000503483665167000436205005547458726178650745214775556434314352208423384012063713610606406137825104870850827544782033545763117356111877086448620832360544584350131606152801348012880232631215551682302468863541261084574751718178370606651842113617381808475251625052480558828372264748518180804516537125443506566411272075245506248573555523514767041634046245055317615215312678768108120128127120678343727616514858077615634168835866010773234710740703142602152203530814271818606116206788161080645670117716053125733436864688277264833727506406561234776363213623278724558346247763748735512535270385155202608328843864583573048016383516036611018068158547476778428262356258143434670370570124645834767674241423803751561285685331070587623486868751143234553755328111405767808734717810424768701383605278432114576213317750627151508405732481665852511842240305587023071151326476384264554726470204778051546246671353307703640454868833887636826264371362800575756443206375683728433224248521036810773215203185128226648566466688014536637754317272473746026307268711172126430575752030445747512788648352783380115062845138401003776332431330128567870341252425638344778443027145665854016243610784848547730884118275068132874065466713322478223885751388207430312765041381172870133432841488722471285564475406642202524242143663675184346386580186711880516534385824653463502755627678354667325531742753680664667051300435072552720121404647305621788058156725137218074652260380668088588644773423260325638740181217177885732427438364307430708343178037372088652885201228026106116838608215705725351240836108664606136376763165311706832356133835052057780121402316074084731274405486074407883438587412887233203456036446320828437276072743740444435755842020610286204137736528248376646113057675206503228745873025011422517662465748724158802418066152532848640214375358526545376167125774642224036361263243711326424081701464884131820720551762433727474531474588848710861702610407618600806651777023817037346548870836755278016543678526827204443545635360207557025731754313438070402168233816526346404467247411263671263245227182527670356056257424407484680673240784267146631862686207327377357822102465462024310428421315531347123478533744050652762006475232204852472106753061721814087818526854315555076688884708864134617072718332843200842637788605145263364167881526780027438746240887220575826553067341020634281623506761657107754476757354602400685187562677587280263778267204677846505147663401718306870084231430340886881556226466554825646421412278724157714510157015123860308735570335056508776421212012623354683373803720855583580637865803427307862001467361710076502001812568272575175383637284075350840464737548167886212350636336365453403641324218506384341416072536818854444427113271011400138035607055656446283228317031742114472203070073373686430348500841833678072735202003507233324036132065245288125760520456531573524260601735524431852610114713745255325461023230851672827285757585567350727780365482821007756826814148662405111526586083877082051662051674881781526333575825067285113635554445104350524714404261372728024043232511638858521521502774518137362768268068034613030527766338375050251445841527462801251323382133311065534040887233135068643850538442575062853351756674172487153458321338485016806847242678441262132767400353847106600762222643480048316847431575036613086465334045625767342023644611752487432328611734434705551842266280518112677301807048368582833727575772536701453788326316381127548561771633035484633156047467710038462468324620555087605147832142163233786203430276135452801847773103433588687204640272384781823353607087232383761600124152477616567055402721412517757236638800845505708506302726806335503721837605051727132178787743478238785478108850050038655337212686462522733554041167658720667567255281886501817380510534423417583444514686710013085557265445780155786808152325504110876052752306214748277805682348176360765087341552723101156012307644346026132111287578532071452602851840884678585448338234634467347363033240733426747480211804028120125673580731212756021508730227640048163754265533486577284625840523001581762587836344382383662008158375264504700822724844167658532755561844605211760253763851875133821021623470234687373200702884082372457807053137042828585822022432353133474611465558217400786070138700133247184638160442270724868348410407015841878186871756817056360314142355361651746403301430007000561723868102208437225877521634635314361528532602613363177830506666424254141410351643800305647256075653850682611010376774254125356646672876841312645173242801724040401731858258858011526405053384716518382057585740045378116145004423724717437410830381220322308437184206102185412826627301432624663320663262528137658775663806575170313287565780778780353878131327277151850124228370658465348828557601634472275043124173441063383717011015331450116225232731222051441745378028886706362600034380688067467012285623731332170043540672641370360824127324423538305352025546510040732232055331443277508604722734553005108742023827334464603761476842216746030826330462080165121633871786166884106380214252478750861670623634865673354035742110331540840551686617122174734800184205587273176166357178747860886480262180562033044223383323860283080321641756685785036540211564372121131406538253403260837205730862437013225533715673716058321440707017567217444582267625563606210271076684122487457441634200633858722582380585616188788337523034564453410505217780417854443002721146343187577816771310247326624455213358854480731628332575468523771176550754013574151621760143307048668205127767533072518333738836027885747263446048551720571245266658720857353076858746554686228377207085834038252581638778581321038550501313714438736707378330187843887771852277356866110330248510413868345464324681048448758514424647440243501740140752002264622020656853631351437427126651514578422112827105116606870673727863678810415714404665348760527250505251068046226647470054811336061012170338580045584823133807574217374262566862685562476064778037423043057448588460188254326078530324128160602845278683536164456325070144558470151421636833715410575332822672107041360835371488140106565427153888522027412412218017070011501831243842150126612557448175261827516320083485720216743065068011357568344261000165265558855368578231182305516542363031224828055415847036233201608675771766572765362316641500530010016863337508615368166721484533126180654728180328801781655068865740367382471834386021735175724804270041013286710828707175481728870635424454778680870201214166833452844538521635736331034506045020580546627018074375831807571257451711723752786042383415784813064035610508001484567065861771660227604026443846787340571486034267313020023816223765485541852846814823646838077223451181320778474560452353614630605161724844324407115114127855063344016753288120728311853357543452463610072203520837686167635154616211175342843374716316025300315425438046474501302265252404733051330567336405000080515121182040872664526548724114847211711415758303820466618185284344407020582162574850523014455187318523545451082868016067627081108831545575442666246245713174345120046710270147385380236063500763488520183414546736016087834884436252247161374805518738481555731332138360873247500617816744271061086482535685433758886141106033317423134458656032551554422406072813756510506324703361070117684173284515352642570284643573134124388734300850404276433506411314778136880460402421851217522874443200882380705403045610731631845030846671852547562676855243174370741747367456467760232617022312872665358104420302588727533144272241248210433873847734614215684134452723043334373733727437582874137306077274147805740443511061100466001227743140678455331724640021353726232103316275417626882054024175682813486861875833454074663184622417386822514642010314320624732434348884717763324206373676363255756308175335054451211034805121678213783714270640583658188121542122882586684787781148175673288521423881264505866556838841106633351731660387303805437144256202026862102462447342203407188706715614684807027621786663634831701730384354278651417244732777377774871102146480046283283173071214775548225642364161003043257074334824806477254668578237050602082574752443808616586187210382461874280226622308776571342763648633088148184681381248622742386210357738603180315611736337802058331580025450314086711267705450574768110440828716838387436268638465365865038746346247128838261178013505044357486823432357817138414786566848055018832284036244348210120374474201547627582050716104533420186527568186176161624385734514432102162188122254504153577716275008086826428337181783642653477432651403146561540227377255824454545336004803254545466525034783864127408048328366074881252486475316545321278386544311705145555440867705618775104462827787320807371737803740274034332688101583236657445754848388158424388700175855671657113351411638106185413117082751505558028130747825748831558525110302705425400076345341614070750465804170527187107060645455588611366326622440252838448162540425841881474385122167454858730212825137376278486083608830216678157110211660253666476604810434757886586733255638410578585540686305250581535751822262333312562763082603140126355202088354123647868463237415276615550660578087564340310634832308066053776115368860573040284827003825785127670171442677630061658741604646221103206503231837816303812653068210375178483802461126738523001675732873625668311081380814046480727063101401773665883613633813254281876578747671614872126807452588232673755543071085287052877562122411127756100015170728025577886280254381674870384212487845362686875850078886673276508631773401182708846417146571736842227356571352738337155108380443663207372220424527300324036571726656666506601424801431117148082344864088018844533375077022822403714025685104007714754743425701652078660302331028147633608113362443678475236636833835544013643156381342112656825142665646401641450240587002611202305852827703222046600763515372607047554314281561567127147568841886353211066122230024732267131180407073773003505256745502554657104152001435425834828747172185586201600346361407347186181765752562316363061500401431646468133827612212661206214273007533086845376645410108460365614274371143638428664174838006820115403724834657747265685365315310314605265224341347071053877453110667301601623884237735554855031510230544526115461643210247602137568658637354838343758850163667765703433184586607402616021173121040274566372832518421637252871468760123362041576448824555754203337320418436652422342111755421757617467443560008672807316861071081001772788487144138163674770765812214668158726153784421735756656207558306541647476560225710762063044273248446747672851341622387505664245528402485747613760415430280131273322545867000050246141044450612374525321345442311637165825633402844035008562041606704812188230752705438331570187854825450385351230760737600785740702365887022502147580862663653512720313255584800648160314385638127485088311123113441511321324615248575221166800775638055788287345077403873636328863187008226732688715126142021685206005672078776440300685335840014171086333465687485104502418505315148818578170067373584362781024440754782523327534162665133375688161727644428887436771547170372710020033578868183786772484124161541513862622386771341080154583646080375866228718710036123128260716187627541050351017422173410575205250226450761470713148835450288812231708287311447564484351060577486450256251523166748717443380086822026022474280455306720366783278517057518858461155502755531412343324366418681443826618384835026577613810636481400726820481624767770417586085746032140271710230782162121207143838862687470365362650216753420227841328630648012153768534014831240071862211487462153371457506815030586416271065402804736072070080536675662828312574808736313087247240257618570233541003407424718144530782878056775486048316041421471707874460434615256344821350527001347006323413278185467325837628551088165107082773065344020771620520833031705404807641604167538464234871860376056744383782346588466045367512471070316073445054034454688442577684780805356781487201701637814873140083170430701332101884361075016880852171306245584271266661126867446287531168000883735767352051836062057421115247550340573282121237817370336860248557511684775512036264338355141878516280357351536616441188138045281836228178855701187066274538758771438626768440356121520588224475454145306558726860685220417144043200088066300811114670337630808000736163130472261051736846321480470082737342515083165770347885673317614866351304541243350626550822248867754010170061455654355680212433528005818838227442368507514863616807884516487273407012134780637828823603651526565606322734652361285777201285466646536357134335805622481156162823260545671227000318105142665165065147602854437330870521851522417613201524277364653311711837856775845054121022574132233505430122643167303236050670780850633471208324453225242382346200228048657123168817787865716423016604041654813021251255121756388767564127013543847285066382564425436077886685161672463854168052050818351281522651061458121618501451505231208238605600031521015518334142714687450518760530704212708611372482821526474281668416244625344370658240404775533052484512380128422267072486836813826660280232827665512282086588104616112845838175380715675266787167875264338224814248117467405464245520876281463071720554665185313053525765561605884704828453526785188835310545667078878700308816558230885236746538716740004828855614181506222457827812206727174384585487066008304756472470625674101308526573807678567624086083430484451452043133706462368321305175161307535866424276285674064025510260882334761041606316381165628567265235747851744538802440146400662234543223224214727045010878704423040580265162014678075866655316243813700318074376223150105512842112326873536678617633544405208786424841546565041271252450625283338506042471353372806850378857820107821878508865460660308450475000083836821016044685458740307870786466673040030452127144174026166625548123545487874247801741073075473165164186024535273181110270631752610151638147447252163233206437134730277052831357533638110625506182545340510323747458065453848014726288234847783512553726155085307405068705851771221208661627121786850243876171404543328813470222733530712822578600573068013512611308050274342364875431675042466246751152547830848608450507846157754607235086578323613351044126470038528218118555741035445104624067061600513404803424011561631603366586186213222475533836255881252882771231160132532815532120483818302655031612406887410416233324510438166628752228203061056044757083386203025686268024746460825008455260852425666447320218366374042357218553620026203237448083210168517431474418403520885034876266038544131651661654437047325827873062625402707018830522757615118332287450574462303716107247528201185481277701154004065673437820348704344541320322063575010644256364176388474802868687000648111773833820424420673730275344184114084582543382741680805355088531780103805422187523000147451667348668323168342534012035463162126873858604436663831063543837388650185244330563103441777751568364802020264228311471875174032266673634123641438464078766257788230405844101118763476852466771580128334548387251183425462673407745840078356253215273722736882477464673057830043216858153076762362668256386212248805778424672124814308154455075486661664540143534882781567328831034858027300767538634407852747123076861550664568114780048535814148640570071453337061280260125244203460185427288401702560775885625311148411824650002257037535133338460272010021557054747750646002718172416881476670736603178473710134427802732743711220402742864581730310004503547645556078571876786546548071552518126174872402853038444163356783868168717684548788528488823072362181684121585776652514437426734076470071623246171533518518333845050416388081681163823576574584015386581540646757262040165461224407070558470833017488144040730732376357136534840041826862675640483662555722851531084685032185100042782080582180726013650875281416716278822882611550063327481452042742074702436430125307788051471418317123781177678064120058764806088222450284555324813014707257170354435244852462163364858413688027457401210652465378861541567486413778370157655408504688188777214116243300475466355705731472106408264440411504570300751286776586453452672762482063368256150571084075805444223334824540284773008387771450218041870435863505455166507208016611845844145065716606435768667623462573746555456201086385575787542183825482862313626631437421802637055363365351568568170206808428281185425620270420412807541823444267747250565073207111116743767658580466762040878167476603860844283530308682664474358335381680342406260338446626764806043311307532863354516503547802641816536713465667421862003774417546365404708116370034806073025121165823345578487668536302440300035847883144658604123201216627811046526553852355342087051882132367750267172760235832117405177545660050353508515773234047110116360685157450116231838861472571347342130283460164284586753870638310248724737615868371538643704644084425547808034345144600525833313742441443440152401722670605375837716504600121875475245840868558331407366430771487580378416078330552560130332452313561340851836211471146764667008017127240874080624154711380353235534104888050036563162270762203648732070544752500375671752443481346238040030440864507185414373011711637451583365273466252853738340101836560661030438753677822057744681628134643105080812850873852365302678830332476848732015018784600012514011832368681241086356158116733085136426174181863776876833644278876640511668812730544853233116877413028543186222245818638085312447661445581547751447072806137520323758470327411615523073230233471875316216080845274773367005013337742342281065243458402730144058451885155501444084422105006016572173108202575040473011631482342781021123156503411268548310635236557583566047566373720634383257516645883766371135204868236721622084284802357408687062363876106602051403471553461022637732270330101084701038321472443017100587181285208813768334382704033156053657228111368738556683037561010032682032182337605032817267572400616533633728238576115756450323705723847084465443331176366734502534518116401333672211551038035330217124523433637207502074210065436057471174071527703605115030721150330372101850376620351173121171443470043451875075433111182044734543334282546783714326104880565811421335801717041478255334726465453246416135401581383346801477525436647403547405813833158327160743157080772251410758382802882588037253624003117562753611216551203167424671704038206815354153343120556427505570058247740225517481677570481727003241032472076147387163677777320634381336606224155543015811846413350284405185261583120287725066157162538855545462404820246352680166762871162275748502748366110468583170258133133810345481814274633030775826566708206508630314230761768673156235212408524443270400041765506430728618768375556852041724313777105765311661432005248847801486233704506575380230327668834773071671431633451120833626801072068502134443053001605827881538175177864684811830657446446621814721618628518240346577041580414764838421121614733563837173277328503762884253470662201540723155661137347834402065147100861888414465746213682605652315150181807205471575051526447024040448026266271835827487647204543603632540246055501033108514220542206211154400715847852126125600152482466766736571238103733218087381216101817287447282303406884851857880071523256578255736457656808830460404326556826730208276252734024851173864672516177333555763263551187157385158353704443285507380881586785130141224803416044367201857537834624527838150004648570465322833611260147485612810730353080680787337548377353004212114122721077085447530411022370272303538667733477888374501532172785088163021603003150016545048511565442011462472561076011711254362756552352455855572105447055325140632152200621117356703603475823761811703683255046705324582106075053734776054331186045158225321061680875453101523450780745116178284652865750083154023856432775855420631150306826720137058610281653233783860560263527833175778614877362411261518803475471617332522678535875688717703587815744585275668774877541881331173760624642604123002046814858724756400034408426528176850500567437888750175652037135834657631681711807171100767010340361040656245644413751553540858573321650853886643831622131568661673204800332546007148586426551645406323717411460731536374546664256532116034130832287664645864377511148531066678470478445215811003586038345227550252373833682415316734625635688212248050328038882028663663348220480845033106583201550688251268741244108543587576066271587582533647537047484123330167155603428045780726402576365221403170066664477564773552441605170434273575071336680254336413122556506013064420235253460664147415504786100133061311155886254611548310756401526128403576248846242144546578005384801678662547152776814570274210434524715455484010640707814853713375482818536504028434656733070153000876430586773137651006788777181153028582422871664338726584116031285607224810502146761312347257581106110627581263256135732001072114303848087850880723223024648464546758684766851251267862651076643017267176310414404300074380240604121730058535524678428704388222061254104255682642415730811804207825256446645353860444542808177762577801802164557242556572734458607308365186818182048544866333022714042778168243138478270440641351563753312443843531756856300650445112180151578621878448543662305835762553057416650835352580320741007128732017554373537536241157268643311062453838607443825466458010334688346803461123320411311467327732803828718732171872868058740012264330466540678471826587638366627268716337212658038228613315462334774051032618363685276277278408656383862675565641640025514020332483523574672231870832606737145545730434805520612030462815133066725517431836001434788023765868378627077533508634811722222400136627338561808035370184850222767367023317223417648847208808210118167222100756630846307686332814868775826531151172481028758133631210548585801356553442185330142823024050064231461526853567108171180263805762574303322678524068267602832488405075744685116168386212008418441232581766145766225453760470600676016848583702648540404254754226240733536103851512217148616705428048266664362200523840127873357732178166733332888824073170088576235237708438437633205046048683403524064653631704306565124312240684448683556216601776873200205787447266802076724063852883860325734103817308527455572236674775676667074307634441628618234437368487664746304053856840216047650563425100440066841781615771688850620047357802457550668323608728771811164426543840307353554300512224644710500437166631027463651661461656487441481463126436088577228471454031352613872122633463133168542758576118308713241401438165460451676812251747585857534032418572567585445624082415887176568020010674237420016846144054273733663276815807068026376256820360417827221323782513557416273166757581808750667712240655563051716260475042320670053744213581778444345728022476105041541882284837677831801148577851731846514020800781460474084581720864247448758587747501886641784140807878543421352077425228715652651741730307642632580742201477827325856180355530255282478158235246400256423411676475454865370642764546863537717434230054186105507600400710038224123475646028260127014475120651336720884310328662281063533442280060477708207367135306326551817444867533072101303358851810484800437344427086086025104550855336071118744105804066364204620034406500148072427828184815241266246030711287441541265046743402710283053325275161583014524341041425133124632228681585453157361624421851333202542357323665816681783100065672145468273403181803171227580402650023861426566353377812445821472806605402806806060635252774780513373673701831204831745321841508520637323273437023423216662343110683181153430302226114854440741221430586874384521724445716506717272158143072543530016505432423761440042653030123366525508671032575753257020756208616253452038648171857204381281621706846867067886816404658207277787634351110513535601123173750127586067306568221876261186075336007274234063214667606636038657037538728668418438810700384041821786646585275536331445308776725323242120426572503671487728276240756121711042242348225682408231042677202852863858325018175401083231716076220632336033612483601081542766856736427557356875818567736708848726212526328173535557014012311210158547244252172556221344544011300757084272801411363151520203427503787051037113145165087767337382252157375682207223712481855425662240350610477065126341654758805046013242857717840321038764438321556650738842822707471722821475766238382772352644447020316122153465362585011038465784405678668414026015626717480786281373485108187264443653813774104267822638740475400008654762705633623044406701533475877111214481700221107373048026387764780814621108635444840141823331162847307267547685678113363501321478208574610140245555720433052480713404813201487284501263871662464321728762546684787114342523424081160721725115102018351256126231545380225608301620616716050403060640234728258064145845255120336530486013772517526777264113522405331303463313736181504155462143585067578086301321763334650675448278424060366337330880445801263467320808125018734088072408462485763822117357200406786247477223682100343861737460371171862447150041602403570031076248466171521568371382878672358350285650367501235665523060521688756306774468465347135220615724768742776306242020812668633322276357046045017415378303087105624607304742821348520432473834534671272746163403502016682438652050281320367648514301535471172517373654881026323724065283314683558227074386472751342642048841048086363188428125131037177050068537875633455568054170882714814430575620286776455412843401413580641038471864240252680647143588804556618681212521121246626252230074453274860627664113181603405478108631286653034154248152364100557424546786643334260608861540142116462237164886301075546357815711178351713022056604041551254436765557072744348351040441052253603170253007352637604786731545754487234668718806104245761130477142338135437327751575581531532856426761781372441508768008606285666318775137607587868633176056276803726041603088168052558058766141177476438457230388277164030107207684070637341386052315311784666023618115060122886702874208582422378107046387077166425065712222040053368334561414582282235810606680687558830228134885258202763848236570016847604220224030324804842755027785727535733646513770047207876044311085811257366876060075787548115728626788370444614102266615513351863474205865620413584806007054568843134416135406754006361188551662852050552271385353686706624155622240251546045602028712341814143816540764711318372506127286513564475045765664126671422765167656261324845841311383258003376468404165533351636451174824157485202182254071253207751866374665007528248480183122215428664374718156157253864585513423742278301147305263603051675482348015702280142462703025475616880458561604241471417242708070883127680360152070020618643771658465024285187605034701865351756412787330115711011758218410353500171651428164543043546718808365404413511721673843738662163417471448300178547147114678044671518008023024513830017245515144643260028353116448707240104455050411705564882482685042521507647781141360867056305737358343630087266424842215360465584225066175271387888231386226821385846006223120883463072070683006044706734002778417528520538228575503414111326344320534503231836540273370126483052816141543000646587685743400271465613302665245874257446701671352745750682284116687857486510684050655472052032306236061781204816203540848565561746157223468432127326873371186731267581784227732180030411488844670041236125022735862200825681008410334168363588282267700307146854547386587126324836665108327445041087442346042863331823248086300722331635833673610464146338023680088726388073058808542412487513863230686371212344400546231566014557548321254531414053452015063277817115888168464476565234232418548176446748427871540608677260707778481562056314452808717650653568650520534116513731308806544563641464714345450704164334370108147474330050882036034584362671605357440488658324235336631113521343055024821715526863681668115888523120034540225487570138756574645870562074000676607245528411583264584333175503106007570241164287420873202048026147203268041518600610107025742543566065170661026176034887034303067381223758103456882732054061048214536412501411844746620404323847375058517611773466112376051212281441125353261186087053126470462131562368076263080521676184323485805420601277368305883736144535586051751727011523088323370113066552772125306388028883044613045466485062871807265340615054012151223541067624407058817081315430018071786470600118407632405543654883410352420413070553238123055726434544514645024584614863401044820285460478124410712551481756154868537134101430604614142755573853078185180268846860753350486884246587273701234454280333123886386382210678711424155362216170660543775508466158170355242263507046357413512467071718314155310744586666787380682030551031705835733517526307547068714084011038002374822688121511323143035538030748241244143625166206455008720275023838034110407581734005713233715305323046835832468552555586631825055034004485844380052256065128616080106187408647451381725831063870381210552541676567562882528467085052532527544523631166881046346547506000485385842468088285506523514837403120737315403483126385430251115416713624626423678086748025834551840758742361350265823845412868802806771684701573102564740260700222346267846268824276728742862230102030422136575728624346467181258671775435437152734386754758827842142813031076528666385601665463812253247387826024008787102846658003043130485150635730365851252065705157073684804737768721408087070738410307166824184718578612307334122826831512745060615444004315271148066005342510088512056707251282433865343703554534072810237055661764882136513848481314641746507302717638135301471254637675087286322488620378224274680826008030330227165265244726235872571817407460860046168780454852857766451086336500320847054052885264626002622363071377017240416867322287514408445180518344517177346251030063748502763056843055361306458827223100878178516301518261721635024625624633077287788608443766724155760036227838233555711875038385041584023776476637047713204844613016381200583618031664536180387301026510122423876431071326334621686386135438724420212542376666258551257262501387604685546643023771150766027758838130225462537113304402675628407644820860505225171021165637814188165486841835370782401565336352725337143658778218725744252056682746247086503635760333427384431316421706530672545204783038266153432415112282707134657151186150754028128757583381883716206781682665687320245651512524031353866330615734635035256758880778060534145731434430700356773766446147350116450058373500831553278282037888286786283886731202833773237013212386371585286186034452084085726536688537168036340033716857825553568348036576686276066701113065382641338653232103848335800365471164781466267204464483763663170121143233886635023827617201373514085411148855888221150428738063117828177772368743835604884852516750815301071135210227754486888863776753508600270721608337446148522270110255612742432317254454376215544775625140881326364138676718513283563763558037746143370271723886158401218063588757322687884061068826568624580153244164076351388178622271437223601147387273601156834665182546184733031485771212735801570801676840756847715558425385342855235417520317610817147037648088235887230204566188111075170074071402164514853601868688601262883330037844506515014518570645113214126581003862642723772436500430012276123143120265607848453660075572786547286224876810208321210285462415110816072450867141523117604048522323783860610846051650357038671074074787363843836450785351280868247372642121310257074487600230217501174061772228037534861142241448620534200876274217667760612016333381865753454655210468271852248888428124062427562583732204001621860074445626028727553334406140732210563887301407802737408466001383326021858036683302223504117454430121843261414550882057048702785420818873347865808711652885215428705002071014866026553425014160286437385824410267121620452833233527705354676162371428431640502417342187176704583187554067450577076745642001072324558521381831116386868207236565124825715811082074285070551166334814750734222347745554453128566710644536347700767071181816542808753836705421003476770074112466246833652304825761543577464304240365823361873602722205446647737052006063826455122716501510116054707536154238350657225405021717286257253007531131285881770501337207087828836365371021833771160165213814454658285548543600673554614084238585848264686424828611707217721360012476086282570101135046544868687733511522665873126602031217267617220057886754521834362051435856854132070244627583137374885362565032467124844258534576057256561205338635582330612541523525371784655824857066717136322265807150708701875770835640442674673530000331216602325613301486450770380276668228372026468416330467420258578720756803436151275036252644418655383810044313124474264115734883426148230481157517587355325332865741701823312276717542284238501478614565867658131122314701638737856185681384663844414311413074753274703324768431474750250384426628084252462730363367120401654882650165545551536746650181523650054584550216878066684785810514863545078123253814018667356667855476218126623106647628211272365516617025588031382034758612681071466605560506106823500328462821312824388602721064045003677336818460622454277452366141572140114583760465765515052506624544166623155666708861440278310463745375855855102874302788730116247867230468065685577645302026627811255574046601476772571121672608481527158038717007456616048762334415142551401132147573074675831545707786361221274453514456677083838285686010238320734557111161548158718557544487562763754600183373802157880250721240405187842663015550725040243615688535536123273802388053363124084565481116138351685548516431152256448207002104758832726260434330835510060181348872656328331008026137136377004212704702054143060720180487802666222558336761850740250302775317070601582312833115324045477867253816137767272475212415010502610484061206844250320445854361852142441403535752676052222220120664875300576827046463612638204117127568621075272775231418230327146270062334113762335740364764557810447453286703365055114884574725826638380410233707710716717114150817554250383744004544710401222500271306162428050562518583710244860570674062630507678446267176172561752755325530511456012484208467840073742700800871634770221665060178142442523261542617663757674448321448552843542153116348885147518048100222833367355147213046215818384638576335772513380106085871871851710144551150636620468642042203727775526537244532125528333853483751724518846046707708588405000204853420185882745406477132525365127785820606881038266368432588888562256242213016733717585713778528158416477714117574731252715637332016253157240238153753558843482553037608112185261632635836388100744136117488856106252851680773083725024325015734047345644116608646364150467754421410075323205415252550878011363467543525642213144077630726266723714641302514063857424175840634176714173248260304287546100756041631328260837424010667706064016611108170111113303683536804685800832715410707153262026506601407623215034622357111660728270712756516876004831628188082462604633157330026222847268228016518583825232331687015408323568386448340142833756285831132332621770601588383365088846510427345753721185151103372526617360832631823251741016341303557711270183570212308483868272848221525167866125774506188451452660166163682647365887383680856403362436212031245456767858020101111814247711784826867815475621836721077825015737853514518051212653760222046356276616481570600862457167513328250307862344707465451687728527010533203177712662231380807254154503775073013720031800154316132343543447817535462715273730208617101556861522122665585545570584121276670114357488604626427217308450151617313000207086618335408703581833150387756413755240228771256525707010042352566652328271288261747777265408607821155035772765541806815404682362744250223868811740122608344576104108584620841737323306515120076364405135051715318721206511751244607116125786104087404514618555118176220226267720852140461625534378617556678658223023225563314454528546340134453078013081774405345513074865640017585011581452382712615761267470878185876785727078526111268826748355776257483562351107343174310524084401102376536032886421738406743775671835316438251210768648702061028377870418583787084816758002558023363631741675538565031725128578151310882773181706608548751388335865313642484421676231426371542854401621828508582064838160613677326724134127116144367760532548375612800815357811821723216734551717847305351211506618224015438736323718658861638418161636383227211347886638254457273340537871144052834823118705858706643826657667556331038115085776567861085805053347112172287280267645214132111246861520785654501252200504867305875531627180815666481434855471057272051350231782831187678611742134663186058831406688672853170215122864373227335228122748443518364075805608178878127158620863176185203106573203554056075801010260384003774386272201765157237471036373811561532432655233563312874815150800428711037473473222745558532580404203602565346610524162830607858672603466666283107616811205221187642256154174880666482847712676503705267354065301700048667430732020186402874123527313712776334145001642853880327228830743726132728411807156243411184747358882483321410147220723162530230818653018754122868173757550720581755784166305070710136103054208641461432176334121428238384370785586543236443877447328043531803842043216316270861600328038183002385560552215133638813656342634852884334224323424814637103375668213757274358005887370771651475231023613682134660884654405577771683050182608710231832616845705167208541541403380315555400085772350056412767236482584544537776517781585185734360728228434002275582602537878232588312646048521778036866837638026044755785806611080743067071284317153228032568180543687837071238863852857555411447700300222385424317058747688117584466782825405572768207643442245562552105504741458461120805780488273847843853213572861326567315467776335172716226457528128835877130880504075881088178641507728747361147074008504202471352146718128326426072005527554656326317030155043423586533370510501348115833211760248873003630810626506654376656351185300678768653176680700615370138617423064668340562834760767426878074162506477621873305057480851717771764474727734606763633787103100623764411858045618442600222258753230470287651146038520573405851204788556456063437115335577472512003316424132651158336705885512285882807812834157557207526304185584374227283552211704101057661687686341610430283384158487280515310401450045418103041801372276058085573225658437002320207005313020273056113451563604385220688080138373826180805786037726067300267185366480515105845727140011705588108655664414864418718265028334346442632607441448368045567424871142818670303580382821068706530380316027057682866177381118583010418825467882566714248055532105707532460801811071237048446427403606644751407502240222416801874458167477113161778387523868264517628383888082415400072326033472723533831555783137000111237187100804668142707234352607085337130577764472313064537808812074621485815652860663326230755426835143851501725772380550538234470430752401087620267817070781215251641475853187552271024718538443280383771535508088175786843034027206412480523768177058818152727341817887366527433232345862187503452477887035846250817261625432461020167166506024763104406074052788075366745164678734763632343447265121440447283112142662712508186208755284402773643803402805546375112172021265108112620677317436072874801314153832111716238810218660837836728513600425737426341624672863255434768083608002247788861470262624163086533785368747683484403744351730741861353607157687380686528140805075214873616766804612725328602678685225485510521505334813487211047653256354655616366241615472078171170145082511848336688506478513082248100570241157851341564003872315784542034080518364480667044181158482080616684701117327436411868878673032232083013187008660523653470381038545741478231146207702515583173702511851115850438266231365367866371233543580368665743868540236653373173873111454241555158454361025170312633806460425170105751127448835376280763836400876416368847160050374622757425362506733735042508568055176377584033821626041842036253115438656506187343253117481570848862514057048474101561828467128168221743372584555545382704674233623311624428563638882186412031421207033621851502508185008266788110454751213647586355156350276162008667364344063524687836126277437011517758156402778505111347014234106662150415434646755205401060062671641208342310424683083523287314181834482351603646852583651425621524021286313048776505115205814107176376176851330504076444032517820217057367016443220222431648351436387176348736115752871848758457380721525648840265335181630840774786800321847140605468723565314020317868127434423287635678724614786484236434653748505302643380257806427760680845608147053575843857263404772256364277423633202430082458151814352144241638343851176841732506270115785117267754665731413846606438445713565574384038524070220017263771738412152873133886313651754732563881467713886544117503113467646188052225573485101602807680132266434540880258253777645434123050638323655812122222778562020650563154048087687104550555460812634678438606763682740638483467707373837432814543146033455002472441430440700503877208672442732625380547235638536647231345354845322240130816671685848760444405770431310773028557748627704873505136718607226618267728476623043782264836831457515380574631277782265476335753300053256456788555676773045176515822830387526177866614177107605655738135510003788163137544331010537811130563412208601285443377727078100831328227863186815583183785105567774411012136814284627173710608445501058155268586138380205173508831633747601785325342535154645821776823488871241017062714500033830473274012145051512868341768018117830216361327587453866705688681401415600508405163573744473411303656161466306681510853876657718167758653640213815472086255024671852564401673752311265676565374144778037524672504574888027063044072565125476350446817530280142714732783375452877447235554045415781861253460271567627521103171242765734042574537271038642221734252128884446804825288303630335675026520724117232001104422500672184511235862452325121760330283264400684462415407285500343048168355466526201054888880447575487365446067343435168684641218627662080203437171672110377880343623682263501454483031813254163858704127450683325181546324027571166566270582050332127510703407610014285223666436317338755661514143310341228807186274736770372570570763134103786012723007765305643775877137367081657857182210458646265547526863068856867526570886006353105780720867163704631577158467660875336861565507137033603475786428330626565306701375375421646658110440207886624547802145645466536740016321820256163578621336173401711821725225072443872200178028471058727625741615808604434171320157330756657170862263003233273634414763158326267645824226682188546486821072587230647612461623450242666066070311274233317614716508662711408548178817165775665062485072616488614714585463333582467166366183502576347247573653084628717827884801873208658604055587888233112672338287628818350162620361654413367544701752077375433705363631035536580226810371683564387432482024381678551587780020850876331487223433548808850574754062315802713708680626383211085425676686066626768675188502000107801054570741122812188518513462114628456062824802380760708156515367870631773336651786501107306687612383136181238754385752316034678227528068658826113204020100036180285581612482481276826601560114013227267066880673876778653010117618564823545072135650443652055707554642431403056020673467165171544386816043174181427053774026875555807086073837761323753703210334063577507135366505883841221136068643707443203153053152241313562848426414085866586105568573603644082537466345858185821711332005426145526631835681682361540515203240278314546384458500066063021444326577554158103018315723404102781016732770524660112634806066435581815437668041124086143271038700050037762344854818835315542555624801237450050666355701012422242023211645224073253565088573002725464142016728767106475011783015456383480723788504757310813750544245840523755750074021005185624422163551004232631723638854323325840738036688552560017476722766848572367526640834377872677734883716701203563361840545223334261674475528305615022251725075572601732737374832416128728268863178283602081848440573214102476857528771812562706665077737823518473250587702038022501756087878602415642565084363638061107240682133840255555277076241553532404024766488615035638025068371044224472774013226556770052673044845316264706685028604401464421133622105555157033237482652154125206507284618334636850321342656417624623678034656227851582777417650386463015463730464407326317006008017878220253553882565663758140368058266865255473406224577850302655373600112355278582503247362633823613617363538851262688454022350035004788606366043028244725605360714686383760844624756446678143317263260515144706628053164344205016882331027443264577882214285664874180460554512830767213274051450420480566337737144516532714467180407553333468403780445463537815207478436442106220573788666086726512282158561600477722617563845888064004136577483114126233461641411750543711048633008086752741738561428430377167021587455115440753053524477061365404881147383670704275135050128503171851026573884452540116258304784440322838177851058783643827526651002578064830833842743418088122727251373100325765620006560531567048415828104622726202463214568481146561157386766682625442567533625038686350608414571265886500757146277748808417652715010326568150485053585053020367854814842547477660637227052687676420813563060038187361002477228061508341613788522800224531411324701106667587213745577081565721201625265077087831272047258146374614166402471330820248563724878075458631270462077877855545882054448566673284351743372547544700613317401257450821148335031138036006038405011106167602445468400405212781005276826303280364258822637170632083467516805474001124840282660588510142628284501328337272347174052487187732460704808488604463331815724041140425784327801486882030530650738724180732821505725575687832810645688353525553477241653468570835573861335728043107132645618563566031135431713637706514873115213405112204841865862271807664033356115370583671731615785566333342768455512727833247668556164177534620648720245648243573030647853880121677840285021766652112415623420362660780045820547702324348101367660375031155104183760171008708264670082455447527087746550043667571523244066524022417185744726082481848388527166106141274151458000031634400105441478180548720284348531744372578785013685530821783045384145447862400072601071420800530067457356485280838758322842632636610805173505244553730016765217650852850265862531125867518732013153116365130226627003271075856323834000007150034538770156687270607271780187865853126577836244488567708688865851585752310388731334164086740885174454186151736247446521725724247378634872177116751078283334456104182418352807017633333426806333012271277474516611213825375218851541621400358285824031383201735806465316257430051585517602501123427860505321450811257700846676473576580373061321424801830087420204701585475184663141083806580616657236700441410457657084137381252064354878511517201528685504512226545617767056657146133615640500310322203586816304835874654340503171167530444058265157182454271328434702867806760484480678744035356074257467125150516751403626531304282307033372863173226610557266068053112805281251328470470260467276062878612581062738557632260174001165262214412454468455534686243313243876117471102102778510543786418538785725128620505864881208324438656660721683055566441754522736766674536551386650880875800346506638253337733475715552757270580873674862080388440661308176752301564667810322311578156342046767403677355371680771678187878603618553085134522716634651021818402472324731663163663542877640275764184006503322825251017072083217480576174566438518310448567865332111562051370415675177556064300651756200071338876388644456074611002241324088755086240370224712137534476474851172685760351381241784376650818471734532035782472454032562603201634856466272868726722020245552858173355703116555355588287085015234651803702468217125333332382326758581185464634484037064318122586133051716726554422004247610118237630384278138826187811364552771222583548243824846357711165805448020610605407728282533664077423780762225724474888688532116437286182655837835281415482118211705238511883537487460613327543037056620534073830602540671170888536740778571783006862302222547141348871588538048854355280533707554770164540187040820447248053757386318513244387173044387073324554536701478645465018873041227513778346737453764470763470018588633062038136012170365648525638872306026564445354207834366387605085235877473260637220631148460167361486217075146457603511701221537016616505380065330520168521378573115312443200243510356384346548610821758425277722305884765373643880137876620235866501624460817182404365838364331485187427427278161084710044550564307237581761115408760768301161482364851148150207188886873536573011501868177243114170737272151420042617628552514744157763831461054582786480164716775652562184007416200553728226110008785287611433608340472864522075677110823727575132651455423045610571127405062586430330623038324803362226652428025865804368271576051240814032026583806477322722836267752561366787444612817107561654177100477772030818043433620865563631347764462511208562750257134658007733852260710355507268283232886571465618537745280787243506340370440137466786835783061477562726238325727077767887642144510533264777164532568540151316082502505556724415282550104428421238830041134510162585785006052030364717313463286071025617776503570511342387651677602170732364748873833623607287645166324336270236377873137353081728075533203517447662876847604412510328285121728363004736352372117748402166724082178340554484783815274820313334355757581233842067153251773327705484554650527747138652767688746454730552411472318025767077112118323215138060080704616737211377754678781037854224854307665885883733668031006005030847021113353841816125700307084664112637147238064760856800507352626665033016370323142136455630173607306576581481246560808308340654062677575025155277738441630867357057358067588221205213624127211443012085858862270831665005341455505210807416417125777200800301654342687432401130326756063520841613054781377055117481480371581667115006716747008378867467153268821417443615201024878840521332753244703377647354070250755057785077820420034408276582676726732482620544046245022213747222777044043108883457512664183032254037803323331401702211185412485228834708213220146052125824568337317071155031215480322851168763733666422532505162518351444778286406353561352542253382878226203112086444420518175524216233626587044301642632064676438043685008747751351804831622068155752287086084482145443403015443785358888662635558342844384053265740542022171328606005256265835155485144232303375218633123312453302573123466124323888580883162184473680640456136251810520470231522733111800127387633430388008072824304774348578010814265034680448203134316784266307681625608817125517433756812216235420306735470830643220075582186176425416858441446411084630626234058042314264143580475302804017386336772187035540761477561133733236347058305556600540177858731171343435650456045528450888175688404623726127468167307437071524885326152465123534550673207524700045153827525123523334382482523231808428566681282516321287208278538747463056505281738657171084121200156656528154131347652620765264085411334250254014821545426123005374263402213711732757781174327548682055434758363207354444227120278826223014432121658307701871355551735226884837252422627024134545278510753213465653628823511450730450702622668101651752427260315320323120531568508317261668168310425540778736824375618654435820033138817616285774573174238861737416625228315881802603042103546041670062363520055050434578823068638242107877145270310536101485601648440047823161557543053718387744118520631350506574200381380003775840285373887100566870733447316257447410048157210581123868872464151570187654303473813061820427577136848047154632545245784043278031446127374285704217587417523031552617844383275212481716452375266353816117755603065272338260106731856754642277627846626528347181403140208115211800744772327014431300881168722580262268002672823248480825340181172136522372304262244682632514082026366467748747444185563546687808868416780108432074638303123703602568437480658744123514323485243501044275326582066641181244044033414172802778388132223612014518762778223300811112370275574528122663777228613101852553616520437260281735641288628118536847656780702708732451058458106175122700461084486562326816463254572075136275440584348561064282756668320508054835060473678781761705846443882756724867668861403887664842507424858260705361412130336753788104458703683848178727440721385632343714320245111854645446426751522562410043031034365070067732614633806500215551117250125853021331564645505128047170405833362823574486414383573437055804425523463358412252706102813072453804805464580634058524113402856582875275844664446438555071186104450373613044224866215727273565661782711851444305546033412113772673437720757004801762401304022684156387162173677461816655137250082342552224146507610213686876274536224516262875063750811064541165472874152788477461337225462001340008143220667504684085183681746850077171383775804717555401564570400451744553503126167531171765356741321054601184203661646343554802277067783158248610173043754157843243737657710538384388862872872755353667074250846251225355833211347031353738362767741573260017174075462406803167324162663112806042807420047747021354803851817336115128254834665208456435102533652608232163825615745224178137611454471225238776482154013017621650143400837010387577632342058124666317371438515715777835672388862464781857025557757087021423867187838885820127633738554562581404663686325836030745162275158328082001543123172746104724714752661761637677584645507473173826652788245476755058416555041165776852676817680520383384746525862442518238756785178180371244083006701886045632081681148327026811410027208057200840234108130508863168706602874158281305500023328605214740735604830774155712475411772574656232456062845032055414772311107763325168814010802040234458817851483753753526515861001332586448672364151705075354808680505655325424861028868077515387871182056625611044730073073155630762687445767662730583422510845272767640170158575053640501831565244020014256467348113625161806602527305836116373812438538101013000610350433314887807507454482444018006383772417405808365764815176783417746563244261356726341220748561537175272337468181685015878780385488604306801772731513863803643262026746110468866803544457118618518424045481387141183847844313761237487863150337542641141522644280241187250307603355435615007728475427826482365738680244718453707635637671070807612575517274132268337515327853412365617103148324472566867300745085284570742030078116661755650175038527685477360520510345481266387747018345137774170477660080343664347816374311445616613188632582856813686611030337321435300114107676333050665837405430078208576613156304832740446245550012812247628538440070030774618358555852282570635243002533603560066813447313644356523548235617146428072155724424756002517417626677882752606167480634122563220111445724256142607650437627733417204017286031562116817286452748155643376523414453116126507813123712135283363178010082068841323357288775473316376406081180473357605331628335486110153337734706721768386178033708158088575506884784215413323614206816261602624781267016616383638528645150532845304618532425001850841240767478520182465405823451087605787673733474168238228786551741807835672042632855218113253620153263411010186710385876002185633876367337533478103054148680502545416011088845856334020727336368255471642816040874547851587044642427128415315727040815446887803126334465821008051674557473040141366081045066406661527605870782620332022847468603050008444123600821813076136028301767617670081432618188076834126231340688107103485022811611800565234714154836363663721636230255656734383064802658181701565666350474002426070131136712525386421151583210431646163562866737637378137188682646542510832800358671203767372073766880572430360847032701203365347716176487303082184858403831656126374788718053242465122824304816821751084380511416443231478164830027207332018784860688026251577471434023133878325218874352334585628826112867285852413122066417640188728673565228746064583222833140253615053150618362253570622654471357372463871427684058758607485466480670278803012848447241547125304611514183561074318046834671808878841321432365673830325757815057334842700413252486880007515081423024507122437856315631218773327663653762432267673775622070586014317086263678525628183505358133104356013821304650857885373360652004107660660016480615257637480143285437740525026021287175672478345145257658735632352076064654287004652766413371407684736475523033781414487831716511557835081876701134242311152308560273743088065000503310547375848162262033665611102108552761631750445735852263336674435065427286487176740346001717333325032474654836323450176762216144054203478113052642534234048314388252518358365216853672707802685506265305446324513528165567641157820087800363700037536422221832455647704043026063160025716558556155237002358863805745810073546383608303752708741155674810865222530178585766324611458060735307411166378736801068286733224731756182020555308810626837322733237220114414733438258347282846083638782636110557347353515713888366413717071020342822770707773402217871416500272708673472068522656877330701015383485165408077545020117631308611706512470577130575467762220731515021401646078735250608387771375307088247123013041745505414146065681408125308141678813313630546506556873315007647380717026156440102575656877538431740886301044251007560648336240025316575207441280173614117635576620636462785032210240221475360663021570465850826305870176583518377318876164767263740772023082808464831866277545872108047264420875774556110867234267032428121743168432825371064346664518323425757477832466187384812525060234036764384024521425624435357126066684464123300077886270244558315635174435711320553177015651816477334778445773853088564678877247604281401311151654404358422081372170128855883715710755470148762277286558122877146030056227024262560550448172668666361437143511510202408522630763456415326514515164515665176742377052427558254257011083204311416474515362573233542764264511005601463605160052723464275706300028488315202846883311538635017763384557830863416731860460100671757156800308255221151808364771887415224577666454204668562572646123437370623777552045872324775328060287270574533475312558048847807106006438284217512580520055268127728488107118088148084467324031045228752300042666747350216277153062047528015137421611346216425834337415501324282114525750028052754041725727084183374744465501738766832323517006788356010128742716724565617333183607783286470141712657127236214453015411867314188836832448028066563440615872424184217848110204011287688832862115445456066001738537880037683447651131760670411576430022667528881502401304285235344543754841151637484666423758806001235754507733271571235566044387201602030603020520747385407351784742027323074873003858560024433667001506284572504240318514071751137543373443062473856217186680848728442487340356616475420530561476456845450712470600442284606355656825037383344367320108564814360654572803067052108321671375524230448343484483261137514256682085622835863868163513643856333514734081865861803383100282052074232801753223151854700004528271874273016142033162352026033552067364320874008518552767651332222211306377518055023131012206385030371436854638268207766872338300307233660716386375118337754406045035815306540622664112611528432605357773707175138414262816064360820441561303067831704606020747385306763417841672167371274888807077125582466051527132454166420787100284686544171335760301627771350757101311640136881152621721483728301601558144480365883201833823223301017434162385065283152154037411242144864868427024181273683106156253461020117320551314314774455387657537266621082536825183706058586266356443616401761105145436537102726115070473777004362006873007872158305277374428584335184624125537662455636002045182640058075365485672760082572031722288211558288051812768644215085830170846815155736353263244602736878680223763813740436825533426753650103458701714310725407428158376852843630415806068372375585523662656050486481408423165724204313666164278453537057857337006087308118762573455010031378713662133211767555876270173570846142805035684506576032508625406752325502553735070173034478768625523558766584347804188557132256874057368575534713353815310420383134512804162268584750764752407310143701267757322152834831453770450883758384675540584588253787404055287465682150354327288141445517580555805705768211030288422352361311682802716827521656456105125730215844670612302806045706683301311682618740156411288451377748003868133738333006811762121231725636784778216324744223442077650542810465672730104584023480633443312304614026552056846711126658168615505616434363687068537363771684444565807258748652880340307400321101652152357241180378762717608806207240780111167386364521730301833340602253122275638552002020623266085528230035608304445288526836646587670385824430080514564621013074516222164470433507154637655384446727854054557426743214572856326878217750628734233354748176541584678146005202172318087038068653050515040601236373632303513273615506087015630754327576181873100206732015865617175186433078380684773465068176783508310232613122700835701451458408315756165771285275484721320661322820837362155660277352106064306874737188855481210443726216182702213663546610133342835406223041525321558847467835106806316510685618124273722022787186116614607887438148823786061883847283353387171787553448735235504017370682864778155072336844717340774128511851768851502387613687163346262111460332858686327358702563226062702505228338218471873568033616282217400641626465088261357576827324023483766666243758712472800284834314535152872111505753588612407407267673515334888122521202527301066435438076645401656807255020234027137808817042758478321432317152177288737112422681346362271577643766267811007728501445702448584865430673381035330148832346505820140574818770403116263677142276705856431287464751043233282038080658401103146614568225581410046575216125857411033832440817287026231111046026561708526158547721821674060510765071701240073480075502758120415211820545301881750276656424122551587018785550642724802751362885727541181236563308583715684280180406858784230734584625625210707314637746530752416774856125031885234273300328231427435384515014027015474106601046858814738865557551723312731143866775588565822138725510355521764336588038540872372564352287443060518676260243422018575852270411824642214351537483757207832482383756468580028358010770255125238031652421156683113463510683122216367834836858207142446146202402883448013237737207703262463058882580847207107536240757256888775250545261044071650250340058706317305077001121364085084504725772368002316384716270805536335018430215523376881613215727426841818618780366226628486611500365628663163070068843444283741100087551332127224773253234042711575082023341143878002436367487761613740877742221751872012861437228446222256447141705806344376606833210312132555364078573237067175850480317207558332673523707648810382765430762153118146780185614785538822017805078734371580420324742702670156478028251222733357230451087151570558515307158875824147107733520037747086127007042202331332222621228527385217336615087321852543461466155803816865354045343285875754674132520552784186026383875770240770084443087374432680786553678072425111300240087226584118617534528316650638027811611183318812336474432836566028564710863445572732227250765120407467512802243078101836425816820542816640030151782388417453686475884037885783710267331033050065568620677704827001071775074564285116473217641183542740006718438816457662861776558117403730538720546876246680822520830570178147615618171688376330110416227286060158742884362287624650060332635167335278823708561034262114446152227637580221703714362471715768428612168521720387640230168388664108140013214236841001112231474136348368363618781163162128460086475718374282822786040616047824745085727376823188058477815124775084576326863130262146420887332476036628312084337614440888274803517705303515400530103353272418248662578163624435101285836844404865800881245302578202211208270278127532481387553575366237276635414025305802152686428463682258658233501165713418711750181812087883578427230574248463817887046820505202383124655550584076572257176330654838451870662612162436438246056483807602818043112352106661253502844735116053856137622838388605825358228334810208680771227866053657243057455553835456433086475500112286730551157688217431436654733341881666370460516304105433853856555336320564182608522474312745878836030465377285243068127317331866732637107867534488673486461266030234748351235745188522386302217145035663323152560250355318527071567810708280124442365233177620561533157478112387648053445730724407163333474313114831557342848027550464617541386500537632635767788460076111287171833488177177358178671103504643353784717303536332051865612484140074576734875783604514786060743034181421278083447767240488217288087840603121061535366356605013861720253014764636256286170802801611267884117238770612351578313347646386016208775445727151450847046275254815121711411714842620123504621275420746661711163445264088526880572140315714753610442130026027818717443328028245574863083258545433868248074450143227227583440340008688753147810035126502357165383324402631217220586528222804560653180511485753434100785712480647718215423824725460608812240514472331325566805238118560358862483713325567786000337610134211537464161515174063710080867416034020220523775187014251001364722482526186488288681364472766736454686437446674304272410245424474144547781842537475514036278338278410235105112680038301047514647722778856114552845182875653441730280852885117700172504827302060233647005474237033160077577448360271004307070864840108368415786734473151465875774631337678244012756048078764038020381632412776002231233708041020857600482680186408783328235336177657875573534588654474108088152842133557857554266136032505021810400815830567811668042505718075114331005021472641702048448704202420777646083573276678186606161373411836582638356810304784228754482533550421512475862745327262458227171855445263555560341121310062524742685757377312147708156057622241035117470528738136315324453458167762871781311525088158788453177825151223006520100460114268003804422578201566034011375076154862608022102412820708528134777035521288761025477760050331058688448537771511630147124807285864688507115421806154047035623787702685087174855061124352088015252341414304863010425011820064817251366420472467018840752535118530204737470145035086550377321502283156138540500806687524862003382588610225664088332312488173111151568742370880356058787538542121623200481152784057001170574837157535185116356350341225764241503047030613224265021122742347080088866165183307711008183174303317587718806732628642172720430766043452433088501721810275266447312065064142484842380173826815145748727564248678685110563338504606368544203664771261071835521726567002481030486087163074517222081012357160418142442886551380656445414617355513678466863240567082748718423054756544711837103863155135342250823068024627881841877433337315875238277611574182743686477785846488125112384480441834161745468334880602082370151585407244742122230263054740444132861682328428367581840056185032275475651455385316783023757422156671420248252500548437637556525747788088434045528788482666132208145740853352833303535713087586647115303113317258261368348247627571335618066474030084561411752332678156122065360683157813026412474562254530764748255675554856153507560728320538721513581617268302516417838726636708781021531421502821566643863174282727506735580624742622623505515083564561162124380222470238512428382318108230407064738024055840117006325807540328208645523480678465882400214858318865582650084133785616503752825075561085161846653321560160378161141644324357721372835364883670304005131680615506141321305813375643577752487474314824768808688566217622183711658100202016756431715014472474643635824754713835480403130513775801351437011562501824465868523031711746246762811204270377408751710083804260034452440176017535621787575616722716453182758376585606852678078214413664178350383818421438115806858614171364051433212374412572522137224863255154762726707454107722260562230577166206447137778563080252415313318467408344758033202810715124082000567772831517185804154562042488404143246105511111246088742336184264365386603808378551211227238014088165071514557715700382555245200058708874423685107500673550203846268764546401007655808723843105022114487251768027562013128084637655246222573868754207371771802533533468755752471016684632717174105865672245118631306837741013364037344718635368080528263560385785318765050721232455676824058486205701483815008277884836877448828264331445321603857030454405063445411334831035765311887117033554011530171126114805418841036572705178865020168368818534212038675447763820458202136735214203345853241613667316524084225336426272067580823762210682155566882007804562106804063181255450703073852673448011700077478846507351475100324678182421466165433356841681062614135346800431271625262707858277755502314642860884226220654313827138345821401206585188508255531735033647111336247374528551666536326567110454542346828878214305381377185588431143488325006734085361871207536458031116372623326718728636265233062446170844565141068162003333117636364654520178335680154143085632142677156410138616608120257628613631858681041723341447442434687244714014548215526386848128011457256263181041522813441384375743001573746660071581434806807654752283222571147227442226641736357656224040007478234642167523355522202221432685014660461183382738007781484066632745114775880372647718454577140143051715783324375484072508561770765175726146178114814165036836202883725402324237430155864060802308204024828227476303713444837067165218745376440767131648630281286133407483514248035530700617335644544667653607270811302047865438200186043485851158105015744502724586546772408386575563358751510337155762344755110723817581653142528402054213537661366333525228807035523655488081673215025186863554451748733663736145742478784026837733678214680283888847138281020445752507322106782560170670488117438866300025200601458441222401843536012785018602401626447458002400752054401327827344847355753538380282847730666365061286163626386887766416438023237266338780756453533363201237637680550451145723111444015828881351131514756480817863727476716202544666586027576407482001554410710266253871205408673505200115105215108350814716533813503065200744363068248150103172852888864054025483353005136461006146376636756536464461481614778577361177380564286554413027432445776228845847164101724471342408867472615504146132654162730186617835483573836284331087876571713544807616200500665576302827154110100280453318525261523623835525773466205447382226734334017351288463562811511174004484713871868451078331585672686356314225335077605167501578180537857251417785277145416424678388732564045177404556386568127631804404505075315758255603454504756504445085157787831580127347524222222016853327057530580451506234530834662362148680183063073642167531152276052777222857582018547501528283135830165218761065462306664620164053421861566366063024550060072124266668806816005337323676303022086421231408060588743176127734083537055040781237216440317244456857723638575728808480150460612750823772634533683112867174762332225472385157753248574580786138581442780385816554855477014770184268214570572751560736608743131773225171075730274021347650863615630587813242445744731768537600441504026353651450114132602752254877782265700766556500344417462462157617700014433885236342553137352852188247058755308118154818684636578054745058712250253025763864737855403040524185645160302482647837570578225401162304318424335223087846887288363160465814254210620725140576828174221281223068800873351518318053363447811151420700076016222702514281762437673167436586408713055705568187171142514856283131124266771775461735270357181803422037571104520050760237627287510544557632536701064651476417661356104834067554332080330335125371817370463836643048737534667372856117545248233874832080208602087175728702602340222865427770842815484048078271460828558570130256543858802510332001451712548521855022851645628072321160274353878838265537117036018131288661578001258470067607270657103430358106603102803268232405745321204758161446054017128538434767810128378415237313006082072173661103871560448007424305088648737364238433023421171211303363674161351270537255077244876466234512360868108243845086844732807048218383728455576283126043014372253634531661378645240566577377748502015331043370803457535606640644847472265654188314111728114758100823647852317601455851670051738410025032015762126118108123466644760352318025877086370441217516536214477865618201378764302624283022781353030475237175634611272577271448071562783876558525756172662630712775633703738785436465710083658252048328466443628327841174103582886675000415883263440136486540678448312278628888565512708061712076186418341376365277434082184734558440822067505041614606251542218250235508343681410625230411063815330423278026083261406286064462005487404446251034501547700563224250008868621131475380747385403323023727832457351011007511274061348067568354617040128460063364157048285361135685546246873682111817183028752033653508142473457356465767237643473455382744515213028606871257287402841557037371872180601575683686458261364688110286257434250618858585130671446833043180657852031306353568782527600566453706352836471588065852672430754376348421856510378161707186250352763415747685534711232053838416601166701361151046013478540067701031664601566417255446030228684306466505088321584031745225066613285070047065071243042055310736583276418211605072606171013863145301157255225553816230383864081161534451202671355132451121883818657011343236566257254456483703223368650225831252521632141131571202821615225286863585814438253778268331065140251308638451804724733887110325315163234441584468716704777105146752086455847602101684210576430421736857458674288608006070687465651272380006576005540271586824205714266860482102188666223580884787454803115677416033260437212321877262104822721515277476050421026817333543107361378405072480820518138160652843002852516220431540628660767002315537657615476821374201032523027535564280375786073433443877323244164822582781301838255442321271306776066436637108115303486345867754418151612350362600310168483147736171070216204427057543238420403515438852762583881302304382377047545481273205465234150507875743560308131567534101248704863180801323157513542685288323565101555664845063167040451263203003337072812513235888162846707086488565648572030824103343606564536065085703752326183105351425041616523025177743624651656516661683201842732613816182613308658565838555478674818460861024780800032322247501860518514352077808201751323244455736742614428701056235487861438013502280185430751757576220636561240468247170071047816134618786477157704443424614651616626018626044703834402135136756683818818726353200833146215680081448248588654306363184617621165301052623052710758667182413768355784137607733685288851410776077137618750461365640761416608377544748343005545783855675787015374031238785714653343057531147567108288654421165247786473744025061132736743012303135035173466221744735162835784727433281324782083481145717677021513638266308452441210648007456356535246733108174216081886310552041231224876831780334585685578603302112564064432236882375645606364454730147803342680715087067850307475406582216664622273710052266441165850216207583848300234318847815330504161832266717258020314233668660877132028336213151081653557587760136314015878708155658308156103684125087743102653085630434511503617124361020657645061672033670573081076376027058362648118202876581502772836486175283176602130766522735655264178661702461228784254704814362357572811508538015800316768506002175555585126685660123501233038702564745215373877356381053042026140524070356176225312310511320206484617864684187624300561172108742351087257756470147736532467225512672212275018843235112331678010318365770070102675581114085621125263585342860020056661820207576214110247746857221217520537763568021565365352584668458843205556726480644157305105478607622830210684077461413042561430237238470658720620072522400826544473451328054630882431203711380631625487645248257485467115781832371652730565750371861504773407133581322427715248114457502441168125680014044401347448224136746154662541737166147864616006554323478682771084528435433383554817865568022601753233265741842656732578151518522031555422302000704850375048100620151136101520327404485856287144507351216228785703852028254405341272546641586541667778886732262430506875341310701522127503364531832185876135046624332085307127058718505175875672681720708310238325756461683726041024447345145228223752551573645430280004044806027658514240466735880686888408237480162842702115233757885205627373470735748730703584486506384410536810684406218173317532445370212805337774116182135448765855024532051681053463564613820825808688343086378184357842312335135785511544456554482486636575250838178738807526515807180173311046715855023857873203521176333548357762641517243527665718313814671780844218751074344708385541146804473537331363732356125458670246807127261018704304165555473480614037563223107337338360657636646644120547244416736028855321132362665582272562105240200500885135575042433586071178248351424156038738774206361126282476020234365562112228365285457875584836323324680150703740462625781317483513412361180181256312162365742854652557413415815571884086744458064150437644124764525421835136558474157301303223714437657146488835754157534862538608064563541480287728410588846276313387871872532430041327251483771105024202770816055246525564650060843626245838166260323587354567882860517680172015315066743166582771762430878151601184383451737524344055805263248230310046402324286145727187184253755277400541028471742272673227271806644857500475341321521125403706301457026435258286510114635303473110233088504614168133623127033500472163682486668107517058678128307667377514758063640786241120136516585116420408550052252762340352318236085067216583785417837723832636333341511415641164510603415737538708267463711288820083562818582487604110015727840061242641385426034708138534677601786642561808202002448556301674876027060554636787251013670343352064568248287886138322103160188067526402310764755560055418386458708034031351823732541561070582234575036453035314448658461862411311787330206807410516351168060641420755376374467053226363708645405031327584700561686342167540307622376544808625567465813554375583380005460201150133040732237221630166372061731070811380526063731134464643653174702017317782033140624163410780215672668685234267068715083003447640627063775661047548265565826184814774742876571548786416258640444553210487178636455127028525585722843871752006816286046124268002364311077714168178673176457732168076325200515648437274626033540172512013428627615228617817807062267744212357368526870278416478112774452578378351663461327336103665336183627662042405231661048465321441658510376541143272778384771221730721617412523244320134073272682268710855117135443354666175251131310316164632310742206285518142352283750683868321761544366551806300534732046068002021561563421870756451338233677263712344260086178272805512841150382460248060767120201217352702552261185771245581554355658606641051420351844147545775243233823773448211786832448760032686747207763087475725862420015582664218808682111262261560714526404015247758012566182371424125763875831427488317178384234616162616762133754763151380787782807605154473528430122468210613004400642162638267204885441657665865215247344774508852744554527637703645371050424173715731824811486262432037420840221705876575100603571425627177070140531471133422287334578340836166645204621513467516651131002280724286212448355307054810065057842606158115706661783027026453053248707155083013827473682320830088472806504745718300244526401020364707755405863432800536777670433302867015818165805081476244543116477063067135021032242246308087506873250113541548310820874128233250254223756872705600862854846521760152760746068473878753256555676054707515750145287707308443018685246577388508223302474472413284070530618040421283227384322886276148451155314333222432017627617555065434723754032281083554762578268478481511453247313546528435385845572507865863513151267113770771303416571406808635050627508416015105028867761510204864301177556073560434421517875448248380413858738816703264428636217223004753857764723603334570417551516246007866187714874785868144045306124347558172765167116728530304262348228102354482241544585714247653006566402605465241006486183731355315684812433061810868124875258052131180672617568040805277221420724568104433770024746740333050474827875772728356506861042543518141043851070381338787631860512852223465481205401727442210550172852032724158145806040845581008141365754434836727254845112867657432570541637446055640875750614860388180722177200412058102264470504288002521645756033612854314251671274380446643451811263524168021643504371221001120615382175048721805168134357148631112054682346214718046123266210573880008600847317321400121336168446314641038335126544834075366548481251084551336673885881310316702271811765548568621045825745378867217804106108767173676713874417776780844143422137805172168821720120783544687046677025172557601168275360373024122107363513066814255801762211516030110302561313741847803165147253453513331304588354163400353367788710667351713103551176312413326764701634774254365736378353016454002066067454426557862761226427182683634245703088521352564300832257870787344075448322111142668374871623458138466446484138320751614648128281411812144067610416351018244381873143111030867768673064315528707214067751674307318543452346636703412063658618464886171671545757553087354156824616543080766136212726257657561031043150220232130484825737566533351464378813571467147622226572367257833422344613221537255455120433572206441670113811586253081844802868854050556265637516180306058467521701521582060664420315266005101014636257418133582782235660072276616066458284743438728375225630307338774600184557780127684153663126101733121862331627480286048252810071680674632770623246276807668435101604188146256875271730275341883043757838121815654825286108710057108624180455550185283484643226581477858720245574178178444886742762825602658608141204066823317084041133315578570773188460067510485428205711238357562450120667843571234566854706566614335676741863550470386271414851038318340286302206778318427711463603434608085526883178316740004504870654674412620260182084127785630521304408850506147875515023225521713163556746638411135527764683060836148050446450612624230154077658328746464578107833777223385278203302847564361606665404047001658256711730126668072210126002258230537707687777852312570347850344734480462485516167055184882485264038266271224013745018212806615286265881403273868116874103380837035181762202167740425420612776781612333664650338166242843465204250653253188602721524411226141544302247520224804018868143435114346830831623177151866267760386511301468424447662474102653856318870287781147145468648600720322663223467444081727855037115212352434831501750710424235140575783042078426316143447768087802642330501054205612010454003676678500332661526446334485566552858781577662646011170863114247863348575654450548331426151484573576151401347015250067226134251384725328483368735035642604574862150826626224341116440280432732203574233365648033722766808288610245106876625700841158047274630008326007345762213225470620125252510567480505834151136075630612785588064602178004453517738801837067551216775844835564403388436542234832847485086566673680537143031458082184183075173830853011128655634708746468351803344148076714677772506772857436563674124133513080485834653328788144443826512884436157882865673301136431836375767888286820805551727272808542201141364050015637700213878788263000762170431847783505325260660021612050346006178335250048410476286772455712706212777188304123604512347214488433852166168076843220257428670213843481520437403673003241021025878085726723678681206246811746013345870083464857435536653833401650232767451037142682552685063336277248862408153285165372612311035347551468372326578111480527541862320271648372622744746800760548606745877610382443571834280640323018757463655418732006061354621280751204542031723400776235022857018433025537788346760000083577544223384730738621473600082588572414354245470460705234854086162132861163587276508143868813264887388487808800588758340728541430410203857201008824330831400501622215616834201761785602200283867854540717225061003224112343813353576664305866322655126761212188378212545242448701252073064765888178006501314284166130731628825701743082317271827140186421837216280552422737462885763411855875214461178703245102845863110316257270537411457473252015821473405327656572167751172702847104507258335333465607341010088836080652182703187801743351615526057571307665342756714807566857584861041245282478154152402242505458273625148011722354316848253541378402603673287487077871381007221568117720681112846538746602128718838830221812778083742464165122158631505628281884276833041862484444355603022416621675768027884160647557731584080306712480438670456425838126645661047240273371221637725054207560028313578217566880253812013014666185038448607328031153310275611422453134528045803313260844056200771201361388778181787607633843434506062005022054261683280560773360753740746642044132646384743206704388042715614010053065443460720857775634360543382284151660214383046582420736407302247320281624683006134300642465571720642566781738174814672005576516823161528161646227342152502653234706157530525062383718811748432501307837406264223812268864225044432376171858453428181680028803147522866124277238506772840302620012847283004380613644812143804626512544610216478036165617570245782523302847515421714622327182638667868541806451064418122750045103374166274473474545235044211170486882465508275561825437706822875416074767807468313010625330013132730448144430824056651667788318465756102768405481776122844078318707422738665383785046552505207857417217422582156334000232557563540634756375403128032771523652300864701056876488640626615807260543806832328778855514678870553107717034617115777505332041812215250685387282148783374505074015617452030047444571386087530441832683277324724126368242031587255172401484861430510055230001135328366057631871151542414241161855537581001421352210526880138254737216708670766637572722773073702643242426758422721410413170584674687686315731227375158788572224431810777565786677066884246320568208811533612668248021860851471167151486241884317822027087422154271761642224804743185646772581114426547567724066464215285456564054021406567304224255208314070707557484506431551410782741264731581108777238544021065423868003373325202173720442421073145738220701720113142312765104575563784701618177601388637518451561786584543817177537347048231648774776125101710746684434622100020175576477587530626800525262321228134018163473347116301115201700575750775066407163224770706828407406776204067066813037133500800438578564745273856432786235560651707831154240133421668818833358230628628420422761210653418785022300712358374026276214472108738481348840366670167112852534061615450012813315286423622706434157487306104237405386506756123688503864653502868170282480714560632165472765423261160356617164035887571142427124174105080418805188562671782408184874582525030147202840235461716342740012318727256438122456333236230647012887531324242864184118473604588065052166047060314617466413073574353841331062205754106550133022775011730563174102830601237331174536318271283133776706000081556724664037817480534378186058285055428551851630770746527720472816777842808267571076437256544251023747324587641021751655830450236281163844654552745575275157282671056703325212245058030035223535585652516283824301374046405314333032316326121022237810050375648820147570668218273074102648265623635422528212147270708683612376287867707838727412656848667740680844478126721811758748860442687413001217347123760608078140154520207113634028503302616523006362566247353557708228676883862367471027147726854340700153466036546214314111055074821268621680385216708067538414066382278328503861232162745147026222641052537614641053260233523057161452555846715331033228511683243762171700703142304266153413774133055644822685635132548624334585244547211242084887171225424155278758748863248767280737532632862424401637178628441581300572405546053827861684375885572142375407812128853135540822853651850181331583861407120363370603755861047138124103756587543207621421500053224876065268818583630114054135316702087882638228840884068752385082238671435466337867406727078645441832867462461572258067667673638541852482711284407204181511136084240557164570743405580657451030466576746166452770803111801584536453170444844131561362736485873030837246265715507058751420873174156438372112687465870105417443372105172754784042652081585867701024338283216070550432430681624014887127637046622857634738451524256261617341830718843368601441777167460581164330166718144607886201711813183626882167821678658486423056124645351141085336674826208822265537402628840825582480178203613006635278844848478211765470110077611377542575130717503515162420761825015871430502412324874581837771744007631448634568571318547181020261177066850568438771685861621833661251651226770234627567036545064300352532521385152485246425137028180422600782345602182117608271575185630011601046244005407631015443527840536158151245046225432702736042024128874265652516333131654586507333246705884640564013040450503582108061533025004225853364660635760383253488113325370672177412153867126865564402068817300510401801831442616214145406887187815826242646043258127473623050541121014507870718281781530726564023634166287540672445144874516445330073021127641433025483556626734774488256045256466268605226502862526673504707255508253504008773035451358868744231410346375863745755638040876456117164107804127458341053402834760676347848775504477383635607358613070862104657811123534483827508380354223858152025366433468087614213577274305380546110022862835144742381536347557423344113018078435182857566231580274403450436107862208786868272328027656373852034363870673633105648533850044570553465846761212272455477423371133055305476166882308713001328630767078815074885142582410583744064482752818374482623836145426328672207876102625778457075287887428566566211264514151631266250381312888233456775357354731475522675638117210740148847886360204685425525417014882152354384062040766430283316572705748878762470555040026240116162324832663138523851322450326887848673677442518882022736542257210100856130151786214574878223368217458168731113052304454403520660275405216467153337661263231674462221247708061356234450208041615147305067802128277535005775511408442847507652461280542533351421646160854205110356217772627785234548855207462071604664551164086411468676128328230257676866383175648656211444245424166211250306673307287660461231813438754736035646361644788767880840745885678832723853133043004285063621360578138747062784866843483237358280351258124554785660666704857546823435661837672525703071617576264007726356154854333641715035653715253446265222472081700743252354706145718272646735866610365005422428626215643325237067010123576236100610507136470552713327421414082211343400626605681617367750552167312074036223611312384535358376572407856241545015357252075887465425636558803247568258216062063321087626706423428046337483658240562772167451241646003870855721883113833050510316865614374202184801525350178425675674050527828615385745282656236761337175047833332687531558152702115838168157017202441275603852701137184754601772440786881244078414220652818301442714844307061733258254468870070688173164588127557410834342508277024517121233105835037578074164656151523574026353678277004847038807787176137520743807134246761132214377050652125121852828575588272442206304418685228151726626166328826102857886846688817462273074887278182868303174864406632157660630653386671818671787201552425488563314048312306652110627664315151007645888766545785321041311324312840545783146102470757612438571483064578545368026008551406068340321872346742650636822862880738134318704306580534701120520188661101443178367842776243245287630307035168510418541058285217358815316144658775612408055075131856528370670887217038548215676568575252445667726407578817331732034487382667303872412612585544133630658787847587035610646064845143277524185636637544672285175688342243403323460864241047865227115334666180755375753185275087560127087331160343865546874317273615370172818440466335683218133677641830472380407151321823564030028314137463417188571312308825187600720584503731125866854362872141101223828002825547735682112335327871370332761085784825858822372578727581603160006555116405277821650102440568700534382108455384827446751356586826656760005314330172447817635030014550285264821882307513246150174382453673180076636622402236123438568556174275832475451787317854711161754483148380222857366572634145221282215607426024102835072804701071702621462808703223674783316355756317388764112013470327056850130673344006262353267043085427385347800035846283562302054860112243481431677147005570883277685803843350284687252030308466501861567104864551462137487463011473055538262255308532288372500866457342014374260562567880871450606363550483361824633674086727403864474675852403138445810473334876508182101607878645032042211243471351428518447016716850463006328814536637770714144575673143637672523345805477316017821717415718518106142720472366137450481545658063617024123625112831803888287656540207616334708213013510267350581056108047871215340454604284848526555257853855777786406088025240880722826166056833822481411255737850766714374424787561187210546446078524537116553675483447762668867047783068652033865355521688426755177835750755467841505001672371358682802121740785273757308717083225563060311223406785138416715318626857404247284876386326342233002615266528264020106001754638018178132132560714281832406824554755780477548416845052523656116053540665422016483348682571531524621250545371704014254052156745142543474276503777845027155081464228215881088262828756513881654618484507353775321108432467601487800240885577270037045243876856403342514688051423227186317007602752420240514865656256788088637430027524584526011204860464214805684538303550176467255783125864162508110411786435202328370112438375274500050501063008526228667474281814876875588566667227684772524121528551432461311852048208186286065371554748174440470166265642703431441448130737710116135688567648813450630280563554584850010014188341172886128274364475404821564056055521601444085628435601417422712113174422640565332141385825702388623442520200640453062657557255531633414412871260616035860814740226384220181251747855734673664661222850568825730303351037173318037433277562745001571780880031167006003410245565345722857265578502571172078568575541357662371213474744444032743272412682844158764686033552027255407343171068582501645537485650375314075241730062464482065366606367656285168675556272711316151185627263006162756076310222261885658705337670331261434652886216417503463531222724316306466267658466157063645350125878808158885320351405144615551720770244622552215802445133064612245712125368130468810274830146712216318443011361005674766550178222158487656068444123737455268438756661043314022086050452712480633110621580334356578333504778671721708706337787052878132415151651452446752327738185178723706271526818075564643040464048637408482523744643877652184866650747121871323081857044305872526702577073487684823228186571085774766015113332020660612041374344207356431027012885868145165767563081615208887118855386341106445475708104608202653206710826621705026212100166501248775835601233515045010040241358725138855465744821428771244555634104777774463371318516253872736100416137252065106121240331680421625841313214056503811747747377363785168301368557175281014131324751202848262262260583401366057680602085217526312475270014523342361605264438622646363577551400401166602571865424145117621146467777124064640568131333111264764315080578516255020667026560832830886661355320145074113662846367845408063033126428068286833145653681246287202184826024256648545638263223156387351852008056747410761500427223575367384504464688512647532165210032634374231253072652762018735023774126102512610634661171113316066710017684450640263265841360726070530033344738230814613386261682778228806413323544537357783353873405577103117617003122332570808434426861222623417845748374785056727632408800680543386045214828236513244264448167550861118757567282021683572117055378374522730562466170538772631087378007372531370686766348725205055188180168437431477726568484536410574565566101472486013202364321331361185070224148732210581882188357775248861447475827436523332451787837581205348470162788746153501233012504237485002420381100673856146020226837564727087887675227668334356772764133684066816565761347544612227682480550050802883551643770878502428386873160528852680834543521133327022106787517283107278816320634261628058653035322751868001608187008031130144672061255155578352541848204511573526448766551831232044112826301724515457047308004474807111555576871520071106607018478362215877523201114226032368677756814068767343103030127227458582542725075373412068634300181532322734303236057210245301263754181273268640785476635233558408427827622646377814238735640101154220061220400063424638004258312030174177346827757471712212006658757866608658062282832023428601206087631805580330624678857201041253212777120824455765245244716380652272223156537387764630654874238615443511814134746040553810826500886613738327273586754020660711744437755426731664635878108456735623607533573466860223141083641058447400345110237745306432361228118300748728472036674566435154122586881418006823756875880683703556651870761223543887530535513555824345667835348847582021782625438426328167453811815061144657586708414000835560003614231088182235710188336880738017456126414517647603165227308153082526824887080486713367240732411442575224880368570648362532163260072644553163001322302227414530638011674303772446382786174441820383084444568858122602275726683625601885363506632343846463237602233355406767461477643540540283825016461046512741164135643030538800134774456045435826465787171530044507232561158431114443255220471668070056711757388082308248378088042266111700187521016272530530445854846875267276176825566407828172738460744242671123422453617424143318000202446436103788614817102136318003326554520074050724481552588226564476434878232451745088656306037602537133632032138457031872680648362740258741760202716803343817061017154025404167445670433625221871525508518600443166446220863416217224421471218740168871775503171168854888083877443316018607303264402874173631673173266077771132074176007840126014016087542473413257557630033102788315424742534543810106887133061373202825485618710264068563864585420220313022133153811547078344561237718040448576374768615178801527671033642481665424550137681678848014024232728427688612523514507441611181537655547683625258617330541674665530663460214507750027301343451056068576288866844318135711160830600835164345381243776807108822156617586811121325657611503383215041004720770404604303086500058284271421122731056485575071106142762056721371332380356302480378776786507627661680285354870032765645516737386833118883847578627556525234801116800426434378358080838485681218528124182134814304885635547868446618472134048437375418866355676744682822545755800158684341122045634122077228033106212155770473381617184143671813744106114526801648166265707385375335480551325255102221518810628041428710324558631460612748414846541264178568683066234248616771600012485425818652271041275304324602111037010866852387051204183542104446338404148501736304347236667052447352473263454862122363356658866484084545452612556416523377605218326555253824011547543455555168313672000706336434471582273564527653427631170232848312834436805862337578048364870824124817828557006065514080406555302473211452438365721010606203348383148126185751164607322022852232686130661157355258420222534472144640303613700815637866126278748760322278725852587453026847080506358771523084251021223266438855107847208646081617235545604308280025065355881516166354741234673637084746580425223088852022722681083865255463486885805560788728540651425680845462248883670705577572475574062280730143280511656658003553771275711764007231672101531043427133445245580680527702183103220244117542423273216150858682868704483537787722243681414808308380536307155673506162371062156813067740863040416732361185630324761382444463073363407011526715103476114588382436474258475633308567505742657655341618828813521332828163338646485424105486822667320458168264563275203143870432015833670222732857425148365338006413361727031317673160677453353211630156828448208760375288754156007026362015325464548628207348458203878437337747180616868462850408610237613448452876512462606321656868365051202424240266274572332500158670370017752833370211278373180262035130160001613347557385658416056144715771111523174262284801837014773163100283378311786884830125537642403836274684888232013563444065284203152760008641820707458702487761744678460175073342013681743635123223103304306107722761688370281262505118372384744633612724180437267644521763008353841832581562355277285228516824757805111855716813306522713862158383335675850113621182837870743351328851388128854501331052841338420446071565216372365722050430137081616371442554711475305742874587330333822645581853734733704663115821646826873340487075665341021571636615216534253081381783730868117043456560486537385445072648475081672788063110080570484437143617222544658767838548133341608251373350166027357672776100188761010703025457648117234110880863500151287831646158251170801232307248484413274885372707167800182826568572216568568733036220183377003842571310325575408311882114218382114655188260054183576645217562834548583350424668437826372871217416254065810574617044216411837870712530480133125466440872018604674702724557572758728028282103423747080075540862020806402056300007073171524302017346801717622672858285886727555553011508215500841542830403371815072532657762431688714200224756050165777342727160334512427283638162543672040548364157740086140383552447120147741273616136744256585644765181330176668554722836227615100011270278451112416463256485117107224408285161001076851452774130063705265280760108020668613237300534141607731803636117678870060522733432485226215274350200367504256623325223471043506662066004026343205112250684622388650258245115088224615640285553647507736375107887752602735708143164461842861138618208753216740051134332337456763720580871083680324867810540351226837752410843888861052828332683360533450660072067811161300608570467160512165740448255822440866477616182656750166308435513681635627563600352076008408448640635761377486642247246335815768662850421101225157871342583180875274243434701484625846622858584665733205441688137002264863881217260227131284884002685777542543810145868042530534073083812403226501303561521438353383477283755768354713123634731500253885237866618133174028737355305888700340755730640208658220524840704373301674284686131611112100286146333425678147880188010367153256501383064815881551574544807523356505427332350087662125771275870530158515247512202834827635118861758622406715230618774206648403812800817217781218434757575423664057482638704412780421566243024602321206682218126371403405784274087685025653822063326031038266377760501611878565651627335523615731043008711020307367757370715305230846251024753574441313253430757665817664018202661807552058311406782545724360010063288871832163151405173085066852368807027363272587285017652063062217557518551801565543827513850850121037104464513057153752325658644502681262802031585603127047451357576427317352760238668330275682713046623347720677480203182446572400180513415417130741228545523867238373183042771565150648263666132338701330444606836112024450631621830242688252583713250717240154062728366062110708448561732471764776566276863316557330546105372633316580346257838828763766076814767856838576120103877213250618275301710760348158687667358060545226504848334101465860360138488570773032601736041337566683240686312240154105576663408115446206713728676778182437640036326750626256138873465434235188070401614030543811411770406714613774363017538607727177423222841873122205580672553223226560788375734573188133117527506114253023056386561344050557875616536612106277718718038752347625100558845702806340778212154860033046524855403725386020662861275862750386064888415017421777126428168360613428385484553433063038652862464155428408171500511546260300538228670056844517673005688645432453655488424217202461532448668377801164703441135422475036721371261325515575388073086563123724110126316077584510173005383468682315442176783828405671501242873724417032732028125226128330018527413584037200507637877656325260478142547230450655767726440288204141372705238377624265880146445114748651282178144472116383163716400428851551843676637711837656015766202772603071541446785615086786466643827445138000676816708220337221862520868262868271188265005070344154845331717667262827538247424263155683423543183387476771603347520456337537732713073551842813311236232442261222160540346574683848210737127078305852020770480572051275532241228255871514372668787867147321131473218327514703831053013856451321752652506721207283013506042780614332753483636536570703747835768407708701013361170201168644323255808314740184551577152674143000313321843251188653687825633627523311506540537427160307330220746014337440518764045737380478187123313000387078075780714654330336626144778350306028840050722622664668870742361631833325683073856700750648524768457253324806672073442177420112024278740863357406435567141005228585170613837475273438156886313323781325130474077084401575288432533670753321674228282513115245464815100132630716534018326385804361365147062630701660315025872810385587001568870133174507581705313400705101718656268452554077065160173147875267285054062431852076466036374625125863268081780247067866368514073323811543355783738646058416407563431274662666352182558750761623373573133303526144160885502320257730826568863641843408767650163180474734204381255464306003585007255001715218018241525470887747240826626607763138322267672362051377805011181773854107458007342122414724018115583327500283320614021387343345855651384411538737118280276856124788358500023417853401872871833748835276187261188812136025071546785156660135008882356506710885168866156721488264750262442874485767273210240361327321042274178526358610740127826571255170857480047632572858084003378881385753212011838330547810202314626488663122053600667376770647284678785104704537862872773464561052044652144367767476110128488047178650585216667418411567114815032817382671621674788431004686464147032223622577731603720550120731022422565510504877256332135233043777410402421382201873708671824807020517215875885271341047774101111157436087751833182813330607140646523516831321257867607814281053572530734124333270778626144747660282465484513637178017051246368038765463304856761482472761617733605026567248873047101704634442457684702103801021526681636844274667044167063427815811558824852387086164701318365885055667218725562752470552781160424243420723753457154604607012047252438007502884285065158473516550232654578266461252531205178253888525758268385741032162477762415417164821730346048146672151173641553680624058747428054458346823487472040213115677440103365882004376745866722248567401547008424118020414100308034103151802314851751348045000711221665575542823120624066588456021531407547167801180211004167268156008513083455585673546627528204286120431168832436060844323671010827553110304138001620533584808622781647131445287805237101282283635580473144045206327268483054408144687072005007615133441721003487638874706577585142076411257712308008484745851782381016458302070643266346117212521511450188282683775468023108760474801347706046787312017074040048650438667248077123674651354084218203145312858668036413387354388534818653051433768152111080327404341566617422163155407050156533157815447304882865435177285566421822028562550135223117661708123256174423040808147561423642406454016073604335844244170315754072411343183608005037467443734438367788800864648260575136577175783386276755337172360316757714352876620127043758383482481514063470847102434157306715012157511738846132141511612121200785812182127187064583348108235823154720014241543715422747854775603561466071765455468643502136856532427765773871052558471718732775011171303053210401457272558460523312740448782242036831623734566688452761836330123851155058746286032818717112160808133287664041824672574851712388585370778675755717845664606134105817007382716207262202774306404703544601677028386717581128648006854704344134438735241077645325857415511520743730376043581732228631747418050663854302437758127848060164332766068015315505067713443125708770180002654166288285138587328481376711011311117708611342527863121314162388487715413375856156085087825514232403400755722518642764020154708303647075152582542730335831075231233636178607541031751531554171588274737087330874628122337717377653114444001050843618177470606777514602428757281415541064886684510573134218550311447846553301322451878822108443376638316781175718623883826024747412733711831122242823152604628786470181110756772601403468357237577805670035828320061583505455025420510470842830323174403107688258316517111286887833627334362281427168648187326644366103633238406878321555208161136253230450143168127328340052212435354081830386847734547135580255573553000028082105452344184683166216146663731105013743164011415184121131700073758121777088843561110172107612564758721665185560241802540186150871247042638745331620040453084264844153558444028240533473748205235578577826221780315183523221451473634843858716548884305728668841163583044852423786430807080810338174654666584173713251562026076576483054815551155532636348105627526276802467367426038303757685660302078067113312842256266115575277544132606635240121742030105860878127584835087114403080412587533221748368673048443108432672646431778522804887453674617454086335754021758334452321330137850704812111588332056714063762010164002117200115622631427023100162442052717162611758158780255600048572012886728632187887465860803828312738051283265586287316011242730042157446501075448382485162585632508065652826723202504428300225018231045541884128681374411363316824140748825584754461321014828063472174746523786058171250288351184272085363455675602385461754664784053241386374731850451586767700821218415750778804540450145055504657037275863880405140165363142138588750250677476882082662727782466285101562250473532274231188522268506512731465734344530550113761106656003372448655381116858711455381781357572846480788062227520851332888605532458766865370075383836558338183277148887473744068421757480751282274328031112874538124852388285242672834857534081678640187468513864647588321858262111582478881415504456005286846200873844416841265785122565471080735101721561720467750233375442532511887580556517427577233401402311341450228406357855378086530136201742154432678715716756335177864374305821017487385214215548560421161843175642476738400087211535438276351128755025557132280287416375806447037282582886188501711527202605833854020244420372016051605231777133678456062721620581681240005680655160807268133731630752461010728375157350512872026435285063781440872122542488725684562218004024573010248363544404637763375745130278446480204758415326726026166074470572863650313631842758110878733174203100778633251426822115814252042030048787386442601550031284885814273033676551336166440042745710437507088234261406636324048177432776077458802240244346884523721728575855411823005875701606505341123133388364800484004860372474774152168080347417463070307404541183541564148414850086783025506125834607655257236056786366373132705423485267183165056444188588272881651703674742302283556184766427265678572478078036601850383285343250305887230244245032004732470565663247067805434572038278684267153563431768162416133584281083741081017686186737771253278407327416168514713457838383843455426075147674881381403767241723570278830861843884458327847480828753662202811724244007841886276872056044307486080487867674057100073502718537264543612440135721645774771434260284801865077736016876144828805452507032830234267057128210553875818423203370300588733456245357384584682818560070740578386156342854472225216010618701252408726818587822282580166227401751585271608267421076121438406306728267105512753641141308835083502248744445215702148633875322382044673356182540338142238765758135217733764758280126181831862044247208147040808452256063076374326388831608027403108522625145485258805518657074251575183577717657513585872086843178641866444231888713382213618107540686622727138845358188005247845710346762307226034803022821405783234306307870526710857615421358674338442208547573207725707842555038437174863836684408884151643127734422405014408717560177272716818770172732761362420681108100125742570686061705543343264581584700118272746685102075403284751383455353383400443152726425012561821760016120803518145023033515732025217668878170834510375131280150831653006770340037566227710247015806383461602663433264305715134655250137375572304261837152181764830061541262754514351001603251515456853837150180114456028322771311388251548808334060664166307053024216825507125666830757637661146570740002120577233377173227526116280618547715416644471732538688823601873302742852273870475048376103307745010353775341103237617261524616407313537445215220556733110108428724388120266234384155464224233253724455313208068072860703640423356651736335534042157108038563611585178657675427631317212023404262158244242012534182282416124714352302705287607242506242216524781260245144776848170455527830172678634102188114325381721301827828122541806087557842415456251664883804882060812841017158354401478386504052117342558776822607628616652806841230175015140445175882866687618678206821132703546484670653238666818060010416686461285636114676750812827383153534120258523474066332162563231072560378734780208575180885502320776261467561627480137580188553321637176417378171412382280263313225322342457845580806458167775247725872840175617888541310371655131646364458448461625346884585830216127524767877814546111842353184248755636008518104844464514584455443470474532754624526756780558721484377602035822857233724144870738600083227125116010388634551705362664023072263877036511877756402656061648513865566652768884760434018558511842723158156011482357440268136345754446783647036876780733614105464658775253701166802723478866500046808118843002412066715688052474113585386028365134206878455364346464653643201061444800224832024028340864457244357752588257234571248832664401465661205073632636188752155768687485564046421756367248888261845538748322881650301847063466861332218588481258563742632854548165774611547335100423427613736780740457136085464433842077352523222133486662027822170863850123676577132520612422066080030488624261881742217348715311182430752805077427430616405867716472785234544766472635680044628406768355416171363372336856573123823642631280458028826564266385273742106870410721246672637342782073514232868660274330041113008202634215607616438572848082461564332628050580077466470034108528748773278356801886145420065006883366385727664202456065760020171536327021772507164335200624632402211142784276255315887442163642461847035048238760762760010416817641715803468463001041540343236825048266280828657226756823863843258731466448378500670710203660655277602011431773820075143742120661576078441582138105785730846716270883655555080278606074366737744717452458885141166137038213885136264316301880570127014466663352261250837752812721807387481670187585125055145086166138736610415173650637837828145168438686080642543744713212151664874424088468486072221536474702312821531582575838432556821750737883431137647250376833848810366702007785662010708704224314081256682278753827730006215345473080761007568442624776613415616407674604540281851328212818656862725326260468644033680658213331065173332737778445178211327753656063300842613113788017016270860228535406644668271684274555063128128112542353744755452676654314056874606073612646175576654632620311478636823145120300565623770007871510788077812802031147405780544127617254056841745120370257771138870373108208124501570634074827674827702744047243863378441735574706776075382288152405555276131385427012888740185678371111351452832850008648357768863588631882823818780205773613332770250230203106463142482357688267777725746830633426632706647716657662506466283071115762383740863708203447362058718012556803768620501458563533227582086212465644536131184318182317487753652027811645803842365044378324082060371056300500015083480728617136047004152867478547107225513505655584500583201106248124345083140118533627418883318347048031764607448088378325672801333165746753872425668403851004325858778408422117713431662040717827030617561760423052843553053147010318786508720148672516245347857585512404234028753282823888524518826011371766158777157132416605055870111430413044456235848788534320555745280063845380525763687068082476674366408586220215846123381801436133007024012575822834461384725866624501553687601814235825653180283286721821750444617343606536760062308300877674271113870571355806742008865270513121371065164633431503323818412845428108014353707014342685740816615204367006267283354628145177882684263781460546068263058558037820060510217203330285837727786553187078021282808002312335530605247378656624108050546731433144682688472220580276161645476287217215062111120254228200668662284702453185724042808787500061377681431286214087827084621174028123548486268625157116848460347148037733048286663506345828825712726751075570782386167867824624512816680122685687121125363738257811400563363102318542018235516642370405712433083727826203613716874026838753233711440535222277314344620427737844880264481333128617438785838688613457046552127374254657748087601510642214363136342348364276355577170746181825138268766764253051022561577645737771204235788010680560826421001885572353850717782813860486810184260061832388641628884747105546807524600053451016180330760324423326214138718568180452473020683046682606471537163484634065280288088578571640742145643560183032340764430156640123244235523026784114847775124426815832787546815852148257171726347646380238655738048114340113764128876313688418167624865268022422714014624353485808040630634020120883188200338360473521857202322572676543817256625705455105467624016000107746127720480870240656826840204036167144211654557608586778053781310007438211867400268142714586180141512328603784337321345432841612815466151021586430846731085271227645375503327064765448780382556873358125625262174753520565187480885571618705133745846053446043002661735465503827503353658873814516576504022881267332287518233827627470344047804027406626480612456342300271867446577503753071742884341608033133473343001830457861820532323665533080265001012383675283533802471830487307233365368537834474053135384701437248104367604742048172633170748615420263684578153217370236666215344368043661682363248502385571708503610876306068801578600028613586003328202147706085233241201088022158663350605772706788583772413704873377836182763717471868700101837060853723838323524440374751606276022421753374622002865836458415177321522500167863618554057088160716411761643012832480762411336328437058343104160202526377755683057022476302710368135067734434343074354202465717086873027562028062826780218734061727083150180340686247325670106603181106444387072037183311443433170876546444264646774780134168575476460323332124823287468405105502813556524416515227384657758870717837183321434828017036776650716010816024175101753356430313684478382176652663830183677588812363408166475806263655236404867002070441412718527546048057336788746678401072617843754416615483676611564241351558362665072461303870054178437371258871010620345443708158326864081453873654001754165378812886123100425408670774806175588248360776551286002681338611783125686723485607583041218478622580604746466538758476866146355111344778072313181780280088704231815582438487132561747300777211452301502401558602443824874237123513651507285383260172882710758861331833704278248362742844776300678878737822834057072606681320053406616472642666281238208321560750743728233741378180155885766840074585678477365041455557566156252563538300617435684306377241024478410052403683665223225013346155027608863182623443286506412670561460172336808755350401220636767100781413356070201655703575013330036645315481465360353522362216587046400874642536074565730846108668786864863882152058538225206042784522522326726706110755567207505620202677825327546140241323606563543512880413338253840780161084220267528857340626608118607712375578167548045515416562430880176474166540108741388328702324725106363285363406774206203846372035140526487532253253165623807874306373001780448340573326641845267882063184534085676427215374531833480015777408420001232810154258223678824073627586170777005470667037610286865106402604757548283534008448710348807203366247731743075140854355041575786236341670134073128648127578728134255763304638551002160720704425038521874212018705751336122861263383860627283502132754838507582522533568606011582871655147033810683747722226348338185080352271173817626701830008404260804163541820878527484543008034474021880254401850874761231283076478366272060021344222342706133404380482002228604333465542431216235121181251783020582444403883862512512730001747842515220637741483808204232371824803712077880257588751317645225845072107126240605420702168152822711406831213278335635605152110857486686700723078507766018055433058843600117170810258020808608057264764484428021321632400555877657387470606066034355463255178738576142312587665223050087436287756470610346657568117486701247481433704138876688837821256010268765538216706278320646760267822248852845381526547127702305785503641176401328521781555004326600410785262387570172847302681422400005150683338281233058185704873608567301222466702635330637702531755684218453370127708531140143075246336346858170813074128172202320363252540005377480071307746016086447464002213258052255127507344043368312673550862568266116716463516431304281840760586065876572456087427173066667424173070714462882304566618063002067330508373231160222726687632425358318257015021841183627245074303143156278486470560211636663253176800188627783050142302345318334381370873245484334634516541008633106441457426603770800245675462532430515257034158186285311512713246414448410514223205847780853770706770704757601861371271216466600862167145540210584033644026843048338067657426758256132401067564734738885253065820468378412028611121530770723165822601830744505277427612188573177618224403125467581868147061154827606537433086747444807005347163007000365364856316688527325238346782367184346823844245032432226535834713222760681523118727303416124676036657200627141657637828361467342057326636161138156118864363642316388070275255105421660572661253614141277137828432384684005803382114108858817507542518836664054683704181713006520130815406835856165331474716753403761317327147525037564780430338547858253117788087005403644434714338766077240124483872215386501020835853100457412264517167700707486602360865126763357486503214585553717426803865314101468686003111061558528481577227560176167720571820850408608347662281622266300224034748358502343704653264881013434313580821424683712428100213028674461047115101081853612505863723500023648374251174151054444381827235681808755463456868250521003205008300260356231688514127573118724130125118435070783285630447227025060351163221655481340558552021108634831411347852021661642616160431704550280886687021738114537814640227243132545751758774604514582877233467524215885085073307223406168354725780645388502567111221765580480016231018086175075876156835455856451608144204318638484112437548304114764888537440556348306688512324506035363086720851566245471374460023610302677280773415831083442045886217582888138823172606546687242182524642106826028237212164714362016066735453276440623001648210017382334641105620010670885258361567423855131367036704788021417403063045135587426685511314505845674630572424107870753645001827113607353318302314546113785587057510761800116576173227487855423805437384418000111274383325401284443386635018585343808076205023614574870688160037621023413020405035320442284440683025483388747422720262378446457844072342036321850588455033460388247301334455804830051655136403411076435112185211201463487723377123056826033146211874336651542786677058383125180662423830332380141116336028866745132855171222650038453880135548807435460470478865631324668253666864178233886242007035734355204521311842413161734005204025175232402215846271078374680276766601303118782628703654133305527710248374086241760780714807054385583080202745053604076835814155237684347305740577526442664422813646480261255254822071000425050180844226324021217433133121382607145287577541723774831688343208801816566126370170512880372602405185083012060078675374626064002181550125184031241346222075165702815053320435814422882485331355755573574352056501225312571217857556421157628108010063154447307120706405571803531084611048674127265621140646064100468516717466016431131615075053818687243580852521336233100223261800546048764542680611807618880815510043717352766406272254620342083520313884368887453506147825887370673537646223070802562187145037114835831524267530140007600000826240005167362464378064673546628872666364130115832067084463624243205457331136853150731484072417515725033855821487741446778225735773553760401118574007130576058565448062427443281051323512153123507430005728210328774787042866480665462538506746030178016373846214764867051405018788560578663842653783226274206376804365308108744327352128726053253864716000214802334234885774166201385847271476452357430733576468824248314734678278417374132853000820612826554041683343576554022744505313045585143764648288724810880658078402040018185155786471321706443718783055402750522003073784211886546422223576454156160768155802614254345763867766602300544315812168550400261427701686854016765661863857245252633477334430331440032504750456877816158825306326818278147585457647777206721513267427820848306727552574121381317578753282167837815587236168854126060567308005212200222686165415137788443874464077677624107674788150024450243524185766002730330017536520064406250066743472227365688702050387876140573427872436486438818188723373442817332237508605754126814605055174306612426686286184584876624235025788713853456518107681315104002614843555113017745102336187568620265656052423268821665552843845840276108544820216115812155613816787476788320207255450833060650685536161860274022624206504511541373434233703107300803077011302175335727171087555143074071136615187277724724762586271210782703332448055528622161454740380500060857546858010344381258837452305870231036185154751826563803632430213426803126753380445687122620256411167334474652743877533031224742463882352132064050675154414235026834882366236478334766530171476477744015638741102077506541540426537877788345702672535237863314258132735524768578814876873032447003376742421355123072323873720481480726602335422050071044226803780563072887230762368888615155372442661121673310165218784588610531204227811670586804381044666671188653618673550511513252318828475721853532352712037302012780300422100345334135523074550685472374080610186560414671372326055867665345637253763445555485706801468258262303526830288244056858548541862142103121332213426763540243072745566825833464545710482475871437827613341214224367182083313730613426226375367151425080720588540860467441666422070362488154016886388112464612518771640075045643260500632258722346877516548740424433373175666675476874842450141401513504175854030415783065668267606576481476876170137705305415343884047648407657464054157783271062070665400010015264143203143084534441473301424523011177618566670445011386284487375038388021561011475133423273764006572530780743472871146225622520834102824106582654006775852618035330727363871037140254786046254051020157033624612702585472654443751450115645603135473426601702281643714152417258400338405182418413602305774571106522085214485483188515786635184235320378507621680222034287618111763513620415275260414441165541535343747543723313563861025006838602302680156458710306011604252014502538276440630827251866013411646824314712326353036606468076170452080262028111210552403437416257854523804134330325538511374506212628313463811522755521406046020326130308044285524625058152767842802773647000376633223031051252182173520228181648433870351524474883345474577100053584681034273315430500837478225126665538036071025066421727014306242613181140020614840235324827037120631120248285346302578714705100257760460674234373364316145576778018642173263437855330311228877357554635406776405822573130825777135710527132365820800236721177436603665745881612544443756377166233141714682410721450010262083143883557712230812657570213243154650205607615241433214136611234768706068243777728551677118554865525246087638588505366821658853618314155602476423056063757246374474022434864554573708230442085823361250501160628578780568553260282656431388783728244542474607156582777472455653024671631130088057356365100207375670707407443768483200078610653164224472482077827116525067228130621762438163742076558223506742827522857333628121520676835245481782022107341675150477265131011270232250624536710844026701880058060548343343743882541816371654878382737427202401103018854183035406814812488414278443128611322507113171574022451314760732737061660254424448657401226784265871708831183512648373610316682807825110138811882143651138040101608263266561605315630578741304454375507333626660477251384610010704156087155626731406875250316783620377713777551658421446616555228223144672721232646304051585627785177403173011856300183268440447300834556262238045067077202350023288243414004321668413218116477677254486541452716748324424016480857515355717755886546717238706508427418010011345753238050607886715156387257637025343476465746348236763472318572513524116128437566243175846611170821175365628240736117161044172118184108830334381862811487204820572148782087426654026205073433705575578522124734300023581723611075438510474203558116401586324832411651477268144633887606346285847005261543735010161573176546358024070210643607088770800502775744553838862551356357762506363027054535056812825710873833020640273511573233658165682728740353886713066404875387286478518362243070671250662162576546874167816082522420174688157473047757413788844326438818602220077733124338805334038837130367044373628633231678711586070020047184221062170733052568861108764472038426571711314675081031112286781414601723235665538830216123172177008483886364858153833201637084088080483017636030253257645162008504000653263043016326122306554154412150314247263576188228232540285444544464428831501555366148444305565573868486866601018756023087841263283065864228356228140446561702326568304385020644552684434760026706023203543736701072280333880707284476570601277550384608570674703451887161276857642762528550531201687272048600560034207661778028303128082656116786828613372045112264551161577728144451887810221613220321438404523668728527482170181163648555061232682267670482728710375772554011373067571102000264504551364020073148337150768082221674404538848241416874584670841330416515341030307663767152252470837135405488510788567121183372127845073423224562580047820277727350261844477610627501337158876237526377376340013634528121340204318824386553360744345137712482746466885106543087164562637063771111256751525281085236054446388678146428865105638010767080313784242880633716347135857274724067846064718444632752038453306065382143876620688868245080038660643344816563323231824560326324382146537224853242876230603137304576035084575147531314701676405385855537830678520488485267251680411102203463237644617282301065453167776545337333478468417814822632548723384310424861644700806114241312740808373016308541304670088006067204580671410585168420361537737011846386854514655021751626855023757754465107013505285685887171320784335703803246217102476003534081652766541454614008158211652210824370008642748044451113122518053730168853854753063857367033624735710664164424211202533837286237421425155036682410242687851334113484756108713533766647600402523370565527060410812088556425126608202250650222717452817268530264287555857147882712603287004780551710857232031001770780407627020252826826885032361013546034516303214211183602151131742773831716814348716723662846874445268861314516018456627716862314553146552625328244280373052303875351504754616426747610880120784718115443707712610423588021215857347442732140563158215351674140861440857605777513111252625047207175741174211838858034538426362014255202624644562220016275641378552857313012613627870571682440340530424616660065243213718577531534281131150613087330257562876488318038843434428664023136441864437781372571447886631512181283552441351753667678656645656507343706280754447478317766273575354264758444116106607852887461584357857534708472422727665123461468124128310635237604166170253881776581177524825466173832534144753056303835820805435547003272737571372331061173376478832114288210701843386373765244542146122831627411640203803167678202100183048043708803455660876262186436714482021011242178846271158417227670784313458321243830881073063763702326722474501564220840204216335056200374315566871516483601453868232225817242001021060057283526686305608520328236037700836041204168432827251233172288560512842060713564363425753517222442732667172564822548263621436837287766488234535004384328416758054627513535763330123532525058384308833345176087371018035044047115557174704611015132753401386083231023834077852660124205565661707628871416267182428351436116000033276205125475364233516224025431323853747263445624315121423658254554203112656133472341564813112423416355610538084672773063168238044736011381842351816457816517473206084340866021204734271250248573386241583703658550775403065473865683588243557735254802887407875305134046071774231151307430176614534432202557878264064685267707644077723361827860872126413270512853028355011446070672135236503666213674216808381618064435803228047526408704515335714718735788028616217125831177466723813827583815221568416327643437703337416823823053271315672173133857074343560646512477587082052613732763724428416234520886088578203310637218412410526810581770782674444346425103372381850325476137483843175621060623474142360547581613388817577401357637041801645144745458012865120041070364015461675778283608203131433007833014887701277857344687256604627508421472431366041006503703801055708074446815327225325612812512562130643807547564001107440448378042365183030524531823847524573758652441013838042625805053858330682264267830566357117023621704718376783647663857644780542157106555445828324040853255431782362736368426213803034182430500167357846542465750414660040564847720588534551646047131266033066553845425158012157765255678658758718022237333802013168183711806703433204517361651557054026170727187774844414785770746377718571642327144441077806364261245530420887084285617111684552882145313262442084131352572152000865346814255856858337305767703551305365028510577433410370065766586656388818251736532464014081562252882644205300233152342068874238180677431055353622672042400223226375331382605040108217224224367248152356724468755131442638722232334838683572768007768167031001300552145465411758747084527003570783134815463780843431301362100778518345444542127814114863470181370880738118845820050722138580582324745723356123770181734662211743600121817781616855143842827673430827854548607284123665676234062431141566200157123504101165608062034146730026614840135648102445705024017183878145125286731362318735226764166813452637358408266276548676417070065378176332851341188704224317756215153760201453880222625611203307448653303064331318442738568115616645572230668030402306702600268171601774880204768572567015285422054051425552737026011780488768476438783028408671851637660122133468103740582366471777364245668031014206852800622141801333038531713168442275301451645637771831305404645153258282663021246606517304601662063481442062146275010412058715026808624214068685133076570823218465726650547848467271226280854246833275502883821444676633800744070625418251821142806211137753510138607257050766248633400781034085138616488686258580485560011144484630650804876487047418816358674120287361673853224664860362477457714045881688564251844074675365372860720548378127833186701562877836481603587474608621444106180005873445275814207708313228115778872026210300716782582855880430221104110258712444706746107708250112028728680353825238471663411435413305521025715087026575721057883802527851078750270221248050111622116177030676571444672205833113073271180204208316244306275867034101205136466362432622578250287341212623805354170204820073457561210244367653246384722771071147870818041334101571471481613100631423250625444065663456422757133764415361433602124581524103103225484801847071057345357723815754584378766707526603147688011664542141832554786376810400412484147117316880130167547127076155078163838641067228487174327445361785732808680122132743373033542312107824852536467484843487478217313437167514583834430535062873160281651612654384486055580672805561187435832250425878413123062361283541573458870783525100876521557523337603200865124774846058876141743571061103282106786434225532886182200240068101287007716353688785854155433602602680825664077070674105474851184624443278365480018151488435685652085062101805764144048714102408755478324640470068028346855456660022455340228175887857465263128676417203144505411544444376508050071272366124776531736828410244527104402147818206120051267001461508248853581054702414348668707482411777044311353156055464177880103551607362788338225444036356510535415670357727741038074821368654765455354046360025713780385625836427620151342344251052404367415371811368251507250570442566817788668412612741612074868377405217768458453460352148158765346678162352570613373675576520838423486155878128000388422351174830717685247572474525024837778444724146457628386301740376162126350204152871040330460582252518548214115160206835340632403547152348183143122454713381771034886527533332206425107547625530821468154621528026806422163243288115755511768035000156007226872862881208063082088037174403573402857656156883601786733156271041441857048232214044767574083370738471645513405302132506712725206563266242361373430117316516884484656851641525362138746060223843126741025081450567603837288167367173415354327837367130511764114583167025463381382104148862614870788751162144017787830684877826783871848343434386742118687278763467720340723660721460780683806141667511341116420666205435277070438530370186244143443565075402160662278161751887556801648106827136420041360113380773288257247263517312285270514653783137423816647678351256244268641587602751160843822178557170535201733387316262344007232686613753824070020181124726217810478734073440818735135133802844228512545382645851873213535074572445764075643321550313016377017762061421888128610786585774683410640808820142306032102708256575232143774385535686458656251303532043185077320052440377532727640184044881371751413860763143626823510177726483130658066167030823364134160458043275654582543272717308470323371560754026264837778065835631564208051104472032108761854548312677881316315563538456485780685785758840102336825288451727136064232043334363041223341007218822438245056372432502782484052147418778160360423534247328454546653482707502330547220333706524867243845276468360161442176310606552027863330511130674307103537672177132533123300185005722770128300852754760335842645812235456707107777586657156513101463106051706566835508014655655701837815371677578164528185367122724884873808333364624330550606343055676486716853127821528684111756537505338133548132330641768687881418443143340152708386126138178228747785617231224553240370153281447080800064074603408762811750077070217835384825456156485346838513160037070616872744343465164162052703520422027883701683575837753337211544328137707412434857667000314001447564760680110808533020372168288562814208131153775158052002231701742670372566552187385150488146235084656533538015350223030663480088822487376143175563365848585108371808255311767271070571740226800361103221487185354657873455250634045414406327174036427580180167683408354577421581307477413030231217766564286850328187828106165800204727852658807166745618445375653836387811771822324054763346751534332721215850671685276845630887577885220685505564440448161705261184525651305031843843740131161848454083104430586103147360823706072753105235004385317125162064772854140588685555100275343553628256152347548214575855370154288110883677620353363501213686681643157140752583551485440130184708540126061218568075831245770215308826625835470043788436253220038160401707088076287825610181088026711466702552006455213256628128181465105210303182312663200087337283122852020143733740340248386386678638312050100715523460023583504883556014351448671700255126706313610225524124152322636084816263388103336605001042378764144852452436616745121862403274087751726214361436582863461851665672485702470758323845251622540360024851070054433024383001753608471120421038030017403142501628874184212261380715636664760002848571240016134652456385232680825334380050531831805312115621823411046035721837471816271066771001187008356871880124107243725356076327261234678721616153361008335651810366116176552533155623187230700578415825251736128512054516080345641256503205730238046204785806260261857382848068646228015828647484346813031462827668667722321134862812012042366650302810887087672277210325712406365768843483217027182052226388820387077284402805465671825166278886606131151150113642656018646808823473752456370626773554527037466422303256254871410777622331782158262637104308463327887820421533553570514372633274303280028072323211785568034484286573831003833536724775773355684186174658380461437457676251410670767216017622223822185837616780170228083483822750681130173261357748612112004576072552523752168317085111005817065736181278152634710221522214553631630400675561145883150716571542877568624158014774006070174464570074871670872466685107754183715541333145237330187001121127335853021212142232060527553354054330580137322808217174642067344504248608173131142330271057763558075731515478634584806344015656038576651241508766725144662047011047708687415313716876010453416452783321701275430748127841804677866170665227457032611864052671860003125028218375014114150181543632781372858875621850034022807868736277855411203884388274744621484702885017476857357422757110181866313606678513003382074237271763067158230667106367665564047053781318451661551844314816020471356780062120853815225225388420537620156100017334788100417732834718647508361046255553234835175643536751772867481585226077254162246625448773662520787464211450114810267123122667853341765353500727848350335336104626014700487617017865186133643534017720361705312725483383780605226003213333645217811430477435655207158717570664335175134651716334355438872024263726636231465321477318771882013354115426515014827607613147156600717054706743074542613333026133726102656282217405733852626056047588423646250473677154540426308574706177743116882001865460585713107872727346416845138272506273761245854168267685200477488676788738847752132405534288736702712645174376116043736572422626432002266734348482730320833622008301430582557564756301875414805714724645488161375077412564568082647762125406887403621638468774444418651176812283882016272351883710147434267420333435046625546317610708023116265414417436174642376654066203072548411354034814821861360104318258160710152505741762325811316444350304767485758865001345780664730730060365444783646331168401145010674316456644427086467163050486122478235240220001637654880083077584376377548540336507585853783638778810375571642023424123251768057103760830001836155458517726174761122377282715238878752551665136728681372681768860748053664243700343566276830837041448337828724033128857658683055786727281326408075700201176558604236378718588133171176277475047656202578548861773314218113171110702686800414054534770128407142087324577271634432760661885256453468542513268802658370051681153140828043625364575358140165514336274428546431651165620568647060360035645243030871057374108814413803114465835672072154343416026422267780255573051014844813170060770855031765427181145320327514875633808683214727744041862368156254687276581614837734676022488571222420264460288888402203158254202420760866783347434066282456703408677846024467124121056677455384768605734042731210283028100278706146650517064341846728862813183357870618136143584836461711015002673317165014083713870343778835231436828547526307675148166373461570734866817765368138403856772575814315650332527055645511200840783807722286610384254421680453400714720360015173224486516351020006871751014203527437047668873121262248771840731373357873717350567202075050065434651365344063370167411320121383082154600654028142277446704472282055707866872675174851215515817755142526847615446842347646816636276716876570404555242417087837701653301318627858252636520584720360558368685171208120342727642005812334547471810342834328328837442656632875556570325171830280468244703772010185502677346265705755575352678580141821683536800167367387504201827031861484474058602518016830681040468318854076721708753714632105806727320308861777023687760453002807802088404011248838105464732333447640701807454570456424066330448426416204162807472040755457667808358652180324241664067410811862485686152602563602886827548140466170227774350033227374573504588357636500158717575632641412146811554531885707010776121741663162524152783388177742787044315572582183458163402884373757158143381500376040281560884256204258138126830644343613558364331672076446280623072477434603472823062211430462368474172051578341868040152687072815547615462230047532503837532861473648378604475531446376577537868485755358260644637110185532310464430261817600731361846225474030736604246401402423486554723144443780356640140786038214682818136187074350113555153472152157257662418662562888017362736262020068358070737828326455132580815673275461117300413553707462456105845510222217633666653144515416348335060757767862767618876678566064331351113435571823030856322528223571206071075586861517832506714244485542477875420835277181466010445058187400065151573517844047378784165133522013744537445855653100713888876133687585787040204516430008701826240006874022058505605363453826481175286655265273038215330118071504078767363813245101124280072132810125422062613285685761338501781230635566125128077134514746577845587316376483768842750253665145776362132584503274622878467504827464258330532425570638071574155016130347773371153853656288630741025527713147761618138781345465266745600351333836153634703165717080143211144738725042124048808085844506453763688112400828638886851557643274801687327722861148874331380313853466836757418710560583616042776475403466378316676134451744184333742203657505478705025320505125320426548061821171688567724677744343244164502361746814031478474214013024284837002080362665225135603461114646538787481100408656156325354710565106717734584844628827823232488655703073200828381218553875240608410731744561326854148407124254014607655553531453230058824823061020707075472654710607261330707148504738347521170566718478403454701661245141111465264753665031034548838635850502884335806226361688276352555261025838314266036617605813354370306224364037522375810166025808516388024151750424765551324367653748560308485114255628842713165584073041721761733284835741140072166765715122365811125832802031510033841287051107204076761117144301412564416500722027245818178880240823484778151031717621432671430354870883053858308726832605681437857136075823035270684637063023584515875031483672742461466686774844482138468016472071065704747830833567568334647100812683612851608047233773250672773613852614116504213452245777058304534244870014721208571114112760756821160380286564658153412881437370306308308537227732318376247315081016520486577433674823333646612465063285661008314738723735040880222188418680201308846576137626757675760660878187878185352316170188875280743766470280737165325566811003755574205223440147571278524267076651061118200800050400123473843625514472632823168440623307563661134457150278801375151711371566570264713572118773807781601330124125032803358850558258114026508167457767604140872144282518671600050018235134364367844517040853585344240731426217768006635581230633302734045038481344344207640326016682065737307727070222532524628326027344373127410816787083320010807560434282238677821665300571350621426504258814813541478763202746401408612515630144127645600003330078578138217588801802337020865364202513300670746356420632528567654808508103000054525427865788722878112446174281116180402118548767014580533214667318657716122220288435445201673356326021621366126383106103407116624260237184432260246840144351270381188342133736116402246255444441685666485401150100153474236375075433288776876788553672721453276635275436800528345558363758528228007110406271856411320481312627350511646620446383854156306423630555560635730085638186545753847682164380766556132787842763433117254488500625434870304063506836681535806568155222324618170672868573024216272607247373406005836464056058557200884355864470782300615828638356805221183128508300285672610412607532535024811685077030006278086083861450201534235644750015042788705304036651066764044253460644112535810616701333628147633114824068656515283454288224344587654370763377220552688276074252404575344063886215841455542831610478366703422688213323405156887813364014371115175765481756521530762362338732515837250030331016018574753650054821150730183150805551075182642565531746281276105125464812473224253404422023655205336008428743886581772501677385435482170720808558085206113450034323720388171628363022423202046632511426111564571013561504363723132687733220862213064606807403485743607503863067824004218023214162544058562106750873185003678174471565616261500101658683021166672107700321375021036811246080130548118131242567402041680562623807418514336238258602825553672458684068414482242178144084783422365563222024774003177520222561406488004886043584705730447508134405186206672478134051060368816210348274472226015016011465415062526677352834825422481801522372236055700871512232586484512453448168212472318223755140823616268353532757034587455610705517676452055618071768534661513287124184564155361156754283274423163678768028780777204144160121140444654544351485617474088825504842337748288588171500368873355771214527828713816320025045113536658417053862710501180702141166617687481708160308147264127512177850457277414636385538126476560660755022300145088110587358217844683377262121620533884334421627320668258457083030451254706888516324426558448342566155223175550038215834621852148773562827564762627482660558188510172877740761006688338313814840828338636882550275224745847163866318516630334436724315151715037164585704866314260023347207555481837255876487450408286752334234843073453514521064488505171748250484110518842160605320364622572158611071376458774545522258043373377812654708311767080614460321342730277475647638580064277425530124846626278157482063503677204303868648265503584323070767443523832718172545300810071337047228060640732725715415584783016661268583218800216454032278155865558256813757305425336680006304278686126287233344542202860300853546157436848585363078737575672578778440763151804888546071413044428172218150036486037051576678177831527028515570564830321244763327481000842516670433670653512214086425202635551638614520745523064582462845701106570385041224066608533437010200650251878828386712453257541326476610212737501380002184054085586353076017455108111768672246884874763663282083355786353358763154087804104834401124612780134036683867854380602075864813088253541453050631557054354181854545157057582504277464821764525416618646366282216375374186516176005546745833783206201411602556107162604710543220356475076122007637388328153654800780855522252260671413425147058133778163770281755225136662560165021233138644081270713026555204668271526301553357530460622477878531841408723342430251572745525282373486777214784470275542057006278721651762403673578865475334318187842267863316816705673281441785455337563743851761225216640125347354231408104368687003863344624101377566186044726456008688426446547775687384550510333764838837748608408343151148631202881205044653725532386535578648176615607077351188157058408353862452070584483246061638344477056473401355655766122686530047450064358853777376160445480237751334356176482783457620717333542323162456625387874773211286033677426437275018585371646687188673506424238542818551633326327113143862123550655142244650153522583088237763805511037656077051216485466782442032341084671540101128147304778170246564232703257662711021662416483531737481670183725650437376354175838177068248288025444464780733580344443210337830430008454516068246516328710122883164048471165778225875473015227167766626456830671105213772402801668726440438244066656562314553034407041318060841862620480246368432732126518074785048413626422643612562648315347772582138740672848830202311883236235611442314431340152728002864123326115275573723254418368332521284060804284215000030613703173052170482571853004842165503722513587716114758544140765451186245873343210840163711713007172817068211603762531226766354205873811266582568526474613611787344703626267407701478337653156105280257604780270611114016456051412143414175402173331344107184153671143565171051832244726122443003768007815824002502722546111830852232113411086840833471100845788033678682215067761073021816834774753284148445887214821123723500807250510186355314402387831207134045678146582672000845878701175828218837675334124230678142351301416030305225672377203614125651830178345057003463205762641427282516380156252162215428528230122574081824865324657716176307661456328538304674301720526155763146385330303100048480258626772807724674508675144716061465741561144814472313005446224660853762021248561386607171460430625871800012620631046077888044817336816607218352300284023106301242607818668538552056417648710741146146163432041662447634362844338171385230873465747008727362480480778335154842527621527800810668500443720350152604386775136577622600322758870640887230516257870124147628187416713351088012256763461414631251831665423645253646633778586716732734154434428151515573051580060043856486220272476720675744366745338288886485526466636504380080731411813521132715278820305036230712001718421820370442042338231076068428780254287205571812200444521166266506614528815448478177164213217646582345615628436537001874470372472700572238471140210861622675763342280627885141358518766617211082132851637684524322344407270050761228683566237525357060003488244343756014002236700544247064431103023758604117306281507735151421733348818240717742787817806722032322224655784224324228372524865526738810834412470262851483204503336044154528713682412421266633428088471084205784018310241305636712084550762768051080053041060776456842013532474323076663384042720783006351160177851323822723662031031725181233382448824572852413667188087603873342054537628426287533651785765707613138463068270853030087671075240525776742573786511167575215663612637346474584777725774130126703100777042262707248023517723460474013361051714858528808814846517788482528466222074061317531480670406577403638375002578302641786150444322463763402307356140727133266171188786848501702864548031123401340601231171730512582417176852302635762731155644526117303720424808313377111652408752560175700678124510781338368841700476612082345032557185446508863043682676056085134082641675174541414282326000600317475353712376680670861237245844741686520040642850450630685115874604328703576735206550146617157285735664370846681182234501280276015448187263073425375320664277025508121723608562305671207857574346135603538881403430887016157184505185108841085765628030022525245261336020427017732656623011504270867756342783720777301411440085086423868750442826477255585181107261033466620128511110250602677158203240265745012252125133167640012732735207552807246568765368365717825073244718114742331516122136351158834477382787081408313081186000283558535157572485673702265224753834354286710688853101882780815781851601481425502571842365221863415014471888473525830271667566735617043864530871065813343411775130004781777241088314428542048731758680465151014415602168360156181123224344714738831460644185737508572271487231637054427128312330450213524716820817518536660650627258002355012716253614864476782162553466766505753123115402500774517127735308677340468462484861274657707410687013653250765874017756235652623223842268732734610751364273150233057343551333740348132017345853810737036345875153048424153183705080441740236536881121351346561006272268624324714172574185331612226046514380315807557110367651654238238108646531375058245075040432085481067638575716706768566800600643643673877128084045230586302013837443680440685602130851568074220447157374351255732632175133156141861522237423014155803343172353320480205227161606868473723022256380030123033456233241636254118114251733850272251728710455454878486770434056081481665818752232285430782412582456577465124386341183036427830184178218453675822186882601178883633776465568431264124750052441260477523565848455351236583587280771034227276688021340870135445742148330886836275257026278765152512000727114666818276830878487784760234715463434177853820463380484478677040766708340731301863262547718315640376121403665725108623313744473787258051883484107104572214588274123005748302878086462544740014432826157510616243118313632737466280366535724442504310348344231450525770738877274644637123805060265105875572522743322533544256105687183287510656636533475642766815000884326313527254877360556668800661642274648511115027078080743554114315044816321685804674014751254818287412768250680721218677042870713446724661887167580561853033363085201345182514602457560347553513248212851374240688805065283446203053612482832247474514425134546260775675863250535872541140272026280135243537285226125135085383488831467213730736452551572211358105844334237672468840506045032478203568722023885386385011337525811800432443838315850230808352767074647376002161431383587224545113013804640000858436512146244081227508631830182250206032156348336460072571056022354760757266342646501252746762802881531710537245483870510536728005421728571115711011022607448562835425814707582304341411038305268142180654650403680562135435638483746017603322228517602756208544036158083813354441405363872000438670257682167023087867617877841147778632222242017718550370820431016835166508124673707661612433826413510120404815560538520345770646015644876283136715101817803556541844383363474246366736661754743572303375431155450470172326241356241777076816550657087356522661181164352820183314215658405360567004227105038015642311630503670735120558804155340848658027717313203015268506557553218031431836815536728148673740478306173522311523623326551357174848861580317728737175842408808013886738681338804642783522403145132741314450314081558063013045300007481775634410416578188420307486043801578185675840848012143570867265465338715453867300180111160033480437401867448508826066085160662228311775638330277812630320710061267017072132272811128475145711702045786428632230867540100052777824213585552216715701082526868052606033088501782060034708070203262175357587835814177683774008161227254606734282412722714340036013525264573424513657523574603718660825646725728861138653755571615741566458236012571147188656353533135135266473140650628206153672560436611221762707452647446040888601144873428646817311881440172786388480082578860875244768624203615437750268632156321557740745038281736268366188052236144407624760073182374210362106060543225744100012821452606840451727426157304443470877585080017215007064226260680285442200812434238204712723433884184012862436648067313357258153175660621532780063205874138527654144531364715643665804682678713477250728284576870885678442583032501427630461575463458141485441606432384136782535412552774635055768458310536401827606708228661781676647611835277550818473482068240535165512707871254413663423273133017172770536188157704332554813081570367322011838646344441411256625073310317511432224726725010552026434584015273805456164824412404060465082473368178565445860841644373761385438606433003564461108146585475170773446887417410820721115520465286045432014166678786166565806501034170708582211781044868713155728624328378163538401084152558555235346716707602453882346528423787853566363013170647321753722213353860616816614141620382735623817744245345070836003573613716173574826327080327388137852282418005610110543147447117732453574012264332348670867680231202115000348477744868062275350316482835616847426087332843663184041020167405140047742424867361800120743144756622771036072246220660826247254563580830565437503154302788584841165431455530052575576263135051665288074771647834038152115466018873300102335342402272627268867835108576142034734406435210203644206851704470754323264785637847656176455231626781252675604820702064764356318527820321851668757768303474121271036365005055105273483573507155282510076114327408673604877837802015837748871263730778887322636700814705513155441100854210113818301302024338038703156507541030124775547670847374136755782857436105871774267061116855213260273423413216641266633272255336371206727851302711601388867860145802072547877373653842123070148847305280031166664181075220251501605352528424657718502165054856316546356380287673007675643337213018243713615727872126038437216722524071760656132310560457718248545023364655071671572366772285322038528751571563386704342732831815856553460671064134733527505602708771054672265730455350261385576126864281316532107782215513475473203265842575041641662030062177031550380116068020702062103801087286221701374248575770261831503212413804350726657681074640006572235243584378427048738066521124548586141271434744220202808610541370167318452682714148167875212577202872141257852446224023327780575813428834035652531171884036281172345371031875577601807550881555127147245288030826510863012476556460354068375485611700422283486725071528738074371363102870122115481354130724354235380625803320565723513625242320768442313077781465408470643030332006263866151413050818444047571083052673864743776482751767573202248308538212453266862310135546876562678446388724753111573662706265030154502062414323144207676433166615106756030876884367587301322134844034732188737840162171450334705014802254234170532461546561846502551451274506144004076836453657085348023253272317711001515435178217074135170101516057785126430213686844085187178017167101055751681816421128211742015331247787722217668531248121337173415422365442875663147377377488148112155406750748365334880547324756513481170408467632082371064021422255257508536447445604350645806378324734804020642021332688828560006560076354555001201672385733580670372767116674413635855224138548585186101645450458723105145715522881621246766855265512703868582404548202420062108627121240524314857540065586577413137404347363554386540116443073618750761026657477106622644208862062124703352824007613768161018477147802307250566127472452508171405230716485872367752351278045244340113615083370231686076263852337122206208244275731744470303601642615857182314178845862087143560538336488031771433128804713055635720482133546216040680011720271843032338687676840038150267167647035807188252537008310312622373010825255476372122454015044108452471562857061660485373257145330575540860853125755515575741440880083132346540788837042312841835482277765527787146332143725240456156360324328265478664100167615431273346327457633404741868188847452170715655151653511155856048816170265480144262647336068045030046174211126154553180232464605243150123011533717311050808626703073175252318475630218775458335455322037042806578412485224767015867223528348564700881750081274132507275781066058305404143045758503436237246887773271457143650613455348066864816325823813282655673786076144211001026244381670130226232854800456667034385701440526020513882251606480563657460621425723318164863736641442271062673828501876412773038576033460846105105755508675282064778057232676406556076448224334052135621564883082380815045368242846807041011568858015173878722346480408547821674780858651547424202665687674073574621410041822280778574843221124107167251072241272084366157632674443211367228270060824022070884450154046301252737257464774003322511453422040408783404002856817411828738071782045633108648278572356043242073607778463134533144387475226364751716808002625027626882728448452355738384578762836342163400531355148700335226377274877841343124343853382376447020024657532386362161001841447756023502457612315521422131760545542710112877854476700261514513276487280178652185806416264387001752477734161306653454705654282443327048232282388351585011332654220113415768121550882200122052388488204824168021803142610188716868555668544117857064176750612630102564033822165802771050457350088032430274736485722600324038231516271367314727174154860382576750542645721563773018317480746351300724000104160016678467200413866008454856866578733023084776671004266310502676044670257251364718305033502253842084668833574787330578348654380386613271507755710805241400856286083427330336364464603214317224004324176723152215128146067834256135606568455158436836163061613300647145727557388735017086312005600808241578686151311224473048603371670756157528518488336211063824185835648472028587784161804357825578262635226450763248142710700226506232335508427654681573613355648387225760553448418661330550200670553607056633633328217435507814773723541567382741764254623033800757805284381567263772464217723775220852516617846720644055783448387241622480100606001253575536573703746236881511547728427754275138026381565735503624184606271613171147668250167845044824511226286341174153408431342754714732861330628283233031207754410141886511214248872530728741218544211484011058657337321168631066852050725451715188851705130357866813408333787710300037071255764844628621775736657536443241068252257528115116668602007800138475635573035103566402023253045448432466540304105682805365278678666733078545003460055880021446107083544381375128032323235206266735678757341618753184511271047148183223880122663118520447473211086206311541358414161178734650420237407052017000401648660460458231076303545061466147133663207868477424651507425350567281810248034428247034736316737508527527185882605240620164252832117704100334538112280834506074110242114478636233440404122554710200218102160130704462220372701611800452001723166616788647533283300075325175131032454241138880154851408200616165288550857427820224660080204742337475763028587603786553332857516726162654050735744288072174132531321471074768820436424258647424286377474747321610055832752058501225721287328071884706678452363243245513680563085616144864017612715363168312440513340688703067772634575782726808801054155338254457634780143882305720187233686480208070430817176803647035607806208021414632330217132133850376320086128712232565853172674600766006058223737640363414406732007745687452857483420084625516376201745124660235636141613055244771638484361086054611670541860327138418113503466230025687365756036728755310513145562654486125201535333261641171010706852185815134562608663821622260035382100678253174401772817471582661764031588752542143305031802771245612714613184080521338880433451501658288483020621133706322712482343736550316041583131244755465681408424407106164418068120021321341280177015514711314158136510825750680300767684762588110677356352653741666626470518772737762604777184613247474351458505812080366481745511853607842446734068300786015835726502647415448157082507111733610056428584111070264467822111001630714241061107471404444838303480353541065275264211450176134276703036326335313536381051582550330143156176062521141151203657280626831517224722412735003727351352276177402674722281146016330805371484636660874673245042818457322624375117501321670257661568530662412653170466522661545137477588087720741855448580116457217852220170713011582054121468080263856615515558061716018063180100125150241677131427481331003884767048141002315563252368327261548150631236155817635753411683425856348484045218163644143636516503572247422075187768645370264810765048636326765526001011871146425417371273861048628764478556040351474321551002306825441814420552761456831715635673456668554825046428611361548815303257008106284224441726457434778343114625506074103437037077683034646717423401477110074063305067067544174185164240528857287602487663186200410307040351104465712415628157216632433164236168100888464411620161451216508027571880612606065754818180358331177438516856687702103758145320687663324681321077246526800157281806362062272681017641784627118643414200270884264816712526573527323584383337460720151541744236206418747383026211004284853225627250885123207518317127751766567224707253130231337560703000056401851551865385022760120702451681608744388715102630801001201817523482654846726811686276125461846641320348800723043505315646315400724557250081714676755770425821155127340324285373271667471071761404557287328350317340387107287840803566820311012730130646531121257115401858880222631462404684523147034422313026718230726448330373015605830565725127446734083368561788276726638676575381828126813701003634154164801354537123674458672407824607064038226852422771886174261570640744161370733752615060861308703256767272265117442534285835710431886022452831013151277123305222813452013642057736514748600744726674004717637805766181160171445567182348575437857138671506631754418622062358146541660484280107716358050865132623132247077165323034754720835571585780474753316871011234427220405401010420120606622165145370148783265331224070051348415267853661536588467676104450670158510465860014675128510283072285552361541414757221514477276783124485283035854253142152833508741733477570805556286173876767836735063320520145786075463661838725110834755131353556776314205526082102068372513540055637318054320535155012673022585017037483240223307777772662607681217576778873638550885287545104537742555542527831208632241422027060770744702367524041662518686302350810315711134273432176254411641452185788876038781375253843850501384018417535072406546107024423138482214640725655421578765645357043664888607602852303405530336815526612265261681758581576561043836576226777302428785007335068336743770555606836870251320571851586142587406322776630362616121683653628347460872674778842838452124205251387676777103473282373174366720861323420770542274188280235435773467012162310670704222117333173047784550215648827333505770843700174386730555784518212458785214612270415714343426511006775187137252670526270230425438583274437262101157788862830204801871423371331588672101114028856127173730020013810062064602007454341161610385870184540140383110482880007626278448307261263764712133266432407657185577233828162813446057064702371328122063146658407533318211462070051722501327420432212121784083866203187662568832264367574713525111415652667504322888637157084156673154083475331274410342140434461643451013218406634051536570151853188421853354262010601168127051508126876444311176227322431200117483262553383507027813410828441248462410174844746268047113458682750247618845481240278335750835623363454611750133627630122847240043402642145650330412545208700247575612285528583861173401783370562217007185807818674445180506603875056806154146881334207731224632878668388760824882050406048725777400640643566166716457745014487344474501220217285658071001725110228384717222537631636872575256467158010024773801537563862078678711567002528553723004238247605555346274322887466325313013280040434442181008252382852228678264041065512303417551088357100414680653183517673273711206844866167840286054436620141121344544634376246877682000582372026134513804510410471524021827837183822878234851363122035445078154128885736556474551476300186171065351815534762412310565881073274813622113702518784773132668704242143003144384512586117021051585405857472345158634332173480705378125601627847376267715700605777768363634307323467475466473244832844227504535764436465724361802844506457217608204070345387213533678000080847776328678575822570654342113552144750626822626522368055048258427245258722187071572041514744204225013131016121418384431382442602320178627731148411704484654622381561051784132520784557204407470236485213545180165474783857845813400234735766124687881514222036451017446750174787206273241008336310035767482185200231136170574024854873287002341438826652233107216025218701615877385804855387564253070516332122107747062422005212780380687485710406558735852621771340483551231754587854873038446337531817887263188013372458227532333426035732521817547075445421037175001675311126385078423617167125432243520373812072814838128154875886613241201073215638321624261448806575656525185735063777764555125461530235562441618712245704547145288523157184518870171765521576776541432352301266745576883384073636404714034374041176804043043870038224868418152745570240043184467118445276024512478120007774410070324743408426446520230031051188455677020646661768077000515601568632604838756186843241203583582645805870817043102286253452284514160853378217168848103651254003465438361452683076480138587341204483203715544034463667316731064584812020280318653783203115856062438780543825823668268028027055342725555273784836408883376543481326633663758787646287847741667226887246000234800527272526107305443734638270128650835568100700322162682586280875727823008223016604834663426656507666771568632557174013210511822140234206846812112070826834787787852735075362112231554782043773102715780661466215434323683838744105167535141658255344038427424546712128588880365402320627251128322728653163858523014824073173442506162733030277174572327667210851618062405217577328137568462503515610667285034307204617811505733415704766220852474721764081242038165040283847850534714852225333734078600040542571156075623866876563108503227840407765163725685071235758344866802278330750808108814467684016557235018542877448347856515444644006845402275852534656647321476114358844863413636413770080187748556888358414488334760104888232863702606340163687584554850430862245530475631714844433376661071748177602751767853526418306138322803647653326557882404276343577005157136032050731638872151346672075740280418568784023822377444447724206616413137811031484864254142276773032710351450462510644324033128372661206601654005341373675664872153650786528405516681333706601513364870825014085456632083007272100048234858686304105488755863022754330801031168107087118850106551828248202576000570136585552815113460172780131056376137050713514320838188142753212887818400262173351282855814028585543836318821881233088777578705871238670068871801037772333034446841673131476656128014186471383706537221072220752880357553004657565320501055011203184128766841416115371005553380650434345347772325410562561104627102277606332042787613527083626103433375628051460784687810685204558374801836018734850876404380167382136806713037777280887661050156156677287722073201071752684405587167044751370056631025444147010078637365217342635768184812313873270363208400612805160543523484637450512887114344352362877474135881887257751610371653710048432085674828158115414525442150831810522624225224645846762155322730402180727700558437230454400282013435640534777823105723632875888704438756105411418785365217160522868802131362742465856731617400811820725061503176712677411644685076137534265183162787273561078687442867530207057305780842847831550255645262578382687767215385584714856618743835701044733125506428155248076267318025014680721773675288318212736166760065065884276610760248644416088780743162147775161701837040120877375645337818653201215237406756843317325017647114524126550814082237255405440628385726560040851476367216651436535635837140753125462560287371572527230321454343125382274288636382246746420465426724088154483148131552855512287778220445547430868563811840334138481520352100338745703800503283433714350870527746258687277120161042160025823417502381852670405845756473738143252152733124138711571837200000653070557081717088848236636018462751803154467200463465718683400556441131234581456738425073516473138203026107828853676415332861072436404523363473143557022605358333137412525672730578173165135335554507348852046252123258075634172072888318333423683362108213063576530007140032812762475204751713267365285552686616223180324101610208013061020505124147740775873215061232147810474563254186581518163610825122867311300373531282144102476423136248614827381422383130101022875846024061546686853420215158242874126258551668527278882811857026723115580477377807117805853365540445374437426652622014177720004561430131016000756212436787014356514025865747577640142187322773760680403630636137515350112437867647010110077220543524704664563848284228044821135811265101534280148071836114555882608261126877206068120186064584225504477460408158164863884672584746628606422080452403484631005142321014703516116508531012615560711143280131860544273458551783730722437714210530318017617876826070272335643133581426881184364235871148657663611701011182771161664154480047058457804286152806474887375038361686768545860627221018226523155841640105545402821315602577805336561141606186147773164216858572317044237325171686258560401407347742644053231568846583243855277581671147160338452418508628760478266372620244585381034346380263250324483411005250111063818476866423285375863740857451482734041417432754280812777724567240228616762158342833853203243418736244503773484730067033874621286857840740683818000774570610814356416163057045111023308633268310766670214885470862362366860543143416257351138662487758034240150671016672008373087568681646660860166443012144044161550358638840048363823420780437353107340143784625764615702355612013647483503270282606714455625736864656048753878435716870302751756476043215041407700237625541201551537413655088804788865115443164038042608258083503871866403052568706610147387103213241678433434505453640304774812104840723003068361084744301738257864306152667121107765304365215530566118207133724743862532164732355005057780714651821015642466407457313800731216222355246087700047572862453612334462723064754823277270645656115462312047551404115851405586166077818842660642484423354526811718482651428737433011224233710650122260560600318056537866220183073135678517373755042646166364260037213465245054713205007033153533610778283814630576444455686431052102035345061230811405875014132323228556564657538551855515233756058273100534326860472713786241147782728161413423177054611850085251358431571016862103600685602145657553652873170317225163756232104375434422484880431115264786723737085701530837764180563622615156411516052872587422467673888845358641158211213704268651058546112622551811631635212028736385001042526233022840211378788743600370726050775347204100483336141486811032053766148342420107716762865516830055060346747204888430716838256174266571772781714546137654876227885428048241857760167770154201627364612504023835628087618505350510418838765282508007855242215641567046646345734128860784412810357205448128166734325382737444747754717650585204280658225884838787441584067437547730211515204858645226085665416522137451567576260287435863524480471740013026386803320403685305536330136471687511162861112171871677272878378656751331240513371123712783580687074582268404725308343754008126375238255857265740222645206753871631526228606244670636458533165457350538118483028445244500671732771776353301283072141420624222666356752837482886583165868725020660610012816474481566744681706860681540565650651583856110076580214106630128000268275020333051863267743116221436286627080637764336418722586500216857314683820280234200684567648855570415771266178213822411803373231777865576483881286823885544175835857242788885726425150257528771877238115600765040074427145368781404156100188760655570384354886534360810858460004327065537781403278320222226502755873625610768846670766715820177876187844564482142178368037108785468126308413577132858503210085260184516055184787703100435712746707077100866105757101146406448214107468247660106638435543557337148545286177665541715441515467681274628501075156322800708601387484141767340437233315067063253368703157474471704618041600427576434001000778384835704736771003284003155687081152638613040407602542885528537736006665283873023775302084082345888403822361612668182768218720331025158016532287108411683303288201043626852868613341671385442036500708156068115455634643673767143384588273471847133216868262371671855632657454120461464304468531045044816135226274132842233187364000678033188626583244750778264655343172478043771457605682831845546268863081526212278570764136723432381401630501728851151441066466015734814414320107253033765468062032665144218485238666265675155443457076353481545580228048215278548548065808882851476213256513072182782884580202664802027415481575341233313578813844378616847655336733167561181432067346628455606528847218515650735664150167822284232830331563526412874621536666237101878836370101155020818624507117540240518888683727722745716236084117307385033826772703677526444273545503358671207528452101114004771668718462806844117821781765777202482055462761827183247648754083874822328406040414322778511820888761457842652601255537808238282283041306263783573538061583720112281521584583548268654763523237158473268655385044468768160515138772007545236801200546564278362772376632337747364463075132345156075557600385857134030728111576665046582071284701437676778276774756237636455771208648448535444334678325288732348545277457457833465627532007388473118216646088111535462713272312468486055870487451724048184564780280702080882033001870103052450520158307857573685282874105881010255088354172333310776557041604146032770372374085506121635176583237106320657672127464518441554651805843282440788383778147780647452045286406016677277144113767156564504404438060565010038603434762755606758786261003474368035707441247881256736642827048167638207481526770700646314055705612872875071642161541273765288706385218255775641120327232747610320214057672657603470671513013827081247343754617342436334321722415817627782708515417041378254018165665162861847843508111535664486207883201067407461163351750107576471878608335638014848245142183863573211486500801883435428420202874465260555700804033441525230600778303586010201074840264807233162684358685133303546675525088723727014323468737266267143255858055434607224134180205380865446847053112110225061117851444153146120016721728143142356481857377588676578557558313882308247863525635531075667554851106282443804263613803575204534227068378754346776063577466307580163834262818146330800313512702047367848272256503260738744214741341020673518026866314610476333116830002072066130545810061122586760543728046882550482338284386877081327274057450181567772366142364247606587857227116543534743603516253500535078462567402223024511431223045805177065226208676384502624033042862056873654421137741578154508350833008764653302228000050558286584638338308217411673384774048420420817426745276631540332814577815556281551480617252183616042577384208274501365720431363463884668171021672240001676172416263686130344675322754380441170410835201084633820207731612204116810631563265543155840272225362786685468143710586684627163154877232022110571831730212624626387601481733137536874223565505203083824127334633201128071137404254772448214337876347534731078581437513503706634280452041338721608261457850672684346536553541402371237114680136614476552771551685672662428880537381742718040452270620618335226227527531705008110683823805772753276355035353614586743883143284423567412572647038750617853332845027470322721076578000443416471114324443240463853517436763480885115142515353186550024701423261565386053483423755116031144773761611274771663647840403151753402630810826187180048432328074312730873577560515417106007117122701827878186415854715522467458336622306625133058486015655015300084756243807881168688557400430481068614358775174845718425200805038873740306873515704531100514336702732227563780033562210200063783672736445170445773377440580453217572528731053771884683414474451126574004025474427681606415500432863047483746454244437801173401661717523016627777432267625554561664536852477776824268722410847133688713106415230044625506685375450677562671627670124422858356702230308063328701314330525387061808306245720817873517816216657367508200027227785243352653133505830317717681641601463284174347252724222481832665830516253585513658626308581652566202855325378155588257742743803822287353275453775634866858374785053034270024612737312344400384366152865443825304283172161040173777744273885650055628544680815607720568850285526555078023274108203510336088448308162220303633011438673338661534423721120866210675733523458546756161088775006607362880347737008833820105236756301628184635818832420588876638870573343057631613731315516327667382368662233148852330145661166132665470627285368102352200082554802345011145543051580657485835025750612668446673447764438721286218511602350262538382874382782122771445764824208023648452756378856647874183606823057332817761756016020658444755365786161260703212603642202023141884854228830711064460716265760503662456377240765524616656617367871141316381533233863223037855033483400650411800767124348742024754351252204478525664777584652083302427464863522708240705102755824166877806561033610781448343835866077022111840766000503241881424537446171515434137456612015675442305070570171366217801747720070008443743121752766172718467648420087084066303883803753225536304717370616120413021682858854133384252426562558267467250337012426435526540112857213705358646085768644044401054520775521553527521315104383228583481128315125463413063126130138525561106213880740525784080508751685855572356775484307575632415318681813600562472117028256770243647337460053878056005653141561857473216455061324060218773268332760360148136504701712663638021480426757848704554554537778582678600717150756472302018383085543405188540405430634346120655010885120344713057448670817822712857517215061882557662523020076188207360121114607466030515143250288768764211313475328483442526621631801783334643122658548523061633320533732465801147607231162855660387178547152833120200026453053745688114626504418345341021838868304263618803387805423142051134146640840155558420166745721763331342401060780413428175403054013015742726868448412353827277306326503747636246007732633418048047571761141326330346008467848363261443265385172661833212566356215753215881276235610238780283016260065662157824770560470571448725534652673441712718304101612102153048706183066401287850810037272063515502515437864048473463313300575732403050134156068808050683024583170485310131131673808023050160308033647118413102432225272421466627845852727011151714037158628523461448352016388628532147656455070373847154623351008652323118608021646281766222737811663738160640252148681741234274551272571156373528386780352664536314624756568314550345118314037283806344584156710882516763625764030623552028052153804844713188853461307503885048515513467063360831223526774278250063281780457387187486343616613141631058666761644787111364462435655315723516110688380243074026076063882632422345876033308371325174881240815086453214543005534882356157782670270882615101374371431463867537477054183017686687287355448133447081422684722301154617606527085333345325352748747602448672467070846015877070662528257230818566717053450887148416432638386040677671557176481500145258478638066748020814337650854748213430772473262478141040825847847245604412217816148811064608118333768487163423511380288151114261276440124656880675003455126647361752234844672278766747801548818342035852365636543227036571155621633207754204212781527647032004472306440462682358240642662107765314241675842437871348087210764383430558816625032725542824722718451274630462741524315854605725338134688867387220017622301065170205065512252471735221006403306742818861746665405301005411545860078751236421263736376057058835347544311188731367325356816631614304841737102523452213082047768855320114707418734336313106014420658700477655406664463343111822775653805287118413525278611302417800115257267830424467504416270830432787523214826351222841503812202646240186601323420716543126227503283860817443778454062688417762328630576287576867515652166782373458004011070767004361277045386832000037235836747600860428872814205114431650113078280640114738828346525856711724828465343777520424582452488453031753472053142341634718501384660027462267588383543860677856357770606510146648318420745146023072122116136685084780488223306346824506173843344780140883856176673471450036011005454564040737737431414850416243283784555407676678370350736576147451686140656823245066086752511080451528854213754781564216585064353468510550063482153057836476558808770382445276682600103371327413237330454405185814037003302478200048481807240630822345384725763212667364684783003461704430765621638556473638842050826583407645037711253361617611338868221353732427780806832585033222070211278268032146620707510402047680155443146431024546327863780325622202324473606538743378034206445175018150858673005836537330453578250342402634310203252777442338233264612523223771713820075121733403633375815050856354616733340574836718610448255622761667417132344082741180735143527686263270557841214640652232885325505525642001058760608242467714740778406075572288517431711315150470851437127032555815170702588605288523332820754776512444152242865788813242733701767476670668248472765203521752132168512846470017523665338442487351563384165415363784125865080016546851050265420078547826162045404607108630580681400852757177000424415663064840146442206354667678626710712244301267367586578663483136774101026468713146652070417110007425726205868046318811647605675786483624341672822876586257760773088563727318847156488442475023471341637701202067168736605380148075172200034130836314452588566370623523817505470736588654602481054700426302281670867053348484236828627265061882728427577113002336455641666801624055435148222772436882576060137784530124368888154750865782813784440535538860311667077768463212331724156525668321276728326784247512138214751265181004845083501324862477641843022811861380530221418010060084123840400658767351823558206024275425557150264664335518314688122367667284328810711178363401533716827224433765414560441634182035823061632335078207277510406625462882482705034802631278117582132130657760461644532063737472240771526886428745114352863327020082021801166427818415112401544100031126403267823532037078012215526028737788814053134744223324483048201484062664474486202742117465423614300530115203125527480546475654702013727657884578044053313423680150655020874278543430707164872213600406284225437682114041335777566443202687174308086061400463836417670854152485122278414364883224468347030558371432567166588756580556861321525307212107682068185102278462807580014247651736377660627773240137866328726352135628050783266157801243703604370175687241274163554266357552317000257226728650732262105776507543611260328772215041852026841102313122164085240742288725388728066067006027668110750375278656318634382518638807207538420725188278643640318756573367000543654866273228728662252613148230266602252350710646078282404162257007444045611177400065216040714588360245506187112644665287243572071835067138128835825215518324421222844158187784473346868552454634634682684511551168811060668548282526411647034453600348122476234644062372263144708172253782771462514803784272715026365263341685380678102265711300114145780200562668228202600047401148302178477248171141286554212445140703004725585045738743241006867475214047437362528520707570577202520144547824745680507131711477435520113414123842774638640377750584340156005565773180343438613668262546877442341445517214112275513624263474261444205784200550384137486422422882506352278452205408021822456068118810552563013124132831444026177664071175610830715434882018073538051328268477121723280356107858110883743516607647837152220232612782631774125556040418440182414658480156087547575224760734644262411717821180313207180604725443524638477427013320221245000852868780687206277582620545270811554440436220442433026800222600445724425350581204241508324168738720082047801378058174574400080322053407855041550436837802177176054571167444821453770713276681411867786068430004467552070128080481637146731264003655685451085787306287441311258125148272876515327710816385050715378830865360652368505252343633802160230574422758154583135258655644313120624031476741860581001200783726746200185204066838585334166646658406055628270036402207742385576418865632007485256857342682627271752736676674356217730452027162476824428452705665128754667308280008082578415583430508057650477716770065587271047217566844343538100760683864012373648515646388531386517003586308864264351251865587661022612513055751017257156222750045537266024870123021412480612816361324530310214573771670288468687108578204847774173356884848675126436317870277008641205572051330167351725282637486032572418255816643431357526147884241070170362311745473373824350027143661431674653626662705365317553825280802254087652034381518037867514573058416758560705228536167276201514686484738100567542886217562138244627217058336478162158744873426476034054722823024368580242020585337114278844138487370005150364047561261781310840583575753132604040564068456417451807074282008275715712230075130054321066518647861086882617877657866704502310472746283858416331440305127851734651824848718253353386464413677857440631561563770044216468522041530244265755544604706876584768832030328816802865572141033245126585825067700812887128026151303418184851818206300010100883364626703134483320318872458436362514641186571311114776354267086416861208734102138818088732203477202584830365728175272777755523870344850743576437765886817707542300017637324772680441681857354167677734083883724526630361843632473104401873172026077516100230644424362685102373451735371327430847072038023670181363756508710432630471053471822568670046821524708153574165844033721616545775148465616308131267572614636030673085452720534031273466522202827567563178258831023374846583586670150607030288164465603553278806688040037060674767838500614586158251815450034052507326521313342546246103816120220263552675340605786361858825807151331646105816183852364471428385521845636806044074743208415004332705351838024652207013224823036458140117548883543155313337700883483783422654820538355257023655412083830527456275612528171785645080303816152132685647607504108631035600864048241512316412134601881644111080361460102035033044326134421105441666185185780672586178607304064877871658572330218776267353373804443874880583666103462423282855746810154806178304882356630141865000277507408867813574728076334238730330565733888427805453437851151323565337852675177844530280752640631821810660572522068460631881042607883815105428852363675570853784714352848851383244627685040434353674064140553421561877246110734703751456406881456811646245040143530481314602832022683065515437604111236402431530470037224551170556043002630817174154048410254342167615155743383453251186680207263625488623080864266704442154261428814157838305740646671560152663165834600240533130461447224366078027010256463552873348508835145181687145803386684107046020866331028441668350824721405276128346511143066202656627516367062658274334522085855420783481207001313840628133536144088303202020142342888767055603565748571845678275735302008280672618032058663317010527701783112558023522866732726417155687563801000112383242203036240375008026225440368374844268035625136210842751233800528178522111655436814657050640510314515072606380086468001288110070656575534653422425023231830001237884280657887577622236110881267106824322074661546887471355333516124462785138025065604247857463158872403343675002807222734835756427805256765036282138144348522176115276057650336552566476501163307325777243128271620114555061831066058833761162452604811624531474810465343037718653331631574253084078737214272343657653608008330611818525732812507852081678653558353678442621718532708417602460768008181053614301406630807771220736850713414236803131732588403353225782728107423017770058606177070527670341742074405555378077571027288250454012886873102122060430606255167241606827172230886047435471056717416374377734648066715351808715233053652722224600047661855475046626172171014116750322145014286206787655260506734554343275288260672133817667044318358465268576643254821388633448485255368753285312061437773232568137882867711074105845124230173733570865514777055838002331387881271412134700462432248136128440482278274535678452052878012717171416282641276016065282083702176352073118637201617274326634387530315657154056327306847184504566557682135406488602207267878312865144112114446154855762353475112117535620786815016355567653646631551048132313048275683088346536183287551880342231576317787036070566102376776354504882643272336770127065811614250042302550085864667634027650263680611165838024125174130057164587137121832122758188308651513620513332272378825731640414572817200651831111805503032355744388471371515141772751536625606534377861870028372802040885015276577686702218326818341522208161357225477757671316033485281036127224111476838406540814537310553764075758700031557172488618644156585624447235810332426466008540813673487452825362600740453510083071428670614206832202663560783084102105563814526334338551242745006462787741604587277773563570167412446074481552683160311760146483074588422820658338842442372373753610583101176641882515236840254261550583271178350855265418142220782624166362430618812411454483182742310678621562208636563164261762463303167447775588632776207215081421681081335857805312463127023672533282176841116217738370412215563448838430844603162364723165804261460480121025876047324626422537630647502374284503544030867066172157166312006552814837368424522148064573120847013646637146575254784860327002453375282002731686116605704117334315113077566368358424086250550816532412330264330444347468585738145030660004024803223711775242825378824423645787180568273781227475325640186228526435560148447684150802012725023578066767083148027512046214531815523360604860242521633343827787313867307815670760342265337841737738502272530624573158206154058771414186833232621564485218416348058008213867722125464533155038751410707420285208621731745658278537253284187670174866176216350065466555751336462381586814317375878015810345513252451005057387545154702804824333584053322657032651652361370132257623603407660500261717758502615504306023257626622647021660852565661541532004353040603177725238856073205414823741016744158056538602844125368558713340012668332705444340660528533835850204584361251636006085171203012471370057166312388881784461241765528274770883576040821188582343378375325827871476618307415133284223025754412274405780380208870760507387065202412275566818206713530257333441442774015410580611507360663772263115377703724863457228021653176888168134834876538354202653466715306088730065567074638431387805611170274462243407771136500278008207585834777823733315478512827434211214471568471483441878643187817067327116607683101753685752116712431680004553663858366105778360341175507168760734882137568407228225361632827438573212406470847152682424250146808277753667224438264332116158364736846604257016581137718740205201370442010882236640487626617054005067608480386067160376671875627843208530166407082176122238281274020617754317838786027448147510386177528100804414152074560825832873787484886571407373032703516114626536328307370224386145085618401848725311374635415174200348148858640878325507844650071062784835662078607316658401883147154458762665628115573250838687443211605405360370540185084217577808108535632546786438482610620680218525048668822377507742360807878844174230641503026876052328804684760782327364311778447123757717248061580555343206833883801774633542554124564108146376012234473837430715377086624307501540210146447670358753884466385082785142711246504061155085756543082385436471825567315258634326838164054467634034111737471000043500783065583335036810503634825008747131170687635282588557364371433404457547442335216160280187750804211781083161401013208720224755338170638152143661511167362757050510588301757802105350444852834320510541502356505264301722025368174783877461712543313015661784540155078465275323217661875460712416071221185766367812851138531212873283437776162565513346272283004113037303738611237812076428051254436227663214103281660335668330675141204325167524755876881856176175200648113162606646737816233800348338355102322008064801667176862357037370231763128142473404316625444886701351287028803638164708641820813021677414347516410461175573561377150846525040180601611327212106136812708218340587327212023387728088728023416015048824130520617572228680435273832384437106828248235048236704260104168138217554167570037141037210734360214886436473510036342248227136718524041366211830633450072020087475757838670502460488715367172664854035450687878875814613640477235021452187428012836134184358660351358028461307408476733777201058186147608156774355005702558681236006077752708134765533265518548876452861473473008162888223703451537155506225007022883318525184012087227513032646253205302424521150351443818346100625344870736825827046888425705088242514771185024005852150525122110521233546057341586711131416877346325573401528572526063222140452137517421821621856626117534632737145367357862645018870653283530681306270768023841226780114868825350415543671033326666126611773586676840738343857337823033403756482232042253654488367248566515383556514377531350664531643141577886448400503122180333040646775310875236600508324078273138243242166150660757265417537464858512422351635764634438221283555444427032874620583715146082153587651858662850730152637260024380882340748153582782144256281662875408841354328666311428488451500872015416121445486268274802745736244331781442147628606060587615386887078033057806236006664252487055614388742050505765125441223521867436301608127601750311200523757281664558781674284582642828658432551001234723432544127612204481354484522875323413130530855605542844363014136757411204470548456150708673711281356260431055187051552141283030237031503842010713325867425044510004756030064721276028350544416182011206110651246353102505347157743470846842380415743761335728538167784880331610546687367227230833861283881027236517418861704826720807872606503635201620230823456333278324700407720884865656533804101652510711340250571865407820353318380185088770365341304735648416846016002336121472636208841617433408262601083808473686278571216086687227867208511026455023728878352514665845767776382774287370846655114632370503073114220747615742142152505524861377200543577305348456741571745862530475360230503180133880867585414822020508222432883767357144062726640412214445110812461784267546130872146136400408412263818815805806027732184483464468755086832020002230422325343007007055654646336277466585534461610362472073326318660185513526831572280167138015827764206257554363182637041452800752648325006111182032220246310404764778382553123415352456881136673828323256211862681125713240408682633211784424743682071101255842875881233780857361170836812126278017840457516532058173710375103245075007614307064011251851830588341068345063705421705500327832875344730433241261327046006386620234006157514043758067648538774638633121086120406646850347854085758722378625334523053811042272446464106544868128222537352008400248780818815652622021043755155786286345431126374518511286266685016627145665230220380055825105405014618773755143584167608447016605430680830783470271731315705454567785086304875737724704362710216728345485083417028218223050336721421501012137441416724182418513764726314048145428781038720878351006870153171638266012662580326558513868427636414206076860825746324385152751011315788474551381556646017377243523207673527361080156185173673678864245527831463752718707104768784822832273671267466081846644080565645163287575628148247411342507044550874517773442747403575462013757467778657007542236874064523768481542571857166818488137371485803424057201800708855630110446187230333168172264145235541154318677883303418457430283105584840266645225567700837654727762844683261601507843675468751313343648212563122130241331076836446645634776456415516381635173042210406021006452465731324511862056130766643068685017273656358261754232423882013686766368680040012642816457372135670263418427800706061201213881430682061360561603700445438826140174043661333051485524085741461343508474341272187621223582405701232626884486851841031487068877836181746184346580126114043831082213835733270364124585604242427188283823545642635736034452153130222562815815767542376052046440050137774557360462516035037665570076744281566565420805587344321513642577452542252360380814888775182213845384447576005752546383157400556462214168622083602254824255308626811226724830834612068552685565323858447342281287132213852325585726342143226221742413620778624773817283183507811835705408063318518431317568565081156158674737713644317714360511467133281204581501120873307687221665116641623656035001411635174734741241186135412641247703021073410178104083352776850836048357775810700306433201825328512701551140766681716500111457868086460551887742527476714682312078144718313876152863204518240447233535882148073212462407231254831837383882870384544770481264113341857613088041058524344000055026638204231803254606453450860086687178235273328848037563715000034712160170624568867321530380257760617310676643586474114512302422136778131622025228145014856764385653376733606825782678607010066748378548002116528504774123625882562633616488248655367232807231072020133576333782182736880403115550531637336025375231040168003656111425728431446818661003336604304482116212246156477641485216770083771136815327040515760722224764878047188654551267218342712468455338278027105172063164137266182280354454520463805288542527466550838723071621241027262015580301771615818836716767583644282023173464271752706663035775507531128128630703558527322158010700126633250481348658686228025563640300631027264618648231722670243843065044872774627561877376477004413357380868864380633433302515583387756281736775234851372361604354115311118253268516021883135465577537786773248528771566846271015500502062453523372330473320371041466067201766034642462481083507365488207052483814610818585504620476377612745427333013475587574123054021440113347114427362755530663408361345254316281107642146158558047017820057861826082507625352782600780355030604116408613870176221570666770207832223575350261315537313600228628517373407438678211451638388475468625456276723322054606242464134266484311778102633488086783633813525240183875083515730342603435700838632433061116088574231558843585578306136050532638406633438743176135724465070354261413623177375472671202547004768736832768228081850733014622413423038774747210108434577036177667421605315531248325478373236462061328305776455384288185467174085200565878506338400806381186000682182225514803512828555385684704763421047882228063235787333272125685718365514787516020344588351316551055226154168315363170612045744746400400073572344583367188470321145284368747760186567342544308142150011865557283761785460512878067316438230055453155815413073117422670381170358008055408720578630520832342868764380778365436222674575883681783631086522800505701086138121163227621751146528426148362311570348638072113772250531617858080117535751365546784700473274104670121756715445230426330528342513244268552723088371711844541571447708488337505750344401715657827470710303125334532555507423663104644311042676640252426526173640764813007833708053436772612400626621123340842668738560826273675104108666568664335272158236224754338126442621581786581637622458504834441705642828558843766178350212065711086215607774646457177016638386584212677840067546268608530830867500002103154103580547346202232808640514435515258430413450871552124142270457321438312865105858811627371762456582632666843071276742016830010616888104606612728162403083683532340812706672534716101037555366422141875203553530568758508157357628673227357107214354728243177033686608845083418758215276573804031815328023500700706518623630028653306367701502865305802112325870543510124516813147685361838402521044537173683634435404572020832267330458862038827534704602185500464353223524143586602142116268486608133063465883850164077644225387760776584556782634336744740356071418371040015146374255547577215533824452126124560107825646718705548614566810204521350801127350028732845760268836748013050622513662805863728266844438268011433036178774173684787314107651578168244081251416204748883305745453181526084125853280007688784124811832506456715418017367310467863110436285523784567221543705841832232415686888343168771706584662503260850252158448378826302362522055408166783024756381207415743382083276862028457874153860586550846311434005248466356828447802140210232467080863634282211375283672157315728302825534557770640513465734578518313631573526845181016823701206204413581637818828842326215650321657807826451763441087270128477637681814041752110165544573681012432056663525326475574455846330716854475082785585533258203531531484542038067462113272340846108563387444840883510351661744235007208364637685410240703747527358101471727832603275662053511835420836566435124060168301066524174173286305200683168606640663452222171316873210071372174387334650540802028315524741520475420357143327740386535500568884233675555844544244530212821722135278261240650822474465000367401047320204260813123658066212217263215226307407622367203250683017581581063436466600114600450777741144670714606087402627600244256825618782760535043653546556500855041078205838023346868371514327402764868058164457876524603500517610778145583440116838703487250504767167178703611318107428282038508287050187521314061731252301131413322286237650603726185736702036017485065781168261544543268408572418678601653816623767806078402431835828827767886228044526425646332365536202731543864840066746377266755512281438150603678747801125335176014360248415026431316682847547424503702362000286034683262632310170586883107646278875818004042454748883667376147451511485406175131071077855304786783570612823238781384777066341333404440082188062066162320300806320444220608143602657854070188554832760614351102347307047706705145222056803677040116717687687563865761663147747161244022023462383507380847253671251457828587331456288516814833632454075642541057321183852453805614047356832771456737863424607177203447467250251568578586110162354845030010375525241525573335424463736220502373561751552415415136454457620053704618228757767131624455767120754618335164403455156777532760088400133258461442585640147111381206307353254707080705740456783408177844710641681024540140815708822365873583327588553860708146507780284226510784718210787113614468750206515672340303111114712531516253772227486855282854841461301885781737034732726500427624558270622385416072112043015841117832444482860875305413036376573122321410817743451338102448746178262614504441343832507112474786150786704656610162145568588878144158544270253157524568753710620328520300846002063620035615076444761533147438242123078322245017260317247707027214170075455046055426815464287838434672715104274181547724223472521816847577780510058640743347001537788414667460808371577654420354742083437751140576228272627814887165842477364841486463242484067858482618206377633543546677756240320374476600862344754883058303235622032680457244338128186540717515364001102100546574555324540008417066024112413453464146142526817246150263734372627314670261301671106032473082582512362674007728470183677652558068246212636426750737575414884746142131248761202458167728033820874064525486048326323788863408677213077204501223652834368361338681070473006776475184712131207634042221472473618824818008611244540001238034827120087854264117038305254062537364336237566664400534278158546256840464712135170861772288566444247363546115777720640230238027667633655624716113781516277265051781555720510762842431652542241642620385254378371264821015731436631801455131783262317838688041400230141236143161137383107336205376084084134687742057047532476054188036338044256328100334170677144238758872311245240223737255354680587022080427411068461771308884080727316844858072443235150140408516682423157617547454010051623155828527211874510254856508538265380120511313318664224855535153840048361024504068304274443826017048746741071676081011208643718682375581543844361728328573454032767407340763626320743411482164815175586558145203256013258840818813288651301806301453227846572064378422345076433662252632424587768502802457560823725243624351877056142564358806551443552662107131074068888202414487572144140732770085140367824710560254663635358311530746462782034676275014812426631871552575872862638801356178331802010354446661237228040026525616205033306626515357053278050400731477043126070545508243715844521178684281572347211780513075688113673160100116862066782237451111180232160587227588034088141462120556258355718772108201748710322873631577028116323843724357868275263555087312064461582463433821626814722807256113813173457557221024187013688273153161243181687654521533253487071205245345085663001336418000658613146667127565382653068518677484801667123202005673755066373842311824041141676515743388212688638233156313018250500608685071522520731555888885734861633876132886124174341885745816465164713652032150138452331360304317140456584763846307141462847637451134500860865626311851263868476341645546813752223280354055810133745040346455852832441781816663655324774830575871228562112272661437351803268600670641162378421546276104800486643062328840313284225754280175364278680827028157402218644068057386016285056401743571217570547885032237507860525458408884586735542543335550621341043876685343153648545513324745260483342016046233284563866574412847252386524308601138888860223624275166786722863617724276652045747546413200610160025160453266732556762168116642517767071604466145882570748606165324855041337554234157751506128571315243561378530048231466626805607723428411204005875301256155363605260306362185570263367237404768654858726833100122383504751416364540882088681538557030784627337254050518182038652660224686401717665532021472148675803707232786475452018050761757448723048101873240785801317076546383015413376841272048707516172078886510402070385861424563461823413466448711448656555700502504646104286406001612801243684500587438457133031058368773314331677071467418256002276721157617402651836121747477851655056880650187715686611000661147135217738481561253086010664450611376623128703777541723745733136336082143217247237615805732264157553340338664635136124046044623658078260188155473018634444017731873802548542053523237062685826721515088607356237730034823813874066188086386040713804551364531618278026156455843830061075518463258353552020207185428154011607713082676540105163412502374221425254860064833705135837445176200017770505865730062050638306142762857224730503582804271887832520488623737716218878127034274863683503524030483368214377388316065588881228871433884202187531347515766882362880427208386113538353567152818111641000515687024272285484718055862778127001572080571064250254770408140073476277568515262258118028647076614124223666118045604702402868353405002310205803268425223530205665642406028226015686426055603223245331385750107048687184787010527200355501405636788582647425150684423085872447411026625240883537546146752760481258844285880852755727622684708650016582775883725764713333521063488111160472713335231033115353446026053218168713475746342120452714760601874481805701005443725838144242366468854333837350482061617201504474316847302776025185648682723867506635253507646410674442370710783611835426516672135408557311126587545565637217235114461385364535528752648636072354717744626821147258083234361831851447616760126817053806373470558417103501127887153783077361811722162078280256700681030372608187461680260838848523327783866814844504040348637868102127467060175102513126180063041244201748677133014435253008585472336575070717628728510016580874570770250613057776157216853847708810351713457262064734306672601535483340647475805372721502336224106433386824512362186002385381436727657113566681242467316585308250640308417516201248563670676711553835652087664680606472242006125666264746651004067666755532762283518872784066755560423800652676578678587785548215850703827273577001313076317028874230256158843150410450135468715340818583133731046733047274645373346467656446568225527306831166854668075186356152722277264477056037642632520082183631715564580364667134057472484427357125547225146502544623302752073270537560716233706678124011460117247115538508530713141454206202830163441253772603517528217785146145104722884724136767722138077028014303580440154263505575432571006003078785484287575817800081330250315780811556188626338666821256785870315141021403460808511042151700044061282803035358425304474255282858814265530607277237012173800637775235074738235440157878785020613458312700656266707031006111148245583456566722503155305371663837861103756801872287118684146445040765175827886113464870127702347752076411030245005824850712532317544704360633253726546707014661178823141300514387883321323145014135660208737605645767070514100582308556155841430252402135125070205742457783044808544805834774304321752868661117680675727635602004435027376806822002464527517674307078007336775157678623520775707206070046113484320828136541477231311522307702641068045455284577337861283166881064531338155333853665875074833138723514047381038156570778543346133370844247150552203138888262640637707756673477582385217671685120230148048443376747340741384271166278126575052030601257032624037484113686563777232530140841161711826573328132865656842037077716023702562453542270668373524546205732453784020601683328526576173778554122682585353462668704066262760481472848523355143727771788123751317768644785506600800376450270887662066433080658500150822021264163858452416743106727023685640517243541360357770842378452220646648763020676275277081632343618402130624500283875136020571034113774875113034520007520644660862122364878320341443700802318332655027732287511702830401623685506677451117032344862564637213123001226560735007810280072340437624675443434282581700821535303565342827140476270160874143671436043546021681334545524477574770431835377643312072631736153276544106686622068003175558567413063725067856601542274454403027634634737763082157745363243730141444051587578086213320161081514437404131233146482802104018583801354405787380668648148867260035743267414131774857050630133386221180166226472432063074350424803234430625486675387351432832772565340426385213136316031876518488852545660278031705611568820073288562757635138414083866865386200540456873123840854437860302128501560114780142681632177043114150363367553875858713137412121308243710244827560452105514466755713442102072522644154065413887370216668437541278453374627343810733681610666168182501026076470128204723833165586248720661358285314810148075481114364407770045358180522768154830126688072001761051866835030354013124068080143212023173746405615665140710704077023782248278128062616742661884816136550152010836420744653375232615780271726335232646346030630017635626674066787685712606043576024015265748228435234786842237004521022812303555345202520435244888465121337835058355620260106420722757720368503540682448041172352200214101533226874638236007033606802177567377528618341743457576820545127126735710475873284027015107672010360623758286753083138486886700650008182372316380478171563554823172601114660735662537264654363654888506002680057653284382861714474461666535056512468733357177882737748882610886451471442815203635178655281868470605174282672346641426604313061302663052076003471510656374865418422542783715102108161020066545706510471632362724058122068358411601755712682403540080420507321460141808162151112754388238814374315304116513508522382434521186347063251750314853530857114576558105662476107325322350460553747565882520023144422874278840744460631528622557237706185364317024684864513568750825500137550004473486417878136422578364236307645226152153456456118275268717160852507425633085304333088558061626387328285834101243370371880547822070702658851475408462515267507534660160132821378001876034264823784766531350505811665832747732361646028544831184263563061207154111776348337342085881188432216545626282512135157621477122234052358717578771711613426642780410448638056438011286413451124381255402331516722375834182621300411008815014308220856152108037463173276460087644023247317044255630050230068750058721327868514417507643264775180642647460136105245884860320078073665645125103181132633103635317181858417713430357053463125636617031344028456218546582723812060313454166748545675361251647243801221676825068738831584826486276522303210283343835612684705747255348801037667806884568405360610822283266180261125173861835325168251357126806758164651478156723518613720815810265548368821042183011057503835614520776214184688623111070457575160864325234452358860188323120651713053100336327115811125306378052426003015532164123373251735187746370540835416801362472880772203638367432373346456181512825130655161475413163157814361215025235676032552121837570481350552784517402312118021808022480615612368450382133314115730447242353034113845367755182782747316653477145820748344102441001465261203643645241483687624511382244138330051784286567503416578381677232005664475421022646416580481124614147287838324340234514061763371534715643623213853125423874754183532133877376211837372504408088784287315564382237537242170853063514657103758210503083224664801277270181783007480420644156375430850717716866881875008306430617475853814386084651847651718104136420705775148004862858540044002822250775066455637332305370472326317642631835707568000178778622837835300235751722048124487453630770613484436366431482537266227705158048080148308015830634203242606355021267312407276536076110215588282257650474564287002874652135336124225570718776744127578715041018874154205171225078624813403822668550551443128425078201460074871826806586647562123677028423082134618154781715660308454118140725536550176582610744834448107343063586007415673527255587135327455105348682806200684044144687537534726560000623203583288817505575823117138366366013238145576383074846136785347807605367737288015842056501564802588177187602245567065257814485031272778764115383424565720384317103616873137747361318858331456308676331013278552527707717130367311552485710004111632830554002412130825337738541841250846071134757136652612572826333587026557512861672101865702020182180443815103378263730518202326256626260022343426460356785578065781257624503287154083135318551024324567152686508587845013282301478025173355441345772428834822728416220113502864614586486530154841637153056243774851036366301457074704764388155585688278657277384055026207263042820105640562606301752461348644253053010003787062452601638862643524548227137676623605005081475544116485818464455523576217305807568324542173204458536455865125141460310170884750037234421028464335061822261622207744602563357306172475466720400866630710427265702027767375817283672755202743805570661837600707437003242130307454077608576368027204551023755041701331731518882657126736047645822251008053077462177404356283454417231671733640246116287867076274684512532100762204157164480718143675570872153143143733164488707174855438011066000427726711151304532417756438772007565451574557406801274264223427343842081827800135211346854107378622160841743571118180133436485182176365727100284111058117484305061718477211806612155033382170833216718783804585722005200017245123658852104850025338784024882556640170162622570278807826314067111554045267236384185503604467217862322137115246188202214132410616646711312867203820204435813265667264178012217563664051866263177358802088684046823656500517083624100278063144387643382374623544500655258567276884456067272267318662764701282515320654335257885820706811875623337418331875241473567703584553603710450547746138736785264053628234688772551111013750660781745114863100105214433675141762360585302524668153523475486562528888604434472800521225011421250256347574388377276808708723735634665328057160205706577163050684603684247236236672230278223131678470751610646745324456067165775523661048353568003750363227203162754025283536561065750476343448023351388453856054631776007222883326323178038888036042587124453108132706480175403062623461242861313872514253545144146428514270342814848161245652187721250881772314613053533731015770831250357238376536171808432501306842205626504843371767578242382438312247270823662714362033722288427306565675330175053207667707864733505166262253623683645716620026513763228365106635421446286803362383524043208062180201042371336603833734380612523860528540802788550168237488617278762147747420720586232475355847675310000310864242603338564875630460145743252526013101325414405678647266341683803633666708323476355814650168838810381282087425471770104366026662787848632256140073486657475468338405440617674701602607843721664252212205658601614588154408863873516063173471581001475322726632114752643744107635423804524412282318675517727458847257374334783228068883683082524581237347662147252073837873322084448443676836230232512282448060663772184114451652600757238608061871205407138685451008751622431148381642321247310128270146860735330467321317437464753424544383781757134432650053210720667013620650520317784682562064426675567522482176454323355657170685224471438427844015286524640036862226036112124743185148755468853774751532423322645853250688400650650804436840340642021727118381358175123054865335371282353070610025630772041578623412717760675161112450187288100322057753622210028755807082274271782155628176787362023011577626381562287580463420353336108862412526353634273010643134018668811786547574126814571007740143203436456587226100067531017051112668753144126508574153607877380700308114141201331878880231335103014303743268860141801246108814380113377412537053676382644478620526754018628570043066778876133783613131280056027347721433657072577567243041328226018364855074837676446667107286121725605862803322665673700030884140612303747430676264672355371627452223642854064222768323861441443841851442018080230546385161807337585121611104524788888448321284682254258180073323705483657385678230547235652403081508177354340732022283761068275033563033062652253447642000333621882713213684307014404360480624504036238354853388471887454357623374345104723736420465002773601681062648851813118375081638006802865034245672500845518008117822073666605184635324051067285718304725222516882625585330416108570617377555058082134310152500745080430354488604386873357163322738564268243183680065626103716111647170211343005308273583806833718056021031510558452336382506383855150345180070671116111188225347168375224562864111371347784130703263385677870720730470647468311422185375023356556560342744365581438585461571358585703677157224055528705703157147066323317563608601134228383283283456652182855638710588517165006227346581707558715026334316275405806886131215032554876556855366045227573033162534341346646422013278025258855044622642322445824170168313667830348511623153515773450245626165768318014253340676226534858417108312051816251443845135663764422423378425500005007011348647261761771277333647668485407405682053801318311011258825471228621753363080285882607182642200873403410480124713835146741643630578443142663352442642351286507736772886486457653300366621862273215524717164228431057628510350266185862457423305073636157327178330456534178031455780228446217164624382107105012263465006154168236142030413248572575842288257632454042060256018677477811515224244215688628882422257601832327347100107353160837862230714052277615044283720302208541257303280774286140041514041852846643355272851301680040082581884307627556835576553872006818120181732118110833637174712580607328151154211865746757284387081807702625032028427066647407572644274518085524718527566615343300314601806712711086056143845587588701500334331770520420021533481837554110770513643413866063775074360602705143641207460557647463257473445667262545111852633831767687753413460764686602842227166260138576658507238073158827610546063005288773868563020344102765885386252678283483871224478103602234532865760414480541081632534747575778884881338285011122170431746815881382205121130614411638226443037820408087478744822181070115284734244726561345402534430824234218823672588245853276668852874247533414717717421380063757145858235317377445313664503417360681266873118566584213775132340087434640015587487676083651550228562104447417065734118615615441246758604407022625888404072576878263153148615207447266634221067341706302448714386666657126806108461082247532582566047226306687307152173516183868466038732668114803504088041210116345152843508710447480314134320814134415670658034887671627560403374285700666470063566732560305710671717824404420016421700678007633782414486338440238024104804407463580771425236430461888825417546418136230873740828253761217626164826034258111868620506527525304368216371015172831832356161266304252054455868001485578066102568873864430255660055204476167648354512576572414647627476263776505052120006280332102280765501028770311403084783247816150886556088460122482521453880832000488580806881186136846520721354084671218870878765501740730235664623724728017851338786714203444356640432225074461355118037123685178588416713602141774713380243188028742836308464675373083345282088835538506108548400862363324760380732538167550323243561686057580153204257238712382562380524751803732727026611606406556756684700838272256375870238658461456646280600118316742885032535432558866473452012400781851335673435206372423043673537161328647872261882458837755020612605764804785744350086417431374416824420411514753255367543627177427318175570262524768664533445621841861252867743110163500284852761706681753723826165236542765606576286872836844614062705887065120447868887374015225104487758767872077142887650282678568864827045810727005022122476801003180065124461862071722151006634757886486502040466875086410567564664270064664335811338255447752143686578222183446372275728287431624272763341304132068324358577254440735305418708034127510538781586001736773357448200303077721718116688762173135171347645500357335363850638415737614052433562335536573805016376831544633052556403372027365513640353752377142331631117366380158364246012720341888348436676054126508025802388830240480144157406681851428817853554211027552232760647666582011512143717205183323000650633411068440705323238375306167610032821845066746333542525840016482838465446513363401708266108273828286357065204103135427264684351033011350100785553673870725260125531035472276248572571030121810226888738111241777152475442704785412306311644232480352104622506672151817337760886238018528032055036316116452178831121221847300654201657568740153432471471454667618225634730135160560660670417107614428760156253604236156868076710158140072671063317775777400260333883774716638552025568374315425813064330263026662875724157408148330603773233027000273751746380604858421870354263748365673153071128332646435475788350547068476785553461414112074030783402744015280213876442215365614331634203603700753308153351183756307247521050057043846538018371826171136835484611642588318804787158878273862745363387307671275330703174188263545472346362756821337383202315438502126702314207248328204876382021146023640085532472114631353537460872756816312054243122126133508265174587836768032074162274153586635875235664046887004567511834572370154482513602445001307014165742040886815001037280577133108665066470327704318102221423757751201465171466126406552722551355221246761465410467501427033776870762133116511033340230440605670306177782181486843020642421514736083035132732812202041701816183145527433225346701530670023153460733635436111225272038508384186012731064516264541086211871123677888836047231261388871114508454115084842860732112284136372764785622132234478667286255387205561562587240443123874133558315148070377670348765504300523016308410747347377682080264000703314383274048716085875327050742305671265071455850448166678814318121813125410647337835264532161148862044458675253553051812170581573040247885274537301561384077886786236044085884102604536186733540018032558877277448270882618756155552627441152741353248085237535724715402336043387156737485675752826773858316127611755243506575667772078747237122302114736748486812180575037773126716282063534322005361526678358336802100366663003208416612004533052528860838051737810732671015260136112776305675506313272154346884244728157533005440734452752732804730644510831064161222615043034056801110514478317834543587435601526845130085853452531156625711062384713132738247570617711570604775467231323873030514633038420065688075854152347346320728442680133601307401687034770826303822534411165321623652040536311055274050366007763664054733030234746446872464603561300726738868427125724456557522540583055475647228577764723360432560665188377406877526474735822317776416620634812018603268664883257027822641626534171703731214721581274008830157813781840355638308855670530368133445715855045435006834824017757411504226703583217020410088185686173743711038523625636482134158723171171082363865476546430511661668437333560403483137038818023348456345403067770241388687066878845418871138315371200170811374486662125353126186020310803165847173126341087506708365150050331078006302863253845577845321661474357721058885080471812867746772380112121076047063665514676143844034207068136420185008011771554022078524543202308226663181008180128350808571252518802602407682117534018637551155632321145763374130163708843158756674053278446047128067713425652565552442415668651130326572612684347056653072811272025202024588565671076245308686677504744151707222747603117605810644745142425417442758607822752283834727703282367316314020504267106638387426237507311562841631440783845602872186102854514330148703502443500802025255580814357507505405350872348227850764843121703570341541178482410746783846376686014648316542438752425357240070588722307711120178057272503350775501470376666006668815423865740438828585384515277537377724338354764317145336584833633378337850375078658168413515464543533443153226383208860018445656485816752832100787474517575762855657805167465650564307743117404240368224751528057618320781277401288052285853737657322585136736314372452100152553582034678453763785824162660381276201280574817356021827081056386877262285885123041256465484077003226073660332835722524133325216755016758141804341117126657610370228735226650833431137483074672110845647752303804527016803382505670603016502674583317057585153128770441304013741201715356405413147007560771840315016064846404275112685036784636205238183007427532257171608025160668434832012306345738007872401204681745162282868020624632145756146670163410811366865270705133260027653655440280432382550220732505480773034731622778875614644462885818121007650572210241286156120104456564075151860125031320455461170788181558534217486408311442855071570351833860768043834534664114323076872600016348068321318353485751526412222802303022816380248144658083382351540015640741181273078731613508422606671211222244738300527474854642383081623375646503018602314437744606878376887528875434062014585681471738347274145646740623046455854240860764155803173338268846043832771662702212385638151625458376878603688847582550278126275661683731435357803715607286607713652343658768442410632172035115347653013458482036106320368686242204407528578743835741135210314731205036745428155522865735710710687217240660105865375084535782565183246401322538340377608452876475835672401347686780432751188264708882765350304841454166361162375260214545471074772123236883365470515075766107465871537712877877653512277767166807525877855412287027445224806154264351017004783552701471043214083655451782435236260614582735674167514853256468101025745853635483658313820654047023161117031377478731175476152426758265671352322868570255580502473734373377435022375528047608488616601838100476675578828631436761876531736384771516078644416470718882256138615046621127812157270470581066036145256427755372117705835017817444250763306187524144846886073050862758727104262615808577233288421736786562883824360562206127731772650307445174222342243743544275824618524811244482558604244756215617366106314280582847025115422015026381317311877776288008846383237105734002274868110470044435136403568214057007404738104235264640602748555246644185142322815800500058657184573185774625341854242661258107705152552422323060638326505584540264253666650371002500262363255765662876528754157441601522082852865072010201184828658717043638657717056052266846475844372136530614224621405006674382120267572253871482781108828272110216503881803364043711358237304000836585775304610220163306424783015288511437147065338066101261711463213881675871455086257818048056577238176461364661310547600024572071627613103875734676746415370572135634663215376128717750650800473436342388852584063186333375784803871118702538387616020604686085041752122847685803721644143146100124001633235332221523105417703513356357438204677085445041554564058374807400173088314047872856575488067833016701085431204832410713514051606811872850036608441020856421241780788117358813364042631050184380120165047510267614653113672181635235476625404773767456580808706010000110155301307182388544474725715708415144305862307623048724582604572013463226051265321687076371718320620366526466266385226053516061042880058772400145140867804277711838217226228586725788703411431166858211208051205168483773702560162015745572824252150342682284676013402005168401575537072810534664818714752257660562716841141278223374155637343573032207263442012437521613367634646517875217317460874864057117477381732368358686172186142542601513600408055563668423586711800048376264686040377156403612431451604225454074351321873022143077838072747547148713544854346137825370671526201463562318542010832115618664550484480123352548123334344687483180082827753161478047034853353765676538443426578661071651438066677507850636485022525813432832704014816137208681446154128888403088586454111448761544476313843253362276873765157737427683700053448617803270144658665542557221068562711152555680324117370237752303570267702836387077785585860177326523811325417002263327847015587673828560866665078226655265027251776184324620475871006180308802610278232417228744140641280124436214227010580081351084303488101758826234704145672310671225733004303604073640650143872057102303688467678316508735864526067385540537381211163575238365744223410273420582712588181028005211602663762175686027424021782332645172222042234784817176358817275875680642720315328317063881746177850501186647488308550544801225302800585660255805457221682635583800886664460515780802633720528250201543345456070640250553454773063640725052432245401444184403730752374716250813743266153037836871132876813603444102243772012140526341643564102882752464770544872408607378122462862153037217577560025151718501181270851064711165748614511315567045072157307845747536388402886880770370550488625087484653418051128353220242862133470884055833318684711533238808072067008370327885650264763284462422212758785327048502851656155355306338156813227856202580020173875606173367813815818080081727274820477686126670513364533142654161641143152230566230857845066671746587780028547275740407642187508707033518165682801140352813150781881875661567768333300633571340027456236326768634832353868006815527746680807268730218156050745741380235708426202474787610052605268161222684424446064218467172024257827617757338261128011052064653067517820630726782757733716270670711510360302686681375365602188241445863735376674633782257376517528266706848258030667021711451608484276425010388531625615301118517856436632524084226164347070630058327201312166152235414103646876500415878433384186038734242873006144757872155442765518832357413404087308663358200470576531240188033405071433202647055081222250254171877450120264123713857111408664276763461082381064500552350425618245845565058325868874120067007281735043752043356285261058243164638103620263417644737851860655878005508311463308436516816827741372881216271601373166408313843866237778270758742277532078708138420452268671235188053044264547614277726726462775487384715606656340081881186780504023136065120686204873378008402842763002322628605363740076666110677615027023443278037813635137233344338120323336026501575172872744443204446500537627350487735854864675878271076128135816364747846404017187313765887243201153554073510023781438733852285786033666308016085733708676134463188457810458743772007744858771143445252142734757247333544550585775811760805335478686476503615475343614011134042815133840414417847382548218135818416401428438008171415012464760602428702116618431135187731006418520181141423802347100334675023243484633145155374815348020441022071622588634283747588353075463043361413401116414857444606718518273125863201483517043355284061578147173654838122358051533845301344071425415622213780343484576777308240374356448353778135764557787582258388204248544582045707226011212238657320640883478451383645188115273880402708711447657062734772181885876064375480338675750857576342461576367415154508810530456112833802080084635426807248841558171220252246280843456705102816313154528410087828633552348236066806200860544348064404677735613604112702750020463220432657740103352766432582562050068277571603124825104672054072387060200463418575370672436056316537838411257145053530365517024285538887525127226233413877672027683634326604610723657145545273364364818830442154315002121516814570864066601070848734434231060500487238004281626054522748481308313781255156215283862368127526574367143085320777165401651476887506670700552265014520647808016010215434178405378301683856771460576543536615616562050450481452124870621815768785647340261271006346506220308578162608002764410134016230286108008260387578340625867823822402486415483658525454344704847634515506127727152348066573631180847521635888513132178441526326270562808737524336404018301520831472384203005100853476140784828286386605805722380833435016537121844180777830420852081008600351762780583178811732410567278105721258223888777817023450143431046608785853420223415215110008227886262545271176282855674303305745826731877273238852624536537017833671012411476346013635201154360337104444286181044338217831725642225005706137043424473660534168554215760013240076023120016402502172700071242756854186502408720472538617018170424351136110021406802745102078140012020634076331484847107647525628364022322566882224028875776125514388772421081884734554650663246762314418054058334438745604782584425447252403286382603741536356025614275766016351874003003155847603046700246312356810418705225663272238517413875038606747882740783151256635286468884048675245277051124585545857673712680632285404814220147007103753256540468420301100148263012006374571435106025517454244722387387783170185006805232262506061250600135411334465348813468376623275866364475333512444158870752381020175704082231820307078072545033873513801847341831123772363814151262244621552710573415711471405416345542768732243273757410871835883284037815434346330210777463003046211338812538817107034511504750327481388862757157113674884508678566756556030103412640254821515030614856070671052641170455340263442547284511511268804640325411408258348038633647032373623301127852505731862534366327483062350713061774587845543052355043107532626853037281824342574630234675403164887113057076235521154577000037187281681811516005033100875353784513883146442824234301048387084617873746451614187880668774556177277783047363216473666150512281435385264386237255670847124844552626061507834740547034602137016147777722370143854780282221780766581173768413628114725280618354642508650001431337134121314614883121172106778013658285454087585467350863545331044240646874780150846430348371466068024630767815577873366035274504618712658001127465744631121001788542265830785717456051433108886740028543600455182237148251210780413400786717002736518116744415520011445220120851788173054370746742572110265542210113416414416850617700862827735035570602675363081540648861476154815147278164318664520536227282467151002413711331888202603672041713700572110587262784216743114845107634422402175648783310272267114456500210467636358063558802258532750217545733135550187818424448374373401237476503317118245182441442358567635384750867101684587678200387400373482444773331571008125866581026528808782040856877518586748886618526233230173406821513224345511302567656065412442225170118101366426105413352722778866052676584202313138621304504851420433734504548236441403518651726007822701574243251756568788348268438438441332886180462117886503015168860320165661167462803046313671402840746427173802850687771281776218767708166155737614275470026760811447301115255608401784254386638030880028242225165716673468854732865503277764760637352546626754883116535522703128484008615513071011518557806871308424157360141667523233356817111311726040260411382513516111524800138535024000287822705611444715642640735137562560206310432761107441666475524445601623086316443038764740516666608570075022654662613547871786668085813585188230657174041288235532644763870858244782446757818872744187667077535517421718752612335100870182676161881168146822608522667016506560044374235268747700337833301134776418834307400125237025233745772267085351355077564001027365555476227711433388326173334532741156423162466432120223213287736758060388726261804324110187188511234865148364287632124675307820002252382450381180802501183758340181147733756606644351065522086560050752682208006231733306276821204428102805408335456754873032427551001013645711003125557676353
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment