4935330347473304267898471986686531336842334371140800753672855337386376834602479993226785870114796920099077932839896308225441929139157624954726137789433385031177732682324945436761276052107295370260945638906321672261399257076545532693469456856589587570968542038706904814111294342943605686025623874661431283357990088771239266141538083968869811572276765848014546831238410075553184145396503102562482653378283712743224145713116816847146291549693595363998208328063228571164709954903892875970443835190738908155382628932985732192396572550115669515387842984751235564992309285158242466590313951532004319954146593649716547037086805991877938313616930626198377142533834493119902819581298560552726724236366772582448453741881473252199235407754848274316699417770184204410858897630990567828685982357656860104249571582106570918513615532955377961687826843221173811005203333871182056114306876536303960620418911354492745220621466222220201983042603219029897503540076073936881823522219892350382808763664879710078978782118587873183139316666651545573630726539449286093901691568115417761276285245097563189434402287226728972777581558033456190680183882540148372638223606140563971839831639458728862542314279831400886347855322835218023004878137252810254866424998056650713363244439997018134437816167961311068901522862384867365563513669761084553283684987759183747539003971594630151652405002468381243777896971555943348148497348660939372682287807594403560854201302315638521731314556716549520392780539697489382522647877735451053957022539044044361517911931299222285195606519208651145454476308302120768428317071729447143729562651524883686113588364660961291058874145438876324946610013246115921696523763333521191413640666353381827194774424589832705553687241410565053948492643622562858694537419000542742731010558704221642701041959955886453630531982172638801065594578782611083499041477541693263267228746354323672307009732089793062774393395245078368804081247603254373632173480102559876369672311547241458447456086690947362053083692179207296466544153372133957447666266529504759388035544011118091507467722274840448703268852617092971317894857473721416279966941770277172184813046287234119233960246559989578421431450270487614038650278134854311806351027261453277263238163987202422241894010794989136203211196111051951511072209452202921856731522490987170075267918814195375176749143119631291002489964692174776059283215856961778916680944244717543156291275815466281338366846390526937172578636760375057692221499124693421166206272211216085839054236089274727851523356248000119644724787423754475255313186257832018292932003524324626632173620350735637117699755770336116363657442392535014073520837882327588288915196282134010653499618703880095923548809623012024255222971153324187517871242722175381950595051571041251320793741418476246083924794632856724772346389986739627334193864494545119006431894715867322272321510033073615905902532216802850954458273932917389693452746576725531559533057654811222781367174937563899971922198038179118086571206548909180585401306292521241218399902450694678239640244357742416134346924878107939293973909729211947192437762687221961539322884711508752382376483072410815657022033128985011555501228837891658262887314011649578576962643654947619279102577235725191510568855986891297448484808567001399345006351836315148301278244442391365513375719049647992408101764323648322080566446622102235197694581241248386377853616421560324895930821521027354001503539399935436491824809372967366355785212478055044868702152181999210633905745293677115348893164049815734770252926165292219773210467044096408489538865723349270897036048587025114149396055221946426133594596117792671070106003012420623067996102820479504596446581146951821258724572775951447004923583419281035118903727026768727449392158113085288402338999253475292325781020339717518598698853482488185800914171936816202142530868482604631363198821509267449154389819780898998664886197024349994540248071364103905621946481573593515875059697674177129002794742918142783121852131334953513566641887480210109471329656655321633898445642835993524484873415696789303517446445333581782748876288058087649143213603902515576118031628219181573428803543378440116330198674627395428634117570879760330345847570902420784119597031327645178741061875219818984013994413602335242601327920731618964356967115901822411322369237314181942251458921124923549007417360018395882137317016564411105279714056302838562419579354300652281722219785839293993725644181708131644449966395160810413732924856695160851387911982862352730201746221904258626195116454812415167521163766563340018659231897873367173342591144414300634052786171418225463183870662883324200622776740496343453023754246573139188034188615652536343365146798907920701476348562917253574898140414642044057541418655497323697381554510830809015585393141834268187566960037491730703214166851915033165642173440077299548968079149412056684349339953366552959432735771733521498611760380567233240361961082162801252333481698991650854883412761357662429713651057709707718677414646438105225015645315427920280351370125223191461764661001179352161405032245096484807310393604807360491112541977513337408159061170599540640697963599903727307889779325126660852411110050887741349857661168905983104277089118113278948855395972711009730686124641551775741230518936413298706757105877571941225175838194591541847027373552875168843457174474476008416718368216128019266081272994692837605597873198818458327148248519337533381445140339495311626549137264552731534783115208356129468509954515195006471488867976527261272915383227319565679682365954729413513155426385382589800426277327289980729137356825350826546448796927398706913463379955269161055799288122585561440937247137972033835541025370463433504673130752218709185043620487632372142718429579751880120905429417768864883738135867638310247639271644651267643109633026096857336967909244108837684710332078058165300528158257854994098500998815432182671911561033083705215504222805351008435991882217551410780003382255141936322417673922702629616651016296428829152446367777632757041257431746315929125003273175597355878344339856447318589916189543052335942892564504725191297120731845329321246921071893035039149530892541588260972695813507204379287986566040327467638007960121174847149347546062771094567034857857065389914930513920280378422835334064746974426145133644994383385108397180706893612867243698480662951805643876417361434123489665224483118208835219427615148831509303016338717554537997428454470106158823739841151606686792515256182594179362982818752187503201152071727411595951124372869128246197972737812030620407911086939323451245496128897754416436297173090223583621079597014020586583329819320695853840710599569864189969114549981287576499697417691784435576284147674998395341019570394624874728836429491550404362674473988248238526223680840795884552179590080329937666264628166490363677154662835102104160943601312004564705731723514556672782184222770326922368598334861936359732208180857186755890934191527874647066137658640147316372659394738471036230173755628738460121832928133152913277507778486692653813490423964156964095331288116066479595528037263733836071900522792508729338167467738421811924313252430410749687210721841397561899451372090389514017971584251098159085785473529389337802558314247210677954928131387019969249888892433520192136426647245437320611766047826405457735545331374157805506015526470442590424205605719712863149656432862676169349236696300191079260680529686223516730615823299674732774131027342247441130129639023550846044137856888791350201935041832932884354723996489913119704914764400723796002150732772214097511230527695244660552016248937720119045953851665901614619118971619518065913588683655746515926303464462423705297134502513102695155540772691026450274940158295868011133094110491830431761539225301756360478376177842683812564314296333363313238613214844321204250470786561739904184387926133844972543353822504509321085731791280495113675588700585177890288677181239598307743152402812865653590328455264069633139095877892010631709945446890304910659341643745384334727556958286975532145466724731360226796647807276238968962222945103940845857245202054317953468160396401896089867257602355365836440911675697304403106372449375248132181613570949106204712438314658761883891327104462530959973547579165779863556264508519157413648338607581336460476651863274323067751953347165771293112917214029053156624327940710585112427319879115434634331578161618855682268551626223676830767433221666459593953278577834809693321621346995511340448126560482145301334530529513989487457611609964719769071958217286497387154198861816251167030563787466444216567892034550697726625860213603800233361856926560488989376137055263634489889888465422016348701952849217703278195442843120698863135608647564227863943547342718237567481434110125102975943294749070210767388209795408918699340811963218456142941531962936233151580762377051650855557679576764784081533897992764557696173466689918682794826828422925179531024148465532118270245292072428136448479846608190889636161349620671264816145442437211191450206277111109879265477958737645551993536424475645068381346833544381254888750101328919897446894163797551584350486111119661260073569535067922995874291190613404724393509497027238584201192870941978595254078272224486348348886328776993996645417554741226918535962420732801653499693757560998563776122713474457122544021334781226417481062094839339026473289226360901275837665307200908038406032262349659817905456535521762661129988631004862861762243168486872035627905389475635046274413605252089871626288154551821682891602832553621233009942593187893955183225446112558326575599320636670729868133122720635213207724387166489850470400524934173284912055681339435661723370366723744848672387125813078433433003671888760856908644365107045245176990297699999804165029030458532263477930724986774174405978475740203072244152184899266813033289748734842570940817703881678738050222837129821619774390162836434717691402638490632668307992210395071338890514421858246948600611496804962298522003136524151195918873948149993868430739977476886328393434653316202110073414604257412056844845765443232604007292490425734703363491779711832759811984825651993719080127732151002837734106776173889157532568099378049962768325260922771084535954476905027417254412352394528912352275830028478859341265175617463611538158916215194875860528355974325373096821653775941985689624806676155433559503946642899528270259279739075175365417845812873259822051180768010438897072655196538614269764033882891970413671338743213739053030305463434213717497393432367274495869903543059605855072772541307355644218786359392506149803922080328577638539206184221654159198403491890643023186212324724038717557422589306214527905516690394355632712319714148510334926737845967286414910836383694568491275229795129649718122760086166241397507185756676062950288944038488471664441403746472239564877422036411146576071108459302675980435441515544624273275336367863854728790093463272779064781722714787958564710145311574313601592646643498218162356457328565699495028911464314698106810222132945304892304514741947438916732397315896929874131339842951803502133600985111344369039643441675504936353342419077515356415416137278620930676786297051375456335229127095165466509162844352245456361399331989365762250597947713861318647664282201724435211172717232310278093958448595052092425885896428776380321322894074064815587971751339817283344117694380897673584792650818568516685281619270931244704167343178616068823080102382623511343541202932401966369261661572081993527849803094924989014933826514234584674225560517475445760636756586035200891133064019410035951470774995743998765993695733586137882882748414710350642936742698471901105517180242845493484711877966802083618007257396755823371338816344262529910749033388421734800164566311459812301325797106932282428232430894734190149277871907065404231123337483687102956556521225381873892918459928237946340804145333767395340413193632676311432712237278909103896517206072353971477337563647113182339091109171434393381509405571202625183934362051337612322264765901847133864727517244587418445540299245253931529994286275057245884240656591652888301161740641384553180463089506096115538339954844557569829220185059547311574723116992197159231177642467649699827343891926976429922214264025756518805998262339849507136741746176276174581547075762879466943046101181987086998481652098815086513472462382495729285847980216603355006244511724191319299591107965521858650395431472976246702792575864428066549230285819750128575301500911762040700020865844370704181626482833498974964593273549263631491336458206008747817303689939780858627499700176259711504827568244793296769568378764410711228437151836583464517917678342512348302157084411079080355562874369952681172709543246659811264824722727358134985174273244976639249832767346249443939598889491361803265421604514796664305848491760847006246343429561023118213358056929126316562897409002138508253209215395221108624857305205466847422944437789407184155649218729492945971112963407349554262302374530484885903936514231087216416530562621901238536354824376498390826439455446445572742406944838818965240473586863152056043253083530017694144125540446805848928837256569617510942115061401982526981784517672715776114824134180308116537880605417914118890362363271485964305817977053456767435997044602807777343134321492166562554443126281330026294835341485195252683878491211683756195433399344999002370135272163644011452232250906256651879509412421075702421586237769821104178570414763350051263791127062509852226455188593656276384653484803346375863506560721484443144167219340228095736930458942681632188851449416420390313217742607370216057906011416181810770515745273341220346725469271459292816557111171845606110224732018496231348900172971549786493745140361221032839568201681562611358436702320525388723438548780399539122639692874889692301114341943838485204191236689569286710492435515447598888175145392659524143839534796013419159375838156733772546937892579534575833866803704255930645819595684423265952079008506231133695669172335740591793915539430313776309807056318175735711959644185527110987607680662718329376346512933172962499863839812539730053819288990742381331181287671353299569067386074882809716126015678246600363995770646223714363132257873752493419449547661230722656314382257244823263676902313848690969856112855903807337889842834886337307398237593285334066778689197396502194022479571715518728156445280640220548844453928948746713485488344596878143533454435305342775660872510742062112562633241449948035829302777453519621786896462837276411491214973766539391071863105816755635253494765344354068824680459955054480181961591377169749677317724181049083856563129963184334468716271846297682877588136834669101332225422705247655798525141634365643530005821100340861046816163795196508692455935749179796356333627151511168781024122068288547983139358588244867201101454999212796412533929417339478253271848055732391142344523498528895026305916038125512878033678859903426895813414841338328892668531505169487993960642689762572162436136165848288889318824910391860874761666689783641981679504143494612379790466851998874264814489379722669330589971453539434097108802367586325122378499959689789602805780289488145266929947942175985771224227935958294873160895884064311652624606216604797564708820328241896133438213226956978095439689836849768451573613626063896798573241486948628644611795352775747821316794644946685270453013966213346076136838757987926983291692394258376553863773162260111319634548840818408034190181089637698953345173661066192958311135711610432609667055179670653973255327185392152800334928323143233136817691067940982781350607286553402695503682889504143114498551763874194826999018191663823422153005389435684925146307097750508502020818302642111477110751898193427377483538561378463361453754191589320712629747833779799540538521344473490813545456302028236530296747350535468147081426596040995437649400221108222796738784484391249739236195509677481304779719630157785359909814117187733512968446095396746871263139149495987815149009241646790661670927784838427850085143542408106827878752735657736620631213434437042424727304353121936070056649025681846556764288856842959015916709912907306898105841114396838265472258112215003241347240192928734183563887850157039865763711176753048233242566949105913012082238029072242199908734279398633358647125107519806225487234150776710863726150986108163079227261653761492024510231394257549256994232638652667353707649978224477197925098582929482997192135110427272074307859837181238197404774128611214725839792370684266945457826610285601438863811258381646948120614611735532525839395015971716724917828398372913326211040220599921038393641799887153512288748532244852699711632296617937993929416459152372174546278863128592627979132121124880643542216230213298231669233179182684859882741463805259934839602943140568861140982113117176663135849354043164931009477566394514305235922324612214993393176698896707273433018062969851034766544623653197247430454854415711033928675102360548997462208938950643538506786213645275813149407297074778619423829426102684717836112712724948491320542789318554979182289776754303445158693240562545445423242878207898355862028840826508993435512387446269022705443639326946454469787091885483999210054181838930627772186908528824127266678712222909168551195690432762617233268229252083419541584543313556731942722611776165246183213286099501689763022033673756217970729691510296345757354373524270350994053143066703131066957690861531071946704223213966421651017682821933369100235656065165830376619365111570281619285785312114523798585698000473916048760460828350982617813429425038272629714424046574716618800600233159392658169489654828293982115922081102972608205103579397231377025633465122197724284653291247489594671866961645651211207836510209711040460422136678024003399281322618285437374731175463694560935038142464422485978796290107241314868783145015275866828798777184342248614173318431218481182163530489670481784227233591783313772454191212309911437068405048277755864785434673862926289251910613888443111035951774076665944098762587292995404627894257153052524626863478958021478414554484112055101799348533139730930855671573340294483190423117167510946350541632622038198268628256308580814418472790217295359447307719470337503134262429231406086810430111737466549576557609217224277956499129159667635525911847681794738012158311154749380039266896975287315872156313300396744099258613006363676920575409180132837322898781457063437524017747230819412343740057465353037853917514388920053435121372332187495189241334585822579792980656364452875789542734217361590566104445331083584775737334557883939696230044342777877196437641093321281734599309812876334566124528539471058153990759373168883560965887606244153811664208038108131103904957037397679434466863212345848323217935244316527099120773343387171871198137921130995160050711809726068897165100287787429163915520463669808442830471337613502248178276814411507287241463746531909727868826150842484116076812314354447624447112123750403628720384474571193051573223857868134752189570513364564220802406383155411942756218873250675121732448430673974532573210229621752886812952952188881484375274027548337470863541996940140248619242738179414911168285980108280211828800762002477342943976379445798332765160672716950626432970932127057050883635503136234716631635665528632961171438920277317680556575460174139194303611156656722986434981277178247683252101996141086775819093214930906329436195586226088685668635137887949612444363216951942941141675462508994942704164533519211824798732446945395244368967462225806537713870711007847517561942601174272175292296658888211813673669408391561535032616618876747162540982174470110199381192228340551755505829544041864658642012000493422589156258763425735868936578753821734661934866107048012786543258254800935276133354212312287717863108449356551244281217971267185979149611384200105797299384585135704797771378775273182312676115365442818275534912973924153418162701214136126393493626994825174158147552921848034384045157227875228539060798335319493591171274627186634218452662114086673279621812223230661100479955405271253476424624819912618678527386171247588239273703805194321961887487773210278929899600911933423796625290959725512058533861338792118905507837408543186225601447552403914421502149641597113535952415394203745395873381038559068026515602187244773236366424116249870871413272123036277983002493769073033097462748098744193386212229962443666840639237221144788871705627528126310210321948234160270379577356495059438467640961119775834820082246798967607974505355152382386072877660735258049150150380986352316605056082516423854545846157448521741865175625941533926041849344251954465915955717129089120711915193877544016907357505052599841199181114275675661290582996504782558186836336043949545839130706590392352510786369170783602005489337122483867221070284198797737089981316431112313751357047931949005414912451867019155251897711152430594313847939680984700174092133910624720736832710120940702736805728250281811054122522208765846577261360932261094071269035661478338745077444324581963049491754315682474554264767808335731248959764546465266575927968760958730985028332923283100594213911643406952857041535508617171007054842350741216859994502105933910425137078529056546595445358685208273106243298456288922503911901250218876626333333585790436414763179296173542093929940309522366543199038712465660616288674692529615023298680132316719367360661644511800901307733157562425046648295220603786972011721510613552750530188863609606978197479135547416043549452959695897176059501407244937158170393134318431513526580312527625729816503342911511110152153038209997611579206580431284046595243947143353197307011538710434183078524175261753811359648293496682606920119483295047260166234957892649322453324439795021059557450151308000417854119926210374448449304551188415868888310563379317117671051730931059782962749525301403977480111822359638655237751559301942254418447162186909369686367077069523827640948914898747813999125976703422335165316776227039654244411748252900541819338174507846714811314875048448137316701592671514118508022934092042088577038993119628697011004444779128225758366925071491292938420720164334245416753367069004117204814139610227308420553914154806151813274459616373091139282242613646596195361671333992269649137275522030761663521407692618844633245001365913971310737092175289651840805778578350350637873287940087114651680807491213321572969667950546853284804290212333286694277276778888549874433443883231651792021204108541571029046312501533362378661449462011748182137342625105396676266375138552705781939978542293223264225014802316010149552316542514136006223176325462121036493444685677773649135319048021569976276593426337894121472473530117259373013652502165641089341793081752013583397979225984449807767940833458988817124771183689112253805751151188240455772181141457551347857299339215024040154047099033776266217669617401694885015245287948983759958845403831051647034566380692747505571845494088591352905690818345752324965528350055383196817139017938989315964134484006761255675364917376615842951623451900712961808362469124606982195744423123015133214748934415708869782439904215920943830187676572932413101424924835616083580468846679254594431631392603529013605941306371285964123814825996716141287198575870672727011346823699691881196331431022533349027389296966135376449127449309461226380721229119344851856317210120889177579857558474803166479876097906184222325266550941964003285574177809229129264263707976275143718854015462980516366228124758946772131158181362029170447744392824090621674332965171813466783602915291266006069028111679780516234189659414519442961309807239366547597658603954066248523133274957504831104612277044347880470875185178905897617326037527553148948762296221082311288543679921028881289650667323357227827050023952611326583292286092541594865571212349519811954549048503734804709232201647855831028716554355492294334268918785800357967673872158664439402716826089574307448673278517253581431315417022812164831878048103541151808062525453337300331724005910791813105629926127365963655112731237688255383379806175413381505163174397596407110635161554694638074912528519956604409825634532880260182052603780268877865132246564222392932241328363084454561200967952243218752293262174395728678785142374786641610763902642801975075344533778919335874089177984821484524182151015783562893485018892556717258787438306110066940757754961130706325833961018721068310721627320174269979846459300632488441343895342992335746682484685982764697753568892809117144248154430246942994917639330585721883165231468331056869098922523704525553490519325567544061087883585626780938888635878609388932570345904433389986563750169486701391965509296047701467579754945461579676688887961994411227988859256231290124773214728154652441431566860941942115598640499711058429038033584267364474135045704429239968839358438012227800915735202300343189278712553771334565703514612588316901016936106448468308719937875386937381264100662418001634985064467672519265266018255708235306829108750285349370260259757768353279697639565906429366945949768598085617579473289531203425667723853714074188097583963918263952775287128384519528341443166453926158088832884723264851777399186961367914659087291025175959809719273672133297904482595461086178432193287294584896080445301925956097709801102592820608477524939156540354672988684564985660230481252283563343336533002835733246848146513633847899275371714756895709797833222712609080909394244662237335921951329906759722459450254122904776537372855389248533151779552977049611447469625895754728586897745387981095805468007633774303342917682078316321811134178187384056976874784975879446675285163942913316567437351571996708142351022344312165237594654607600243507947170626213921731627346251442716529489614181441382192780195433552317750544094115818086765738341166311124561086611619444435611330774642282012000746591914531124623230627413424388736348341531492422927832818398792154960292704289726373125946338063006234783236120416562552116656814639924389409555594999949071404898254200072872823475567342504758914347381089540089996041905688721511142322953557291658969282703688344079325589892363191028211430123835700231499441722709995238123158359195658526974946036111934808485290514233234447020085244419779787472196630247334334858541343780210225897589940064179553397536642579876480272949309603604319982183474912150149341005616408971137765294016312697220804218151971226922408181048853174374974281131462110382422897032978223899699234981625397811229539901085394690649632293448579488832926626040024612667137101558873205185819478367589938470412177825308516475440236598181824392630551794254531520374552522233539976108376228661240722635582359513065722690987296668401596545315353223729772210673077143571604898232362647496789032493285675192512927505320512101535298676382591662247537026354011820965853338072099563343213215128282274547134359146374044786137195346575399158938415925516235629533523651550732479451501359011313823725689040103161175460218891382243174883466251815018981905813941112804870670190798483964487876643779098997801817865151193592996395650808014852619822475447758574761303711212679639037438177436267000163916239912847306661299932285664562114971503148705055613350019031368098841408196597452182619398684179168852912699130311577531226268773078315988259629306488920502750954893435957467699061104279299206147061221602954841322792529720401904947169805981158342206338615952150751249791242115345183584160151249728866265834623784730662333533327637857576278976918289377295393003386879517356785165407301147280882874354834963590481399764186155450636623087376852315620874716642326299317363523345104636646490254931843408543142357475534346520336646855025536798640971085714331117335611286922411583897203983248513299850378577000416952657461158539190865676129644028780993790434493891175624673620922138130062225819711390812528997179567171977320365798303409374353114598532688976743876942936796290241393029161999336849257249458355978235788579525185925918157775854098409956333216417628484905457832911418719484429505628618782071517255433182771322840798456829291010655291062459258058502769740313114440153689386428153016129659564828779068939165965903652493145800352547263686494478418474114905855538640018236138622334651342257595058844332522418228524456881969881392087658747162452963114071175419798455172812136269687463036125857044683142589517408976173171277519340604016040417690777632133524708776557118001302273612786526427846478685540526923777329197333389331417976801566568734888978922091184817191878078238877059848838843787113121914663877666712948455073203222285713721731923355639752269587709399354600374422884370730204144901482570689149886434561230817309328161739709004256427188150482063119935683220925803383497980198816418948573489097150305063647816819748824939827740968511538090409607604240752888249457746879151104256283706997521674406414045859166791860741091518046778881714937102072483191618393106290368923454184118129592656043614391157951768136522194409611406537442609384313532811162257355593107887040673843988999127285490862946376916030148476504110038456869034629177290238838928480302681445526470450529068083861278285325770496333592305471012324972410821624072999837318930627408738816980929286699294635429669525704762321945687384106937419709611255295241454632508456837113133327398024325582116396591705301426343634492337215557018727900087456337499483946215489758619248657717477588540252850231415486652206931598311506535231136319739770755975542429010367723599539312031249265975463657729776976051932285322520614147901734615896781453135652742068907939298185605753442938091862157821622316334659394814121316287368969383649854197462941639744676408400127354105546075510969599349010525253007636781381150966719271450407227486050236975793965020672084509118327129118681368732827775269121337123083566120396140325969938760190500300071753838798599500725838164878154417289099054763750217058182864052698328178512649511621954710083150786348331033570797843619677139624024529746468887541644071977566178789936798712546423544836242158748622190273795229036403726587920334847414650986850105804602130568921277173952371735454699325188664577929855447189611644568188232037715435962481232074351459943467640124888313118279120938490576380664059005203552562722527239613387242582440580416239473090245742412915236192618848903593943211894767519340326993589513614759127769241084328205223769368856198672249309845768905025643320573203092232482647430977272101625587173316384421972409930278690450712047422468271533803338381394766721999720733260726407924872546572799767947185616136614550466685999463425043833539471615116724319320305886356882212557885153515372338578454291294497574544560271866473952471107485585186594546056857669163668693457473314821806263717642985246173254669628464975439507216747014388232045625409422799261032510908948207272687656342293246661940957771589604352508263123432848420842553239142678827474872174365837399299841834350957572498039282544847448331453774216370832467562054071142546986718479775837950246493371264641059081179438388314144746751412119684173447075211221556482214336925201216433887913481514980383125760898871063989903449545048218981836103951309866595299376141484859505648679516643276728066474735843448682561379416335576384972450700287993454053746075852827722491946359215490153219264237193418478576282225282609957725131571930439090394808409908059564473225471720549283919091658721397406196472632553767368665301706484948893676616610590705772790852214821342125362326542113698189150197871200902110508113656113522690758143956103919582165541262445004818046060480909195767265116322959842634971991566734151619260550114935597401239642293599383388545546521990053018300186548977630226459243413767756711534162171802418039858510104201069119501805187313380528851713865395975184567795638643642767361594837663786556244512731891754287598331878385689591793853109856116572162642535095445033609332334154891768537985276432366423281755198602550747777112646470959495603058453998573775498371835136902824890598750132527603250144874768216742751272554518274327675038285972548483953981334522203518302926522647376116910914331516465405335759903003076610763157982757747128273414746448838244445349235414137555891606097893161856323421142681196260731379746231770259581761922500641835377496111203038470923004174890558216319930763136767612301622498014731791662845792437603397758430211737510239415782246065978742072876247596860242700179334312014663271231662713613733601752391780258246681933232892356763411185743374960938157281340524999114846498842913859217654737336459512986828992165951974625698956333230738133118682841421214073237637874962617337358373448388903186596275315290733163453265706186539261180257683900672956220904109865813441730147871663182469638027489514425266369318872234577936658449588650677984399224858852295112686591797620275822421556844482081337498226297223079836895418406311368402953482216129724190639638583012825956656317446773460062366461181313066374731215946699611939035337048451004736255504424537934958813256633337874461033515056418936087835944384435682522260038735814502508712722182222141308114125051142634573883514899145153059643932717202647324580947974381052638033131851422101375762429058558550716874716548583088261709254273299297334079294542173165659263357040872956352467400810344939285522020314193319710949191125969385004865376846521692446230985156390819741660140725355703681340952945686162513409486368343796410354790133826397152193945177459657915979572776474382262605118753690091266598720262683117662163731455365461941859559761289892251755204034033570853720604063698653164937267353921074490933584914562273701339775615641325858203682376551974029653251921236082279223677821315285624890430317063746016916095067241573922939545276329219196121840039465465470182933393735261311984292682135909361144377328986247158712227637031635981407678007248777874722694126397946991559164998768365335562537151115133679225476644899442768164914948586554471169457665304199964820629310507233494923799803982485517103773316224014080842531577257290831937155852605582382207372257398722776657326102123957908235452972631082179311875959865636285336218752268582252946946883264450849181142142248344674947411749138959182082801458445367178791811090613165630648110269035393650074693614972873271205758149217727186882214631910051619405325307656213281968143202096109278118352632216395984617317956529391761448303529482205917543626036931653109803236157847273813774222048041759664782176424056037431263165222337228102958449781295531995060636544315095206340976388313271265638452094402457486513778064453684957996593158134045235225708385641324521921457610956155471222295839448684455862171721237372065782978979704407627159618624701041922689637408601371699873034250519998332245343993799881461974182029950134693976042707875408783471543214005205051322331668128986469787455721292025493836725354003259890144989733735832299916896449420544294040810621514029791544359852290319027637927297858927355765519436295461144592729154340677168489712216519781241154984397372878265685936077229053716046966077293418832853464972067831640564543435171357921036940250801095367038467466050292224242599528865565730279905245972816216334018849561644444021873483519887092871237304114001717581810831321086101365848030241412794982529592931149466526628464865341707113482087108768614226031638131958762241210214221665237442312343188252720820311829514426886557571129305181636653686357178665556243219911538738139396402190408108002281442581947949113615394289230374911024951781579321413944724455787061064718167972785711495733945301311210303326771174483247208792102494429556873367613304823000658787855602435380239127615493657537280821978221918396641528283126348129854601483580899814631310465583766531175331404265514402764383326181861300998350422523351387338576599934872212389824903166203583820033819515375938097533245898253358903285466726177795867109937977351339223416093099149251544237790348187532325537276365897422035109162435237902512115319018916617410110259465895173560111398530305157918723406673071654069324066323986303275619458452318371273950450835734531367342230664684418583557869497320546934948085170125648394743944821646988618407635024287141527796562223221313141455043074572746413519574813850913315574457861120501802244711711162856381156418896280573565553470028937709153323562391327847974381164698509568969888117467265420160027483696316499759195441479053807042322164700931180623440384499412931312591518901019112692687774856067834536345165210440416842426352639631125695006949585081729772569925353756867582382901373924831714140523389991672786455134529906468066906867711205617594770286036576144101297690976409615551547815120649665002355523847061912197708022324898191034151986496101943332110661945956183530204897654916451136349321413622537250556110203538446762393625490856887696202631385595865252932336769201636091379053287786354507163234044132614040493805366353969199471158914068304329504746320504310074090318946333186217109716925999802070328195427183715317677868101292182606624283903862671447262321562793556286253534136488355936160029510899793224411854370753519309119183047661618189797040775758691123414641909654040005076053251966805943504063791763982134373149394740410805121140476145718776608457264503331093579510622765488550857091733817269887211344765463774737193080386353463423163588896759930763343756400827914787870577733594470472859782931159884796074515980701429964423550281366751542410770436932007789884295046225335659273316372714033546083299652884809549882658072275432762965683860552444588645570032130472105671889443534010328465851029522743045492938196747278975521926567667393483183838337276658373173035951333196887591038637486282797414119950137264163639537589349481320545536491169474588524536384943536346560216083195618119658053856923101799158186193019830256373665290462860640717743842547311249090701390605278661376917626339871768455062611050619264800222785710300339944056923731125204408681802980470513851448415284258241024612714865434122357868893153322116470564775970105559924291884945518842897444914564872383825984249781343685397582687005742802313787405935655535256256939334925478607072703596800592901952874143095166609200244747389310018582485227749847697701984909647503620264962153173856439911237073674661900871924589156249422895884848701658204373055426537518913101470481180597573544577358020436011033565401734542123434204487452431144950284498601218786638322800204323846926939573075001829979494188103298185355875216440211164442964143446957611447308285348039526424178940741355295089111264976301113562624744992763107182301548358699845773770371960706336336453876831672493554025170196652815631626949138839325650370291599834977920580785412765691182590606142249967338607920019485948493266982663361263903320476452050566526362498732576411578557318141836131314961767756703792585338976905340467868212185255621330971237851668512246336291159335873420264429486219710070740494819411525186102952942936214025025440768685888612393125525781528185223231438764666080915082551300733616272957026874238186556125767432869927143717450347032118682983005777812866282578920887189906257289421059379359142045442614757293538121388937773404858938764424224584352957013372588464381570111983395616334963424835443841841517842894911670228034899637035728140367566834961472231586747923709846980691221758602451745488426989650437656316421479644018191440070474011529843608293699611478716984122725377814687617913619351290916282995941079738932650883577289375183361277998625694861139941735753319635315306172410731444187550381088723755575143502261371844470465945636472815461271514919142736029060472678320256890300838681015875951134694440412250866863028447870999749463477372861342152161522090222441862692583786507989086394713639502523733281495367532724579240487219254415593033638371150928783816183518572353535731032790693201683644596688486219466016632327085389802889380845364582882447166058381853627993632871005108634668405146963806638518673473391043686173257170537522723489507964729446598690831157661263933853921227210666639990629008886527656441484169059896821421744787322638745403283025345503495914624869799379492322759740997356410248456222452754435215355282123575131049248428519179429971763530599484914911461582653060941598399668463242465266228027351807282636088423008290931948787888310996937447198323430379534292862632275176232658951773537946223038645282043581848115449984816140390461250538938392067225012093071898640646924397636288244120488020075644810221239757513436206432491741132370920233182347484059646292868651370228924262436381796302256235327470374009476333871863916767922739131923814086449773007614211419277003244095123386759454502521845536912608726524483784741188171946148244486072647094933492680467666332744471093483720516527503172806634237882384679175803236748566775326060048398325045848173544152955542924182863299600315110289785206264064393489514266245428161102923974235991558513815696645435187662135789967162511975666372221209943650474589521071718390145747350464953205488564915694747964884195711841536441254701891092755729069819865657678737156507932414121570694867256795170203839668404451443610946674114743928398432344694635591264707793657498593368895900570518694940797213804263276978984851202891342963734107102456017901435220411554097855422127784880771464321707284113971143639654191865202044699798139605246351651249140971541264550654918628901928616282705717137993831346141125754846396971388845511200867844920085547043838873965635715238722300810773566465992601633665643588140151688000885529721997939695387917132304821430443461578692424944241872438947588782411998402414250188970458990145861967124678686268131135477273208057231426515362287542187827460611865125518171485900827419413297642968658369914793266441165063553873594263374299110596293140843075192251022515799253457067981530322296130036103785512004334859994353916722385081706790121646721752713237242910141041915922976496926366849419941449586198937693973046533139848149495444743827053117811551810055626875091504749695927104730651418031589205506736507354539739930894820728377608147484314266614484550159431383414113171896109994154613249161120001574241259083695748623553269751145032491072588124986315744141893621628644979936931576070848902923375785455568819922870917128227835780272795192815451704243076012549700656015603695631386213846096380939286213533232939725398840088251284504559249245538818531123372825468524764362257955781962435533477068623044301642976426172688924873051478568278357493370032643426996271379115331883232329383950859346321067254267565211155442457894234209149969384744333154190543998629617591224576192380736714711458599709818276408646692117346028106068576950164256305440601731322681049526384113065788402659875237945593429149271240026365021747819113226090445943486560807624439761317641401557434590496033519976618220746878760748243340019119639884335301535125288949362605498205700431956674252369633451438961706764383160387926322163016431584923751458927087583383731622652345776123557577472509359064143208281543423244764752789252260722200802311245202494775848289724866867333383518507666094615202192886330255231338667208160827695544855962849298806548648294153065642618595622146335879935589946034282011281261949171246127990027336345606699003917216544328580474005202805628526482444827412431464374626047483468815823778740534872350053554682542514693605058670011223825585946982893515917728664420524967305607319193159478073467913207745387244352449267767257475485333875388306238200419024240858243158177218993843653413513257684273474831797175463318970685281776788469504794506950683169896307557513442510097148474512283657350362260467698256537263474695795058284272120309191047618917299222694014921002725264800336436415461960611980902616156418767431302534713955040546757215731684793407599565396630698853202930892933927552329914462340248010347073839437679544163202535035678183971201820665817837736666738024203065613113365902637681930105375674637654637274572160955261399295737555151262615291333831986857638764051039652816065058263535428209584049702190739321375547595722614111363732249145450698533583620311579816827387601845987542020969408292597056793695467216856611041809599021520653100132408535691599758223344966482442151896241165454180426600503851536251870092979633040433019728377130248261825009907695424943275656335174201376613456799437838171095444300913031672421620700707191955660098072352389641660755358097120367650542524334392408516718488521271488288185937987141412362036329500589288203624098478354983926622125049934566844732279300508478663946512622390440892466274793750637458012627822081357948910273800982910770351865437314517978445734126427251151600686737882667424753872423671350140100097436261704146124899916155935553612212148445673301392167730594799326506701314541411891587256447549175069065567887305144842456608916139974223513978073841611416078898194334369257724759097625218312871718729375378022677577987040115681672925779111067161660715495004063287711490954283229399453641577779337740002718546266866372001266394860647814615476264319756290757824202215355619451263315679994906035492798264373119217308130538758333607546163696412459700153481503705917605584331445574564839953181259841187031077644451428281978151638572140884017894441698336944576757366217173310659392573004634935727877834739869035309413925047114388718848381881244173322831435743499247258585365855555151791315476671688161287104742514565935871187662528787069758372500127221672502471508964808252396183242194672854356039071820258412438820864522474508659322204563982846257408122294529391472952496739826632541595138112584208101003706373942047669847690540079066262296612969942245850715158884283959303772802943535405246598720105301329321136229044043595281506000666963215530282374015644661286956291536301324812868391546642456556120087802514331614172769906210616495391292566409591648658728719047270252158950776450243141199180546561981307742317471785713453942049368625457546515091079153078065969859362692687513407947219764913327274388997081972792376480031328737419426501841639916600621337204391284966312543540150289876550673404589563953970895838941973195739249206917597804865830385411374839633206063849652914578435120171167639049996122560290498479386922215504546699398532592879639388383434404642772373775871437543882469504613317025374522846234775913408247271148927492314603468205786304569549641994894196578776716202211782495677833814813600968842567824304664432234480002248592466090413562886211149649039107110372334273663348198228948889128610931947684674276256614860952931463377681384827466222161170930910050621006820223884153088772325968342304663059564237910696825121177240107352963863789933737812524433243219349796913884389429402456745715422776621316829281215022036840378899802944563215656787121306336786122547334159146346075482316098359963723711130527124331845450104298204811113444789242763871204731274632453427083291211221763317939413120647286671351575188574221586463464548577441702935141287808052632661454754958436821691425748259087400755867704269032723375126553821424615931250419535860544564187809387396279730078887454212940517221338934871964343193287380929960993171653636324074833734544516240557631406778982943760743914131444743773349317077676677249850169692959749621739017842399677189333331268349267274060868754413279136597459582335610762586807381317080712255765145812182944742261164415683144132762731151867628152917303301954608699360521304302563554059792968964046728027479450982347851736343475182375769211988065432941333371494929854152764073004130615302959542526625899612332448338771643726949835176559485686017440311103779171432352816372326306331662073420241604123644386552486913795067655531113111807819272395392132669323874553851596325278250463111773430591334658925480311780476282068351122134246441032743805423306723471607848357255892442999880683367896146132343494294122763784885528606798710658351134443015675502597471679126354663711421702586722165955073731921181727147084641605718857145897433950152330248942803986922522840541154892629526587522308123196054736635728003653809953404975319166421684250191868487963451494236047915147401074169592483317761441013466040178463189763561152361271414347264453491844114013233704501273041246751938938647535123403727810594502287137538579051247014087782438392916782007443221056933118336545781867049172206110653654678472385733562563922654624278004158057690638298865074562377255464875958234995073595587125203626068331609261184638644928365442530916604391101352721422248235152385616672955877935543024816054928693253322714041625026078837877826265643577562591106463945524091091202310625158067142949319028522227100508625352647314504344890665417931145776249913162286393139780173274601093448493435731218361681451444847093617424346201871313235152140325380787374485366614546228249435281412929296363641599418173023162785492018307480855037694128386077690869544296927672988366309378961131955837896026114344941590904825958862003563396050927017233404824533565470590499727885642538336393124703558386446438692669151271995951649556779558267093659261366437321160796073155219479897207388647942482407887182961654589828003576314596464616469917515191713015667305816135459015648820339439931517238890547525400761488609621366703502209135226214638798003683314342735931541613488403190503439345872961165890391427555588877415051006247080955420286459920251754145077661412615594610389744625412547351319243701952847734154117324477761786568985914820193671957640925537958344168108951426757743267274608466395732556185315304377778563560088141545175224562170677217681672554463634308935571911313936516810750389310131143806129750119422862590062960267518359494546022291613874102291163800742418473661563152206624563966795876862240416774287682333807893052155394013519197649354667853993456073895062349371210707131057439124574728196595392414235638019515591435221321093891718178834158670839706157513115910750722223014734850703739444542994541992853181153531884274922325109746540288077981515722478221978337921860021700326619625613183133297111068527610378526778466210227898354752217010315996410759814258528038397813286576205772069266828069045594379895384900236388520685555871211673530573668573245371775340570311415593315607644657756453818217241595597099048245846621950482129311227735167940713717888950141615551243459834954776184564860076670181274759698501062192375635235200512534231444824839733099672661096523240917443622566219370725429025007830822460117431798628655852404162660067045290081502950192999004421325778463146876668379099843805202444365651267267764911628824234293477693256299242924032951224005377343844083067679255192956952724592633539279242918739365967273692396524998052113362888037061951662832104837774340146351531619035684514411846645086412705702998920512576118532295823845928295322786152022235068802326893736137977325106150391469944743691571565582649423637802394954045294157990571308471420191049133952573758808426684142192486948504780407054166339539487158130761422347213785663646463925941478043389423003178021818592376821832925218237362380876529255056854477745898550237324385385360398940945314126549507613632584378302455266662179378104547045346199732438120402656567917125816833826155179742771688782352027736497226509321542175901325786725566138669903296303960756979557416110050261217158697726541078991781275524887139138800592356553841148368309771090687850473926695435888132088204922251917078415173411974423648553655189812873579486628898226509824714129679112186792811381247301128464305117576952027535426874301282569090434135843011161171632011982175615888214138640339325630039546515759627171113310037654904581426468470945924739978380598711492056114353125119642573607549766609567606193531939244014192898567628305475301547931421070193556388899169064579913327541181135804083651612902954561018872828126041531596170316856143877641270177537820927031300027249768771494504593386861621439307032199268580226728745027998706608733600807622640972551565330056786703775811802913539988247543660033656944229326124135875335392239437268383990445993440915320533289821813263398066923902720516533966415548036141284436752482969297414341530723050297791349943235596233221658162858353555109135424663177560569260431593165908264715038677398122152867060652555058444230780841776011872363269752685515927417053947989963422648411404976432292922541918393995465694574487019762462156315836199062640378202540859592468357363792112786292106798418016515657961330940940431737328114613127679778907718191512058463451062705837643917167098999032568335917402998603089581851820078619046460417819490182031578013961998085518810142349589122887437995030610394578272408444288370860145298069146947643458760763223493524058743523626276121417687033954526645639991153276410055804934476307351363087731316156865322248094439284946506845128782665299385982220874842904398732197979382278197580534355323427342399989633283058615589399100729982836936961567454898314161801529773067851528344058801225096553253923543891735188382025549315637823948081267479181139481065382931639620237737394639939261762482243796089639620992708567420298854933301510660671950361818919173982928314691393155928313613888481013207186365183908017399055693385920598219023447921400647034174317670270631381944186113466970119218745596455980713631814039762359413344676546641243222503629536136355157031844981114088993795333507509393114755596834929715168363026771665053360237527413462435664372587279781325164647646090103250088071797239107357425379356586881367896827837203847697880417549014213900085179758011866188726630289041932930523596091352873357481068505712526666988277192247283335984841595727629716593853923247680932814025784808270491423521880084833616357567722970450467863719763555605752293040333611661320458434178496770571953116673488870914455613112518066520167511317290777763414318621312889518295643310966230325768961797931782719011780151260174130279999121890286852835227921296132835791873488644467574271872121775805764895757219839973816446197335639309464692747424174017598461157094962191912758771260616705265508770719534931405358817135053734915436665942476937110187225306473215256957639049459717355994120761488176004352555390400115809896992684307357487026836477527367584314199143821330137174140272975802274491026017235476642220036910179041178345560819659359782610889276749230400417764536953869624074465375408785240068838264712230545996266860385333075179841336985322136263879283207276223735150846766327325886801541636810690445090258285433469239581453119429671393315528348048670293899967772903068928589594582233196081877974268516465624366758931864719836658351391588626346105201104602300543372934441175858596205826985306298537494745405868773664827789584682317126783261957489829756719960462737837311258551815824940938971924388819150492370165988943815790121489477539899293403322613246885672858449562428014611106681494039826296087643696772290213334598639612298603657521835279149070997100061442108009462615874046998672387433903878053633890280319606959850830196216558895298486944811902754743633232273427860618055011694331156134315413614605012729633862397554973692543364128973935311338406043263474698504272343483779616590913135511742851685708547385521186974559079169819160308185612737164966735962746011334864817802907703213643935706893610036786388434520221908537392803623941515231300579971099543670407356340975910932553191694181926641426514973122399772052415229611075992034344848702470325536510760139695616480566359187239179053253301211413334344077636069401184114262679971989182085502072655380661871647703809560046017569810566123368980498015256139725458112135412695166139943129353249752370441219976035786252389517037374333288952823140881798169427472823350674199454863222357424091269545366976505110199939507401359844384856065176074493012979088273517355529512056605656704794432677216127787607389710824773851798875859831345141575470667138666238590608519833474850002823578441581675097326945870151164166598834778652765665894841511617095264256752546340902288999566409246597785843070580519812987090003441173660638642144312735154634474089136177426609335690821032622218754511398321282650567145223543392510927150481817298862147919123266556469731544233923449884762939737929196729984253606205358729839295658935627176294232330389639210534619291225512663017497102418203632188800555657782897507354932546331504722752931726470614909666319970921528671770607448534325582823475644566285031622171326923587402413323945264927862141026406096003250414418881374440563135512660309239174408312843335536320426305024488852532760783160165138999158611236765474667150224086915181095342000216787805783447953462274987624428359957281120059908909335384527010511818119093074481750260650681963267959657327126029815730235204873241904491603830114251829489755450192137696305776988391312116033769526614246078884660728872461759806121145672992510642890973379186847637960370420526668907759682755097657612418141026631582515328826432583291839258497950021701971484630640951811364338956325562268426184973530579306125415243267560781822751244645735560544485006780733210832253942246013236625183657052134465588782889019610778042522074941111720221937891383842878201592338278229263627603294592347455921922045564878748193807828346965032539298889744519071200309933490435138158770260958561245988212353241712086351156473793561920616633170253199956392176350276758034947633191605201847238027112091866349378365785293735517145049535983177967320566113512347858801045910843910967238670237872798814842085705348984984676695348183823514557200862211347554179441512564920583855801112117221333211201736003782274660226570718363600875066980300997269515848191843131426635902731829064312170137600460174398287591243138404607136720751848541857976381887174714739026891627192530217895746411121153445302952222303839341532626078449676608522064282342170771987365151235218088986172068756924439879582123576413384918808023715759307361531144368170124486419759983231124603369299976054636275897709760093665256770746590674233504015702348164778409249457393597482376362193266777570545264491090139796194385991214931047402826695692236221918426410438301697651237466845683336259356325860169962931000097975494772114540532243749417446419121506397217357677008383230061096176923628325097611681369022851195654766768620183627274296121171092343299807811527365788744808193135776707672350380752627104523676380184719418486996276198032344143237007189614193905166779163928732770854049225052614845694114272374602057811314393789410910985055241971443216132576990309933749106878955887548808771484487944337471641136476417887571897769480705874389863787960687817384214119532918534530641309012366597225195693479875187267307224850698466361859151284058025736032725003913257482827743722987674389118122478107349338013410428021884492359741606611229377231934111755291224566724987908298168652284217685436682030713555652215819657215345014278546332543617529609824853001953930544451467778112775852393955783240284617301690473038348838305576187466019607732654693128682778836240736130321903057321332315134393596444887354851059812804844655159285675529036596462165227517301801614191628661675067962926589393198112768847298482178990774592637055340998211703139971411893322262946354581020694440256959179924890867558693338650135170694398666316869963343388535040542275776480068182533518557918761556828859782126733316742324217606723129891619688317442650980637612623113397880624917939288645674875700868803507903628591150606541392163524989219807713124245611971223849212285558626686329434624016327443246394450355424316381159025204353243249935416376701948595867481718299749664169260729781222480075027395555825456248834163979243218755299116023563304813966191103326351436823989256235589557977242029510687245267248620323928103775657781154100873489411210487518241418570383119591812423100766882532699123025787693978387105447061123111663746361330777880483936628004051103660795244496467793877943365452527458848081661019587694905155409452592981337213635540691175824861751090239362485156324349048885453985691278173708239099693281046175059827908819373784538773161008700802717627033728963929935958785895678371534344016388720882500883024668739093741510218610469632319175552399664450536139421821737227369548708929001712093999139307235634026632601150021283468045242599788046956729412230107556703507824589527321117339848007417251281123235315186868712575581000230781925614439991486733245331652294061423317403140737044441225970642732857370294950707237943991138243868659917283945257784087625921152270283840513229662246128985837966323632328933292716404855903740713596810604180865293518291761540223334259778952576370381994211991188463629314173978588829821158850958939151252587403667146371826582338563339560879099693030097844340852285505887272634133332930160794250971481495175940503648993449375359573191455977553506678515665055558853306846730342854298097303582474443009445452907329330999180307558468058760462552872840809025078277203699283397872350659862327789669018412982192868446467214583022179549415611547299017761641459407322739795029929534751762736789060365906234606117877415826106315729081700637121451982611198713123684433051119224693889788157064714126063555683522815865206443185479425255863842513417854665934112867392962437166276414265569380183230567668286125524293400635236870483786123625346441438301158780114647770450755429078787655028214224322833574406366413369920738969351252743507645344726268552334734628998075200705820867191079533986155797809979574388111171562417569658194538359922561222171632941709362513374674336046948093488957208643984344945698832124671331281711604327096517292611587845722471901887333061671892114924268665297771533670535444871153036786545358803607387947758317133225104682216946752829306528231650425268510971250154776075064208199439646453502818685948553121448099679183111246881335438747822313685272171102104159413411312938666088812286963653815435765745562624630664367896463525853820139025952896724939438639619531384582628779833717158188594820359515548190508938383291890204924198138500010626269457398491973475129045730678845956037059280681697627327081798229687725211033190908496605340872092239210573920148427271445851528290488912583879926589474248290265193120950378885260025396953713020325222620772145027372848201928985843841693811074309054142161725909331027254205177284216749228464311522743350534956531783859106433317814827263719168664886318679724358719785248912456131766918657979562547882611265954087654847205668734595138419321136172646805773686009642102644523708233044005994147843347556861577160835777502268114134327726491827759035483008009881343726433392905143161921939534961826325138043849461543672102408878268404445917990848256123401685016040382958450740407236967147177769463641323607374651890702491336795331618939219119378862495408790297496624418466719527210048492782403148528944627401872736189339416229032491118672070717374400417883531856282983706966734208589541859401851725256691824681843682270637367899745119170168290391262469756948961921569502178242421000869747014353440141189439032927571908507398721986225941560441403855842839537843258209950074023363563403184444125104608121464023803394844488671141452382589857153954951631992618894131968310724145828470555591169119659029337207350825542197351199063185206066740586441528696201667967967419269263973946080919874546854671271609859692564663740112799896383390187845515424022316736750898642126412652361701826968157922041399774400807321855348892112213743334764379100702266804182473996162051327567718977208522200452873253404187035657048664551532557440321328252361148083405927392508693405458531430568517228427327128525052135649785100263834247448266681976446006385637923074952493392811792307890236153871413716875888346680924821423548195194106499024533860022775487678492156229708427418167906677810965351371134226735261888616502468393574592564438003365792318339405723428888232801972633725528325976037996777319153752214796641766668844142897032756826949849837888447072644475336080915066823774812740134146972195758125315272159815331592295199730160622441311980904601122260862657868715220640003159748365361170197978331582842550354913356875286373895136755502314827081410523092374462911256436547666869473992577363222382821423167269343736287769729084282373420015515969372968808545713138931796849029712225521433734852329560677385413861960356292624692037821518847946599693218969142776294127201904325945892834883866504461983162855234538684471454541090216221840785472942863827041964120344040023527954120271809092326478258642998495104909461305031622917902169913952807453429327537096288645122638814438615329175177708457512673691852550646488545876345471098883755246897986148913922863471315323272971402262064036843161592822424456693781647906976284354411854696495492869921060580518560732567846784277140866472166772722198482775386826756317317539032446429603215181623633295838065543850904278791473585026339464925463257602701026824782763167547056655157434242219548951365840780510101957703976498318845125278788809488723492871797106683225537924836370443609165272345092231353134847259119266767476231925021282601063387321415262462204331851845624127336269454139750795940586333831941283988744231686491712016953222787358508795648507565369473153119575357375495406303210431858710357572951547934163679759651294329357790259249901389000438269115970291082040463989464373821876671743129373041359659414318455954805334635675039683583181872552310330518545552248474223406853018849434257601583018123998508986236753556376563451778214321945918438632115225789938178500705650572399907663533049057122956923117672064245577718747703274522552451519558619222561061143421848564961097796464595969052040708578412849558130583807602832701763518584555792847431312455191753859737128316972197011920574778858383331935222656347872592174483638145688558783435776323661492604312523013891440809245795758717985345492381503457602903587144685383998250128405864278821291224862199719951809299365231261076426858271366640113850195644497954653731380754369487049323864495750019501368590028938360808801845961235340381425732568219748253613523486137292015546788699310626062752315671846530359677971146229544047651532288446900538682752315267135618690415962144171962020729104271721895752294581183573249503223532080022076047619988973572279536752928673662102824160108478819515942190268470510714170956473962735861309146121885263368051499728028037398776258814323817548884738327753251126979352979819872267890029258834787731966814077787066899182382118618871075906123414027623492092106380580036830462502453311726562857094705100557804368896372141331357942916074785740506252158400508861601420032696038316288810636290885224497886703271163182008803596759571947708362791059113644694931851778720533177999251311931406663261777581113316145349678684301859588805312058385310710786412901246127381184155139421054082645834024283749206751878114891059334114421855951100600912156968523503270548796110630463944911915590426970731831432577234294007602594186176680934395852241391563254463655871500573661447258525494234815595071353322116123941241903635568114695400813445992731351243160016677045076705129527337378106153818909695255293427519298029229196081583719857059040531165396913648594411951207187107715513379118425228493625459812836467846386438602011712356909262536254476875036563295206492120271023858621428081041223687279433073143759619294348248469503652150536811174942772177790624927008406327934027766302373671255538480694371931423734704295547080353276415672374789277340963182541133279369486184000258513559067943934151306189321343813036262623497763799695432122982359622164770429447396688226157241411852241282070755637813692278542107500039627457846819038287123416527906501405572613926882682450221075589773483514624622308828435204229084548453702727414343966006980441917002012314919263981144365720771725624597102196724129605154351322405754783245620426292713061505164154459571396693084956718421737722385244943243869164057727248186845207428973455337645896375789067517423497706434822323937639045926306123831565929842476295718985938633724433252241112269128314660421367927504284222372642276098515537636289030312897734508363467116425289127348042027764266187086739216831148214234430712032908847162601705123132571071051063365398443471395242028238932101540858144521304111949216285848051851103295215973307354281218445295532097930180769630815564545370538153420958814737651303615590164964729391319937288524026252207350657474722054955683163019546415391289312306633460357323801759894757449119063084773560673797948106931723564293781078561495784705127177017566038725176769390426920480657548815852813321689824280379955715959322772299805710150934960103717103482482873724289020408495998034955830473848939186685937877763661280728647912630435310447471589972572495760620476824689578758662820571761429737108528126167471529710682718661637252971411324253854829559366856858697877243735571581107856964532499381426274519598742540104892657576229438817505919212056734266873413548332904288056548467504723719379387966487246484555659463810792754525845346445166820890452969029192684593123338316327104124318195924134860548928217415344082649890357525738102785249799645191045179530474262750987142676759732477317862608006721915413832951662864560685535162693768260574156399715710726255391041477481603438477292193560248822368106631521831579348407699261329094545297298699099593487511501012467236439871811269112629633728857115997836199240154414469358825981865332845053499269286042644942914010285075914202934455246282777152421832260558004520139718952861667146626557832835283446732691274223488154255744161166220350196625607685445319041504652954301719532457423818745068031320161824380836190732597686759697366286905032581487342370937820353155018369387890674441052912735163440934520919756755055875322728765622127932930930790933752153534632586382023311027237796271659143342576631992335543815412173936938821415749363286098383041705518544596389545146591514856219675618327241196117106139243609308922241112271426591923659391071787183549548746750912932228104732323637158652143497056460343329820570002857267023323213469190159186309613414171701921565380021655454147037654032346438464416181682112708239329511495755943213660237325372154533280302155877297421573339804424501173701144258704295473564597475612160406628950525388193839166174461312016968134818275234226280727796914374815445378283136775028139249146899264547768166114786947908583389757626005349123211216352628529433937118443974338445101892359822629636210280525185072590426634019149384003222433222571162117250238550388910833512389379477506108354461010403739951280222880457731166226713432741287537567864100116108426712896220231912457870328659755846034492646372487061830053803347678100323962041248794037544968616420888132199434779151283010984429783419100060591215140424250596709819129254373215222580976412529059910764810266332388214496558414588265515615067755641084533278160920226407210148679716687479191734490209593218335913912854186056406221021551879449149317580373581557602700769723463874884871596729621773309128178715611565159643069103694316662497440014521532525462327615124792633752321057884502996034258044776366296286448453778061865991782487568623565851320572700183012581347809530320375457410723868561765575423048520928705096376386392177482243972061174030643208928849311416083513701767151856187639374958069121506318219574572033683823226793179494761541295878824433568519527648863606848680631770381286447254729446915850936920882972157065952431135286415256722782629085723518562839790875584131192801667418570619316453665081983108052737618991971498134225391101583422115678175686290161276393939203310816972973368334583725652660393490129562444195190128575207467889573389258604530978444196907103420684809216885388129664426583550206454051659360654425321175610036734207713016049360169039627131287733865320014631165621900350168594369261844082530807752096263503431162096991941688611124327031326680186316524135365743730602612301972052602409156119175241877249272318442757235071140578381617092786552247043271199397197613018095152093327370114736941800060984781861545226461170682348034165708421289553640259900465647253778487357247908635503181220301315614427071301464129271406973774396921232516468614426842822528298919243855350068134337284858494869857165124073281788555145337631233714954174992406607356983218433219441348315150524823137379344423925108279101747651740916064932273559702737574135219768267156992427927063813625215009097783925471035334191149101316313624375085534275672865146804312619225680001466964699998042269011943582282497528488935994392152123714527511355998214731805471243266453711378717007751103726296332168299121332279533163878118726492526214537390259996893454431190549309485087293997997854821843712940468342753809424765695948798788003938839339223820153326795940268621614279891045162631399284598608489022193173179195435039221101848475325359803322276947114136720914906383901607756953604878264012699110025980127465489648421169490477013990047650154046555064321912730495246300207964201346004442598702645407073133040564022131374454546257404666558947902789235263497434747636498493362575117349285151836879482064778291833649593489871732234107786137457480022359193813823253510243122636074144159529763745787244149817142762047917491151629536816201070158425921889597472871467042158784312527932045160214059241453745724071555493156555369724542528708465927267641279422729686775890700652211689911236507856456146347632228234097045560276295783285171565047556541581998255456739752603344304267591452715072342551370983623352682039691175051496044466888313777213430247075822329332934511545988410133512664469918219345472467545386732560357643226458902690566387878411338300698801924547611973422759301306552251945425405896217453955186355375933215019173024775858078843245993939319188148253244861237897713796276029965309648639431015650757230297855144974418856688085623904330735427654325019742445837830982172504134014327867520910500734785014434757788420074614720437273045894039399051332146562835453101570128143429854163527476394202293931050065988267570101225535285884956237129777463614946467286374661422423108295997509746085548741444390355081144551638263170254646702976981100618551100762908272395181219290256139577754235954597473883385842623459105213507637820074179436586126861695309316431964748519905426754587320729160738142606089161627924215118204454557314636198485152623297697135984017981254002469487573616846171836018593487735932153656153184752699344977527249923428842722156522454041315922958828213974970795216506328212509746020644446713586091861415449215327339312483926764493723864320872095302479626635433461430322809086344709990320605364877272610271267277850031204933964632442920194126755395848136758453056949342143031626866981930525617311201108880143772148084887117124607777896163344436885366718363689067450246939333335807700993050042817604953198795360390112123032806737481524638985918712891470644826282832624258192152926307563950263273823624953781224420857443532474667344777207407189522795854660810269339750501975734946741675187647077404315812611221628331772661171530708841751135447356695913350351141111893424296497771809732829206937622969312644870387279561200945183961012845235839694979945717669936582226465919502000110298606543721735204517906751682650857559525823693513353678660510917359912385246693682604412676424598990718490730596056452082580840671411397215030470115611187162471775420448573772256942132444799684822293487185563921938139391673284022613139612828310683285161399821942690265017724786304243041631352753935315136909142533976873184166100916449563578951183638593881775578384176752135268019838768322886113967387284982347710438318761130756388523139324351951406806902474568274511126367128230883467480250041636850182294514625669352685680296761429712553764688504772550684138327907177398837913019946479246632820684333214571113524317694895992161979610135524956158152717496197452547559179214683144201180098215138784333946819716748372973364227743503663330196012691403574166638681502939250536477254812819277832734564964477398812149394419069429972923584566323291491362503686240545440361943270678187934971265191287262778647330807086739659099702484080222199110868965152653223322909757727454975647243171938519414996522474815646187117424034350895109458610303395868219868785435703153520061727640731944444164413706779490619995170283234403563323883050371175084348441655427729202276532353171699720255055362731448318999381153082968117262494443163197987205660768718627642130672639090061819944312365817436342992630138163366237507995314462314766376360931310793871441059145124312968362412117878571251350986262894249037623553939381341348957505714151413968188398756121365119198145661817473371212825244005665212196394002818493582424783327432440502723325699504217048039592368292913511864044212746419294791588214484864565830347768970512276662798567767572328283654304005357328253025363938537866601234591890835741540715612519931888479188798984862086157134384906816185103227611790144437585644371115402693826544510270048151368251243918176452197411344715313324111453587113227131317029832819212475362112144224802463500699832626468569506352061669675913432448206302574120431714647624117889852525675993947387496278666226129923845532225217151297510927165691306377057619046648232703827034762246014244336903267336896447536878654666046598919158384973817361509282778389591178041174512172345456901256284155282563165845845480272025173219193980260737164547115414873283753763094039416294255612966180810107195706236849119902933065006130350364296408875941681297280493680134228518179867096122138191378951751185234894843312635335932304083075878233918769725964045113331193483114485823695086401587942295375096844586922718625821388553832216349093846761997953199881860486436105937916066069843281833015771980362128782870265424012317158508522420967658232559235637271277564065335948470561198312752171411574609294861826100895358112838579093593406076443935835902126223386404286338674196913835760141831292010286861257700543457201932555703961071161296927237382764432244411608818751273591916742318289293052714996902052057634241249828094588824306255337171440166335244552350883616696022558843151158575453612739139937971257184507841976608758855551557404238628731658123648440698422987762373839294053719332157140042241060290233055771564018668378498849511226431249921424506537029699103846524293458316965871431697081730106273288659516184767968745397688882914681453964482233759218567692696380272777635688148716613509258380146271352126230525800673479908434931039183400311522101897117188262552647868124121321610158027830191560316313944124659197958672840243950913355253123261112974206973910743669567007473245327551793529807965561658458415108630285377266041340367345063081343317209553821437799948487311554421500141049465433515052024208257561117040234034793539795399797110629727275683691137368286775878401191118659476402478378763116260292808811105892139626885059941285811082252161241124784342523009740536046783940646781103043283844325226080432394214253616602410641335206438371321105336110331469640777822611262983544983462906185382455261697306621011517195220967614461152246298193966800553522422633645602515273034899163131850960953881462596637172370632276441687108264763495590463188122178390719565874799728283114802294740867676556793060401784815287700839711542404534706026328008956234949939678906755431560512671436017962929799562539033429172714975404333822886836995122363174066665266759343519202464812929595500069647604729199479963725775755884987554982292013294162390362067876706355047347480399971375767656958506093930433413876563400621908282774133716121871074650861407127056081821526254885381188112569104956573103587013904867229459174062112116668092522665707900241174768043353335530219389884395364110462041415975739882849644088595505629231269724636303665457956113289950343524769904840613337087272575852776611503944478156578966839296516889288528113823141432815588346720317219568171225791614394448181701046442353732214875073726517152242066381927617995490784016373530368182093831086707887501150710848217558015484064153441919555558358865647481882176759676353795222293541152033970269019198509348891004733468267846873769857355342452771371834703817570762955221728159396426751588177201875162503260359511741201444274766385211475939249030710211096531155533510557946042127026757820959002151063774821019127044098103543185300171200779854150985136731303820093595830888649164743053767030513082373410822485674867100314274578932226218195714761209916676929143394913166084012851756803657481729698743290094232248735491943487528534648755431042398778920734072756360179053121373064883938812581577210107215057620033114025399020309757678655496983481938302367420383174288120352548637943652037721338411612461221989686426532823705880584566673874407741840049473086476872474745304100811629399752619074720353485572222199915802177105567363108644482987394199497678059194164821110347263377028005010994076691208623859333784801997590407510832085129378121713484370978525369384514469630334081538825371658166442410179523400183183657061733897911068361124334273462302895510121825889676138757214007299394664517527214833360331838818277347465867130035203235493560422551750128861496326711241101957776523925394286334649306803730962205192718467827094448563390643119362998020702134879937247118904338008395561192607822499957380179003117563253612557059345022607856964223373757293891320216640597847224692987673477679518076857725943288780897087230880076174135794369840271554813219930943852258173780652595196036199683121298949590354510271737809595637111972464603491876229562533952139749223458032484040761002543256581094895399825950475421809283068697024784295445603121210866490802457158463438632072296060160934617321703067081491613636851336596495897840375343695283034658351903794410532439800910027298998335400260189249759199824085511101869022041395501732891634020522962862427326373110380910217928042062638902345664952908393392912630128312034430379202256591589742279828070602518050358432125127188899801956532451115684273962592522082026091921022177105663517903668131831157435236156806382772975330838901286487835736397549218980386979899818243981339909906413406593185057612716871424285539356405823667376992359230647212259128766434162606345675282313602733775531451876357819486069877384169502321880359250054083113079662486308964726512972592055173406446063543382246246613939590677277012115937870103595824628675738921014646740129739877762234971241478439780563369437100629962228894773839965967662771972628321343096123329391076093018007417135507881546668655488773336026155508500671163218311703493332224591052036033207279640662265932221645749183170242100510351849051403713953888914831824885661195231091416767974773605982868534283004895518147056219093006476876559008469170977267835099289000153727683437399104423672219963061730766814347546974061523239630973427202617076625824051322238232691955812316077416197630247194763312610887686012462271844699017283547192927446006381665843515385962417618648160344172827810308878446590132333684065992782295773492258540260831552446441074117786338968680410822642693396652076544192238226918825424186430337696160319328542021750941490463381722265589731336691538891779313791246979884116088787225094056482433997131497929388832522546105191391423280316887921001152411707827834775380158649439142761154205187104739368545031049956481242279205058472936771844806507184573027245557847161356950717108291354117126077167303317694972456191441361645472565533403939882055565120999656372865406413905947125781614592563249262071523552363558913461089416117863535260012541043850619792160238233166502815419953317161051911162838425017244049591174209833536114143939625629099234845428912799734630846640487934998334037610731551809181960802417901554366534108020238841503480356421214801176581725933840679769294855940402515655401864339774771626226993773154996136880388445990421196847953391467923512574250691010278580342045689259265440597381144883804805718692272115929244124343322201392562093214454077154544224330197977798605327561386525526151235930807574287853909484160656772760031034501434292481686702477373255162055550723468609541235060760405905066502789722999552223308265911313448143889521505629257857533728458449345112441231926506968966592837548335218959922887003511462652924412401641677789523581597619413234195398517412316453868113568399114697156844550773715757194784100047072476694280317546940521170378690725311172215985272911001085491315905479623649774509434761273095921878071887858154515998619882932453305842293528928997419075835094973951287246335344798850448966359540033934428214327808156395979830772939783169447748851662404585645441909354018581167244509370821494588282259921645561000664640801156291585991100051736114614582181127552663956451145635539796466954938284509878312118867693856612515331394304694433507792728664164821713336661127788661272193740268401931321534792468566262147927111736247177420341278693618300336030858004063897302731593934344766634290897340329741964519778268600970774697972481901909114042028428634118356659833006450744715619245627629481871942224616436950043046639249665774286714372607411693323977094846484574424245902274364599982701475028036566061097213858820063248279713332876323168522169089540441523153820344176413281352229242268396832062608896219634310208435377610100460010598398522143687628626941574536144256459565483974771367148945782735750832914559241124458916634744824950959162944986580540271255995842132319829742428467612462718411563848921222155133364770543835612801259119624213727037097384809404387097800765607565009402250128355245610304460620241509516573090748718246554596044821589940188450232442024796637627718279868536307964489838842641975840977331072150107803793346926606972617708996564255838371074172490390519774292679999136597026086397511928627801081043470854320223086492665642346472593104578403191127236791993002475957372343893461819730773190167630219662282296146101091246329637767181545956525423935333940330364921342609745204769670498142146834555412600954863383042829155069763062632190163044280344985567117619536319230644087991521063596101975103331476606270341576882187202087254135512016762814576523131725124114176016611147699467518273512486483463005981051427486433361692813240519821775292779995617856777131434925779399539305990455299434880598553266848904408497018453051384405299739229463312011273347536289220652699738835450324393240305437385251838724085754811614424495581331334004423989056330599961965206718850258286222889323065564567952114364139063362359111483432261165827330795431110829402372622237487629561230723710685159172414234507390343934140586446484116240414911475094875046111208805285272411348599051608185338003663981248563811122141560541907865419432885405613976284058134825873030568996233968224237221412713591232185626638222357630895361644791167027979695582784668908137121285682833698491222719197751240331101831558350133357562231537845015965784243233395912027558694462757704292278515341108617982145888938532320927816985619247773672187763323728965813960213959451440949287045566373951446656948068795276457923241375029888875957192957217883312534441962342411682591376794553372224080383211552215077382778759325484748748310144904348666191393451289468238878439760879723868604021579292829485365359636886994917992059700983893328223347864388179299496525960237981578099385207507317184890635168043702442369363571555782217834560628982386964067720733032586884900512257232580177619506454434655828133178528690882619619911315387911766527936607423322720200564122467007079284851636094394177217519400549446791440729892238761134827727062605713006778546921426328926413677584374810597231839798682195839162325158523397439131340320220361751040539711263533475731315449467287944282558088838215861514651851234097897722378715496263510720774961359633859421150286213719423214152338834588195004987933111772295876345983186439636600413236320944918960865538288752857582303454294002623149137726730099214134038704995575143988771111775776059472132739205580032076653561904229760524881685261401651149194822703682762276085702158163469290229370904207616197509437312056121060254122166543042933462059497167455590954794277113811306504752264814726840244872213208529274346122578361288545957512753221000547243444017256327430091584167992435682307326938391120317680386812395015538876026832256146073063518116416704572424864830710464392763271929834864189632479009862143264672486711011875758811768540375221033081863881976583263530465290298928314332973661819172026423457866151091331878169169132932401231315551192666376311363988230807740898895499687031417605240867887176694149783315329228287834205131460791231257625656657138778716135967766924905939368764907530102652231026746493931413579481386746420331728584074118088282046723435660602928438718217206875287123912771946696448725596573451097723697986313200182920921507744041833210759443136072287181249474372313240684937116747726297381164018870653252901124581741288030453837972332705093199604696488487657163411624359911356278515955634127568722474808206600627834225410134557798220233593314226094752295888552210379995241267530324348092679871584819394641571858239292189763847404596659088239258391462756054222482693938181679125135074465946132734565060395367715047914173436005089939425757414378317888122250114152363331129263296509042531492932200851282117606497433891220054755988686717303457600145293253415240713211885902594341511000795273565251468766775539699359705312648228862277818366062557802379510635532636864915615959016554422881834287125324482294137932466324958316167997123932188958399473208738470144394076164246372253619501281693492341295786643987994045369640843124418160691012415416503881716677102465583550636312939492123566555919887478991046860024157944924237299951218056181138090889447881532794018188517434326911607379874115104351028452006352416293005031022221362147656275089284271925687235630785639316212004211250439635827398269515385941686290083251160689637464331838842960693060109663278863547415421281612253105247691330328421063447635238271258335007162412523035452495122110281353128850966076346756851136600077803922307697824641947039238578669918882992475471304203517450709150255613757395481168535002346752592946865744003598991139489214824293395799981049484228403228228044687860421912980633833413718882682438816342619414913279469527129434429535581750405672112175251871568449885939652328103583370099252261188126647807457549319587970553198830789426714413274614724995138513810201529108725232697773640574676286211814337236736547689257703176046757311080467942174958191804069222224085289666297534605614614575338232293155036185487719286153323782166592393952739634060505250774553994097552297695086933606338009705009160637106708654827384933974403299222105831738671687047228989581762014143864989131169558764638341746302203105182621074257822168156021211307059601003336529980397768651986906945812637977624920491916475818888553137367365819294022821813165933146211867283410814383283832390148937134233933766355516350305178193232909616198193143153333890721944123250922189874433138553747403842872222692250549349818628700527258181384338719043658910041977616945812086791652217107303966626588152503235022444787736933183512441380175316488163747364210939445756933776096567976395133425964452977077877582262962392215982962251681924600491200652778121319238513656958408205210285372141661365537885551941639124846852411275785402955498586547220293787834547905704362056924388202765671284375767269841830025628182276035005332917406570901587720711766971182325610303712371851996201927012311156037366122546706398788783124454881563754095277384782965713435081638391636232250161870139340333413648711430054551718123732437191302251090545331705725296895347760066752420138671017858852957278430728426659478830126298228291412246623221359269490352648916991749123541883533633243492996371431986459757410151904224617808404252491040483664427258345413911737070946007844142556063256452780954365268539389548313445670845669135277755143762065502217073934506094436944535216132143851015364986902381720409786574573015673312952349273542470990852398757010742767493232156900805313123519821674673346028204446047319107777470942720311341931469060973398492804531448173380447180195368315485352629194431238601037885364692393737394885348631132650886723264135330717237683808475721359535678155195006364692743123805198659997870629584498854463265111900882461015313226412183424125083899180783272593047068314194699319335454298014946492338450043084614892726712050495001051559694337552713447704267828570401352863699314559178261897967956827551211980918667422261346709898162256123918189458052450805651933942021967988455673358530049721112601880748451923716317723787982188932582432141406948367785457672162275972558555767182370044114326845606654377367132355892192489913143625008716883471210417846813893366718280866691942777022342829838644128562258992134290818444832542490667582429456657644132737295262019386982637603568727032231423609662641443485633498368249199993697296339367925546749333349563248135448882973109478225463207680381422685803138811171039443673269712572449391773374942522587946891543968655342159478495073126393969045168498743582947110060641690865558397173215076079107754326245504882145240303645181589835229124395491783838967577444385335533799981530097756451253356094876000606367545035191070856366041105236777213964750128283075787350561433530113041902244920115939687145670549473795722064331402971452683310751642362877121376652250271033543181806436824132674943273409723522135256148786747119270980901357961703477721314921017036976017715981670903821984612489453727157016556049332802081101957115994511458754644701376393405512277806918956153432475657924107798174197822464266973102864762230723835951593831391936395829636103812911689512216244599634951590037295743979191696791763460434730644144926987556171467650654487547966237908146423274186569788536431802239296680646958535210369438114150316888463487070067108375247484455196641622285393365216069878311434225289624616797214634106311791427472926784123770771672619654362338715236992573673185505506014655462141104918380276610135197928781039544573915996835304502606286468468224292619817803475562939995317591724719881543592027643573334124800642693490140475759068989735250912172401642606526475681723741004545032482731928110366272386519625281351246788824981537261450246149659155238323929154846321922719959191292906688330720132054638031591955023219316423393395489565349882096728623996837552822064334871618104351166017552021073732564349450184244787932027694084097229590629091813233927016843823460048211853504473198812185845811287703521808245807784291712368526840041642226066330406600221831354734444121743442458824423264619719728754683442714436918470433796404456703409957570782789740665829199891345647541131322828779181134176412255646141721966468816323751680531493590166104184196778859514940030608226807679723623039774252159328245253703710226248041333708370178061720236130316178189558252782092439749590212736806797003637324373995405495853113328271777486425859789470201683806178435426233499801395022786042771620019620726200354780337928121025310063266635015679453087474076422424051040434137940443683334559183851670442725217484575715673595008411483269364089867862340616091399138142754378467825820261842517445623152802914035500656731532525612361461381942009622074842249620582926218851926936940504637723742211380363938246866741812556660150544465591404571821691148315349059001887298437563902880109857381394552027155877571350468524293377475256070102492361012473003449201123826161448495149088535478228320676885519436046754795891865718700761595288821159643352289541594194971074123183907375656039988028601672702244939048434665865932134636298062949125702928311738353450524256400554911186744572631763204092867362679272180024016306688506339561825942449104059831885031087263349298085649312679193144054756773949128508337375109640530520196266348645848849041254460445565524688044515728454432854244657809034720129369953106265474285313683328587754172796759780733039981978576538751158764140042107309866856998615447369610057672397783143509603038772630417587308679097967564449079387906386930692587624130382849520137466863064087100820335553766491558285989929106012096928243249531936475815025872872985810989338392848193415874269433263007921903157336283814470351454832349633133119498339752378483243706280559200621166484352515297511570984352917439238516157676578332145341336339263983108891814544877213781759485653427383473546125743840403525693885064836157784790100752925336508693001165922397702234148056956469303169249681218281235973404312222828324448528784652976105178976359582210757024176931523934448428847395263456723597199149749408208443867277635717101216928627263942894920192418593467559911903479633815284229031874913665700636756961118988833585566907681045859540444913107182549853516974212401580913483471342431681445521138145462035870237515967100459608677998608481993990378329415182813918217596454939857942455767768622765300817088336472936226518813200251411179324123486852595982182993684481162507059646314213537214340413783984148321241974721802255128147181843899257440460096892817553801350240065972664247062664814209029432384595993326426426105143329484554844467812340484316111769936376536751672021158249538759431883305487321897252028609951924191666125960548982295718815826891401330445807491382623515622277044067137837531328430665282048573170349898172215026544780387454525233842623144455171213421555771538216897216641683762526961360580916472942674948799679268627962703134439140415172962655564756096607448768785732678646852437844124908507208709270660721899783034518285701613421782081611253210477680096617441057243747741222669250753818785443458709507803725080183430561859224302420238843142060750161338320511104423165842260437733342989077614797625130803356060557342749338067587734658897781627374408776617673937643101739648625643463905396915171819042123026753684772325648627411189542435514533815495351899921251736622869145865629657770820737383419828742505825462695720518116668343183161219803893288155078915688847133247227425881667046276790680220309929438850194244544524552386684525827240372181326159823183594817259139869621695315900221309258239436446650614293949547480543262556756888823641160435312157874619987971847327420717437932425777622685258687624104689282551476818229556068426023464701102469391832668108517124380033886993099409154180449231986801265004116267989807962572804423616481264864485117729479710513461581237830717478298734032867905569240235530652453655003263096528652967173164428841835166722893827123393197088072981777246764758210907106778489522233474324316528534341941652345028966413721436259350959497796731726636216285082049113567250412113312708889111180506931151274042744000250636754811459541124126274560522564230310156643025257925175501516043546752073338582247532534373047696869958856432584859442325599343383505109059856432296275498276385127201118325355963121173331663718316053100819796240294546825134955732636509023656101152273361593269089448111800161211161535359096455487283395669356106420259774498145246692961173165055992813036784107810801621334546979244313917755958102738794322899306324317144545397603887861245298290457379865947708512491531175498512091210438494023042288675613939436206082286557691328022759481173793369124607690178047073559652689932201273693116706017952250072674088035038751115301927691746841826637759045286883363550751083606141565642459349709441472655481297576830556951215165790116534327018444019883987159903216386743204751135550170800113790558155311109429153601643690798256523878582905823611698409315015182299132012194605973683427151423194118161897588948058675261131443936943481118152509922374779992665236484626655929870016074035621263822980466600468456842227548509206952651577325375239349547246828260224846253651593418352550999244758611977162261599475785636479765417694204622169818705948044886439046498514192082144568592912829727419754890470299113451252830325392185035629442072819523895237100124044429949226943614708733611238560850651709057071864797865855276831794278755727103631726249315462164836133892939438370461439821576793860351805366175583421863352193762531076417481244138959521945921436249580417282844601132309092909430808486891903045165353468030359593203974206189942553161164303271460635888293957027367377641199191801116496996841902478155543340596914481920279158362733553569327812623057414649454792095605443863677700045320685200740979326052293785368166233184801927232474313726092578567491783269717357935118422983608052036113546845643481131772866492287275386956569952294698772928972529970771385932719243711047425927866038991457111783737311874337226233155831432338792491909749248408186369918172272654087973340983145875125159932366657802829141517597195612730783120123517247418026313225751285208975212461937660311815730137548194217409286989203046368817330192523353534242040302376135712967586841856972371958472101981166138369012373549172876023707051307141446656280880263365916618719337310527562722035475147303177193780364691056320694204946855663170865682416594500348084627176389472587448423710923355530966288789413372834933379021624211843745571254752313316398041004151860303577355544599368172947905924538161423308131278474517354939773532150874403041626108034431905085517790472601088882318438850826905246795961424648127350963288439613448453550446653059051254556892574990458238594436421275828763939487658936089586885596507922042332477207220668033454198446492384676153124135417602205456173577310677844889309170735460914428574100370037132237898517029869399653877654544969976479235424952473663583265492811830824321724761888136577633683451849683293191977533702585611383999040015195630473008482411224845012571308326688601329349050841525797686560620338197289167765572017408543540328677154077679911384459517470509047642571182015871775760774464296555881914579863358680331168152017771512387472871060451688522617805213145809482395828470154237153823253172640312886129991087911688270190164506073176574658351386976163251320857752016142820968099541696165898759430097356504338534312812613292469728170470680064368462790639949921353086644357784218455528370262390877652411353087912253489125147740653717163967391572231544738128332259322202932318751237742736014973204192074357821616992243967242741313848183945150393398336039557074615985847207380284472064491114205475170121492695468034151207159774492292571245234432056011359618188059795378666761072441198959186211547563535774935562979968399050226986443427766221290976575075421592788918805765279608460120155353066224524982814460884686736513304615157935246685421307526953914100292879770539181906836856856960514776546543752091349421851445723714571962907743273964511762949619563250187555013251378197340171589086312104996991860650853247648353822431424257491098379527992638595273118165026634363407124701453737844809199558915762397824778839514718313101955530358182943705623784079795044760584530441292090573033173794027148725898139595622911845694937858770973223779031155841956624811996870838863395141049214273545190115134919091636445716652968715876042668056212240663241422374188814184892561424173195931226207612923628670833616636070150071436221850232156840894869667336351167982787459603930061368668808663309349078345623494773143344671926006808439885987959986357052751130538548842231343989814363775432810143957717373234626495908848539701930712176644280366885427878455074405212311221344276280284204793534850748236413264426480407010692404080804323804821485922043306008623285858841095262928617963372842333202694350266283605152526541801828107087843936729191279268516155273869302437615459213108819758175235016270810913998499602306304685386285911552801218178669573331757093854831414628451410152166818410201884451666812001483397070907468962839977510256828786200526298701030337530368809373156421001138291673154518097278914909921085237826321128938238168641724033489695811804437958685975128732572084429213162908122100137538936524406752752775867856998528196460186366331115726006575042412815713169559100182245435706859339617399169179356295933519921039138775499475698778098748142281813815517136619055428013361450228225010007311089420568728248257483504052779163818206111161912217490768728589054823895376888783878023926098278341132649048281412760144361767533645782987086357982586160533702603168757725515992411265551513439234686366994479885569481281464676983621336956007911700405109596581627637964916375336055690041975633027653112509049679418482859630874978181197447466835612312288697555410266090104459176258318773798441528610323957073727532719975251524641726736399388684233268254021292115221162835768448243358429806941119522826205436468435272832674855115962807318962417333302810861069171126700421400655830282242189841846517343934103605714968823861016341954327144061715728794396198048013672060774354932622518035367574932632531502696824043357918968724889495824530844516859537044975321052689301973963050870606903212128241354276743638734974877759425426343394391248951859613521832238873297297729116868048148549717291243102963796457061722541963365113176334358947993787890447401989223986941334539514056184824308330714137830291007068101353224941452365738977742608497155172550196278995300568969368297096347339679884360976853107910764374163791468474079035052713494363623611887781524062275709736611821585428922628902118127285142025996317471222166125185092275355173898107568239919235597035683661915166179218849056038179413778622304763741280629015101082881655801020531234424462624017966290093129445042745679513845388733752149018846228428074385963883475030558013515137729863858602761640233278929345552831759968241336113226589043673872641738426854157037322761626705284724879919547163354178151397064525489292219550504148930875070412000973910131918054208186704609133186470079118698165345461714916929783588040116637329926493618162669778127564023548416713981195116082700829506518932635326588967518922697689907581992950270619461673860967638081262379182362128730687249316251738376360977648920870034252554413063321104506876157289978610192788753133228868560675678585490773252655396685160931507833244982376161214857907617706910337646033304470019132517369452263903685355119239845780918239360204755082148407664291756164042728654763241524349672415744685963357247979892340069222133683251641231561055646455934434027112160518823942625314935272884759421584064976541171446312183715714823509619846904871259861623551616518365654243419196035597732880606615948565159117331149156382705950659432269167751946261154517148663143066357789840288153242693564057790103521351558789066753882785796476036185254773547317990112270988976445491826606887607387726900377653245541254861038615317765113538754760147870479017717888150897115550396599069163173465871661308815476103892607116990489327234912038186657649700561073693237834558103226062837740611947456867695053940003158625012453969192771178526648119608945640847899203089181186539242580007757660448943351910012885040029097417908388046627536155478357979015920606965099559291448913061194734320756124408023888844155539192051670121367363644097808574675014325061746405440367827441839394175657873319282605492133549727131426204417160586673254134341328405737586632568961285331506563376297903889393113641754848114245309691352786669941391377500613579151328604669249090900437808754205004416095234280482155216983829593344814531624231676722306651917456304496923352611395674580308313009308596985577936836781869726612121602140706740443043463864792049040951221251019246503695725247553412858589964913290489365639030181592537903911036838816687161290365025796834472757668293676624644572789078221751437845626814926919894679105979565611116404534480236053528192682628153275548105956172231066681815135477183150302439360857288186909490603421032203408492727948371730088822165157494809438180008932729516928538681232417923388731051528128835114161916231377100379522389644136633831978735719405322301134906811441659912042136639432722606553801005601218558441613250731589971895916984496275750886572302836533887806486189155074036236756820553459425885221191958135949938202222979966511914328041867980974344863685618445209003578259886034247429195845643600149735029387541776184011568881152598910013782380784201932676030016215076604088526666425456726459835534553488762902398340030257239187143854342385501950918338058272750495603422126056064815574891961352282959117614255178079014952886920589701608485081175878530575248532355776160425467250103689450644104727001331282406023220745115735232825806428894382762135734760006115448056324937032274526771038944518648983762205293624363306412842443250796263608751510482845294232278474480944314596274068785145625534881847982109956462529594934927637231672444080314209505735914950539874612925970661041792709644641112145543961438688540934345849611812015205737353480129985930172385903389174938576711935551924591351914857803633884214722784638632678272078464016330816545833542013182477208921412458238623077815545356579334439531146345215258654507117988038425792772053192136769208550157559687702441211105514272790455129865631404944347935300047041996705119053834581622148251971768166545302495607813405944754882356047248116232716493523966054573141627832860536652241689383353769539332347022557647015370904634288256944756008182315814141308989325606804156656166410117110313851262657029502479204841441695818629946285467797929412758123594108842151995343111818234898471484549163258497999815755901821444960545413101831370718548969133549212803609410934752541855125071758651642487767643823171975118025494641187177345345576133444452160059808327460573855389526115170712598590340352249034146934876274478743258434247042140274623005388529507693470047258186498529057826765272073946132979388247002098332913935474307113007198622546718285482986130895687442284644789808213139465021462171165489420826360090695224288800438938961229325028867420390690756445964825101364935447183685361993342960744603172131234985979692334642389744430588908159125750419849749558670249132951196251013393629706451768212169779124583332649894579522742231759564539851630125816011276045723543444315612024552695923557454602329894514968475493540694361925013390078217963233392504244023334334433077700412940118937274755388021053350156149915802968492817767774230256957111508563237331138328300246553484752748187409659080957645750603782051172861818676221652115800231158326025994243892756922215303013106737900218590946428370191657626397151930223776947247764437339176612120735712522821866162569103255705856546259873668701025058522245139533344360204604131375218228351216880375199043066929404982693652170155332684979796826394215781528951273161705892954379398277384949747534381842883800323171857776161299187715291475537802367757311163575749436744489333912774125202418418872326531805704488540226340790283844484046536422337187118344687375212463706922767411128059936218245617628846797215215087812700663156585453550759653794351537716322534331319651305210951304117602679270313993242165788511829669341685734976551795929740534493627272297451788167204471836448329644868152964876264416155508876248962149602314829771007499761731218075421647322163591364834743588566686717293120940818007391029069082759721313032321757159213080419526857468307489473462740088646697381532571170531275745969000561013971609346749319036683197770300265488100263075379595580297537514173665506345264749481284908711338731353366963660240786988466027517237184386320295493711012425890406975696643451349347664289843382742899688705655377745406185690603611904685042655191621302281380966290272916637505874799222655202677294878871284440861934568301836467556243559184428572481371263757423519361901251720085921143293712749993054565117337934554527810008427435684022219857428371143157922282969028100469577618725562486977968403495935753870682014003736180919481808327582950438243349702153620375854265732957413663721954975832654806951404418131637938262023641611485018222707969664800312520471316219861641107036950244527127513902571137653541068924102919399528505720655074544757746463212780139313440972174380523184176561065213423133013203513939804963885836769348768828189148120925158854204372340741775761110785904828718958653270685966232495019436968493628657667846758891562157231660261237390381294929867417074255537162127411991500178849404862840628066878736431804894953034262198050039322225575086618762697906487370123163517404699984702625212485966970262990851134062981041517321481795395618467919757861987364273774299925731213799373084962683831616943640233455085526769346927304616979555947138358210301358933493489671007987385478411456518068007104713110312093347445588425773976922935858232716768509838817828923395700268837368371735368080739321736257172209957282792890707593671167182540110552880410595664273083437516739406165515321854444229856141221421277462865842825533132047821314318891478341675076079339124410866648608636274727553248865700505161804923963530112215224048005771109633905932043110657965268388486054647263634820194635241335829161970434333874921616345231426842578437566421058703350557217305225159368080916353463469265735721887177180116224968799136846240040155978675687140232825946402601311111999352482912148191871048916916496155868866428130320620811920173143348591489695913554113913050324676635627081259970340156222727162355862932769579252558713727581932719073235183636783425270905361107003804003759404199247574365245571785204699182664526824482777292559410327132108574287249292818683182754109115338659772325126436265733237246316643431222396875502203458041146941387817466920052180773097854220513396819192698865625366358682722841200213997988069815427483268324805777636141573906473068872793884386920007041954551156182610339416163745448569611772393178458035508474624884203494278135209604655251231978198230403300014445891983995459800111321142446537902509048475004523180311932857484848528968023351961522119461924239116471694743765252478771263291769362846160774336498319092203491550628631470703335377155979360258809472144335038767972641091636996677801481529491748078398533113452737392509246591885692965493284772630486043104480075610809779294042085226920551729643582741288986999312107687183870394178747951815832023352903527423348289278699462832960932823834673588333097536872296608360928336532188923671274230592968946032632141814419709017048675480779772373552479157624289778512266628294881516665213919638212516962144033294907442797926779402121630308822544422211381911462448799901725124891226314784656319465323521268407097911153102782437537564924102116624194413133441767841745568504278275501649904812661693331843246966032764546571603503572911426597874103462875904507356605684327523213113295094056216263831295484644481221720078999435750344796225092031829700316061819236513742726515642455053767966095085061006331836187701308027267113596363629438266740806833452990679032134314635016932637883739602368598562415722388116771838001074200842613776521745346571862494313333443103595836355550242438866290694266633700120610539241213551294002606722966538055401271461372999642198166392038441265905950256231397277712986811251294312482751896721952503811157248269322924164218695237056580225897689561943329723457641906349785035216428371960921703891740888645247457742922868063682111861495856977613619268000573567641688103214494507533469746226626944203586951915700175582608282391582819261577801207134715840628063288980927362935220034195893538172996933581790755240194998244877852555421902685200958018396493277016543933926751898967845596208213951856987288919423934776449410427412871824883268912544576366176215883052866691443075791571680223814509972599487956575745184697141493098995155670482816716600448369448641527031182209369354215043723128657318508309608385971171564224025688143275241127011385879282214116416415996344791910572301237142866265594462966294362523847677707013441835124422582827533868015556551693754756352847859374198157724573759568644922866206397934757284335515285460722775019893519620414772022982627914392662722026277122870297022260297513932412230284644731545953096455515104809770687479542898800898642061994343588753420530503812597166586991296736436149122165937359889658689850119698983797314253508874223571136356989337038472029117946709145185173919315793515852452195794121064275203645109279144572619593801672046756504155117463221646437598572021523723240720287195232270740918457409177839172835213817801872348824127134904379097755487930170565653933242264450621286583501226317882062892598167783761514932222010375799778407872320773393697096023789854115519529183242530657294447825427897605903111637393386013488095710622723390324584188212577844760372661580048592433458025017731988693821358100193031117363184950273451383784803442083441913130134844798162527181009675047205728806121154370414229674511466423137374053377594812792381211577113532648599058418268291995169351298261513071671921991382021435973810373714440404020106500256625992598220679323544828467572908918798382243695955844157871228292240642112132222194676702621328605938826616508543822955038600320285911557503219496787252838019611211357283102410112925706189294509746479351834913343930585125052517603215857128537746259752275439856591959617066478596118737721564718521335189641473483556631774429526467166477852755973521954164945115772739229912331379464222536005716015105543632524594237382246138809412783802425507739809999935639935845088252710400436158849996513857457267381124441877946803739965278962134334417559320457325964135135332449033993197564987368789216580751321937926589031520831186935516011894633102825836825962235598044466530676643212665828976512994333661174520782767703842752636599722974778857651040667647751330727538957366628260158822542729112237809427573809852307387441390217787238123723746727423637853910533836085129454160896648040313972277113432826215717227178849352895355829343264781967114257312770687202382596918884060742714570197107979675386256335238745500223860275985392826480663673159464779543196459096926983573596073931977841112403184865902544175591866196264709203482965194437198108556289097872378489432173668762807441873425210412472047086917712804667477707619993106616764575329095582509328848550534363641914555086247319458979677211932363396541153706806507102710125417311292119961765376498998379851553036364355537316063042938502369533710657386381142862109195491443526821712482740679479823511844869970915763859191910833166480021422559744586963187537887735019617830028349155198103447952885035264506384124462351684037419174767145157681278881152815343541211323779546613491350229424918844685209713677691848002971583547134506898181688486669318869566227506125369968315604595175363315073995640235919747617416267928279160728787353381047331362230395731666380121184259178742753569312396632073396140693577135492330161517302908251283990912311074893858277219025463258266566060620522329714424833290129404986234360684473154315679845954682621466295928693545778671813684364704369800644900806191793783122611929181614769245518293679546679850869888316259623425561430212671614233495732922783233728322425360265906873481624328039672654861963095222747755016238438205458863019074881186116891038109820573512293436083658565113751471978518038100916066673320436674611346373569821837546605022003950372556368191332973297517573921178383566419393955811714835168223082613653477418828414655811403620078758726937507255814314706484778251941704285439363897832161963329212732114461161407382316982983258149745601156066437314691612229171707010479028497514399503958495969324154792191752703031545743791100296730872604765507079320125048663877124388597342184694635097415575291723170181992922314568509288371293152636752889922157115506283753162415735173953829574742746564552083257537412521886497499659678492110345181183926008652548995053489332936117277846676999016840325247513413873814924959166459933656035502827211797471562536247606283875756473569796610473522082518546928296515406300786725155049256585609788031362088216454337316399206251741328971023740732312112808515420072753281915416807028605241611887735762706641211029268343402005919590600066527789288259624119962598125856282788756431981748229182989179553149313571904546567845695370355455418590805944257764155893489882078745392136257101883625319771597321753046657344850314966143531640403576765047912311018851906994811401896198124779604582494726678225772575557526849092185943795817032204537259824499411881008010113129252712814484082869447709882296521009327251873871850245449255937150814797014791202435393582404157634531957091385146802259969414200921448314388647217149828022327671114545081149096650699757278166167772580857776032791612936679311768879738022884734494450299247945897977323554921055027164934176843586319596507676169037267687550818660637954046641265935343913409922837352329869390822633360875937351368031503625013425563385121733306285642072774675776513083642104132249288849055796120475221057557918910159432276464385131410625828276089608730762589586591387593225161091722467264792376733839779078244083825514131519301951629203905262891379962434685068871151306083312546811000597588325711544190836629855206982025792005709277861600501261153246202280968013713595646253238062432595425278625717195097829211432909967727091315079819193604334348585533349477347419161553840096554622261374769954264049630764804867148577240431904811674535943457816481825467584161405440833513698493144879281897251435253337459927106204249082906995284289631702453695899998114444145662355439821425548133478697642224008565266835327473528929951851354857730498382666683197922290164285198534973217257095232327953885589661842629336498896238084888595893519893852516070796711004453857195738613095776339657010427173810982693415322760349434855933162632533878346989855067734324742811301623973033902136242662465360925229514089279112473701242288238766964164676890688886321391862354787470008666219865134263023928734964417177526880468240938284245231680612782219711106747373813913665192438843719458714222897970101665698622397226002612643760346419553510178588885562362100811284155594569008452155736662912254168434266142598884038222102715257436932067623576235039591561464013493655148226063420668466034968382287073074392658468458352101318465443790377662556328147369261844159739500363678717231533875709826471432150275002461694897831737282215059394803979216187215268494511793391199049514376905226726609410277946634043078182579802251313983731410689436320289271894696842050811638146916140146466313596031392175576243164503405138762877950090206322636415341836124345574809479350741840684808684700326915107822732560321149696112808691115209216394932213773315307544955515674367250331807380690149768190868875898625686197525603912842287892745284473689609366535574584957452143141327423309864576002373931896690419789936727667050554346892134682599113201120292702347496182349586897483268389796386140152035386980986217381858744202853506690611275454460361321000887614108155044891827034422026869582467910550132537637844610089320497516685400916503524646466090544173507086899269831353342146185455741919142690592251608632531649656629001879390178206099568260400274421750244691044849516690650224648284759672430373844977099660224489706989219317056016579030716341267357199132910881972507715117572548967175429667534912500151582509336157047747349015367319395412746449324802739834016527549465312219920756097683484159671422233318653841340462436972122682498299251913813156879471315754987384083718916050761248356358456166912996852508950018114535110319608585924935803195241863364584263922564476566876924726802441857803071542961179242893339755394794845096283922370439767456381055096176258612059541044472114355107521783514783108328158944749086152623204918491567967595146018224119381990418370600116593569711286023254283784224029242525344487687864142446427394730462369549230613394414247738401319934746807420214512916670450201821131337114707082636285378816044688446483996962256327154113045393457177728518694238135730422302197404833921941896754827143136263529850049961603165287940499951837836936867293464286235703802718004618878975610987133309309236070540951543988106629391175232585093725492863298824751079843696572751126682913449205884382281753643257085895296014435506525131403880338553065226165716872562735634564659956692819835693186188335484760182996782329657931184868735885797351438809639188515645642965257772864385661694232162476000311710199759453761162247696850158609399335955443549049001630475071117275661732606777847101378692880941906534970056185052903041246307851494704317982047474532771301616666322817943011114624607487748965225741053611319671537443030398167594829274090398983388994150787143322679501719909383638096795405452265590196526851077705034596141150870276052363557174432257865843077852882368630339980702413153306979487970400991987653237658957045045438455678594865685375345464637657230669138099888813643824415255567860781652478939186155347320817377123043726037226867946115380476404914995313064173409441367452203339753172597132183725352515205253835150073957413836142729816598987457913167907712594269283152479381785232257278548214506021415027525835247434919828316819540220250781582710163046833308659563101177682801517826310271070438227357044176644297492758033027245101132476342211056762909782141499583559063985474854542575315354274730519327652038626174353263800965162770184570205221409310058655511597616266265174684283754715024188594068439704259391486179732139214725280123288388194190773269990146169913216223589788245903491251579024745193153048913093362322972964634323823219080612774039680543102598105041318940344645763309315681628680273231007325748917032952938136747554216909815580770734148528448223222274778291965883057852245227631339635508922834436352063651923709385554202678364539563446474568635741963528243479421973172176197313481427935425831927011964157767583735598708954774140227061620483832576630343885517163607243777176344094697477919908207964204717402288746644375344562186283895343340748913325251489559998503205518464563179514222480374642718239061158073159344474802347466636530514141456363077915191307951537712496925442874587119180195558428842339139661462326809428808264796203522925582032901024976009870395229048665351758531390173464339846421680813768597957243986412817635472669265754810081674474928883338403725544355065195013465762939913453462726729057381339182711502942160701243071745397726492601312270294519158267341025862560376659968417698281908348054339281471555448716578689881367120542686652150008437953323415589867171782084229766885619035300786239246584162987615240602331750954747364592912963731370673139444645633643578585845634700007596003611541414331128063474295712780021547203845598762671093308557191544651331415453247726492226724266904310298648695594073314373407560073443204697948106214347178729366101797274012623393693261659632022166223307664801905812921871095365744444544405044846522011022865873206972210691525713651457682381523428736880941208003630658862167923846186005851622767649209267003845487382411613219911573055622141368712402310485423325483543703117616925432418757364734878545102721717217823322302263231571928392294899228472741293703861429688869097184434885051251198991272387964474642557559497106872446457522649012372015215810566778153082033547018032682659547748405227216491607338186022892272640654877889498726370843107772147493937920169384334577575664489289501639413858845510712223513476885256664284851068580961375349022409469664686279970428827288471748502188026344522671680255259227307118131361081534117820212441977556251894668090399802458389696420451392969852252003968161626233137091637613179347218765869982101689719826414281627960770626723586320897039442075354040309355325388660562081736091354861158301726235769165174128831788921499433619315016844733341848704653308139347571572977766339142433946717930488923733546055519004131417382891783883454846114492232582187760412449263022661321720633537957107826547270676576634162456743337859721057553020805274920456232871612345279236136270115268966149664147949926539637324736608226926433425919846153662836197661747618871731223367288143528664761731815791150047663762046406655091774920423866907959819569217355936955725862656367402885367973949029566824130929374293207312842481452977552925937881366677883119496667459950325349115588758848952011985049147098169836575663938586493989039588649292964211586999344230070719519550402727993553916350005716511096337472183142539387932041628767751267551309445563619988481682372296988835638807889349732931323831474384542341588686653071822639575037188739431398591522139849764750797029549839656514952752525739768021597393706313188816928600717147122149312071317098152250980830634534196562372044206173823144692147191110267279719625816543266974363060906276979126111657199656080387211737274731574153982262478175443432955795744216914124672095469636819554565327096255267877392326764079085460337484948784752250824328057720347935575738944333614364318118129980512370531293412297529974680919876527499194177681100477489288502402585559031243203104133587180661315678461390343808829367879911931886085316231133037551605184275593965328675371753969100068794863484869042345747527047070033447112617585476638930826563262618163035764642657152307812524690404147622528713834611012503385577679819105062663854068839924458228343873676471831805217468572722314321797703633677773810418937814805617554519425458386637751223534015404787641416077499985541542731482641058939719747836493264238851199836170812451217164688149311702269351164861012686747092498871291502685944775720280783492237748914690304444524488521007682233383495415235298445797741059710251274268420193003588715829069162433495445967288867920218701744464716563380841109218979534313291439738371133630382251572889548686466479113108114134742001223463680356151728256311371607911279354636357267941132118255666732568277699824142998598024219014412013156294536093572237148937762708253711904831977647097336220197037230266389864552705578259374153017347587488283649064634897539121880616911475643233593376452647973510351931145039281881352103281927245275062942944584156506823736103458762016644705875225908094352124871813366826552853739976237089287638054014265138295093535512390366787782464681902568992571414283650473149310168906020774423915498362299039673351714394883552685951156419097708208705195435164889431980062358511385047359181642831837425752437287558905884117424996154451532899602547017350897041517990313362690234222635978012544190756732115229003724399113012199337258541305083833528274014204549899684282564852155953538556475877664217367915775297777467172766360631338400521495338968161998978672170956941000789460384892195960858730033767844604198465815230699757588962065729990135762106202618681702611922365470322938118364339836771139672459456692592232628702527956316974929967292040557174741165714912621801388451014339928987478381259735319021784205045185911122558855627616192624254575366462087293188868628031535749619457428514139906442440548723563665285767086263695384600406516287650876363638014189415106200304065856165731839875881852783053463667083368611655233312144648058063960375881371026756240378524816889681927070333066341121496813082044475507364334384841020418242918719864659782290176714264162334530981480086413571498833219517992288970453947131568834181142267140514157853404644211377457433911390081191598454247659188097658213175828281422633335343539271022592156129173531799074803624981411316791871547168155000808165249810532844876678736912271268306193995154307264072761398478233496182439326445860392870662831445881954799527625598684374835304029604012365455321993821593650183777226729185766273205339740808996995626266244455002539423080853782038695133065899197705689425372455920981716794119328762302863102801411476877213389761794824011060821418141546226719785786448128918856614415843484295301179252436037683192177944619991972917076540938307339684881463967829454519917498436773107393959294809255388126789396113141768321816305159509257713973631168898186026851158771543714467630034167498689932340794087640168412603523819390660816457693907510863140327807780495726050393056776815543001486111720354617475715772704353309203498402562744408683480329327000135158438159357438624310543164343020074741658146759504096839115263193158633603383487811812220975039698329357611430510958183215426684613475709341219683408048708302627056781040161444752876272038968993308634961532365224132266609145533094065393714761287802629824427424909479096000286925554990963204340045476989478991843317745063689184521395224258451907031735912481868032492440330529374751223680611993517444051323153104365713665320641653724799861172413595541045093650574153441747056045670057876520430376268634235418977340580373214051539181936572649543365135953132362013358910732761035322943709476453748489334488946626182320488491391195550982066442243766510489052248664900842125577589684116343553449261271571995722503427455703613316486155287522292690590929042286492954939421402807620042821052559865353734261236812342111266694663114196079221298828232749622249908228386604350140241512651032014424788435036969228133800729943526324358663139728599473585842901029423544681699087162603148614416542887656101489162974586612385737528811735027692277558670499136673592185818239764975367267295626601290287349383614868285030694492731102059741077834237151165919801088706237027564446333095794582968606795946670602796877959593609684558699131089493195878168426919278072728928665941111323464972623452183539188537610148541584688693934493476979046604247617158139704615959617214160145307972517628470693311238541583572326047215466791169811722344230984097304944657954637800121774265864122383638298221725540158719724293996942312234642407300409671774436461241128828098636008555938933744755042118596514759917332021516164899827015320761671712234331158485735550199066703556653942304622212980051084612989549071122967963481871167886246505924286525533890386077221649379476752821728374701427425053338778325717464524805799614040374272280712415485613287415750346032518787131245717900965937206188684521097518794904994747510853364389810758308163491817562756319420899283973127116343481948022237312269782137903898335074894756972367515002762222196390521642138715878141806856370919115038801922312662110173835472500334261677420734958255048808911415934888162208940426258621385370561126517059671001871668999403189567081694953895912011943434051491912360285618796272680098471258522479949844771527537383618776883227532918285294367831778302636316572789033443316890498542748491474378248052591251731830107283933277744854377609557891568396351221669118495440385506518963522750430409384086109898047088279457443679775945837586291052897388395272826361536391506624481281631310336303441263210087655761891084979872320894884718937850413201869666593370222745278487808510745983730108983258596518172386107298511762412058634105042998663635551459373663924367241025521561349542724578577004942211454975549711482087320145995205586189345192676597221614719983108083598441844939678466533745147155326184126930684737158883129559229033299560385504863246227427250828197689124954541160706376164582026194421574838462975252109143230714769120581348803016403410751927342442743489382551024190834869500796226524627612916270712504615967511404439645376353377125489043574362584710341530691942367803682713964034046961327646760689459392893702588169729784963544763707769920038288434717843430346882887472096187162277644619528590672594596415684412173805668830615692357598596388921333058140493928588234927794898797440815967615870554753487192201586645625423590294654106120934776006070301222357846182835515913655179659226039944676911768613822482621317837841216602367061000565323710314238032122841901654084683099053724018948295675101206801993700348279049729281622161827633666281924422802690972150608041982403253420695831024305007558146447943160323142334389715684956318387450366216807409464761461839002253923231608919392492443168882719116609673088858880272544778347176207922773670351434275165933390417797268461662787597418217787013505332566408819347924142598548432248217108850634084145421293567724531798111899152173341454010256791472782781887197976758615433613514483534557041883534463759971551847622326638370448761252357862689273222287880930663023691231569588657565667017020173258583791694356461362558261162988441382096771505105798701720397122572074920632266547128256271537469031648224599093371169643132802828281037258615239934540391297264147983074291843040353164183520969642705552951542869021561883332235212309879678806022252485146612741197166280792235939365599134417073223962832721306065313231945415631545773155980402834842093540590872708032949553921614427904134748270373387155755155033895661346155318027219405327902618021122149395172330386493801013134258928338953947376924239684618378856836183675993511335449721482452906855751397276553101470135902587053822342721160009510915603815262784605207034931678011435659962729225845337657170294752842502657003560883157500328799131759914293373686045217689046219517028058164413705521451299592993607357465613385634498668753432551004863856218173489293636282086285009548208839070632059125414322461148633783020771091659971790052914624202156784332541406697842150552853168441074911187429952529952816564408067953022305365499398362822433510769009169296625680313429166238351357215383938004138971695921986846352252036531823632548782546800639435311787019974534615333613370617417973952501091290700303513353082484877117904412855444291055509647662632662534339639398423252368643671472194857041457223110422176944746624025345777709377991174728657240523038515501903579948825071775885815297500013418708887159615080242903671144044824186712934351392703672059227759748441451119838935746347144754254581210268834737202935639817200050272349468722788642715031077343726582051682516784655697491878092056668891081551126513035581782789523992141421439632775588360750772578091439358405161827261243460382952932431356419692833518117350312684523651871925108146419372754775042337451261402369177994999153507307594632688586314436356937874754467937684932368012354855833505386584317454810583275947463926347328297590867495486240997683423320228245366656653224416148081563925780897835749767306907833203754156657851197481822138939974996127500053642009489171419170436424919946671913004477724694473778827870595548767171711388199825222646336672375793522880228868660533561310444069224734747074459175153503735559393158237277611187640353283144018346304545792585899389712880178115742307049535047776441412823611308238244560680211417925048913808038781989618192223287861737300527151022026689022869714066074815681097777224205357472743634350927736244351765616352399159253288555305187868081113187376504496572589498403771688257230584918745425010319427577991192337752303708680148912856408371035599817213487127672155530733632292232081500515315653749451862932364177223311160086807959819083106818722513426384164610302268917981861193481218306017053775574659227798083622364462591745627611216239800232307649039859935519522472396658389092300232293542548584222826835192452785695673955723530865350725475551084718383249395649157945027916077739382449928515861083655523910866204339237841058874352502749163681361686556343067571292316453594550341481267712578384904599911468842818000557933927502131849696298587513789479953920101218845561794337471670942285618444155407237280438708923205685357772429254332226961994117839888602109683601511963979222923812111375160667140037351627648292919706652505157961333436055952995002703265113255380962657974252304416041507772219385337550918598036427226587182175239959949615418278946368155070791349050792878577639898780590872584879954695447298343801345374692114768680180692438854236743209222735642297616331748718483459054569243548913899456433703673361189289714130592721094117304381196858756872549415383701340562845465223435383238722861083722982565181778519436434867741021166654711485515786628850509381353575976932348613560871864377625787979999494012225332200423190236615485577228505966584929058752142729041585238839687845140161636514261380866671570255224476213768157261928357737498773388000680308321861738430328697252809715947662212496292100943400616800354578927541941950293870183686638901335924276967859467810279893100700095386024774878095330360114408846264050298573071528184347890316138623723430179400029088042208345383068864720954405561149481567536830465268471500986588831620984885766287330544677893746993297977611623463047521199385148310020802104766082335495218462252450753149140167176931273847699506561141572214930176890706374666128994235500420417108141639249361346013823122911141691369911922340369097609862778523384165819354148189579921242481753579314803913689210932147551731186412449436961764273911401919261382435177183631028448802334944234233901285619515111739543285164771924686279180871150366386414641404856893643589058728310047243502125213249336314260222928999186124543711349819479021512982230449919771147614261409676127285407936345703574884455922633405531252363919432599204258217872491449118643089982561952651156671788982228390721754865643072578690212886550098114166145856443555522743957216493169139490893689742328520128706369256868366007071818723813020940606696461230656701049011910068445693691344737366174685102769446296792217713103979943520756703014485815442394442764038588811625613442822784224129032204314521360125948524267193918578398108572435863885702248343730361236370939933745836315694696802918292541456881601198213113825154902215223432785573527792450725637718028599067017532511313213483692386191521856488587499616736754538747337071081971586029461759366318244398305203005978779238378993845905804614695925195049066247389211338322757683891678956872942616573677154845553152138585736349537657132381627498101978981454386001837315010101182618938003444922369958816157043306945915310386136462583643211446599015558925182985085274844916711157264396554829350518090933041574576333225045862752934253150392661562514304895936977066847110122219281426928896528184137427892446897182244465531128179460381594641752034855550055733740023035286046038135681163426614754553373416051439645927587484247781386731989500695252373323406817509398387795312586737249523495770731631446271274255487423866849955483295586652207254673229467522798930592233751228497276173598873603192389934279117977871315170367223224072380383271844478852816634268579466969837297966169922130059628854877995477093686008654462977702840053543256080932244395335053479523994765533314179331378871548259851916753065358984641024192714228157918149891616629500567576822332206457819273844579318294126970710302613085018105448448288566072452759200213211955873702407111901377235099122376558137705621702264002113179728650755549514874485793043245776084530328231631268931121737640890169714374994618551833916610649143590354235459589831432255034694346441928235996561275195363221557778304325929352649243277293626724621199334806973806878855234314218777184255735241534055078220166352449415397816118271654551546811145986174088032411038582481833035348962473923516961722795094677968485018665125042174605606910250458845159069771285536271378848866371233492740632141544213840209266391686869706813876281703550979366454930341335829208862678440696229967303743125506053570531314492205432829353547172224421101672261484885290224031665285708990762346554048176402719802770692984137474305116185708814281043010217897108332703254656292455235322287344516691075812142228244195532213817765854221329871776115996103582937761171621636800161443670663220783353026601152635741462951654475692657122265001538609871501431941179667612298792485321233101860084438464344639277354214992588214364126120237712279772343356128336152707336531580495322047941997026118365024514655174024819567584642422966543207928316173549278921552860589137045286637613457965124602345636196676105598842988661769622264464938512973133480129012941770423146440412916252256295089194450541378416202707331944309625875802143627248398635107838515750789652754417411943473581348751987113348143118652710064251233494879551530062545493336532188484121477904113816601154702628227430690126340865774649136091839466903074261681470425421366160071552923532038293620915180927824114451401919765274536144484421168950727129697915823744744781187938533047366418795537870942894201127270944224165451361159604666595145391325334891615676346590823302755697219143130956123963540115945658727204929247371191296918155015947598154796717385072044219772048585836800061919043936021627271855362896049287847727390892872991242824136081515537759932632022590047616969215911934371337283748377373614423957956612017408432502849253531491453388485462459893816095131672827527129124491745445317334288623782637300128774587847282935005483356770478113608584258641031449931565203687217816925754930436849021331432565247582183589396410804318399322638184312494736288387594183632577402952312380559990162619026328646512418719817758015283119371710637992226812415663542814113772501117164845494953525136024782217789116963313287896971017868932851918713179588004177549687330913902930513834841899541566367115189286664492546688812531012630823142516695113494815417172721914355904401346813807243144620701995026664707462485193620192734290599421958559903508551055841849698614169195410452118154247045179378435498613383807386613281169799117024109300657836394882495546343626118350864846132422569064113960116091093270965022625306851915444264597465553329927580885332796847674390022319532195547927390017555115197577230599556848473783002291843428116610837945974505685151999765904707066976786265443846243042914361090679522345298877570953259152620212444075530426995908257296770521875935115692815719824663762197337863762725796104273014644174763359175354102975088907602341970560226501482007553062478945119432314065797291925690734998854399318018273064669274112921029434550541881105483837337277693249639298198910601521214706350780606243789573274990810045096616994728094331120506475906461169633829613755998794268932574735304072977197557688311283629322197234517878718501422182418264289829330426615509351551764836957527331307813314214103881382947133952720157406279974107414121717230863042570974799454833431022528552506484475188228471673374373492406418533115814023326474935343216382591916338125506224013389014152423671780004163728223389630111822242135023118898862439410880115629307781024027303900272769746622566333715660225823894745431949561421470749371708646682912565855136463437418420195272087203643784261824732858386059718488890966936035170111783621469615155259620936370505927816372221510637949066934567093751074362812980992338081325512465691097924061147629202057264417625869831695344552727266936428569379552824981215383331706800640970523660699442514512562385691958542782888211308044232862481218412773076857059497161290503131045245974724623532342864892698188212786475611511849543592543383334592551411306746749615883324655627257704082554728279173850139009273886625247461849487424514511361764947531836350602185830440640272923988225920403013853347850771503042092813263366686518016672448827009970940673480700347543125821684503897588713703547647312209600036993903445439746872113997460904593063182799615889597984367876589762505739015372498468702255144136833650280396464382501218580059938845231009000112403842486792530176553855515485451412187220215511156392208247042821323255043989026903772980707233322733158713430968340255671028845012666437492573445395212777435657219542235461323890289309681636295016045105621747401221241196234123264683781732219025141097040415132623852669224569652880704187021474486303716919672246882370771227202331656939575270510656226942023568291922117360494252846806120772278695476000740772203022292896239246556831484750795612809547214995488320812331233116435234931662594884687954736843594946679133474711343791351623448581842058336758985470534421230077310258569168046053398102700320316358220724251871332801923626851875149479448886472307677173397418379122338212781871083918537138309798308894536263901062506879754382242770607735654443238747892337473977570116299200155468773830361043973899145357145454194596913292363888413623242774163186894177534876081215424318024147518433270385231459229600897408886806600291282346498121183233508486376167126303378288362348446436292541541669855557313338697641827291392941191832308955903366040985282058146764021370225124784403464694615988580308265099839249274975335750105840709472351252143855039644641417735381014469622441176481023264495627545767943311039996506435884414297033777122442600021116895747433074938227129524812178170631122412576373492211861936605323341322626804392342277685823198818989109906747139132264825621021222561350751827893453690150706413602529598055720162542322374241787727837170012900220394006932685920901026488952421816036831053630449612746446626321127943002020196333329325623186748071295436284831891336043763365443655935160360694869971365991050276179793416358300502958887665304865369551215108564069719111974359020928290055397485311523489122593978604572107717613574291922996244651849189108351895334940944617751215650504097843581514250138620888039639923575269016493714614318783019117243243037744918681194312333029283359147509483312596269701561189195986547034883045714318110997594505289767339014523918610938876762204543983750103753073715038234765210133706124174104160304844947164329714578662371528706541309344631771246684533589897769618705687439474935370920258904126529835814280025172028714361007355277809582641567675692904943195684854374633127686448674427193515862381694245727734201727682248779174637539789852031687530480274237116549627354398194065164600838485531506820960340555198592700627158428169654451938785222059390454801069590332172010327305927259761915716377853829822064716238489457392421939339756554558562060116950303052285348180449097684567565325314865843047821232519924182712273903630931367274343024434270115989397255542665472336518686259118724658750254338721442381163625242655014485602345423872242714758362462482429712336276790622070704129578277002070519480760573225558320375467545217540391530302145180375173269835237476967623854672367813134070054188421652625934025251535000216657827933793825723315721876232060860116119814198139329377589862561602263967523936511265545450416149526805355731781502887257837075521771521912887235379008739496983890341474429447711506459976119951087317528195524822898774118834624741957489107115074749630503239248838417860487145895091143618657616819357312148244069090781957551910432197727837152274639672576723955558289280090844605197562987719786689583557551482174828972534852460474921186461232222432353071679962835241324996663385469242656584226225016170228729057902608268111412391274779229342123244428354834431827859984959576005627092468683916444042166916183599698151950454527461080641747607869400572944344687347951515716517117850041037118563719355822595928256721331108118154936462443597230612755918835901581137392226314066441457310151427810288416349385197572383991006455180319670123192279154865394323671131852881115816722564351953690549170176363836572996747437199548626150081197781849671935183180660018162445489689911284958099995833635784195107159217583747351519034081989912396440274679677535955810696256142311776141741591060927387054521255846457842250318368875667438740433202323780125266415878690104541212364778796148415893967993726846934849231000966860180161226156496523519775258299314848525359440535871722164608134470047434102571289140919508067043412547339439250820241371008516970305394556484598664193661402935852037168987458326134128837921327763679999813463175111557612182379435348577957594179859245712692323962516778418748693746467487741575384206873104653561131434936716425963082579601422413666034099339738804715921407424512341149241162636276527157941653282832982777427590267833149364688734793838635654145825031697282223960291041337856137607702307501873794213690828461527931384355026467416299343102106520950315832684699126466865033454909111624515633687813386526723303049507537340800205390359067835863135856000715144234530863039942130495146937566743475196116735311098078630280886327568372606364149714898997483341513414268095418157913247229632632892734504238248082953536131190253192263924484483843950829326060927450802323677437812802175722769793801164111285445111193064278018287799279156105850882225196887037419902992808215831327014084183881394903217480213411776624886316613559603435813482015522884090329324561444051569382007591415692286913260461050274930437678437499282574333806558642921072781564646744245820079647532588850645498919402036018181833977876404465576564443013340089229061048831015887747545887519885629875399755536177574920253413621325950689252057409725329455849093368879751925076411697657318628231791010543127309134836029553391322173571810117162653887691274992028454148921418248185064397656797660050642870271208062579600964727700608895951983254388673827438444715264377322131363331117692681204396964919876665730149876722522103137613152949086904958256612273415666676884100627334900807855964742718381460691071389668417549070288790313493776123278591113838355393356239790351310695222064079713141504941959063322990924352230666289072760323770289212450713731975970141376874633167443548894876040290127356608606083883434419495383032441170968143512045242837175626464317282290308312819178835144498670682331443574817017750718469732152918647397475014210180118267836512959357357773805486378074731418455500932506924210154522358002591743838980650611491285360170118595191531701041642282365056659234667206812274435922644922172041041883742933005723568570129500445890528376439066464276553542498745119888250710481568592742292705211248421274192538722113415346993112171649333668816081341668262880090136678762838142356424512690140245001436419973514318353036277450613771420854008313542836505564661978699913841506122245272295335071551813755118324148284967572166844186088491422103957988780381970809228753330094370274177231274191859211390045031411639542208010192610916126364775709041534294038444762022690634139190807887905682943533448242299912318689998472906153642693970500243214348356272050245148087796535336215255127213382932306264443682640324391625909064208772597874036538677521544749849783141646486522174863460869335023272729085292393746966410502409578717690595852779995445617900857891025323201627284106548723361093279062674570310599762548131338733372849388971731203431638604446105070850451644363728548218204830004093138881593714301125572963263757641187856816053830983126447629874242275368547103498721845471234635212712243090071965991533356544573713449641365112954691678566201161796292381748687310112139861358438619673232066806402647733865874351441914041356379457125594222698070537608549602277048418307549700878905153809548337819797489981217512824587086655600814948314023179728867346675017453333833862409415129444797794243612913448697614848426973706352616060627304422115118365918370691689463808906271876527165954959260622136966270024312201408108777230306891249899192963274109491440397915142004322533341421263757538011832042427552383514776849629091798026238980632718647241724746823514507583257706392945524824571599467981289217753332539085094270775632712433319758843626405892339369294347287076991516692565557724560076041665005219030961136393861170392483857284262588234313746660715481101045536728913838436756176955042715774304461436850717154134851463729322101046487559124457646547953444197214457736812832494828108302079531333067243523408726212643237314612165691367315124814542889399081948633425678026306358527879711233062088060631579782321342565034576741726546434752841924729864786546848561041411315370624994943817554000828413505872717209936399388758622746423411929044594120073811510012762330353672670135069108869605472043968990750313206532300383883370631696625333756639648371462868508856723692892269684870036911633433160588091739897765345703752877118179559170215937573350642090277833424128890923819488735635491672951037755107288345158349055626195602201312976549720328751312659531979276575843783353160973774245129653400599106100467868336898008240724808617675921261615291928862689692746058905701227454390891001033845984936214773495279652573205727166622423862562683679107882030259852159111194815731239788123342733825465331292533362573584883543334353135351891450537758957136476958768885813461240313894784537733059318200346010396554502111817659231780430782552163842488145378223498154573758683295998573570978584533583455010789933229497163593241062569925604872720783629481371202645325003809395523911647085334959241669226960127265786679781545715656604073468091687805292412959167120197834635529920774036581586493837448844531121654435073846851324171929126641277324746448483511521671841277475579600423042062580598687911730058234302913647319936436757201481426891859465813133385339696835561243672074851516371361287973885922853397078438726272288856847491488956822228056951666377439559048385330385452790225032916332375789458455891442026459302159192722367428862546378371722829345402516936759519223624370005211929127193131328290267666675461961660943567114363788217020325298352094210012916353600338392628413774175265908613983425299164773912297256142113115823874834442193202748353580043934745474909655170230821945915320344003502859692070872276528783915562464072629474662334635782139425506895280043495339173791286649756011224822275020669380654502694404706136233935762505598321386903001838013774719574230045784457833507421951298995750963006772831233804065085581203593918193930803746924329628574538104177539080023245096961274428988962821167408094137036437314693319522239118955555400188017370452683516461720365257132595389436314260835909779305492354250626154472817259348319894298573788567415051566987712116711152075174347138081590884222861338423233241366416743925227246301500188772293690160473794453538116057187060004302473932856101550569978834050763208651047034137475535116391588550597355580620492836400801245172510618637577823231214484188281644022994896421956660972403894673019235336474839745983706302358650450352534860480453134803759404696111698213907621115908443195547861189784009938145621159994365250191333130752948725882580952826024883258342094977994865546851055677357141227525076482710430689031284495566058518212349352436715938378643551090784092417782469654120436834161530179668625974138634544799691644117724664346299151532436826715910495122027367541226974152402228347677328488845607828377136354263431153527837852616850689972482787855960812588998377448705752976714693823087439850233260374500840031645435458553988592814805603749540448750436452803276092104310861475807392556393954314632049147276908484483841563037274269728323334492054239628420001957646082445473317224877885107240199846426753848139530606686606925911490381282407730094715660283688993391353614278662708140471998453556140884195571418527292350825193173283841246475886945575657294816137544153082541405390314653815397847036347656044482756324281643512542129431648784247817990777134218618250428615439281475356904164425849809481442385753859927955771914174569154219310225280171413322772523486274116840231765458299364149614373139206300195349988478028797231434208315961150287542132164484637765534415930294054815249363125486140510221446667076951429927429792797648339379169928826925358212002282609656448483667107725995613540369672252365286964473626780570024141385107542137210443613194789380429844277248115275844343016182363923281630752231981406351185498256775744374176972622917904358215861556344113362195636701504595996659496165990822323175774752983156107051272222710087689070518434540578286837014566256102462569723877889561028057938106060190885734237096175138171276974668718198150180378350822855023894611758878112939994139091329411806200358399419838817040111153170085157362812115162507848514906571236177359151314324831048318871624328895138513930690290316138369607643971753863472950979484921643693107128079754289053633341229607169451250422203223103403056005779228962368793889052358455929045391804678584815367517714753546014241081791838109245371507638495908660768576881870332563333103073048324441529248938745111116843415263082385753929491464825864181207321904733964380109840032823513851511638048616925797505944973287058016847276161597387498804326452874247115138115590919730543430602823116223313805640001443357293628331916871126356049813841387171796505314102075791874024860244613765143959663476437476835506043860948367236460131852223271164919061933682230402267149597007841796246513352801964983931121574875715826960093724246855709865537328161873086152381127419239263027275274186368749721112634100743696039037391254880421057548831455324160916497567143579677590719153370030831613221761294322194451436298336034049458494120443481315969746447365105977515004780275769149187434438495690080910632409375176680629527765941995611905110140504701718628754481213399669465412780744875422110202436902839586192971973241021942293718648542722882160038905849421912223258051795275512382942005362726564344675555786254092748335232680450037648751689936474242909195804958905933009721397493470724350975348572680104899241958841637872860762070479364889459461622035117532798760636274524546768681442864548143814320055789290243314123368817406848857041651639759190271484489418021532324527927269264585460147389288437314216148349874166663801313105691231796106240836564034567621442521720528828659999679767934664434183663335234759930398364587243108750884157832804902439580247066785637528979418642291014250320421862284361954322526621528750796188104588033417173555422964844554106648918501226513971016763538784052027981943361301136432644171385536210987777173492567513553675280571981529569172700155188743221561627946193132913103939245221909150754641234531720799561154634535719958911432345137441657831040349192272001737432830129971339839558315639522086264129447277915569637397944860734161097157162175926175303296899180049476739122828222940312220742887853404508240614116421779906220224140214456730129932653810151672104492241489319391198731350897539674022585371624211774362496641354163749295837379164535016127121589753954185325244201890143039412506267068512262957481383484309729575798431675454412221655344525870520510042618795799802825455532227817511811843014238619028053888213107844427542927789262962573662248741834219423600027047662462492595954011483801570251682137413578114659223905021244863640425384416023321509802777222110258504071712159791219720119310085786444237164947493745441364488409131908054311562333377224093422064405406915992616880119062057373385513013616774124331700164554005864182192455558308771337918858945331748051103246709683635261763268176561007703839178164899860611505690398766011757213853135652841956933206432621159044318162747268666807850673226459601886531690758303854773284471293651561505298321512420396139221399029791860036508588283852488884276714352529284719014218724187612244448784169625743360131406961292115866701494097898614656769439089086408565913856595307949178264339664576784449810104389927237858593491723922453382913988811684879125014987836899223701383714753362125684754845370011435097794501846817713736996693726323112123080568740186577507530583467180644987389181126403404382145149923675136834351361486196791004814611458850115376361739192395565525188067604886334252543675946024648031906653651574104255263983771993661452721847002345005722113474925712664997872132901537756330512116758189519554034112348194325172371859623572253514521828228349238206171309181172261622417104499077165281625118536117523132149062953021806885709052763549821306184811405433404019748137127833303686253896014581152379015056605857442458820300191931232040149404552119386584840705244829845538407559306054046267641364161428182270200271232162523438050939451039862725931812986575107717770000058218330241906487709248424710871479358207688192677497796450375541307075825417485824444819134628791354156865035503561267858053212800717676540339316155827192807523973902699939547746220425528579642111699412175812237507986730529025818717582371586732930746592968878172245362866061118686875274879186200343076579543982903701135013490061617074381062083634590412947031566227149397708201495051037575273805348617456082066767114855744572463395188481300962411173910961123150403455281794537796269623089305625086722340059619253731364949741142178316209019335737012223050126823145391961322067053823293741462486057395004831551992729821077147614344389785847033304484085356963403063804594851810586596118682813621750161819512266641723279651216837760748479259720665134546021712756995491421497191765641328830841818831492907980855617772096336633461490115492496693484415945177461103136344590072937007155345688944799753311108060292629952965856454071953536504530580735209573638439602019352437621491653788216382798295953595801511628413495205155246352713659172946832431056399826449981641445026628675199022839645216541611036523898520197699809606817856604533179153485898938773064314377829964606191767491565375369518194627717453534297991143413104313260233975628547837964332672532353599093531432365385742777963323682598307996576234318307006849492555174641741966084064291647999260112314012598371785873126505763932882876785745841610195245443865272097448328763352541547731488085266065701045588646737352621108972401427168214266584157577586000114062303661691374395163136126852691476359904032776663830867167725573840561737383259289514718047412519745473974082531975878261579894905933961521769969519461177478518473681502593116132542534126587676757173841272718785741123696846287072485918087217328517976836045059608125959647484193703618447638703817824152239323876679787944368184415001483277143363705390769303751506156773039728588316204452303829548655053599443920219629471574080310130465296391269463491697684790913062536619850625761557882837558739601648324717494469942492735538311683732573951667199811962473139665176415795823915257487902721208654275684399858923466123164091953628238192555365141779183095736197016012160549464409524732864467749616412462020961630330312555254325941580703147524962653988569620458348749538312296686480883639581126406451828717807463577590469759058827356794972451150195675465764930861887923731367420304233766782785231318736393213075776734160133157188612366670321726666144544674559217985464387886279923996841745306325637226136268416624382083048335502899478307658709695013609020157668667356158686890221322995531077129743850274448331467234351475739894579688422982476961641352645264748914092671364972531655024104657411892342335455462631527691996258332644330416143662392563490067233594497135054699336442752626258349278596761257613379402132275303609635237049463896050871381365384554669449827466267265676167819125479968553084615326529123951351410695591377361222310981853665916920371717151616473464521277961141883338708785344454252055338016642622089250573769182993355812109267457187370663122498646072024719311183901824634643244929904041643039618464893156472230904184116375815516899962331209177174285316414441118925686516375348724700375562311678483489819460369527292395033632896843231184610850603907279125793906616185059451176487126391714334364268122694391767159078554830548754586145257074777146703124315348727222392518962251973043623463439375318749409726398919883913344303029184801396350684675562827892345331173938882930547471350166925325859419413136212819306241607594430722084621895783486804650034142136237641274911416187590488756113187391871051723745557620320776544693162198696557026722391469451113598438307586415414843755785093378712992477590275924955607419010911730313123496180460332592103377900231356731984267763664760451448397076996725211578301122780365921150638597673233878120340055072338759119527250696422564128114298255649313818350513139831832835281395299773153778656722877128231651152671335366117419594470529620443489312981267633186763134071805861934671762338426195537124690855521889174217107607573203382529925662006669029563707364349574853600075366803169617971985191043313823241384985835660350113391587306125724844364373052227292361815821645725145764714477621386760546145309698287789796151478542942151945339561651603770491577562885328246101299418698315192830150620229403439294936237793723964997766877671527101462392814848441411228854051216159557353024758472991765851953923047027812293870311580326891290122783591288090869010549153739567402006355034408974229404493241707075212859563905160343919229412220781833168073091994939114945249863277009389156530826328623571852365062421532544591353534128614262538302746718079042047160777497993324927870153359024663842891313408850963625713012569333440196886343129747494682265306783155845064021033475583637579632374878557695142168464679671172053136431084927467587491778794263818549717716353072218582459107345624251988786187622431470016388827542397530192402122999766776956032421631491168861215272845852926815867300868828990236305913422544330485071062213103787786281525479002287666767395064223440425921096196936608525962539083603815880428342936598946074521625381401990458183120166120201451143891704479385971191568683248525963427409763383838187166334093685608542443589967951844149052544466398661171679199079332537036367916548142568097185067856212396532496248025984336813917297534806652528571237711183847665951320938714086316089198376409289207345296088788475584726822450287647488872728917197288413627173629654581651594994142654713444653607583847192681746761530619113346983944319825833272632679720303471066411991323611478023554165069850500726142379645191465351116918132228705789495299139084668893423487291070329892679644679048475028620796426720558098900384685344492635963964013009453737498148348109331812812467240340068711271978638774378122579995056235056781292286742714724222157943515293783384925313531029912830390254822016061188391537658979546334043329564749045038058533952166212035758065450191313468626518173592413240344279828355918302869237380986327379544849280256278588563119054547929556695142574293967483696985939261918948463419297435468553737757909593718393920337162906431554572365733423268012071120433443137764493694456178776893847655055448779361224639818838535523971945018339651822925460894851155477458256371743758743721853219119492244687142647697316413861840466574687608755521686725358739769800121021069844459533180595181957658217380469078311614194615509581439543574757032860779938396912469730114474842365467903374808144429100330946536821107417643363169328309268556461257766928434112814620776642811325813533681112684204959148833811249857538041135265554523249921360363056201782316473661500510635064793623773901169403454241237526174218316419676790309922169857042332983941036241021546327844636668333742127924347860866093442811368466045318745534679145874443293861772900043455462828218735965475655049479034250193832670009984731177702551014143854616403559019651634371054116862410084203386096760562411865877754108023712759464059163051588139259760829424191157849947275940632731690812765840697337529241621069692822021691481944574631725858402218496922754307724125062458791806846393263882857128315376552334335737530992504579650150711951292629414110415538363215203519137777567106473679230626086277611734376342320431167672888869693783687606046946768799807344935035308612624671304815936253772295357741791380702478129760505860794872740202376091382751417271804637474131506278746814557566129215414887042134101253723916640936653596300183916895836363462582404686322312183400902849496584766658346482174733466088672946142247400256300138162405215017361044464677343268037555649058852993348890352506035990643902928684779812045441151511032261092381885672930965256045467578622443681453880007604284653851464226291648824892457930627324029324135010161113264585242132960156323307042516222568113257770685771296516465986109098922631077965993728125681989464323115879431124979500420693028439700892948847119810776021901449593414121526263679132652919621176661438241000141549618652708368931876244205732473390086120248729988419569697757021820965896963939232475073413302561151324653166439219067736643179573547398963707567606238951098223385918657716412230793514619349316812784177752791328533252128854269536452213475897736771630237020948533532590807767536759443721178730666419423543939142087136849121918407812117067694339100715026615535457777329336126199263705191474705936244799324471535455360458671775690345908616738277139714265714732294991879431678338537911879220665763106285990663755680127449957442984498478499686944874136789522397627049064999538166645625573371739435068147347811181656532476894887679121767161691621860375134704929808576970291002053950586528264550950362500978264259915979643629325718215679657004018783924792887540871452264988409376541340457062772378879339429608892157836157977351313878371127228165402428502113210112130648025261387320938866248203552066869448237363506658432865964621865245483334686852345757700858313570031049436919041212336309137752278396777405856730104574246558480462112343113457553283390680061399665066834093945091718585113136835997094888406256514012886919017979511713755823183646931820371778566621996932836751316916747933076242226144114232835519586569292568318379860379251802479262943979146214082959473290394386042414266436408655269186612553267068552817478817819635602886866434674804027038496831105755140892149945015520442472594069054301094500077329277549871171430302672260200343639211598746889421775007140782214513317532945329376317948142130839422525977772435216863752027154081415068171524719176742574506451707402412412239978625219721418283294485444398931183595881340241893341466202186492840304865246875575224229969332871422421051612856798907730054532665126395826652483925147912641783934057550690798936226290386556237712767794753956076422244842431331286856176384722721572856258292540427958225289699264966315811301832210015398948493181029047412718995114341409548042712967511013711295113383806024064892043709957184088899581121672745149519258970453452308324221933263748253245112082364671022331450833912981041850829016520246209734707924931570025711687261199875981843788466320486387363174151772251402473815302786124127777409978144653716397270496446189782384925937599215940217958354786363433660144781226135340353074940555490357156648342920282564462605141690661706812175482911090366617501072654720515830611795135538984177541460239246090310899546286774473169627678251054108459243771670496383424723352709308168301100112190627246794943996641834345022860561051338267711663367963465285999672721371744780392428174346690077721278535442213948535892150698774554705048380888886166522390521384219156864498779135956136363298720315917398620776548372371247732494736778946892965236661106020252121511562284564242692269771075862523612173142761633533451727828801167032319353239399960995159228591303170481887239681797086305656868715953125007045031895051061475083662900042679498931943811662677426585139225565361659848113012073274399302402389279391870970338859318765265648994306308948136498269507711137440994077557067086328347724744077563161628561558919222354798930325150900084041469322997498662123442385923772743746375241035210672234867044450724823295012276085949110650433604746517335891032374724844864754596079955564290451523052277804896096018799264059222466103755131384521486166448099366155615420223010838153401945751260332163918017936557335135122363025394352497196933158395672249767727597811896913866342875134332060634580740127411374938824245615893554635159763052001618562573116408324303757070591683452239987778701481157768217606194175540263170941306338886634980443304420391563125616173203099739688611536876310295748838430906476097523542466932946148879457663936933323871031858199125078246323875630374734999796688233135686504461381746119172183712598916910225420459381213509804731331842282904241855324915448304450273453012152219721272818271499119514261551401328293043610383279873905272198416052521448003812708514374562741296742813133831483720126897163305309291961527149702355604809512024310485685683299316192502979060541839288982124518706548183246264760459729596829984773175814251367163414216738099850966904139916474678456759366733600316089168059267586529022567926256467544351651639817946341629184428421141057706710725934845672608446401136033819667743027744545607814227670126414585305998956662802554082344146215239456033116948200114649177439065026877914995029774437492698565633293108520798013220873343397079476226302345455809373875244821596102815257312618398331829950712309795022469461238421905182930478571653765998997749676293706125509089626328241275398499653601262234858455316770144218837355023346284794740195680160356335344141790631928557442013565832692811289375634955871578146004237156246294233980021771128607191956575910052544677456486314937288817548591398062267616897125334563232318178183565443999788173242681205881696224716049084573705531742008938574968922018112577666141042174948325803496453575902865516519025293214446569175518263081129912301197443160782642544503571245661774723601524904785261878384074460551465665756807848326243059441888274922069307925041389440794768321788405470868730853884488644616667211323275977772339851006366570474030967321734682663110623822471472636026290583803638460635721549350903316393983423138316023896309979139365926903490825549769250872337176847377418258162612189443131968934357058014285720447554198082737929333823125604594363517554898378343742144228718686501837896232124326895296453603831671732127620974687370734378880725181817562814445318784211199674336240808524526290211499455868106217488392193701303873051595416697914510512048975158719859914552750677720663419221437902557144457843401428546163187474306035900698867106613822900351924389352971427342667090665162752896418418821250658845555313980070343637691833142167602378734341812528422395629811753217266263600624893507474113144720794026558186858267682724125013884388936976912691888331544961859501899790916341435003871316963206674191241512888137707526950091309899112712671440189663095233428029589774910701653892064762103095660262631573185619708755198279818123108490810065272550052496874224540594230022544620012365581632570106946684719478970829554167966840530255252756065139905082574949185109373843657254637148356864249858178716053017762662393442121065696631982221356663981984245072697922516308285621477873911976093142943990515167293775741772242135690178335449650966656665720814533561887724181601941301067217386907483627382601416407767951143217242262714806307316136963612572266624363600193046441840399255886693648456124030403994348028219774789405974456831702781659681973890067465976314517842389227514191953536303036933795251295554989783065402305243567106271261564783835563715637592901334040400049431068879859713991858778946315996381130919355101897939958392190063382307241836720623455408303019065859102954235822566468408538083447234946181767382142837839967701271255244123883122803321177505671723043297126868164846245254830488181358393353038312241440178144252711840794937954595251540263377033139636887582116525893034947036194990452448115486752138581962854330861136751755134388986887423383053874478365413631556223788413638266784962487942753678231380722573141857311148159367046759861047976188266288358276049340033928402739024874528659634419981972166374190255477951579593698022712880315921069447810772993817603007397117787475344641414361742519834141507262433828923306015477024688524843844342421665735581075930397493464913962978627777764015332080903708799810502096785561315568791706567821898034115831390611513122615329602498465854694166570366917249728644681204802352941259927323407357955645544866558494935927704151973549554073045178618952181080896740161685692314955194966117423773056031422548810764551106159364011877753243619630028890805515097286369112166726053974712431338689118042726639479218716177073123993980768886703784767711295356893352561073383607270695206283782281030375288976670229768838683818213323817120567284492171838258256153389193191521328799282260233770859304212561437227240422771245639512906222755518314263610012789898342480923819320140449532907425257142382289610530624122449832955616325530052599578768327635567226433724674054165323841677056603415269883966267498831332533495185232451470395716827783373478047812971702858532473985624426627352398645103111727781813022029012421766224152708919682148093378783256416523544163771805002834300496462206601740871325793984016642345961551998216219191664474006294654337822879860539825481780982829391641607820586849319728458194644065317149565875383450221140672269019970442036992821369851566306671436640166011080406290421690287768557336814725255771569406803890363018838158399924403252313340315066162974488486911362526831624410913423906441953658437857583699661656859870753210143261868103636793261343912220204157161210847008154244191096871887357728278366444969671896751024489612403637208356476958136714223216325841505083268264327357588659718804047655324231800629728826337770073912320931387969857542272537664503827513685996964223983881383083660760883448136531215886159732560692452873666036821902034519183275609553484436274409513666786030231136927186696951263237920371520395234614913388118968495239456855130681150804126880404431945776079336611758027269088990542011117503296641541956459454625076326457203032658893116216858856789406170451563800725769915496858295501887074910691848001785057608305551637341024368425759179293612236296633958735071623826647462473721125927579951624046566713883744516227604353898905878541823061258397876536233994214448766199232062155515440796674016658917792963218861701131070823397426144240721333369338613416371849277218401149649188259071929149771307432228474942798542363368842671885012633656602419726181999804890752297902062911484691334547451286620510562858425671804313647142092995843459123585698103698952251988741723780240699717846802462699395479279728614901220159289399648851553295010480681445124735393839388254923291252455916414994682233438843316351966694172867409330922830410975405292132018476612488281199900826365346569618711671886258759614361283233032024871416788242463936916340545934314785583917919049220354111225747164942903550727239646155441153574454917547333316018226359934664920263197709060747153229304161220622246172635955995641349838814228709632016854332194501342107273772436806516948775194086153604094895991471397539580186109868003395681254365333604803391524800544380251441655224340321323481221973546695427594884513586851991272623796409518982133035816823449541646625404763190705183315959589482390917771455359845692628174008828589193607018417666443922345014541246777513208201674756424193416385548427259380908495212312675174166538124138869941217207594867585650810339734800664101957329190951756248111411632804660896649386834135295522857609138405762102967429132990589034768762198966216363105289127381214888094517687683361389144317596864927270089704715567178317978626022983522500554607043465552164333198224151361502266364217920372577094874530303221795787779444034196773932448431720454758861311887022661314264577560558806992961113502419746230158310953518828345742544802661222971554193251246824847791191858483057853932215228106864572804405537050315584045542195453525842372841796715538250677236991099696541121371098689575230625720547770791141721034637793228084317325851217946026693571872269477531737949638575723802713261756187484388571179961836243612793944175290965642430861211997921395544108808524661379217305236617922191301111436584394036333735687823193281611671692733914752382499346802951021450758957850641337360786761916290063098344548910620718037413980947771622076635096893988198906904046665453007752170572828159689084918718875670335015749769263731785089784358146023049369615111884834139463484248382545613780452519887537750268327804341481682683482645826736163070719879542855537074228812285169426736365501702230028569940584484923197919334485751358020826180923598838243824357992981375655689832162165336594268702865583829415094294295393042970071609925031227339392684812429842720998231105019102672996867954141265142432549870725241740995935924509628704630127279058857916657696982121964927248173446653412878786537891608115864520624332247918215010566014944036520298849921403295587629531143815108118518748466561066966732623824623094322401694416120625556423977847560596018866172069205910868729933512309591951394486875687209829869252934198176036106376021156273212631496267319313109507664662470231329770384352405146826702222081505064491921168598225124066438026989561045078753574553891253087496649873903506178474216349096812781841626026865317388474856798434542942323111715321708507294643595049450363524573888795628784230490375712228369579884298293144004103337431339721502195576459643986855536022886341300211793883689566154466802018763735258552248706070151007424601729656292631442079760049105486115838526621461207228644163143513293042270843437748524632814888967270712217488565819858586107554892125215068440683058685785756881546646924498629808946960567685444893185721355650171734600863442857544858036031372180657585164864233919227594838060945059124716243858907343486898158172629343565618925831544927677832004464982543699601304394588058776552437982829244830559678396447161449830279977161265269908949680067326983204538877108717367480564282161713299806462982225631325861576689630900062453143429132510407102192829835067762374384542534536643201983920922574723038581789152353394421661021592252075909425126144417657525433145015580316539223972565998114592137473436381596435835280145546604139912514950017214340966884739739527108613038146393670278020538231266671626020986425507407243147022157678648274550925963817536831117472555638341770982799219126110269676160263879052341119115273079224162327192257288277313297288984484967076092888937319727256811666155122857505315231083222395732624131263893584641459113745466437121082396614295869111039657218144458231924029203372389169869544564399618994225719417619034141830852058560884138187250597108792192681753021557462856528631765165868887380877589137000888911551846768223792412058103935256176906932503178416010736934865254205466126844296327016379792464343563222834397524752999270945024572832496853268266078995318501961107898701875777105130535509534669227042805314996186824161489306872020647373691492282622710208270299502320369419833457502484954087608016040147815294494941051354596499274632171659236738654920389163530619190168858653123269731324682209348842339405090642481582442932189823630021093433876831666837515892920268455739463889653765135714752930448299974321360720955505131938278853866383294304077677266507604345277930021674695079748307625123774581055143001259478605623152182307624562658980898328843520850882291299076413981661514308641576511719457477999697979851240937387388229387836128408233026970530147259623227893604069587719848442433248277354716828626036854106493361189151148823767119962341696600164588681567251308614241177937289358577244546472435375526652428137882906505173274467987922373655124349282027239441967613019749006477341527324135239191986714228372858557995053339533567100356783766569541503593135396426816062723242658606318335405911228597393577287029963867291411752320223384753624749304932989104106973050165583652575015744376252904349301913443945242500141090546684765437240859534578162807911354415687315294478534352304251954587089681181843382958340080712514188172468708980493692312287496332458258331540868993405144103346354287145760347506982124920394568761776425791528256048512834556736268922498635352211637618120306728004278493396221634992001416719250797399838002421131826251960352911334698195643528611913235159602350411424858437223465603064589664452833800141687146675318627106586212207922228108956725502733271554761779783526071470413447238330042117389647578925249629046277074716609389826753825278367203375858952254661152356806132499110005807125067265849164855266805388102581697508471226801922125841688287570570971492833987333031345501721190535860604611342674444605235791369236152344834484015514497242890592301806857551389758586670171784408919800208106449437496428233811146926294610016544152241955925771560523486353519518331549309154167892315825233227635441544780076963266180404728818607812661760226721759444422551972865115916666634435998893037745029124080707560588444822651210812490721833922319315169464716998828383012166283244233124480186822042437589087694257560422342732505037228978064472973769430892213893395184261720574732757733969167482230512670929960068160656770864351419460221118152309417951975292382219341651517450272666875334227792190685143201618906487011872152591147416527054154843221414854165624995045307148006319990395002340962824717611182253201747795283303595214973581961366015096708528477447418346313579402678323843976458603633112431159657301604141197155687818551499375597494295722141376941403750426154801285879560721732174181897218301849832763081463438926147579653606645971719455748273429364090337395094152816988970731267403692619321258773452861072762489146400504168527755072428354663408084438511797266691014656333211082499032027522641323858165466978899177073039796079382168951725867357122871883860848181608286104127425179708572266758390999318444531254252841193830101086201428041008967522088360962017254737120927164273611372037671272127408913376319622119274506586752577818526823491857122172609177826383524841378263551272964354779572222525821530359336297203156056867204361862207510947954817411470284119549010601106887792256210778695018736969364167998857663479085540338579337397532634231255614955568758653696811268986899372968473836164785216309347082818230733919901480195537763674164298800786873813318492402297524383538593246525669930568553643134277669275083674499727408474739752231311738568264875750303816669937864250389231812353239052523432581146123655061744540057343684938986673422428387775563928852647150554807643207535259262959408086102542409220018110627742192825352033412161301429649387054582082653308749780626349798033653059350028997223264627511216025126250348913784462011759659116739494660637750512913253137947733588103525190992798342875754513926130138275634324033265193538999433128691047485819097323412354909834340785559244203395654997241254854673935502285114513692901744848771996415394111407412546250900401386719667094707961289541682283476123653262370299146301816519392108648311075822091676950135296253752423920091455256528215343930145878903001375883353953535445006513774605252603513332631862602219625670924445712648629982704169028808584882992438428614537591267949765148315175561982401825761667294870340890588456192562933761090410678917381318281386031655619936823533475087675857221228881698748865933537627055529268564103491095372185867491152194736905751024730745158484747710690712850514219102673796855282915641596151967694953344377610482366882470514922162371914307187124596123100282906617194945460940095996209534031061300613945132991325213118315165475270305128543911796149346872296031705684795511375669962773731627115700520174278261852544417562553766344000362348967585348868958167109401154788947460190222132412519631844870729837787317528276231720830613121942550529568153286210743383476277719019437475035064150738034883484818638831256013505342815454644413927083944742267767514671036506117767326524878428746611374162410149288205831264901853454522400918020186843758627328232241735374304032240351789352179251784565473835541189268112760915511554852297512146465165750450260865918704196633292667500423946386356393195950720213413890470757887832747081111321652696871638286133738055530741260737916734413834339639344833291913722557738758066293796582763883352838550949140294965000585364815336424812275750995815825591903364230404832019225129697450333707394159375892390684334127611462752662010110828919920055755131855504007746861478925400610807292699744150784183281631449166732089738321418654404882253867319145935555983467531658691889532964842881974713164591002481116922725655746173963578718253535437722894365200844248819464935147230899971457738532626260428943399743052361269724130823262278292363970935381426496283664750591738152594520873112231794379706541578719733813754333360987249587306582790798879828783630012789422350551701563647070632221758478884476015793534310505212154685783439125481008561442549357911847510605619585029713140285422922097398531996746889161994692853929772196165623110611520451236037810243676651794850266570835864741324604473117877964738212494691129544286587345938191897805082837640521715632271507688300527213160328908305340441890342404154078801369372826595733178521755386602048351252519282402313328068194495383926465102614311013709922130025870327720626101454626212571715067060264338282243473582606891687162449266195712973405272129670984618507367811527142263656336893654845330337044373573950438276023382119362743019193674747237286783590473121224206502192590360390314831709385301434512684547023189374789545715835103260542654746436367867822354565336710214373526749190555687193544518900452636638223858530931738351712948660957652036620867509600740355367851872572432407553799137475112646592798257162132192303993175364052046618834416608167227481856136760557214456304595962613700266879203312998537501755879411064485538324630854355089399838837833944364162135776691448764213985958516264620086029439557255946237485655647739200271085042248043848062879597186014041967443608382533130907958608899218211305754557545494059638629451925441789571749276931609435846755229454883656148594923298690134519479568471514270235888993701609064659687833272450118357800836850265562328843504374689151904667258573364316141487674919814922238889517099331029575009661967672688042115358863452127488113597445301676930476187615868418140137740096336968823555346296609287461780613557626923728567582889184643427675596875936741917446232101571362311814191666601263634462311853862720067241625928163770281257619287250564428119525717131581148679770630162595944450837317947859763996947525564241094098271564623624674797861189229253770480002430705443078339296755024359631274424524061553055853924917107534563471878891290613878937863053741313623793567110651800408313506381845313097157275888426943205914474102279361186375569433625072771861958472151191222028514052122211359957183172335216599629207391841810644810449410347587799992264269782559698241443526421489479279835900009266605438615349149897161599909571512560855155553003971947121577817139880132050899928015601315498973414332469655636674026437912878295152373324245071887615399703391325117979211524346638737302236538413285922174675116973524355654458443083413006382346369145513754110766649436372266721619331468540337811362692742941475750390079386219442040418457935982010186224154311986347386852351460267800658824427059387442052128875682321396632616007264586607907364431911528245183222034803580950247176457393988453648526316735402032427455279377452315248583117717244174117545251412689022459688106119194721441662756182912052745000625522191602692717821253913544839847710270268440017458319324762176207778617186998701545478363252545116699238824481529691380582495164827702387025877043876676225398574466907847020106000529096797972982191146273475355035246611349155173889135107720225776566625831101135838328296333756736813159408767746012777440351113475324916671979066376104961192466165786312628998880335143811341740160119182742005181907100858860683224687713929255442741128245348903729742780082665622722293539822707489969969425485306433422033613874323038129030580176357784176240895214753863131653291732979858868594696057604080714807435370034166421312409909626475428308239794230765381558454606594798040256577501844096231943288587995175899447861339010326292312315974456384450837760047807035441334776858604693053127767140180563855020552208073377106275394218497504363098251937255424024198854810856123321363515054556926087690992129931905782267610669088318370943003335964114655759402556219101292136424238735948348272050395836025207717592403741810087714674826721192473051753836358946538434021523542750760200764292256771415254822088012861911953660512938369838955951317651933987850122650839145068670967450760054741900065973293044804799903683230241829414108685316513113748505859410386724475262904858295034592200260362032555515088642932647668943364312159993213674692015882917138083106343811616114258689437075561203577461317303370183278805235320166797402483275342461312317654157291944568179388459937744290724733485637018998198750138731639738072880091812871474016158114575978643586624927774830081442113416647435624711948963625166620956241332569427232963253730681664955897338012019501832059093987306203446857033346800613763184805813939512964636556376285729817973974476560254729420573185076929266767241876444783155384978128022564449289174986371509664407132575257308846833232674594412219681301199090764903320470844206414532733314165478804668123759422699792714706981707871534540278462523452995434570034284455722192939188457348307979582246526322140410545231075953589139581166746406958247396657412456007553319367416328087256815873566106886723313816368134894921497195755949481614959090889855220696944573722985958818920543483518658707727451208909341948614798542850325228167444729318550285238727213522940847542770300717914697555044510073414453828200313461493820801691281661770761931960273983553444351354469785521858752346070140299645526551631493810798018918474161073878297852433891938604627830199117761264646270116397564488730219234661210809625818075460163771562173294394639331634960235768072720073856909678060422927274194486398626631621998812450072394329576694830172295598677884379573655228335575775893191316365635242618620538187452893345739546723323235553937337041913274705573262890216241984381093257264838807352273023589449011363775810579727911471416556575221170672309018535957369739561644431652251658631916373291710715560322396888953114201690722725890195859578359715255200806540850172022616074631539633369339709932170537645312253428542322551750444286324970309374156735768292257679958747346963414852560676893649205111183383239687981154561667517820210036952556960855103133188475884030797143046645964957912328000714750046373146336449428661026719397388576451590103506435954536073836709242275180312056991509142203393026839865239192844983754229757065259309344644849956388781547387425678301041714226641358934147727678883967603712263953540840135265748354517438216308318096492538066387700540464843751367260360669006286249737344398883389447486318746911957104327265288374825612870741734957836079567083637188769534897985312369424344129756105120086160269746936994984892327216145706376483970594496530248026064853409841298130598190177313183233126014137336347394138339878542693810176831995303499726940608964979284511495261334440627127203078866949906240657875719893262579437874446567886235068458520394551659777195906887700996730687405816680980685867191459468265955027942525677394632543678251963347569202946957730118898253390134954146255507421319632200637168693288417730399458985684162576902059674387568398044204484748282872812325966146728344191090013073432023956115409294038690442262046699354226933297681521585546937831476434580311192864377726451545710656027420421471846903261772254154513658435431405814846168900691123476594663924107660685286066433098141426057815801441927828825244311505633533418164681599246003739519820182084550405212520744432334874143346769313968627546649630269062514459724805241592882771457759521622699265739143873522474019239907702407715150408684364114232292848723116886098728549209478571615731522460491474603839926738515316733788187211162800510388426929131888352065505454086422942567995723718624738185166257776227448738371417986751164965757482968843789161525832716236644393311864727505654971000713769717370329295233293864008834157103124300541525628336830343311960452541377933242813884756694995425560560739672330242841490885040844040904741178291015063045461739776384055532077151130872466778608168475450511684713613145382115797651697568425354978534701407359002657276905410209043467622004202246215516267721244231030504482915114417745206468038883351617886750473364943069757217371376989228704751310898605652342881058072748412921242060351655984636307739687753401047937479118766278651449954733407327208676991264150405688281684031562107494541882694210339586321829864918139368406714037545471554794678180114931244770461311604641339931731271158197842124220751433611719181243241423524619990434344591825745183376037566755178575563635653794684773440964049491514349042801784024131617892953940466784915839530235362316608622597258281947104306878222599061813430766867236336194285865858752281311969456615860727260667801736721103461858433150236104163155382229085641201825227134433997196137066624674614360356878794086183739869266426289782341227243767678949404023609830788512752097100883441324369565552305558862148263762387410129614318820123442967128080694164037843871357552043245671316781581903095751644294130592656924819395548084171427607098176016629315988432274488465939317429118011827822945753612351640070340269056123255018805520418905361434948266929933067943334558964340171543279756994596559181180798303658128204533903476644972041892127766239853665891128822646468884362037441146160704834228664741422998613109986001522355151587629126922085423650380929766778237620
1493764731677360336747157051912874260948789666709238887283235262038133247718122207786289048139584824617503866209776766993592073291253971594368470733649641835578366000655645245578329646376980590489973856476270138874052431635086127152311829032377858433043611633088674234032094414726618612532910515139696767530311412799290117665673885983818281335079042462894301461772538607152977195714996183909310655663427594957559156339642996791434591683484679062955880473511876744591871791139101169839527964814212853703047362697952107585742213298864986174853325851455496425344308733444751479226391189403460431819824399326362875643354531362293123562877448286968443250077166312791053621226073821385306151962101281514827785772447237059349854193002570215631570948549659354742553599255115232511614524435197635470260225835690438684066547134094234972419658378164772809511773941669928999523065100194533657807736711975147238298148128088336862487137651345249591989666118831068011842632222371647695197273130674542231062439429928270486082007808518169996394327651120111382611113924040353521893319300811934414582671773368047506247217261831832952794166081993397035423207172839394448310748471670443742517502687009745914724275401277393995786161138030172884141360009149733151414530531776535153143054200044059059276516343524631799548065413734927436967344323734310469441705447208666081355100358646614384023885315514336992108433864131895218027877963018262415936192488782906532672525654207732978382100564877619579724651213267070194870485627412455747339451359833245880501119450224738973749947142583419923602130085071468889273787282347565494490133114439599129353775932738924703209350997951115267146587854776667945263053334224529222243706903740438660552115513028155865456112651468147939182697806290742165959436024953793611774905356254823393423439328825565617849864289857925753149618803008233354885709950421274426612101877843093536093049555309960607166622826544893796680218493973984656240455912351207587261954268226739364016111649402551452854820545199876851654960872465308671017274402536420570523744154511933367369334852790114213045132953518545333357422060139860437615711487613455860691809055822049635369255320314574254135243718506026659366714597883457733193961073196343047357877958213235653864713759241245658018535938246653978914043751301680609584813016344988216926374297185456885603037416338196922620757733037603547144785743889360691831516112383484822438548513743422344985301477528823569727080209086395655897313577635844823682597538953965553127163940324188534761872108948725153231810750351913392980681767385784011378126138776421399792331295413107117506000511779686218550542793197815448631503615333744753740243364408457604437628797586054242024806019531557115564192512822624372089179071431087242124418694492439452845711816660820742149600081170177617153132346503560233292548109189754256915368106007582724192564546842698702973979486561006578175711666357335536323434415130403391273925349919455370631859943422658488321609198996301866000248820505243943771474075821710721461286171791003589975264842121256082245076104915314960146892924858573697776004624899247950033312272746855129126737427523144131457141194145157346314178736338844428056723603027981371235986492675088395266171292773053543232581605991742525149709717834740795706281867507699522521490550282357643247739334966876216760983227414606814939105232838368941272353692488388454109298666774851406509993960665166511008242910503906349158649898896491203216241427916269251283624264343248435734038727465662144221367854489508727695931603753204384723269905340644628297711834623189250022648318854899481619542250295214726321942594103742287084100273960311613192346510594661621852976449229540514848149546560977626425604571844626340163633948530503315008272798201081799407535372156221290311712145917110569368504311265525398209360434469487949203715919498592598614642599273252163572610454733818691516062131608693135162176536359685465602747578332628691877115680131938153652084876421586308748797246454000326739073073165633613202547426079197112686832077449472171833315093089699664832636105638239297234717227408975463335436408038315532251986527010229338320771454175746234826929470763695758272911097461716693969483318023495950308663991650891376599943782254280564953497624851481353180113340062406345528534513442002349876761069668062518531828415221603422558591463845823857792416184394266545566414354906960672336312525371202153703800470301607985893738931826012545819157114693464206222899131943639679142114074532428522356684246580036893687803306237974384060559123369274487920391380411654765150574332091441897654084907164818811284894220213464282704291602281937140176235335196943690683560520653119898737628648149457943454081322567960449050436195944559534793351135306253346348359938512925481232004532613895897595902229174780058307706508772003117178697163111657316549876454723975343135222270356211084297882814177966390779818328602306344237522993523323580207919620085723509577488141333792880403155597710218252545673483029034824054765988187116692897735434439587447436009434223451729625734630678389177976911522012544411841124961450491246409446052988529671322620935240287518177373393921852761546682151088722868373290467829530475655703290227280861708784192978505088988501981163952701929999212507723777108469178419803647448725120186842889868618121654304693893339851264308474480629491012314784363787235240315729458066115935466673266043914182524382573674612351111577344833420160768805560035483451372371967559429299069390085176137323930731331412388814556699780729146493610484402417158851367185211072574314928074526048272207112260766417542294215844791757633815785640943318767408646134826527323817166890716991306888527360562679424455052167734560327264242723997114663010742083433178434426689861850230595705570115595427874746882778035559636214856659727573616697765198333150195288775501524929111137229928237242772221155795295170918510104587961699743881446513269754820941544628284833357283455859266663615981435484688422222945613552793215259792210414880707064991743190764601113954540396172157417573514012318509316173426813699225238731787774769150328968860965044196460916083428862231817565948708687242747557099427192018743971033935533079233921901605463152118770625391237511422359743904478355484872546633435994358018854396247612803024582668511943432724052530921032222363861693096401228783694801867262387441300649518784933502734589569269211621212189050617578662866327124151346603851198859138648492599344392439090328517953592535352825935868484310515999143187926324820172133264398249208011233773949794600937361721743558637992917253382180094285484092225872363212478651331313634117702387915821573624155128716122018975379351316802048698487805095126442518540396653477096469397424491096324855052193178546355386237098350710352595918040849637822354978839876217534676398144744906415689437217524642716300309849469095589993312698317564340315238530894335611475435674161016862672644336513494264835105142283918722334187325909023681367987567184190330498999921212034831019291542908081603005673566714365564579439605974239668559142688175094743009786032450677034459451533293398843852169864728531403804460695506935093385346196852936935369734221675526780285963999229797680867535608411127678114210831466615214350592124491787136217966585067411581205735707615114151587541470725149251414063744048184470016147060402338422109710675509588569127754737724851419598182507420248662781435798997467807834050314306762510200912115397903769127559775279861056134443456747686333359464483123906912204939498385177186248378595760500935563340175072898369073115491052660037627060810283056472282477334397261899792734218831236023960439575854723324386265456983695850402624579252039796416069127870158543331803129192061129994824151193212104787896012355564465378127141001807551064652497688522747080233773127287046327495537528868374870221518172473300130011264560416621437639027652228330957231309704007787663684594299067686832232304525017296682017423038019551652032559014916491714102563791362504504332963432876090017345832693721545748037897076871472981723808295827623238312983908031149927241854094316405954068660475135254343426077459658679783929004819645665268392550120627809665874356653563511262916103642707476938062394406186020520790527772123407287255872471492320828737758897263133342645061705419966422566304114522709091411616875106523491355183193406160648313697452060727406369395511222808532153813846728209359056179261897076388438717402368191165445096113523267234698608246133374020648764518423143520213087347250632237396201361866345264241119579346441846009690731658346901732003142080707349841534266832990564520628643486301068759365267307655623216978887124745332225746171551977017115598197484764120632516044644163972675024437705441194061418167509386192609015698972793500354586007549020969054556419959421620134845415062035702814818496008949649824131133323764886419215286974125622576245748814337731737862184504782543940408681082495135072246474875299253641675411659744276985773711923564263802661428024659886325923529836423717087965462173059638478821013568298805308417326877458389770726861701051490928284414551363835949181142417100516435302887840241473659316122065042100632364286658245052493862169366568420108583875501118139166713855599386113752647969723815254865043982917648889042979637272030106684706504653238621374493075640944628779211210927358236928766515780588248388307690703158834936969849396137564023381545523054009616094664952947674187023950365224961496629930746433721786011844251065458292235777303941002693822599901001336207406441568920905239233163720266288207202527783446111762984433633745819617788419072054441522699100735565592073115553442863416481689646051469966083752566932089653571021666246715768370816886499946828187288653419112091900160263505605503587294139545751026659594045344761008797474762728403999841860186126624673165832452707370550879531730099498328793289743470586828479444431372213468118137909022551392980546160428426553010817341407871086221065274880863375775470154207965499449824791252767065158617042937098375808096784776493173215752130212428581906570983022313311113729110682689315430262012912378676439214615746198038227640395471236258550106276347296991939577608788792258608622815259355585155525165703914985952123372148782725404633662157767232025319974817886662428290762927466716357258950889486431111297705368362175465033850877152719788226130631562256714542131778034645919173437712311458282819651155919522428917385578986367583250037614801499022451534466134088798011267064224219532481864158883169528999774946223755736576744169465606318837931980438593190056814332442386150381944137149584597522381717327780308419219714030254511942710496560782437114408297143496914156104287685131241816167143187992265114031941267530877219278431804636571168071724493353152582573234268873281799410219665948995073561117895122724398956352570931387395519023728166851522143675230124283230166173243175721024409249778138427754100785492069146666646591215498956081008319014115325551144520621138359575915268475051683644870962903020509227911472944388853192995754174634633634499656342293621235069387081046460924230859595920211010483546462679712847175154888252419330065934796975212559376891197136640013830721439122444951624499092449090445655870356241794339215235311323882875206815032037781241235307652231491979518315842987110483330955229324430015838035777639598099921331898618700948489650454543115932099948039621993216676225810160010909973122385531363695139933394735261627032409423497374418540024673726880931199854307000313215133522081927805572801865134932569256931778468263362433390196119059269901724548541184658534356165467982056262206497881775144949613663702858457449754547779476045950330656855176302800922243821811333261181114038373130108544717801667455763890926915190959439729788710233922824786030857203349495548304203087168723845132242209741582581490093685479022812669735522685381645933011376851536291058741409504664754522952383803657413261096395912123173873697035355866580249212609495371524054601173853731037702204499118812356639529995525245070616412297051102962965778270199769335580176576422140037867923236566118458709943241739642458710018269293174054687913126294800065751043141502919619530869211669584282828219574683406638206255853998668109126414769047636454627960479193484553170902410185223274655935195480268638826801426126521381768326232082525555827595612874824291094959481493821332699732573021291218608048867866205116293564563471004506142524927733538017473665282128287011104637017366035120553830608651885444308071303942655284866304028887367598950157891752459339003761343332766899922797988939223424503783751175131257179338138860810131122340176931648652345100664898319356767451016521049839368365672419504582369513399690515570632632596209731458497736331180875844427169718707975802819846788558170991291662949499782217534962515252810970292385015563100149806745563651856249536676653436294762777941418115120769283523168288795424656451755742294776737503655366177352484065884396588322308161045455919657757804394104394477644130442326468476825908583516923799406041891631113162234351523036264197107356514540718396922678682816900274490012592936489583672294642732851219109654210172364751647181812335950088515333722973208813867058478170176175973804443772640360689857713529880129031633573354543044813776365154247241537225304650710480452598581780406564737272020585117016649655097723388717535773349673497372246527559272640741434383752292329765780635863149488660577880149949961597063268193438155218898983156901021093271297663460349525486447004429133652103064258438727660570113728665112257188783057596178233093267059447944886879467280220644586336283630775672487014993124101971340394583254822392306322358439072259470800925388941300829304619565943345935757577361309610633885694994448193350575518067326583427562017900311334791417759444061930012538197673502111794387896556599432712752456271764426956249021661188762466788262586469338731778272394651637023207441191957628671236951364421232251381003651819903816226629689325007337617401930309159464715843013831402967255789814203815887592071732659806791027675062577496996134472701231219334131310615833126047366204283294881667505732424236835801735552318567887289975046200261166546871949479542108404957398852793318228240998558685013562323968656824385575723483969298794797829146038790689111179349363533432471429230866058436138713275326670522432516744925472663931030836831915403534200103449435044746047976391394288483879401180996530285752385442826870772798545094620597138762623060939135429948227171516262965595415079277682182518769853182432390595967877150992565205477132666620372408451612480759383460528855894194424828780381055704233276724484657759311413452624725566955000338697993520933759124974914416946578050390774343639047362494275071405010472815663881531411364273448016312788906917580556171135173304774592274620839937271545455420762211243557544113007893291267927335679533071631932944655166523793201379983526925151301346856612021791964754541014219450517503114501995822122761454892394722257401856020154520003583090884752984467030239410274547164112155787522131569959176318156231240732429276532716869875172238436678452792263489721038553918600189312730922241400571564550210173431829617182987660920428258616074447299192350432268291835149754372512005228296637401766049772433976505443083248932888348254310484417765121423253608663223043064188278364513251105579693177203217235113869990582313254531253093840427933535253141665812795103128275105971461078976046267268992358889449304347102545978415282192550822998670860484444976406337414296367385882878876585684845123381694619355951819236269180750746793157864154241302213827497709946460142758517899999916692337198950732600264221572879160072486642614424731302752435303423793224350829858954278104854302828076197094919313474926629891595932577076310215067767540625435665832914768415818566384592145387188202810195148961156708812389829011843574503597813449744278273958325952569026524878229297597156854760654141208145971489298771481068079008160232731893364402083746878122774152095543123220806276597759663733062097506175536636854956165109555622324302907689259513942964852472365673571527601218651217671185024623798466657784292982808301041366341872910650726416777552451553358465210922196123746031549373643214818772702204002197531825239163095904727772230213449081184448823901172521416302223274859687228709120937791752387466364959119554787984820786965165110080186381486355297242086227914557681925287457522197631574809797031116852558630072790677156510028569885030656668669804107981884137727428851294261401178128085269136746687582020029184857894431559988313084939490688961300823237299256613086857209358891831001659212161141482415116603766206961819926881334896366194450978649665896641555409626552067822302206002517187283019252043224181147127630925753222821294936025533999103099591742758775597462738072437610873518045642748172692872501084147347038272947159239582476042007952262886594392790031362695071778646450375412964134120295866051873359120513118984329361052273196043220747066865361271000871273787807928277036895605642663095122496928587293641855668750627250650255875197640902926163095930774720749180720969397568331420336862634636198948387420997632408503686883862725478319270464463742532396753972065034279852782383306543639761998026909380462258683941176233970213118532499469145690452181867899364901505829192114098115695499834530325636779190996914416715111604105033782146137321376715031050543879136612738448315378930599563059206695483873514597937383170756001452340241624437960801001344127993174693154091236420724716267081308198433916784886958914246446901739371941758366339254177133511784204327483756815545291911138647213601063643859484718627611159380892054554488163005862353695198112272959798855173135021534172656641428717696109541432879633946547699438374744079530249724122665544565543426574850631009785400237454163747774429765869482851822498124165467117924641305303195443880912346171726113767742211163133830575269927375914356354020983109251556545625460650179480245348854950616726292383143690335225348909765445901931885393340192712213747513020499174090129523111654735620552579763674623718220064980875579297739816367790720381808644593464550138463875032592697050956465311099474621071588409244924186341951237233162053183267348140021418972787071530177962066901518550186330521605006146089335364676101726656656297247344629564793419770547280226634359391983121411203130388205822997652924037989941246345258416986094310720774275406174222244756982803880037968155437083922520415220110291417577532161184279710003456614725061014019082998023644286287449974548781194006381420719852578529131448865027680373471556926215294413108845724996905032677291475282425814339261707502520487784411686945994799331861241772605248526510307838349741758690553127211958327777731294419249191679788450891829715978666073443702991403670751582260164677432472243503481595039047315155514396872102914703696369985638767333272116776350914761575982085308243130998519428788265953864195843117635745921956325163614912628220089913919724229856870895541127357611618619131354393138854803883760461939725653537972576332115103114460921794772399477799141563944438044413540189679529360688333969790342819335734651713220418471315098283573020491837814241323886748412962919164253430823122733896207146837284745120124941185473083105816285522393839537624638796651950622026341168037281858520908949071914814676607673903884965135868695964054361271447023219826130465725360177005709406800258135677175214779814118241203838249154818443991205523281011115332527548187868115129042567217636125157380055488017611538131148132064948492410963331134131078112983662857177095888969777893905553960289453353936857368386128611747827723655137375722184134044628913385486713713232710271988733377205403455965803574593250682533795625911364696935735682891376648332031217743218368103291334420853300698921865900064188974287430864205025195931287304141163492540639265869722050589281224526855961224435372992381932538512496398677088677820694208272177258676082551994241171398041665006926315157690185201491084277526978059527685272446559731974815558532669277041471158799242588965815474652131242269401970021143907734542760288475529344556600191515661927168295747816640895447891832260905543544732347481091614113796553790583462699021183615140248529453811357524069821939705573699218951060242216021271456451597583154016238434991896184095650053158126102511215806623701254214901255267826766919493350709324341791832244175240056884535322050065175187937181166505781823121819688087821078534076362443529314158453223734898565948246110755721568528407181453272682441049083012763001477463467636619994257381037006783181201620337081313547189987063303289573214252669677522577979316242322179399846667535115868834141732233814469532289928039145835179754953161750484145214686641226452510254613265330912797666328636871346914354738471587230634031017564754672391136613183736413477049194401114825119679156412497774065861845200085735204126143016348430446686656902716714709106860553831558978743511932263293342917552294287526880983150421301428998575560112492507286997592257492214434536956466295791228098196484149589604447684108493191390514169777032722181830786757211359668365679510230909644929004404104853513733612874134263842755575578333091096468024765258728923037209315732159384721468656683228056514689286110031126318617373149045459375664551160612201229581069997222294897238492223142916234540354453670284786709774200870628001281954459191163770681466007112579593204026789094601915232925512962461126207499671947820916470632852263823677170484414219396150394293181226182982374082284045425756443237313602870785861979229790895639462694310682363077222648846694384389691249013443797252737021563766974923410791234493666957562145581619924153747580352351325910430552429861150244772734211130342244303335623640247829555212343955127331665280719827798400786658174723439272496622835951807172903189476782816942445979753856101559329441513182808855996297985027738554057363861151026738043631321230220982241321736738580347463277954503581757841551595453015765037945255022203581666369015781816433883634413692271421038821950576225633492065686426765098278982444716997848244372970986646121138320561631782415043130419429901787900494392875042762694453013653542547075115861728155179911836557222226591790722730684210350700969263955411688064661744409494955534219003496643051527691594052591472748147922942626753705681022453822625118135322717804038167011993038442034633501920685846727217971095286183052812264254602197136868176894442503127802189812812559413430255338382701563917332111916145027261312514745614030698918291511093489973491224046189375046497310869660425605433457984613398159131831699874536154114628200657917193823704067838395519133100252240289721822601321264705872550185729242817515410658226620406729373611499260415740430596171875113730263276193741993791123352685209144454535047548764744228140899093872667929578674435040799174114309785583851090669811816491060139133456365721681558425609439000772450307979254651234066263399462670856174133070750266013658784902163329598986842473707031255402509113074697918909785752688573418930901129115373372761002916508147251676810198542251192440224317344795423147669550352987221720838293156038032393701412264999706048875555947256237692793371199325170250227159304653974445595197783380110610847783985621238517674334207636271763868769491063046856491164623636420481876408290176484526726031088200834473445926637730202521268012862808665932491359396446805179479286368961330593998302239001838275242747491227935915269170027840127832155222486798585252678075191638533364584637971609495294496225327741238222299188671628185706235922761420790563107346141603334964722339106362620112738288901162215876450651751325407887810789217739649694590399604020613726981328793545827537287180696458057306566260578254601641517119869797476981769883392000417622454691225867655076872553389349652103668018615702572333825638978214176549911125698972297003187193259672354224652353489279932475416372185369666250318276751548069246291432674136356040428654747107713188193656978016832048260768459911358788393428877144076375205126117690969944534541886810951414102658926635020437598245895858410102618193323566476712411441210524978498491553031690644719138905343564433871462252148996898285108562114367862664612464413601052785446253724383221597503548415440694548033638470945951453016095749694835973244759243088193055496308290475287510062737497029627217124191575990363310722183982172588282559750237454044365540538296788604789557715855680076077543418664101465392135724310912166385736660530985273394674910351990314934764514950807456431078247191341738433934257754829563021135644646452098982192846695803398625664361564029225856139157524522174714101652126754471650715900350402523183339682620732101555345616040179477247451995063790084273623381958226275267209331849929173139706023195337004227629752847912740463095417439267289723564823375313814189841142628344794978198310212563898199413073528921115280745127873028763524079013412348598265263876994615149231841280511889674568577548597034893510878314198582763625004129169509462161671159885811090375529503785069989747622858611445682425106163687356246354602744130960779805438845355211475372028975835895130572458488767995046260965056086061201897765704461247327326284957306273653104943355054278767033305095512194331928290694732959668522265934778105923082583567215171374222097900194128943990538243485892674327970353414502491178361794836137871684986191784190114431012066027807118114309071543415332143456410731466363922018014409822089757691206627462669123119419394019671481369086435818051209395174759062545972056242626416377666855310033252518247737812564408210181871068466576300144767184129364214508205716773225766739838548892522272374231015172667560362055074625145512522530783679147587569351880428622109431832896402235327400594774293602366387454647535682005082814422128195432683132375311633895389161135424346284262461081125623172209799827131381945425857920769272492414181286922945957836741194050154697679375282126189440692792914133331267250228174540602562807409288870576244737335082794530067987680798746804500634251228317292127027505855539901373831425368091702089107753255010857664233181867827937493143179004610745746320490138145737626828675393111268281568218234529031596153256311518859413795910201493136401547811131074139514721298055912994245146438058720047716821183999593321983527659635732343520909623859003016892226567840523751975642261826322282503219738133674490826123514354299747751192372549765010144082735113798427973111602135704405818735594733576361829479811324328792921244173479312463200308815773172802695659298134217947978081217623882465218122573823365619656743922121371049708528993811564331383134168317879081135542466557524334090513876774699001502654255706587983238845498172119581863248792406840702071097764346601715243741363074918436788912663870877816230057505904292607187482282833806174939419945175270452977653167767841525850346479436882233681947126896731206745335808757486819751814537947778291211210711202031400933496437673733247449667932139235061315499313816649434115767601450259681604521122650931369425013032262048888881779924714849282750294206137728689569963346041911150141910416220454126884980573566183523980994193799954642538186241072901887672062128334400763137822933925001090714880267679779731955090857961643359572159954919582572446625508057707505063544985198497978539011284765116917161687241292741357370043533472472856873923810820718283994219572578224348611208577002599454902806998057904691123821660878398087243859086879283025356177053192491570943357139738139943220711536572614252327762117484310150555863876878868204539947378639164598839823142852622074338942745909963614919360123667764753228942187574667197167655854232513646532775851221063291651511370701896660318851406573633837110509791938221818323387065945822631861653318850930361371527034729681288475933263834525801556968451807005876606869406414980357723366484545672235247207764559066456864042725465760768053233970301685905512209661144409885530978924135801963989633534467253164993688018366598467822443912572039742156190393917788739998164813111271842142478871348325881104825743834488484501065724321006541329776719558671902803265758139419174181768622164831887159283743366634117147207460399540923140909257896184357693231569926623077483365347375409722068701558494995612125284168968138667517852122756874649844598531969158910996926373816964791563158683666856610640446956546725759150172711110220987175151429058015004077841784074224419092932822464164272000270574212189464044852943723192100471174484943399031925779922351268881540145931708347561763342070906182355018417297741871013346128986572421071884945819660244692312544862652797823177486222261402383924814849917429111321714738442168301940639754678549147734494644225400441888113594264203357727808196317907869644572370531982110190793652534298294429826611981633241007172483966217122798138017146420400665958262173929125012597816508636226687290109444550638224524462440939164672796198962080680426860728656333501969786454144315586390148272216580716067278281700517533244171811583766368647582242178576852849218516778118062746547251603011811247354728404293751382841200739229264877261174742827462737123345144091599838356665754328161413892726234994321966114882412380603487136571949572648695004455033354648145301617911501105586466642704677395377397109077838829346855380223991116775502007142851668296553484416702676802022570679449972324114314288373433349111990421700255897521345190163851503059385896932276242108117037475794525277844936753328743302621087354714373150177573285334028855482627599505941773296145331531963167853215261309482113690995224231261141335291148974308196532573856562316791765955937472709545136148292184889536783252929222098528004230022638077654254897334285446919019249445389532132921092868859278946331620676316068053001416913169879757294044012675720381806362941253133096040881481717126204944417814318006343870524944885210335721141791119626386471084335378065547464265505648659727615359459970654129567956901318550583601740842472727382753439359208413749447415408725991412391432221931758754947002873232972144680911769996165024523486273954276165425483283284947271659468244133319981546918422771369545836808715842419932266521229873723742021896318055000432979487129607477676598326868425954661748563298106247313753310642819697166937019443330171259746163554110510531593917371305689198415534707442849370622086998697051152920218155816817898143466713618497108601080672094521132664274304118950756281148997743947308556922096062024798463022601627307491929679797651803236101903761308861809179805018585088712376186833780736345300340022046943189176121868176556796236915746376782574849391303342658066992795284059126425496717362305191704164314883330723795304742734158047134650964895240824082182950827041733610251696916517517260179523667775360962713571410816200492854190444561913090374633069154222064394255086757115604971100847695222448826790624130570356164448136239209227755359854643332719248428626434458238794033008922089901313625462088691926971618220726388385516558132190579912032821265981909450269194711757967113648161922423889628981848699187579152541219852142190841129451080214143825998126616237210531331977279340181609377118049472622070345801223566592513613267569834651191271224265753013023410021927777652959257633631859870303164690998402838129539278644421355927687234767770349979271893637331917721180905861285879176752125953636551478397111615240120476770291745064651773832035551955274758798298181556496605777492048116304591775348442260824075267464065863844589982771127625529836419358339569863187177414244474551524484659359274377648265504407101224161364753862124519465724615822827367761517353147984164141314313963042514993767434412588939286853442435460406950008318643932241609741070110771207712076395498178414170719585687017214926556744965092423554565551806630047277367963857089122574000276328080041337439098929236190593682708248313632628040161537501602403552434968175964411115552967024356844290205444618488238279129346976384210374508101483557079244679174694063253037210336246547634676388165954782168126689782148153082249052275147014068017572978987209479227529873648270354575183020241878245318599223161847632824533555892318234021211180139068429188026218804664100370378150727958096782964595640398557090342324356819146192146847285647225928840758680108058945163475694110427682962016577269411709494606018895488614968062946024667450393126230716756684742353635768833193825474378359439247832643464639494334129102336296396369296991331934673663176375482128339488499828722248269184133609666992889301962470737176432676181945288856293574546352216927610331782836269768593121897162942373828895162282107147850702188887763375437173927525436949139560651441774490595051493184106461280466677941778304875390956754382027681970446782003262523995165161986902369446519085562368656546762614861435812794738062631456327967545081935813164288641940722237398859449339870829575327333757922986619213345654721728641958459456058056488774238061232523946647516662539566526956111042723852743045746184482702621118205922125323646575454383450048134979614662666276625594578910760709786998573182642453478434334394847121772367343317386418685213607200082386274372080106256072023856537446492122070539453947213396509472745979384259384027871897636473308663741391971154797577804306864915002111571228977550235114706051416142333860768066427909218232028819489291564338587987875512818123289603654595306147456528821024544587717224971165931339977828829134674513456607619091660604843804185267017533817772946517577433804530533501137211117291334435009181893430914241976934138199329697597195681752919448491806893224954534502822197492451387354900054791837215460378215250646239257980257625901582378194337803232733385562504582706122356554087908430522155184788163488165399583019315687554357497106159281489315413644661459031379365739051171460384938689192842541942069924602222839151027847121707488168922953372974702966826372407111933540206370869528299472804590609553100730690968910052230066460329256570482467026637739636099837855186789734551810539549533850894535793034001679553624195064873882131418510874149206687517838765392833129685478971237600350242215885735552359944848221582204008778938116491656191753084768104134826142562790133184637241798991949509707059715201575669553947688255579407937538806262923320414518210122515452626212702952475603434207255665771725065764371934122127713710590152148637666120128354674395810305220740639334287267475791553769121658018583307310531979124516086094456597847216862286179196155106581505374264801356621680466282888155392626397073336923509459362010020102966843866255553452006339025409006657826269921054588764595352839262300042024238279617397627554431354639012782990583851844160808439131607765129469921602680885816477378047872029707430546024405160939602467806568730560179095396837334875625133231581550254902981701215946638511855621940607695562706445634988375498001127438144990355518359751040580200364261012641621332715900118540335076301689718693042973363415749861996867063399770257648546486874210138545517658582519614119959329083496602443473910418046368409828681053330395654624481665997258530427438143386430087225603572427224101583524954161611143572294181907146003922477824611247239658313649864090569131928415635376688218446751702794256204724975741694577259416511434710728938476957778472614446892695388347906833538749372255204059551540532669718665255879068857296656725777138443506896934662562415601893735699345617789901771506414632793832848842913610240338311185164625974572893073267344995714051750062578337396948941154816504167501199427874165274264711313639985715268738323838042833286156080297614601609030466073069519268626263761271222966795860742946001618772371319647800314557154840461350498281790730358905161546217731395411462754397774432306017585916742283692911294349425559356582524347256289345349171328568886230128544155260633658454121631505912228275280788493434779916362323804126214193980764743756457714220122643934120932089473655222044238747070911120925865803915738914810450829087571532498313989171499288652576399003916575386468955530221158754724770189142692989134865437396239883673219264257511394362970294344783938376387431255412299083743248518309911980398330529781628077570358603644422242351256206155117147699575439862822228839151242311628897132048896975127545425162609722613359701839121685758622193806832182574110588400780498212514405865443536700074323121863691256762397758650667578864908278414439299374999487621847979835762293152783134229110725591609799664647033769060046853257837454787826035807634266069817733504067261206142202168671743674833557468478577093912374780247782569633126474785614126612372526412640859866588349509804563293899555776767021142052735891614323197376027358362421018254396935942285730334210975003869633900072763597449208947497444148806538579981524273781404674987596936690957300199551163606020674216808435180442709207640068040142045292978516559372199801280094698348181366964817681367235045024932374104536264351537948672472292471556087865320654335067052979220063738273804568052635256389086457651163233583576135858743022861619171184619549936289517954074808965179018654691621574147741514426187358598234233967443713555132523512853634249934122522707341703934315359188264824029908229766874983288432120072605255422622339894513278259189771138172454176674996756722221603663204264647993030642835013746382222749630324209290184316583152253035750154221948945051194229293567845678768549526651959805676508463760018942161419357727978174304764740562160357473755373263414687148921357815434196204870893276209424982262867103819196711365892960038290078139900252185348901839240607919139135699925504177512801029755481008284219090872517625242010058532172022782172438769587921743652746808856330644120070659440927077321094138972377991362597593042846310435173234142396816073978083712628901153328499370008534612684444012774891100125116577955413370570211410858176547318432406259568156606365898938941381879526240061512647384137885133431557917210074155201173092989998950855524654844818502469668394916685006455034792512082298615331558716135592970967880873642064556691023254845879961689416388649516131778199682013193554264896148124235926574473575546141124911086399310650233735638653696898276461751173816867661733758379120228562786981958344356861336006592123446757885561696863859850516702454364653747814346904638774591738759798417068734724804918866146322203886175251759840785502948938160189915610326418510550456972425611827529280798908334446788854665497792824206211410625774440016824278142296366402060625573979096980346437590156163732104753252319218004108343748776715503184431148596410391782913930860977418841712549912609615971858124162885018455100204159551767365565214592928510286954464203095585443001478663138033815486087571210100608512735807514623922924431217796672658565957913100035236133198834822956869026267237564931058438040320414510125071775627330127518173802542366550859654295160720724138270629786370072740477407984247350230235679521340425275504356619356575860672334085658972573221029656685496357436290131177406640627366326050376516991373763494217104892764588209026473238907752729502853456828067821010851848974840407405045912654751644075012048006751139197935283052384523143237164859976047442631393703570212360374716058257176122562393319582824203060510847547387545805694133298112219070167102813927681982366950091808198383142697743101096264149937921713672795937409988199042371265428709462837453673131642027245435321293205823017786874611144064474175420702038754876054383288064335782764457298774094947198331586173891341964302652767464013569314115443428973631456319810727359812413333785294244083735782121150611362217189221379531722895088365772362514890681017732717120357274664151328975073449491519439762253913663374664590587267442321171607957049151853445498900853903912745698012706511084849953510773999544245005385041749387367117756299719555585495042162100611625625516903433555873489314969606168572865940848119136023110715782542275105821022381454703844093197869780713813973024738894689544133970548663790037498737213788572758515347379318802888933508760957160135695000184483348397756257899186742229619211196057673284563813909827049363769062098866516239322982215696498571598429670271357588074117102383239230812528857591469817745715396240572237264688715345299424281603327276341597305467627659031065680554171280156424899582098739136433267941163051617944651791799790906804545035271221893434357134122661362094538873845383158579198464868180108593223185301499866725223209257176500626985692640661434527710138582512004953694589780211889475334732433169069960737202552099107815046973448021771361430607589428331969458763481783299763442644354115831077866076125061886197897283672004215921673305537567602430467146638293446805591214642951770243333217039081210334918779956682229821293416452344844599846827003399184721700555811029972566302427193415618650122738515911359870207225163234886546792191518719893697107366238725356641687515189139235786799830322675858453736822617994116402649249122861646214879856233090891922262613260192912865381293437789258527682116230911579986544800140644232592405689445477013556033108769434711600455350191032659667404731108241617592742989955037460311372054219706645529840093255696241307816943721831515379291072899412617375162008422211687690519907662457275546530217761072912002373524471505185458375629017643818938972093532619536564835502742473478237485938926882554982158554126775443303623690446327860363952834214207402686022114802121555904317946985201241435898866481732756634551192350155607924141536632861059966412741128059210617790252464991172469964244972468849740975309061120269912123268310599422954311055112530399831082735356665630842232843951565569105968392320746277654766485451253157817653324018755800673861021099342695339340346051876283079080742897885932423525558996156442474925631806110416270505147726922929346820278240608330785166386849351276058019145293685027262336556053009311927469271388223784781966626884037780811019532815449969995290366063784789355020204695032834764348674577203463355475735863722775267019852487835733818013036277795981876632790452323168805026729909972675256341212661499748571251188138926166350744533647847621086205402335412830074306180044292725894626947826778736891349986048817888138231690636072277815162053106763797954750804827880415388341838475893638951139046207553812792545345716377938930420260728353917962493933066511470683498240212483440820425384451533821544261754425548127937912872802180688750533426950651291947629315998623346850735847566955498635449751602530195694988356565545943643909672063464218219738543497104851438615204307017615743960446533983350401832884181912834259385912348604443424071690680089386357385253431755641134082225325581499396305807768112572496271413843229740529856545039679841116366004295301460573664278015719473025949795691743723398853517213317272249162604864228591525044046310595888412013589365323457298392562415619353663537793298852838039582613379142857424511006980697789878651711665704333039496333594519971794351442796484550816134184896368409260800033004207864632334518859282317465085224621966565667327468831481187422280943325333948116622038696917241761796840828691830552319417695159029964266759919875562061454136512215091716157224295517527084440159843127713396679182638258584465531796930496046255110391547933886263023574248228503673417276765697494183359919604665114972882885534985033003793703305699757386412161074025862137278787523818852234081017040675625810654322602079582889962238440162939259784821777154666921167882161268287210693861945332515303079678400969940063316706616718456530980537676478123172107324344133494513642459232134958172206187325325361222654120767539024123194790419378005896714892728340944420731670221954813412282755939886274062617296858316226363467815363497383480149700071174815327650422492675659061213283838689158413566358226377594252524957871723454511344897830519670648478759599130453431751892877396054387462592130239263062505506857319410282813333219396193674676411297156909940384001893700226833309825391793598736289707875530704181828858583702627988917196661206560114703746298095113267129633157253206599258979378651284691990405301475774471550908681591717913831575252246807264404867933666028384766352335400337927104227485521768084085100871488365830356247082832728700270460048409981449604296567817994705898133497830522582753642368968592725438835720395459626631655516802867630691748549118550291933066864166549497724281135242433369233600911849612107728711654521167380657942186795569636770239624014707504461462555917587421172234960272474852961367531054237824354311231771764536242755717651662114643592663788165013150525287188328169917245435684941913861410081383736396397300646110414862375685823212926336285972786045817266359378133630817386342478852656783565635675473306648013997576308217026445439379119372480305526405097292246648486318295006494463489762212954464626734005557924132726294117089470219686506035174235891466471281171443166192326273954655285601757277480157627319432978013153195858118986246749754555196795320799410951208363033219918393060450715955656961659314318184431581751922954806232528224520636042411356326990641326202716146458558057248641583821244641849333612252796848992869214605134342121678455651879731283357817616516492819460457148260583316276423171947015947759812372759149503168154337234253439856371181287305416815664649838189644716603137288618783109230995871362182785268048211186116829823394899401942534697888363128326944078716381279944181771725917105716952987892615767017237418096517726790410992647437111604595293616469121284726451517280657301931696588518221172811538569507044180589453177063856949551344159202041932671217262586256751397200683871295826394801493755387215889260168022283274807681266422705319182880523409277423168833527679196906516748020773184137353094144170033453938667375453611048159282117984425141289584172168116773944006365065332671794313581461634414551695904137616923314342472448746749225824039340360905983218760774887235539801413568625920412283754163101848245673403163064844015188855930838019587851910561727943365160277013493426541972384738142234855121349362921520233575408063047528135312688793524482219735534327899652166664725262902817906068814341282754841786003694246734522740220076566757202889567331255953970981159547459148782024298354247897694935718982999502757427282650914738919886313137583247447994566148893695487226848420190029882182108143292458160687274382511671856540733703569130716195238200225379022155855564985868522606178550957637677443375061199634071987456732995709240410579574281369180562874904042918481575105816813837730833720426751452679898057713756587274170107399168437594552114751172033244680700663387914976253813926895617642370823638392582925935176445373125349831149672794585563199161019424546021258227948923977059174752012669564906416124198296732961927027240909021463917454506064142567159799436862102992461850343308704622972631927183966667136436895358750705087215859589637811137134293801845762735675524790579534187995671910121968125321946965675141756499842355624504353925748539088806945757713924488328390125282334287498697730426155135213969764428412328644887144734699975674993973484415725227607712540874288098495230475940693330600454103433681684083430024557004327425631102482438168213725344271801576619080653764546553356169012095740913537613544741428894689340952800813971678239215369356549566530139907053903384845158835444298471054659209151701862326939137683319419305080350729954926897886861943283747766488274385577720583667957564743292684062494219408054518489928116773207894136232609139872259335487263016293490061947245438720042750282690377158274186559434609881966647611946958881700855903981898376850524765468303672521381236466246402110325936695223600564619412224089378582576140175347326715723988242020971547347243384239714008040374221586854513575712046069129822462865591026734698981232432695757683354094447837952152309258314497089366007888242398941817793094679495946954290047493810110586115721406280175111469317194135512421085419217443247388848841989518932324450543299947244494329106069609255161209347823596283388666623914546544156621456750066842297427921204596589489079093224763483896133821378885345794292585718290415331564745330695999615726687607576914240255976732365796362991317837143088056630421273320647516319811671387017569705520993786750132282016203476119481103589930231192092868384006924313786410188624425972643318462021033135396160609429867226629689706294315080726257445221413449025180000059334027129119647391813784399518520498239035366415343783129155792045801568773799443447532533101521814173588179889155216440900550958153474436281382695625645177018511938986475651402523696244353165677690934531989006832757236471760646534367199607168109480451714146732594432296572637836650961731293649202801845085220456892063819806632586800906315537713159263247698382861214993437991183772059035761329639980866362693168947132651739883719039940215394360354983154962267804016709379819419018073365910981157542111767681814274748874581219169794641058427939174417298341667336876144248280655785972769850750526551834484165513001007321520446511135622366725607825963472136434660948365141764355641948146216723653730182892339124379701684224008243221516100728934833420473854202367673821481859773463214441064174236358587243729337334412071464943376760176658153116213424514756888632435111883132613466938031917761433432251554973326068093498821249276792392313358626722176138314511330508781832795322094307514731653119451128259608806269923845916935712214148156758576962656302838829858612448203212013515669596753632806212525776073140173694036709231774601946191851837917293637735923414983583991125958320892169310417357235623104294211809414159594274934912813475998820757860558031356839585814255218513090129606895517261375224073887773628133096845506143332980110339673015907219744477591374199366216549475033613687718719192159377222650174151371453124787347190863123303592309441323269401244796103282879641268405667891765339967059540873305215693659926102611827658634816267381993209462975513338461177404112262745255235116383942544591850356100507572813833294211672714624962796562496333422467278586747312922764912516275165603025199933861941347879859203797502859803762336757343620745801786180459653551513711636752959264342267273985913436943974907611024111956051162202182343780861910676650472538910112014175175564241282713455904987193661223855728061656155344679804422672160983083564768508698743511223186516839627295340724051306389472268981236112238304718378663804284656554205012823443692127357512573677107070286113475919527758629176809284155950100022195469255776490632001167435711268741260485053541101629125841283413248554359925968949515551862031028170061197669836197152811212323499794079423984392835128559205030033715782517622853055192442783586171504463406632140447404838039689842665264496568692844295611145350942229488831096910356026201836377845194424465957776963333085861765161559570245947681221981713300214014588479782270116062439568246863736514361491305874080698452409153339342458833014792293545350618939971371097296327977626758422428232672616758848390825593453490625531916529414577134759611596921380872966353329924951650052022637052172793723336846980376810975127289478944472780312629377860786262776391541335941074781922077056308173009919524047724733336014432218807120319350333809732475447313428541259627729983845602902693343121646791225106435773340719258168273736051734606102949836095761991140830322803328235411787754117340293681757523919367741137914952866477990923636716183780465376146268578943625885230878691670241504390612956468885332611025363082667988756118465230695831955810921571336792133163609970372463022081099806109110378486901317804190201289785196157757969676429074731550566715038983311955431523690944961475042215624017367203658588966773479764396673876889667363494831411918773535060354698625389002737631810194429897505892729584274901296682193248988158437926334016423412532281760550354328245357952888314546976079132212098041857873218780270220425012596469683967763608247483952464627076112624740726282028572133916904042090517917473709517210318972535250092542614415786756363518731719127163148294580937900514266253912228346019526391051123600752803585263143464237944912676442658051868978631837808401819298221333593281468360310645262650724344746841324198770039497711915313085961195157837333553191088241284782267737877483930522487864397401607956208055096346308782053681535521017452624165564986628478141508786377305356641775307789525885475796567036342002429964523542591727963772268986396831282385915749857432130704764162288933480482031196661387896192026755575703471874184253411461735944963026484508193233202677191791186030222217092456126527299633364561834760135447657534510478190481405227720060495306073728259914307133326225524429972411110958860131180775706962898060342710713257091764092570436183422624943728563993311444574713410410656988281556905185139511091230723779153633063324544324469450305161831514440579425252217490461848055635360901799227109709559435516685034380307046289196340634274315744148736040462129389723638828909122674755202543458566480729921827543849045391158834372912532658712673040396034282244371758698157244241417871551266082132212234277627278472551213047052865701308774222547953518052852955278402179473075652975216733968547659830380833929173832434307040059549414959161393312590419099188696171898238653778509261622851459924198452634405310461351651025662737772686768791512038445379182103842789467220706814529960210292885698658895645332563759267628982599207943253448290337699871220519347287511480483160122280960726819397504654199868063698106410069902790360968162819344057661157275853466161913501941313720361564438485591042660992718055542122142116343999219233435762784318145614807462177953174627171015421262171998407878207026899994128455537764252414112883459508875122695639303391824697826972626175088292657666066132812117905408331685025943766699540829224885920308659354134600325483106285720864439599364487433684467489350066533645790322222978052465373701362617194269312815731980855851196777956745122168198331417251378875012581090120068001314076589563592459236427339473562998898646127874516205639380413856095461774035193579052101597903150513106692412192693006529078618969911543956870217434016867459724983202689447354394360917789655949174667586903362261112871192205445250742311893167478735278912531061664311388652192627336524466256566068629147675611570887431595959792106413348913159623900556333826343114286759571011037098497064050900332454105244289282082454016211166176285379364487137419790497853967959386107216559984940239286664222641693710350167135019013389338575421374355372891782261109488361081989460326177737642565421611060374222598136120700576853068243565110438992252049580711125474392436140602615302778407430450291753427447924749746992761501183278838393841595974326339944030184976429583231483905931353242596895076460886085621693808285803939643298734924345479770739747195424771688770688675654708137643769737656322658767648696054603128945404435088020240815937766805753644211318834937865740925688977391227571910188444813988030703357232671795364282091897535880496486438892064936254612777800606889197712553382349214418880275890579651313609849229722160183836624283795758620571567391470883561913155637784756983816830743164418681691342786835542641953927627233501262442669553880669824822359559938112522424045138593711997438132252753463273001982394512424318221081411514607953867872330823811112565214802872767331524571225034720298650848438533418145510442984344088403061513974172118822023899735108177238672085253108735932494214306568321147015286223689525826145041474050338892332987081891014688867799924540683120422667633679840468428054238231441892657587967147522382242437054226680430431727762626794005813944783343096484138367245914676225578981166017809682223713263326192817876971965997441681190093270725724790261439071776412240742633010520295642266281745834776073505789246442889407412868055436213178165776257962258522341206417765629412653335325770566775644154439602527493079963023497804810656819679426840025187156496609135874676923933030343979363566592374269236319713663829720010511895885057923538794142055763117224498502225749850860592511096866579227317347288521212118911692560565196967594393292727065539716712991192821227744061174373628107271664740978903185729258849937221507130503775482136703351074221691080593203701240164704034211994122832582849310812431261369779643443597115985002644206797432796442847144926558470647495175947334796714029243240597159607680975075297256109333794898836215070914172173319365370836845845294847171379227428976492208442741410730491697552434866644300428183273257043688508512335681130075280679766058709020952165264933938155020215280561688821835311192210732944762670968770864044987646865122828765610361827113374504199747757687772221100954598177990535874210741173112454232534409541617250390699296488381417658680655305743806067634024475765615316173542441752634649752959105982250122659063296880829191186117108467394061225628572128736191954423059767888128488395910551836458913276229638415763438429064251736242883608795057851942506581228341979410842298304337515875805557747169286622974130773727335688893519218947202313460635076367326277706273387326641655488100382495541123701339200768561111637513306183848294734986465398649495617328205801555305030559226156685619215162651278685399661182011523375584884269748680688917446546016672933599594941667425839335818479091289696441698068667964399909977245761297124796265217840722549289584216687911208138268491234961522824673779200165564713123096323097332237662734408247814340433851327810001567574197638114822728545563941515511934819759227003276572806370698274146178872718693932299546942268462517673985975985196597793250714418815139704928048222738336523549319673079204039654714425376973863655629730321161650456642072743881103584359184668521083932033988964176252722836342534838722761243756105922961188483506597488352272356126203016231631495602095112473348999556764622292084950301707898746520775670273917978228526421973324835022784373082881525992697203374222358305669852118474001071784656952722894449716880295454190297796987986291237926592464303804913084621224843319170611998530184748513398918091930107422319281802914902194280978588944193031756312323002370561601641634461600775314148899905456378796941241151851170149246195934087189173382665692928827359363653960377828438375257540469295355838873618875806530272312350465312724819349390686766014763417577469536263159747416841921056207622550690377428012847550992776479377540678718932903124567085324451881391548870231677156023250033953820221195327102664021623112951266667860066658243243745554945668580245589702276917548298991049277560428787342209478991760579761748051310578429634486043821880091307524944592055399442038936279506246417884631574685874915267815822371156225756943196831463701219712760270475622080223854195779324147021725447710081906178290270621052388877194518257045641159224555043228589188752128019516175248330493281436499862509349483621765767070885337807774251774189665226514157868402086737998711590716562119072546527344459335488188713030332111549793763516466543612466096627443252592845928585788519191751641651078867411344240288397241636146326344184250899383529949052713926443782278470158364780838752743122365555469536585958769946451197506446429131632017584738696904817534980705517841659975307561766944821220116454633816587292464742742641407403414579557437387085360720316002943943186737852362069052908372522636414161694929370657317031858435183782297306452048453425093779343333336438132176861976004242513123032539156332755430841560162096899954660314794963851051794398550272798954224967794673853671938209436585016072148841564583053133986713212496244692315223233639523796663089977179869077585723327774076343876557505364359676406074586070224934701930971522583853663629905441200198847382734245293387027244136465604134157259717665655611048872982477326537244779225274913805369376414456415980461973272233798385162963391076059951858547527618807077967811845655848563680554980540818051965787708035409003171830511601461940948604282897268193524751535644437827759322063015491066311550540057366123712216123653343153011145646450468715217715219772777249028732701893078554618815898412664814289067274415873284716844941655057792561969008205794737130847269615704591226159221092536826462265577486547322850072553744275985722143312579560931055819130671480873284721287211608149084858891595470265799848994655331956368300296379853174156747115575686761513305244691743233652042348678468079338317417839301419825772051419179142271868051094270093381475871014229058945080061954584493731973426640413698474479755112175301641745845613412437584481556638200382784113763382225949298578844506944900836770539925965155390355877362812952391443503214017051955879273091141649669073714117980342831007066791712778394016986018202155748247886394638702166501819211532949942309656644880365821662255412981204942623383699395752103125144043511850492283596645407324923361801445609077460874835938419690068270697639113921348696168415211046554324390319060128530541507275884932722094273752783922292722573331447153472340838564747614721468917231085828967024968215224545418162509192351849285327411403584712750218069956130972073702019384236259851655223618815269631533027770494091271703384323401016468966895675621066556872752279165315180402611832669906117981891699286663927991717140405452243485227144310922399385543420874646270936542867701559930362111582418506104848644879148307061561175881268543376189095217365063012131585459059444582351052241130077974385346313265683963819885043687009833615998942808324842122687317263031905964300275437990881110944685189812565960313915112594990172513602138587543332400377222012218378927542534559571757958405687665150919149143109189023188554392039178339573979348656739897093142967458896575598857399754563855739448269479281000870148601479081991667532984757144175735073367770530362827349937197041739828819216061954253570284263910719213079312224832845473317297992049322312788604563297073122340695044010674869716521406262469948762674668228171711010152546131346960558692110546926456940878493808058049542509348032467288009269854984287319801730940711726937411541830652529206462195853092898172786282889469424057571332532282912498485758092336692836668636157677434111838865781064520524509341146496500166688347619758562787171181326293332766245354076372397371282020774838396011838825297522241735299336411931074712784108497778124921761756196072773147093134127202518738572504149770051219136200126045427259415275216523933447134532213882720397220618168967003711833649917871205552662839698335632323316912945231302784718134703856607383308155468618462483360583832105728303158135947932467998713764031695896422160351676206245137169854741707635532401073326579892902612399406255946950150278535206544242621746459180205555769891751795177642494644644435609585319681074211888490317120474665090759262654527035448012694252909383325315995992556607867689520743323540403638917235841223411352480500197388485461571570496395444321080908403060412157217628398069169213418821901475763060951565964782787277965329244098644076362789866295297828129063185783643608981593627112973585464276556140052502842415849947313208890768564951763161508205076784748701373917118016045521863622403765877615711617294796164010632212829872796494439780314519360372584323374827041523322439864106096661581503948505038675619834651754948893573381223752467120756921994476909769195694295179225224982822613666281391666332359444674911935805627494564579023570253133524014997382306050493004866783493023927045998180321156872527608682860749219212117393171868415974273763592298729194395325920436543353576891769154699344812587629247351000943566216580428327548965544786706214231894487199318116338698342178135263093880917741535607420031769717648865977230092901336874651109777917470249761632040072635825043645589582814258134854573073785955253248189906458507137144107453593683882427167044213155180238908626517518509024894341596403119862284264608917155271631341015144067859240210657382036507717639043241129340184288267058306734693287040172279650410011876075471255575153978596932395140791112495281474866831224476310674629687787025165532202197325887197716114821515132544525608236154756154855972009173620084166903285046762419666890696929395199383520010031168518834775028322923249795638238126621410596930108324068988474811206411809195916101950526721254784549502270287697365875693229976701855149942231025640834169581976671065935125848858441415380993722135740045731954352371933588911148500865353700889353981814434793832907901348211952556272364290994988747533198123728726844247596624023556991831022264086955226095474130311926619258493203359547214567119218295382523845433942191993138737123981841179387443759478061447711248944420210072373709867350402024337241892235012761304876597566348191793753984632828365526205217152903965733299196919096514546191841693027936404955509290326501750672380764829030825596848951122925692377015368848945823724463474875234878562127937042666126301935349530244536345933995447487980137594789735930733769522372239244551817509936108345173953403353938548844981561536121184958954217896903098879232095332223723987664206263071642917831364860859170392577707731451331533198989992893219781422358676255939984052372910567628710528371797687693825021110343997363386239045086545119032368877841583738654514504090569088349120183651940986542508777752333947698243296251110151176734606940557515840162588824223295330003249032333865610940400037563373332172238645424309562471048062140448988801194686326709039753672115783071947940427118152626795081120459433210979544513210129039795860159824215820386893167403649928410967178485360196122904524663920394214410553371671924778315701258050883633094324951071287907033897686472969438845496238948893546130375386025823341175998325463948879021061331974056504839290258444377978159893097434324054245360403828723914796613097686544973046867403980185261111083631482255271711229774596796424551990619666459115033668094335103299768822561947472372858720152062129214986685303456567634285484967879823759978374950816280970630291614622688630441714775383934781800331495197234484991044736948124264860059914606596274023192557274125012893679898353124387796649310499735845919253931367112171114502266025469938145010559754349093389538196253026916775782633201488344504196287593389362666089713798335797347983205309651802789893922557276171808494340783667598072266374720484973676943986832659332176675000238412943674414033592730059764961845537621738282849611829175431971455169859707142813173832645805735406637989359203367211684692629823544515678448403655934681052939575055539004486695659516014304720986410549369807432095315769676496403487476921910454045771730636386984989623397967055051579039143242978082689734076017027291413602536827673850597940604195165516293332281483682365033039023427959138841277459418791988779382028250654472196778291001030767023370583274085535547511672342923269157618862165663727406198774562253456962947793358398077544185367501371749377158502236270337667853311615012337810224552138731321526403043349676849034252098676254619542969552306867657093196066814317815994196722468596420409461634698464002259651083059715863244362314404141464088206367772884883347939492492984152131436333389687521764516092021419876395593463415563347791926373205001244287496848883887906945730649251874995799079093349368363061725654220444762139659638249136593516322772938524314367760331336091536912040424928068475663311588265585894925861740748822147113954444227113501735288224374521863417678751506875176465478327051249968489672843251469440094018893228824553677202365283762439346721338183486129879178206227730073790484417526463683859438285179412083279284587848573609166650436447300205877336278798614446460935470314417905938261752946234766263348430743490613355950198921585183247351827380367218560112018167395344952303990593942923891165033530280204378463562273411361695040535119846011394433831625791111857480976216921271528756349609128684595390247372829774469328147280113169493488121891519737009305214370327539941197521343307344124371314887830831913417686514682290951072726573872315535541619984521019614275202957761158419306013205734977080727614411247772983226668617287154346132375955526773235299413575822173238241791313272129203342494200394642636334644333643368901431737574879102661776321498693898175137925461196772352660652321572467458840563965426174229374792843161453713495445500243368247590090298893435333311989268585215195423128607717983969401859757572986276233869629946041500811319501364161524356416794565578172658704879055409269321132768442331982394773120704914794071074713281945891155303872734214515002796338652362572601696796715347266466400099472923795267203262438179371587343712856657575268934031382597697866881644176761192125246617053970586042094853842222692478240326015061917535478347416834277076771697963281413335252865272825286123463209418511203667941426096178611015304371764435383428356420938761203003493316511810246048461598483162061917294895472376022093682984187997712964117357137356531553827842168441276412575845321643257697496509007014679704505616939389238441807937079126344672370329953823933674647221408357965435857671393103272307913131358982829666750092701713783429649403849778375741337713251097774575714959261098923719704852869471229773555961618230923815823965975613712364553922133712803071626396568417678972963082449692797318440812823330132519180415591878146473786029319533761752210517167483047555840750382406105513126992796404579241338961286900896574157307111035723281129707360873569203051935331424196285679123098081331520221964725607424074931230995224148996713663427207803179237703652253675021719040219777616436723677048307839903159142443051394637552445934544205563186553065888877295111875195092292944442747536381687101190795792078034491452840467527152679124506791339825899008902340794541054999792312133589543838881819092281491783848122710361531830285978984107791594312162490293998622317109882080007672896083977698137385666182272683738084990937797740025356258118350547714804539335213988463595279197976157926003996311788546634102858336370665480081355455674343959131919452328448620736881304068135007132099917445188143530947215707580143040628994138544402254840112304338948687778314744257032954950865298491364612529124470155012213408550526302305786792557065190404429174754581382609831578530928191300656571039934663064531393934486791748711183128521331849467518917328158150803643694121743038786797966664883726629414713536216025703801711709932382333784639930237602457389952166314450708631851531322244920316788534568657410627508040094263456041455564096366466177129609453257752587043532709900756380786751365181898807446256296422821767232225727895293323378561069659215041210269871031956059221462755352626904488207565011321695476455530456120269532661851643440560938322001232102648846953750699385307130731813222233220322131234870322701792794310387578315921252586133917377754073420885485442199679967745336621262040353985706471535809008391442495286228010471642768913453743326722603761180259302445528510254452938210928950533652683757500358911815279996048009076756973731992278648622975965901094877288211283327766476819636468302124341666129338386449206999130922088385247362464353982728872598108897700234052869184046086841616810974471613941097111747756815341069132908000329134409310772208855154479821550917096109164776647703720477364632541767358317778651376318268073445898854105747262189598968803421431476428800717331793276051531624425298480011246915865156322489417512294997796360711293838754989732711408787096257369422824976228388194083382126009354813183386629111981347659003529495749784517350191724297820758672394426735755454529289058237862554475840244727346795642730151936908729827709354276715679087982386769594940952374007852848117926619095635570191111908110166912001163372829676242159879296152150208545644704415389793150136238255781410743510109613393528748470202970186878393541255716632699273781931969313364675584807082769890071993781909623195747626770294463731973954340715153713921139839867628214925342309352118048403692853392589626908561977487509774286545763756535202822712196243949160841143301096875493332255248851429645423850396867021331613965157980253027154885081950631296542866435412611158712266624646439903458846595293629180223282692362565067491747242641044402982445225815166214163827542509255555043657981624367791717435216558537550312591577993161151862119101681841812961840831331365361238308303564754200677540912201964914945206881854271198499351838975472405154782716323867533443610420523111057289255015644020167835373212848963207135762085532581772571280267033668826246339427402539831569254512882712814846352186353300435514157820050602676378393441561883975327619235403636418327351009282483478512296840348713353362428486070968204194753713908575508654261835008765677202731818213552871646836388358628265995292645827334370948121937631915623980314742682799374400856545829961743905852822185188399127386054455473978814583777798902907331779542335957935737456231182868368967735226535966109045011541415575534913661211590387562797363567402997045618952586427729011665413995725835430176337373701136749726862136102792124654731452935415391480580901564766240307679209612081900477628736008069362442296375983756616147713013986670987951570576512025027233861416458306711457168421578111099871151376760645123974325135442429279020245588771073355413690136464634374419603419082183362752634086508984251419593393864704236296854753259443394711959074788328530945274280648453587144943351061942613123007766011471559856360368216603092554489613891045826591798994722210327620428606513149113407357146512949196554821600168688306276125122237724106351313389116258734627661108243828447852472415202778551046303100191564331413206545721980839787203432554303247370225043479204887436657574952551400605660738440371774847070556825455057550329926560994960566337905584195155613722552040652641898186992791177984752531375152168542043181933138500338856913345703016167137116811042856519218535862350238189222400214257975122903108373112544088736519583158021738945337394708568214307116869524608506472815741914697156851251285932863440106654282142846217416865178967999292180894746452503829567735733180427582115300391345089966103043169721347987303142895285963014287853739954945615413011526999993678474255830416152956659494661103817728573910197342229441533088768969398442958137696295966432312083740421760111616387275026194999630546170136980493717858615121209705439858190570354127185448231914575312433486202242254437759663026009496144136356662274429482428186591333084751738415935939328940561090473610228648979971882154358178801054016946538790283299645845162989986766734327193828259366493387902693456076435731838130001262590714260778319842706656381720373715660645168091548797985240269368194332210818519029686190460681767095713796192726340158299228446332108488876205933486575032597509413337579534111659225730692353880097120792663853874911373988331077308613825850908621331328106423906636119122072362678211908994221987831213331222789163107796145769155715433787463139780627536480513462111964706900694891564928594201549159973904176656748524845136795623461177920346946785782402863368176023827581851252148999589032596920899773136874942438634681836395021120065964245454662149611344869140305239364839279224059811852443829951391261873209453970597330070866584387452260552496015275132416744141314181173668901051105548847660510735501361622442274706615519655082134265171635363339216842965383150562287655179034289120595754263509439347242601457652379710752603332590351725497262584657653416132225312171167265491689582074563751351254416552089487558842301247041912728981823221781004029236711400363567813044259793574145655331989852658819138447751176110698957329299827457587013631816626315238470030392138193492487574775397640922197891747508214059265350368584951805252265492240125595275891921268218174749850570239212737327787258093746200881395289023364635467713334660469954509902052572596026120746910074707953286624218706420383509737666464609725618435536889231617543523537237870426773064730462223774639405696161095089868281435521592650801841115081913222882958321858958923204013733600594462261978402664491742579155517539309716357988924594682474439797623014547282235995313114639949968752465404841435507158647453750789976866803873529428706282157238294558437959934017748125068659171683019154674103382762585807049342134411463352105317250944553475553232599161148947881288213834217582995581507462009160691458232718981019321191574612130691169343902176225429525954940407729260826559171808424525296923731826172147549307765072574346603422383187494551991492836715837988923651414361367503242677671872653415940489103069156544733490445189107681840766441003894465995344731648769274116833282303149721507671301786510427619217246625886260069445579111025876855173148156096322448876124517463912853466157183728660763121431017440231690955744963998805852938820013376136536194316262972253996029917274868109525866235004861512627466976766801781722316544236234277796774228902469318817525269768439246104475805545085392472346561604225823740265659639957784964971449121520320377361239432939645539694084163756645998755904218384920711004384798124093613289222027573773386580776279086846068931852021370107887938338911378982794021374275550496811059718999013165142428754577226089847360941998358653789779547713364349169401261431214764952223155463710158839753658285732653164587761843812143442914613809315603143412013192948709957868242654572615638347359374844025965879580319441880959177056326445882017615301977366709721167650787221516656632180440540433899943198198900315924172150737167082329589070039107082463735282244131513128361820281826251710033930481691612849875147495249927012806586114841629031309282643925604022812033887162750363769584337347945143121994442241576847954332853336049287041440330151145944716130327570279520524673483140353382359090887675449201706409685201392009760867829715625574339122919690542214175321906035846194214290619611440722242836796582537384367337754427267998252686463324900732831932153183108411173121465925951941724391084464134881862126139435973273791112792692210108656589089531652015324025791124743163608931214179275285141519328617917467048080536902647540366192653635241115672643454808242084609629456343245115775629067342937247336542519504754260749996461048701658813786523128475305481839419626346477315831487865564420212910830026239913051200771062328731558792981671282671541158384221490859794159387724623934866955976012663850296043125929909397893208362023260107970672765990436122243698200479570670149688576696628422313482306147284146117615094947646527027431616829143655261873914987282382600935094212404040829747989469491265316451591381134072721701283127015538541487647763858039468793476863656614953341126794213033775899237079851809828269342350242536347902795790019324462393866395796855788197099902770062816084049022083035422268620367554322318021810832045568243897554887553410129014725323531422884582513141429393800067674865630924678232553656292311222368774532601329833135635383160555093669197977353672011852569677784259835704888764778168608290508451884906824793936405822051877349236547308803743223825266249713595537045393978860911530461372982209278055604952013584376082610246282394231489845120650445367919186619355442781916412671106062890895169860029361439018419772515834668208030761017074285670486041877469385761409561703644460083422086121707331725235354537117725687639961968417510696532934362199731527467538025304300527496719467961268430241605068439974465347854574408360503424960329534387144585376824665202226991525917953053122925617952669284908432470141273838228557246251179171441269223015876446232241962643214326646564380844266109170872425565171393362586312810618136709798700470201566201451082605100228570544921785316471229971516515399233212341308098031945568808122370288428863164313257720771911584435322188515714266944451385700099576142281487703652469524210250915209981790250841573596060020585661065636516917564306968650735219910529508864758174303831673967113786336870278241328415695851113561775956661675727818626645129293572433929112449356659616816232286985420790789713347957899171982693557555296257114676407072687480188551751135950014745719622483035348380394633161714146220179438514349791519282217108926241443669911523883523100237877637155521167631927680389945363403494218022414359812935895102359892781717134534474952846912169482933425122483685661566106147591459422920281788259268109953089825487258781322317316141367585092732672639076711166430247945735322409954315703739939499968524390404762768467610707511270716340128884982911824714294363646132025501899222736396783893927384681644603601284279520938184989143663805273975783467665452420378522912449187604635983571386681869715211219634206916209865068023794833091714447746320166975959785770631387245061249757527393490371581568596205477715357157409967082783288276117655483082448818761901311650268425256604848357570873871435027326457156854343751983965817425343085724134776459681912571161087386197394518965821782748099856005758056582310968651577875441286885694078886033198447316262983330022975494922797998344280911236863363846594246161557650609763654137580960715532074241399210466436335166905146091851951515084159228871989937715474292632615222691673963399752392515482619083789710624498609431152872516069650246626761832509788525070956860311908101728266209177275167890729568080486489467166234691915241446941869392711215877414793675163296065254519494179965461183310536240769391503458024076980062604296311789750538633223919036872729537445797835363958658934237731421000278487053654475146741900670792579122265095944794384157088843091144541292017479770126911902716069728221068142706334303911775288745515391567744992473951224839770583087862276033452345523929752355437771737743116108607818102045722522136099744316243269689292828274048998021352352995744083743012730624374538239481065875730683360001342773911507796451588604978832522355776246019195779211603400325490057191179098464406143927418347565160897756928673169418414562063465544342782784329751594915700526072205450766966467331639833487935363125541739687450567588775252874981872271266181823635024782843618604798206179593376605627294496822063507133003504026801162107554940736350289093591693977469340418136144585186224712558721858874619229748624649705854550143062442665983665337136121010621076541521690556324697630118629932151182455015178813440577090288132222127131594078222426902350223874575490038315038025124250052155926361432580307973482057357815844097900547004188462902794533808980144837589596149443601291300290538751972164015406683253814126802120590768926666114624796532137722879354926034408560317816644609083255011027105611584792644484642428364165721198254767318522130729989657044913241717189677152431346630320563114835786716618933917218120586929812802801685896645284435696469002356147894467594816124569880671134646537022364021835478156508153759719997194028653286828212223482509207786524001002382596311273716635310143547006026258352384430778721544836082584614473684935825863925112199469200107482028952066147559968805457930342894444884059422516306387068738581694702433133082898710994214381237971569658426012408841366193597226542041180606680139413374388301997798677450025457975325141405518484659300518641118858415708889873506453614622074935648862109991662523681420115247834551762866444994179082340517207158411334430755232340550728456747883550403053531815168192762754092685834156121755523171845653132783466220275948376265338911776658820627039657501934534288822071293271987549433018217198581531172503235744341423238994522304666769246450336735681774001501311213415599589368685714703283394462439089311646856077685067474273051684175084611492209079757056219980609162673261829966527912503268680878416297250349279242113773863070181831678526728475147861494860436472180873594270857171932627904901322436712655427744481907164820068160955388571863058607298425092600664698853803847380887935498113760686116951095619194101904331676131165423370220661945350302898987212456591809143559205454892469642918292823480944870752460148697141908454431760126827761518045625414391150286710565900276686439010930573963369903329061505769410180644823740787236563686689024541348519395109098042161097741753720164258056022592283039191951914725832768124929452974094405858617374163115081825439532298284833716947613131927472186263796743093548943286921568238522090950142885848996839257567347562914964961138864477248170271491260548564167922879119488433443455919009660614163638484421863949669230418166472612528187358694326572745768836750361798732680835238114828075104272710245253095290643032730666753367753906148221269691139121638229703231095048731848612412206527691248595236488741605906973631587594827763378574323521982271727410880587341722917772971783293059817231227031294304463037089874451395826561050947571940615202877115207873146423181376058913387840570135431508919865932616450241155178021529542097073257607938789423385875113487052453007527140725510226705084069502972009745237821628372237611165236665998696312693136172316563918273083293625206443245988482064467743985144751551185832415569244557492834668990076040811943144381469473750003063956721274076742041825925378447601161488861412752970387843721813208350441557341773575062932227149641553036581741287506960750591827417122079470944624741557258914550316205679924248611637461025261869686418394653582004911701106510131323470040817221856906468061185680271800316734375507986424274319690459665653842721726978868340643399491963906545547608213965567531874672725502415977135254554010512352109377480733443139224427720074974090756208304591982713309032607476082677566679426118329990983801199388621010486694307962954003065364194894187517424964073158969527942617024331345059279716475315733209719834498110205653927237868630121130822418395882801841864224947586789262326161004560931556823903489687226843791041486425581944789017355256138650084374394297096676646838331621751278373768725643217985982756828524704901490702893490630401874718082406891352208775334792392389297456917255923976329471992315763759390269814488301315476546341167372097076769734459353511523635685094357122350779580109813903314494723037725343765510746446556631475042304046510352533495283468316424503612320974017613793034624428473807984323033108144178182583965597063125726916410757777951348913793165331164362288940518382442791382438415977867359269801514117450865111487759241951370555087796625294325154262814395228236665459485667512675727576978341922488122921264118843254048178111461711932371815946765717439433566299943874421064263594543423078746964291417146713272481875839116768646089537718176247296842471057272620126339839888656244410860074522198677815636632629231927631359530362032235152621819286857625355176563579661464735385524165238431333621013335503838196118365925104281734906964896695111016002324373203949272210442475710274169773374524668867137772448405569329622343313589415304436293733232525624519524465385817868493524355411596035692097400487444342092695748685918696823831011203826343356429120554311935310385054048247914814948071506330830595511951665565766804621593303991971934174271581641114628620384131825392520069786302645405424873014752080626313478952286086129357560610611113828269360600524561620759969742087671856529416219857314213128739629522063845541870057156126562537195023169221381641165866085408421773478129601938638398272364663689870551827910514689196447642094081942258147646232259009278674816001972401729823935680869092648341184495593112414851452648291485728455622545080532292677463021231941192639951748306577678228530129370655942363154261606373622456324141013301939177226737669358536557095944683223942512712016764638933902198838213302576513631669707445273436997653338491646810840961276357309952553811337497193487417501786737704942326383161480818983554429270910461100788437994888250367904844586759100072585333325933253947091149179295380819300403295155231255856355859941121805481309302576293819549934422171922439193178653803253153707826331390367120384731522678066678660471910550273645225153161092908403827756967580185843485175231386358079837578824281713725609606018782111848707254102677814782106557938737453551264308478532379313799130325349245390694515768638121007827333149423421264337670466926561560363779940706031576488178955031884292965473874365749515608968585611444766460453393354792039988378767656101793962872765682385360591678483699335574186426740629336290233015514431297481884069326445337172679259173110372824653921045613639913327705481582062783841207525851375246165225625613409924208877979685499431081478811355590924995776633840079395288417061529935776445951440985596212716024182373367773768629927050269127901760429236215305152747336513596409432255371204913583964219931208963233931355494704454551580125116915586201197112642816802897376032243849973217567282609050574305491434034754220192892242542148025004764114999925010826666719105814442151367245500472514409210542778314974182171015818328046362818613291887238296823278128057854756140362076950384291653215615293556188980055480990414573412359741311967061132894171772907215603505812145010407433817426075849515968596573782447013269971783943972287755492381327324693797346414604358832497375028754539677773629491850440883265302589424738379946716319917990240162309093206903058718347122073403689710527534203897719346550045885446177509313127251433898811751150628416070733212346633145834152282643077614100981475616429575853353568655316057117525252799928741227699948219878677713538290755016484767482853320510138446713417985432995479821463608472156803759585520509053254824140959123306474344219267622154377012641790426162686115310855729740153207308624229617007913232631764247498700635412129748997881019694539485341170997951158954922774837527061445321960041856112170862602379894823877111943084282045303589977483746445124484336435155525285442904139716570496272544228008557589945441521872829349846780328252423942381347677796418776263039163260503853708460797314980929595419224382001865445480796037096262774286245278084250290371859117309427952939896326666336021730435061759543807815919993523489318101293085770157044924307027221913253085781261523790546365446289405355013187315523268636674717169873522992103721169032192788725272052880749684813114252653228019385249789640025797242066914879818808644839608820290832616105809309376922100558947667153355245654884357773221419695353693181701310732403667413619386271643559601659492165225139742902912676162322551249516065884617776997406320103674310989085780677665780071563702215360607910386646156918541047027056686918669886842013246072578609099617751404454229053911873112955077771788830444926239733511806262372663643967146717166417324783832835297034723502843962324993219225058818429524036789595368725045951206535845892564652026526115807711739520518782224120397581073443441908767633732632693569588393015717851546035428062184070963021920668711876384196716772420303028168537815611469853678294832266691756038424134684594376228376636913011014672286890912110393822531537691782575668227474997243667111276879172201767788696533512358264812688629738171403571296656431509654301531991565567729808944252077733250812475323228773936319120182034799680667269773527550478615021725614091762944263433164502369387452896021182054621862113377374969377996400916008293591148067044051486350928984369706581746714557212330491158912527245606122545895187989213505001077129969246197871332575276458772933649563507969261599133639691156178122309371430717655189215489620553217055662720275628071148893425432167153443711066424283321604667654597627411644143068126857628455471412147004322280419393247229847828286283499493602088935680602114732506684293497648057436145854960421425717870144920396277143982313665463589984891911914042050972834372382045680344136110760465719492147379062578086385720137545277408629189729486745700057132527631324006572834959328738301034951301050107620347092341753030785084912785896713531290305622991288825413263415566373943716877210627936051502885735741938188707659410171522786806744056572357786665520235118977941265043333130181292272812241437009081227042985946720351911340485584223124175380765375847114113519268927740769082246058076538078015574889517184783131522060825845453140801346821628398856738580621242990844495897587112611609181974252529935298653187609756143984461802076210645647254652072219050799665559433018841053912136078442222322501284249643881604177901683469214075324231469314903611709125629582956308924784236456497771041538130143422120422237178615351727180166053829964493850516433324078001950020115125422217798141164623108043048502471685491212675383943555018751188373451672175632941144241818646659292862987810473256903121904422986558998762060720368087664703331107331914848852982121785927562713934209771253119047675029337392966674227558842171815881354394831775153890640599970101970420149861775655653610943815274728363164773372950837251733250999232828057863462933952598009773216242276747395689776726293691641536159170462310674110102572121392108984749715656757573679776476388563701596239239738246150956808965986445999198680212476269784050129911483826193953181044900952071678759523183121820099408579681606468772817617127825010426157485962115153225282766690800752635276580515599105861374476231022968678733401646565051291056766243448682121858390521638997176010238764356341068679382380972157409192317708248428873663175145858110536326023821196573104415182473261164648091728935852642524500941948843628889477433072198252503134037230548549560011836702513482081422168628134507108033735073121671195429324337346818925518466875889706027140973432119570113713912737190972270101513061136224599532266168010006785436107988128623815804530287260634928625470732359083210285261746963536583645832803614722188313605744667085536429121709624740327141539421109486963040533596656095807873527103470701422496176470613618524394229612441589625757256160005953849926399401875552710148335979857947331669176944222779669772992556135492822641746214475276235857314134903306906896155291793152813862137454931225320802057318217174124646366990469687698725706598167537399125012039249226808568050861563511296973262513213220902358729771055519414859723312349164282325446767885184170516680535081509467512846525874776228459612870540482292054887524467653525260513223720903951477464918051563121900399743953328225382889998355838919645908046556408036708492026577171458330898537332931293346667176700900613835695614487336119237406600196501708021579583785950295124350938333795341859565400272358001134368352641399948955837178984666239313684582579849299804383133842974991251694411663068780386631721184355617956192032966178179852166540709872939575865532255928909547135180147785336826412274894112798994674048788610025387051050088438344809962520435190262946288883142348092810526742727719147021925668850567374145042968040315860520339545076885664517938001661890616737962355895159914056098937248538107920071805202332235371204932543848404860649308975948581105351038936493009295576036830455841321333472510545920881977933116556454891541581987499258591934369617592881023095465557426733311255956175047262849286764210491860492380092811342840827459710536277344178574520177621540714881209418967044357211950170732474852942163441490712974088691875846898129416272721142449289475655074794396980188913541178299232379244840725232038461498288116593356937173438051851710290454435750693427197434826597497058692720113752830439657289841048731799583770200293332013247858511718394480602861865836963464729597970798142714639085862428270379428021129682973264227664403128158821215959636416014658694341312285560374678176907594401314748514547907701427541516131631703730514396201354025927194419247177063027781202761634243036615004211796845660661580705227052969598567472767389197688216699984623171176246902050132594776978166992243446003851079947484775372623973563653355572117058146751727586925977562012746963019397298291542728524415561927121859608495256490542572904139943854540094785293275903892288939746072933452609115791946385280006585446924609203829805672749288368706064464434384588360313820948672181274686858424653761925823419351578113492925436675622919066115207255535038949377982454807456157556289378755781515385302396778434393637700258801517349891892129057104763335109589306456353320288929162607021754237503874077845676929340663042296070249754382708111942802086616345948338361463521639189943392112250542342427623665597155174427727377880080242343445554218270033253040353491347306905650734639515634684157874031532581782917231333474353718326329371527111485543284864888626577057820313809421705325822945094220066868279864105225361675169436444863746923766865161431055211733538404430112192189242386147736505844636176296722539577915960595022882591771761562775453385272459328178358380328598257339678927719458868043493244621911611041216401497528088191043852189243750378497292451585104311549633362253796676133837758128656861144887348381237789824349860113202796889259686508605737781697342246506672482644634644187687264992268401849555934369826963238061254479781255028737536513699814704535525830223023277743319979143579721039964284779305503440225494224865369342111309999678472269654376676816296253555260118346100362222794275018649624644373725012830311613838646275567777327962846796890583933117747192348959510700527396678632346724642874729578599619442018585612781772914086051190237855451311111141702526325457338414426576768862129340453476126599345385280143972650609139641875993496185311393651506242241106441799377062675232839757355777844936136643216396251065552256062116324468951467790928833837361602471135918053601143988950435193427998821247379129689735531564154313835919442524148870584997608239632845915336726729120073588244425833791276685260190479877329421027929761392421060472215333020585169214312316971174419593635167514829882692292283401572339854408136985282124536167009339357872825391718928941452380825241962244379031421982314619856215245695398445250458220342630856392879260230709222333513024501976681354369714472662123940343058542369604686742227569352806351943745991351360648681529298587173318925617392826273917003172931636432467418873224684801995098178094662482103006815341166898592071884481264511460883171737682531076677575324724025167892913185680177494294247586304011881567525362021028980277491438879605901802356982290204678639288977988279081817206592700797254219755082007286714604799263857019834538108052647584700670162610892827745122127658916633844668033106907806805183311123928592856094872427504411514843981475238787256565433407602811318715517223996554726895484303528735597810648669232045331207253475708414548247837853395185138756077371969067683526249151627642849995481680976919855770233522276484157961341686550284873922202742514305314561931307218119952405650147158895651466385998818834107961763800878026560717377168456335433352407242813205944624029659245315813549381301269039193305891480025386948801144943518581989495459669853358934618806251521789240344834968948730469200676231405863825445746134155051632680663097114932945970775573139895671875487007387991863478284357616668698643049510722494256508319797886456198885727622876131903625754042577109183678622727292697613519388946925875975129628160669451263229295191943369362732056816795428910675566415529168914178169155253972048253939718378302437154406055734411364137592462593733789745228024277389015478256536845446350983623793398555591745155881315328478962183744016626126846221678764266979788332064954849693025951199649818409530291896621488572878919356380140237974222070279812403764646933022776893101935432116975953729301882670242629115312374956002358890586527769888652238341409253765938156666115633657292328888944799922098349185566130467151597577732011214154618032580378687247837014306950175923312680816084229880327912686011235200987309372882728074846409138419445620057587495314881312091012086979485338998247073647003605031451935170360168127407066747135607047503408876556630443658251732392056803822478445569547664593523794670204288429524064969842014484684696932168382821546511115565105213530565598835734092108209369474845228681067191244443267695163573692152322627240482375985493868817889031862530403114076481781662457529639482586775811775676995340924170377768299372042271054561328501881690350876129665891327479420610942153287105700954106159948626067336930884714259063417933430934581553492118031422348927070372612382306340090228909364386068609033907632224089630607331113207153743509714861582732690607183952080715922386307694662452983915681780647113801598647343972468489692594125871887303504129829813741084041443811973484979133270144510302793163666663616962767432732513418666141576510660854488732641598373231246034945557773386946730792989310182371503727809243676721753266548016124786056222599057163602945519067780755346842238886092514692363683830646138204458419148564857755742140659116925722252687516116420459936195876294240395170059916666224186291493893009284001363460400110780828051488412672058564768741429707269316321374496106161716855101510504531530108008283549562801952233765137583569404725803593945540251570823730343349913456938231737152939298935659934246271992017925583678937037831131382345621359315722139760217873412208565974016286634451059807681796810259352561221016327895225207511591608782850632916966477548750311994261626123930590335628477883165553003490824454080464011892162699935549715451541574718914762164474433873970986194157396879225352236464228981096530401872381637811082260804297679783554770656913874868160412347228724364916298210287651813853141508429651536345450616141734027045115808490651245391953596091242732057965647156591707009011309570208275952307640737990482222920990339113647790713760350732378474734237949503230813120113716820675874640910080676327284329996359186691402630424607458848670027682666787070863856494881999287785124462610354376775185593170942660587334453868927955903791522729520570105051230870974833308337561061422228847229162632609110306541768899335713190394340623352103244128468322472010809371831578316992472736441308916454543492489344869273830089911412502444382755287705483383111912235897435728494184243913442233363674433158144504735348370719797793784382862512491874446044023226492692273575471017102320614689354985065247028741166152685622568566544086851133159507792879743715370097124596896007609531677202647265540187876587885537181002653155360000791781823981332784788709376536269969797936176890768230071835301016092066809145129752648884209060975300625968381524126847395244616633675457819436361778703569304994466723533026329165878520372516372281632970772904858347737876261446002053128648976123935755977525418754537425657444213826035017802427836425195388418514948475919628015839168683780032859305549993905418462370461764679677295767330963222778968653664444498954824480024443749646508782839376824659677225552261125011752075146042222931698729893816687415447981248648114617207955271720452233340084626768796921725464231221655442003626432350723275199258239345309439322917611970255081028885110472576173844676674147558780245705090765174458103358733361364513891416202024496620252625497865247828528821213675142640464902069661016950324779035548513914458648542290292420240378639875799941635606313027044108687314581685751711736836885730517151900987050488601772027581518844938633239724069874857782132271640136708216615793070918075488796370584242969240190774701839783348260972307156170512062623611623179307281118796178348313875447041896234278131218784321431540854986669727597717316489932111118176087189123027645642036867981444704667116542569226782854332441951561202512719457128724162214234045201421455334883886587393129195895370119421065359313312898031352983647773405980293361497767678062440369770988210542954457517002744737184454414878281886717160408782763594239156178915157219133732463516219697522062586271521652939041600536014635389144377207298952762733111128236316143860844669558537941463404244085744064191653882410444700168869523453114298797799338142920159941372032304811101628424473920255505195279433541943527135622591999270197088775196943312967681444993199353996873948698261398497957816072258015105628476375854018568784377590055249730003753238405684482871925943025673154255123368591079185455924388091566285230075126722292173081483177041653206273352866399796718612487081967812232320091535706291746331390135209450207591193325607474436005937686063775331047343267913030597534926472065178444624133437037816132470472189412567160660046395142711651888929476962006049973064685031483019954816414536605139125550153048084141669715560060245525439839221254632742923681031441421900262785877810625472490907505580344384120180275821342212763499134470098722093654964088788810917062651334968926158297791951883487117028265702515506062406354871517182989502181432552186244726904709633237866128631939943107745277826310133255087411906391524275162653543326794910968564955136589612509482052535023524139995207471423924449746424300974746637294524143597116361448716971481049732331083833751603666935656704933480354236579271297908648016493065080215226962744412854419862890311834854387587276014774652020758625631581784124626979927780748450046962025568236942091987861922174989140248387811234558527258721170408414195448071571453348327373128202153392210535143082734859849799631359473427382798443758814455951075628780740306825251931157325668775784583379909475218031418968840676495906028960555421021178690892590081980605829928422668301148941530439541830293789031616363182243972162185776013945648452977271470316386969176075320315963404121813313485918675785694764400354605486203588195614981474070865234214015050628890731065045593072120652665564651423149103494683948146557052756445629243510653120655978656988368174982449556143568914741550035224332206143255119431170626356025640885541901821939091041649287536551623242657656109318048608133507326254163047769639782396430535404171552591482978261062681950452703530131688186340602790140152153894653552037175851482834824063133624411163697167354386569510905311106910577546534094463751367056617419262259308527456226260360385949633945524666481051047919696336955438931539829793993759362161211883523616617781413318526443035293354565468239857425350230232016243541221475172542661640507799521692565211410785859667871177163246897595422510903247272434216191703536869698504138224348361348605131140529484099509328131658340209305586979076806054002833120958667187563257075983053441252159381726684147576188977302929932316642182054424183230650872335659239727029239967167176715783229015761712422873823131717521648628491352670870622300150193607259415428154184294245375332132627884705674784590713258494737343783707120722482131722748856390455251017206712991940753685122525295992157277700453777613332835584158031864308854481588906842710491134344610462510926093652411025327331350796504901243668242844305366587144740446718541307260861762733549541712129533074713242911322127682489555444694357758286313968216674055126960547543315028996265525206146945847134506588018542318659775541448002712826849271324421903301015825913874622718544185518298197960067946895270361445457731564710602319488514124008610903893866170641900530969636294204549311433504976598907803940521243488242523284574662413076864462545943593889250889107518072724024866693599212331844091854490788252530532920627782954645554796058037736027691949767999515009151774996732530779144077243696412903159010186051411755178176249918373012704071872464532159512573078341681524793879409658138953716202378047747166203579354767817883519577200291549107039354793973957533372258277637912748162880004932143932250201255227180442830883505505702431633556623394266303635578113195135632571093089667094145469184463931308822209499263365344623702930444232711312926954634460430901474784928913386316639931153681784994899676743043106368961560938613382296460684802664497261560548827148109711410289769154669131735906249107478101781821003226426107592963747881485521659012919706211031466872622610430976668789990287891111161879055358176447770034445417441723983948021687328502874648842060167785708563262216485929309318499173252599386334818971137696164336317530924096177056508635417093365672842641622906243683806114598449355692554557685968782526614535893568734342630044973964128661412487810288340316069987169400931151788518851536871859333920862485027109547985897149881322514038666368027387232801770228033087960280174376179178379686937565844625816438973242632148859359710516973338747094925612520882956230541921016235228483277674821983303463817425874932813367218595067142467773154465357570419602267356831382690066286474957771590258382544803915853699433049522297330110138279857949479743807270717833278702429411028868477822415072418351832456273113503127451659735061448783017199589873020561392770122160386728109374753228945216929041850250547062082737493272197326612024211845158818797945297929111162529038899601412515326878920659724750645606380944129120441889984080757318316716965802882131974008018372455163811437157041352497294118419717192615025958769376535232032896107122349032439086828385084634241465115056688511881840369991748672137869606531137136644018714745207245916411247864511255166406709622669511765453758321563597218450988512498582740644483023625168345780970416027863261343616632532030182528965552684228328479478904566256855646202983003599534218765942006793617876665777204953251421692542472817038560186345859848486153635851767449908149664644199705221028907583575205322139723579647845655840326038037812508723893566468233315864210031221460023695167344643458337040794684282570010666712462725837241893047992263752666207338393841141300267762996113296588435707505340376753331221599180380422385059359522963766476404333523648024245964558360875929064328734168390571530016562145263598327777056682650282722567930677001839539417073442414998506402368172461794025335540223221853126184983528424919394834274582873169813425852389393307781312306269766333190454158176904495509094487044158394501907103983655469207979796494381554544512836313511034453889258379123062580443110231076901264202183283738331695992218791314572976651977286587856458148148471693107381175743720912989303197534706836837981029661641310850296246570531057304523874666923533984137958104848535741763198598270577359129154516225774954510174686481729375186333064727235929090560431880673434642768327021828173342256975414914801023032640894649374809268226204424113260816012736162562915295228145680438419194530590536284101443023223215712864262293044534366589841716751571099248913470749577632251723600972827615676452839408267537358782485311134354497837271189776658672369323622757347109993826216622596349994405808542295532899453617233876806230114090231912941569377484852894260681741393619449218827374992618903211359723597309509349152780512533964468787157492514562454251143174183501953171295045893603292781546930546548671437700399382462704644351533626714108749733311838658242968163314253113903454572276990164944958723322732319073781505775368119156652821416527241848872502458829249759995858826130633635724822199350847984877063904796113268164762487566066436157698352217138860703511182613040846951043661099248975454707285797416408481676797469681104904402295289248155150222649233256536912650614816398652631989190244928515658324809942054557661873639541531835282846159279756402180661340528047198080933004070522454031260965220032407578486421511945388345849022171789415644831077552316080936638533796723676808611941195783129500248278239064773977716741165925760430959619372314546052487569537615203444015999791685010199117514081076584134421766858516260979785934872669572454308221621643179191319719725301169814130908774093315100205728623898971064550175593446595107738411218972485536082451899853515296091920292954661743887310722356700180583367544222541887164147041293501290734527351643299109472382718208117409334199816384995081289267576093494535743437152234523726638853527061057263257467510365449352596737165813805911813372247354328774125715107242644811491763119756791064421568373389592927316945645248041543121923723308499198238090120821522315712544954029449856602716530269346725869883232173660309952957199240944587159696276425071651387319118574023398873058988379223210131048075937353180460534822695167955461838785735738081736536292766239125200179312064343070634238995440869517169793557584728278326004605841256464195512397161387594069621572246878891564509901436144019354394755615991568670400347476142221235472116785615222306198421998360244961680543830755567365431945271328452880182532296599326117685581400478219537461235252473866538277768839687559914258114919670763510019502118722613524379571313511256682142092215254119325797141312175229487836123019361599095913161270763221624425227498039837981478565368655356746915452697446255990062899231361751081612373692777986473874265796211049021358487536333569824166419167692408234850287169684638941022128422517537041122277371511821271096862693559269513534768047882384589531811492689037248924564082387283135653306789680938198426894532626541924075843670270037974258094043609165871564240987588137061212073057470543812346996151716692511418974204484210283114877554763157282136882546915544713718929978685540236015603613542975634773492350752586586598014540592901967127099889179549888662071113351593362681513357342616257899310757943882249638237729653310215739004843472217932564976541917244688571936906206579440192043210578577667500413170840507589079039969170386672627613070482009657086950734770314410113235092145067866542780689403962849151973735551893797978014643672405225883473061048242671308623768299818924181468362613953738808191221994723972072954824276203851857592654748139050806619245939347660701529463013076211324008929589815398981984885261489840435443799139395537287242103326935051657436445415147185759668043643068243556911795437189413397015503994827369996453617246250617880712399538524086974943915140971136501678318134392013011021452494584499458696148803468194445772802292888136478469126672766630664410157638563070565918098922087974301388722460151887574279881093525863313130219663723162592236154366226058406269365627464382769252836661379864904997122722118788747120216035829605735953050181525534454166264277883525003583329324110479272741646211534888547081716186155862732249444640064650793772352514617839937055888635128282675441448101315322474257593852442592154084957365017177670240313897687813049409615317471327659461543854127970872541999600804042334680289254042536431521096585096683455351581714743347560907299604711283061438454064388302707581556353338131471375617297171314772164478888250744762147964056123246502893902921790550269571643641366943536579609603722775710612722294877600025822118126677149195086741060071903621343215793810043784673570210443135376351731702971661233953203638149890268169726112793508404813447006355400909876207672877111477490744053685626245840962581014395498348930694483666388587552890203256457156877227211264963279948796122261212827631700043357346087830483946318085565283037538511524073977142741333580949602054519901960441470342795220997187770255727641070415925099282779729731910477124535119523587778206601167832964217152644593897288002615186108925704977408984342840859784635204033587331594415013604435552015840938586372319894455659857578936979850975498242380552723436093816011179827731848595886115525449136572014542796226540093155998925688176390772326409954418875013286863702613466893807248223587388892518506472537916624728722839320790121359442747964506711759501251364987130862369874328869624379238467608249149498585682127331147157152360186781138218874851373225247378227169264683563357256194242010785123898128672636253524786841285782157862516767591256889104437617133501026609045341431720799435121154605432786423103325141860946047059732747384904657324922935632549921210956502913389246733126085436551375651815891299325545329898376398138675842178281370369158183279374967641651755354679663915678786602066535562867826458092221446552896752172341761841238305554159789629552901117735481806808249119489793406204413211808794246041571097138252950487702832371332059938272728278125918893626224813734047122357251430121636773083443216789349672938714091839425874521891209325215950595410207859232438809453065593445345457714761149832280499470304193657948387913679215761736524089859147931964206326440037357242931134423563918805826124667864799547149559848298327103874392537361638143055969490958682538064431365484557486941076562737190079728076378426613120124559916799544474375862097427621650759723232120659315727692497745324047216555138137525370489454345750823388377480672344442774515322266732135135780133257244977933314583007845120985204178597326358064939548954423632180320215735089104701146675417365480423840308235773157464056932626729513429272632622228936556536723620498921541570784326244422939941345129453423053660626703716862935841906231139420569233136744910593823883472217613285765119078572137158451187038141072444298781150037368304552027468275830938756074662606153383546504959742539686266742850938831976530037197184656449263903097186152032202825009546577997925762522655886708773909428844974222054015441804546518288549420089709069342311369796717202667317020166118247419643633264551390452563102784313851293247432857793857683334790325491722379271385865264378712873173140079584572647818124430738448063771537660023547875841154675624167575110369857183635738513356267286550225900363188525171035867589332412367186797371629251660761132051403517386918783438527181318955654922535636486441833340467690436938482234561317886761247115297574946839186223058078908685723532117901987708927635153514306238721245653597640837051963205626715499934601328933550752361109584531585006559085220432318674775270934093964926123101533295485261445406823498195499944273814267352419299576029687165206017588045958444418619468874213171664323628313014973247100283810179787221872872768988345961218301469051276969553415442169334012381537404824079842041317919555436755993475513725697492998318675411342571404766323519893052711632949865072958658671325240666070897684722344173745951423487918687813826988594717636386773117544138550578513676653401082740274578381230597566123837523722609248213593454992243789154045098826425526555519503033114816128310651438959622684964930092940399009819705650183368682911245630608952228356629845758825738329312117503684975150937198603354657297369151629811743117460354099931137787018671788348213605136595474702527809174716584159061974684420593620777426172294220534615604562754342812832093351223189349010148348971351778519710564523252293469707417595881156744748294150637150830505360447695167331252006175989149497882388357394549622701542441923909242669480927652706214548613898416315732913926462539546798579666494709625698839458243846843424132131115909493528727424296502970039520403949273263351561592945137119819244239419216597339332120206428412540105641926855341975352342243863390679810468239293641818302967881052264294514282157171648782322235666227949617548034689907636486769469893528876916547322310045741394012683540381355209412389803578163173510730533932605134245305209536148339468405111439495724259417296236127680398805655001746300455393635529465170265370212482480089897130182721274001453579191788083668721054170191061602220213559377747152274470775251206342565517553956346281634311244497649923213813651863972311672087770165441115369598483842182388353555196136210189266712445101201006925726031822515785684547096197394824496457799693877438266088598032815374381933619026126087386720889439146574914320426810846723798965398293328214627670314555676821965470291195441209832165297680172643047226727229202128776851420648882824199034001860431646565972280938580988802798641561679685113916503802711206479817521044176908937480373715021472585734397315886741305060743902934756173319756075910406799325662265915925473499106861913207137711985743941035288599837994814116912869398585562174249145836882167529571185105222290915521560378298677817361277339764908566555505812381583419949333083490232394251618452628276877737714568736560767162934807315137844244167644458352523205339140533013097927990496967883215006272787499710525647931719799853195641008125952195630735904733745720454334152955974530240795971721304086496561456288257427333903643847458096066256366474939744416888181007172672152437961290735515022111150449133500197686062129502442710153865371341388497175038095414786572510234767915712137155392485786097325034208292961988637702270037813816240312377289225712852959045561754150533329534389291690680714330380110121583096187204999234517788368611063716265633997513497455597531279439871209431840987516307905439642196194462418753459210734921373703353269007206138042639073903125595618320059986431044946626516629737637408819803385471109060145398501714823478797345908073471248653474634972271018943802554503904683133457523492291253154930370224820071831817083979361808756512961448313249312134922254086089499283746271941263613811123080527193992586016003804851327625837734820143738602605611752315291459094899252561268452378052219338405531767537182081351931113410276154639889935551931535192919574628257456651928292731428836543394930175354714405343192325188247252243515816569795562464083285246566780934186937103516957916795251196681725094209775838800529344633348657037678153050893160535980555131840956651611463063113521305535804239210335252103060288046061203295454962596845092034853756875136447462233273380721745836865987411164910617711918336455529639077047876677029513322164453113349631464157993204504602640101597290109596504391713487602130591216931526638774526366360673484307920807840318015414100756424028918626433853071705709606609574563109218245365464906581359216100280915434407770057914070890514971232184242931726185641368778424644146805436688042963888266995142388375612394760883622358239102081506784140411187089456581433461067366047949144344618102699127366959383924312856803829555603580205159600377835532875556609220190498494028901857134181793772794252204483161543791228865904910460908511341002492634344822737013264992606737778444439284852439581119319301267963418516269884219571585145901922566260602028579392653546218115447726632304614495379034122264325039629621698433990802692750733646122274618980824246527083255016281529523580736618222469203040071723803892612644508072147317536749841516701201445999537239831800494590495960548556616905246646902431940234971816244741206406010560419757859183344228851332495266427564216042875267316481712449317675200608368716209188101967185663028809975668950003592718254514980347605434638401256301539414661989609358323837987511932071591699155548707041801125844622041867316055690846167543735546249612594252581985194604299462954567159338503220901232903000900333286255052875254130541140411075637291016345562494820360545868142825772494650182175761097520954638106084571511424446864189193895877134963583215423885781779673048257442838556749321828061862676075776077273376376442127436645157101648213564625416146516987605761339814245957460833311897828954611739286107511822387352299109749695255875336807123523262737260630477515106288710127247153534036852737038271009180933963167019072457923238719865869800577077207344324421629035972223242764294330131986633565091684122733321597639563228573982974636960997285041089161254429318845234372982172259055096466656448530936488624391771869840536864941982451088206249141075563599989036735890829298356029028328838830773916668882864158989633509870157572040991330329969869981807660415688930296780202700556295436187258928882882262075814163906365826026199435446071624244064663746076499213146234839503001551752831207015833685114314737246081762340004129510278231774017351742030039487324412911544296978693235047368683046407208729506576109197159281983696952937190742362727591213283038287186547565438157463920658725714901748304868398264653285154813366220739368871390853012242378589332931300472462723826326033667592447394438306149063080875258981203516400681573524633592686434296247230599588724211346783204518935217478241070961113489093461735808890968917525835458863913362334406801882764193919693400385726985482294591482462723682333772978496265814926169203523544013758649540489370949913737954464849337063351219037044526204766317977082599595760097787977369755034753678918315575620384190343124906788437180893375510519865275134587982881546021057576570652957712723162670820546097803497251115146754409297671222836805997622737816527842040942860046097492893189505484143155619168443832655874215650023140987455333143828239230675927069161460004085221934337269706142401999011035549255386179231539548744054447328394555191785950880571784037187859643184909888369357636732722384192017795375435278719547941784629732655782742390857567479310488695833302092990480737319025002315180659734592965718174060072492498553973156003573056424793034542599520474329816606410356358789081483534389192078486836707371455466875207285173583122251521110740579735469299654275489861589912531404644770107305693633831327213667926111766396652123171692333675064362205404276435900849045931242894446314327225684624898509776310482188862190937520781009033458268524560238311253018645488675305356912251219789422329237104635842175555423933162615619190230513777077643861120653344364955398474140063242776592056747128100450401338314240438454911176153258932748204354528289901245809876595385942388166241777826162593825937575584772233926543644590473371928929983291158059904972871822766979920386157852913934763606504420891073126313815621877587672737764563116631248370893463219158052223126560731536571087140786942349858513628579416138913446816332907237199996092993665246159896622443486438217959103526924473240897915006552345071634625938342322297562770560195730778395017539546194892783453071868951322910475967784988402457912073628254026419130587946260268449711193335294787535303294254335601226901145289228685185847177874524895859826800481775354684895632598306601556469399272954107478372010394456048656445317708435090736156065231338689419513261186989347132441170055249889279020140919910363821354276293788859325228930091873124590713541142319968913036421071385717354215437169225647383990762001858510167052155269729127493694515907253221787057583441517662129720483857867866564579821147033890167998141536316261152261925606933430901321738759855647207525158574385524820929862753854637223134877211329046117935463221975236364587417693622679672208353444110869100648479431226504939187117255036935991295587133372855934261178243486132183291133582165433447558115386239888689767241113704722317440613886674787882956288024289416012173933765727758347165816153207240769667327498107639551532146994957970571712389104433614024363070747724161004630625751011648278369779503050270940555069632152201773582229347632705865823025842877011131151121810190516033874897371212297101596087433542340254541384816872129570663217616017659033872221771323782729978412162237720515261275104781828501167691272131476806888584853056616592661539118523382745341626366221537288130526196225543178115636118908493929200914786119030850372860980186791089726941892118171424947227535496827326221912667152642394201724110235968711223501843906122767701550636711769722479345165235037352005980940789341051912246469161264783079749509721214267129862333021010451643856671911511268701691212665959003043460554203866444581129865675720194530687039912109232076545208265226439066492501537545383122451180424324584212992146072406141221756580321473566662623032673645869516044665181700275337076285373066141111375870642371222331152620636990534713227114535721808761150633856829929911897285983649018789550704240122924841889559976265394032746777713742962254949170724882111093668021777840333769412388612626198821740773447322863008544580135150252995981573452738885163852636244428111077940117025521425654514864247302266422136147937710574988558571255774417066962834524298065709780944559177712250288342404689326317225177276742109903547651332773051653344363795700031579611018636525877632249929739884252019999524635301414583415845787478086169082910358097650427570868234103437159183913845916095442266873251172385765225789869928204516172208984821923374352779507395398511949830229038030878330138851356173471361602395352932607330272151471838857921897980123700250197362053656149292236738603284862847444586285252199332892393890882234046437124744975573958890875826160674202416523766282673886020817110155303627827525362990316088545625038878015319989056461896792679368781927842264944165975680211357397202259454589160557304062544513243559854344291799117404318939095697838055879929599552169931658891789214634511217724113078303561879573086762465446146543121375959130763713820632007146043055319652478239364130590991318523934412926102246686734783291952466769422371518151397355461421637868330371423108215168568492394867905445223922198954375576516268939289737449340444456939453093379825920440173661679581183141540602730390186242893754084073135573752169466272669935690421059236791508451035536681739422172963379993622557279443169044951226271116629849348971632102963324578717712297632035558125836532731704594405138316863697380822398612821927689615026831689141760558636649497573294666465590082993679373176977770988402467834835901730278599852754999202203291388172438113614464627236973884898320265655269294226240360808519602387314427964498423685988267384006278343539128021862628273713149865713326768236912102055535303986592793190429692494094880900052526602515644256834822201849449197426429374823492910211395277252367132612764800109794814467134791929124789665752208093345537687778281713278183645921855681152124286976769111088067164546193101505206762690794297575479544202227944612287239828310084036556994902456412216424403984922665941485947311374686929121202959765640670148716945161294192774974618774328589539716394478529638877660923918974104473733509320913144128000218828267865835769234467614956810816548449335154602613596877460798025113427129321931772507587016832640871385554192492522676665397528975334012947660123200017169499736160162873582235178653469666297694826857172291411463432813481210384883060445856203352714512412410371595671665568093379191722452199553669817130343313275346200240384994046121162379492772131684730447126136204190382057077611788464904611388239390364386064364879339238287110142127135615103509751802948438355036146259444036530938146317961652912256845025171205460223144031999346614467783111338665500701823307354210114464728015999827652198472997512118477199131593424723344101218230953484650884796284617054466470191282348149304821064702001115576865704457337339097632254890565626882958800240236908610670117487051670995432758269559174953756248542915123548359455994132619130115074279778523424836211228234321616791254507069589812061657485818180696602327075530514826028216914245891563467860217702823937456277921141079634962975690901468900621963113952154874316767572135435886732750072992313249351389914544411758113551354291359710316387201743352946473174211184275325381681426417456136827212049292276936555437673494555976510221213111232300786191970975044120338465838688920636731613839302902192256291379014772857661585301676612235148193786229177206543370998927289317574128717583895665557192692133176921222953018589388917941817671289529867313223651814437190262800503704289723919211524821973998167111571967403091071573075953284311172551201320623973028242523709304495586636106382257360891520134764214977202037548430060343121673884624821323190987313811029259147611830582689508721411295796304599420549732342279252954118531254278250916072068240610265829620512263845719270040127676932374236921950542849451004718718726625001526502715014551827231346109535440311390709944404043069797959412256718803384856165254354284381959437879517828821592354289008770013429669295584254899836947971564032878708248819236057771701537619696058884656952201740320913150370133170420069404390314169328391897352121979741169139368041706557106379134443797692386768669991830391864544496436872151989110620437727455793132766634449857438231293881564715436733243935567275448784577181742683384702963117555912130195156161022110892084214723300824403478975973838031589368394153176701431192786669437356902081826916468189880205170385746312352280404153225553036128248423197550345963272036169944109818071833846628996187031320957569185511127757517364142508019654151819958500745449123988330156313739230357254805368002781212531019046972575970731584572088611685446684714020645342413518760281274020186954263825418838927571480149838367354079731346086114221415918079662758857568234528310089764292407239608342669736706896154374678865842511853736376141519058736905132844475566140501961339902182685931319894255623382396932122286554013653582458789432297770263113305171891181627964598762125718522640239409517457614334691026473534974539209162793366006892544941344534598121655049610861212230103396913936996619834782108989380349529477743160791931406796799122551605175538663233618841563956334753465989574537056112128725077532474825415377047179036479209452048476341571165254333761961413038776307478285838216634276668315241241936870138351458063431405390986214365732118858379310866661353235138734100620881659505438396348201832090921327553191926643370938145547395889495792370692933256233470570727674775619726471198610058823411451419181655788562374953574540668648982170695600526685397429514427780607272751030587588548887963867768174712279300109450841925372087568018600474239650743282243168931275257378912626454553531381196970140101327729847298792023079977244223914002118642421562680327559296379601598847457235316947969604257006071582064333385430127793485885312098017357851227355862627741927866150592846516574822330479686238027242718439600912818430944711892480851241276254814031910282795817645600700587423582809874890663099480642188647584703218684337733080127542294750731114714841841629942897475997665579714335581379076232314516242687127652086178529670438996526629086871635996044648996512407441365427167421311576085786069054719738439929556430298934741499342762371150786541565961019879728369925887436921521259083795575031450750172587994801418239503826416488128936886180074862655057024140247204176587110798922347012223673435129087375940898422459373621170099760118304697369174196527923651184758539907618135318548244925769635910433179056294743713423423206671229236837930638533948490299244610033233533783660128569410895455427248739605025160331483312763057805115285522280133318723221265711311532419083266477622255795610294352506115656236881215047299479801962313884085270776154030414904360886578097816548180394175264364911635806992220111958326267293341661270963231405925867951378674918843175615660915909507789924013844218946919383961874527779849828875071901994351759793622801056618032272731756930139969179376000761949417306582527261134383323538364981936260951581918294891355633603951458051829424613424518699216076384537655750918317043384778503336555036340051379151815057165471464923191291622282214197724142349974218557141559025899893163548581219573475636566924534401712506100953564378941169454205213074383352549478204057121175364693538764049987754059699496217594243552106612565509405305029623246092571778744350972673670541906228606585120474439175879522221886771465076595099576851717480064370363665017623486033977274254598516003985419161057319330303875617712465525510277455173743901194775544628594157879375661154853208290747252376634288883286296474609173328419151807650636866782175801443239242447554391431026217490523645259052281003368686494098442657223806917233186620784860931676366590410272640905227213017508421494304339889713028536529429493115574168256488673639291918661400229463012108102578625672916819788052450844830461842116257114529386829057544881425431623718024134236047036629016138824377379282134508374463188324649585247312898305773912663923983474489906045098641479938357179052243038033977766233222972274127526072774152799532779315551325898659187589974588602371535892054454053421943244663945325547677646064853829456626192000599169445580911710465180117608368871281777522014121547707779454818204320876630115700026268500982152341630955222677526947451511538210734797420303974384173712245837103050383487258810828428613247615019880733728779639878003405536289400357885500629129615527813002469413171777026178865888937591967639623330254415834062724499052419923368185922789149339750915610383109785323705698065074153372782547099464161734604784541888346754706194650927362570485266885235611540224061576589875117080695883663988373984410811976567783024421008043662896404754481793853760230568609904167252210847325945674158647811554743960054487805627780468895422253527459637410700808369888459808114124590549265314315665011316640098637866298053321960891425663794324363099536800287351435621642630214220288473479990353919255668769232074494671629739667543354264668882695421942222360188731581513122112434835700513089347215781352181255043852849820755130537786303647602527014958012926943936094482997594252987483062387703736207304490519916460401645502780482765750459514186188615228933498797200005806226990706588649241152455916995004029251068195852276669827764738491459334665323878475753232528862307097947666564474975883858811593783651305582345828547568094398662906746583804376175221952822192575805223278935624763385735119034754507378429138991699205585215814981255119450550474202321274407242032640169162759848675179013156680233331449172337416460301851886399834870824076327725913329862778185505215093539740691349669123414043569239597734775459593879193327523816264252312452003847236539583433065281174226550917639817561179141467956943620925215720631944546016225276088844655805519543944116436411354241433645181374062220931403124443766220985060263629436015506190924537875638681396640698315516257633045339306401059655497090627327337842618408831201072026015375266333194716195213064283840881415073883876321337836063555295391905832390437665685297336051291657067770419654352447321863281014765844979885389108082285853564977515744843139288143146545233083468342701049424223076897012423610810752338024850419414252484058976993835745088543542509620124271873620108995029976549278369437468189756596782432629875442630152142237742479670101970994611784147719158444749512352272042157372254805349096299582182630601722454192150079332758920286007073398754648176115110944509286892073634113627989369669425011083359237542384001526169479563710443736455657844452750988092111122407508158826260180564948869356617210751124508168310469246475014043268238352734874443925696357344251582715877863264053722491576216825237494527461543139084707896376735418095319775418841368013139024117203677627626462125722043321222482573273953736291458123957700563580027161478024315876149753130043951756965472768619799963519319175895537347198097387281700045540349395256419293345857267166523036867429664563310141942048905317938846730325551179538642605690699732178460545682401722094836135251106854427619552322883421488655462797871854467299774120120164625962218335359810212649151777370678753325210156638074635148821222763054251911590512670589668975261374503524427868469436460127097481892208294533619822773806692435701939785937724957356305742817672722874860274601921447969110319503565413729524818419167497899567334268478987435254030700624881713565517360588924632430282749120207620891622067707295330739721799496956580287317844550163663854010474425524401941145709585366376334996678524178601578624879804768896358312984610943540126274444519210442266926382888620106359981283854563718239689194497604121338835625073810382174613511712438087508254533571713359655503708635572083323132932795746845883420536339304223013679582453680315711041278697148459542490214784332854588233325447810514238937076676592741642721368173528547063418671928282571563982882137612714388351956554024165640605817262252863927066517568896706366973012925527477893377067543610219539179643422586311146409415255423318453969896273334694219228920949283613629175586778486026642232307138387019535284385994272385385244810084427140914809321261668841325965652229510818157437063800621682429426782142472913634251521594894361713943770219132293117373867532834310034881094265064892576428541993459352059876771290094329764578022846441077463163380387870261546277186277016604983804397020628179696151598702362222459336055258064319482947495557762669664545532220664667845823349122385343478141366612945092631437282654365393454796029208311397826762025485423559550263469707931288141219435427349206444190318694526652001556593024091694901803853204531264530542745485813839417661110298210059319148318533571231762211783329413211427978017756103746453808728340086375265258853796591552702793531861528719117177950119925637680315634985925066212296857615563636918624976558003296069593122929008242502485633854949525943373861792257421179431549194602328979454977584066186132941192192418634869932219171172679115365637359930118414668420751316024900427604271331581974230359147748026925253329206572808187829168429089273221818813384366690670155444036497742655371415162796230877265715298123675015970959527339479111353469242113105871130733556709553645280168003974793838928745201126151719680397733745379310913526782659030231420024594208570619200346593979139246094193710911775122179445702540231467709261645798739123136636646967510845108386023602004923123313004360773100746081010452326564427784799399125283493611334857338620563540460158563104173586887625840392648225087423706600930091161382842143880197893959295652424186763991587252849213200052121145789765357790869135066569195811251784836755034773557446924498731027144894773278428860710790394564478826172325941155390889607262361533582530348883514025283948263028246118732533874205835269090685218212275143962982909919960771899897644079157528264612531150327778568266271612129070974741159334381938555754127905071401758958072980576661337591583699749785952718835225216413857407585012523404904077533816817181406511459142014721214820329108717221458518569421103735086790483632633905888653722662232703867543912449133794843207184022143896408311586184382366602313807451766248118669232884655505545313156337536484796733568565529388358186824865561277526946959523432642953647153621994966623455727613921198888576749610660657116411539194454950754614014257023466329541275209970618197091148347150379341173908280434649254592936605432305052490731845544314995553343251194072175448234619519393818183506862417932893381421938754431733633359212364063627332007094653209203297761684285941616772370075470678314733223173902701532866081448556293236473440137644995717614630852203237918373651079330109361635119115569388915776208260523513845913891460622548666263378749824074044045860443114219229801870077933268676510762319680407369144610460334703668465448652279169385132843654448435061730298784776239077525553470618312994659162427190785941293665741457046723777635171941691192811681169298767891358698551557633737672611894593636796042538473740348005455278794822519381382672964381195771527465439556550191740457642141587686543584205085377541117203748408389292741102771655624983173308531926374273904539259155332407821949631821952349429875405760455619236867125219852291333632720946243391979954463765556487357368422912550425407164052025731312726535741847601421040420743561409910315673696956095602816943103314744063953953401039388131641176911561407752631976894437624907100045443592972153588888096426693913242519504178748662687751113855304314727144071635227520280594993944119280065647561432611741209814878856852714410595277951868477819470579443755600944586587221624949127436697701352520937792113120637332172987133635883402139834031727452876983525789102945932043567722429941011665040098545635633087798090621998278721176634161547674420143996743163182066656039585015098277227922917239051160891318651485294366918184253744938428241790070770498502095400175588876734263440340833022787110395107896399623853365231673859195388376384996724774000836432342036436570694685592201305779703756339866635642333922735729656479226979927534214040233566382269123121130551823083472485743746943204323676968083481922224392696724665331014104423222288848501868879624962700147969248333914803066935095389573392571859524864283071748777604196962892676955627370321314425255894195148857113135038337581669294869641478598609820669556920982265290315214975834126019658129409396641212727113076842563006407226622857434416448450315381491306350372977953883260743483542984537026489649964742276973355109318855859699181765240499727414108436212632717038554918663563562057269249479515424891934775766550829447695662996608435829950463846282622859602125625930336165263124714745150614844532455546795965107732178156579692481188716125704896328766531850955796235922781386163167319946786421320509733433766017046145881297947185948184346092935811529043785173477820690425045278417976661825405011213767448631959516001799819673651005134652079828750209430056395876251565302014065883968488528278712962692883034888686577290872052996130849267419697353597863274168750139092573553948993517508963622554826900917414538226624528483593406744762793746327608279728351749082508583944465583250772816256655292824036828025629339974232269371898563564174072661419507073532671772838824703241259355620279389118941098385835093094537758812221670157505865473266021709910189133468225261815711143046074091391731933482055353363249198334865665259547754079563956806270348762877133278565119164697277862864385044756618204844921439759382818018209241669578409782036199414561535838451672521963341775412831963762803130743926855208859395831591693520243376491697202526311032735007485294315237270306476226334206745286343608618315196721173068016000609390730677313793055687328091616411198668611523870184373147323622404754902057921594027276885397138100405602953870232531956017752747978673897959666326839798363746300758687927676929513806305758497833778210396513952568298683668579194754639023619014977641893808234035559334557739305814260435689319411035457583970931153431797621247227109150158329472756582860775840364196401003972146526953775265876366701804573701830794279892141066345628745042995429884725064361799201135585121481722194431869646344301172842939370409380314350886347403769181082904824749602474474713051806792775383813553811864844943792708104486061713351273377614081824487947063067167490826032193558371737102613121867644348499237092768318423880581849282242866525409168269211044036741334936599155341908940139111541336604438686878352842340819614770680092857016123111292463626745557122079513226582265172926339824470212027145992475726495015732989211248145084265835713954095413131953816055488338159731245174551584214340108897141285818739214912427844173484273201401617167218047423395908155768582887534507116155084260804586188402313053682151244290550714811263619665543837917432638612898745902708922016227799072905128668680375154585330895707127452295881064292379839993880433948290890108733968153385760415979275875101288692463533430491664738898392717388422753730312324578747357862657152394054512594974705694464987245972935789898759335346044801949149379055346944222577782364712768445741710871899502163523913230271239802714559752278111385644131667711737998221299757043264005817435712406238480362784446684533727344628750797651959631876102397443734031631395744781426060618401902003078925688040751312284837334363358166221889399308212911596442600309312724692601233388148425335970779561938466813921660582432001391763250133044857231905382031834422806779009564645574332747517802423869798336401304378905019627376864089706683739256735265912927125121649215540136251587672729459757022755733458446804493116563313344940496896733561329871697688623362211784381438866255849648737343982644743080101994181712879201249737892522273410320662851621201406486206083989066683656631159341110639067186813348217902276418162927453165784212761954114313481726256337727804620386105102725376134964988043931954896007247199027558452617949112222742466279243495808045059794510258833988446297661697050391156034268804623774685121962173819419844518354262851745401332575267619500647774556859974191285019246503773636155254431539069628913261714321364695760327453899835417836213615068281632578698173125489948016097678876265821618596671258915214323285164944449635063241678742834284043301301290395886704666249337574734415522432524372147069188293453018719600699706074331423595887128266181815322118552079879171890215990971334268296054377706422356550607483198150334052262574080754677795189034322371354241213612112211256915641544384292141558381092552160451149517091228552808613492515387601896621030580713104956821332774491160187757820186717881125075141703678154494352902516124675481610196673233109479890181942546453299557595803155856422389711203198354563318161740523384993831447199112679561835982778589292737791625760279562911926595718739052998987544421791172557420321362128115407362996272550312672706534693754061844377260287006117065208155233434024825429851262263442441242287963480344692942449196289041997140693061713962869266271915981161191672246010170007345359444137012824470858767314837340374763169174326421024198714065139233272558613938347418312078202469179332021822117554252210907664593148885575389296950563545699330757553859196229510405015126639857762835083990527205859600557340800619066004578975563065984309355301678097236218810327604138113090258907342223300750593018192797393176252719161982289732062779626341214067769337943131959957347621945777763255358735666501326758542415923032272786949177489183936986842935953359604630819427258967897382315263297340272271182193795951685794834306035370560246952855624934488275307781777222403973258574078757283938930111337070929073776533872536743422773814012375380279874868425350754435849373745353154978680405804114826257402137612991098527147926661416189126331728562640891379381872611475502136542807351058223168550719378665075312500104181332883554522658651712717628220481046389165539362920308588329783332179639396244122002339332310336412572532340663137594257300179291105630451239391768063814785102499263910269043219185890901853406541430862887835340054922612123958262434529709928519881971320475489824244606075619833854091632664571870690861585301518456106092722854607821202715363581136102133447643105171070626954878920376118181450672124656046801146326076857379863711963341921001727830004864377041501618229912654501454796850680138851957101865940713458773373491273963726900612155856214793281842588062676933365316842882846105421098168251234439504072998210461167306003569840987891743838773914372348537816883625437502255754653348677581814238433516826364250139216239291228255261027973512933685494031059625536176670446586721467411136119988463987099116023754835432346972596569296084044200670440950143387723068103332456900165194239833931665168947377553414953723618063487153908059354516080767131647546070967821699757462670254030954910188033652929963664816627897402533825031167319409333832149355751257935301877672997644120581259058818629564306857663951645003752713152342116376779124522326693388110813935611251236838221672512955978876835407608903431869032477466965824210576533750311086654235569180309284075781307033055773014754552819576374668918782006529229441657254234501279322185310318005171412583891975076145727591507494000707931136749415594108922929112037299121360859360496104927341264584643678028578792413451671266204329562271429040823274137395037532725132723265869455409673772836748613123164302344836177231454229831108564238760540325071230912843977202544469907516192844873870425838980793182508707028738922492560419995583968707326151734810131197443275398651591769496467129037176118744511348821305383790365945786525081705799496342157658964673909479796691988239873065577844612925432397214423453565242919066177174011632366702549074912976124704246096659492423083415754408903121110444344553876189365462688609419897972637717236602675192487030035683712645271901149463927008257270760389218133578335647750235695522601769218042762301845038353057899655477658868844095538046327062575630429872491845298169810343143343643457426623236755440747754986233158823159079287777435631346128629241884946075353543660153242424764721863497396342509902084465952461630061886823976543655449388128191799942420003077644371766823916973378612112836702930829105788150629616317442059461449646953399468582777562454879077748109224296007247958795913038233606779827018700256691803727322991101556093575874886049239537602362231816967058696183090185142986257100002221751524373299342930245581338344444331424260420433185086911073197181134813295965047392475677268949321252323716385175957112884526490909319518847506032288238523038316206496375026857336471575656226666370539635552137476752640080432348337755143265783527156762847020654651813037961827065387235679535743899632515472783626649733951935260611293593506450052153820778215325191762862551384756357773281731291677341571933379016741692083444313402652643042793654546703723294068932880051164912490553471649976397121060275751681401956075248761244802432252190514227882068915730491124194245034265345028796880696583285399827505652035066127539578254886374084838177785432991446665982194469319734104637542291138426679820291640436512903102831974168903838559383955094322651375892769754212517557122836463341429802474340374511604397299781201645280547211908753753298870366946985225416944370547596379366926418660056408051991414694666412318728212535870211398887733009625691138432865354565836219990736528966082221127784771883437517641045446608529441052162295925057278438581013569944850422337016526766353318311358421308342047282999148029335987372592762685753136598386211828548104307672788687147194210671234705564977371473528802229747721510719876140233513796567985542248038510734203634787545060740149012064078014418232977384181097356762601599741999658306744118822290525517479394738513307157223963319374841994270953207570198935993484336197302823277192535636441446860417164580958499586949713963376546441601744757104426211388693126880541301189196531088169023929902603806106389990601322862266894809002783336392206700611500295672917527888406611515057055566871385627746515988802156841620618224754070375953329914991118146764434788474295235387423315505635424256364699949809681161435227419241520402741416066983892573995949685711829066128682095470230509922451031820112804227129812245917733339611163178120945886429240472296880464197317959623128204339368538524146937362731670630764587232779383022128315349225619609074991582000424967323868121421426310683778626739382204294367109419026201472357807258261117178291658877570610161538409013657573722033155185519074335180191176172550923594461682766121778225181465171720274106000501552829738111432083521067146882714428498968418543398761650554615368775986984772537482131453427294320021849602683203076990046687357922514750109032356110431894696727234177027628063775318535166653498378661767345792736273940577778436751726659747473589804784547293528335825262534381626590182877911646646201923006543264258517952707906315354940784162295409673467371059003968168230221812649925419868803681064972356841040633302483721416952537171430347865573473394606096544844553834292571655146668483721767391404323652479014713820747670530412169771545916542147325318653463051485522646389816221968866072867120743836862024897016862570763007492866516331548155166839644053132591617218658926836254870903507823289144655261388316877915229763930317800405711616975147328283578327238528591255410000358008295093466695631981009501103438025061157713900430269172895404442820651964596947638913907440126830043282429351724628788267473175593863296922495252554408726234375040463478362507975217714128761734236171591515777987497572935855148767768881216361911179388307382540214778323596608071564434276289181894213693257807712100681559294420914146549195520225846666434583407156186852080412275603378512007455513607396817965214549861060267893752916754285367554537876842357182775539325136671529153144963519004316801082195579482326206447910826675451606119476611655535679352202630621746130785603372634332597294475914263075744702282504741182861747334587205966451047293216751387631779870153607915692103924811928150387187753428140599036529493409619556186131395472114321421449582661643024325682362041073810891886107525311216849179888219473042427341546244466576787127166693309905657015571979104774923386607725616011239063743621100469319947230634323352610769748310195011637978676283913945697720811141053402479792911881014443248331935915763847966502929803922265235729416231347458951103232707825268118311619521417262659483154769593796731414862757625678219593366836458829176575323705262023119328461175176465380074514729058828258366058628266353798312997800630393672295241291487707458257520373238383027595794201677885298385577921009054932687622540488857357270571138148179171326259901216489995210815275640432676330849607614804315152331410888244677259444901699599552870219103122461479354525286968125720251938782834184185973500464316561332758102723916296701967125743689779324973098143225684028325296586264307192316001830563139434820027964160893314830399580251533031547846684825926703653026579792169366086017086453796367482392868159901957712871653306691445290218386727117103536041148948775860842986895773422494802725890344287997320984724946365111849277426785281741977518991576513017160297878871588178615185936614931017424952183557649327930124008473863478203485822168212419714627062611217676739431897771950434372087274765525545997928898317570933112551626564853333030592196938611263070248181029827679572841224259444518701990531695162057995524850946152451189527662273893875572101219724705373122755772964512313523391438375437762636488706476523776608604702908854027965029731040944696958097063273166403301751167684477429446417568183364465684872559779564210885731363440977357220717443507996020970369793764552039205258348437460883931525119477202296411994027324022007444721192274235692493193767085652969139523223560328829087695524371345847684966632174590377601008278085503806312201087867294253581335855465582643081503514142077592126568243712152771301284588464083223561120494283555039264220151157726397852818271163376092865105056948976082643524528791499940555476933523180176717409343995087430160551673137013104541742537641760848197260739193926013112316995361221157820272802676663756673891074977937455340346587299053333198728839995885790622554410430216023386150817585314138508725317205519656984918198737337410429724603156267538146881026335351988742819343394439087441757480220032950519981824015153368098292584064975488260913941095311962338175622163170725888113179832865223601348146841441484782716197214821896187456771499850246483804699562146702099297786588848262340529533612154141762048085587095310918289935561809914837148352651365252655169796178965078753875733051140238977115582798557548549743809581788801010973844520303470752090431764018882689158136722129323352975221189721898195632983115721247584936312346043414094766359086633209520125814428763131893858220089354623328926177760354158525438058101532407626699223335786259546163208229862966737355914385840276371620306302102601517251019094727581783412470735117372935833059302660339279226001702217533871063795968452287584940941471743375039643409136244764158830158601040609007558126793332297487629762051481438916151256592716723075390171089529252169321697230670526348335439264630753169719233995471627247271907821747001578625213030476360691655641244306292811472174400475820866080870509477411576558298906179671343742654139509299194612269163694876867234058974139692480015407316717894701531551224188580037851555923951367474978137591360239831368623980530521588023751932389764632819397823571785925567204450944704069933413227454371505312839752499041346694285374231314692372514347641698290835808166221155124422732880796002101212298343104993016816912891232232850551175594052662951355025566297303592792257409671982037357045407885652978367215112813534460922153504755739398509292030864428559157318532095150274890241767855579112130432552921012744312252925948754941907933930886435341543075687963206002705881229090897766120159728299714754719427813173313680100271503688215130408340093174557835930125741610368172260902212243473801281921488658992415058727179090682076253012017934351724513800823398396872217561057515319442953627924380743567208537099208906136948078362051335101309200888713192130595929632342309307976228592874663674541594218970617127786391633955513053077633366987288925520550342029792817782102481362582976172374464202275523829349259583446381433523420747998632321304160990233147998155302381032800784285096181984106069158523756029827386397218052910594587312822432393375448926714611381389530702489783430090784465601980767285857140157688006927021207447501515404429354074546963960019192605564848930813556990100319913036635680080391886625241522257577697588727136536003002186566127082388790463292923304211963882332711419137024503466396256618151606227642223871861297787079979392699986367024156776022447913766860677651145408357126038341200016622012123445782425411387747353426343266403087392029570429618065269243070165017952183451649433451692569906197471684252443293085819620847582043971377445135022611019019276878354236258482313690414392323887637136963170455040618621161197643878920943764512625793278131667051114551743375437385205145447190189195254338661626524257488075282665435287451231953617805359250323526519327618079134164430067902091577073126770021400637333391374610053345754487791017484913560927117877135404460574604893067477540265827897346424766218153885863973340940500652131694475119007543609288766881612170723089870846759719094477349740146147068453294886474617453339200535700613711315463218841187715495989933805645626360913035760849531522166133318387817070016209711296570022547896826719377731110643149828461906205213699048795653580419441784883619291901102073825453185575812287714232104783595249190061367551601897332508947942362525202572365158291253550367333382713365557142564001169362119320429304866198784682087987470788685969384446064542204139730117638644142345596193687427209811388819794980771296996046816819103247744350891204192204368905225616324318458657628577903967322907440574522413765350398625882280338491117356689518067190824252690516673161523834654121880566229335034153082827324741472825525722967279654117322715410745584676954424632961112787834441332498260759292744936759583480131746969921685389502292963739424244264651836669183569571316450468226570981251362448328168722467120934962627743050147075250312891116139008529675347755656478004609543534478639722667179678423435718054316879364013882531410791083403483860557236584045379762919229959271756190628164200340376837147783476084559519578168913957582627537995146634645688514741743015753060812065697396457078779530105477249354188014122243643742437204926768320516922695772469128178166957381390166872246696744381187300587783263117550620479146051435458493334606944495324681296476229134493493373843438498330774861019420716747666615182115057025439933231325056398352684939538967155017150290248520234117839103943328715478348039598414933657550726088183034839505634528181181731475151168616573095365603852228557556664854915753469420179129844002732148543971291013569797585662295555287930772416607316826154779999143263202904582120297996176917973456215737384972783123052982887382548131084535411904800346025041331047332124894472758682113834879740466537504079607222794442936838435872721777110498328143841191816766880386175976601148714198339456396627694615573463282368339022741363654596275032302303330657827820791269617547142783594861157111861954287776994337636681862847202323092667543047513989899716732467052159194138466138266456751252951233426348832578673177700673025590649151745359376101899776503905541386893432994129654004256351556332776742510269539132520180964705486631465016223292555228572242872642892224650391435274918540154793337383820659656570925634843757961860743485422182089927919267918479776344203211924615953191265088419854403857791185749888094989492344318231513953758773812830118064631388923644798870244528511724882003130750852615204300608815120412520241631862098246215786875786111689606858971966075025531926361027203202554144718013660892999395333135023121193501019058237974623752515629022311835380938374582765493869772416179910721847231274395142163276740538642420499411658283521425452252704783498170443171665761186311868209210836816281389959221932453472802445886469682863816295195217857624402261636553038171325707615119195488015016200996900546951843506656699087835716345205748729880171009392260666957078704065443641031652884122067253203578663791112650610492996174472976507686048868530284203063281912472402414346508871595813276942845267598227430006092384943163017422777554987755111440194855981163225701007963778281484200120018837025657361305633339753464345681281465269697624382346803435438020335591962993245733757661673928240433460820774566474619471752172841317921915476274428843716024311565712351182343262333895990269501593923091068983776300662420353104274759596374500660695839937753068716486731753050113440594462209947339350702385545619644987553279944434161508515251641178169457838431222088836193555969744173295549200495660689063623295625782271313858839817936462171172125982220282049669694638413341890169994514754740607478304607356547390976307981050591793512954368311211045121085995769171934917723189217622256204789127292116513291322993836171418663541511532206830138479232400117900541437562382111773304239671849528910252478534198248244996844643783752207387250550017850539136510442983426062818317177036560521583275447134725569352088912148446616976486923335602718255712298430397106715846560130340547233366256702061844420018654422261885477772582188863324632421792354415774346139226688738801475184638836045007007753382116635650848616117943211397234182772414634305544996730379467352145533294432920215633264041235484272241756843538649787902806428047872818122136949340458462438964612638127749845713302295824020980144112788597516661607122652673270002047299370310288489971865076975218464693046704455425561785150078552079109022214980733565262386032466558323274676636391810196253311393198473684879016727136262723822645304484456370954894827668055586380077866665213919757342597327613133655299306566268630105372306422119563983699549753057578037444665930703388123193333081478343474995683846872633656368871383922945183436375879343439757402312908603653643991263835202244677829355687344574667712594106114593614476223356582308833369991223996748044398173823004136622661315802842453339723386625747986155849713195451814683106593126493870814516014720778539505012784613458131995541427632425677127296472585374205676570612334463418645724342555608219552438914952631128031312029127415171318243567279811756968135003603646963238689889146204512018548875753820541019373808500995260951874841805758653699254349772735644459095811791848517765283104002811214631312111422632009623758050819165902486670719292934235136002089696138726286488839377062000288169847615307804936576772485603573259159611523225179851961753919829970339668257509342710843125208945834273547430078246521958355798272210401279938383985834633856390392705279883342225803519482173766463845088339388612392567588471063031245162419656065899319010453633322069842266075677022177648553718640568573635495566477508165601741330827067958215334635193868622815974752663907758441770928734728408188033030868736044409969566329608478786914810101571051416140972839909122738522673551275735226298331598153484416770509213177897069437648429881931632805363737987356996190098447751470243052335554242527359116321911215177753019235004495971833992619027678180363778440574659949995636649077751396523359170508289035829247221070816597610922012876990414686190336730657002115133391008180751199828495141461400949685984201136193828523250252617958916578501640385617167444399205462881137291943137971310128957029384129016605567501323809308056034724486848333057812343263229473198108990076776813522105941723515570445622421239257745868815541299303782260095728951850815815654057535246075474068345295251374362503845600421281234848575478036349426444621430521001193422886844838369834643440453498307202149136426751660857504665972530568466096938106557396659635882759552942981607541481641135171372454531513195841459815797205931583759784549432979299475673137652735195281242192798461591581275565708183773056111983865801268250813264430753662683602078494548321992967936704468222248655694179306729923246088904498973855635664018036785277951481381055077041228034104393035514980335893014186343343202620617610031057457444591471164847009526443423073175314120587031296616110747032065550396859412988424997235111649263884957296510412885962594512611223294693929645635318212536377620324085157752163232537214888912058730079141703472589955246992283951774035897365061115701113261255295937345350703400784145457552884788015762312154075726226397393931005737832573941441287316010065315212291745348327063252941954614308683170357181121563488250020645449878052631725338821753529042195437421902639210681411224765141122930264619592270462698397679705444127772972145535100757139218187198108915163716229877479046278439056347098354291973539071372214468482950595682734965630087354623327915915008210563425681161820202173572008758976547822717543114983906173612805132284371688163241005350417793204039514982531804058401878396094915806891695280194902040276542874780281665713513993430876351497146631163512454323355505043533140464324892365740162982947054411963448751343254260476992586474083441120241041647189142190742201794248989223631952153519082051884825067816423489752143323667914439161667252101269995180592865005512056338389019937633723834197343732903025456308354858285399583139558812488769970657580286421243077163743603056578784234889807098429691688235043978348271100312928486986362931285406963589993597393836116287938548209986401202419267045280646420736259441715825147497813539527844234537423356138238403799709298372459411258892020133014153518233596922700096187935662335151331470510854688445783283072230823495311347533686033573898274216860697158266606894188221551256340098157433242359159845348126073134379547416841135174903173569581105692494630326645351268977690567499017048367864528514114159513798359143470192406014820910609584624862735448807252204903617943651829245188724611566438676569810375627011131568362657718247483569773006552251920935897935867762497926262347146546045748967503264255712609584007577164498917721568663573314393491809124173615343896003355680431888907438695746719674514339025046108373419565926781022019588486758991532354609714415700411755465282935296005182246098294242505778359344741190334365254947348834373094923759431987345973134917461007461088971316011556025291691275841245851521132600524449471018409333936842216205568339697291906505414318147334125148935385400743750378418861045138059103801109842574324535514213721512992170665090431643383433257424355133655052034858040573809271996345975358302757764515104253517668607211664259984517204995900480109898593447819261503743453496669666268506821843189264628538644791882299244546243234223480422725621499721676049433342346655046661124533275026562618195151467209536259232167365230934551255507246641284228058668961624024361330368438902769907745042636315345540162059716142252844433108834685862776706316848935871579859526956937936778996253337982465865638733732175325343518192409032714026744534020104932877549159989141769214520613445015492546464146154334098965361747278251505389614466842375603837678228101824090841139497147505755362414772942040589281538166985728896980373245728103942362546569381431271046621812538886519955366822213769783083975197550316218717532333753621486574505421602199363499615542332061871267603836321227948543382679540523318984513498346362247810256898923479104471430225246027572718426337432379091464196735161020824769204597984499404340313484784939764879200313954750992684414962896743096670369441541929294289847895680822326736193994461785067870458152234411088702122644628842671316623732107331850480260479198310555912557345412535590217012707021228985360637368412561588404844472835261164318413315868083791467319133325934374806251816366741758359312641166376012430525360465677815312526436080273372747970704577481049631841624651391735337198856944301615739822651439728043513237706761196826247626777795423156431594779245926531140685622195727811440143417711258404242960192182446553679459103047247034033313521237953037633319015294455543493442625744910796287645141611538582041727558996313424682692216281710430915836286671197779353513029072415687091757294297321374722775922772471143633328485314574776343388061461133566583285426642572089957029841389445525552123896741408761132196715726652617687834167663847986958589863126270224519564387085609319360234152750615810263184493398891101142004356416227694464723432960226178937550886423172699235458004237481147377692675791118445675129567264596684514195634360637759752054452160422723732916319629497341325771840891975218624603220713114998477787151290224396081323140601947439264661234370257475081522202987959592846971323524763642546200046951461905790892108725201712684675525788413022535532583368024196561779564815794589335857595746020674760793731554636697633729118133182321044507731845552854630087654413845289607753885442400140609130958933036176809606666486926694160038717776718847389300580312310683382073542440074846223084506996270031544332866698336929399911731634472645135829947321104039881172922705633218290251532776937056381347514333092017702763084425599152292411229185324477657584329850485581953137665501045825408747542119934773308865198436885984227362348551873150292719618593232402639060530642494223534794716208487505340965838559746126115896830992279079088369973619782027885191773391202551791194865321215769416983595533043460655090352196138559028818546720498178616751705148636929417481924384422586750603773798811067485526804272578762646989563830290175786008806148552366383336430754961149337585855427127030749267847226053310131247191558700103274209090766148618489528879064848762272755655501354640972820022319027091331501815173352742005645550602394863727722461155060542532499762048499781138604477665743738199743728968127144473220159153484991759725379031915325684161943502801637152228956017311887250568673460421033540759478533138033932747546830918985422137045995371803489969711174537711921951999138424664061211299190196812922971237105353200758529223539674269594291987437000034060118097270601408439388811976495074715614839417388081889883570703228427814755611343424142240595272905152518422331551941708342123520016410687783117162816857304086131147013040361584733217337288241342346500988451798364884256451053426664320462365501663824054141834654412581040101443080133503990311644600045542543565141529939519854274334593488655533856295314169490576644853505380916319380751904121215376647233431961401480112995102688561276907374745444348136420822593657459849664615356498496119911858247172674031841089003021287171842642534333510514433592499747469337778415236157362282127454325928651805885422384811388263595670438229464499318602337480362228806595108750435573395933972014341939133070220550113454317140643433889216986621673273174269532462959606049324052833824883017839542836325292718417445321594974203745551715534013809746272002242929768668500362821677004484805826587739421401411370282694856027813904700645601051319139528833020296566231783392526184457553962185082894196373343575543235470593666436102074414243214713383114510271565778512066142881868304064313197916944536533767247482634022641328385035876761919931763548633401637010999841338553634282376665497134642988816952399829349483517594614664214617975656380303266492738121120388114430631573239835657752734711432080510382296495555984957201686890059674920542459004077073782378564124115169264201601680907150080873600792967866355275813251140518982966540136125983259667668472173139496261013657767976969985084896469620219813142061326590537387892415491534318584312548858805485366104733732274525694289906163729870573488149172537178232985801983256121245902583857373581010335908152519401942995255968306119596428561170177510880844766600481413206676140251932344858098187853700729688017859233471109789664447665300332027812259107132336952042520132777074022547813184543861408878019634735542581618523182602257457226533454472445382092411737413654360492304876784103386867802804925171681696729466230511316275687162927749946533338885323510056153158895962564396427606031424847145146752256415567758400572107431163423300808548532621499491202900304930969616743693450798949616596657104765924129704229575012675645879313906897181800493611849308845444775948209725961511155051833906317045254867560512492409212776459595156350306146658139955635618435164759582134784723755837868147368711710235456505939901470032296959855998631033604172011481570409984219599669734686451176677677038764384348712196749070176893032814562436885626388348393014518233745499302169914253418623209689302644738867512780221628722703758352198353227062991108186138177530982116283713165215434099312933486839299324875491014339250288489247407835377242955441193551428124390555031289394534255185207823959210564989630115539350470459247456212592616122527373117222215868452452543353569655424338689783934349367232216186739984552546695944066933288381739283796535413359100954156019871181957140029443022075319751035681523403355348884240193466074304069527327170858506043692229721063603184669478421231860169277239976448162388670989278618404866207564175277384451419715572142402093490691681418611012679298383839258537459022707871533960698130834715574727152532619845283567378427968342255820274442832708653849948923067878708841898651471197414855645843812351132386402227829121134282008277674292708254526953384133494523545050623265447162195029702267019333397616348690156957982070577619787342111532062888543225824699042693059167243792552459536601605550913308734521783538782213457398806802911830058261350151039285253156452803981644806387826782294009117011815422527145656493194275592699526391332212143245613633680337263959310443413375508122797997311151104211905806639419457289272297859273997216973748026153429077930067861247162446940165897679995113311638013357945202948524528910667709803857531361959836226171272236532132495142737645919624131125463469379646552027403080195955568588824337051426743514663351042407629690238957173102013499273162957885469211514387676342232391110386474196198180973150011001244759884043458649232156216977827235967835796228258593562136129159742313387878261491848557151555257325236664564754805974421147229917378017417173567385306596732528200241512118968660359584489128126858765969119399983539080683866281034072931526371537467082377591599691856138193158563222008154761139498766431854639349267929229919811185785784750034086869647677352264272840492039701720318111825876890248843039551552117579938082998745964690801451614679262398290062911264123353229489708489087938389359363122666626081633430439684167062373233188762381892179425839618216516532975550591933506543680932501499977298945437994823889932088141048334626273204382021847280743916973710459808344479072443984491302386714686267968711010838214066678372332071862814542291420377922566911436447058335740227826404648744109953546535577655592180294723719235507198489179224046400796250701957166246586229298497827536256699334516462852568026892227218798474475111359491223366708612916949742908428937599101317206789750545813554549194890001928719966132311495271209962793232356628768491795446525120793939396382021518690001626669513688039051223280986094390600117499744317871075769699528054538033498391576539584220367650806134942807478335427575736425636138315509189304602309683274878256967196226693066467732879279569662419318428506673921583322429888325516004344935041525508813257755757232322989140048198113611218263121956940198811944429320751400063820542924987165202434830544662970547612010833354671591271196154343571066742632937698360335853232019623568574850978849480896282887869541239374815165878218780739125528002346015075512307433748800051150365568076861875401670894556777011551294699635936087539414646824991602504119624468956232295039655473380575838933052918761741331526843366642187113814173271300623592564142850489577846914253754100522564116475717570934022065435178368854851997443540278357146129862819246614354344005910389407987976441934012115686596278584619274532377663282053022604326954494291364898156676650824426042456087761624259639672340290680213872151632581717508144457275980569486810574291004783014275011703553721491348201413411353143006671372775431017126839458451586579980419465955530237619176301914164910821319271840824339045512707546856123956877548869117428511862096855216156887865735596531423490060829226862581530835029018551539282012894234805819886500891652765312156515889529067153472739721766239232923842127258299531906331829544010990305757285116361314664140236841705030723038787492177845893514495555362335254754726918504675999843813386892042743557121281083939861649111647313512756504559452503785546950445302933842559266009444791022765818857770933613497725315155165532347105141181404145227876370207994735931251376402385845242721466614536647707315854366733541190448131049165876895636446712871017732077743139263441212236754484755126316855895422209912777047922022800104202488020254971441292402940036120164814459417672251482795911332802762535188079182382329635822384761511435005070407434671857481728365711265312726408180478336180287277777121680378102621774717839796715487911445610944444087590148807107678091284661145944277989225710848363845706584035045986399424379685355931631693799341882824071068196413898020814176958277699078003083893013860588779170766192931571178533832890972506382114899343634470348423173178642255727001647391218373252696671925418069351435167658500804399837117181816391720364133751291299971113031908117293391674577913628646287347673107573781941953104382886999585198495545692971354188988506216130435783314429763504621512614740792361065328203206861478292927169034641087628130941681906664243690177492630444109271597228291704257103951474778794948701865941583748602156777434712427558665066039603637447585177591044645846497891758944076866869836932869034242147593250454666168564838606297427449817158372880931990760736827476619797495003217231073501671042347708375065554697337144897841833308335109331587432579072609144582775823338502716111778323524883731917398702064712672856896041798302815821131188938721478275183944463551902315574652973257159737315930858683337720770249956852885565909942552925481022635453507643761054889799133472510849435531380015143192252399973398731924231706513414162551123414251588977175205903946741606797327333603323128524177791811713736464245522329450739205435637485822046615769247819666532205518893140725394540959781452968194431454571842478828485427665070609697615272550222147714410408171742056168475823073906592463022317784452382783577247481615058953148852148343129020316657946232123305897000490962656822661814586942602129918024325492726685584923314859482359616325767404757438118954165136628159049134501842127739573988013499162794627314472718819930275423874148084027467440472524342871127421100925018394068382620549368372477023299871177387773216269267241822241574888943753161774328601590435185738957911357706334224922976296209225267521573005260527369406412346053761084073728349259679836902266292241795860278722889234115470154462335795036210818043090541739933217006273445254620845253028749680353074994541544971776341268210540916140063596578111656655388071186535185645647323186443282298769134667716292435645956198920142876834627037056537338278134271705447678289954396052293886513990840142184189712415059196519941423821268714953222659598939017208922235314945894122780547796820342305016790665906833391978352199646724848473693731556090192198977348984921810536763821185363676399991950900862322632118096130292703324191522629696228333649881085486856442580890991803977647966652523632190882836002549450688380222695008373363976552562290848372673315875292058641425838189070192830592715735452118451704135990013347154673061097077569646488166911131632227721092205652626323242842335586203232502699777005102434336415407514320993123794162442182699960228553718503524506892071184361130564874622237054336838291662713190600947407678039690133274458364657914468786770861053608571221572510320448431697257930475887757665272516488282851326056827630559988847003671538238269038664482126121926643733555575368987715444235269678274561854475062771329534424451263535532840168021234259406259039256424354920245959611649717621019877634897091428109558696942454653136259479972277540064491156175323280252925266442554840610350347465281042561697999569377210347799287872422373606986977081886336917495487723908589254664550160642863391064559351677145140393055939167882376224417070359718918133454849729786211921317102960049927047746595264517197208113429649718929324865560354124225322170985480792254583156251845767478240410823715070821544981957231957368576842218475633421609775332010420938188935572401096135981194882875828827147897740822470119141386897038683369017973644248358331547319336246462678137111712615458739024350164327452249840822180283220193443670787030231302818745873953318965121768928720451240811274676313546663092258876492678853617001263481665814611676194544183362954334762043070543863234787575335802045973752046979948498601685486373515324156082398805133089453540176906378174221051582417924980345121998848099499278079371213840004674852306575881822994543737431198314034688765428380337353664970739173125152774540396202280517816368683808359589447122726814097655811949269987933128719062308343518356469434281950352346735819391764043383058510036335383356364218527683309571683932872558278611335182767727754563783443411378288597196729363268989920788994307683063496644984853057568608835683143791727333673918120457463474205029833433610355042078404644318580703863569368288482671630143529097426662139298162951956273277898521962336565312694125836088692388871093387186411267053277393541770817160773587538863027180128855356839042642013922775989191796521103941106035872309289922132848598526124834027979455069081734013330872017321221116561405335818135295313960240608424168218534251140683980124251811055768250864962369566908712708221112674155581988673553762371444143144378617380284202583856931642810242452668125743018212218234854394875223971455756303289838198068563522776112822119890915445840723046773862060884769717620115507804673910661210486394563128899481103052527934889567112121661052796233237635537760869888152351968245155712828114646805007214375788414816825535690675080957341344892294993171020108037309227449612882238199756751243174938143758547568679224568235216082979781590979750404182892498540329165463564735276341067681333199924831770108469923313466732226926501896698969228820014253415051395808876671873824507246780605108855121455291084875716890950916406239723172700236126901198655118474547231098063404974764970966753341163548958172126116266614436626176386884994010723847836770112621182770655188213439597646342042172754815972660703653915461615614472136300667651076732037631138042914913868548969929377827705495385677743472749270401688439821065289615074764437378956755987106228088577735157255927123925018889204023993641375039113272132089036914402848405891422606097918652411727665650117463836926124567341235180993643140965120053952287269245963193465136703420103424116347078675136497584932444745182138874130874006958897565683594819150785216307130788521915490700314270214926769878421068575060025180583466172458616500764229033700927693818859628620835945921950240702054213170617112422536868635342338074587114086143396457151151136766941714865651939559470684163782819295489541286870010488910950965516081963283251278176360288443416749541198123250699899811398217869140369966849788967237207128416920381050819235855518993784053830046047858190685861349279640215489326097832825552963948688565391469925261665895670781911831553535213573141794148394559536839730992502961471323035669684199691291400218325286334762634767975464913542314152578874172336082426908040025449952892327788896441854020669833975161438719945737829882684442019751846352297612719672059747998946558692688846423845989061587441285733601582993572665010753327528375302770292349353940763196107859446905416782646926013265301472129029857853312931254122914544542362831742716488377520130482456204903744098455009276029368637124041409141626226034522963982782463794775502811498426564513422293225358949377782337473216164024857746400724613181498852708665678134197309274593426435146519898172242695123498798963252748223811780603535308612928241759820257065258235509484091557788349839842522556462627795686743038064972961424241876239270827563998118397666349436364777005025451457722273701891414329732963768766997296032992257804946435174325712364918362882998210695248709123789121011634200031891325006699424448757481421516079968458836608773050695235165153594050008818777773977016521318698408310054704294497634480223056786832208325928405042752095360566272298833235317782863267530482078463391297715523529516033711018774561080451877877769113844212414653381408427106512252943292981061574597252901305989377193232759248249507254363013052866563424076493213457136932995824341840544666616033497849775349211601209734271440172555064055351126419163271427937323132707376345414375239484480527172241806208300831057887742150923468479619280735378469671504534825830624384618597201860705011176438484340271079111191379403713242456357936732606679518765315395531644906914869733234942758034109625773945424628127629336296533808344726555347025684855779047920224718059289197761635532700919078541215755284025677228480585187887286514803127442605305336752365577064477917886790330170010728510800318155499201623184079478669754990240465576748520059568065697367200723773061636249529651918689427823686126101152734176786974378992519347793227451366952076008800094061618265153097687935957632326693094764255848327212919928742722351548873038684811042332082198536727444501573405107837723074132965687035538692374810343107168292696700902508703743656233909518810826213862461361525404531049142517164292785521147788228658051783214253452385581111274664084576226644216448357760210272362173672871553407425474127011804705281995607157032067586447344619064472139728353435297711203778896335042723772760240177962013682113042974590399796140714305590890077661290165073368189291743171828452021147929929316969576664376571060675125893181895760166827568711674580106473561265891217229666575481215441949511187035526732568421861249764718311043133579839321488731215370107284363947763506930431882218933858018308778870557818594507762910314294412907795732349422601218832665161467142864509054324778686464682450280782137890299722445784295011361381578833640203929648923219406618629471846833927385817949918980883240731539390085464021634882486921087846416461166883012815372385164159799305540332916124770902237673635910263216662882635239276044693790590369621304530592701676511654456189907541479663422101358127344659834047726661074207174745761111562376941507192504392471327148945122659749884001828643227407625677487633641522707319622838993771563181369837804479582391144174758989691474308880143069722665978521034173190773813882538244203710842953600579887010973372402544632664033133769566224280467783900275928369665640496976249657364654749867154937856519233044147220793455488887871417044765991833331207887657792306621371215655093350251087869242214590476384433646445710465149720501911819927227738494484505663737225293666736180976856579224916985352779779166118655935399553841154536832761460698918469940969038544854186468928213604420030190503381927177386695729653145241229335261844955206666884195338929699539850045689545692156423083391466238025577557563531169628479353894574959903319159232133601268747303144781786562495063404136981286280840717261791403158368767587219130712557803846967297082347046722225128718687201382662339033863532176034432438934226080073640743836565950890774577510954261318384104662548379025850557389493089406955481578361758397769557095096443656736513939012800095152272899191237876271269900247899793373334995163973910970347719869469835565836173988594224450786263898848717590267527165795215160798219908144588445371513970267453912441868511537173616725741462690256532413975221333916054287974917738516392991842903773289735534400919049580878365178343003816868409300565056197430233263392193694794387047411947106424088190047831628896525451241007968492935199281327255715982569484167390036997447157376935753342929122237465456760591203385876481461075762196489114223566879621720004288211397490984873705690830123367677698107609163493596403650052133642569462065755582775421567788885642776651713862057363550172367947698268451149238420825842964671915684501917043925399313522315454263026984257608663337177138293673109461783658757658667388102813683563611872777600833316419900365559853799459671732137915775895216398515144736651650350346044009013922956431569315425321917204178296578591419065555583539819614590792273049257639734433920485656395351170909251000344570423110364007871464319889708032131509768180808316153831737264185729914900527894980855569949429282761749500564898114261130528363591697433505232282897812425022081823261515091351232935334483072143836696451738516018449277814492339434450312453257575102530754810475046419538256487396321897071641224104159272827636971216993227952852260514088122836351943254476731082579619099773485681270333664881638257488441101259603967898991145274090359787073077729731970158868266841768386505311147036337285560249895298685900722422540325103527336478962038307715898581806423278937298111940237775023637926979036634539275772112715919069471232943334811333873906422523667410059790261895084503658968981342009805049193142718590134319745138480604529208739332816268881573211264137212515172117327068672884280142208815703001717079838979376216040178365906253623068680111144167286994049962964427456416332556167551568064411135148342021813218936571374432044004482104313015656294451865776196449711532060435154746051080521492144106045453426853812225271604550316409172611982230181796450655314725764834124393662097518021841860960421321367322162345698984009760087592048158530968795914236954790616226693792261099044730516448114987420263626613890467336230232923979481218457607383473204283968832117159146024706334107062935387151475513007218493299459109900689148453362445795946313260495651602541120145409481597553878176173943622284427412589642084883544937722416990219082992752177461252258621279595189264457789294131852090016648634733940425746672664676206279974555795196256161456313683234726972650001898097584894125689230003708784861954865066470074200723125182756470917712502310425375238555419776761761790005546134137946501985646416076071242551115746272784563684517736423018734009889892112171353647388369643235476046628725567946570557977205426457271170186283094365080419925720614681426472622183645671725978178373164182320833684460833647665310979466625306752373526554832016188482219402875033260741533225845637030225812899087871349089629653762203562261587557351938642762859035097784337593338183888108896641845164237356926693824859134519644804051192849905713713068347862626265519923542774996714375586650531789822762156143150846284814936852674630330041401121980947120981192373332518938782795842223335569622467733346118584146510974583412795246975372873355188116057166132204759395824131465514100397456239117696036815154373471803541060033327937170452850353619841929084746261222932330467904781408624012998832874786552569587473423516146903747730156223279853057114545062641005843202796123120719252647341820164698215144105751482743878522955395121247776723034669448294859062699112147755507890554501630168830746669054137341705344907368254536541425893628979417177921391795669007776776152306989205303647097717695937701249327923191120459807822617057322160897754955426191734885893642948081825583310906828515925406863493621625030429302406354242422168627611647515726033129815625501138954169336259873634453244728399124305152450043101937283027011334741975434425775166754858686864368107098184866504171097279063279153399955369853062237535460257253328955803670821166514899964472569494518590193026097212485094786822528530413467519912656964637353826183549091595216509462812083931142120286221675313224058864153398925201774733887676612011814241719014175430633554857461587049228802460880170792865881727758349840715528934234370719785823523902779861760723687439023219634930196770883434571284061101091234935867979805949465462754760627599441525629284149813075328931204115051245676877683022176686250591157737011202543441411345957646745961302596902157776579173350715858900425278733910953251176814095295276813643048637974572472592460369240178082447125750150864118733393455064279123232275387444258872445201876184351158437334924415203113572439842438664114517877913687796091903953513688719765622230177601355264461314967905615930396147658840833987005050843523426391858917652451134422322791979492120373317696553584724106414446469558292312281614480524985385864878912911053494434187853641999831824522189119630194267227084528956332052439703234404452236231465121409569863177689266511376416710486739380895893157533368558194488130579590530382819665613751657339704992300306771170082444366319681445519269510643378632430385289718851967337208907537715346829457736767661587962559577898067901087691560024758943517162293939371133398913744001972352941231557150872568142174134055731602511642357798520229454726094048466988688919233114265554479605112551682145477755187992861523285422547198486913426915726315391186312022728494541297307410198235599283852786979571543780496662754397482109245558003424593031148684308774100512134783914679635436463366618736260347130848495945741476966429315203756482892166998408533429934581283561574214658472022808040242979317412217133444266160967358811189545678266400573633770401249705618886181407269415530602156891192882134405568223869142593973610173745367811925107439561952753955944952148823649929953368719594650399619892127415784076318105092298684781504187868405231171398370297550642213925790041823563628675551514083274227417042071683652864881890500907333402422384353290627174314233263571549844168934853999119695957608194764764283255993200618156212348644571545993959607453892464065565442818311965493025307309141739122805252727051008293476387941801177521614151778201421692847113505657162046833437111042279259574632812565494613319006282367239727556158564413251219937846396853345451466871607438510188510528391102686418524627783330051030472601812990520716863252114676112713503805398884191190499487880615719626111054870428816576090461042387006546245932973779909850948575126831333717749201902814352015461991537669079581275669291335923971893946880539241757145561168203832555224204481073847467147732233424176147485290842392190377351723480683858219617338342067662468411165490838938567134291187484671356691458372086107137954298428022631412501883291619766410176910580245432543087832484417273959722284499438027055926962684057909077736036902302953357545502365338786156735561647164010305567107602987728943017097465563247535300412164365384856475601240663078541555560766789907463710500993231410395639182331697909609974704231784318904395596931696980152273147599884720012978465511165267066006337277810119163310553963617074232939048448441965647112778023853366639088827105040885177966128556000317446326013950800999691216105635512555365494550117085940505012248182701024594884955953012527974858679114898502232860432181779443116368271733359277076066133751614913470667006788195298766822803418329930841285172598835729026053911681787740458676151670746492906013891093476249099052594617948733660561729355162205577268692307249015733857144059552027183084980542346273786965714028199559788057204328043089773193727563197912433441125772681646166098488127896012316357395517371797519443716879450639545633475336634774312141475132265097663743166632827612361910844482060035464783325957927519922114369498049596597331833060041400911006461050779983203854876192342184210028685739710232082946771386029510346282398199128123835441127108281761874072661936562013508720703903996268830441625075086417773463434848735150864827917546471083937366840072021478367524995098072693217210624600716035601573415205558053100093817765415025084602142742994146223504830197396125115814129896190749104306520061038462118752734299956838753046366493866414598581275808757745903943566940194062225374842356368786979487039659521518579471752875031096175753903476575158950357066886543782985293041141754116059752659508918736942434150862437776455237667167652873199444286038605488535442921034151558250137180106770081359543064251419357026881696509547286935982085638661573014643361613056
5339004178151764694635538038509416696881014048849138641956190690325519072320601201903075818343380754717580899039672075228944993430301695548085608523072936866756109692979580772330596699484285970659828584473591711145342788702532669856770275898867446004901253671885678149154298757779323208567633499700128951987311400570430374716101868952688103808345717300918948302000048773605051241011599295461802308042701306790774292043759812648570893133187175336953199702584094325755680755032993945809970800905951861859330080539947839687049795758080555799240267845207622999336618929603993836826714040036464840864961893066079423771331436354070152976593379803166820492500090815801065540718262492848023975208568953106266249424239600201449080600757329480048279456320833658262401497996006700439300406883844495684400806427896919692570262766959602843197575221485845621517077375541111056638462987730836628438155722329649983529770695200556063461179355554269499582107185804004892665165541274998088096046804553353310941112648505154679222313565260714570935143190560398375512704483165761393069695556808597594026083951584766478925798719964398052474249973533446307062431788980857419149580000138262504160826866841156700061121724103501019781040376383982149007884908196493964778775061763543298570870368006370028188038115819408065002578073506901080150029311583593207970718428703206142907605450105096638791681397070380331357931203701735681709155870503675075780494780098545054404830200924372498685881004575199852346399191003532158837518257556400008957472280133468166706816070422499129103424440986639782121447066790805923092240843872449081604622478199560320302649177267800137155971900107321188833001628009298046777693900578910049447570428339260475106802864439620828405615305080609898786235216300384808781456572768025354576047205200709756153070210997193418805468768630546736549659370550837528043928706775507009920101600832787598777443841645939965961703174158158169222392983085533523500137224898548946708401354816776736160195342571858759320464699572910808092636148984802431305310057648539561030112886795774705063503704417117284363926801091267850637499011909038500890625434891699970834760202482929104891686780684062868164903096630871960163176515055810910357190146083545479699762969907125880168934845362296519529607238609955809760775373891677870660170924268074582003113441305087187605427471031270608679931058984665216050365697034087245987808387298950003776905469143958372167980113398109627419211699210999076053519859947150818521552775033140370078786396663188654315697885372570638586133946509756310183613760809109747901299858126266037809931051293434324969757964172221333633062630080233936820519701515978873393643083201337609450267507109076277379029991785972202182074754645800663040675132002139593444212336901906609829636611392677576822046370167907335587236200097115343299989904805622678187789716040565439008566078159501652937438769503014868878264403834161177983978463884214513064383424947018269603871032450737506308271405445310057596640126797775284090774077372314300691836325058846905000510766090353922549059014744525807238339796536794669305326519601745702316798655718275044774750551742039142913652322073958005577956141350484097533795346672939091405189970900714496777640147769845841670076513558843815485706179660065944007460012040091987134875360332995535746931009390524549751550664146709050137700824170617337550216209800848879005238587305978751501507400055001958400076819875973716414335110274446347075943680097268461926530000646826640183822882405578889902529880555790937469242070797201883202708861064084898094857872201105374271945363185746807753047756413016497401048598215263801052006376880790218688792091640612442110691012005502952853072030980158662534607308971485177502035097654699594400610798454466992723226402486938818819400909400509655169518593291442690341800293952082580576813830097860038778932409064150161146596552757258696056210202062807031884112027833188070588897175016806820889819432049070946774846907765430912215448134845320436200493729711955347090983068805090636070705482145262475451762438323280446670413483697217847388920921400581049444577026247507006680890170488669545761979038892141753550147050643365188628768568364246488089980440350041138140734876870700250502838205856526707654725644682000327446181455064339856851994741856184392037120980783995058548336876239999205685918479409244963971220131796095007976984618317512863158632210211595047539444662109838630242695236097822958541171060298535057519700013705092400443960395446677249442701691403541951218966163791224303710781011142532551372992434935054390203360403400766250747864569048243012906670961609708745828055948764166338200414041859570043059616229650140500213067101057710517253232747209004406692845751442873232084915655246063352833653170446284579798064570015625501819168070089823124050879048749303666136676312624604991889205418099438392577957051089733473909652104645209640130879311864107606560003691425074345081431391433486929390140299033500699080570144249324577661218799446954105415045014400218054662496535509949518842142680229946536045138334586650579199463599536882819090195041940041886006409541992347989212409360376947460588483343818693101303354220084716973651280676032708423410109272938399601395808833539370839228119927577250518787105099089774092283397262911345495476009683052900633326783596131402010602708078382318641462802495604252489950650334058774046506315624372999054602183344677845008122712886814943001027058738517988363169090098556379853446326396726221672991469355733505401013788243544060203835256432776299294838695576030358804348328399664855620975834200505828283129887507463387890590045855391356080971566804470679970478643793371699404489121168007237456505299802188335200543989996026033954993534071878516976261204301054000009590402239357748759695051890843730115092459980313783343437906785656821408962318353033679600124928037670312690248703705304961001790393814861102913963582050342956203273037185192471050701416279085074475827679802419354547135889009677460594040757095117140639984981139598009978108031960492969876098346950535959064200174910908527000829067183061009020690121121003900015575988911595344490567044424760227096674808797875467066100978964145881185871616206602996263598010966836005315278134453640122426304790559529521160570027992913247781346900083730485381389296030105624582836675008881232127220881994907078010176007597868915797449283337529173207114706208059677660156776491491707488820837138218117380454318000484307107579042292470588680913030203049317738503666613871981090956044327184220293622700554407362660703200146235444721966141268072404367303677678505394423820626213023078220106493693231242279292497073222563720500657684169427035315207490618967290719090271445960897214872368043760313649235940188632043864430907456838188670747919769537117340991509408641665989412794520909456749561220310250732071324599484621629786928857592756550344914072614429487981090512419536292935663839809293976751710537594599870664044052408943053737483812200915701246103517906667407814797644510724507055945708447962673780735059098477879718065730569764481774724082267154870971598958872603064604137430063881616015192393355743686986559000267920358950096020155118850054964683744388247440475644786767095530087928903003374086817350887240370838007858974903302463878326741076082862919668692168951267640775719668464750058520763570932078598862436406075601558720807373324047478249114015807094980447922563040245908038964790347956508664438868003088253970163501617211746300868440846660706138274239893846692914455672270600174608478806291015261497670688112792008305936066167953385757746941530702122486871151080144776826096299680254942321094941088956428579937937057009155134342782875120140939501179528710590205861128531948332507370902903786024668002192446729888694982331995333002802545449969428527931378159906062260690681327032038189450602912898577686985618721859647306800005721356251626073100634112660760387982030768368790826938009206545649996527463213333930210094675305399340219260150849676804649960066605802193897655143018922689507960972900017617339237025852603771091308709385805021907175853210460153845976734267770538361615976352698781750306509044925850487607606208981500791993088729284513584800486369421670022102560814663599668858407018109693983849128057894459172872084824569566356369850181758575680750406124690644227301391732319841854060426892949088338290039820039890594830591052060725862811731648646422520970302174882147414515909199548760535605965500003900615845307573966892446079856050906700208728075803509327663700174668716083903167376660177063067716213393531981617868669663530079073476807807901321870443996140750825102011608573060586850065059008576988871940863200409414920664467307434952256554752642247520106276425094647563830494866817075108637903663233045024644032216423240690511722332617069705978390610509209053579609807672944605022105504050826027691704832130466515149861041888857184583033709380310953262489658698570619567475792827748792345796179887512100940554007972680288031222649306080918285200701668588228760540531246626961710740796830811904192078006069900238845401889388131775610035996106409426565025553585967800700914453531471141443343590385727210011382966841524907131380279765065901076975849709884036180559909624518999980860222645532599037967249401104561769224733295054664103101424136520036518947644495351587619926079129349324481599278325423795945873910079362822046565030832600069380633400254570241950399192639710236450270449003831092412026058440622547035653249743087260917952389038732486167548705471926577691756934186160437054027959869386028981575474782477263847645606167628556790500957224080796434707256444049408953727886194986975876188269450403060014322180897702018979850271021561312835708728349159977886643073952838915090476751373335740757697487461043688931775494447526395579812688153401778625827070691706800014846991267260498782288360273399306490538198260081261090359228790479972924865913090297544654438504697356447390492150810119837501963607842593284297029181672274270480003797346747106502830501959646045290875334730587040884843026594999023303306667574792103531053364722947427886082513142260544847676718263687514414298250422389916291625465134783591708343324196511030068089637000765590621661862099777231162902267328157908200070389059946154699895890360959507501578195456205586960752990048578160745701850373971624770020388806119799104800547236568538645802901070745947708679702074407226982797935032480118940837982442698396483760016528312119760493666511240322107751349318523608443096892783461208796182608317242675852061820797499328663100719737585914515706414781843149900809649788159665044000297926736459039090122657820058057991357800996810571628810808076699329726709376844996717891338973418431694187912780093901555474805697750095246139328540200388270776188993610800230072730192096209090499500528185491070458082262810080270035841677399097509899676319002139041360694704489874746822464523627302035685845310899280421971610070345608125620199936413211318629076599583447453436664472934143617480535695783465137631585448355742074022395767500780437087143612005003857600859404690328658732667975505306831240338105558912061832667299421501249542841329430706056573260273238210745701832214554157741294152283935678195408548040608873882037691767982626742756676850260721520018542571143681996358085259405988436780870301899572814505059295769280572807831178648499621699802331102271898084417975401905399982664898667229447010913094997102300565290110374427969050731235408955294133030995575224475850854040619889359471087201976521856920590315498993027825208670642129010299014021871008225567349243660942035805536500269258076080314668062220262113050294875283613508490738176372579530501371889568257502199016964435349143863066926204278551901006610212143790782257478028961657480765011661502251371743024976207108585739305790653400262466411454784012078761481593889203685094266640202950248038768026340367961607625342132909019145066148145327266609841883328659777124021906561763863001077657758250685626777096120178040907195058089740875404908518921166365886364160602761140608969081307609153613983059096706608290675279598060673010555959285328482109097400845503094000031017945340468825711270848030765348559137996963316761568993891021669278518663209800190759097213403250799735369614574852665776059990287367175449978011941449902993720235100027224587802527087627423007532074307405459788619051508621689631082828318974521212980648758888721140496997645189863837004026588510917078380004157528687484019942554310956965800312558008352061694020575130501909987053063587266132019761476239814396922567388351900019402360090046024634493584049224050491100760400938414066781034504001764365901570185749072554223407600849288496189702395271309005953273879710395029366396948345791502395494073774519447868535372077864995028236308586958183030799926249705077448733686363557025447149808960990980547081990213879686642482647866390601001332203710490750253069436005792926501862967385314816778076149910280454751775882324842034777870903541400848566723144777780167530601173696310998484520143718156460504355070739997682870745303648007665170623348209157490112698892506950181682516659482531996597890085904196132795074050128040328218404617809379662885382677856204701070439613822297467505900198379014035565842540692020001703897739906744887944815056400326410895548678647910716647014477090202837540530604506823986837853734677238052078696046030701569882099844914360143407610778415787222102065408369719219055921934307169202826069095123987107899431072008341437423672500881213046896603405900431640744913744764184000911800450544135384607381699505617359088609478374279062382010815290493615135113686375926043608056833783403662803006842780624622922710182967610049870430048928643284709097911789395298873232771452636300203062414497983719798174496143472975176097150730845130705926919820800086746301634600304691338962720423303236977683102181269010480505984630196369697822867256531664571360076210290168446973740098014036756071662224175327779492980358400665525545005026937931509679890803248972994546896833129302710636120006490587140892541799046871683827482198583075233834746706901866567856674858180009709750614623742542897328398838518083046669725984469190038665016156474912559779377368485043281285606250030911504684965337364100869925063789204956380332202026744984437140684873154618150926063858022876968398474400413961434155050986542042274579966597106905471978871750327281997810735236232506674224487792509261250409893262860746102507021795320546026042504929300957184726003251990626707007077758824086157544498936741702055793093322898714146892659655649129399865579465992152077656106310905891927736272485800925625168651337962867038373333086103784150593259980058293106521406488927653992938662868054765524723828502985797539259169806708900913349950078845720596144665325792630811217801933985572200350795173717260034634266733184960307859081014912198049373595886261800617097251605407777097882944955841627122671843400696717090039508603690305018259254384910816468592988876800302492493114233983793611930391027253422370079415006030484317719019013180237353501200054552079502025162189470458276681623050692502754949583880150375669307061054529858872269506312740944149207388676094149157022299270180705613734716226731858461385928746071237521977682960060077257941804476080415733263129410113444100970274916189941559569750070638804585424720973857582804096777308614343284217282030548491907189962858904448975251685692518473012105806125810249880505380175549899784122209282175969069209772230754945488008480000785884439327132884368945217840590254404314568058606391039581964370808307841916353612418848389099152399814624084915149406640295980347507749516010960654191506022140827797676480064772000491414455886566150871133420999965699260053859728967949470774244840840577477328103232109212710013192744761714172810892558061320335165822617264768239925754027115114723183599666977402090396104809105969020084220303258483477538007690818410005102435630606008049233803680481285454632583924803025076745189006078226882757575101958757035735074723177001243135137103175693501877120891263978324649841958297402440657640068486460577019660972830525294432326620851944884691322684198106851728448899883290716178699675714989907127170523641265786511339068238936083073331809101767534206076311896313445306355070172234395633657395125947953427205552546858909664550808300326310960105500884538886638944525664868724338265902709750589345859377035634207096640908670949038263948227863408161244933274109739193156097569383647800198049069847239500105630587606963546806869948640006266483548113100890761282977064740607098570182456932440600423016915712909533800195280466870416487926274088869591961923785409195812604297765151533469240001478888932326000484271023004589920940715486409004019362436707532924941809597903646229823088945390073034815182682238703570256653300246932206603280318496757658639080312416417950777132345410107770351093204185087657427657145662421782689998278000636154075429019270076002065831529004202484642705277795278206458557974716485415075350019192828884211108508764708390285464446068590158281989932586966616589088035845879714718098691983647284549421840380262608597042748258371065097090094047679020954898182358829914440945054234538505583502644656354787659741143086526995009718926170762002097154936006756470372915643609677004220209774354175590080230676761409985080003231422256947785045932475796735480595591476046700362135986096721889981355997669835807074815515066582539597530199330033292460025502331825410808910099313655183870980260855098310103182899094093559049084276676852206340090022958634006932554556114508170612215584836505410248812304028541461903643720495345897905983584660294301319060821986491927680569272321271084328035518077974142801062461836413970066194804121930054710312266908990043891915530750823952806487036370829068061213132932037804120646777953448902828047158953155192249607420646346045120493475700842235100329892991307350302867920082917850899620360921704735889906308534390406789578840476176094908690080775366490515850964696533338050040844369894190050877857971037864604630287184883154500285904955818479837472710600860615889998059784976849584063820967431530452137897947030545747110410057201239990571976055679761615855361101105692039640427956865725016070499741347972233310767199530915170696828162820808952075753424064956184294077751515419490730492730029139580674170575168397055785065741867943360467978845213553914401960494731170611440496242308489508350780590499561779057054322168336770462289098760770986475609149769375756129724033086635073692061690666238863903206988884855585074870694277898198952657903747922307010248457006522013986994760200865904591306790342733294533882189001177876231815222605188685865050060524561427653894699374465068715851334801670058178008957910430587929025504964624409190790424362204237007928729620844008896627382911421167240003626330264210981459152003576304087714452998172067344184800147766234505103652141059619189590099036925035503024322669373775604108849149540041876827148931099020020296974974501085876260226030064168444562695959319453296542501717809452283104900967270135613447219260442870637746915831053831902902726990456428682876066180762760044285855298251321869862999078650509991309022888450612785926155839396016935828081329570579901524868050150938349826336764802526583933861961218709609820601970044428720985509891579566789472014568617979045223570890060454706772428869200920076641476000861762572475785062118898909065910901402640027557736884911319584828634078646749802530826027950990780047092813011304814484230456993373053907413156993690110220647519570869202647770047264090075710727879227072907208232170181898527821102988931055093031106327740687153651703383408603668335593905903793895848660022290931344013498411190410594611595455070045953321769907874088108505133607796213788712688733052138185528260574407199355395230207147675380688180276827550825708300508467778501149823102839240649967366159166719350078183953621789751280931137224690869097702203641206030783560924567817194497004376498229554479325214410091288651586940449102882890135037904043711487207752735681789374058274060131250070112681956992651849894075178440426067536545904796854413182557893678375880653864028883077525622901807040608920040687073331804226920078676632205086480846817509908873763027139540650420836384937490168449975640479042350743807869598331648508702170610924092568793820950058426247585142603534668504378494808397784384536513254051406657812029226108406792831874556478180332689687636491407686016609104078930510756736388036774496117910109346092566320174430156711828887488306137338325031497139728080087068055140538976320165613646217593264136912357768067397186477894216110775104706404311058258502977200204243076018635880730664399253119405360670986073887999393529055977809036503765069735810870929946395760018965941529451447493322990428984581294519610551168070112861832900741429492739012287500426140639882780638050004340089586255439517684224421270296009796010705064531190561692161984008499187661775335739997810690074565575955920690663567872810423025516036547267196843155924407462909900707181012553723583048506088513707643290664652080240502017486499807570164928431988891736029832857229806734933706707520972035809778658042475204546282079707473228756800564376580652023846149077602907479331498406281348084948511952853170694480378103831519264219474984640733396705753375692875328214004029317108396541671305476132946319795358451447857077944765197900515616377543881230111443007487390160481251763587644754639800379736147954013630037040682905210275923857209674827729370055660415374000594897405434420460427138028722304727417724741456706991688565900870202615099156001279088911099871870788846100958400074602507362300843474757045600761088078487991990813066752305603700806040911977307256028425548235370026929597830683071422782225938090068303551699343669255620528120173157096900691468070708941506986348330276097207936700909346319319880078363420160044091787858143538896489516302526553007392430797856779706620896233418030972051152394654238668074194797594564777182193214708056272015509617811816840219715638577682806552268405553030989995194035173790677959236198355494165686094028484832902238445182910729564100973161826773089225349210042875670003707370099802652075299366366083266423780613088390360029061931588456616103733990005140674266283577541901592991468063952259083608056010027217903880453959764709700728937678706768425403397071289568597620001996026849383360447610210159317673300681967160739724007011208949244465449862860836552400664640228606834353488878931921023561385453667673814269090884966214907683804998808140754609584960698489596686141445442478881625096229779597299302172920759775150205539135060959407088031939090560105269676390680784369031464784339090305249346439298273570871547834096757529585652019944554120982494710708097072279211307606267064406025431820406927170306100779983007188496079315816609200401466040459171092423554772370981487037805275496156219044218606866123974660840917868999826885369046601402366797006682704874418494289586850149743757308349111779565611142879633671489954470700884841065288633928062543797302650578690636706109512273019721007550656395806001029206894013387053350226092650664766615038663905767998526877562108101807417041715503835569270398252905891260290822597107202605088956276225399389582422002639249589314942798742190126203011110479175390816582389099301833306514883887046488175407688818334857660000205477750533795059199870625089689016397244812964220322660147031570098908900491961318903310543828944424102925416056286155622623576306931703977596154378670981194985683929577573967628860550562156864388548932753412213375440603950658783381867720636300000504073770310484052885189107068878532662407000575043767905555428617170784820670000207245887463189888204033003016520009288123439091062153180029618495004480969560408039517367242793316172485141704381000607307010219546650311242085910949537765010586340468052388512978086614430702053602673957131750750537982731151005788282311828062279014801813736699334899159835138174309908012392648234773992599340594999854605159966406855859240191238767949554502396045330013191889797877350270561651479979270418530064705872808626740087640804999381730803651067910977880752973696788451108065585008104826397992719465777448726961885607040441109508306430774540806009709855990458047898386044540033017393275021604647786660871941481037646010375446284800150981163267939104758166502907671950898809891845064123715381505344997152079211769063798754763338186922671536323997624531066831503896985641591925394509626447556120007552062460704452703269278497576851444844704437047025442827861366976970013600307277490408386235836996807408383890624983260094474994881010119003851420115798069743540376573096290795950038144663030102678163951829028013620398377800020620847821494629557970602114547059756616252081945783518929211056076460606570502009676932483075611735893010647996797886681349458603086912447820926080580008267529264930149202207702141150095409782272708032325072188679206894116606803486888930881702435560633188426982917164317890080331052246602764542080529364697947847391770968200801200605911398017668968696913592195228080300009145388087530599039257411866493178519520828055071663962615649675684402824018120928150207619896478258286600117759860955066380205863034101725423676334175917406767438876008719883436134047282949156292657308068911142201575453377994410576941310073588472774178908997490253012811012216969165629970862701926330398397476057807470121301824697393668221551696338811208378939562426465308147160030743609918678636999136049755027168240199307826116086740564592512084215115943787746079803167018381949588413601384170813702138087111380021363936150439750822300999224622006682706294714578056810468616745091627734506033155531993508095237461191604240128906523379290857851265038184082909325062126484641389073217109371804390391499627472477508778270609892213552973973194622893428269190011415754427733697443680810094616040972606540416704416546391727038672415770235189429201005202300329300070394052585367168096190718504283677326794784837249035128575787039916547736332710131843046322829034058661870384570131067244196273546080510631491266502731632924847613476385081674619006419488188880920204864987830412762135188464469092403801884609404874003336868099038068726018201260882107834854923211450067531057760408189610841136330940117299963001756665755800623040095704010744143549426174400022379005408718826275000172679028080457152643668596580108360807203598875701893421568722980979955310083285746580086999735958750773146300335507306564985918100050255274740603637181373091423508754104055904936345398341756274015500040682890578011609928059670028000160386950081870977006670447304758360499079893128976807419244155194383960503747309640403046412514786002299037075836459525189598414781552857427972057202129237741257992057025064701487855616022119668226381906041235338551885189468910661681695772381250097891588267086407145542728559487268420846574274289333797795380793387514489509899473593885422467930239931900461861468412890519592550138300242588709043440596531858619283121932619726895152835102726967844143807207183082689609989098083551634400996263861971590962119083161079221852910404452259147469520209380465240998071065133069759526783832847141324706984766005340287384124793887815007248845500466792781677934091765779509104077018993268553073772117835608103756809866973397144892467827380699098448107379149699435834120065806874599395091734703904430609104980625157160028963011705866218373960530379854829198561085577234014790239435088610329275249202410753172352296280136007609078043304834277469155059942002886330593815073864749226465404796711653282118093871487001007830193013341347290157062677497095120272988773641342020362078113552948109411540796254648488826060127239655191181761986081030839566752770287707395619053446273959815439966144638128185934688740334706784430242236590362191931557527715609805142521076832753455854280093628427610866617635446173610854143037009794647552792895712125534518006612739046478858916569306780243097189374931674876140355424280997260364423397540975782963201008225211426595123824713402803875126400893263745870803701064674511577443764279747559811361007052870326076078092019032897402384060760470825608099692570897992664218850638887724467105599846800270203012803687824493167869110474289688314160269160899294815602009474559265576388800396588508343824556903307289873792435274664160111857842076784345790889943351656136176552501863403383040388504021176250781736242621762861096654559315968729377186834787846040492413660484995942300847502026084967719179562950260992206582107621580447590215850674693962288008740061674021208045275903094858246530102997679392008154719344740561978845016743012511430986693821590630534502750279468715362010786031004118841884396430933321199102015242887606447776670839904355631938893498597917706015529975264690414894919327426268521000306690656599910104324568293216091661698867206003043517350637167497458102945182438713693998118974776102823406622011793404815572953297035383064912164409105138580488418342740758843933796695216023760020358711184850500686743476088892956803774608813420030693482771900540103902445966505017574419588189282654940327479355072729482759098782235247045619013497519732450295050377375196375407086590553506352749668948034952644634091612080435942300961211636010352503898851070919690074325121353559296824725200613643438293291068740344639671888354795688308606870227430098904909590829879728065096581923438768048419356074978412650325073084888408832827619902167321700033450853060810059030902923489267094285975076685071423803554628005697007936798983279404703393926397698300492869726278897279701451827004483813153931499982413771748053020761741050020202853463604822573800235176008714047791435498973315651942606511480503235179918346869137700720582687332394412368815283478997890189360519798109772805558090583755174503568126702733616197865198784608760609695155239321022937014338890753021949738393478906899650763695769968288522805065773801863446688705518508700760230556779448526055691017467839238863089933359496456578698225542616944395944459900083042736441005290937822637298092767044855137277850462786905476276183049358530119222169613036090022071046416409702488408707549505567827473619737305913457414699028140800048334157462143803321509200926348280830937510462157088680429425008966598301338383052043329920006068147913137049833569603509708201377266876873777004586295530967432314239228570020641522752169775519442880809509948173733427245486352445660211292942668872956145956003239149850490603596703048808160402630756929336817869297406116007848700552161547144763181400442849917150631807535589327707757010322375024030062323992752544379617883046947601462539055950469348684706534027079444071270033949076060122359315366330067220878599734456968731889154258178968004991414707604045037786700700652725765901979004623950558666598439608901982829016614125781104980747478065321090053227326209934286588009077886760976031330475760071910675225998461748843121406460115747903725409694996733714259981499754062992253425603539876556504540370739950948472664386672906213180341032592300969823071868392036765144219625407397129226444405963354532381605760562878028278973060941218902606573167691281530597153826547957004634307003963530036618756910084503998376308786066391028338393466827088802069923417813347864843163121392331829887260172903757153550538446021804908995994671702713759249392088067244853548605186503843479075988723757639912904140637876160550138780121591701098539675913301191798072051969370913281272734001201065847278930867959295457146153101989559402389326871355778355381695303858076003709097632048001981337224782904077930920806046215440003551876080034990197693027925574609979706772017369701377960977094842417049742692036681855330475705759866137072336717398590822395865009019551217226607649970677117112605008310836537016771664224684254804759965108001353240310099583750433445123090168601586151507424491623913605207951242860505485732436253585702225034496775022928285629876827298873806319400751351067005670257441297009515565812769422710443247025590011830972733038731267280726539440759158523365726561739751288614171192108899825450751464714638066907849676804800010572285057900539357393888685146722259099993840122656086083413558711158945670565680475693035703972670282580816577050356034502270516590470182525349556688456749331867314460755545945069707403392063364390360666927051010124359329709384916102755601377003541816911092133016598930670284372940898781039326203032009932187708222098899011004540549697830842226420950498434085016778937444240869173791673600052681800649488657350734405758997609763783377541392004250825676849853934373711211010278849419938344654326847629005816105664912527218430445326311012391907297777488386291712720031745529700995498315691742065407058132701097093895136507627515039045505550370725594688340840938613884566474206138951674097074837214830955778195538794272586117460248645986050213039560452028788625509707678178796094771870330567742977295400523392625710560929750064878855006481160907918016765831294323812150494232191910816969873646821508284108373025001085618141744260022928640952411856667990547693271098326104683957760042992440199513116049772054873902393024619250689098539471734303030479800918172682041906402640074515916494309176078034987193417001552216838230475991628236345961550858105299465905208536140028007862822903357349184208125771207145504898820370839187495704571170600223799040927933792246680093181530340044239203634726491590730678773258668069682510091247212408123419596065471656030664846050670680608271542931216870273114282389857662373248326600411736630702854485320904353290695670377400879688063953293662270835300094276193830539784260186023280160945084766810866757796849882151160934506531847022015693404304261939844170472651836750742903196563005873001726200145045467970484058626939401903187478917820061277515428581403359802742564687788660042394236698606477963018079695746901221285921952817029899338407265460870105714950434005705118822823883108968520742795971952946409828710281383253935967632992641690671176682988176720355640230557051631500602818295685095394517921344125160569594569390950090681324860521867397161072060249870242181545191205825784394794694578999098453532627894878252817398662253270096168766027872000977157241320884930509724132676089317785138462386686680570286480595877796360516670965894923977579750773675081801764370717027387375585299410622806851186410948650905541306195356086222991981377599046906430591732092538291940582057460693274290544037051337975009492604692710386417284688000314004474126984337701841840015653747054288175166626109340316608232130474937736193160697688629405094042586928159466741394091236703080808455356230170489739383769568947841028285049547870082021567044030724067159928863459981567309630928848626453596094801275290584284809608770060607132987160289026904195812415290080096006922521623614606548473514138791798857693065981055104799074249732241996988413850089978174051612098679977477804263567967608140245338325565086069339861908715134514014851693092099787639190402407300504873395340527005700027008576094752777231588626240747857019483090390723007106158187798623734072504878280388688613059346380772607908713643496728669350942955030843911106520794208170810458762189410404830154101932321393548194331586836992680811695353752589394859371293426759337479797777265746428612092885049559862540045137016167655039349686350095154789939139904171440401253084522740879608973651209310524321100645019286563690214352067059422837815330203081608738231955553946190360800696237824107386608370017354014405942724940448942065443293972628776528066348189638078272279160230988710671361084020451783781559293708847884774969617732608394779900972924180135592963039263872076068668420160590562520310508011408928312808040717571472073037217169270160489367116791811980824800245106328039836717510763020270006377762555231809516688314479969974011764863797208607125179970548760798450824537037703030121078091065670591093444823684532347255425995971721539241592235507551315089679027362588696009693788492093220036894152153555368991046466706250549726072207101134080338688987455735870207690376543327588976614316929921395757354383749978269160255555935455779836199062078469698091457260922616519593969466910971649802601024065840027310031103980027394637786801006794778854962659203782659785859272395571379447903048601621268765475755625330808349041377139313223002514932487385255205754090169702700904879737083270977434798658616063133513210689875778778722896328300114283515539876096986436854197475933649617334180889004403713638081303740920498364605015884383091583768480507493564090454472579038982459764610290279992682748067310503179444034294550758631280798628398400026503765740424289529583065331716883799864835883679014641884808210539876075068475148042991330358097279097676568859202079604503700396032527826690386763406671520035928012901594784698683943017935927695292392304477202908890970700829408760256644791383495506475856100400431064600040706085308955679701338905854794157499102173400248967076007655841155183750359255931959995203276704395940076600630818204293059795897589950959627670932727373459469363800124686496062373985899517465618010099098497419414923012325456757758101168538388796099138552043381511908789690994419954584982074521202647839296269568272970767076749359996272564576914708768558433966454874892037388126085076927540184210489561976819962997700684315121673350126307349756676180787821801545763950899143124518037537361965856235388096083350009440074689580512990081955538806804680391587385025980894306545433221894836342505468247291097032476440579464583812567544171033157064621289324600059549874714455132517810553949368787142960730591673308561639002964231700019153972841185309299405490398512329185426165207940116187015206144990439055023471108467787900512633458428280031213199547283492876921582853301209687896568876308015345940280225099055628077280156865311779000110599269061391684786930657340089269030731445040585275938226976381804411800051680304699116459802804095676807521436608629474837772597646032631506397393611090166414067438157777640908832889103710083340407254507005664890379510461330131996490085722749314718146557325910309763008021103758807968313265077868820884576325277800890890822986164000561960252856057458677466111619000190687495905109041178964860331241515297020528214969019096418757653741737733304549446972600073894246009382629563460960041251155050043209427527185316710965110955504581470800623859894091660781877958243025914676319210986102882815190760790022082009792050153025775578266227211717484382940054847338869956838526687862686341076479223000628608844050478867300001301851103183304958758171171658502777077216283599370006796830946109760743847682832358814390242938338922269083449100781379740258087061498046519174587207134151003204222745802745983398328817882766044643044025476787721197492067635496074983160749789357391144949499118902980122893918232900001600104435889903457244822120470488420689666656678685433820868249806100676046225589623079520745072672141542218251661543961360893601572323754170123472281033027409378380575500760310370804898349049065091039826983095469099978157107961476078777796864043880924200050624525361409597301576453612018272673100057155439435647995073664342764185012058622906942550267917099086589171758728760242669707504415053574670808582672029567980847786780888568989520210022774497316670778213022108928132025361549769660037681251772012066754611942738639421055098683981288769086048399743387434063538568056947759099792745743891661805999624205231965468008037905970713803104080697340746597218357916169560479446205770507329741385897186579825912720005424004655155887705435352450666696214911894839738449648088637896107252692793288040786036530992831413013338366940051326477266391390135338678990122463165308785303203604455292783052465571304221066028462184070324548597453518485662098811697687047947481101840485923963808566020756494834623585466803898244047640919919800539656760439506939707811005743498394552476150931961285567020014429563498216338092847604478619520947031276365296245147429322050918945310260316987141611096609003152803989575081767436974786075935936636118852282808100011694978020692559533585116468724656377427939145872697884003882520180562635086976352789935092809948913306097496592894474552471335661133492720668327795884885507508943516500250146600204985429463948674048621890252436025096042592670417021708650340974748248490676709088420685194005133964673590703940656610360196258174004694006204221646543716244862805605588286546215068700506471500520940226551169566030291834589697606905817927369807129934585968894396160496976300001202136108520801439908543763334464845027368814306368660386848491347295362889440463053398927790501709503493576950016376296389945199529206499905899240477941892344108396740843146684737003482695773205052805420441127767352499348279537156591094860769283792002436764499026502185589962254509841877904967407608267341426980859641688377927745148040190723403140036948365954405809489861937443035295559313710463205892307036948151815863484074980438688142803156773050810753833143224628056636104644099430004641321655707175035244757999856013630584347027578388132938478981260619857095064691398251110417508052660718374260092601870852826100296597013948513925032975186648587280023894810435957197283032117555393406559248307885063459422961082294489176592621409657970459025554615508020952479241140609490772089200910591785895513884020345547355078007898779906107771229878768799312876950521700764000290204435742709628266081801962475109500374837273561604803973566417489388655968194019887812100359400351931192006234707858885573708059318154981022077054057189903526427630064544577684516480623567551671035193015671493788636203030310053038290386996458221151565054089976930020438330612173972081083357909213933912400231308187609493360452857897403671428748417318615341236595088293694979085081771104707367340945370357680239043556305883768449845077916626275750861966084049348395410400791936433890839019002321181410217772709013677071698857631040562449108310709764530868650269723246470939455795367087212035157235579982160571918848008946303058320583807059996752958709718056296296165010168662544302976356946276470282930698862976446150102834440299020604469626280700906795555107659111652486509164020209010178463713970119332700560087945252890808326932119620033679279909776224559208955994548498961504400000097097094729299662223579488884736004501230175715249698289536414004835525196205438066862946690936169552509026785637989848851043816032860942778675508609046911620652594710466152053053117954771371346064887392393563701568531060389496254208456956070049247735150072203218192444306782887349782273004103555039089513482791790311693502717147799644798993527701839804681855395905637311245412611874019995441149007363940778085063417996901105783893054009655369950967403025820425277596908002790678745932081186418761870034581284440532502498338980692034300803846610729108848542084480300989209409174563375343943859244083565178231984818180435638432350298300707820714570124778100738740370260284869218695984514096423979301040709545835115860986964808216892916170101597200693099719137249705783394068852456274859202565331988476308149206902548461932476659145607057257359023643042366000111164930559507184194271041197320567893181582995353573088210294586301303370760482219700901878708030874768624633775815989869988053324549260243000391734992996848279297845590309606543571387603126866075536027968862781506557968040710767940070706005342105740412312999070080537183186741026947605123949379722855061019656731044677085724236793547820509096665893624952282410342451206610020094091060210237145280850894955542089926473709477633961860919353592118063418877398798089935151900872518826618163446590961719887128521600945869318758041012185188356180614106660058977508929773875417688308995005953175109821097040709581916881898019327193799290800983005005251163803324950787359955086395970530030011125390094390018478196786787850570741576180770468056838630119701169132860631648088033350651090740910779914654037470339416695933557813361819065213312376727625100421926534030288645826802708812257353001957039773047566410331320231020900853937003630010680518381016277206769417297167465557860304913502204620626639921286629093398012019864395642948297776538795154353847298666407754782060668655597749650378968635387952761171227890078582564773727090997230797039458017521560807829060126804430962145577190705698818804758796050806371610803793729253690987430982297508309070369785390201052989750105086462638113089955566553750845757565582805907011314007352602527138260332571831168733664052907276956309699581695800516214011516593550156457573250457603672874509952321269624578966531762251451067599369482589922525341266152053375107950004107280075307195400346028834697702884790670626609199751982541712335925021573693052254787202102026007293749117172696008678600571996770980384924679053783981483434609724719712589327781510944385849605739319345908877006150886066195780927548795062308570497987324075145294021458964047924326052396539048611066188338607791762228530403542818831587040459201424177914730031920688088022646153779593210084038648891842443537356040443037569697073540022826205565019409817253430084142000074033889565407120184985114969409699712933377130051428757506482073540734191538384006053878063789462118673273086291930250439054598810899453764990932754076440742546802006359704588500086972307681960142309432106484993090039396451148449692128885506995798804793601997086582490595143865401127860902980560468632313446864866899080908952190650194893300691060622388678236135728073140829064107408639349271888105040923437232809569416213363933403897061603208008770003436408787432806351707047732659311263357199551915796598050138880516798989920970607848567024740471341552216600660802270384793874604565407172561594886352031814660764938910094931222910934520539010899850463124802636409449156999210650645811868583617033913348767608348658440387355109614788380981675095546007850080007846028970800006824495659100684400673166204535086319337668086095436048758426808070648289327713403546261000300348966451195424125591789447623685470459416571202025254016357344531488783647315020367685360055364591270232753283176234720077769935940330874188167870072495372908147651270260624895782622745476539682264784007597275481355266142299062873551718050388820900789454081939507220580470841259622185031051099567410870888945422249301886476351776234304275807082420660610664131963553235946110200784599976705220921479158879886942776562638656659204875000951014928591048856755730400509506908273773440025719276251800761990069931338797294603060760464420063357793117083956336544790514778779092473634342026767914112122750737379240810931044951280069492183029795009438848849359771510644801959001782293884079385977619726920675431918871353726318067028073626893248893730346478107591465494961096409426823619606970079000119168614345203607038962106335610072228845058060261086165215307269969024644660190920149975392794305677419843408249743386068548637103076660866305075104003462508510965689265608200367829979534871980288103004914782974640393932309850157629428717666666737252958047707923067889379498738920474731168110162406168521080031286040963349415991041380864834574590179720086872604580003799645704792473433376753686054941297733250948200383205808991036702094484957596456667098660630859954969051367002094861516642596988907840302796530138450663993768373781276272275444996860158860566753761293505936626065881692283052507222072342028960813667230450978004521355608501896476079113790150801013800743954905740130734403079954123065328984107510027291090126316048665313090558477404394100091322314536061450177401917800026594758579948055045524250736415636540742819309168014845302798960860918625480682623997738338094932433405664850136685709701676006617355575517303769307798657002945463282855908797816467051625107586239950038842392035989400927380062416735217845734941055066422733660023006058039708501243388412034965206598259043604614019095957718586382042066395104869698448235017036717880834064320420815264907234082738516455067124564997259898197967119803648141079621767530290175483320585058405533187404609284005762969809118698200128767945799498213898058561543121509963880539120216933885370569266759621576670228024098468766393400490425022730606767043537638004906088296441770883629706670645280860898638391870093810292563199266050315715580153104467798311749828629447739355269519115658525014950740908369841880624825003255447272348769018307169210607816201261909026066181801897752241496087612054267961834143936917075638226989497760612191824500556624595653377555401069210010047940108949572353208152808361080609001730749939855750490203082739551774509270572867041920001154347927674203194075331006330568728208473068439056229979575046098077744753883463243563868383130536206613818298249294428470602010858947231262314735254694562019058906456045986413128100009234733272848300851992768386175729909991841319524979606605897062927918095307909917519150409140969420898880931968585658051590362328660306028897560490219368590956917609024622655451559686853423081660982556649552080074140201047708937219603055665020130937485800697588530289326851177400567379240494252073371736575857703050168365600728459099037512276811978302230106528699290688723699809146008733581497907367590896429001357879639413510990089660807175388606607427373944880402163304136097523477546095540295003053479616745644124361073027879609510743288283682133006372278457403507006715767102931760270817104724616279940522969284797101417218077501040959529979180560805454118889572040089857390060715558271801599479306938227453079491753809700541561084204072172994273140270715240022390847764340435469790429328535526795463187429987513970118143940742853780099356268619297436318782747665237307884674132886578104950035064232600730769220987027046000586967457478138185710723149802703510971721011535593305366175634743002275697804619202527576409250959165833052900381220080866121069655147528213005507372260964180867400957533166777467088107882544700019170374898089399499568006022205289333503097387336345471608644380118775002027755149658435001677482804238726080927089504272555350248673671790938344616660084968216066503640124090373644229149023213919630697722454884256789827122040023031981900083099700203698777025806925203364296729801026635871176501702708964770123005897903665798819374887754980414893952192299374228507981390789887967975390380313803904996704826883060103928405026449802502418649174137688613160851427855640935775060630079108917786054705589937184917528069087563201697764123799205158134550131269029373082442594504949039448032141846345088900434957924249765425014167719997935200579492034222307533909098057100596001333299913783771094896830928593128940771225228223807699925440609341490657288406208902290723940900328568840386034196101879680046767939178120459695780671698679030257302964358755378357000168887910893900407578322184785136958775944595603076018318884389700600586390030964698268613277177036222758151090198707990628639963931922692466108405409996297452886016709905950888524952460379862520608439954487365660256000215755528780986289435913890191818063005478610758604015489044918386304465760413086400349238634737848592643546139497492956905405237969012250805846924491959879281709107082794258500620052426055179608580180708110607737139559366354001071390549025104791304705092758000390416630867965970520396782795137411583036574539638251102817059456048876400818162835855956728573423071125857277586582303308095235372365650893024664053079725011895199704706254381995992008890564785328791021458707402986033780718789368076409984665541964822454870095644029270090264647111711765304396936350448230388526740322119648537499881546795603178648913079690490688653740105202256307395867607374001613045177239868529917792124756741329536493522777653206429639558078196693751310682740508911482470979427050235868261139133900476024079357908454029686628875481024000487356870677139511599090165632667835494324800898751703666914202370464861480761801984390212589695815356106948800983975788256213254318393532923623070821873989296377484966943564850419456823305511613722238818918961153267455773461600540378300827038853993043366142520030480279797154776719013272218634836066943865291932973352834801379580298500716936264660353954489973310104897939386335018558960487031012750506664745095394206654058046960568451950000200940770490805816131576943770690158857630393370028912029240868486150990543009974459032515554927591656056625047094707408544869385071964477903509037493750223618001890381884189304954622352334519599487702970167662097005622406187022830051399009499737380094399234322485608062003076956040480125568966939125241000505039957261112641700033856487388796193998180060863954655009634605796971747416335904537779152318519058408860035626182058666221452608068748057257820960001966574790306100149777217467820011407026287480794150007030869674979083788134544592964439424650153396018188429841370173649896079331909772492535030478352213253842000824711092609887738191937619562491182308696582111448578366508613787065458354232719718515508051191723747756937026598294103777204892813206002595993933126089148036803981209902518007290197400192107377999643851258303100497392465080467280005556583970000998330189143759684204739508423926608501987599972980025898397613361244336587529672133271959842424328650218096048204399835223282377389934074629596220054103462848063325571479694932236822570897521322748045868740715898573571339409883777740880222389449545560981662894368530802302056562110254557997702901091942305867709050508786132371913131195065447694410043556230735115535832849828487529909625136960101524446109400791501088004423622431607698002111796290123738401789202957972743115564765079836072090738504860315827212530343885509016789697961522977601880345021009312570724333665340243363202287707083553312832686057758358127369498496609745800557383499397131399024555221687110710948857686663010920765617532632126707704623908359304878717092997881318751075453249111490278446488097204217062399970310605177042050992075283149250796199349728699794519985743899896509030289830765995198221420258074041009010199107463937880730095941908603360030708149816060697187072099192018091352306618640097428722778808425906960552051897170919692708522851898703043452008076898277921824988338183150895338456949162508542695189147246505984666780719168620896836650734730479605232618013633203555925087804090990637339802083548252245990653893292899665858376951078019077531995585474695529530960020991420021358024829454657883028072491009668129600000389037834876125781150328048134639101540456637329676837432635244870587560926078671006924858135171576269635150789501379511873919076686840077321333033107020274307378091083940602892548269539366197793160904063747189519995128323215202097998820095686748025890472170921471874848849472678330333193467276834981366683948678939071855649693563413769749421400085014944809721760804058895036871831703456346905897122825030523192499971505403214504009254796680881326006633195320077558642097704750803533601602499546965449192445060131857204359068004062074482493630280986008717624768271336739904018623616086256229640595351639456764799150166677815059430930900930999084874480457727764191770318140520478506163534572750859628594303301960224563123498393158050526382758890788975790885208762000185056684085460526668883510306353090150581842871423520106843616980986537023515043418976547137334135706789951760971108379050278830504886068519932761699915583814554769389796572917453214882969311014108832087477639663112218657957948461587827331290060685032053572470938935570515817007992019990444039904381049818682997535708369888550621980010013901327993779023818556078824846367277790853336998030033259899198083148075220096712809128734307521081301704920491340170332553480137611464611779404150506117422670074753500196060208651967506537121577104225948091678037875358202658286349060948976765480090906887488994155428727732874198616900380274456052954357496359632601639900702916648411085256876920073529190625730712139327047875450819834862890800946050389646613287448960093040690768501084995066673130290409689026063059449582009026663902634750487394215835147040062819662886409141371006698531741853863612589579829644309892539064060446439072623971010255643677872958276490129240786304107890359174125568350787596087931362919910925098492760607193234691974497403618227200907944660771884762288741255280230517431231340050012457804079073609012635281285558088007169100908109687902560407553323810253733267714456805964844207102944004929386131484878393685976006117207250661182860486357641599248713091367251579903607941057693052640905727837308166900966870200967589133248972725989902297090406306977342602506688402145797963038784093692807102071209903516042159363016758796727250720850051628830997489308673287856079304258443475720915249300544815700685385106286981491033552905754246873970886671902622053483448910203948086108466096050620158562249038605702773329000474290076714447409419109046099753058844981931700107666039839596904900660406788325918094728804076004855639970902687028957028169903508236338200772565839063404321615366472140006840120155832669999362063966690231828967204801424453082853096441959186829535971506886741028010387230000271589252851846475284733730410423204047328404836965900776799709410005957032497070538310125230800608486464020150319535803946278003420060070944504996460019088976349385841120960845058860415342063248309825768358157066603098000570006506806144683709737696947918534261072048943056869004300118802241567015001154495191700061991949078804336429845583384594288012527092066571939521370946023015525117965232833366871620705087322846026603869225585934924988566762765015890905897266610914558045248799683297309282309009396946684333008118198666502131807692654917270892223963290063804421302135680197543259386925853776246208679803088933504587980760388102366212107894512918231651402069142506649602375481194662483619271605189201004058587640926505017495037287730392266754950339420989586825320170735454611357120690655446275673032997290606442854871930491153033280736896404390879547145860002100367417293385445593225975094079431912386794368898794175834652119813500914157843629426040194908051427053837820740055201049979337631670362900920799494761294676847778046420259097437021090506739726083070182703041372074398390038058606494446546129876002082508994103883380894895492096008286229012626209513128685402043023819548107073930586838892768924635913514161755508553745066088184676173163494687862730811151967955701140305467713082973887347469260649899210992967058251849700027285464637826189209632008418942970074600290100508273182826364556174056276171586179882143985957611662313094720409922901146587055779076951941108692066919849570704616405852565610040286241793169857368159205880897517494901497652391665077869070062086680376056028067460102846695437756193207388795830056097087062650675512297081309453905747369485596747712340254782521038701772244392757783853277724755337160247185328501807777547546198423970133613637829169960630468024780178990454880698881108526946621476957011020561301713166166807208988174347169052895830177346626339395140059172608889049852237061106734153648695893377196320825640880534139022051586093246433549004764340452439870260651590070216612028925225881748236022208230473970155702491187898776909136087511083862344901677177355568450839118770016441486800486614803942022873595966357378842890930002633138507009684951859155938869373403787162085308998021586793655720289085736758206691153792129426931860853651055352820054704700627674121435738700044036952232320827625346349069987119386517000071321058624709075474623809269602399427898007212024332760977737003932540475075340828590971873841750915343924123048322260328606123851337677080857518579301502561392458275110984663843859314947495577723970938954828258740848803599946018710369645755200959374395771750920532176325279650000028801911157140770367797961360860610482167878727863095177064096769752068374250430750164222752718750953491462649906154304198977789069979229910638394157758063180390758595702602341451113190034039135079369743595130234207373831707606003606399359102510860743073521857975665387548013442152308619105806078265966830382035991144031508529666305603953878077465592599294807364299081213351208838260675690197933262687334063202439545478924689865030250326370757009024986359057389319497670503380068001579066045053856506185295280316885806368530804739056263305764772814817750591020350893198305276229085297132064566610090182239866460109928349823828738255287877607915983848572550952426230750634319483323559081751403153126638454560111046220248791300592161308222508294772435559699856561037694081843305424008391602701702811220240820238342486007504008018079933860839905598558610102682086473344217482434542967169511379206931031981288281972096806109440132005935492508681302472802590625252846077708500310088002206749835709396588556008650903124368017265625959766150969027116679577779600583861735489444336119085228677950503769686662901813680070356444053394616420318627070534296470352626434415932585188289049430004990278003783713149984057370164050140282172802790072836175724026070052764737392381649405950339213482471382246868511514432367002996548402088283402016088310556006960007004930718357456459381653367381042954753054654063388953744954113139184660769462306298294562952369814804056670189493780904066267282845604015061658573689061734474933654505124308495825159436857388441714512696063466030350074400672261150334592282999357838013309792059798407065505761131804919051884067965898386193664445329068181491806506766244980006511532334866203393092350238140872652134512524904721535861836566056102951876007940627830277907743363113728588976061625475902340307381580871840518268877065183009301022908380873047515472715596970282615743336612505392542015590569633736392864685163621910580310917340074302285598799840784837717121167711400323020605074378325536889881230988544015946695861668443588102607058570881414417520849063479506118772264268354312600596923089020536608883002397571408267843722742412544391955809693710766576192999289435065746111156804348720885190453865748855703350913602077737073923147086010241525197666007687397334769810470572954953694887487656285628857471479712930194544990184990354243458815935133240088072203215818779060452944926246245515811020679284710979446124404271711788246650876433819726828864367363945434449634126893536860999002321833318886501243545930060270902830666092275948050170222273627727169399606289390588772677111600147933774053998419460964024976413945232541875624227462770097678678645283305116538049864799315655874828380148432856558864438804998166323970438176780058647400918658158701722279560974979541750986711978761684851330966150215103075501432958092801466420009430337750750895660577483374804084839568172756786766154134760334712399142210155428379524006038159966249203422460058977513019210960306030492908118166709595654524384579500099516741005293180224480564037277211884611507530365675770006078649080797703462370776897497556480202999003995140728791600394922141013906892632278856900577394448612170768146200382607619621553855563056176427695799849908955535036277346867239488815888978735163723282426165445407513861244906202776177338890515384255492072008508762426027591305997648725387519274831080200588428293408493721001020727530856739376560485404046005746975998544504572178869625188681520110061833177066938250935318350161036006855744343475625248489303756939029573366015324567275515048760076219980885420558509897627928078885418716869306117284496503438202724685084804424079659500526416093936991068887580110771180883782045032613320350907842602078525009029508003456884895346482719626643369356221093065797119414145330137877622140275380830946231234949841076410169830003933012722855243896906664570777629965625494377208502360600073013834225640130184290937042697416010445507999795692494650953080428458989375148059030772330804840831159602350996497792027399637852791626541046510429437574600019600008304991190469398134500335637524634381284050280801254286602322040534461766774421388753388947080005507510807673708857292862369098591300078295611613946904991812859498207051403712736800028229396498337902738798636581179000516169925586608508859456432408177408540571567085105249684134212884903436915503279377650438202419507070985942550607785985599001308092598665915509911952020869508949489158203107290242241659719909588950376760200051909889906697029810092951731020922095483466482327558928264671730836449091898012708976613722806515810060383743877836290031098148681091015400840981905773652052072884965877748290342202017071540856810710329144795578909300609345051988018775985555002860064561707395390040302116044216406818504899807582788600419805186808469009865606143211081311695880933101788023280127011440379775246997101672063170023059109270553313879970025887244075879424206222984471606055342218220322870525865719676772540169131017641182602397220753834778619324782011661432594600657848433355907753007331881495516857967393701394002701469047890272901876879050414111556694376300680875066803297284180089355159007894547630000708997237586095063289780874571548061507049404876846598375430381546173349094523975506307644257427555118070673599280041340818888458379788784046427913671475489124731433382316206220391596650190579255232042433034002122013159689110134889225079270242171911231903676153115700803079936008419227658783529362239402426904370028957538895537825827593151030700472631530980598160062632826853036428152274502475712000043894678871857461314335484241975560323968326690813163139186527106778583207134928779876186726200204991472065856051599793196407815919884620042432939119398864582402367881624002409160738720988761601251425473042133038845799531833457465921311705628914954772060107984417413495447331425099840073647377715582588040451249240353415155180375045251575657874130035156780036136065703072625274069406859066387979602241755760120353728244323352452781249339633523916704387455042742587091335114610818426058052165368035038571516006814325501658096038802097018941962930076008836010473050530261627167532792964750303503096204524500793954169506708808276649102971434589145030210273208109006033411120342109884448094213466150648357305913072026722580205317069689697977049916380786867695565285505260481191394840373360367056106870016561653216085909456913662779089035348714690391579385725258086743023800014467302162006005135624623580960164429182580425554000502294536014670808038917067537127693028822964958075583572839041300523060537567538458574067422349953401892692660649446866288690222155884026757710117057760617301898930171087077787697135890139175707850348288027143935385933001057317797501433776697156207045556854052729612461523708982860037048709913780043497300636988068664035874733747569785886207399651000645230703940873132850245328778420274429867088050814993280588680108119172105563962917136072229570656037842418890434396013865619540294820605609249208349835305203076714870787903000529660218639891630183155927215205408228216816935098089991675054018991074040729620086794088380938285953204505717214923704908481899564041019375801188820525689210200196414343984379973886970186095073806978793804848831517120126883968570490080704196721060323073575952872303273002953807784360691844268983990802505250288635789874690885889138450935463584229042610405026731380996229804929616694830614912357026088071190651191928919920386780160591062935291097843999090127097329017186706406490232739167977789525400780147038748951301547556299452242485366178076988039296656519452687525085883740299675307231863951720080168876918004999266230503739891506470855941964336484867945280854848737526622760044893062145498606701067490096325752460529029900093307179160714094608986194830293531063320929618743561919428248107646368929263873999291740089989014416988966082035470846485089947800581211926809436904552606840652753818597797673491449102626976472032154099873899841183814021457637391012028690058119677290614487281607652019847938671900758512313355177649066875088716747225412795041834195751202127259528284787200062801662330410329203906457295055598206567350377172384488725712202309553332803326835230310074263376070208260582929416712922455706507331108706280366952326034253874069327785367533347783696504359715885854351977051800055009028877649004281304814970142073478345610404024704495257910477905079159834149811131602310019411551400361723027809675489198230393584780693049049386611053592043160638710995257738524249770705894733695411610888913602180731400857066081016155481023380649964189744081740591404209970630822047690911977452560996709796980924870970786729802002277040669134603778156631609955798980903089352294197021502083171572406750409865701370785760725694266778701600640545630398665077996498289693985729464059243213799310710081851239514845966048146941363601159733131934423967277338739939950695376654090177408884178139462620077959523700926930209200391889016031789455248524092249202167163595803494317518610855850004600099324235900402349255206704687806158009723865999717302588042270700265338999622318189076571416003495916082786884126471536929420332488154866083444620332876384783294054819402367931029483789213027761517194317294688569049672599151118480153601060400463830857318154836350049858872536209135327827192918007040122559172701788746605905590383446060570465451461209459053645634561502539789153671970402665386182235970405748500680049558630250183540449852527489158480936550796126668109390202080580131828901546380105408090205065381784829290594377602405078015370368301600478203812494965847905996248240780660988840397341578086770954073742693005388550103050264254096303467839594589000065266916873511525959407381310409625850725372034038319991118288556009447139838642606027073212361112806592535079493130040274566339352147005618620631920264540980244584980261956107611442103723654267370616878195470445384650816704140754070697850411263270387889052966189103521971875057738082288725186061871349587517859143086740350675363166690218039766735016103578365408486395357811640269009720582535692879594113383205648223022124538382384002420289350187192732507869002476016661447941765777055071536898295766609383400093408307868325228020996956031180238615989946620900598630616103022919305194950765805009020380037703413445038690109847086985438541172800886030852858097503879282319400470597165104561927006922012692958769035957587454819036353462860971642640238177568057520881567749320537574200289259638464037604801484062176874457294257000874614941610336658608367647504600155384837249649068640073083096675801345508985296464599897687986748519605499775979732716869427388440047356673962794629900076594580304709206068170090497625080845428723124533496903791887277873281663255194918015243599304099506547036516518011246735722786478480180950952789482996539379746787042366334561391045707895101660031387379293036627228709885922201098534100060783749527049467789384002406859425134559923549182312965300703581415241208287964429663271674264289360343457228838506061599443832049062712819654982056380945627389870892461051889588077048975538938247046618952282294162417132381145972509001891380753433570474099417961406292940444317000913995960512098755578380202402048295279399719928001608196515518942569843671134377993918880638445216202422206101092529617720354688930741088425543700344025954090449054338522341020861200060154467816702677806262104000737685758955230026493049734559488116773942975401455594069406023956375275098600091712154038010590490369484532580348480030660459607455988457592240202596956082140406535525026850869833505424605397053360393629402552425751200110456506405678161418291620957623230342510503133735008439254541027427912048923110391798970207895028608178335285589909582143556794459227407527000701197907467255890192412118077578655478609683764161246078688153050174735120310093026780883700606565096176615585718002488378103681293397112560011952232441975075612211864200609135989096342047126044676736110092873967436585010463011353325958757111367257232347363948008105328951012501320509844384921882875993206872192972287677129963864959506768977222036085355051475712679790102901107234200942341161308698236470588577571842934576647588957727544857649313728748618210506288080182402011256066179172532832486325900723713696208790097306021119761014395502942389378064190148347106812794904533536634567980353674013102580995662500669480744475006087719280837825870249739334178085558770965322386568440586772049263099055246842765929596088453511256029936098970529670009528240891193335311966613260468297344818644436757370799207243098522076182026037260906190436356680873841105375388231851265432548256779057590105298371819856409107467309632716646857530709195910526187469914004018750075087662346371644249916150517458179832652602421980894062661370503692368990728852975420155318739262388299555173016776924318012591692010196518860480781285082013862168893360996038930975857815971661506482602925947377477068747875458839254021404023233892500383359763799206066149026785668679013784099258762739222240604510526515115587340909978577099150763526887100967242760104059194135460572805156290698181338390194929823705520691876651200155506694069797015772192582135172278350038394200597849427123287198483573692627723885731511717308380963330434050930419026247094477349828530740220908022279738309959865981683364729713389326708907038350995014763971270195050046607104163007115997953306033798889944242891758869409361885257025269850475890562700444000213829470892033950837554790114153997146587591503238888226548933617083425618135384053268498758438481567295414536662967390950448871689583182660436001676471041309060290530004406350862138832618448245339993218203088905260830323320778358928560008078807366082470504252209260162049230705787318890988778577310824732559709463333964703963610613067207571226407866072003174440913583306913057831497459033856727007080196258129423758959700478997821643231808033060735577824985653043912007974739000739375411120846460282990054724417614725762223847416098791599274392194978270698404962000737637605515746078010407542549486152776030766178667838410001934294494026630936282896609045681091379944304335450484204816246289164708618034085745822180928840766595209056534285488943700282450666369170159796046540420612216285928840353306493893160360568206941372808880840987488003750342036403497577944424206061463292711490289475638067268837130728213650010702861495114946687143171326081072625654908897193323102057662779582641888396590867975636880895166158867797840455004358695442257504234310612309023147286576633736539800348242902366431884466820936646938728937190102558527938089491040064773092348909970063910795454161693030591548005998632787856837699346009349916947849226030411828500317823932481264185065055702295187593442403032420688040352506662780145702505748290276124600732109697069233331460787603651326888367028099302798426351844069585685156600127066927965305285222440376200754553335988977643815141483994395296659907997373773411952131099902661179563421900961006091956722001400331047455461727115904249547776692099489209308986001188504649807284946813189829536728814361612346947029206680688337150860496850175659231731678801060481717500900074923216099254834625087194140165401014640006027591907374041947492158308789550071969868993442310025151399800092109030050102764251595921507360690669524925517850563039749736025173540219182617180421970389425839509021106330976478075631039500741103737825088705149630309323420962385506446940285705107579515821655361916165392389560819039345410020159214134088371848441008259111817157587184295039812043409652070720232509844090599632809639007623862642514065949378081003564726657977044883224375279598876262807053101078355995394697975695957097610726281645369558410774169671894067157215262448859326847553338421070649626106472994304452007544348339357936930525369934014922718018492364643593137839980319072752580498071196603601093206569800659002057586345927687717953351980135082856697313955009669900265652360120424974279910897611021998443574847040422101952879778004500404399442608715146654893105730195679436030301850854856949226300926421834560597099643500296516717073844601053412114023623993096336684290018982671411878103254033094984802536621387058424087195741536723919335541268720984924380715919962743400990495318274729978182969358730798306794625954377546284016839498348536507799276029919440064670862056812138196799721669954868901827471340809691138393044600056075437950275734099737802000309800477817972737128925201350844903448347383207020597598005104119280613771619101604007486850117589001078437826333060560868987375228925580188966473105676470020812568021164484161840168593649606344312539704273044045249840502342173905038257606507010706839656016500323507373806500926271137938849271472079159676757207607191548350489349390432004795049144715108491807243829781044146513811063996170342191545805437829119060882776440842907289269659884112089307696700291646510229701670723312049290290001077885227734967203184393040342250768001149778073598983039803020210638405587381658892756990660237788036165453873159402236985363723899452074130354885909543003834979016083812824843801628320153490333336615202920065900790508133194782648819058094358478949424478335245142939070364000265460387393720350509736047098842510280309941329718856495732935169833880859950654554716446051530480980752854138110564015044465488770463211110515255919282700257388252802416317330399878248126642061003587222808281039456473326873057264939027478749621877999912978100984857127625892508118109113928104974260238785152276831432990740478852669751620254688904115744782075474066420972257155756906080135995619587583097070210499723879524177701196705212986860136050594990450492124590620439155006319225857507494825685052371047773069552700962911144283147905429179492744783860368878868010825675034571868861736920422512451077820435766979893083940271115848337871927184887170085058800043788359301606490850840407190609986886156730119040963730220868202560297141447672203053285606064843176134327630952049545774098440691118979057059777743399448460007907031598586251527141652528721883012200273750335708416060289505051818995104484195397240521097221804269814323215979948707701860545198099677373082453946412879898517661370116908383739966031008465142669197080764997130107190012460900238437964408277314046002425514432161675101080836903807303179504703793849801415301840697114237595684533087036759069803563546001093016094448850694990113893672118916254323306776038113402359375039146378876325710916411152285038810077426081253785599773066809603001925640079834882491059810595248609339663600890750545679507157767381325668881064010646793726283501514072909905475804664453409009021624809414566106133007171567602899599785718437331022610677284440697504765062274489093786434287000106450700989960470976794175091639328636763600723099809979645088096342655968686324050005160204689839955008841705786018521000682932738753872132174979906408100269988419653612310886977527559386273481119208250996171197240501507016729290512982124900919966874315023236862551253080897091147115729143490205919481585027429000543714205817492333595464002768689183942071646190119103803705765202794239750103696006348369323894026331878928040024978690090780853838242949981339380040609404575591663979369863957744951890652318653786068559278308189636429260148687560529288392190350912510701232509208356103821689617586283759165969569045220479366800817068083220201462445723375162639623912337357406445792228189965768099220201297270300970270816087766067470818133406538065977003565869996104146284063027076606583640602778957001232630920998693898693540406998249747045026874622511048629677919505008956935748650942340461062864487718120263246923901810871300908109587733378596246605026031690954810782075551144996904205752795000840425185979754679309399609683339649798758618207766800224901744116688794957126708404235502125355004208077692175756227678208901463080827151345756271512138419671106010204564081839007921319001724906837532876773462775267900426491250050152663127740207748002003083840739780817534075644320115627298898765920529630508083062049159816075390073704270397058772664155373891601608242690439709242041109054765880846465916282330905640631914746598007010634932200942554938885300657453961342863648606265613181008805821688990906316559737160099644348046338303248264068965909888942856726969563846502847340997266181359947362263279261408419595280473700962679960157461046172780191068667877880409057495846076268742790970733834711022682000795285035766403472171307431286603789118951408704615400629200551796302868663479821291076785857113081642160039020904789320915837970291834329763007666900651044906371106105014066162420109707595039651703112431010626566744475003916140436652157403386368136425402426583083240516391201423660779183568807255279193039681023110117024106229304731775195835727792918107425551710226460095717024424956047720568324240272466946272848980020881695827778073915705040282048048477735049938635723615111413534440117035584986309211238499002981260023798421010361040006818771800945080800083662577058000051794712487648536339236514921630566615768708995000936800172374741778630375692905042620317947196018785765402494700680864167408075638847115790137095800852520739103443337460416528866635933916618157935055998077710005137905900824736472320508708919105205240072965924852534827716941901268930001513558909673030821789409600855193781993089859527476896806067422888371760200420870966374207242547037975937748567648044720804034858138593753551555009598504603011869009600762375084406912140456377872546803319110989523781201077950108640082514445672304192396600150188998900389569369033415817423358782066576927592199146636798130498114025230036019070107035714778410047307209296330290882110400989039106028332525557331770519730357849143795020737249974658912416719094774127840816443925993092290294805061665223246760221976665822023820092304271653039070807966570740961339653454277383050570667134378682168005038626039657867829135223059364230936981849841225469057105800710950950057230964565212928488068498005527939676006190308306518500832030713625074425252228789686626097030720184340477882630068795450964218692914384814918665050949553873267151068683748651959570596725514785797770085292934457122086396309602020940023623633231691290893561298094707250655845999040471173650471398570519778028765671127047319884055660696994630731289496181484708541475112085306754503923228652570196996335522856114065869643443873707714058009253060911900753937028906489535722485801957003589468797869448270013637545678698109886852522974927380698906493298061707701023995985359237250563235927284291895280221289324370857344780297915569649985864704860746880955197199900356094082451743365879136531396210960848593350353809431640003964772805233889097134434119001276862674096013635484463176140887200969723267245793019399879596689638225663732778361616548708458350380713093401344570377260274561042226806975792459078921703617562847668370590564760700000581578250511286773076239960005363852459695990745403714919301708033777046001948184466649222269790866350989934070019768000504095646832138236773672100159562844660718306637482882918000457297534007507920074213608503630420564594336898255017291009545608656483014911620080027779202560089208415828342059366894461112264200133999669183290607509030642237080550900738967688181402585918742499823985787479660787000966982241986338191458721801051893804961773457754109475529500117972277446347459768989054072964560256007751898710938879935948591851028055365302399809085776660061909015576037133440685070805226780363369893291100621328513000512482974660278025340045559482579544525769060075324072526682455226564282079177010167153349625370885906138307713368069659580946780292989874648237204800238487441007992747304757240017833283082714346004683605113747473790202421011093739175610014179853085858500126696803045970452969904506538492387058348725102880520096005804909192469028862896677454036478710257666254416106019595622708512945504695001292067631841976768843018821048530646606626483681034977062784684638307029668221393295199009502204791921128352695075452848371131109433804228215762170762018082030103628682047190138072374806501003261604454192980360415038026512413739989670768986043595605220774629934770036776557168745261802696980072245804424027668587650800285976662488962097604695417900701399771940932705082845040381270870775060501016708863442248908208312945437220811890029615757444199985387333898239620664884021058079550943506587085877960970106368479793009920702211675724557240210310434653405917032735934508084602734607540930670098616701909997955215166458007758607807511283078466388899219370655092771560469797992874042527109683032499801790265011342308564525274805827860675806875605404719139500625830129643827269530631726134509619931176608375042898680349974119561975604916926942017790274047389364875395804060078714273737559447408128046157309500578259604530514864187561868628457666686385073920538220721802291127296229806079992874702483507428770435946541309651814052207897088570523265184615696670027583049971355425317667993286480307667065943082917109944050893887409421038964886837126157296485402137584496337026477171934208408772604352948670047931950114600499269885501763464656903102169837316954000203865068701724442100074079628272754900914708902432998749586330862604027233608902479272035439978124551672964780420308076753941437460986846770500501497562802761496143691016557883608903304343001586957163869094014400906161589392035711853074975824417708322604417998066870419562200345406070427812693550320694552776402080999330502488692957629925871911002053897474057756283761928881495580834100663232687116734042270717654720096466342245679184069095503887150990158235113392013372643462880087708754600241702694118096188795713843378040686770669228726890844192613970477698233744912077881905622289265767050829198705675742100708201305228107355112302087397283779366798919055319523873574985390430524923897014882634330510383230391286305112046310511017810707569374846020993900517192070066325991637872390270821104689127180440110405235207892573356670456001315723015493763546613177178238984719630600691889200370884005999065047819121958701882266140308105546039056010321570492578484607208418679427546306103162750863118134010670945085063010309677645502534062907767165716505099987182221234648310087289808580035590452777099218580659061931872720866926866738449166431352669816038748456248485208332010105869120662287001648793106017682881093672235942158684950801866579835680804607476910904110298997299540834236621638947921095046607330660471408719491500096316415519977966400588730406892119416001808487617723867453502195378147306821186009886617959002036385900308078818164700132232380267645090177011699420659600660600948661034324215201015442588680899201514803550927253039330120956067539524248682918080130379470019754594692121095004077053046476584966095097080958715044092600089545404256527503803235862913450640000896039283621130486832980639304116115236646522947620765393030508477822029625031818930116672210526634840367733640982983019300478667401370098851407936674719823212737037094693054903340441297603980545645531350728087463062380832104001325635198174063220302651074281205499859334441830751200727673217592253573900692702669589041701986025112830278983218397680490260463965657201404525088543149458571233852875031680421120579916044234602305659090396517590458047811259665176720694776779043390679806674232309091156591006970287396951681557794527939549310465696795930953717502167443544133062725200202128200515101337600354945330800604924843619292607207480009500240333386452735102915073938807694252300076400161491921961709559200926562907337559109062501832017486195397526183356545191064380919324333910879582007634150411694059600656776300288527434740019131456503869529231910995128546603294380397955148798231828137060628573087224495172276714987290800834880020680308487698299641537522438087912917202593280091942238370361081706215072704006722444481987378929162522640451624086209386991882414080609939406643621100067303060468816147713505443076666481340472804670669472056262909550079917099495918888000520053090065771505350705847502270805796478919791597418110113961000566822866115317303911720406404077817095876626777057767189764963302383903351224224774489136774155094309111938346752242681230220070127568130583025396062808923466608028094452172122258204951277292311254989545228660001359189620305677627384477654190060104167231578326740236973136786945000355174074158600891204746792008441077085089407709285583447704664384000689043025513599046338795060694014252921707177009655878491858847719804708910758001285501645778352061087529476147180097483749092508740660908288511552395307211207027128567277081341006339061208688254855844895082415135522343888860623074708888337000788836074926430396678450167145146070540936179360609603911082604639656121749300028490074968893206422695298476030806900374634047000512705525925702194005524998870798044859815241099539838628532605667303203796565100784953029767080132000665764132607075858483875554766786989090678537678152107970828106525680102371506278478539196944497268369590756402408888890556679165632763090679504990764066917050740463362003279827509824101092874266673652640252653994122306397137601812167662699061314179082069929025337153851586022572309783775704137070759622870475614740685681770991119254200854725547749683396383004387681919300845175196549480672413362259617923870897461766808319181904320843470145105053184740216222175644805060136677030218460837878568180001264927052583826402274663983439739000300238231372460307070935655066579060997296057760337262267349449448986224971944518979208296254538094085340840240042230151011113047548231683761934551802064338553439025516123293455110283999807904496265905137924869775629882698866072825360320001544818745468749419332516040379685941337493183056541909913848876387806063393431905058095116525757729776032849958989631618093711934479328315373620082995186374106404178073262450681065028769855454815563008024087228053349184398300072180291009790022200530782430824503002567930893288374000228872297586340095174595952398344236698030922750436461454269360341398807399130325845868844787497900937986028884725466859137654706962375969705077586999212252608358706099667997375985093849985413710846942689340540580199795217016095756826138094959039668222644402139985158119320436801209680687087469687670849961498060506320086747051107811575573609341876783618500979821330130981768983095586291167185032725778324902340209961592505030200316308573338026094508094170359900605897640300620720833270704193480850001909720239669308597379009347724714188002346457484057691072387018629617560356110879859949977293594337262946234829301982921450279923626094688365653205365887694393212807464905670198647222360381381333001303746452448154786769430145433764824836731096478872017709475608091959829797568140708543922742035294025085240656034224087796013430800489709363091141206519198544310970566083475420582222310901943704048672611300460046462100507884093936280711228742074358464395175243121133034912845345070229579501248876055837344599300465396582262490090525814572078738303092822297607088080088093875598221792571084440002360842664478041499068385501853003898092950064225056866220790103845446590807571500441900130058228948216805974666114353841653641503842737960964713953803347459266560693134895854841040391478076947125635730037117692260306380984455170678378514088150934107969706618855778385530034124426037859287605641447994353649688925774530280155980583553604066400973346453568006450958841522198350408890001201718862639615666066329717969749601194130254890526023813879945911909302832704023347217023698245200705738771299494221886612677991361456714388697081945574893155394059221166979065956081204920403505330521009620851308591921790470509003596561352012728563399191381110444480939660978031090769051048865731062198434895777935055083409420969011789669943119375399785590569946218136108228727183700169680794655955628994274688266313990996341151333183205706726597866364376451750810020241807746835806197674371762466287840028328798081675421496956810760089159337390304780077375500993172475708738404598869595730889402723455800650965567353505092538565551846370488103338534096026840705740048978736282663535709904671985468002124214055198300325879320838525099596305274772963471577510156683278260076324674438380963939819465731805519600906173573236500072619385705491833448706529239805865358893218352190230868069988210971136609408107066150800512632617232204634442216180598048065530136905295332441886198707640780906323340541800091955300052914877045673042843779986184304410652807214559490263070868256826926036670907997203320909980891246157137086800793093016957661499886002416517955325034050628086254066917086341984750187384843709158019444073026707405781988003556731817972135016475584902593512278787910471703279573528166618890577278519958014420423089366714837299189682450427883934120594351996425488423597308001171859783500138074482397965382957781136030905048629077175909890583968115054275988281889429325492975587460096528549452835288655161980789400205085231184366764277035221117894524044000477405549368858304960400950653182642062455988001756184022157766751105348646006521110728042697759957621028248478582458758069210498784263373940234073978988392510107278649157011074341078708651238400613352383808037301739073935392235016202298635708872489699031972402308602645702488244358510628248507918611332707769820106617288494074675630132732477538683306809101027518020901652505284189035093010938335341279159210113630092817434113549404681810249389565865907684199443463617363867001008301193525899079760806476291155004967456755765936711593342111666292829089339360057115528004023924027084487659489176809083351200142473757266950690119490985010545317322679951800596627038394380766774917829402230798956576808219582717600776650525832804876071704123048607260156885326459232215355536400593598989653004109029527570881804681026708600713068937616594778275153842118263456721749268065905538186849083016932189948704274697082049096240105063010480655375040841817939067804338081270166080067703257425688453071493736075272689133882026383023677005012832227967595675978497923017230700480990327704758322258537690062556770869591139871085689080260809261948119350077844726727665609980091060601768890346088976296395952525957271433743943008273173410246209248288614001507357700704844845979928371775404046835351235878209643696590089688512058723505910461859173223893744790907380245717474808090594160758010004193161187297895560057175780743756864504256800592239305823958048459404874077332664389558129933885620341073288697400680924425133307059364888649092853723002569182995959680481877020731571938921619221297826968659636087992526865606100674950308854839577030258090026380899730774876984024959740049939454744641539300088199540304911190602293540487595588443398304901485185808931472080065773944350333932097085401191171907339539670016966930020300417595093322058090577339303451294975434266447722204197200878577613076517955145228520630904431962186120671823276260105618453306550674116764906094591092634655087940728169327500392962512553280283380581856299983678648071999539460382002369398170652615771847485132600906367738664239013844911510209754280216722195955551625751090749598393900152079083057837874182188314005364221239667097906445300140723791437858589926039313233625995509676412491231446557300834830148521784480750370074047708829625717285543860707515379880574376852823772375323418906392636200190764407530671087103073826829849363555605391715447180447339407085655939023194010870908428807006586136001046938726687874219868779633346498850834397842729366028744483006419541879504569278866032820535800069014058932460987015214192849983540743420390916106290688970344260998810238441028040070298810048315189445432520351457802469703473100752810208166303720170621373763228100057095920895560058742963698916786202489723954961604494197624459977118391666066756903207268283275721047886055276709098882024250036573157959194539300800707178745281632922213024101835792104309530722909090106091703214132032308436063049080207982175600564400911638638625782505909596944162056982398435343870493930262686700011772083104721958286193335017596705216251178545080579855308120368303395263630464783653068015036995555380048399847011413076121904049470379184713977884084090457660491711405568686980982588347162038030510000049800764039987689463859041384043663068536550511657026055087638137734999928674245970207068393865880436321249885104406562942221386132885510250035916630839970182095607225150054072109800596828274892836244025188242057902009058684368715130039681724059711979209923542230837948556534749081400476656096634250275904835320289490167802343431630443030887214980405842581533305595731884773108068197626201546553697605396047442792044221207889515156940731721753588819669042126960564531199330708301203557317058421800836745543838295738462907623508988375589073940902207594802868923882682418533503073610377989110500097300411265665992042914956015231213761293535296247676003540582341019400743807300990495752071852500953922549308706824180947330398752184709802494469050364865894181350049868698407792924037027498942938568429007489903392619988059792642673215117287387605741984531863635429292765105792296894709675106878946520828498420200902374002806894367885150353925539075380052854695066280325716804162218900184502071905639406880701903938418481935397365498316834354844940707802978588924740017428911265553617601146206240728449723793934045930163901092023187657960368897358897907407765748708433817703280947923769862393905037643797373760423445540990657960857424696021292013162960889253109120849030148491102707288985179607062558577323240744626515147743572338800428395342295069909932420890723234945098454220869602768965006840132996251457190295006776363723424190642024697400945086010885156502792699398323402855709893121407402706057471509706080707167081534812144976067135133001904057164495760281087969299090011298653529209566977524070700910145550093005518180554077086425455010825948501713262075160810324037333627004046528107276816660458719313766071731223701849902503644862089908308711384847729038949138480616004832240590039234608278105915102196850080872406188633827569803830342315173730044812681768800160762494422564878317709365469325045639332061614325568807846290842832035223839724877898096084411833179327843243360880150436840004636553747887809688336913496400994624466267344596372652692250850783025720000131397379929619413234765637972894808001866668527895966537412434875407830254327902457678243906042521787070238717403202530000018207916470335002381817093037608584528713719700315875129241904245349339246035028531542722868908959435520904436017992708018854244006282094565254729359077746960627977791960683802090819299013555216002977691554323834415809229785234315222162869304495454692300263058982337301751819490806500294420883064567053813963582077101483985903937795545615799361956806103157525431090553350806068289946383084456267269294702970294996741790437040782952298829249794697622978067419938855076781572378596222857897760883557941705853793426978106731501593570158760150006080860318040007519821901290107861213027308706191216726616056776366410805013672003119898905746741654005376735110367041562600375073939805058929518581232300595580118079995789525072540333941986534591290718900028604150255123922677780007366807480779632432040380090568560298808988152131211049127413559084571406217744054159940975106990298107053400334680790541344575631319630846232719112377384605401629749146603497007723464924178303432701994109273686209096979384016835718460655404392221334490175988204781428175962515854308265210620076764603017485089680503821802040080618005443870430040508997518096835680118595601865669055076530792250181736072277805804825422065880007108800665583981424108512332615945789518404708970739415258884318897270005382009582300784745875407912528708175972358719517909779054445545713370000849652016426071277650897707537645304620401515891644703563090998830096094586195087113895672804150828365424678098093729344369008708529695398747992001324618783087594714133920635455990818993750789704804680157300653455330622476022959052589080073507884351769966040779605058040353257036427090148190044900547044930191723700764042899986017394069780057977294468254500063800287194052508366331012369583984189724444659521241623200433136176108386612838307471119924025078606249464030888501716358727790161236583011780862062109963110836454870550530152105517326922401248505473640293822740106341441640904358729663815640423219898650249001809050281456409179260199122280670231830347783153345348750579558046203505670643318711189025841562693255550367740556164491952678080820268182219880538704579968092650832711419250486514740376208203410755976949236430095858232780000717248929120320341660844954680172818164128128175944650857877448575781976089932084760181489910619999177208039804643444619338970377223081845765316144867304088184079025808780268386589260274065057495619021086006115674396534025395444920430912756076179404966171985230782201947642724408670555721951003079308008710047375206633062246038228596010076887442207009275615860936877918643999882865077034380975109520165836648161578500933920968958548931755657800809384316808688858720495670626385430757385478009632340967906922485609681991876070608138051654347027720212649799572726865294261054647012989108784223134690142777357025711186805438449803995638963960068736670293777575687812074058001026806807853570629901625407426960399247261292530752961106676445120104859606493890334251982769166093719437946661291680847825345082045220408738120160310192809034371552952366026328164557097454881054310120767100290585282709193432077078532769475496252679070545687468933633680680799533949948629429851991674920655559556510388471090503484012372832843326333609065117342489276859598136078002922983765520868146141036190207208249094053306005493737000004712902128897378375963651506704075359052138797308621806395645503006036543323221293591645670477120428954751684710539388045001876468117045950724902015409240481883325473290738184154090788650643384481242720478581720439620072674920751870989778829419513185847151696965347119392027606678596018088934777026192063976760482416092561889649830110704053170542345175459003420839266439467379045379846035901681641875290946456063708583399418621779905200810420431197010829494014081838045716300798067681529845807010181563816664996833094233390650053975081753331168598864750253487098603807038969987089048216070850420769788235740708885585631292930966442970979083452216040022925879103660145540790708770828080748909336649243320416164649011211614620953248940165451677101918990994590491327065894914894019307002043928289372180048098505074890098007067148286924178990097804696125635806531637906604131630710389911090669111730738905684760489320902052019667389598345280666848151837584087677843055926915201428560975199049192309314671214148256792668875687200033027200760376508328754110133936491423332061613353391700013260049276670143949211604909573301086472548005659242146881616418612783012176973055489909602321996736417199536097200673845950341114057439026283059832016049086677038552760697793022896589268033440637953196938589084450950432355539747790971063902889059017098239537836468066489635607326622655276318865945708888154300805707670312560560689576720616222305505005720354309385898056580854269078137452014040626486798217864101072928210205519163434819097779562585837092126504012123974839227054468672980912698736051694038541694887774850076267759505538060137805001816211456610312427656505081999977971663363537045964400090583757981915310015301479001670010857044531609520440779793616678621034277179445771680265804274996906783053000587630143600203849860362000698820234030069992625623100482529045018207376542944088765829623864042013221379016426073618241812926931479498154221256715013613539770407418894624980062990028303818890342418950918493473487915781379557200060597910094475818721525404249182521913141225923156609906754038312050040322175898265800015045622484769218907287450367192978641101773696775495348780964517322074393048629377808441582084384979974392045093012755389605497048655601535463934423074302468160650327367220735290785122306536824386093032658853356824009041480797080611080223940661035073984120784789196589451135998202809824633647897815298417630966791669490116957909617695319102069325377765506570181477535444601708255591654246954169289568455059207917945096849585537495216188823251286241005533200510014890344934073371917259607899703043850702463927403674029310711691901760451757436738017804820342795100582054990400344463067333423993009228228367317363200902073176518989630304442055368059160476649546520469679199165809333785012888014108127522945762116669384056098700985236739262081163041338297079817382690505553155789755636219071065273980002933944382934705238105160680370333873000438813564401584064106818922094239960762459037939040743797999599670440079986120912688279857079338131317740234367500280280206550399571872087046080696398527293866101886959665782053988498799029985840332970628168344573814105851026689742075881086842011046602924001047062917750488608883040028410542089111692629167556969115029549895264431108328072244273782747401297038414680548232641425147223477730395672803659485977021992477323241065356380674314007075600658598163142601669605004060473666785017977760891213109631998059867010846560486217036871386063893430380806133267899960163485872998733577700203198912942811265779008059588153297009801604758401255352909485790128570292809853472948659551098077199700998218595355606899839858687934405053539807214027850938314099807585008993353963485837055130880723327056169995456402473484818669849979694816296754329654693325790517910672058350005083500662651669722483041960185114029046656521352750709308964351780661210581195772466910527641312158891841980147936705066582695055776240643091635325836424971034477992626356237740649028054806274462001371205939248982520728278722840780327333159051206391759880378008178065895001427906405734500027363775666216905108386820576275186284293714948800697316383090899449400086660881622033948665022786165183367942390702257592339161953993902956371587229505233269893323943048672096550728007535916096384233299873305338944166860970190033385104139705075099964110980565305434533900137505770034320719961995834275249821392045174378414690188790832115725840402416790223406976793530542690680206779184530624180085954025895726084782513368041550465682562441303773470673209005903479220547038013775229069796349217687408079247109183560378671917161945073857436249126093524770410832834394767975430228891308069559766597293505033862070000895657276725809933747636375489926553144686536866945387431050590292847381323275630925303879913440910036215199395874210250030158060074098569965761790990075930020954862516846879070610337724837525768145130038556752441870231030106567376265656830037759648320756068797718606876068255498070696099256126917693419930030805209175959610056452128520066807736164828046851691374124263720334829343905845487597540401349271918040546353655645614128433295719094734438452050006639941978183292391665200429430982014645719246543359504631075317988512251160388693726864430902733549079611874738089230338255602519737695548264187692662827948299883407352877978094858702042358976910981737244260144805185994020355596566411264624944539080977164875956764880627063924684049705195764702883686314500207139940300361032954086231359669007662912621949732782767813200895085433039676297079637171601242589683929752094825187259098591582307646069342101665719394794270434672590827607584746875851447891174085467370067765909004887185493015312085145947236621023071061307908727109055736710463845301572043035502002092740603080040446400593163396015064323200607688693076843950188621114904438006142490017798426707790358982062115020914670859029159000932907103008035966902522409256532990866618708765047386370792020504662037788015086839020048570632038288553119083719151525826437349045164835804973956289019564411051453915643795895008708574357202962816489589230407762697234509165920862335605197397885520184652501808777280461055085773398077885905318471723037000358481856007005002305811002009751329017493756374599348534608339020129970375977821701025199804856390095540083372088260158070137701790545838545709570989590507252945833888752685312499122677867291234042701137973717592640284253663718928208478942617855106747393466924734020195815087675753499374359714540877106090017374491765570975466914029418195026066811852058117202046393880200960990094579218155019311415180699409000409495587876740960910904914707641603595768822150032607763394450646098043180208036699849425963637284200329566075882835015068754900985596802639669207365526119941858005991377540954678709884951072420831241471888249434304511698918823900470342669390823408464096486841015446396380042080286400513508947007583097494825625850812854058361639582088147000973627918580105051565531302974250728702503901684309723671873698244216117880210708234520072703069445554223499020099902675508210940866604480953895720265306712699524185368825695211914650969800415569635690273800389692895084549475508552102951891370156502257090113759349228000598235843956357578935434088233500997407675218760148961561136707603936043776004636487650916725173940270278709284720662056422836037468477807606918361927779214337180755134728577840887902673536031289683144286217656812804582649502011488405325050040582659152630395296882091553721049955609934560164594866273587959138880623570819063947560600023668433469025113227281059316487931254149033142880950309002589288369027595610501984501443325137446545093648201326926524019516978049204315254584851269281183056108034726026507937773215711970300567219125371684810008734888833009134259080126818594163753430424326083800571952680063475005284185896809439087018947342366207440616020710724488898826049954810042090950316370042965070292099208915567482463758097506900821424750095646017766100288038365904916515972446316191557567018692804937685780938000367181003627564769163338250412505912105093314861618224535478666103662801491027194259422979981785038104295806095406775155756428170030954602782100770580179965625648221860552238794070737976525908001835512469350043542015198211939195909020479829019305730143714079052548493754125209968482303707707603881591063892937070237321614820472156070209254971540407789022990924616115505404265106564406270129126534646087503815080394278004047567595879884005121207654414424182936870957948065624004502467492803126937190450278882705152945310029900730589020062476883210215883500096490026097126468850847780807080387808501630693777311633907639000189132102340706944475850675758830445706727420190120980174182003611240050546697094121070750848238758934078457849638154566808771992839399711548421709776972867291020720049591379545833527054235014180996284556034661377035317346622243302400702136304314970476039222714732985706499216753041995045708887150020698459034778638364960507162806316609215109125879370826314150783958058148225071969691238074466201714053571963568304620405579764405306801378221773272354287400009915551728653873878991633481091436544945024540391684314017110178724317396800861306344413090091843663407305420033586326868506044443900744310440979745841596409218608204517730020302412958042222770407448809973554758076967888778015643561907374716646619332468373549607511274720355747686792974810039223973151036851200357802170525905233485804320803241226677626744859254930840900084693360457081800442038463813132657795498610306068805747808285307038426760654893710176275061719460063803996619765009708283068441933609371744292076259518042483776969381959062105449199173856722451297990900974422275481537303358675203190270314072423037080650320738882153062577842640578465768514084575070833046926187396858479094298794082560095390537343912152369849146785751224761432783046050362042218580596715559429300574284072794333300175292019372765379490542303000858049842142989420421968270976176428251766802184588499079567232332866076189036061634756007519744167887546742795953175356747716139670910080875550590949341077755568776608861347059635080409875859470600783000403137277752274062922067118701269176271344930615377880291402553060757321025082536446427549698765837583446838500701408293495310862722374019418823565030877471935109518836026402500980710073723602653103267799315008398996173798024069213920205517378496485671973090190157702166038693643263599112738607538200277491598978081639377274413356020708765637543020503696178201463570655620564759904375125328866638354667883389757618030448340564895573592698215039401048322526280592520798340567001741861630135949731207414100506530447523028127568443009490476027475735932785020179908019852279837987663822883998302726828818297205712340296582870905724796725923592837481148002569590339961068496643491986964641830505368151805248375747508924426973515018786633813910175507721994693547884591480865251929961300050090891530016971803890558227465623209332050514772330065118724290299477814953603397026013371879404803186170079706425978970967477646377934609684346871010816247867917949478701832108617295895348849669541510954401091446583884580095802329499484730537325806356013378081364277016393771980099002764980060098876285943939704764319999387484535560807789284723390700563073487735845961216404420975629354042054674023559130810472855668341758143714404531346675004025403705540229374013074035743772763929140663665915592392677203177068338860902413759189456017243578434396337378373178316817601530045549200985528077481354234256014599474926990783763466560996614925665408686083921029420098055817500082051022330274237702454537623619018240042186863283896845639258647098585482898190565900992255631620014294502922129225511102160350902937870520256672194733960279106421669910430882717078767397446538815072349766818010825309224870896001379674362214875938228850116918503939118195803534857792063100364349849406709583740496571951370487047629930254356839256624732025200894917669734703805900438634986090519140915705845950600637467012678836435856806827588418582320851388850893681789359933670433049837643015801203498735629000678756395651476291425730825799249334274388165052992507460028617085829559671243559344799813174496564490609019764278961863767107350601101086821830090753330604269867674072462436927141685700964831533445309365213750270169063603709070017318210520732596633184082560699157208468918485044734389729571006863676960012147705740566636090383389487034128707523046679290026123289080025769768750704051601467523786085474779097241805951402761194002180112078006080649134618041014502431504143690271742104727169111486768410011541935226974008504997655822051953451078274901186500698086830216513211681091766826202349788580971551584034914449058366327073094644804939084502317385890237199582798044190284774720449067865824922767407722416303427811903580560248665302563804025892784008039464396956240660888199775557205174492072449912760700944404484701584669850063072098425708016028804337314969013408002699908898208341326645417433398147000374899478900904079696174289454978001019988429067421760289963528962572244642360299928214573682987068077734089090000903054258284896538075706409902922717676810109610691064404805913432040764059519703074235856850904256987153546704999924384608012161427031211524737289970029311370323171131085110442505023056105201929560867736073346530010696916626609826901224302234636717010920990059212668943005281178425041190976762728001670113071054482788552001595449199217256450822284023251518333426292656406692421618695333755293972858264994200475500028279210330613286104770480845602225619455808902413819902704678724377709135828576518754210661304922033877311344627637096385130608658839097985980640485946237938224026031089309061874649375373533184457483207392022152663445233351720019919906078667708075053969895424937320925159392004203532004179049889375579353951245052973253422269648424682206095793641890835887074782579404323571417941003238730095681799834510001079000309634030420620667512691342177867860822500058413595091476384223914135667360291658606060866030013304359974004579148266765658008452265149920600398904570456936865475529290429168410871748278643750238136864214201743505604188150327475103386265498074898399815202886383957160060528488010579084123019776466549558439777375040931397390144830141504560000989099715749538780757048540748780999876883619822217170000557811602591572713915827306088039344677206599781087326184698410341811783450319332001004328420595153525699659800139707997041520604099489592567927894461464445759843754548690664336200921033348286120608455549966172300050061008041025502555448252606282639382725926071594172084373068616983976573380480478204330742849610268592048558640047233623360644919685203689543419122061010007804499523494848909411720641974532587999025841220173367151687232313736490780998020993051703000366717520132576578083028965079011001049480591122820709655180164491564433256525537524089885108968095825399955519560474141473750513936680177695097823117144086260533328008027055256354311994624708118155586005488990709191725054384358387439919357631222157819790063714470862687629800805426600234660027971056778961458443901603590066557509640808688850346800350346360828276968973870831566589284197780185667294240640289188785366086696971285553600551938729491520575589905618038890065311047696417542971414498138329526195036400380087905357104415523953593813287705420360031819848076819075906472355114412655577844436873997902908483030634929924409880321949325401068494152198063824668081709845297009495445198400863657682120092538193837685386605622300657049932981960099208341227967662886427365083661401895484980650744522645906908807596607906626788094402367553088212541411436955200744024470572444110151306563052368040846464350100589980536507766695112980260380246609301108236769517816502066394925087430858607202224567520436250254936810010098807408010546063200893732328214500720697340091796748483330060078904295931007360191730902636886410097904533082467808035190896382485273131610629592442107025705714109096930186049019055930421133615231186500419483973717359714495553061254533127879077433043330609117311484734791137557266606193284814800360348989771866688741104048169659816896796265724773278084294802454885176989560200504094496346892187523410868320008305669941644069529400982739971095954175496611466350514163365922157074939100264026281533176378082707141400151287607106987080742051939742191662345678950088155082179500538616475768328498339892970024310113246371642124286494942150115678406439999024061886358707339090122958262100018887163186707424630923316087396088173403506798687511385051626944291800724679737073691043425175509368312813812755528444248948218456812481839054914273325659815288226361109394210560383431658057574808399623480754825696830534208017433013725526468165583999084020045449664044901221640656237922448988900087032550906504537610409350575391935673128300390836995028869112868719307658513391422014426860481696653103632485259399552220877152003965288742987708549645437726789496977312829034822106718969594895010740143010400695301745623187582486804073771000809956584595905509666278335562492413015813354298580985932933050562730781400298444066907230708598335024041707361886161784829650520109839988542959990733026510096581746459719907918210469591120621300801183998531681550780443450078011855972068528594087824958282561024020046991001093569460991627990033500951855231505921080299801992625669618020604764524424744881977714060706363895887673203250089132005036743500642850484830619420611077328316668885974386065003911005194944527907760805659874090469868178031800993075042133559004744780081974120973824655874141576776239419072395193980343740633063171636495377660930582751543640737483066110623344000018271204272263663048740511681640462393587548026326813702432760046015755262946692505136391050014354605455170632609603154388988034874086722267204480858681005709878895769013563082008769087871698091384829108535701937068426844232914148452587027655833359436127094754822995601486932057834625070555595326078095487838994324203369144516550863233795002492565446013177804032009007250586778062130734966285970441669461488210707173201801856855821000823360295684686854844637230509746745353750652749040018606513164116619121999437164264419457554515935501746222863727076369670094043905074727503029600685428982010023099094721013152645547593938040756770940871197534499143739250466472084147555586075147027664476053036470968740633148122602885487003061800527310311100194646686566819117749690043108280295841648546664379801621260913027112273430309006597903198687615859842189694659750643286760175106090408536431690562142440804040023165104975659372002480454456299107624669231301834961462587027769771900800711285604083879942469976868603461788699247772621862009477747218545664739250218468680389545192970706723970689312376090057085053061097706645045612242506222969639040670481591512337112879986260439125600978356778591065005032734528961129165814107133767998935066928827591418507921587933216100863728900796750112404550648719262492741723879449630674795274219506371106481575940041090212647137893189448933511705933553754194150484092486294740785082133519135702613650549688744144133819558208543805881009214766102668154754646688021237872778814254349004665084855940025492721609600805032947993813699799151676613597931417649250920079900915789624585039678777102572003308955413882880950750073900814149859951493806704035088378248333450946823397978815749199871580914703798880451060876894040329396914873749208060815002524964182467155752310203001610512947049661327477113018984966892069869801021605023485035215875414244288578706466462007628474985408660151472317838773749123220891818820551936035358554574142086523306864654620039144980834946161429047717604827335817958707667495043726132941275253640577417626305293936033918955228523501358703706290838338853631486270126607093048817098485735881488514911041570513588725886908718367711850778918720342817039394686009396617742143257549910632719548575434813907636381300216451395652686227061702727221297085046400316080584351685088653385850088031981520084262721107058729238428513332391360832409417213942505048506034436309672919677728382072990135824008102098541890427450809770773426830611766440753945926227761605933008146035903750979021507136709616312059423079259408774591288140609306384772214021508033789980292469069400508690599824867005008555055495624262773406855500713370719678644030948017157772990727303970149332471629061933405914831534857218335000807463082098670064004617952121904907215711016330620064747005795266297583402088180182566004779670991168039001065022992801261738491903389431798216517260352049770685020053545092108957189792588359146217141128472131505091494420542407550434434734012529344229049039940654179620037210076815166340718820726010080076863085286274064122985332289348480686709146199061905113982069303987056116578588499425479050384048200399373950919906657851445899175474293969614474542769292183273450973229099800572195274840758603650224972460915625215638975428240171309027008906655970550836840576585494093130694793002067744505346062111645041657041192970886780245487387560111530053763891058099068451904892162468589156944598412041397986007930364059936277007177381419391064804087842018749570104950590737059004230315627652715348704548293258383071734610646276662681007373387816337159373157868225492540909483951991501747798958427214505057024806836304025823154990885307961768199565972872052340517343000465739770534729380416390699683117046156347088429018322188911672301022680700084447674293179645997286341470481207392530955405846366555124506199911325925143524860894294507705476883003293511091894720499005330150802751533266066340250717763566312189660906204960082078704388006137411606045369624614004035323293752468027701319582581605006600491867214059994328667023431922467498867388162218890019595340252108948905881952040714769034042791889589691973040884570355613098485889218807427751088000679349877490018264698154935820130184186810796023581675320895779801307665510492133984034643580144570269834583290073062953298877700987289770228804111740861999397750704869968039665952967488289496903451585015250958403557692662201720929030247924516911795605956133930856588288094913635990734904406634955791992752736320162594383504843980650928290171601688560110636396531406746865626103150644965368879487957078727096060930708147221789709287649857904505083040449390204219926140794800000293979973481604090789611441270095762917821893526219335038904298826105120305179197479907071606466550449206843418402091571461895387621057848318466955649067784308533099421969644428480687906550454461866029142158891946988881040488764094799545735036800431671682998183371155500370602098035976305537914011630601925401720822862842029652971840427101408050280145096287780218446565375009308286007836700074595604238775207047488479904693145844998890607492252969928838680606079772595190926541896593148542500106124408627459296233589942209235574476529877276674501168210407887629101971305096358825308049391411193684116697485154773936246302317117678043850475804036500302625826400894700586146329699847819840918743076857489832777383741011437891773129904923350536756023217684880934049931680609064234145472187628897660729464391169419658920922372007731361167882821865200816068865187540684608377219169849282090255010660804006471688025150179801056586332901013030982004082008083692357770228923027157326932778804461053670259124177083637519326560765839655930587354537232182552914825108078139568935145789437992588296474051360258613002267202657556045670173053843910580511096409237154803834213824274406168731326957802083631355305063347910758760970547417961679925214208940994031968742785593780835696906207081906531784590675016491021584508217994499269625474964692645062527320458741669549018695402624409310366174876320090475047432899856026924088980602182961038822381880818235054142638305593260525780852064747573354073397550256988213058080157477560178813939531378767328998938070808067480856446623600957249374380977804952486081661998372842232022294505774941530660401500014961301907093882734788289607172961183996266900090200260669765060203927520494272975686788710456834645952878428376527780612046928070314270196799029492743134101037312017450584380695030445385822463639216659040361054587943508202521575468089400943167651808492012981091099300087823128131900481750907256287857995743655002767405809810360605012703289371022809429862742090235074299137707877421600151937463396920737080950589417088810940200508186980788172083510106740033696600331097192965480190361090444342550700000790824340060392550222307458251628889029661230060260081551602655236960733477847310086848703021750271402598450811693089113068967806987550321577927351078107791364418008057508005703856058251219563079510402007504032164003725948099586044697634969051149647056066212440937511205131758788036065880205482808696100609040937966472488591683788428305546952462399198958383937982812948559174323802419840797895254060279937701935856073192160089344817240750874386040868294428025605552657065421071770728679820750509369458757250711210447898915667599606909276555408438190438162921020906001304344888375483050674831152772609840748765069496966173829430532371981951040747936241681852438580835904174496280370076512658176002568020803399864590955089458787560341738789989006071574464708437684165625753627288307866029597375184371868975915804958101125960233692553118003420588063762691530961408362029090729069397097007811994357159870090208261466579591931080616182231160553436908807980377947647471264204401951468804528856920092203656394994507509016039021759327216076709997046060879748195849173010522050562593624460141414690926970519452660236888908614375250555077878897147102199231326503249438460648507003699788078473706299552898817787793183734972562958272188751603035180099188700631256076521110829123058516853814269974867329287390092902268763201238662818308512007922553858712540762091207622813040943484367013612901711010184800414290581809181775852899523262397192418889582960380767435452092392495474683180798377321540626444450879292926866001596282655774633856054911866425760005294775665571098140353490639563315385003752416038589941530361362690856308574372600385800791838255075370459143573746144257835401620073773597736055233620429605836843187819497006990290846715785709455172848474824885791099804585013760059868131347514958588094837569858001114794068108927438460714680927068679608997653713109699100120723892655639010428188079172555995043946392294117249259622043487874836433390076239169911367720887409390443060563610517050599794008007045579225870992947717874968496901978920957528504960093328782793360058227695050205560740611974475946809501936224798934626668219169038024240446028605296081054409388907227387652907129352187883568718509808237485831310637881251342499894289572935559058096856806834989707912726470888020810726389977509934226205437044411531007612650990977157974941305078609463302682205086584117909730502473999656944752095715951538464726266779444326404979740576826858051139032632730000467892760087971074406867809276910416662717451283952556059325020672288921982014037639419506541369883585317771027148010123566706549894540873000950442845018358864042418153970560085078377284495507385307400198686520668039403768902508270898377780479938457689806579812133803847000333000221971116306775490470734709977570391001792218281390960517419432444050864498412263598001090979503000352606569472285123600813632676951540539774120185192305791017208132600647109919695414841715007122000129076758507192560026598147701605867693779656325370419866885817039996698144060842317555151088276906024387730358376817000997772148826777869445136009165619368261793334170086820899874769112949532531028938904784632326299020930865586814940662562465460922127252920822141173645050106847043344730525671034114505755796021826007550737000543807880696588057954736200045239610418825084589147903104484104473026971040041508370148329883266990567460827611856315637801700934578875318594300025944924358933156889249747070322025141116660256302003468672582910455519756384983570234203125130093342183364197959263130966760104700001135397211021710295076176994460387217650301993031118973154191831523227492518154050954214393302193768008192121755000610717406086967214480572559441343603998932673839402272957243579662816206519408895250783015854657707456941785386709221555253285834943887305638010145785704561681281022507027852167813482794707992303527023708508125114886370339908077391249759897807349188030398054819078978895044527800899706007780833599897674144631073728848971376392011361085425336082858938985698630661163816476659792974670783768041395867550269097158529924126195629393340841982027450465804467212509163387620768430013330799808102366076411438292421938467394470207868336456704312459543190994701800778878720206920085333613045653285840633514898230084750790684085958864569964130719811979371881004491032408457700793409827739403181778073885284299619212987727011758348004638851249403898523753043458472354507960494823289589275304498378469610643702105959221228794908134310130992858987034545502885364382318056552698383917301685164145570489875447877048065969580008897113649792417876655980901135471723534360194506713224852750086407949704106312350568245401576119546387926922195768400556786000046225954662283341507325832807999910923398056500511273031313250080167777731903067195541064358160623087408070525543887002859064022602500688823557924126998515882046786706018093618181976529360675309219377170672545274439927784042506948806767896763086962700997339858922962280869173502083584425314221035459896466802471009320597606028701398816028349929551653096220884253855803837327975954977257361773070490765648251120628807032618806051095187250362428875058740841605025052502590559077405304299758547723407698042339579905318427863101307001263423047701601610094729286458861793409115544155709649567390858703068360701950616492108941570561099840153509309000906468301031099834051924090338273538078160962703034423723068608156099397419428390982033013957787068594496406011080774040178958497501447409925009980485396273578793117674701080140621862392720298099871670978009899863533953858828507944606452078949638603582500278487043596742086802476786358092867637276805082560498803937097719491036968796755077168608905516642062480712159043119903093300496117599009361085058030055988192562507279053289931366326888098283309135188100767885376742149606079082407659131609999426618094160473976216861817000695611056986908375697744097650656137978416676873717562697126294421939095197097647456569658835087492608054010685176111602260762640962129299228302811167666389509380350522696814804961479002781997667871472899019034908813430838020039170840405003954260134939400110848350892334864442927934732404135850371149268835448362366167247447660100259389889627849704239031590003857675079487308204611841091202166674494372351683689900310961535679945596146034329947556974099140622700582690262240306698461968200620681001559430763245142076331838487679151853948018578360291175029372037270089392629172862079552281398104619119908995722298204243690871076092088725680581537968850468938076971000289521235511347153472901385773860474034040981583554920871152806711783784228321505117074814039639079884000648607330074360023501287980682110405225044237959540098159392778334870115407848509090557029098335479690345778723105086568006366969294845948361775298632023067876932613071542504809870238232109071098056379739010479790674647691201870371601491940639742009000397831774473569170134484542720874618695082840077320766606167942645514495166622983728630916507172605185153647881299799790987179137115871512696184222890166185200890759810086899722873689870580803778439275520830277092107165709690915074048538994164769756804499186863160941166170481925743312926372510674095372777078872902760206014718568620839218971599509404878703883736043094962569838722088808024200005919859264680232774863672794999832667738017202610952607561696144107905137309048398684632938899682375936877799009073384309050915009816980916533133601760681910638872011670221850834980708497310327699898160954880300404982047987646372700895080035515326068825670413039256382424219113139466112367308836421815665552778654907605740540872091491699957001685051558553731784013823494488829573130453325710639397043301337484216654028004266396548725702383850859895919334438838465347033205076641598035907784493721190082967501282082020546772301129092667768162565596279171936447790574580504033450132747709355062815194583182502061688807721464338120104349715930820052410877158266032984202600287900482835217513656991023353228723305941440608362628441553228590240856416950278252498017567319840348197418831920756679535367360748619857997068564939809816582288325001372311855609554758780006342869879810607060184236684186599661454609103202303224834930831435341791793515200641797039760905016795769034884860442828808028167019968203404593541773539198302777608947518000935543064058026857114927241030516110294732282349003300090869981421756219598921682895310665071018371329811985781853054301052950227688061077199136218040576211710415930804019037034807086868140087056807666932994647054497761030515401885428847382861663590617955837034038242114104788697663094686770654380318167903706422874719684373231109988560669027799709599077764723374973888746777611292135043061210712299092424896739261346005419005425473921890178090479763970221095697106170845550424726519896480419476191970078978616071089250178135077746435640381131379830105107450804026471290874175985975495877624568435098459624020600204277518897762940389350755825396151579723840293672480913808170910301560707709108074682224036460043300804066462623299206450797399995507562854168542780338320215461669554634893392408806328795746920496119951492880334078700768303982757605990202866498793948172677056920941200209870838390649101657906470898663681359908738670700112617910292170826256702194959492262619060215107748504432340250101505956229834618186318578492156875707611617159256479110266990896802838133019705353682839236662544575820007706644315447403632386229769235465226813917439257824204844715283547441160729605038899352920255020459048245651691722817898736069159120744965051077998521697388230490048603808620469530718679170015182535834250500186062228036237343155088008967728055197304078473256053181452020941705147282916764547547408334843773432134677098210996546668868858688391126664280593849194928847655698333852666559175695282245440041911956031040480021954558611453502341212103716589099579306942725605910996617319260980005610060399565332396395327117052948771037769679281025709298509179218312390021590947741086064398402820745273837482198262353711392877718782080473837500624777960900120578748606005600543983030726670473945808026216077694565526299040765683995175805357074362915062449973048234041895422983543101814402109990477513003102209847967666469974312074409800198616127298896731928690399509075493531188961062909540044381619300976410559108085109027331067770867155536792337106152020035900914649560284089129973786424909084860852501942257284011764344090928011575641165350490109670933479610147741579627875385459680764390824411083051132684243309460142337965098611978299283964339325539839368020936948392553261140180823578502749295064847809459323736906351398201296516530504150571033118269450429840558321206677743525818232462194368799883687923066450857957180570320520108360743519211600808194589302060652480301993068060597619899665486784408876152060036249332115994604001337640614905388407363088678683181354599394493887644442664730796660560498309948679418252597623850437007596150611709820356740405670917994126159185342938239026327931406583102370611820730761231263116185080866214375150805204577462481029164307234072249854099092818704610727624931109479990865495908612520736252840258935921481835080607715655134452239013708322059653637349246914073404443197614734906086839020069517631990094685871062128798598907424128552032302181507389457458803628860676946633714757591431716656309643078827318963683984495942925079392645951895172191073852023003047268047006449366161365798469377711969673706354658932780519074865734760060237328071775886479956820109790052600314612050596777298807408409801640891437475020417911706178794304803311925873161307526972275926456470155497261027130592903847241010912272149524345128499009936061042745850393068502587054711859282790065735037993209086969555191065135770260650710073227999656885010775605771638941304801972339239710031094977806487088073576098552078806586109686893459372548007836632410297802580499970350239619290579768163106709240580821451139426646578897141612645164218950643132908900958510403433008966140648207247103490180340502993116018684625023096936876086533416676146934539822646266327358300438390289559128432704745124706008698018679949157037573361026963107188942149880442003630740230347003819925366502084667553953694788232553946037434651675506394795416853253831709900559194577660808301572431033753338083203915069222740565353276737670631638651402333940779439059540297504008582900129031403636091512638594258385400049146879056620879023973413277127072050566140343630004494168289619986377306851909306210868609392909080709939984112591890107900571663491856147503177869601576363111108630411960300606033049052652666350594201023634458980998074595889694195918407887097876280391608861709691670265210852654430714643950041970347319063717070977138826478057821307874529128908539993740206607994749127447505075513115847043405055380750326660391204316150188807127210146445677406964792967331399310109420801491835711726030626167286805961570352223144907950905715943034280276880430472298530780768449900406480890475617275707792397999823960802911892739861757102165489588714054847395691705761963916140665206576757140565103569228208330389597989617019557745697368164579500959608101002932299758060226631950539641939408247711058556800730090021740868591037738144472287005650879949718290480809508222991079954300888629002986285562192960938862880884844610667940302531250772502787377046808917206653580737320186496438747316267892019114016804613082810587069097089812226787012132886440020392304893329001672270868379527593910802708967076993907019749072302717258366052744530778053146016330740481134809617441630787430030451202454583940504604824714403444309485166420089010083646007298142794189519123964672324998385542779075904096861897930145433141734750366230599920593522090602377894126049245250840676688984670589439409410918524290191149616024596767942551520056158298664041855844492965513113409062869647038425248979349445909874590083485070308707783814013121985957494550708565080543486086824568110646242050095927761133065761993003093105969165896714607220456700486723345021509805200183183819904948047355420845414977866905618742839504886654900550869898179930525702670772992931934674720193196203264149082156383602805008909670790015059510094391997780189401100567286604198807108632066781666703058430696578469439379081203676760889746168717399164865796167007477811256028003413361595947264507051667900962684847820975666975919946061043798105005009589011110193680184801331951274955781732005854086460296219921984435460827860006851753411840696714758347947666641794033531105916032933416660004291525670074911019758380994460895803313138690901362929756341296807269403857199785837710908789333375002680255734503272829039705153242288096690688402031023470454397910080634325270453445914617871300002576689824983696866990622940148082767004766565273390507876943569040002735192805865925950456840013001618537100072299550494571002432504665812130373446469400373977279039046773472443165969000107692540290503384565868089236303486531097624898318979105506304212092796354846256241567734473800363170895150650700167679160972751333064704042877627360118706504287363035716599011491732067062016556707432688252482262808968374853150392898276422109989788380329001724576301416561080030518593777236902003265709576922024541768267908883085927286966099917580061160684912072547138682580963705156750418393406701964252744687655362952661727304369206171545709139199167017332125046010969217296269192056368340693071674821758677206900448606021909845100370402097398328202702900510383897787398075140167167716956615385272934666040085610502812592906003632040263254944373856126166463079760369388412551814734950968723775040635538790708582381906007790598102889799620736968463125323284379002308507173767156451382789903016425162447213489774610809956077580920950081947498681931574916727242042661778099464865952061846301362559006153143570120281712985244624203253570010783292905857668584724213198891718847560232278855386387458411737504685963024128071839813146107637078763207970348982141684007435763787502026541986201128711093615575975908429436124259301260316368809942479650643764469526806948436836110006774508975288017384517470350640524357136943650610039900652032172114273094578308265914902117565074342835058244668763354901540139498206767997658893478709735402519309265475608111015329354804139291620704900506670927278070719666108794558512260050858387807609827584468391337303287707077507870890065589032865418724105002714057501203379996113009035566059680611798271440787616763579022733422057857673371957128072504616958269993510059636288952091659669904800669594137410646607612905906758974100859315360642047528450086157858404351874610739705596152282220295091492864947646908048757946663462777312483266037755096665526490307950319013997604208557773276591725503924258586921414314720742815164704601771409002061390635970260257006903959337080083638752568803984522130897650550067518374822047055142943460610238288003534270441513580736262927045381979606078296404572246379004651862273706827218450900234982301373767119717240142803549626575088875534880935092867939482520213278856484909504474871145207530158342631946230509545164937057058889287362132700865932869232102666635380107523899305534806583306165450808168641355600884320283860183539230266570961793735168651621900857079784210459658713446799303577897682979197261621885655460466048488600784010008499804723502808792123901680092402980295665450115107569931594816366856026853550280154427694987475215927043090282796463302394820738707974529826377757130853450905461881044658367626335233826717803320290912360386696248393196761345506482810676415980127044490241732084031089176910100082707609550897153008158088800520901816645689081092332045373292651784335888261475644405996516489721731780410636796909519636170649304692642609094171478752381070092640344989192706708894910989063208054028479876072395546886893461246134150865845604986400440895604242791871085063914893430999805231784494199881608024908392725826046171750800553771420086814863508305820347901038349995591569568899140143282748706379906316048192396140965009672520938515686410950004413063248156503410912891554200770101848508534365265767530154018766471388560149113240070657247854485082070045365952551610350120567134528076817760708499542136258825622890098019219597242788445689929008259564624057322210687019080601042106330626037225507188733835101761958086651020392636400137888574910116153246194534110263083954784656578470705050280655909046356975855123120120014568807614110675985681310501877647980990077195440507103704589859143206991377010094848715075518967620578079624558097975949040934187639973657091862307192710226203040076666036140005818026039903511650899462462752879055536474864003013076423002709004174491129047276004659063207586580995800580506692102964322394589041678807280292971007611062383300479959940014793926717278486813099101206020413958766909665163938371345818088169444472448409830023896830333775931985277950014747693505067502162250240340809495586161684001146956030584380773307518269943642169066248120443906085480342778904700679952105181503061992040344548070005200185447734372093428366301733208232305851730338606891791234642475110046947952733071512631283040401803150265673789921684459999501927572566047593138593617923900443200511988746774183269581960585263891930691000591019482442745905690380937235982859251099491137813609906814597727679731770105479273304089985524129170108151602702932595684102607985054030097855315201021316776400033247415564597070410196829433253903699151156380825106054371230660050758117225789456111406774885871048509100819077347797806752776670000308306272225053540201403926574054532200865108579414940080098152564432985306400963349118154240257436201247107923040163031859030406145067330149687009821296960113002423779985474796536467275475891857273034027210579177059738323321097817048188894663923909762744478750359585800396472265055858959732831034893419398057551280382806765438900091027812904833347059389178462546669420723105979600724776638180919407088214633337303032866759604202433978838348356397775572056610917768624447646670229927801479558003974190097386708590421906124274018600670243985071440340670900700814788877900801287399281648547414118707055245415441708421334054804444619081482314000803014737206419886414448880546884508358612909086926840271965057837107036120874646658446273457278410725896115916301985198927404862503003035566865916090060810089516820907047108328203599183176907320701008798782806099527769415082678627587981222640097385016059289310480038693034909133521562521668770127690131420067385584672948927297036969312894039054420364182056578377531853400641156000003440584354093817064610160299283890728929385477850650125871993475345508908814459443956924362397707459306639769195036966880271077861577068029121150638432034443330412104305628090664507801915491018479094277603934121348429941886657432066006030840459816004192322590018141843098442884163429315500770693034913665882110794154802148962333086227689355590003638081427364479003375636773529228590407694901090732097437944090775656750974436941162016578565310112942060970996036344838148748400180789606799474144137137831429274013580775016184997646332871178896694132365966045699640239242066176534208574980594082065081884081226057771010381912025669923577263575247300575919096075405993399598356878580307898416213538914716502962894554632211391555770451734550915762990554001812377623956638900240029407288435324863400031005347300142159345683535329099904387894760536180054911161797291097241636829204746355596283954656106166187315484928408287040825577061490818019518293402035710747082770007419072909027799705914845926427972884788196887796507920082983418889360099318917799324950325720822034356383180733342699705079962913012944224898401178999799138803761591598725596926971155959405563304556237637320086124498213876804572086467716908331253454846943597721005096906708879417103409594939478315059771688466056110846490249891071120609906904919288208181755768843273697538446838690957809609290311981621797209130755791679975309451183407683200573345721245914814724647588220821744477062584554958890662319703959106123088468388408812280993999509724156566932060067801154375106100154475018731034109002380063817904296707491402886335603396633307809491237196700130041927863703452306800775000752014872861177113797838578328796493907076746808878913207207920608699020162072282236692021184495054690022934307211484800030065595027980817531298360251602607284710015737993075927537078007585623604346979471775018497007297568776047519401133089062479407630485243498972813314325893972818820544750804014968140825442299406128798573832467804598983364352593042803185173495411082041354495023101226021307044934706665949894003937648190170456529579820016030261380128847000932280488876072542083646606804185979375600355926400825874257278385250673834548316129153587019982450197167880769859003827187503445060966942665583860921314119956064191078087925802002897879918116708507598698667690685508520308847905170825431607825016509010225108830237897016834861409909118118699125849584380072804263452683247003371713528740916754608700870955070419353695561464191912638126470876699503761919136200094646788906946531149702751376387038702090878805112150548724032263674686591949699140335961677304727480775890443429052849330032691784971356719080814132598192114082078705160466989007640117037218805315391336442364784683018093274669624476705394690099966653934157522046685272077253178736620562294411370053533296845157868853951251208031457382338062706320212824016869011958190607277289152293947070435915690862698803937024005967759150335160539642367636790378389657222585859914755732615888343887021177754851062102432040834686804803557086038630314240394826248041776402463062293564619664484510785263815973211021016082595566546992802325001142709571162129644060807361898809702546109026447937198357191320557887906462546162024009494682874844577040378944973392884060859809380454401475850966989260942878172040803492343803043580037023007154559752246678375343756699186055210580105070502195425567389296809397662195594356480567792853345178024732977409571174689073942630650931893805617449378757001406672510313070185226687491486149935206290872626740686762734807240840355102805838698005899123896053763833122657940058118640409760547705266894272138935258274900851103011557627388737363953719542699162259106118572009837128650672527969980128139932032357799085874617434275974706004315418698725780598457286003867342594250408130429685775735079905687779386907137748013261887660636459190051907729717988299141226901134588286884459446060321245761011096420086450481338326460278430177130003502414991168395509717543369489120076873898610660004326062416550036179309200036408241478239410728868557388438006580378720017353513073097005995975668012433699237107936946972068302011996085228297432985536981445038825016327848237779302547047699306230259013738229886544259773021984684096175823604966190743554122566336616919606661310958354806554886457245337604595731721152971573152962563489960635386848884675494768429299658539700900577227145592676986712308957199540424944864921050374997669254940340081413275959997788967535539812029159700733477208251217922106004315453314976991901089755410983512099539019185840826428193902008717340758952909040790519669391664008044808354807950835084246448161780913701730348272807782178924811311240441842076146387481317614545532136551098136729081250187068945347850452654640005084224717801749800333903429172019307789520082971339669801610047017222828406605811588143776683897561860743210360373342056659411814875609235402671696977030659366917129159040248455379538086663573385503031857060433223852721906254054418136637573007831770914956396206304945985520974776030699216885881855561509121505085777148693826950611837055511775231409481416391062202156773078751120566907265404927338678247739302489467043403030085176295938438362371795723666404544916397003468795994420307804900422968124002654674403600701815693530969875843051934139602584884274187160441396021410560947599671855049690205134208525642494094970484250886684817925080445423486022494592118639945580070784594430419976379354177804403166630559485679028146316852686088403200454522748130842138251531326383715540543417101228571931551134329617324551705763706857076240706788839405150800282369643475479986153585964579552596768253774911008592501228845836016242126590092085605414112585292360737508140166465358020999475810320316868958692041396386196163437086686997973782338570077133899240649964960663840384610930238001995079082648407792245062820283071560356470700616313215505345275354202001958988053148370488772778801337071480667069035502464940997343931778538360982007377484389830599843709738084003280068862286357200770279110914005410091647861732325907888064685481615338334332017003022365840880586366740994817909349507088941011126848040064201468975547302640149524057630450727540608441005350076586148850610263394684892180170557454982305824098927079111052000002956274618592103770613507958811080534769621376357108596241958397205652687234467530996508182293690338618238818095404850703755754741515316410198724018182228891459430367556779093859854996710787256969959734949881798880857000336045910515506512575402963664342348365749800674028238295749090334794448950829424292106794609612333120512217283353775504037639230085052397048805906127862688776425096743218257793785454412462355905460283410479672702407947420881187649971969272166383037538568808260531163711810557368901086528520654971308220506290475104273013403027328517836417638919803082349095694572014396868927131939066245015283871733987777020800247716570045033652891517945829710888069659909266221560817014484120105488250311601886438783303141349738910017600157022308734109379796749360646978518699921764582605792762993054960153017529020674470140297111472004100815715903108600192868460171604153178600730777645000892084881626114535490393902923572070276418072637920236672547511879168307539300747810168580437154579550382208519115971950039668914107060301867771643430311554354388819098807060527186547906371558106641059898230603500978177806506070083699975079908190603111372628214932712784039385450723213149731947907663080864808018522983614970922247380100993002117654354537405054318668156561967510890461971951044264330555088866785901910527025859090678919066845353210277550773392082211281504103127080312574973773433682721414843650430496184066479793158380618921051783979703275467279334094586396736888049685124815519320822196005564028239900763671002224483316917404107599801986521890233763492200083599847500960000327198114238819532050643923685413069083351227501925800939354080049395663900871636474410888299540626927015823767497790158914636357514074607636319280894414500112539382856054928057392870904507995512778804090974715526420009398016463765711707996587085520472701695948438287851497002436784160331476679762701452363068891906977380772369676809957191054262955275283051657221687800808099526760001183659944147088507775860539912484625051607074332942723014076193850608457926130927331741693947442803605065992534550558630831641480880116620686000258129993711477628056091808294393896006301131897955070777362130248751824520946931844919730973146102620321834539300047013904122614611551235486334786314417051882140410978891455945979662774000188708569234965873099630062260252941488910858867659920027847799370577434470960358260075758908096689620878476269989587072107570021823417014857832485525056787880509777723524967163797719265412696478327644365217261529854537518793265205805739047601010914261158488595988563648651928300743896520931865113938987927077005454989070405903895655619331530586778537430532826709217407411603099641760418944276594836633022017870383800412702672854506319015079098788370707163572080666442788819710005464808757730515875345198202216419352039946349570887153870567029402068373520903142144547778769916052940625357557626942357299553700282015721081081889417100992053033712700890694699648718725428316959344040757677711703960228703741570357382626365502699419219174994754538546507917489026360312259172660524008557975258000909364084877449006436971136380462248087901120009728309753881295866033779606615059579720520377908723718846161008330651178612551135102102308546622170635604592412344432816997626824105744200954971153908575365003319601876274094275944594975251727249976783355204413178895200775290471262917417161318763547490205784049807106064416822563823999051269099171939320597885530458125073339956595169144743513267490256817704569636944109108691757354007004069691040140827039229536335208920419245354309980708170669004339549937692168737755207030965998916198649973820396218488470344015876225798414090586574090500880173062944009861390496708962757881031499138835705523830298309973103164710570037810596037240070933709869809405045322574395942886494813063646574533884888505646098110013380903827277095297658276981432975702180186849267873371087755223115407540059949850280310207985144386756853619563505439548068865031022227951025913401001926045086701091018640306806004265680800420190597498401653129181709640098751620346050975397478646277525658086640507593970440566655397580338807355413483209678133966010768200046426986507110054258199258831567309407031803997606443597509300203787416382376800334150192890713777762514000964164316582438989513016044453250684700694401623215250082464873118119278533335097948846994253042117647907200024895388426550299766337902278779121434606455217493901770611597575954929808696363396520230318325987100289741716061206507388864635357049728002256798979720621620076657287928727780418150866950604661359144730116229094344816810041540627019003856690338596903373012010317646124810033630504253823620869062644540660968033663679805621064478934669325155226064268525535360387845800883033810091021887449667445019630745170709573067032659319067527048945519498166204765754249701020842619408312430400589074017301000989171264303313119677507662651629153449049908947025921825105641338605990848491648293453998693117727095509982706808690276706350342308960137490010406068040730045136123703722061481949304564850789880003032323006593591711386082091029000107063544268561698189414244851699071873033576953905114508030406075931918465776675270056577210128849097177930123916299457588483168325321102295997310500199703358243323301012264203883021600954523935893339118950275938491138607905912724223756863501893086034821066594611609155728410056154356004472007175208746054566991338836640107240590883371323594980165411952760559056797604423797470301307345120427969033813045224506953828340119596202811640356167576269644245592415980643280954498752448052662889158101378205925502418362026658487501857393006483271790213791426728040989828380057322407397040873822098452704609861985129044237949478096149432015508840631188207752298609318335538054266364651599363055165376181890118429535086342041237053829150438253266594820877420857420949886271280452169241401038922273999500629666682804022196390987464030071598413772640799507218308073080022024472402193258129651882835417597507777794099239871268169100599400851529870348848611108430924009086412658090414946964555711505968539819735020016284373561697172530648365019060230082783429573837578770988781669301494102281089499689114219601926405897033669508951009900310500420076832227037748617335388730696955966890526045047015919646428106817585800298567026077370540435908740870203001072365784175037105780610678370723072232376880850364347957053525644543302201005843505330241028034479752707944368552505832516835504429993515502260337166056026508807669421500201239057235115710103036959708009565763077990549902888919901284016066941063117689231750990491223648261757346059820180313810698942978740202577031473233924206132700755941601714083419126712088881802962065908541049129824388091107376966252521762748156086825356506952436698037097092014154241897287897841787200610877114589917150416079810976273107496622394339250391467530068180736420741457633462620001940746561824985397493555430720390952459668613387620698300706140062657467758777823387472722581983083092066666747129008615095126136308046630959435534261880262871216388920198506009670453506068166129889945481160756015181612652909591095015967314876276007958051792018463956524970080830137445020037269607610085662244853173156419394420501021797576854076100458864787922702657975576326929300277445350661932048144277488750928160159797380948010562027961940856059792486719532205657508960140781445862692531433982893527532525908620773535320971713013470260040634092286028642574053031926570882623688719863110504226280076078569650062828945282912703103626089846570310789651093206792452980272679289503223102148982695597290140137377962321000212297212731904673216478356764952473203562731063534249500654527193731391228071813588062608016628836868644809591965407067609564422409780300665024059059935780046205060519728014419565009376735705629900234274908550222344571351621089485605780408360382718269040891981123188663062254788183185862313039442235815277010213683738060723215740024685684045107747916000734156654155150964198972648754892548537323989963363599069404943076913459089063328875082007695852885406004787906506729601593086090160809923451207579772809958210036308389625007763731308267050500340080496804212712037170352429446090790000218862049914066638294364898031862165332444912186623052069393184788899994078025432203860726770901121724149066711064786209664240711944711769624355010931355405622743915636609478710090310449814004276926589960142788175045938397043098869791033319851937910545059956170855920800670996904512262707737200485800820833034961458968237450230910415977352694191174300687991021019028114975568741234110764313949688008748390445001258680567659984549312880621024074819960048787569547589786151963301341666304769202381911694372159282370711998388011189472779986960831660466135717799353681592817044832338562136344544078044321000134251697711638585096764638881475539830981909246053199407852057038697642147045981489723553488738098047935307963744130076605771970656867120482752477010938869066609227825106638327952328889696601131358723607288581204330548739453904665875690914873045479818433607679973539804102979930076704849908781710626401824710846546358139054560784427477767701163299391530707355895144489604173890894482841338388851497008814209596689495765495810769208233365782516436798104673477211094680983720329035835519226400260910074853586622682559193420314841008081057016878384091682608974576400745756418881638844968859884902009200925459019895070428041405840181059804879027373303588730337177814063159371534765455709072010916681801760968683763490703354388314737494247056676809893511310458137516801064358906302374178801716828372353092007578273106650160556228061765664079706993988706481326954929807766372070959065012428003202505400422683120233458679504320418317058915299869050447930050607087007249924505729389503268368063768236717237077548534832465051167997480202860139602334165714820205552885809101496409339011529208369540744618435920949107351304806953080525627637360645482555703726202885780732837025679541991959006713249166479064009753041078905864508506881142502987384087481099650789240928494927290465934874473801388366771966213367955122325226396603562987177977812720747624909486497744929111699584204435644386396459299479735451098336946754882780314030665776864149968500627188991852068289708219737409827830722585925732962905260455931749537294240356638486475797945580827674981051237713208407970153112861620172630927595850048111509905330987629510750734726195346380231825962537903100732805520770847486710210061043315648060793909000144788743392001884562466060358143259939465644129376188487724256778108994559725606018649933545593758307034398042437944959257075708736824404880757936162740223377801614415181389191060974464954062901333402966227829331435501956755772235495421871185150809815840987272146065447313212493298519964784328305731698471851802583381318617775747035684073651491060669049398812330198344802781603000159736270197408371361194592239690301372104976216821819500960602372007432568086030450032828672109678880599713207300123458604966392447639586088856907794746010453692904226705345039713196763344061979239176572278704029614538006273508730451973853554446939909559210467747918131125095916807474101543340005403329684883340160584656096852093695514905278597722130210765299600778551506515133517209800421497900496361646340031326122076355833168257528990974867784697142500625623718923636474063839179207283405774346011898810486107802179582063284542816019686903830118424219579024935262359273633270696831836050502983513082180488434948110093558172115685401628051257462600024520908455537433821717399869274463924227128678055863151567704033642748228825242399110240018829950780302156727568204536517723287655990769355323917230960343932621545819819885933807372422473546274426368719985684005997032893971274794477669309896032081920789189119827316662231750690174585449799380554488398160527762721490080487665507110885122817808617138523166382189188777787218833149442618035897515785956302726823403313479687352389407572388809163350449506778465765262381226505714820810391916893185082309121655809624148641589814909655099186039160517156430986457068467286905328600902427167345286873685695873185856969850685816183007124052729224227310894485559804525061383481922225265846133151215401844944697764402892089214542201210016613646988821245038592512187747491198339227058106761565211219928602153362712987417915815909818900387202299005987370805834051842029078794646773090654101971045752132828752737708624599387793812484601216781864890310929338698847510692306729566090619837250656796050370166920155366265848590445456160674566635008204286388614731531865830791840059321998506646859661015202571003086478916164239789966787020770022138311166180530089404319427930168106520094088871756035692438832562249741619355985015623764980805148512248577362131207978955381913468460446806558610010475905585018888567884209316315746267722009456787784130059329136008512440806343038906638040032809836723151511848736683965059992548486664745469258771174029608510572569076150432083598803777188982977315620799630185558187989617386823100687243868786320405986061978607670208100027890259921238933918864301828562944806953689065490182694990701040858984352542440646048765666638308256016036733590230760410945396213471303400261725340364905749857701145061763034921900894328165177933915344987274266350867009637632987813212011952298595548189867301688528517022905115927672706197204937516093381093004884326227180652190150552962499010274039006884170074557540001154469500081280831237806528739701890323632030303679240628876197210841380492903166072131629779801008033979095457700547081409469387601528087784453136740620737225003294283870169366170400939592185506776978584520859944984760966382205398976057676419730660860558741719329785054744377799702433660703447237231706514615816533680403460950958077764481879562749492124362128883002276037680384605219130027272232702787580603263740620728091034745994424414581100672969539384820267765815285807533070606151870194837570680944995290169798787144644746126465134925425299499094915926763896711000945107652310920045796076087207102368490676250629080230642193106010605975316087622805857601266287997555908306022668024894985901322680884376470415774400728163255542366747036676201218605896535868570075089335939695659069815032425144821455506358727196589301772971476368527056235268906681029311332648429897289298460775300053143601908470328554347957326868237605707338760859002465946720662199978001525930652180617048188559078320852825733499552944028400853318853503914047464181607748812020536231005689003594158438484642659485526750804715790840530458972061045074075749716355060298681647349877691500231996290537166906689001684521447567395039328439612741219027630190731778002772799485389706887434381016346576664099688478939548171074599288992843003002651362439719578647753562879743870483634400031982371062156081548570080200535420139509342052184043600080806946846851095470058793235909204687025801797887894452260850340909670503974887955785514366304803600417436290006317497712300271850372027374900111508695830150456088454540438189780710549519056339863604766156076977271137746038443056908589970679008726459489913454743170838497179195134488557930010997688532117801960302898235810063813952008607213294182680287673120309269121145900525322152530436520772120855222284402333609509270289363159378901945681707986023021500299610988106306755031483600020194014332763248796483495709431990048023205536074552024660962701586197797530810876145039854924888004581496384323811769846201789857967130016976294525821150698414765500984013964236983699620391284577682938942996136926900419964278564460022071848548673169441578669141905892778688175519490174894113152008960601455762156707902722328290690452703299498655184920755800061146006175978745539900354324964994984774860068759800743146051586574585507215356706265036206354484699787399821205227219007842341431475981752379966351262873986110305817700480108541403856208762256579808429774083688218898590020556824203792020262600179789862724754070879499786981838445311779305411758886919870336005627703959444581700906077441438215653621002372983898324261605988398111830028902943610910745753451892736815228777285040799849092810027962193421785504260168020204397408125957877048118752932617491600604784759253907059944606796627082902954632147988230049183832094280993764437760401703995783160886712869032289067176201606365196782631211906195145020810086823655242627061637719833333274056405320280186289043692754377992076862389704371986080192536591387016431062096088046352390540192942783695290605567786703804983512508474079149485200805765205499822978672100888100071503780507384390917770897336867320556231181715328569434050428262438370044708627634122576270038291915469435868107185702085457041161032156802569409394881640480138250477809745361056447281656985274200248055149171305993230262700264710202778409962937806060404831295060694077935256078213359506752101467970658362718245742859129505770231653866960300163064210990950369452819725015055581951058916734096570504939431172896156658459208657472835875428084086521873975679416337721103237300756667022964695554585227997803503485407209881231202658211131792492409300312766323173403137522030757622790932609640970136606139638066548460668819168720813150348135419204553040671911669038368679483384902830922822195972144299641094303444269657763730417727146096357510883366004012315471290435606302437265274459701456525416570206763688057031888275182889905969977979029992205642779860944681800921261790305194307904734956900402665289065776670169568118903405600748500001602378167871871291688491634480780650887037605738947093808929780814074116764592037919810518448757593190289252251752045043979002306028379802386600844240992680281316797837050345450350635059331599999302526376918780177646890038552010982190832326919048045064002769927083350086048760559550589023418429403471832718405392497965445103619537748230523867014483004020101348590213876718520976265948102281218885138779179690008793745092015045745599587849288585438083149649696123418070773703819394795024012557971858135710262655298891700384366524188404200279107986052298180006690575470299093050712740730880755106496031311227625535504655087117011115028782035676590606910749006305691244610212802642273254050851659748045656028538150499043904962825154885119568960069511019768984619379101162802806043729992807316568471188023030570895826948301437312921530162169458198044075487796619628660483340050370997412784339460302706057587977400235721996023514069511919853635502428006623596456469862066245049907303854420088696402484065093021050159666140600552493473649471887737789243840827130048378400790868410278794830048034812440081173917390180032248092330666689879372113065254824232019570783732741055501584343977010940917745950053094540532709202311270317402637073303546374219498055675753676030496837072084508401098591466845130605556935313461624354190740218608840909488969385450586190183960575327534382741980169086308638835950321872042944355990034119524090253468038525860082820968460016218421783926876772915801993492184768890458300488698011345122441998617574188634036961527710612331383850878389071596062446659452501771785764573191556472404665208129767164933576143668455620900310980982090280415482603749427078872766856978660163613325794684956478166453761081495438057761672664002129092628672879346006112793892989509960150980104825721181620603297940650430270459304442709035547106964697704154058963247842991382898481150799923596082283520286806471582642488222149260902765518866342400690468550199579194083860357930900307485964005004683362040595148573719388874643312268308202314448704836922415084708982999466934563676864906436702573815382997676827707890602377550345928050424968579055250170855948110042348896477118070035804307806870337519404678386457700309838895150226553455844478254621448026005230921650388620596446488695416003546398708267486651942731286970395410648777900178149305300779137664675183342665326318370380621064427601739303973837989320853305311416376892065886852873917611824948550849344304831109983743171329744792381811624037189070769873560768795280817058355902504463562073358707081862735339280403601415051373430860653011082189382549378591467302365158802239024608492258224742086370890288474975874068327230050006134172379679555770426265788724687781441615171078004419276603468731108898225277744877620089287846460905507741079481399884622206141734883373807275864731471660305023098226947099653167719590481640390482784315771809601146640362950405020530405592668812293801556795700035260224863802824310724610022466164622613437006011092758472186291208591527188795623371870820305040770907958221230317944567086780669924761090056365123319899583457806280439366513342204306777024909807453697955318786097637406009010921244973084371721705071083328004002061793809009804360259014151747065671407723209604657902031538867001982946049367026967132692186420877500009276984974179263874627269571570220666776971099000187640607029113413171007715496006710540086374778530300064053283873106508607115535691672274451015750820909559816471577049200316153350971001497235750104491154682148054704219732501820404966672126229566492246695020810120362373918575496702688093106002986914859264824078522556041774034648002309589940431395133659388161800942552303333798148088090557611098057756838122677471440849514080270379512218017977446761268720698409501756267511532802571105150775681295508578694831601684006184799847620513781462308955270220960704081757720529008968856508977219644947403237980497587748043453150492077185671080475781713807494085967937797588998428409810158852647689116291744386565803705955511023568013823411679726777050763864544756870276359517093206726209394809050580737100888037946700150366376259059876691706772856645341778102535832403870639962958889540020006002038608902704286866393069741594978900390238447422736800642985060627727746032487894955561985853859478601016404247305678394288735871366481903600544995076872439414203950605085970686331630876805552523083273383987538884187600118207144570647060434696073647673595559781031631639776374944351149124226691054202502821308194574570368890915931281072153127160388178080336588397739029978233820705520004481689087035428020805219039089291480362040791501030787878726517122901104668130241710303837498800734162502103419622921926985209046373288344551126806520450700894190710510175478298109370136532124949912570223455528385702401470680884925279099724973899685336691167067346374065870590981134837517014001652079689739664184100968586970059199389038964601069680055430840796521217720933079420040924053318612902916527839630181055608994153618973413293643060269894848022020064009044114469811908617358114993316025208723066873812509338061370146099781816001973946470692210707268655954700407401039804116050188770927645173342514857324609216725148277277409760200811958850320380229286004053332769911774909438940009211973009646024696407539482202512167283396734789020117044427075519094627127727070787873093858083608896470040159619091560614927192133635387870979974157895602619403603097847000642268297297931033600480329359628760710380673504550572236110544169714646417154443152728583877503183974251105412305813372612311798904095721455990037126989988873871034123636007664495526019748403585583174708995446677319231874394911293038194965564722920382209266258982054272911296808780559639350136403150650236221427550005105602662856960259461160629034091848920595999902008796858203500960764732126285618758871230754588681098571901831598918220659609090587425258524515694949857870205250967704663558534195260180130505300375618119097581699776490197914764697146777607714557400940711327002958914241899050942190827436998295623708589029182101147280910965433020629780762731951724634304626630028760605656023105786497766240628166606448610312895104796600229685085899247004956194268814424844136363518772880293197046300719761564664013828122277092092417367066798208567001541224578200170251315680230385918885591305629707046299930755889606350520580168408410218642567056594257657184916724665380121207228641500010801882010965370447290554266235990113635509831497618649599256537380017924040454037766097344199193565930208563804211574129375672165448245612129059575668109404083612593449812639599114012663335640042338419778710450263400605119900808465810015753273430316376298547565426316119075745742871152919307808264054009900889806684387675756080859191748081004574617426906541677521398695086088209170158947601018384710010028796851983060995374868468997988867083361216503018309149919856172890862137635807768564157018450562759696392910530584674043517422049962087253297855843777129836132404706208482072549778872762805541707703010951821035227114586954792455015294087177847031149281740464244079508693732202218101109468130008890964017899247760098053172696419663572284242329193547400706459395091237608508270438958366602806763325334815861436058581628500317418349922060740605143080846174881225848455233565964471232710990979703425915029166332871135487494582508059901033812187323340807391050538933662780231299803080007230799419147176469502718300225071311597041507644394766774910290530680565494242065667173057002613970081080298636195961054027828066571399675198956310891885179014215166904237868630191580100317991240445594613540624843903899606214789180067898273951973018210135219670695754004306725920698435249399183091251090504320980130145706592750873304667933047711133608587965496597189799639468995743750540909822079897622796040699023106000464017108910916625655844597863977009823233073229478500603328365949948534693730390300579385721098200392581738556062947468831005504994644060896073618472276314593400050348460233219056078918488520909060037262612314624917977937310308588118124529995106465500593237043792318806201488805795545851480672622709604978780740757145008154720320296764717038554290775976614010004013815823526702590233415726380457231907337740100104581668107300340932606907608638701203795311306774090032222528296152810889096394601091906517599462852429730632926275932082208825903809523974867655649284898793192148097303871390394093040290306861138445649267088026614371696741710047357661001598319473563847674715454082356000333942732878807926758845124312844544255300609408219567775995020602024059303994144627585732369284630624098691313755582015835787569446611830374728050574060015362518096910085324067795594942674525539306727065854612790602455047917187723201065797460989230750103202037838008704740327014487179677043433061666036603013334427543581503323711041895409097961215614471000829115040560690654443483036998804904058131668386890469094017270515830719720469432050462882344371804056967072541638655350553060516305905696398307120052773702275025792500345575477586397402773555988486822012429600658996726456290795544908988632230021894080057099238583457939406489737806711444597104206028237809340006071115727980047366354302637292034602145850123741841379580580162980096842659498082376213716518671076391784874916290384278261301977940191235666508465017570450701340395865254579798076500287203158355275016114045563971651005094038903715241025048140971894366666814001887699342890612110295395525797090839072959068040085913855839464015534883529948082056470790733907779906135615207823259193147537418160969210544712608938225466228446660526189912678419687454849010985246507368928822754302608526997123354705024796280121855209250290420280958435023658788400799496486119748017196183679547084046206828708949478340178621851213800016099787388023242768774878601170000029841787715281948829445413692865039117375236792070263246347301764654899100839621190190060602099808202052842085372480696968387311680982144870268739422947281094242009035705764548893557525667685181895328942029657583163768983280289697212979205647292078774286823806385430011072844236224879301086275952498745790212051119779000944416501438749840306874592913040828621841534802956452313526611605381509545400725786176710915172560335639230564074024390459787253295768701988655001814164370604200868028525302913170960079633035822026263855201709160255884563350805043294320765517908023114072020450569022244287560752036906495861401323869133080357232280480317061624125856096939513292031583741093299722534492789576801023810718034391982839095413072093650039629762734267473707542917671730291495992189492931911488028433909750800339679280083671340283556899941287946995035000362370087083495700313210204671544109907623342007615709881342578008955188570443391492754003880789650810935586268579503406760420787235970744004835044993835714348956592823097719457330293200883730050596601263987497839004885347703807394545805464813278780297547121632829038649641430930950402337705754786842488870570910070681849405061784388275890079040803186207371226256867332254172719326204032374582536010771036191064903090737487006790595101728056028428466946616424840136743498321438272933570598412307466640560053700828567009920522291332271666450955871012455894020990773840211477093397543019660687590027885755414869994238119705960714090886647541507017555489818851197309411239671305076603600397774014596255017361787622097959588795577992948363226703751010921494172254690108951573949194214412576708587155489117577923081897965058063240299156750196108988430635028534561717176488019006040910690946149937867400055880480270681376662567142098516382060456185030041725090082180162451547779761079391389259619636258690608402825609599885184354760537091652625216546016660023635177286935031956208460278966718560686894206750655083428410985969198807453021336183544598860270483041022882278219042010425536838200989611357049436306442808936448007580442870246565473520110060595260700077470800358790250088094680302726267820560094450397039022709099426008621245860326428005961684857066144800022287432167108218589953967018232919937404653936664573391909194724798317702310910977410495506088879837702429715087752027780890800612009042089994982879407158153448229791425464976585104536954396005198380947346509624403820289059407738487485393088963143186106943092873770511020720966909663827603709318370600060076123836555067890764405799636359671102576303974940018098962024028667465863726404007641824153061308929276267907881778088264069295314065372920171576001151703271687723373148006950589495750021729209459069413169096270213272365216247245870069838168311845645841846591504429207140748499187961948003396905440335464471624196410478942391051536093186808033933163317867133979067343491848039642502304385585908505284428163419034029575032579696267912959150950608158881042403092334767202920829709993080450879509803254795382344446174337934880283766482367116969763885571568319015009704782531549997240650752445314327556569269008637258408535109467052440061865284276557302534030009884410600152984690939080403125622808935652728804828239897347006806768501005319625791851066079208786708323794827684599431911259290552629166297740360483420740626348919678133859589645183330076640163049236700425982144780100132009653058554690990773073171880273524065986883660479371183401738961212011485117473813909027484883342002547423657556186426960097287034252759104981892845841053125087879904192979659474182674276868804765279281176785623460276474870631197449918237765871644905183766676141084439172897306328375278910118720403791464551921900048004682450470159168424960800130266567074774261079938094844428232917032399904240329003038444932833037874259856798600242072907824695346065450012173597997843960012471181275627784025300390033365617580304718307094991768526305000907965516283075945413208151999802442426977155821960008002659615884909987324065049950823758997009644520326308008893683570817374027422423957150412691849684469007270637778211477720012781542029510567948578503043205268008237223856083162472222006090424391847144091856025560152343668682082800445183170528135797938182690403691921399959393861836329351024670956266804290257875633891613464131863901529876091827276827059288565871898620634669115015949554589948825431853701647416442797694675245019000768210465600098240355955797094850980785398556093724988497080248081835537811867469910910154131846134390096788619322981247966085430045598961405039263687406190191068653037816690872648541068072981904687414028676097769153584226503700735190766751397230155700078472623608330907801500307271317828296614370852575650678240383520386509137067545833994108382977180506330492411725550183040419085876327320346087036277575767777979035186464051236276030510504412550083312170970248804849993030868140808764445944219594027047601919206059617526731088941396210798598969197870705766061412247517418421624577704733319189854044885844131056662838438139327991753770845363560118869480841987343046709057201662142229050901255593584999700114196230469012957901030764161473321965996781802286250573665804524859458596368875171182159116953194671543872325440897579740821388360900143510522265798112372135443138601840151690831970263877941317264732620116555969613957422156834681561646467502218100703849008300863896550917340107497399896074173716590070034521390297072587301961797006979683752440155456046736148722791901806087276237985922811841868246910344814462689603250880609994530602586560280952920090351023370063932783468246459103700922873723810885405798138478446925100022460197329190573505767079741468416330778501326970635311655449376723405230384683484386909372501495659025049740010727220596673490838374725340960064303913427992354741745132548490737036507820639601102255205235238858291367685780946974748240434865529404048098875938713575392549304398431104476705088090092569548187100334254808001410045841297046500834386203041867904130043522657493673049044110827132876726822569904364347320676051046616663705069635611313913300139732809478238603389552462640109566487260982255436529155806709436270606205873565178004374898089766662901002687674962564418426010806834003980529856196672651074716520712856452561401472021153204149416420041142743375082479020117582413043641193139499425303589851045090956197610173967085485313239043530992969235492526798045586057453398506068386424360609444001366939936220507028095630350320176912751130106369105945116649441088004713806074089457277970086777079305278889423716603881712092828759827737284482417478583613100130365237129966699009580267010635011590449663804788600460281933843029690994267194811228854768782551679956905788728301671620182347740407716802241941475295109040175540992150096619924901096887357695282627050591467969130150836235450424626233784902905840337074270172349276417814887769727809646896529174557058991266567520864442785792557008563086096193373010945330874764216886789049500750852571021128104800911104669923310653518733237300055027087316015531992687718444218309128283102042251733446440804200841498698371647623087818392853574110462815838091591115161746657209952682506867458171290769430484020836430104944068402551759607280422940102438009631108788070103146326702653307318638008093206021934844072790174963972505527341058044072530173417204079426732037685048098362205673354422205593930229090649457385875603605106887508936580260246312057453022161597964305305545254799706827067371536465780344298837404004257005983241947560370063339077129625810971869027450792852009165642638140010330387010904680899589781518348409098633927871973923516457380378861496870048026056759972542426368853501339963390406956406038081373767675085329826618358494987765475087468702550493629055688930104091430049125705045378566426156610670802465941827889705490067727321409300616514635575579204442698060954103911979017352146339304656049754739928890507038360004008063626189253261126160438300505197757960405276339409959926150090297182581884138393324939994570731478576563396829736298045665385660174605895598989970885804080961438544785007502022855692519281154073681305412938726016290564077795887294844473523719901690717792250399640783327849248824794992788187889263216653819014310416019849157877630609691932112187400402605088556291475882471908721485381017160693059877933663015057409480819401450106943039583147005100331545672251680955486689299357736651292657897770808720409193075768520147659911750748440178536367292817376833955870307129981341412891992910709332745984502965863503385400705946642381757384920012912870926557135377559500383973050353984783503121927828060790443107142253141094022901731834485022137971174148420738369393577906119250009089203001304032171755567391806823550500609035731230378060041619907450374600709500250359074490864095054360872540336271301888066235661049103839795201083237020415530349258574989682306006154778097172083059416051222381054246090298347467779170958175612248467493376993685777314893746401110996010609446940092129645339991024998104003100009685785746115865362172946601581965805306680905000028588833694271643658556050251085075040530289450389368917000357890648247790179431000480738878575572508839084940500954046277113108412616712892272184728723755320591108370854898259592188941860932067083172621055789177086159401368115095786167328302468136882396049682694345267080700301890424008632500878028400081516056389233528406317335148859970263703612453267606821577886317045826880231442392606816093645534062060873184037944972786049874436902002080427380938349266963009081594760052554900340946224087014100735171135206663613058646070061969308448710195704350156496682904422435171867404682330342616049070006084120613550676683031009005387363736879068957336026810801128138717003701179040631012086630556807835303100844880740439459927901960183480267729327606767908286529271348536779540318577578388218926354328802165455943561076077425474049700761623576438890440336810347360300013306907661823797751396734068357560754439301300404322779880940530463334850499039738826905508037207799886936732948235762331860492851408706087708411416001759464237427784845597718995987754330295376467129733619205083304409414262821700609428587693303520960138997826573884108931494900096866720053872520599843765114237007542479535402168279276121473067537151059001550296190653708239485796073493371947281723929488089793203260086047578661949918507783708045362489669183413543007870492176324720796023887742222271659633591694520929185968731700880475956371020645024516037078346927996814117779832502118359323705161683505838609149055670217031463535583939613848747501616364587909212352574591660627506185181615047105478459675925674580996972318693277399005954707814176655543570009041904300019877830582629024039999002899081466989968503169078717450434655155608666388200890560847566098827323808177451903951428881253730296289900264870835672823383781832949307942419940193082546990605083892884329450987005135320234916063631505456486007072648291302880671283269714634546562981874180838458649875816902788569199127135009707908258616636058059832997206205388089647992806548890980281040263660020003960006627509122542153777929634174857070556470290025148858713155033429574663709285475200889306577719662730608937859873822309342879803995100133045992765754710518385422079895071144240060464480969741509503945403043580059476219395340025481059726377182280648954116400250357082887000738450562617641602747757420797505840248487205090179969252550504030268948721359084076605518044015053062527305666076775019600880094819997864323391330760998138954773010268522206526560045085872041996155804198051091286457976883915892055402105136106396760539355455641196074720635003840916096013425506131640003790995206505546439173474860990813452305883459229201002614931465299962627899177053283473307970309947607186149907791760214512640001456041290518119762282463830083183464480961814950904278305725901460304987292607505642144371464191534307498941068298613166576801137786030502143193072908278666079653488866089028062301638124205819067687038394075807300028328573525316495958008139189920109353927979039162607609439158570004195956086138548847392013015349282532509326517898639258640701649201697099341828847994043782694073510479141055709381844395185094750610821368019894854133693839197480751092005169030797185874774000438822607995536403219180829404107584571462500760759812280764966216741846165823996213197922926982509358981780941972076577981564497109355977194744101982037978443532955046946227297901308450990962597602790384935001893283948292840087189948237040153407013849049098623516090751987003936640074353974621813056756685850122243203585042407146110013496403662706300047720694867110282490746995456032693830080595859874900679008562747805247578318401689587594042467312501040833560288655802183098478665333815434587902826503287000677772017899670242740345795311887741123384986068760418266949097370608568022932095453504823823678166499976295742569605871303532456679800939440767149883539451928003260357241921618508938831870567848390542094260086143848151038497459677905999217702002853136079956881036918856737094974675072133262200945483002974376164802120022500132937194115842307705718914707169252910319802920008436072920823889828385197248832701957848697942194058460633232613585661416380427583406689326858844957074013029885336711314102495602452273380442815217000404606636025687230952978656328004401699016028527607908058260120183703243722953321634510098708924883214891724445860809066746969852605339503998921537470026420016368958959093076609966847372690205770703394673502786816192971970248133114017995652705726252959339396774380900457915046144608933959299578376101429009547420491897571109139141322415503216820971000087161497906995871890246085707677525201514041463088113682763384970550996072326605805435678956605751740280887992971942036862076073662581828797756960816959299309758288182170094373626006702854950479350206910125859416236958969700955008668450422876597173589674586500897063160208695264620878122612546096893399655783909200692153033235562003459524042684228636630547083350356902512518065058295034873706047523092959137940109523909435088963250048784640477521684807931545095138738051544609766940735487042290110639575740757274810650970869029284286860318080405360208013790662420754651414916185446964218681085403364414721950315412302744840566571069301333149805922521703613998373409601518394426399007451078220057002317635217434197111031065938899419866918219739749189404154851570830213151128902107700590000193211955201479968451011653482837888726104203403565333545266976049716401124673039817799024510046845040658992790816461050071062449505471202438883610500802030693098217309080543700225345839700236405678688864070303276743928814790151043321362079929368844438104612165253765774573055055979370408753003073488859055958532310472191059571093048498024557972180393064027977100077095066361611598440054109732983654770780710554565190997730486490523011607206603774906926423038082404510830038395051440755167889240768768911401669828290966426507569081888360059788056120538115087004322157289870372708413654562359058263011927696831141628474465883196136364332930108891668108546234182585723044557375850760273942591591968058779377903378711159402828498776948369300742596250377857044128382649766499546070306129507564985434352600579072358707386842091739008665441668211152399387864272019510000677838302194770078306350719288059384002417040809850486946594987724409291951670929960916267428245034437586528092356425758140349355841167997724548842226014799960863567510709118204301626409149369510010802753289064969275229350202681874414711799066079950817341983361670276703189781610146297495503882695290653401671725086647518508205687988400758005014967500031794474173783131140901110052610008314694225573293188076923032570203426576099775433086704797982379167802596998284401975016231871032382054606994774842433271120241188177549985857891387400070172546875130687178003591441398271578858330819815354490257858695723883152606526287268028751005215418903666029526991030299731598800869498860197631504200454687805255710700723005350610469912085973555460731980541329082984670194353078939987624036547606016791563011342527063864649430399836750754660613637350379930500944605700670112692828201561121487900449333062567320811009818667020396006932666398606482834131008915609047727906558723883916243479317808889288662503099210257407700029872108669070207035614625481121577674347624400346519677009850308552527890421198560693272298445907093741412748956782030611540245426053334292507026666068655715333853539217699914570830497595000715913130765873689547523852550489420360595686986540836703880287741515544479480648847834700448191755701316827529870003824490629083376364531079839935771008206575025952985527274174247783191293160664238803200461950955012345793988131024696749053913090460015348550075710041373521254707534710019278350806347263686823461124709032195055372599244170472734030421079476718746375210057827978663440793800824036345822183741830477098174700057378910819298690395714589552727926947923791277057803502522447710855467587719694371670488458510743975330040837388270858766905429166786084303348047484073489814580764479181845908784728803827844388483190213577889592044743657152798133722145661650009352604524595260805089544551368345999689384959608154045251209019760334758070325342677416516547795496202972631046580897859907649503305079346485748093711936066704356470596805230787989864080707159557289311156866754898026501453048262533182850272363099064806668971611502943112577744791497615018976899739930306357316808494421006252890193581001602125705769675600642745200034808035231197067057032290060630604020477729502360191191974370023336543249040938993393026268435803404541429716438010007419190804512830656404202001571139487750975071989386917015620417011727280792921875689193490006113846592022450340866282214589090702590000800716193081100330220082802080518201417392484764316608870761462351287491267745747209590612830819244992892641112605824027781771411245889366566072587650189855536351100977130856198002508857049780497060360062505880564746713321787532006836083405704794272962222946116389080673789207091082129004561537795157100541766592766270190829199565604159638916588700034909526339869021248347706566384248358085416950373641314907494025071895849406359279777605150907350557714785276347002084819271741022178300190014406511455596704118360537578712360714453838442701612597468127670084269314062614406217394090460715166715814705236741099562220834761215988174506814727640615739550707236467086068583733542020036880069985290450886800449505086362575146299388912690797003831905170682048657988527437202077298508226510663282452543430972496380893384930998821966418547756347140366097848122600943186631470372992002224348958050201332446378723878640892088558198504391477744057595829294591649978807902498599610107319049263849871004508815042011369552962836666002498544802197400065935159916705962613134770072869514156034976009852088305240110962857050257486685097672094756622881175448379234596432873100750160180203396637950079881866051789699798807598556686312083904402551977566985678322261346154194157212247487231633153700100134234555025239445343396467450617678595326390107600987699236794035780477045188107303518740169703100751058960371688907122287444822716497413037470834956217154110871084840397542773978754687158069791113881330017491282605323593711319668019352376738118784000954580505100580897289929482409505367524170336202675302022498330037010990790574703736770781551505081024448414842188983325000210002647236474584321500000656301841788717039501653354405340253090209609059779540329307842930834201182811806397188009406297894930998656000965063864528343027403051650025805151905070051211953033419040851686
