Advertisement
imk0tter

Untitled

Jul 26th, 2024
41
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 390.66 KB | None | 0 0
  1. 42995992819299354375787045783831716713684802375047143394324905698840794558183062060919202718887758784862802162485931076303408924622369717828666835564547086085831437946327791434872751116547496033162901257463905265787520128990455695502709111380828232677665825825459007741470478032516601034887801122984390283737725015124833391283432639707570498170928280324444251989820557967254255873831708615063875007439543890063728099273374416228537046509594407929877152890218787235358543435699522815298407009785537358444547777553152280647907839316993127071266102486737265456842673925083168107401990863752586861753061010106382156986029951624224795388442872058689242399176416426077974782816792471791418462082755942694458307285251366580260046598967178966749620761499927292015904638843876023910774006527897955960484471865607929639945539103428227679797605864598944877048360604346397236865528127377360625744180268934884412296131788727029943104562128837632340155819537337485742236956966234830105128630742999480667499153889315531970734289931807308451155524462250531162074344448688838509425599403818332288315950854296426949534080683686715807193727636807295961077524925302705875331896686020674555706124234034556623608732540758758491843172838831066207969162600259885151814691472562959026128028814090495403672666909510929505989381142320362183726507140127792397587423844721519826555337373261195973989418427853311794071820188971614444826469791739850818154334252015942351011543253668631073015982812497360634485322768804441178739685270387585324924997166857374752501251820687702518615004043331887451534355258185994708201892882063444401358348929584814089189357715904623701755217972268673757582343194340433681101498032246437151460117045091156596743008582835875559172116735820058949999132354939216239706479513263556098496425575528058936715933940438675477102625985202206998572891980293901269573954969153572669272005321867122576792765649013762080226382301070079436110907019237820241342573247615281275431325206550410241362145377510141205275954279688064243977398831282841815250487972120603967316193812485321867958346808334713440325359870875754874702856914121827666117667916609181635621219274674037939435818398787948769138032993744362329350915599738628855164230172767419878099656453512504745658317471395802154586251586638901471074970188098058541492155994105579810042429361678576111376589893584651302557558065248223421499667809508642344962275491444897713416791112736353941475575247452715311925529302116152560857581666456316957748793357935532483676510609240941595716336640490622877212153314542032461578912843883359788772983804893250255450636608715570504971174080223973466691052812685189017662298781472898384727388651802462742814286062187718986612264637133482302511482910367772671884393677451157248173068007395950148352144283625987702718761076443932801104631971198444025026449435275585791500215781435167336167026642419003024325013561762520601015410919484601641613811893630211230109893777786633791026974141113657926469343665907907030900560849956282731207428646396548319862245650964028946115168577361617695517748436157934168551187421158346304228686699889440764065320629011231947382252069061369430671823667438489331291581006054809485982647553238482415018793322434744806071691344790556983707933478877906170567743209673090379394498368834160976259598886652954509357660211977094461646123166158489336356674682753897058686668391324791041903002085634064244352034646894536442225024799822475956395760781377566118681646593668431328354441116621008183455218399569210378999507531239400651646012555289954207975552225405436284567786752298657738464141005455421096371022410957897595955239569810377115774753316144389775756290121889680062465461821254985564664638109374742429509934061036095757030522890309902272042417851145839992890350978757264977030491006016449197837438384538786042546013913261672316653347714243202406713025159938234724830867987340041841820964340316339568383168455614649852945799180984408929157206761896087234307703221699889439829949207408507907772736785146309075319079497991291686150065733208154701003975551835892759841379515903053744355041171457978333777132929675065907120563500392878089839239206502737782377030642431131818842417997753426020542190948520805367962590310087682214658417972692524850113441933934969937522856392398859561930911126127430505174538247792967161252620184361043838228359415439169547875570305854536153964545686251247670222619112888171943992018897963719057169718462605851560177695040546087252636164525703509586082998592133335378635857760662555805660315560455453029463297393911107075877019255813919586520380820863736051694489900700827968125050853943665560105574764288247033028019166527633351755012608764809889426462723260461034696180324651594583161129826676316337851135936229416659403454841668930640153531074779931974016094946877800566717765480135734806083001829557497769136913289146398361945282349913603115957643244852113545355894140122050443128152956062541702210372404205180284442079433548830882386237409697573733758436810587556307305584177403821341920662191852776627168680382848497756038043809457327181727238004884646053717840153191366329131991075823087360957938953530382760774211473687921337490905392986085390682553178197175480268434851777228069253076875248651612817133409426959878131298786331436227244471733499346157899417641888815483680203342169584231014703451933931941930204155454938270614138245537816869402755239415732772577481756749657113552774941993351268946517292948776952038314267655806292222734524446468231769703983717253973283284976757466020930656963970798911733044896271052537511128252011975680490166470384273009543507461661371979464283839591852282816653960093926911112297856291942891653794854523765831892086763840468588542867337805477632769749403593570855576560095370705917919896493256609060615974822969076079422259080206019552940543055573281103202865988285181150131715718953804773992079934327756192756617169360291304121320051274512505247529688272228094820698253410906843492112677645800381332168143132916614377604454074557403193921269648136386223114320441145220822573443272147537585518701551539088639227409079858713931332702233079142103380683377040597314247780972383287217257379309981034298902025817604379622332016980052973911593240667794138523668628091217311438514239408810149111990516145387433552060385711833133339364325334705400879654371345367122724533939091226791662989656151919124662210622303361309059357815739125525453934520169474097993995371590625305045934850186800491062390878068961192965847696979225161687510928516272671159540430359553307712942964386509177144176572839334272469511712964716137221451161456076434730830621018911961385975091219828322541844317902400854562335800689166877930195887255388818935637647995316155533077149801308912228616426812004733439766729505662777469613366735021685973729050575289525006398097608088818236238064048243473869734650034567228252187141426489824655699832005669988421621860715392883360239850580506441403060901219093520797358877812156945367720590481077208833569827726322219753575483220080704818243288306091912560436095437644390826838540151597672694428485708954807413848999813647018702283163887009794470652038372498888379844583555594962970653943174156197437392560016876822599295829606723099354278555355617259691869615703631554719975067186604163974722052628158897172102041803642204979013736760976439076363813775696298575102893457310248519964164435401456995564397368011746577866654016668337731397311858496950298113113168392179352559584516031964577729046623161808443507560828109622619001456141355548301272006247449278695966757858983069342113173880534699171563403633300979406499375085375661662949263053006699309644349605185663662083642797779133076459034497260035949666444774638911737226122718429385648869778395332196162334934425729937917277915076368405158385113710653464891311805427496563453203876316075207410938292261152071808923330837213352986655665565548683845141362325674794601022794392346478458296026619391405570443881034092669455541881456871035563734704433292263218109884676205947379745248809372986192727066402307022611701791411359426240211443207730519878721896899871275502600026246518492734226683086028177750799289638557632165025570822675602679431747150023094466389726216114888608380356199090729763986784997981707608386100809769811884606820848010425244221167565809460405301122293387974136366340285319342615233394889967063068100574367083718469881910023091299967422917236427635965043235127106254279624550244077323339672160250436206973054578846151103203201001463930592849244410214193869424891441793424976018912296640386131666632295674147458538784550309360384158781897876175187572617920828291056698910592054163627983199527249327843670632600592884076577273193936136123533294414696349665102303734946734759899629241972481050827513465157898352202850116311046077783361327060011336366527832813694938268137686725607526838542256104694573390030274503549957333932208557079912917325208930273621243881630206899418919300464407330657324537948902565543933341308202182710784219617460324448642961004147944751891356759561491900923249367432173351513417138976971324773869803862617634583176439087661208145088740747987166593248234706021224350338172863675031517489945639804942216481602200592819412434229560331146707952255286120016352436362459813947995128964805234207066868011808270587521464714856337027667401810025255980520378901095554993444207685330957658402104021870133184951854913355048116593325608019960127073806971105509819749525109061421591624933892086142143745761162916398730086546473930037364969400613801807737091408298866923058558445978609158853416254019396493595448702774354585846780691058648608733965172407046021843778699177650018173639610014086229939166964295209471366576967268566840137287588634135748427625019759091119271832185011747524510261425581361819323796459091653276090329905271716671417242849401284986588219648546855569951298506936208228211190713138854941832418022799231681877823744350725663174024879426597737295813664654119239486481240334315914421476873923072091223287090649325180681335055283640047877976610166768064929318543048531675977755897684964867616841492533244986883219316565725131230986320387752748700609891648306492631498891174078144387249071169970157664783776297609694065876285824366030782853662007047146954861614813399978797282946981346343645857214796926224580575097636344498149705850728048569885398836049366667805126917098386389523929237091142385112371819496592170145443791922224046531689135639862357567884486144634576150998350498368219281921602618059752887846869968462691561195096852368945076104754271541747933727219504822698148756542973251583403980739236821717687863801045714525896190521617723460069782988863565390521843228077775995066206029477081800663022669812063173636995357380139617700806760627779932884495759862988230801167218288732156295695552909257202722468001602553488890261192357410323429638225663494241273783473837276772575907757114394154248720498428629078431588439455110125031290015864071659392260238761771494875720409264837338969459288994457601529621178454159850566518576891220197080985966286967132894318619424146507439828821879077154777733844464673643674527228569326975752421355040523912976366880236007027443591349617969087563684580472021052580185176425052615415604703057991497166029041391225453627390797420734513380371629070272235483572592708455750297964452361052158343541182136890860476719618084896517410112411631678597860727269459945814504752047704554510568994816473071904932973088485746394883381272231284192200841388236107819835296758316898085927203545602789155887887011846695064211154657116052239420095273243706162886656526929112466957945507866397787125756428669722561944268906718067419186855074342822642814370700714044752350458579259285448187285856589584645839996429103947473756186193998078544526535111573100084026716327874164549587969233386208369006339001425642817510602622063568966190414156199216607096325312631418847080450226548655295519249170186438207771872175437263840171723894285563871050316288639921899175440354446633801141739146606685491821768835829978845700553731182078834625732152317613510952347459916593482016240982237920302861712505563844857402719876021547570331867600798601817803214606981299562716687302149812388056782926889149491974089950347909808138026878433001685583463890123899280068521528441112725656405405917953955956339913166020490917623801673265602823711879279011843861179501905470081372597600147981087080084364127149121847309135530327123794668164448476803812365205503237255844130110894483296352335882952652938265296461245464908622789351870893041052207412973702913079632935605165857850308365674321504411061632999789415500765164278084927100842640394847433404128051027424718231503289110258919526196374079497070181555117962256529906124510077730135864385479112113322832722114172484229300639703863071379737472945641849721591277759257771776480683686451105520235986992898140698299492764748993996293771375724014256668435863667370093699833769757937497339818254567586866783121417485079438124571837333016848298256360844629096437060232636316557713775097516096761023460043822587829661916969734864372515317602649032531952838634339985311890053017789179255239210127487590891873394264698094269519076231927128475886226692941521064653792439989108610678186779533983345447322702137571077974632939170381980539679823889152055742056892092690058634190410482967106621641293812866604575251796897973973002542139392838960822239606512946981060692131637859135733934537961629498515831270049865788871542618771380861633332829076658332231220221329946754453318645151345671533005489329689638385841203905246351455006878288668853829440775819841020239580080967522046572284938531943102009804693255361025070155284163980314596347249075725216468499192074560854715967367570438762350287084099686931910887788780075103687379032206150882964897475656813335227126184668924711608380171459400072765978621103837117493568997248223102745960818660646693868026245456720738864919746763111998817146013149680230679214085833496060764571556355213270400931834765055884068882598453208669036435050350991854023733919656734955189313755755506895656219492330004705682232757223873505971280253129559251356312647186223320476583370023554722994113746882281865783578025848571953039989590942612782535639330778756644619652522377283520538714962189865184022169481747349701886200205867276172939503173431875223463234509243913242738388727379504510591837166298772495585140345482055490711960783726915164962466256463158704785026457390427686196235815654594218962612947969092501118673279431676017456534892314847275489698512789074785763151150067981461508154898741163409350790258254271762834923462705596634721807717097946396810233531005365978286295883503014329247960138671971349619781573134300974042985867335450838183669261542988330716848037052572254995664502638438987893588065835651419448847361172604638882826315020761479902486391731566115732113893470401720627226019307655691778416616520450118574537601955689328029559337702831439172144808613502856012285682739326207449520724487079055261983810423554031263854550574460224572436377070399082960493656246112712511900718249892918850749912640481037498045478762435660291598297044111373087138390457335436625266406207866152075040758393488800892655443924536721552236977551137963671092185092225503434365165413343468581239092323415153639890568662729421270649155447100162042393106770505328250386296454616701597416133899417760622555195418859695511759772678606624765247850751520635912897038653933207130452362099855095820673965201292721655518891697057963286079363632611712874372321920920391561174038848700020948210726897418037455760234535181231893124513507633783110510616125039276081372181905907148936889121706756268681364037922893640852458899664797948904735946353893333302996435145429197419359850466809074220697643917587039366022800044268590326920399444271552383575349651264751052653463254296002599689911632692797904348353632493193445284471204232753478162803415814279409016032970808224042689451383680188665073602280077294034587600619217209809335594764169747178270337237911748530129414766769552053543524805023832624476235821161535894492397638219044754523316316850089735792960009796566226433982512276263430193361026608200165813244567568757518680738625317993515537348385163997456046345666876107095682063658971226652969842701108200168780113146440682492149837920139597916744900862557934472735423891126231297457450537918310273277164909955804317600943001831547813282871863251434555129030731659463514199476541668926093364830645016867591929831686447183353534735338673320065301080326510045621775507315861130906378449560435456583035126216021916146470225949630072080840285187954334135359126875685205791944597693384507244854466887826875116007092215045524540407102238287653267039198358285499626304342915173037496195276109537486021342820274284653849688817124093450008019499403645564732934302263361801528842888408282993557885459297395114566795057795265768042783352591524569326677762724927633920979930587040899300698817153673481283658820144026616140816360010537972790147803736209478909749578323687890892676225130802295320089209042631202254381344934140724639550973262158668386578913284963379093297439993832780522254169749416373278682650982394731619446882495266040711779033100943622136306728673538182795575335570501247722281917319079333982155274598000877043745399496090177547701963844723243059783210110110642337676121896520258787070446193964816238404945720084588267352786859218640156604206849515914918341440903225225083781832249069145984876953674090883147652096449189448079927430415780505525918702100765029049565985238127626996666425362448487403201596307780318485659315154729902009168272322997328239740512716426939324453297491939597929506442954564130351921652224750899398527599788742685413757738141380506585659077893687846389027792416546549359897584220223195762224768100334558519421478838469823801772390557507290744189519201607387510522010075429742344394697830598494733166863216186791506444110889082604871056858892951001409240960770565558091795879857535327174524028283809221250127879973925259360399868400043344614575372273987166412948414641399216188371083731572540831912061350550391791396090306156746178499698603395856412644282281604110542741690640767643931412795747448803798919701838655896217303555457591833641102255298317022263193412847027292589637567702184106740104052735140627795719197273601253864591755949264864640849425450272874328174988802601662537408638321016198407455051288577444332613071632156194511697305923718832023427366207420445459818821015185321500749148040690776977182129398955019854671899354430703266509040000291607845047829770526746386794860666437592596715689065388403402568923570724722964451748601908444318443718421903628694022570412584055075978969453771078307785928656848431713488615677212672206429146684223898991613557830503037491202762479962300202091810844150760885738218103722922195413317845855273715674793371189470049097567266406111451785986589579451743939966238918993701199000418846605026812759062911282280443997530716129096789330628162185514132945507739755335833067079488553214990001131901248509611359748209271790090948170587292788224195478071705254742299626708091755208279722363271637628679687860532529925455440915014543009351628409178796776195415412993225074302245878891188407687954760587636321756012884837668596986311308232395006683026675350256107186778874809080894659515954960362148178370298087854282267346599861837132847030579593632150399219967105728291972870140064000802530576190505269341330781740431500017691737649823885593017561669156051408057394118495782957587506335177126670728122998854710555356890745625951176696119230773370125721716591622086792258752762818156847831099229127307817190723485350842483832005226706335250077474290486030013288420335283008313800256295272627610361780477778876687771323162843969804129781941853792426471353550662065929406886872800325452636330297517046439531703376829426723085981764716355007170270220103610511687450547181061847635928088529983467249804395412607230520696463443496860109126325921640347929322716320038362160580335238732978572717029518581596419426912626801387200564145558772370655208568973923127580974654787333412517013813792423878027650360564198795104994501263422208145561349517598447894890934287702918890824963002666296495255021350322211014940612720142608043578279769487638707350318984936664252187725508798480373117555497564626332076129838960892517205234948371147170518190213853748692404201290581212852081471751972899785076390484604365724680414017644183955417076353800677747009861738123369514830247868498795541183411750605333817474892933620795263678780356891962851733574070180926257231882300687437578451587503557304600680737490672410539654200947517393452280803660976608677902738770705118976209566316620073690820137161551120927587481722647452577127589319205557385926787176205109986083224017405428814108914986728434792577777227181008417713349604069539532645293703332796781054324882070260148127921097728903724501802404907632566074109873678079512578082117447825331839849016354917841838817463015708495157180529547072809601779189547650442607334415177224021841685511766804580307758817004137098543317185536812347449953220540915074943637345720920934643584768852387187395538781196330722229480217452677426756111098655213432928455300234495069166126766245743562719170705456936715811933693073349866589349583038798064722747985006738999207572605569739032056614200243164630890618670718301664872625935743056837920139536946682504487563737958955385715888313951400085513718633135623976246882220123696501966823556138154691301883634053117166717754322050629368330020923180445294995131991372341504487365468950749492223973546668030458578772348366629051982632496787663338284235871953885332276035624287670393560018730495419744751200776995561742786738339659473234949178305400991419390405706251417110512347281353551403443034177603477114336032639699170612730631010667286808203883364565181732182970447725973798099836153533114001868836220942398308763650220557879800730939452957205962841823833705419235981080083433463843813890139010913135962085825963596616873330197020352837192079305316954244295514605488817627525010517958801618708319580127955115255351382488087051144125587675193051585615031107116635557646950876676698888273046891852502614402802082788508065219520859981834585102040798093886185221073402676373218040506834685245300330967850124752669042708150410006694056163923276403218194978475274024122045753110964816229462781657275428520429014002982205306635274142361881577886583898780048234501171273004490928240140381427066424402031572858069609340432807760480254830857189677904946058200992757986078952725348014072823152498438298687932436856952438133789681055379021763090874249964764202222484726497506566538416390374262937935568824636488014808075862442078720751040428177530436907356427257148206885285430724759632495190814780339233665079830116579683523499238047662630346521720858107318606401319989654889528624342944976173932283057856238813853026369779139170658318083440715797184880366265715858531150836123958982465857956070328258937699623863594694345634318278118274132433709082789520312218083407088171388827868172625554409114340085713115697643187327532167137228274743478584536879019026994462099909789909247194698435763423677989198173624337701510954969316121501323033338372965055627360382144204538103124460735531027776296031400856280296492365399305401645471439355774665158900087201258883824555419591228374401834779422115459351088335247197164223076546702880580100549525667952504061767232421902556330759693044629637166663455412343027750260790950072390366996680476608850768274974845693205383860478569318752050635589953531574365158882567568178092712349911020103921173163394390885860219136158412861887866886186295373637251441588403041446237767191339168719724395766814289916739557248457411870628186112619135771974307573734935242242420530145357108418206102861219203012449901429450124116794061675177571473593002144009541488861727984962958756678616407301943060104182341190394589824413255140725896972313048749105015126441637793593877661868993097029215853469180749686287303273080205629722334350143749282810121329650900781120515996367818723231671523812852335674359536782652016558111474885706671565837721818969974952193922966792161451176023024395555079251380551287653715254823608236799278839553827265670165491279202406603963298161010942799646647718906079513478469201449588158753397963838185519255369902851952696306536675104092025460926080217556245844609769520482818653425677904867297479875538956836300138905191908520226870483124702294681329048862964079604982879385299857678665738341041080498428803003440796422141729446815726077624341569311827018718545849236885029776249944409324855922824023608302537679859589863125152247281250912317714148404502150868483038222254933082178591561281530239635779374969199777974805653594915315249151591639126829291467726079035436627209856372452615477025850384440677751133059666669836588325187157541221776742673414673444844977254560811783002305973516110762377462542794050953974019496973453609766062472716301273647214761081049856155011644925186773931171207558759608723972085975461565964139222232796150396316030054728565841455410319339235377562942622901721829669918237948248122024735930479805945105837509979587236192011663418625916585180368722011674166931617403462422853079059139030770953069495323184418772188477991183760961338289660273153609263668432731301540379060982506566341745602659018123160068305742091468822759914843479423972684807243873713559255910846600670806751666285289742836240849994016648026541904014097319322919055372337932472148207404529619252614789076125334267169761121724057275680263104235500004729533974397954238887388121407894731166370995227722458488391523359987759584942435540861779571901013151574887964858309798383725088228641902237655221473361674671695776204623419264705212318626790819500139836646522203952305913245063257958383287964726482900479133645866790116498732306172186129172098878146799720768946108506788352918896379688859694595062273979174560371627703799497275501808881101484492260261152145169107919055638634419900118881479162173248376566243914026011036743883437587354536954271806062833005239752566483406913098490633877591511606209915178318852206643297647993067913369804858775904101569216392391361213578223073897228958028023958060801048801612778015061001388565484065035426715211512809398626702795804106989306354722781461329302276210183493671663050634923290040116885588182926882698592664433431041293695609171339428934133947501766474442523251398308743708476631461983795747517582321402401708479506127894444373486883511101432445005925997126515703471250355870255612870700351529472478024069411035413529583914121525623488387636533861650961127811578750969851157336769546586796242970727783249996104544574218408265147033752889627765210069049362876766190725781048851784745933579231140270466603446665965923814495091500989603404478547334145439372209688130711059382172076085638339064608814759682004875511195165968053104402499867051029784109369284139676553582019394854002664228042104065624992230347996241621614870924280432852957001225356960870921567148747231313838256723480819210750409717891961063000936886903115063640505113764344445756511336396569904793339328198382519632551328181950614099228596642683707425196758992616919224937943466647939837467782093588418714975342888046723746900682130749036548698231243646091347026909813072024975196468222628758587965663921813742994684433051192429901477612629395696229557883930779402727811466978757793910947664850138824174296554259316994746354546471428388887779028600176304950588115865536113047375460079427177008197502986747025332612989966843536407588146492151574632249549080852787169409608520192205523038345760454309764733403012534956848085112610253656908576646736878803638875992131418497572474285445898801638615351333519238990218425379633785059690165394435713527976240417081652461386124427218614914146315911281400816507023451295122115514458458875107563922615247133970588086187619412775885328131866979868066383700083323296694834814684471894998578374174614781762737451906599743214890069176361163933876531095150975452761920788434382618416763629722589616250664843495730083958176860516502829114031231963718460997673851216832107211060952970176451763096833813983029729294962288142670568808926156247330611180757995728063544444624690992881994585613786092212129118559887280335809144350559364097298618120470214728257471576003507670035070410853517342377965317718796735136370707147538744132785242612401946911936385176234059616203108083457341350339063059063151168042126879644115388754006547897818478666768016736198638850306456454824298335150749774864590039887195501914562283065258703114916219411880127794353458925537402453353844443848821540099642122688323680279518597389204848713903081982617370450099412120138052931899171540272474240282871989627305308394572403921261308642378192106922713551569951561205613012502051492854514527274995419936076310519884147835444582500725721091622753420487515430385403495771426161601295063535575396786380390343137993533804422742950597977983691931619507310192946463559989386439443517135233237387741453167825363042339769429181967271382233787502798257658994142343033844705043606859642284765618692707621275015070356950031023360183832110130871041802982494658108818859334625336598099015312652126201765519610062443513690680661190397580301090520775270241586354960080763196370391607461012595696409755457814271338644297655201240235062749783167193150644932043863591285572091261622664555585264046795298220781600194862429745365979337974629025946000824234107870670612024163990240755199099505496244484489602040219784160231008973311572639607043182504541952588820397628540041254258537154073098296772835738770577907049508175780123367597734768441317636099033582253940499442400644619199940546625385067789179390695830338151413362873044424176207323070972501115737124676484038112591397513910621639237316309327828723104744187404805526980829651253615859881152028504170722093349296053364208302072764937240328363892558642837728682184339595827654411776189017652291195549738515890007364478754745937270979066752596033807056961268283886936128786030532878883075094870729413323063563537790315969538990689469900628907061444040531403346307242875983286142358826812700170162733690560094303468245488884381633950925322166509895431984353075581154151856864377234100607181930941848264104428855327111426766759369691211346748810152845997884482963763750811901985216964609417337117584194954352978000290477607487121072312510202028116998932267488411870287351575896096060299105387929316543341546738186084761454166957162625586150887609205248913954870559864218961520138377236038819488438528415283246608944852959170334677033143664945700739568322509861751257635966882307950223695810167975007882760234785397730617385116995575182918716309270235444942942353994555153408886731307152541482807440411798241627804500306414256805685031462323949076254859933407005505794050267421338962155588005240951806411634856548836272876169031266962278036493829883781730096460408381285057132599775779736588357127212487555516168436668549039539026519753093435038412300535192945994670624655177723911409874240622548614398595529779912964498204895646563763329396530466206990887527172823624363104000157651468702160406038273767336615702771565412008221756611930459223246670357560341552550280144022026280274046643356343335607993024136700470294508778808170883045891263914889279960274551031763074895275895981507180320938302759568199404396689008725554652348266347554576657407980226106156677560464913172032516568776102687284895637194398744675849434277079777811392364207003254405662664272333776736756016564778152073592296033532328376955872057514051762916682128554771998969003413707442119503571245384908013689076106920236750834091633975836245613592984908047689185108507822959815282919725285826068925570863576866505186258007291855614880201492965799177551109153079155690305424803998612328360808549890254761206308262710116194912893157668243603250792143258777025443469773511078650453363497897318044953475919397988204058997089256812784874216696287027605952679731552127990065514840205055148513104764469203110832322204014132610746334226191730602469155347088768652866049780860417797983445225630447450531539678453419329257535620517918581854932210709206488273743662618829281752363141158686827857707971591098724731857699449578377147568630296182822810051323532156731555974622122890602912499018711473070061756818437757243642879561195508998332902379994452077884806786481588929664962200936646865227881895391179726175118312905110858249237853594399083783947565412100670154344688533958245394679508354656298403954941211761396350275248958126734561265260890200101528279874161872519594210914504809428184740566443163035674949048664213302072680080305792562012879836178153716789382787177804536053768045713115953712612454256036739166482039802637435543643097520082009423915583254379011525682076679922500138203669199471069675640994715701419536754577190919437275847738160930537363325259635951177634063236709600611267763060600372840157205781543355626021913661312989732775300768618888794470212182701906092627525820835737495769670542689990644623259273338052892114998418979934871236678314265718591055659942948863762656929049255911921977956332252308275051503057870506678157895754169384629516293151827656343981750558463044960772489601947870331189363323878267298776089980095976144066730893479069926259332196153903487980778024480123923885564128029388542104236076337314379287369374202395123007270476069033768800460696755558642953559518702148182035206054822092448167050859225818410696358807111809667352905034772927058022021734428641135728746672925642811736827944368660961375532239020119112048473709661467535915551129781571097206226055679003893370056624605249710591122290467664205454193239897730899114808959280943808590420785094261526042968844928895052370350957416496710104105510435036476233636698237898689092811812332678308539066890263560507579930597617700005005191813920645358464413673674432056739390767180676776001251114841287132476753287661536300760109323150370054842997729350190002569212136873722046928595559229847481894831185861788061809390759497223736473448431708586631454894258501118097122259232410306656626667513512526371163293734108007424759591075401305552494445532119450492979214556138476626411947049914164563969540831490715518339902939094409197322386577597597737696128687096635648118243344655679416404976521671711501479980372299989487684727305414503460944067142936162301618198301052270809899681011856926327539126295223558671422799383789600176940623946601923800758771310339163955927444443926865098716259573589238037845441276373541650881021558364686012937957666482386437873968093185426719042840580739177915890532373279514465561159980035527024037751382674339082193595398799052525862403497198588339273239786467692060382985524073144916981522584905980599957076543928075885239590273713166443938736937511568876064673153196082082290838234074903164621512910499933150556909014558536882697904507503596282956092695354566437830330513128583372334576917022857465965290776422617359711122957224853549744244871737645784939249621757861547742365752839509860957281751857716388378900218689138850842035971335341951998355275103383624196669175260106366329002168513976505160167401338603748190415427765523995936982095640833839979052276504405310457635813140023538213930087071378013952772377993905358364477533823207957593104856826405881660338047985558603682577144009436425976435615837388747761299124376124005373308695106717767809605734277000424031841519860388198893499808317348208549268447709378796851305531198291296207175127772498132206619062571454910248177390583780515900771575996871914055463961834201871131653470921300399689147574298084499386495374931505884640407332749360894538072199799261253692614905498350375781214374997543375189167496486433015742869329736933593484000684793329876973603094091604930886211432463672846692057422170043557939500196128667767204280013444162065276945649196354075752390148536458318017604009648386503927678814617167697982037876843195510954006974816767095038624677573903454606964935943179304264942275801332761568292628873270587545913752828758678227192672717431446481779723062642947055472380531450410227455622052354136674673478366614283506064237824022776687431614389591933337839215346086065419725527857320930841606184470037353362073726252948851565233325382677581143220853198519168905383926733980320312161073721414288873107231641051391378768265658637940663601603753715395757274338695225555542976921950201476663316486984907375121917451556104092761442269928333078464411224717015464654136432869150668713186608140346272822503995422125892215877096383215830083424907673016231361126637767228516942072714722458511401299981285196343480872216749621169427396135346934205784290803675066569419050663495490724578396217472272810105042783720888163101665798375908021276297947776627830041907513623786251280972026593411963192161682885452188212420564362830265162135682895240461631387830954431614760664882026229893023793243115000061128384192395263682387460348864692129360523754354365209782196021905796352625504596166452779141251389545580020599472796361945689755169599146834819042916672354675664915507353764666482194139808562477664858096005560230689549230867281729971093557760398011927349256348571548356359257297979898117521927352538604452849100497982555669042822706702689355578215639602477640293806150114211411023100981798109177128082033652841194080869717280881893651000551491156532949669891145669445031042943977449187678030682676644008514250183798558473577926576213006023475435608798869903678532195165758339817608500082212925394050840519502949125151685216411342779737216422204789710488079838127547250432234972748894059179290646730513250890984772746799754539462881123906291249003755476407682779250347885781575654679184451346940878488355878540287110146771444043535434884555605695002843916530281350219971454733650259681554333526298659901666677937708879819808385942088410491526221308128388627811316435850858643295131686144345055714256177448849762852876889471061196700705863442752934212423044023430293065250864016408391285496700410821194021805376351892266339251434410174103917937187243981803057098563421264445896808626572990482902162217837620978143725671108892195028443232316764762981427188793974288519818586128483780827409500566600892577498970402892350022828160159862947207208951996530272949730398260262662754124851039036087751611229299586741140252610426799685521333674265246260424859009546016021562820633037065330182959122469622103020735189487838905350430144115309360755999682724690464019371110687940190031324523261683924670553696878823764466849087428689161600450302788712451147369436488477608640688112886712193137408231942638092728473568123520208386362575590718182949483831110965012259032149882263638163481383860329786669606812574725180788352940104517098267700308515964631093688175282992525081375374156135576907539462293808859082901359658484595928288145973717413282877572180497908514886244322405831806011551212191193400317699872089747805191868294553360621686399195173624577323843583147009640008926577705524082419617915369730592865433709630704317396493049074957656999533359381514692546367464246982917423001754373758133833249565212510510202016522935350148348712449706709575536174779304250480814438645993096494066239395145776026356579932616973096985370466530992878922678752449950216741509302102230303575057446124258994659604591955173554944016670507964544656805401560868495359893580117199243310649750683458230720714889851673808651809996826775769452589052794679792996431194264609719837521317882023082878046943793954590364270535820375412924337456689256811562301456540000406542848368927214397727816362467349631541904936640856665057810828297889372130569238942698383258614994081623595926432889380268904755305632867654880769097177873899215829307252014777393672513943521363907814239996240526054880541567619899061237981007306054450326134154294840612550964818027888144195544099747953056026264978737634262140999102395669103158247303299854642626850815058875121851432184658878637280057015398694823122056063588042652781116655867611452086336514574707874181913170018377520241720407187058149501160703332873397934035063419016380698731635999748513996361379648845011520912993153116839789320259426904021756433571616064916599605101281206895224646292271239935377037889815619914705499363051119803140110776646860320893362355804839750910834605043206201629458642075140499265743740797300019841143236707585227431255660746204106784653382305816685148585766620120888762892545410707473560503643639525375014466405201717255783565592466311735278213356094704888423626893213651986462148733961493589707523995577867236709084364935348234239205104321350756386182185845919262884301363439359450931928927451210845816500292860337970025467286332056903079104183456524984405843181290650661338259560067055171725324070628106276721118939973620217595287706873620360633992478875728512089836402091332093984182308063929742479960024518178256804924275623192004007467854741861151182561159360391059218424530982692027459493117035837312421527540472010332265486496533213226816246936438607489474375533552536149682627918812695155993032524911289973607182097156898556678374121388831285682693167689705615608362953798517079941786660132209135513281697673561731100546786357536425052626419789799061430034178518270669361136233661846295259786988375870156443383453118593317898250928177606811118549000549092738799279328805285793844343320581893569719964168295999726988369763962579811869467976177430449502763245471892137016845045818178455241387218588316954406801795772622470975398672405610381275073154118126348308651947467645955590399573908617457127844706850925966030967971990589621239923969859100766507217031926601039076767129580763193801086910875138225563338679913273224245278930299971617219212701506773573239396149298682423729167154184449720306790114529867906190895973016382463575473320282001789591749040458748235371721332530315377133474428945412852717129736603148801018250046841266242435283296891537817743609668967009243683324621868773220236991057375676048149174433199144513932130281971283325926908489177564641855778261370284450622482488035636485059039554663685591496926466317746164494653203474623415954761095398623879278122232027384873237326788032393334186534718536845275402030608408922800840354751738680175906611737995913770566608242335741857358982095451931055221482504333091866353520725136603792017399234038849644345474615272613026375160719506514474534376672491106640177785859153365443582043431747812541088607255226760444048817109155201658557937736953380972225709021497614561788986364553508924172122160350429813784533477308278817882929908275300426374362748989960383958920768993377877113487031990446883567457124683028044534896662058484447177908347434689172700587034276863850465021796652058497059519265827271586794584683796926490025718982427798437283926466256926499487299264573391641243197804485864096900784904722666966976819840499244701555173062287392247069032404160920380503344861736344308620350675318725484677345907527897181485663486166651985402967389971936159156383889102568181046066422915135300590962765802293819703217286295968715897064897053197403062520832322728863630370832802345901677763844421650047816443904907243177011551225381042001733339280778881446532220919866010826737124402821565885680173883999097267333877500372260564597772994720801854743400968972338704551313494432555244968431776555962821040172090507706517662858781486694936566085292104501524887701886956716191515917508621023030358410025666861354868371446600738031342592453252930959578969822925777681124462263579193358659238943958568082999060077099417040169055022964567398946155919501357413393785696888605162605231510746111557911023679897922633484825922386088733264724123403869927787076451385209055885076646905999194489119127507935881991383424220204675116310923354402270637300555097163035007992672281539761482342967210754812690887463719907327164092187718702055166651344631208896702122337401740873363328517753219529022905925721103439940547712922268404070706184002810225859755137983652612701027954055657974804453837374602637954172780586043911823151770829901718575853471381424107693709435957732894287967660591461247645825385442662436085664190829125724129633744625957147804914447042851694402447663689892789506034110013121551576585913491302667153720080820364930286325579896883720153161317142339051432404098882971763542692781156005638557273259830575398932665575481192781925427914510980139637341286743961692756056134130515585860037032426293262623245455265109682786132390049559828785566390892149608131565955698560060228938337944752149454344737441985105538521013260927798634548668147966321671744821804525087655544742881744763504531671377689954699400795964260659793888710028045388694265046849316545792094777323621476519999919432623934104988183082929418650797340044968804584540334923089125411965623250907367686161957240545425292749018328123966570897129757259410985890169537846904489603730447980773348233816643658157887053567559285033544750775638634564683933196199112966309336537024760715510528785569527936708161838136256769548947041323799888799627364659397782236453479192114077160775873379632692966297117834339816142963774794219324115120219167519497270536987285741918620035377492937748397949074153454822793550382507905416201667104320630151246299611388872173436986999096808502803395272803227883771843910889002223823185379396725685391692807815470110711590292660518575506217457009856627303305162631614902587175492917877317775527550512649710944489214384079240343526861423005361186667366222704831286527133552408628472223035176124197507917711319270225138544203690832243167792242810174513432594869346136480769735823410290199972284072631410145664696601099672063216670735691159399798227257104568348106218394543940744370398394949566335042860939093365191875127837926020642532683904614361227873726721595288835088780389928526797905656202534285095287783090244048687682283049646205378349649275201801465930843806494465485079840796807342599815059184665502747496582222936829931702555577579985268763071493643181243812364658251713295591966399136051095735921383713838928171482320204003663225232072937365622591972780591856642063542290143898589403825347559791264185341565962070537836486942757549188304866566058698852348332930921927345732762045123091648814425217902989876001474111966660325621058432919921636812316957203374019675963864262700252898459627481341409451826485722661814109108498551649681550832718441330155970841961994666731035689701262563345806561486483239991873725093509548689848020302641524409459041829500402023239768249944487346417494729282158815908956084865201625679861291598073600724001016079445542959836688384309213157140738305372763124787520726291885426284246501188081904279552234148184321565916990926232403916443164535629221567641238114855677306009609714724972955750187398489096775333033811918523475181454012572702454394778809594101476679819594445205484003933282051786585248616337186013414307248011146170886862343534232532542770092684162640646614465472869179325105108924022338384396222733377038736519555143818577603565059694362942482267114435968724864430598470825513539094867601692784964832138727107021630406963779733747687834625503481409680010248439761913104402457010274186620016592509011069637865755900232497232772720492925323326543444134439979988910782923268712687863647334145092387952179516193249824204618948666940938370973331712400332786453937147627990863623212337056553153043077837371925429201845374430895647892776447456105320592921458416024064854805914203452528226090458147970729569285960320925072664447249437284852669720219907817813353707386860716621390794393198662575091778921667739752541411596003799036650696657540589260962747694408283583576105714455948471858968709247126657914619283748908015820494593701346648857818480610134049020909749843822568766192043118277559360356289833793176114341829282152393287668394282958567964291778535886974180078169446415116864743712990359210684247038479379550410716046165064624089815725727699247912254860155353502667203833492863287390686071812392053088445711928994590191296665386362469105943916330241878871875992179196730949082271618394254261523985233623331894074314275705856157397453178015431908022824087641142206262758552402718098073134386170863939882744166014150301385608466595047538144015710837400256878539633078455289803623053068973118022998392391239130638209975020303138189614312722717970222886094366500636145695095736666785855024877110796359396776754183369270436367730356367844309035005774758614455449776766664917927660094664431658348748302290910097288494933350566867057326298082441088876680354149089323657151784357458502519882996100830666227736274793745682562916602539017060518826989114647238974578844118294011099983244909677013827558246430852368016398159532497549380096162887816869530380833258737078646953467814008219052114357827588407430203168207753133451547206168613864738519606325165590906588810011315641364096447439864861925195116537577275418187815292710080253306333710547859929636977530815882576249315597714419543965022349406172278335913650635773097371175476947725506822663222721418488579147530665466777309592056994344252225032961557322458402944344187501289489064395362319332321108084250214501502373286192499616826720257371078036065013025553701561367644583742216197661557669007412352518138772904127552037001363870384194262555822792655780086256042366604718961681180931084894765642451981383695123350958419622724783837142269132889852004663293235770115109832635836996025225061641266217134442280405360945601675020813268239691711261802673804732785428393037947356078532652954197427160216102631603154200100604311540702926305790681165506730625160457363595139270957415302376708816881429198110324289788736274654364288222621281491619080511984512567290363788851220747473338316906763838072707317642602651919316691302300205426688473578543077793902015328500710486711372819404522908757740937185708467347988980565861355715539398258857707781353330032770900003053239008610157977379861259998210451081749418553021123854855199333784445854371401809717961880180862648552468503763872334029942835599145275608018160378590305188877388724738089020433035656942631173071654225903981152620038362665060276883434370697084038238555325915851436247544302387319036863980398919464640531031510041332630698713102513869861096587497089186787962737778519363514569993691863005050893535154636873387936826478571817073640264309136949275774108928677452125074465381197032327658486555108351134311080433353158933853515074057342361844434763382656802801384037386572266594019176816335921675742860217174162066643404298351637913256993150029964955342789873327798299129483527747356611678477680521555107320458389196355917351857327981662660228995457617551707424738249437417405998010921779832232839364689026252374395244947461030689477064219351784940926032258555110402578181030335524459709323255374230709216169518037220399761515970504362130164708161926302263726556659088739738861786093861753552007472686503152185551683532481292477579622585410862505267153922353428978322477442121751505712304741621946918302926916384715866424177985942081563932607931052382573843623829692719938760062460894869268378898813699825353989942926001171740584465870947710978798948285374035259884361269012249700065266329820123412429971333002267482493120187134121683221736491552985820554668147369004517292557562931060596959417697299673952031705104209181077378239740347553957479907100779504702847224147778023931502308978947219666428810062520090045925863908234200749667820512398449685754428970142844199470295093048158167480727867655016580672397229739810960922050476184840946992119807714267949846547057289307540727882532784098397127493598080501001128229092435329366320134355586398297246169728594713308210779453406774812146750355900121037987777538638744396008042594133440973137395954653717473862035946867699356764820355935311619692995788022695004476695411557351391309988815536346542521763432558948335260125451143040593778925771268852071650246719426177262862511687110837111948203559763937612563257649963894153134238503442625444113781214738340417602251718897613011569355842612395901443049059661827657129525773301583284487699238297114870033905896226927694968348230938387965402591257609526533382075944278218482078840431822685927756655075922486321327923136653794516893823034551356706070386204297668911191217208652034171682541528194287095411019866906697098129405865749395369298663276618795186042795275290011057931699982026174820381751800005940351811886030437412388128323443099101938314985038816843081576479813986079363995395235081745957041963217201192015062464089543030207424239650123780042408133491133429136395497725466941821165217006179073577247875004925507636602210047031736074091132856969523512741702072807281252566711389452773574413990577570644648253063917602818766825627004976699184439984426029538544059907287180361073082233625051228588138990745827224263681919984466664703041587361881583954429706353582496127443767175238742902287616326365857373970678118425534629649046723091190757221637324185986473340538567526674648954185267084781475563783412235930369854672933037704731956164596683579994301260506442859627055323958896356190931395567265776541531262674709369885668574968972577824288886450150768511220316287806839478761209112070362802949066582605050455821231327076997394651963247680505634880644620341701390731581606034887766093966363896678003616608298123017359657956840315868001825415514025573209025318332449311342071299599930945940535798804349520747616888529687449734965744756444544136640163600191862462053374585131808870909032340669853831386890034318035227203560096344538119841915521145184847553964009840020161469634409041374966621871852336633244264842365400101012581075073591216423586575814498035316944959448196090659577453228390876392521565275946769590934414106075377050813858874576499033635371261058837024616677597328556818186741532807891397036023627983246263656842713704004598443911026515280460253378787068831631805025598670583955791694784320955233244377419783289287271392094132588148741693264874541399904238675255490536549217498184624717431028557987747333950704777307721611638990676646691573886376000837581848718729290543652858850352743208807395621777827594287615307557038146111366716609364564844150724328588934343274760168599270655531221841293811198596405646548170349331299272231243891919960299983597335478262643852002713671550338508761502807311715717275763059735502823580305780979312532908535901754927333942766232149632161716246076366756377675743788793484449817215809583969478075447947434738813708999901424362210844080922182679492678691072993543277909820667682599071261390841306887019078632706100145827615968078778870083023024559898505118330524504880351277669270594590659516823234939913357511885628514924218767706154208948753467470870126871699106207614475712984803630355497739971820504028896090313201062684037312960013228804209018522393965468321034413205160462104322066972727934591612866007837867315227677585867493612926718726602242872678373535757859545968620632543161391773870284592154952226944566414531928494947938341027194017999015806362794430591729346641888662522164910134824170293867292828474363927439749686416844834032647279027217748692023783788419695905008623770571654982028223923832944956821672243948731359503808364212014408885566999497946660928081499929848446740023815361973588673340805452232982054669878707548066081140099364908265925480193209887602194358249318090100597838439959528795406212609392668663184616241437407615775204135221406794217088246448120340889917987526427941552567958793276629190634392894547941082914057582076032576551107950967709642500733306162114443195505084470216064962224394794914366124077065549965657847561364957411901476219214632277227973549645293645715087064577249037392752983684440988553669100648850339728445664485690881879310035546963477567754785236531370071387274649807843540104391383798874850157912653742545825651099556189831494046760674091869029585536715617935770430324433032054396838255083193548303772700146551026917612361194348762145574997390754758035427102307545914651779309449445097025779359909201759059071530317704923931876707676015006280159831678723088869020125142688021287581967227281807745650863011101692837884882287719050740110029735409646376359998047616124567524008084489080374695203622763567919096440084749614946861371051297690040086071390611305812885774179857977986149132280067602108985211039334607657472318180106062445262092795309258290983531171754948176191698100113932440851066622737515955102177304678367054307858199803059295409173977806885384761400766446005129837157853116631234169204201423035814027014275494945779258030357162998247152257129871715095103599602614266564043357035534528298795325885210807811389716686146719878421370936572509592122703035556585851771134559164974369343800504090610325819230004943608620701426737246959912450273103030693024622781940832643258279897528769140341435968604731073217866275999715112587435284039395060146841796175558853698132684323729126088909424270435528375945892013726084646626297718802764273779258387958437891254077570068225092193820563497903892734707145660194007256995185030643359789685739894052411117860731303868338132949863865414729657042225584476040783352081615635844535543758126830982085143525114418490448355834907281385835441753746280539981128888046445440565626595070120494500931319083693233494947820969345646031381286260301648339741669739402193856366401369901732815900399572154581397485186865987210042194497122810680647473411056042810037926988288571849523581457875953887972279483304349439575013527239697872111497689182505536257898465478347650176085473635952086247658903087906131618039249778426080434261294295299831775313917995475919586389637464013727039430918773851254282384191583666506063916435514805901720478004583573728430159362659545845272686577356788758783054479165910043957810875685935417631808351264352118175006057696473973600005774900897944490453330850175304703446683922276018740016345246146048613969271286173578345829910932116433629789813963973775040132112531355953927481146059360951328981074709891576792691302709258485889880486111921605318775906300879145552960792345314457750452026860186858061007187316363679405843239431678534083221560314754874916445870183009173741606507000545790241190644763429783923087765050050540856859949233014661993779001699266182840573728356515346511140855650129095149107032875606713926524461417320771805251141316948435277867446065836681268583860396622124937812141636088653194391716726646885218245956552414980392845815347495110311751242815357020906757663984130250129695456267630006478757890455307296555028706697173980820817133350883228509225581488071498042926590782419771064034147782188545030186782153148840337280586995231391935567146653789608567785883684979619714227254749037377288903940980577585527805947864647880056779251227176946312872771818893451163731138968204585538974398633784286693465741240981090070658129393593626029377158770665266023806943917669119346242466936892682120675594069979823400946013700232638788845279138205449542386027870765014393658148252902247545477304039421817759093938274099497473563870994032155558315211036769758787905073808929120574331356975335000940826646613485453048032373893216770116360131774636544800068312667664179032706461509804617476090895037953707422131322682497577357363573328953215044889688468623335734829757831019475310238637462160170847201515847792161941575993192167803191664852769988343522107522937969991010460852813176166238579016315942254795379907108833918420182236284546953821655133994140551609559121008617318350598532319028545582323775195602558061858713194083192901687607774721168178888033295723206185839406286362135948782737342419832607668956204570908933087651711491029967423914070228940149791632009258504857486828859777505958091224119728919646327368402482043034765566465778607851150395847053559857853902294165686065761274747541789983989971211583427774935588816731596405032084359348510825529324894384163881510015744660241819059479409385930316578244412523996261594427210137830068537582345001623224372010004596393305221600971583485928248952220478307172895725686278375119039837271793998636919414426186415223446633986136424231356045813791244730143848376541568513284180615996317862418973031234258791825465740818136075942676838872682060955822947250682543584421363207174675555685422297356305191836519982684408567786505055266266831970702475828231533114257866211022972833666691025840740414872554127847575534733229399642617138885116251573619852507207097364896875314442748680340210718091633923434316890996944129507483302140962195486420968615995551436176062952097529536335414579282070940194512304396257014536578095035386874064206386189875394191709396427063368076232259026290495884875221201761862630282377886054740891519624821200573051894734957805884217307438754938617266184343040654650207355095687454070846187822165172653668052189541811405786015510168511030651246412898203131259520826846061538133874525606767470763188905264305618960078462186375342875932435109489671599324501939280297277597989361443200627436542953758865326362075445207059037818549654464657518224388151462345997286764756380244994185111363494053742695167499894034403254928440532348086420619738694967562100740435830324329170764997176450264612957483745636274171368189340745524595640203504831455057835373182873378425209630453649992810002581921798534514962001234331522832258428648810446966759507640320099520864366211484758465894269872927500866403761924339776644684249784413866251184844023821975434869778563848261029639704374485814211540059117011025932735572422059028649913656050482590552590822350847811410973900564166717934923542665214285393203412309055358494840624205423441801715780224004919239875449975454119891323416570840980002286197238390968148160246632384325864628516819319365461923150813940236323378565259844172775032056475735480541972861555692226436348282566951331894674004664318392174825817730831608752929538008585780048736823365701817337997103281146311641330467908562941771622799385768893035676698716426047666684525045148163740624333112338639452989643418223018894667992657073085552084010502771825340497836416317240207120662862530141978859805738111464510757126446285014855468675113688564794675023273911969946707562196410593048921905854759654780663116027555590516046291287067282038892600492805561861687204991654150491695388322620492577014345308971217261262711395008951564708620927267998664404641676017485121768644859112588439474827428336042526342685063399447454239357586723746510514957050835716270073330154145828920804763142841904648256170967471575216702675836600406745291076645527654905303375786334054302637214022557880660685483845260081073437214271652842716323989271537770647451975968682073422501871629192231373971822304662541575257811421056751010243846167057481751489455714003338760169882877549549637097438488713399364567327111006121759346432662666944538422896336737745792335669394326732377351656192219302513037542922223513756596811410181605423917204225503162477970805133605698477240245977569531501132549278350458677420826508892754923770068597578599951167756119650319805244019868052014218943601650176403894042290654846660907629916764929537699614247175116837230267416171799396961262976622362838172061131024866745651447478320554422575749854839063109515792170559384425710536840694170498948658824492867645733962792025325698330300545399788819642809093972124069827419538432555517334338665679570120644117106029786037539999719660995496782819026950365321046788440878865685200639524494963731379944497080365883490022060149793169685587454679460354540831139589026314369474911074956937271136199421539848469275296294955022826227825314652852462380788552490229302208556563148649716503535577151568332402938704540726780457966338791149529601918350233074582499744543352647250317829168001101896023918073890239898800559447696060609423500585512913785377461940842746156401489837809772461057572787518490084698832674292823575320930892446704997273582509057164921502212443007182310436006206750934429878326356242414785373171592521457337925101588517355167688264825859379652251016934370412556079216388321008330106694249349540122335425013032153750561106342499841850864888918677682249104641257148766962151671743917310706197015370435012630067588837601949372662878688558690868222604487335579476749921277358058417468117739060466620732949619242950821951230733615148759873609754057786607407724305351755817371318173851925641683189753666929760559073556739553090678042706408941888240768511790746641180660382428533403326206477122883277375918508604043075907389216276481178523111056260930222833418873817814311554908951878215503954821514811224607825449420770845633399095462828987084681151253504785297389534581992484241258981350425441559394123819737180383360520940536351663892866748776016561085705636997693614871021528076554973260203232954917576421535337607506379076238932740574699862487026157919486416089338959150083814257273342239560322889177706288255055520073311178065711179878754377603928546982664487950242643047339790003318414376073643093356235196911239951289249952863835386565085650556803817701118344767702118072746028039743332401197352783185262485262914613754084174655300756682080999997685591635785308722429127509864536071905582974504663713374335669815868384144537056214582576010941302645637302491246220251914092445228381870514978853335609299190970819176470605253358664739474645787479451103448578750214960177620593017076377602960906778440234995307053503377772553430009592305546247245730773719798540201490922820064940511502152841480950993032837962629090784865204204854209267727594493752527122561283849791612015263107886432240418382201403366304810708572139082834284925774069521527859320154426013219257928435267467596621889024304100294657685258611376372736563778440385538563693375251537575841181334796596890544990209418640652973989124831913075744310863896778410309820865619232755195498595515102983747061286687331247930002838611955540481399167912922048669138632836443441505143550524727925558707835222157546581251200995387289112452335162059911838067555601164425394689991343597156323235601961538255115612075566939389953524310661107359925472940277201454675789369135807525203017626838927909609490513713068277936089743286514184648745424536950830620375103485881760014591850340556547472692104783587507558153107409042706994976736937024792938275172407194160891146910321917524365549145735019342123237936882863941246068914700664817491893611602261431567265290025369743228222031194700898481845473517023211348348062723656083138933782688563093510695215105561752178964555373085975476753857677797588016187740279745714199102317341168546519949851594328336439808744692095596271994734855662664363880620948908872079607915456608678468369276362557916478853505627791254632573492515689940883241299571119860948337375494938501939347373047911542896747963371583302798275855413402563675070708134461020444178575444897566868276567200627555160387620930897406408421562663927628651312569879563863092998049556105978940863410954068580081099903183545733429822299304335039172215219445057478529790455185712042760091269436613594587670482476613312514221554817496857331618969205132014681832220442133698225155744350660214427382991784751240436644864391371103046249630700741872418531439008016291255822382631178073002415537905996712723032529904372841428541692310574242915219031941343987342777916515522216017836293883956238662248394646762494662968356542962586615430591814520466885630969465184495201561532404083837043588203055449988199245968820155394319659306626015759189752141124029105645140804994817896496378458881904140483045067128828356610129219181472155959386214903055218361243670081374473693694773813244691324537760942334905556177205770183556016235951082245061646122740602094455439612231066828374496341690541773936343459261814754181919326064623423228905395330280930797513974738152048980388391748359835286156291114819658109123003110179293026159912294410526892830355436170162389834994453585430607884606700092724053870491959348279082863872855616014913984073213137387806691665438050962569491200141125831812072752418201375211780387134012621389631090730454508679933685403298955547764318969351384842922727383473206794399139497247234413560099919492749861939870911026437248622964828893505501296626917101011944328999712355231536820918633898114012358705436962021058020578673112603029067327472633411062617331224173549929939765110097922341778694742259828075020898288566306025988030743877204305037312601957124864646742616440466786511570245305589164649402145776403781152016903298705138538155114629887816839008628341731948918346763374920824786832886981003082249495298093571844091698643718132252728964527555461645427118979821588890895934747497966175687793950184856384271143270827477254913196880366807446422908422661841857564990881629330518778878898833450705019265925119495244225193733647413093920690998090985127716528240427033496004266556963522878349540746728962705293743323318351487288734119995489680931166458192994518308255679762788080267014294704628102966102003030944802524734523040407785242702138596799602197710161427119011881949130548016449185938668003919159061218244645108168218909535232466385108150707906678433346374547046416181273472333306848045160314075982017867248056322224740795250312690236170702718170267209707540022373029915095972748886355499579226177138354955147726779141900950207107269748911476946956348366503869980377420277131295378624187671293282639425216097103331326420510354093567077197401012938323729827626919165663382970940813020381851361615038024584142287637492496873134142046649344942862726318350747432776672336544664319420738049783257294190577798851293649431489046516362361849966219892410787857465510439328832800245014124984721520301410225052256868337097221035761742977587544261098603997465365741272089222903262106568597381642340230070077973047755521049126734460342190717099596530394165716258410403136559902262257713436412513113362878806362257509932495806425469404188685431988534601982124268740573489515681373009383612574898351324610734164108872627597666495615963563995243394999182945147439589352089508709653386366542140137797202860655953849678688661538317612314362719934105736331781152221307278590484395421924005251754964762529578337543023027675189971312148342491820568470657889459861212774605418966186170475183044983962317362988636054757051492957073660687132861294076509918156724043875329297737006962761734097029742789069579553660689018661182741217001354873040840217575892443217295196863017588744725750049767746951848340469985270588634194908313602636443883940493391404535312078613344586900425961677655811982850707273315854957775089287109681427601987121079605168087451790411229962728693553832691821004740546538219710757642123537913522718313429161290115799870142923100059263058707242758992133084558153420721437332057997479974690997393078665740285335375109185022659172253872443921186871411265764224562441676634236949596609220717916650211853382268647630191705909711628193057244464240837262232769045422103838985589919590635135653281858917717722647362817456811441618508502590919916811704918727493619676451357319856393744014701363750461123284887866160935678064939207434161931458017091557278546353955304579878053636360629491470003308554755579893986670555238562174209485220921772706983852339734649009331636998376389944967030430299979100975499608799743484630124673268655218604088707739633818599028671741742995923356341913915433389711754209849158444252008458156284960733795172723497629484991330466572908171687370968140629978232650268523613613133548241005049846837009480173018277116039086520578394842958362746210652274161497375020160027122176600090273062714529542229966480338027280409707478580159667038520862716500667984961457334913407797591141902149879327297953240046389568073162044223729790141778497125936170993562811140500901706991860008740117849864803586077641262954181983943464420104711091847256124600105412800353034219275341291945909151238633092001684695885657914855316557261619643427355834318968209348650065207182856470026491495052970541705432828356522625369336121251941369557956129718568533458351122785830256211570820519714030706051497153197781170824974547709301084728635629751697048563572397930476063871396996872270128424499325425055769625439199452921366998938768252676739125004429694864732469133986614407343555260040460122138420329893008834303493548234496697108694394958182988053170475809300162657695091530293060278053937944337424313013740232423277969512961923623461036318505695480155105761257663985817524312913748653439267197939200388581919183979272464953051851623679511480639704470716273136079027350911722316727276790639308897844469572566877131462144801661872655293844768120992267366544419925779047306044537874051412689266155259107035300681135811722557626423309903098803634912643185549371623171403352510473355856425516790502769425279470459748855312428015340599702068573581374326469898972444601183272828158899721982842458921238151200141511697888175960161054032556610157796258280599529783277734000258164552613223695575625819275712023540854161847027249700964732031210909507449714304102925762618870401107916128161081811373448404482559244326184886911523235157815856846496780992563551948259073302297745449961032915568951446517125237686680451265881191482936108735115440934654290466416498706297678310688430527412458729322720296297366356198464803968722899655719566913872781110531648832296180041947464728479934672494484663983412852852209660713782507043033103103068110659819734518539511126661285436256114480413697427967204733457562572504753249855545122153231386570927518981134508084366612141077013942180901105139122859617365192672590535669560710062669020477457103296435010894263020742922431121435764010999285072506350560242572744092333909453608729944155936199219296833098235425015694147080878276808080833446227464548849741100440749591817344812590774673789748343450310720497173630149905377361781777051428294912203988789979409230848520281241410534235964194696866386116326353361727812286803774079572384809254045399816418568624260961613237384592966219921355677683663992419895789378321378336423150706034148664794441718614032446850356221956983855452451661838158281082690334338536274362458276015541026727356673336561235888995974017479561459118672638050088079894394000400838444452347837700552979861844493541274763775263256855302518174216259653247472975973815981586529759366175653235141054255572638819397512178457310402402343238174352982875671904640945140249902987364228049859414600331554475747703722962202000120151595683394787625852196861299090042900680629774748277087675975327295912326363388944094719615968271988924039102635447209531014780622991511066376101545177151978221286954178484854876009378375971900207864697571657369500037791453669765833877444003322762359367508014378240638393913429100766182912733122847781211084498159306258157341564476131568635007914496711947123793904961560571408028475337797351580198480988813763528899859946730331137033168063024212561445310245856244937834547274625887455120151142110672225094880268127009721202589473215853515034172473836378514591742537153735301493238442501403822449907933699547427535825692930102126210206351529447671363545004307817208534291671684490827188315391328981152573502744879760115702759509245219147818467929494674830490030292118449991075098018105840462280953927094386734281086488723138355069253720479165525377959350124442205951047187516811692759208938880799880748256421937702257809389628306682380116265153916907023124027752027392899070174563877356509987157121245204126028435307574689932820069620082507817771096130204650352852752169966234230599768832323250511604528474618499049729172276746331741148932947581903829314611891522681081501053498385165935345146672592163140472318767830305989180349861402370050416709882714186445810258147057585907822389536849594792371669648056260363193549162794478802610857235853556904846674937405411361928861410285801486149784797590398388516230733476475462429013239071155827460616437811921421326297106366007043975858290671769215564950546448185726760544988329264429246960617331775865591304948262146181686428180272218644743373481931513264913252315433337444427668973367751657868000072707596868475666950635304799810738422408146210093262819794629610797355141344689509695808415763861214516292327574418825302585192691732461853588668370063567271078358016047559306982067868549249792078125545086770836154225979180043068010679090157114016664707779368726927769473308952555284329752834175379812859390934603612200942719898353323242656159307450938977021481791803922862755274081350526231673407658500859237780317198641816185740337260649711514258506584363137401573873747664666395957185425853448142053878265466932138102338658373994710513196792894707623708743330943794242093564945549153117091336190447863354960366684059155721771287894904448410786285116309646141108914914481294525932829805234992471695154989759563683456440628957161631931462185228624369212653109800821748817299561284486275077097216252775465088110616905009988720548553829100128892905474451599342304193733643952013261103505981857295720909485989098253960854014452177250868679386991763704427237341544816198400119501215623096771342324257780181323066830247917341243757359543479172103321287731297347733411419189175685136592375394517287237652153949512737215420696381958366930347285155715425493187685846260091589683059641276528217892890473074199498363385083055917147196640031781309074942215375202337296593137958816198382730640408158844560433882889156533497898828325179802488920596874204847291365994876487463814353736973554144254674945393512574942145756291158114504104448279999578400452852581635229942652333718329941251456066040129786583514923902096322592277666963290833268276373172830404093051616396438744996682453719006163495028307704835967997637657579318609936597557754228121582330057227478134082718340906971454483576609267043123977222075021753579208674390516968235738519087029295381663036400970827659122253957526156319857664858284742663013300284856643940421276812912767475875698752326178118422319834076124347393853774853723686067640982455085867786038967461945065959229346809605013725527610446147110827550618123557027045187945528033597061243109628503201506955115691507985568541072980269080287119713120290068203670055188284473602126992882267307615403163063009993530167985974511624966756368421066986932928133081371504064519096415083589329894372634892786778006438262663309293550947514745050945691819490649802306334195446638589820881130179347709760465698713811710673016191823403163268768831554634939798882093798748457230580527263470257952305422124442661027945128023640180860344172010537654393609567298524179250602751980208035098299172674057256601468638686985019822863933610231900538497684507357242396786343628079830397268142529986422864458422162312887945270653249158478180553717230463156320925671081887055728005867159842910872436617105589291615941520180505039825763718675010882461345501790757500545406822135022202924718302590909644499960324376251831584352217093682709179111023992010969545099427683547965138352642443086925628512965858646450327840982658609095034765342478029529725687047184248922664394031501999886657294864148171180552231163131491211133027003785031943710004675143621270621128925896969380781427847677483772902375997491014989751397491476750872802625031107829049650824897885143967124984032785539431346211932309543636527572907298430050237214440935369487906284376157225750297852033182676830023134663314525742076517791437384279311802921573206586833326538097052777163240037615712384027135296770157498004081341288081091340106813779931414301898934753565202647066163239843048105496805316265132953332991947776191441003348976367339276534886999550179439686244261239370681895405684793940949006955026501745732653418818932685730665545354486648138438154813807959189788481764710293191850140291160996888826913873175947319845237561741225049896585182208243413169515227897947026490933045382205429179834340146027741313521483069398102843884830328767151738600940906713945478159562951412824431194892844209705494724389880575468419289202107936665773505055414875232436881161828798611752257979428767256282072861643124469886529584733599407845803419727826289304629601433957750889992871082104832486225782466837540691103011928773062295293157948274955912533355743483519389080831664433663711393887856065802190528046831766259838133328436216657552040606603732746224127367255505013931660533286686204340247288002196081760385173694507082000860263245406176706897836570480214177317891210774412569305710479314160296740691491867484145143111682392512908182030464821748923081572845223994298930074757089041412576888561538970642956911343054076476076457842607924110555692844453582732705172061161561062610090704650293096643847025409984870304224389206732294230300496612969841346511220092352162609796683611652126356323305532182779260158292830054209009730750553812042625429102835066575128803811939960863858032011785366656455961210254296092950111845909766281345424963562038958434433230382844664587069124315692240739753745811803930460258380287373831670425409869066223433767074486531310930823181742915969232140428544907498611093006111279688555576184570204053709971888847640495519094209488061508679563573747308472862093290096832197357391455794463279919167693718649838330664424622201225103070477598899731962288905922672598978674913489593859972152942546658696582111015974848022655131585036561455673946968540014730475681661224345765076980517518647678315242278589195911142849862207294554699463993389751697358075787714103306784269963209716444693777959499176184987858559328463808146932384733261460764650435511015388441253937493259243346276599643162116440700831482440095409702986704671601176142872604637377737442999985732292693883260492569613723037641907748648159756012169913469311021943028447247605839898351865634310314569274365545933353111888511238580749500608501309631501033937431278221261150248226422311918764012527107867980371909816431599465758979730503673305980317704105755492010811799792281676435647513435720623687563092031601882243055844781465137190904607832599064393006598792353954676720154376688577943930341486382693487623361317077107632312708670831236507179741566313542547659274154164055854790384565435285035171432781176673557365976542094778974233710709448289604677336197970809926260633020524818572944483706612108807865048462363365742324689517727123855578168273543630692122917654022472969517632254827362134524633749755864219531872432832018926072265763162301231650897358435278932728560492194116340137753468214511307475446640263810783518826534367896982951325373292203751100499093460118390995569333220100097934334709608876952946710746746134805190484091439107321157470754026213988527574998619515641949201793176698333405932090308406287150300888513259228106417897073897559410016755529789749211617047715101936319083533669380197505504557266465042932835365861709382776199728190814917322528505030546462796482121221533804218194760108969325780336392352422925604576957761577072126166709050515894207378359966287054096301674391720402623787900476448524495589236231620808576692713458332438249079896927213075180429691531046241876822708673660532151689786011230879270564744423655562122192326445486753205680179283646052329336446334296818411553640337231507403447353670286971757372971382629842939296162183233709426911159439751516354521483650692038401955530025624139920071949770992036679510391040168361842079238341106356988551275685797245187796736817427839554255318268236541478476620114274568416227090297024666724917572852098843099967581547114297323523369148712057830399203797276931724781671677330107711416416679873936077597272492252779722754666551504971782556887306674850768280755078261207783312246583323307410676781322162716854024986878419761602623498138932495070994310512545608794928476998481233742413531816462122301315936273365045479325004099030814305373447142366251079878994580717147371228349386523399097925583104898120169048990278487788054882718684164612843727871500184735729432774453529734553574201726147703193667870199742701698345613795362290534648586705745252111314623137418273007874968692559401935195648991223399661792069278626620475477282592321533877836737190567196524310229029901968847243871673472131957392384464788041736780867074159472208965393263165113381312788419479565424374844368909408629001682381669704776323391782558597323830683598550536114440834830743548393752088285229613764487983072544687626319203163711361790494984021988586083670075870637304219804891106387123548889727012387324012953735130512509522636888977579215002890583593831299873727983310293808190566314770099572836483288671750866933808558663328427529870318334815936337393655637759096941567607585799942892557449278914933135849692765970144891443910340602987250159918260559193926783396889039741073001671080879566674527107343363994215797834800808528440812948453880251460886303615011156908547536326364585189823736731971033111975279589554743891651809667196779778146186537574875610748038368777594789127446793932928309727364313755563893390199427577418672737578245347888947489849994921282378634046369114091039073222636678517980904306121319517420369421915494391951664008869400144340534309639524127737654343933832435618254604004494576712812720812571956906058637564998162407246752117068525337622500746020612195654895741839438003156280311059391906719442058644666181460993447176775270612085583134550993767093293504492594631767544662755808356831546219563721874585685072382405564702227432692028104004272585599305849991352758520908661546099807593065995499259402326979147572003724057552485560363953855092104119334978767695952396177663361617115416576717007692071834821829874766508663263498649381196565260543814289903478218697490193586803854613390206990860929415743697612628171121498014819777980218293396653823455500701441828170773870079972583553686162684828811762509655246026859750823420597257780418619505725382526720187086379385202303938156600240679656703351575193801076630550477846440501885273670235997229227631698930836196027422264661017671090239045903449389107621416344647338266631850663324071304780176895571107618074245314944992990397843991288555302045467610749151628290752282165157808276919983419734689410226829957331481764971816751920507067264294227388538459144971780538141154693747404451147453013560416738431061008615601770892340042477995213042745296204944531684022675385187404290509905500066144414177562115407676259567919786674592500206405691251543952904071390029617954604747308639507934166223442223220756298600508477699743879970879913689414241573445017233647818452030673523904801508383437891992058559454417982301656651241887103096601102544422274805531140967843936321365458668187596180814894028025139213672103023983026081770766038081182167627607875916882531424387360392703618513925788309447754561323391491681926748278686450302606415688974773892968298014282864986016877832295730821871542938860634752302100336089035661169208953932754912809108096210750912484472342893230312521016480623709406001136080212396462832782530575371241432320428892137661175958428995054008076284084488947243680161699625449631722881685529675684197112063402610713870472271784675937279744958350851287027794741845553526523389693550752161483334559129964357897640399133138701541107614887603279652161931821297523119680080146710620628384123635882187342521665596907215194105085215979150689306914327805675811493484580704837472480585759422600753881744778231863520307507816571052767430161314958825967888268920679241619230541987306372315107043144830598355749451056429950599227767579742977259046549450182359650020340112258127922574992477795210957637413648643766406137165081020518969690489402052181557609405468303178122015590604529777256121499969223587127118911790502961353529151016934431962978983733930617570440902010248990295995977029184733233567694632106052124461881212350829372347917232051171531961079376033166248266283772867482324002463943556650751405054151174964632603033334567113444090147477436231718661916368001763585282478381033713034720937079153081960395446737602559545199352494782871769027091759260875165817610279492488172947228363730046183350401990037594101593908331733043874535130335973086133301666870768688534175411162095931860896181672787319048466311864367239225924732836125033328676586721307516282859492890790648043891928588575318895155353719899742524811765069571281652265876194435312590791431067009487011598438366674692745007502775059549694703755361065422444800645793499953729164416932792538304291524576123891241512168333167544189955308893695162469007316042621589987317771185819525508651963426421304919807396708417262950114538971731598426354992914150022793629463464538464115652472784134681623772902499422475956821532122605495732017709323626186139104175282321248374200051709045628587681964017720120329453432602768509474142868493962527529354525200458134509461576741977303674605631529314922888565240182570420229719393094441353698462166270826712433399545497077815424467611160668916202242008254593238804070342600419756331018609342603000438474649050472745379263891347649036043381982613018289869471609153727083328113446874068020679806956143159493162408494830147282077977966859388063898625090799852456184686570532846990768501803861843665789528158544075035574477307340713878753115409283564580487805737895212099723680010981167123545267986672841783073109813453546265268805329045346205880127912328008807997604717400864489903039027026059567277590813854963392137946098208848572312287705755005621022362675855538749172745215483786982078950037782244421169599300160396874655103965147383027366519586705240476825004898246796222926035895118563472084768727772303412997619172068864099890897689796090012457561369681926840787342853219276868177952031953078946703786529559126344397084666670067548844594811581590377840786345425800626462343562543680492879621966502403710955030059052083320652679039978254918647932426347645404140391832207436016646750893917361153310202757611750120632223098661848404422726391019858924286470618849059609909789771581316509728799123960662273977507351027038944488162750157776446816470658397239426018368286628486185559449674627058528331257948741333731797755898354454132186014337949135270101208422528089831435727689133145376081240184555933508151466948902284970385004985253035198816441070314684479527241655899314217280639293222256206338613173367947514811085895764019667981226435005376976675475066413240062615581280248044211584600902894734660358557398233102553634095052685993006441516629891414038830158701016956273402007860464505967130496510992496754225595362051047674882437742698146665264799367591866635894450315158435695851462134937361533082981800923745080754885214509551552965238675269283311401082969726258195128494768602921109082651314566217998069551369474690105739724431909491239512629710137612775908645642651112940443494165752572176431749402803913671186629282185305557218522487082026200961882130202032044083193649126402860042806603500674677978630539175330545368167938058328887927682962487630254077433287163187680980203715821779278429019080616299337303508765991263716970290960490240463873623364010559051319121321726903317542430213016838551934134969680927491234956338284103150465270347672846799893803809861679433999518182581740660210466565998432905652813793964776684241715098774129469691296667171936234876715500429442175318986311690708520929787922446396601152146175053464718146610446219057392781400683918556117112165248679876399830080168777214569312571976342139060617489046593475007775998945168754325590171609992375949965611135931523496178768396915771177416847949781328220819030487335194298158520663503515806152673455234591674634782625345443098768070882464378025233349296698316996836430729254974413818798337758687083622893367706509533649246698509159136957722585836733930378022053225796888707789578036867776183539972989358978738523429252318357413354144616823856136377792709020493665008183692853965997535368362767467621459028190756685267702145125726488753037459348792907103497190837760141255055674385787186132222639005730074654789750186118011497263630733645099411066880187795210684810988541106475115173901766458346930812491392841216859363630621029893683709987439930922788531098410238433911755061134806761565260524879486098601420170840351830634468983752612956845581320013472097451299380234812350453648813838448723149053203040338321784382779326986809000433032430530528612954463059391310585647934871840781008038006950890396962215690594311285142323045114399714567327544186272960691487912278294513875830547872564047904473982531028956515025707458597195757990439230819983079021310831785052596243451126764128524528369314077379314561002344411781695395693849301312975426769958448887905348624226470896588103851896483620785788730922181062482861983512247099444979405218292057027413225180552693850493675436265939521765002130490160633080358449548668360298253696603232890271316643958101415736889807304564013559936952886808314712038452869311985331617364959424653234966998442526394737602437103086549489711780425434737549279227344239806741480917205591741347392071440868118784584265136136864337209592251775559926217004165759819587385696671832459387336357912608820022693807411671592435031013699303292693796148846395143846909315831331535484166181551063851671256056202601831702764546633836792037739306759569327040820558636597860002375061282568965035536631001139809140088506352859059700952667477694195451176821518730846684683980711902379114498169396196674719341176720078450970773869368623846845774971331023456734979030150337104877217292880973638256654455506016512190469813736809006672676149358776973357356627118032647007372128409582063548659670825611851315617524229080389692550848227504896743716265815741186573228734172795961818280136303077211938611455798533241633478247905989131558542802842766970159253575670648815929006146031436381087228660070550078164370123789074861991797758398313047384391916231067677013731733951779119334382213538947620667273478569958701699415729249290744316035151139222795321344985578590330317692038208936253034715849928908485805658537041406550679109219081485990508892711894873048998548258026775602823126837800751430089424969047658861968471167612832992938974016998519952603298054163060179501665041313325134677218550236014163165327829354937342331667297481797448031191484598992095132808408788915435484055839807169799445942886351553271050582969016109498957358249868222753037999962212492446830626014777307320736500810185309029059183219362706916770493112861080949087817771062213296607269702559980314674503624950435431339617228475822500751393121800012102328491326429815018209343337719507866540397062973227395422273967785744375317193447076670902496021640167093195489764998237334114241524334333114109581264161427445225394991608715641661638457552526802875025057766960080589593126113399712065757397375668271362236331184940176590940855795747181927795059511004310654632841116785706671861725478630362175672407068662803035140221865278852533622728942127768313243373826020504078362820360888968488402773822586896562028989799803096720210725022675432595149725312751427448100196222771471911900226469293259830625691850505771808559615159918892727473673254026306532442895971493087339818487362383274582827511619314800721498136619945219913196662899954470740531306655746625648623728068486134130493310080070471527794017830773705499125364193139458217610698386634571763647402334103910892911776909806003137726761019819800586732278943584296970813801673499340693500960326144671262563087884425565932491226120542673036870833849900217634372779900589665673954790837341037354654334939293663311298741414867607290547739385861085756539924973512419458998419423783568616422664863635957766718391792977392624344352412228088401860445224351742195708257266320322845296584641473371036137953998970134222842968488662231699619785645898764760193629518011243384806155265190449908955707909986454169034011801795881845605847722358694551248231106654788484559919829684028023509848569170056974724040870599239318822685997019838857437626310306326716522219509300403718433512625507960231103427842812968578357164926013923823467870824472168363984132325076979067782300403572885668740314460232604929023347544316179825727725025148603374250948098553947140294126895368501634010114422334440387233216999272873811444817784600014379330309662643217575646611170328380538113584701404329935737445199417848979722283994895466607800757645378713424292671203337085656563076511614664830613578751856044958350136698731295611169821767658078042770454934292303039362477800728275154886884857508746434571463721094799517814499168686975635160358884321223796790080397349397742981877097087739856583166076707245633103244191617319704535266681708404709991228722995098201204155552308538299271018286701664482509840105127365728679663162530970838052687593346640978335534463421182951996739958701568533358968418503302481672037252476084911246015536660613090338707124532909105520994703043564855866355040970688860137827513205458857180755415130998844436339684384011758417298615141001745717263359690532949165105331792641924596580705273086403893673035373868937705285375307062204499512605301487226959029179887657383923248649924597715016308759562903385143603331358532075490754047207717551393711405917075389095008228605639301148106133915857795722959673451122197993511181102849258515673677029779001287908866213383166959420501559648967937248861640509791237530065536044379810193769054822068570720325636892202805034011582482854823933303737971245949361401583435093433119921493900535508656592499319308861424883284511874263560811694447609202297273724310140270501667413521567285403631351691442310407859723895271559162738909495348741330901726849851023803975810133944614637029387759308707557263182895660337633548571733388547299912665043001191470419599039464061132889346133866925265386525803280546134519133042386520120453638135295181268626281885963075313543507889782900197912661819671711993955854301317314870742741994498936641903436296040492399903525672811222639288017917997068858311587223452733448386707381862322790803749698654659587931473367262035761440788020057657126493464644252748299958269346542651557258007236084212813489777514001818194224803412325496247279192230833906259285282732630601978920709293646121047749535578995338768804069300071476692230678958163872958720274792703665094948619193525499763765559614436169205541494323316401445675243651536834463451147809816138845106146619783394314256330725467554719130970798666630505872339367767514566721386841656070247065372790203636696171658537320656630506210621094572862787094522607573164015877613365662991548856169680577604307879816214028959208790117664188741845353190639873885003327048939419364054747277803578524741242274570165999378860308026263118246043467962611866647624938589062707211115165071033900264481052853674900980892681666626886558412422035665496672273273912206641570791699719719567233693139616989133905911733308769265651651362871520310051994538901084682394928495152646960425362567816363462211262281593693511111636230005792935680041911710838014864555392059376277824057669386594394507549153132245065973634398315709225868754869323404294673393905654296028137688426384107370924598497011306720004958057464706016577275825848993769906863294027033578794824999598063824641441509251219674964957069918609766061918631015286301056771185674211699607669532557040161954456308114459099935920313292172877646641397258171433263858093453427646507839621576942526835936970716944995304876800501995166994796843872769445087457139418678639509912110812344676221807574897602424651386241761479611966803248245076618820379316175001581573896832605508999808413193148683709275881463622708611294561955533026813627210031997521832681041806426911962349765139171676694406292918838298710486510083938538591871397426810765051728766846513848513920287069810138558210516415910680152932076823032252571699879340136162982213269954068507691193365136201797443345919107853165867122990614152318031420954665386104088364792503570978150047596453739101297548856863479717114708627448402295147412459906809630532925084409651433463192220396190199679193907716318254311895679754917438171494666533248804873638822960193987341264116278575705534393481926121746864570216138988371457688055657791420335481801531076488869785314707126853114396614666313247960446838949075616773358708717179315298125910695205466665189321006526580969864901322164994433422709144215064989493935609543424933254579306271528241022366524549727672498842109008510254582961447375489963244235464431202041933725283750889191791424492155552048910620385918223007604974840457147285543063836552990804059972319052419772075186154047080286981741542501290703316180637036510739631414571453715299334245775733363730463022507365587138430568090567612599006720739757402696453312267079167437602912419486592314720628380889484978182479477633794043151352848820860117734217760222866128647763213676166704986831650427326889082906674330248543506842726876899704683873750019479420630685348016971362906248065008580206307573598661650935192160348674580518831923071108278448325069926502058412552395895856404872871428764754683179528773246897226085542159173104847096164748399278774141220906466875561281357322621239809754487523922221430436954361512074428577262805661797569083005854021948729043573983773815061912337046863628486315511971492863546531327996123495878620321694324882400315643900126598219326993211962561330746795321786486690123486947734663169179027251063269622691626949042338638107193758675870985585838084971335821998756480042555374031481207912105302240535159641776902224581842182519251151782950270557101293223059213307017103383971027735489414842830068086407088514979408103344483553674669556292967413027734228349745853423919373414132207207534888919362331851489429300427931797224850154122721107109055902431082154299968912757975097155368514970005103602743267313804505124656774074786223568195478051463427320337763420634371929744930522689555701236673311445690146504955961646781264661110504887012698741688786114088477791205749335984813390365804643336798643703642305156866581889177217951317983847574986461404705082498108106430487362727487853953664005555389096993831396656492440367002732855766190884698105803324300900217490194993633336740936091929423799379740935230891581671715106486447173728918657406871552515343566060120408996778836538161210898336490457505355140241233869078852952822409730344503092847279902497235097866567611213739860835929785591917575672258246226032583695766465208788780021106635412448381714707960757111967977946777710950384896301563551509289749044629863544610813088841364567027573857158548093206075820022709640982464096371940938259547067080997200392774641541181476660662483987476106687053351931738096628319309758143584459987180900908223407405989579320595602989403686121437086815193747760288993273734004920320972618460205371728466667184533286344339999726315439570284536610121060869096502663315345191999082493522796440790325029738631099203079510287363051100398221334133001885980073679944987373348828712059680422115128791511648992059702049419134694697714248786638339573296490894859791351675132282900957964597382623658874208958472891083554074459657661192438096698818977951703598772077063094966602857039367186221091844607176450096056163144953778048024716937636705667083413669513352344696795848799871679034755572174021866672846479754679574186255144823147031876351170468176335430837340806439572268449182204663496622883047764618060740742640969435208806072648413863243872410917291478317021375150960813707174622373554197712658090903597310813736687256803622539345335224108253987490666062776366392409784630208303998468813339765382122850209513339949158434230176480094034295213314146909778934464867174875005039675455035611126750509702885351606173083763520483965996534184967922343240141727348404313245396216691136833233697258573915569987151595829049203435922852573098278264888001290035159271163885151828087356111202942743725018622388519897269967409869903528165625179803073132680765999827579738876798613087654288439312006078854884866789431641382474315813692144544950432788242823560471232450821304059139127593295983435986359193608489415202722326420433992060559235108172196006276614648121103424679732401075900339249335337651869963689441787481813840711755846195060823259619087302706093032176026721617102606785388075753691710109891080652513572797241839942190022698683254525777305008904216531858894911185598615710890494249061044474891680224587677659995244232912663814465678442546654059392236180276924946883202205879844101142881233130242980911057661204782840979830992636923338655273586800177323068496278925167473400858620256486307214712810137078615509630745628537177297923797290654523020603104261229622638270772892183434090631445981097614503151672237516285637300051976656415253500017527653494639235817354263319624125748603772422701268317365140815419466524281861413565892562800289609099737602205518017798008258702015630514802168458746371587028031298390964958681584741368156173537074655431902426147917200246861983645516440798204073306752191489657187312183505822682364142984702834590017893991134331251396380235369582275133504805564216264632279344731359200885918976998614548904514774413873470074359280201748956261947859345940732090352494575589952199353547811723612301955066592737751609575344298343174156326450217777505454183169372209295870603178332801077780912676176097567639790835285446179474338194819370043167791039062474043959135956948407213583401231036005747057089295043083629599157076471797290054343494206214896367603874058285307723162405895969854464519061378054472923741403327173200327390418155421873664763618425947803670513036338308823027499835371158274862146741847382260643875155709243326852848407081093320905145902389498264674722064742489258933142542316142688147210076242043290396993776959006713022898483055535363296875455918624432944222480398315853001894504644200874366997604235821306943172681418530107604722702025920602066322022965325145110689016567325593643001515306537984807504605317926607721905726460253298854186700667065920148336207579415944309502319260429680077520944713771232697344873499960314062879256906208912371036094694361135408653386906833680612692763177675446857912210633548293451714000948290062769245555984769710021969070579787236490232303710244788824220098077518568050355258075177352791515545359127303078433599207373230724704157502974347406738683311432617487421080671649666683911852091438093261654353321567242924047102505620874765033776189089409995950047860167567012358301749231255758139141553443720197610373871345892941924173499521949652803315538387210601344993892964059641271729471401426244015908045129786328028165910804147194018749961452321938675173951920453980286070254723088801126066657065968255369662249792636441709712916811089826790853108320434072469077823948750588139938819930538841576281650495232783729901562080480725917850783674329789861018426570327262712105872909292332255121549546633206736075343257068909184483037206804228323496432899396458998006163314919457758934792183862897982465711019236413802957097266926975507999944712756751280679557482725129498204816959770766746564922695653692701764654119561415091028597517333316871467586835727247855990153304456749618585229971153542684714076701089494498170899058991672904669629885826077115650539872965477506035967311481730380397435403845280297460117710200307847196585906959213448605813058020730364536211806886732253583327570328636065599730837962149209387736715527937022020667899262909246708579964290582889758954847183609460133725925836048177766665462268747229362479390625478162877669441729317491394115882279116662463177518348941633158036803553180494786774477498418933817734213653911346737031494389598315533964307052023508746618697051317768137628080354727031285074095159098778696036112808760988377375957677436170575966249809540545609802085149814027250237896694898615494118727849299891528031098312060006914987834663591771793357271487629067803198753258084477678955632958603418243142173556118397794936737158072573664318322415212963990878800597135094864011638800209148128870129950954458067366353108149717844900192866070322987747588532072791995768004141498643858142220741279420609152923483031292117458500439035073436777737241354162164547145467528456407933358329501372224178277081011713511278127739396711547147247397953500546198726265834359302452193565084185244807631264494903372516537271928224662732311194363521977229723057353803940439907242698404223227492008724459556838630436539464472121493533561249251318210803497036706645792603198281061466928702061282675018653248461693357950371831846004259857779351366228217077120045584130362480496573987355242602473059233923274969455094062407249471782336796526199375269713842416835345720877272494729579369502739124722973857072878597816600117569889369650280039215086429977676725170138696327470153540727956013464930102999964984245580466858310262479233178937875852006653977612234888400247885531165113869256586775151744989320032949523325684291729246316066404233239506512195104347732700321236642449244614000506828644010613478377220335700295094450765163864003955614853187545892804128960415979423279181247327699674674246367618075528845422926331621083030313957512847991235196530553586933931396726009443300195274506720117578088197636361669406003527383984988680036993428093304501098046618701013342947106250755478691001039313476011363853797883554260334007549678251377588022349649236294988086619513232881656307057431099462915314510918575141744394410003731244364367507967966355534949772094165435640055455697377891008270826566424180609947632180404233237907369586080158871398280049382481751683641227642203106440414003912779213708998093737954750412910199363026624506864278008507761924645548430291348889996346465543013373557468869276929269237675814696885169781130107121090761257012017256798295865651789124641645550533887176545300474781756790801292886442765334505997475685754162086857988296542732243555524623588910483811789554455463234393715764116501410687418147442850404254208441465154493616816716013612479751482014581973448565481526137993482609914759640567071477419984853328158796654286762982619563832686856916263090589427489976499468282347556278537544961327232144048297461199787516042119440289326807351084411264119191515395745708925689622227992850767980862633394261441275036710621658321200528525530202406111811676920112700615938640185518685411560526941761424568491340227791931042736645602691387261722723159745316728733115224846078828140855682380134602118979896513312270551943020301809023352740046353002515310502758262045317844711453238414850511585536413129869741948331241719822582777967643665942111099849564008362584729060956047470307375864527449242508978935519990848874190768573827291840504509261380713067954753823328840130905163972506336077813157081963885613093128829662174700878440058626192391005638541179909128188995400626029794330239718087749595123116232396148396338088026028866556007403591252777222089786545690545251748896738732629664319653336828426265643920180843715214668423184943177235488310123677486258355641351346041040377156889160960914639013537092278312964319830974259249613419405723292659362330887796336548124788175087622002357683099080895051017753380686295860196988057313609865840302744212495840219608906969307641420706509017257473196249663261628891236640687861798209124747245618791861058507462823479511012760686819777738899553250458883582244605060550823653264249230658910158703155665120364339638282366888743310147705602088664227289813776964987488693746677050590346630459156948313557640911521296082089298848695946724448119386176016166829859171126011995802629268750587899610267405932353244007124427179747558014189406339654282835759232152741851494907528732289988706846407691423498223451916881142480242088404272529746402759974974618495541916759047073073196418223528592050226325677872368173622869089055071744214230347645209867018131791767886083530998149591848977048313438851276316179045809148255269367364866416243694095681535848883369928628314102989898592071784854278567090231002637668729209046159538123882237877674756036965504183170653525777503976707443420516421687698061114016568252516906240580660759679384975785063301508372501061060426806091870657438361365386120664838635276608726779829289888290733810984987844907086430777505607085046597066621425647281014845571679511288463921486013945969503341488043310123069985316267217274083501447860616099008619037488890297786465609483876779323739067283793759276287863569301222277351877683558684874986980955609856234318276248511120536728768743264879869407907932722959360711691335648963007486919501837865032511244703032507484608511936868794764103993633061007295621452356467677722358876413874220443269241282658219565776121157465880557306474153727332335196717733751666611533905153991627113192599156953249495078220264603791114250268111525238510530750050713562790916559073156795575411557049801259943075290021078533650849506661246987118852696636654995761013194242360843608444137774576973923642427113321574049290940388874648864807087239662535508190668645067259219660729514360556858767140525035554629463399371966290646134295706702851766280606976185443666708765416260964859087292092345269013192300728831764186609667096128488861724299763169040075734067906548081656019316231155252913372657115889375638520952911945701616005518890774012455591701895489292271415426546669533312408626574006464096366842657247287289768261709689339058089490918619292082396800257955871925832682228138803395709228668986414071778312406017502344460330751372185666862497064609646374576025570363319686451167622703779845331371994052856894892813540594024922014815115202357580290667502058374092219296696229882712637550774337745066325700951734030277549343850160920283741983805579783206427920465852021694146512463200907147273399528766858478221144760521993418541636903269224506974337635043581667901105732739259627813594946547982438664472813348904947227569728466635003702392090540105799867022291377392864145581806374525344697353055904114811991864079770975449189430100034272448170568032207872220504266129843876502694582727579775943000601973259253188125805754186104297509828091976042380319052673529789293502528328324829500994784792575339178704173354023179050521173176124078498934614611623132773446017231861807261877693419390670331011173315188916188611600652379737240892851126959230025425200453489234067332308718481479762073056926453118118028529484434099415437879054025908272027148679778607554302007062620810687603074517304630273506305708318979185325123170616354957242218992583606228981321724220761261319534304801936719018512208122116360939739114067846300550150098061448067636673860691399991871664285281035415318249894639536839799805954255274738541082510414801462732934311492861621495643779041165363622941078768958780576399965680583538781148932540763182775201911542917780257738294408568328275959099252573831347360424318025874549033488463076310773668113862460306702727548588761044280877595844675881685021200930553017895845737275897363469740286110352244419085234891297060941834081370687339273414421602230803572853431294426622778549227852288091793858280745270619320293629439828765958670499296932217211080586230935005782560309136378779220700146356570230771324786039531626131825579125290484326276524590058518336775015488169147550862135654293692302106167431865481182892373679729174328259229988821678543927027333690957966024817943566123675479960122101241999101452165695904326208312909171471088189165041545965080843706499521973884908237100290513626478920912114381848967836339231577828343676061723209290032788009276435935750080224670868761657597995360891196788104697664202031904928467350016980727148740666876648750629522615412630084402480697009225601544492072965472595682649605220610192893021537060345305877211382129333040017770475214683379367575303488927198702098552710881393168462297022192193744003419014320956134389447627081725854735298836645721082224954128065781538987179094217903567480807507866471528020042254759066964147138826860787927857917811857938336142412978426236371792000620015384862154359279060549673360274016121610863695243236826180355301426090199075426238933539910002601250412589225416206646109050495763798533763863796860829904594754563702247043621682578523391082749484334997951803777354142103861877031773201220351051694784298143092788009546309603195308098169184577488780599445135164524938138501731748627602996198112798937034945937196784372302311836220962880423041560554485309159843082089082834568940190741196151343185861062737094206018143761568145285862451441779003148075676206245192668190158444856742181386854273785455107815933978100984680363176114023218285329313052790198627948234324307037872091368612392263020164155034736345735466247102904290282066998858517721373138539546471919595350545425406593824619834381721935772124399203173370756519040402627181865419538531179778872021995293457322991570459391949194982172912032387981896547983233118125432494873139392979029110256504633728096253377707072057138393449462466050863460413175599685209616791341485533829482233861898734850531906810690377647512023015019488074154114102356385759736845391210547407668254439193592947841272609788288048650755059835426780540072524112139937107132547196450647028810795712466404787575768587956109967868285474621548065773738552859027057659609700626167303807839604837487022777585513056828438594448776673459429408562427633683226361729738536508769846102844487071251572470830891376411975813105292901169544477365711874595293114234431300213292500484107414081114847995592786727761098693976852357221646512439688499988660577057827258838264922884825342010086977190742411793917417811795120531502227872592943567463771103212707973919956425190608487098047539198503689372420687760683934550656678722454353284207127591728119475350802972333957486506417839438073737412780234593676743845199554697375487010412051178830465700048358934142899188081520978444802942725004039658364138777329229485463538555888486578564260096500586955227382521576280688369485968359108790563237385862995185526100252394747286033268599693619233340318032533996791542955991196034502125897385486176316475960916979925289630060207132600683851241288326184420953624144696980904239604364644257456540737078256338498404867561826062736170687098399299729867553131202290271712932302188768784823328798656209448720917370888287283787182655938168493363535958249156003570525720228084321060661419955374416738080682575805228524537984959564616886300035311081679525035127241204622241748329832742803636316019950654970303614315839843598517064824503447728646955277936556344730010195425390179737092882752794155668126042020519826392511729754114957132824425368747202070972993023317853253856065040517924006034912197139129677082923848155060588416325866026876472043674080034651556050160591617087308418975504414497948368888202418578582642550350812977985130775507200637403616370941650936149819363657025417864252124392028227580643252052495380014552449132643274149842940969097976881717813078352735211272330373607277359451460240948766094536987352967102732490699459823340749481950772070411572056114281290467328345653172629747776922888431644645911419393366956160014383731543067137443996371351750428989269246683258778238195610334509958520432843805618053345085257569019364791037592594374142637748954921004161324489630610284191836116616544927547857375546958865259341157594927824310336609462762945679428074256380838337712921020074321037329469084529324306596526573514655041481617833582895963506713093204495161200017703907548255768578267404187206366660725811267196687823163109098440748222874422742888703714489653700146433464292036614514714780182776310663221332139310295420382242967845063603573847509185525422060193857428161523729730286741576856180729945934150281645973790152428703413330709053088667848399588717164651299628507454468564411275762352432940070332835550746511716618904447984410790168687411180881629524676382429727949482323131885256825762224790212290389370538903484470710770156757695436660897159984849649968158796229510431219971068931677146056505817992692137085105059151909651648551916137531308250587380775025216677944558018632033818728511506862362712953659614888690583406483201717227000071807828371109652220936413584011252045075536851713413756106045067536451820497719221857191268084334937427744822677965346149157757750419744467084332407816567143579118640258966139896950858295906670331932461246625412305927806566831955496679964811584972691738958363239841941270467300527019518020115130750057442133240103130230631771287653436914385365152842205570170271410544251845454014077982647485391528996498990664784282930647347439473527911674465067742720748100738132805258105435776721816635133181480136281850280549916358976569991144218055673211243578327472953909885499958532460886590319844312001970081136044681898894596255941404603873476638514906306666978271268379428020631247496434133584636630537463397297395777512245778817183863379387070925356047120308829364589368618721711802030575387488974061126481093979162776129483722871378272181851646171197706775028990100076720183305899934246904278900042879260055719037608015611888835870131894890358432016276441507057771354699962786521716207811311231076312422570896158847753852787550185850956115032896058977930974882070199980147682551696330054957852222701395835708875752773630938947315445802750203555871093336208452120218281323382067282502757036059728765903487854117319289086497973272615531381057878772546348017952786166405501860571533115755905454758946933624274719659191114313690476044297671864828446948093533751980639429791284749679115009114447865067503997478732825370486711334780151474232945035347225271011491447262514734914487242516184145520520231420045910699379719389011442881306607715585589841033134278242147506507711190704493335524067726061889573567268292787216780752265994846890592161799508042798999227119011736028298954599959027384594255462471449165255532721926263217737487631858460675934768015180253134139174415189933511361731567447144606585391591328636917866415868229037859276713858234713010620546334424206445325629887888200449628945657239069773663220099544921632257257848339346515468149804171416986532112820281123699659525491692584543985062352224776920295802894490391795094298416881128300430642248788242673601230506496764814023604779275380506757713345353157357160079330049371136314839045712523759813741405310381198726922008375271807035351719631910250915949386162275071002740329125835888857697070193472925868461893747898604797453511284911922625689073744556127758225235502464226239598833549820621092503625303818206843205506497058648391330981224934818464374092700619500296062446524792831544890496716682516517830299848000852466319056630742277927049340194694528387699828248879458885727017450501200474332573288836561982331537431385371354038000901014398061681389562133882966702071980752728684851482624524739211265566913006860685130900148777043606565382671995030981230410772365806642754143057101859303689154386387060452461017572737741135571516694189314020659633879679064224862521321360925021699347788601222679501950922133342178610017760521845835066082532795629160332052660770258198953844783571945558974237070629189677386018908166898321290266095576977546466688307491423559760833426727644377943817206542102293985533005848854459718029008663031197405849210184133728111258785144835951073906367130252252364039427053961832056289974459642350261598359376878329009644797631489741210702544092474865818506235048678884464600694250070195943643010714761101545028345009867078682401246591431985613514661398478862591752672257437395209845008444890840380024031535377757836672384241181769376280082344989390800745996960462981450332243707683356167742541577740798868365640418671291982379735165737587717795426390881061528893919971631993594651596636519159642953318799776444883305831479008463005602329917533041857751739472282260263902776885920695806893434878286958572202103822489415079745816937373034363270109848216870295228321863661307856498635373981952300434245241433173395047976208818383046445987072063172459036642466796320785981277084890719483347567461343743020047181262419970200113776446203719571090891680263715879808965974814442331245290991745385013180424782788102810780783550767392369264804025756653685834659760467217023412277451502172664731390619549918609722647133507150668161555533850901481021034224997906638930516760157873585860338488180178163231919057633879480172069078517750807161161214624693686687349208860049522231657778821815182335714920104243684027050749854734299547655443684146024557379439843588204594405167965482025307347916945747918525175637109344696758893652882638328673422278131312618138938669678870710581958748611019502413278710047042427513461161497055780902545874881965154610750021716200709090414891526793033557253082234194852050459503967735064645894930869511134135772310946442993807200736450969877973271103699344593441412276314782712979641868182925577713364568602257490537095870758387901713208481442669824636422999190613438108481144403284301484997736100560669241863749796947735541300981055767711800197249744408217747492062896601431315080112888550402060221437564722145277424594350948648058605867538700241415391520929774188583029208420659831479567490343032092826985437268362612368529099446323073060242923972140564487926048989228959252659138006466377101242196531058251404160087348412828727300715419881824825976648431047015997120385456133667759232967077599191711100453604247340336457108785859288418364931483167300182107019855729952789102543298744875264218206096687415868901329712149696651339057573446402327409611660847849699089819313347524690564790395272137606324769463666942062530692959207386448223465572861586436554701480559979983981982243789169890886329335865873898601066548470325060535384802405211301125196456912145915118612353453372973802153814116274742616465957682910822572732668200453359825857216535297013469755103472704050507439290033839010743024315057608392308241158349577843971870259683697490854788696908174727823216295859319411962013909295140758408866013890882813238488751508001906602557847210518727173065281456036712098524220648432442138345367858745642282750462046720955467444804537320478532900885156588474757859612153538457081828733645101016536807257218539712135270152254775395511816958774650356109138154037659286725331033766114258208235084150098362884696646077990691641571835551692013787322971311312746345624832194937500256706483908642127292491904288788903970601867695812975980522970385189412291819201165190471585538936034139339109044861733469234927331028139910963693191842417641549426510380387164303719520794209406425366536020835706530136408314046410303052649647767565176214245418006055247336153994009076069319648702870056097093050727409213610506603860324326422859743591157913585538222349486977576814110106832606668147865690290841593840329398158948468590243284475859369949787321005365823160714744804675912020786109768109603963870313911661488715247268127758916592496349355643767024212336823881110419984005337635088348331567279316882301378128643378305954073541411235210535159896538065683195344602734456870149911955166575732285850910655483000750672987970903900611618606618950015673892364851793841591014522694608828484673187518824621044651417434414589774659291430424786603387005166685534356353261673548181842271356790230609840477172478218934284221071590276796723377307158463212459061692784682143463117804553696088083623271730553257215727364781472988009067836927378806990461106809218288246802637163483276932136615121225435045211711933082376733425022518220195930546407534095077215986906443182455155409027839998031829696100088984714850696318130934252452816227209158844274815974816134253133236446014381202358547780584366121770684666707777556324514810674518691598319581487129366445573316415664316562877385031173999913568007255937996717011832924764851493465867834897154974024387145421655495068506208171704680987228511748458124351894177266952440471190135337194142173209948918510826690633383251115291009571705296340336408400342896059898541344669127242916307288177430045818781085479479066801192583246835052050056969918978695042622488036762526618395888503499967779864101454576679000166952869539975286427634772333361906197479774937521831274621233968686915726848811780956996533553192769477145859546604406654952269667745189214038101985733912618217618804293379227461025670642222903696055399108868699358429393195064215697959069116152752551831745854089805004472623146066198457700213548647269699238124308365231008777060575329709558508393086528548964567012247920117502622615871822122177851369009500175475873547159977147154144887747813548386506970221147722521086684619092329195601513925894647282732572703633841611078245487487920945697543114144814420331130414574119263077988052583445413239994584434687276235435203032574812050965775911970298830934010599175292371489106892643013421926750683333380588166844917303100729542731713070469336384901223300123498766045148697146390807954939126187831736730047495545878475880464266452101219247544922762165997764962967319290847576432971783754492559373515916357574384079431436169282155639523113181370446979125130903062147145815713538768885207769499777830013557673151121947761409527428425284283852153689134169669516553573524599328379098393522661724695622464080477194083724010844530858675418865773659047945864737267094313360786576677302792276671658535109919356534234374732841292118500148388431863698598826865298340855533846828740723528955567643862621340009422532916641980804232174392322538450420129460043884191242412072184599995070445317031824698153892539888011883626913880942202988789926764074644641326898388181264081191678228446519096042202834031405567353533882769071636699449235953474170405855902701737579083407962748793540034998256726869005403687249240006501936069725265335696465233815951923865486712186257477147325101834268683754027646786379709205096305304681241576102193540729779422193384817827761235431799354633524039018392592740812412304674010256428920926939898905120374572864944600192514314678203538901367149059630902410745665376287164522194578690858456805181659224888473640420271080840899874449390491859807894048765070013397276472395097020242219786330857142488255072283988405438169662232406544016394244017571073633395805349802728683590764164925814473243305198766386264533923157680832809882879681557592967928003359726828218497688510297563685002136513609270036496407773120115117846915466458883143092163965562429051775630691048168204651281913806906285724017002787090349729860188359232755861327295607252395155883897590817771701241366666753005469895485749824888415867800895939267580705391151234643017079051794616163326485032209230690093577632657351371037517950181541770164926404591784339961652174426219931900381770176849255040751331491466342871749516771109345877325718024398798114263372571779665679245509430036585766557815457439933561329254525841004282467756138410652707080745473275733795215749851779956076926931359332085492152111901876155618000769014288124700804802993379520047200581586711155186085791130225274615122054604025978443368909805054149875467653387234823974779993987842066603282734631562476711239845597144429087320619153405528553996689011460103101436223871344236156855079130935059765572984920747244408604801930970985501916654696647069827405387114497595863936198251694673794515999428319837040404623784697442905265251809146586033855682682808399031155699046830504445585836333298462125100508440134262017335367013450019902147131924031603279808803190884812168499039118052553395662618044687002132337610992955803561155121864653247442473249664157446138203442318442820475179635266000785208609485497245342996805379038861864284642721380649196699724251477269489298331850519805298319418883796314299493539821446093176604990561894526451959378885087245034113095513593129792345424125910663284549563642384127427990410156211318019248412089718951489552036689862419756642407435088543582379526596752948181513995671306951594392223665892882072357194310347978897524305831309361627927545401842419785666328464842946624166337734927183913696494297901695036195198857528776643122963348228447954647960224641780251436596569272759263118677818576989758318036757582737493648326237470042707149327817709485844270619125213061368893923959235083089660241130217314824888170349645807086836509741525822518483542427455403889129023727509993548450743112467373862836417930838960078319977780318588895131969178137718143208232607966337709571557341903713516813298203148296707723715347943802400396881706774401676570662241602124955016556844416978434162328818987370989444866136150889359276434190419511277345346545772198466653382664921579943006246284097130998687125111348651739189129502449191663377427630934577975904732753017447794224952888947396605884781222136949771426107986008437924813471828241486570469708822518939203393232078295077384371979750228537440630140445636060453962010320578854784652637833647757625649446311611193049080854282167564962246863510603676254629239630624066754744182401599227338387204015164815407060795922990720876867980128155472723962951650620839527409295446593587891310721830876939861052131763615937488276168576608625223742775326701425844310984804298365826412118282057361342890353554036205569320644304286485152583254391293201954413283263514374437249131964030228402119525535541807535468262868715796484637576995354268436291834060996792509804394764177370286057948864858206302120545939839207826003766594803747299529980074584602198557970118458073370453651685423901620632638849573805703063587215647270028286714479522350626504806402097762782695768275709682573461120331531490019560398289706411163445114683890647641582345182733465997665307435362510775575745900157299391419152324536630736651209723115223174679062661023211747780499314799797804887325154830381558356973348326510622686005225038010998064266678131310413750258082901619868486603166182197750073450042310903689397310770725681677474352763525579030725150386205639441442579919493390266853026969814906093621103260228862559202620373161330815083275554587065576576241136236822549353500678870489239368413136009583251489820940926445239315322163987017656281598282941742775538653261153463993695754423309605138910642417219438443599195038623040689652650267007269370290252660782199277991832725003020198319746361829498137914343703052647811843661943235065887648750244707903247342316251840388463121719871385297894211491166393785310134915893948681536474146479890409699824273048395114291269037352927090421056494656581799419561232838916134454172429899036395334112774335792492419104182330662293092742524445657111527045490180449578920210474883606834872219290391145980699802862064930047389717151694715821827962327466920168926378923027511024180817164731520156727424185977658930732510921511807622999402121073679876218129590142166148254131742413224432232125000291066762289877448679805468489317039020701372909416110934948819540872184776272785463843611278749039002282470061427998424731437300278463911811197630146924827138402075831842217863726307519653203210676189081547286414877822534472646218053438867103942156580768428884086859564687365803499674495059807891333818510800962547142651236973269153999890840065346769082894889891569956530757198359614622125624039460049114074072838377605834926848609635937175579331174092498104528065002727114506632470424224262595826303476220458846119146124834588948443720440368468042429033328240075483412492616426147172091807301769922927828910113932855987924749023327332497825311625530408982121773961133936120491527802784235583357568841681136150202458812069367156128415735952706147242139567083379311352258496255413300652154153267639356697370304279497722464658410660932868991659608490401499178656564691740833595521056365345793000728821265265101906070343977604120548042683399590798168822979558198200188580409011909882626310061564443352835351648910743719792442958681866634245858230205863092978702580075364219526178376106353128779071420385237399585485361412077067126942731452253573809709941551523712724915679884967573121177697499088210634658341844965236041325906421845468487722505453965997959802266344900407379085158541778806704761290225337923806573089758215108056232571223936993273991258639732034091594867858866128809475928513857831582471571190407144537284105172215478028242878608479212861619185874080647533773562179159797334822102516062148092408501882547828640955298475385525817380183081958608498663227495078230975258013230950929492654175904759299715226542865044896077139772074917463669313373991785278009545353212365045049226085824856613988079215579357475190692384642505308138840241529055418758997389943163123801663260795446260047148349564791941318649039006052592581642271995035512736891716806412065638310021279018076222969362399856887965772437162838400793421568447622952500636116764492590958082175024918551920983055847823255919572303418280276085828770136521249136165766375677416079356395808254847527233331726681672740641658674987062409401965967608662566603052932106096863520901750489801204720176561880982282803725748805195786776234263697960607178760710441573451165415236945650168026660432573630060914016572380620592603201158406183863875127769603693577371336792063738307307895432761385141578025402032315397827558462419604259981214698903227033481397309706549648871604777563358771927695496935443205331389090235093199957986496489018471650771373956278047066070229135924605821978849558379691285428591393142032983912851901541332967078724744368563392738926075288779158927420961787591343000441332446147514710045362706938585090519280271921722377951044701222150955913327303145054322482189891502224070501924995006849491573648621490922747901190758700167445332122451531994249084134710221216875578632991375794300405257610946415342151961912275944228421411825056362481542492413827724549583806663845235722213675506911315536941363025069736434018926317661208500851287251680451676063789617453597401527524231573699986605125987343540258394736048709141393645130446270976776009811180398039042118174300767802228034910880283709822901285434731123778833630274835202898429692910753721099536707968853910866454829527840494611972050192443076719119890891828875185036307394529304081360278753919329478471986428855461627068167095797312604965857481813873720448837007745307425786558297838590974438760850698552442758672948493892442214489971350479328704704021852943361809143638246115541561898211761617193061633886403007427745849869147616150590134363593398038167510299819475443193386665785412336082789837121590957722807456139421998189505217552033767880802900741103489843431811592722392983320282542300576275681798307102423911467020545220885339243879688015045646080524912404030787382695367550951424120393633910308737315612815236171306340481371455792086252415804511141785329647148752106468533907501806735110263476106210066312733853340457172773387380951173982897878454526278149818322894615434775019536821081838729380344160199414923171154137920484946486481465442209867448257977661338894874206847592498460350633464676844474372759925035890381412067044044321097482486873075900066122670983590099015912110691459997683703269558538779313229638106048438501844882376947149678125104184023763291760224398298616281649169181795003186388744617890402259182182272496273754300656264667349029619850592806476818976284115206113078139130565439398021218289107322807980585766726547564457929666514013003669249886732151121817320334657711536790346997852159535188448977507179033443529910646597747598479756718799076830903428311945247971144753860234894284614293818500995374945148714864919460107300937697296047376211342270041160656531665726575914546239445182611105940008848312497167256358922923049351408320481471648491477834396916342030360363811505959323161802549368404926226347957982645768145805426368837315510021010127498187555644600968565206872941776037618441874653367103278974259873462704014753297827958654820849094165059949436427219080676883379513999773465760619642771015521599115757827850587590326482642187808549774776322878169118042917761312711974861261979363881578885690448969096877819846720315017533220773087217019698905759330297927636977841935385171053454240379214867392929607923924133593289644726120660897634581963338521146976066789372875081494857769242063145455681591495690445292000792044079124493181083998971838426781926342471489685051911545742296377027681016509261142787322090066553207050698251124514021931195660495643293771268641636442257170776938761729377050446294959753552433986889568428506424605838032746735931811261076797193613125878983847778436419876943374355253698243241526722162239384129342579049396174927426004685717114761606945404051435045941634715309110390013697042073717841281795703558929923210916193045175695407032684485666775104431182508967038566369904765362977654217477685018353832687785090496021670243271613831196818514714970995032459429046671929506975902989842015097078725696801973914682471935432145834410021366690604264506297210233993818365577811005111598300471201989135131208677595624295310932289944839023881512974814717378196288813504088477968993847183676237821443742177917596410276911761548546366742767979688661261528838320045539038230661881843761598695925814236280211350689340443283782569374773915852482182006424983874773726512094102515673314722924911329288572106208180667210122689219439692472671305412054619579882437263180069696125268857248504231498617385454274973424658014865105086668980034119017596944246716396536951123930520379509462529257225324740671860586496232733333174383132806476728133417224222590286651354591201978658918501094136391658906617206693436555503672130837459965490614859450218804807294374029444403430230134687706938381546611701739407536967336830193161010608229038925599925654525762573670819870244509716468238559864357812986419025918170491441146654412186108990207927325985456385061096550427374721687900013661745427474831855206455390146066154101278121038949657272756003286519424967895252148793717907706672366602489046863515744785615003157451501251067914857025644618329042900801334537368429146733099782174242210135363039668008385885090607679337451103828871552026235313421905472141911247406835766971744012629212896991956458107895269428011391199237141465766251591362639976297695287150730234251994074229686773808816111070697719686969948577660254403413722398700316321540096300298118274135730391870670279574399500236419372047605681869898409228473534429304319421756910878709019431569829447260414546968155524332188031366981803182673913398159284314764344998649414866633992950584589484309895307099657591264206535343257303891162784096889045375992237926484047393054081422550169469413708943943008363983008100567101649231555627255048862092252806683472415669976658370363845101133911811676511252925503595185000803709247872004057544013646747039273939144303549094979761033103882116345726213677485689276290595959330390074417105560507604594003595719744765403284261970046208597145302828734315932408349560168792282420336699769344701125060563866628593147887626441747210243036700784845486982904804570932604124259921854100715665984628910735212891168020768642193240546249768990433627039646577671376802527044320481150310306014817912056947797886182229422254400161240527923431831696290745393939896946473775036342054511461799250735605971764506215693862600079289854084158545105387787722197878893890478457909282029695005678182481841000879782980505200346168047648797885766717012392048509143761702421146302322739810627602871834057200924854061265755016669811519029335400909750198813123876599471371330196485168232742673482243485354034671669892838705805637933539764837679077847304438010881483038265694173248977178544928361035414783763510427890559327496181654760648742977147273200149566823947098824388117544232313391897901844444328293592669116554918097934106981712864392978661092807345188044148538560576278197521330656859635457559089742092490009520904818934063785113647502257882280811568441419734114150879069805413684784310765185043760996737760344968704162823525697776580536571216206961274119087148356288782315742247697164109042898554217065327590377721675185505972494083570365587084749182954614845776621743963312284067292218457585617757803848232080590393377512665667867078762765432210651065292323833892565243994274981036993488869693109120088653589787131055389095575195790015408847529250270431596508873748341183579781169792449631347881730693864547551467292454932740505933232417291270185594266498377659595075016245075969796510110055911831550182658020988358370674784907038012561655988638726146699026751134068938701185252864684134915674586371976961690054404419805302183349749408823568597090559203536629218278712991833566827272797665385538543230893174568942256107344636391813656175192748141291686897084285689966212156189134848150068067979379613458588166061848106909681202645803698264361808715020019343894386078419590858303373264867342220219552944334353026915126677275176500192303835157459194356340168422211226227698393423826800381876047511368902829815312688711266396801870410530957347161768113601928001159187296949516084825625535504282383988886457960656501459789568528357182863134170073223858179084819835833437723536784644601181483371327911381070864354393598282702788289099740417431628075101281188447502074684314397206979567709595800485898229206638761218726116091234925695669448024372701388465962698837617204907206490558690588881019934951846037213609751768711838864441679824906039512026138461293345289469014489898784231278761039234477560446698601165755067607928173868622047829670143722969892985165789858999140267425246330435558557268137831744343832834417288511096692332474211843512932923892243714906850367907297628076768660409623000514495894531582038354267582208608953439016944048604822960809166147399257496957997019200214932911410125827929205526669463932131156661743497965828369781065715169861981947526795463165047764624191001089250369275080947149068252532657176686787409471331694352908520338168200524259207218730600229352657584676920091380662695862759327230238720494871800148972334156926093970542931164289605488364855847380077217979935521972771970535742981015322110772906534917527056025415456272432648078294465922255147683874406948503341021829326517939520982853002612698645192173579171385989846937327101661750582598304778691258224888292958349621948049644272057573271925576765349695817103378095130912484203222026716357203482942473005955835625182706712635795916659473372803055761766345172864859681335027624810626309400908173650911050351581577893821110860710582482797228192343113104073533406059341748794456943320488104805370905517008577332586550169250783119762784964327495653858380654894502563000128809678549975461770555647223083483426963806929834503987520824088564001839106340673638344300612829764601509285416155425241967986833522478220568177045978656825200793324000401122906279258431662866744628809904157007399353074660272770918090211312589112512647152955051512218830008635758047822481710008352973610523141795341888483602167819661778350356576540376427459343113654104852085670825469695315099239764811556899229041018693423076230605180804747404039550169623776533589503296966546323569482913574944661432027012957935545744930143713984101774529907774202082818197068079365169816357727594109551206931872783961862974719606337966025322791918630821659370119170093168100630613406116027826334519263332364532381850957412553671362798996401599794946946241657448934901014757103586942531527126590819165190803080436333462329374965395508422728717320458284918234314220598177678592066806873340793026922898409769907529219310937988880952654432171746237570190102145020770011334283134970013314977008203207276144774603441339245101390239904709528604835363788778973265056849512621448296872156498189915508839589808018079125141634166390337407483711779990660948512616793698820822608794845559845160349033400114900814483241402382125681477318792729582345784431199150434955141395046395185804498626907866613421905773751073656045944768970226991366053672052636428661294540398394611039584368094847580975162230746308740762243356984516137480687390314941257457165513929436465981851559371598172934220275266537936689329420249197363807114847182248368061163883011650897470894161171129018229564385728465855252931004734800927394026057179236743318426908729580838488790662356408922527076905356404118355740926470914789598515370138698769326906616493415266779632724291220966184501677359035836099790889538018931540483397013917117486738576950489218455328262348749270145377080984500520818031546194790374542382666661471351973921367243808458012827160873962320751824180525053925322167138500387142958874206200178802179309611710739468730449759872742439131681796057472556515138780200120148095416643407718675214020851256901925350279571938746761548737736412989656035489763678197899693137129310981000341493504139444132391203438641378589198672031168166379380891283891694311964542295057546615246886415258301926736867661542064809339727237216645470018681188638790160585980137933762977125595513228368389440214561589112516285990966664298916521617062526142809856914454198077413302123510086911544676969328730816245633299644197709678903711647757904861943296301451868650864205519953712803826416558863995480460062207284222842147942779183914089970871673163164122373555518454758704939633733525485322622376417217556223388872797648094336674275947928383181523904700071342754351391525837269430299099670401553541763723982168823597716562722557743655692149664500443010813919626236433692199442079172270199317461822598804221535684495418349414031989185297188398051011986486499895290986073941840286810618585513754528413197965557174357583895425705675445803173909996741860835028876500190283362212211995187933716023402111155570679282979490843052125331676124571453866863409864414009630290744258481234050883021863332790651075869787724526321698390378850794652194648564269821931544139867858262231840030069692943796553986964962517985007467011228271461264240889312316828815476021531910774672537201003480250140105248309194953149091263627915694901012592824536322402830205937383790906436960547799151043234756328564971052323897770523398089195890488738226831504387814481810297656488784698483091794658186703711537288990886300092152273063908711581788366662104597667403123589195397220143218979560016072460273445633390721506899266288125266177936375007861098397509288954440330930337225689799072204625444395800948616482811118093523975086889815175132571396695639646949904988031437778744698009167457832469159571669875001732401354498405931652337588963778507044228109842091221873687230229401852215437355220714490660840341347109368913380829865909981442925795792896302401662417497469937998593541541539031722777997868417245680106150150047458731437413139117920841106392529279388914164804845833655042800196506684278363126284998911624901590893066933243666786274952286049133912703144499791866437756812968929120727790545486571112804235801867153133496230165095521555451246678974196940915545542672908053422965419935315008949730548025349424697702070103454036577084841800367259595077565726753040911799119109696215119133550798022566316326676258328286416876167965254208064484254104181239699344070790089659615861039215672641834127006778014918266939480959447658185469713701242540360671130487099797819224277676538662453063375190279571533773797876188149585453105133760072650943477950979260482139986729830080446995252833192698815477351129651389357587360602725885783395268989674422938961672236621674734593937540794317585182692463318994869567526334917088246764954413620469668577020175262507865860375178150774533253644149364804777454529855700956941641691359762463573536465615614405902009058693977356895131652207533500418459459333382531877629707096297860063752250411962608317398874443142582754952166254361212616489539399045051978485647477846553268610774767634298692318022836696942868956437259696655731580965316836917244381303797441769772691034723249433583085569071376311710147763872269818435235971398691514626621393032271414153925757702735514581316476479365904916109386660669313450929525679505822395181025402215638085983177905511742482747030126530260792765000862399845146665559936981767191835241832123000338547494485601041382232333025416372771544064919834555144111169256643753486395027332916047113715372516022576894079932938525494201967756475230186269973787579707144552469951157270366671163154038578382166684659516163119688045152288872524607778468509036572640161483287143764946018579372499981372615683999255564407512917774853684056899994987335250616223694239646999715357368419179608030533160567591096417501570647954925779372762851311564158418289719653307651481670886879571410239072621797214345596592092158785891447146128616700025339483354510815740123375027520587874086298106476849058221147587768804471342585408877838278231650641351854598055219718569626657588360505104822684551506313351836569554579883683676290075530065977971836774651914278576398029354509185081689361606510369970241537748893235302200893672934819459177300783490038751673696156243019645610031998469758961469796243923558036046497943343429976616388893635721098609371409525446883197412470350202212989362505523953058820487539815951619021820521467899042475046962288949215595367691629276506948121806120514346473096192869909451067353557805690727336235982131116106369321027349914362302278155103325212872965283386895316699282506480720129793147052331616832920804873581054763183338544965116016780444574116255048983223983870410226762417113821101160787458991776081520318735773774062968270359307773123292310056857996565139268353517885563508878548081628464468859592037945462242230753509384321073377597521934847566699894784915323015073582133556790621710989924466783016158750851881939795333300134460671984208627736254822436213872848381303712551880679849277276154291533763765103434895603345353582179902620568490400392775371269857511984513022047109126366707645746739333044857103312514351869338314324679850089081064891123379305241105965452667438432841609196753660448141520549310108366253098156173217789403248203664895594879874085437937107458771009920956200411096161484222186337493368283014398014670752392124136743424864276237407065826404860857022945866636215043556834639320726955788025605305348631991639389814474875696250483264432466129314199696532163546659526492610684492618991358843947649384495947600386270648453279066108704897747542592833193388797644177513767806724969364994294049084067423581671421113859391254233772759377579517059088060028239561959157811123412899768183891601760439413678845062576900637469846070470555020688769763210684829456452440998536754050361054211854638869657796409454964786913253989937100404583350666763869091831266201929345520501548622908969452797224861942163291542243803269798193039528050553390849797317257453145398747406800162958299299331158203108843736972642846486956935125336493587494569231103555761984706609422346870093250605825259019781815173826566677515497249935823755718295291151975228301283538486878562236165849728275851182884886368378883569074189113176653062465214918489931201892907312666230904375889655694710776183345463508060156994793047017384254471336981995914773434369315892154171782280991411326001745866198406016395753054426782334267265724638016773816361940122995820749164210203318311834410880638255976204229087383178441992387816515691304159933479774907542962213904257561085210374926742381943026906713161167326893040747793036665879640125463561671246806727107330363882181435604609909214591677149313124540868695234092178994548095376823144334641138778919344587773389500569717265517398952804606693092217134992371017478833294070553156158239070314830980680789443463752302918351082026470553540535062388021410605639865744797618670866557958174630817635898118309920131023707788895786654527411208201394479449951150520292859974914020781713877288610802304570749970023633810392049897560337965251581674540222770871820211341185910098631339359649136588833684247567084273590291763320718399941002786067291091858743938995471336953618522635286321123092603744683445770776237803214817560287242973155630247253752348646829065337166485762947005344376288454232809958248478046482833713629396534074270725419351265145384711898905125345293273156418467228250307956250710563458314218735159125629790680976260385958010886349859698671922637775376122207784241403344276394746085159702489666519330022164288920224839283883918811828140592987732180334092493373782620571913553791405806948904701800355851193642887804576853124644670643964467889295225625332158748447331920236860137926017311518935635993837243294318855212058911653598493828192626453391846071020245149842959543792405036235703447284046290303403677197570518019941384082560219340968578995403935234827149097318955361424661341701549288147278053276130850889421128237414384369220499249703669393614844012478478315008195364313132847434131189476365991189395195339351170597469914965234642239892711437442022171506644402819525843771433760745759038227895437030964615184425932523085331656360816046487743124530064071943575924201853512655043428740905362146628554801352819025649005091236063047258535971704528324391864212032741562294103352578177142135989457521248556355679335170006699082132980015718821936463956508896431847904443166376499875634061341681514098018902104904365918861779406985429483441392729996535080284137459729689406174133647014745546138298104298851082473893802279203099905307458298726184809688635538932172044722324443457045214205113197525327194918963090250108530647127669727887711440632353534922794696351385508055794676650905076723089870572335772091897959656388211191172553606771854552760452085147473729105214312348941692788120932954128483752324387429628346085008942174744432206748874384991514901037666010074838938060016590270724464825067257400946462520307021811553240744564693424485715395357783912167944929822150126939060428892871609316202907940744843249267577657194039036689179893372217386702009727232603986151199744065520327529274913775152424903172102631098860867628512224192522458756792988765205438707573350784850151606776726895898891249451314257437846993018158766431361792092975939434922242083067111562081418377409238840341484221557607438521031140863789700043407457460158223892548398021230376279753661423616223212345559885581425759548063950774284551149280527767472005157974325666257190780636518410948770996714793407982968315964495781842569509185760085104608714832403915770249328071386319262156289609851540715071362748666268342538551671791494810758549349974866997355654486065967848809996787572236194386408298372721310160326559301699826401095978149089964075239955613951201111313126759264828864805056137079767540605322232484746028061788086499206868670332254401330847054315550656240939304751544855981400381147351493191767687459677586283687461512415898411343600771857883255872313987538737382134614471929543841620066663212664526676968317462941161976381666684823899559554362580819300197186208116877236821574387682162039609022694325908049369700187579718051745104494716373896194869858293867695731453245613905642355963383812577433629424885313664602336827883866470747082068370300305819368659376884725564737949828241787056275684986790042561080448091747866510029402537319213339829414571728856583434930378904332448796258585948471018532021745946788884974558915573468557516189940162777918297331710335108737407145984208617547256390185801677892148377479709301118868232428222436116566193818442901078340040278529923578962344304007839432817066730339770746478854211700733412723874548935105756401599427494082018749623284529797820238954265652262829926786171016675871891809412184591582829210289294165889406389239685345537103879931826829318964146474854861032700427992806550792877785855974916061447440657957597212821205551970273279485630299730861388189706815982905302625638387844727097862120668692363547470657193431026278513960476516213242632368527681839699863096565598370247730827305298335503630698711234700898909991146229332405065081782586740652347960975415918121876603345054269769581557677766211824918122789006006785119617286508076997822438524309404432925016254057402757549563448655892503651790472258690737058784773160459845502517895891172593872010422864528351875766711594696187035490034478918583053334545660421112375633588207524937309588612007100100745864340821079780114499546166972313081735273084530403393990201729005675753770090116248354302857204064936033350235282546562916474056700214821207218485248266351824619473255945029005898525790281655461375526011895211405418026778546252631382785593280580901333058541584725735485536770039529046288009469012950597156120389507948807622609193181964301086285483233337571020780456209614167083914053299881330486091496078712114089396640031253930972749819609689200726745663632598754752145430891765445872285946036197026992226766075934955761369870077891198263190928117503646479810830274337331244057083686420076903323244060423281713327651092433397968660910734058491553147447867940620739341816810161252594692246839015496160372277160105701990591571527608164445041678711695883456823828782170602645960711176243045686555148132973233471771750869406918860617451237598754288654822442473427983050935733631484377943566662165974705288122277902898394941010348270426681073533568911934942859186453302571996791580209075834281451369017055616377972965112079286921684371235775439723686018369878975027592168449340727000664158921261150710160721552539644466416142653592538414113030374538884070932934950641130529057289345900635439952587488810014559278872518157149771397334149227114448885439770578178824605335907822039675615404154056805478568879332128524484849148614141469252320677542968330385690114683937133073639183714894208642805579949107693137228146655593497735616895423702294254620960381131915272408243453691068682130999361987203147957656687795783953016471783248557835391807074161093431194922380708083252429688529877734900173430894018141113592540025499926745619448196768032744637126281533226776681747547714249769625305901698915215765151564367423567032826684252622388441473702893296830648312672913056828480191682096068777200030778372394372623248625731072463536072392725453404336976793344892619054799117634627292303937224317938339210177724649210388726422360099867987713766938870883852017669074202692586090232078790092181563504021126952518911360538845557168715858050881170020207139129599604334416458976219016767864463960448820318947963865720169368318433446662463265440592541219714017380990466190674381262194197854274426384998376396602417943099596333361188086345950505586150891917385324573430544372033296456213865129658052063181659460472081660271982046089440618899820697722848554070132569200905595695126555486541185199365031277655533388563501334091838243865607677634491725688668164441809949281878794630038292178909759651464183130713687677712798661928174587735617322660209861445290091162618028143681563813297894453382504094750808103364224150032883188285438663040048757633069267011898908537543880354916602896258045605341311737990402999417658802949403800697832831307169111644916000733733709670365463823562990317810753224895251310394846740081706975583430435739001265301202633298285143605117157053181873520273630173773876816254905359977966065069312189772854870515596580564659105481215119342717100201256211867491810330425712109880974896901490569798543316354458133550937614944749703391834992600807524494793891600471138033485059929812857761856438241353670935809716634981894819385987584042062567316361398138653810810001251544876208568937996930830340917905641996618297795731460168112797117661810011814088620971824410010480243800227106785639129229026637630818208001587134560460332263037228089392372982312821113936703481064264218755665472287074782052602142090305908100425903248817711883062009565837868153289776166541003966828749607710671081628703585003031755170811644501066353136186805094854748817197634895201644369040684352266726860640790707341501600532555343398491871279099574546829866416861128569702160238697066428177118981984376716793667038133875395605488196697238332404556786284872112708747397903884516761398708948012427808454230533579890761414836344846845749238044101172345332371026310918492658120030094215072965551797153560223666681079328182971106714913762609479999009070138668529738622143498303158808955985169225115929750669049535149950884239868342836715323429829920419278343159783847458538741522982277033247145760257444235764778245254548778922527291581051712950003805706397188168917875803717546929565535551353056477163446854677547738175971800473471247408660862698585669781728247761189431733752849646529092229221999378744273962266436693379825766479997842079481120431082329581976352088135158610916370022007099788830010431822756053984806511390132858943011133572659985772473459431533431407217084176727369380542955283002266737449578558891861849994647451099470380192680491452676642855909281962128333546124790225242084913732742134741460697631065794003490778213789034876447658398642897965716425875320786681362790277435942485216331161790066081815420879277767573127048006181897406535146494897643223363293326491630431411536627012718852124448118674221594918072408055880903627593127618577330643455456493870841768788837002701466901110252739107118732240368234277567884105475999011588864941279618870958985343186695646360578724113652227252286078744030968586136418303305767470160989783002586815069986567110834065982451319733523958742868338967440943840046744115632310043540956914931734685020986692802665612991419259635550075041009032838123496807413743301755049992899282496671509538266766285929399161579076147337443488417957720761384142413577392401813866760945699419738449386651736557864948003086005740863568381826570684620631993926203017582415072378248712188201410228927982237739053459154831274849106295930754239673110076556689602095850042723073509701167301357407371887287944084217311842691537166715525768941755685720072241229442366832755954205296763710816459124097051869413401897737045549756837456261947446360938574974503939113872259333779252810442429228684009872230235322860307557738326998805401819806404450441223369910755710944474554759005260123324965365101702154843949322204340904456527319074061937612854616348809797981227684789169335736898905015635876592582911299732771037389722353523691824538080813696086175088980652539640900144845656816078874015050099540600208312607488779746310785192597410610478642733356675611292121403240507754986869162679008770136763498856491399854980236935182859958501318909894099341036994524982592260081826416981440466478127333906269903185561454637778278318011631054877273110416241649913355263987924763726995661251363490753274883105885083599755822528211132501054955673234162270904028337703398583954712556582111609545484172382869459445027619153261168166235296886370858872302440761421575059951965253451560261518058231191756194614671701719248645283790147887462503778866072623618226572976802180001421894777150042901224885315561682825542147355252090671515364020883786511088795226101143293588196974611872192072524390476014482302074495006228857804214635649725970146798402038513380273420901979725952449309600877743046646762688741713111018651465425191463026965865618768957304515453276882734284498273612676259189079567491973216280392618295741584371243344356564829163881857213617919602587283443030159089703346733562703345433397691540289218848630312230327609940437432317413726553061324298148412895226410155215343176305281514563610906302661550633364004075377615279301016627840373328476679146088467805196955832715738089281428249898125816727347131159371973782396886741225532011396074540875202438742582320314273223780517406589226494837922384950399933913784870358528656438352311874306438276857699418878304697423939697447600440585617872096588624560022390224722915693439389053595528713899607106295933979022024859817116118979448080631477760652186389408571239159610838423224953916792226145037309314690814131487234802413476412264083476219220023398560930623816618066185031152609615351544960192227979170368248301836292526600779366161359748689001132402463673193531918439257307097528887487374752602982428762969460851059719986214693742506614789633785030264898426077464240854558513812964110019408610490595062144270556542363809125741678615487712497774907563868256968614051968194834950035259155322415787212037659608077274759656547025869832688319403089370730740333537638886919810762232676619213006696633372586123730991473147899156454596512535428056697870401559002345683997634743759041139423481902776401169636230266416995736750066899633169987816981026547327905630769543779186607074160893526498155770441339730821202364534079004588379178142168477636806915812464525205954467205702297647097669365791467721839150437633320528403286371849487617208220619954388201429719039136933933239456838896341378045062587415431957312453616529075961371181766562414679130440227703837024641034051725642332153662635603602952545274114158291729786575235989607834912199421695703566089139767925007929181086392385708120151940807057371578893091593286621886461450810300346877536207613018371179618250363195367199048318829839278163533121485228329604688736387991222270726339062731783993862875834844147645423487440749166247264611760077422714868543011584654510588019311426536861407380503454709217077207533468088509568692236423172688161681100295032216763233390924788302455415402675381297974087488423753610024191175981312830077272151659229661549283968544005054765961678396767096585176448783763201226283278027654407181327313797777336398050206300545292105485119118252695371025560763581531832557642904587003850994007418698398270534609215383512979008020560526335366282974294605275807052206970459016063875074366940703984271612040274900791067014698628180666390852903681923990602979718464968828409662115006460302522846179767372338079081616322102031101337259701958710770187768379712501323727872348428388475826763809791117510964573197994441536576547888607772314570564551484610156007877593814943441066362507805393798303061430074624958676763224406654269306497790153956209878905739219824484111223507065950532662328202853916958500938299041221625115519602915108094881347982779249656714491758332880568096541575943692921003613439656244922214331851627887329382295895765859714208086239240927345590556767490691016326522776592968730308168812563481451998285448691574863370531080142381429794650344610308030595103201506304406193433787405121935223409492005072532583540507102200948466073572109629569536687760523924685463600306750223822729271424389682879056043515294181258515028448821878640587106956749047008027100689349426450293198949574411801660858839581127776612610843481390487092989039647358072377673246242826880206974742521159462683590979200766572308959446178614136927832473866835312757187124397682362448434134673114593997028846009472371376917740583239467177121612303047407786595392228803314472942171516327227084369768166659109147003068169647423173937944479950589342815948094261317923503984731191041177177477053994721892478551717622368602402005473613725203171661200365265485076732380160393282574482648260965496553953695445863992389368278479561625122888242499826206396560471240269870948077462360752406529409944819193804512205430041997066191654235945737124551004120364075243068500306333298722756251265079681497574489094250857464267239604971506632544759250907725767436355028995926096052175505051749934471682870069553613543553467369564983887395098169052736337457373979468668031595060876632444071550921793438332519596559285302028343784329273860571413611945104179274667405104752655841031350956807018002385403549388967297736025878563600033136231915783906888583823208428477244049307432047576200707215558553082461079063171149470618881044501135393785983562661137138372110708098134344618615868109542426204718578542266086716133310281976185456020104061082243365726565798834480355797133582366266164714447699089886301747076985261431378464074953181652306502131062922293230088453070572927741054408691278804959391108781601015602956798753784123438727082741272539018087247187245184736686272826200062417360504168358128179938581119207090377889147595914551660322495595565546237417031053015815357147089710751821961307945106967984616383011644983858027621257175941604770082181959526053321717029907807889715580347481910939657154169517737139117585201154992383540959179491010467167832891525774405495956084050937735018681283110126726680356939702485885972836540567825700030562571414489733024731268090445777851651909046303214754770200183708118731525198928049473385530137558017032945896438490210277278665853234475964668892826435493068722824342551560668202478425665027934201277665381721564183820836384879870605119712125164779187376040217087040144388443662720860637776260008557612125855342252025860183903758205891113479893308666669469829707689144600913855569946136035622017076222181340467040721189640609048030060692729651105161717096104420877507227022066851897726646328948136222632009698747484720177940353354486615682924066433621883586998337668963727231171104814412316508278728936689881948010109586340249454650789964113001890767679452342128495881096740659446717124093528709336214484026409192033672428213225035462876778918380143458091630096085956461525011988798269870263942150232892704034563178634962496462578003548152968382273069479402491645023624728264724185757167702645855688734809238419537345741436835244548301482366898906363310695839083047885571237707730270417424114719554206066523804317737877635973422747576002292803645397835380006940448218520924357854600080178291486425629304634293360402516582580139164305654747045865559372328580927111695027064754964888713582655579801456478183222914169110579796354708055122724530961105296651965137320801081798477642204270230612027221793771325451077189643010147935063097099513446137400188849539405537069759640471190516300037323096922881498473863321913880538714082505823484291843045210813825236878421149305570065834624425936391985221154566833953285972738982096685120463141088720868990435618686420389579777669200675455934230106126451537963467949296143520167326434701603125028405442607798315702493117995499570492649992391842173068650115524997413312882120724411279917081483480356580909273828211291443184499378162092250554109154010215195741673462395994367793188720215423837194460896267822066228040531497477697789883547980456560993184384734876090963738657872930420388967295981354793525789706321224741919706139429671120478770062247836460935442514050385042811091755986024319654824452037519834532883833869258934934777933948289416574190638533828166457915957888275266039171783607189689338489653570070409641412483018035396621150843238209347117347621734500285343129313669209962289008677188808076876049278526823275426144393471616664614228084051692529475971895361317591962384764687692874644501585387107601263061729037649561092876628903155472705001380226128733424357363747066816339131212719107974612139098617610544296101005837747124654225772960297937586257023542954564119878637052165788999039406402908415987314056697797717799325969204002200731345233568582015913873503642228877669215385645827812986844370682930356274239264163915891193761048167175192710954815535773132192603006209667422865810183852660120653285284737767965177050414526976494407500233295735535603988978457743726734445153905495032880904516328389313909394034864951419631376172701499380604638446951448416917474164028740269623258229871465992969841102404522233277486146659794659866421908833231030525938620138594499944738608947119769716069453131668958011502847355397544828912090914339146215627656818894453850377659984792120552816598392016125670710741416891343751765843940771720424440460819308497371109048132512479073378536726301481795198694881741317783846964608670714348916804687849226345741269231861016822466201370722860438333961766425256733472156717877091857383288707270842536805427268197271811051535168092809720226940351343795776071032159232703526380595320669625143991066064799473021191284787305508658099244834593301941846732174147618543803027061802485861009015096171109913746634397658082980432440656632577802770406789914254837647727209943662588642177551991098806473018888209866124465336650534283363081684513347214421014599890498667213538328711532135232084330919747982935941366160823580939313196771312084699187276450962393729857902680496119281972722503124402399522295998361313981377927002514103288904366314239829742901172343625730990463605986419876365122224674414976613589272966511730443572040037129127240390779034356007007934619160032889940219223406039890970270352341162955601407578251071570467296625721606888099854478374163131983006260651922775164514893999030043424269853792607592502621077343140220562440160076314853195323198667848016275271588004861857460979208629863695056511178804485439132805680658253691248588868276217974823128698225183854955907523703994608759820825039867346369639618910238421047187384613790328290686401316110099465298759205823446814221506490714448070525092100353605042721488400775700859390113051129764844857593715481294160034723133844306609103147193265039590757175330827980411236671286638719848661980513378669599892824687120351091721899771705358618982053533598482967935763714854082318629806906272973615295051608332846537932553263764792237075540030557180913428440656627334025417180066996703253603734488487384183948715616208482470285153185818202253584983643964430626007423603818801305566096969168737934740941516108929825045138660234527893703300174137396672194685506889694995094640467054489215134605118768013006037328081411143149107079634293538996705369267468280997440024923392480634211850808096188561439793399064899108759779967019995394606487232842901501223453919768152994809732732324527896742852719344156806496381416495641106871618528276605408693659300590089030811662478572304987988370504155080827528447013735865732299024938176489808297689317673831320253273084385999577916011381887944368008262472393118626728913214571785336577793813437957539464488907543181350501361627424962535256837934251400512606985381551088648292017629726506244477906869156564058907888232225142679742037410236361386265345750233307244107495598275255858378858195059794501739981900999153559349901238511700430101885898216205835132252529834434514772061301833837476971496583634604608020695845083185372488360241938208111873892883956562673677547859633364034833784131591396735072016851184941722151758988416584057954136416909865988720711377124275622435732232991066010746523412283840687593621615788883620485165413610360385638294459305581088241674015163876246068350136527092352923550463151642139545962640932398430925911254049579930580809459280474695585619648451197041936032885366203247016234501219767394453205253720991339939265830573500785201374402144839515017078401905282929242317288031387727140370047408517430680870788057213758502148509249343863995536647463254384946456847643384425379316748704576383958336002265402624963241238120061379369825021951747215911457745997143428887945640653205018327024115289358672994578189325981459248625012823649991389277918552051089618712791641804954594726995237600865391354903966968254694465842274820242422868346865902413443594774990660686039263447308392665401868269074800428208165264945640593101444672237564170914823647417674818981034021997801776022915495782563038467269465894203651038375010741394156006711289298651692255303322949910303887667702067390587829971717810079538147236647764949747767039339867306717977036521983638840875768375474487015470132728885066555529739047092396128247673567568290075423681755295362027666464978351682644165697607698463430341368091892626269445654145458694330258910524720551546204591240857349310796557237918547098749632848308980210397837621801838942648610132246518411176753911901640176569085999172550622212007671697361545296560380789549948792789006141384386332731982882389601609772643494972751104063683077170371322119086192271519773612622339438058713030724850752749476262973598481872085209760863520764688501593649563070921353341890683611970339778567419492971125427383980607279647139360506837022352894655019320747744266459125942793022961991609875203477993964521607740366901698366725710877321315707960772970749940086252799213108495294641373761435772094815566596278712510855254655432832021432004979007513970007791898250162535152254442922210385544789038678123149640859394524163684530491527698976699399360659177330313231737210599102087443026197952605558329250409665213869051000250708085841657629189872287287001267080002308748610306331289288572593933171958616891941667617951830354208626424662931892777146649252665751400498568687812005957291872014733283551630519589661535444678640190729757114270650444857846922120514325277687803010976460339527092107530239993293125434529634363172829397278485802852440252876125214317562538479970887871036489283597861796187902163016935898465993572656428870638057838226663761752271645239243514023248761114986457613627284343760383307471817978891131546446859622701098438883739312522775112586697061076413319461105283056053054203644867485356123191329012922704161585458295453826066689633410486819216092680032323913415888431162886521712922888696074404468321432109456533335131429729200849534451630581409366489792861216171279161829151152013199400378756619125994887397273970737871841423502374624181873072208128159244309190078714955637295630395864576608983545259839033120121833742045386427618670542232327351854085746074196474540088299456542774465927090215346834944175931691410240476413962239272977577302257438174797509517035269561023084898687201453165093348187615760511324806705947768192034292252809116442865274290281545130677981082105756642347323749947201088663607703141508125250017207291025049166476242927322475952691058783520400568879435738411760072857735940017643572009286971080083419610554186348017785802195341546749940034315440283020311034349463151863766875759403304452664370358495071070977628502528786074700076205731970702660949851599801362023328526501508542316754187771386250894245211300610937674226564833795880193435692014713638874416057822610316899690646687846794914488767285861955357401538523885063263192376125977953818105898756933003576159062840673476213840036563965850537424506439486536078647911920016725816856918070331681287857330146576212709562487357717925320473683891918535903100070378488048047151585151581968557832266360619572772518161146879695969829175243754656675804286677352022772793256192668211702707440510431273725321540652446441250715979882104533029822798590313263238752581147953416492222502685055451986839068166287837643217989219971041543048015862796663998832423829348265571820196142805908407091861428612805670665823085025335846061470483618266592629505097548807410890221952166328576675403023365379816881705168712784831899439858510395482401894873143556556837054466507014171090309933910169294303310489277008627446140638742109923817579122179367472833267400177847385268619021408142058009128059195006620581717028976861369389265849404367080630539653795385257998520094203256561178093803962708065958677999412865814150628514135083349909091065661943202030773084336275829451674055710314942166132592493304254045828584975754122288087427125278338289900342375943056510503103946566424553325364054872425856557428712185178598645175339991648420378768854615893433002108257025511648016354563932225337951293228674393702871964864693339802689025337861893341310561169193681313919804486075910915858218887151003243251491585329137937459964728562063280110304180341173077026660033008227287636710540809755576471764739526149744506697858793974253665008298151005511338657461965730847488824213650094014008015239298898327953659419066328490437273468802643576102994574596505247030307362492020609716340027395096184227557572331736562628961359350479486379480913027056938483302590889693942769231538565517611929405487317217760788596968997280479149903385875283787048563676800754993628296426850273815865734809989068158909690554200579644679957962516917142800633740441146997652121825120212109586817542622905751790230852663525780191918084699001452344391731914999824454507950578484419479465772930444155517668517112426902847723389100552115384543311739685696507967096540143949556203986555740181485885520659774383445641712887008325799499624496674573213407060251600717307141149958646765911337591387991917409906422684158183613480803531615001626346257186622666057937961648953801734158023679900561030310961815262099048520867220245211007147582307200070291041787020319421060076894068736781348147621789050190396841149721356285926298473595774729935992663566019809326932675108259621711594164529185678511889926827518462077006662854046460424240921920250468172730911976976825085534155832937815986720781940701948528198063646348870502820906818083824078373279861274817512775814984836780585210055973771316520217386637829359048008320161234872386263415071026991369238933572606485290516995314985058438344937338934135659978990804720569963732012410502243161578997516993016161626241927245121840080976440334212326733868342500038526184105686447381179616420804277100091541162562566793964307732633164261986474650731803399167816949217952173005195374696521345389939391826728128302055755017936605205627068868673525877865322804485188996455841103356704210275422757249882114608471234301655730711787428483523006733843180855147398179923008942170462057108994032254897242476457912088879255896333854700771596496322447523857162011863787315867811351340183804108407337193023130162511793848074733953383650230157995479260225580569256318427597750321860158041745561019723069865796845364151125805349198924862010850965173156574126675596610600605662751710993997139241833984747798788640022391907037709231674461734079379083061292793923205077090718800180762564369119591770325755197428616489025175387047213012187890287599220808219817262720749439871987371718438430755270916009745354552502438531442650838306523919098731408672962072038119346322423401793813265702733716618302981642677475627999623116931952228419346534703336828410890664466178222664900229633400350185387445146509177157418745136743834594660171990471478332557588197449377300855279463120627945111618531429885356799424721769125204011924295322016880920123702331822178210494090037767944933228119080683152366875532519884274316789722962570708521499913787197811795066071438119676148073750125283133639233503507299410246954153710533098255635501433737634608408078649689197847755328035663263167222203551050570006627508096331552898318258218703729412117276043168487099769035203850411526308743202183257861546595332318908960205584432667978122991857848996038683543351035522380503501433145218673689286680154067319178150613504437474628240728704873953752634470941085584075079091673801758577832426413387138941345207437805497258315722764532414547358878469535732437131973646753281866635510193313876193557119201518884794836619428901988040416357571718536213609011602433247717088110456772257413242877085570943571540646255707442120454648811581815201881270303544181320442970164350351386155765972032974292553305235048646470359049650898500108842614248200831585588616050163664469793459298724010568055569719854395551234634650601138378503676287941486581408225823877080533346213153850632920050293795490939651398962508120993601714614469039130946895940723788082499100345757837028787778337403325980973201592938098146245813606598266165387454246506985024520891721280085341342422608904182876577431676293775398923632570307384544839525946680843952463305467710139422279406679947873688635095177649027086326996493348567038540214608606777093057408811800025773633733640812704222482965827393227556697408175427746053380858805274884769385197555567949040194261748985686121196148486231043326421323562481456915360567741854037302259480014017448614865529026015059916092702603372900251545974645483201206644121675084496672623862672001951945170096307467302061701125606650816745719652814115719131714359258348706769857326329550779145805870475313080657569775044935061334870713409479392730128261879109874730961250892599533153037179125011700410220496264728430438992914688152334088598496834119890273875120672054513683025562094611828106211450867102249535091253999620412262975891664133633681774884705527611768527557010792480427899936484812202511671139503881571366730558720079604511058454343548155964907104770665858720056161448286685437877249273828026199411393195139864429576926751774472799375252218325799799599976582803853830552863603141395900893042496620860580180615743402421948442765728251967634063580146454789624895128038407104596095805265586085546294654439948521024271341688676501812939626097922208744419978725499549466351988783156683673185213574419352248653531005410605179906259035218423515066080490151343295732271766670877803316432442014462855068333593662005457478137096592334369720900070737564093280163829073061489535519372261081852237808548499827984495216926943974446134783339830679874211164047287361127445686787652333987854096907216840363217863216812745082265705473014094332718886517902552605437921419653096954355745646463460350960599583448706797808854457795496654281339150510188006403111510811278005281983610050799970840333453998931519325998607548458334308915865597237358635446954538564542947063025136920782669922346866274630151095152599651424988113110122691875551977345226917736330632473656400143511435087440138339817526407742747165608919737512295466598453802702304500168772198710036172698598097167781901346988535624909437552379548398054869768592944310112768364410452560870543137517976063913753574587660865214819303968059636327313177557315862116508151343876771603251117460376042778596697049778729159284607396022180510324487043179740361680302099015900851261564180117580219053433276874406442563215852623078458909573054095006417993913891729976116360735388776388232147236158494931411168237539467550209391447514873194242132473400640380428540343863212658349810603969000450965947665314498188663441606747393510715772716512123414072971500340361057332275582305962982123212569872797043516584155331377946425139058802627846903632159987154785504820084396508239801710106836583673195741947680282920562088116943306758627628410699657859493743207559088171519177415441452009637341753675790788111419989411263079885479572491052567520475413765841994164315215278526143949493900487496727060766934937548759679224887551700016211530232517927945443298508555903986605451866241054268082667312881118805518964477455339225894882676938873989466955523113130426561096213827209668418210466852725682564507435303539033271761432125052455705523604699051605924932165473952763878745963612654332932341164828375701763483982462713020576259866615324165991005628550150037490124589296042734540329606614764213080417454114114561150142856647495355387918846840497244531625675788850167727181115389766768148435140059891439229050630568381617404023427038946017590743523588337333111303404585162651888423056415909275245580810130829512889449708884113491800049147046258607301145992791926268072881608679316603674576655354462822417941873557175453526926055388575150656056383844537595087344349855151661484378728595668955184826817730861395515902216975138414769999669699524499578265013522354958851050032040818988947977505846697716954782697224804448482457907578433359045898608682912227561350845433657406973512398715257604674948496266566531042266102121769029512582755891944468229625157358801031982627044242363440468517550996130829483305641130803410770612039485995353379153413501526575850058024177027035325325131148477509333412851974451986413615099111406356250061779611177691080329335447449576260005996982574610250260368724462418849806420286607100878629939745755711944578522676607518373835155877307350665870647006933441588337824715966203668789070720412693072372251173340091441329241622180502594312482420452515106460043949964529320569477174299722197898942798500752797159226752064335510038143903847037799077721567258525998998714058516714467197236651372670280524382530642819325708849076785199203497906891476782650211468939472413313307396550682842904377710397979856638698648855074854345986707748797670682427094184602308945753759412370634960980841148759567697526644425945808508721798109194826729831051723911405645382905207893280085749301509021324955499009054440175916270827123828127807623606262719838112686548892589981559937805148924751839361934526387964449706806267876077226973566096360028671445648815071227837003786427178476206959934156285686841602283184265985211893182164937652283600544151322467224024821363027003980351301509992495335322356706241570110892669790084194003894349544411912640719889111120783493206327526211323695355096681148429003665301105263160388483975249754357622791436832350078190670331002146227431487417088278283973218964852119887483758785908496024225539090237326968341214397401763653434830281608930469412879121248354818837950916805652371657949247341307584739802387676597829927143652374765573555581381366379153968045658401587962207303637562796240660383722370827627650839367689683640499438595875625313811508649217119438832689564162743428038310967657629607867521730580143343764273577837406566464331969261312869173755336408562907245760625643407582962093170963982896057732544694562361857684911290906929014339421791468382322584063915955931395650577240376532911554328804107949398675394323853343476683381523396030574464857626717178455258088912551443973698112362555650292511087548223420350798064832906815072593186301427147455594137607782482429858141060482174977851114447998211074697478138752976612046451207041487483010621940127422482521725941002236922198831502892971839817356616774733309280878036067210924595257934321652755332624287134179410975061870739784951285443314883137419046626133870598634042524560728830181448864367177174183145146824330012346442906710878963625351230142979372434794919792343179479016782959558266490510141562086002124974469946013503777287756257554250140144470949598689941302760506736070526198617063550409050152138643703750403966726302179897836357617676681658296122558711067864543407136288190759633270863664364255516202858840179869242719356494279685753029885522081226300196011263590653429408170094990135223314391877162280533959721794187294715193406179067082463488508227159591731125618099231160712958412115106945731033675238666608962892939672199121905945518118812397725281301166847964002430722665681820148109708525479967546494988553898158955051709789413987380732382717374266474639424280431680148989228301756125276013294947321258797390025401590632609802164064290255443559275729900244101025012983979972195717851600630540068973516146864939686922884606114329640900100954348052177206951878429844469339125528893665883197831841592367190409784666990317352730045479606310042945691516485348175334392428409744638712978202063794702517544730481395778983577558237847136024359002536808519821288864287722496943026720506284946950299888611116805915261340409338645672122044540766884229207294531033366811543390599813151551414275521533220746781402622523457481308669181716287716673601016889736345526090932056897665135887514095619203839573461725676637165147570580990838159927010716532758403057451769544650105917983836175811251453788914846650617429078611825249299190942376114428168550550364734451871263554801553100798721016677158685185401065976446608891929640512021155069500471180335275935467192562913255018666515724188090184306103458339871002862021651881231699722774811153524506360091680571478552746749415567658280986265638414663041167508808802619903850288476381361603233372040892713009179636442546586680350415273906017948970272778704895998732733043828365316095988166059302795292026734828119650649280411657561882591381465201032106221060321644926223556622681065427192991486304014424501595483506365050682105070361872151966085129017330941695951271823588605105479103123972779078618321011595229967925633053877113410697669961956290718688845381120903597264591990236694344620404875354989795995327964618006829445224919819479724434421519089545988716522080314797599083175481518461260928194896753610346073162148300545028776089285551737014022214958967180558065675995190753831724630773739191802891048994107751373606377733279617452826418892742459079306530818717739490351344457236995736369016015057787429570889798345827848164591196474335910599620451600720082864856858527851491241536960825586236369581235018523073437004184119393237312401771961441253417720627473596171234053016136790177364630097697625519815509070033488906992589097055465013075105972227390208508366128520192757709071240297797081556711186231642923106621965206139211245521157608495710812939126177479851044742250747325587542395863175237421573933919241151866474537342433908889444272482429475352523434503257092119949767718292395361939323975429058151350061025063230935861602815359273695874573471133858256757250248870364462903665494160389539828835058493319527498908939189883740425896823067365033286061906035492852180208349348166444895771028339128861667738435705049573556631687263508129987702800240672724651344364528392691793272361903236396956933722135628350070661465964839182372669661774667058336304932420360369660665694556773977447191503316272987602551156774903428573938618269802236638980652464605766220874202954557676380920164897253322839939476967550090530978260514531421365792811259981798860498016811581934177963169418061737456781139761250040765743650411270726810901941858775788672356195910211005351121658031969943335086505558603838009373222148193885236689751057476958467314928023361346415567115377462516483714507598189177282035706125713054444966869104568418469044933424376763599720744448770679652204192493489265120449377574995468145294423499413267210274141448199254577095852854472029851601858319033872946255780716328584203950322843480337883896401707327499839230510662764699890900437277535909978104468630344149378777712143818973475106881370121796105575490398068519998087371021477556126076661163271685073982895690493805216344323279964888623458889541764489407780843500243071405368598853966275711827412360221218438860932941893190926505314385772241690679087764486308639731968802213477929270012264384155789971694701758976084999639258519800018845840398164875461633104388363107344874571492709396990889339905743881813403285328238104731703157881745876806144144131827277688372299429012004565777780597939404727065283071409303750248173482925352324541488073278257287708874061833452039043605040418669165179988997991164498225167152737331387200967040650423929630909022287326048906698860715497691899499902591067190281099441742302199601446510762129103588870177332569127881218821491901182806487996155684190501750080894390795038129759771934293580804155219202107894467350401735767590389309882915102657724813762102270620259039867269692246746292372709278511432204025296897847268499663106105414741210870138136596628283800124875758307627895827532373948452043347440638169717415833525452474735795707888649669997497564792116456721001892302343087659228532397770349052849172638031188145899861408656233422673281804835528648823578213419198992185562951339572735707241893206972350199067367024858738639486795688069160363003515474032246961789131776665377649820860803346491624921436455504133445419305906208020597032391453101742226674198726993568953373949232782365485241802923970183641232074470641449996581588924907327627970893301225904032640758752816610946879436140602994622166885209814213262804406946756383812122449708164932915398145877891615766203125635492736498019353030577439888357136443670682966137045875632853008695709676723603590774341847384687298226941939678666542585095680140083020832914587913602189752689509567922066250921799449197054417937051674651165717128718038418339468443718117588367816911670725764077689411456344561300981412340908905737694565192421641423416389028378828953790830199680914372985239142532836818038125113536259857650091828626677830776112811121002113659449601682084117815767608405684338266464774991992109204707288039460222800115313109514860096859678102110524419770461461115669674472558501569627860801905573051732095099811289069167759817683748376719349302766039737663901703506157515370918660997005576417416629881969769989214386695042721759448327883449659945538246388530173909561077780523508875760601487364948681729055879859362514115516110881795274345527310683443882594853358792891645707593982238067151488454131744752412971776791058715858266634750139766502015834334171285419987086812982182611178444578309256022001673854520296871889295746134810099316702255412415832973917479677119938019733425302211780696342763953128688941424979277935600361065313844196927925143268847033047302500003191924171656116581760114400731718515244464883556963833902666234302481799432760527511335029134640687237213292556960648996951121275894845684971762032753215244931289921422063863267233954534409572788443951913990028761813064532360836785325152949868632032865303595569769029457376218116725185418347870743993790491023300214778409459746401879333542700998067609277819082706808681516165365996229029227891754116085497055977169421136226454316713690399896926321842839521536337101350623538745054927487049255868347540063418415619238965564583062445434946715241093695187360955819575102316063325856317261061549843257360846936467880869567990738702191173575513333721106598263110801150339674377159606349566574999364582240449834821507913799123588525948392891965329521593978934951730490955501911227998159840561008307932620750719881825271183389262019965213849136306426295634691798255079058453509952425054694382279405954666153064993796403072306930465474065510610436320140910881327040305592502454380168699384448875851755736066462796041348969975188682965131926033076250642784554124304531953086948611234592295548792541983194989849345265875318068379888477444436266781365712395660166991207272458897824851597044812856064697075789451260619423495255200537760851125012575238737848431130728549274811092382586659580316272653710331914731780791341960143154198979469179951917362539751196049545887845801199731434446151100816206913543366010143229729710523727734969198823945061859534930674679835331656042738069930690795963810267338185646408643211673955624576073131156898819398451988963124743176479585319502458176472855853259832290224070150420638523354699329303762312368805921310279261429676185569430186547312655904479536567160682639637417272706640802023794979918927248877187400287427431785713047154547616401370478798004755822915114761258139327469549444543074399422732220092709027259302031146248501960791557494774532689403478637091691162805224627173822379454703723880694066805538013771677566997728467533387307258590706547081302513167502943757454029607604848456649537303016208828406867651255148609015096872921404065824157714494833977440121157317861509518108661759042695191071809763505195812731132789772189873061859626885407519732436989793474421265860515583802264394425534317846850233369214663169936823879763104302732896958525433423802314426634176916300486085361293535191465684715022523270804936075261401258945859281847643915917071955503315359608900086235687502901072011726432239195164965268359906093224260328867845766828201337943217940483599549027278234160272913984165507980848660015035191430376333309306034503404231013303981181071099496043440926726219309064033982071088670789226715973829685269385882195370326451918216319140514794981575542509646623783867637718525464178490121031487457170623559647251090382064107667293072122812549322118944515225474013728465068858922351706863128236465374392908206561901724891733136758518852428309160586429628245733100310953261248465635858462250852456120419481751441056352969478279900556356077146188723310865578458438781405139403335752584023765314520644528294791438520782587607240815075347654705790700377921030659540922795478395453324347187887309459726696084556911382356264350032830729563412177126597023790898256560296419726786554287948807766181589188510667796117773555485792260147985744908799504813025119677227702910216306038293300642938736254081527380625258199992097820353631405653707078588789374871756115079750902574291988180637459271726093183790757996590510867211735462881563442119389318401861145443525574173025049946388461609432218967261978448910662788720680961386394344857202560993355910588494223285374880580046107671412554493887274142067692655493783532829270749175022702313179171947619708437771704917730939207285791252930401937311253476684168518984609145878270747078365712627520518397942475270279783678178121433639068490653845421814088848895103959709833668737908825292037123888807672580080366333586797725029110894783774149214232720099030691593004023342717490280443301299665242194409999443001810910736130222315462240537010676038626647037687908909008064962046295624730198550544265455114452452506308943800589582542313648875888008302205863001236985061462525597255613244095657828344573471429784646893761276503876573782021623641322973941718618365561691193968856805927267239602936371024758951222347201343278718109079868345611876317218000614586642469139010236430990151825686709020032599388157154313404461552146545235419693211649829501275283905189607066075293265726650664270752704051701043022484297193139477737819273230754913274709063980819099202596048960737527325794636343735257954100982693951537995205023938105761637273420893525328877916480068872168658480797203519109974250527998869709982324255627685796788709239941373541129202000046229676841377481437282481251201740199082737009116730750435420584397079441854127295494265263316013021359359320580559269962260327471361151684348394037758405918104446300278029337005563027037521198674024324670947276460129754208981712124059109449954156600635169377117937937159852826074336842427362074448727454234710759021802031556182585332884752055552956036463724017006178360397540741864400512936357657242650032673160504276400486957204731314071807745853589325955108300091685584079491916614317147416511102364508781432619596625948492357419166478039209611403270552666827042109252813173125803492144688748190932569362141623002661722095139714497487501284225266123204293849419790703081503984962487198529973241955964068332405187223910405181648288520134594955898445990571135658075578602567848943107385357793409015449810314788823904474651992886522375908686919383262543115618596674786011895264673924802720253329813402049601956754129519666762643139372050407602625078719102884468867638109750434760179961432217818102261346235378674167080551610760059766865252345468966426578286592325014833285180145270614773975533890970141514564959283444219507006678899884755242063873538492281405482652303028272323247323276045779863618051836049975172772180484606923828083530619033787318867440779978713448915109051643909819971058886718914808730572639547539714942993537996357491480803150597878263432514031322455703634879947736527079102359445850878168491798834206685780892364187574824870514796445062095294848927810847390728926246940701725305558637775709563484720935165211414793134077298818411746393120286553145126359787957742546974728228217009159091182727600023116684925495745691040007205278130175645665926697808725885219679230636214383825614662622339653083867121366338853941385392745854310783879844280772337659744308501701552415406191540727115987537723065485700488995901454756456178824801415913579445509273117856867543019484450818564937698970423306955178572110730776942408868990510038439400927373005353442523756700318639334163501814498774565663468606896950169992872613013552489165633691845209953663587577438829009482834122415295158036502796080052465091031888289098504849328335066771120025221909631460201510828810231064082551326253401051262929216791374142211137785420658555161418372669753445838265028308191139727198962869677309102737943817357221693908709440810289651565500266863264323280942489760824820115986894694293853913353022837488890206574868721743285287876801324774204592114975710592412948475569764143150520073346619261286321959846172932458797306204053606576492891624604997516502602764397859798033377252731900018329924892428254917177572012091544647869658744460153619248628835837528281195556627502429053340655911024118356835848196737818612502684066658855876059693860535235499728237685817890342842676373751970921171117694512651879830018773700687859439569204399323026792948073861335971172099912685260945729099664610750321342009141192811062974207894494042056530715880757375306138375627657428855632818820756718467571639570422197467246801528668732883939846722740835182702066016191957189148914819033661192394504170510060687227966464504014496509027656767329807797540246219605138242496339692505918516547181856070472283737606666587294809150367882127830761178824164723589830237979451591061444983738380248370162699788404162692283812842064827034288100043790992046669383912782757315513476224903875869855171327533658372041242795212181129280422981682080374523217638037252027214930882223244564804761392282037948854462854182959184639931288336675901696028662561090022424895870421853868035514636670622921260525560915367287731492135856754255432462872487340977721164995154147696996291342091523816096555347154953946966420651988231994047462101250923508056834506284705056157132727655088954341130680986206271402752392608507304424285545093083048434855080726011673253103962574075699452132339333139341801162279382486579738535882648704459244425721792182991159568956358898095173024869329562298062817750412584769133728401622048897677911622483615055691089875527253217475277353700897771732921972568067747502199744331499500573111911040337491111163315553225869265880137949414653357702970397229171143401156504363864252856704916947138502594702937010676822003007321772350192927927057003558215802723958911234823176721518989848473153026558503804027544929119174002774270354388101770620142167255695854349765734285644525457645135282407817520289796369920235819130430176781391145126127959400664334266741744754517677244553265026502811665052518741437865906294125329094089517540080406351069339851430146005663598517684270183687069512385504610459320561131115771790129635297860750590982816312511944406160904740459994368661760236399752728929271429798918318053827489872544320726496108208874236534513088651232614463666797520876807727304029582073420614447110238417916486683937262419637632828855954920373115735903597513998262992826347943847797792707707062432486585988084360047158248808431707300316318968251533650510163944516239785073663733153650215527339898700212525817356501291672457783461040182141758194789518014556310453676882668387462832260163663364098892294987817891984718508540999770820324796964144161495686277960436034075753262993292162841903146400170787895587040021042497610381390490393805842790304326007332961844359917264883313381233542792308451346610326340431557574462997427082419471476318981043261843309820304152344383620975923149315280099035349310235752922201948931064613209139229453024691173728523700040709193664584437082418753503038651493299320195572126617452344014480463069449776047545880928848353751699066015958383428855354819586098075214580857457297150629159194213988500446706901010631338344255568186102603835779840420013017512719227003586274362155433585011975028450393477115275464694068109807716130162552434565952191941539003860224816219174733744298907864676213531688729895576683213130593145316736679879064869071942668402245734146919987345380684668976566400317743180929264493935794756858442630237507493487775771574809020700253359408973684494653383573749707830551199862248776031522561445625570217110245882735574518125533637764500902242070632012315485292855350335109884899925096550911492939266906980795088302361924127887150396101604522467110534096219621129203031536357100273234151963219927805150482248063490602672956732575456690435131935776938950290364139790303533853373446878741760847168467967214071205970779118510011955270476717413666125699758916264611370243175177303983904848420781326929478228074263935005564603703474884893267217342825415411479836492181788820044297590791271867307293246015142576652664357145978369744726394974531749331229365296034383379387832926611233622905066242119621611954960994908046202944631714851079099937338370760590411667936278686058117711863125019601638723876541630418248149670391838167130103837567200797415519176190738677949771463456530961548265140998265854152070835258451007450807576437315983121750497076634818941382663416670481047697885324529239917332428899436945804755818079824657383989855140025779002001722248101511719457252121351893480291793457136445414705106687960585867931376296812682184330652281623536249167965277414654338214909377243089920980811114094407344715934624852438011264418350631704570784568539747520347130223491346528237966406647194211357908697320538066091311918549802930729549011094155509164877490981611063332733507121919664012506859538590938755974320035580762036945132619554029891546105727033235040008158568711323754383667874196763707095424441130815350315345050898069607638297751803714904202410928890362910858513774471114215948068817452782076093739212210083323800058352565765522689885155565836171809731257031001745952858567628235429848233258103713043965994056542202994986912121013259948805763468233549550843738212644026747528742795043492383256778272942290529036328953444635023579226573170166064506914348450760834229882700413676305031219635981203906917530145961569949559261997433007386635479657713505779047173612642320486943890016014779932217326171773231348054498398255154792728908808635135123555614191407483787454308349180985386171211279904210264815625884188004518203373776809689394127489733725542136056202817122621763999686756386795620636318471303283796254241455766710925731966110294824446906759326748064740445050762106230138851653709009377230615964804689126998470731251806311874663380496475296838680582417088219317000888403809638349722771283837904664086674067427046338242654617959747729980384078464692094238692175457316416744759540571092792881561003629599259977119368124201331291934435195801637287623641368322894636078071006654888400217210711379764954629455671055132902619899411636487191087015439351451497672066429193543535920454832471946665482215019359830969074329526798517911699341036097898586775882265662413837653101177204120666188217564018075151485831391762214324760480734895327993536160610949249808970460183681485104063580922908767712833239202943395684711391720638147316293495934057110230846434202046418523284790536795069987107070185063111503301059784535174764112426788948235715646538133708647584558648801376247630758656646214346630091927242106629417845241863618629550809968227272372380072964302341912191311909271031207265236106837529830576908560556370850052650692422574763479768564007066140956127952041234868320571584838726533607001088767594401496214634633325367904398753699256201258961425111244337801973459909430791239058574607614186458978403525947691651618036549003469437205579001066417070434006810932778527162009465596252599119382296186496743014439371632439456678321481423995612024507067016947476978911317448199665871753897664513072648794983424612086932768589138317990834848719819249328509407380291850346282054024154078593831327514154186003459651418830614863963037304141031708546036649688745761961607863190907020707117379460910762335534348001433130771838908231425015968890550134829237357304909714438102003217098886709536384576521797889344368367589201119592425047517091177613517771533640639488520456026215905424722246027948819771820402620937657147929197148788907615115522519263963678100344424260653102954680398772350747683149689014782444651538327122931854908749518992381625925394875072105149820373100720879403935107810797832216577095935027788683358584861771969214594228733100959982927497935674158167575621750299062826640225848053091018463861933063335384644869474410509634826331875994706953771575643156297759582866408200738660686335681897866589449422245393705011328952579842613154285242872832981469805724979715562331730634210726492366767050883825656657528982919490920004519333985819758008311839075683307357378051762039021165887424996276036188420530628812437875180069443171980297305512964258094883259180553628726384972246522587839309154903109687101033614960705028468950496222984945533773673942210746428545524537413244401099337713814476922555849212064868335267681578849737545051298153158120471381345311299453427717164188880389873897400048008599330365865304174514064036492734717130299179524303609699348738545387477562034323587479835071828993488672373127295288852867601236940873477757731032421647319491480150951023803386933550526764730644767900800825633387402197187179226604979073118745087941614096008847917739819716040333180432346322668795000109543939025059771579364852323897672189644414740061830846084456130569339183864280637166702265813294655094262008912954724064589695155902684163799826058318584665545329520312826203871554525916820199293470586265460547401246010718606807681423087507597756730966721586439037117189421422467741675327220638277063736947899758460544160885678742515009421745324307081596517350619409949408815972375268641596612451445945404053014726827427946066940422072985169780288848915154691052222534647227742084500984120990558388176605972963687529988668696496873385202137792735737673653560114862443194572123087918392789863494169195031542542564732015184214556788214770624373854177979221469506585070738709619397058721602434824454982076054287044657327613836972732090429703973427963431843882061360467580809314889711853398056009866703515903044105534512364241405391881371962947961253482166735811843302610087928966076228120850605027352773194380560810654136998296966680874747213301402739710509020525497806591555611913103867725972463438267095327588376927922756326275100680301383247280846938567473673445005957638484935889635888246517071182720941632055550222005363517009105158330640602531495865494015573057235302209627779122937511329886960399865567774716414226962812924542363224504777859415198820411791056038632245270171122304237380041551833805939531328363192512287172546125933726576218486074074800588298126687940480082795234274228147260906274105637574681307408136728988525366824315339756424962933878765585487136818205179466520429824947878915835715023386485066206541079854323765760566984543359361606566443396341722642794512341653061512068772774824488994038466668170773535564924121485634339366561127346997161916712280659908011580962669558373290724967800917128394130848265211261501704608653679288457739268688277936105316269134689641867392912906595371226810492692308284557208863371369852939407637388689863081269909174060266979027771181639348431997136695261974028116569597739881611807734929111393420662956061715463754680256671228903094463959653316618833982238209348776558426719372359759404395821900673273918282902092362038523445425909769069652366315612312066526661141127821002906083801312683774422735342867829921410461249655993252526799846718459241508593327657396156049360023879540989583719391816229696556009508332821951246570761606115365303054794573535731236354183721673194885523624860973889523595408761642277086718226163381054769473223330427917140643328711362777164143320190390434838079544077312822798111764879250882337039448621769144024716742070998339486229128958898848163571041590431493064787972983492103141914111447755670832309541904731289431102558550202464968394913464997946754647265468165355023110548816359891561419071320892398052999779942147921679625872808261701442193958620143574382734101566657543892834332604450310485147482930827841907797434681532365708752140943314706045704754536977330569554664922965659894633016578824075432083857260283779105698310148616386671330619358341667155999752838705322739081917363493883068189035179928713106312763335367712772080479794015843341690808239361355572254995822451703679765477710674596919668028170852760837277905676397732378190777751126872030547563340391586441620676676227570404736879116029479710766502425690599281018526902772928486714979255241535947750463017771700819032231711988859548855629945417426721438258619372292202986556952652509174244871454349180631791524936882028431422684588457725812470765307018365433222554029021013655837412349886932447733354193349068808202024736750452452610075032904173777681993142904309298461296072697376199131138452317906098714282674261561746056011589583811066326901394155647164526304975629316806450818259523162563260348254050891510056109712109862384381193716869957418156706568287547669926574595961166279878075749867079684475204439097196934215324878381206516501273226293583929542377712065756385562733857644374902622795602491658600947776092549272204815936036894749600608372382726587546718056604148450071964727115098725287270313887864030065666877257893031614424644208436229733540732860272724422927520356908183744476229422262834499296315135259689863868497310043050502308757224633981310250648006337704576264251584469393983752241586250886290103933137876728547092087997263211541717293545704139666141903422466041913351760693861770664078658496778154430188438597460078810872483028881586130549137496923186794163222919480073667349920882959186254541268872859297515080158039089174722061470832250027585220142224256063282089204024295485256805023731773843489715839092726729743581896360935160115891071797086660085321127481857761061518512487880609599721521756955131781231884086264347921001253351328507778966509111491790623253409105301853261041515880041490432647425540555908209649903918567098935562614943534874571809110985474558616161373514108132554172080783331256561062317492815765475212308387404745775594071192790876668641866165937241411435732060956098443590594438537613824604287054131622054929264484177774923033122617934617992944917293387094533492339269178672478428182110052173835692299652204419758956520529981015839256957999804999549119361694296757782706403670221788983719554134461485762635067227791043803572726702215661056522218199515387583673662901960628682606449885812981458778088238760994775348156425403874665831145230753579188147168027935203862542390797776937559551762688446540053037189887586484538943090826018556420278967513440731387304624005545027467491777814877887314979085714705128866022764546725315600823139442341521044790250059939605194906558672144199232450994665960329255104662059150877543807953162173111227469507074886996028575579592687296080308025957003609772884637734560163152130191791995231668218635833767075396703437730015323638218990119153952510629258125962416251770017986647724556147119169254103278571764715547004674614829044717017583808363298609999574177720777090727031855441696604659480446233825002867236893427674183043502423813828635207645064617086716858101831412582307315881119192553368734881314759915681585934530556918659860863102329552709396216527267249789782099432824535550610584574883860550625176187094776822832692130795688895725353212724746850130029563566633490330971619746981371707691686900680343550171224063141257247979666572536196802177140478753151217660223559706331058553106902011814683223951492582874393075192511462664920237647430433117395776150690772485997499829727686751245786842928141533624066235703081677950761882781341270130663353343163279946118152674779086208623309443726552433408463956327176701135627234654064550204203054048955760331201718707089886009605847054620363234602612059091603722015481955523377333795233457424292559486207157204709480743293606143736587149197270740065069043450630937518203546219709189221303870462137805580159441352112600630422736991656811338073368755902208744043221848678743164506551345828529886010752163951380835357397679192432326157167390731697698972276107056245611508530282312530452802322116754211392893732345466109655811170156062581151196453062685011407963673758273124803533823491851045970876740189280494147207569872402364207422575741116710379645481783518983303828160007044130244930834349026074867417716754833394382338851677017933877105588517034625417349051997102460270754220370927661230579706658760794310346750932240880234516888674394704473638836876622325366365297431625413936723167056652781344998752705976412048452357693068951356641575063925867184273178271136951766977035839568538476289559468287839211693283084234288195871046848103185375024044609693003659821496610608288823399343178531568971862774720400100645007484976230663275187285609294054235569514547972716003811648116384266163346026824746413992186971998797771654846690940440336313207896283276689144211527925110456295490422368022395820561212279167733421920050574942347311314133591775494772632308414715616579241666901455454853521932274359673550146342923239757849329869247032631976655826681553696303048325912632942563087759320817228782414628973766991023015201587315328908142916952867274425693316400393524779478736961682648200681637789909335997314850863685373365099840788393359935347237801352004368589981557764912517418449991761105307442501738235892424081548533913324090017949863861685275847550617373534384632220952207802840049948507951241759344199277336266732468590017951599939931891099141149231959131909382585667994878053066136721560371671677505060093178728996134992202822979120317163852926657003533325969828976231438978654759786499653127276158139661159761753612961993339019126601651389240659536862622504165180264388737089827097874799957472283211683985844000072475949103547486064132718955758075888038127798383210443523886864857720658699511295778785400888575209346046158290718903872221056891838336234397199412572159952463810879125917138989583095473627628977035422310827831940129417682027986683524198882470299653335142461989858747769082604092773644898340613826086658251111345962304645292774580473420368796601222012288404130474988540718647231817174258368478397596666832074315877101757769409066358674414609957623701452713002071701413250943976288686727265530169478789380932148150266325057125132245368439306435884117547445297239357709508243171235361887386018770206525421029080547385478896536826673533831746414581500236152327666088650812696318663498118060369542962217727203011213225029503294889507430963079497042067659300054173795984162187777834393465447450761567169284315530960705188046153651089727590113211396995305980596742557489291524003468698707518374204525055047912117678456086634331337116006872287201281332614877547786423042372650273328462628156936852399661834361560680947952480677203420346081117825890709268264088030448536845428577722478069899620360947278919857403510573100700075017149461051336260733905535776835447804512350476078827426517198104362522084367447583174077730060379041009091201078860597086391481152543800509428996245259109103279495917042151838945824223024053408702996620869864565550769840364080544357627634230673280082727348846726896546092032304445828147892268349633668749067165061932686592152201086475485656141827724736311643098618558206654604238823534482104762603175437121384000452939994274423382639385181946885152254994638179208199673917615152644549478642300046769013661838369089950488909214461976375527481953800986005753177632722421595898067894082950299464723335814959721453490042033039286553855173188511462012683121510321521809660835555570482842026989210336927671508223152083569453903378371357503361904746087247823491689996676534358161479883828083026224481011407216736757936702992163942898915020987072359190801724131272348145050222021593882122192487325898240484433752442469518143839351340228096563711805158487204637163453404180881240937875194725921950079668228719528816495189535609754955395897233219152345128059094094592073016898579191252549454781037236717316771864819469809693822880019898424557619407021033835336152063416984202110083145912935147059930612021359249148305549481357425432592783269175432991187806448997096889304711326873803101965916327207479443301494412035967660354446849304259095423005240114343931294418253368838289548422031338790144562991705202000009026143184618722999631253905707408273305989246545757763540435635839907519712592868167356164736632013515807456839589956251356971846997676894699622288900162595846265388842979535445669718989126877172347044442585931246731962334412441100157043153093377212698198672363583296438503512202413638218549701994800962362790585556374495726864847685946433831363785173437491755530079343642958339147186010819276694087230559208337396935852682943730577155398520935221803155416590087424915018887673313890300122646012147521441976639973324979335539113532120087163241167920692948916658265632539624276756597103238809824482044280228969086796053918371752363305874862637583479626383320055638259886187105171816071878897450565047812453184519445783949120290332451067176578453200495804271081803976376322007735967092609087230609125675618138548906774790430655721026952129931751732694380598789222925173344530365686511669202693508990605980233847249512996470288374655807863626797462058500951083256444255304272161258269373134346509170908676265802195866255666862765019386288336165079769166409652229957806412104040725243315780343583657564379123502507246078736750633273685130615449548669582487855376231971784408481194568323274827639199277939094201553958369719840043668178015653174374174748407853694008242538923895723115216686582692788002854344630164706606025976918299824037226771232010083179110012251244140256640147141808029827899110423522585478030174729016147591657465716303754957665867736031648177800593134316494513515792019200315311833702020256883779436611057489139692069595934972539447369032742389319685174869362088846818670555294193388475974578620866365215828931977349411412737250767419230568324204937094801935111847895330602907164990360335969277376281148027228832173589028149861356032603321236853763342601761239174257081513489865602368752088110021132549869711083827347370935079177638823146992944826988857001751645583084133066821871470038941861759797827688932045369733334590245144454398892394681204417723928984192591789590609124384436733404085135799996243507445153862544205733815802729717982559670889528225377036516441687761648418377710231736313299258467227532463309388611746852040838650284094906984053365237621488617986198395717825061560245935658446028587773663864773614350481125964522189131532296481777799907892906636369392466810910840331794428439004986026183249708702900820311487059031048563161047348184834697636891707252148261877464154710501440017936893137076691521464895888476451686289734710556668360885519941246553951649567819739686261452774096573824792650772343032015575490131941464532292342807467970000691861824579826703166648554405859368524953883030055360892351600123153810925547244456763777963049397354015055461837963541093644072692637807234641611704738207336141023676273503250971869958821650586495662632721466899883363833605485622549462323803764912675122026510119192467353838018436499084204535021736892634800242725105778396386928794294182126990589662971002255555326921819580376237076257683887449260737993529931558046372552729150650993444347397082594050762348066260883883294471070132538720181453098990699743443974872129264086075152677966447169264099693861104463248848059438282007645309984623690666095153659266573794634558272532676724957141114849300921986377521792919453097149142528658753182857210862690956489549068014615348276138110709431703252959934014541055478574511520564748647964317783779180841244672538023750341225526267690876866933513279261060329077099838704137211797989326067476334049275528472431009426561423209602891284412634923778967064604478996275583087215372481628690726346998709610458723908019050233633350483824913841726632212534343689036901899427537723463188410305168111263607700433657923313254555331211218246478242411456319729535396812890546919777903731208214107442124571145766434550395551657884891787199899088622912314841421910129043759353333456109041392879063055801016705733216972392533016276555461987462443055696496381850399209164650702474393991337038551115012791595474469053547615024922645934114599071296885326107831040621765665926529086758205435445339704845764605789030901543047948101544410211941159422950467563042304881497215733839781509760259737161207260620868199128180155544013893834351820038271485015876570362777819087230821444468180256721922170528404023373047866025892367431355225781086255295710297317087275647865919472475653305924560033160817771347425628092744037068062634630559085392660184211102617620927610689099232599164070114568952879124334924330874155346351612618361943583057125234540188227054508017362505103833591899275255553167182493950105966541695298248752655208692246116039493352389007131020306083085334594467801902123227150465648530316274194408273729064348388943550073886537796472399217432862811475377039312986755454128261597982137629707631397426902942544253115949186053241223964519361684502588669186577597992058771103027756552752535678867964387539708046743849401687643786046625877006398180187385135156423781117578819227190137513528954423966361452673637207786803962018585301398027114502182687953361304336993647281578875186088176031772194400071163845991736753990366072784339026194331099935510094267664988528887186772749766033058423675919909878494605486778692615233568997079143767873447673899999297485069331075693435415298291887062388005175072254404441139846797475368995891974467683014032229447708608927644005278635045472658693781391663672018153352805994956658678633206758117344860069180100835477585016302644497788353577502816706418472272892036882039014758058888938432795572180132623775374662954772182545051470101980614232196097986274618448708941915918792923205001452620943947527890571486648553464944182996396845518970086739012438062432001088078787225752697819968402665134533636118851679014053882638492210915180295469138495616322003361365436111405389009742289331934740175057066561788089696138716924753413357500610591372323566920011874798865226331907015450196304804945333390276745085095269729002238178119354232624408651607207314698952505820332281801139249249251952827884093218284991470118891616382605996967298543542242431608734878184579747837388151083351850481228067260347344077902922931693908795903003150718225347103398688212254343231155053687323651698809321081335923767922000659875833031255274930632534281442349773385355656782801587617182632743117496523365393221535762684127669840427578918199105777528564400432358473462687564244689838043797847256577847994768413228037300739151996023769922072523340602624936853963486834708022001446307867495513327355168581600577307258289465316461046812239175832361945064294695619931772011924092739644500594957741119924641288501795317407813393198391516358228927238146631918120647645148005273083346027155999666117125294116149838944288974892220472043183361241024025836208710161534902370846745820664092489815240683235941700421732808508839579666041260127007499697372490353908699797596429826732559136139231148300088346588056719015828344122968704094871621724567043219012862217912116689583770098527695189269613890484381670928877621920404357505127911560556844235888776370752137952550690959494162447722919319884604649844688743104449794637015934780164939251540108395573843810842850023188704521153921237426453397715027952228172350723841313009603171753819022787001952694062217661953527233316694818487934632200640321364118276274523205967127536566318668056033726410520939244075806055531196389824286449066601383451604507126729983525875248224137443854553132459968691544866330078897650130979784970752160311442019231286128793155840869739618308545815129266850619008509834533817506812598554783400135444553385731965369267518621321300219889748581416940588268989229922584703976514143528739213580756769971469633169035888343688345426840038397964974120204399272407203551779713094233492008624348775083618203563783817741124065032982384276221552743739478264817028545662508028484932538940378023820257667378633071672348959648654410277279695805683475695788705485370854948847889614672218527288929614966753625537708399848041924179939732657362989961684749064954498608174769856262458801226246582227573009069764705750301021127702791730110593154221806060709575930497865526130054673778247984436070418468009966529677679129452290209127158538200278355373573043893588986604048443516179934970508224907192381064716982538444835107035099104298745361805241978930357348018366722421251684325598369694248017587149605891604683985670888116232372736293859478796749113159293810666714369159911774658996827536696313880635797277118104784957184776393416294698717780746351461304649459222176329310371895506844000714778061091969274049680336392521189455167391654500109145979114984672542312051255435876272801733779457881694704812995950520913517268849852098882090322073572929719477023072992216251195898361323338160403993023174909762536023509534015320952935729209407584366666535185661858187123849224243374805444923739645812177018801970150091658261397381908819176417570254998476552010694987779162780247379524583004369748842551220750104740348822029832997151624570652477367180225829123707362004378558192057301114369435388079169633024411857473962110863275681545045926184587791951022036954617111978517967154072071614281834273465188269875156861330470783672054685714671017166566912955646720017408784313076851719253000006924091534563813231695907420023768206858506072877408410946563152102573362259397607740141737718015201332321050134424075976970893158613201099732629413775678997957981024820907893885232993643932199635674359295647289310057843122712585456254735518222513516499466729726581881343983419690457540518489318570141098369241188559405006785451374993733113132504447602121182160190384007546747182071214004947740421555206128827641192994518664237664668694703578550751968828871900640719508298720363487477740002757005519453661002976140945962223751377867765404397368834277139203454827312958253258999070170420139543853727152792522585582423939270266177866208540715924895479014245913516117499073933035701377238184758165711531355987476503327705791718447224143552139999411008887600398120658000903007894874812306021436025402323712571160831893072061957206397267686542805932849033783995016950205168506668711307655699898411530990850849000139689921149384180574226977946353782808614758591686861074342508069865404744409207723393322285298314866313416070697523621957906600064461080870396333047225527461170018635290272406833738074416646708320008362828396199568836189529504347022943669437006910482816221590849044625329916329122023553621126285221227627850278157781685544031115061833589030725397974930024957635573169093248282494310932436464696493335633401459920732750988538986124788642741814507372845443759752657276646668916531719850680386206376688999771076309548931114507793979310050164397800226634883454731411565526411475081413113695703684647081809392427562758098969735368733843473654357651021544151957829203201303976576006751252219808425506199077581708597286336247716870365403938574606793732405219782246655719795873479728013868925863856554781618521437673050726206917100039700809654922671847029470237487548335397741152247989960687014871323054143942683082826369083931835421966214097920585103697587552500941068971590591391196376468543508603296305858958003000185263192467996438370292874892970849249299016222537799152348392339129258263166942708824655563215864635436202288972326862971160291352796196464243901149665599397927227501698519050113615108989986519986295324542098621633145510516969911245877952000402297532599071225682483851815697945739987718029261407549576749696465636833510297575453440649700242692652925473858536739278851793864850696455812926258479918790162592862824107374844009837529549551448829486341877436066450067342523237742656718199345277920128299868564294432454465611601949325864783500351757783969931418423344869631889973769424662505065746688278397565990601269527665121235298264336924260627227971188085074378643114954366569208515216073695102931538061388463371200519866832451069092278256502375493302509639770586350281717168100312204595284806835137198133159121210632726560564358620021707767135961019301706621896234909669160370416765538606619108757082491090278646182077616430548007456563017355161364031753100472711347650506952827217663399735022680990181432935829553467141109119078535939445684847744124841743822504007394572894852551213331198345854675311250198258799554994566244121113239801353859462126535717518989687072765350176925650642087816551406250719489596017497061699226462207371208880350195659916724139173863463846122563475044046066149021257988075460249076164801580011782086361268010328655970753878636989919231027056959446532740768048131496549006947403360790602108219912454801123686793241243858701387520339989036335597309998123831044419007530011766521906915802683230287216430405796947867431237581980802138514206212307165375322255371865869370490385036740401123763383400221012961015972172321655630345056783166425679030166898973490524512848497490371093612519015057415573265522113521230741453440279875246244750949570580092709007747998582004124712599404793175395247329551295068821661368934715076491427318181395880746115585497789656925539277088008673122248140267655952882267795837856560310828185276829311231606811391398046876637060877074632051831052188639162512980880942939505328347334368545711672379820200634882915987497116020988984223562449175995883783245902394193351949752799475203904335127976802886298170401316474293764908649866123864986297229821884657934240583082555598572046064596959695017106803743320651989546220243892263039238209496021301626499730822025641571452157253722431090107825726151446330520921255985743361297472051612299525878178310870246830811395043743116749394587340768033646617327293290892904535570540116880080082317862480653962723830258255562548298543769861746746206221781229236136540572170197525725631098814080664744620639236498282263957008031962622791736639820055264931232042030738245498801588465120780022508178642140137275177388243574201541138070484507525933213384182943495026483230169882118912554104795534873401857732876238772613497187617261830966233117379354075204391475709120317353722100098618742575371471332464821732311527122567948951294287814430215026164780404113933521741475882245803809098756620821855288152908871570372516676668831933006089901043654778232403324916317345709178283517755248066133255855361125443266760836530786372090899766916829588329787731901896687243526307467210193145372242738011714860988603431596064003297509276799881402554051051753495164216908575288626753483521560923085875397220231174562584059499925296096837612349835874536164177366568588216105747971922539637303656635991296380719826993876952575094654216929924226751605080339177593332901385504550112958770407524836077411251878060161598030122962433173369349457528489075139639688771152522622199792028294715696360356997431191994497020072828040013012584826631363005830236816914418127906734398049806773938836793181410039968487084855295081579097466422285393109087902487205273509569576279320108948888694393821050296266991476425306728586241105500629933173095103691704456920241041426294130104653980415804520161243078597340409048561950016417481995249456011467295067199964925735270185463806663280507232305078200542625508455518239211142011471164287408343277815845958028942089084557069631196777625157421401164964534999477417835560247022363421871173448129616928968046763293911931816340291758042683585873401626581694250021097027435947212681107389197174299271571801764490472829551368381355972328843656080494510641658161952655737749269647204997880973053671853068787371656909205069158832978745547727603356188277355778224030398461998202659306715235178560397477920634644147963963529685223814088656260169694100500365300831052798847435542771240749014467184357191567823798363016698686805323059649096547143965364043506773386609841758053354981372226986081207085797445558126335211557886751775488167344585702441502355958523059786836060669606214009567505460949528958085452267211313850320943733794360902574067097797888493968977835185683178032973781405479429015188940745158648192686986315409074439635343658780792222931689308734414602549415332016501756769779376756376148729632788292443186250138868827460943404162385890453837212233609590305677920389215095748928712128801786386397641278777870214341834373340886352510152152831960626131664486191377291831623792322755266224069002057823760640522409472635183572565604406197202561217498751760462379358312895205340968792742842295891134856059826040501575083435907774095776648929775629384670352721858171422371492871330061534721328925146544178694322318886922138221137890448667721188390098258692122405922587172111965596915115786178911720812042854017795549148710123892761949442984573847805279678770704261226140731040930589170113192418190545201674772208089152919647637901568143692431985433868997602061221808841984511988721955269051787017512573249632270912800227442040845085137450366657051376063935436596257677288223315132740834234924390375929884580967595964522099901132845600163683574547830100444011867941789855624352386509890674762371070973336239331812894435161963490791626394376916233406316912959285343726527527220099996839466807702840646165309963684580994139221687533285452530894899769231286702220049724646608230070865335543925147147578734425877597769280772103505363704470525963557112338349271643005881866130623347720675509526978875843573626924388153060022746460799787929669215024302307759094852642572351180118431941059679143354922647598949555678367477096655090311412251912031749765423371609695745923707150209651910673248363040531338705259141783628894740981614752571674635914767108526828389740908352002212101733599485026258264220495263373943927736509835719216069324467252680228001826268120864012995030257981789799864235707448362420582775504188094269313806016619819033965160445951353500215599727329888543051393277368530893186494039804731964531442076661469547088740998345779651169431374422823348329507550253221336351696248253371563255516867106613554277076322227825202172385977439992813885361887591074818164493653938296125065266297155900554717082472873784204467521806355254014235987636365814987139125267097548016770592504610809917780278967747515754439280697561835794867151412811902013037549469050202011615638007724731904600164025195120473249116547883669813180745779027750936816290700237769591667315197963356609890751257645173180835196695524053047430323508817827411202700702745432583620634641532839004709961968752177167236876053795763433972771541850162422502299999103607635815835687454187881271763832532623337741562190302674453187284936735389627736153701690571690177508899713080265311040485891068940747209677632938860940283680838477953601625043869465189980370736002165055650353057371585560606169354898585351369763530983450096230629062160622700792032870653560455589549143200637881733279797616949324664566495269496106197848363503468720001752792947687669978889828170954623589065326178095597633213286297168093635390144908493184685444313847392373861780036802944524030615406159636405646854344021659043749509246866242581639235503857153233323101877859850070177987999028915198560578249933256014161825034503084375500935927609109107063344154377582554067571651312323024367132840960353738819653763603433827893220295160561652087308451616342118874368332574962078335128466158987735514744299655521991831981192705579430780554137063702673961373002619726294680984272181068351607195808235120013717462816581686991170765977606558781802781750487762320464677723115804643005197750454142873672731617648738076271561042188757154677645312203910992063982920955699884635439622738859925929721172039958710456946983610766720743024081531908078198856281098760591641112136767703618289971126530046525441877551682623661082069559152688767721235318971165677722871920248875446353352545530721946073316344108882249400116636443045547005031687873536327218693192270675471068456477839966896062400874201614464817052253574520138016497080846049852902014692613172073336312693928468826037687122835828122215763917400938618597794093669059734909003841347703599442087770495589717101904469288394991256562090333336042424669359675540910639974303760576050183752909030016336897364064450022686301663113224253096615644190700026929500973302668823369091525998280790343879878598923065347368631124018926067446549259433017638705378911569626385722433410484267993457980266484178653939638268322941370450745237210923927111078839203941171661723138698658866967122625972579809514499843489229177010288339516324372501967652666211849782104431556789187400518945734494238265662699446491301073992238031051355884257807047780208600858176922361552619207308136159357427879619049411830449639213407026355864041715784604065759985905054940768352368161621684895026051670758143238056794721955849911151534472592310160359017015793961314726217849839167792457892721456611563886429007182517256148244572287250518036127650602441181142853623850409906062562586243849908534892123914142742592997118140225384618963338344150261948621933769326112992963987079341100829138896410628480078029227274374644419649442835089094781904468373047137034475408795953190381866882942475608470523197659145835861987103477054990117324848874927990821467296851869660023966337546112338551958599589683933937216534675881426486309533802620560991877997984255200835457745498619308981500663246970671384053306803385789699507500807341130715011868435888343781917947462731022478516761849578596088552450727300452773177347794404129545018883035190153444876888933112018599693411898678451233940811044565742908745597900158693659455515111380920921824572087261934767643008484036435605642579756604350402239074349746452904263125275261674565157374453892600737927251450474905712534655144355561480194382625591036907269141990175866249741919261338057159323092384631920823939145520644854694088861284953449503066933076059446087818887022108176044402175334049445621969202283790085628975654352263302399328220075885230865096397294271671026629875977330242427500682775358729175859037892422531472893555608736022050716124802830374996189893221114328491946292085596351104178534003753609609422706856731601815581391825158607767694078880398782027117971122675921688337786389774814468949955043368952147828332841271345926196732487056683968927412115485535373269168821039043913791542333801698081181234881463571231230881660477276963360227865035743508767228594583255213328065067123391010058845814580588944934764731228133846777039912561842614119502855646103890984007741159904093582501206057390251009469683486082446935263539934781405215271068297369237840551264151953676810693871764564482668771264890625613947331333070547241756238664547262396179195669479568151959269404489752343624954174981328224845928435072186962451348062840619363148836703323041842192237764039380048871074812504287969709279768846256474643262463335219032157088806853876046403685527861272214525001817005920954646562380875667590099027028154432920636218266988702700455414086225002603562704587026499592241518171944111660201008519295209055630146708579806230830024648264341610112063769819964579151531939351202120361178600152251635423861037427253119375783975670777699585945225513430058212056563515323667430696540185905315255160177897113315806296852998306226541226298791208903118488731785335089339143416929374500736374705039229687041398848472119515106178250814716457190605449637093193009344697180451702726229116354141445771626072383632996063867001769645929403590274888344033119986668865039342763312855480244896602009039721866507848966036667719689474211745372903704285023301835780752422515405447125415082497541734673339349806441254406885873888275460751353256411019172256533743917590766747540099870471053837537220634820057470705728104015261796008014306230624210999783487513809466691224864508563468637316197615555835765778828027944946847498246294870217235746821489459280042966098912971411382998923843710905040392457249220971582866537839730483306542941560288936397801973719300535390915091961991094351396203519793369141059564671029585483492849634715920708960782422093723166796115979530105985733199264108737019110349193373196888282294024388788973972685766245385450955006716499386026409464451060093990401529497416543121203143684876765220859002132023698569255782127745922948063402086086171283294273120499059298631650103038791727597286672638506166333105444728854271201604738436693936087474154593464938436434891981698611845769545647587725828838975530604459291258414775522753172810906609281868073062589403050332475809452000271753941633249532587938612732712545166149867766663170750442482004526286139226824989988096042180614705559733780628202742289994418462091920196052756344344599549704196994954058168786799962445333660346418847226291049733914803564178272691417287845251189424977620674071733731417473354708086663838845480799665501029451663321469323074698777987079147313989192296248476053203867471651591057732617918516634787901015817194439978064523701803341947802036789605710747343589440507179661563854176789955491324109254517017037073597306551472212181131112722160363490622371512846089904038898308999668631531547823421732256385428626668198287796722340138539957173894197960472250601342276826793730694098264603751002812469467253179626243018290639233422995444762821042568745141868582914283629502093724237005720130166131507930243796289909616877809003661586032790915048552265892295101286004979599393968324673541293240884243068870769062322139490552592054141820919804368517259792759101285241780182636039887616379312670716651363788767713158353238210641360702592708338730775215801586683845679800715021459442399696066341940878381473826045199091531261442803444968737194372925454991083078232052253236162417725957559546158284973506135545911114123911505042809466883242432880319755226569955804021161783204547435374216672278097960595540059857435425947181823653991381786131997494072499990404349327727626662746214296047054475292527033525274793319330605928699870494946933867778013041425897071487381934921081818513561801603646780560359532664898385123547673283955708631717649357479321422881069276903713443471780110784565851881745804054600035519678371047596388975464900575450718488186421689116731775114917488973258316587502505322223333184797093104309950582186018711515780709225150785671762381966521540810509410873306233774764138737935901598453333524325852520493392529045374455603529634722114575546459202315864909055091282675346180842457018542875736610643248877383436017898233419565789451924023580499297470904358514783398710440184687777631211811269505414525893332209017722877640813516465770841193103115725334259876145126392618987812630491457683902087728536662259610659785930396000494714374128259769967275217792883618068486160426913646215378387654869030050557873788991288925907479766450984842528045499590806347386077866302325214248596640239783950726745133128047692001295187198084014556362427076251167095990550012259940342200283499556472373846223170264335239413542230122739776081474791312419919702573173827363510431313062244297644620408283448583629083674073482461174391524718792091119021066841410528092473171208574533613598570254943189973318979742591290446406719818955325957970410930600397478648287012506748050170073835000189264855966249379595761518911360075413808174445404149310519285880709638468611711801419842394264271635062644895331737839494416705145141907552917221000143559516202114180709223314758338139988836983297138569478704278205796563895702543308087810202692714132833907282876654933916469385834287707744912878464331755014208818958265371842534479265601158744392964088353188188622791183813527493457234163078914603768421332711752422171872038028412727233496882839617545932030234785520715591394572748361583985898058582923016203122740762468194249658845096053873415519554550780362972834908118083705661419182908749955425962366226643819760790171591046345999713670980455767025202650775237074198326248415180240947369798902582634076604883391387432338232833151885955911024386128912214584204629543236825244452889275663647508934730497180179311885462207540150262037541215354393325077662328388797092024538908970391290655852983444646704166172160381661033880177770388169996116712207015512069248886290019040070511630034694571564569820780881927693986608918001830532678558120870531002343888457057689650373775115496667762629374410103587112353930206987048778955476404605044297526412987139091406311156445393402833858602391953637123001962496742702195051799886433794631377274568385055863671808316610641726561700158256976535957478448254843512432852068479113287446893074926529690019436226009230788151979082073640581559109922316892263153877701372828451214341896977197114892576953480419481862524764515447224558257219225625446076713301716352250930278471451077530601479046443459139681594016869767297748689340698012439612099568247346562226759642409414721949688709668316339749438052207286220511973675999099449703912764358109915849739139085905567773223765769114374070211013402665258815320966268458666789045751083256579693855237226531758578327029599638580300436826545820850127028232280607538373017448488324812966094332931052225177339699884111489987610748465709487454703164334545754512868023452253227992465965009129418991326778910849600406801064783981470147450120919873136800244246886806473969698234025235285253942001339297486123345577601143723197094133055599209315131120829296548501118131048608263597691194622703904541615934188914503059311650652915473179605966366956859791937650848489696261138691898624712775334201088972824816894433091278275751804894417460496183220799387497104674868913289243873311032929444693339843595983840683960117889024892131648976892512034298192495158532114602766149257391091814437325016076254495256738093276234690942023979277358171349002400010024304463088868031689638261973498411744780893101022993665112485685128494299495620463376437596191063849792609141684609705789694304957522724505586057780269301718861484379654361667575120606882193313805038659226576335489795325422587807968374454281797626633660027945300642701663599284771923367025700175871006051157555590800875376059880669313677758905524142006025003755456093459920556730287890167110972286934030668732249451822226534081311904767053353061855074743669369550559562622848940920417262691700290639418753611252025478197162309243303406783004708955883163183055072954419158530673909648273396677282539858935611393841429816863178944685162685359967397774458322728744135210485468133670411370900752554353199023900541729566860279003096465100297430358700595489032287515568485360631710240642660630118830849592508791519382877218103101936064687486468269352650811944986956104798623938524248665118415304951379359715206354281046529528705039998217058246309545606425315762335771567224404722519349275438456232895663694814775450888574116103721167944426807911210649829764390857648484521023314784958846229173782266020388343812214050623879713113794274481218136358034163785992322656752654416348599951430235580315718356815466007749254326861088366350220551913398058021089376097839754164529178876648438358334445073547753779604118169102130145432768854591303445265580806608235540894720201073430567455319979992147312973088824320830219109630433322334260510466820146846992885958207535943635468555266063575803765625927928839885631202216501333380537966726004650756640329292884731889553798747192779562540121723554727929630727575269032095255593966898796625098127354722624131524751366278732976008144587544895924984625243149511685901998686617214354359155804677734216005223378960497476392294750876285101537572133545802525551168302120481673164294063743700179121030010878341466329431341925391656288909908454913062832607157540365187482400304043342418818797476888671194650804315893174557126795520681869495627641293622071373004338055785490758368259898772956507744566242695350225867461922642615923287497581698967975582668150725313675919475842365610684289626331582044680705817099533888409322703763121277887101194620740902067146510585517257593383299642465452505304547318345127787309408637267531753603531348028088705794071896200066885234674029816166691854461025976928911739296258312355634271938033527251454718059218326351564167717739157464344826403844745962922331349156790948680998900529887137584416577805474307915755527452129085144364189873888354088008560842606741926289549114101150382602583601101619701258582258591418335206093504313935464918657273852453386949047272106090943173262610202568536154992428173521637065908489515235018555308308864121257809434045419638105032513269468816096995119842230062161457310785165537914128558980903738675131576266394191322652955588578315185297416491954864006836980477316554593902530264436044839534605083296117747903810627482080469905423725386010661063455439103967832503277766348469593905006158454413314110640238939858794797318203694605733000327855993445407613634060949777973947078455930929030597666224113401905177922229476814947269344110603590898538007338093362708655447425179689164619208218543531227854079396842991373021511028909959062608455426857966672960869872313022136410654277117100817985071675865445894594646298393982417859435145946196012766724466407637079641611913874186577248228344490422721742173314952805568485788014243402222542825313298083696966578742573144573844297870709667765110346377570034676939556357245877559402041449807149315356418873101383530744708283139351369979716648716127610301525485411176627084588075120836924736280204654052240173178161314323466125201342580815297772875890284342476924654025797495730223089306167081752886753874493129798528222467799059122202157103620500728901613447093280934400372478957565222231787762841059445179290908696294783647183171390182556103211255020977766601447151499196125211947534536028483355032286752222187253548952601278754517844327134993737312928193262365916435891174390937879249091055847341712064077560170532564921260467873971629701624699510876444399795354927996036474486845615277101465705902882463135603928203173093662872933808187690566698051977407109335437561135161012864376713831252048336649590682632580993140306987522657685598357322796756348428483373538092696618446240340688093178525738003978835639552104227260356378869848783648957172833269926527378165272870030843019955596520691631116469853669170015136154045627221287778611664571973708133123481190318366037468727813589192452597163335187247586677260806463259970338579061016704811824251625929238485495692566802315047409773471399729353777586973862379892424219157634209723952304426744867473900812289177718565916256805178617493200915759558967115351673216842138559393710819666081482400554703548436883733934242609775165637697488077787813639047465526906095720735132836915983368304274262047756599278477908806215298164236506515298522726667993366271466552669313085975769543979954333000056206252408390890802873527876625030516217734177703843744100691986765006563468568634992208418184476198194388420306007443650682032771905288699752999301719288490559431708245975248361395651020701190175464058926800358457683362144944994210848241795919823489505701967594183562354381354317468987327128670738312431164396490920807397902926674598838843759668269401689357848156379376227732772954398265811506028804798623794268973907965317327052607376719163354184926830523530109847909436569484663057615830078565451686382096557536017682967656530790431765908282287797098054952112212545498708424504245155235422017930115695481276943407292313223502909618440591394442857499988170767700796247981719341991297809376750042501295890914140280740220378520961974218835257997000453316742431574733569309053201024100079705973292657808932957694641886559621010305687593273989131637205429168839159833419838335089414893476693284860936848681044920823348989040276519251413625588996080316828804125763441036802260664284708581527573645338367262788442398072963334571293751363517169244033568067706421396236136474358928756157751843442222769782924388495081227195269566776579285019367347352693798727476083192927836524172026002020959808252789590331657026256584779167180568833157320718723023374905809193693285531113616421633039651278641141297711514491717155993140612921472850885327037729988042586361758578547374302347350502979052403573396832974963712649253694420162036403533642861892191009407213005648594556335097078661387424113255082372575416690734908639254819531959339521802648911452664435542581665596926677768574548474575040578285654578387187383020687964536325560839717012260655414413896221811297602250648470052365508346558700230724242590395968307518945075702865184093959890319708454213062835998495893766726579431107442855189878781999442131190454788842150801957752010461814010852235949168560764315913054040540621329818559995849326809518292162383026645609521026826952350787365903222198761337771774195127328223543832181970259478111896251004245582542723634946732135356157458679901557076526578588612447337074650148425527486297065903847334028804676450943632395235000939599082146128725148318150269546282463453266353066060889540346899430669881552514210679642941961906535727704490422120396391377066882675728976214311927871784080267677361996624048997865657173628775049674164487282859820336022455650057294718980358935435032784031648725981300287483263274814448484042401825371973245671752373423674506522528791246350841063209296876441579784522129194450494184956644968960983934829427154973741813725404663428218945869807719840221649122883835393348231983109311507894188215650280142240578227778551797052563548857002146826012962085513617006432267747158624455033151379018997784739140489823900077096261173834075303248667982980777884888910854579661532337318115690993774770803362163901692250684966760006763599813502981404790518066502451860753268842493843028525565347846445501056825956382081234307697862252665273846659863646246009909941397278739958872638383234092249057458857094464327790075091653009137802338154857806869457699509094697199211851733981450530421918263454326788834192232415545045971537467845144268767068027950715204671784495705815638332261123962995789362917077088303381265641606296748088779180170354741077400154330452031927428793270133253118105647144440288982643183563455113641110611721758156771522614447874666155683675467064020579433186878107691149905869071929889455176080751573054971937631643196975202894043194039466894544974575213494785867226605252158816013459774746259857201666978877183614680209701683545980837865769842014791987218620276156807471374069399223469689369973203409637531126895813455753069577321355431077708688995143209566379483378391520953733667156892570981046501456411263462172672571038552938863752888213945300202216345389188507596716572382653215337276482789787498525156831177925181841864959324127723850541402584268683403393192276458090095910713681639195373466884606119628586846126084266544877937871806329348698913954675628257814450528861594205744418756076185525402721974590885963491548880284633917403456385331902545535693094590999439236191099368895875381316539045266760456512557291181168232413341051099098150753518008644594422206203834299256903305201620695403257057565744313503135731551491935299137443661195215793400232614688293672030277626874519396268460984554553908360031881550778716387983024541187754346988014293866303891156159935224492719869411913627640034040464551280917063909435992688092470483350558077480847184994118402768759971751638143510944850360998003656427715663191782767306720213473507251899953886305616952385199553727700756290173742894474471042453963411338602681988547847602643253181604607278919321414002807617416364438750946574772409335474257364052579748058996907446890696853034288559288552559484702344691454535860191417911365581529548758040672261742002392275970201237776430248492169638225744148059521925729371569485154649219884386039307376643411152870647120439071082784586656310440597783439614657853426884108684327577773772853662743029077756227022315393236620115712829956887487719941282481907298267270705076910765621441736781669897911232675321751515342366472912973382786967437081290896671526748775722864904441727516511012066427910445455208674143426672590982327773941520396292636162018912016049014964931552644284663785762967272796089595066508713478153355161398704034107057316445508142542299022731434738922307092370738640690131099195951440488314849845927285404833776236740031984203490646703483604270967052667783792692033654459705845813289241014851854870638254669996678846006354285346391535651798666943002164874584019096301713742356362850037353139203925101036940459984735737942677480355050197953195111137654019176066065011027699963559362981959972582169665573908032785145914062949378117519640432270567312603559722186247275074105133565718383787606399831984189965177494722433231247259447058286577623015970796511256466746682983978407013195934196560947189411868627437815384606403642779730525957191787167303823622265780108107628237542553181603793499163748424692942151475911922611672832088079769008708307424935073200670677642321476602785426268468024535632982993856428698926671066023502673631710100554686149085088397270915427009015227107601878314415993899027426011845974683975846694545783362232278424491177659642557232919957286264118569407553091736098917285291677519254497681886484495126764007232208418449186667131568490047028575596242960753272892688406004287697391412903166050107945498588743054357091851796611714717974898918920709902887910701811972783262951783543813850171054944874923247603395524849028208215499496122634555239968722785705322665412947802338903551138860172337002549673404890386017497660344975802809826864352576184074385593147955547727936882513633561213347775416018425279752349061420833997865313209723136211328025610929105529874685388909994077981039984060611487933367740211327750901232727967946213899130189997793222248892324814991139936858302329410722706980405103644101378472828219056248591278907361915878870620874991818490486797156025149836104389427649399167958545693814817915543759252967550858177982074704077564511186140393104966414925496747806831659526585365982508410646855689592682197531507059258214306380848994290985666436479456868478588951884404574213097608727001751321407981000093786040439238419645772511874941189008901148444124078684384464947686000914866260333236548402490018701869234840868600110732340222207792235923415050913341745880621197548447376323162816744585338599979132151671163615978462752679942917295523072719976661675063388233293694190783453925696293824543945211133871746883117027194441578923858264422716123962669687818963012395680756186815063286483939372986414154476193535777985692504986025875545357002326375407283832065296310541976782860229488277729406706250301743584985522080380731803249190915896605155333107547710779476618349642819083168761292091262385241005671310535698251449641610118745362383750558939710188584572842643225153436028364061310992004448092750176705702726902934847588836582827700829275806331416867997909550009671757759851517078905702733932029351631024505502675501244000461622550256846631909066671638132705789065033110742754313083751054987911120920736825432725586631544659874248498985725915579491233057531818159908426672136442555656219527587217262753602271577971654502121801283142782754171633485259429619894848487032899618193696474073568444251859354483643186809371972967283715353489003484824650229703566355649941683251958568948687291233257600238733698046269334799915513000684240924669102312975600117575763918992410980900468033071958071035865580108341031447115479448589955496678283347931334335536125933434696881989656523184585860409392376969305289419095591080139654893158747230660346764276898466548357213046194118358731777156236135134408229363629757997539128585061424784251579516053259128750646163780688123404456708630677042997837099195297618067110923602928473662243332789292510041419542281469743090985525180313684244938618656652351547982225428920061929137999321646810178854901641811022013444542505618419823803101846268892505076668161923490490347124171731853918112132640244103704319464645207064066591041758225175906229139671014971934803614580300852406511265211570231581372833002995358528047843187581431045337650005975104835249291090763837034136671745800055536054771538293027090654434461579006571610034276761599183831613288891698734833243123055061929207857193261481460281114200246286800662821470386493263737783008686780039420905917254926445527739085142235063894307938661869944915444993647014958760234996920069814137639919872154636979190292363804614715456296126305786072590078610978955545022273788159631109106141279673267018576851502672137577618801236078382122855488441397751977202217616583297772118273568647638668408702586432995626823969322895017252438407884745002246132225911697931706598620849637670631252519710274550068818951105358505898389079513792972006078821113480486699047879956912205969562725278008164252637699045739376787156061679298801315519030484332865595719170306915228728872855009420420777886038837065282739159528214106995491954410929586820364504114595289300704166326950956975484309267892631208577277332196327196357650336722368677229950256339170268837851965320219644482623126146749184827147080048394225939674968035909411692800140557727569597210318452870604697617693915783930024765642870121955234341640221764315210954725656402452912567632354592172384482564656707133445895395214820782661217109963717622673672115167594933044949888812904868107985045586471194130914255941423743640981704609387782330398298600260239932115074626771807360682044611685672374253576151711822730561792376196741133700132968994421600598845524136501490325236968858630929300260715602854575367616121731637922320182001224790675903755607831195525930075758488850964660786122196542122804698128820624278385120237963757895698676710419289529161598016414722892108850361112742423111361044728637877266218350572031602295890615744349409543940486600473389871709844159546551618534670600149075714050735893178284163082699404059557979557217131020965744309964351323159243187612607073315872953198341986145382108822346803799492477614151543011007380109019392356831524051010102008712698741031040565482709438562766023582866262877899409851843212695134304187122155133276124605893766288546997933500967911635478344463152591558950696537894521518523378774186689493684671877812465629933501385218355579053174458754672899125720282496422153955280633527019333085747036611466993545315328130083840894485993345931617119728363661528592332218383742622340701443367952751832090673344759611783600080149191010721813302694716865938715523344441693691651333746742136915290523560059922578126490462439634134878604021038522216856267478908667412642219981263540763660293516448716076032613007259286897603447133605392640285129394932278951368556210551588211647476668235793047513276664601258094885940275880904418765584970210249679366718129509852990794554485431805091598731868905277109709416759823206932678006518070460909147764418484436845244322211452720761509601480856167109832829521761456617022079901548599173818068991323579684870203229349776846060956501752140789771482871203744134329929006193690915420760112536088290354804244541650626736713590949485777156226712916207700390146455486459748997420111802692476064710748675513116356782730981188628127190918082478546514422649790566430598818247823148103537579914853750802033299336175119081710214684442549185653720035888234407157218468413729467140457779594014996291013703451008140118397045802553363499205510434268555071256576311480264509803855184027933205669729423750499476471636724572751687929458682251175780422819940760788333787203308387696359015767733638762733384837316501326129601766494608732698198782200072875885465825361535611820303014224583306424277069825033983093862052542894487264278552234077756797375667132936627715653741528269087491046611849144790088487344066422940543694703389529641693382082093222044825449162724643217168000145758498012741703585786803545067006837748900621870505962619845722096277478310189529780153083924665812920970691578829221140459329274678396486285866618621876913166606792556975178599498635721591155198104784470769958500940268577346313738546674439763463982936871231457059891141037241024880300088622227865065102520557715120507511482930384292432705088941408960278740704948243263474279493375035347743946155310785984599137265692180025356058854040716458589970970434517846921293328788626230287668420871364421383422196049570462887802096924928901651241314805804706590763484776336488989505790515253844345270395446299890402587687832743794720993818914644118274500166882699651018911651585205224093022595903781061855848554470782391800532024594982163243507257631164087165980561978433097799474803415663396767927680806689853817991274998448553516109726556631169380514271656684867904281611815924508022837834143061773139836248250302096913757171846559618263537269475270882226280091343714765773520585807146751191749177793062309982822823448484961510178525765188858300450844832271244231280259901448441288223977895322299525188000293543155054806875499045044517720314143494964658432244925262403769419004492294393603741804050403769785723548485845539138557755621027996694428583898430029457188211228504970632974607066644292354935661912079476543906351993802789434077567225718138891532344954251063337280839564348138424588286941188521771803458567498368884018471918695513742729991539120910992887959453271977215750126464573941083135933937781779180301841776613414382486423183519961346981065548952663312192066947494247654282211676806001258939732531293421093396486218635418217584727990451858746954088074075500698696346944199392675011907089693114970084710942398942930011984758562418930371452970685147358550569601396312403368438213531064534094355092554104532769438766094962126634537384290223453513006330276121577037165334224282842181568028435251723237209159133065092537245645767041153056765954659810713653737081600967877188743028650384203322800931207251973745583470417585552454227007782642607220729406534457837446554112833118511318387800918635307509812487032096017448090926865346051123799235155603748662130834280488922924056485998497301830836728171264531204515567602729889517396490781506215293495249276399256200567136582423199479476675454000286901423444962645448366349099541726455159090711953991297796629336059134381917127181709962758723256188548346381742097498815246390594963328585296697928145165614362435527461990121782922098129555633476967069003090008930618246687303616348322199917239599610624969176203987604369351583568397602516834531273990456490215561350600232836970538405902555953043809862974445522304674809976441309237436696509426478431405251139661010438689641906526151369165517108497989916602547712704311051561732599936009611053459185932067443025352217161533868464716246497782026260410156317017155759173993003084893003171672108466375163681205375565138130879998025889306636351439081591528457242013764464934304259483162688296241253110180982612822562037924292694868878204024336509916176106133258420679666127519326684389926492220375978946581657480353862595306350098471131797019162264841885544407486924744023181948873413265198648304889301282523721100989304679488071965712611021838956333288012699129272428255697955522365807936966793443525865758561450079923568299631156207196601321181793745300453857986256029746775052786335413314888013816704495799742648103341726023617772416089421563416308353808849273793457216960887317239920909945352259198417579444191459351374082196515914907755494036928357836235896494345333474819798427669960091969048824397578808902812264949779832080487062872831578340386431872094843975512985234557326602411998884680730102787346102195179965615507724964055111212741024289304664954806621872423748816113292318514158008754211523662994152840441207219341045807048122523326528173141199529213333509852162847445350987031246530380542347850118171634192063396243965752414644839894962736021682104469960747446722658737248673816403680027973439587974476379018686080313924637897407922746638641157480578453567658367970242976838339785498161458669084798766186992673751146999918442364410611437724722807827338342598804582988472393466443590126960440353128216242030514600315037111627383256784953459394539386568457339949873253454756299821723675909359940669379524462883101254852720951441542297214169336875446757924640599481422375438993912945858959071827574757448486233592785006363434386209693708404311035809020158379912446388381142215431825115016137963381018764284405610960786858389139660099524695591602268257089321598949600759287163615042016432032764452264741995249501130509207784923976279278347677028655003088221505980212724165470201838796119706090322118125490900089152673746416987500399183936156826300990947914001695407948744642234264387744161781382743861048438570355589108722446141598952629740874502134214200038432503610107283738108000634034883201553542379001201478606184415913768747540848962822124451725076529002861055633227181018799190472344125517244924316675082420766246000626371608592057587791471021352889861296967845325828590225897716813949810371039597978430281841493229046708458504675320707792830785215643131989039388483718246973674626551705993750874029373470867619224164920767532955358459123990704993499006134823564890359882779857075150861649665128547293130310410177511922809018816055494538166221242536476079446074768446992156477256011735902362298488641431019358834067141512540199529761146236716866683989027334110337360771187656242999818487842297744213895674977901836327608474560109017742165606379954230151238055288755763313959007844881524975431339751249219431155472662501030404572162946437340369295688688536867627566293120231874833470073502468391035487041186691063859982886788593685239046837601848707524981657961672209119099775528540447717313508672401844025170733466716116127252436674227050010809706051897506748764804457454120326908714662679297926793560914129183449218210944076595310967693414290253410271967026866963412402897649841082091149839023011787389509002369956945315367010955219533871905623360918223810732197371737239100778404378280148651115596583032857476468821113478696381192142181080483128468058672178530233643271138052453602265558792024570931985186200996532979754701168565157583585864791630798266651307704418322005290630672673411430403662544115504464969538095455155159695130339242024495128462402661414288546350871790617186083453039729327940262142364788603885220559547448731755904229454020737351171483705514944425025596159320172496175732771830486893741269183199065394042664079371743148342374246237950240397495692666700376325713360283542360872834581403802168782971162488015774769850616146825293307381233254407645865103576188538055468008944536898512700582293809259256461313021671575191253459277330919707615546762419930145769925859070629941210326850299640038730525916248446383483405663789304470257134058792142218000681785003944333969047222690099286348000478622812503742203590319477186685043461337442433179746224785976884191033829964082755784558971881871770927438130119097844239248358191610421501043653720760361897209438000410104637388242953639781339143983402789087316197575138362936635402954907522746004382168295755676396355737779380302759030140666043256830630984709464833187209222502280251322268379804475500042136286841082702341762780335546118085013950490161775827167206830302280527140048284586149137283356863187539745723781198023912699936030409549446277375732729973641532592494425281748476801215463870687120215240734420241434083177614836435287635393542984882871218100021720464535874187765437304092535592442947674798128498301135100620809433304377051619062173501391668849910385631698331713037435984984248287567663450942281987434247920899917944404650241183116643997517350839378325770233025467022271351814956646005445150701403184632953971241212441729130051459383438789278004516617265986085671710538151976000088199696728583064934972703077682295912660126486327876578883615972449947416073721185441397167136963618539499610074926880958496828465051358808992950602051647486769807719312222742945589170353179415050252928500296800153269423302922117746144732069126529793638639804240686422055913627152935669997651738848822362686443846903041659118866415414475633106818183898503321643229922140108330033113964246305003149259493997387144788358292269017332539030435382563349474076254055818547387503395485753285761940848698277966358965284917240608602735962937109667661851253610556334831486459917967154416640535803974205950782935192718528677264683292447674419401149078296299696678435842048195640915862459415679325361504778413860906305691595092001686703203737424587111591907533128453320599481966557779864137558512042652896240778607814146324519443560525619345298588890787996501365838385487627129827817034857625846100160380042246506143341164118490590299373927619197171251888945019767781587016774855619255455414861328811346672974385125028339269288916338084402036744868587088866672509989315925151908825456652639169206026185257410701097318654645593338988166259955655526544767268056730544270688249772521946556502423109984768686813063275079272117641376511703886342518452153346076038712888577668690005703649249486685301026065112579413247487497652969199297397369063275425015366374815518584032646753303075391473033909117146310077557681508312546495954098552613688561247298390666960584521140883641524992136336346420492773665134244153969123135253492689583503536410082790742362816614175248586598117626755334504701679106158048024607136107771255447123315596538889647498320196065703564939244160850092678961717945820720707464132206644921588144534333889756066858174147039009681451671956446094558717260670972724054711154176982947836784402266894434062208262892593435511208432285709838808093599663428570938826081631049524470589305213163252125454851459006557734451448240358289759761592265556938593053942953232443766203370304565343685371789685864806634109266422192176092838249887730327363783022213079497763418851604433816916353287292418405789599049605222168451623525747557193924003017400744909550313894272080422950136021164736015397798376452425234040459141275585849706835949569452473878137709891784880031829816403248682060354256518073033496854588820811685518104563462348890369379713167653239957130220089778577234779494039568859659017444190340047014216158676385471940830809494510272110425024469910545551971266460103255932680355942204371353659800857795456727841840542091638641055567633707784167459963386001602977285245580471189613183825320842304846800597020228037214015298109019236275007219868386786048163603317113211568253996721100334880342124999220189753467724187674425587149174436388720781784045917184639245618176582609905974876076045358785672339241812767905449419091289886278505690391210312622960636711947688969636388895750244752090068889183955542240942448676601333359775711618089684267965714174699541192638178469019101954746245904923275728394850684576203095731892549881561986228405358523144941988930842469220719211368487547770305828585014846331685377225256757454200161986618556633752318897556109452259732231980548002117552612749661312335164372986864327085798407808951917487047716303015331817470020400955552495485078065154117042588840368637330412012485743286968245525529912208575981008711430704186899356340960807404441470973758894726253388869766184995965286036849695971328340942598295738523489019104304987212454989200826684417711573604177033275252655626440927090944168743941890728083121312170513421758729531839655683878488002749734072374415757931853996784683391756411759085025807912517308000828350173348779426036573679725282889454431967439318703427202423202417265446094208772354232871905156342052309492294601966459766465697781534901885219024894120361027403978092986137858125574719144753507191588240271161191615236677533502735807671733169648859220104541316413576265418333100792241428546857966629537906746416100195954718289555931366113108143166094135661030825736676944571697975917244641984915546688656926134978534355134245773752759117822612690306367693982689429269852479403102613011865395846559031205727719051832850130491687865108348044931936808211537032291703970127457057206859055314214494215520474981913505740423392493231422505531714819530330476941175578990051542214343414645421782617240891010852424734131835174313696566310828134036854232748645970144073654000294155988150250278579310416527801339113997122962862423278557976174443462180916968688982882449997565897429275588549723556223183378777244975234717835529628965814600401306364803627793156616384644431079722681380398719550325324269974547208869877605493687563374245444768585730627473019396190537530177633801123593943191168088526526171330279682755093582573687145253436589925303309499625489851959908907465121158812101737737688278357976624027296468878301306390792996126301094941929443155711284528133519805012380879059755714656197372264581079767092878515767600312196063846669444353612358712901273559612895518113099815153454286675859433214356308736225279714025007547559188851348927516748239877854527152240973696367399928854945171644407096173342496282617100687353342611670374233076547863801011697105196828231839428251129713752835887978000138127577396593046601553268088511151714185765829544560763661619568394051735478307945159341435461380418752182790756480202802943982901315876753129537071110741621075465999384941551133553422514915498275163281239289427163588969279998295137657684884465207239303008186472352559684021196335224927323145991907159368233335608399483457820755201981968379263798133088034371179128293812615002794478067197729465114615158039152215762436315497002481887847199778900192580879908361269173197678307900887969751205200559786623100413515039387005145796635550265195408291881027556997061526549922145799047078443373189189824023834131129574011711111717601981649846796316657015122074570606727021411241553751329650611422248698549105687524682600828067647595487450547698326246282587942044544614622206188657976250074422997968272767328245082540960066216947298416627188370950939769793360293677988144254097106300445258416363450479910298829708473885266015066359277200601189815968506889512817839083045303132070517165048945282279147624807937779874967131011113954163990480640295974273291726581999662771420591207779354285204044720157311704005247184844256624275544669435473588914347810103581402185503372000447635359876080366112360513874161555326315162552154928757869492307114370004918763711933693144361405232763634036346717021589518747270435596289517317395087276078505350781266231791218954628732194305796632346028321311642777629626046665415237740195711646353004159576925025059318837209109437416401920398345412614979392685135716290247731624126440838536157624804360196251373594881601422975490323312099878136024336835487977094192979167044868000442603518580279004372160119821239661309869106397785045202978180655712468972325198584970275841040378388556639809762055191734012227807363578768608874764999215884113045405369529800628780602026054115799513214471843949315229233067155762737228805956182762639334437938963341119959335062934140074840080792002132786531037103233772082241817391648416914584573811139592492609751386576673267489100071864380146584950399805337800192837380126451891831321401284244320275282284875836188106757224047440324244523011409303543242188062777257505043999244681273832176007954434304979025984143642910419230777222242738530399136095801143953019184833736090589229911636652768034195390462277710157530435479768176337123889068254120908820193873880980676783586411400510550414774216424537670702466107016503975554405323049793202664565906440244387767289848720957389983340154725097132308086851994132600938209837505350655810771428492263724442832809063722908303282464510389119896588394925058614664399611246316397569779802145965112553069964967466766082278855913321433630888956473950479050789357024570109287051336374127609358957163053503183136685958834477723295817869703338457326705335517565525171977459206753218865244231463658008771458999215508621377903302227446694603916877146301211168518297123457413747934039046561491533784218558775986694908190334409437200748385533494198370276602018653757858007979333502537514475143210219971041251286340315616771141020771741356636090318421596070712546851114006009075897024601647140105926325207516125295557719400638384260483378524689332621510612991978731668669615275987334637015110323876440187324526851744875142611794057386635159672232178036495221386207112850499534777385787414890856574788335507048535942314184743332072312149463254323472854447567349319189173424692026047522091702999343405052886344498557178754943079903063318596869124389324962485334312547241911086845066277168964544187306558210030467117285341262878345678215525442135461446626383997685783338496148785653228760038660912887164668600767991510004732286361825541368200884397355199454267326127001570794011542156327102389852784508893298131741876901060214559789423407219898938166688514467355050908964014619239029949782914889317469224706565945883147734800339588629686598285251577879659915108111345611345080771522840416679466790213751481902625174835105394159226740080670238980917331647987304303300004609939975943167842544931223739954086286427492505194323846981330009064871845558912595180502072407981242786751577334579733827703071599095648349373316618269770450729937256799393236492682323235328570197892700259979705352138902266497936007164163236141678505312308437790816162181526275132699808571675081226795606336510507168361173646606520083443963099716059281235607023450689062048707910739266207130347645532614730410407839436913846911868932195369678344347119485581873493526630449360162013003708149600225110104599524439877611578834535306732484183542190994125756605845638812316083975259930060534178599934676188090666610786789510453178904785168755926357359881998054093016877029354170807312907379269704752535981192928231615511665708362092486481158593156723610704826160575036099323353066297165502662226704199876931006432922577067016147323860377164961030926056110689837442344736892882460801829829867209145723999818719272472494315418314730222767257835812991166019594526345749997638467984293565515564333729076217068590653560972605870318103765351624159036364083211786730848519081563127401056758801817720223979699911526639007199564930954960986791829656442837062922658125466680602751559458693267507308308668316176896116968330657990485770902702809154837916779915577331099997490059763550523752754339045231172025483120981313183022122039594673728043765167207435069833110350656970556841039320111844757476532423930874690251436051028751595195407671178164116833298214981656916097895111715896315099683752431290081901359451564437540512024165635978289944644270953511276197146107314078159094279078078191375922998350608362936192320570071044871711740137484628707758027066133635419660826221588427090285127497143292057171869624687661330893486920183278572033784125314540306598672533293150242256193883018281547544240584787120749476839252304783006942131497348231400045892311331450267712317883151221787046075291870122581401020800782433430251517198026048110395066484058327791462678167919014899468495482779506011254812915588372546396833183469024875684326395583523058071529784348357647568098930403490830988731367976947448275130255421281207767050495038980252900571306786322466213409065699082151901066055766232563195452173887716011689695791032498421445643157840857441440470476885554265649402669036984548201340946179608303807364662474819359137152685174428217129471707857391680819526557739567617190965507859132181679190542039756293548291029298160274032467768737208173353352060682209056641207831739217581175374140000570200197033312169318617669249336320944033980146274693586623869870288451179849235697404202234938849737553076486368296279269161172228395896792635747378549620070342430806887241590648143880684921466432366315881896418909343735411237522047011049235667452403745810668699453653157025283354127323387126462572162313588322059763283818367260347646081378943326755380972850527710888138768359377386885885548504774590732964342928213677936361197796195684929460825442629010355955393850562484785806360230573522055891964909675507269025768340607740828013297917030548181521331394823497907036548292450580033176039479627745519270046753657914549683537717211128188224914532140125168711421638366320356515679271784655057707676611664878105110412722822152890592333606104528687746305826141532659194194407634885921726707862320973195928561283909029082112035816745560370417389541240602874058253704561056384312899521302827530733827378964499791901386771214826289173120342609156836777364446649656625722442989967639069617848988304989538945917727430889384574293901220101365947057097384951963542202991158517541536111681331945563554697175761175721915624427661540252112627290486789029663452168570890861987824179869598083028944484699155887661825854215347015829566945310386491828923048633740807296940364000356013630008804846563048333874655255235654046039082137563921203304930816521392817798471234086005817402637133544026060449536998358504037058038484367737072349223363100016777233716008492550329438246191866973033915722732502581656911000990142513184873558308255804818443230695662648857124178169564602218744585466233163453721927858844336776008301578917250600858027147933592850701957772286477530254660433583140214592494112555895655670939597666113161118450002343748949357699221382938188908216451443108954522843885884026401246758356051662396103302249257655028534429571093631864220362183357825112917601238510827270237577354681948275088136311999918669487267681761246993447549903942232666056702514033592435372743209587947608580909804261250757903883049742803810191751671074160384688559980555454527026672448642069033289442919509311646453083003390279161626476850466175890911219086259974797611626033925939649823435816622114261874515962466509613904895612300153215352020512543608178411900603286418521495131670359774618810238697338918679835583257264201104384034606463538965793489158648684669012496671522821482106149785983435496466132625027070072746998694602774963834936087031226953304722970664990553274091692586054164578649362207957956229340614133066129317405359148670281904360884414897423709622349478400983396595845701157842277109113540766633633053162511962576074829162565032221972611382762617953674918356248895184625320824011291789106835782895051828479858723256871187950487846246095024267284035528308828550290709108569900203625364655586165766918911652074742178518872037972543087446873073065669174980435200352371063852940222043270645579030575093775105238433587058141174855992538352448354174427175736645303766578438546482919264404866476095948484343800502573550170693074125698600305565563369477853114306822802601142359192745142893974082335173841835568608633107736638896176586578782134778465812322484337884852065027792303226148807166560202904730601509907742582258278080997595045177201491246337353736731613511900412334963260742585211891132638579457435037519658653975298933093556568302000125387054706972774733221808415403758124189141499145519190137638323250747883639988204896546442914027096959215305677999016665362868518859310930348864498906507132164061555527070859529791193757906010270897899884219460781273422037042278491421114177372581652543675047413802628968374417060155964183879720134939392692627774210830543798471173936896661380655898108945694634232799639704057019474237322577695074543586375139992832305996237244069476043871087102578519841404931843767468322062011492710654459571084450556543848460446003618797880991351017848010610043958210009568317988492126858596329575319755538112297719000012535028756805828009105416457171696442326857707145700255710736253151875939468905051857016087691498409638817660851229638657964852164873637528409927919469388003832590170134794209504599521862323513046790318230005091439546186591112884898827980531180345950329336259384717595301970893703295811399771919867615671749298304260935001012195799244692445173066919601934608063982553985234801768780260228611923839714254651095713614727155132186847238452551247516073858354133873424788421607195011620703581052068029893762088123038005352557597686773809445324042869836804693809962634679765315671704306157194855120126030358539595805940203964107236119592130206885509609589049903134803706658077924894550110507271913841089455596361061657277453485563833361262438500999658727817388986782996203471175413954800450747037004454109813958592154600057232345377559235285892714618529592048816504340192048955568669977427372711710480314232894637633353639228284083431932325846923658889827133721814016032485499837605649308275008645738759224564580226955942230189845437593527343401639007822223987503943958947968372636736801440765547801497030713846241626701584881093353434189952710936789830797498134944093609330647361159486793868898361406962417264546434717279470775406381352758742331044298881710502753432298772598112359257825945871332808699449009752245166426462403172156311802920488483113876806496806250925596066870775036917529144412789709894948320742708232748063683457279873590343047653490134039920109967679684124550337470808016025968856361057759125346857493142428298495890256253523078301359039077529715232917046981753785014410771960595463604346254872495337437477703269065860413625609235468580451595172730489967691511056402424594177780543913498675238710563298448726394602464787681206893416977252882376136361901143601436486520026131204859147077438080762872299601129551518090528998828580320147091628880433970768531476256313692028243578512223441782008770054430317274059255963038545969127253358396579327698404770505665654820572788991915227020994475099612384349913831983994471955020425628623436180108558537081033959552907714759252214571382485414295127496802733431666628459496693594785935223376275173049251171474658982320604943572969179699302694428801808145152082816468100175715837106709604116970612711850462076517310902737851834316439013990009668781241811546918167058818585905083783928457076085691923428961254025177299939326123644247284327667887527516369135625863261715793345158728609672112240728246142067676491281853626774089248673796673826494705387509890288718458000501829192905629609988256826183413117605328731007367608773425836728548874438226973668201966871187154878830730531021856272435933650976667342508388536832714835563367193222105800367348207998160676775797531739567455811355492591357628821388425043506501369502569513553374875533636649204558174540290212562079049994007180669043013966793942674867708289780516510093265864488016125580281799430373461859140713870966863750315971077284586230766433345644709437537039062482199587728656148762186151507764992811286754019361790096962058554846627925696703090250970450809627881503627265859174894408732890600077951325189463482963380286128973654752965317676687104620423602403328375292864823673619634801646930996787283113714508588988080696160418124492750545437539337773112306052694170208619409746198049535977648735537806396044248881794243086326306233473508245814817082668917857271220931482887244664246733740217068944966859575128875316750882131429187007193608047971894434062276076951895460543736240395752734630476271205539944669717578743216206100152315076318751628109386767501705565463262124234801861229174262691225683261266902261977704649890919523521645124306735991370962102924229166932243499081562273365914627074235757618987709136518208807861624782266558897386831612908464206466890294213308739056881668918579826372624954374998487268175850211526377698119787750607266332125834761936688061072374311554241787707897871533190425007585422037734185908128961573097844145220261822033524532616142755719214629866692736887034504639483273783353107432285442741699203041698121671942003275708729827368205652457185669278191082649190593001829535868093102744354479645113886267206711111368886484171145748235494648736889442826469646075287857506902649585494736823748293004775650520887472712929817971075623388099235736603822797873175840722382882644662886118933336541512403747517196823646999274661445325547038652783382599670835711229855388409468923480782768900402827911767229074520423881412084909094745093462817119242100773009791489517842383290118492527236033795746385669870240517896251561310932716088346142369453802863948616956055871155201497205062699889834761732898732252552564985552310352896338688311676160390015120263353477664249346461563333884820783380894621435675612169982458303879908178665663130874791327345957179130229313161259371688276559413963483426537313881457048403632831810209011919698131454633805542277951173486202256386089936955287285451808921961415858668253917509857780274938811293361520185911968679986921465813251639211136115796340876571631132716540299691924095045255756885647826004020673777796877731780204894505946030107535243918309766854790924164969666058063089414130364706701790887563552433935760041448734760941006187505729979279147823056840825976967762797139625901432043961864247320683424825382390338481541771168450621138303350013599789687031136313233916645745953077476661532888574395998167653728928538221100680161272025023430948571330096016821430301742616706590521317160321223809654842817993743294849394505838200392644883144062296439634654539675330212088800654185648840104958850014650544262965896356989002736732329101632487081908375336453506508471140079378156935526343669621412799469892020483953505027512119510346766279718281801479656413282156113252071104671069420781751951440730302141959207709209392219788534980898023065194043670182763583874232855177763052516372093756390198385442946871479375309609876388975755097607189439990469419924411962766763270441538597281424199066398029498190790158286802555164270344725051790001268944734956441203645797813318648145322755544255194799668755276926169444667946942830027662940093972224154820496700424759605738698957368937430506481725798247088066457171095568632852212167787914539091154794655709413571169959250807681990038670682430025376487231238602060497884401250625878160696679381900809667393115392305262127583416085182251003808245719320849241617106101506831301191612330323457247163255823973061312668097088621320315589305296326590013862597094534398684981158660842593558395407314990243627013067683196288999192402929076592376350103607887856988775072239920877110131106605958603927623381921636269092758027887278746251615234880305865845490175783614410071029137833292389061216632025574459195937832789369691254502624279275337829274329376458621935283862436638404624082475409347079119189735489478751590745509833721235368138722318741912581450064805777679581998561452696929313880129976875189006600965749977551920025558280494546946342309270788898998212479175302049086925415057118795903025750042607755485198624298036989616441852009699577790919346621832062980670085658323280686941947382273338046156842126949325935731496448550285053634074786105557061533317535231729513333453611705982978016887150600538043045219183765206400869345247325467210161960833670929017934896592585511887526987598826644369036587852126910691077030909297953978212990712926689454383540684688949152512483025643206933277649046488938272077729908765795904777070352254221985977036594390684018554600854880216052979962570786750853021062398473917144728464619375213852318510680790852097584651277802521632960335407116350083148359612013676090956536284168102005424286315184632928042979380070527869672609716013232168572048545322260506137923741409704288601839926033584558668801438485025510930427422582674882489303893005578356369546470726981637366168846234960451891893698502069637185928064458231085357564661657293433686875641947383805247832261892834657805778083734382451693991631272139055053809042726527101205165700233239225425102395097726227502951581291578988047474623196177638280917426677099150041491184843062529109955523463794776419504731547875790904475956964979270414334249259320095476946281220243078409161600924148807685634754153878190751045046103381781590292999919318270302453145488815048467351345857948627509744106679573336125911823773238672616905452154784652682204579094409309611185114884824894397543802749303907276114770158095707782695655829261716701820321635207216342715760845580547173926166243692015330114613929587806206268368757942657659564167810058167191651948793393454643217328647289394813603003405364031822225765746220219305962134831109213970899371174808476457792257458680620655660473229452198234000201091977006091316829656997123740229715692048753323039369699062042363584896768373703074988381422887754581798409231699825106919344672007018188835379694319225540157876662335722686734749346308011452472429959379907090339197480891063468794907794074370551733125688340840587492747268209969770193022454891458514570141481048381711677210334613074768542917454613550633180260209404898566840648604880863206797511459306438340503810489039022254554637129406191164883685457037741678535168267851352193906423795180315671150259878354051399299377335975127632496809219220036106966942826481134558874616337481848443184966024629834680934496279478828102998526065248364351466431738774969515696142068938851745338096352996780040200558250394616050388991993413126563458235606692813988852693096162864755522792895882388577578656807572330869169936679544060350707941155689623440101151457082172649849810406689594858714757785862785883657575412191103163784534900473025272898654138714440980082386474746005015416330242020029689684905928658060362484508461186991956963916627170953864083344126658568286943352828840782346215188755808274283046205302088492342135902377709555373345721857765640506359318999881345457315884199815075240665309117538884068870516251370040295902882426432255035929156628835934412841277133171219265974896254866151004180133729452809083153839857898283658609646851875911552607248743201906050665590404642996220663930517737323040734000622096363057596991606483384064069038379422896358104104902695667267197159497400003227531223012049729487401740048814167089377539458825184179974832815266550048666205808285899324115186709766837946628024166059947240787428319421761398357766299711161209333690424456583689466475171000437628664398326694906017549485944019833709813443270773607665442207267911830493149348257525006298448517080112709283611703624679877036262960538045610569342141057674627456977241545478067248199941004357793148871460448528120141422555295100931969182573419771286718870320358424649425989170481979005871826267429788118731679762657098038954755211128181521886100309550067763632433386267377806330004425709185919538649557001072796227980184153262676719304911762347573755550442184096850131681220408654806186539836037861209095377692293869874493711431905372923369471005743291014643240935835448624130374664628475311606032635246817938624969672120189000289309406751675442947167674340927445023498755971849069323084995901371685100926102628150784560467084364407295490449805983508539634534179146190089607835738359849178467168043756900432151922822104592111319864234699999984737016527787294879475894710319651931792472654598839816943825791472160737758260849527666965550501589093762190160531427728863278384373780572799215235562670749612774028795776673563369828003771461578157312567409706032275828496822163689377481054479291542621658053076160109686942349938951170983049727019250170326638991151902868875681314466096236991790311787548859141581016423009735525092519747275368273327154739922286472486068764433746844470587782728487804066850926880291944953826741558921176139778291304959252669738401669321919793923833891428598013399905688664099361314722270590152115321686344427221487443583274259769863033557668123525014786175801503644850491336654031800221113118404487516566248447010749001732870455234289987986664034917931120726313253792579657729120884495696552853026140029084393155072076257850789480583545630332025667249142771363572854218219334853678654474123439144665239470816043545856490547267638461084967548306909181588238923002742480857678193306923250041912652814311989375814750152191561286103476005088322398373999656778424198896301885847271199986774149221537312517877446062979238654255243588306752980617999508223070383763662952535887922607513048651200034557082167461271922705556692571922383541971662540214399097544962122884384015580186868345682952067172616465826384736042717581584520622845810131320164291693961906247838327675814829249114463297011874908532924870374143151429035806872026293502308204272111278620054885376058893985343101115436434596355537894864605917344287574101105858423720279713124479995019789567936126317381472573532321541885921112866659673144277173683779482370971301468866369306798053082357127235591978424318900413915988607244541498730537548536573870265376431872283858813290684819395284241749840923125904909266214855513682743371951689950347526623359558417799324243785009287216998443116617966586995512477316682406986308971375588712398664142359065478365897268385002518428323657745895300884373818226577394844362576745386291957012408166819008939546673391648408168791125484881316081715594930370088100905791765822673328574800816571581919771464057059144264895963738969038719508762637473168249036668411807333703972212180839756404171625287843871020146930703684483708802045316173751503896833887354685102702968939873341686529026756889919428902779123321510957690177532173189963097195287841734386959344860474944880587098547923367039567446203750231281049014099514459686930778790357402341113950805127109886360578527907882019173611480135603772425771652155193177037614253107239320935924213273986688724961652159372343380268923564917558356143781644731823996142386293657030352342196457119396956693562832137859711126361610700026336291940732847329075402744024884042277409067702584915261582540380719701403154859768630987900479453306587082788218802360764994267000856285974500438711499022594554923884111821077044258388780990049885557530838741709040222233053876344386399130509695196409921911839975114534804853157010791551643535580024383381312933948306128018399181742923836544274127312922630770804269138768915175685568847668515757581892535385452532244807027602234093177057370621783523965396247063028193516757188102166623801649867346500714997172017920089513728932259416045712531476349588889814473281015351482292939946358527726332975336161850690091345939454873730452864075191815337665393931813600403245954879463601637153806035580434684251834749584792924083555626854951562768710943298671666466379715319075776114630136894142454273204954008657566858783757734356859357642095620327657265822645682144490299396998916285651303829607737562504992448975508977854531588709195647610593643793631284678812146590357371520005803772390775450931244858164266773435699729263850548444631719780636111380382590377229796202389800725142272283108708844340129564182427731959474036870731150214705052685848965158287880030697303902320987904362694424702112402538211221648124860510589543566008770015255291028157266395932400612310791120753486066598328010890524038739932883157302627981567658951931818223124081049643631390620287388174646334420751575474143908432816879276027785871867537492248723989718010134768105817374501976427499519153446331863046114403760763945773509570468413742201686422045815857944037290571262718923216777727107902593282460153650181655885592404863801989839928492631273861819925735449018640088289814736260214231484836293001151422232299470580486907397710041187183119214486574245341938065416404686975866980504897578527729184579876878310453821279525486367073450794596519348584127456486351471529263033480836712730333715560460034920439920262252978651892042258562907796494455505295164086756029942602413930922663496646776612926617206647491236783878783691014325186360652647791455410550048446265026112280341367266218218990125572436458250406663463090922720236292225576312706020060369190672571345706674119188189745810419958971872285082333777407075993159772664465703577073177906457635657521744565237680646356003004543320310327752211199749745241591096968727469655650467202026008496122018614976804515299469123835884637590383592246545189926253954208739311290258426662564525043432935393296033321811457749157922752870324171451970193549225115691496516609322838136347257123267016313832914279293968339653737635738711165627920238925863987768068251521561802216834455494177588589229239062228979206232800397960879967274331037075887692812269618928424326750511101928602917773691595603679590228458680124526753419553676326100931075045360037806779052919019451447505257540677647022740661647632883466295162259514888977582400021196834571905546876012456812192269549202731210477695994944003734528430985092977547338421877225075374637496024600776425984542848744959679578513021949867407837558592728349055731701585298988594422598078018102550859196601100665433937282000736530336143684274046138482769205990426025946598676462266746943366693995547546771174969644225547447729516794601085834376311389519760373295984889165959704580777359211528102978104700031485721601537897641022825991735186848603347357438505373593215707665744923412978736693320198487080091655512708444521240937296580143720981241248730591943019439907610369728126871440301955919312585040410726972325610201523637202497188112008725103771965952286243968906276594933956422741641460050258928725979210762916772025146366182538720900651391943148721602090026549693403735263945680121196574398178018582732815151244453701019371083297035973469351572061632964866165559753446659927851718894905553421494411036975759572624433393581335303854714267818722616245340165578850459011994023109872111488875244089924258555226130979706532040930394364183734203558697862154856100394555836649613398718454475632862515368111303389798132394845568665819019392500767513215182536572233653860416555685760125311217076431773780240151729429865456151261690747129120064468280114614638355779930842716030083903924999861681557718194027303475456352640906682503349000676138966326568343410257514486764825322879354409180987624300358464055928986293457689762855275104071739439396884336110432779092841449087014103605171338349826177873630945570212126831889673384079453948133816906654521235659731535553823143514015841239467395886642272499857181560382720722729168654782105375488732726617547875998703202306192342598437310883074869499003722997295561190234994865577488935717135038453433140341674018009551112654236272278401941648560069435319300511848132725686196943397274596940320105098394734320482254282586450088597740969216415592349986478631066285525402283557774412970403243570532758633743652137402150706648144282425170719662224866835348926267643794049017422126371270502273171629588623539384838902942700734292094721019657685251387269738627035895736781822145891197068599008988866782685168337625205858047442040781127127896900602074104787655868678243429355065782254912641238000883495350613818356459573679357276536375515776274272245200906781758159458345773519297801791736911822736145456854210616882469428453809971713883407201170557951765774266693742786303589250609215308220869233684487463339699868467532148745154696351100028000958704920616247224034498919698399272196463172208015720323581127948401498228348589347404282930103473590498365902917663826873858965249795462073342897957280725792483942813820969732487063870399860254940269592240997311813803681086360669370768480703233537604094592503710279842834981385855201158503330871733074462845261913265655769321628836825666613137042937356946534283202471445444365819134579647199194370153460384187657089157694485732706582891689538230478886459017139246295699045740263110315973371193423279353055616572493894287334167075284577592619020786669737297599106071103571646667245157060234189791373425879406204892581562320610717081399823834820740160028527876708277039618053315350927620524668253231380521740023056593331593996323257591765760993190068798927547304413526503182276132057936273704706115722134315307788628101402137700684074613869354938549584313168147290730999610591096304639877851489835682645861675805957887680106652718323881304261189327229321497276552575712682661412696463261155257822680630080418299936949991359101054621921899254253483814735760396572893695339130456289548989180861753710319171818389985808604865686465276644772733622557278735951001223864615750503008404123466423064064154945114738274517424810608562892148518505195319245942792134892832020716621818440353115235858124545900466539727395922355273665804901369161431129707543715876826551116815995306064214326467332085523297689223423177765222980390884941058791031605316616219348487452248050321401280027663264427104847372727402117163000651414925278080039944555451136655276811190150985163706196820158815570234359494114978020400039220616094533786282584731387241274266315562885826982411367763654106007582565233242136140846366573763345927970684258380115041914376712340633774287508024532886384292028878037555658259286109930603173008730018190572344129477814761236700732692201106790083391327938628245810323498653000527897514068358883735081482078375604165006003449119304866045378484311618549039076064746195224326672932337206405291736767005622799786787066131843560273191892487488478497808274323662781183954347294871252229928572485127041194616769336925361588730813217387476851319112386560899469253822262221662235410359222126807295324026740899941487192132527241199281539158519702802509922503337034881328482578943168895040605173356246653140163166051352362524888377304720014402882530940385426104204410788420530820643844953570252335961381196343171946497458583515611872903627672563152495804084844070676510745374891361854065802998814628773954547984084211624405196797962919488795774474859302746023389469048484424072838671867383302768017994413039617412143099682566934767483272590347151527132988467042538235911433319564085971087641202901949436906341917371122189642752281401129803402613434558140692120930325955223974001877404459102615608829704730762259084415474201493160619755232069879235185785712050035194725209520398091962230065772854406510495027181402223476418226859323677941502902548815876774092236040231581653218518970417359591938172489228458568537279705902227370239300659711613533856042462803176561213177420893816767024458546124432410991796846885667245935046801920763542063936924163238448127286412646898281441786296681844237139353036277484471200216431021394004448752136023745979103797286647151111782048625467180900451563524598377562218493546458318261600523441986399789482223881298660515328506104070454194468614736215050833724936459855125433702095444197049997257373316583876206401654939158869208297888077892982143695673465843672227047896492572931408775075887166869227341369386594917468049881358330578332546170779570002137943208539252318346571813196392466930979176287820602104081014422988639931115865599419249325748337224636266090004710215812469472824995663489592073119075790859624463492397175071653231623781266283116548171918202282411467576723658906182978471652213707317377124561343741370079180740504306784296168230648154496293652375718617412349260492298377900584983426727501853308397077933858641300379341291054058774164279979527131368269452594848030092484344129258841542972872372164228903226849751244343482871218795731465159626404649488678885511414378847488336398803347665099908333080343100023953423463695761430584313518361984843548717910467771587990836221461917525499082607328684915045705255881640994697261068639434165082472749590354437412460106006806357847066172952100491018262395048230617366539122489816753942122433943165628948523686635799558830029766048058612350632310674251440733870725564754602517424245139668555872569607494354983027996961157676099825978889676642771120366859281194311510806732535774823594879221690966786688513935412698364518996871450503939761205330044280146869042548469531527883765230122532788960392144574846578350407751157447990622275706425623993791892253906638922427307853638657032720059935312019655670100704402346110527373243990961480670310586591555750217544579463979528248654281413491506327662181483031125837962322515177857515594916856559496228764483786697367709877692788654279983981252878433168209831618414099759739572361089411474190440731151352910686740947569365342622278814011228443405256558991782386560428031021035737223197220491234049531981063790489317845864785921889190430443904913404394550689587202349836851051369320922172386314881136109933820933964359661228594091967356206956681778692828210136909702649935411359910376601389124709404735295563655246002152681838309896312914231966623794096204915188549173677142111134379933814816314936569799112638512405014058013572816788377931015105235995739455273764796855377164368905023246436854401011594431098347122759790810838350316757025616794098135498383952013066170728185792274977680460592078901901764077294699431046919476461594868370285150822595669294206589994038397364572345583818570618999322325903035976588919931418975151750898975811742781010630750190844027004756642801869082562222115564799288906209235784087973769330510229823388850334125341616544301795619895850579023341342543336476708291532393401665137571909403911979961072899889205915449222450794442419613330652028976490208811578577140722741650709863759301720203334478958406268037546341120245182231413516811709705346192818013206165514613222384127198298790022991804928029645859689091129570796111752370701590334942334573513127753886290192626894412149559696077560509853952930935775587137947242892279514927410602351898401624504813764594337816875022383030328595369906244585740089892327429007509186862368876996800145095626469815585909901632311315054521198569577649376877742991322272539460673111879824676853057519081231641485403679979374502523672596390891470908387216692786305601777058774127308480920699807938209876680749794905830338637584666898544512029900845368233635436207598807057870200692169982782529523073070569768506227137424648982669372478917576659030103785124118054027877012824628617353656153392891586518184802866780733933253107536104283755831245939810280045575600764535810704769153496528246875829727279978908520962790319927075998324797709612918411255573674547929401056110599162072761682397025962805994899674371629335925755841744357237805454629116245056801160481249349333222414532027972114253342095406582311048008305663832189131625440956337168556700211661999868597591618802568631021955678249023757615510508261094348017353773868845287602110440780174318835198559424955108652704164279251883301931203732871535088395195188501658049013130571508171774248646733833958672971222923981260700832023581179261278626481169756853191712042222693348783563552116210682723883128332342277727468217151936065557939331151202988582678388699130188569340718400105156688603691289139439973708204299560777792293930270072634719479395083337977153028475044299331359392386008940315541820220330729852919986610722344877485179267955924633633210010995141060695500232476533292665661038580733731900925807637552786418586419343985242239157671419047763185908530506689043425929159893356710509167247954446788420355633046300025665508869408396343249617193647687080961644169509757068317415688048293325625539918576806319355192698543645415224247527147634661483742779612994598488109667072464246000455439161411743528208321096066123555766623552015858298647610210211982888945207556949668291241593965613091887156901646869423209458226219513510183853524829223222666077928722066082394738571855857597161807118632524826543553224293173839910563801928831542412917206988831023869308970242120105589719667810898254310158050473233314988734347717227871496661992483387059415612369837576410947054117770949126564910038005968052432228581594503678031252943063850289772602708550583754790736112589048042953553494409651786039055127168363257096854522634533541995339216555104261051259413538351184763950071522983844510933923975272411067238908414590408245603401577698294924134525459807501627622172025156089795489119226382126896031214905746634038601624301137094558359579315020485754276913467434426575150034180511523620134317917919500632112188329665279029292680071287241962233704783254594435350080162047267114483446792920557806765339020858626320173091626414803432902284753028848715099854896893310269890781318461934123180870437518074633806217371794609489053154483470656620188224798072023803227344715578473639130206892478294019822654418909299083314062401222958548767281268423265275643434084786690754950079870237250613118693904989846810484360641661989179963885292611656312847820417863456696149691162817534427481689383778900923867454548775761170258229611112593159122221701387401646995222081520389960208731256560041828636661312325955141493168349514736911815040359540946435699119825334764672415218956696469277730007569864739742621698447963926486679711397025969495926517826518443837745786585625832594555574399960310754144510145744908484143777670886269629364679011506073964457376619101418404068563124227859544356843167633543320989564509502816956857098979777071836863060119836389511534212652186305623369661250052111313366096891697895129205889409046826689534220014584390580885091028385855527681432904238651486772713215962560301196283205895012130150109476575463757106099072353954247232561787972054682888597477151494308386281915246042849474527265297145302101029482709968990330679639724540587156965036391537074018535478762495531416881269614649466520528131703817299706254513774434491923836926029172819609307398869468108790765870041611935804481384988153227975759208346503914238648078855154016461321006427895100695455620545412934312060857101088485648680795512746290892660311005489216007058697286388664597720531695721846226381415823049811375527000256049768817409183742869688531510657917810354161510425974963294479767085701435091577490503346637627482533800152487014723263448294173766760298978338248153278893311328469179518780107218473572104726961233380742145653293785973548593665376130248434209293709647540938101441815282683897957926682372596391352746189468881072597103780018331673061313439499920419659105952772793160776141611380599923569522316363908067133996954750929753626636072359519394194921223270961759748207428327802318409115582155370098531105323505588764562447621336110435674710789450157544272585717755219233597386746537749818944463796367687177855370388570504454218179989922473536989748925173125366226753176241511493980163506751561202211151972057497621537747321270530573847083277288868554196962334338865315253292345660437559925032473646180062305648362443197753401211876592653802682334748787687541741521892729024887054829678501498971047335746786947116150764877463807192944703881269215588237839003996112281585247856301619083641585071568254274849557574885021458671657913036650789818205326478108485504953653790934765451966046888358162837372683773034673075921786512785337756998667182392887108984339292404298049581537029668860950020718082355446695878331161643850682322847299193327676824675760673272097018626812411823199474759764233756814183735028461884314120533708308166079775366024292995140873144304894911834180979559228824967071307916597703201958834547654900432163674303158281781703670427926021987778362796814878933474482469323223920346472267325671373450186123593682898959211613936395382327549543096919287448845214778762715251715375043179032951646811850810755231461284964074520371351997383103219307743452247801276699433351055344581149229844403693712089626598098978766975036709593353312624636372655140297718670413847585038840334081182555595630982743716654516853438742238059173990159827839148398975927805648934966301142434307064658993117010285845941978444141839873142054151015101058432026386055116543031470403189606806752254620402158373240823589401665672192766106064286334289294463010044260946501026229130780352007503603584457452320574181879810927240212600062608150038945157255008072790766037270360565742379705150569365827939215098646588912383702145994028212074092028410180599887174088173054522232186132788184743865073941661814358353385921606486120673194153321902619442083926649667447792134246760176614869797926022831708640136691953852062926420411268420084023779650064749782414278798249384695872313130094554031013996707092249271446284858455045297832616079626700363539672344988438020426332558030825529478745544639134422481839051802336193103277215993652062868623629258532689830860667387637191894920184918580567625621780173939028361021592647409578071583613444713057657548854093556561623934464175732188418345796297433393859736450543971686863016132306012992917503230716733569573151985302172401848452811276655275823476704860720672168885508675939370189715582587929501868826647464632619957070183695316968394310255040196423239537658167263046573973455542958298140353046235442857682057054540858410872992213642507789894473996267298456603943580933954851304892547608206951481148399513728252605747450229014707088319061915906964768773900237043816176734824540138462772253869612789408136242158527950540202719499501250646290103222514568315329344556574942661992872627009042932372536754376160104795902602893666998166207147043798816159696970463864352342044691047704292056846813677573090801787480577956429171302289078201424226932740100968975948913064701836980241905565257643590426301177199188123187078336902310250070044315854159088336629290532981125312022100776549305615853930786845493737852869690810772775981658568216791265841426387444807070184958150187480781844817910045897896864418872375737299702540444419242841142139131740844145504961778131060556534700162696719585895232460221228568944292700224305435622794348805769144446660219210717700756461126009033136423601292412837557890124275489715713529583445100487298741692328601338720987578014858348074874477832398031660128995265712703491427716580652224106264380633644672917578481228433671741097111778815150738787103359192426026802338069558006321620357206121812052810001481337676867029612503085025911780293890948762194430770140088824223262548333757917640061932854330237171219694657300431048450632141455058850179720655881967669550299973601426138906344565908172942377322415068818408690492977003072751821683970343300706027477179673092995735443874996236906168773139540278496478419549951404214997893143370350793544204529510454321047856634542986655699720772531183682867009903866598584922159484083729957847357695819791016549536353153055066942510186307772967379587708624513642796409985995103969685138761314827616798219235134366798135800345501556801278185185070369513251469356480710366634643736640722859820240771602571152540719985880093238650916008511344825605143344618350225871663586754538110618781335539470952151176765189006103324216077661542233831390811510905940923550239982573307358092679656837220474085501440396602022690147218704477413986714459224693679932819575946759999984562722416025836517678877377748037392936514272169372200681809123808679197449149464501304803715747512609293195897931254526480780560012311916239549102760779841768012996217826474267601752221587747645546611769981509542328309033593424802902176811917979178877027660517131077702289929264510088527845557500917688759151864060032135905785795717036612755407280589073554419524351793834395506133416703938097342447963764323804454014764172739553552643664276252497302200624394520700895468880115815379345692559093051124176213958290773649242575812253177036260190931444239770721261790638218630577708612275262609629893581166961444571789087387271959050310960805126430314157190176886741037313848419327581972269635328397054027816235913045623934622213009420334587215426475688259503362811454134552645665414832059641262057562387163139071226250565820602276832107623838991013500828564699007681535594426132704157130259884896876732947400647786999831094723204734509638527387735931458308489760264631071728614272815210737793693414497482721700181871654833415580095038109408277555277315241791406025538089154634666594117140151325107923307435532742538982569733470093640531572028294223642653607553981086026938302461060136759653420202672570483927936472630275101509697749940874136518407127160862977574995628211071947524224980994564977386436310164613192460549924086436309144174613683054910214873872231332639322163258105197336242519378555515850868375701771379823955776727299041505006804904182146065552886720589734085663484249030871757354662163400105934418123914352429892758117944555045814213265804234559928680091977493384447564319224182476625491288922891900069454428883527609873378574103913533421306727917200203292774130850363777842978255381445346267396261852158447250829538415923843902538301482531457989998806798131902415081517654750204582345161488199215087481512575497218675588101483447644533504507643985440506340111631221145489124223040924071816679616361769019660928791066642534692832651117162924079705651903731714383927686645930699427487288409161106221043998368734416278811809342303729902588358103487409113251702017629211220401429781705705113784805915335557936284963327363539158623861097296560096222269511469078295081756704456272781531035016472923583226845350100940422473913663708284959863783088881910123720597568865363509027361812132641628538246036616078789028170374770470889547530076841989143642417744465134365789399925606484382187574267077468082853001387273993789297196452189395293961473496790476410974551404256909467523214319073184590697632875550817377715972482906770020138037820781470737106405398316905052254049251500509954631804542969397534594364528604499282764031958506867418250939501386554734303750869975144327325433948237107110293211072549791153366111188244702722945506576188687104468636028551868486972305217382308406949675609127894331103938679316576763645720347778241933801085962715005215311668072842550973581433038914032436713429236840383397854878326777519217988394593507452656527518959278817232832701652967011924122218785549738235526956934046857433585356840717724295464440049027032367837593557309348786154272743556711885345242463937859133825029222025456510927518354562974616384532045921365825121345970697930445587540111980530517549808675918721712369023536368885516805678971337694444710793058293487489242854547546757456428129701940886710217786829557089792984284775192605772666129384274132957871648157693928781202663412934927748792935851879376025903760970354254979681858579590907207560856401338079103169970276991556295541104058290433426057547371274891353496523393765838323933704642425908420714143161013334097493169738580293631459166323177169621700038293000310333479192539940249349990494367960250474464632598667982992792145864137062815082615039560077592961601376630326719212572807785032843433802902934464844246255835320980638619748785558189960001312264883168521416587088708679428599089178826638423675878847656653665993906554752215484646543958927059267201954721341582418495251061963810916731159120211316282787382381560295710400988583550737178828772195118559115886646585972802185268741781996148995302903339214430029609909916717890425629518708717524441064128535104773826001727094121435969243130137346704254750979365601838809799983340700549968455419892990583499789850165151719545412917619923198549814379106225109257770565703484668988295550295961349347347240941436259020584393093960259403624625698958607622069420924324474658457718557801764367399588492513249452482366639101221712628956646234670116910324268501745289104529405618245272984704049159532635553226565137432536826542764839918625157950950607835398143125449274932470888388520965660206147333412564394405833294953193293450722698003329640684585548444901558724673201036103560009051272777317707086316830397316688409069265897824880432180161760383306342955013784512846136822929275861619765029244596254986366773339248381573090135327509076211200001888129110777654972230329120542142548012879403696151486399561166731952183722281203374810825670644502215625269641724217250692855231232242979433025147095257271359549963037718406877152074322033506407254134340512325270133336491029657634671252656592612965231523171297667903566125388341675206128708901779532198601746278045517724915252062860188070960958421545198142540571406829081871013522305359534008605620336530845011555277408530110341783518907850256138259843114965435122935933125817604323406454033323464014711802308586065446422955159503467348399789279291964708644627200213609837224479000243601521188447383436450997869160081998097375012503351568987583995683899020635412798178362064904629485596915128103847210778206744122976556301374547835522986767223901713034329955617617182642629034418960434165028669994765020824230681340311533866174550384675748465047733425308167055624568746258188852127663685939042373119717250191372658618967972525714877497799138165791560730883627356378923960309548616280079703429801651780159296576009037628062695919750522209158186632623381589815597558929299427864500318391266292926661500896304603844309683793082261169807376179471632323897851889594125834970691597231587861252933429815082021768220504925116103608002415523274775507423601265123328148015524821022513760817811192044310865243597485212090153513319398824996514887469892603061530600591232963283482459629193437738288130382329678191582153393775481394935988689482696161558318070411153913302044243284896115626923172460049650620685105221261184821532145078424334979656191377935243297691720313690260717916064284368835504932375470574428388989193499628380913884524659920473419508524462906430323029567997975235338941848051465210997141716678367937671022917728728826791039261511457610988222577464273677980659190587379560949050253835529883789350116149498915120869021927500025732813916946416968140174482403132935136410862035869878593255874959826303807883148199041380027930562980683836625525941820162439572886793838747734855063277421954390438925701673403800756795164382811491930620298878936996107029822787285752549609269032169445699709767533167360393664827289663334164935733584544400194570682902890123561987922810475816768839903177471408883867852670343816943774830031763614328894113356277305251172736912206644753449943410649326867295381073088544297549354182881370818515266995215781323842224788023513024236209777814164908644248708473346489814696563356751415674609849348218867751986047144781413333071467771729578030675495216784036067636631165093611342494518906494615064461168684375870511215589005020642232565224052084746005619070977045076762023709785261094984459016856423618332607123055887201685587756002082920034897826149561135422337446167287599586918602364403379930748177943165591939184922652795461960786134960571536789741324248385781223439852584267975575779800386096829835555864218634097455293491803567186937514736834675398417746798590688873876816096314719099249821086575088139648416957948745645554464911980369941965033902969526108813249285163428669585452391877911934398832703125691421007094120905906512485004696193114494366535114637864201429646240063931026177679553096990004075886796509243641783740270199995905599066964615112379473596650971850886606960515492621908861724660995000617218897257514910099196440323528288336430800574703026516879580572976171461614546508376330902986790576555304932969964826022744942613694824724003671525330886933885664872532706846899672706405963615954362472253013303862152206485581915060246936672395182835497489954813139697079086069604075290283295290008291008952746119507540649358906019536382855502318078335499574703712185162736695369189308355464726380338201892277506452389357209846920064933891513102089970646809273670208329399390432982140686467706548353149104185868409695668433908224971004222415621931105039946494469316969200471675057590829867149648727340552738646978757693895048409529076081236578288294601054140938432913663447335773955675225893117137528723323261173337441167321621230439063132271765158266414447443464544319836536216415037230511275318414353346892527118789626156406726842283351974049456853113707182982044008985697013205094468717016943130242165502679376897954219086540568251922604322598464380695209961932422118372394581377135690521819623448143540588422538040177656906142910925796902657807194154786575339561179546484778189751152859804729048914443554449727504247581202184318336863842183924868664148676136653200773791492951989146066959019208722781797939475693472171740174100780984388438492498554934264358597215816544620237906710576285866449139254521038304565252860091413652434979487742153295984094936462849472898636086344374856393992874626522788414619993842509341193218035918721219081061718548102871109414562938290355919408031841855758901286911334495428855234233720489294995927648885440322039033017917307093526119864744610789210829721066830853117328108269805801128548617454753818140930839067088753952405611199823176934432740044080239908744525394427459278002523722870367446594754826237249092155410069401053675867555736020733210326583591854784210389563997041170337223609921820669961341533542914473883335829411858596664488823140286079887916101166277193794958525263199536110899869446855484970324878866603305000606270483343639061469349476808070024823592398162828592719383066073891179204086036551546743259671543497407554044277129290555312013301824973523323788853757617124504614067978756631860848990807956655838868879183499774473297620846837349298191216636580327669229178794909250361254809455649495908349370857304327919281360884042796303312815336223529765318774504431500842464432566994357704903308534797487976504507169387779086303434707113919094903601673577712911249113044626868824443396088567721077794764110342976582617552443058838454766798132002060884469652242097013838333628532742642207041974808713700799475742011785506515694903179940549891385976410733876251455651714232831407897947731581035836716473781203221641911678954379208955156572870834434924740199469148521453405103585087939975996211406749082739986194682432881894775215168140352494114627406414032948843183470990181234323806112406099654076931649929369910538649534134340670487882756423296579389815291479873355225666536173571617489901766703067159567521036444531055965808755441727014436206690380387593611201754247505439886196368780307857086249881454064138984173533221215976020330934786263642615605428932349847649978023986414102855850456027854561011076564667654778003780657566008644622045954893540251733007527439050520696556663680996227064260871529209010835092357151140647223087250121093834049696239369592433492497635316147225972974715577791434572095964715410859032745398851955070836371033589162995956754467299149863692809742324128315445669391012483192452815655925738843506191714305532163558005012656157631241707567956952594963204169928101208835654799233518124577683560081908041818694448678772400069248003082739993969810214771370879597318080173945322241787098287983081449651618149790904382114337907027028708592259155766963700369995545500075826215905691478532751144590731813781129969533954408512182647684297010816948970410416475844637902930670971126456372686473114830063015820781875646204937652878409384880341270588280053629408066110101379935867310893508409557862243594221307043131955893870729407161281738610117481343527351698700465613228436496481143084646880780676340964158720994995175583898223183770462446000826331857575178357039732464726344917594918746768785483626096782925620066986982806798859009803616453305599898281851297090342221059095685767931350995495995705785522495607405702602977137569223942494343183484924158906477822306989330731894993967660073354353296563185688680278143204036951095492873405107537871896404166324785910417224744090717486051404481070259276007161196023790472461962449373401511975142540566719068849974116895704355514203454094752857435336807742718837001273890765586217699013642303377532688559998141713492765191085342857676679001823339439540033013756064896247298542607194922274440818025917261012564730337784785372421561915868374006799980786364783876546808232551035096105784668021053713894259196028822115078723855051068119311133905878538999932987683940083857281648707368892178615535231291678129003996615481558241129860765935064360941325421870474434379931677044555007950859686773212708593582233633953544380337580456884016459147614728413575319087822689916876955036819647154348090491282258632149968470669030950565638481501853406833264334809094084143644962758053789455366117523483193949762616163504245882875447566167984186968242998060423365018360305006319186287270680902556291503623734336132001695496189554126623407615131220053435961469705960360666029770405679919828556657629689571267540759493453856693129756616653092071818064667778460911064094591377071100456747865785964712471487545809653879692488263498708509129881448247224113330350792112415251680424758515620888765903688982612068996567848394632813686195889958850739067744831887000696652445732204716373041128825306757679901568896325915104078061695759130106740030010515175507979667000118277237396588062646773224599945665800890651873407879380155253572091878401861198983442386099145198440873475478321075873105580990019344464809775548905022552239919214883620837622815362297508869149223510376666957391889223505664393677605768144422438350418512018755748069901304407802918189754919230511178139968965584439584532134666804741342247781811394209148574523219850291868020048987609470942373545921626107839084359426960129626216200649651138438005898436524584373160561365735643051092192164805356812814791351079542067018914041756068338796207172880687736572730332148691339760134757232336247159314235518293137236723467911560603739563030848428607812716299525218489127809528216969234762782542159241399170178662859367202924960647946817758386054100183641512858533347384435760527339786137197226526086818801213016064256505546494803388565932656915841464219895094933209486417176947505720944739677710771163286432547859075657622084518490873572757436796872878398476443035636563455440706631431549757353836513855470680824695552737339313006081431049879888720803347401461148213032586809626412323136954810010862558122376294562961986585345343811729192259730528278761601599039209076865636142459446921373480678687284356241891981601371085352997741438969454308031049808018660754165608828470999467757168207055654159673680511876892784512348258602598287938404294298042971138569469299200423228041654021421189369619618559893351376630336886715166709915214175333599101112468237395527898207068633800361005212544043363820233791759949791043802665231818480052877636798527606937919618229494708408523435178277108723564280902114869740069365449345807689196180640828374934631317023805841136605042218293635936843577537745097592296567667040956481290633081107179062444433159672543812757771902797712617255587718091096728946741044810576314467869193205194587693458454974452568346142157582508135446649749584152572863037624400522931710860269811272853858742530181706563863456118517153380315398741702094211285053788778797936035315392278969666076536772776214738698270984752359363162875363803242351494885333752115907449830809021894350555162958054722146778028892080589709624575995275257387569779609984068969786881799199553044480949643114124774536635944735672571821832586487945740682270950824373323492116111250317190283924582572122399371640365200405786331767843029956672701581519917494986639962606662399201039405218012082331687465619036226209928719082341216584397039180571448991683120417116395811376821252879954362345583744337386803745307135604536441851734461521069014904529452598788415363590155766557315709008378384457001501564479582150210368336662584307637751241785380465616601010955203923525625097746026443448052383134294459573486390134741497979300359438573181549313944610915608234357595880072078946813129809631242585586201352010273375033184888133700879688278742055243049688295320683469078886213084126305997040658140490616921306776451686129709370887080348378770395746904476437846655661220484041601086376023141895485698123468519925305231426810452305449818157573615768183000776474653755170707301086523229547154622133668256090469617038968613673963425906538834689412765878514058885420072095394469023962854374051592526554473725874374930307967561857366502024297208447129905515103781397206380061352185542902291107665390708901135029900566882512588387531682100823635029443607723925613651071618506538626517299426647820768796272240367621548773459656087924510261951566455653333394431436612471986862924307588206917152351282006594745023870174133399987342770144403514632658295346313654824174503259739263335462516277983049858617831919375646444004095747765035825599284481847247659515878693586431220165883405379703522334007855529712737993311845497600263621786708378500380241988432603201871977592883051159047088446309514070060893959467466519812995282538875760314476399663024097136609926219772339331119129681731312294666410965265146101936950593362863934680424791995819803631017136971976449702470170612237840613886819071338999964613200925670011582981116465094832357884229828604278262569802158602504185183430386854062983434060238671267943194013981789623609602901439458474503422830150945586705147972049875391488922816292823977531614875517672956476793286995676142307701877127481829419315068902650428181747066021671107263901613132503058269476043805571807273358238774218673062470926938868699962449148808101738761716141185820973818006272309652719656638306408479866147368739603808634423803549870652318433955902752474132707142065482976461206538017776598604278195121096182052567856478739480623808646785922219315031291752163793483939143909220632894745942678710881929480808943796951608958713004989358426608147053923793152757742870751069398116850838042535453870678459449565890694158405911801882350590316377212306348752704506429117999918575244187770565985032341026899509170202744833916478300266910595914944609190317603459796269766230040788803692776119875319209047965735917918174143138571912883219998538099140740467455197340979709798127214564661835387499000191859432055131168932699479157378279210258088064280579877315978757395869980621143392768795165682926502041157342289418166034772228095981402176825128722083772560965213013142271865311386199367248580826019400862071585029016433466983860779552054863488660235261657603105560766701859003832834455827320920092851809866518495954989517874997580625299712762327711749629027093482218220404313812614819524245943441415133525938595782681207797982437156572493157731783772973953426795361793289822393381213052572966528190238943026861811598694763072675856866015499688417515616421983652400323777518138647814019808119260083192927839457056157629363276178410280265853780201468183213530078677880356447156398481465747538579410117000228549621571656611709901671366131727583561361326550791718789302744776928361774586261599316086499985152503643025063169350252440259173858029374331361668679678962710536814385106604084174902253879289101946330931771516417530407093953712905916068353077293387601340161026857255965237749406364763487527420985236896164833200272827973455972834707167617296190426661278973886172792671699520325424077158303952598553897338210795426939712692350686565401429943138161221146554248913701537227880613585356631890675188951945542668145721102625018987127414005255785474748589105184881832491253031535351006873619226865970183673033153187802874824925552401949954437697435841451483600756869410536544013266893876141372086083318409228513947083232096369171939994974034922051776758033504245572405313496854856409740978560586638242846980114272227166734324328565703675521305853225760566618968700540715887717077049565001950853389377218447102243191683965372495026784476585624473676798329853009521346913470114697539556243506084081120310166289506021026406880764525560962621672315956903743857314426565361505194457071291370085224608115500105170601237391442425591165331939282601866328857660340929611709039555514983322693389843794746141471963537200640253453832942846180658188076028044214991929684030716245488996259634736423820949518909180042804055665808352386371525276506026042258623267224709303336268511201053655537699811492933533878180378516096907184065833333333016151794741721919357439232297767384240927969196293432927763837943076584687618375945719350691229757727142354367632246996652712809883460241457368105870221009447386007862266955509094470821772689439625200242377244472336689515375882730891091058455870842297901283259546342159066525256092407051905030073518538554784722387179960958202426869702806925273645399979059039476812258135547427499928544817632546138172050518353082339775356589964056078373447863587951006108408727685750229707960110355036139153505618392749424348623359182838388310541653909053962872393904448370685579099107586170785818410301808454043921600435976867125434719703483128436026767915905144484535640454652843393387761208570617411013406732585384621592842548512560228126372051135364069859220962599015579164200034251075982467924580664199925869784373323491626614842044400392907004203065575889637708525026892476909349026206384542583617749334676414036666462742140090639124466167925677484216403743691549274253954698738591915500156903541048071712312346993360355834567134630998456552851301151272783612721134571451540057411688945804598983723291501873157075432190167820335848276926868760134823629565991822313238621070364610408717395362489088006724261162940856228139406784921279920545911762135303091822089643336065673452267967861536454599657782683654475701918745151338426065069734461924180730283443462015812245228544230896506014403246377275454089007669416440058145331995417760983110316295631744022281274472402961065823056560997299437251988737857513231462574178897588455072220035371631942625108627176525583650538096043806453618817840038561361983118816198421493304509291022118611986368180380010355449403957674953495534186860298075363394745316877329890108396739981508124570828659990243574936122856471942373020518926904001756103633871028061314657418924223046297713458387330441679666598571531051352838857945379056506302045790981652187757062432136298334484260387952501363450325884203695079612434725793573055126537094022211253956950237993288159816412406231933314241535179982112043274224640150778470430014206251314374334681972509674027706871290292221686667774749298506416484742026096045640359018362936770325831014836297604907279558357453769321823714912735516032404752637245029451003559504039146800527670134173612857035370902371263821325965633447014450962403147906715652121937265511213193161678690499006494197909948076125369897194187298722541356427682179600615686354344834908494744987026758875263105837631229165716776279735988432665722804480308782159833257621577033561186584082909394457480867113388363432043136059771065003317806938459170268345585009841452179934260702077778797183312727873652608427313031646206551760932263121272569084490408779255387854928555317103535471240918082141439981241893316485300210782932568390359158261620817423287463985251419432353782960856216296291989404376326281887450606310650512857201070557871119722815429995241789327859453873564133217897156582469650724047306795763545517809429782249942006586809898578773078879614690607173924329468812779382486447551433702159103854145183982213451803145816018183308101138311061103150327271198725125348513996063740269293890573416998366971764215028799179259316652268125603302167330304573280478772904709073989116061975775101575339196467985548750875982264213484021113206867253631964043649723363143703587539632503848728330064368832642139247797465742206964420343748528547292713583543429185348499119163621691019943422360348534774673733552655524631268632869973399467528801606270934161636294937079232111636126373359925047601555032681319310058073018291707241731552279316524580587169083730825464725247563556595326808932860009748865324859043271868586384476838494016434024761463649893631415161815030588842111105414680248877999651323109634843525651628807298171155158855715853799984658271166749339077410608821417259448270454786455576077419617949518977933417443420618045279840988247337063643888531911201693165849349522264492456191280398282103811782751030799574960399076081657044766451462953437559158324138219011905647910900365845595977399911540470570080245997690228254233792282803626277500187123204015455048295568224148276335910498973782381133880373754332675889425323415169132296338584279954679108361593321192439025940016376786138679967016467607865835192199656887504535433436243738668639467395389556192063500007905041974972269953063076170848474131594309261628919838984374630626236691375465200481608293720343540427020976188040576518786795966591694832372431630732818575556254536178232685039441551852019086721533892556896152931696594042365775508899507563597487863586028958146781535904865014221695003843507413140270953682047682528570926602230167682328610552759860353116957727140321927424328203216060838279512976248882096057763598802070541536340050105581271633522257229588454568656779707289707400380775497334514108939139966059278462034662143014469377834874013884149414007426716934269427054710760199160122002123733824340386261703000967878166485789956849563092413695880600144632976439515908836324378499266406312014446672130589889272977747439181087146477368803159128814236283009148452821679824280624749244162610932947895446431520199093489274485466305819549890764356715684829511303325408994179099339147709919560496494628676256457351695246118939035775900852116174776300361083261468788171080388991817496551114113197407205205948119265855355901902526066849733831160201647309181465305287164025983465831986780629059066470277740079846258929061665947049772287383358641485175582087182310303850862176630094210793197472786830224776847646237714769073900731417368923461406023815982279943511915600392041042867746023768702327009250168207038076606663197718121884404251082177476901943669179905123932300476676182282984068146007954302947351093088126072804738835433361166092276309992513389837980019256419481934195452321180639006293113979302438828879837016887086772140078153364259526761468316678067018456465776577917213744831063587883416810931576022997452747255283761204635752071155079187616923350378187050183002016522481095637146339311734642949250286592305226976167393825342658459609750058286183180226487198722041987977095482836009834433780361390197997237931052325142717889640147142697746069970985588733652735337855252798489916582159206024752725025187689473028903265706703483713626630976655554143878566113623929377526636017833731220379303873293847717600539438830411693793605153076283179678755989882069166294391494239887551960898204054855019247508309752752684437359430648438517915750013660231436001670644667694298102388606761425085399767829464092031791320095035322090011811073547603457965126989464482612642987872705486344086740856443695895615946493768771717734149582950260244158516060733022268993059529417791344980436420626993083282232324718946407431615279509323760044065294716831245563347427332859534538944672916734230273317215109052834764301070794547472462114469477351689392566793746811762461423227419845702908852424914428020653670412089335405739007670696583439108323901526123124229625878459478957571259261299833545573413636549719764078437481023578304273518270600273066644832501733875834882526642519483079839908341076775611604886747360476710638743482278945913569990803968392470164668038645806448384920519617467919475317377571648992834516828969441260654817141005982784307341981337017411875473859686285993388177594293749299834276281576512147701443402182075429717732212546568336208391467773429811171383822217108478189647009405432396305704520710149678976947886352140581579806122646442410380808043944836394056981772336090992647620027185899265233569197823701656038167239038014611336128017138036337999851466823452128659482642345704581467118784304616096746367630574874635378650266900063518373890444524635789942066410538561507936985731303277624340898332379643156405714816944397530263403172619647184902204572140453818270117531733166460089288953799024504381800027396312056257242023450453034144469809077385423199653490166847484641695299628852823464264164523088575226857671049230662832159982391348321351350968159198353118153297892555745561909095309371346322416097153371581983475612817735637781036372425197055394352291626327420984398187386495477660392342156116244527779914954689297513227888349775072336825774673656287785727385480274930515304520794703250944631795949137158558594436589660032613995237681406763976632251736447132665783333049746455852600467226736625798262596361827484548219118914366596884965406452761271513704826081211345811811027852877413135987829543919535195842197571788791160626879180011985634296475850867052572980038657997656966634655826797720677211534580997592137428280958890143015273493474612100776496526007768328566454288867939915063871656190836066799479328161866049958359755850959883049380685673729451266788793414348628405925523071635741498081369297548719652470858092078448650348605580692505264821258595641232148131592816460807091764486307484904011794835460949196879684017093237002167819521533311109139728709880110527347821422471614724458466432750507891868061561355512899415481029296920816716399503078755975101455369552799839060496603476175461808904172543967236950082841802670087687935033421240984516494050445734763275598484964503523577046323565176682911367608416067519932563420667608037354368052926731083858847503498795132381185517275546934631423093528339564523357490383260312298344708287165357141160846949010095129660370944893449334666180523349727371650245421002390356384403786197509310058432026996786565205276198509587371304157434527665260894345867310853142797443494584616582860079535094205908192639302343441060609849700408269470130123013689613437068119463949358838324503403493179368491616691039616271435291230990899758029911615339924262774159179158361453164448876788691139612711264908477861987460186866452402652148396446633553603382635284158433562808450839170372166252772425409054268219928531721466293966449828069554606571965738903361794017987803182772835882769445389876053115131912194261270723495824701329063849795995166285283931727634383336787450377236499171939595875167871824814026180085999217398298592979721963846253634935719402631601956005584246955509593519187968497217695995275596441105859450468430048026891983543952596183236420074852356831005222581650944565056569605575969554095411098632895176843897630841091263980605196298586373601486571463220870976091577244970965538526511193663334484993693845225906109478387321908089078908758277836277104003953625229539480745714691825662200308238360554860484552914532862726175095111154116251023350246933919529355561989577475070857600679678124614550988232762097262048964484223507810550906152423575834063079438758995777569451579023620350255028605198052076917886225701529148576988114951872721151432633138379273844038355595114531552591944328413810476336911348082879208378483748443639545442401180263949225741996751003458576556841408320356678899026761461071445003876930187154535996861271162065335901187305537332211568223057915093018306304130135457763259715077747427164043713372622535040178548910679153117276779356071714708844461422741027121144385925202311128237553939711753518571357290049998802111822160918144265752791161276108815412750505640703498318086246738584454997197204563569152561839160712875023202209979297575982495201998723589614522733836980454444323288993776459771044820331893091108960685376560961078285748411943032636123657082653552452844925425962060851668239500986515912846716017952962461754872905843674629000889388762997911499064259886237768817492981026475324017715882848846307517443255280761299537584319546982104360763689845903550910609502782686806985528750254238659211131982852754219210174626118203892663062260417974113521531474847581945040067645048242401118431273964759752884255978439211844964366096081027566812781794369136278035166364309629500132659485596714930281853605333908529435621391256263466710059054731840678839556067020947691114384696996142811506967222486866944351766594911480189317757753650615850944278021728286573304579367518165000353331895214526644493923006670090850622211469178779964743363729644114318905906104974321461484282749539559317843049045686229380778972404424740115333386541278846585006317144185404282655721297283565700932427481359247233020195562955364361515126385178973509226467772106679956605127610937763065020409093456811518507562099856700729530981350701725377743582113706818390162489723061843205664597915209305499356971001588722204545709099161915055799169032432903208280010408903127151508364503024691925254063051745554265620331857285389573587590316131757495509121630605699267692856831172075066666565145693549781291696321691067197281752791944644045044315641448795786223356049568391249197384533550955769706385358346085577536244821811214073888438964776910357052281243310876869211898095521824702069469844165870995075443285567951732053970131191068982719208700477240933968914274536375197972485935969091802110592028345336226709825547610250619495630934142991172335384759841034327607096990655304290582053995900684804350122544665497916139467641064387872534691583625288444681120461951684741405837746249470730840086100793666889380735747709343763645479063014499544250096008389744537691622791917524968057199339774076799986509997507312303495112777840489239291108948915747463205185189334287956724994354490509570458563677071558507125622525981364328126346883522930830108911647489323368867175523026397948281756500337988574516390439301378075299244246427626231363687928557238586974404635011005894982732691484807457012628163044726307024130338503354384681751017340621689884964831614014710502267155239016289200824507893189107422198899772316319037524026927445564634199844732859967091661150565627432191336641388150009838910595059402744587368523009678706715849061419589761919075141287885425223853251532409657517397074671213694379801292428436125728280073572317135469047519152439396596916688980117567383628047681065942038548087103225752200073292757979544731631875589801913910139126188134326181304737001584515428205362659592530611538667251639461303817165540532072449120233202824422753152954826954150314230200035151711867002001920186746075481945040112563060109852511000672627881841494177840944293843971683466595556962260406541351770034928585931026548404067298725546987719277962639334266786444816796409990289512497371018976801095532028354116860641813384374650832149836501248209468275206872961894546410824558666917721415437087318617432677828892631460700113085639634412320990901171460572081170815265503519656495467516839705699633459439809340630054390412172382811707580526533010006368262097148301289003116023321761203492313111028508737923153257579822227307594235829270290750236454697205006696778013350640842941825733261183469006987670798396676664327075562368421753878351950658215807352763408032365623587775919013657994396693128743872450698361041109941668022313469397190449707438687156425419129144615098409813573057314166326313744112981967257003512056808082227153394229857539586776271063786590071044455292528917706884187003299763718354161167910049290267363403233021101805301579170881172253688934155098943838638720506331782670105460492390981666480753481242054053570270419834250638196489024605426837014627097246033431277565570416668536624833009131329884423000538923711154915200631807005089313558971823828594086612202953408687352086689309011042360954731084675431315203560415869215070077881738247025291587873369901079418384543103594358563107112750853317426348840436740353313889800071563382329570232162587833299009574740266312717733207999708901684483304415286920498456930864839672933783999083299932905898390345948464239033743637245280923733321423443454213295623291188742371647777072471017315690778684810545213443829257846150521198663789680429179662619582858393537668057288373407596181203755409017671713375689462859798510717563518593248474658082638241120973159005158789980252578847282612523754935450981945335129451774073873876269623333853732984713605337070642946298463530120451087058813326642128805375713377296700456614978439926886099581169546172984758010861538135316702232171383773348071428369723353547926141024229407730274354537167493431708097856500043190667248266735127258944933851696038614303849375023030704708296190811606422440312770119295295720545053617958743253581803699546263641324525051690414914600976229185162483336833918961092777570602191738040661205596499381636443091929162252531708256502026919641883876609451494443469463750273153005890497415663884469919821184163292721047032840836892459333290144159603259570183724529044160262787985025602381850101736715554425580323425622914661853093623610493009488692784089744577933774771735679679765192566562597070680412506316463666713923659603024705190049960877088220861622853925735640382387998242267414294508559876625945502546466454272046749222664133969381765286701101290292929522134872769204865636190451295898771866978550814696463252116978499962045789367210345321943329244666392678784878877200277517893941230992136910394625581768067755145734106945761527092967709160496913472279640930474372343781596920518195457571754057589786416400526403330186918802710172150225405195700536680930172351336118477346059700208812440807163024807980543615042335569318756239320153423702058356511331698464707026635022296710363762723424652906173265872990906935526060367664790517160434741818239135740894942439621635715173642657402410841732670352819156985517210799243232931898043004734219115422294040286500202250575092039012422399904875241729074106493422634107239879074349642953638308531717380174628405542635409395561926346128364824258147676643196134040636800117440994518717909319731171250443391924868279331825063010518754315176044007484020743732287312992983724662167224741422117380730023471558111001219885551094059779682320874517603625646607988391080589444786683774169193216607188855698557847054013417376835278779332251613951497398572958971242956469295394480929449996581250919350098243442263610453166639972173295947738176821001918514353005382547073103657248143084255957168185246370210219357155099611214592481172604415617691707320936132157906279540359593219149698400406398311273213280535583970398385849506963311012470780229563758251957644787612515720763935380519465809644095553781121191181055605571555395609273475525272542708069615129057095093666098792377794718913320844575430249228281552217961599544557335685767301562513277998488006924677657683568072475306261075700067361833270734669501846771775229858328757458231334382668025808628940311188064686998013723226444201458422046987207066511188333461157035498631687624342294036052256130702737339761399169575300466643490778635066043609490825066194024631303068749847015819776394951129598074536415283592566150799511947376833798060269899243252207269723670706927184747250684147412113292568100752766906197096931823250344692271429567576957242126889832129485550938560472799176826396020707224855315987225871224219161937090030124813773179880786570123744506803433824868171310509556570580787466391884460264657217619786505991363986593496664612547768912057183322801008957059492434837453786344086710672610597647516708594355573644030074232186807833135309215699293069703202085859382485032797384866071721303676877310634770295599151926482790073747507724846758898977101686170682830454331825059478346059982222401724247032312235197715028454956556367006806625125718728357244032531258490584237558869362128051477578554278655707889897560048207050229060098273657592088719308018073829230270549849135665156876416066845678391380394105834935930828845048268295246916839887442181385979387473906523070021880656919723373546519080722720759623651751263534194555199044850786798881129620966266885047595061843696896976134086964503351433616043878614953741989904252983543983398152500987321122292644439403289195435627493564246257093274786399391289947921593300442780193941385546501153392339712514045916674639049601353419153785087753387668121178764451283306496606744480058164252312431557886106509983863138711628161968141332748292364213497482825683714902537904962104341705180986278573020228429733931735991733975643903323445630441949972797072660824968344325640778832786935845531838917980544040404054453759441473554556310434492760578252901279191628608601903783545810986916725734790151442230127106440151599663803840783634597691557456803249793311534860344830015198940552963831356198361045970946873608610790400950825630431223681487105328746366545439926878406927732528619450502372507168039685291956277579244880171856194340369245134427336747675496752443613664852169516737572801822298657074299269229733404662965938186393438258847216790130520906585515165064749317832919962168233978744629552722602000865801736519151322411480643978251136944955265935024447013522008205438272461995073725743149018735896097851313803152842515966693604941179248672784479035842751943680213754298669935417122410078170577482586674759328182364514409588272638346871241245475283863092319077129569174243078263242957076707217076361735131386887442842897497308413581084212498613049529010661477014286227697256094915670519891241187824410466153749080855599701599301477239173430245299915261022370725493853074565545979568601991325994241432152217381589865556159106346614726540541608115995044945521897212150851282704363915634797842985789627600496419845630653825569474171628306395206399993267523821847128122008284123414873769178480192121313398631208595670427109319507423864830090119984998311785745712128590930705360098079526924493453725226152529798560394469823742111390052585913936895826041918770826699064486386919372170109059041008585968504099797391900672490279144569317175304078179831860959226230201355583028941993307745407493809102847023862291426165633273450043867008429915255801625431024374982937618797487064367183102656825306504587074150593803026421358257295571416322567281474166203131387041041151740167474879722212139195075978793975947905844080925574451632637314159405968823953101118244328781018046632842176943949825618278571169930263689412845753958260370147853057789365631448449717541969725643624761698952844943105767360341548269302197355709787204125935444939205247701867420885483539208389890075325758100596118915940977924970306812124819905340600946225725841675214925556569806680131973500861338424159777476875775529920434888569998926478831256863016746991508826763371481820509734097215230271428099620091606828786657489089722504164360304711684675560180202633419200853478937824241795097652415932786092844540651313331728325163231962795924390568602549432528682286856392586568402240917811286080358628522471105111864964968220381039796536701521695039487960705849705673531997094197935560347131354510321494305996818656608823403048606175273457658640077030983548751586763330131142187882217245990572439102414014343520486059957330763265144192301531830585540372804932366510670711752831453977216927336214142058720747735277752249562357307644425076671232159551971970511097696496552561170900839512477534060188955382644216950978794491675890845982546243033634882604789156773035670510387572039069161394436972032940961150184843447799154200280844231389174115556442013702230714945432994320524531672169593505827805509822374083695909567998343215562560813364742567178278429732499087346654089977998129141522298864936394778276362826555302642172423070332227389613693141018202730386965425646381010110196089251324586172388098467878433997120950963462083861438417105053559638724594024115698891272603411524216983002327404057981406619552449380418105543391299355292424333291992671414790329284168464395432662993610742163225867870776998217063265849933121982072414473337196178510404170536798825375426009927234743101893947092665731330938077243295281146418644966538908106164956877413634225553955012957082502446580833170306360110968827238739800143180802541474707601217316394866109062712131355504514969054979140893431678989168238911478773179656275070345128706426955665931150218360954560525646791576493074621214591597723996693145386321730051930175805749988866696981516413128046577853757689643709673701330019840023955201908918830159373107982142975130163930912793547203875408147117743247974874642603649767508935077504267356099243447431957646890812514563577385916963984786733764627157211911838373019209782814881518894872519146731040734849547688778114549750232057656775943350687751336051983894893913146433940944358896913797217620613658427690493540300635773578196901489707414782230208080608347321176002086158162065746312894944823066136185338893357992191945287395815566430650738928693297165224909474787443376332060891507128898921729212693401574743547137556279991918485077433699166484694957991157664171834852562129305810327714948712940432077487769661970007181134174121077004239545455062210762336699115019302972898333032360917588079177271824132933552449041046319543724107031337664716712224148604630732394461898006644000370671387674443329194916083187729191689787869322973283605822144874076218699789984553371457018953199087868765124480066855137615845498141734348893971162065994240114420327289861777216851180385022005632083689986624440655308594718641427068463008974866869060321591708713766871303408786100552161878716634184457936225876366972565287113125754591981204421200516598415904761427696796571792645377850929839278717080886727556985755344847590309736446095420824251641896209363613168418959753121837855284497421841024638979310330343593141111995859583987618617602024556254494836225034157682297276538283632320788212105644264427508281099546888671837080577649600761369703984659318364101588002450232334379655251603692076105356616128628530834465859100076478520105334376438472783307134199133461094208044788659488007496516355560331410919059255087578975812920865223137049445950217741092635334892976108840519066438989739815340101161920951975282708063339755594018278679613048618458131162881159520148160662569496522870381798735593964732785656358044989912357031627067589563441808955018264584792079516653980988516086430307256219695764392749559862027963894348115066294557935983575002724754822002927901435149848310411184582435242095158998179911848534758650478383670258473550689703333376864270735153841414578921928697634689426082110879161652037518743282443580623840629645313809493410687367153542575873188593324231037665964202654749391092071808521707752302306666879456248581992113661733523010114176232857265793201025937000416835577637632001452362341620653690475768265970562856714147564545922628910298691288570129722567104784379691842732565654340598307662028545401422656136453525178605031424625042508481288052425599930522657702013410945577277891264358516462816809995417456109801338928110806603173704296031995143448559791660253482398167193536936546945574362608515868922987432468998750604408585831100246653011792901517950334122422702018052848463736703617872581572782655678682079397258080220061630355300221431837496597430806747203323206967469492585180654157722946099019954582336310495132029471238524014859618293593369044353583731081381848037640408237894346899543053533559986526351523877223431503501411151775959616609670481891492165532200319375886858061386354546649479227749409730253985534854023616394720023187285275640637378529388842611358371800357745257545938140148682359228707208501580123927084721616032358982305772639766726421939036571772038479070163785275779076788468107398950847864962450399936719216004493772145309507239573562613761371077609231290591668973862757700409924885418012544128448932177129702720197952404600506248022627639837935482112057320752894293446246032407823804814525629333333057884254702356812778517763915113909363355115538431599198963950009574466001431828085815074014862224017287103876142570383063246978443401707373267867029122350313399102267109509856658803851665878554632848689034607179878490638357066519523536276852365331214318512777280058264926454840779098011343910465541163203482669830622508959849954564981607019010204244632621136666630163404188307235442432940649277247302263164572858532184913052037415908948856934057674042749018441485941646664474125005300180281181815929216725060839502547237014278766760581347506767301561876788051780588683238244804867898723616785382388567136040029920971919585848095821722286668657717510792783791270657932422229447689608809065641122796469839562724761091292996382758200046553476351953945270528222217036577387781351559082361304881938244811327249727059455474569236212947552459962308800914243911714942066012553850242008017503925883431002356298294065402605859364865351563190047138472178963957249011003048709059964695454031395671972414830442178967318253467660698658363589690873392517506313535201501097213959823189856666376937468365021020729909975019986255091448946044775445823083292264678313553947860433646161804210631400546072527905160711321890109744535457531220528857632913623063040076571087477465225884623243098740095591868011539272254015644694329613684871107933124888067179003801124737056999476641376319791556120320507561989929664911766347325732525694180050734270880595925758858390458103070823284075975630053127981161228706399451890869044303671870877549950277403985826206527382105930888472011697726629366573071858315754921949570070114240774255066076604302486291933485380754621087661784335418259377266268722676577497021320207763620776395193547683476475190215221816963813291893884179523945145212094232176396072680586230855061544790210791570431218374168394279633323440096641562877201233370786164413724902551372515321679987044351862046837212198257581585462315471347691349841977568304217257534971197969985292286180133699768801974532777069484731035885436476313897658134374732021785993780214702739117383783017823164726508895255193916281859961774944473337679645854901521880773620439324763834182043851855228591491979122315321248445346079983626566409882823499260379982759582040110943822663895791792620558961282293816077911409769899042293229894057993685022461817262498957063206542998351642208573586602319654897135939410003177421428114698788230449622934771042630189818660198494871894413654455866389726629208394089138030782326071809760654485573428166507934691866121781086577676711384721453555741381320804269623640489950384049982754526661489036963421862834289546701470284543116600927226910830197901017604702800335904796017813207482330506385515220390677419144652045018206640973541288470049293715460456848715035568641398272450074308233914433058553485704754790307190808148394408185053017893358272588330787046711380441666521501002852839071324943963252247616356667558140479597360078519900443958098132720548066212327160348661262284590013905995114974917412630217846306777130748157372582269346806075064934206456695345933372803740300755615130795365324611914523551633722950722906680284137787794502018358134055015108866987217721017933154859322059863279388353191722541455122079251216976256559711945914768611098883101262913871397281257833613720790057144135977406563480660626388611922271644866067564766520168900589907582861857614802052803355701278473928612245834817691955361423356242058792029122904511530081143012022422940201456380999628858836499276875246938514861446196376481181940078512933236804666484426737182469805870440927813137046341016137331324686902819486910481337715030484054669197063639498820769109254509789588437308076433083668796230197322123609865174085169383180601870160362942470535058786164596304320667237688956253832042478900938802524593797955733051989278788231137957880654842527631165460820337925619959661729444118416468200950940126016059642165736342633549189228769899524621174460372597080577177110645601242749249026296313418576151605420530142172431241157023741639091516217016327511913226322614456427811160960881589792712697879871458267084944388630118901038617353547017822414425290465548003793814830695741654120409492819925832095985384019126725073635171938720462074886265908863951753787013023331186457696134637498286857610302058475252201008158899294674991325738577012607591903103071268660788770464856777769103824627001001251890630655977274706763782471361579247793988156674112525273409131098073734026960739688315352821458556490073582825357867148338199950963627417722418418298281601729397354641762537477132060922615690437639653639067233204432624986321155745480002314459507713544558822285540443695252440365659587709968958535164013946365509109110202931417912670238511679157390005679697291931652350287332882393804275552261629612281065809603614515633648921437266267578862503866379867143602052323042383164739308468971102434876190419655175076548798748806893075889781679590922882134808387922025170438940345301539323884326443436734406960476073404798828521014106009798157187048365200672072478273651285632530893072033088591788053600920264256378725916981790297109777352815984034759975519958975211962394721099360811315460216739798453800372412599839715592393264960062356797543903018475574536873617480623906149692805083615814769167913233834482916769874109822863273614854180227449985288738160730824884002407149146546988106121987305722937948657489985569052284177598742842818978228112625912638129462062669287926245791957440718826165455516795813531043503887168467969265900474089225008176025291906078144443132959948200586334607523580865220278679660461536869405075123824782995572320482963558722280112255728633707154564187946196567565436391038788649945941105170647251980675488676933449835926236489744649436661792961379235297202616530576417811292578189427857569156243740007096127508001392086180137538749172610337259327228440650491988801813747101171934110080539453592103664405363622538882609740740935769604211330679313870506586633230967066747567562770571683131752819625650678121869907837024755329967837328762910564504309971817811909652515911021258748949903528668856141236551999821017505979708907129559036421709182364245354059498805579263901577190799234514634326189371919681510002273830545466363779578237124568852955454808043823058225389703310580817007782515630321604807442248522698997139364398325343619138392070871393086884301438785305891716388994970898341732909022648263888742378295259053127494276650991553974741307463861628202772956706454791837795691375203548020947994333332468265780257267367861011533391983965889033297727398848711993428453354120119820887979077505143043857532155873800180169882640612853371080236998580614700606481524809989833213085042921856514033605746073515418632165829136787758360154203177252120397435500450209108368147210923354658893112031128680495247558005667489647173262131902914275387546784807111629420037198121151800472950420359425396186327071304280171422838712761922948263359079224917643835195120504290703939788039906681836753455980311096355264933043977113967826662328860841820640155882525035536537009056698514671427658710357468587094552753577193364233934739937113777905744111336990480344567610786002748252935497352311051049825760417932332477089526019308343406660988919966738580682911834017171984427829005856012156219618540160021817057822831276965625953756470884462109275822796816030186645047580844053417757399241719809046517945666831786288092905600736414209356639436975685570069581238183048182928091469754658651983483297366018455342099291406524177422209211159731481392698560044937609152740039362559684720035786724013780946676079171977259339875010127818682946274724562860100010342534735630211295992519568365825799666222582605981498856182307695306975883071629379716148761947703304816903517651498703778975892448323609482412452488938800378406795197298085309586059127709476574855021223976832455925487413478435177136814610300936310692766355929475912857807886832294982969588736150009226813107871041222985361418231514535558667918342277224146170413476494064923673228734685997500438612661655166597318916819076919898089609324889068449580426456210257149101679135418265823496513929153986437357403511169019261532530489763115724897093982640196356095701783907728688006005078795474902106561822157503219686163540093214079386699376379768268483164452710921793531698425603951023360257926151193648333812597043554452238428384454860052694509122868135987910374357429475068900009527123385476891667516814570360964873084203836790127214126694122467024678809506988708231296200958987061855427938394511533625415462168550411454735815710269462661628990057780086326014487748528519298290586344198098056175601232977118766620021324173629737572408539498531259246371563559350546544976204808820250911775752636751504040857074171831999916406728187496182421974685728402761950123632002255426683989236815590274035248554097807342827368483940090918659286666763131054107098788358574372916990641019366311218367190025262719506314621561943943219645770211690304182026871102886564985418931869655714218848941031756312999703389010224503611703440110751622866568279839375029896484925593536244608366374193235263598403521581274716569343053302979857357050357965798837884286458249267885228128669576656087773998736731542193165713327454404888643911317238717399779011939439194832478467997354829865153356764902297955834743380844779392843473775656754786131530424302720729145943864583176640363826409154535592740563610534189595006755425214787528607901168646406163386321731086432792818802768196233005563397212513863929276966628652600335434049767338961392366842801879392882989214524036853039321933181608692279686739254225050460949530882534415918227034252237450505667621515132295018107771568030608268630971043602865630438433107142464447215573486450400085746168276669552706917555158264294666777633794306052186421257844930601460734991308177717961492094298476713887683402056042018523336067629508801414237570093183842327033517653849872891497638755071868936166865691456378532359895352908508964293928357565091751744005259200953905516879184732457267877948574069655428509638426948661543395228584009486851297221970252095161689770473294983259927268070090433096764054010511097478926427953417632697299510685966456835314623224264106039795431775025497344485237693093840571459117740487462064242890566751575638425553273816734459751928846821881986796386356646000461228654592207873972935442146464777837688123293188978249988249607727180622225280619888351734385004982105473811575916434101416060135953619133231072314652550784251562053327690472646863793608882277428165501342495304013927542647357547259667727179213560250609447945559135396992290133819246963341374474162389699188893081607252174209152114083946350850546246343887092354426096474736026112266247212273199011507798369641384819580329188351752219303623020557226986828464811464376141578617447872147352341081474889054874273103304766081128848596234822734849071187224604576952368699126047298954852411598652682084973993601850127950513651485283663888179539843044386359815294401218463964298098004764127512391014839920125863465652691481498712510544318556493316017194630611512946630943884521798826887605918090873329045515046997737457302971802091849250664420351246454309821872490300662116586325079850468247399312182002413328346527090148170421166884948729505174844616886033222568284938973959562777396713175141649542649920541099307941290658607895386208817442543041438174273600062009404365903290122344742367877717484256592797159595178851278349666953667877929437506159504331609676904206870578515139404141739468942750720965325859881783252703509011949953156895356457129220410129979619160015058881726203108879048038673868005450920147883626615359248968847320542766843049451442883022450247709545279787643531571300567686173234418055734990428593822126987147308689120271051785664424415962241475713282284961565744515583058838378194398979991872508412079968110074466221755468555517524834196381980792795166161632496672254101977862171820053513150768085359814065684283786744522706597211812044984517210124877261508096935865017645787120661014806043187132829491190203318964230558612029357962977058971616232432955023683177762359571013658587687688037900873649841572429007986401600270191333120960964742511561262997673437636460203282655177222042555673158397078190892417325458672975752357450133343705734763943750386758246989985458698705890156339653406451138900728533054273068140158260213070293980842085214412288742750467026748026774728187787317032162718267593684894825040028139679259396658470501487666816982010436482858125464181803200343049454422239505594345509744658549934240447460547357803710888069329228275762254277904953745433384258876863908495360083349445526633265371684073222630431560043931279475028357875296570223438011554896886761645286163439178545060100830791777370145812203772687272577267932113197110839782123432911746472098055415859566178860609929117750247258258928487782758561428220501392653605464501389148656222613662798306655203978718671394575507535881097372634912783918063326187696110991092873169056555120472694191329758614206578485320033599733030805135312129075143619848620567845178094280026269961672373396070083243953045607744393987979661101355580400440672136321336621406949372543011865197476856442998697316157708921998963119864996308350611244589394580483427943508487920998759140794409833482678908542543966699863352045233592381745943531076227295301022464505606929682964220982727710884809777534826335531154806450375884171029890626553507871058762825849761016402169256772741074723303197321392872507465118137460878650053526983311246529199253082945020760084499276585428392259060712509889772640556503002622636608378623005327137071097423286737959354982783805636480851847079916763355494499254160331709614648109103883769658214809076080656755725494780301087654133668646721955771807086073473205343496584534599865224563138943114375994663293044442507538357964627129550805200322019760854496078107399473193556657318718453080674412969142265162422620266562680554108200092198071347527831579588524199829731935107977369381275238355718544057499670281137409177973469585341759286268804241853695014370463218884230116044908450481606721776495811232181149205908362200882043826597783058081517196337851026335151764916223891892737281072802243854703420697601199777309217559929744918473913135070600808859136918711297986314591039710497189273010481262908225308243927517296191284024492099777898009079745386589392024776971510256533028097239460451090037245539560211007966908396605686209239935089918259479837073829406582077816848387817353596960648492660057015548141541927900178387600389664212725254447426659915887631407640580110855906093684118875938121168409869866792966039677725864560787669034510178123817131115780627926339926895113189461249117371230449039214542938656335816755940302437954886167860901990852326619125040245770381843690418961070677868756788035626078283707970853848984088511186270181006277195326204448475926978318603542457761029780518999917748757781676602140323569473419927507942884313493690313344618556908668282973317672145572233423401013604824258661518332301773792932063718863255092608237692831789135344986563337825645539748412388364692391194000186534054451472358531482229557538513506690903438059905389843487605597946660299666924098785155803973921123380921258212179509289330187240116541950376188824903579090791029181514091326909923570466029964107827031218898805443344149713526975986611190782722320666410988781277435529464753978712741299172484886301796927748193161013754796622825725136387815479288081489992786129655089130918799680729074060554168856843539294358818566318609890505114125679696545958629516574628558948250540274070790655879723531810347587404624230266865537662523668115500703100856295082747796789163515071960680289724795926057769592025198312834152776725491358482358132405819348134963875385327797141209273450394557863239167585698180307835861027944805313299318121891586134180724980652977814100130080884175281570423569380976109168309116218425793560599583891297067449968921928472320210175737133852816106403438976994722241486518378849614420860604825515157494626377236484661011015177050674659000988573581276977706261880522299070804676971398899910787172812388113205607851913684105147227309849714839104501305136058135689765333033420917761560446140742990797853194126370556337242874109781299965433689168771120696808086937043184482944062464740496595340794300821967902974555418561814438702534993834290715829414994204917518434960066077020773147333856557119360191232686571126363603987465903971336410453387525063448648943211537163491542728913661765514786589623030879351400589205030434874816613363730540410626515393310058907710505403968475830918533295950301727625393594431789110778150607786924189223027217098571146156620480658325282170989279545278449929810516140355740762901360614900266749873376839486106628748560684011355628097634423153892422798797798431192506432812890248717851827691399457060547485868766266148193199556554201924908934327439157537826698406951412291958735034080446743686068392201785572922383169630944771686876996911907551559302844456826106444790005041423864350999057395663618959173530562008683700726089781207483625170105754889488563730351071893300306432567893578725970141986455116149773183486734101531287665189620457401557634741059062745443132449141785642705319559438644633866057101708930797537667734245857655022629629536781137714895974296750271523819264485219122410343982938663996821175118649867155817084962574246645526223715522835718189345738850542851248216037756795920893700387790951589770311236550882146015076274576840551730886522476246529510153568195021339988784140716062847087598074556328283284701290014327302925385339377117581303566030448749357908504279064594570711994318339733414722081140757253097464583130375779679099829894088277623145703960866152602134056998633236361179863696400347469922325605126151594410264886006793488757325747213676410969913849490390211522392186931052387198533978233993540216550898240867101708051664757970084577090245962153048948554325039912888055811409287261694548585439007314859300526737807334008165954830073195519343016063738710954395345289821757140172162170752847343541985950451179955033070352519088923041903977898814254945829864509778215553881362058782922229983268177186903447412639271261185355642151493098686441342053825204306489003927214713014138898070755085669619215085429940543776940035765793691621750710895446437066374194292461872824125285905051181634542486976960424792595700958118599607138075454025652815450766948303272777334391554186591635805144907834264444900869707482164284108152469246892802517296008788630623634391031567507425282798515214363166548839911756060005393033035962681040208854201094969627630232760207760321542369080263588521516151739922322583888677769455630116571929714825094682183818921149079480976788559846402225921203051922411305961082124187153859288891465624586577580042340077071520410753163262686051910456783335726268591045558811657761756930080141553016988398850691360205133378281513250902983170392340694632250314677684868058075523532812300699924549160380765180681272925967874184174455125838013164612931165824694539769356591604043470532539624879336729368776466214330048595271019743774757414692896964586435212723154684046810011654628473127048895230526971215447304870727606642324426302302870281608425958594241946507844518848980828122881427281487250288439135010137917660527498698386579708548087414530261166556361981253504457929390137676338191912186966072398306528308642199454438498817209406314782376201564802497486444458542277992477611336784852854450766554247630427500986525625715154256610314036700405327547570781970209721336435891804974372560375114214462230621890514114880357666107978447759699587103545416546878132213970674207571585204161664224553188213835419535957004376711566125121741911183843023422993440640491242105524143149354968481568663627599832370358818366362163458132214626840943424715640532033428546641579188792852399265871792920342163808247840713285036583090671371978043904193215521078152649257860927900222952553800271553070586670110848384407139029881627278621731092272558085860592153008841802159879422838274098652123905404677487060849153030605826040457785584103021942666028491358411987114053996640181317435151217634556841210925460618942097209387972122397715085930403575103154666115897820979259094632419060541012638699166989164807636079857179046675490551080066576303444868178150337727660878192443391
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement