[3505559138846167253411313598657113428293570783397950319197754751978638340988708158119557240573316588367711494537350083187206211624598983943859053113510809777567797411348116110223062701950525929799960947888934722315551552877186220676724206212691876380193222961835807811446797900155012796331914536479879065885697539378071049887506682786929216435017555593436766108538466643091033888876856139185655177295827764816866491002018713097710001664946102689622476435137058239059456222902662684088149240218081298537137808039042552901180592176012410589618703002454443311733724729590409927050807272131060707792227521801259063540658841628805853069453231578087954338185127227334556648646019203427103044058136006670793225907490401180225721177284821826949561189860589259471350790261846980196889501506900366204018693573343591353786105891661795137627925054685942191599692564120175453537081411993715917670479434114833953386927024644775626705859077958353398715307226644961038803195007424747154286630713106604725566055556407291859329203043642331057449246489619164971665793689187403406450605560930728293306586624167312051366175910497157041353445677800742752479716397747414305685567888527869677517751938478768998984968268614542307313156002578640354338383979162584014549322677842239300696445048904824315789413792233628305212779427867850528680884716815831860547714742712469089334266898003194773043302197367206837934369605851843430088669605133796596916341157823099227188007180166185009834623043496707387857057436443457728750065313811044563182076030037610854225693565623497334802687452119497009186627345914815067414065190955666061302854511568637182369711692577085184232367617190156158447287034758295375043397672615512722175507967477671692018652185987273458447200252044978266783408726980327185885075672548429005841826069597244738582336252375367509286424830855949132493398957355183953231842576553790209074914986159013111273028381704800556298474520616319620611688198299616165336761804188511790835178549733337008759608938690214539681726135244215274235563913189341872088779500944136873493379677566165447732384032651817361114594088680256961751243215291501367536996771184819146146464962126090220158077424230781843312612129711874149469350288305820383116914248154653740355349876002511978025031487189664206059055242936017439235398503125310324107168213480445898615205153305122738342242910259929281854378777195128745294470216294706490049130482425148545437090149465903329296593358336541938101937167838363113941903135939530262427790942828748940388688165359950018039490955373777636050422515593875199710049171309416648485358865386642847108599291832683967631726542920907403360110823990402241305033378473858225845576705115311888450491202554486870122981267205823757270186638119877821326707451728294994011282897268660481853411205829616744608213170788214693913471319416709459986494363022703522864091235511058919471415852353466124312291595541405799638695332564940198647283010102002143868924237706849419601698842469084060369839023981770676541028848230626540699617773832682934846116840003395344467258657126300206398208549013524819310558715941015258002148413860061764313759919078681058243905296851102886292728034050297653213686280254019510162315820778732793681625641559795351302742124461928139132342866405973691956435059096578376447902575884731744840092515204952381856732471581835201136649212626304458671639330036764424856671721843245134840649641056763212663442059565748615311378435511167267593953344862928220022122266444018926259627368438065375427130716745494049007318766964762875237635275509070178949467400520625106554380841204056212228362141890549916013573538932969583034943989008486994213236811363725340958958075256673449991009557828892401136274905868289805965789136440172024778819202201568413549450738098237882872282038750740763703277225935356100219211490383783360828604947104161894779641299403347311947250130270676058141747044635084016598032852712035160337653121016173917358410235550285854067414200484671408519865274980608089387477955223968983104404918844736434546344391854112993319548802023145887373410781622007041287340103419185144170895061054782220622582649480577176487307856822204581430004727083434747074667506987229812765940751827505065231877354724512202358304062969753344608982278215791294896634955867227939055176852693763233806162163620319298449278681200534275266433966933100900856395072836093619096337087277704737121424621278637003933100217547972071101476644825039950230729735192551519014595843464487044795730480637931747897837409126171134286897285846690919457781713167195553497422359865778773989712042157233012624305362605774974922457237951839457318771378208025795086874595850412384828643401547183496069021355540940996255357772972835934860663728751527418154843785817201809611522692206198199765538046572570288151091151538574451600793078836498406378646610840431455003985525668163029591041841784105986248890920041159353384770123503597682724572728090521085934748806824735187454788056379592044162897762639795911760087680756628169416160627702846785296560032060365347595681627190970752999766500869296679576137379144226228803745852365601974625932119701282284906688627230243865608435853666606248753990148749578796217368644973570253584504803183752881327479504586762991168898922125897937561111670312456262460767308433829481829076780301714205568620744298269296508558895990938811849706783517329795011452442590044485358085029225343107423879674758663323433411814610072237636424763443307666023830487725976683590140294529150882562077640304164076192974317734185832861494417838211151440060611207980773570463234184178034174452242351725672065020860553499944455835395535004949834582333325648089890650153820837708537263758498757538403429106708759266722903946683229102317784836970374650419044402637039139312895000144908534085891110418833515775438785553545698405583141601538656037650593488229816502547646786054583445243954217336643409940688597156483841755195566390598179214306307067366773625456586891585128376631021201098369415656735793654787431544761511881475562070885790716382987883303076398062991821926603133100949427017537705976126699713225642216795257684038832374147059563059809733453075185122879693310262478169985160824553798452769265128916475765133068418219002700761266627916458881034183908425523757000814698865558935514508227284060066701405345793219653291594887203360583196871075641003793630150703203473870045267820980450410704849938664919982926799696157407407105572228258858748921441252251529163190480044641493125848561532323106503534025385914813252182679612472892225912875139828933096813719178553739586117713307270690455446944841761765454812732513091667937812868917109174518168855945260560676589033270412048383669468867526129042574254509730065022079299893158014633625717575254621589012121870672943412163369099063960216536402531071355062363120593679538331488499594663836972203769453940048453562671133946100512523803898049038213656440728943566178573929122326438093520361218159783318249218838209012014797542976346786529435304000847488713945503543817811941836235018891101083845383464423229788793946199238067947829018826266516319596509977522609931330016099946844748967309655376834429602628496388790257785053412843462920058156003694932505440134205090166647932770935674577622770624105920271167158459578087373666801677154443732268942300335833426962248001868462886794244401469341107205844228906530155478616156608638340738361586975493263621324997029838654771109436994116949556309213979554869453223359713494960576791722699641621325161631527446150864867337359932929577802666165914459695889631697499689526580400168746179925292238685920219419528749219247916903616433632001486923073075423658311753573720868166726969897057149001377658581738467903102677931843524558482847116072137688081376161746829042025194070686101357595557044151145003207403006768521346152494111288407949318516712978534663024514223285712992833459677443546058461571671849104208048629300334934015417202630585568779412074394504909314029080912928832218680134605617610087522060915818503830088226262035194084273703641582288118342799815339139984298343575463303583654658478477979306406155680456388501767790190274136544975213773348486940343897963776972906661975701874584959214506274724403408947328358500829689232491903447551091969759512777365767214608831759153801861759332570300505512247659499733646602820583034349296239534050320326701741189322376250950912172226409624186956710892708177982551314726234978946036739931647710751456723315896467164602890322919492660355025900184228003765272579158333436801674959532096825064332998821704438684415480144341715376410602709303190958229061104343793859210913675783046047276920640276546347871233788449563595250400518742667284592540980105915696866359077686318602289644893025150982120763566084986354806646931633953554351402237947915537923602468936667782510575850952486226598676766437898951521648056897802840095251808637784341918418868661473323600599346590566555318654978706160789486573200923609039710619197147617675662297200035010361788714154488847802279514539228214487297888839937515849274887637634456880928988611506717012356866135876323821875964749068122639947310732318008081230059598009223555997636261632706777966437674576906407672273570019746464610458037870169806790350686505426515220065193519521131892160806170707588472507492222312526575923482406771042702177250240849916887783938683716676888319056918244292994413033088326987603309762073334896951371174781510904865794603880093398857163920775039760163233757573368130376500715408305815075986585179436053170394421604272303995502001395740175590192530806091113727202751782303301530769224404396912174249241795751464399901782725943577756084522896426104403953721807247929761756849614019827802622600958200594695019230350807013386843999353464353221619818261513799539700432689577417861008978869669709704918037035153718597372540134011542282431945499347070897786209047520179959105008104482304057189045908293069249303165956972447861899580898683385068221803700786496500487567288746787068117218719299184251789530251435747462207407764456823871339965620484484168539015600514772402513889142033321856184874874663141540963629891161243452538490908220807830977312156156947591336808615612946112434438061647498510600362677689961085574265949303932083254975886431035658044320359954477974612235680155173907952454915188123184530225112078872547212034328813916100698812151940569926037397828939668215908843129581153192690081457666917837587290016048685086876324433250589291270899072705357800634980183006021592926269030117466309434779256452925141097126383103634630871553824837250935827747100068116016338104289286504337296038610792230328715452697719754232047008816299400543858900775679902789374203738435239746737427056193117901600833024872230320451398383929486544084049026721856378497350215511537957868429003665192326333378459596865121948853405044221326542182740801702008956244837917304010723632733675699481394210890567906196007563081012790300316850461854465043999727365027673136653221879514377585245640871907447101969373008744721495246040091840623477858881542864849483675730049364158269253809964165447398022979014063714779238088509821282136285974735975006617078741529596428546207037898368351402662965152885226157993312140868079873649156010093005775997547476018116727459471896407244498015444514484470872178307341528834826466366893125397855334349710126918298770574230685401658101077656077077368291705844019336980337278832800150087983158301561479204190076587724670924568452882415801095932160515111933183174276962684650373906420629618732593004762667624174962120252728321960966535049370326487475479476699641822918712659045015388387831428924929389483601888685716117396480277108928012665532434649247590475839786856014422837175118158949347555810256277111378303310187258326633122884929425479511470893596057796723958842685738547315924416839098523797835897253631226358843822185780104950709560783719785573139963582298449864769461832366879373942645717632688129529593903442757885877478756316617916326607408315322978558990071836518491806573848444440670452137748217955572916309821524341602286659235535541227091727592159441817956684522435258138988551667346669039199416507428549612741839469115985033247985139246810876068672516096553096745175124035795863985376372239337754311301241880048974702058185918185581632852404920922375479406045910155645854600082584906767372608364019445151514029498838393956868431667483244531343838006466843121790605396052568702007834602311848848136490475211874261730052989649695422924761696373779458660084096087280229465368740727172514052125135137235500095291927691875343243248979489866895296906002821331653120375380495437523990032946998427640021189495239231713480302361038054497558375794616102295209743649535666838364138686233895308377535001766139353581339490581893168649889664996471852812390326335688541101942642286797393345693469727859198087464332478033756481047258197191929142750550469616988558770717120245211122010575602625198662434531067511448515537761302475777861363785263420195089725644368024686526613872358358209312863448127571698612585675641580174918313114663820877939234110857749062172842809136406810367539302742348424676073308550484213743039196941023777022164924953333966142529143493142375119967658326816247786751750450588908454459945902804582075404952661309751590349142676576449532192542360397834036095250738911725804629639364606382395724662824600250868194842451256404643305971207212716974543342572670249810194308561372279514916918738746650414339382346493598456268069954847753872902703132064844514002274093040614042783563633451576157846505145343996193593942359470292835665955760839479115040339153519795074660414631585053600856371979937493212339746304149735724098960747991102872767772976810872339125067569936216506118946537606864665881638442941589624872144849354936073230307628075493919963079633449605720912524708822620942713982708662665976000977268566500843465368540130599071657498278405826628109886412188024306319807020577924035545906862272048055010997465628094995425536229945865587239442137642599928570395177705847830302168935426782117373877147460806490117318157821644095978864787943731453900924248544013863906032284723021215565372035634392532279846415166262829475938118481104621683358488367323956320822013128357652479095487096543855502127301424836056176238924920273456168903205962917420511593640099346486936209455637775620411532017935999530910980351028035342930370079691053468998271213210520337144617977130047672530288878569722063770791169884774451454759735094728952328980352093983816994722464551459138352076654441803781623064768019835560519738783222508550703538276899981858889986260348131554321190643457294643179266383947015436722581180995901200873386472217781453942901140772717579152688643869590455843011650455279626769274137061101820300885899274114003455343727222597617470116182391411526797376554630174089467627794545006945162870442803142062600138450778482966911477455139600000067801180685341637875398052485486504915052208962261267154899940145777089733830016883463472423306559949262841678814330226373438464228561944856791004025583847124548694842832050136319239631848167833316145764979488040033492353002777323089958932839787768538905570183982265594041948477673092026896761710870300521850012065863934789096125649584935181837058614189416976779350239697857850721987088955408946270939183232846410786520109842905463162840742736600338087025766535186046840848123139138413806617308841885323507901889754070827881244965457069153416879882884429594604821463433223323192802440771283913357657165335908885268390607890091793893828952780539174518154437596234233926074935655870055073571362841973783640858852167469263491017635536408883853370523021278283810099926243289420603334514133127694356119997427181955109956283710891407588514177156340500967855827248670643556774778774087683248040866968795558476189271407935228168356424467003898541393387661870364049586459076125602117644792310289404191479012098155721504581821157715054608363163819397353360212574955282491271503837491006597462953626114354511170202729851382778864024165823258737236359708255941064402074766128332989862918098737563244409129441692610635674184894338539276470423209652779415463332854817029278396909390442493685891933204738949289686343940377217893372733323608849583223107686095317380476626467872019906001267471526857567751540505720679097676892297908007290507727690804274349526588359046032938104353785932977668899424575060052180137877582017704623149114426257072911833912657099231706020604366841242746024357095929548529478747445239375091382813370001053145411899453549498396888215872746965829035739210296924343791454843356007416213311871297753228763220903570901043226855212234423623720943260504807048507544486035616729723321858729295314338006079403801703828559710658556692522570121115704793298273014684531358906282215141502960692823038212383939656972127530351623736094477512410074387571074527096299766543284371314440683611424775407550233027909005979773168970474287731898900834862920300584060253709630718498466136975727723125563608711322410572460875928287848070586845097844403008009586837684158358727735101658858714619076063979754961097673492525869191777579561318725679890210270394863055782125467606558781429228741617531142709493938479113490532974646960218047730160849761198777685776457817411514362227839425840841124076352625301729755800194344012110384420139151209514694453963515936694909998967180746203224653360049266787381482050324419625370391166235742437236395132518876176837169592205256733182500761061959516720329942842227880851656936342561278230031223200098014925382095987477116626448340929643859721139241436131473133873150602111559214797650101427745895143919345635004373455662049198479330220620929952437606678381107611788858924582075301603044619183336810724299766584317118153984408431144557417042400998598522834035554554568868379918299861528351892794202924291282556072828938330361022530209011294623098649773098995032594324957135214210550370175804417670104298409692225521726831061102253419536774211980303088771032834450754491816164284247699060455272282311224498150668135965043195795919450349442725081145611968707764697043077458752958761341580970217788577344769070522018168483362456095294296724994268564442266955296242848755873309603501089120874057440832652462865797175592517474727517166582868542553933539168262041585034167241782219587885982105230477125194525649128607597459693458902183312346446654341004740658480077342396099732738447105964038712234558443059923047393732178635012201421170962841445640308042684310462543082412083193264086104109980991015879314471162786327669676400643372050379807482342698386304113814321666054720931179388922904987959535096028464698783702935869651626558651643105987283918966571968344163148031100211099041601215389261965258081353697460760777502594335350627448851988333816564558461772629398508219427662496653975533382436295713262979565352767982884880254695469705247011568384195169495071663103671959741679126436033892826264818818272032256768443739154562116004701872278145439657900215494281967260163207512191182775372529805488842645878881972944548676639853258949673453725367512410684350330889893846522791650177150986498745647568514552572350823716298567447239081600279761277138043464342702677385398482522382322301743639782669326541299914392755561947492893957305799244165975718143908626032932599543704580398672787206234089027716755469578445166498214884362055296417709736942061600489926983531583389885038565991383641929174424685742838568495124026387571142801150736357205067171927988700729568560689036779746522821788986225512987801391682674671468716371228593214660847831178338491800812008650014797843076848623244321490314120049738247715373514098886799543171378278063186085797498512809879161711980972752454810696785867000051009034547999635084107658281921438539980613209930406832937608198639983669736359075965546553094676173849834600761198794870064452964143320585403832710399239930307227522917067987388843936767942572973695966334680586207789058215791657987577406637787064349364267321213978967438620571407732910494921067291384447642063581129367253133042741017203945502782915488648188957793534929807296979626053418599445437991011496989590171571928932717340357642335649794305080727072011069422523373871780118005773118616105525684053558060452827604316875750909351993448487859206634374196034053500586860122106735947306642965494241194625179275872239651094432022473109747558089045353152486382335575588138878764534753014073458229569911963661925243240956068465753207111109659898807401608415956355481600847676252011097677099696568536469645157681645959683501517607554622803539221873639996485075355609142890389195650841069175998996291177703303888087335751994103474804449864531061812088913014914461034285422422142680124253353892896071533764796649613995287288450560698255988655982713898151357923124497641143539763211427990842784846718188853518678850577099358018332950919705144174501172085597327740851081408000395506707413438327271943286913638280465387068762967821561285003503584903546469311754887054317044258828752420308614565369131779109431956363917188325765712505079752253235857497218457605989354972196298311306670288583681133729240791484092067261579370548733191064722061029488375041999371021524017024283399958720532036443063876209520072757522614173899054056757536377248749898800044622053576339613767644945728043918323680152126470481806035276048296388326790353835352661271319408399301284220691468795688586685944414156340781145830134202595556566425484992158967813565813150512778048892429385478419015043063842971768868677622507671993607814723923405194882093658413414663624166548400975086768251488340163655614573946515152248990337914829718950892660254419674240325251726268884169824156749372608128494167865559092882089101329911782276116114872602890772382145211630471733199890213853882964465887818351050726069651046071284229970371100687587706788362422891270884807069161800373709099225077825807361257853316446477181910047347668384041734351722393751268326837697985199292539994743428886000008127261005891184936088527850325456005388949822885733881273051719922417010597018175985545729891652151181242863858850387393894301926777124460800417803143413301224622412229685020494816274374578445518037666380252619321746356234167469543341601525005015047361244979835005236877495958070292097990265904112816776624584151180762450550725890721819130158517861008501633615960867073473507680945563996892307504370561213694677802139540853891122321503392323642780354466305110044516429508661225090804478116290145061395959493647864890511694452783718099135009364220109329759012151147067199123682854036830308274112287146610854344610320836662915486918524908854781175478463431418915596679462266346431257357906392330392000784411051052277457476640401526769409160859164561122362430072114263562675737103905857005155126485768016866329072125024185370560478945108572336072508517914176519125783916942331503960352614997117519217852743733875808502490201770444598739009239872736432732458989229328531254748273138704117226130308673373330063489003045525010876987489956326067403820829542315801718254000180943126014205629844236552271928107931902851869734417246528110850734815003349377767446018646386815383272496903259670489472862499417394830475680585269745559166329970529489110510714531144212443767237886256683836079904991603885340822702097271042325727146004334457809248046171508204470117089998366691152304581120386867329688088406796531903006740027246358579022882945825315343511646693042783847670877033984891803142074826942468833924390340370867500176034075611554431507671362366744370668027079530807079451654925006986240535160099171607335851825311143009742453307146948775751463851378530483546327312882768928613712878918308590808896864872107652812471868482937417530676137861147581210469664248491327290885397846991098478076540430112849999209099517664511743784789386456342882142216957880538042283418167855665159514870103293139255400296439973868779885732028118422766349528823893735009163995562885797315725104359425324825413433459522619585106860656767130079284283804046641952719077218282095631826395386247208692231884776934731810821414394871957469102850190197523148540107666317241994308782174477489641543257375906363721486613544136637626384072150765907949931572122379267280693206905944877235394216253074722389343384271404338434619666659181634783604205980119364804000699785351292234883563360605857023258685592947644163436720424852363857039452836596289325540463174658809233302161198080045619040106050571013339829263201197247701552434819359250426210745871640373226022835430469127871641686138850604586234869054864561744136050904591643177799607553764834863575268600301071555014607404047640833383929812838910885926007832580578760972311931254150678762842287950977051402596538355251805794732571081756339041127630099903954421730840055491955244554370570720124873765034919971921942488324650288106792579373412272300496138917437645476059197685199550334342693447915554114942236766491709936424706638925409744196996057388175301535241669167149714312556765671575267671714918377189549797233684032466861407771353091843666671776661292282364936482844666632176253824583083800039870891967377368680562108247524954788971128693092025498875478165315060723455817549947028842463340809824593447928919695086487447152221817557108625626697981632267494773618136366103324196743194921847210889944645824415242212448382214696836996249199719622268783626506069153592754411404879298793669358902969610973255861025246670317912941480991545126246852464064593202923021279236812573944318552568224878338590600479072021210912672900819171585510821375655001023552978683907207730090602448085947678004559294754304100236055769773090315562393260157645241287752327920730918389415641285811597423363492499397338375113875981944029741501773292796918653319170979832443244081527569943599182682345215168747682439404770576361122706700839950902505178994497966200638109738379932436206540021438061460253553392605492406057515191948583964916411606808715286160909407970177384703206329064009841060179260756628920254630863103091922995357891339000357872606044405087873119097092132394302037404798221633291715564548003799011965758707981612299009339970672520018998000051527920803005497603512335386291600369892268001435682311950979858126301722482255432351899073382448240050736933938158748291148240348044106945668712880419327875054448213947468774175256541008699928353589825018242791472666700070351695704505482172425276733144829725523001943630026738880128475594282509051736466039321509372371701284545344625767591401305992921167204921798036381747907918587850164470626384053482476651699286438008941630621444949984143601584735208835183626967813706904851307170329985517619636868997901298174925316962989446489776430152880956805592351041612580278464250838215552635923650573430033682616775301741757364915813244327588359146946986770717465542036526984320124050480238886631120895684327947083961303339575542674372652898455242184633005831370889869457204142293842439125897350797601834286835865987319206102055323484423430232915270299052794261566116692899077250094507581695716133294769921033590842680470948632457660594813840986405719241785750685555097555602326215089686832624147099851117580789061452450767245312085901351366686201519836482716902235106620525464438059332948534061952380381086742578012244114258575722259025321006964064710986773122229088476168731619528072508377408320737358201667462279955146143449264150197811472807969386621130211192962854931198750250168492817634044105885035766413988020780043300901816214871156520958641497398174132756777676822088050874316326920124515247940394798803872052985150817751550568807928774689545373357479113993351178811657228774463008000562725750342590495344052023924918633885721131736656542752509997666985032649462202290216156550943555040007384259859811788669608976631722980486054990398642992424299231862377924882191719255349617059982481544897451327395450784094833469135752550544573016654408601519011221430467161008039334442613403635884451940618103765092804450067445259349677907006999101902454285490151482904511416241591782340222203379745626346909198842227921474873539562063150793887968405473412973680749053831967207265907469685371428584341361445500268476008984370113520057137862541318438845019533783056413921845129614754716927593469543840589830398710998031133438427034265018426260230800929875220118918398997762378751085525840904603647714015868224103845809415148245024304068407568616564999697471918216690273686397765600168733409057296676629779431066976574575366311755068783740525119267945460638306252115432370651380245391321867719724905905075367566957624565958897552845505178483309890961272578069698691626793131765865862353097512944581714962659551019520735226954039359054092440888794379363009527209940923161870663112165614571645912494735004530802504677105541470707671922808912643781909745592573451599744560886453439200388784575449296063606112409350595290594929291174178856922636136089276274691029915055441281709177134411705910531697089478396567443054514973293691702787800803269924834942808488447859292347497103301541310132406043075059613661322882235065186308906041671540402737226631628993930788115188020950636013448969468993592397987082175339866895724856362553188122460755002064214119219160254613982389108451618721306139261609342946765315964326395498078643834189742698147993230247176273819335685938783618555221785880586483940797367084443976135957075095192187228970011565052257232462700196099605976319920002258956962327870175846287060825172827540883807525104988354598601735401060512094605360326781859719370344029643715500952243002481264064737805839524353978921107019289869630501405788470592153568123288131449373630070456553575298734558259963631903279182970593133143954616207866405439701648573062675607974510459195047859220943301599979416455104957635482494340259039063008713883528152619531067413434686436922979562087134251495566569012852429792967049427108910332360289864837497942390290871794798395874736903952109898426229135228280400832605239701052912213006279604186724098961122151582441558877454419197191147511909506298095778045578164533274538976878647185706723518604982513311302218562316640022623757442584375510540541711019167359048268609295929202341211622324538702096219757273187973626795919796013526959468757936694616760259205113587349033954777018865464743601758704852548653534207573600481769349318700002734573176233757604996775341992312407168576150958345294399096485528430058164009130309810742394304979021186085461454606636572301466952309653424762455984279804696217256945350766782814079011506152143804228020061361369950697150133463462299460517250037403129679927207835828464648686153981398402390852084464541149486093129162334938698141172223259845641591343232753994034643699125604802157860700630399867124946055031947605516222490597612834843082472103146755199777775996277602221756047509282118206872764411786339216744778294732636221615793754206083160429074264196773516049609613737277871710601607357330582724702005528894368858443538358376888035479773509972091294135621188093191749757877473366699263933691725920880494059133220580032040762647994415335778691538302989456414183751975231859696533166322566039517751767910597525746377661606939862769494732362889679331810856882148631957410127103965269579224895087144725774960814802019131046220912540173180107369963839045010864110925530091684354035341958968183165153450333005514738470325741870149465476734422964342708423731827399713781145660964301172844109476829630699700645727651111280280047347006361202673423312631533835350297427214417265450453843460811503656154654965711013162061733496980034660632776373534293417607581384076632232181922968754670648726766622596412769759971864885678787427087626599285470331489075983090139548672844186568197827195994475614173191175286399597664404666552567302502779351242570710526443819672223097632007251910938304038645121255398068158127368750496642472530728603710894330421988018889853286296921100503430295621399794918641892635413389662510564299090735800694117755452661602336155391801926365264185519846155638226676527900754630170727696508805847115392716825366920004193927726242960165914603490333314359296943274589343891913232323380389982523480092054490080259844492510342235247409570370669343724563858748897529428475412205401363293740119245269654746165661365590904246857557363925106013889872745162248377533396668087883322517354199108835039844833159239813277453917388531517978444875163576890911610699764259476544175036633638810414345286653085003162611781574129325814626968666771549029481781884928020269633641913680768493193236083841865727816961503767972634807445977569965517567542668295449738404170592898217378100391219295438338300790043811410382071645672826713990798448784332556531763989361282684489097410849794136403446370525102316360323891730443792842610757153646890362719531487000978164229659176231312481709709644358485286655683631750207108107633710891860648217146857279227891858822151624932199595470650195667654288605413240439685386248546922264782724553661473663517617821501356780437543636924783908099882772220357172270953655313232414727509762568213277182387806892291714685727971113073422972251128317456343771064844212068691421338908746890493155052815294659005478189743291967964663649907589909354904017656534837371227663169867583460949019292095081617583008351348838983133578248472874503501366130558307233689526607280062557667659732112922701135990151964022966677919489787461834503799150033136491214603231673265396097750975320493919920176762399282519023088663702654306557258059609282089859107203173676139788384266172475488312122375422070465434900127922233067576025482609670023288436758637590339946374993573452685024758670321144491815969570898221199038437077772817000822292168984567391551640053516314618878263963667510817683322052892380202523085204550734285762783380106601908202894911848554589803146412571083554061356376212308109015759932300556587595368284535638286117848441750006322833792816654220817437463321345932780945878957366967062545443835642616435273401789866215217769217891609065729659680327198603403635553296934010967071580734942251480076706873291705545411247182171637724307655595128786192788269092323589541381325561968569298191264142881442397636044748297312768102401705040062620991437155221942041193065190854956367632574841555384367645284530609173284361880840219731047790628535769577022877936336500117882984241982703488496390078576551039108238299229320540325643511579366952741589645143186165711853511720236331604268706854683234079443392898903681185756761210479343301344349979827031132349869704712051235837697993111570819548860033543906884774643960613156437503247649410286760469522918628440760879708311576767952074409705109306228194220008112425839808530633701407809647952084685095820207761726188205998931367893572710666248125831637603658147866683801672724899453911771195805603369977119545523690176952153762730470547848741167850362589602268528319285349448504885759497858638076400028663046474042506029866791942394602911151699725793301546831963090321381928040788554853416409790949345623825075529224574339896503425439780322078013193075023768555585684931329831070578982087283328914814559484834378964866288988836957165834328748396553198814717977761061512080611029028848314418222098503000135331258723504680441209319319364739434025756240175755874435796734369214500372854220641319239363726206308714064060194368549552480905697557616782169406098144545521609331531889406943395635898819218679649386731956925625879000911087431745693379817938563708150435650783630268636008399035600222720478697102195533350426225004649633912437215686948808653533932825071347114986141927077670145734476353945699154731627820384630772839918389950732122925759785899783911215822894666722195568696286846239655596210915730511054563804599801830558973309445066588957653815599027698320656516553684982275066566810041279849673279403934047526762358814199601279542704865638321464640179989062128003616644751341007349600351672271107169135228351531112683963749242311013807859452865020536560606418157912573445555433916612489125131095889411424862358850762717729465546386739561383190550246638124834935294018573848815385022140140541915531896039045303887895138365331235055628878142069171604459784757951033010979092318296420781467554369279115139832991483957061284376501635976645109763095056314824592796650269382513816235730310201010353555861048297486961105140168805986259449093336021656508471970433748847191636870420169233232449110488231440081163658836958611615845773304748817282671937366215520961613017873273868824263478985371836030169453750724428604112126447054560784152388569636988230761890791137062524363325519734967084416497407796522930260137686542783987855021359874480630434277379518940111241857302888804992729690963903984965969338388733883197524324607774176269371067977025554321411723258073446285371554552619574484844738280162813409368117887303202382838270443278060357911235026662800865199545254714556407477315865818702524303097369917432168278225607584039394877168208184310564896898118447464965148460046921876168519216951969526702173832388527757188879300172962409643001717874920750626477555954944005870828091221731731189681936942776195901519870947625064930542433086919665816716095929199947075367698836971460842873144827666153281401425823511848729292187394282228134736860196526534178273481325699143333257780297604844290419723204251150413987684514416124493861297113519658669646270150586004361691603524218470958200017953287679136827029509721616639162521658481208169064382222253132132691471943477056599605300459316120870897627147955528496082531830077188615834930097577588232262365392701359568367636944194603848108175914221274054132438214417822436590627707940394495645309993793893881258764049054024074710605479122115073350349979291952167087228010225674605890573426656033326436763584531651853581719588052162986527640148516713956117956495635987468292256568495695748469430928004552934313630015036917649297408641437159005897200094369248669147295607898059935668624206166215705973457774685360221181732543739613673258124533537894715358780918312906602816347052933462035270491688058537051189373547428753849107885087428121341103106391576286441423918952756342503041491853191733055895365370121198056100610604189623050862913782868567211748033583195904323051048988777748222679768751433412506679802406491089766616967169196018510275979126558817625506477551141479706867285525830954464201545071197885566645461338986889694552957539961188308077279407158492328338774060375376863699590402800318326058722187510084831180526709107869970420736911807994294200074023414491865016735731572091721732903794737659456453961297641714291544322452343327147881039491127016822094553537808852907716730365290529300128561173954046435459428862673281595946554742682068953775189110380522015398990632395244019018254183133387013035193521201134846292748528291228819777389129833688819101791264896285736383706147037078200466732315658500421044055394802977368000350966161103755392847275549929743489226863328171410308223357090301432259476813004959169879580617787707088580195020546328360267134661120645474077664931771514661233777207556482023623631795527772335119364147267552963664893724938831055973217792039643357133106481976682832760120768430636230453416984543444116555345258574171586472394503553789802952652914989542155818506154972370405133399707259575781352064240279611293109198429031894442911997170614393709875350359963221084315579623836711903112542190384208047504417746825763496193646151040304509533216568554738661148941892998329134736381054092606438164490973914047976511206503923971740939577977719897221716836886073801912570307954939422214363878427982695219945690700563115562626231057090013200845252785910109435879416323742235629443368579365252659667749184456549959002001558696769267964834341494379340839159658800932262093301095819855743165998583103662214312111517560970216428039871215013969120780831705671046998124618981305982720989197805461496649143527087952396661800132047961926328397961737071648968893294593318955716340868532057549422927400186985912643060649885011363820321711599420876776724097761782538792593253568825399372865811095396732384214391190252177916068177308293698273108829493411016488141850179397844039671258090428920398806358900040056584835368743339787770537700638047600466136965118367822805560064790408176050332655879648172873959400489058958368295501997451670804398379130298005034342604567595018963510419219298945461803271812274314253847949161948598537861984418442178951104060913627480787450053677499544691130382053939205481004108671249165634757852133387149331301604830990251370994133490168941117872476028079592405267806582280723741870941756670590213830952023441857611393659736581796191294941393644125204494175561538769446830495990016055552496930509088028560248061058205505324174748428923566150958958190892607528756451192365913152058174910211839708205280419809302436512585879415836754983290203251490408589675692311655817206546964212376725302209040026841861981350521241714846319490910636079024019899303586102058577846046684284502663584305383497552258274920991372543786016575323213661413770655613312598454205789117217386474777855323431388134676343274387910345582545368193684983281515017233933768320972595905098321409907400109835151440303797782654312774581587967190485778134184038375543921179109049863604908986420739638233810871795563859459501098508360189202468199309193777411594198698463915325304975988695503337215378973275621658022947577282526542502366061741184701114544308716636262060412755752456377022767339882883794864010530255435002158420498062160890737398226185350658403848606963527175585251600328512190443108731485381749893767306890911161803944370473754753256705945766045116956631893649793089680781175930683419399899627763142974180322136925628947035611868763094827341456442282511892051233927714924643263365584286292056666398315629496396649289130110728063212382540613144306972157406821890532589887184257269866526913697073306809167752854272873662843373684663131933166473145514750647148029258157729105223266951532237552466053959084308951959071914022628235667296460649024652964360340314815089910822797414165269664001505230045289953111945368027369317356391349181993289946845453099104459424526154300699262355202467210209385506747167881945734548200431821733006137531157922199167689088440728422418288037154098196531110535467545807501124300760581182929846288070072320798291657492897578464535636362810634168647456887386162001978437466406304075247329673225545245989321057868095621910266519982416957528461151402283612764471356572033698575538522413221394721768842250866684612448396507096646150453392850091864530449909010564371376404597681712623565237158563441511741107803497636747191052106152140660848822283409560860514090533482790394728722688680171638844148374501926846224467791337241493864943231407720822620213277484822611280634982220680965796003085256252676010728826353711670408938850418303995528022817145848845879912496260886776750438407338398375283622831929198456503132363362866935171355583026799208982474467165082975667923106460184916535301045306495854640562331605771839419227208811794963614870200492791667276105345874958878764456103617955171905735410479523989109861790545264996902317656659864226971035422344044925829671177941762794528624927969480195253272388852966829992257549520482199719476310669887655715040779721233170279553400303463289245129390893618652916042187319452779497416219517605356689838524674945902057825153669421128907338685570579176820739128860849032811881746008520272803288550156695121840910968368896433902280470613813526183783012538922913152970607488472781660862203928239664031834648997550051790708344246998289463366521985208379747956181029679348411094657793438619044270081955474811843837285468505325966547666625480798776089762251887355298019848402055910621223614262309824636010835496046615378097455513396692716480522713445456867620822974691168614098070043512365922970638105106419135054834718671232779855845437248666807625070283859729876670351640688428335408481946054113974359225975585156198263260720185670984953775225829670274940493610172162267911675673369996689433241624903143952767079986958042800603114436690824720100800148093489652929134833562157286275841852940226326656602225157144343780760648037684967554514450346268314312698751658888498519940900653484753493424133310609987299831071648190106518798631694690943931470331901573112729159681606720346761109816059172992208822405464848528443628714054044553452368649354043418742508786487692980058431899064379611041425560697013389661566795301811912177614529088150680661042821946637990701508002943406008629394644161643763839382660975302612568887097234485469570498905379431929523873866863734069709512242881501487404827544116144535235956505437384641095332527257799850948631367368821643341650999655599745660424776667939281086647471181865692328969198777373406053555719988189476910365725164031543447090889132753768766506107368645623852098761676120053942447692867484208697283158932295238031661694409997602558948646586248374898132614573624669913367516298128241080343051535268212262860540739998343439308894700030843317152481890633268207938060369705799748550332645803615753298838227161864390625205703328003480126907096481680673577515876143170905864949169368117691665090160923155009197185406551932611634585902143908243973456602467431651896157496546767673132812486970751962510294375370519097516439825666989412429293777723463175668444333151406976452364011194865451490055246779878987651030575815828852883411937531665492173500744532918500286220290042723406085134780827830709268829813619328306330602258466590840005362247692941300784013960231670965398562001631630551349074863131215547645067553426859876989129729422235771226856771936116599210431148403860360132800816549826985905911434878278467443206978186760121887303325056787089264832285918564099398316709221566790538326202439912641095440909969709471112570674722024151471530518516178705256574703638274494590872685904429471299923595913310862324542475100322853032311245149033570901825295100447738090655945988455077304619300385191277816508298459959382685780462278504611212096548070732760857481883084846064278087220513416532823351645847197566528838168465812659089517620380852164925787620420342299873238832354670137171607395188777059150621959079032465348906978701416270599648601472486463029086469228031704925801388303469066575340525382277848822536332257667641164234049892254546582575194550857855856237964739529863289459989050029701748635288588938476074243204148382965367691895721640483621865951051752364269095536262155985691208866481643127889846279529722765427817920450669417593092871007116076120259572376543622258174292117299951130057584136995955449109278281023060547678265342825705008353790235199048452477432930399394668892945625388780766072723235432333120897980065220944006433705385148199916479306578963915918489078358643219275899958622265348604204102659964474293624420066173797357328064334847859826481391814420394470264340205658732550633168444195156246078907594081634243460767804343131659897508182188016816952512630045172931041603843749115271209023051398496273911579386226195623079285108894292267644549663572481420179426239415885467082479951608870539680182948364673101557047067452173617675567060196953973147349859922195313556555973995670889880173557790534506531400317761103522004122027238987563529880443646850894747452933986863668752405676026994165179234533892201598884697406838485480824795584654527551493194536905721326096602964149512551015968580115426108939037351557677872504853924152667447559433287057388896031565036376527318298927396286125414403644456139535646732983507681838259151471447739242502935717434677587310214199613666983343934663691173309498636806276673171332302627996252588233991259765330218398518877357529874199962702935175873659028177280906819067885599377843841473445560106858102847274716173431537096693717436662486885421297854809052259654686373968513093901044616689621674934540968796746640418191577284478176238146967007359539203936977678103936518425067718818198850589908316781189069633474469950718688353219205195358619783222206021357573453754289098708727257684541449320178723680822569031305279584285503964777917676345884592494219333523247204920010754956676255966889502632570932060270449627037872140586381608872899846311758172080868076499501829424940697424642666140294280172086520493819740637906374431275597457350512351175379288416172868776485359249554864002527368648796234133305656582432834504030346303369395593551294966099858479350868660615095010503469375166408090578601730145472545450566470191639977470736108184911458523722556264917087396655100416625291114304690034010981377170529050129456555254173126270341175071261726566687731695875853158291983178688414968495251184643223590574322838680345121547024508317633866208868544371036423503875768064894725486908789101813395178420669041588418156317761335067325109024901968241239579791357292061177554795373871171071992969745474848595377732556607448242356004697751184243069870479282965577655679950132748275387064139987183819999088472412433542040640851486261497225638694584776082582599300404232205105306493895697763237078965472900422496591665613638560582119477200807885867996522335128104615973007906244213677991688186835081640395349546766183340178707888899255765515838745769654001836040527037302030161636333456571695749794594179211741924790233973754040060546499281325447264214474503922186027406424993184063586558372921981246081116114919211650154834304874830268329791406395644638196058594159641856439317936175509831460556832875912275790170410762116750939245075343824061302327395550854288032904379720864629321927149269859895674730588140079003488455179392895522700263073379493230700705343099406554798181577337176742933421209160747502046162626361290595462763734936365661499636607109504058859835115611302558248573642010443509233764835136232080670164960268894305368501613584018102632102512486751405115277124030598148067291164889631189717911858254144866928962768442876968231772274230866388274913996903245598189289454142083226267940858402008000005856730188488056260399304785251541811030123371028611942967488744365802144914341928588593610555461121517557546434252248908062963699183650026612154610956132514381514272625099927329337434112199740353439576392466529279684118449867225405482208973908571611057473235816179094657947099710747831737527700528161052451476915749549414478048822657326454004242883345625323022327663288877359091094833144170373174747920440832811768253757052537128737414393699518342961172678043261042128183784158520019721564054386467528043331287051711157115109198240199441574562351449621276707209764001237375276108358390283995918043528966408946879790891302774297343932028989521604092069400014920916352642702299575731493033459880884582023977437483019584243574154494700040132400740979902718566897742636173818221893746955287384804331148478703880251765844551756427462725030077469127880083617948917756324349561108057973325751546604849174310517380642309425174312397160292691263878669970753037470107230073238384261566869647332047371722814865356404797488153743563420737180590099575759868080551727658674844762956407851385500214882381343458849418790094766663136625739244202503016539038285574285967744952072707819383606823621246152561992346598565347514554920551737217023297908989070632305574368170948533818349814552695232909791989372726031791579125403534331962934045470147599709081486882772596426778746028146531031580437489137888849849309462013147272155778170397263410954663672139888390891602840228352822914438547435816431022102506784824584228297783233247066466712234686325174742805397310702703615905233688971839933342869159535766730127308044295652939554490704090969925826094876368123942845523423469717448859347563925842003428749011430968086363963483314609054662161164658754069557872754150952163776529192518160804340257416725178436378642838906305975656328245331165761737031318413275171682461128209610374481831099098649728219663662595466068675960893303333982085406937333752991700394782767598656049707023667771111191108556093712894478235796237282834923950618508674527696845966708651980378370371863367550892985356494913703297413732775616373023695934074260531709074736601024143926424835063328393174659428421059426459174351194386225082995638034505318546589812044060734688450125220166758363020638390694877527755405967895508678624871726564815940664845983029594501001286660222246630136179538323480492598947757110170264258616064535811780583431149012737100243712911197541059447601640002342358680784526091740167886273753050472954485018636658894871889714693201695005071195647699304895171918850249688116773284556743461870922163496258330305955538376523118624896168671818148023474605843508145868980609731864304376438932829975811935491380908125007081680643347336843665442488101755695569301716935814299460476991815272737959591422818767438519362555102246997157628259416701647753926224482614098365998365026892461232614764578902620909573621559871902043531864691042789545157571151949981677012796806908480153597956155346929769530908069597167928101590597903542069736586183923058445644718812333782143147919223107090503167178084722767056539099676501240806370644482741709361398872162375055554202768052705221032397658228947194847564637807573442985002478473138615071287079028802099097512565431528611731754071557865071679480913121986227533514035362510265865906145895557798466744001896850523069807433940409687178498807561535141026906267134869161115408523884170733264853472734241466468079343159052365700721294947021230057983194599936397180332089439410255321970872912945869364802361630712735894857904768588574900489609445632588465268609902441570581804019546284904519312122960856577982488300673174159182174384588288154202467187763428602155218031051874828768529288032229943000109785479500911631967254030443568331577497364678645450679969662851631770527730680790962989814475160546167435165770060729828788343661974335880691638660059766464015885820813318721727028934795722400916997142223842181572152913326832936156064508454313853562261999138500408119590994487056174369963859 : 14237211683122702279116757408611976030422398779507752171952133970116371861198478729564813847385890962393072893400775522756794844548367896150139413389301665765549944945420710875725076807836960572369197915077683005540983936142683775370146945377971903714152538288260188899808939740598657744006462966122151869309190942683814115344485282079824052091824678241859076902775937955301459600592823635220519676310070841950334816414948084203386853129804877080532713955611033571568891193878683543585037339833889505765687868241545602564243141559084199847506759643293836895813204774468589084884194455252171395756386178750740549859334643352427535086613446815660881810098831890197401647611048433541912393762889213712957097156232053237831265626513790053234702190114260304103163727101049619438366679025034186888017084635800922825569438890042882409233858054648637881710601485694645086775369969260023372182292215819153133168404566969747409235282804891337643138544939172195009885040235064765430121147576392643585998207385128193750321943098368087529259287407597364038689611434366087462359702907513651187394894283216715788653275317285193359953517323363538436630754787776274747594070703628657300700692901592080984569737814011310730848337573619452741955831057717192814332573538300657242673647366081938200631584508122567926944928594566649621517610935705272942602429713941003727181454906469337162691878353163455594037208185793855637793606043349726315703588960008001669329590372640720736706432068862339519275868452417549571866303177675051472261425540645712769411941328483947625521179216449436431001981475680082318289524708675850861984725109638506592127273527361052480825525259277100387119093159805220347524344184901751061545465912803438949060964231729941622910780873188937408558930417998306436151658720738965630007907323508450626452813985107569786390629191871875604750253864917518696794979639871994049672814782750423836495457334250381230567853436626325295220786274721882247036067701374134191807062144901121724142652022837152885655112568006256345484981540172223418070072014103478344717598571288276344385107125827994925175074933142861229291341664277666032217896574954776416800189498827090849160041576061799720571191249106992327094250443307357165553530756261433310382365508512376232896402346237876824277287368199397676254007838865315812824446618523116917899902694619399256488275968600499179928949170588218475180776950504411221441561667962601743102618592754149543182193879630775853604436201983481818747117491735155966747011142201713412438300606101913082558674978392339578963196893800402601977918762635840801274570798902715383810192909317286665667036428584771029693994001070230855655325710591439494343160335972043941013402219066108747990745946253808886605106981444404915669268100761577302746426242111190122266095024488084558664496213447051258811267584735786396142897624230599026591854943886993570433345984759495395675691763710716527536077410086767645167117331855471229959841829161319805486068947657861321447957476091395329024762396936795366406009056248950080873905185571132039708972617861891139031331611823351854813401001450184644878110880785183626892543428232729831174946398026446197556113642390827358224662350312518641329364191335509840873392276984553043930850583240950747457914082373422821007305647152539904510218110090334934537595445474819947216700469028407884211821548836239338431461432449261959433110713128170236913202502435241315559501324075377237987570541681574648109479514477496979895089367823454103080636883328154718901402781946285661402837840799783256336277371908480936408488997254306932011608969581436305180506558022994052918948379034399224016074717243218385950767710671267832954053533253227241091199553002177332017771211778235707828428427720605317496297252463635930942068154564184456175340484465910958550009318312236322985971707728380807480142632761163951028181159457640595979861943686797902878595405615586031878109942013631832822845224171709280561159173092530622157386707848023808372546678630401618439165033748505243399399774573492324733538087103234855960732079595768988266103824614809540641477049588025429429451500527915433189889405896269180190730440589715547596836648078776716196334962913712312804580050157265953366205439069613296250443568470515705369891433390548558550143182917434884493372119499988699968734532744684895481510276381357008369963829305855017454570747601947643018224298265135657111061829023217240952859950411506391223196729403759489791413659695968236903862250172115580704727212577798927761813201443183737622908915865914571496222997917220566079709286780584727095903971955997589345279405272584168363999967033160874312640583727110584823889499129814379154656500838416912634984554646848758635823283361820771413095518744036566919963460674576325699124268875450689677158105714325014040282822874446086549863779141409439001184739583953908279486014800227317487171947428992968746951423054270612943862606368822468165363243984312254282307081440968091923381854347284463327046941308906872015707904041025828425121803640518748217560675727759853236110841620990848446828902720927812511661152580095439311570782199160670211747642319626176931602081404501203454101933115788445945733534778116231255125218710217245896255632155186005155098407815543702579015130766575799888612166847067406307383521369269436763224072120174832735314924338025479105607255980640220347327883600525054598343924694704012153284120554152464631689200443753563192337806420358295698440260165912057598618674012902902825059858691469870631647280495279996542722147559589904055032201307011806338473585202254162073380275509885670876952314799149920166504418383348653037039539200337006986033898253638026435631719291029935464160021216832758446482610626474618315526443567915078544391053260120219617831966565129815112821388066186035324161532011999930883602676091659932474485675182573228008839423637091586530357257070531263845508480743815097188513888472273695500865485018685250598234300995838396238927930079441000583399548914791430073272425125284468775483441901794998867126128985945255196788945207113595120089692374264539575244010993426384751733993496606766336407080336980288972938861090736161125581291465744021157470458317435246963792179852785556378215057798444939672471636598243818567096181859324925295574728351992372558058136608596192040411919141782425430347822014951546655002221686343060469890793091329553331519997483730852547666383065257484196254045646911642354171855471390192365451116905151469275595044714363803828018629858130443766124307574807341160162740549032877020081521353492523800172076937960821893009541882833066823547485848642020800593874171269150832228899922650579490477977180750090997709465610969314119598143217184690925152335742236670940390197301219454852230874368008399070460334851466125548042240819950118648488284805047942827378152086071213665193636395599376419232167188717465923490697926027143945261861385030039077351856591902462994824599371942565545005220456800575776207793887287577966361520856334270142147583257394616465155028344882632644303103881543841524743366674768399107240870150568839519760298637506693266670193089149115323715087618873079735583473670661902353233652127928199952338138734722305291134328616420752073598718479649133258629963153692827648009533030283748645153692635302908374294027036039249118882901479768796213589803225076153109751029131942550814279091488175733646558426867016333814849825756802938369310207898188822769966150629880972153217426959332811206704380213289535176641846702636990658565628870437014696530469193218725028689774585333992746748257979627251522096931310738839817777011374552756445534274034908210552672695842034582610383737978628901473210124791133393132749272678401935875039988521384852808722720299065385291917579118380515163753154987248995267751538671596123355339857508434028610395663272196165547806892367118552684080890590313143356967388072605075575677411801604960056121273801801198225386215188127925318834736081226316086575285859336171857714718942701720544370675991166684880567193552320966507142903569354497462287006657417434583376755816811494934948196035552978210597455564996653536635901771979023362598977238482460365180260459060588568362933864902888525512166884482837368472835389691423522212858356237884717575116853942955794633410749952763560521063352547481183316423864251568889100370329594732486117001814173241304475463623335792557548755273967782528790348333553647671106318027749454610405336016732119785117641699654327302367785353610776691916896414142682036793517630116851048733050871266125174394673088215276586506454301646310775237884354433683639432925698332311233583617358542027658618882310487226705777632321039555220063494754027946199970570545057051381188982693799589406043372640306646181202384465822407871716755299498221923639792213766935554696513870463557085838912751892962651122363124626462485365669416959721869311036006049582474624186486993682687893006584953785768353964900475086887636321426798930019397166945350427493903189948012813546770888998899333472356841167479422549955008871305322606811528924666303365240200845487342966995741382412029349510289392829156382195188380962945698361841659832301972937471286773768493348662617931020733525858144890296609998866301581642213050595933767332034279971626628424904739422172955647558508052303462530459801065802716463208339345362037857320630205373037725253386489476817741756615074899329746407792965176275843145339230272600949405893484703623604887317915702390103698555954852361503354299535799472999120139727364952893304435078982283604897788270301958175477380307218584556471869650371648377149211834134028626157438224390293893931036034521059871704292661344845703234700204131295776164163983287233526819025865480727653622981575098578475674106130699317326355805084753321452268911349039504117475364168200716007703422829305937724782287616821633656730127268609062750870107144534145758649640100141604968109214269703221248413175660738288807012021463706933253519567946864208462733493281882959848295284185590446312221647464146165685368641929273600739091236320039087012377390183338882116417914003105871232883743763565596973610565950065112309585561175239389237363347192983238946036759717417874473535956529875287544837540294434461885529494358662538265790478013089551096296038706606797498078990902515795205925542119677062048990276636992411055663786331028876858599405728681292280990198692398955966913320157146433322967833800145281282513435604555626662082693482909679480913204880231931154025053850895553891038536883555913327652616767571338889140935904887493743398378830908688397044071572070906255271724016425419779489721440297935684080771403134136926196456457859616255145892162440478362825966662488733970555748192951514666191559495240494252726421681893626320486765418297239167634701622771051190740106136303871018762742552319617778271215243115825306407495599806639965879204746973755209429129872420769915155362958015227738793602727868255896628954681830657035609785804100440817120773546271508620500280130467568633735719795650882044878681437017528413125983242963995549052646370328106068221623740127757363891555851855124354034244510973400281314613349202910678625949641833008645042386667389800096517182005950500359210339957802798717217282274181149224935799118031992982891520528324548901687760131569429076615117862495900827653954877661002926382868929060164787321375502295937993223371031852664935716243174052221900275194982847413170526442055058803019537590594441686537563961810797348278019190114550422157404932192028211725389864914499855348657747881310946067504058661204637389020569414062533852120954787902523067361484690045928364345904665938251896353422229755847530854475505648618519964636634310014068712568864710263452777894455641329328066488441003989706529269882696976288001021063063618879197582527938143001521459177316632470837653947257971440946693476425059142263702784093246234504431378082955630984899988902331937503094573085866033492931165946846352514676864499553209190468009691560278026943708979031602881620028627782168942696153119895251218333417446455241605712660644978283288237982890084118779234681678857452360375361202581902936390037896615251695068358933683534454977117359601528079656178075665382387384069085454688215905151803537499254975250022401459657166440124121178403535648023827843420400750168039538895737267995611240382709125271632804335356335396034543079662801692590773901331680303278217431503515906219893560193582549477016658637614860396949202044174865692879311203475884120765255483996169638091568963960378251507176522490574008990888561004641117063793927322584342263477869080507180907925682623474806186825828552841809420579403896768376660776760387288277404022666621006483504003840811190851426004033925263490509671012811820291057913791575490068960997565358341211870506411173507589760272690101055183238114480418518356343748120805231886382359725260263716550131289431892189309476799828570745953782424412920991325386793157406577543791691211074132684232623242209174718833744758353734817136215715682728678708612945743197008670727994343208650573109918511991885712412201108822410149017466733341761634350266005864896190687354972414598176443701880726087933539229400811645908473127504193653208510842855987862243167996346236232402466293052551398386605146367412743985827389940712854731949128342809030934934831807050854901197704947973999553127205804781288217459983877668502806843996050597940126058628984685127409648967103282479056196518833974831420585287839298051511999944806253273454947069234686832397412985459126203644185495253326442480992936369795190253049423647344543093989575432603422106031298151277532750830224539268145054262091799964014417977729770458907249981148560317418852891998210381662315160766455987476544346740813208800240596080911718233843371200907419617252647043282046292673579929486371175698299463786081392435183165491622044499421323318947407926617033368537913566286916845281453481818794993574108318221014503350846153998762860910893871437982229724529591515511954991751314996009548914925237370784250274929015207582660247016135043396300223611126218641225594368738361881021034581800634437979004639259711364328311769566074904685942670580991731845173340895811314304284872636897398556892905599618368904711083576826579532328871805727520066880200182279453752953874924666283726079343921103211983786976094916878904592525550265313967986694631941728593400638849273172951234601618093134609371098714268078018935533483873739046007263604362195580115776188985569266384359149494722656282169815388989791836471972590603017658031527101924749384967231265488650511486037320713602233723017887788573862848481532404546883321237497059120343114307498479350758654133041270146508077964684680187284571854529524077351600646439781367592927157319406725178668386546014651415889383602240514578368469997696100851398822956518198089199297282955741479690878618118381987446594340463814473992467744745688936368810112499900431368344633931491396259469458926390241958112617531133260283809800578018618043923999842463038545657086098762755933972330449393846241680733062032922686055767498333318585028937489750958115826936704352952651007859003403093678790141405744793862566198956423589889078689533749320145110704520901537168674151366019610152887858775120887872877085616607011520318250425194255236747262690985193302726412657927770666320391845354782831884241637674530091103566873871907560796727427401659021274554933268120119480015195054019708647664916388526313966896418976726038925565551691799821633709795369771140074477714886960271741565057799547865140299984379996752125246462559231045220453108599824620805016873443980256802759240438774657505355477643609566543687804546833845533171688388666802905911511311354201378190483450012519928621045204773439094274913926818336919296974696845361365405832049688668745883257824111291358056951977383853541082058950647857056829225311342505632876549015043081811908821860403353076152015811536072596550573527113785127726541192568509049383750497852044410093404058601119664408032841822428045077814041935165135813297543770523841865086032547060510454780930911286117608950773036542170414034280554344672944282963734804297005613775177855881848471101470057481667002639927049795630289606744435687410455696694560946120727467210541753010340429956231481160545759108820655877114389708017620251775027212420842742103928300683571004998618981919352474163172705823924213495618308796537796849787572517093326584153556612988066047835589503662793601535748786323016695619880496507227097039485861398504583394977756276463174454028166236435101588990776147598083991670044721542166288898312767974863593973069489620176744327549888819480136413916964604853806174317745207517837428934986754762105022883895027909254872655026584386314496426914221429381452191407254394383128894104066841929044777893501661648172442330455365895705139690956715013192430229106391104055216550170193396274884692385439543046503446243039092746308949114937278042986330128919255626588321790650091511673624670274519004171094094869305010159205022063238491392123026517048525108506751337101661841735837488264817529242024684382382991282919068203360326579558253005337087535401028111831076979911583629966689512399621223159202062597414574756587228761146878901134789518878593115882746663313171211536086331922694435474516727967722155819563211269502713715293254187662940816656070247729830797884227786493080307440889063131823682279694240240590987410069583689317735263015428392547814777048209084466047459952516727529102455687134014753102476101366216990847357648370253723510614076358540981964142004803142999715280591663524685238070891609315402977219194689918084169734202877110979401313610065460953325214839654709398307578598522831305905638647945834520373181249570613346659701389255987101278297749213761041951090113592270989268383033264596271863716184021718713333917516865130735743228830899167354917569303902495089574256969767514374374903371681815062827611974475643443991974942848983785035827055775227390023859336447160882233072276259355028298409387083788638669302873748412066674965019691000161071551608629109728121114222547640385513566419664093421890644720530148836235834015290292041311927833298817661223870922202033567120580830086101419013991461465301103087674293844817205699065940289010711338556525076106697145623313148688924498783355401367167788453861105455810416791360083615574920835091335202483814471230877994644703984901793692206207779893107114127852906049555979720605031324764942710230314805896056473504508676250859472210611745155771959360785957458062595382824212418144152584595224617180347575534209796586589264679321255980182670258229382511365998971891107347706382433851784564542261630612884356797004749335574471260318416931532552115757853366878848370414238706628256632233239688751342584884651747870443879822356313406433389086847412937725176790542258359940730071365231601619687176106032489768506568540138387299089671887819868659963467078278752459943024279054694006725955609281146744473366204737162078153220787370689631038262299727952416479076184047457740797263287197038377873052877525250203379405888129611078009041622807509352407677917397505729609289764565879657981292388002789540148931709006985546728686663953567841939477215158903862786724032327431440533290022063853019024087518189739006967200601050076579776634846813867287349140120618718451950668099110454469368281810544395827400039480284924879666255763199871233847118453198629726442839042480756398889184487570858463399443642755540473777272295493388008500553649042859530269430956793030316067476599947347292704219481605688207239028625449379438478047344586919075724681549606244969503270410205112782519902248272601882611063528229758526483960964915410882455495129944714612692566924231289840007084517370968275663358636702886630087383970482454309584911951834846946085214424332923457491936106588718789533709010688770980861346840782808753334541278718973302420461702941068027785864225824996694949374581835537619982433464704879495100584668954403997246869776587614878616389273762027063334361082055359765845904536325169620736568814811079955367827554690026576897143623803962928653046355377626887941065902348266649280799918245214786782521412172739211138839457596995251993428288504120597820531388903466822879618490975510063002484358193691749881237006163978674403928827627806595656675048162365283883024714038861547972165452495674370754926566501797100029348703816388790289243268699964410953145256713827570108769338581044120065551781312355420044878521288211304638851236384805054270888641036995355878153857548272445858306122497050302381543236757602992965566603748416565826040906553692809613611675815073672767464715850758346113677302596460843362891531217544029815287303763179061249644482108002317800348097502830821156149678495909496492035975565136908683729558067027862222665892337643362046468080841794018092023409088517545772108971537226186756192726913003483800595466876409985390248082806247183334069807748370161481462015759115577471784269190414224996474928443085177972655313512982125848960778526646161627858943861390367976690055653181799707158517414746460579399321894960872856645773340296303427449064004316199286204766479941197349903242944341939119494730949157625168296160805584185342728539355039580508298159355629469763697438656934447679359680108313354206383786050190465806945744952192912657403265906997103386283970863623520777050568379612455738908760785744109528025430224565904822360644349197811400650557758818541613681112970252134517527804418643394294191151519908045273906330957649847665779080192104497776804829363888929100881301702011859172066835005516030434597612401993953899597968867449639894567266966630706568282760905388564953542228430452985817522088842137643580114297572596232543031519335960337068477737313904336005645346106176996784731615825785309137790314575112864403595717781957654829681505727317601983387131853823313573059857977591166834130794259669567582622492684743693814257470654854967708996565848127844824700586320210732887654137330320574117279028029799373866965094750835321405390579928569095136393682519773928022276037669622747455352323288014270022715806121388378764796053822574604512020589275171220663885847907467226140668219481940745417393022614913271636974677834645017162694800600792790613697825075981738146996299556652749029214977923210529662454488386943544433850621558387198629770391261547839427246423316826675366303354068146892665291722556341539379562114043154712831129960410232548136356801698927281641199492594762943842604029863480960768007395312063147831766715944139869397415087538111854640994494503484139937858979842599055819473149096400566247307084352562428947735320230266213914959836571920672211475566045911469605555476048845947723017250563429242162025357151652095957941388838500681478349062740249780584561345009092537227369294174398181123430568967943585742970319706585342836100995763377220458230208925500889233284547716855916200972109769161770244283060832908777668711284621398267692677015896875905841634015048685859552596086396953587621766853019352803117928496934898632330237487966144930615186322850883515700698421129147526982211069257478767479312268434043320264876726490799118379857843460296991022257853326285974717733814725128062538668142881157582750055057812290112192182214912260557413433082631036955564936284463272790920586658428848246360035052168461346802140082989843507323501191386545137417019840877258954110930940496480132138565006449769179249621005198231862386717465820688555300906914569519471781000300638678726425460438711523494208386196781110563827258966819923949863741215795936363123691367531504280515137325029458783723448461238883364222951464178114320044019591846189914173099031816442813876615607881755344450088903583532579458115505805806753350583384987345890619864942926728262789040661928421315388672180328371794005264965891224332882831921264155580356457511578628272219554035844386234831191343743941773332861058591610917545319688007345676508949867137907593597824622512356033313932935263387773424225578965614811285287759570930332926005713639090841060658377593490912140837857136727794455227114142828869837713013566233967819443842352235637348628184058851237063470341931042503333011520732100513733009538061846238992920698195526662018335236341620143355375952690948253809989289300294527931392024777216558048108797351316498479176497494984207489644835746725920210235546842271864846939207170530025567900008618482053233605074342981147052900127184059694168867661909914849395742924875640895589062437612395258664390539971631148632830508657224393515480843151338612161052734272915641723128546411358831923615937494824058099337901266235531084328161817686640955660332426846443963356926298600643206785151973897083926037516923631060452219339397462410050572266375264713688923962148913852524112257257189323413436563655980552989667854030104842304462378251042340064259925157756991850163131206371969774218902428087925449436935862873539329922306453480373482536454124387837357557819849383499975384175815019498812781556262395419172317336594485002399148038589378020919337441391159961446957328729226290183218911512750921781244174256767396999956697600445154550193723828697576158554299931691527400267295347281853622532480680110238344015414743461315701225170657754755861105120017365236903010461746844284795049593472948892794650454760244192952146621848662139073365782033755967359553564139904852318297125070131404499505433928046632527872125885565331920812571283631736655960470478004145654613133920853945755058252046426372609021938243761892546333610478086439112296507483823461803504456981351955549199905169927482575081049007113147919357107035604781070601588306413426366450168811979980742700003639163273840921176931192657555648101426047941107523684877131463368639760344767781070132215921639034385082610633912315679116119246166176102483304612317853752702670022768332397856438501676727486570866936978740091905493028089167192603045523605300667915031965105020961264311190774213010966666365712466008037842899553916877573760055787427675009511200953636752078359721987560943425169360474935874881199663559708643965694863188059969721415772675773918746783382140241748754716095801844161390627066865314766533048556342886587129587408638257811384379922961594265247279017601993698938078838311102120822629201275656412775963191915978892995463067766316471124896171133817940500357425434904216599651638246176217585406448638314846451008810996961068434630834111859388902389392861070243687332654015123509358597766190413325555060116613188965174961356214353383476481829641183230854030832477640097108250872950650149948207290246789342982431844276003185957273294411556275096406211339195299854326948853675956353683499288175554436765072244860524190560812940794059791851606889305009183746282981342820858287643454494709579728922450544285964567779322089207152583019703125043291450488829870311159716446733695393033449346708138386579989193354851582034191000006426978707699216678973748820957184373486301895149862097254721161224213607974948910174870306712870789532950253549707343589237556940803533351980096447143805528878632888391274138025881374803551598385287326248528523362896583921068658518659004093619467600769160291024944103272076554800045782820452359868363012069403447729723041500789975170800192412609943429408426268565657384552312715738043241490644065213553463223403700501492709602781832656415749729264216497738184487078308098068771591160298004071565285257738062052170830766968253332630354356710539857125837487167520124444659969190627995655056884747648246046159950390475417226524630715977386881636289080412610708967065514185946323738957061922030994490901728204112940724737521186029654951322177892279304085103955612289253572007320588972063588241510585151245583752442823357766249947665759842747201545663609583483517494795698065204702596643294002579684050698248472153097592556870682516213408689112227676420110383831411139015839960757454243462238195587194380326870130024936447234000588927093213148118316266584939421422506558655038936831102405607992421922625237302737552463603485305611542066271573873426497912945002542661220430181020844031179305211001775811842189638438913357456499805480241734655986552443557444203968831071521752080930552995453989851800410061946963594557521569827983705947460479751144631541225187838620837078053169458599369274318241176551745018389317413668875398456477299411644924878146711635357877957960362703108253787367939654234182671736428513121047183529219037206397968920060522894299819160441259347658120810807619533278250160349516159982607738285545080441584105847957524121394463844481048120730019679411809442726690426318953314336497930538980799770139809862943762877674175273375183793197602480942923320189512305897266146741553930576762290330255724310979877398682667577196292476106112225468084699330314417543462360261680626592635866209780270241590663409090362332253594226196887618054780283587840045874529705306456650482397048308209366512131470164117155187833080386323485571690656827521242779841045785974108390166121687535884457007520495876287646114740311948090376846597700332798458668828348312874139165351393106702948091464296735630992133735932066169228398852591098886040165174230629332686193447576002172069278498301505641089958764510333589811123312073702776439706375914027423160448987917912611831023463385345296057998702285716335477880675582511140841819999289450075619961839965318958255285664743591223054407940558963007939681254084847245370763539023907328253513606789511155765096386095322739170896359359763265133414322482452988086243732895947298015609015905733264858715574467888290900328990503089391608275682098554380338972326840262176695826045121286094104662135129796849529974264267316625451938290960126544231824899570806945431880236170725798349348412948168962218398492913737539933050493689092373747410602617432481606514199194913507055614663035413074523211369110680606234234618976913231628281959467733275785219131004162754566651723288455159067417379952705520506326840994777175455161656266414841775895580221550364224318875115831843033172206379120581466907788956289032589884240779783330580182371946055342698534467729182163119984714443856434525936265568848713483262214772747870417087431597315620343934743377901842150504551214792884914323160454995324469295444850197218411390397657333478990893183065996300904782101093307619049620481837187511135746565623410952382206497772002769427709445290036825086521520390707504560803766723658029040187214207683325931747320708449177597203076039794158509490392841104063378645227977343530642442852405009870817868193438103441459415779563230790010199424446988096283177988940542513356264708768957328431136430361292450396359830711859784316782455956239419944090465947005358342643886820643284932545969039651655224536431869701403839158436431961953466254757638922840920317348051261513247097939011701576329378687834545822566005046781072493210792252663754210818404711485220748128222697843061979875976594116430501783637890134511610203738733170295975494710379026556618293828712299437316238852556281823039832427340482081245996483473785600130426736836312068383088751919068994208731059691155816407722866502383087421114206647387195428702774472850559511926677363108460333958165671998112768818939994464704525895382456510317338265983304848723790231366847703686678742788156208484489608176072001998495311749158464427455410737337571386885851032967851272094015320020065692231004379637947515225161510293994053430743704580594793146286957393221779008858278380379337199901103485006221065817036336892460825373383590764885948729876520976800634485354292534207179654970489786595268467448785460618398914865299370721290825069666798124912525170010390784833382114038006726832921258397512594434594425750758185256815013542211745530394364901816360503600254984757042899428712973134182884655333710237344621709301915337286002845376003430179374358311647970315406633386993916482943199381842940274053134878528159300240387429808611234744294393668475365139379799208285533006396776446176280175999231199074644008841965399897406114959457101660189366563822268116125815646271259296142811538148461559524751257611414112654723829272727887063377811010544753550220532356353544069880437317574440753418420425588331382987810438671699870247058992574902331022022375263669620438110249000409219359313028939822851890685553853076299329470807142611051336604697762369837433154359225498586136278976863693637645810683945490462458085723414289357341614362581671635268662670735166343970333825735474082188149662812935104409412392475076915505989832525229162173493912482293728323227932327321141818413856704321188181004260761962180996819212292786464505149143916725782840143504403009406345615176712879377294631902818593758113581951945145930816652779726170364682205136063580164043526436217554126220334592830037723116726445307824243765155554882451258079095176970018538380752439472941202486694774114933369684390964705136655367166499919178389594804502065839939853125663720883364628163844075001731515363543050202582213154525558810364919253372552361563663546921795563694062063448948367200741992353269216978835681822349808575806751956234249077567878676738998673925507339473190916836926883982171039863926738450241252716538798535346599518132111368694090740492226739245740734397039075575570669237748001797663416436930737851841628066903316245818891627590750075097808464434905524824534128122730105044493935476572631632648738707983979279151938139584467831279260258997415473837072703576258102344348301216997246130839688815749282501999355002273071302938308216784254689375917478488807523079018501695325749324304563822895545209409046104891201954578717289261405164277279697656009239002735369591214865470617860588342520912095015778836036614101787681563181487816694699194385653637863370092315585261554262556250613601465362896230077988876870090758958916898634813595417955374417672595877920806698590427148837251247840593421923975279884108976959707915761259303916594269835510533677914898703231112498892925994670891471164926807786256220682331026421928444554484679674446038343866812264431283134770952446622859961539850473553112837428920463140481944297090867713567835250387849108991181212567452631790289298153135875117733348356637497829740226804509267592795444504961478440976583973379974692129145332606318603405537065878800600712709548402802616494032377676096799681015313069740196840773437631562767267224761514736831834938812852712844607664571925849618135424216950021185357244884158166549167775392828304883618191222915960219766024046714290682163772305968479476492196657621256903097823567656651130043036225876114430252347757930685006119916664415366650945044901041703834391797387213520004471307628998657123244007530245015675504610730578718286263499635292899643974632135404972908243689714399930316117713074930365018969654398627775720336453588828432974995400437432717919611298046496046487123571856408110637914977847383184412920173747891142325390088272046272254365211028307382405637976043320724672617246352146703748419783686528817255828232040077253198053874491395140585560300616379278121567933593234312702435235774124100582281503488623131814711823037091956623076794722886418104857215027399968060342318907474088787747228294563997941359717494510194235037580961368939036707417684400269714336823105685717413448411841301117109440590109657650369383971846257247271745758736259343865786984396106899092831977780294434758246495235735723662186474979170740138440408613278362606353402495060088879693697065883171328050635024067312724606212799939181984268471528085025871195452601737461201399265881157513728145601798848561897685757072174749875102828205484989104792417986810041333660540880966330704827991616998745830902528466526624437356352256309631313567435690808803339105943312079567584154977010083147232475094361192949016607404293258917504547144637551376819016737154171760160799328899971550568314616545273942882657464061606764691707315539260174332541977600970182521007291032995679156038069800798084679446019160320806940402307900863767411457965616919885470021688635338248983281139114417737793362362513777697506964294030554785919386921853338809212985346231852548609296160931827614061000883393535542648066031587373400243763048277944385498000787944524003535692249829622167611820523491056918676110029400086975129748301568518002820454575193673069147963162665716665525789812429167669096433919757270303499634750959574445735795235836393576950238312778510738686202279930662298757728102657142263210606113605879643740953788123361291389749963347069029251527334463200755288988913978184715715840544162803327063262451179764045249749085919488445833103634282751499684199253555611400766915588945140287632919538857087339057920558093180896477465386961904259078427020880405917199883609171266815235230306916305057152316071180380202551664133162334711759955765952476075507088302527394197828888172924691922958230188155589094810270276226082916601912987461128126203192995126552549249826990071647648704914270626644457685047983563642937195107138205016778457544459166211088672443137312450095173498014191918104140841171250357307438066422201994112097448204806027351214088724763295138752863371257878688312262279039957824743200313106870275301444403159656503690713550572087996712147548743507008325490277028679050171253558913724166866019944142572203751382225591658139465982376250830547765181433744901673085537742474223748294571673885131032265829477732105669128418985687060568716526465158161373063154243324166306485132029217020747120103147529358578596056026587378522789523022609041391540736260228244271711596183394200280086614266755436466090075200862092415932238237165241320707737620673667634983743224801440701737932218779133688622343064629009894004393716455401682555893992950836769475008668299521680735590251042635588863254694076030635940567972927206545389132225023637167120789040192444234740998204254877098184996080260524430874507599751375977405447955936991690697106873969655324142674692911805262465698682176293698174946910861910866932137608858803188720412186140739771941408593736918433507596187760213201563896986843503457868965012013028525841310078956945372220656060404741571719416033208392772908865922504493573151897779591787587523211220399068699980860503735831030430892169525622572585493898922181360846644915965162608430038872875414261832364784048906674447988584563345898687283864270743261952970970575330486990220146911176078438992540191522109081718043554094224996579790940162808726866338456775280188018609508127982247711686664276236065431385815321177281879450562277390486382623661226310814323976576478973677720645744010056435331624716051403139809985919823529455812707291231117535679388890103151985728277739557599474707076478492769859451983610328913986272571101984393540960998139530371717272566553872461604995878412568587286348647957871127636464328206112457867907720625328937932975141514376201264702470817280381481641216456988485254030504933021413077111938968154946456264530560313464280228757553776930553536416871606155821046611680119786400897985516835731889052871415579809049782092549318011899167987685484199720616909781701100138858463152432915564760170119282201794578584519779635645577529671941013118214349421883928678324317686740948540075403715206340845222911017364673152502553132667641809584490368137479704962828387384969870163859972323559108962180698266480594706560927166831254656992465484942085837709335071746197435624922261499407184849564246264467075156822113269200124207736516895206723447358888698102523323417554968112823235306183962725169499614766415727841847408829506544745444634247435643821946761974558631813650689268133981737622174592464100839103276039217028910826732262957647050456736564858428339483121497186771495729477109020213767520264970655335156476162375086893953711432654151370665277917909485201308435743792778688022831483235243316203733522002991408657010238883489121370059899152389224710176847434799478323159709926715818625458588755132506103404870432611000134130856255997897139298596843182815952861778698418940100015245621150699493994523101553682650852769232972499650724544773861677927164705816906611126729027778233494036308592986505883512568432893571225061695056946560249210161007781861040861847984658076947646693586094750872093417394162728875904210040013079837322959751986063151184614298269361806510076127010298015389409344715208881533806214257245233785095092323862411761844022712440173520832626327448784233705562613127073745955665845552532826564186884710562549679938192815647367047737698228183419900731462866389444550219796991633056647818278863638049296592871222239577877834267370890660743744875379362183556344418091128434818717996807105972059011056028358306780996130667467438601021915468948990705474407312688247055962884166433572873490809919691720926964176874918413920910248717487333868209566658650797554976894677774313084814821108262981736058073974619786194448718969360306465009982292603354599040458599902636792181729110825542725550421419166457515069107768762704829509814128126839717154082304561864998358652026903802169024509859026903977360950415049607574819071168396703918660785545721145198115569214342688377847051859461652189704433824662238258385492769370961084434217482029092235667546500533004558643652520194200844047968354083900555697996288885450112148662178906178027960028049627602963790730436521429129607116899306784553770350287452615393415338973250028422922375743977129467189393972500121275918917088501496356045333217165870144670995491061380037710353351001427477098410673598638053549584356923066201448280480622500120953253213953216800011058526949545415120265944526119931236730754589949083971051357210591017188237724419100869977619926864949441673136445479613769869437003616673285769916227817056113291776186060657014449876751141434403086196461018440353717189428365550997644887701722800919769836245054897075170975714406701777630046403428901484693022244744812101813305606278232043182511380170316550698708325457259866645874880058415173934407753042145154458632755879420111908036976054718358690518076964957965871833657701351834962330007444220774666400163182479808252125198442009961442510813181628661338620280023715281864148804351530092702210372268679794500535321864983299632135160160324341590472920563647682114098677235453990484033388772245664464837974122095920955547521598658792621539318068690097179475012315565280511016507195470468240988004332500700034906771950426116664070829486390888014849786737728071312653956768558825516193214633333217306330877093534185449332539762487426060356741237122218885095704971928342598988043874858455976811777564855573545869343501873790057899952743257102685827608538749606878645751836627088482121650506701905189575329785419802752871034860615453493591309469557635075300110870769137184948484783926795400279280375050072430539271998810694503938842379998778256383699351262556413936719797418064169916113735578718914437759424224827801013373311643248923246773576704071245874871935523145870378975895322512865281004905823415782432463674674929535337486600690541348099486657363169574226883588152163073485891179341684656769807594559362124463577972137710499802466634072573753026198824126327900914650212884554775531161177211648592111580354702942368052980977021675803075061671641952577136197786372355415860905235598506506554216429479092785320091608719641800899683410366525252055740578205804348600582898713654215837839271859768097034879439939636792035103942548171190758523173843912403140021337867356117796561022699708894320044024283359801366945333292624258349231617197600495150199274542992619314970925786781116792198000138082826458414927761874905739979531956412106025538645665335456103958863825030816666024744060021638143894597867612954545861488497141778438179112733208188492002961461613472186906799699989312513011184411610879275934882186180626019059182362184527537455093199394628707897587775373223594596227153968119428858530854462253105660159006746705481135395184114693674192621647327163735264797621246723459861468541603054821966789711630928627242952243712884538952291371499893960112562563568556175928979952182781638386713593493054809756110722408462227850911805950189398545930028834050974292750788065894000845432975585622761200982799435482290202516446462781763385163103074176720688902807534617716239460584578573352406222462394822237021823451107179636836331520323737859733530878797781843263041155926247362803810375778433545206328355032493273608138136133150515912548590668057163888983406010824059571416326089290361537393732418174682013238311986069250614068591346716123174023323487415654414278375583727634748612023812879543253767341558341247213786174412753954831414521740682789412006614430216295507221684708419463386275298179049650383787832766795135634521490724363132411159528299000540061256350652444076165179714065926813799073264939868930149280886479711720097992538043399838757397043354923700075168932554556363830680401708725675274796693190895943295258052517309031751444203445883027921140579148315140206209509026894382570471909160064482413550387497665765327748617622202535922310698319737018402346110679300143011336006276971068981877751644875152549148339164672039783961045475167007766339902015512193593794052518056219269624503707263454592591187570920304888760110128867756126150341190172002801365601718867274130548543849364190036263515292046157587247133284909624060035568768655987302420657228635148321444218786397745064300701837232358661040743288275020791428775606189989754175789710499664762542130487792987134231247126158055728960704097068781107010444317043844895122436542390846529849550077347616289246178382729235141297912148610259350208985207237515317032335322811586295559429672033971992217339301800703794950199200229239749501761536439799337034841083928955648301854049798872288982532820242591084995242376973283576269777859669196489302205088019604602584928000072921694090467305744815745813442839026061421692619694340216543505176956699403367336309529501827205811956480556180077964739981481940797356698062097321775163228884396037752554722939439960222040699657427687950543571575880170382443622354609502749665743454867308006271765279929781399104439452435021820232488868631934990672713962228694709095449963251548149855599503119168787363828298281389685282874738810406873998688543212276345964511324642735768410981421198876570975493971695874695443949429052379725064466142653666052695009572603385518823848610346384961318803000831270040054256934369052622721386839785899028012846120684997068066098379942290208401653550882037806226986273630303101463921439824434364008535885748247946842929787001284112445079324129082037055103831763796770349284231333345327731311394510539631922725678920042348646460318704644507966147117491768593940166085024047739789330005984903815770073269873550279891082785594078750328338263753392734458130802096279769842503024661311882861958570062263826149749784208435689736420623986507006729034802650363855372458761699617998316477428505888933241919292711586225898384209959841132555070241995928476427235647488411037888959583603904457323595556369505829476965633941715001164349853234944927748391977358008456986779993821571570547006058073177611968139776791681210109429687844257100860750966192034913359595924201750508720672012694388967833365709737700139068771272177558259566507921411316602973829630478721214593520899893034211887369864254792344563208484976899271372125953690839816029480632918956398175390365695393202774975907254453448905700009377417164809559357339100190663856189077516073514871362251355102969835449084208146662580358897519677662711811993345923001421688655400553659128807871195078804277508531211699406210417923322510333789153015524959072892036052138936346190193076575980688242002561473841295723273244584173207712654244203251350416981996525226880050644760952306336104237080680842820356995424252109262379537221035279453441176629812712486507868496624627851096059073564549218050595056918513703029491038393726150941001358392900430437588536364021697146028532201480702765402046404280868185535373924128369741601425378126716230453430271299519811414617364295782506634496697268480988511913278474303684908846124331700982615570299801620152173639075089765971552983542961929206265331122847416653503136856515288739167047383856068268199024237593239358315173985390435409024639132054462096616457500997775916209197191717313100627427776678077394613131464235710553262752184158694457234825207661867274767677261770914786493889493577999310229421813177943432576778078410214193607627081948602648601126725265787950012370261232821385606726525068664561415876411876906976066325813943527384069100590057219208291543195253777943055371180569246758358037117317991011258734224588637344265255076261700611252633105963163936320947579062575915428438079315244018202152268259131913130616733725166946101593681395866024054770074632522054949456110579981561478544778472895309092149960276296641063808208189116286267692461396453475669230386693701354329933286971227173349678519665317660032420556638787186733487987366319827424744868278024171899869521111753126999186180881711700993340439250195676665132512389085844038157309554863270285820332706549361688268515251496362949823860693373666366199484439908109844151952641097537858205345937402884808276844682671354590993269933095446456311970879290983196113770935117897305205736929472314532120908786529500333134743291879082896491990657251033810606558768975642144987210035551870444846588059270102598937303356235464032290636729254930962446427169449639716084766107295475638137721655916420089117106279446611529850802038607236665231008624163796953034498079182850238686937663872749675302228148449519207173141898998322639475144045228423873131557040523986380705457708727925580213688251931739837985141254133529902313357684871699802055557887887199285919904998728112746482263646250994043524495903076064644179826983151808432612998342475990129619235165437893966116142950352838360365439533497349942931049392062769006803777199328469780671817314528143735148549461380583545502134269975396579341160952861525173206471099610477022628979380045233340814665207349799714373114531447503988209670532578752026603165882807459467268600646159507051118707533707507146281134019143974494260402855400411641746973162317706123927251590130977869034989194959767815869725747580799152511770651023159890822787419169842618585750393219458896574131056223656257341608446704654763616626218412158841938796373207516004790938070868927793895842994786514360341271811473386103534377139219065379821960653765203311572943180546456378919317664498255665071406872023771906833697720140092383121281875196720754533185552380422596385359469392367905796886067309065912409505667947353429953064131045471552519993731920160093592909173074466405071552314462635173601730677432470937963438172170120703295057508091585262934728264310255194655356813782139558726491385541765590167200324023673361217392462993600120031810351566645236947900467385149104886220097337971860898683116308640236771294554433376601515719844501541661381649384864853239882751976885520308358256089473694591356393996216665292959298827425076866969395132289833941800023695944185386378934813781746405577144009201960341623925710657214215782030358674362555814412424377007643083940045123498130327611942832527410112709016929498572026366917530900495875760686398181425193479794359947221384032115363700107959288109204696383285989425142093350775003923861400067379774380597560308692422890008593652425303907889998076554759594611923579897801778281989505673771705092669354745873294572934781985112035401821013504037544951532602840058268328091578793613137130717336142553524778445154436583268900917516782673880371978771992245095889584986991566840875473992323239149707865412373505561968812598564914947234884469520715111899015241627376085368418902644096536011363600240553083320890831147226992539766531883947081547306909154462537901151342564126572510354510957928198641310199302287671452034600378134518094309070470382354707419649160832271585067609325851341999626983092547387806868271922072087260138240538531733378659344617900336355465294449765406632014238935566915611767176290420590451657980935696713733280607187223089648803365098509585278543412137436773189179048475469098163779848258175648450384035059692190829668055506929800112138537867227140472884029846442625066650519100822700803112665243897881179493843352477221987896099079975349149529133134649187271826567617968349006210802845044197567827027067667237770759797642005434474047528555350241177877593148128822298410874423131719376009518198172966385645344767895738262676559830609260041107675174310232200539584028739341438339355916071893707793877182835948874984127463067571841451419380922889305198059711432153054075572311692816932320657118206865019922985583502664078818092448756111203690245966425054233218237139595862518549959315221277808912065499233156747709737089257715152848854261681398559647318953266691447200222683677983117021267877839812051851723755373470923243113446400206215659974888710310529675622576321553874808336035915202482289769685474586709333388622242782446354406969131449976309615974715222408910519913904527157906939689261251220600971408279270841764023490970311968893166467715476764716546710769300236178646960452223189333942766770024113834711146833702470173967975611198848927109376106819960350677216005331432490908730629876937425308219086096089004263919753111841968141637746946737884600043262372949492920163755979410898703318760903612232715989150635742049184055443105168158539894663890154751014561714980003231978859662503692780726303906427580756821476042000302923064594544325701265735385265543030442440539656873340224857169405603804401330036368851454851824905402494005128939362085072480805557318621698671625478320285589517242463213450735920469984629001748969086323910477730483644625012547721429520844847873538706342370433162304164405267796606377778432374377670747950276328020671389930553967744081746117835570432047700660098651383343139433983349683677498999804711617965666308971585122390713544408536437661748031326571145407426200366564599716182577404707544574802871206904014310442404432993525924059887927536332810705136090100454806759939153300302816306856520625049626254681265797278003653668109647731632018002070151202905228705612005682270112328932062468281467924531539 : 14655507226803527176700002277736344206367442132244781004703891366194728324076043916486542961493360617112990914465465944677683917123279362160878149849527233748737117263516037949818699921021977847430619817771065408866949904263364359742678228212407389886798269339573426361515691773854318773114301844121183053980534671106317215717411676119780174466425394199497547471268196413918045531821760730855495368875722025068611913252897381591687829383133121011040975490557374360561952739489057799754622698851470381088792976838835760171496600092060018280332402121552211708283060544065113111128393125001595109200885954946766114704700528484404327406880701276392633311091657239840008458114950200723180407035512367953189994138919889559659169405252514375203910482586940725407785030864857661803875541931714721188528970788346834339449367308898423986533129099777321057222703057874599685176732375959520346860622903855199887386450662118665154267354744321129221243663330142051378251940895676522551411403195374505298800070456613489923582607412983437303077019519237970719064981561297328389160211826557318637629706988195200142967728715006033643835118969972215841933619368887566885725978515382052518298586328831373145416025398733333011067440899102889549509928522801656168511598000206167201926161309175365109547021844641156719454331963192772587417678118433163604787565918781723668096507913878122448762631324391517837180905354314016588004019218284763180345260763020123295795881302558197714279564764343193630049106442879294823992969248431347565551793982440376847042350224859765963949421914156986085489983786912918679628438165488725116989291782009246249516461097401268382389989438382766600663801062801891058933685966194385286355151072629215834047859709926123174142970068360450571964623179841771860887633066158329158116045988576027962313741548920062674268049053099303233096023037064545628194799876788658846430334642132495950233451184546581618520141975460912468970690206361454484141874954866460060549712690597623451352935153837035637874388074995145143466604371922101080163320631660934460864341468649379556235078777581454755046290602589678388628249590935519046625707714940977381643747263622464730062771560915796567395500581632399153492153096722244985876431897106709201809669815191724851166309400992882469488562262615979764770935110126536127890730602852924168856287511586734428672028174241610334692956766108222170272107480935538253079505633906906426502412506074589588605948040617087968517624121882028392822252674811278499933405579305763200466868128077598385364184085167176570818585317475744296059805319945589514606625179996625241876013262767285058191666147587867317691363595751081657740727944473472066886306660025472021724203798183594143814320642838819036400949250153176400742283431731647273896076818183558800519865743864824114080623531284401502322670104823197494497522521831054917635716370527314143888696359928583505132643686311684316205485347978158076662600818193020084459942617613741195645308809459029456400599583237199814092806728264150268193738994533235152742418322323104830840286339712524386303420983092431622081730786412631659066948593235083075427852818895276355312049981528401988656148698371558108410463703016074556533562931916350430609043630225293277437183046445857031578669033629426082435027597231008439062155458670429550003287644863925868457561996651744785446034954413709524851870741402305605879379962390531087247931286372287354117658879903886626148743904923233471181400881822677718640671482844205992042485773612904896195831059015288008396479322063532145327624376959166138946190934264753751732265413025507757305882719638029397993074611807482899061609034545369353903566340093659439598387618338926854088857395042955582925966397696563260500159543028360949441878730055725694704760333432040365746367630044851800729191573391656704278852956491833989516761435245606838916633931255309262732144600392890775410237416087654269118054897089638093290069843239856612429266056468898596602943375930619724900146964394903623909490410999513887914105852071775565384835737168762369506882728876191561663102590107942684577534502640442982380656659546015241387893289674196717506973364299905062327161706764326289578230790710580951219962203156255104954529269716415003815615253679096150438598380982181630696090457531054901561417437138860251950689947602742137603707320511218497253796590637638347571621961841992631185414956697744318804597544731141378986252908180125072162333706313260567248241562328223183929945053555064064139720152028520912208908425827674417820480901515127804516511818958705442054512308435493957390902292771052384818882610530451035679256584465090913889785950953942666567660577525892290867175045869552455142845743110827981518943656195345122652156220313560661077611322353706073234652050954476457246675327025897620175090329524274113513111862792498722951826218362910444761824108114686956124200733583359222381287370051850644594738569860320451116233178074549662819588722181017777896889463064301400317070278640539014958332767683707652873489298279714808237756563209910433065060906007834678190309778547747601545636019565493938696177406797966781180486456342419670589346899173030747715963800608315993280875037703245938775981580857006142683708660744325692310211375699002073491030061411003291037757462878521888367848993517609487524452782646809717469663089541202100885749953335576115277403751677659566835708082525756632560618264676061966421552903305797055427198866266221221912695784306772688629307320199466449045881466638084609774400028680570655889029900960825010672374648707277537319241296983096283542829187211563338842896817067000690325194167139668523953879253057608615011022454261384680139687341197047635531499159426970738436497457797318338194808734213626704824466845642627338613110390001185395228411365283773421326080109548340316785985180595638523131656263852774517588824424941400772571667091203441250090073500225028499425124358929497696817915310502328559917159700564210101541876977128887044242036916843351207358099700521976246113112768342960752450380001544804060186559424608884690811408011335577560886994112995229917922220072595383522060614878043519118050319573445311210988897863196047209977856000101251258727867245418944510935925537244893990315881783316645390219472247337759044380897027628283240731477862445654751167912322620582175314833211106741785825521529380118139468667365948581733125676115943379124818745972230568269812024722099959014587701047188328927584456551217744145102907610865139794539011608780372575356353426951937502881411478124870586313815344951866940892404431687804173245283940535487722330854832469021120494959730342449964421518015992054824410204639444020566316209123301736705186321776799862248573946244064209345962338567008824361080228059702671497297925435799926656742314908860233818487328158664835676732682679694092749120955207576131485962982722658140016597084461797370486369451561417514925921047669397177719417664274767145200101645440038796111915870647666559312919924591062752241222489969186356649129050701608063129020955761755594132357280576788193900788212901481617327329774656716521562578200025492479952050064256456393035822062658896350971664495520842126927474910702913793586477981069713123465751956071789557395798070916043792041169779982679036048144958525500632890971138719044922187629432182690526314069918176501233967511919113557842774871218888478207034176484472464875649627167075195004118201620952033745382150327685525245261683166265729061253974371418565523032006388364363478804812340890621648614929660525659127673242381208812030402889933607474239576415922184281414435224099712860501135375906868797769759269062601473913540314919875900867481565249859121548350215444630587519391275829968490529859535171783348257148174283070246701459167627238126960578725138917591277635773683041068452327159433466676951646077198136923100612665060213019127506555907110311432727101348077195390840210174730444017530533333507383146329449672364545224036632370790002651446261742310197592003223203458849674731305084995180207973734603976040880450869061312003660606245876808164758110374869853529493626561398510105795753803220567828500175001203672799245384746226302682536658404117547414265502641683079336541465075406180164147408648769701879106236140741347879310238623937371018307553939389103812158758826753977626989827145421538418685190505743520270295990867010965061568979898216112408310000644489509847678603101135077718268597069330794106411155628672168898357352057190501626542132393669175693598753287661035101375370138097404271575030913765942295566048285672819270834646041582200909426904073419144387164175306274957091074890551044858815519631520536728463051088669442060109773616190814568128420533821978025513286761608141731357416082409658920524142684925438923743858912839586860091470799503921687823952328986870799145527734040925783875021049871206365883853982709214761233570916103619790059887796145255148129888128663660521980738259690081177071735597286879018027496112219876128137609184374306034841791584830050447125163148140642589199279656635682552030560517938044174900969720407495036874674163354269980100343884761394441178413322191088317482861589563745316411986164556036541074131647616860615178386017899241019791044304524934460447487928240039718470803864346352844777103179950907813779727727360963818807602312508556910501468237408197258130427077422514810711394869816970900033372599215668317853716416050477720593130615080276029016122113826297796426091710098394466965992794170228972048135205552372759966366714864410616345675841362811085846203995575121070240736580052495511899623696673237085302746759410678133852688266547082803729640686675563443911540780257071191725709703003056736947328920527010718734937191762862429797639173313973720320446370861958184325162492242132881070789801555502271852716420906700304063073548876724206367135629857754797158308900741925124625119128855797610060668780295358316953478786501502772896536735101191394594176160623790864132273606108630772028400219176226063693941674606711188581523910252253692684668736777292124650745737583689453562236549921028413678182100311837003754109252375189794960872495549753695666820223373459909511547419914932475885690934683028219479280117774403614078638572778888496742669537650016864136746102711671810110567162699117749404954996432650390571669640831292486979640894585147200662645541205717417161803587368488303384248389343262214038210546379143086519377821721376151810831104964381879294495204598327299869893830508009987176916681243979637758667128892898193918490216099525829389819559735694264082843279574038190916164716601630769207176729383344675148741035115183203868922594273177925386167061834828018463117434319423383761468184732416764455271043584002808565613681332294083363836962701568401272125746100359719538464376109307672634502311895132466713898477561433801945267863114270350830995789742321248962376007086653015819997348893239853764123668571117296619171995105549869914350721704323821224708949382721850085106837269998391734686560479918325176555052222413526737729646154380145966085297573691489051506449454685420333277059924014671162944537970530054462174578870591175434100751253544873794117362302620665811243358291035672174255172498968505250589555501072647904666066306783504977357756037283424799641318059615039399525149061526917957677665518617467622604847458869225021844149056857678571545127223602572229987221149075342947146535848142453652158850093051072109769225348914676977636394171038443550420530608817854654411821884700237407849468426585135565908620990407899426879794413567105801764514714595827901695181506395502954415774844457003829307429575835197836022630396051697499388236490422034517782538357638273052452646527760953399193716270345006613934689867926344093984795779448065529931144412652204889091668457681702118273651558876127979940667799852268787146603527563906774669218612350721897181856025694934098660606406500747171079512666904872426274521893048976898147252092645364704207977710947776956007638814722392231676421736044619015270680810216408615156093140111880979209798932168777371384260524182236299719759305951809990110578186644860346461643538394236309851136671169903057535405305611202606095770302633111503916644230500784873015417773989795142488053511233130189339411327105611154539355695488862236707991610018387393070398306938851779423779717720580857509970292789924682318465613966637388778157242951529676921349678688660809927465769566223279282936811677383761022691390043419141532705611790321268879576190461000357074145221616086611727227234776627921443677795248702163084555003283912414562540775091876707843593970868234760581419268203581355636274204413155891255650758371810878671744369049505908440380697389317409456507697199715946974646394725749952466282453645151341400901135702995104621186055124637355669513002424255971371868482300172681748946649054287565354179849695440330159483931159437444326434382312787467455699611800958976201855228704849076413701479554576770771577653173073261439902867809194859298016199536427693230510308094811298609618736440526754120955514025208264369808061652335812088048705442745689076530758732657293826434012292711786179752302760126326096917060610491191303054196710547617481042105282048470299702780378587949653060658400417691446914507766581012600940053749016763261997540744560782637972388570358578265167234182146439598235132720124768024683372649421935180589526574301269822121487326666033681129506918212197026867880729502746183650281127905953976170127216601741622313195227664798811710073142249281034918176946184799620900202925446290810485808023644922246836477379520629826449843408227025458576302401816583124825276235472286175597889188853363628495697455501605915931352577521433749414104661563994621112950991649989941847363407209519910195119174288763677128680640285235921836766884382783108891246968433487658838350488201438216031280326437884912324398252083338897916540291990552028060745161537189229492659441747615904694250940019855585644284474228766002978334831992008650792950840467124879974526937676015158683867780871660054833851702421360619809887604319870554832988738793496316932821553452878414232657782494832317408997434786469992802071131132433767578533445480002706740616559747224640521337113024122265107510213168611185379804413177966863060583621476362351657393455555593727373137883884307550123906285806753322015156564645052406293813084760780245563737327883768786208550008111055783616974277462387036927481475763303323233968971819803185396867091039069109665060177940678470495256725062137978258079576490328188220230376606775676590293044288866511254940152041521458839652790779660629659383178114230620118231156577837359083518267979696986084212671644356796359140470465292971344797722958789178350470272058405087676720158153255858111408314869759143285024036386973207904286558392340925098434956909253027882968676185361287886301764987114117625663393246452500735381896362856119255133274976910960358423362953744975218414310584385147138130393674857974741280770568972064376504685156636933253082323255407500195974329227636293129630167744994461157515727633892469886314054385572431935272659328127293039660414331753718609279983551796404954864814763424719477674600790340281089553402184027725094146335449524307940484690402210951812661738307255766161743297598002251727120478177885738365297463266532956585009378845451066135776019546864186162779298011958710863437997801176457309398420930125958392710151849705527887689103775110952060959776282162930958247749328867383637092933833173763924713849598044996216309655963871160007403421723176653633534362642992452056061319315571413023836728138103575074588339721992907091894584896291284003658244107824022131109217114167104588709018975046661563399214379683141171728663874455434305580619981983737093342183590019596656964734147557974605943615553394033640516438367431483396259854258580029281137458497707687512988063865702049919855856947422748351179856280818457359200679469331005259866009083100238980208853076523252641910267183818842041864334315889868110685883840150719013318187059538355265614106905222107588206699299216105045256598696216561360180206737459509374405325578197574736236118713756748329822238038278848413306777518158619996210666989348803012640252575510438665638356660833125418324815921975265314693910355177371883423013797430682397947433594697169676852571559632454293112970595442497903857901186112612427575646718012642333354630720283085754672669196569576649681468015419949454677292980382459610096729916731662521142964416454708557544672525346568298289979716993592553918278562210073447966129264789956500693163034976659261848457433540691424699684178549058659199157697294730637865764107441843238692059657682774199095668581838866906253436460032656456971930521071050469465003709007750112864309534391499418136251147122444271346163970690206048401375745117280187463513392294350360503878269154436634527372381443574711150106661588091008626094126842529707919963807854574567611527856065337207955199430923592104466635291636173456266389560914561538115554006520322152023423915395389346024678894523595015561908666465281241774855256381859978675418120617245258265816187830371716867909223045988650509625737283264085887582577855017300191519608929735176209758704449475366057704188585397090329209061466360586828332345511193216981921340123495889923634115239048063288264379335098411893363109366245507859444087749788121803282551573799529909824157508789560641240232622452000281928916736123498503049442609500040368873979894128597879329504334736854451928478275237886334119110800118015012554412147591694678441166332807816710727957999377324728159494349236568734523678802695529324567470654452398964324496454903875377224128049891794097374609043117613993728438941333282754422203790136097394978133392110809532459799603838372559281549838803904518741506741620897789135051804298719182380138178921871461465713453482949123453928283853996616560405222503369664460388224273287868625838095202253215180140189217764181531705275273042567619310328300785446172949662118707362536642075880373052788631518937254498655845392082065499130493237571697336800669202479990116282187439601021644474053821833751115250533916012135432326582795758442723736925688697511882994496977583928878298810279801662972584828694322860402007979479500825732935081153302753833776606994205290422651037867672158024102920858284306729915964443957405734322748759455884949330409685778804302777666649203780736162617713346230300285867565360420622010934960342784831028186406401526715295729864253924456119444605185216363180057296859734442720218595884810502434177260639532845462735016351435131521714990715275219683564205186007897653356868289039051067988885444650259829756432759578532689666767863102251082785931327096524846851362162199471942265016188910502929066893541797199448256948337282782901295748472387356171979580229053120386593622986734018056780415557398619575118655658359573491365195019186438453412334530871068948878006446929245994532128481624979842132306254848975447233213085944822715375637038214619826180668935319235668634624380332442474151256293898191289480382503810349069180783401673399422494948564311688833180575857316433224383717732042521770144081330418244332997425994252106503656431952726594604438931010467067332982586013147177695591764985190996304354982369558809356020166415842796023751087149833701826077846147096511079230990126266543619465253993458994737718255313905723586569564745642715590613927176035123708153305165723063485499503206999221728112712496097362469288507784432925340286011850342866152851765473024439592287307574276107823191679668957420688641931470119246988373490210702024025058418603554676097269457163375401206356907113034730928091042704994031636945181740492306333881782665610406199010523174851302535975142858835591768856468426436117903410042023500764498331517125582315409650939801650911710015035140325795866961300482853872561039533317666894205099213970613732443490819610419270881891858149214592950212261583214313754247630923762898037529389316333520767608424758407709428260821071579862276202139210156813312335867666547443479984438343209064859122848325644462025530454655904043137410855660738355649244468681500535268936034134189658710982577246833589328094748324684146477470015435407988897429361325773130464170243202822274196498366525853344096223865233885202360836077292434053330003283172488253643681607295479826717181547605184356133441789139993017200973054059518149748789419773106532204518891366690900658873152881413333964275253907035723905365893242957828510089756327117793350780776050341283576895939035059407883296519717488793099283017852257354025991945099666172598991052612826776608525607511097585692878376030224404124905556506511866919711572914550192422775237492284142401673437380470412365561202457218719450667995800780213012286677102729207404663273337134824248104250637861580152340492759940596626810441705135940159256121579952839282343863492320888705472460591515818588647920983410170039051885449157368440201360443526897021102455272743703129517786849356375453107369799135429685006552263548639838026905404173091939353981246392631088914809379163696425826521545642525597404761911387662556872030398263733192606996218578445567937461899927683724047847691379395589880331046383771900240044535108738002549216884655586033409149758730011901238676974335567938741511986427761957739323171549209556912192165733888953864189325711035271062349144856426366311682213985703454608025987966378312280345655886677360428969313176588850629214427664332381556884974506143776648845430481081193369037518589897078965014609586311051341523180231868989079923288824434915393399510902387165856700883504967559713635647880780633056127909031675062568103449444714888927981719514143994463747503981555642697778252866903930659988361415628312627081904432666482044368323031357233168076650210219477685748058747015445122475263286598770166074257999908376230811388092799829455596281703732814088492781240118728293534854339197580391970648708575163932047290590455768969615804017523243987255665018865850090376433082052487969812486679398755165624777689967935176163548222741386418184456156631180490444850078059135873060513844001240605810067927341129012150139678958626138396085915351175832434602123636596189626172109489082564778976317605457757768846173481101131252986533285924788901899176721376759190697204980916568470822920802575387338060070610885239393884035195586764810476699302912787006847237861499514606028940932235499811094687735546998378153807473423114812435389902369437404260780040358849800207496820288081114467795300162794321727338837312767245662975640704882137045989002771012683482479670125752534306326378152647393673462303945687687466301834007215902383509976261653778837098045853897838269066802524824721428357029142315182304007751573958432373542511104211642134279931040769847881945117128697730720463652758963671072604441651338417343547267075042783538159899856101308870676504581247891308369888006948295416259581813368529584630935416618320253789540561254870841301372060734950085461195343197669077353762948267909696106944506012621520774939217041384904786610487654745784837745785273605339532649921588514729153079673946156695770311384129507575620339261565653099141091763318493816904852550872101472861353651718129443618655616033739919823354452113429657034443023618442415004622993389708503492732540168518798049830188958669414622487532961182903793279955038287001974920003474923419203510212983605681613988986026270629961284749870561172001937189219775605762910965970434088140548522896158582616730352378925567776233737336013913052466833015790015993437570194711166178645622410799140524486011524621249796512010817897515675376731479268553660981757195439640676688010330494859401718424137531289353344949227539923751785710912805902309480657376184256913021240945309773724707393044416521019828481311308090111037383054211553752963400081158470680194341770690408896756340957790605917704867572092983490415393090152123761906205281072385875269683363694367421175420420039282251024618400002799673108364514632495744214579624276019533212595673344020568066681699033386856893206030245598987340845783096803765332823136089254692016121827940481267431919833339619288387678428628130030849480076765214435979238554446456532419896520194004644305987147107688557311878223689643678202685940020808766609603357594682755348137338510359344377034329730023249221760749462501334206324882363605182409571061779533375131863921044725831499415143560880504036868758564088142767398481729342703032190678772315988672919619310356084645661608404010445446088625194978158935745151864900470201897613034643600503695699227907232669661368286916752804717115375158581796489312793743344233761994207919470956716065286475236611964921445126919169324373834877308443155929364245183590494881883450169042134708539157543461934176213994381456708587308323051983595675284993671273533528021913763902626893176805424630998382488340375985724596206733591581365917412989186539345023269292664616836003060046195047997270253705710200086801053559452282570164287459520694528124361008979471292942575521558643921247933993855803988321134051154929606200172219631635174343164506202340861457208269955388809217285107509865941045920145460542403189220275815330658118055048014050553575943386741195819257579014289634176661820178967282419689114932222564750444171350935873033173529609006687325465841915410402755523420913784327225429157750228443220955766200840077339757319111719662758036607786015987753915152770488171565424990254878531442288208689391841154985206325049580700461113555486000970941030052507139563801538519395796771889796840223241114802960572519351809088469037182745491555274980177311057523187900916282612378488420909891743211454733908009538051264008536558607796118076838438703332730274702759931692573790347008285812481989210786897133592823221182901978751647318849986838892092324064441756956727029723504850923994460908275100004006659824815060001260040032532933966165474342401984188815390090875882011657250533113505762133703791674184001115008299148585318897918928538722401929211036489634873338378397944225066753178723118481411197954106732000916704562177011448859405863208445455652537880131957366173114102175301094585787639147083508196063290380329418318320423910352794814480588834650331727330666053717243759919171236283203859990041904836194647359377801816242267070929157541599888613465446030648420438008191954279591042583769811422677804336008104592835139720144926097792528549651156987001753238192646511815845389532510155503637462519738468441063588697717038462403303915378616444927754066031311895408198582071290243552658877355425333629253415036685346005367188473605556769052881446534227764205413013463020330584510209985938710793494630389987783087804598139365074911433666448253241938671494164565837851009573477257048659598906823452663469410003442093882734481138670085176959686273975518353658303734870306576402656293181287159210732356792042218719494888433811692540435591944457603854317349156020302104250867911244949541722532684081419584394911745957275623265757187606764748915628715323232895272146886292436400329563757661188641261818507429874491307991381045060178947103912052124269905964598094335012705739759276094005101763583879871906833582724232713884753859552373220299049019536934014440592681321794781720965259703530727682380677275883684713227625246434507352364361454539686565902307942181788289304834305104250215430915160920912990812474350555928036247482720638214209048958865098629468502061511635618876676847759088438315054316072508171694047304142322838232191084937117235017258237540192378002228923494169073919490251229033168135574631072967956926131545075294367280886413520065257814733204330883347827042623701756554583377135918701718000248404951098948396488519230719586196555453085453453484311688678527369178006546577261105499215380290128217920554388355851223783192558532071319780391949136473692444782756502672866019446569741552392462147715433378227751307826401816446068339192247666182693803323276000718882916315032017403969827246295393287214682395206759254914305449431284347707267420687670559988891863615012054529254316458958426791908629250542322237680387528519357945324862659969498552551055451254600409786227526419938005170895820503398566430217782230802643061774866773590677703964490339592764399949652349905635013007020644025943222318635041709617370204849965548216931291547615489579123152382349980174783828390143713323257648309353990025397368013975936220308470012739592694855800363092033233050451850473811639417020705249469965127465140058241326760382697989454203149502682520786906162910992140896477239702292791543152273910165260260942079138815124971640038398673663211163730411362931884407477019274605745340549919625421140502310136743368251957175496318077911555196444812315854372416889662901322163003237425867345559097810017583863525409386771065214409204264062671752666016581034531244065039845140126240695544258491151020187293833648880858505981481736953389161850439286707066185533921239127066466513910517030869196882088199540094904484762922707071578437426914308221185549863824564074970480915910014069686248655618341833105914223530736194783074807267328510001491907328930096272626734932290125056501756089494860634649155285693795338559444757092612886585626538634413093220452046198477415611786773052451666168787093907522191044419293637974255663276619387952203515558230214632023918147934902015778586999278611244628869189213983042859344442642213757768480473732127123340325403206383991159013376364859046383480594132580362610752150694425366993624036990537339459602461540617765784516859193541332437875216542778417549827351401952795763157353207201321296427015177891501830849880703246822807922111771575441407040958428178583220652243470981315271056933082038837257261548750353244936001326528438370700408920271764665409782031965351369470674830246961901593324226138745972572170231735810712445101508733255944575165208633674253297856303603179522174996550307452619214150149730379571105457197150778618702252782652844761211732936428442201945122059607279428387758288633024087756581991147729701975111305274892720352312504498220747694833823264720207473912839952402548399059663316317444459561370645413826051065006559181235950831152230876198533063344261457862043611538771809102424515832642922365555905543431712078164802902239017697030373808140699568679434223277483337026625309790440119179959152461797228829112936475666528639392969627286295553677452778676792132668660575642503608917366811126844098608850898667919006509547337243646948806040530025878997002771058026457313823524304270390503380215782266758138191044119975724552825858230643878229216851273519622916355464623776946364341346326573513046894974515512638268381191452941981611787966481949919851589999431334960680123039487541434704753672849033906795218859183456261741182322563216670639174991081859781727365607440929758313757767380592958351287654821018124917466339894935714052895915135126112394450400147564101387917954618815975370547026260111736998973987180778771099953026018129047256365746246178975031028381530160479245433404226444390089564469121520012080889228693577465125585729383664166655796099502131668231662310437644834691144601513463859349725480601928519103127670203705376176163825043196999486980119010771683985427811587956096680129905342161736524901670121117301124173284617017274011823538330699903498556245667780855009215894347234970878233899024853450925031372637358262012913426465015280456189694823796083002477676619307237060528771190027806048558966010749215891828136831202024790046075030136444929342029204031405312699799114971494019276257903217958540056805097312566532059249683814289741193491099306587092756249711538094483882332946421291066048885892201242104605393678609674777144285491380288363316422203523800308410816147045076690698965472828979479615627083830384205133296909458376915003609696082327018092125697272349762645898668095763936947840604680354923473825562906911827295154773643754071597719117071660767447164461297520092004318895899498739382481675308061149095146636548703624160858871150596682069364596730269212260349404686864047559407313394874883066699356212396917411554416620443979732259038475636697841691033256275395858078756373002313295587495657256871253826182808197617485465963186304644082862764228682776548468330204116766354872386726098756953897369068114249915285586726685138829254466522043322493236520712711259903838361417086459325823133683210551672564335139034203478699102554627254069123226015553513699473619887287350863320071402286827860189683280595412902252627885394225688093819360573939314815287740405449327751347562883669347168738510043207760725201373445875531363436522643341170712096376037572136975621287234508444314591912948241719494897123246604518345362174140917076159937663132290389838359066385384982144761789277412219012678658404911175726902000905740773266518346508431123967305437469459157178109849214551201754038736107226900288005469853870382118792739629462424235490797202402773065067904899726676920954415423068298141213045093776858049450306467543468407415369762533245498804962282822035145967067773856432133593264840661897556852662326319164191662999730154934589074741462857244613425613809855515020179116157827443273410997183756200219186624081127409308434158611980601729057742511115290280365974624251275435488669503370301173307720276638267542523566538385719069437303692233152574502454774291873423959429723386116935313353405499415659006501159189505065019159460127107578969995995488965465110380289324719871350915417760489332384986189412420270023711854312814121324697733895404503595060655811689782986824509989367002225494191004931478490581078536230513511105862188572117021892688637530974935390647595979780230981930010574260024880749397598246188450070281542513983641506960635777926834082029106510604212950693154862903568927519572393108820053641703605341985807245391958781308072585508538845447708578096054864756932762966960547786437646555731303116167510411629949560289537919966566116335440596480263635844324253611784781477089582730543443530417620251554207545542629478900536900376516174971478555228796980016894559327285031759093145391687418315487749530396377369341346216470195430420341385990138249461043669164635083993344154661565227648608439533526755823856671983702112773631190825170007476229880488256436018958354093076480057800500684606431175962191980603967933743007475628404538726377495570923776713709068111641747678166252637198977542701566220425493081659456387232118976636189547730369260418182049419974502201864125518104983137412322701607193556332104443737836481491687168395446961370584180371556984566139653431253158038394414030780579007231837560408583055628320598175557510763068501038485549354118710506222851868291578792594487749040327857306620821753580787144096287252636433599121519784230808151600959756645818353118026330771911623158606081848961480556299665625703877804953425825573638012791461443033195438412805758133898736561913100502046562040534198434629204740056260878905196242668140517731477960123444102709049270502059715755842655230463866591523829853950424970766059412062828201243403520657197225873892293728469390871121605006557532004064710117096956778441043685512603300524926308117493028636341665608796979461834781785331984941570730540615300484418824718584248382406649833097168189481004150742419046721709965927324000720865193595489002806134117100636080445257710761802236646312796364451652373092292001024048841535511206449408782108765774921598000582865487091399171440968861183919032834144242178774507600100311295884478573912068002289886010825119268881676160430949067999952071922007345634208456024603557977186723349581502621031467793347534981839661392169498274366109126777073238262173885695651293585348528490186568093286643265493658265979296810981001992803032693768362497444242481816982154005688663339291717884188088295560673517341581724275348135954025507823533497777786968441321905589803835555699148079499429056109391836301525402250691065488999769487313509979809080202981741096427533469116211541627269890667680057453043551613733780976468193349370699602182518817890143449141759222859349975823834896928571822061581069958928310018313003530484595598840636131569872915497043443413105025624088204241539543630687910055060440232623224744186835943633298655456638868304906470222704874175045509099602412232295436584206974001096188993814541075161900173807681656138350149231957291392430550004558857179926102079156501209387128324476487719057926966728908163833694533175426700884060662658073418439922601355189532811242826476857737429588099975635572451839057994477338235633279294595308029601971613730462609265848348836031057130247697293587839882662896184874879829074468059897047035129440373614726523591270149510917967320938421911296285771530042440597965868900027117952124677394309668628754407851435007390503060016979171659888984671741662341504326085362031496154630133382728110567017002356706290419684204735319547840819390511304245745619389992838894656728740168123912827276416919474085451139953483700208302162705056638153666271966343133616736088486944368726977185851282332559936501452647889157866265862681388518320336297597919258218311427271477111014655368354101225903702161330983304666806001665958011859502496220291259768075674851548485474004991990872545356611672871745128190747373841195695440650598066602983086399150496851293169255068711357563991712947098946026122931821876750995702521118328856851042319729063048182297418110045216685054612776544895471779464014606124923443767179128400261040777769730988390465506241947407680840533737101564476465624573027454681431421985783423264843459769187151934107279936301715500377799265324292292507202551323498453507771409956215445404429775804388564897797170194703214165614290294301565556104654215489242721688074790116822573872570976010834575117215953511756800430375539540630054987857329738072178189867470733879477538245122549928497632608033989366700346669407522026491107114382013178266071411195979502568889940813596215943602600964085560599122181413078581353795339190297895139594820602492182180386207081219393400924470919512916054745356271087024696092666896241022219421212457009850513221046030780815396025940368454109021054190043209105827776727159441540978205061566382309234918467642478992146106878687089598847659127675116802952944650261203248646254084893229023488592426429567283331680213459624974002315013646248163005217170868718312409954992367869931573364613252492929377228893067056701996012799800773891120362895629718799290292839071883632181225448878204096237968234641148296629918975294891598101693911573282231810250009065133002453033278406204581018032180156216796936683953917236283982746936137823182713709064148439116941599724932919263548176403936642406049844590285783701215289281078636754043756393888923714903195538823776552571176737223031003196520338013453349907550213623739857975741299340430975432033093734697671393298809369266786328376531736436058905901481085846972317533338494539925711741685517370287578800786415294244880123194103732196120087963567148577145081766170313179501266931656024942030076808168418589454698834049435977044326093068995172889119218915525891411249371554737551654164508662085853674474818488017781766891580318236741320078078238737427028167755631779477376419603374503398683276620954203269821987122771800966775148713282664688849242734196344030448327077921466154071433225816105678364456771821166240137030668716203079066138746521916204117951442389495774064091687036854225940956700724777950390683653023367656775938766120296901636573124280651585953869381278807960384439385627841696244299966244471323014686675811213589051794109052645216432109214939553143552871381691945311760419879293813374393651968785382650882844639744953595379345511827756930491472227888525801185033046250536183301083065866938558796827248483634621825089529498022798630320455738501002102574912365162751773238837624087865668572346671692833472978629913481863992176177835524060923332211484734154476507992073974331575804475146468374919001007840542690925033427468917364237219943907539317694343018982986977780156979163783165440011383224971795152422831228886989761392871397725182349472302290285010824391220434468467785569758203797809714301441435248737650004493162857684920792037274065462158192084965904651400719793027041663463092501995624809950725291986973513946548026684048859227760977777508111623216090505135804934702123130746909796857420262899380792529706409089722543039629491522317206123254429892349572051365966642607049865231886820686098315026758715784277575307770044865055646996794453969828714779080962556109186118927772273478963662137135835841601268830837781427633900104071067220509802518311301577945203132755509293063494484370346945146374317454464173416424655809420774212704372004358088173558677776115554023211859245145183060436486124348406557406251398344294478666273412102344872480192092694797197478630229681541733970077348192610205246052298109385102650124726992987828556067124565345462604549417262092926722899040108083979117910468585011089611763946493890041197414647809068429422953399237620525172030305160033225653177413331642548113754346406321486687423989198719307906116642305823750433346234083131175427946528656820232119253818474811050551585066317928526085230675024375829989111535223766220687298622283832994697672100444025742632006890248126338925549962543374529458219272375365105582463226513483673439378094551354737126058555565559657718863223121829590801252685466122474497133432672178233187076375013933468702632411661598102174070012287805267823148398885684151474234620927696342120358172947405821392049556415744946643981225973391554723514574128779080973430820630731713453489144416933105712758557520611745390212646861492845475540561017997874353586929243704890529228459788467494686749287942617072989290677394922184651311778514067479569523436613730224684942369725608662786788870293167232911166584782428619461986083928353181806629899652584862203237546904832377797160475872752273019106303442857522598056356830502527187575638405664522436025671321516558664570883092787429835618737071837591285424263037928214023544854907457846485939513723905141380429353077205773739935555476463452527429578617448203796514395282698048915740304565724484877687654338452204194826546781432593277374453433748245798279229393507342119661002494778254745020290784277512526406633025321556572176537754276131138917411937765479411484534761453339883425506631153809131902223286660132841047330054508433709157023858165426389836042520588724406644372572357131221654131624818675208449753524460475354143745210617303155376928807724064675475656837057782871769913050189429504764952602625955371777048628712590055287348839160772987042399020483218521060938269849272098883322004715433438513304778112649975946671045389883662882045060732314323357914914171053560680365731742672489770488159379096584760743809266117568749614531776302030442700888029760822511530192648847050678609437445924496232196444133810608033105685390824036126265916660630493399455981216741727615114906126003068728510883473754674089007897291879419031819396836790692576447939150105884131720004736891967217068211668848304864626323146292015934931488379323166179492638256445326808287088365248973272987947178399235977473875528236784791172158225060767822922955809277676716068692736559895892326060494968837301285975383643226288624903591065816206502937786953094713709529942950911349473303738944666994862680209366447475795522807937182531206519081872557016386304257293545838318134680048466446406591372326422840763534022588957509232489197496603574405127719427202601013845970875679893225924308315972367394697277952485201110945723579835954693722541878846061007106047305377945576934566888104286899351015757253105193621718269785850323191955741764991247607459636075121250391233921734535865870309180564820866458751609399240926758134839378267580387588803233141948375179520490635112568782095326937560004824619029271393140168029818303763025120511633877054332238281672767348159083939278661747679002648520081900161530789007045666300424277599786576834320743999583331374699865754922679709762602589007345325862781198433617206348455647661602373189323933479305740533923559737152781403938039450985179277843992669029103871079247234270669979399416292495051474521010019276881948185165504729401885076522081051330328987192969393025213650448718297710143656847394281628628321965941487725473531327749811456837877153886650549010384411460687340384985978652510914712442298298002077529215031336717159014836933018440499908303700253655901860686271831028245371458629472766205677841667679706497839483437565552435028686892690870027494666204105575579827114975518534725366649729514824634655008774746526234763194989654339473405411720126326765117647919327188698499247504017960699906421432331368336905058697051509859790767884357547015215787133024595361437119875404621481025068834504320368635952151417571750050566043877419602992480239818647680275794314408415547043880407407672437039494571396795416591992201297550880048896208341654529495860810849174772598003440624319289596312538938235771215291559550168496131040558597337002702532512727644751773825039004405001644191710723135539704326820310255028881370067835872745463407023208821937085509163573662106027658532147449072067816779596354961797333339370454846738709692662942833480667713661888106761631156250251262091468876988346413486388008098135566839621307666473443366829744982832641718538500143197189424483023697275321691351063212884117868579208139311101636877447965683681048894112104912657198614290660465721067577696975129590346774744188260743161530574854681119982768584664530111750417471003762682844774647447828848489581098560673965799624573189770816540548017423559949599915477605362406001283167213392020113804902868569332088518622007922633754878646854961544556005106245821960478905117785658566894844142581292719951673696743726004457358146510875505622743472319212240544540099296388150113788868147501085744549768571319838664516413228145298047312534868995766361713359416061126679155919761275046446999014340870945611559825559570410690721504769980414377406094080790850323036967947140858853621848838386880385254269497351670374439727160820656229865434608239360868837411305494563544875104094692688911838761668936339499746205559655302600532976414483558111063236685900318626321873170336749316089402748054354856696636644846800171326794134334975110111390221568000000619781614809162347004860943706517094576923196388864548882248643858061425840576509751194066941596877839186717207543924691341450901988960720545349081102745208513405005451273027787454415206642670945648668788322703509964092576829316942129907151040395657622358606620911696552040799927628629782555178107535072799426047578136039396732456205323271613285252180383416477198150239479821977257903979389597522518240205184550545054464941016142334460241651382922607796560408036322307278117067674457000554528174167013274269188495665568206009858487234599053884014504008690072062671840336722186002743634174641896001808431448224772497296852136005114248438089789864311769708645193579437860095218489860305533039766250499970017703176751247154163449259046468384912324350642634289374217068816458889228380257567228924090101601576105377562040830026690633962392890810327068027870531638323851538334021121471705698019832425453282772450666445113471994027004388170427620370109615634829207530409709210153797556141746033675006412610083545758004887609897099493423135160464724183725181600962803784761526323081722337865192533449881610278967808957839664648406042943609009987341260725321379265101690929419655706223979090730883417417059067285563450756378839746872782190067290260781459377550072574613857892709520583370343668676564460450252077671403615357951638104518029125417444039393678957633258407063431971604825202482419522735471575885324547202652591415944834270471710050517887974678040518806682660577838303482047385038298903954021690504049118497411345038884111160522174198401752549990416818681762329983654325125995230353999620505857914070923560930186290353847806978786705947885376358688276135523268923747645690354205190788802648673479021942275145485894706042503083540275290543641238088563062184872545951686846800084079369901030394137732100185219302125926786977465171533386792772600943668198225099827061835840344962227017308405623239410643542058929746577526496416812727776852114016395753119639095805841162460820312623543629729555568918428356666203932984124353364362080414436599412919263776776571906917454079168500581879702760949709819694642451512673218907641295251285959839397118220858409932966385529826381461455060729860159523505422104977136582522679978487284377570676480469521702958373970450595139407487791618790838801084420511811984565924300797049136939075733462686159263037027163773123397809364311351090469857855554857701595035573792488084395513495198624734824922764884282398692670041002132253111821491457760943187386368857558944635021891736711787917220346985119449552794778241267670333260355700713242342189853058943567686327425620179903219988238713381546495281574693981455810878326873970625008900324575509840790847927335431259885971597391616932235362514348943125031919488474319624942499239617690040575268278078062073053744954824746487498743721125019392606623238187518546016533255128956729713456884918869272084738882752408400699346034837914893734954694406791767021137031330210226417226131412132627071613869202089601324517854018316873668137724075796600157739629180931949102100606754786862127840609243186535511213062423890209431272018114187548373320370848290508276757162052733467967056087008733567476925059790327642327158362187016286723948641026877168731667240090961887573142723603831415840249677796260821396529360839998291876058556885061777749402963029731498940607648127819286996855311411182999936742702307090967031202339022513371905049792094027616923023958889490434366376698599655482698034725573646281417093571138010980433160882331273187730003505361017984221532837530006988843775779144952897630252666704304552248862230498388477919735674186727033124693251135149937515331870989877367697621657903044432179762299633398047878745318049664398572154052857272235350350073027369113485058613644310096317388979785954862991452179996719571736673404445587364648468129942690066389246049300120308567876547009565892100931553399382718819948598346301878784838034932090364701479594806222823688410839993996508761563972686764509813800691435036300517720979775785295385563444997723982192649979523009135933230616488221245120866988678351440877494949667069988061621051117723026507292322899735724118019389533704919813608403767077907456868788828573265989153189372082183526497955069133462036303645543563270834321286911807378474382602023258012185323822362733053741413756661187042825824196002798506761174056275237173980821935663752499114397418712412580350201745597792798251970574081544679853280242675655359707369562043780095293146591445032022911007998614410837186350358127069797214937451437048510095955269983501918801238512366553687488948919740202134517464736348675222897327055605374955602242294915697684487974839651969996652404508383557117613532712905036029818350376553672337109580669095614925084644255510669266446673085000004248299257445373042301073356076897268401311419373532618366327733210957186960488368132888863825719506869061110707254120235095688258227677931721512158918845903411616184288579876513226600255261521484328279673538430930626515382404657284791316450127898146473811276308355960015668784648289208034599308205301255731675976272541709224009388429856250638141861287400182703745604707753082079315767478482971226365362647150357124243102999868584517555546127335845420521696514247378438229107028406114921038216814325212432877056117608944980255111824223089053875292882055764869595452577032985006285078900293852644831533777218336536228014745262206722545837867188276895375523343361582649055272524922751069905371029952411804741030428862219709657150007339095033890930357523386094534324934955363920901570306142842681350066261951192403358227134955742626083470428624044838671497888033869155279572572160511106586069940697653649408502554756338765610640711567199898806245851621660793481246380395420974987152490843841153998808511820968143993200165978356656179643520844447710993795042774061680113511725243190642291274926075037170470239867950378327761766615541976870678150478722880588819174935890724051351950711580861877020918459190183521402621438952143371131809031286030064587869524639708731473890395775899855877177453536093341170882911760040868745066365827165425199153257355715887134908634438911424669182462060056313214118574291364700485484048801780053042544084158599350898582646913753519969296893978587531007656086642004909082437057085600675728275761136657840491859415244523876606803119905961700143889814977350857822235124253790949136204916237077601009963412466994270376161301545147799085319144763979328240054134966583069763200140452299267379906168674469210987093066551746065280435200383046263523412994215728816226645725411855371594283767114507101638645242261385725690365288350071273640623159644000339239423555324036929709109812982692444763212381244315247668348609835757016637466152344747177154596906141833885076658216102204874585664965007734803424258729784711400052027379256500581685129374279055514514138103286620323775327527694689496541837282271068463684322154469532777266895810447161955594435422990656749510418459583066691017997961442177696920524794131752582547161657238773534615980767476540092322252996118397196573532199453288106012435510058624219592284366540953841951372335491696705716243890388992481911263973044932254517924395461320316843721779573324472548183089171358877009853754574005406901455434047169190938671658190591880028756136264743178024632442771090889037792753749816889768988189624020851178071285109052399907837166212882579817283841304280651848302644254779673554921602741525788982305243948278763259460613431578724426285847301497678684154800685901608302108854875181055397187603669896407101717772125878855978874555856466410611755564188389639885707204652382248304035415376163569216876984686319369013525603559748442476020656007538192702523210238475743621281002496033902177137494234402730598342810052291769942391312778965494203883164774224648193761404601]