Video


VideoTitle
مصر العربية | سعر الدولار اليوم السبت في السوق السوداء13-1-2018
VideoURL
https://www.youtube.com/watch?v=AHXbM4NA9UA
IsPublished
ImageName
123.png
ImageContentType
image/png
ImageFileContent
137807871131026100001373726882004500220820002371932390001115827166017420628233000410365776500177143112529750009112728911500181160018116122210231120002551657368658412094236253103116367115437136238235169425018121490235132214129021720884514180682107651781701032231561531191021191821671231671031661717514676205164402343483145153204100106321615382235687417810324718911919123911524783214744867779207143101156123236152155155155155155153135223107246153217255242255251241247227239199223143191311276325412625225324825124124722723919922325583127632341293112763254126252253248251241247227239199223143191311276325425415925111232193205214127973686255165168217150881836117724620719754125237863213722131853242549225492130140186237186218109131302371274218237861117917222219312823115972501702372018521913149132100134161114718585228234203183273212196659525649822954932131590226495668785108213851082139213567616822014680185249187160171218162331771061391901468118153169122911818591147107182511821693023436861082148510874402234143118149190102918223711812513138220514320257331682042257115521287111852261717241806072187229617293248207132109241213912264255199871091347114416012225410116022178242514812363162191448158342382071241013731198010611218183902282557812188215541053104158217310635193255204118662052461641601665104109143932481835111822422912219022915619984472491261042091822091894240431359114617055398791823687109771692201529417721486932351691181222029818225234241151111152247191155253214591669318716311818917254230235225175255468469200235191952513221175255126185224141223471272431192031192551182491582234622324715522925112717922617322317460728824124611115125522524743622212911825215718483313612424511024413711916278190251282221396024994216169631321252531262482331534206124161212301954012024848125624397248217143342061262016918614523162142186240105204197631981582515225020439145167632141617228143602431132282153169024016812917136127246147168511596815925336230133563523819920916763138581315160209114248245135145223151961611521292191322292281263197249791622071272617318422813757247113204217143162207341331516379127161172301311521793119818621386124397204249143227461241541286724820712420123250351142071251541122255129112241243196250671121912811159197159255991561382470108808128891921857922720712618127230227248179313992248163190254144225194103731036320915725552177254243100281946920013320724456139641931857911613638756624423162214195612551052101193211218509942524491602512421894612614219568201152601482421041593794252922071287224199601641716315672561641862282094115867120150362124020333631451381346741245159167922522041282361572532414314411623311210624317720419835233245159155261415346295434206165195411313520110960981085810634285118112414521411652181233104902192412361983510515923989185255239167112325411024227255199132215255195184223255239192881201182552371649325511322617425556105223127154138179187255118242238191155252230223781222271113919024918319197221245119147118253221100660564381882491191911825315919119255167731232541262421902555021562409516719125320315311125519514013110166195255146612657243221127156245222175102195125231311031892511712172401072481951752310816483284511223455115222255205220247127595521625322411924312924712759471624815518531252118301332551182221351911552552092392312424829160832814119129592311632151452062361831275725318995207250240247243621251152251671872212518611238194632389425221715819712722018984632225568465167211311847254228205693119119024017922175632191792362436120314237911132485728218187242243612283021731202859122322522321184103660561003211242456223671341282221912262081901011352522821715119233231123151282181872484897171872079720716267187233021817922420815824913524746561881192251196759171361171002231463244611781112171451892032243022213919995250233155139631222919718120121251124239242791194524924420516519922213824825013113222711171291234328126126124122228195251661423713577688121120247202195123242361721161727240525323583402241164310532428616223012716930019179170221194238151962285151624531129842441286015123024915171771912015219325519712264462812125245142228170292080120816116276201128100241123652207235129132741121226612451765724022316227813212130223095177571909821111997128541682201211463248120220932204518613820516322917129217416122802491701731861061620519364321682551282442492218486201316724093151255119236531741141964146160106751925121212331621688914518125525222424421719518312311447920619811921701661067517224220200602293120491461515612021524411759244654630138464771352328211550192672092323722924810180642012431595731565017610121323621323772102144240232584212131216255139161732210219131484092139249231128229712249413124401961921502281062321297725212352953171612131101037320419887192542252472301312399122325132115247158232215127792622411919189249187951753224755112151171882461872232755191255205210215127179244205954722125323510112312812792186251311501882412471112625515923018924915923123925425118512325412624618719190248193239221912471711852392532272366325222717263252114214123191156245238632048449253221127152250222632211128632521062502511911542061358322225119920123925310238148119127572332219578134231253957912525555136512291312237625124011951622522532041432221522532092717920188622352275510212725223015664833402240581331242422302201432231562472412713279200512471632156595254201677240250289213011159739562472119311563221292281381352531592371542472492382491592391582472519212610212111432389525019791203791881792421711196719112255236171119194791881911825223780224196219161167222139562491104249223132552269620023112315113015428127392362127804120964176104572456513210680194131661122213658245652441512391322957176226196123145167631402512501318818420861676213657245652361531431922463243177313396321001678127836128136156254801192303529252122212331331361924722164581241871431132238823228197510200155120721701254716651877436190801822413220091341874262762522501311961752221392552341895628942527620915236379134159922321502071476927523012996721332412811241192250331496430211197207822482171918156459510022405530771116015020924410110220324144160249120862112325141199210472977107561469012756229226976725314514813435411511421531541907610757145209118501712531001182151051152471057521516915620614721729951011240208225169281849012025113776160135615818714412302151021322111279229192237619923761107378769207105203247225140165247172455625402404113719820023359107105611581182251791961981631341421471531891034587462161749418095185961911242221182291881732391561652471402549187791035122417144311671442206226194142147891739516611912714124821419011518220323123619214911206432312922619112414301671087223891032238910971436137227122331749211293189224203210120517519412915615192525118111182235231095546146271402724524615524511814183941911041110212911105488111212127632326618524686131227382278613124310213111184592114223168119221188228197195543053935898682291626175156712462201832724323918321223106204191942391872092241871182091232451302312021215516060224572152131791744310315626685424464240552391274022813110807121895612411621662401956524114782192541242081331063413117629180019666123168312984265601583255341741981853490194207882237206228218876163238216722117122351561491041842220821505952801305359831069449126631709573169222251267770721291915191176139167022470213132228106138761741206659711741521321051081408251872367394181211176106167184134186157412610611916421212402393225564241281542371104129116139157128972134313421317536175222153172184101615217813819874681827223076505639128921842301491276808214053175361732221371661521646615416512821827552424125217967154162128951912241144159164854222423124798211107531712217920016367417811686812241326432951941578233200227753080212129123131941701571461949541212539210228168521017155241932273018116501182610695492121244716656445159951412391224769919919291111831772148212108731692179816813430216981702221528686147939023217450251107226119254155164951891452432462512302476220021617955102215155202248192271911512322724711212916214391751759644127227247431182531102491582231732162552511441311751351902532512081831261792262241118618825570232391873514237143582544623216030132169253688623523233451992109014216554314954295417815521011619620812436185249104822438118420145122463653292095530214935814880255891081952312414519924417395361931096215421611444169245203228150471479179242181907481112662411803055121989212287910561971086197106591452182468542185428189014327191311062042122461755215252180171402371927311819711550523256101236561052366010523458101234130757223758692326214921412358243242217156107231923064352362151935420621917422318202336023299316717846297311058102236254581551202135334018217124518210724522491214432364188815147228926214356112205210601512867216581902021841161960948134651882341882537013123121869163539921932451222471417594681284318422222465224245619219512612987133118200110131222262240412151951179417110314473320623542148240028192117160193174225218119635183306425212151787183112107641501921531109224222136228941892242345810111062150222120561812452031722225111813222310520618722122818721313619971100551121572172419511919118923211075115824112691225211222138719316525329197152181392505974112102331311652211102021232108314217956133104116182179228651037312711941240176187236817957922483111614902364112620889244176167244811112524018417525220122913810387170812521791132168324617617136241432001971731451262252531821301231732541231122191023818323246119326369247219113232871942251066428137254571171833731819610010411322894131128219411721891199111515217924617521025120689110551233111816116074159167430247148602344666200131146820619121515011917513116221581242862232240325315752819325517617982112910213119622913730119151622384135183187201432071281672369739128138401212081422651533692262322414819612133250591711176823836412534461891246020615722159101221861234519025117319071091852532371851559242301182287163191611431291791902541419419514223163781961001767161164830167147251176157146122212201321432558178024018417917619122122322381128183175249139841044518818220022821122224216712521223921692541671071812239217466147123220837816512954137198672203108471262168621222390168658464641520417722252759817416596158165961901811615224719516281211742372071986064772282076817174157139155424082424333131158238791922261592913219310312748232214146491225820236163104190173120129173116129173488104439310447211191451892361971121484518015133142262071831504417615020417920207512320517920137139192133214146691501463721421016518250961531892521213228174752252182022221974232177419751122322014223819719212523592022359521759214975932120315621203931492039385651741341702111052031792291141112295066043124852031898522850224209176210872122617114212281703024613522921413222921340110941091041107748194243235128176252218176252186208252903220495232341751111063217296851841278568126931321278536601381914622020716710862091332342296468241154136146181171971072012532397016412013821513423175818018026160831652353475214411582554913622022147114918162203541620255196148111140331516018136567462213172106143143286210251322102451291234114514910316124820563232261432272544254198861081383711916162481318116913015101527070512266147619714911112701242533129936487190738717789117129454752135193280701951162299110511217276524955255411081947734022314480190941311741081571741081731741249312423318619614615414822614614098151167421092119523125223122312222221610312199792102381259123247197238219271891271112042541891774222471899311618112795164224192222200183246703022019249222158168152471981261844323416393145711566316421225549181237139156222511741874569792514224119721553378131175877921719124191591031182232245919915920760124249232672001447941231180249238541871105321823954593118012124124912421213711224513121814924717691676222071221249648032163431756301901704325597151255133232255832420159129591418616913272964619524717639247811192389916011200123220149255168431596632257318325573119332402023241122218832521721832442766217183405816169174162135196615618910345552722196751431871391592441486018792101241151332402361142012111902263918919779251138158244216223845962091625418474013918721515411924516236823191225154189229223941732542301141652081184226083992174685624012220148674021622531632292951948761233456715857272613632194131112100236696415619412940122149016015096481526510186751931704127148147178712213716025418910317393167114461591791951438223941692522461061975515120315824622519498144872301756914318613813312834291761121411551941271592015210452821281782871311246676601261273914575248311186715201123313521922313136412913816775816116419117124833964013264413232159962557685153130195856020130187112252190933323868208131194193110229172281061291622268920883168806668391220665215421541292081341041215546185010420625067739395103193151021431381202121412841481921311181962078324118179138150927730724248175941121161591341682001479122414513718111113871011518412612771105127591371401170208313032613223619176244195351467138144120216891210412264431831871734071831831551251831546018326611831541881831551881191546024715461247901882471186164132416419841202411013423165219022079022124790633407778132210108524231180161117249186791035529752336015312117920913113414121519111150188152362313174706826856110613104124253136108232129137381991913638252914777206411271738167583925324919285127249297720613770722518572491599201151876514323315410811477491862115260838361832251266382611362012419147141174734117420126140148224180202151163224616625921314853217976731141041582017314241623120131139220202365210879373866014721737613320315176614629112216313119846782281472091381903310648197492132321561021167877113192207135132414111819715151194113200331934858167321028017810412147180194103160204167164186166165186103166121823322289251908923620620024078792477675115797711711841248213829141127106186123106134103106186711132114312313810138192160195522132114313452871622014721192212611211181373220523315322223315362661501111982552432101452419614322142187792271087620324010457167283421912413611268160562889133154115969613051178115574124237422451127086174220232382042362201532171212071293115126161026113521710222243236206492512315023022822811102103231105152147691522034612117824323110123113959472196355187969411822596228192451521553724051102301002492311002302072011324320015915714563433511124611934119118134478222217153309622220122071561224715612215156762071564423916210819924220414020010818918952249213255143243215187253175239532552387722127187982472371432191914724619219018413125122722382162472142542161832461991681105222564212917200243246254232119246706515188191592342535535622222956111224225322824315924911421019562235126216812467987136104126211872412372294218420712220215913069117226323844124220852481682111752441682091031436212921222921470146224126171247214372511811123027245541244133368152441831233315301161203111623024612755112150225187223161193203110238253118321431452510194227691601792261381351932251141856732465718019524548220118018523818358239183194149111191759281585977174219141174219151156119269311915516136162641536438249161157238183228222168119246124778416024911211181122199125176371335719320518921514342291872192341892113424022010511322111011322211011822111011817124016192102154189874721859781022464820534210018619241361849611522201629845734311941892211481231871531611218121213819217419438371338625515722434154231222301983724720575112652820115152211903780184232241902172322529764341482060208141601062156211023718921323214710822310411224715817754295315725184871274018525110751178132507812190368101431377522055269212911313413917417123931602511251031097625081164148201465112136521713103251206217110552492505910137341831282211813119121994112167205471282553020616211419362592512412017518914434128134182250111183230191642401652521691047421711420011518138117193143169198103224847515884408710146857820113116013018414280179403711211637681851502341484723801743689138192331632381741751795978102521279710858102188114193118183212399911480928222910410819624813310043601872011712401088251042011852082110442224226874756187190541951899423919819161149826716515683668204240814034352234151332401282027513314822144120801431862023111915114721969462311196725146232342176737017290100134832061125930572474615141444317215733129414802521142003020761691216224877319104725424311222310924619210197019322423719915912222232702472377052215156150477715716750241190641601261151652428995571782531841872287315301622671301412126141183144546714164246223671975322966784646415801512311914016817552156187782554413221172105102515471671121362283601242371602121263211217322825882011746245802062021633324210666012911213837210911732171146183194852122051729225423671857540110145191905252130962552432082261751427813213222817310205912123017111243212134122106128161192452479916517110651172318717524084175244841351201076612418143115796133175688238173942383344115871212241239170922303644117844411714815466875282297592229752212297522010175220228254446113209411141571657529165751571017528165752363726222191382351959018020890415194229201451101551302496020519615220086136192133541861504618331485622069246981866861542165120713011715245852138731741922261591012061037415417566971681125390121282241467123250243102012201561551041833421218624179131100207151281961001147990201547181472363318416011819224873240128247432401708156101343427130192234721801913540421362013316216624721913514613512864345684207247011394140201128168653531615821557581815934252527651185166171321271701237015412361851582510522225169471981161922491985216378212126676083331761611956910519103613113101611078397157701767649881031665722102152233869471371599180147248111255152194712710712199183105207190248125251104642240244014312136187127952042541252097246691911818716245214222200325120188181552262376122523923610123111872481991231636212743246216219241396376190240121901998718215524524979187421912331691242208924216417145022481712411952461622541821942545463240160131641591901602484222105114131101311919567956862188217224184114206124245188568252091842512051231912195742471895455115110223131239072249189246231282425206625598731628129216182230111243222109243220107243220109115195243281623218621523818678724522013321923818621923018821922618421910819121912215121167217169185172772916154192924012822422121159024316814890243111214591877910218112697106611582181232141302076024717813118712817512816612866129152170164159252174917720691205132129116899720152206112198220241858622357592452511822116131103130197164803314826233121281363211721151321941476558140731088135163641767036141747322823910216370239391831371817416132322227012064210252371618673734919141599950154139146132190186240153238210145228238211572002133530114121204992253293215740116867282282084546248461011498414171261325282005161823221822911521420323117382025020028552551741704200856118341282420825211620018226304016921416347292557685153188130239242560139583280254228713710231198179432289161688110425496247578018511347621552022401311689103144721219113112101163110312320715427143915725152190249152171781926419812172151762480244011907812921028473283092142114187114193412112411054250301191312202317720616119919613175948112111761271305820160321607667495834132088136741286911217501713688227256517285493210416612745135086162819411222352331522625324415425548112124103127187247811032221573871223233140214471223631391756316423562147117171201213223229127202227129151872522531572491518714410320154552424418364933158592427274811193243137101542341912824418828718214117822199159498741001773025411160167411972191461046194151311869613615423110950119519724012235116741391631712171741712171931281352305914605340240159292559921423170222145196243134149185194207658628222111391011171601141781241202251242262312413921523101328310691101233301171781119630391601571621792182506601412121048205247165165132217422620998862102529617823580231431001619423034131817727169216202072431431109585016108731621145793622421155216222134108932461231622035517649140230102165470141252291132541996518515124240136133143242464023064106322201292342802361241586724037492292713013923224913585175250190271257168244216226728212011627584923621033953424714141219169174128391661161251082171341842421411771405650212972716116038331261841372110496138105208321041099423020863143248178205241165155212471334021936227442541961511731434791391102219111971511742131491755585214166221222045169175254187130951898924523062223174125105187247198237217191891117912100192129189113421607721817630136812456421212912513020018324614530120123119216135251162151891572401973114619025020811224614310510995217110552161237170254182183230891514191242114335310044362422247387241147174662241138719335124207842119124817242164187046147348521231604301172501592462012512318522821920369207250101592442260238241632382456323343015824621621879224424450185192196864184263988111212124114722234124771599346119622270179186331951552031001691305664144165101311401126371713325511311122211922581183239812316108642361953931254135291084019733510855922401641712321055514921015738111223233156142227233931671781105218419284192861599346251167107852239416902116615030118234153482492511872422131931920954154756012161781232491882532345395620814715850225151100661952448329924182135121661186210024635102998621646517732234677840268222411169207211202101951294221611613582479949292334412421685721741601711367674200627447161139102162441041276220018615611324881134160176502516324110410132172237211222210167125101207250202190185130103441993350137200404341522241232912120202723311218559150184352518611680284823320323110920891207622014898118226222618511432512023124715063681531796916891610521465106132391514315894169124118181138220438522340838220842130148117622122418713819720312510219815201118156581405321820518886216452292461211042025569160240652415322497651578112220863141711324513514690190486524160112208621691210510002504828399252114352302144701576686311781812131416111239899124721523027133021031571971624104154681031452442322271212540752102262532970151612181841292861291001281281012113943104481532041608618690197129181842231503921465236126231203683186481306101482251302255722551892226451486214407305136912924856139191136199932492154622818012510510457150212118194212119206121371232324719719168552532961822232532512374055200014845411612123810629462231637681103130541292391236625411416213861679025425144217123509580652082206251931033721877360375215316621919081145424207251952117188890521522262432264582507422523672172221169130150641452311358165525417966205077204851672346215158436024223115741281791342341571981061012101761202121958782106861185315226243127266822141101281645103475622996438682421642011921967410194178122200245211524925218914415319619832119224180786415723289179933443211130107148233152164691817316260163206917320546133311292011042072132198234851932324260111165193832714110159127229421620015910724374832281881131632956315223236107024021763271241852201112062512559316822715169182312192411712064322726014194213204240856525496208218686511124164402033420123470323711666718653229718147511521017417782191908314574318371561541991411022522374521916810200478015022131561016015415155852220221213371101125161234771342341313415420573852721117010720421110127109198191253272552351232032472361152392211076017647142102141624531132104972551111123163141786014236143561764722632235129119118135125180552422002192413963721902401992121661632172211671572479013815911686602384022911234228190223146171225941798751171641059541248185167141582198205158219151156552342372154688111921803313223121920921213012310922212390791277123836602816812825124292521051163119916124420119622910896315022022315317511352612040192119167851742131901752614426187173221501805611118356200927111320113119259772062191411422191412401842052581119316216224214372159165114184796741851832722161167509114226901914824615820619022123623323942569861371309624932512862152372301246661832001656224891773213185119901142512069018718520721212104235944316879161214211280217751624716219021614205981552041722122165210101133541814215623312116207163782146022015712215751381412111149232161254108112255168146218189546018124790189189235235204214227166198163201131352452379516522110811665546023811131677886182401633469161221184164771011821931659715038231181621921312223514911507527304377233861292441755556224193931867910393171119220226177133219451902191201121762432462525910964301425108201641304413321694104641362425581541151115324911053250110532291467530319143185175147105147501572505820721919074235249882511201761301021592034116118175152391201240243184129874705884451782144179220192605610861158122250163152182191052009106252261034112214069201582898520419210015623412332131481044510417472173239172173237120702152151026047218421397145181146582416266132442231052061912211326683112171171011332101113216880741493580492222104132712181224812478571112095920331226016616712018067165155223331929112723514625386990183225941782231081761240115424232404816129141751562031062533418524111266219241148190115891831541561192192081509224811514720981120240711321615618620910472088617553882011731839417318319218911820911423713057241622212264153189247391617621883241253103531213886182621861166124517125324919285129946123815916314218665144240149201198318241182244767341511091342793202931521016018181166512021887065169204131132187142159231455517024212239721033575214243474924093167502782117537213047132218117202247291321320916527991281461412092071129127463618121614614193715511616515511737155197592401073022122418514021073185731613511613855683371014819641229771481849021811312921621651952211655011017693272822424112917313785762061482091281321313211137821271911010943256805713310022514522513011423410021318624910121720841288720736168309411124452511523201853640632402032481461821761661201002332536422634915224810136203421401241614817112015312451881241671967116120110615266112749224191019318386415612018512852919920934127632121161361811791591596643522615914591932341126592165209396188781851451481408274202147170135202932543613624771731111989812815814520617025163250229194124301878237417724316835417104909444729925212205516445136662301041833160153211432216242022506617816020822118233489158902485537871117289181779518141165188501872121588710125211912714711922415721818314122152365118912564247214254881584960881521171521000205301024916126969524825425322525124713329216272542141581761832231224911279248225183987918915921212436251242892392057525459771332471551391581161506123844190713641186560128222122227915976250154146153172247468411771275028210204135362813524095611112336214920924311738132193131869563242184434191137143391262848244167785014457124383441537610420013863694257323331242247188301448336622890505691821941676852220230474927235433243294801121131331451071928322721733126722145223419319596241351153923854185111129141129869417626116750261523591142381191577623557157924613412474143224227942342622823169546076247332751613878913531294010496662111362312169202189114222222121501872391562912481881592321261879813916218125520174651412408023314446234167301191783172183918421513414628236336393165191153101137116244353211217041200571741752312910612132669326420965254145191205431251683224115114223420712618211120521692399214110244164175232255186812491272231722521671071651431232532539319025478232731516422123710214833561502371021632372225220516889146118119219322526823316113210232255842481681963823244672392171081682112107421562061941232912619325320613025423816213561197143122751205316111412912266023242190223920105191280230021120877319158141616841267128138163242413522221711542501446919072471732041972381331711312181851021155844141232181146247226121200431311521431231014578219983195172108755104211319317920322960451872815813560121037019724864233113871348352644674599797731742411016112122424011075942071051501756081251899513314095145221127871379825322393194380132396152951561602062913527152233621618844792593374332117211248149501381971638552172681920210516871198226302255132134458253180102080228632382242243720890816084151701602131351306516313343048244612332462231681835430214651524415820618412446251901892299415523111314325521722916225523510224925524711822955877530118163461242539316851482490472922239219721886521291115110915019652812411361082321213216871772141011719253141971808713970151136331752619410218710089171218191138153156136702141892530177315825418915215023022762292011541546146249171682161083102200742162288438119262376019121113711215316113615517012918416201250166165122167166122197132422241481191221861111222189622418228549623217224491272311271192195174120241002114412919020116915820116911042191348668471287356118412332168216812021180411050202214363155565916724221211228137210124512481611661655021219931410521211672461147141238734152153120138201611491032534223316412210316625010215418847196123221625089121602175120522817325316432402910518511104233512101151031002282052042001311038612223823620425218589524317811230231204648232055523137594716716238667524134107917619220211824910820879150253246226133246981849822979102250234682071214223015511230229248129515019413354158249665154742241241423264561281921852171211151782431031032092208016413714823190101021552431298957228138149255281152546011512950253192946619212816513925139283714021019778246195592165111576420132200419617718744822975602175189193168922303546660217560229136201145581618318022482174178236181211141718722886175362121048814539168214176501756801955322484205202252651291016301941281358143812920316925373172647856123203125642135047330245732331371241499713317199202551761421622532031282322421322569107148735651171615117976917119510873319520311417156111181432421071502318522724125921465207203192831224072124414690186138231761622874561872002711418120491332091001691711441882612811185261433123017522723382171129809417142361833819687191501834219419161741205213223117561941148713323021422520220112142179130167226682281711724286225161746814672282205818636119211991751652118024217035252181180212851269368941091209411710012685100941218494737665249108712617220722594229882471702371112541152382541832032221232071152401282412373241111237215641306511865131244128722184724713319118939236221221161312371325524218913213467233125167931191614901392512191383118223632374612321893210223150151820717110020814022512615449761012925319013523724858226243233127130794460157112233155421290987415287251272024920169124542301212189112602353583901141161512402296992263601002346796513321346402168272128179146509321913186716471811111291541381921678716644211289812082524916619512924325090828089671371213210485371262812224623813016761692282311031911172011212291561852431712121741752101227910393571556723514595114130110182322519912242366681779913471131365289661665240180152562359315011191361413023822311681724012216752441397101001932216615519453217175240785710086202432374833353339465146248147178261431781401225219625981622219616320865614327484916560720016823487158786516251657231171611601792023378735161178200131861963713434271239601492221128822325213322523469437462251682411111741481251231320421143192140170197341245136146684916248651762001092434014921991813427510449851674324315514114725620036041302850224652314864334312922671125371432517431247209234162192195158210752177152103211192006013919220724377213716125289131145133122191168169136361877914771739265080255250372313745217725211213742116494115910433113542411415035144242331577319418309243151398340213182175824712422151372131232218111732212071829436202518943138861713716210164671767497109642101457414014114523217653255218692637184122193129118436912966801509318213170149452281472141401652332426012918011809220024105162170381611561441351341822218149158157536033489164116629215346172129237127944161230129144861831782441612012414722770189165237184161241112194149115891142469415515591932381632386017713513211218921970227147322537411516587158704133868551711286240644141690162221229610410815413015218033491691932474641841142481141802332294035332185213214410151321188201536613650190201053615133871371354773292615758140495220252362108119104202914213677713419916416930242799883217114855220931872032072281901220285148233167171341272115424421124010028146782209251951622101357016513959524213806616224910811662201136201241341081961651599121432032430151912398225201130595238671951442322443320910519220381112113152249114847048941384210251054769165190207312015349361301715358521889202242615357521811019820813614016122523367195210200131351555844194564421056602025221332297281810224266524181582441148824217672211200232180172091693516321171198100140136202241791001414320226221491371481356881174134208452241814525411412021875971661511947767347667351441142182402002442251451051954171691845367206182242512142513622024411413232851922291565436181601951611457422543133281571429122411835163517019710014114220530191516158541078476166022512442191677019710214214020524211594124157144537015113873212935227501304966921109035113919971200481801091061233818061165141197166751542402241615180671417327217913722718106132220110315172115291201999672150368910053561831271813660544971487811122140215912012734185563720167122802283611226195854620991198389019823420140816014820016011131331511951571441081571441081558242023332407650216382723614714710912120281294397411325731703903923923323719245182241582031844203132682356858180797417822794992442302092501568113721735185022515999451364489151801891491960111105282261751571582332710317614279177141552161983363602411191081461212020236201140832271464514613629321472624981173925390129316844249111469014710206310651422517025412196311511328220519333641651511001297851431867173338211541934946209585420910119122156421976232541131221961172021378162101841245422213920991022121423936219172765256372984281471199231140137207251391042415724219019229155128712002814914414140211103796817323311438198103791422031561810715422167159165139159173143263149111158126862096195191253592191272501011981111271032161877115492402061904423223725317771491212261042113017273231423813127721629250238174149127216181242147189331036220911912710918589239190219232189215232125216150717875220183213119247146235118189227118131346252247155602472622124022010517622317018322018510018521510018722323612020834112621041182212352185238535920121415017210522118327932241961122331872032923434451122311210418529240128217338165802213344189520234702817769092102213522023139461331312221291612221011743234350131943351365520727146423313213115961100651641226722350129236133148465839243316519744101301351581303975200144819664215201244182471411251031781048412918180632178211282214221719210251601102122317413050137108240144133210932058226136141120521444854177160217195100531931022412153762202021151302117133240105117126527379682197227321225143208076255197100921771718461971892121081761641783234186381437455255423273229145229233104224514023110214793709612034181194861812187113313824232591512112421017421117722821422719843234421272161173664218919252143104614684198118148186163170228218209948220194336764240751657593223108114220108180191542361813521624104252511456110525811133219237190251157121130123236222237200189219238131139831832191241838186109100861161676123946333146199816510795601968315316474217162722171287112123810022711613744157216342007091521447533130271512365526109131160228951336021244180209118189193122173129236791123520242245682599395103922526022523515352351523358781662451575516384811588224274331832119865215271562152792154123131231493420328158162451092421502042521021762251613319216515213174432310815120791175931323624016117178304013439962131981791741132001391166197243114734197196721288121171504879149166382024655781802101175637920287112139132521102432231721925110510891651761051615331451291442458635969787193109160201622010911360234244621041152211682071851146217924575253217143195207125182091263424921437203253861031271351671911114031255512065917310487118030572126612891205541932053843129110686729814319617613810823212914591534932141362481216121819424233019219165136149162252442042511379721141138441169519424984647806622353866160623119171582020416222421521621321293522720343719210327140156242163165251596532166781009399237200241147215436505121131164972101698025202218733108245133192227144341623921160525264364041281959717740671765615541146022827161431941977345164151932297271085624812008221413615210896120762464824024524024497171602301533516212824417160251811691953363477671948316071341323767151401365414145514113024801292002083116852212810013569103131413319233268321221101411622422149546013816857014214150792361593611311375934404622113032304341420912516625434072228421411581451061291631971004565411072471651647213240183139164103252515757182183238312212821876282427183341181652291219583511471233056432363124130182261452428218411283421320018916125681344330185801431517933417085206348937216511110016460159217422518722681665181642713124713216122914822063335167113811924933198322012019324682184241165482277522540138193247136477921101963024675136362061350884149741711363881263644513816447264134153941453254108165225167431479514776510021224523256489672110188862202512991199165207200206141409419951739088213108931458713901431273386682089424914596228819331521892558119217510512325023130192322056426183630180942321873812622413852194412038252147141141321470224882092541578059104422181612521673338323713418301275316322611373141202522401527620254203225407923416132157124120658121681083894138191901617121320033991571011002894822501392246472232438862031444404318853821821205970391006412140136131134733115915251623310312410823024823218073209411479911683999916619913514315159183200481759891230255254951892552292152309525358233205551167247199651518811532230224621361292312451287213040263480245192911231942461911852421735586188179107229135123195781241681076310519022114825516818923273712091791741461111227415824522127123185244891192091952142202542231240160197116324064141552212471551572080253109174199291587123713213510915825486207195861961321682402461711924223818318111221632621816012824116813138316323097122184130135742316124716115711782261038783234621610159135178463171101901441683373214111511197148181682172114317818640185210127441842196142174202324610493134234227200192098091211042982382056714864243209228214478217493176138695020613896805140389019618701173224110662060114461828276110522246174178148161361740148112419825221218926244022417410410112217754380144173579102125218135195182241053177201371631130499619145210182181741444511714126230181216502022431927132224151296449131467148178101462061334461217168472122069671773691953622011819421212044251562198053410331211228242162396040361958151878018216017652144816016221767195582155136208783524759104527041109153642101015716014039240216241193425316393249253104991847511116116019116701625516319022619915175159944112711818122615510721223921752521508024579215421911851301143810722109202181121948012711859234142363490236243144150175121491681266131314013190421041458239212193174234161642101113240188403714821202240242121513621416535122148109239217108161012206613881457610617152254195117141218231078308653884250224191316413388141611972022618118418219117984514416617995174164121234202182181702531520592231376818110524142100941875820515721942471271966791138129169904621913593244111322295482481471932517283255211254102681821423412816424783017046105128118119127187231105792222551251632448911125424513921722195155261419794248521898224234249767251382112331301922372426223670212286223425132601845611602326813985151571101192119472441836718471227184681116148701591954822717913811122881662210127501692310980819016016324124921223114019410318958997249172401441941047874778373221039905817012168229210232112321571161912251392032531454234137482108191401181281313228227128620117922026135100227148230301599827139207182222503820110119100665462165210157545833824854131115224832615113323943160242212761842482141463112167158212131151134512817241217016515614431402101537139907023322420125173511153216813411711616210914022262542014946217411281274413332135861321053168194547811131167119819836881991969119823310822724514224112225113236187802223415568161129254501392922643823110499192192412112091636114314542613411510522413798179241531121692471452116524916822512726821107423316946202545614221145147197411899204206528165131147672416316820314712920472964492921741764612924420314104816512613104102195808032190971341516616116082321537019816416301652259134681810513424819637321871841016102441328812815222010416523314962341361431071311151681011816545746137250236181230458017053223716681469772240691692251229252292211455910699261831461801291461421020617021275482321421462492241231051216406553156239171220931373172501498154535462112381522481082341837025181107771717182116362492241010468722721810941324512918722425513558442402101012241510317418132162120457915216170951813512120543161511716024524871154150233157156230162634254131183639825213721722713182233153180643254553817773332544016127174173112118782549275193981032332912091887217821195760112371972036021561561114520351805713610224635284911201008369120166253213534119762512117255122221192103145178108681281062916313122248207200200157153153633819360201224156149153151501513483321762513113108120103393859381671841021012297975243129247163106381655612941702471561561942332336218844819613951217232154107466858518218911517825251211124512111151672522119245246169702311724422323628223180116231244116215124100219921764859127971022381621162311462441562292516943211227150165445418515123824855233255240272192718717812724791221238551051831291191419619017931746421663225322272371891457247708849916117613125119422221829242214272032232211892421473225951241621524285214173166220399337255212912547918916525517317524419193462531672031652232461496023541124101382081452511841571931587110962128169191235971552518118724773103302401841952471643523158712376219616416248225118229632334612021069224213135120211461141115924522651204185697921721871133982523530112148199189133188250208139241148183241122212132181330137151917683381073150321715219230101581517106168132910416022512611710517636165863212972184221232184217962355914721324616516123372981999227237703920194253221363421716377225343211522412113824120156922325020712314234230212361298811040122643611758073461551764832511211437023108137124733143122082293667612111209213821422897431748572284212285518969834812123841471231701486411214793531476342201271751611971131672114619241762979205850242148251176271012291892229623556153901277272302181214225323469431145611601125910125346910116110872069116016421224216425182103249372192457554158161651842171041671446439224221116120733811921431341386410622423215712180515186253130126184932542511574153932400520023223941341793410217140973319917216912092133109111110412031581868018250103305323125192131381444131303624146115202188140124133107331202817153168199238211891417114715414237247156201186861431819289176207924273222138414620216222206415837219202481713520067654911411118972682467218361324117521559175941161921972294436803242215312035112711046326170182271803182284902171461582287017152203236629192481152081001511611286518421310418921110018721110819121513823117811815776129241842481991681824724521546102352521261551398541091862731346325249752252094284135346512620622633411532471622183118104243149111212911112129168542441921818220537192289618421151533535130151140119217112579612518744183138194213838231831006418866181367018017616221321117912447691664815978312275148690254114221824919722814820745190193431248522551711627521419724225012520210215921155226213157659180242227102164188212139251863336411624913418417020597133171225675102155111501221711951021521615107862302131332282141390515922499121044016241235200122187924619924468180231066861725213216255106362061871017294794183601831181777571691981738722821313325011324724517692735139556914910814242221288917841162120352249170019425213211270100225250168162141175273410214712011013644220162389523154183384415922014460421532001625320318914922446964511236691471402081523015135141631175111164824318853203189534312453759221752211497502183248251176196891441181504711401011841641160404053951319414519498236988204209418153932052556020213183166931471012031002221628891772107020013912175227372461781017821812796177189121260129326114714623622414219516332129210715117161351581081168153315510316119725465221102101229206202202351519256013632042501245121118817951115231521110415109124123617292724414493971837222492092019322296636402281533112536322601392816586531981331842521039720180171602518376461852214523577420817681892036014943124213178934926121682251068416532170120456616131692052042022113813752241118328914121720343131172226142200222140122391260811661111221868715511738723022532782401228634240701174212046769150818416105341939620014124044120946014129138661571971215821282421641692323013024957522536764187107491043545222961075411116737805421620214683521111007810262168237228100199152184282321299780107220149642531417710532250179451262321153236171175219145180122399476176255209250156252171852083181271406210338239891347594138506618204177222045023167156462242022089168869120918012207281793119714271675161331612082402008218512010620136843426182528196123135581944120114668229162253160154165021592128187015568529213324802342352298351482525011921366123252444852015461361362472445252146130177582032402321402411222740254218852061141322241121531671061181823112924022418145211359851392722111109165802083127820291010986122238212205552216196100219204762071241551277038114981551032069510845901024394102459215622994154105920120212203768779315414719124222325272431751261071212532052045522272218187432251731892411112391431251231275291441835142381411322412012311119621912320158722301228216311189612723291251662232181924223822220814322314260246812522491631982065115023513174591511881515412415154125247154601191213157155132461552249424521491193184104185121209220720513923015523115110213155111213227208198491091194621711155216239481121201711291122431462532214610609938240154601382131442162191611111022993129901252471817810197198364172142190166762833016612224211337315541861892176813431552710932121100741294743127107249211431511151061145712977741841871546320113825317423636468106224146351195742182241138730220107231141227916711915672105631102326214911824512454226601281122349683401448790861361984232209212233206320513281202041932466610823719219866652466610018331267014622418269019013460119154531311019718498128161591162213911132341933746165246242130909175187069134436586433222698187194246421381012031512924105465179204145182275916821332499716246237118472341742451322252521031772939211122207102247157553599406797255246829817415422814422634245194218671732020751021027611821984212822211016586109111120345053158752522481201382224718920660176127200128135611331921631901621356153612186102391192202083119193251149201613352237152879521163444611210118869232504910250196824044129181761139184172199168118203691671741168226654910934753917883485195165745274142381502324517425123719017124521423047122362139632558912419920111636431331342191612491131453413536616836233202423290148151241815549822508469122128101128210138208162152160832351462306824212821416434331131477622120820610112065148311659526077981452541261174413310207131123253131656718418220818936981131192686226213201522247013111315964513122961129186222121381921197624112222107113823819410985142512196125323723891151448747100651221212722125254211200150991861901792338011152189214358189023512381491041671482381318071751806723815816240114195103019419711541317314885811161160441148218969199235114168203158410223616911119144205464721318314115211916512214917218517882037989190131619111333125179243170199388916071041766254125721489180233165112324828120211681096822515413220220513713620423511140139691741261971842308518417815015919011812366245228916029121195189100931941648559225199772252092431223816421794551453727116535922617118238175126451692381491961702372011811753621319016217216920743138268618910688245261941599517963161114107116201198200162181184992422341571342131751281272321071193621423664106216414414020861916164172249577869149208346324114991992031832421425218110525325559169238231201171127145842479098237171137531750186234157972159176141177149246886420221321922743182132241709624121219146235947589253243228186871471069521322717074100105271583416910272262351701823884110731962291499114473961371711247070461201184010513413180202103205149321354118233113144561611569236165171196181911012491272882722123796128248184117837842088920144614316118112854198149109214853212411471918065141133536691581702371848013122020113226202552432918321017320318324016910918019080201709092168108192063459462136150181622452152031294514810222911821715432166104195188236194177923014549153991820080301417140121130193612638251319251208311601421781050641221786017640123108201122184250170173180168104245182232226181721681616912910319513479214111813666166213129562989297214613867821161754518411901052182509532242981034172334631211595735195111422414687163106218777271221561452215817823085211218215018010673159178202642502093723553201714138199201612901378770361932483611206198148174135138641001202241941522466200122241211891931032252261701311210519716722613225510767243878138435520313314616661852225211106541852136740223152807016018702514721919653721491362181487484671201012535010951258981106111212021831962011112813815214410431753715549303116020957541011321271421973194188625566202981751711181322481071993815319936153193242391642161356453113762181844559232325452194013348191784839313324329197144114471110523411818517282192130199183200891093521305216153714319138332508132841283664177131229195143179991201826132117030117132170129144192372401631364181361326452547575118513524152157229312614954603899138915413170531277012223824180106102249163191041401109015423923123950116260147821568156107461321763125151132174850142140133112225244844718021411614777406611581068410821418468203220156252197466013911510092264112136167122126702221322161406923314224183111105170126169971851653612124395231252199255982191811991861111112341589391231196929815839160138129966116132176119246134190179392441579333127216191222482211841791357623795912391812321030153157133223116236123744120210145255136231206246131117181122149971136080192321121251922271422319554178141070127171167191133134185249831381112423219079911447188255492397224012232452501661832412019823855125129137194501051521602481391291671511196026321583918952577921717512818344120212147255168593123819511050156120811643461942251291391521865398421125511941187351791255245234611043924419148856815824432255254111250101911899211623514617325368742432091962309925023883169215471546541250219115241116255116185148134621221381582401301522231011924816108236193131277611021223318510811630421370721217510198016116019113186118103171332421925109162917215722816217431241150168196189216821362002217519034222360121128186135133811456814524513013032225415055901841010161203181204151285838163152102209142111247591483326226671082502247234691152114925321779163235152351967681056223024116219961160143132712211201862109338714466166220601394630312242733631961860202361954618016520109404115108140206114523814812010605312921116119311361178142344112422087761849225222850121200821361662319158924651589441123118181921602611241162551002178224813623344242281481094225145551521215019293245121716318013514250145113151972407341207128956927135144165804618124020622023513182214227411036214262243113128411514216642508110414856811061061141686260534343210162662509164119682311132001672209021018115116221041241571222502091508810066301921951781797412611010236742256517760237452292373520215993463809836151481323018423220834364177182822396618115722068162762502091981302192713317111521412517271483319032401942245932219147597391921317020313514318711565247175952041102538212722514381236214110862154208123582451221251420662234242611022441192022481283461841421848911417313170591694712652482391362475712112820098178248188301286144211811931647315482513917631260301761092252472480199841089223646912264195233175141020140911431620915210105712369221372113597691711671641856912121437712715317347240113197167208463635137521924334014665235121121621321391114221306925310915322297025122884231244762231081152546610341148706820190201242292216216211012313619111010618610386142127182185161521034389230169219372509425110248461151012143117208332220595325160331741242031095205124752098211969683324520221118283852191461061182264292431881535752121144384689226172152103419022840155103419201951991177292082151901508824310666213206248424011845922642183651681962096614716419018145127846524518221621077115205698376308013621891841441227142721569618372411083323801582153491732496923421819170541941121422421411172374311510719323069243072416415616924922113137193147188030150181161136201717469822031892131392922924317319732342082417254533211222411596114112121249243237892031651657898139553687239488423922821208185132161191701821451832919357103513092225947231201461158765255641083213541117175263312910695532121881941393921021013817826352193411515820239234109992261152081141001120022321492323813918248213938100902511151762371801312715718625423169235126110902439023415487122717087121812002221823616819615423719818615782098711132171971811049916021867163762434413372163688826717968237725161652021701458029624310415616019743124851601402241425151125240199643841089823419167212172136919213341331961311002111225313692186301198713419421213377229118016854226328997153981824151107209130152188911033891941251452021019322111374114171129183215224102951352311224510121310716835721781482131751661112481079214224890106208192120499920355341952412115537807710371114173172184791191291591831131602052882106119181121391541571044218025077222170216182321327720861781103892358524717192233175154861612229512974510312918524856013476140507119614614116200253408651631817923190113575214226292152437811112241223505720553532211892009354352035590159515849715120821079222552001321723320938132641222421812124634104128691742105206146197158242211215311517355150125838393962432485913015019531205202021241371711222516993224740186021223416070208842082401121061611892422510412916233321167778103335087230862279030210733191199631951961007216252485013320215615423493238169949643129122465157510211747711527039152241390976322382122112924016114510514783923318511714714117415135827119923176741132254721752316675922819244192981232171408423923221623610538207749529254241381666420410046113148712281741571621791438815328106205774644152159201826863123243191118253231952511272551861172071551341311232271523614223191123229911233514012334158215323923613712010379248187123194223219292547968721625118766223127512281511117225212011924887239391812918322216820712521281242771192331831893722324664152286323320012521223812519618025417136471681277352163523234611282001590104218192324025438232207160237720625120546184119154281881131519664238221102223221381517385218228381711221586664134188157188252311872242051002319611822517822616472584122220022551431932511232531565235153226131187511171423481995447126226244204472252021831509401176320319988493897200412341621661851676012819217914110160652492424314612724721960791862431593339932491660189167211336901423711715776189114462517819109772501842032551801872407311933771381041672531431326720332011322923116088216193722933130239179231621931131831201001281091352011132331273722637753129165117202198941084106696456200284026119232210112124721818351266613016110212064224324020719723615631779222911115559217196197202194023740121842816426106221482322503710724315120116763138186248185174243841222392172362351311816462467624923119097100272562033615519381691121498917320530233838725022125562286924710520021358217650146192189239747188181742059641119422210811822164102051749145158155455611622310411819311511126212841552477818715184215658314121208108991652222292382281787112950816310926648050701812552202246123148209213020514411237201211202446786206851341821602011051301322352026911522749611961921857999911431552501047620318165942232423239231648114139187752468022401068251499851331283910163531384896109642421281662516245871172183341011000531622471209116100151204662302520140135520634154384510012012965195147458457100208291699610525312617044169954291417016513227149171460809820222131660159248691762092369715364204546624019212520823062451116216659243972321857934218142396512926115912123514622965187111062257311946927715208191138503841255511702032271476056169148150232444511823664302001061363342321607981923088181962422221592042541011111114191042206425172941895110521320620819485248250142558816710324923021810235875150231861352317312948136516122537192892440195510022791184106341901395223215946382093252972545893215646493916132224760603237021129138128474362171163117217195982111262215350363811768124230232196108124230199271082481987114917475116017221411051172125531781002213614710768608924914374521437420015398114712017252111652090222104140246192130203224237177130118242226641689112235734114100855811672431079974552321711831316911317518521016778325077157232179179252180967216211776162117178201512079018660119856016811522110725021887191931072352241901622111824923012920101753534202912318913819315642619823444179178242163139169167159169631691437123156791754322417324492175344571374294151581350154152341431126047194169131191140250233165183158104122371131161649322558135710513018713116320720146152148226196179121432012815910019511517324021480634611923513017813118937861101120517332551529811245117841282406533200166182561845326968892137831816118610019518875451111061122062014192230169142429017517121610166894200122128869739201193914725106951149921084315714810031771571633698449160131921971691541842392284304571120609224264106242126100020921426101203482408721812876291406675317714723311545756200312001229820834244128168272681772125257113920420420620613538145832680173226226225659096137148655219754413617586520206258221922262261813625100441861166111413023151133150619141211491992022247791023416410516016144109100143146162253252121002334617014622822535014136521914617012015710002289454801919614911166106115216281147108601032179682717124194108203113512823620019815517837331252121262171508095452725510079511222301022344115866864361511082121491116541708994983114920610112167190106251181232492164243232216441281661837210186641202172412026727204179651517219531112446325341213110231191352072041561881612745254142381642161982321151341971656715224162151414173291635514724176212051981312161051129626477318820069431864622426115519925520424411614376206551611142252021041220283244192566124598442438614277204252215742195155168832526522595218245225229136201801381851502156902283614557362101326319188685281614311105144940254981035736492221812331051902172171261881112035198392172311531391121067012246141619610214114020315814423612820013521219918124812712818019213322425014713206178123314714629751572111550253351625023010024916313855441802271901691471411822321621177523714999162178166388898220197175421920421637209897512625419122925323414116222319197253237175199425577216190221144122550502403924407513024711813525397872321231111722521127924817711919234143100931851281751172092532141301351092547123725425422478312123155253216200236231146292095894710448192248291921893871622211852281841152583662148011215118223871921641892472401897792918421538142011121361091358412333238210835868149206811732317958216136208431503012433022433922935421601545127122852271666144161145647219124012624948227218224845427144371926524731241102291601729391401739536117156721851144623570131245102131237126171187191195711391511192306310839642522201116221526812210417215415137621812316310333942422414518849861664176120674321172131361313110517736802501102173891122109131123851699921740174116211101291951334457721351284115537214197214354492032532181482527482401852005102024916947158606483832207120160625246221108114116156529325260190254176174237681062235751242222952181011973310469197164424923251951533921420012211831344310117410448021722833417322144329228422071971447183451188411529176127120720176301281671496011273121763016022913458114736136135134298011922610614213717124657148622350921291325116813375518690562033197794515919519710781052372201108920216221145238226214142104872352052379525811642362139107611102281052472159110132237724454202861502461061911251602332042122521018747451352714316236225146170842176071015515118548459226971933220283105165172908916916214913864149109491202353185221115192892501391606372182218842249223082201212088244207158200281612396138104102661512012412825217320623883198243159680163872061019419115212517919312418319720922322512121222935612086921114516171002241392724964240243811910040359952861923514722822553762412311157477519451163842321607150229861971481117290189147244642496176121303116018159846164251417109931891918027223221941118482511451861724973230241411821052530124125231852036610234162742151978521014413050200013417710671902171477614124209101181161244424123352130131145931021375449171722371611821013011127190178631155252364424910317411782461724014717616415970241983791240129199452001421681227524223487160761982723647691549413876291877112481407848207183201312501442416509377761548820911516610234633939159122402275111311911221441318989185963171331071921671931942110519342910112911511510135210194154180150862249224211511792426725217119170183139616131431291081675116138185151602421241071782120411218015442111782089413810819165381467752142134356830208881811094810810038101531692024011198219206138201705540878336222640102662198531965215717314361776747022174352111001891178452110114156246821849143512079224871781711631282941415880952212361406022610920925805145254538716516350100113194146128841252146566056511350223742211621446196638333156204133321392251211719813955107721214921112610020116844220174238852087148197737314234608621521441597018914086103187130971311772052042021414290107902534223219024025414821829198218157702221208896926935328211161621722820821664124145147216110215331462387190178535205181092112613619524921419473701992071941461731220811960233581348616716023619417619316465226391551563522750145242951732082535252914110681982132201584911411413312135111120651441209301841610821143910512911236139816618117533243134186291773723515156741021641862311022316924873488031316641232271763692163299178157112221118168157197781681994268166108115230229149761741314222218020094217813911415214915718360175264787602222381861090253457215384111538411149224241117819434211671752203023395592132323026145585058996616211770170119941181234494411121181165749213623416033225526422789108476713926137119541422341481501310122979122324912319016324255482429548512819138252231767811778771194724184640204200202157158233291551081531975969140210241248128627234611214820417720224159101521491475537221189192811885019110214517920111581382313301611332266921367162267715910333273318018013314214614425290104781805218816116871212526331942411593211421376430160491214174133951028664726439765458235920220920612726981921236146209584521241105138485263207210892981721349136230291012083815914922931171179640121417627171471371121042428124121719147291442115668897778118141355772122192221920224050142791804670241662072312481993616420776119198201751591558560445212518220927159911903419552451081221781092411912552511882232372461891854399215235491232231402201915910625511015012231617222862451285856162462541553323919119022620812923224312752118127109191211236127208862481801872288979201147462342011662135421824230182138916452524416421124718043239105871901307811415911725119123346144144395214788177381948915616289352071861015911821602371667319522324414920823622822298154737640846424506232179141312432183852135882217312810318431316143123103017719379191242513390321473025013020218314759225302408059125921871142299143144171665621922361461356620011272751321281791602481882111622515519019411125013819224817593485529731082533424924218544401292191411415484208230233111396124068198718610306621616876524469766513024172221145641970123161231294190192118136160144481142331721124134882342462981221619093432142926241162457779278818622124314843136474224411814224318996671061694117044908013324617227202661052231081801191565021331142175631482082421651612311085415243461486223616712519720746151125115165226217229114771882127972061706023241699216844754215194107196122622372196522484802462401887476113197234914031212255118171746121160106641571226253802208330184014239177251160591751592372081682532003463981618416623666220712062919419512617174204251219136241719916142294580239341132241852229610963105188116682151124250202412569292552083316461805100158422056659828522621716553502378674241624617518125802411042371622446124776144603683301931694116020210180678617602303511515885417613510030242201458011333246682391372022262541171345818021433417184642191271993611172414416282143162420010616814110913521618912233171249152238226103209451991168720610322210618022218810012385221732331849532151282311215141553732513102519222812236253166100851003023914012675891141481222868542441921402369214410526127175213719238671721196207981281231781699111010388332525514021423112139771471817124116930111176782052402041812246241148135211731424622301176516224410122160962134163125184186234316215096519822116632421246332702012408431870211469113123952152208200132172941182137387688506413441371801605662255120104813118420277321020910127198372191262265122224229168180161492535227178391655619314620152133184472161702422240612147617821144963261176301591212401941760239251801542389517376196247126701861111651755418523821314885175225909821020416719318524133199199275226761513665761982481002511241237310041132222021613376377319720386038634156251961517419723112744175506251514716620100113597260114133156753889244824310211402302206019312813547341021514121121916616612219525210711257214591921331351011441262242121186466162161224129562715419126921001161241416926202134229165112227796614610316424916211215129160179245206541762555789254113922154227271536254621031651672181802345322613084128522356427341287247665416817133130130206153144100722111911227252115553572174943351111611651522388218935307920535622813041661556202193411991961031432132099023999245202982493219932109168384818515119413196216445113165271202896155190101371081312448841112118710820987109736612911170200213439324213822513499671918789711173577180189101158104811452842121716212967163109128141382065123221931288169235127141061421161683428778225421801068012710424523964862461327146641982023662119225211181114471821987719347113572164292200151855206194671151520254172244867751185198235114222197572624016322544921881402444617114612858215339106183712017315320322125512037574122911811224120184161651292191411362032417155792072421732402157087110138171221261517623671138651358710978702171783315012191936985785512113522514185114358514457461936053197616316710416516738170962910625534317015192851391081651882208026233194838475622211694954011140312554514612118424185918622885227207103761462523631116311276513992101505648513915255184771155112118331092478654199904851597938153219498792498211119721252232006130832041238018810475162732565247225712116323880741681132126611623358520200131229222741561652090466780255145188158242667451411281501311133291615222592031932272012421992321581114562451350152157237159158158116117620483205126223210797865144794918524114213610825410516812261247012223850792131001631077070468215515314555223925220523225221455494103129208154149158595120571115247292291795011539252041151786116112111751822531639917224351138349337243147147166134225154423663252672411111182492221205112522315813224714234222218273611121129514810647361391165124013911189179135134884611614612401355567621245124420324711677199178175942442211114312220886208223230167291992181141692319121711519191122238715019117621081152471831861971182329715515174172474246207335285128441331007616014513452162271621091018065128223041287129252241491919505816511821110616139142917717415518024609174240184919218112220321313910212522151041451171711561824012498187134155108804989032607635100123963768252196245121165175471622331252154715421914316718028211247158206192719017214112221671622533232841351781492774014338143641212132134885319773015335911423815422964941147561117337563253160222525412311106018514770612017838141305212127022222017203236138204105196114131231272812916412982346816778107125255212891672121221015178205144160126921222204171683310612975875520536166241121096296284110215215105231519753287310425120221612142137312919322714581263216932235101311082471311102261693721924423618822077801530204178542317720323712812203507418200174928255245382311817019918175142171151236151235173872610414649195126173209381841222011142451461492532263478160411701761381571432103817210643302068219213218421872023710423410421622018210527113428170836171185210134241106180158489224860221046111023261155451110931111928923138148141239115209501652816136162621938576813813624779224198351731361115025365139145202156272161541551241137924514465145152219317111994171119176431281591199616114321320613861234941324518020513014815218440135651976637676661801161518563420225066214592052461874583320717375150214472451631444221167140552341152385422731128121382385467571843111822824226107212155192612312018115324151722189233871351193299200196139760229207135106144196128444610017136108232129145241153179178243162742141294040253136212173721886524583135162152719231234175155961761892810536211133216244209186172105233238211858597517110210012213568257123517823187202200132186102912021548721154252117116233250169608115011541114318186352367204131148091811311331991501451358411191452262014105949924190024919619924919414145223879721262056010722514884215181195750140156227238991165719599510901623654996812109206532132321224185398611077170217141541524016822017039107221301862136321770131802062022402091144910064982818523415058707113419732496911520553312110065208718273871854510124520719525217139251566716321016171921131932331052391731685212423067253171117213401892379532241006820664641371345014610618237163132171183378410890236405223297415513015370197102206512319615111166141457910014072158154115414697702132141322427749197235227203542331932513311742182451198777362111542362331692222402522131342188782215254539261912248023190152226481620687209204961201621021512923214313620624181102622692511525244196074135192216226141411171753814811189238170156145234272779273377212211141707010320420546208149111336119219245104641602377622688129240192453627139236101992261151441722366012820166164184160714482003416812784193902050137231251119510445115568153140142717207301635151329449919201323052156182150751591601832062052467122172651021681861711821456910376921314167170113128501665301364380972107218620217381197235192186120221207521801594170878424112222726505411247175158153153139592022021641002118517812919813610418219878542083419123231522392481015340797431862426670309414216055817311132181488122281224119621314893619213121511111292446479761826921174651791934111224714821340216173209691072311551170199101764921616213986391452181961731830186170205921315522717155179302248714368621892152251201095118896252501061511782508518817972837092085620921816112114422516149105163191791931641632025536642112141091313064130207235120169104185825526200188151678312617892255821369710076381541412361791871929252352131871969413424613442221711611641702913917237992261782411941301481077530319522621022571371431692164035321291193122961081465154974611525320913757147762068957249139220101224250179114242166101120231217139326221857423159138735415225311545133112365220510210286158121302052022023171591034168157660671351311427949185225920215018642382715756517362532133541435448391996355167128204244131181806115810283129134495014182181882088613020208120941079153150230137412211842129320122128254176252213210187152263094176383617514778989611078225607524129141361932919566177176241843327184106188222545046271133610016219312919819119282605935151229612084582441921148721323614012418868751571491151782421671552364315669431561012435024215123022845207182457979137204136502186618225510720322325321025323522323123622214918623920518431879914236161153196208352621764766240214621011298111750113216591231942222197751762216212502092382081951116995248204212123198117183165240977110512712320913186255253150188745185159018864127171150245391747920313712210458110006727100180137452740250171206361262082361260234214761692212311532941798980301010516219225152225881111239197104517176712713054167147225230205591571192406125494220105113343815241255018018981731742511091802485525211911319910271281112522212223122717422071931855527442373912777111615795153174934822310636371121832171171912136736160593146203622325386479224218012131321322097943154764334094209979193227110631423918218411055577233193112112381762052192124310223343852522201477474676021216520220350621518540472019844282617411619010633100741966456119205827173623417885210361825522081103168772181772453320511524561236202125210871281441421471667571192197816492185961901139212138523314923823412615398219731572141882211321342102180989615020713139131641511918713264164135115225802546513318523915331132158692303783631862005498201421041991072683202125208149219792303124911222539116146180147222122233200151222122101299523342230781251651591526066282172291042014718625513750254732401841291165163236202251246909238213252101242185791631551917623459159117520218530116217118171201121317717421925516418324010595170255131141501631728716911210422064198710016452299524016418324821722982125282242213712826915823745645648405312922402152028825671771098315105242247163110158817422697232382482813077113130160122122401386112061652112253318313194213635903516831212097654662479115721546102119124101104248601822331046622315318023524557552620416925329158396112122394464302271662373025214720850681572227122118579251101582452127912311321425516843143150151622093312297417821214923201421271519794136214523524320323124631059153158230145321382011233664401361945919375152181131703528220101188222242114681056410424134717368193106208891613612115013015119412639209143215155225952264231314921223713640926145213772197212916319916445180231071251441162317816921634139171128226195211286319714919224209168511017324182471401301843513320019453184232381621712201278356724916077132216116966876218144112195168152180692143493249166100164801858995691891972507438491082349616821746482142376856216213176401910715820473702352044423998874150389341185227147441202041012224214469806412419171197231136302418145581385525125572201321115719023832199250154237241213155116181682061483922677317463116218111019223615158747119910225221321024816117418312246101206502283616511875145154813919501701921911492038387191102902451541909891116225250133150146209498963931451210618119686229517841109205471401081171477613428219152100432352491613117521815880182251262085017624019718282112125222461381821421224136523344115863427291168175227614234681661411382052615910413331250971381932515018310737313002236611410198020757222190208826042381913714314220515414623641738923316914241903114519112294782258416327121641061862421731204022717021518202182224181003425661075211137493819317212984129206501084504299841162302164511165174184511713071322120591172791083793196129730151071610411019820620019411717950243811611682051717789972545352288418929521102820524220413021613118721293197742248516829927511581240248156214441171931111990599014906218453437621816772113120251232451118021652051793117329188311411561841231465318212015712995316722120620110174203932114714610919514596178371780231381229998205230164901040401292059228170175541753106116891806182344224711364678145245148581326119135300531672921416214019522751230219139162202214235234182392121091433418724512817714591351001733021821219317919181572052282257719976147146236168171321601802092522247121316324164230692502151961496624411013515815615557367122968876234401173597010610068124230124123491732564671511082088818911769942052412520613613276162531052515815156147191402462589628128197238178101190202208130588961251358321161322231441631795025312043103102228253445210110410021821284471423191753816518413419910078792079310447676913113013514624977225841477145177108302091922181511211041946122664543536130272044894542011316615260127181662551471619519610019910954512060453620219244231918243445273961851831227811819318052239501192115428902317871122192891423129248871297129147839218410613317561831661331349850401571563413612933971985230984043200233737314237246242691501625710517448872411141072091301169516821318744221180565736205291911221792291112546225531126235124253205172312321124719114517625520515218324619628148197133246145302161916325219212690901485429227513314238135918447244237189161239238142491951741441432471343112159230236167411573917318346229632344212721083241184187236817120116324619419923725419923712114321924315911625015914618115153253144165161909722410632253157249287212871100128241412521983248777916098446810612914723018122991004751114172258127109101192170679118913560426798481211010241240546117412980247238972551891421518911811229215131182025021991519685662202188912170144251281472522363414226779124216233249167171133112251206166129752312139362155411952248962272031312224116421920783141655240451672071852341223018021015475178187161424122413624314410031252423714212425123920936236651281362265154120141166123602161141511491496419897136209146129126166539101229227531152001413215217468248132243142964144254963242331210201361832234471888916125142147304372612951383846681543111621022814420323117923515199159255441662534321113901715914634122218701986612921315384114317824617179311822493310279112001616985158157332491511885135315612016164124130344079416866139681779663293369988010798199791641565812523380912345210414813716718024297163761112291496229148657197103101249111482042922252152160224146234811437130149831181921431086418116159786324565216217791635979165941891041901143323120219728137620501973413476022247168110174832291451654184881681122321442191378250202202751381391121461698139165481201974788937169831459413641233755164239130822065091903151121388143732242092157457144139103228641651561811301012457831251541232730109311462523510796171125153591161755127222218720511813612975135227462913823760153114197412813553221112246979351981914254792381822161789495210616519182545532220711611774918167204175124161619412111241122112814416324112923124639301715519031811806840156671633266775258130674922712715815423418187106208125176288072341611722171341441711325255106101162172130665419944242241427820013018161426239396316611618922014924215439592284698591180971136420112252184203323216167641042289058172141541246011213142722232129159173212207202240371481097623024111531201981283865218870101931802508544618215164249762252531252221811672421922512156411422416910316412324156195163831993823019214311112488254234217891262181391511411251992321361611301586630224203614343631611141711901187411292181922240114782290128698510969222150185202192246701618250188161185531601255669122128179138569612613744619619716918018163799524711184322358152352221774167155601953521112617834105104682345216359196913178698625115478110346076136201218187138221333617486185136828412510812414109111971233797924519820111642502411651552312312021058631132172241213222313654941032919535203221856819072201366422731721918431481331372289753839596422145265698449114716717425452264418214914121589641071124219687751531722201418148395195688138119100108221525840484620910160180713920814217335995010515522820018015310519018414677184288271199247699321110233113016291012212418453138253212491711196820144697217125691031322282143336186100357224110135273311266146611781041571132052077318176915026912192143198169244226163113206532512092616119212172172311120213210043881901049932120124017421078208662341182421519038671095121061177372353319417391531032344113148661214075200301915157334910316518392143150861899983210153301061073490291620831001831342157102818519421920299952222291904218874252782091061702005120472421222124282164232129226232178245212679518315719871449020824812816271707210016272193801612262081202301012313223117370451121232193087178171881271001163818444262071721401883724617821158106104206251691908117714476180372202418989209398917813819260123819222938154227164265246207173301571525160469910618612310613410318062715343815428982145635592315497161171116137167124169175114162209129151173612390421891825151243126181466052421091382011411129614516312188951987240221432119115118642872302147879247161186151184422411663526726021725131522631228621861001311801502017023164240254207194827019710320720020015510746681067271417255186014641310208128383611615561391071164152294839167967070462420851287510210282174112571461337103113831361620014369214827295232118120981395520420620019943155544920525437230252807120174912091787623560125252220561041622441272551832125523331101262511341032079424312918916613112319152381415972187171791411623511361293170241661240246222481361291192461321881874322825393331592361395624112698219872142724512115218741582458661237169124220891221755725511016323912614724794147251126192452352472432381941591612531732381261241951921169122416169132498323680204132216827238342231892281612333506110686128196571251416422522316214551415321713617714117812213424214112733261735526452361811054241174254226234013510019443184117201741071312401223213059772486621134226112105244159592542256556622342024115841168128761352179215218322122210157119179193210113341852337266219241228235236551041337112512422721314513425052171442486115218612421879032144233174610015819315712718824114488502168525417121194823852209230199192237703911123302221929987617952501678055149225913024921432161871254616248158240191818415016851143249144237416824318112275199738319514513219899137157167210174552161619183012522816920130016720274224117361531135023984227467117180113064210209252136574068128661991265417997147211091962221064840216392171684150253161133255118210439205192130129253106721924729252192128165102148104138780193213222133129144597428196231872022018624913916451159681821584824415620523259151592190061641061113301161763096497010487138521841848234212112005121213620194538912513623572105901061691066916729202891051234073411896449242120203220531051389560821941541692070468201491572631512765748292105102129169231641742134781742321092102254419725144229164204131922463215618691749420010658154208120361902291391961901792332482231624418312316072401671131636223121813317291141862001287109721625536244175661275017022216025117041127231681311601411003178422553318480846464151214373159145225149307420823141167101432091411354166116360323124317313316025422413662322251305819232341515012612401146810561968941429312361262215044122012624024548127292263724906612234229803662163515394019015314514020117337518542177022683832211842910101943254992023827972528720311721176174120214313721155137915118986132181613912341161672382468716310215441782113522921338148109136479115210147881774116610410916412724517211623910436271471422662543310311610822402422322162361516682641606514539376714715265251356816665332047220737616418240244201461212064523220221269231252301211952373425217111215123216218120013714012144122225820045657054563616612093104110245107919710119229827121723620412416442182495338837612522415314773166621341548720014613510558147108134661367318128172131198165212189154881771325210892130121361681126842602031562113613417914410224241723115114912871992172091132171602241471378112623620060911103620811018035190108511872313568331633217821161170182212177810722851083131681783516251198378816049102164122331118016413245113219910421874153541241654918620173233164227129214649251688212136172145202119164446515200122166170421607620222713123523510110618118621020248125982451421682262451601017225844419012475120193261446914418814511318095272100661972142441325543119150172135102102719872441615918883194288991807320930154168232129200162531602241366721116770343849108247478311314686239140429163612115951431512018117222685187125153183114162193543438109130222604121758213104952331737216819621918657169148210059220196583616814015649314430962324212316118910468108234240216212113250281881551639146252112182151683236133160949414250141762001561114719417324122220110416164951411517264122128236178244969273224680203186242451682202125319132227180234292081051615610493178514921818262071643659154464229342251658220431031081461323820041546306101506321586249117717573919539303788150915181484446125122150111867825418410043242249821481716543724011414817194961451871081141541121546207171158762714120192230193197232187416716524925410613325416511216317222413720269328250181035212194203171681661162082442119026112122212562266821173716715914410823123308620091566921919237227244541968923317115710011214137761571062422081261241741020825041705510067152127245341232522316518241172169251541912641224952983518612019521079782091741301581062540068273221815615666527213614120141174515098465511451941744162312551784012615420919931761181371651001822092122941792004391100721581858127113236140146218228255252951391262532724717493230253251210222218167127123952843115464124969522812696632331109100646921659123104112224189558612624070200231251163206253209116189622559791217179238170255118165238219222170111186433018323631062456310667562472201192081619351304160229711055821584917211081761346760145013598656886672912121221722323423711133181321826703410430128237139242311812111121931318623433112441361151755762144661621431106126246136295671536116911718813666315525172942331942187225161581112481711117412200332401844325510579117821811750181233845482181191341021412819051173119226218392211261201613671227248180771240172183021513825593103145382384038142021289815664125135844465283713637224144238200841341841331722276813540252084713319719081312511912555724015137725448961621801168872221731023984320010721149125215215105215264466248132678311775451191202012221634323949202176143551572321652939120559117381221111717515019546123162421801758813417180571961541351871771693915560602061926713138180161151631231802232524375166152104132212222216170712339216723620922421239165224190223225121208412248510112015852891241204117251814512947153173142315165172162751504522010347151240852022482422369107243424013221760151791602111723012612317341011142296614202192326115520110266861454160206136207165871601092142411801751441832482085404113125123721317896104271312404219269821282023202783811371771142081387813320355319459100153549620345615481510516813823396224145197191213716014814014801311077138782411362532119916455141441511423318693125221856841921672125624813119418710223958101164571964461749520462391517813513529158167611212080818811849155665818914318712425329301561462378158244228170200211128171818924819932155242661651801916515188522256365201152168128160249311360621922111924115321512042145134322301381792093718040976079184122011713330192122648818720411941971245723365178805508064123142402127350601365266333251643820114611322281961922195671366232171128210143172226901297222011374013220825290208172171132516319178722119610214013678251233138682321291842101321824803215896611602441872152371323088230441434594111168217150921792131841067601862427781591571531394716816766211401422052821155533814170322744862481310423540302111275750211469690154231961452440158162134158221715071226132202361137231721344248721417118223442542271421373216376710355133231215451762020676243767711314221520966141200021657231361156884588615031261752424724319447194209732111221556113229106605610020114222422414924018885211140110208181339716625169190882189496391842451882366617612721824613615355823013119914074312611015411024219814910814821268120104242671878766217229357847891502432341471711978013212324119338119361481099410441659721022432316660206176136180814911621111365321056446722106811216368431097721521725912381701641931292424517825461501319113924241687120124128245067153174453562241271123716596126491652765230166165122337211247220201223218211683234186191701242525244067215726721614851211135183641481282465814079178423511807110271602392181263210027672511232121081394489594521159372136921112723510414122116127291419938230208541099217521273219722154911651712201681712221721752211549218313461431512214312012720920241501421407527171515470711631062434413312015117132391484418413287120881245304834629912918924103731524018747966117657160742183162541168208232162245208991668563551732545716438202288512874171873286021810332422985545260211411311412281161081841131201242224419240292331298118623633209166225113233243108691772152626412212810217108911458735214681151725243291972271464517842174411525427124121636243212116155214017256180501911345438203206159521715610032315914914963201735542109981781314018720161217232624994238165158248145113891141382224711685224141134138128684227135127177163601781042216813122722911219232251114111205123088014371197125017839495315525221310466565355167144248189181413519623917352806413162175136137104982952207924193161541911017311016917118126100152196647833466519824012713014065253206207193187239131961343019221952412172412112120121176301881371117811199199102132587498601978334353913520414320592891824222911125421425125027121251246571423679631846373213350502401251222241092093111134124184432361391191915419020018521982242164179181222242191901541679322979187202190118675159117211771531623774246109792091831891332232462014421913916503182206615117816014488161372131442411209210671571004468236159181129501701921013069212081161001962012373919512221271192335971126229211302482041272356130981123418016915954238251281601751901144727242771591352423740491496819617013515116197972231537613612923016325023883105552344518854571411522483772501614323910213114924639110114326356132661661240779520918315113919118917218456683210513123825219993522334824184292311471781702331141172136128019913411612013510884192177136112831194424520010401449218114324612742563100876721910512971632381321859460202151221941122491242461171534194111861862191491421182338016794243594013843413813621754811063034321312540161126418438135147122173826401501921601383815603717819616791179253143821492422251901271541282061261002105485515510420802411211212914112446209148247192156961416162126173239632162503707465235351514151162333271102224135251168199143187156255442302041991454519914720170136771408018240106168261482413277430126132838143115241145132341558720210012813219527713766197136662381032532130741802210021214924287216127192851925802541839112089913010414633213521101282042242516576615112211511482221590631841030192811032552551122242939791632371101393921912252431522431596811615950222110180222108489517520718512120122464714771607174932002345914712622992198141624317375150272455750193014551441616434104642101414120922314212715474309129671825316210575521498915382140156227118207217112531126116831821132591342322215315423490238173419719341802532182108227156156252331451802474821014816587382036215757249224436785265214076156173203922291131602920418813326722021913250155136187319412265241435412919313124882521501334151201932458737207184591371090141332281020634991129371841692414141024713854253116165110702624419258674516863885623817841190108125108201901841861381419229270120112870535921159213104159147229911044582418534281511961511098207175157155157553862107847625021624817291222351722442201652061089111712424916823220411380881153195194763535211241205134300956814518145170334169106138249312171116922734361149243178243231155111942421061051832151781418167101112889208176134389886332636413212721334912412448414311623413164195212261426136416217224084112431344328611922124315319243172951201843104621048811022112015722916516313618714518315166819562612193147226172168202332077620313310864226156136802371283016019617111812815411239152452131301841431402011322340149112513747163109131610916118168166223212514827741171267820927524114084472387567492302091121492411214312290139137244641789921461413814716173732461491582636248564171220160142200489572281567224624821714966801511532108411371903214961018213521174772735102157854186701981021373615214822668722022342151683702152491607428515240254617917824216016891612097211966132219123209371881682311712924315693248992017810243922402182414118216522213818420220533511717920524999244571631817819839891617134132273823420514551172501707713785100471961229611131413630162121102132131461558018110516118911217246115202446466222222350129203244658171221759319212324422613261491442498216411388108250349442128904725563168192255195102125205221581213113037274510417623219411711204197139731392101821961048740118523618046844310612710818825296881002626317012316222214222133705944421571822247217814221210114319663945271542021226425316417720021620020225290602542402481223212952061461136235207341267988281741361408383210921115737168113617660175122145171116185143118139571831581572293119824696191462371112051962482091381505643641993315701981013538405616857609625522551071614134691676778196149111158145145595250132283017212568108384012368193902402457369099203497101110455661238722146224617825233100813227141195751321822615153156872216612913018858164543650851341581661546020030461561074619489221652138016414413184295057861039410045932344015914915813511494230168152149234272715151553563198191110949019313223217210189222149892142514520315038442061141358717313825324725591218222611741192225031220159252246129132131251162105112642931327348801518817971642273239236942492542221442072231425824917719022912024623770255163142178391571011435974238942422215623918612621411325317223725057235245115150020619553956311119011311102062451155724001832341731802196413125346239543266681888579174182107178564911956852408514178491161931194681189419667101901064771301712413815179198128212667582091052042923824712816751923110291264461009722412091115715021211652177251107183138335089211471581455738720723124415878239249581892397662262272402185192124316520180171815823137147216128108128622473132341210056668335448184839920614618413132227326211250301681882529521311101732254621715719167743133422326215720610710233122206102128209162174137201469362404114136220109163200119121412532221792514119911617319914718679167941901441171733323110625311922626139108024674022830158507515511514524581462121712116719756214156501616124420243157202653023812016610810425121498463139416916064178252331811601056172156164126421620016110202131221352409827456494714815104116321617817621313111214824216121239217236513171955817015117315722942421242322222462207122121216312717522111917920920911554171245184241210145196139135184612422127254143241236279184200168631641075616274629209553077106581502202521331145597916524715713119816018920432068186023345126162142195402115716019388164125238424138154656454752017468128216111314696104245210207163432233264812123890186482401024123921524766148571971882152262325810160251818819516188208125909618012923718121197161710916024562240123156106631452201147621512476391506950217128112561741756181431792371991471867816624415777191118492713722010517822311111561236321633525766410615145109261871925917415215137108158631441412625515630807623228806619231162139119511862092501311772331914610924344522413322321602301365115118311525073104210176104218100128151236160133836411916031112102414223912284234152184204153105158197246146372461461121821449241861332481701931342259205173171322292132241121331872126112959013213510311681511726720233121534312421375221229431248518469124229102156149220130123451802320313814417277619516282134132391292201992017513401364416893225419510047929620171922482321911151561382221913922422432051215121193208314713150105382512201082238210324110792171871241124115254204116207100131125661622515215623602194108439310843155158234291952464299162179381981541997010014092105154201118998451394713562161371838230199166219661701666227186015924204301015081111129216152145234142458539243242249801110053367422457208217234173801410010567752531441319813616811616119823849521241296717610620811029115503819338412439911724516174218452412943189537529211844218512271120254106602911922910213115113110983103188206238715460113217723111695181451166235117610940141114136153237432208520021995457528305226238089143419011190245115100111161165416719819622964421287413422917321611434692191196945419722419618912024264118961243214524412814015767217814321189802542002311405295164127451102021892091808519106106185171183621217722301052059022215821539824931577121682172587702511816922173992028781591376012814712915620122215984719614632104624920711973295209110101254022229184501331191603016018214584671665616421101147111691514410914012621314248193116951385014275182206204206155154225153104114140228237123199378916078121261864518610485822451021252132301641544521812498214315522539618039211954199851729522642703531191596215410118822814424722443702223610010012423017618424417720115010118585200181051499661642613124402183324412819014621612792233166169523713268146112139172373322215418414677411811751528625560177982191562041241541431429836121105159111466699131741561542262301701801214320326163183240252129761782312278152004267203115171121244321171741731121611712057124572184764821810391252211511251691365145195591992269515891561179501431022471301061752402131921254120424817917620220171323098111821781012042014113646217184192902157128642082411012381708915324919132062292221061611913279135194449213583208916025418468121328612010714421223610863920172301541165235671142351601311256132398110838109235171472411146842361100014348844711414867129322918010618010323210132207512313720917100024214010414446211211125831411581017825297214224245153110242445223472044115610524246119841321238777792427777176472052444672731551927146104782401493817522215224831254382531412231033122015124120612916418324719918918963234224126222118641960235115479172232129136183247132191189592362924824713219018912322971735190248562252201799251215966254135291651435974315225116141221912021056114621812420020812219620812252185245728223514522815019573205135146902001751116117011159154361046315022024910174223215233554790238535720146721022611219925522714292264323216617725611301941111221381902336104218241179238130391321941999320013711613523124511912018512320425117620371134191228147412245685019580140182441891271106422415935220326124420030858143122286123741192217432311794729194135921515079862541726732242401571981331201447237180141052072332441421941237199131122191422721819052180311676701351739538227176243431952195149115892154790328719622413511757953110167606023320612721023710320824194643210080962543594126231251192171308711996491761282291989612816225337165118123816212024225018711259501136545223106118180157721055615602471061891531375023218187834145662044911251612511124392185152221244133174249203196150227122241124231122210457158212113202212115382272026924314175548010940144254462343212722023512711816523273951178161882332401866412459239125178195976729542366512490627216115274184095072932002242110724130801271314410172404170253155241911932114322671249481653002121331844708516210617121112650237212714523795165202241452442052031208822302181611811521629022311758179229203204825417915919664691361232382118822425231227023242001313219114101194160251116230229243222172211216922510922914913320593481519382061731010100731922431857159376164175602021532031501391511341342371981332014620160321042616917532137691621720780230192559168241239545911021215591190208157251361622451396821713515214113312029210102251253863921660523248611366214801001951972071624725249234226311632249424852185625573482562071261325512430314512820010995234335410431131751507109174199221190103189521861361912250175147142131206928112072053916622114813024512824216515167912397179924321514174200146213817019710313023213112122711496190181165096116217724025259424011736152177241952274248332625136782917147625433123124982062013112586134151721191021862315211011477511291275922565224140521556247236122232362049224810310325015018743196112255765202208481845238627811115310811622411215316725752240610324044176216515208252129184244225811988117716922711615313910813397121213224244243114144172195210498146252381482023584163109154201496121112206761192072062442144481291120472352311316615315614810922848205131607951186102166249102103228207203411561472291591481083127159514662123848425024048227136240212257079132127117124249102935323710213371020017215637125215430208851089423444271591043018145504420252612131578017757101213206681584532150691882321917517919612952168130122971871632292387416244179896191535460501412450131412837131761751128719921416082971841962272167918267503203845102541725453211140303658661941031571561401623513123911391509188190162019474791346841000605223016208317017632919413330241971211451341341558171693213620969235113718911314637868968254106927211192132361224520994200208153512087413414914812838128815614411221002502001522042172512181510719776101153179213348443421146018622341302511702337337754728310136220203122272342372242538169235161713470161371676715014075180461178722520173741642053986196128140242246621431079513113954137877021334209312011921367133176946915240114251208396195511781151271815825217920020104128179153991462041781252391049318244165520927871861498649518191220529320931221431551011224992125237150200194186121230188925015617491692003016519159414314422669708242576054125769820614017222048252814137129154372522003313142082480472301712122487479531702421674314680291207111213698103611761179411811960851167022210791174410778132472004115416017978721761407520025163163617043245025832331061831978511094234173196891041491212461621971581142224249131451782251801969117828018334191134150211782481512504223587523187216341598749010047131174251891041082506612321721284143449013030831861131651751184624118102222172172252372061092531331181516045216817846500301772251185167971103516863244321011700216252822311152102411941253315160361615816071601019617281883112896152150230673271571441312307759181761686410364520452741928381010420717820418822917410136168153233185227181725183115231537523010124867615320310921147227108243122381762820722636253101251362051112161764523122325318723695253672061112542091761198724218771472222182324324625410472130183120247491454188210104248193125234224019619217420811911913518918339236253189161135223139611234016522968862235719925315013013523719715219138238552309359107239249422798160241516146421116119616620719272411652554416122521124813463198551262222324812112421116142242101031132451591989224856104618065247871662031675111092482231091162441831444520822711821031781961664111111791171610513486120104653321415190126144188863124719383103602518610418924245741994267235933866671581022151281112810322910112168185248132115226120871157609087581211901110819148023932142411312621491112235146291321902258060168602522005120728329129208119233209127208230197169107232042242501579525597824730124145125231211552920953297384161107621548649364483216640132158175211321824084013173618459153151772495019216536666193224981003820515719317491128218203174655814910513016676132851661951782311465095861952456114212031413267142191020222913877136442377920412842498160251762501651631377719924422116721117592204145293614443682302541111337313121622110834314610713230222115233221103822197926642474729141111601501601135262614219693433992123170180196150471472181907419329123206102926215914110013718751101167193129083393079197136661631741251005996207163218474112524911642200130691779910596433224224314323616745501001511211820114813317389144130602621725540203224561841901482491811544316653112149461271342481188351142011816592322511771314358781666567273341661781936635202147841291441111364618616422211824918825252190235235122119312628213161042541940491282441012412913520104207227158518972681526116863437969632682041321104316367162798193541081461211281541381020657926013010888161661501118243130917264011256152064131207202255012922216322424715794249321912254191122111882228623882542497935642231237916742517100501771707250596015218241207102135362325715721812150165227681142511372281421752401423918331791105915821225016519022913919623099186198352411612245442432182061271891566112182243433110113249922301411221150137187632343620514319128111610142626122119526264260951222502041521230168118116201581764217170912041220016263411971481118617919487181200732351181311601352302111649717866174216524359152501247261551523210633719711191291651121108622210013113121201302225081111129757252351001564610382181041861158217811715420991621409135877210918517510670166111106154123122134234122794180103144217312341751394516312516319287144134827176251542082815350442104820510014324021544113201292111312417953218173416250482211836727643301471321441701551566956252838272546419264168144140332332265151133181601971912114111211417810910012491792258116622581169243205254489161691541831281012181674863101124128361291052134314441207620817515913238189473192123532081501776022326241105253165202205218427658174328981302123911789712918512076921422420417620512538246084193881582451118150801906970619213153178174114119211881074488184174156204253227745450712071113312115551642142913721413717271446224420718711211242332302485011280178209167913212514910911132124195692262121151721833313567195833361346456691656710232255115179252224142161281523511621911318117516417324957236120207148202323315623211686254177171301816154021210440492061830121126783324299172123131364692555319724511440201143913754607876241620115510091852916872248110217820921585652031891885188971141381071205216812424620056261660711961691488518015527321319136791461287124232611702174222731151142421012421281361813115913337163125702217314514545215262280247219182144316029323518213522174154154225252615561402241331163296414811382323498104148113110783014812812870912064128672432446422122227218157137213155871222031611381357121120619922714717212019314573188221349368186418344178231991511116613912525415911781356477172451422462521021815106251172412559017067211953692622617312960672715515585488111179314244901518073572181801775350111245244361991962322042335820341546016023311586396471818741321901221118017717781151617622187203200644020112165244821481131302091902086912314445341831169016611917417316122962536129131198164253151121170104141321232172483627196228188719718084226244195162210161714417714418818622922210680240217217534121614645712822067361281757952561661521044724073104961738248209361922541015206812715316712213317561373223013210059361141134713620115119414114434724822019167322590401442172171262321524572201361652401305320032385343203143100151186434151230667214569246146101174178101206242169702072402002041054119016518213857169121203172101112102431671988915116612187245123681731405344931896225125525221918855126237217247219204611917562176392412241292481832466512424401922718243152192158481842392361012323114120824722281251271192481352513462611611324235932352412042031032371832660180180104912091951501302541022552371222391411151421711031721004411630176925910319011438251242215891259510324615720218412458243234153172431035017515620618825211770223169116200128214163122145780112051351175623624821020812350237250249156251205461535214079232092113839663052187251911882534562184159010410713025152147152619313782431082221211832011231755723930237721701181541868013512317014963187262321552920206135602083111615012814358207202149240160918713872046413812512333717144242392212542724586208122208119240117681342022512119520191961574159173471321037187893611591311526423923312176124112253238831699316782225239581051300160209131471320571245141135117151801641352262252141272271811287510491131751184515728322525376952225651724032210229204291687455179132435721131053242259221214023923817813130240191231485626196823345150918712114312225279122111921252191915054127153212123541914013156242528820316724420813912520012523411611913120722110661176159206185901591252496610222324912030129281061298746102193237571552141172183625016125448686622021779162463013819977193503393024216621222018715461392821014414821619663100155120233194151562281720319725319048487419220902281503540144252432136512521684236106110141661295012816018025219314115916045169196149162211781481212248415523923469235165357395127242171153818719120315744510665116531461941961125025312719259522039320237205522916166174947823544931912281841141932229208118194497061112230993079248999222720936104134222179217224253502192411745217163592421483120238179662082182122620041301971622301933013450200641957425318021313198536160656612926174184188215117631434942211751808307311915420528202140157224161586813218327301882151201994729138592471131202472151981712317872152408619634622422210711764152441832111809928222105166831612102617320292130139217184921122299270239252525715216028218143396591441131768194231492363139190248199104252452241432262021851082503523420612721022723211620833223224344566181229751519279601022248731103651071621382151422111551011744822015913438129551363088238173687672139105105238252522248255422813022619614920976741538260201963991581512279523042143469027851761221371631161021547980282623612111692230243262111221286866146212382013112530232126941096017561261468751595915119922301690151104788541130913236521912257713011283067131188116614517710514783172243114114671242111517912519147204160248211148142127247172121925159211513920355392031125514052186208024001708412878176207160642350123712892652166415204202200155153701551312179210125211762061772244920910512010104131149222202100181961932368114019372230732046410120127205246200194213831407841941127148721861701107100128862914820215142212173223312813517324421412816913113131941952929155615854107108188121188206101090661822208551264717910518547952481862101694746194153214832471217423743332229092200150722532241180731129214216821641249482052321372441751451211627216137115130162492122128253180111858152344625289136174641862431453221012924882301701402001671171293262161707133243101781772108314156961503516173146237147127820856981141371802014964931705212529040109156206178212811425922619421221363715880448124572125636204422517720866235181203114551486122814118212383100128621431962361942183130235711511081529824232336632261152162103547162112452262082241171752614814181041240215421221281335260752212291647889184821316618986419319511104124016010411721919750941221931695119011012324223415773171119198861082235157100114643140071712775200261577216412110476421285219321815112320214710716025088182081501001321922486422411213919011017110523743411711827121173154157233292915912912732287475622229164687609017512918058526621018323415913121038169892429571534521592322595131102243147217316347135161228141147147292031561491441184025537246501814452144668515688177779517745166112253121311071088425084878252393610014181401510020411920199241188234415496189133102802481071671641876524715112042150122431047998461441532171857518821115172517911424223190111671032502309011326161322090234142041552491221494421819154183106122262541667620812313613119552141463720610680155135841281026424814024492112119812824915098801245260217572425422549251602512242501444136128107235943144820113410072486198461181502072014602031993710417718428491611632113711961004618020960995211152108217251762464612848224161917841130423249641311516524824315615983481972243025149532052249323317215314715063631951914017996142193179196228901625517272140767691811873825315125580186231117255190223101191189392271571831211123713961184632302241261012750525172151881813923622423848501921821250206273323918819018122224147320971223139631272002121252181221632221151834124781123209163182194254226311219141239941632396245542341872232361652919615418918017524037151101991897023112514411715893211140222110176935915122124385106199231341503513716664243339321917716422283105183235173208322324422136531391402160163252011332071862001242328918325511315125573119332454209104301239111207125212225127220892488244139182282029920022267194201136150209142931006614779223695016181602071291210802011316254162432142490190244108412322619233251141163243722372192031971121759320017591592724522232190261811931381435246148254123020911283132648114434106385132081222003681981331922451391023669106225124246229179891251035018679145662322522028121208246371338180124145132671531321282002083072156511636123639018317813217238251180135102392112653661282050202410432204659019621572516232681921022201962301312321546161107747613218169321622519112157230632302131291922549179249079164921071761284922310818095111176501656551171391935524212143176109208104214321423516086151442154715317553152197851451316713178644560874610224715875239252218216126501652291201142432373060611035011092178129205163189113219672465623110671492041631613224413910232155061520912218131908189643861512282087330181081602272078174261921542224190109613140425020310512710710118464114312722471851862004424461171952231842282325815791069412772119181222134234160173010120419914231457721194808522725312822021372038518418123017192152013322791571672102197916613748144225222018623523512153931282106749106173661077598541341081362042483020021149168241692271593812316811020816112173240161861404109130140434296632228066356715722532401061521572323947782252291892404189254921871447743893128301761701391412269010117201295016964236136161942253612721524025222710723179105225020745708128144107231784615920316109208118601692491521742491681742542432162431596855307823256971324219225513716812812830014719810394190238248162762237236152502344333160224224281605047491911591041761291541752041731424321519714817471289423821156102299688253102451402422229432250191865196201210102169179768719020118423421832217812519723016119229172842072322322443397672130161171981612254119519322716321119819810314139271258217203221219229155182025513097207723125207139200175675873213219226755520420520215510611617424084132248170167155921841126811621824072211176822721220901291131771638164710815877131236322501081436116954919154149997224157131211442251531552251531512333102167187103152285183157240204201240217921060831314216920124623370231761472713511210315222017921133932211121175048205825493308318878951734414474108233691924115815677102631123619719598210100224101190149221236556131148161472166314351104151131712686145817711622512210418136129971716919617916351199235443297322445018312050731307417719217142158200918139616302071791261372173560182120351734120155132507811561043849135332169225812339922611522897534242871992017319922922423820220001673846153226240246103236331381435613910910119534211126182210128923321725105622402451521621318624217314843401911748110513850920517315514410431732817120312925441032292061085011272011501102362411221115421710013112516916352601911413471172051076498197230184210132031562120018244854205482212281411677320452145321619811721911724974843013380197226852104646432184126762011981054022215276153208125075350435131244142338215189341691939812811616090831001405559391273651108228121981382911113818812813612855511414513211397018541146748925315410523747226202554711787130891384146241161841142008326503816556151185431920210521018576671671532321048447221725024321412312013245859166115107240138651323406452967224124112472239160222140236396381642546981201125010275610443143109722111842348516819673731417710131152132346910722822162021131382630266972949151178517611874178191452092103836217153492112221156716316016050232167410515717423429581741511322021099621099116221612183312111720810232202160227100109239407227159157229159207203119130211175204173371232432531513582651786522316116420819317910122532844636193204762103837623816918879251003116224208200521964297132361961011113346487322531491851817271811914691232301672913620120613513517102208702151809119756612057515810341198179325116880100158765511926922420322516135118232115499144230165181134172372272448622011232023625132224941208222810686118222661232411241152252362441302011372382513418816712219214712715019327102431353231457754691531845222209321014825225251912491651232392392871271592492383022718711119719118163252237365986460528016113112151371291191191332532252051762479415121247552036312661236203324123634911830207190113206113239824640100192195861361291887205562442211072442221741192211882241881211931931762231861681931182351621491029243922251552345509924846107315618612646231242233140174197263165253881141953199471242859720811550245382451471882531681575449120208236146141112246662244652806422121919318924212205110712615651207461302441457671621323221831152661121602342311742442514210012464241147135401902401238914082042746152122253231113189167511923311220129240158515224441232001752301381101354101156684019713203517516162103203181111022003120100167332482252261712072431316061140777111645199146196136823178133182371257011996014524602081367209831582943543919612661133510949123149631777321982011801111442251614213519142163186261525619002071591651698147196532710511023522154111223185281531621012613716144200107245542381656173633023410723115712215370131735518220422585122201471551282371320213741350140160204458616429313368174214155219781649258162171632022312076159732225184171691722018620513121917713152027149185251921522715732220200574519879432434014025306013660111121812221087202147341128242199133669103853446461653580147162212469017522423716359184113571452299048123248123206100129145131151183125149138674285535184168202917721221779609181195147242195551494410514311217394123427110747920213781481999723535248811492086771991218425119720711701702452025235221861043910121977815938522032101748193775717465513411840332281141022402012413615517017142491962007417610424017020114422620932331441092021875124986216415713071115294521882338199251139215240226319964205332092415024220431178271642257786254136385013119960923424839251233209129444821812852611152422432231302422071601211614212713121447146234631396125181413265243209688111610461895177931245322341758019758691611619199202546815117295234461513068112178185102255109585120193421128619697155121819288293116832031191137458915238149819318923352430172611901083521613112916143221241538778517620082523520513254118255877522712718282158250149174114471782171221726143339823142159102114205762471322308623542541311302324210410395891537119225101645119838100677220420320195234408923444941042452072021125124539642402117614182141781053412919515717921092160179829311516013160192109214472431791152311012492301022502301641233396883184128105411421056251121631119407972053705363199312261731384690139236371723281601816116716414422571145784957101113361203217180134183916611613184221281781496401262181681611025212671136183102170209611342146320516215312188101617320419510718564422002289316125419621512116912023435231443016016156691801331501469137865019226145136136100652361362221971027755121342521072286610224068226252263323167160425425518825371163171150230137234205761192514914517022818940138222128483601941232391892473223261697485221512512222385918724310220721912117959179179516193851814168202861491703614960189181516018924770821177918322223922215515372252182841172451582431575614514514514517145145153223231133527984243134136250181363094135120171134266215080525717110211820134216971842061171501161441194209165219941917149211312426715228126633623325413315334034211112150192234102071952411217916720262110180138133141107104458412618823723018223213317615421207164858021232129191152291351806418563527778416388445108161741451031632401711302492451711492221652523135170254563419218101291117092266534201181714321915369160872011761552341121941797491306543701032411001592051706825120517310467722432441974876231154235195221168991447336181512532112241942508811420179117155541281411412201914821923016422227150109512454171102942295052511751312371761720591217343025541161519611771731785155872099215977475513161164531583113516761281512477612224924413013452455012319910916822287661614170213412391627209139551452241401303890292140227283153154219168418221684159776121519325107485414218014519997122128246246647623812518622113223411531764919724412817425136178109209198891651096824878112182181402267511112211310711221311413215313412224209641573321728194212137645224419295206751482131231141011613310621206205899862208724018914410015743188219112351008411345207253591931375428489231891328417564638025518416116405911912922035241021501803439200615630161662222081815392077471466721012132708659229238921334212823216371047810013481471571314023530734438281536517810014674144617114235816522023515320420216913324521111261672305262155925137163491841042172119211437123205205169155151835735335734611611188111393672442502451131272431597594251692092351912001202271492485510010032120199171161183211311116079486612401391851112531832172391891818624717318419379178783140186220931261631912301221272051411291061121891912429015922410611113316926920116546252818422045123135932384618621035323401001413214511782511521111713313696232200692715248232253481062242112161451897339141649423220218521887116189191228214145138911868023314119324227678522425017233173191118685823014973143722515645187548816124024523222392278351190110545424822111302370250221671116217712142201485370197114224108103466001181421161621755013412718838107119148148237701459183332213214221104671074514071407130145137396427156106207262221573617914463179738178180209481147511713659220336719666892246472212342281211682202141492151101114918024076381649921918618371811266919912521281952174012911814425512181117117136140935602091581313024216153422551118136203412967168186121180250214492171062242301774243115145941212378315111096235143239471461261191308012017719132023250242131784816821071882542331955719525182251119669716318762142234253522225517713198681161251842261391953551431462131142372124737631831422012505721422513249190508819316146198477523520021472381262011502550809418112311392962452361518591881301901481851752371800129622521352322381432277818223119221247151504323371922412081991651632532447830401489913752186421684141522200217752381816216125751222151136311340123120951222073911381819371181560922181821731184720317921159186242422371417614623426317875131141131251881822371072107811199181145282911614611339949424737293209021819119220337135250197324631592607124716511825397225192103113422362431206777159107283977223151228182112191242061677311713676701784631001281253424811614432167783020424252601612431311362531919572481874883116312202422252412124113622349109183110233200230117145174423222121271221132112041461021201911738330209180616223140341441162951230129232685217415883218250362057141949341891281154874613710892109434105241139201759474108219422440975320310315118076203171123621872502491562341691851818012446193199217756178975312296941212724212824057374517245171208271563421702272092482522513421031142205133142207461107066853108902984222242928651642231981606101587843225212212188154891971365211731931491092434290231150522052001711571509161187176971181451281441602102301601462308951321111410610224127206174497324088922541632522001914516197100217474732318544150942162141313775951461491456033316512512612017120824168702006121359181160129154156852144221323210654371391637412816719209188614516209180541781718218930206611759823317216215089197173184207166876124157135601281272557224719120403812712212621125215414970200148156572772651872051332206722616122414319823114237195177249151992214422342262411641462311791071019714717819717618372257321620471551242011523136319322195020151102792021442541361341811781091093060166411721221332182415921121116232192256714420721031379914515351598318224218244614923114485107170151962301921701612151841863078237204226381960456824176161101611092041221932272195411311951861214216515617825211212621835113133208865016616412719132307302098418641386715012913616611796651952620031244141344264152161941632411337916587192246130171101898282128205139237208146151108136128713818889158224250105133137916519524026230148472264120717595233608612523323622516234132242202321951392251310710315118265108512920017324125252702141901321763431636144200412491311824713619853111552157054201148149133205235162721561662262382462371921410923111194946221094722465219792011711251213717111525020922520723121224018624113821786122164573829231541032522121016923750171561721185244292542501161221017224524282187315584166201382143742203209903474145139602502142320851151972292550121163147197173134324512814015882291081301181976968281362452431212457916587194200231148471341961951551031504413015713922918921024489371392083200397224917915321368120521698821523202158422224917830402111291675020993681312531472621022119313138145199146741367982208116238203163332233115119196131142722122054595501911105326195521951191311471043314424813519100159501463721922014223616112381571597422612072141187243184732402412288221282318781933175462132052062114138170134164382312142101381021606424290166102542062049352175104201179732297919722920720542132052041578140732001389219116925222325312742255211127401262291111022212437239141951661082551012282352191941181882222451191001287255248012222487651112553423218319115624723324613313512715911898472019128111211516618013371197641971811262172023690311681762252133152121691731911522519523573787971823876049252344117810170101213817133723225411523757392471673122115760240153121182191301221992471679423345180169198951418422313010232110952151491151393620863180251131244195245419120711413325371391342516315824879151001622454129991952371901789414425318811123314812816312383151913112610010321489311591422310615162247155714619216134230952451281164618615713024219155881431601341431585311292381531422819181671410130221155227232253566462102419412024713581136418484413218716829841851481332191532113818680319766661461481298786992111117376539787200376224223641157142228219662267942311726341711835168361713424616411812417616250812113353226661034758235225144109492327117492304418752648231701171419022415218513610333247144120237452066135752511031592382041138729205221833523516464222246321715813109229941675811414231204581134023523225424419020722659631382382524817023516323212915713715618685316412518618224522825190107138133156107135186191222164139221233213150254108299320967111516751971802051251132532212371224212412331553114119518114614811822825197347861778024916325151246191593114969124203149165102415613115154491312291386836531753210233176239421761247412658114537514188225292158184152301056917114236962141921742282381439915189231132402472256115919814743146226201162116024520001371111667418211129222221962451053228151104110282033946153392199913411100231101191111356421628110213228741872117495947623718218393210221247521598188146124186815320396221190841251272437911910019232173822248725410395324156350662472072321921602208119112080248167219179121217792814423370199246111424316326158781202551031136131141273122495206633090322361931312393131237112203352808522017618621196651240132671601160532252023924869193982251031821092172202426916247391461381587246134372555242235241164194233513144254160178691932291091612175647224922622417854152712411011021734601301381971846812646179181334818320178190361641142011721621664157534812660975320381538121681191771422497991145627821813617010529684813413020038643391011506124147101206196171612923111517023015053135844594801832822916011531741411069221811836018811825110100221138722202502111651952022402182299714975162262144149180202152641149238227241510432441925110510179131212822093451864680235615222441411866656932711168605392337120236137224151719513716625010576206195924912016811859101176722821019913209136183230245178154167206220855819049188110181462118924413180893920979683129972491625020062331731353447168932994183668212227174198932161364891575318319386161226017724211297854818710020913021885243107861538963417223112221125020013411718611149204421821623563842321611726591871579519138184106571223511320120729412261251081781174210955432101372281761371461628495156831904182521891762283144144372521271725119731140203532177324311542161137661052391842182042241549776252226771377536195170769422419017913991411482517776202148125103205212749162171883317815317021424112969194863540725110812031802715481601102022062918729180102201198211813186534242131864997233207147872525317514061322224130222421432202182519814119312315416219824593831491363822016861831061101972107389533625416313676191301287766191592011721669016021858172193229206138709421901626620915675112612321641189116198157112973882468222613815911511926334711448153172936512513811011121194211822568321951061803814411615025544170117677220510881175674128166178236231137203255429438942031241071551109714717622715113811250487175120484631226752332401042452021421922387123331593016241134301528718115621812897192311691801381991469723457240114232242243121401741973812322412111172039740561882521235043611398205217392114225422923621631467212746167221332401801426204173161793117029427917811412181111581675142731229643416415155127521772419335835101004980600856786812100111102113171180150200449014143188519517319151471451484513379868152408813770322501006525315416020216522093246978207321301087015093673711245412432502321101014514724310638101857920110615614621752611871211221182112282121381052331016515313319341169161113112101142225223512783245312556724547255752011071912041232438715311125434105251473594125372481811096521918333912498961072321421332198515188241114208911911225024547131222219281822512052162381550793140189210131616210127185187244981032411331951972359139461182294232445622311020718123158618411224680190218112299356920206311981591231903523192123246217678910247116177512395011613610323220216944120521780255898911551121112103108199750371742551471521631871462073020219021487114211412814610540172219137941922232127299123151951081451932171781286459107176088200237331056683063142111251916819719110067217252205145202107712029622820824122725121196551642531731512091481311404820032131103209228240313522232255222200730241235161250229148208111895957225182525561481692431372431601439151022341642288422121432197166322191706822813520184291782342142094220123411219722965216170441973512915044123102169084885872610938221861202032420625023113015911925011386551891945118847189235163152129157201222542105442082440176891672189923710810917119741116196140875218356148218222431776912660161622114617513313389422352371344314779201152362462161291722251892332531593916279186621382372543611010015917688110106252218610622121950196161544815614618251291181696316548591620277248168241143159247119401891181632171332219921018022011447506415722426962102304910166211457315255201249610314610076243102119177201647493221413718320315711211910647174217247147154221206921621431632302022011461853620337904514613664051227920513515618174169216227135178137792502142231111191771124121621614812028140615938922341591232092241971687693211891085197141886418111879923913131492471651888624223323245228229130199247124201977511924280166126311021215871111243251229155102178220621121455225239113176143131126112228107993128821122523815212359512133124527617123262232114106252126100207229847920217419421143186134201185532072312137820117513121413141524513211224892110205179898515682210952011817916415060154841362511482388316625318169143382317661567389857916614860150881361219212556462392092481241321297636724513355631631825580234391810159192771462171862071642037416320710284016217249233180210103371642202224633771621131364215214889201161246139168209179597512919616518362173116821022492282361052192195113575810919219871015980235322281931792510116851577992544113920014983115170166229847920517415614693249124861971008220044159146851692248423744871862112124623015216881292212472012282267325212001824012478245179153341441582064072341691209024673211202252123016151131685517420217016498191271462401572241202351123120143134202215713520752452291601609790126323695118661922051111245418923414518466181201462371262391377185633475172255195511923511340162114891941173226731579237353444315463201551115112520915541172419117217215489243921022451401301662332497720723121261159935957171674771601121290141132103215106100575264137965414711510616723053762051731591488125311610619751233164896157139200213132161417532103681341806175821852457916614919517331966314211621420078390321781151069719524416219825160128741681594622981415113915410012292252133184205150231255205511399018451496785200101739716979166150672211022019323110072172311335982171981062164243882532401971352261020094244711725208531683644131743813914470328116418315820321451441821761861492081071202554071872221432231282424016496104237101642152911771209065227194150911289112439562094016355521297302526810625100232171690179182349187133146206421096935205421091539321410623829644349112417049682314150121484715416359129160192585751304221823016881902001852142431482251451121521011321231311802064038892331641678610320183204428936612231011391129625265217516940248555212210665356916662415310114823413797482273171200106787253100128141151961821894017261582472511611786439451322651131123148210227411652081044612913620311613019410224632336721116976158232412010205236472313714624822822012225217811152234414812236159412114898584220662431608242884315074161841891968921022822156902083266151835221148945129123113149138147122601122531918138167562023716124822421951417222516718649251851622245015682227108121701691011323634192096610020241144117081102232282011991211021132031562263711510222072019552591751051027810911297237252252210208180212176248249251212431272548769255249255168220242183101111108461202352292445512725191227872251707230141209316375121332362081017022312269198712624317112115923813623425467214201253218712223411012212222588213110125622732003112996492556849801131151762422148021317316110622015571204194167236198965730631742432032122010118221047213761509423122322095120174511231207998239199812371911110712755108232179468197173161102171511196818223625324288132382322416813223217295153411236786401464946922914135149215292321681307824352302411351201761457571011582191922372155569675139561352151178649328714412324464255167177176115252166714855814111210230187243149253121176164132286468148165648126962081614131701422881100225182262088811116714101141236731822252835199246165105231025712222423020917027712251159822616220891862102256498802251721932261831661122211615162120512081248137151240456312420927914174156244110212129241891311161945071246165119126205113692846111218218780799375319012019518119211312142215138898101175615584821247543650421623834865222513972533012980702510018452018745133676776229166218514220322122520539219115134247166161821418931217245113108223103914490138243213201134191632111220423851444317810014423618516659709418568521402091198722215219910679669217127592291929724978762552271761701102251961961811081921941698213864233128164172148157167641410917330187138608817830156525313012964121148461882128478722501509118011547470428426153806525221615699234164917624755161712731129311971941331002451392271171287110824523065154568931758661144433999502111951632541261375630581723621912017110431322256245140153661921140116127642224612914524321023311421852461341627224232682245231673311118024713014312516985278818091216187768220012615206184129207158144104281817417116103195142108831163122192120213931941202423812518675145245209226249126881464513736325173116221462241612486091194282225115242129711924212941129199208129524822520513612916714713969151682412092149346151811610182243564136221461302651200242255154114110315973436739601721222241671151239139722552252521481236718101942421302281594476123921502222916698412282063338241252712261153013620618447342291992251423814376125969725031451056314111224014713621225119583238911441223815199159118223252212159132167632815724312012412976277211310320168206331471002272541362442513421011623781169614223127332131711811056164741091613325223025412016110834752057342820925517710825142203110194113191163112482169067631420718495215813022620352015319441876517233246672264044194381578321724565011696522412522515315682172506620611621394120889203126215246711151187383252966521815232004216516420113311835392630771381722227247211151789217211565530220932120205127269137171309212523850123363493182185136202122329010219613071621783113615061149173328212420518522915942226142981618114419835192479941491852088309913114122117512333632415525564122059118262144174122216572127462182247112103315420883157115156691561998374804423255145431977770208141552271538921866565091381342302143220159212935330782002557384246189243101110098291141192913924101201122111042291637382421467118139240195651091545322452527010452137108144107245242135226114311452151730245110239328917814817323021129169417023923516520111922416124812411620217179250116106537061307314818912033208194161105105209577014216985123250063851320914310894471221601971772366152201834825112317418920822822058100192115217181162411035017084200531882311983713011621010321519417925521322024871191391454310478228221497622619418518512312019883105214811727853217174154154471641592125649812884204179147217201641241202522361781971646718722997611468068364281621620039226129146162710425515392011447681123114150156802221918741601641462011881341672104340475724919015454814513263158921382031332202173242729833205381841068910422920220817810133165109161371412431043231151856815122701021987138204424015425363252235212872541072252747231189179372531572051131111902817722710172127152390701774510819921420821518313418818553228452441921751302222491012082399592212511181942001741462032211412152506418124025419081234127772522291863964373422523096181225198145422482472052251701551361932077116917314511449250191610520812647126153144842511012341591439593145211185165221222240872541031035817871246164152161752157145125316931223155122177187016276178952817325023412045192323722102389022118461118984410014713710910178203161157191245237482387960222351571301842689194189171148172107175191246201464921013912920722641151681824913525011082619417381486924412814872118322301441041541781232355159201962077522410942092041524317690539032163723789199247167163106621432159199208148196995829246124111144319012331341593212550169192235401171213220741612042271768231002062432423751881751763952482374838190793241351798024019020719152546228142817135592110102071791282251151691707170297417310821934104631771631003668069118341689461163817910617452993831646315891183231323122141551262366423014522116910272232411936636124145531743717114130162176621201317714211816324282105230901454526116153681008819227372413351922241311988414393133235166511051233209179200631108714018562521354036150151739756111853422389928371823420317615523181191186501692151481551553731156252167813710814819511223664214145611692531593924216012363141239851376985831538012724861121176901141461820710425131101201922211693121719565246121801846665022112466216220253241224237214161601312154317575123138715623720469152822924321335251145243110154302241321355901022602512381415233224182061392361412022622514439123248514412720622078216191132152711299523121232136341752551696789166270245128117631273956225591209216120103247952307115144200954197114887673601549242112816766112133156691022201751283721918162467520312216781914925372762383517718517612121713332902462532451311711841321131130946495148241672481262614916922557182711506788184220834141917624912672226247130227145463141742152519534011610114619220937213312367137147240227112145131519610062181512431041242389911332231145216108607936230632615124380116381200583015024213122468112255130180719824310021864902171152332114711624206669230527116422327154419023917146421090143123788173126555214542253203121113128641479721216713613211315112412712624224766181912744139105186107185200222971821922551566101175981681882402241122251931129510417771241111318418112824814410298194155209243669341202381332451701081922551318021725410828369213438921243113238127151323614550156272564621131574195829365341248714867120583692398420721411012089191223196684816012616821612316994169112301221942471311924025548762461955420714323168222208196129136145326925173100541331781121412244019242322042191291001951821451813417093245208710371491851971042121668128113741191751545421717919104134121650219824414016959788928241227915113014723079162332115112220392112029714124075291516443166145190198172101083225271829314625518975252649318718764512439911413023621512124963867276211659499254302052191092046014812322172256514221100127168371621142129198831140131831418218350109905315215866164692311942332961224781742082411153140752171654763175126114782212362101828916510917624922417022911543150192215109185331045213230181647810413221216723313523913424021037671931371921898023151962301152027013514411281717231221421262089713565213442132381391982371021492001025683525560566826121134202195239231864469632420339195120200181837024144212211233149202082302863155856756120341811218936211942192615775282381427512322420891253246239169244178256920517913921813013823723183623213207205175843419588921614517159152571911773724612725412723110825369249219911392232171403013612724322920021595153175236127116761926120611769910713610867246114208271911562512464723012624810668247311787923817518821222112018518723811411913311121011221716517421075933723813816219723411911217717121617920781912917917441849129126117197151123133642431184422361449035178218227371278025317917013140254112491352963144621885916924719516814222320563248155164044331021111253232194149295823811211616319415132432082012712620150178312224127851991811042521582491272351611320275184117239201255911031621812462396823823572299252557142175141501423715029316813203161439010022213085130229223841298614216319212172200160209841111281289179420116785172209204215074384175149142186696144491701802511951331251591971323777134301378113224613395681641536914415421818721465991601502479812562617430482416120401771182245222309914722980322251546212921819472038318820713122825167231162319111787143234129126185281513511015493019982692261513712112232220225517520321714457731531715023320616176196201207241131891001597014223678225208341202292262089263147182643252463223422471497510011619416122111813777510625222915013019350111533230183119255196161282440204155681841561482211077121314817355741971861173414410148581801541481851978223786201154184117204227106422312019488200851101971147145133607714209983179325825213510484121735271821712412133525068601843724596571787963010523118011829239114619038134187231321412511531101913100172111184130551485524713916321318812523219455947312322312137121731571839458210016814417122243888113109642146911219857743110281691801492122241421331222423740209244199237712302511871271119206018166108322172431921113078161473324412817215557472541872432262251032085035222101312712714722161642559413724515671463221714454371121942341264822181621032411122110815162471561432014823720123416222289101132128911271199422018916113724771166622015524513623867252132154126115844995791672135325411411021215231392535660229129232204711924215832601652321531482261671461018814970101197161164213219335104182127212025079194211301402026439601499224410817018756105154108183252120821717813225256891141371878614814417059195170231246376232151932511387725094112181220218109922882112137030641781659592818924621743185135238431792071678282388025564200246515321416917521951826122202110681599188130947191161221457182439423741872462391312341194170154784234129212283716029246220154521414766221224190631610916015279147115422084325110416520579150209241731159020915229809052372257161162716462016211222098154403425514637316823120023719025827643154830222111652331762438145431502012393421692241140162243943764562182072062431416513419672541968461183301662511481121936640166122040772016536107897430136143988123768117571957711913225238831351875912942462128380151291172381931942392164481662106025212810267251251252262061281281048292682977010942321215948613219719913110618190158911351112312638179202484191250212117264218491238178322531931841241701513910122735818014647821322463236512114336202011926982915160208764181631615519935144237204100767086351332531313910183130114419219524113310424181352471921711635164953520014299114151216124981142001411901915613219835156199741713613715910720124301461781294150768103201211314064110253131240244251163115240601539224610874249228212178201169520736166777579153157262515456187162382261272521592422552112551582472022231021911905722723717391111091371221152431302915593122413711311521551911741222242459520512123522921719112112120617418316378284018521283123125176241230961951411292618123194253622028170246253144236143376317315519521302071731452612614195301712492341202371511991072813131892223121261006019325413019814913322623514091126159103581141422397523525136246240251173159197157581481974117411418603335127119178254239795325222120118663158161241171882381123840155211445512615016447545710126144781031882544131731311008867183291769193190112221244215133248221179114137110217020325275198172922522397124616464187249253911852202411177481184620974208170241731318378244949917911991104521759216232381622521951531449619464145163242322311961291401619373253159668899250119382324619121723112224216521522315370236247205954211741712302214195543839682083711818416312417215711781571622714517469800197244341431294623325535253171576316019845178102378021116023417171136893110140192202351122419527146240431314018020210771170704919637182495813884749881361191614112031731851127492471832281992481714811415716175181881572822115912930128200142367658217158139783219416525450138678225417160427916067100939722721417018422277452205753118133311311441201591248144321454510120357143134170187498267222218223143236249362222426714990246441711518513316522719115111523598415116187214632210033230177752201505158140992409598995310023310012314277422322524815442292201571142268054249164562281597417641134525359641916717071167196140129775016114591107247266017413711220724516010921223484174243249226149199195712923132131252429638129214107961220109207247193401871251919819418621741758225219021020318937151641431161152205352183782222281901662702451281531732559120905536158908063411872024422412989195631588210867479164138177196148220218231179107166228212782116912915878115230613639181236217212178731691012071651496315181495717913881471791711161131612611320514783672481151531491475043101812094413732166249423425218217983287472705183482321483561222411474113314323311019610247132715183581871601141145424941225202251431982311621160248104128103831391762072247314719539191115873411536811021143381032241501822516916419416773421652322332281621671361568638165752197128951215321074159764312521641943110112261406512221714710516024424114814619914613930754616698137382452392045580556731135204148401275816592204241211423810180985792355212816782202159207174155154219483718714143248115234391032136215594117597611493155152401721081897613710021918119916171733716410813579201221081142023129161483914939611588269549602381221326341188185101502617492152922462022484106574141545115194243100905462281525817723016753323090157204842011741224618713858127521616416616936206041118101197143382281151682117513830794416666228221541094220296119247178332511213916850169228207131837037142827631591244046223236103204108198441033038631371121871242407298117667241361928024324060243913452164648220722921220544221472411695501236517117741512761154881261125642371513014043128191668531812191586359212230715125539162017476110322441982119211993184129110885333311352071028571541373088168246661771396915220183487520102152407921259812581261752062321285859827720517484883411719617220352012651200332617822847231371682551982073714222371692081481911266173145136766016133522751501036119145912039324414868134229255229602171232484713018240112248221144369282321111441237515921917135112463675196145212184124301217525311011218308416217248871152279725511478220191154271991253712610424295134382252222714624219522416425166147238111372492091882081592061512252116242148249791748815724155255173245871914012524911151942518524221921918222220285778151325714424112914423721913011910813121115912322717541892492422361191832042212512192161477249235849523817318521887451231424485291992122521634835342459223547231951171611877213418259101128219252514419312412321441832441931232212372522052062125517912714919312062261776755130140212316314422225111376231717253159197651001371121905915995172114122492145513014140229520925540638120512851109716323122722514275200112125511713314251881032521099715724199160163191141389214561219812486614388587319919123212332548712342157391602913217019100521922281015110720974175244219582170331741392031541839192125189104228141347537231158237200110401559412411679202200158228991238379287287243982513565123292506214327218155114178612356041232881291223200906122136240519658652521061734619118149102149184253214206105161361665511214245911841842612752178134143701502481741091402491137918023119211247191593114677124120225241131894881184251229113611424514919317075125229876224241531187224822925410220711914720118207217987495621989420411523011222525115151551078920259351198724711230121190168180242146206211342098231002391682381801172366438151401774658213145591764324924031162141893112123218982427613416116414487511104924333193163208209018225202823215230427278124117229657613712190170243224691792789811919379182141731474324464215711771504320266499207701789521125746411562122332032481379914322251251168192127226801441123128214833315622914819210501422177751882013660188552977133223234711920430218155214243105608513838196207181100143810220869521312926200152518666922087166206235206214651312422717153716712014324874216269515823519315722143208209693424014162234207180103247124402031367238237372291311983913023252422395998128207661271371881882061511991522210419005019042118143242534323016320223124428159217206251312102071081772171717126166612391161874570148227125842494153102421335415149022514117119515521422421818401710919711603091263720293241381222091118416118120310315052155193244220138548968165113245194230117209173178109776235134403455174137208101671631164115216819853492052352269010110578915494321071682032262323022814410718511122726895570357153175141105933118723256634268620141899384226883413220345154215206175931023913523521915466166724020444170159951874417015352215132841817720117370181361018198190236631601952505096674802552281941051215324317115146108922921717650164982092432171497923448194147201133793621160716016423212920810689962188948692131194315010153951432351992022492211021317416021836020616381143271907092245132552016679171411073427101213209728922571128639223160140106943122117816841196211442351789522414013618217620113244157138212164413107352348713521583118571403224125053145136478253680193173201213130663200191102152616023122145101105163250213112348620587132115168139174580132756520120180224191283817021462519421544199131759592402042311761021972522181491641916424347213661821572341141622518694174172861672415914422971165901541973768515426129248220401721101017223711494138491689111943819874922613124923183338414817228186942325593207451045122241220176186853353436610672121691042377411719321659186240221200656443225150711319799144248262381921192467855858841781837449234332551039771332471067215117787311316322129163815248671708760151931391061225020511615413649638172432714579168113920911313110625437217568966013922020517015814893517310329601518359571672381531404229761686812717040149682282210516820824216792813313260229156146751249013612142322042441018715768801252352206619517123791651154033248452974393527154501132045141171134684019714723314618316721142158751751206217310810690225212148180105201491151461311471113025516725518525211112720917622914914610947103236216146248214182232551831341911773724424545335915611712121617866175109153247250214224215183204123227149185191217582391892156622221926180251215117929421905880123190179236661031371106186101742461501211842266615125173184218391842108723823919314612715212316817425419896302167203106281407019951222091274115165135271511913519629371121164711686481804392472121614446145169111951491441052532337434228199244128200146302331862718118920942452082244146495311511421411178951781151192311819910471431231491511429924316320494221525324288132021961787441141042912921514332932004298192224246232203217178171184210187175146102160201524137154140084241001849988224132200108105199352342281912222411782163814992234431904018713201582359342028819233183184138110209611259760712471672921714752176439710411124220114217211125133215714211028173188381471377547203422361978714221662955092160243449717420844721522246046552101921395812216092833223512642244804555180111216241151845110417378710516824057311652432430124141421363623287611924556691087143849425414818923419813624424795271701981111291512502034724481216170171672132242181121410193160135114411526103152161742632175143212136651451607023018214221292578212117719123622347212218110912651342320027217703664184152521101441502529122910425312086469918618316518890106252196177781161714922615512071202514355208739222212712124098277831921411085213112421820815215785414811568126119132135815618113566106607722611274342323741461302292231386240187335020064341501841932021041741988415023986130222784616711600251627517651361226314171361128682208682369494209814533202151271211614323391272481462494850113220152211150151214462466681171292062371132532061231031712232172116193144236255109113120732071172292914589582331881102461185947248145242241126725029144111130188194368841317335102911021200524529128245194916117729169228146431481483913082149656146146193678311631221922237121281733323212111074711422014623191512554412623313925219710315018276431088170921213113791194111911508214556755519723285178632024264234913220222719377882423422566223145254614924721423542541091491822111217861621743525215246215116878144205149136322514923318112211220131451411782222329973249791671492321741001339823148925618716441178113852522261313775554616891621891601508582378813417158741312202361169147132288025351138234992317379901824111321716623221418183243107722319931731361169151641487620217013241381742482519721529619821221910933491017121061464221311739229902551311848310675164146291122378277199131451333853142193187182643613611992185684752184209150188152176100191432015254771781742558811220224314420015764752242412411610183917110891004317481448614013472126220152163144214213182812186119215222267237369411596203124856229194110395316021350261741811063098970532616426191501712356611814323012914294171144711081121103311222724822515826205128221125244170948113250180177020710425019014411111451421525014724222211952093923265472478519021214962141735262412242319751271423997217207129136121718289871341092212421714070903913816222181128224116132153171366913358748215691795317422718961712172027417845178146172454711341555572282262151752095214511810811799414320142681201603415702219943618612261255415216411619410112591892262142455624911351166331013722746125235372122125066252162139205107821558716655182100212150231841671821727625322325424717895252162116219150188299183223216262431982142491751111552472501821851751111332471351302954323299224311810815318325314932898610475208155472072522531716512322314122225323524012519114160215852502292411981122150372241989622918119082157641081151362031751393717125416211662177172595288125109804413319670200531982551921752554823120825024211717017765109141196821181761941919912824515475199185246157671902071192291591062075818247109100792421451571372242161902441151575921626743611036184236250961971739749100210421372215126219106873517410713519511121925023012915241365611339211401182527595157106329524814313421613317430240582512034021222919017822522116925315938156233200163128501971851515682129872512031292124926331063410819713517524217130198419782131108151454120416318871169334419992151221681647416916111854107151742468818740601712531631845437224244225156163251832511191982451262212510079252177131169103187115462442299523647184114164248242329222311823020234942341191502391481732552144237111007219319916213272131851712502481121177218416387409523312114232471457194137766561191672441242612717861199204199225139122138581794168544817814014316644236621120724515094281721881241641092251701184823616123017019459117153135168145471291937419317113736848809712923802631601947392461722215103121222382662228129220669421386223420023820196121520056180221931612031921481432922617179251651856819529141166116895918829476168117341406211995160248197991269217813530242161531002112070135561041231145917394131151764423521515125224203215199132135524528639218179176836252150154723914813143112173149212271185616559431472361531742114107226816844841158145253252202127521414617820424332441952000918787901261516695193858610219720075161195258183216157941245671247163192239133123131919131100732431001232141921743630250177389605301774014765891121506681255821119011724620188391971110733868841190111681338338195172140782378914521318923223514218522091122165111220252121712510821401701302411448142951041532532395325251261263353203130171151206119118891461652081731311471795015220818814246151113218420323016921023523916119120161141321625024124012098216113742279890373822046105217754878243014567170150134864593801835018411493066722870402152341981711141092031862082343720710114967220161251501213241223244192148220106244642342021593945123172072361467010013177595485030147131401012261129927515623215053104140216182245171343166228856323823611016612232852266125461874217812145252681689312113975217121959192162121347164227131971285916796215222618314116144212124615911732245175807323024812134226247141991287516252532314624949169141189541548206254861961615720119885129112272311321362131663445716816621112618819524189538917860232379983243531141951521792272251662524110112111682052272182272774720613211215915115516611920215913623248141240951018136240207950207139160951178911992810627240672311215236176452046019817221915310515418618715365182411687881901237121017722116315716414422186251301635710951423911823885618113301291472194954254204143665528212251234237762041122002924511828162234177156722814123951898891145138303411242113217207146150108741109315118510485782351622201662021621982043710751254127255712492034787188182181642441921822165518246216332113130841513216071166350196644898961992301215968154189189101222591552311241766116425121118025420721121922314359213942481971776209322116271081511771711251653017412825450254465462112165175926725021220024578144127181088825121216517593198118897412912796121533220623513718333130831351787828200208253119821351183729217153522481213417617121163251389200399234241861522052001841855012399252158205146153121371128122475917108201351955711329511672418035120912383320016416532181212951182429624619216791992471031922451454013222458506414919285141230642351501271852093224324228247239165615148718451132641842352042417120814991196182271001232462011419341224110186423357126402532321291483512318611813748232223252032252332061725193217200313123312913916671086570181189621751126018616819110714949101349431779052227642061809055801010413564020533173228236200190116104221408023574186183971297241351304226331661956520932531012311227520624420159233669103123741447224124311672025713911197712240126922061861728156239396817450151162311701243104522459582117103161621661801521563159144412031461903910710482103013561113235200551101991612472201898117323016522482276216623289100153199169551871243424810627143244184911781682011419741178425454902191463116982135919119818825211256154857583617816118092164224855912218924530236145124121617613171136125119145122321601292288614115478282023021615314036216255238252131191151157101425891152137128651321124722312524120824184171812656932222181761682147419824893851925934866738332381401103012919636113132196200190180193932017115100146103148089186134252211389757180105235227110261183249221113152128425018419510782581394812213819622115139246176140273148115148933619198262282392382420738518223419415223525312565182041178743183520623184180133170296610420550512481371689551371991812090512421772051342132049985683161793416217176154104208712321571413316571721022491722262307325212111126661711512179222281167442680207581361268012123516420411488251211214229175157253207164151762011731549518752126491241162211301862291121251001312045216246143122413351104323870132252454334278734613043219136111581294137243116901691401510086821524045170145106258712311921511528114412172711422117916613110721151291296631118829246241671821852451531111177224186615627144130193161227584013228419023811224514080723392922322481328228913020835820632371993312915653222221121497412842911335943333174951423111138147494612916423613110104254691202482247321476719663572198521582642382261011026018815612024173168113167128175261575022212541521633042374220247174160151592295078172174223227221206121714498828815161276311888178110103198133112125211319824591455670235205227821242436417211718097341127422519718321956613456236175677343223112612085170321781611923970206771092089916914012314098233207453381266842168361768259181971481437422799739218862181101117782032101621501861381821941661011694725411719812725263243127245203236215182164190190452382451091111910815523920416216134421616860815021313254207123194924024222055127532511839113125417661116239111162782913010623245124286317847227166761324518921895122107168104911218919112420210147109128203864217021221378110255818412356132120601727292226061789262252522228484232228602162522013896759147123631426117851241228193762325910317523317816419639154811247419616113772322001282043615017121199124953833923580151731811698681441522227213090252798291548642291732252344714321416213314223720356221158123115184250139163181581751868670249135116109861192021811931987317422717019713324162417519917051139212151844720231118176335151141371471482112454621425517810216824623859243122491240361483170321091041119822323149611597016110240112120234112230165129194107195165215134203174282259015312441441707923192422121362002618816012320260662391322191207184197153519912613817212115022224427178164140162352251891052408714618612118019823423423020990342420521322208017813325524214574200186113119193160211187239274311270326418414127220457028207534015724160233887200176178216164949170211855354471502041155225410380104019568741062213923299129184230491792823413820019016747156216189208248177871593614271110110728170684624623976668180996026342004820311214992232271802091231411943019103253247178152490283317523822914198149194241881544260761321601361801932436282080761716110200246241131892531593930254678423113520924023914723718516470157211541905694711951767111210918422617010325510211865234181621113153431683582203310311142177163912269431169162407349143123120991322240246721641281231824331137130836207110102100115121311834313310917016128477921212711316225421424158192332094013618698162381121814207203158181193621612061038619118016627024512817312562301822331499711411020511518553226230136235632297167192201579744243137147103179145411761201581761892011161034688187204152148919118483101182113531265618078381342142031402252012172386897162171588553163160977873203148156261554644251153622226621559425476901532387280765623319127909422118025212221915410642121203174643104175127190173472441161222011792516514750203565353175102901262052435722014211615610519979361471844071289523312625419511357207100148784732241261961951562101021833891001341411516071587843351582141524525442253147979119422114211116434611510320559116135411151322318447149129104183195236146111141128201222051732484177216541591442912289711018519210016445207255109497148182206297257531872447825111512124715716999882132113183152161148323254742401951399624022384552469017223855195127970110151254120248992501714423118765641018610915317971531512911924410113418121796561618613321718817010119321320367170872041719254183981371982181252141521352033753431841013221417214815312534324120389731031691478422917832133121212378054981599157230137248506049522189818922073106194204232361665483714623713518180186772720913617533146612375375339145229243107227187477417010620016842411072019524724321012724723910725420322314811012657156117612510724424617317581052485412222421213319115424323017510218919161108247187491573138932321341368729217149581764323334124250722171321762172210167719611577172921641717320895113181191821612144718232158250102887620018913562489224564163472451502001201303150683222765411696164159248103582421422387714711711462138234255521181201192421696715310401352291871914220588722361222055411912742054823354176179342723821664616415272212619523216411396255952817312924122724712621016363108197859367198101931941501241581111301784324318423620811371041541981891321591931772024024221632391031872427831206175913546220236211157893921951142307249852082532016614741329523647184608811610116212251741902261351873011174117184784167187215131155159111134151121174130851952529690208010417118748145212161177345110387651171218018624019316565147422615120612623723963219911141821672287611920923346193169206194147135111122378013520100842257679492091561775536411492103156193619196149162332011501742471799321020113172792915132251100123145214525211912744111615351882461367522923285588160151911191903120641476522316162312216719895372414511439762181531621094618120241362225147231226262371367117910087249239981831765219711797126113924118770254412232245813853101118015214619213220661601471641691951611891052321712387922620862122372002541219416581635960144972511441851941571642301401402215344178116255123999515819912923810264180243189133188510318711841841668258154162167250104180601132348670841721622446512024020213610310816012111313724788181128163675218162435824880104429684151202718251116174812024076102165173292281622262591481411172451722271942513178200135250631538625084122153411591071261746921216130421431612218113077841931449224411212422279163179301362011263665546312260169722464578431233416923214524818819918111598217425568178645438139207183772021082212421612241682141801321322081091372031083335694110025314524815679917801583914633238371862381441220216164292168631562221001952272386513471191848714467333398014892284151199821515461182016216313944201186492382104978193147139818321313260606224614421816314317123716814822642198764741642261148621121251364254819618321914532174682111032251211885313912922382202215715820176581911231122011041018415431571487147272102017087621698217126200931482301612486093150724717424080923077226542002292361311463214416512623812813512178223133315440452059221822840180514624321919374244112194104161254443253676456112432051319110693322321292161561592189871788524198681261926523888120225143613312073135138372171111301791791553219824323277731005231261444989324424640208612062824720617614913910824134791424313950577551221252101161651343107914286107676086255184942812125017890232216212181383077228515111775199321772481181531212055190240145566210113071191383179421214416124017724822016719178166361647713913715329191488216186233952312532312559018712111523318245217175109732201771172252461732252228266182201128411295518341911815724820587100552261831265324723795205249112199130319114323922315312117419106941211241278620771177351238347245741352502291582262032211971511861394611822581762211124692311871381251762113219051088912239119372431371231962122131602431431571335312810431363236823925115823914614913021244025592167108196115186938620728222157522481211941921032413159197225252171471142429661454120651032431185862371272888130132200667020828913911511610514179501467515637681001822412211611282101932399725510321811513511816515236248226104237117200104792412327220016870821912031825413748234227135153121120326898141482341942521613613083135115196118721401641792071921022016722916971441212441287653238253441822312111522542072271342473719237188238981181171682362106449126401723816512918235103189604024353109898156111844724952104102190918775921533154281941682246171246164154125203231992351322501587221583861193626132199683612859325174190588211577801232531042212451631812159210416712618171537848164301576911210120541461602255017519263403024214700255244736865841882249212085103322322161305123921414597170202140112268244022424113189208214174143981921921741001111552121100246176244217113168208122240851361982524310013821717876183512227215789943159140113136246418192191189832151341001521332022121301441301842486180284341145221251146154212631566371681801063424032124221016442188977187151132562251184723970206200131932324194209421941282132287365206332231681301421522118252331701271032102001901161525273233181361336615019349148176153183117177581146919117230195216369911124225238651241211112051001906211968198285915219711518512118023017114713210193175992222401292685753227653816323517018412017423410618522614916074151196532001541855521218112124050198168243178116161510323620984192168302418712136131144154101230687471317454215129157242351647098742078969271108822113851317182282084617778502260233511711041559319081322324556156812105217316811386105758069219156146150160178699753203230215174822911885752321217403316411129189165173179138155131721671802120511212710058501281041791391551451320710387207431111116992189217756184114137205468169926017916830198255721242381639185120166228852074211015691214601831723716417045172118105882051462081062261831756163176110741105311625518544911388424012478213180252261741042231146197112341517874615415487173146160243261161246411619717915322951139155401721171482062421221661732158018621253322082411042974165811476514982165122118209479170722532091881121751555432220571162157171156192178861117233021224918319776484615723369141831126166212122074010815685212164491551963512625220321301293849173176225219161160972506815211027167377118122145142162140133115952415220540106154233207941135117375661921431816721817018517975244441741568516810315014990772302110231193185175341605613653021621411992121133364175211197425429821472501539021256165168971061132275294204591302342427433151223233145113170105154110247235243721692291147510076109224167181180220620518611517636130719912631022018320444110197291313491568517820065233162153163302221330200115244486715916922889178237122220671712223122119739719410029112832217377238621055639611813716221619315614618221737109511126103228842052014113205201157375147514206173882401912521118515518353191246106233107915018311113722317737822451922522379123128293496622221626252230230224183551351881795722817315123118924374240219477189253203217159190252171915125192551272232182719511787250203143238735917851173044214531311499512852235882117243721657103210176204317419011316470484220854719029108170492086773220210180212701959721328122226221497111432522001681304445428312947244160131001301292371941393617657199391416421917295226187157253211942176349671781371020621259323920789892001851002449015114451742621115388761589725595301716721329078292047061241171882541433926252666962121181366791122225161122331302231275548644735152191521236810813556101182755142861699713114411715319108847323102161275229731339894517914119186631371774520414229204321548880121172196248144249012138221516776277272160611342096221518268201159806431923456101515320219602427916114825216519226114224522913712210619274109149961672824663822352424314022455873291459613522624720412622021719816374192231175242230282519634177226244422124113158115724176651741438483222251752918516868477207167241359147188229749721320153502607422639160254992254241414125319619017920215539012117623812724491832242147214822518910510314523858167153128016109579852281611321084193961781291122031581651692670162894203025420971169792110185391426811520136132561675252451431982311142011402695113472514520821750821645206169142608353125159392462481821323514140255921432462321072191824612416722959132158761705314578142556342151247661082341986423020879457171239145169223182113220157108917502184828563322241231444431113914323592249112245722452136520662131491106641121693112123313520423321017786103101223738312542491961291501751921081276116310319125355176192812481081332051902279882537435193252242159207171229247137783238151163222241871849203941389318811365195106686912022723416815024514577107144117624913613421310283110198223209452351952358720517188442811138862122084222622113523461150882481247877252226141200128135227242381018613421344952162281726710622222177139214471689162371837413551381672302134149183181822117854126241114917323516215421516763136933624313561871601102511068195138136134149225245281381598368788834492413233721415215921220131432032506923212922623117843413285652912224512115116078172261254128203571881232484711617247111122565462413016831222172223187711807815024516710213702525012764381451713325438511991993515311317317425315318875216124226113211183619623015721808117123821934782316200196116111109346114876142230217129197153162412061152018724312891120112122321991492151711802411123514014163463609923912325125212837271631511362717910019158219653412087141187221561610311658172227209201181831351522212233014214919112227877051223247204241931434218250691381592354110386241152201396116254128243134581532446099224475145157153911905724119511424128132376375413919777902508713019747384690151210178341631058186931178199222202773725522923759412710720110717522190182531092511501842379134849160741667156241129205586224024218895111142542371501442231111122125118724816325124929869525168225215114117160226116123206224231137199246165932324618421495122115176242230961334446132171112132504317513869617017412224372381494167184761168340161472139199101461082421778813233136129775386993397222661961612212003496121019115759921654222202652128221155138422424844254200174686617216795382542342209515714413132221611992541851116973184158194117180129312382506622153203157755241133313012116156239426011956255228193236512371851482321504614405140620220519221517382129154121412461431263525223612112140754115717862961353218621214416143105233401292451344211331132156171671620622815373200447324311923030631485718055165239179248238143163711937305915212616261753880138177683023661341741587326116182128782423253143123403322013044253675198352391401157411245219707991322312961144137199168211293812622024211920201332466610220116311223019139971437826118771251566719421346104521541351791823213215516114519317938501562723718086206173153552261071211472311621013921481710139302322545618225199491192521615312139694216782579182139169121562101793318551136108165127921592914231222251807852231469220045208310012867136532171189015475208174215010343291717268222061611492122267213453512003018715715167782519662011319318110891136223639011222113218106210185181436324010483151138371421582129253591471444135255166922114236766821121011013524616012182142307259113402431001231507723214214461744558468572521056411788041984911725280545364150172233741495817516714998116241013191162242751252292325180131301322381924624415091228014937231123601482269420833861906623420224721184192168302416524562120212952311671261951168813922769155951911818663173176225113219149441692401612481881675120223114847226201881277869219179898540412615022021514513142233524130422183810320313498193211391015448130164121936825342216632258025513598114301422051256016981312848152150872478474201244252122342074510922923651233229243107150715417221420314914194749121413421320025431433723063151856217511481845117214168128818317610553140951811931341323780611842272501841821397555384622116423870401301931941851962522252454310222213631558125016420478182241110361211738921232113625132192121245411601223208502341612421332434118319531532466323193881061042402061421858132441941525615016010631293710149611444924123225223611154624116722713572511915734199998710524137512272021205514451271083417515206212944522155194185175932169888471744741633611211633163996108888216622415419014920624312018354184241157111291994418916476032196964510360252113110151381602376916111713109474410821911259681551137410320520122318612417613419913924013018714016622717786554990117201160137321471371172133213329250673812820519011716413611111149302317817014315621020513124419122699114432136954216438199981801341291053315366237205162190275619136253136931804117411783188161101839220316619621423146902153853467817511144110169107898524963254471412552372377219941732161906112525118221623791351191847419285523868215563176532281412052431261795324415593411819029211243731982491741381713531511224220611922952331998611804316525324717675914747118219223345178153311842141430144201196136110325412814525118715766483815411795169139191663334193132023210032013024011113618418110313572511110612911824075132130115931211672191011729610411982255167177102681161001032262081743666702461642822115513024257113322532281932042112372171862021441542501401744610635617812114414520123821962722144299522061041982824122413612913922115642812271681944316271061905690323923152402421701621917624512846482341352451631238050225811382196421319416836162061731781491060522069999128161633222021821651119225114151148562522192501707325210887332521021001272502242381962227922517520961581042082551212522401908412021353153100894170233502249615849291687413693248137209157962411731402141251261251841382526794161206682486639107154481762341781081398913321922323922521872141901391102817123207496078817616131550981601371401420249251332551441301320120210781581331381923916989184255236249158226211135243142291611162222792271876213857252975220214382815910820722516981702371222471931701107612590101583063203281575196986618145254136421917014814447142215127117178129902532426818914018010471821323200831122151133468204901802292241221761941062501463113910813077389123532143191623017316109219110205860207104106146109203631411561521501421551301155716710424310311719121386716161182098414610416516299151011586215631077116621044157209023721815124112741765423612291401331972814312881781911352022317874237125117170241112919728616552871736410321063224208108129110122152222416185143193173163929411121910533915414384010611014203119198246104255242882211517110777514023412911312711067324125270241071322111952391672353782011751238618314057916415062151836117510613717315367132392117413716320311317471121610312211383722051782171651731442547315314922524517118150108749425411524886722291464157537923294179545121122651251042138289834016723020913213020121721317131711304315160153825053175206214381309574175176662451921461691212138324310666170221952301471511918245135217199180174839732242128104491731071791115587227218161201657219186861490151723222633164170773825235523244128206392261321791150203145709203127621136211114711113115309278691211742551481351922038661923722322178168142245145223291001001029234620115124872011161221606921415685253321321816622918472011821725311624724711992538140124123120227122416422119151211141656822720210423823736129208319180662514352499630922391668682183138196229113219115552161616320831981762032532402101512810420611312964244192931957519313811871163914421411227191211115492625323112914324420312216320698163234742471885121606713122541281361111636199951831149127123232451906118828581041234917423719724869473840226905419852189162231781611442201803618919016998732031662552152022552351115519018812120143155751831911502542612296203109245192118217118322481171577925218721522236250109662517105352511391742916919149212112165175250827921718112910254311035811418725416125116111218181254210273101951285125578224321372173319514224013110524824288131227301711519520618319720990251995723872237233511714116411581551952131839221126237861512919920494200227226545251941377183185188178761441094448886476321941226824025416312383109475114911691992471671576015211310662081581651791724216316647215310711723732103813517715821020514318953133420650681561498150492053321301525781165551341704022120516142251656829737507533217532049110673193372271051291125371841782216123581233927422568158164673266776338221018510718234218213106331127734887616383661821401864117414735841051274461211149123244642182401901481632512111085951112252801981852381243388502183228752041321981201981769732185242176215112914631119738635199144722521951232116118381592342001339015318920820599240364918818274208170171185118180222221751612248112716525162219331352232357601521899041371052081711911130010416019711314109119252158509312510149427812479681344415617811212671373217580127248431382351322372331712532472461641989628185183169212118423824324511191219193162811291505055292091411502093938177200173208861511851461271585173197226147109325411572955563380228169249261498739210162525359244106198224197151203882140200392281012118297731653215118119139703823790664023023319518621711211922212153132131241211321751414993272142451301169275452231001293215799641062226024863131642248417153161197902271161701302262351552298513019225182081686253160211412262426419722912620151186625211488126165223251345250109251831902088825482299252552371926318241025319719841852488115782122331352231913612176201199179203902352172178195199831385722879731321695131431952271612481812031672152601458442511431089213205749224298100227262281933524124914425418516517310611362031371984722219616915369777938237920117314110694139108641522495801873416294246421505499715320510723541739480183282503094191661401301501366664919618119371694220445107158832186018716410586113163135571657726461291861488019171122055118317210174941814585100107162331249810335130731532117131711915018882291653219016523219125198571481241841766711711121525125120713138224172167105158596716225930211842544414425222013412878156732372001995124183208126238232197476847222136271071881272091982486927192210921220621514173452719915464188226164815414265211879722714113419222178225255947218525491416842681345342317395184104612382371922171929111721001941871956337035452245111242211222202393017813039174462142491739615141002482381938594341292172144441221912417312113949180102441823148182117999223519824822252572104193179331741011099824320217269432429091138261392351512282541992551861242431822141732192021821102012201904597199214104215881042129410425118217621518215424152247186445126244214203243621226117023516323614561691672192034611887942341691882129311316916725298119233165301792191791292331743048147158242916012521998165218472191716817323410921452503820037102234422334019647910215183818411055188219251752273226581892421291122066624110915597233191232733157881082111331451158123246112224142552311622178110801441153013020317518921911851200358925136232432262298831648314121336201732556018816413918714710345667924119711015711722189643269163982093545919412895230194324518575242018017435116199131208501435322217261417519619822412455132169248108872091532066663206118221582354222644209462447279167242114391520853151228149195162462462031001311131484001631482091145933140164138592294136691631823926912622482429342332171106220346289922002481864454122812226422152932129420011561248221125070248451339223270902215103196211562374122311221392062475722022112313030188138245195761132525323014922116319419814025541641350601641662454114911115324410621341394214423485732242291538151169761652219416024112020119117512812274341714242241916814764199471742551817020310724132147228214180147233115254204721476916094150249054181291541421726610420125432551082439228156247781141422351012071251438441910011424021335407173238132124191231138199247245831172276620230492111287122642542382236423322844252212310214311203127484624716924417824924543979882461826012408811420924416270147716852113118332251519723177201175111719124112411023722773698324323422541741292411951802301504512234185232225184188251331322524517116215521517158180236103016214330120194209323513043221633715820716989801831301521667162154214451089017114696851206190982112232113233198232150534013222420218215369138311417138101150911911906615027122541637681101587347123441125198922452163779203134621481281727414813236401561468377171009152711540147162225114111224412897126182215226184174159112561517920562542121831311432542221319670235110245128118147143129141488211267914825224812216613206225216238249012018924530184202233234118205998148491658665662031113745473653191144220140187129672229812182373620513681661761942541019953149123081140213325416224922514324320524243146142592351281671025188832392511961122346810722714881681742133119209723122022110754227192416514823124115823018320039241229183720522718624023914742052531121041831949282377956120142514512223568928912487138562192322541971784325136932428252122192217185762371302125820045389819218120184996122961099220313819619837892057524226271110711515117543252197434354111171121249149236451551471831111412191901011612341291128715168171122224181456521955718917769166202551187521617495393021785116250802131651582181073117215765237245193154107131182217176447311313119120914419471882531766239179131551548712025293641861722521761261133719625420118164592092371422108523923515824712223829200661621047681619174023666103511293522987161510292164581931812492099772159967162344733531859211123422221514618191115119231201292182176323212141241211722141822916032214991357166111622019512911556581732401501874824929160253181122137246179663292262252351071561619523411189115141132042406423044666564212560163226170174115661561553511718314221312711318825421411320513176141149195477821212712116223821411350952334519612677225244185234461971821052412189116101212176681984622046973310911977914715219314020971194175143842191329324270205184538911923568195173147141183785222260222112243120189112521355571176678221147818059226198497320511921254134271991071753117124122015539234112525023623619325156199231307413619104144770188199231213149833622221247561628141187717621238161231109069197161192387254172621315010312312418421420113281431752010015222012264167121145617223360631111893014617219245239244011115016424444856523320042215114831391431072132291982122447116412594213614188241431161721385619810813892361272545212152882425393855923417215242732222289330125187121209228931871171726522113724119724113447143551542512131373892592121712611017089145193841921591091246425511866524867115201180194620025311557213801271942271501882422218426612401126662167341542141221955179749118410202139794918918413775166228213621539260451751106522120242211261201061101734439154905816718085552621902012302060441621262132442522501991833223538177107209310492529259170710812317222491090216180581861011091941461411131092722212451559321052571872429177246411245018123217719660911258143452710209127341658035722891622322412282157554414411831217810441209208358568054167180153155349316016110021501092111755160381171240143326192211661943790324725147194109224162174924771936964413348105311771907580106175157252254917492163162099816312271611035358329461911781749916111411961811101362361176331771213983251801087610422216215345813556302281761171161068025413722731506763188146250162225247676618810412726108981926663198206281766416970239182472141901402212118486202101240229225155641001431871238425415927941419185864122470793152128013692111681051441637100148128569823681001831162222241281411536521117410822224223188331661138566253146244250150156186242242230204151254135146879410921918817322815119176220250741941421739844180125752481422091931241236216261821257548989625143115223120691021412424412284199315014231401912168511918117525458122960858010959139933120216252969324016724223014517091674691523455139239718030145117131231906170871961475219919416771281991911971632282191792074956140282325866165144126199511023332243203130664261002441921944517239905711611713313814710115320111281231916812011246215169578781082421312161141245738628235166190821966999633202111140232124359669129762614324831833224135501812312301816125124954168188212873323217511210243246148157239411976713624562941452115117245678924480120158222215184169183481458898200154452531971921229718965393221695815821210691701024569116402332997198515720932231611351481422648214104117342121442342421734106674546216059181401426224202545186199176238611721261191941771402440206203441001312723811084236672491976518471872281841011511431489550104136101207255164224188261574319815813017291938924125353160255146246991342116522241963322488379141078302571302461562112918510314107582912122417278252377718716911014016014320439482281051421772161451211725424822131911002191318313147142158117138381355821612812811422533208242354125123043911601331592373422015331472401115722041166682271443520316127431162301563033911125044198236362051612291471888139869919015080122169143247212153611241772319130226177153196189165110160691471441118817658165248925514417631311691281873031248166316012759227424175133250163420835113815522615024039219961910697255631372061549021664728021318226601559353571751181262532021321014720517310412332541031027311510024321816912111779166148601518553191118692182021911348177202172124601771121141182132521542299755416517224817121214912715718024437120216194166181179138155771522415124112922822623117917113741122160975334655520293272174024311001381761361292455415122415311621749224177682171197616612321823136160198239181191951206330413173215581096446148152234218305232129169121532252454316523188196192709914414825346161502224712264963010391541282002551836518411101951905114851518015063113663183169737232118247177208252112118124821424185154107451532002402541841662459772356912521891442201801731441403614411338111154154228651582036314330112213184632071633724555817624824621825419219137842121621314517312966630198247202321403524721149154249137225157181737411191911072201181822415599122031912718422732238292424425329531924284129206101122271189933199947213438802177173220312823311454504417617491442121884916122969180651062032341801541862261661948515524225522119120722318218923621321521055191181859991204142173815910011219253191813630120125107216235155131951273710419920311522312410122223995931762511571842221431797829401912128511518517125022622524213915716515158754611758251129223446178157760922334191921010169212022351357741462152331941191281403618449109124646018313159170642501414355230125251741699222015474166238131152122251852169918261106207163187424814012419610200133174892091331582515834166785120014983248152311561102072141571060187351898014758223692026923212226112310919715881752381531121901394413716114871381371232013741261846118116362447034141294210184154168762091121232511019410917181361901121251358524419451421921331581146919724915824224322122619935331562116922444114130126192163551814610382134211136129414095601891421894135198183206116229105511425146110134101168610336201371361195111181251432372172291141681982424841178677625113317811107119246351956333013155145224324264132144222143435614812057706825424513325256163203131572351151121901914922440189568010223819712920923127824722518615212121172246148372201251901101937120312613421422912016879115298818431433427186102071109153184180821038117515898105192182241810353654623166242646269119185932480371026964231112168125222586222411824019200331748364313222481641452112189369167102144119019317116342193317621018515118453169176202188232251329224619015611087222255193318912102140228641502811711615722992973020319110088431442021456512251991762012153215221137194182210232181352132151358212112252082713311923212244154383112720624111151611769711743381018716171588717431921891481668194212130250398210113464722051782336914179103148631499424618014171322144623123161132124220200166181211102341597445125381891241028119132621641141371084315090584519112694197987224619416653171317110110713017016565229139158215121198211242234342686233252129226103512026717115117711987208350818521415857516113136129208234378311419723825514524822013522711430138205182931981125712456622311729341762252571336620814212785111430871201795125456240928613312145217521310516616671329612122822427115327163715697118123901081643624014612730184236135156402532919517619125192402396311447519012414222623824419215292912129751152252411772052351472219318654365217277106881512201843317311719218321741211891361298615792372212025556379618427612241011266646824612983206138174255116802216756841725260169941706997301037619212890482371002170129159142187198184114221371841691791122082211621012121177221219824823912139230190172232684169233119928104606894422220213182417423910420551981419794721997286117641169738565235198244214149233532131491091652552071272152441592541662301491091651551831661102211818122721388244641927416322224819214220550115025212210723216711119930254481151201192091851422341711892458712310617524521492235171186214871211731752529095153160959289711041602521986413310859321711421421291229104231253887216024413313912359216892522176171172239220129255161916616223325439916724313818914455864822458225196188579214492187237101881921262192141691751351822681461532182111112311420216622112138672262001861621189151187150696141351572533810568243104223191140114128616010916613616817209108153818911184107851081802041401031961407315673156106164332352321232251141041502710211822615411240198881584661313213255184238205145186155352455571261101405222458562184024227491149322868214602251144998129199921452221101772041822216204582001601071521707313421799200160193415477410022712148822323322423613224016723311317227841512682215820924813326141211346117420514377531748783315124810518869252227131061288112721123034591071882321226819223034152159221318113460872326170190627301691861181802501981772651255022060943914311423622724314113201176214170841362091044513652121711151554210922568812812161531108421624013011910424017020311269181186201111107183614516958135135701071220491281703651101731417711498777525226130159822205894167131177611322892255275161191234912827772382261221561624118714613120480101957212192531192407441824011572507620615721762246242267621241551517912923525413715264158239312133126120151943016566134254180116148157138162216520112511376218225151392619158217132107248234681913523025424184179311271191701971583112710212333128311146337191238201180210199116199927263242961141101312920723121561163211136312132911524179211131462086207102851815919520023018151801116916514750433910387227202221971064413225520122822619918115712460169232137228341411716721625210351421615112348634181362468474737221382213010711623291193708613138133243531741568188714312752332151082532411521531442331297122737921862552252471691060142189801939911473254839249207196111587620012734169060153842401206622217910537179139261941702347108902921513424624044103254366122419314812846562437923624729197423324215241997641383217221813115910971921373241248155138193101153129225119152012071572456432762012207315920821269182243929213316913995749124498982531861322185313718110721015555166521891622317654161105125188466623448126312513114312718630152161920211125461261615030222133254562482216514320964224207164836399133211152811591421877064581191411111757709720255912251591707198166541144181109218715110315816712264711219813612977201775220024516914117151272342431061159087101254251255922431831752010922215418511775204171912223621622185991071282411224412814015188502391731511311261873722816329177127151124228243130517434711921493233174187220854512216018323410611151222241061112172131908224412817440421741272311296424838712022012512140253432392471352193317420895133207227481024915524188178139271312295562031101520615022321256215774175242712153160156222153512241349523345215112310471192394182015213516194137112173191132152164115196949128644233240988725423313115316714100922362041912148766226231171018211920719921141951840237232116230191391051441502294221216418368199106812216128128159120913691891152002231689320815722599181199461452331371470215481691905088115117176230218145901121251682382501122532459711713523481855888109192220516023282159143113202421716211189206621751867416389991437822052123332952112140702381281152301063119121113513213235425639251918318382189542461622424520316423746233234182250247170250138204130144217153821182212091051161452245145205148240252234138199181199112112201221373143235471912205568725010821792116160621222341561995224673241148149814233238304656107245104207189114921418930113601188471838361752101884912981333157434454662221649720815812316622111319916019511677831202571174825119612917216312321171246164418214323720356121481558310315231159149271691971391373217128134102210961211952272071851911312201393172128222332401220115614618892261232474215018124685174240208201601855811548231108123238185246188511351142411312117179792372075818563243228129140197507830202202407031202582214656101561642402512551220062692922268219524685824220611822822513813590213129261072041801061072012427321218591124431886519764881605419417125314918636180184166225410812202401951311671812712625320221710117314711510716125179165203320120501731221079846821492401081182132041462221918324491923316716623534610488531631761719863571711069412121920419419810372361812442011481463983138159162532218647012210202818314513216912111711520322336342686207421061541569321901891298180166120818470561531521220113816232180122241115892181281991817181018324310616623212774716819751371751229062135181962640172155948463163184115167162205401727175128217249117115115235102103215762071741541549357451832676201170156912202489183341666911843759218673244128210989710512925222478112244128131424124170224791013625584568482892275567112068517751604132802541792341292411532121620611457138522017720541781019368171015981861162151765418512132696122114249365732251971092520031966422718613215023254140122224790201622020013112136181126179941142616420611819714324136111149134261123515111811021721381721502521813921232110662421091714420693131199183225174208442385673224641091352381021362242071627722281822471547215240104156119919611872244641948861144210184381791611771681691121971981622552421716919121890250202150244173911629514791961349244192142459711110814126103752401232192323625477124215135153195591392083235810620618387158111471912128911316917125282872331651741467593197151186281713311222511219324919552306224210324523371271693015211919250651841785220819617683126421721263520546164215921801291392717820795742531551293612819624714964244972341511561130120121491291627122138160235824320611764261786111212025411246225151186101842141281218411256151561317223777591823951431640251215149139922736119243505108149955912724413922169207713220811253229162150208923158243169611694638985152131142175811181127232167677199253516612017646872261862062201281184178401711212137121921891669819224412876501181371781810423713085101393616371602622417846227104243412415621864587469241047616112561611162273268208232160235154199721912152521725122126429220490924610110317310194236371354617323171107201191226542196387691119236120161267714152108178245117195224168171187116143135142116524411891103182179229176211974422918977217712371211241889578185129163982011151872083142971431272541284041813550131311481498416391159191942484014973149194837757562282451126285451131367318215724172613113628183115135621094641355108802031511212149521121221255183131419724322314413776212118212391541886818874227762829200139166179134220142124292052512311341548625019112913424195667254239161591745625037148249721862471851874017944214236238541601311711831162551299119511795140212123482111218324372481531371091925612622471131722231541911238822110886217032168114241220138544817510673112205178144154101156228134214463938148151758393824145112102812112111051652112422341941811911279413310866288218152172102217130186211123486122224172160102121882051143471541741161857513731217176901368117917244132139316116941912849017312750165240177164252731531012402511441705421788160101776819520213377178241112116512331721549518344180110105881952425205171349121568182172142687818017451781165203218184198531771317116227877153137204165217323021824221178321668554442112110221216267892063184199261321022754682241411215225177321421113747176112291211411251544222547719911068137216415921012221719966251149199651668012325324119418822149119515965157216119823086225240221137245642242480452201204517413513320510799154215197531731391739514721618462177126237957615412720761247622615015822018462169113125661955881520527226154215123170224118184756116801031855340197215164188183182166812111919818822120613873121245121538881802021771791501903125420019220316161681231122541102252861352271932352816114022322001624209365924226151842401102091889418419031198254253254631553048232235481741502382922114484322861321269183200123142189812914236144201196471628421115586101524420210740174106772172442152519121890191121912222031753610922114030240175415213821521212512575216155472071231191072323911170311244710110011920916520618610761132151232611024421422323617118753801231151602302309614920427118801691892362142156214322622222818322827282401662011228207362711224113127841862071283891051992312511251171233175206129123102078771107190589025320524169254114164101244992137251199227181952939524286249197802291731612021557211126177982285122165215254601685272224019567174247151114221811122509638106225166122913662145731986725217619716020013315224201952205116114134622815164126246144023522213118719286131443209317613565891297122225331258952001522967622425233148102578625254672348485112249184228108100116531469119926190562142321851322202416951102172102124619880558918522919820920215571171110140136123243882454052801122087108602521442291019612010219987083226153012617952601467114913550210102167802555422036164202104150512648583896186812614318128232112458723516991821241833020954028191199177196951197511820414419591195181551852211916824619817209355135170229161834625144178110324220111091281991731402402021921524694572296911517316476116249976666922411682352438815250133158226112262616443221224414019756143167122458335140198201437845192351471084511604320824167592432061162292351341905178411752382031231745925566111209101941381611381551881311991061102818121126104685282025080158221148180449148821624723720279250132216234217169732341291061487423543149204282062341142985714811524614412172420611922810795611022218519518513612719322522024315712122313611158191203230857192111152321662063811420841234116601801076425014108122134124217024450882451221313541731021134022841216211145197139778172179167181161157022121418915123172136162183212841921572441282431675514378192810114719675616523135248246143119461458513454374412320123022115138112604813724816547113138562220018910220201248128236551219712967183172151253158248155262332091624110739464401741099925298137192169168166181541352161862282371816014011212568195138571657779362360161572411087010580121431643113144180236197196165273324118657241111841122501361981491126871321831749418412093244146245811092359822147219141113759519237907622723421619821391092722622111842023839241161955032922051027610133130222419719113124125186114136648216411131816245130271154444142681476717716917619520916231177186126135137146184238154228225692381072171821521141372022713119559117817821717420369130186420299178130243160121220109273425317121102051492212211312217277652045149136105181493048903719612917622226176243209275713592136711011104482052352093209117171209391171071266051246158123126120207143382052021687816891139361763322446412178651071951712515941606312313424151803911014413513619920518240431712408643130381943790195302202178245190451822541691155917343130175662369411811591805454583637128492031714225176356902151601101581991406616341252462461961251361488796130209312347222419180161129111390221113758819017920117765217255120184122023447150666215222514415223919518219990243791634321908322213722521222512019223953205241208117726511615578301122311919920114616325010428193160131623212969178216104822437541141275015415023153552312131011492147125225222336111125173102235171891751882814330216190117225107912197012077201941305520831911542471874597592231372352544023522812924217161135525126175119215932371721902188912117317122610611921721126421922502131483413957141158725222417225311411032332433841229100250139146461123528705060182364423619021010460118869966801566524017121818712710312035050561606125318222798225265114611723195236827805723240802316222414613124610802335511224951515580387123139206282046018643233212254116181911949325019810878236179602210516918621693124226642142082061482547919122621382924852225232222244211237185141392261751758616695412024220772391102381534615121103187618217581711551121233332461861381972131261011312351995342233807033139422621852981519011293156683524822714815823946572193791191561173817078128211232165206282032498910414480676914311243271011481581084951773488411221022317225321411761225119213210451501421644275841292344136171492391123816574683525457103475238722132171864317801113319417569163222744624515135184623421874248471381778024937199472173128250422813916012624195149851851702823532117197603201971351961481852181942001651282211331671423113719714246230677522418513993153129601717156159118243732961142409319320478927299243322372052615866592511576011693137196220179135225190841665132227212191186156149651311421889975071246167143236795912640227847154238177131114561805512112011110126210521601229020020114217283135179105231231123100821781536089187210149139849328206195111139321572342001632223668150185079190274049173152224212161220227251511432377763177552272122544418126662722833121122071172283244023918113250241142952362042155593222919723980561582815124420611822815625159380136832065536481664457112166352154224322097229250782531711051441401832489412791137613410840198226200372698130237228129446238253159196193420716835791171305230252156211361378723020113122619361221158994222446198724822918365127951409538172611021771147722314321713520963341351842462319679581822311922041462301852110916118143130422320741952090187156831442062492454310314920296130935618917624124116416215369776213817962170121109120195421533422036131030221024523511252262488814519581896722018418213171343167228866315382244928659819225131041456913501301936024118413922413310716322173139901883310624125013310984133281981808133235113999121569551746401354012019119525424116082100239179200166851115572924140165916586210255234118252123213229193106108840184140223194213239191106130206018415371615014819356892369821720615075822511372521451069924152374041420570149269021517120218246417524132219212224463158132182141936111535177104163117017627764462820715713824614114474150396211326725120316533230247262521942301178114110720932102532231765416522913322819813173713931911441212079560122207351791951151555123555100531117410922014421017849121209383435331681916751863015782263015615566016619213002115452111201112522267717835502381462322712010623821420030765712016018866226245161911631461181657720397153214222521781884422081155896478721932031184581851011731275264207586922416234479944210180156625141212531091619213212923892272032481282319359235135197180200158951512051142054444812223223412571445719619425477151401421215230208222119151182324106422492342111710310416577208188237172147218402201264250101124962091981332645781502869151522523514222977245641711106220818041165105125702112101561982181701971337521510125221925511125410717521516271821081421271171072042461731452191831342392165495177192129721301762379119494127372281578713063218171212321892121451891972318723417424753125492081241791832251062312216022690119197181301535711216518324442228273047122192361292172171395424023610312239716546452432376242521597831202571824713163150113825491252177701512178118416495182235226791981912816237170116151202214102112597178184185130151952374519051136381532362022311034725182197671642013846803615081176281782128922424813743147101722002201445193332342269019116817186021514575521579680381918198140121401106564254476422421897392525218218725416213253972442241031371481426619392331789070411663198592122314420857171325729221159113236646302321482162141392371352081072074095572214513322931711952367563131651152077476332261941311931213212915618661245918424153125201161216531211791232052941321381791921686439131871351002221387152145140228208205146229749221132186358301147476128122138105966759147187255162112471132815819079226123622025514520714778208138581212269815752471141238510175531672002211121162428038706818918217099251671423120030217155113182179166611120917412820319154809462471509323717518449881320919121293114125176138672241884243168846356365151100105871693123917012112520421420616713812924620859211073855214231101151308518559619464129892135947230109324716018895996424542185148170227208222104342271191782153911522616921311548120213301686533253238242157341159115143312042422014913648562238312815461209158121226802302416715323211491361822161459214217177180112224243196129157137542251931947322321818519118175832092482103224517111498715413512415422821323013132071101352142319301352434711923412442915189671882423462487423210714223021587946311925052087914111752244151922740131284561124181956518022222610710241912241289211769250351721823712320611523922717212972414118419413123020923540135112942207566621582421188820321511312811417025320017422823814398801140971252824216013716020277164502324216157144238162837179775140234120738882041301299051523926341782261031374325542102233382481561726323270240837031916124617425013310922422547142271591569125180124222511861602081642361703982751444196225236243121181143382162155851691809623722822015420112118116622128252892211963722912831173203149141133248184130246652262258055741311504516893249761222492284415393128150321961041622451884222880232148116230731191052122262332175184164199754622016563125122191206024440188113245252134851849813423814681163137226113211177158871318712315014237165113220178143222221159141177240935033188107241471048813315518022623116224421810011264351122148111384157692463011610821911975948411010610106296459197479015916011028229109891393912120119814816515580771621399019621842162121851002431062311852209992481623571801611353130100761711041302181762038421922135158208363025122721416420416144722131763819012112574235198212226574243198228166131772134323915921119207611525422823324022615414185451271578317754187254133236696375104222162212321405121678214821260752092201024169240178261449195161196227182725177659442221481761208322614623129120218201421039924214623147151190228157149218614120210578232249372719724555901677261332302182812076618116523022924525114319423796113120139616315851411711212314024114732197244210331448367918496108761131051866415215134551145913016325414230104827316035319825114120815530481402372483111237182780112464993331518818419520671161333623218818212424320124219327105113159190604760361941915116718224813316869471601611620933185145108823825114510914014710949861015321321541001752551712261272551591062542462292421091752110921915425023418224821518269111223222411981825111108118320411917653108199150224291754189249171185239190181882352051681586316415922087114165171238139254230472501551102442149323517466129223945191222871131891752429012719711765249117153739212212516084220254822491724614913617118417411510910122398179193241116518514212323480206224231731841022003329252322998230225135154271251611821918134352022342061162282222815016513217413202175212150238185210207952461551997602482431241499116311810824516419017827125229224901114112624415167174731692031113016925098168904844219442162187412760902471999924512013699122137250185490741292121432365796591520024651008523384227248601902391472423359601561231663525121216117211515772163130235712021111411607148731401101431601351631553615219912915814682482071192291374202177164121185143159189172115741781781611787810769824221431916973234216190212129207226712461641614711255166314137411503698118162156852461611214021829191130836136233211192973151062002259011616881135154199224581662922732129122591891511071452421411844412214968911818118322821623818013119114251124251172142119195251631382351221113315812511173125077216224167910314230922384686821364420516810081102231921441329916937134731120014723217719021099123211123631386118563147103455110321824310870141451881232509654135557427823720124249602492810320948214253172214416231499249891051511851737298131118675871771791061672301962051431711271122372082302032341631582363566665617720619245197641951496171423315661236244552231422015755145117124111250208231731951593914323676572421053485582401136014976113116661457628146113627193208171172112521161232142171951421992501971171794822066311348163239211882441921491932101112513320033611222244151116139108562131581172429619810512559104192522092547999151913111321971712031211411351791821751104017429240217103108101613723244160111351151093614719219123831432377862190592492281582122112512102072820060179632272042542041157179207243104246165191261061112502331252523115101956044351382311691776789922351218428087847671032542324813059323299823757361201619320914512314518317811153331862261243924515620516712860835750143185352355222923743188602004386116190151103429912823823215351146134130226934141782820219822922515821020522206116211223977235250562462322541212119114284208620628206167141193251237771451991641894860981582320721284192109245128244221421231362251591801161974026651604017912881432391521591531781152294624175951967788246181161963631171000980234631791642561240116702492201385417422655631631849494877183382243163371911109421318252154206751501483170151396255811312541045718016201212512822371541721581589563167164693821168258224217815937461257318254227712381404215260144174892332077021852291171262341101831749514121119199352820333112210131431002031452811223214117814721817815118872526010522995374625589220824920324146137149210571815533177248623237941741986634136719912211914816721113812889131235931071720821831204460182109352131491842441971323734911615419690721279220321813269271821954160724019918117419515188451684590232217015423414554511549723125185247117111421211871317213828887966918514312621402341196128240245245113112472619218169243120264515612314523673156121549564152002063772782155948814422324247301541252076163125224169136176184138196220692332131078327957210622124175792173220721810969128144128236111422618031183236661235217160548635208220170146145732120981551996523115104281451812321832091702111195711821713911320394228161123720502303221139248247207849196132173203919321113235113122352414613221425117414675721062444612028191601252072391571812442372081192314634142195206241672171451104131491461286429551124014818677246314293236236222183228103241462401231351583911824113916231228151122972191391982541251441222417611761202442051465590199223402121831338311810920417430144271974512220924464188236153189581671651771721812402232522191341911211212414321910618310843220182452372131099232129292193494311677942361162422502301212391081412625521324912322313723525156116111217716325090872532451741864313517146117148941084719011624209301571841332324813921605819111525123723348186141173593523693249231161171512411619016523816522214614771797627528217157106135941200132228245137291760105100792612296100794212777254157231186242100153127247875815417118712925417622987455463142149122392262251941391351146184861971021001082304156213201211102771481272509614103101193165190503513344222511511097181331341941571781471452082322115112810819510858222117167219179472452216222160233118225405717620513148223152231463215123115856144142506313913122991229112111942412795130621539190401322221941477511236314262182471412192171304210241200851122046183916619193184166782021051792208015212744132196216166751842082319322560179253488813621712620012224917420524455669017174621601459341722292371221272251971746689387151189226919410115255628268194199113685110220724313315416378105102158229140199212791832111921447078351642092101021630602445113511479312006521211629162367162752341214717024715493924610232601422391731491472515013392461371771022612938164107200100171205705492776028170201208169118145101622538130831111271818812215017023046162230232173241112119101421106324021924912322215624721717151119189621032072765120192206291795760244155249845353112114127214169317884142024344906624241205207642111301961393611218223016089230208234208367123147161188231122107833140121558178208316721321013415218067923420323501523820467238246124206913669806923782127738637067681516824481519615721524324822221225414316215253382282245919372231411025511772199111195186223139561825123398712385384401598852223138672171942272451876534166723691391111862341292032211332422332271011671887179441422252823771833241173162724247185122224985558741801412181916224411695142222224412817923886159108225551116244131151782051681082038103124233216129204190207181422367822524021064251742161522331441421241381051831061641001467924419217484831192321232622382521662133324543130235150721546151699117214184106652431542401501811102820017724438623411949330128724051131251242952288488157152921711845421912012625374139229018712417415690701241741977928252246831232769916022801121492442323424013022121531141671372141801186522120212122910922511717877242121081910621918417611377841794475234240451338914619219517213984929515411912815449104119102195234240134851123419374116141292219313816644129312522321433112013712013522216918713021315215520012011295561382101481412824281449472181891011732005130103011375912041601398218171716118710736823921376122323516415021232217077878823724220815410118422524517134401818218313616621319223321721215143851582231062019679214151752012081787992141227971221922231333121318846162113141228138199100123216531741371099015120817833169229133164102531010621814488183541611062132431451212472522292112472202432211232541971471934910121718127146170877185469580181441805816971581595811365219166861731642272033724955461684677142152161117436610615020517192189218519615924825217064132129234101331497510422821018211714812815023924218225811959131832071202616517320611141711942348774141318117419969882371012789386422110301682053038231188239524845242427417324227225840220179129208118401735191271415513911481111202200915570181188024555259619432188129471951545226222141071942716922218192196176562213201971342541832113214142531521242252007193181140186511889822614515262332001822177221858117213812919615011720120520350912611154243429198254199127155247202182250109175211112223498962511711771751091392181774521017572222202624623021420818318213218818937248559167621201092542381199818663766318223198951171891832541391901984725026110245213223236171189217871251791912341021272291412541702731491781861681602201345602342441901078725342082061202202101557120247118211223974262221531161743524711479171354014175502765108144601512915618619419115322322219320499123821931693153240108249169671125911423612712469237151254492237150981601014118720987118189183244106792012292389818129827516146254220684622139169302552184218231172190234861396418395401911211642362309620114112914615531841651025911677119422089314124114815560184538211799168130144175142215019410921521110196514922620494592867129713912713722612160181501351193919525118911691771731036642928144129133155195149156581865521174198173771291601984542282332616969231291795620493225661111772321324671485619212201795012816023535153751361415418417923198192703046753191684513818622716122550189164183212246200131130312481172322081037312712718822523517913919062211242143167911901901802361431992341422387469152825023725299187211462472021925018598171991633116818462801101587238216916613275221521057814916301356279581854732101271791912262146422917319374422815325389151144139135242463020218720991118185179240212222140193143226134627356127401512301161731674247122952523741792092960100769112591111325601861530149191761107601082261723112214976742466090195988322813185190512492161531756030102154343015411019724125315325112729186239237224193791980501369414820717761105716275108255237236193193951352451272013923665615623944641891391891448863424210165456418713018421116820414311157017514237782621814712418259239821271771149271822424423924586215233661437310612080179312788721116710975251842152142425063779093167193952091431465136136751232352026318259165227119243119110159249233214169159111157182115203212221175206216245234140612191032451882312112487242121196225129172831232112063020060119481115167104612180247226225601902787208013524346119219221325682201971901355070218951941831971401391322531192309523541186222911241631752282146421723714219028170196253106184234171145421909623272261392291611422452019112716414015125013423814298311299193139124169175881502514419321014617113152161502222172277506627964204955982461031171528122672181232142322531011806415422617316110615816916912849122192148068314948171982091481621341671794331754312150179124829420514017815020813414972130517610100642191118217253231217471446325100194214201548322261675212249510782320440110178169247208601767218541210561568737148341621375732172166871712710273511761074531151161053519945915213981331415110262301481804874419822911211010543152150875567253179139155955204461051535749118492255205194107411662467458189236861187218212132217208591682787772011751234616725024918821820112118114711417024113929148154666115995199217169524521213116523914913025219501891682091851052112618513922220322310112091761687244203024210230232148214882031801941341675120231794515314893771262004517615621917417146127117201248725392276527197177155210122261511891327585147243169133245178173689731973629411843898254011215101640217208422613512224311223301896114131228196876394248120192143209322217421372687224614016238114564117123418517217023117917110322521342154479108125331611139392221154202191591849712574221186148202858366179239185231167247220115223195207693915144791749029148219483767182203224114717812313436245601972011494215782807913835121124516114712710621095141150616023813115078983025361551381651097943168159948079163157892126867157852125217117610554112611151381543718818489261152173484461019280187130192169121117831151071672292137920711122421021111262001402287791266117120762071234129716116515260221321611017133123942071823230242224244205935831166222184154987420417274138792171131735721716318311810115244121238174111711113893661781501781934624414237901741226217512670171111622312922919385203145149109155156145129381642122185245107661078713421417212169894918328233187104701132032441942301051337718424810322183107421229734144254244162102481839897333481634910947194254938532981922528117327349168824117824022418815201752438856331241661881616289762512008222493147941431822459818140122963512232174249133132381542291462042302181301661402503720925520325515418724921315410917521190252742261071751981091275319821332251063220178991072322791662232162825221423012119122228252187109971591902521324112623424017425251292291511861071741182159423917218522289125173171230901192452451582022718921215123431741291902022352531609221617311222017748109962032391361811409948198574398128953224179236772921715312019035718314422323153179196117221432527769122011333113461172292351562212281631871471451210181610923720022523917460998825422113017124815711923138105175202155271121609422910948751536977184158146252151195248161140981452103918824398871452006811436133218209218244419062801161891435211174187182197242151187615522820713179225161311210716414622319116250225101262164613714522318211329512181771911841145751061244162312612716917581945217839249228161762716162273182223674914731156341941531422361631238319666745465280619132992451942331113221127952471911917926178162153517421817412016902392029161167202719716570917718047294912511317395100249138162837010216422795976711292087317498751151846471105242802802132541432271902816965182205882197321109112972012232917163223145127228211196174247222461252412390109135017120136226713200281818135210165117571171151762253208249251200227187211174116219310420767582222341751282441192521221262391231118722314156252206252158223472825240126152196127311212481831124014312415044248601212481793623837198247135112061175616316982541268810313823518022117915758204661131001910730208417624919613551118149223227140213232561401219716849956225110503219151221251655470225194576013311020725218149178247157144672394616024112714116658219250245251972332217017124719515293592302361251159424778119518782184741831284020751641951851031802395582425917810514416714101209216108253254211237217199151642471273022318351254120123166771366321114911923448217203601184822721612924419751108192138152351238314223775692351466622316717715731682025697873023320886101161722111331412418438508001410112329246391510011612716249217246252512221426252562461962062281152515020631200581874799248211248671911411572392067135223157223241219208195239134117252541082551551157621406527321811247292065911948272551532539877116246802461693153392471673122314712212411142223168254143991419123126240553322010122391115372052234523225412512023971176214062242113442382247149100962239165187223152612401134423158216159782518180983419725123227011392411721425023312323465172164212204143701461271241279023919920984321592314852342036416560523417661135871281341092141101889216622245128217220517189246124972532121627052192140210226014724997195697415523121346139941784911024975544921212145141196649224852423913122721820722224846607025522066402412751152125341108152812101409573823516713612207352204013048149341949118420831238558218620193132624221713019924149212429174332166226114351201006531882311852362341035143158744512534165248233244178103502021131971479414222312925015921010919448923814275423510320211141227175159913117867220922544741281041002228611080151127943106365210129202144791141071641681292142041874471202130751581691656129221197230421847624111022581768321137595201148914371063414748215020414124421482111150256620024103161161100198158524915123622921581249331812034123613013421336171157253171226150188242091801181024918013711420114715490208160105242161551122124217212514423198207218242672531445621735271321447252179203232251538921898205195152342141691569764470512815184612201431181441994612233180122251081205417880159205212278105438459184188109126229210232250531372052718155214395510972170951519218754187225133228194165247622436674223127465218558341913718017637819013623044110134172353824174136531321681908841111911883884175149209841342112031851862261439317813717965857518413220373100226626201902182024523020183204431051342110153149223168221422941811081068624599177121514014151621603316410673482041781645121481311037411516212210511719720517916921950171599614162332197615515686220196912011914817918812219624413110785117147109502072272431923197371642207277141200572502372331401051522818902321428721842174411182411683023014915115624818231181141337127161211804517178583214942125018116011374943180302141424571124410812119315390208184141934816712420113062096179203227854413174134175175156951912613284175152871851089414932184122571352321351761868564180682377420616237102151182113231101993710616718020925401121664120318857420543102111150233103128135162272501488193414722373413521320111272415724464124121525470135811194356717845476818310814057723519155863655522291821485317345922552152525522525544124117712131711752291082222825521817149219951411221092196619994104107216246205331063520252134108645424721517541252402182526119113723525136235228254226111354347117869360841261131272331972533723151501566388116254802251331422321392371361811404419016123511142261622442261116443221157852882472060302101217631823910124014718422712321118480200611512519911857831262371721571942078571621396311732673416818146225110434231125919213024811823095701201601312213816443183167244106119201211191246416718202169203161571421881472515076213823912647170247131104208249187200195191139029239134119254461622511892001901516314212418115124119178152251162289421274187723815777202132151159872351241477102361604939223513521416510180167955576149142792311723122136123991682824102124252602252322228421412411472921931102341292481568528148661732387656117401472191931773282120244842255502148711418519123698111137204229237411941151697919811322381871624617511823716622184681811293518121942511492501556112100128591112168619252152181921491641006140224767019134624714892236426021565133231152397621724711824024023120112711918822523979526412512262136621864324514371235190621912482351791399618319559147592231471995524011325223332171625884120168651882000207143663262411512614611298792501651955151142316274611822831122391082472465712523969131272022325118713313512761312441882721724515524025422371131882322125391241244190271851112512206711113524619023532488122016918915310315230136113154104131602171783851631505498176361078023414662413891471063322122067180132743281145020519213113344122144112201302312181779114072491932291907217219251179168371322113171106255225682272051291387515720023914617579531631046119212451883118110725123679182761072552371308371781694343203185142928990135226927134178171159872242237891997961681042151292072271611735211114518135245262445837021441545287141763487251751102841151222548960233112120137215115160132151752481772227220017712223614611142177190116259216545241132171491881031991722531112051332141275388241245177186175143552522471612341276090251213145202211251210143126158562428919424193411672461663125160105240195152246119666225222916412511120422521224193201924025381641185623910611920923714211014148932362045917739181247151115254582481925919313512755191243247115812720710397193225223134145213898207246153591837725524822920131254106210391551592232492342441251112062211851251981672191661262542341164665818016138620018814014824623418223212656351266950244336125063411154245229327401651260151151242611924296198205161102261621710248147324910161229222821297715426168482148206948122215180122110213181615101451794321910287441549320916615818225165205831382666225190200128197272271501891041221927276682112612610525224324824167281611191201224624323022319814315663581271191261173022824795469162222392522301491762262330019321078122961219212616824317013210691102301299514618411351891121218415011234128167502023175462143362162150822521009023319169377916414962147412206918639221110200731704184144287419112615811210423520813310322515121813720347156911123581089181124182137161423249212137129494915099198571641521230214118861851781951201361377170109100215121452411243704117815236113149153108205171944221310453169601555934120128148931812021641088718022821514743194201231220102520133190217151921798116715877272151342131731345465197160831797421938231212611556910618121110805313923114857761041822108014617890210194548893145178614416972451913583118952381041197116211213824819230751801542414213519422214983921418878244642271542481821419721320316622821420621023071178652291091442481212113920995111276742221995317579641852174791689314721817633187979911821321841652524722024313112323818523919073172112277413024315522844511175951331264937620116918311510716724328176613272791821806110751710475869201595812914901631782521878914924951844717049392312126015100204652101276217110610610224524417215441233149211178170391671492232431082406163120242591799916623121320785859914510313912104150253245208324318114118510821919871662002246420516460251912264421014217962426761502306476138962422161092101631391951612371351671348036113218151266211114471251181227951541866225012260162147101196642619114116421716318316714018192227949110525127210988519621074271662324210635111144882031652511911685238309252079456514395250516420336922481251312216014120051751441572055480485718311082118205115217201731501181113224723181208116241167371288481709220218120093619925218621381454720064193162771203410044982912299126253202224262495281106116144623715011920243242180661541771241601681625120620815824121142401605211154924511224121771342134515111921920918462186105831082431981521345320114113921123543202218114126254638725325125517125215115513918218915025123418216421518219710822318211225117114517518926185253213112179236612188182571002514365111188502471578723025412610724023111145236252672341771892081572022351891815512210617431174188222941131631632262502251381071571011782101684640164386418611614399142082358911959209199172208631381199115115176252214801972053522923158114701183719323916124592467321718911213150190122174200961861641272509623020020616421175020901321127419565177211491272151843846191198146272531655525120311013150127498824122964371842139511316317515619227125165951215025511318413822325520920714725063136233123631662311891521296336282534422923223120119515964291461432377619361242113663110225221572231581355925210522201301113346121501477925402081371912228819124623575215190887171206820413820442322341601921761611014871381892081122172451612100220809263821221071641381041942392471666453617241281092162130185163514789110426874713620611610015237741321023308498921352084910153861159601174021912142793118123250179186616576243208137188502051959101671752441061911721541752464210615716220313217164100637639561226471619623914683230196114102160252186214322723947191161147188291841298024610725310158170831149895624424424822212492258221114114127214135155167124246234204227123211191281692492507620363156106150129130195249818593592302441272023190274617612913017120215316364896321902461607101714115159111356377236248237130191872112555684243247131213183186751751192195110207191124482397012322515115716595118925421693142255202129188163311982471911871122322531521612479914312714611624980254211462342291222258022221317422610710420930155181732112209319816630351121659819229171112129123232212188107240512613143194155331251938180110731991301462262181682374916121925597236127632140206321522213223247702081772078319060822532477123517424715021025424719157111215171179250631361902161581271651916292112165179224242978321817826151882521247114216812520017424635156107207621903910123217913219123211823135321702192502220249722683108244197234166756220124677829200224170511351782362452312191141731432207447722313338371291572492321811546243157233455718747163227237144125219103157219159249153553127236431871143225119619991996314225517017523623514714195131482232341511832541711611701751435525422720913447250424628200612501051847245161951352441261613716232659410974119189175449112135123481712391311683111511719123113106111218149174194913101953016925222780229151131229551237517483225237185231410215922015360244814414622719623814851251514629206631895515714361229922416324233236809972251482421613206961661421062021611421367463136150841647817517216410831731701361028248881462501141842024221419016212411713712711516025216644156329916118061964296212316122418622924310615062154615582216240104742413912115372160149896524819418213136472195156170197145139214714721724222180198581581132093252183140841931761411036315484248120744920427255211202194241216223142191359213478132398275225232120301362053319625024513017624619626582332381632016941942124823966161160772202663441472487916615161156144255649223867241121112048461512042004789832214324612422749214203891397310646177187195631402382438323118561682171141926541123220210231616225220313722414521519983752381432022521931301481596810314750133226199792811010184351056215436137115111586210135226229214929818920068382292401982132086402399314201042846331472082021762501493619417329118852166417822022918733137638814420218983323122815959685453338143227135225169223914225511310058185162162200798016511611521416913226195101195234867052173918079388142301281501931832248211217279924312718157243120742332274137201441062412341531032531472324421813122874153311214881103771337196152069882159184100230199145251321912165131244197134218841912522904512674298169251494506820844118243243107150203126216413763141201190475022725420024471621792242418120523566209156197459721759823421536541737910688151222244212216016011099742222262513115147299254197996315417824024916421016022622844188121821022293511312163891521219568250143231642222315811863254133256312791871191265085741710212639212778121272291336221013419750196301775923013415035147913221513819911325519412210188473423719916413710312623414313014730140200120403424371193137247606223515812323819123115815922011522317914319622816210616622921561149902428410623314019413415369131475020315976461244858243711136276313872511512121261803224572431471916363249591611371841519822961157945437183198179446621976202168120581731401543924322335908814615572261741291793893104222120236149161128609521645239144715416524025348167421681914650224255941041823388155392927403259431125101101217668176171238157159242163240244251163178317542153146135170921222715111882786187427274104141541128671792491611011622224060147892459692254143345023815779542101262020632021928515109140150150137231254133217143362214512080229509018413215254152951911987613434155214139181689129821896017286385424013014410321848185253651204221369316016919721116742102233119242137180821072282474520416480841361291061611692191354616419815312419491198453423521519952173143174911452122081469495862101542496325325116619122121817824921324245219114182137301362161176134916185125155234129311202371492242151265324724595206126231229185239191261862511571522221435178304018521285117181187250242225242757754623847190180191248226129162117114711872207232692531731422541472016314822119295891028561585914223613813513993249199247166349206182103191941112042069058126881601562374322515119228211120187202114341746835123512721741615212213920518087401081721792489087491562399871301911211942492471512715020825125419435311991592201471131811712443114355127125118241215103224154173951591081815610413020942354662187631152482112481742231331192523818024712517769230224862011642521411182432271387118666133130591982081611692179224827016524219787613847247239323843868631625017421016222812487254224231935123821101213713181059423813522620383301292428139121762041123318356178432412002064110106119398016566201233246156238159914253461882532471718931199226111255931202317817223931762392151611951878360114233771199133131218501541942361412291072471912152412391351401992328917953210572719480531259259281572512386918124357190392532241756714323778251250762352231591041922432382236025323012712412023915565501091601872482032251541754746691812126182552012142331351272365107183332163194192152177772649247212254172161207146104310324610113716520811122128811742552501002432318922995246150255195722532151991551906218923223517975423115012612597153184224252178175143531622520623820623212355242240219971891911392824832230236254236139135117823873191216145127165171241911511203131255168064153214216013324244176832521068368671462252021091619238731391561152317315173195135114100901240141371232468046238169389283022114974771181911832403114255821532311522934612624315915921624923420416315937223236472552508411640236127512481631511671802551222542331251532824225092581561191723220815920519618121724624819711623180246137125105242582036034217216917818120315460196244166228181301071351621018611142239772352491956646601254819193961311501562581342337625214918713637792141331422201471238214323776582501212262545523123822058237216167995159106252250116243197389157111206251244231472461101551132416424621519923525512618425031142213253195241186235612422924810616023414313185255125184246311422131595914421325423516881232472391951452502359114413250227124123206241934115723920622317999861991111942481041241251612372351794595159110250199192451275592253247352134013491815818323223511139197616935105250250762432152319105227118231141011472481679116730252772002092212012122042333825845130212131227491912049022243361622258269861171961832075310312363140226236456222000219591653515114879146115121585151581610813312423217411621153102455622081861101028923522017019722545107159201174250209194244251162179238141722536510021814816262672358778431051548121814060144251982051427361128205240235286119127116214119671824817125322918818419115623151672282312053376206126114176732486125560200132113292462492311516224929194624889194362241301321155716724816726017667126168161162277923211845019614852249227182319520414222619025510611020495419725313312256361441641321912141751326558114661515113020919418380173620622133251961801912421535210200571262514967113224521982286022269335631646424113370171182241421647025420121167184150751843518519722923978783277221734189151220261503377416420048911071250184220145121442135661212452142262521015895601182288175571333799832422352016249135166112958138145481413117115116910814414914222615119014817623637452158211625724915111516224593822323149731001075411685283831066513260147105157225141235661642551171772510864953282722378825702514120481949210623321717242202197163362192121212561262331392882942381105001396151806922383214722002431211171969221618615810639512548232426333136102171127234237214133844791801831823425296108142601332494122391382511261122196151240133141107661444165173332175222141737410492159222250981222212501881862313810655134681512212431751581468113012724523211916769621558213830136104881411921529321066106314120213010325511212620215850821914142183547619316973178772171211011042376022924924517120015214773205457913256522134814115815911411110418248126722261899694194189115227144463156151240131185241247606123915825519932472522037239249238992476197135864613421111551569325376122249243578511575155194429123121212621511441271271042102471201619210126175521853624210220725018716113723217757101173112348632138100238117203250136134851612132031681412015753601746164201189192111160193211218105222702531715911543222433432183014314922620820411392099517019796173222412140331591191381986418722924519613169171128961111328154152220151872452519712431182391571591182231941721591982286215183551751821891381661365917317612182118237243121245115431503421204828901437216016162151931391502482031604181292531631312628145912620129146792519440249731255612962231726713188925410996192363161321634522511021052315463651974819416320910015518010377110145115242241209391102051432312031611258284153757619287203187100942451816269521731491961718744168912921317642190113738299998611589110831062451461332552351274425321321414617317510219125010624210721998118232180129292193411624264196155219221881815323620587662231223724423715123125323014916024795132172492461941953136312211951271802521067921318115817020313520346304222511611311332311522156631522071439525423221077165127116512241856116425511118075111282281722442432171272034657182391652552272484192249186501021471320223971225152257181524248361501913274641861908418192236472452289323820119112388124153111681344170107411024414822223246189210891162545116562551962388425425313522292381216324223612917227125101127559224724515318217547442312211918213342481433524525548842511567117953110924825088195215712352542411042371492061301617922618413812760681291071752476540297737291231040173132243106253121372343127179142808507123155961572274333742204724511454239984720011920813117113514872256342162255211184161937395301711855792919171218197239471187033196181201202584161112829221155582481212521058422135505616010616118323219612920425319192212532141881422237124412528215253135232672394664182361249923819917520623225136206122160133181203128416715190250167157193111924315319114134212416665132216881932376413094103249157113189175763813031461882208911698119250161119661131451061275582119981192182511272512365925523317724725511821017421510211719027126106111166168184511731201181111592112452226699252144111146146142115175239922534222241685622314563240819223925120912523971119252102621220541527254106160114248195248352391991582221531189795246149672495558101751831875684112163163232139238210175857025422164213229131121353137236219621192151821536731391449723380239421862184525144108184341996010022482183171131861012017213324212693722222525486195179161683611299742871861501511842388627166491982488111993697235522102011251531577219315162169701702356612325412918313022325347791902472231582211799920622471241552514319062187232317952157218155241249182153159111155129942262451851162412183112732502451722236431242212221011215186112411656188511714613823125012824413324394882814101191161551431642271381811468220837502481102402922410764589222618977991616741572491881228718711143239785725221917661219103141124184710266167154254110168234216199241123547925122463632412171753831249322341141232381811741942354021624615635311972462524698224253152191591672427716018125211318410121471912222962177391495224998926911929202302524023019221924325063140190209872245716224331561041951591963125352225228174148831878320731200186220145119181179224122119209232531011002271436714968701562522531772188312321162223542371631511592724848901663718023192233466893184408656126234150244145371031510217772021681572312017211163251189136163591471902817018857803817248781063715622035199610010064801221737196429614030128223135541721568622056171124209188218101143362312611912618146224942541062431473013620715514887511751021058819517016015416517943219136191614215241225557152153253179237135131051926164180314324514424111913519817191821999516641241411024311913545221183481924632781709219411114917924742934816243145196220034233112107013114083511078135208250216281852456697159218151156110301822520247531661011911001142247229114823563685121381116019122015710822782168513162282362552051414047153156871892122002841792021741304881134081261683020918415724111492312613623612423725013361112107238162533214912811571601526585139161802201332191714160144791691092375391715912243613730252516891655420030101382015874471792381182323274137194146127106131170329922014212227902532041739220416316456198108136792228161613661021505435938231212784710814171932121924698120227901531638917886116189104352042331851562183113310324088413520721511221985638791332221135923810115130108361752501711322294714515070862011611962125432207811872162391431501083917325257371652421137561651101472262198324613143591681878215918022141132311504713022766223239215917210765117132376324157611631603317897536012094121918023316212137173491811712431502532352041861321714910724343214101211731201181021781182011272324725520721795642491171001211861681221861872029210220166824416514615315315315351149989118223617817118610323017459239173247222204189107238116872179838139491531531538982138251402491902914515314617122052185246582352521519613719177352072471125221910118275819211310723721118388371099222146242129107232155210224224251134221180712172491702151451343524439110768413715249162189817720279226134178518132928320538412481951552461261322461861811831801817618124412420320223177111752231531861911112324012917325517218322233381301831721882372124222118822117820821251902097513122720938614523315016116919833201239161180173189240112157231081174622718316451248110761463412251631152062542203723124778106196510610385843816515212422550173109180201190185272061431751812125210919015918012161271615313014015924070188471671126682131161021782118572206242143130253156134802092766145261485943181581297819138572093520647892429519711136159225120100231155246129115188982406472221469943200142248820148219021916435173215461314722210716852511724714098214190231262462471984619149177312809643102238249271918319153662101232042411428198643844114156158168148123181361922041476891521702092049218560341312551051643617524313824584235720116513914078115622012115720424119727217240955512131651559869262342551502162038630311841358916712717215625211665414195111145180209541171638390141223240594611493802062319025511512318821032547114212228612262402378125544816377830226111225016051222242206524318899222291031089110617107322092162516120114312283302473863238771222201472441688791226163222248199189113143251983020132218246219515228123172190205189178419361531476911091862021591731161015419023623166198423545526480143698175169466787155252217127581561921182022501671191486130136211596813120760244208952381141651931432083015198191486018647242659519632172541992363314420927173237817924424725396312386123313912758144825332441242517117161801182195119372431991452123925373119591621115213376212249951732462117124215316824118721316244176352421671291322014317021823911442952381295015125083171592431082481202238314613421515112115015819571865094213238711691906783189137212241112118248419914272161145422694632257109211632513423924771350874948822316117375224113578639823441106125131721051182321451798790261712217123418921365128825823161791341061881867415613510712523819546991691431351473016921337023412491243237565969159839383166250165961832441761215330374414131915212592117138223631112347021224425112205255851912810216723715330241732423819120074126222399512410519918818893243207127515911923118814292219167146838912812022141147150118626190117215321052583166702061361931991191861621982341249116418314073203572031586619913713412823961819023579152168245171591861701121992522422537523414226531594810957972181201081172111831984519977265624217311321512123513710622316722117714767412108020825618823621011220218024518821310418155156771802391801711192491392478563159227117105141153225123246165170185174127234306519121202111419122841281402816147176583111555156652371632371012559051234292092382111162221785122325423120918020110757215155130272071522323689136178194741444233411163421872521018525314610921969155171245254551012321458415922310413162204226243552129215618619064872497537119131116255271681121892221811623152251208312817422123174971228523514311321524521432221805794239211912262129123468811910012013721032118713820584791688232233622517515610714217523645116120210275157154214515149184180156521746217618410021525224218911431444174611821622291728922191632101311392021445412221071521831259421322521369462475934190317612020819539223313436232200181702764237161181512504765732311278100151421515018716261421434572381771302212434710925140127231220226611120214441706218618823824817016621138981037617421425116152126267719022122821232107223512549324019232191732138520368165186189691437410614620920450158161218147125209931701771308310820996882162196127102180981711401462261782229819915866714827254118163578825593390560211324610718290103110124112532139107231351651882252024017818116721031583412236125231248198160428215254302411921014071208112716453125242225135108248963184511201938620019520623321767422112116114189254106194700132176136981254625117315343590144158181352086224487229535106422546621599617410210169216242101197224662171901237611513423211261141443913092220662001961292192452311531551129163264175491331871849471301231951931278511654119201189107621837322316225148172144302402172321502114589641256162361412122411912331687243211512011361002535153251571739924623461071911142192401517423525432207932511231308524020203163121401982371915311712121537411217720524821212123715111219112114684172461379314018414510410721123950109178631151441238121396783140981642316111247145103196187170312091943512022104517717166787210801671431415636902415232168167242133235377321621141636917813619174952915531144514733143208316024495513795155157100125113218922924252134125192155141364315224327011624913112824124701801658996237871783210714175705218217823917823843206146170175881221692349177141361452316145977211183881671261622301619071502411161101199425121413867114179100432432477915525041301711159223423019521123124968191106371902501382122294314617924422816021471522411691012266244192138144842112004423114845174201912201476211313922323614524873962463122290237541072142193499495240190832406619156162205810151182364023385130194252281011251121112108018717724816418931105721059169126119171981782411173142136161117218391202649417517737971698024823534871643189123313710022925313418120723944602231782419322429109261791982923725371571331621781002131185181471492501241111241638613237155198100903917418177221361751721038474324181122128203812121722589206110720133146133781208421486219116169176199180187824072492001172021051491366922880196136191170210941431994610788693212100112816914118311213821519621918124415774169131205193362069158123201351737180233125165132183146442525120919427199161191781119237941831164212402436714340442238231178238152468915922714112013914041521584187118120325215611230249196171944315022210412815145721411051796401871635222716716243116553323790462352542321482431651902214411314710519465323012017910414332100915649193189492825453105252435187248752201922551856616776185401751632853155981461954592207671271072262509183183217948116414921925063581002532224925115541699544112005214206116141207118141142107424620325460232255248191130119237143581223624419681239197192782817859117216246212332710117811525014421316931023924726159218189250220942271306710285167108219116013417021755470220108137185213181258386271368411146822211013918821342181149124662121832883227110596611011723217323620414019985386111910159221179232955253170792391921939247772221812221241825325203167932451361574929172222194208481244208932364892229653216811661471875824825267279619612720013013657319322121248462093182154671764311725423715110818624223622401697219015624122796210163174232272451292532497817316745261421731745718018825022450182117135872143194891159689243113227254921872411142477193145106381501403925317711267221201213047312271150641418017454250193612692174181620120404550352511492301281231258150162183451041721931191762186779303413817811064240959018710811116829132539221791238204141156981332452011752061761531713821677213591531483622111017111714856724642221643221136183861178902111117132117202181832302176223213915718819013455250249746246211229140431411291011998652951781902181860214224143932091258116610910614123616486247811051018817238218215115219991912219012711714111611915354125802302192258475811893109255194561681421151411723212922182141372240216588623725321110421811913173227531903772083115115119162762662440611448197114752534114723011861221584056881093788992454013478120216231997821937155234111871615216417176119140244222773189942320812221818811223113013912725048255155185101187131971184544851662477511826201081558717711173219257584193143253137147163233631236941711516859110921272102287417331168125173492328691241188311324984472402131297111923097171198639178781952411981282091221911931062072547415615916199111180135177115185411121881939518223456210110160202191091922171775819143131162124144104216915168237131268216906719910612491479011923567814210376222881191713784181152041891841252061331091151161991611615024715919916429661160250112339881012542541711325432190116221819392465524816225519725316623124231401191971962721967185673192651851782228795172239291712432142021611912201011761941731912041651671961451448117562405185160188871555269162439013017454248941072447178209321515521291114089743722019122317610424725219415724310118206197138118474021899801761071262541742491331871310118461841801097819317452451991417138932381177025456146242160591221762041812251807311114521112014179103158932379351963320224023120921225115714567165174213718720223718722728059231229110159155183993071102292001302521572432491212331552172312542446521320921459121994523420821755818213001115272212351401842222011618521410316219331125539422761902295392225629222519362142618023421887236136240144197212234125199170612096236951111422825520488181871191616113011131222616911671186240255109162193143834213392432251863312404719116272821412697155245153172571441802224062103174952041717492522062222472191239231736016617912516317124627255224188225431749230379982249114131816016421913463152171190132241942511101611921921712351424923424314155792181925346170558112014617020718521211106389671262021736057171241148192231249198192127585217613111184152119621665791991371937910536212911953226112177141502918290721721561583510410212936126114231591002362426451119241148232044130185111318111685461518136207249217815323527775232209213491072312501961933448484241130153199171866231121684514322489176157401123189172169542132296410270791924221172173695166129563226846842221148501388943434016913315013639143511274321211174312918662102121926270805852221155136125139148771065218212194158235192052352431061646175195142392451822341211658312887211436918417271174401731621947239184524164261141631522341015207651176020611725331160222014512912716297961781701362532125024999539120369814166191237241725264160116203182241992511861731911162151822419317145372036622981024121025074198331961111767422119465194249192452262143562124714478222479180332402225167146502061072556412290166124178741411653772162006520720525514911223651201471645363910781217166352314881525021372708213418312020745201592091422022031465047152187190231229828187615818277253242125410759521154182345619736342114924519167212451527121423246927223482451525323511736193223441779425158190445219738245992071312792211532495813210923814199191170136153192121132126102407716148137951712151881797625112081725021768126818220020220155196215510612168186204213958372401701331991711501581621017218995182144240133188032142899112152212845747086224861633214830136942215010820155101154180214421252439241861825941502942497697225224723897721258576148562042491945411511238100166227916084822813614346861881511601882181901711981510411119616976192151471881882018396728311039761049423124149141862332077113516024512818015100111374194209229903713612041158732481641817886253792401981511966810634230125411341081031236927199173119934778165591445127214619319922550193232170232535624234113190956014137131339801582201368112610119921824729167144858110714411529824747148163254111966322416543351791136060150103161255223115919520122311681942252091921115761891022272471828381512251231203814731378662731691512491302482071928612456249992495566185176242249173169595419959198382535160220462432474623525417193218312312110217224476115147924513681417224525425325525254245190216313535142292426312519624324433199211710920630178611231122186815881627782395157187215561191911052291132191829224722520219213713424091454918391991111393613618671218013824144186189230224278269231201799323686772201141871961240171381761459622272541272012281541696582422310862249722248021421521511292182106182314530166142116133632361439759902352138723012313263015198169209522511918718555100102841921911991101192012452471861641452538111120422719024252482191951209162169123617219612825323715080253911212522179253732151072521234621718115652173611801621142072262422211341655913741182412812221275912138190158911781259422919069245718724492180190812312472536428146224135145196129501511345138124191249542352225525122183352551167116959932106372502112231511051301943015199632573144169135844732233216163198125543166154171621851268020555250253120242227161120105692513612520016930739718808217243226941191321062461371504924101677017061711066020116314510614318292107821201801981712251401051271532191439921011925213520921216767737961919127783017324120122199208146103123167399021555223234341420951694223233144105121302452017618123660236139189219259109223816710218122115917723113582557177134123017247187162181360152208322415423847410915130921381219264216252221112083792502271214118829612081501074319511818714515118414744711601232331682342497261177236149122255230179229212781132391436720179122981752132501831591774422199152247205156252109115111832051951019015813117783164172120251124172112251601744122049191229148217120185231131246200316146158246198117231218853189579023356799247581001772146238867118415416810374252104853219464233461122181142178110156185210285690239219952332229323450821351402441302511671221014518517018523019364606359138281877415757130301842203210742147128106141237104841294016117114623498142606705911523712213915612782179181162181234791531624148242482322201596344571764541571881562491951121142351211711542271717325218729145247581638225265817619314350757315980221220412361542211011181601428036402268324723781103121891851273128722614415610113521913517161186139299011517358102361631627154316412177253223328876139718220213017417111352158525101221602422321141482557916320111959195187242109112472522823815614713523715211510521971231912498112191248205236119512714818710911030249181993059281725618417223713024521358127209144227250116195105179193505524491235510718228709920822872262558812352231405622010114418710914552022371067258018012397241301952102531399246252159631882401031212830245299722221811216735146112721892031811261228824921313412816111415196215482233197126951771125498823849802302228522402411438196219100192244120173183134126105150105116533244151561772292551272172312233721318528423813414620951225941692431632009239242234239153301762012502123411714717270148182121113882349120665122216192171182222191179247672116013222116149218158619018411025235499150188145239611881302412171189425137223108995324617174133322491802431897179248911942118202262281631479232234611768283230235138861851522533716117880493112613037521121398224446521921817519582117125339118411797415717074438184108166125128139951472401651251281032419261615443336616241081052348229114100619257222811129160163735106331616233158245332208214058132102145188201484015320725515524612922481161301292421125218098184129143614015858412532235371691052092259147562331877801961351003374112132495226255918321555236364131101451422485043162116527164722840159187136137701271182361662451285413022669867010117625922024515810781055019512722423631936222275951113512524769131177157210247433128983641551843157321468942121145192112524116989194198229171531701493285119209134183100816611617188632216232731647610611512710313948329721520025017510719011694251149235186631466217199245444622813376391575113616611180220916061128137219121161282291482433718311525170108105885817845322618524919101122821291421692110663355956139246357539814656186170251101233137174251159764949239184483230176118204220106145176943665120198341591843719024115049107101198161204207221178190112782552045660227774323989191125111214156851021131072353817414220611491247149105220218169129197741282337048109584973192371361351404511810610681203212771541581611271491255018314023812819914241148113822308323732142221862271621812825369191182331591607244212733499210621827222012825691011692133226150135167172138202481377133552052471393331137311120286239235862140283925613414847213226416019432028761759123140532481523147110200215234510028481220143194331851714337446675711216245197272415820220719185145116228784143382512012541451031323035174245051502001614138130352185791441677512616924119621062963923734825311166238471521852271147566211401255621185799792261541905656855991904222124183631611561624895523938228187143181715012006119262124143512351011401811828418285121123226545107865932401471442231171422916125243144248160102363209324025313530145201181804138214319751161124232223761342820010016620021182236175140202254208618241375322101031821031801092501672013251140223592312522325121263174240951792025920562361935721663522012272552481911824629755911636234216651918313522079291165611719223020419323120525024465203211251777923953571912071642401761012538923122218191171131718321898238117196223107143191219221231753523897872521633017713522117715186982381197116918524397199952421617323712117619021137148201135891524914923717515458165219111618962223120190247197750158244818921330101551781951019248101156154942442242096444247162311164716313512549796101413245104341658191891271911056112824120210312512219660405490229221118209166512072389412313214014918814625322764210213422231825122371872319412469219231151236881283016821617984321521915711751834740221621911162311301702531391711546109571091221812142471871931322011711537925022712210237235791733017324215214631253177152188154154911371831472173101581602402259020714590472242542017222661213245951980642522006101401351912222152211291101191339510914232175116291072401215624119312208724916215373218912121367615795242441434299203651201071682101312213118090469029414123120558139282381166925412437227201641941091761846125297111236119677321515513123520715418323216131164801667610716323017714519331067111967231942211859521119121431221061271095161115126972079324017521984143261011618824419112721462961662450156102471482990154187115126222206249231827312733240238177761681591332442161160198192238410729161722081761703519133512281329510581442411811171262052314421947218200322182192720933510123811719914016369592396371872222237881441432424870156413192861557213029111141911581252412073114923793212116194116184196237971031485247524182158179236451162552091622151551302451631755372036723525349153215168214231354902376192237619023517191616414151092082258222244890231598223513112241112402394611311018896578023312978211237485559194201351261181495624714918722123219279130701061243815422454335317454201249825702202481409417371636746215250182951782374611225211368244013813322834111511920435371454817319350119742021433541928612398117711742913381316616685132085118172214912610212200224171141126872133419082062062219206661872415811112331381611646751791612156418575711901091955715318717918321210518474218756341463222364718921428200127140219170189751982152142012442551844991246571304218420926522092321433304214246672472151158158168182139861361292202917913924644402165323921018215115183207214149250240186842372391561692001593202215159482384711819319338391783111619918094176234411162817424010857111213118209250651032025411218353121178718821516691131052192845451846112719912420286180103972011906990152281091599112611210595145179204220122123227120181154621811619815610023101216187423413149185227195210508023812998196675221112149238124715212616021269264722137052131207149589510816822021974886237217145107195254157182807813150186140851217852248113164253181718223414616156201563019991104212407615152361735526218215155381731592316247182811122513436641518823823214311313225314318816314019214571722532179201220130126144371681942102441033074128932482346722219185501282076022312016199341011916166113147207185190134831601822307512613051124863514684141532317916310619103250512004513967146114886595701282081342211416116017412770174236232276510623818128221195135249191586924819222971024168164243706888143182228226112297165162282057080504092165105171162179223115985531391262404622324215145813525424312522720519552331066918220610725596147246418017842106131281391195087163154113136681311831361211119379361160243166125012416012322813121517644160188192159168198131833632113325016417012615723114111281931641204740141871281837210022281316820129148152311218723216156911653624913617451137951675113921280117219942509418115198144251961966524516620814452207551109764182602516384193391882362197851122641192582122192680246952918722981158422117833123120293702352072477501821002222472161176254137132160562012473711655522411173104589111651851722513170011013123772286125083157250211667140137301697182851961521364105602251971139014114924819875228257451201701885992311091996422715253788991109211621777422216425122619521420367822086869235938415928251161551811171291112367174161230241235861321679928228250571581452391871322321939175402122141987923715911512599204146552161021251701231421451521001014137208662822696100341101371232443660211321114131627446121746147417820721650532525522783167236207109825417513820488291491816052211811765648137200838453154274196243116162193912351461972511066119219321794324498236831247612320171951332117781134722972199141351321601558616601202678521319012020126519920787831091701943414723423217819522718469247161226137401183014142195193120430168203621051948643979322624873201165176831022419728914382862375020931914911816560226138148291431412552519119437112246010247192331511321642569231881671102258586169772421361242361013917922913623212918424524824206737319616541197132137139162468138292521922524112912341832242161041281838425103017122062112174792811916141841572556563314549138894343157169245206228316684545193441133597114232411211971941071901191721092342219920420729511901142072491111422012552173696221106207521071598716320723220183255254207137199783831592812411419119921732061032462171572221071252301282052333214216153253214103247911572171031131021432012172217023247172466198209116206169191196231741092002451981762714122521523567177911419711990342381829897183165146821861622221082111571331582172431092555915863379313425461166187010524157104142088513112421216197190235282252611896832051752181164312954144981602201811752122520020824131011222724521419223517310825516338184322531139113084205125196112133712451837093121246119901953819951391751742491743911018021218930236219187168144239250142249375913741772331743216512423018320543254102942291421332159231501095564451921332125115118015717918690235247211112501592521232379715718521417323452139213210617522227510266121862223677252502716315413416517120019061223696186222264517321011315315412711238371271978420710514623010620318123843117341851741837281321632511089687647215019411114212203175242238216641531397611988235221939687119122117205233213205185862277717970146127247529171241105191100672506023214261331116692472118752158512394511312916423911871177133442458611962193174170213193561147712214324014896153184739524020325448207219841991522522723195883547183255543130119141129414761714112219449120180233172249120141239516111211216911222220651122418021511319323010595188232129198160198831662915110813715523817711517957132292131819012501872173453247104140186147381411672052381837178222217140123121511861492399513075202395040217991369242501131371341637029103442197815355315510560106841159625174821761091102252462495202133240141214512211990194381111742559732177237188852111051791771061112269127191351712452542405244568622913514623667178174153595656802345488238629423919923543181224712624211518420219193020535305824223715547192208463521394195859435132220161924121742117129843516721633371811486618163263167114161171011868102173114418318719265244192117173776472371521392334667361722321292411401591992101374873841801118123319337181391401297894742451111451375316121317710647281219919523519221715024323085199150163147225212225101831909819922234135158341352031176212038871428412132164219241231983919215111458921692302536010717091219407118321816432222474160194109176204133227210145166204149123913712883142119235200181174631097686314236612361376630202361531591911071102419431053124823019517831391547815511823121715201852442285718095176174621782172191240103972501621891342323419616144942091921911621422171316664121443514716310523212917710175202672032062542112511032552491251101882442051081821040184191250232202154991714215477115325120891209923718370151171125100126130155235713815613924724242802549922010610190213205094233619223412616521810318022013129174188943111217346961802201791751921051681961171882022355023389237571746439912238211190661351581241872305116625369142119901301111834951732451859022761812355113626228108161351011853521522235202183314011321342224153308824146180363410911725290182111187616349418024412020921025310121621822224785591592317360948277492105158178209110205861991819524022555732241154024369234153401611208252381321822490190238831364861166222622727191605067143170212124571657108125116173188214312424221711411193662492620924445484616781923620897202100124411556413051761621481219231245091481118422522182196135911604619224971111596801116195171581972372205232824542236230941126887151154371748753157621061881721911242542372192111261262281719779487766171206107191507522041242042431371311161321461225212117420418713018826241193325614956188233322441722504212498291383512618215438108418123112019920424514516817023516522714411225211598128241814268471053476625024334130107214942288740131227217159231232034311218910681869310533332131921067888661768117322132160839919820047236117123223121190491504115512911115524420720414754659011224180422016115219122424712161240922511281701395167012220931072550117171362381357732115188991218389165651762395613511425314030224184238198237164186112160282301221991262282553207553017352341131025039111284882791552181514916918838736816619116112411761391831149218737252109241441282401758151182339120419214471476156231251012242917921663978588186772423818311795571752491941412020525276931791416551412051291971932446912913723918541914816024611512202274116814516517233229611924610312218156252129361972401045176117125605725417014921514030248157210311121625017820714519765137232115811015718820134113614965192200281222252251281321653341168208914647607716913912093154420285123176341128114196202192441991924037173740137563101144216824623012020310050931494252391871454721025131197136838112484193212611241001379815869581153716724043138511242071871151396084235137153136204235246126316116771168058168212864403228252133301762531333012020922022718316611014819357944956164110653423524510698203194508616076621111375179331051627446094191226118765520176125199411965611029479411981641657821323519212242240204211458922731557719542042461381981711851718368121363680134195191237201784848259654805184313011018191303719216349164175236132166811004011681521271747911442099411124226209314259129511911149124312721839253163105224683159769119172795183168100231255254792321291489913567783024056123208229204126251211251108158233129354103247911637206238511891842231722321761012212519915898223241218208272058118390163110537122210813818422113212136188223462432342201091113513123918013519316918359166230225153105724813915424523176150221501103921129129254213226853915340338762216131902471863531151981136821591203208228127161145119218921022455802254242162378029140669617614338153137231127200100190811531723523611812323223718220820660592441285216079172153188182246811031169515867213193229095217190197149715086236918219010381229222197852511512142892941231046924512910122918713203119461722171891841141519723318224913317012218413213171501821591831902191341807215928771858239179140119230217644815212566310466420993126245235991642041497063181295222514912714526106322429521824441210222083116924123646118962036519468363216811020272122339317322919911652221371816061059310924013116296478513110422115010711718520923986872481311291843119821111011970841251874211123125220660123169293120724897402497075721031296712315829248120175103106154124233102351251081962161591541721795182102254105111912193011395774116191391349111621119066247207145139245245106719021841761919828394233225163126202524114582118218612596184194837912491642541493014415822029231721592331291471664019218796113123196157542523314612523324134157941968153831638594104140154111871315018412647302101742157541595083741921761161433318414386108571101141732102311131232121951502402517716121618142223254752461171358715023991140102402181850119170561762012420551871861021762161812251484126102162331281681621069611320141702241782121782511384816822227154172481902021071882229575411692212391442212196192881731751107023241118301722440238245172052539010423367105124802512367251142202531481495265112752925537228161196103164821701923372146113242901422389416524419260217110159911261205741243179234811341111215112324046149718784299119714220137952258472130241264720815645206549423513160215157521706110521212219322027223774157251751579712223714714811182283941101882113325515170422214168213199872461495616171101811348013017421225111492139121244134174325214114101612199310422311419313027411042321297112549928911419217611220725216261114610925140119251711171998714114818722323913625212632241731112201951742322255024714618913423125525222524963125128243183931767032779420612421227219120198188183200251457013764136162148158246198247228217227961032542151871302512192312292391529518612711319573147158124135435319019181254997218750119180952419419516222111107142174206148146134132018716025816111213238175152417324019649216982201201811981436420832502128816523168157175214387809214930352291108324614511411671402093671652061831541312381801341368416824268211215118520212471229238253371742533746100437022107212407615188235301863240193521211319710450244255170173183140311762412501411531174128253234422012710722524613814121525130225203163501725118356174253189253261538613617518715041241822499024318923199207167157451826034131239551661102421411992161745651019214819213223075126162724818572852559917681721751296421315411491123514317985243156234461971541284934317516142192220175233111036761480911107122562103441115125421721618538024851137951391802242211039163416024412818015112187121210702531782201303020861227852152256414118531184692401412312351471281851921321052526244020418619247128893033171176241116892248614664869834883013120189166250214235153764872224248240794145181144224222281311117334387464165179108145118859194659675189197768216316208315265962401751231129722084014715516015817415938110132791021135922514424222017417985271999103121120134238301348153391102149123147129242101225178220682451752331291521811705119823112155211154471613722721611712817124154212911683268181289523918613273191147523350174245017213430112932477115819414936206194192367897361841312612516118610623222999101224382614614820912212811623018924058328814314721422216211812866159152216619312220932171592194321894301505420759122158872122159246725513214917252144115523751621817525119670133518274222813027691011531961721193161243519017751266423312916920611136381301061427918073226122155204457810712714387147218228261441411112242071483814017864134190198141150158111164923516920666831221921981031051121781638235681956518187722071651284491700352184319521123720318622490152401428931621646115617320610117371201801484721399712319144223149523621615922729133192264574607118932351242201116188154183321949015160112022871462182021811464153236240196952321213163792351221622241601029417883163107136176464168158266176926448430137207196181309615924213613522490136676841249781669924831418552443227121241972281361241377832192919128231244128173116781232153720118232311482061262102091591591842214621576583219081116142265416240166422542321217177152015183245123215571481301288720723211712124522013075171193205202681621366022425531738228119281319517924054244142183792172261561902135723711207172127112752542205840221198472066136216206221212471002332552511274305722121252176223233253206231145615622111111512215914921431031472227192185125150231247154952181078612420817023018467199691902519355261622381821962201071371902152813722111113712421630253184432308187244672081677523619017242161261673912187171186925357025521016419120819110590487216562162231712218530112241130951619423624920352218206249243911971908727253101182114213796487153192122448823125521612416321810015718114169167191223176290225222116198140792397919541147992524721935711157432464712924317014461716117814612523322178211160254200170158111821512036023954134220107101571682403018810022312520216223320823420293203741194441222102881781158124919016585135151247235816924913211238181135117231217182156531872142241191918322552291851620768131212208203207214144187211777119244561052131759037751849417010523422414011713274111159233159163181941361181502532717365559013011016352154131110345784351922451503220931701474921237286512132492441515611921216129104240897914532342321992092282012352176314116513024261133782318320757251231155811523715824439769415020222416731371958594245103204805186154249102911521347856851982271821342201066710469192232481741741948724321619411282233621095011085198209170217208197218194238116200226922118334138156184163122243179131161406479249395731528723573701051271842113020619319350247150115150191172541862262219842255165301045911124516471245231068132216164698492084690661321194248572278145314211572361281851505122482516288548922265422921187131111920447219109825012722329135255761436791416620028163195105795916212347218336242190153351419187231623425011157312471961820615715048116163441149222658822386510816512516020612718819811917221827676192220163149943521158195149158131229238189192921771794413480231721424715118514121212014711228864207207193101514215871231139235626238115129180242121201585122141481851314918717115074912611823581182302194376116234411122840117235431181105711120125424767737415132212157252756164121272873197371902776124210317921422011013271712428619591401281263713110924152176126160212594111151105124205802253377811225232156902302184235134217419651185152125105498050851431542372021831095610921016821871745325019524710847215122115611291626199217182024723411813720353222208112103174772372411498710612512628741242102311521512385544220611911201756525414218524959231182156531919431240184123122171371712171681301421395418420518512725416096215130246139541049653343716922714610911919037222114911112721551871546986118921761851801092062171278214132192302023949108571071187632321401542875231191138252992520718421522461024016473217254197673717450422532182181718562245199140218206909481147149931742443042118237203119284211425411132743247284111723919010421912122218655207161552151261682162297416521588185251721692037216917118297217119233190100221124202184472232387414923177254183212251235107174144245165462106232111712193221318637139692410421240761512423221129184878881835234237292152241511731891481211703822072152361242096478818424124311771255512924110220127236332512824910213186751952102489613150160376912223497311236315721322484456216129516411262252160128707610890152001286613082128431165919516980820816071822341156165123189179349966093811941911617184691334721315924020250852112074123810111118176519456165187671613617424521224724210224823645431122681881084121122117613339841419624021978333112168925025139024180169238781795220213171518246127250121482194129188133106779840102142091092013276122665114412471709024620712810213014646491902416121018248223631501202422145898122752206412450194401021391982549183871461306896956718811031120223611402191852031252273118511221698634691841161701009656341951551061223215361791581371812313276198172523518045196208463125401843513321137243253181402272141318018683531685217371646624757612407654616572011414514917814244224165371931352381452361718116123314415021225421824811413223520932004521524516272301201992042461381582311318274132174120461611611968124901532746915224177241757925418127947721157169164189101106199198231109135067611383210717113190197204609722116219219618594145115603511252461413451205192149138109202220725276582346810012822719849107866910216234866816419563016831419710673192355624817410720020221610817124416910516319210784102568942249361901581091918321224311189731218174647910242711081251931252312362071171215721240221281229641210466821472214107124714150246124220178215217711481361982041871151324014544203734131201832051661645252139235581267410145252208511301121362312024089190389699811422917523411587581841861051627620925159591591514422195181145683214511453338127173744146113625186641501612165710715318613725545816495232159521672481521462321206413916420512818422812322101246991014814622689152812049024403019793211132511221284145250254247921954011618416206411223299439885105920931765913619140568555122342341284139151241205413990149121189701178721115721416417916247226189196119314318969524402552812422614443198241235631161391201131812353423912013510024419223117423395120103255209451211391178013817311114871136127961487519890199255241255412725110919618376078239115561271922382046217183123457823718319478239183601792072262209424324312320424224789863018111162227214151239599417122163462428667228173250176911173318323566238212135220110691194238182132220110919053189138208245182160107291292155913011018072228417924125285103155231172696424395179864915325479205108359313510718919923510036491721520910220183323220770182072423247199149842417524725401192292267189209586493231125163452321858913125418938157157136761892392135822343539420510376912079060234138123024818614315012354124187186801171313524914441011232321328942091592351121892022478191228228802342281202142281122341436124122318169611091371888517561201931811062471702521275440222177168104151212254159491872111070164126631647146227148241141612720194253206861107184204142222524102358127216161118841736317512410710244816924492191169252274416671105147146785238936914362391312541522710689214155771290193205134020192221239168612287871232189142112841931201411512381042091531033105177109185961296814557209199211190317418821424208145107911131202491331091792431184502919027741461651691985112630207184213302221541079112721417217520423713490722351862624917023025291852173061846323813971817749215520789128321121731161451511851286665127851574738228221621014012972212091516315781154206111171145655218685419215428228261429517424558833179142925919321466167107141651326221182156179208122224167952321233179418010316121031771602161171657035180199189463039397137176301386436121521162229123241729516924629441186515012150182100609918819417124219282233691664225420324644262041192501614815224299111194791251372162071251371472537316819913812575114191158173245642412381331255781431861016117518710922523212917475118462822301131811981519618882392531331988517912882562351707572180220111190968512320216423318810112319093911741092275713919374143187932101072359011548581220311712452916924638471807822482152441491862461491851422152517523117415014427771932152713138212104194147452078520724236167198145223717477103452089162738214019623212913974152004013015724343142172184922351998918141120162205148981482254164228245230322081912422325015315819120812617692102197105191100133155225108128592817580222698094115252180242417524562442452461061313111013718718814220222157128661921954721524914086123148518413714918724281721170156166247122163255157182144135157176737206117199873312208322324519924523582042321291942211841962522067521424721935126247625012136857313018072914524873225461317522320441217191184952291144198177199125113562720622014923919222392281251592461981632322421192047160232145337251223332691181421031821824319883468725121215948304011615024612923523524815220124210180238232170254124199177501432098224716134215145985524613510938022910317315478152240319227191802437314725412413516134167254225112966135203213019213728231147421789243129213514518151241114247155245254247401372281082122619317343215166245156514517563101821231941842251802515321911619892171128103122969711234801783634136196241462441861313150224374379258244205562175217139362481731851242248208591461392372151081179039115125644512422497199691938217520721526442481419011310585116541591151121921417124159238238152219214816012832166157240229180301442461622521302102171852334209117138424824719878240108819254197221061931929815212670158100252821518810023324115417315841292041611686221108136452485970580341123184641951125216511513020815226247140141291202284624412815415419834101192413218923518242162185748241162153172941647323626415124224222411428381081864210613212118812817160281601231217514020422816548821435522618568647525311510714215326129961472544116823719022531651006667184412148181129539914521858981541569221420110862887109231771642112269913518364914420618820918746193239187133194103361572311992551535582146643812014915213662731472251374151281162205174105371921902221461702611222311911131114423510117820251871052472263816012420831882489523312910323731881668320687220822059170908822290186125167441276501451059114673198156134571041571861338425312399870141463511301721692461292161174013521715820972213211161971151092116383193226165831461281252377870177178178211687413014744122844323916218969111127199214218235352224611313151584810717123521847111041922159152249624961685015915213325424117116317917314654114129199134633408021507327769811518421081117221249200672610624428895812425317223452202231122401992252051475582702006222024210692531462425667019025266152161066122424376152162491617244421162714411810531276910116146861321674715776916224169149179241556638103411196822422941137226173135591792551781653912201548769791383319722871991324013182236115187234562019714923619103663825179148262814691819342852441282428510520322625537810115018497121681982351821904791120024416816387172401705012612829986915219616207148167171621292282317579126411731587449391241461362102531341143993371751199611392235612152403716110518669721114583180307219611614217689131308822158137431063724017112202321991031801031624314415711411121226252861831251612191732181773726170177620716324514613339822263164801041051706764811681041001814815282520319551721655126241198177107231122198188108236190204472174912113975218103302331591871671262382414999237239922717161827242197631002541432551531829911925217711119514223611557185215254252121921123212912515016724791159701523617960179215226220302431118720513814882131571122361902285394301141713325012611522013115021674520915901623018268621061391810714312421630113175452369412340118711661215149246129110105311522679220591892432031592471231651031395089103224175237971911729619252361952442101459317366122171352441909015324216213921124878753101106482412121202269123750632337214139551142817415717029239321828315715115869239223178187619715250342391302091865511517719224629223054571542542431122346817312720310511584715128219105801821991661325119514812125420815532149190242141207120208285486236118173210231251788468214228961981471821841297511022918715021109554422210515218310911021314522987107124126307315428751858623913523496251164556132401644723081792441952382001991892092161951747236129881192281256124690181150724224183861311501341309513816541352938100128166231112149199538924257824610415114914317612323797104146155170313413642135212356790232101712371462112821393104151476123414120910716678522505515753475717642486715148299058922382412271122022071631696319376163105797191992352521546414492219432452542108372155302391395911769612361371571048361561306161657151223817013960105301642191018030192116472914819216315821672214922322102557205161181791011067613026135161642158518920928608423822211820918651207190187192161245130852196915512982551602210411062107129121282221262176248631271996022181271281551881461251899424464151221605174228774160616619411192131722041181841941632271464526224110107248120165551405694229611215711176187822298312512069193246121806286102299518019543301837161233136221971361711401649921517025311233105312161058018021164235110531184146117167531402482442285712151186241209859812396316120825211414147239509222516913516176291742442364111811018696217112206188249162852353727180129180210205816219616413716657722446414939989617619413112666311261226161245162117195892432502111661893746365673452211838435204244224568137870144121491851515118714750141103204122139156126641592205186217289212721022821024618518559230229169241217149718611224121125443619251141167416823824752881431662254218390131113173198513824516786183941762321442411721502915117225113915713484141621031872421089120615518315651714211623121924522582442359141485815672462291742361211289161612471821585519921847138187941695247317421212214384184131482005323210194284611927169112311712426823195111240191213281321172312172141594898231167225164391892093211237313318710186208162616931511083013125116310522315361702382519493185118184772381821857213018622717124143220924439125267815511822921916369241581321472321591931002421742302327419619513363127136306411811894178212015538255828419116084196134236143103602341382334311626461132511419348150113191531882451405302101262067418391401481862279321510625225024228164233224140197961615121515231871189417610561109222126206162251162117247372351741186189121118131697861185182205167762182061521611916319519720623617669302449217823318496217118206156228237716623563410218081118180101201667802431621792213316517213620150789255215632212401621491991117012564235129223217251241147131239121132451417618320224819633712142021331972251051902502082115910612808868151281112418216110249021553661812423333121741272037323023122125186111018383016172361641516340192245245518388465176288780229174244128180151122591173712813425610114105202121166716617024917953251106252229118211410512115223527131482241711248216135242581281463217255192351561792680244227448355195646017202541239915123204011012997764819325117422516959175217248669161701582194192133487616510124147691467622172200168141415918823155312782101792339116532159126111151177216122417823815144132129127341469616620769661221309524179923515235931671801981202075313218338292169836241128193109186137128199193912382725523217670102115226189184145104167110397461299196161451281323222916724412811621815821034142189229242002351673136135452121904460195484012117479281813687254183244192151144589152381593512310018222151176572221772307315512531216211331121703515148166202225701361315814724612944105311129125515156824114720418913967164555455106611604625122011210169711241341832248120334100286047729424346479016815355149219104147121129446122311381281701098310112147809155174497490232231834048209192551181581195220410941107691251214521910313630646617693171584615215825357215195238471531871899823724915417356362251911063589195141851374718517415114916120162181595223188914073418180301201952062471192142221111611591096812323148302401001036912015421921847121144932502211844182152761961943147216532001822810182428222014016210316512231145137122192128541211135323461330235227234601511621701897543103124688103735981642716513113913763711361796564224119916318430133195862351142671921681966965412284140124920384812145017316722419511131224209170144174351942038414316310122523342036530138138208447266425222691379913944212932092122322089712045024999158139111128224756621064112137731203813324485235191106311442082522221191187154929272235123347201501939316883210095793424413415494121751582143104452232320581868160197947711413313520311224940254679106168150161249105206202168172213177217171162511501323625691014714721212076211616911113883210391581059118882183120167124230251832224932202193211595351234191255223155119236901871111272522093512971155615921610312324612811622581851991301732442621810712122611762192362104621124213121410910393711382531112141326310413812521218247176492506567228253198240251771781264224819424694115232221230144187451932472196723811742238221323120724719524910131161103166649220014917323423435246124159311928424724612160161992548014925112015714313612994891977642185165122911341717121823520891106186270232272022079224552196625020393198234124212149210158160218282121382002556625119224411210317727207237207152121401101498514717453248119921806618721572418819816320623223813918237187122422546091702200328119518283230215107253127232751637011142101602371402335610919353513346210512281142462281042301431254155106672614315414923892821901191052091425149715114214818512932147991691192196659478914386184223110919021724016611522854242152401849216924119090235115179412403047174122751918327106249331692188752471981426166410227392121744131184191162214432292312052210524701521981716077515625113928123112361232421091357415616520711317318311025241691147107222764129292191981793829185214143136234141532231319824721592131888417610322521717563681564123163219419213204244511709636245135161100184188512071742541488417795169243871492051961961431251932022501281909823611081771832001534315520789642403272791611956213952261627200130188170871402428124292211114616042384318913277436070421939879182921284224441153916246239117686223414113310457692241325782233213118193902187198500531737802210957218115761433920619014286571016139223110141892172012417362013311218119823911421732316186225539023813760245174213249323831974645103451748425118502334881235871231001012541821216974152023992208114194116180200211878922747941131011412385052902268617810733250801174621023731421627842516419969272321471927120260136549802134104242701881395012111337126016587791611951491341289129178842210107184218112081996112173206136203245254136129171771298131182922192218188216736866185713770942006873170122274116513717616720814512234471132944115194311337381632293018951424510320425111157127287666186220106101105697162103225148145217592318731931371201262162521312021024422015962224567114476673717416436199127247612022019619223482251237202138677521654158501106311119317237156612491184510320510614317312821521710559111209126193181201651642442282172462158224186236351641851602251321718319518118424414910617596018821013116024821787962071181762161374849189424810113814653812317511755919013811413530326221125313310065017138106136571402542118010170175227130534711424615922219124824571882132252291203211411324290206228181539921322223723109180175429234421391811411652231071392322061794722118356111251188220109115242852262246681224531359320392440151943919942189120214793732321982191411932053977107141752328012216055215158157129239520581612252192139910130791872272482551952451435916311121472441471431671409179155116158183236676822921718215953111571092101132066618315122257141471881511081701545109248118214116325418313263238139125501441288019930245198201102112342391533088301491775644101731201707321012223520445168130183156131941761122515919167232134219717512914614126477315341431199267221343615336174135382491082431211341712301711131442082122310813851601281102219222411196936439118141173154133240292312241534110718011311122032208117162124242173128176172207160129379716919258148122007818115168254666090194952431851662432312450108193141611725126106322301856820110545216429315217282651472441199313049981125303417010692422246311215320084149100102251156181661622406830196227204146214127232171612255229125253321311831571301653177131236188227282248194415669181882312624612912341241602351768579247196691781646434225235896812110707620845381131881421401991817325184215187675124312422719322613311371883813430323814628399511644722331921246825129231160151213242824715420714015114943313223116822444169202431472011815315911274661061363281243219242187178142146232111022511815777207183151632246134189635617425084136300155140162115164255131111220741531601251412321291691902883531691627201233324180301444192114100503717439137641801522035451465414728332125181071909560144183192479717411917210519470146691108420471422516719212116418140133322254623813352451449820938318913462197932011012271841811885041701141892372036612242131681072208258166351591081651672542192461612611316617757118105159216167127101129137111663332624411297361932101442024324811724610421220420716619255632252392291611691425159581752492402552086192647546144110986013935361601186311414492192199204147100481217713018218119921816411181122192239117271591832362531651791441573159168130215172188216651201841719720554169311871732512024412629177501382045270968101172198517251661135770209897020917820224522622410017319237141019613713746532420716510022524018471778217248132203520640672241491301311661947322638807616920797441011594381532202065310816724412812760414023526138301441738207235129871011267911114818143381456542472341672191072091581841581671076164128232252432281331122132255214212245101111001702341711631369213156691510380109862101511221513023033123248911315610365121188139352201361798112611717533236854314817912041305616371123661202421519418320931888301742719136391196016622712818910022557199431985013312798159171134172474120325023375195100641792321292004460252411111531782093815784931112814717950441151611192261381285219919614318921063243782512123924583207184531421161246238206920119025524312710921617910320519025317713515249312212391241241752051691891503911815512718721124419611017919187204782375459189203244236782271159862323953107561102231152092531141051921412342081552131611831706711087135220173151892152412217541681966483232157198160597765183155211155722211013188217250111642141326121359168109122171173852301125515112881912134651139958519138143214202841281920511191871943117016969239116201160221219484143249413716058202171137134802108910318019819109240100401581395737771083931041848220203173782281965223223510418377412739177103111331981451424913730152104240235866811417141104242198218201171692445242462532331632521752311482375444134233247452543113151101164128126244192722616811917320218312418322515325525123725492733631699230842141951821521828321421123150149239898218499651971293767374614318616338718316012718410016821222986115161043429132583530118691781252082512960192164191808719619515816871189491082391196916814519922520013121910916110618018344160118872915626108208171341202412091592112173209954715521812421412138130174224170238602191821152217323120459468999109231735811410921819317211510245231204123139281352022211862422371841391357878100622321426827228239158951842152402262465715111820445631881721912002518424911340249126713624622164226211129416818922714610925341831843158713322084149235125692064523117390212100154119218195312451961621696772331238323014841291884071182481694324899717047123169234218942301411411319864250106231217119228186712388861839140215248124551525612137831320420518621130121211411671542061522332461823917521971662441922132362713129205103204193184271416513612943531901762542422616492104120132200148186193181119901946422521920533369206232720219325452156114163621762302002021302372431007212815495168250192178198163702451358718215918218489272401844524278672401731861921421791501335923023515041966721719019710414031614684112830244611721510132216981641403063324186228172592442472257145141891972068727319031732491134423716749895425112679767917783245137213160255721411199516910710312913113612960219166243150195859415251226126247714917423415120121724181562123811916620510345161057710345262071521612352161821561832362061837141331441347422012812313210178106901524163724425257232171186111871991821752262081785125523518924312725480166219713314317222816570436019624319921121613022413612917035203216226135168226107245126148133174922789212482484212532432220161724321526143691223297178108145131688110228261102252033966716520640121219961382981213213711311103199212831105261626143967118115196602113592312435818872251121235239802511511791121081802571120292001902302324212422497871801202182291402391351462081771364022118310253137211114150132197371121582181111418023249592301154759141167767331661982231582461986123314135852452526924815817492128239251242281732451998611993176254511731411132351901041393024401127039116158183230263623211961113186611117113167571201682161692351621172198917924611522236244229219247228218118941762640116188922251131731981031842457972141142021001682162491051112042286821415671371431229812614414512233196891856813486120724402041992152942091322051991261741401482452541872131421867963311081533688531661812417924948107566205193233218140321562114515324014165646024129205112421666124093231171762399114129160128180176171177119124772492491621857592401563896155116112228247124441321824912615537108156235193186129173176214338406623017964322535817921321020012811178129562551333012890116172184873514882041011381141001974914234134832612117940561211772681023511215013513020625011318841143131152249252318710810124624110561128331524412311315087199217615124209204131119132331002634271531997021518525526254721216619886199228241711984203228143731321651406415442407932530982058433103213212230108114171148793221163152281742251371758817053188681472001401381762062351822545898239186132130206246170273731357241106322151483087749127288232311112247253224223851713416219215159211312216597194132165224126226012159171185929624116597251962218439621641220785851672072441282189144106126165713669124010414211912494221457922201311916611723422224917245142115408212910413110121115218185215221154198111882812158741318094121138107164147134941306416514393614179133208164207134154150841892458618251651514653502621310741502521221952142551171001589319228143168851721718216915921810310819710883183152196172931814898232159180403212116195226162192361391961419427255193115253311721854241331031526810117993211581101551882011781151242201146160212119281301261032297515217591991901911315910122143241210691937320343224109676020519165107591479244196501822427068137761481641792116712221146128241901022337712871321011841732511632031544723721062117205249202421051791619525221752321651297310249572032147150536571641242261522501371012365843160544024961199192215173189176017866225071131102352514216519821827231199151371404619124055371423816776225168821216321318218214218771373211411715421565121206828210821118321616512710226187142244892242714384155110312484361964518925118020193205248223664921224215516044836818022714713611530199131136153723392121897171711489818220112110199512492316736241405093104622314364283718552521571273518428105139167233174156225244248116572127298113781811160229142168105519611639122961772615798181911296624413015318724210014534207105181454561813019342117139250111381220247227221235167182001387216573417814425324621715921910212598183230992192041432051955246917289171489726186198331181478724239129105312513710018613555725121818425117476735325521163197312181511121049523222518915871246218312219911310815120120929198711831736218220523221911186157252102213153109432071251792522521591512301251791801002312422182537093167108134471851402311879343241185932524816033244817521621124613631187981761672917152196623818362231091418815118247686223413712020819241176472341262392129048329114126217113721192122491512367887403262209236119165209103168202117172206833115611088144015911773122206244217231237126951646225425210121813622514824541147125142115878118175392441264711961239079241116528322392351325477167771601324994942072491214817747215190108247194220127254168232235185197219164125018212321626331592252414421325335237135190132190124199194237243472542117181135867684170121661741027922221824893111124203731792101575033105254182121101251221411481861262152725124311218562250244232036012824790673111813263234140681504022324519912522331247180472468118324426122220212491803925025119021631722619123513937110143123983011719960236140190223302491605123473792362271588819314825441822271499415117118857126183452820845619222013419382402352212142402392502261852423823643112268643118118121395947217130442361438512219361831319239214161021191741571584929991672361921462501919813137174151171124902078966123504317116073198173230161422123195137911559685771812919814716648461241901613572981143187991641861164412524219818620115523510143291811631841223836861221415015812477214815714510233714622780139157584789183951802344617610760107218124222252741572391433573631431673415623811969612377920818921671431891201691341473868708719910661160218723023123915695178119812313727181242421063857130100341001681714715325851632028816579112166212125783823412417521324914149565515950251752402481054817187213168012310012122514212116510615016116215762292512215123789841771191132292221975371515512510722011610811722122514923213217818913924418016492220113222154124145100233792247773768224542216019411671359217415061011413211933379120790146891892491433717496406024724388154261101291161489022218715714535149158237151108212291952472303262251160255991961921122029912011612836742541104823381111172234133165711131041921559423713115410658992221181931545616147190661462211501401442461291711071105513522631361291392232041987276124140152352014591122942912518211215165229225229451032054787123201194124875072112241892252282342341632039712282882071203169350402317323120468992183716091611653191130126145131702331922851921016124918218629966441146214146961762161051642121011802121171722047713421615018423278119220927501461035213382134597723512958152162221615723109692439295203246941234100223118206146162652012501906324123120918031134146732319718123019296169171206321481002111055182224231145841561418221115523913652194199722821242194218997014871146817538198174133187139020688224246662286741227229158245711412619053110631031331224441162308912441928014543714687120115217143253735020618420022981135200152332182121591121794924245822471738124520914915723109120162091661521955220137167200172166148652131853573410119312518122215919424251197112349123013482127191208325016314941072061341432492022542141161702102013115549189207215237461365314224325323011862195284106151191489014115214318617414013518208992160171180133133861331642131882813814324813021001281411241181185102242481224373134125852311471563716110524325322664127301701376571152152271996121131441108161245091173721615920931883272113911549167222807514917141611785821311202342027219516036240136299387234170150842272922969825524120811915667322722625518283136841621874273325313316824521120531691311325121264671691312023884245178211211806824212518320812112680624443227784199981531981964411319220128181524719514522712987531705611310382022432282536118220849142933912810714140342151007342463719321238104160124223532848146187158193202393229200512314514362541131342542411661131077798214188231282522341169914218983170192255109712332196352084220818153229186238143132105154176122611341284817623323122641791721311005823319554617819817613614825367247722228263460219436822312131441338616915901152402523916510710357206227184139452081510111492214103240141715724633225547255161236471082131882396021771966520440581038511614211715412204224184109198861814112468532015818186961651601611962112143113012719933242441837221623214824551664921520863209192551261139610188187564021756122141772341021691642072521249176583411589802102101926824412893234399618610523625018515849111218640494817374136165881193563920221710122187188172206712422215422751244124968237232164150174411271697287132103186173253163235218631661199172471721476315823921253183203109223182243179228125355086134164218391271402173611011674255116101882181871007519619823145178822456822616715823245351757221119624524857701136417116024065118248276116013715914666233352061185323516831741871508325267176203248204339917189220614611019079282417115722516422638202214724501425821310996713519501651551675617119082242191374812922760820816711614492186236144116186236188170254532251502321069866813737249734891752201311357424381120385138255485615824215352822452492411965814521719362242136661111391317723312979117251064143254527721624815810724109560862117416929165721624294120352696166136145179747816418251657100364916221546107171772301992141531551085054913810950142901874256211363621954106189912523823919624512920110712416334252194612102152482552271271422317761253240129164312366142372456018021923820878211131219872925210221316163175602441672297125418025221963476325324513817995476715228126189164112219146242157751072471741045818018625315289247731712225118213123297024229175148186221174241187223241161914124011083192237702552191411261191543238182622110513186213221161719318612205116282104025518823322268515411522914118264118174183624415159138718733956813923518252062541621452252157695351812481701181271981021426312721718122255107173254178109241191218228139771809662216181862231071731262341481867693201939211517185561752451565716421752031561372372251731672047411945148855163219231872399158902284221119732619824816616679141393023247112422211891761042512522021257512246216621452066201216681731272372251491972192311512382270172611782267416523882552118018196411221607220511222201201793322470131631885084230224464159128139841035424895175243155168246221711451851951752002841941242272451961332152343641121122527099208141134160235245115698139240770562162624822416012103132848495514414281351172381816912823610821771661603164106866195999521922272388820014345108811219178235114490236192146138131203961571782531396528169821572002499732914211159103213912245682230122134151347522111154575536032501502542118013868997642236127247613018641618471111642082719234267716720421666481883523621047931804591478801241601611161011124018720928401571544616777222882431957221010414910379161227245166961692458413220514132209237230163019983248891821272011162511922431223222710283160170150541918623913939232244191904391261657038115361191807819267216311481087211203213023219815913514620835371150232371569518687235129510125122872369113075326144417898241551151451481841082161124223146138253752192079022210711151425772114169218710024001668412939232471061319467261491861455622818423219222256233157114109131122239522621812219312218020225194103201482551646325415423417511714916417124313524917453616222126267710159842382221451071391021201606497920236811051633219159116591952134412622211015314411510739720790234891431123934321229634231787540662352105511524410187364124913311419222324218217170131109115805511061612262088232158413219439471672232398723510714246723224111853931662316974218223210011395161611061531591563711721274561221123618511320224210013910220820529092042321228193801772434886162382224111519710912010233225220811719613217271721482988132300205121112522811119911552103992486323822111421413014821557245168391181882141514239204179187902311357034203702022201178921121121534622391801322251928571861650122128684022217917612017516115899845529801547288104126114562451269141362231142021722311469312719035146160233132732119259122024017352239217424014654129241204239123227135138932351431732382051811912112874161358620371161971491063110095842503921513615133145156194139110183132114141461015526223514217546611761001642107510203229140201107571621021222351610282351011159251564213220539153143463190205214474385082243243691811982379215910425323772618494872224249617326232893123118720618315347521432242192154144151132166130131124119249124254661515212117619142106205516114424337159109200182129122150177888620146141965888176131896196132811225212161240170902427317121737011226102158417316623312121157203411822033521091441601365722564252192788172851215243102683120471651918121404113486129321211112882163182158105685317423520212023213518321115619343311523414912966118116526199169134701620115220195226382199222011553321519733105401291216250153381621362936198018412910552221311881283541182581182915697181833016225113017421030190186111321441381702512282122197819364137212611712341035433147851213612232882331291284244128105108206251463415616624512817210138433621671607120236619238733711310077492421414271204167919222144973513719216369340117196187751784051815010613173225492923811586344118123019011518899160462227515332762206470813216446132031282042125217295721396819886321118180102016690113355992160100198232102254291383037415323417821567250138210328821524512768195144212146143214190232123280218852121921431832363123855108252621161398817150910959103255222492431151281231051122616418713213525038442447910019940502194124311523120420777163115176121308119189233180208392225422919231236472372106291221464677421419042481341411911682233160341462123714172181031091172061711727117223416916532218952153246127169784191938778891911837422018019647225111122041031891891001746717689112186851201829922070151196143157185412310112697261542411619319259866221612318225423924017815022211191249188972332455943471601592556148219851681725514816623204220254110181351656159151255151701291422168203181252247722221001501761413549138206507988239144185213341131910566421456220319550102250111619912115119120835615225463195632225315132226134177143241955197782510319932323023823174140164147661002311397918109221204130104712432191022002521581421066963181918365491061291414288251491732446458254166149192952351292171582092106637122647913459163782240106922326115112773157297236122439122641981782272421167107102244128528332233149301762062201081491852093822799235148792049955154134175531520517799523528181214513821747544432202375419725425524322399119237725618043226232110191163187931432381826117821922622414227395175681228254231211352552151781632551802362281591501572511026923824621695987150237908117710712120522221181123150972451231512152378986183103105205238691172511505231892171132021164821523874153219237582231351731931432186723954722210524219122326124175452487812324015723188159237243980155169116191163878150417485173255116691901902301261111961311902001352538124725110071277117237254204245182064731511314264125371832352031802059212118710742985815898157651831972149177191241232502253227215718729161160942511211392724525414721517839199211652402186720320201871571174183207171216101208121198226948313684255951502382210238212728722843243168581841881122512522261576181718624257314411413423592079186238918412119238908018611997219892431234533220505714612229183158492745115123220211211915320731121632222391141651991041852192294220713758129811612102623914582233254219159111223117209138232531575416959190102001348148248129213425411154631874042332211612463307211016020025148012560178137234195142404204207962051124221915997241651647510234229199332251142161300161121407111910613513564221925131150642584129102261221813181293064132161921102382640114105621097036137014011233663315659718912823316722520244915264411351912501015719241168931201015225313512968216751141213213261911071177415205711723121914185121128146223151961276315232191617810078222204145233807114711118161831561834021719118423716224517321480153251104981315341133011719724010616271062527424747861226422157125166717410001362451707558244731789517324638711742132497816071696160106169436311315178233122189317201208241114247159135208317012522440165762187244661971082032472021702131361291381891392031182720617294199217226936136129911365146232152157894205190213202247671445018718821011719117254136186158601232102407418117512611113633723419631991011788716019123421617013921923021215748701860236137123664127236199174469109832099119424122117114217320421941107961292399087144101216163110442309711920411931376312371272071509190195584774195812032513923021123024815548241532446424148153171219721216290133976200772586113198188230216422035137124241235217122251751309324319323817492235591733363141711421607913018395176281712011401218720924128145248148216921847119673223105141661766424350765420718259215166191192971602081131061125323581121022739269617621610516841322417218283237310019254263203220184177249180957565715625222796194104153107197193197133192581401416014747231442391811322535215225222764210119189241195319021313587228111159215121193230169136234521084199379120194881495525196431514918414215012382765846886323614016617214565401091121882302324220211244143437657216860891456412216331810119451601761686519816921510625318747218541595210121915123120812421017225415281235105115531261922491021252248324424988618157883324202246461941992614227163183239183711469513267225194109200923612181464417162186146236187209243625518119851209237191811262020724312725423219455179135171804064124233218268152342391533088261502021838622753146641681192538712423322311792309111167981241731813012019320421732401581078238816773203190125182446864322321176692134185193566317824918013111139678207724026158882015612201065421312264136892452398255121611927114823917494173214641061272271507110015239131137194102141701951826741928249163233245200216194101222222416213581921781967721598242942504541962138416419615323145171717059621229615814014914022629331229627733712618194602232416546626220231122199211010712016812360218522453418216242106105210123812416914084216161250219200882341531731425759208246162160100235180796516163152181200088121142871401521191263236361191126316833122642131311942440244170232531082324837722144120167164814363413384842752191832913165191872041692461208217348916615339143121311472083136129691938177571622271741611756121131111137218814533211122961828752883154197162494131592282625019620612243241481637216225701822391871341312392241740143622491411774327016321151652551504131227336211002143568495322331371423357645882945193791742156182216129195722848781932442124467198210217677014824222613213466192199922142531931092536316013727911477242200202135104401412324018212520827214176187223155118124318999237813817693250862241261171162061462242121971294161269210313840213361181579925023114105159153199172551398963219539821417111945011811520424822013153148241185113204218573020911116161092521491373020817824053911111682661641242041955651711669565717825295214312721362224142302002497422874226381791362361837761102253253747262181522503721913317311313722222415324416910320210315841159154616620611582541922182391254322324710925222217924112321590118222178244126221202278177113481389367148164214814819155118250173169235111761564156201091041551627749161082101442052162422405220319613867327877110197198209107861341034511172131805236109858418222814215498312670255191244116132514717722989202252131771781781612222832254138401531371391592498077130191849108142442311727119210323226171165216137271221284419818352261954226165191144822752122446223073178302177620312822210612710213568198171173822482553814172162721062213612052449196170191144232117421537139208184932501141171742450692369521332522152132373271735162182742179817247177121196613920828235144281352401081831362421596119392391011711317125424477194238109337111812029223233116981512132416116619924615230217109122100135241209175141190253243170191275458249231852311908985176219184226128892531720324619214931671081227889247156180234579721325317369199171472303431701194617221810580181123972133019518667203218792614322582201692471252203025016845228811072002472211457912316230247706284291171588118423412035831523325323112029831251178425534182189225224251227193152713209208638206457213025611281051902558512362887622372224191184931191918992555714794672202112217555841091671622532041221942085724758195208329231452391302361832147714391323591512398988190107652491422491652232041692191831201882162292311294112219016010610149200254167129196107531261817186229109155115219212121251151843092901901278123323851975923021109159147255205716918723024523021712616712223824222153115579261521576110415187211201161652021910015316824214641652738021621010416525111216911209244111317166169240128741998424721193232124135142139182173231172128105160412428175148703118128182254661032052446413722422788250147174152241114207222922512411144711271247631344815811619966252244440644717922916412722315924824462361392317072177592151902461176911065569242365401662431822038882196192169255231291281752491405720439312870822391837119215419642223811612302547831639144191451962167837424745210189171193712443199165178243901414410931738761951552423419181190401732432351073613199823919919322016472211451195919417453511622821722823994112238235157515462374611218820928341451292041985016248316211318119823611604310785251128225761271612194519381732182274371859511520114210623943149146473662887310277239569469331481871831574999591637234142174402205753126160801719176721812191661128426491482368832134422161098819011111321552723311462217517813630906921885242291742157321351672931511089724127131292472183516417114921004858121122179498242946151209201316777751444412181031521871159424922522967229301432512261286097122177361827971814413771034574144419017610924621712712631541735818828941562385154101196129419915116419323125058202001891828144151121821387227434112111720522121411225791721241282819623414217530171244662302332215819318183250191981566948228110155155183315583115108522225193319243672341171353188127180194237114181235240741735523315217247229194196118164579781764152479217865962031442176021919366196128195322160192129839213717716324718517825116276182131117951782332011812295612911249572001822291482011415819115914514825324115143220171144641220491751001516522514255219230213289449882321241812022317416555821912371401012225511546254233672427513612452253651231641122461451496737110131197174563937143313511499717422010421821122256781137721725437165251221952532321291942216981871268142238152712262401472718112158168241131254171154511158972021791761613415118720516125016114721521420211856245135622491352111202202481866235207312291265118722622450685196471381135614924423918810091123204136172681801685252291621141411814117622881651521241851809923864169171242431134541648612072441922021687696261181191921581712121592351913172188104174391721561742018631239552925297982246475816031922302271367828402426217245128227149818219719088173819628183118129127188134271822111226419016025514630649192671541342091890189164415371586051242252182493181194212239108165206149810721112212881075319414931184203966824813413914558156224753584191113035188299618019263142235121225511459471361131616977616460225239121170622541111411561261073410716366664176308525238521725889766186170195612151673772166093219272461364987858251112163978050104401463258718221417520711823824417091170752048420712018214686927141981145678138145164162721224820010323731462301196132232172152223223221254752163298327270571113553746147621212222412515116811319015566524318616823312132062431451031486914676571057659611260178196326490571361221540188158214324612916817110716764432131595922793151176232042081561941004211325296411891441919617525190192250981934116881406812823111625194151223551581791346541220200172216212824111822078562006801402351419921524119058170168231042780912917922125162115741536128182223178152023618217236126207412123497163318316411111720021610614517610510112038509616195220018756401018972186852261021671402074522654216361251883436253855120737120111057951851752531631152462391098318344107238762216248165716419319623921751431514522010112615816477192612227811812817912224032492511711222242052312451925816572141243725313320839789134789717912610356235229121203156194291952151201961102427824819661102163712201022191441721212141111174116121223204235935117515115121719117820422545192475577612221802261176584672217541701883148126107234130105616418521421240252163160248227422012149165302371012161922217918418120396238208122211381786052125101100222611712912734254160244192951801572243353717137781855113795203631915814281216177197331624230251225249975668324955661451677282481371678523410227892092521924913516321854491995350673119791944920801681303783751202402196362541281671051376216571961596914214620031121138302083522149200254153302082373174971841384689821868524982385951122224223110312006815124981472451772117514718421744122131101212702511527721497572141934178331611821588686142179227147872552431591622472371263188211231216781512271871091912211091131081432492411251501672468915722210911310213521721723716623118152212364917560108211114202177251188235721902312131815923516519055741251101512519921513961199465724515718223457101222113220184241208242154125139171247265430892221232222261061852192217025513545193143218663111913363232101872213011616385582372202348412512958100499665234461691581511542482463216911315954932511261191662309425515661131258031255223511623391105115215425172217243251250392347815568158227178120153218332183218131239180135941732412381889611717553116242702062471251771126719715813321187137418320545249122782112252155171124132222208910100751011092022071317322411724769219210611781614917425045217109800012524381193553121110155831862191602332281061668112246742302112382321933419918217910219532221435835208321510612417486123177692416015847901811571832324317671498081435834126128897111617912624622817324512422111155199763161647711723123218610055922346239666104329111546112102411778742111592398811911685229129165245199140582069033122502422848118122243281222422818616511514220719520610415312783117224652111247132717872871356183932922427407155232323068281755718210101162978311319023579144190641620464226213901911981471664810124520914977167205216175584425340161815220824920624941300128116101242150209523216623891163154163171584621612816179251226683140165130239119906738234253198170612511382991468852157531735918118624420898248230226246575228218145211732317217421225091051691669169893175392810531641292322413251221172292181266316143300792778174701816018484253180235120133594813824155177177114552013012208172245371795820691140149187791437971832669152017230305315812021519423419543234143262133094891771194926160144135126511832461160212271291651047218414717224910540133246223214023447114620571436823916114215478153142150123742048512222210711231391377625421431959311310425175891131001212091906923212917867203242118206191176109147120897213023966991607166252284411567121446223183137332312121886411801191001321701929416081149100123819389116200797219614521218717397228579156168245147246129432179015018120042140361976758468819732015716813017423210711725468149227151190153141301842442051351017221315056632381371581881562541603518824314611787174141168175421521310172141211401192746113166128128251131697872220525380178642288918522813988153432511007249194101232237174139861001074187254216202154352031061447171611781882411328121989243246179230173103204166932317315579153322464022763331471701881701446452166215192163240942501791721112936168581841406034167101822073187193116228180204425415425417643186233148252067694329208189404014222493168104160921862221491231469283321015098662504025341612387216124152819124024571236801841642491106024310267162616023816881251892031451824715524512950111193213531475555769491247991272102371982242098224715875246132231744621810114425124523618811123094250261855371751105911137101103368555232213309113322219813913615552899214938139137902552026720317391962311811321917916175809864244192143120154250123166719210721626326175491528812710724923819416912416716110611832345611616525112317433124182531483533526464201112255210176521214623024815417556199972053716141160541222241412561160186146203167244472446421414830224179132492411713318523124920222013361292414194227136332801601679158101181917823516921383122647124516523324612081338184821072764135836821062751986521816411133881266669311217017613366116227915822393417915654501381051304495748445146551951632402472231731182541731692717219521911902395613318823736774240183152163449520259981861251288414923855106187912230862091341472162501312125417014964173101386113323012219922519213252103413141803521516824612917586171254661921055106228348519315741611602128143230399111268235166014212123501041612660012945978198059762441281651644249842531331022187100348122211617012564173366417417492242194848217361106198912051822441391072282101311108144941292481751362042199129931371761541882116623119716724412826701784802374388811896501292512248440831073694121161902479617479156266317620911320515168731712802044010217323865206190866518624506637146232710414924734170170157777349319113645212254170133247591465805921368224152249185772423938815720313121122249384413748920416312522614016311420831502412723782182176932115023315624913321915417592179191100235148249197242176121001982352141901081652171291731732042024415416523117216521411121824945137815723121131198176732172261463561224113176127103127332441282431544715716309155172671794518914694252208120214172151230261851871351732411392172015224013771881429523610221517628671391282471511851241842202452291432041021891881122144313419125319222820522920623988249805276147100252084141781982552012472320422020832012120221671562157429602241744993100100802262021361217116414111823315932944185526691021758203228141150133219015322817178131993211180115782351896225211538203141242728021417016114616783302172341621991911418148725018317514414920950441462159116511016256831141371223235186121254772411531491061267924403214223616422422410581081142816916024512815020520723312512120719018015164138308014622417195232129233246121395721881541199717114919219195151763514196162718221810112797157250153121236102147240117230172352369821491133101152251712192501231852501551337046255100139205159254412241921102553512322014323711325211814322124122186199247881582181111252381282051972535423119919422097941762031781081758520373151161602231776619113718255912112915106663021246310513624819057234736724819521822459211901194212511014912314123159245159179702452288821411211210523141147161602199846518922314714217639722891904222811010323261524482852232724918447101231641183020220099572002065122710311119613123323425215313825216915920724526250212351592181212163116577312492353822110224825322217625118916121661181157254251181911112181221953125224213718123823714610113759468861236815915620012621821531482398018510397245301952101752311481265116723721921311910633871503878238135211213248129521772252122011611487129811285301760162491922145531229111251168104199220170253139592061541311436324419979142167255521528199523055234203179187476643242659124342281101152401731986411271122622056128561199166801463153720218057871793819916512314698982121361162732141521916319220482196314211418594235638623013756254324316118185146771223918313411510196145106233612101311651241839725251202164720315869101123231631031547915494174240186221282202131161821916215025416411990152365313210816446255192188021253322915074220160207129182152223423143245254791841139224510215388195150123818151171125154791551951544816321418716202258777416729671734624889118962016417711106135167951118414265204107245121010329942574188217205680228216113209178249172892451834320805123232282371541392292391588718421532127183653033239948012612012195177203163222216311671511315185144371627118204313713615251232129316192083104122446425393516916517415059517720931227610618524457651232207208117183262160932317256565714660571561241874117625421985691872301512371492546610112323145413623072169591208712310010124919019712212497320562160201142191902711796163105681141622063112827401461822984196846498714924418391661187234354343144635197164130121231252256126207194194189981881202259419592116206238529185182151869912668172142165201241312411218012288718812711323820612122016510716913325473431948116916137113735211236236906494116921806517420066123253137357823220143149501582119166355157486502311015118514624218320518924020731148236542361851001191895422412312116312124151983720610325589230235602471672472421192066906023613819614123918045515754193250102910022160502151618225226088236362211261631627281351391574141157231451874790325321016717420417347127170651281119885542459217810557109210114743821719621821292588822713721324101978012510410525157115116568722211010250161471423412118921418323420882104418586180211648718623112551731841211691792552071875219231119158183230149229221712116929299513881514918614115012316010112841161842441393199123981994218920817712216133164170502513312722018424517251621832541321132052091492481242382461852361391383020712021633101251377226222338240937928218160392151902491642514831881233320178244244448524914425355115461266127165777365173233661194391001582169523236195338106361412123225207311616711671175162189134170191144122922515914010821322351619616558236234102118217018611122423012315124014568328780855152144173167199128249901151392352501751085018264255170504712111313652238179472052334118620907319265174249692511921911627501011907280155152311462081161447262237106891622131135732220935158601331311719817812113915611941113416677233110531642102401915423153534611247882077565331566678112809122174613972159227294514619243146451402614556220206141200930170171421373081133216192749824819091562204711720410250143144704182218132161851871361851949761391502151083761137143138182244240121201220243931514893207138835138202361986619243163178972921019911725331161121136892441921544773581283821154737322590213111173321572584286473162713919585176385623814445221332041475414617618841114110121120218178804846213601262912222432152088714920234110162728100641762103832531331362122032412162012242152071321569821519768302272098312264200731771721311309024258122141226221207047647717523868244136246140301441906120213721177128363127256297363517355174142931996219912110196209323298912215016171130202120689147248832241431034523017423228242139051811791903217028893311214230144170311847114486154813716130025359107958306117620863209422339923202017515324213769220613612773645017002349313225413720617775249842351243216245436750282111833494815123647157179126111281792463151483766815407322424718267192912461264715318619023524244182672241279022524016191132115182342511161531091502442491832197102244021539108178132071772457912323335211891791262432027138214949222145235130191822481971081277218234301549910423825521466187191123103213172191253104214172247103205122111214111230252221108211552041001833203212205158155255817991281952072451373824795481151252234521284141214133188492431641313465178947101193484897161952202022401161391961314153168166207451955913610852137891878217319313596672081462061844024115189122167245026301633617816544836616517746251115199156471642017817725423456249191241158107216123469719624012518322455292532166522824317512811136149227262101061117734206198113107151711002413167139641782417512819117368102220732446411242737465995916372001222370232124110637612621762144250107237390152521992187136225140301769524313377218103382092720932032538223185692724919815524969911211871353912212624669192127251127511025538108231215158135118185157216239252237110219191231097823817962185223234204126235243251108462361822042211098518820718224216093247121239137138240155852251834267238845631721312584231343024817441234187230200167772257926661595413462109141252102012218319823911416175223892031501631711541431741046218216222714824122918231219245190152181303111813363236141270244207481251563690602341391225824243116482462330219241827925016349145109814583183762052492431115565243252501591292547132095124611232234153105121240220190921929325317152511953120286155222151272402041202204763023224161839013125010236219207896014589172112093356920690151481091559119012594251113227416148152585712145103138181443319716914359163193166592051611242032714327872992861901118124962195170131752187815316142482483598965224523119368232191392151662331961066423110213125514112263182192132222083991169254441151872212424812595156166127110124208301341561445782842231612411141432711711061009721422822944216107162218183472071202746118294111323520314714977317395148180239123191608220813186915842389182177103145248417084138167841751191961224119192233454538717811655134952341291333235122160592072549491196153137631420219213116725391432512261651911932291218910417723819255168431021642041632461527618881331923422017463372615261341817211617622257311721208251101562249982418613014311154619190188230641946815795199520323435203202144442611761681123141881609620725213061111381662466991047380122112731111451917714620012886151101701971372561176219642658246472382061816910276787212716116683198232122162488444235552452356244232163166144232148215935216200524180227188197149424710518325731852112821211212485492163918918620125319723267212261851311231449525210857101142111232110223501972082381331922822011816333169832532256694159180109147105251221158182498110522018420916132784063176201302124063691531621222223751442221918671592218491513320814911125516059250251161363619315200161209212392532411646239522014211214617717990152001425022121816319520721962143363411942154731432472063191178230901413117501522021281352038990150202321691668289971092471942181631711864721822110681811630731872132492123108213185631251121052192361195127801841239479190291222242311452281871733313612920219575235142175661375315850230392191981471712714227145152148145150211166144125235105832441151951831711547817411062101441121271166920522510111719986114132179929211510057251189121409718310718162556917658214217421325014151561632208161250240502929762233138162483491742152491621916412564141775211780002552447368658425064324058130218210214103192753391204714915510637242145522440168774114419812974175134191989315110823918171124215151240195642102372308013695170255255252161118114601882411644113022574181239157150176187109225168187155771937222320267203722282038562146200195169791869868924023969205101762519190229219118198178250208242502441642612116291322171382483146128130131174168251214232901576322224216439142331369521328916920914724193516914755215631653295178203223493149192245104211241021841941925321012468724507620721512523051152512238171162101763315910313130211168421392216110116431721411206412641512229040183961241672291712819122118558211510413022719811357132169231232261479217204842767129124152336917372283517023023754791814683117123233742420020463124242121469724232226176326490128891831523221610611632197208481081715186159131291881621002076015386213235451990982381782384345218135208226201178951025016517529182137552292611022869120521546517016222755762152272021848811297182103522201751926618623518810823325317813315124474215931342121947383291992134411062061232265737992124163128137139151132166119132188446019374820739142459220814456232151818323737049194641642444461226453830184162720181962618413730111423914830200249114102252128901233125411703244205349718914039118132491653024820324131765949362164324013247241991732361163912212818364153104611608986832314511401205914620611722131209847213057944928717923025019673187712302314561657214830820226392177310615723618817530401223823517422513644325223252371670810413121380105845480820123322713241826558133175199175240581711487912131821205818538254109107973221214178712623226190585871492472392921018358164125102221891449176444085182193105701721754733199501383211825323424044151244207157210182162101565062103107149184201192393013071151681294126111218249191227242481426719223919298111438911586207154245198127901101111474223731366118150215206116022624318830248245246110782523825114444272152161512239262107214223172241622291421906510522513612923214114549311231221651882551612171721912499621417255574398962141871782552102528786566625515010515593552521931212371515660371332266420166841791572343416824821942117243162144228185190496254241113181225222620814419849217118233919211519018037251210631797825421656581991001861022915132231120138195180301442411961482194167482261321321721873618517425120213712774899115721512422515225318581204262441822006941446247891841901002332461828319210823972602145010151133151130204621101401203220916360119149114152292450173166212824192136151714415260167752205179157237211631551461969712620962240171122224127167191208180302482203824311518717247109826371151527017291228225921921011916510313210910417210715287741822512552472552318611512322812918965199152503022323924623711018722712323678236177621852072342286213951123454623617718818420360127143692493321918611129123114125381701942382127122216991899321120191542489712520016313417619914197143266731544631061212621028242164572481057540246160622248614921522934167158115230173199875330891344223262111629423411417922224711075224157150192219173651832192121646798129559131745525177522502221042411913775224220252171237245222559174153546124320795216243232522352462529387261254818120722243190218236612093459872618917452121177189220224579423962942394986231629023512914121218415871871772917011429170116294411515073122079181369520624817459250114169912459419517015762121923085110159223118212232861491758014226252395324419520121010710456524830401121862212412252241571351293810612439106124128248187141652231711177339111228769478127216174982234219311694176281751121918123111918920614320346871221604702031641431072093620012871291718326396208150211382247824925469229251134315461696117816224518024980145431068226511582492116418421415923921611821417822715621619092175112242481432531374013223419543102132348722920002136232989621519482101372101937322198223919214214211541558343917510010761015716373219716218913401012222062492113515115150186201442368717910142149241244311455822750101336312728150117211423410621418914220024675542491361291111021313224120413615129882665138851358764752818840117150115277815476212102117224214216618826148209699149158173103205202154646218107024710767696197251239810612797193303120551112152521786775251138932249673124761341287923312925215724317362420923220518325510556105114342357810781412830232206179237186100365741352451115029170207581981426213624523121935212182071549517324615821037765010724123851651231332451772461791501383283180225277421565212418718612021566144148501251464722118511832381862291671612020817623715621220695146134164192229422391668310234153849319084231111017416562471712441281361182106812341047015362037298209310579250192507592184121936411816200148308014612801592356236369483611055382234142232259914358162241491821627198691532291032440961541917711812041224149119159168246676022414714971514196157831761073022012718922215494812137227113119841111291251971613719712313742472715031881325416858178121897184227240245199863412805882531831712341421732081981131960981551072282002092117612679174452322551845124271141561301375214922561411479910563141962231091419089239223151111135302241221302298122224167193196191208317814224819322911771871612321201452023752431832056921144107403474211791312011831556723414327151237955090238121181198175238248106152251123213591422522646115476318484459754911802144689153971882022511131191210611031982402402397188120310024796137433465122971611161741202541491083068106352421379171663172501277812136301673128110161224406117625090930113120220291711551461701421729613923416611123611617524412844145709495681912379160922252452431045838109137991539056021131247124923424325230512075515820719121224117110119120862391861344078211946101171912915813524435207862192301552541932511472551943928981341851651428924757813644685399612616216120214124191561901571522321291692461255872137624951122022751169651442071821291271622122547417524119614910618038157782810013521513717912124219824722166103244021919121031536461751694332217231136261552410815018019311725331144101361171848971949128171272261082015714123432254689439171439426158250129123248135301454871081933915915632441021125170741078419360533720660223248572221772241971353081239185132189229244423943253821321291362741738413716110211024402041319632522417584117231124371632218331402491269194181137271211501582077230161649425515192551569716122433237103218721617025156166251112052321213141941753524615630728917145190444411713321031861251288414923221725119023372150771811518823724441862062182154848899182331667917216419180204909428126130255200101983498641081702101578817139817124326222342451842973243166672081117622080621921861601462143170191208243122063811251758515251762332821022331501914211547975820296235207200157149811071627686232717518513313511413820311248185495015564184134120106461488783146216101151911313635207130832371002521922314621795186175249131851941661491612575252147871331011741420794251469715717621738113179992181032149155763421418410212412930112722531213319221462245211165651691227249641756624612713117287430136308810259235131149127187194193601261312472302557425424213021614030322172178112232240117107191872041891362192421767694214572311514274221217371081181020311324674126243292121977521623922292178218212211194582002162122072145810819371150179102189352465531206154245150218711818857235553125310214521328239401392122051861181286614121216718816012624112093106253112515082128195204243139165188479738918156140207172138204176722209615125416977202221992044723621062511412196416617214283157217212104105841411461996620718419313923011020132234522094178116396430392251711827425120479931141901126527172255138162135242124193204253239140289417711412721720224537111518717381171849254243881671276621768171479755387264311461612489250893556133824114091226102230170152726722047245010113215923620724112616671022501112412206923367181882351721991979851031762297010125518230192223813813017212521638227247861059590381271102624317789196631671682477718914012498932275131473554124262521671271426117647102255110159227718979236119591822032461963025122718710914223918256190219244204942432431234446236524521610389117212190233180203648119224515413659117145119170672083119107223921366116811121212242461844123673115216119173225223183135631101412220822425516849240113832081191091612162054217514522517896116191972371296918923441112142496010815125208301141913524412687216189105676140851871514858246149216247222191792132149523421695226208391022238310821593108215851001391172221711620901192221876891451416225419110322022241912172334217823844178234401801962181144218242205217234157214601791509221115075152249140539550107186104218116193180229188892431051924419279131923212923912398384261107246461702186219122615518588211193101215202601641791842266323318332142005424565911961411866487320010536253231652484789134153143825222015932183020219894014117711424719819702051677664127100192173134018468841292341434645377129114253213447222974149391961696592062052236216711223192118100127219156178125139160177206243541921319079186981641539872150196106631075184112107319241193139225212129210365207111230201081558718899129214050215141152218127214621761661802471732091041333918816225111612378312202388453208161032292092167229301432502266861401651614190317719372183159199210101043641343018418223012611911671158932221745185592312113015250240841601915623420511922841671651782028520549153131513302761145118158910173139131461518921732411091919654722741071922526620812725566105312481651056119222714830882148722624218463945820472245392501001319252165784115711971611011895146314338799420719021138122160238248170206752141572317358478824522921724523021811895146145169186111021720911394186163116931802348620363205232129219141129831226421325399109103441001222481451801597241147204201235235200141421401501868731901931011639160121233235217224352332401574411439107965315949135417312421623878107241278623420212316147522025414717186138236119163101446716271020931872302323685122644553133182487324240253233962261282663128301841801254655862892861151168519599919670219572032061395097144169913013824713630644793169242249171756822131802472081762103153211122641221010548205159218159151763447171825517618838199477210316124724522412517311345139226128121872222242151161981641001591861181121721816022624018244642378113692641271027238103316712212127431220136167104842990661661922442101731105252442551616323810579244131182481142287811516210250720621012341146199175841223423720018425117316114719573220692092111221281682347411916188231146294212218021236119591922522111351562946118251732302620618822128902511731713751822381371241096210914239359217382152461121416525122131221210198344110572218138186271763252105122226166316181931168442484616748165274117625231852112013016417557188146248224366920018229111802506611914520658169137481662531891141896216936592342061811675220181471311781161608236235107159244196118921808135710224419214614574159317121049896312360911711281031229611723626161222152108621652366713216543184104279861789548115571291089315920519991153199123174332201971992196921323124119338419023248580193222517666772172011012031942119220501172439215924190151961412540235111483184244016004683510211292422561752491722062451429322415956215591021909544161652372623581326497186199230240105081186262356016375210319911261142549180205128506337182238272557256907816010681442088026108137452049192141751766050932071972017511319013023524918536521178511654326615697113662301712391782464316728898322122017857200190933881149165103572001977017815066421697122016324016912997182106964973452481414801721701222428323265141346415372191235325162841141951811089321425311863710025313618315713095486910812011223168782498373173216561322531338420725144693262229991621642440891501854444109105104170892521222111841812392011209816239734217880150141522342523232192182102081161941532093832271372531987199174519318514620341721672504420172134151448014994176145116118167632173322118493119399120148140182242481751801516811715473132431647724210106252321210114918613384130174100205153521304017251627113017622946801087310458106141713103240226210176122132097238180932014824212912347840254413546244242971901625212378331115942624819791381101143611244991711092421997022589752146116191102201451891381361971099610389721544576156241185672501032061539588391107063216361275020743230117432232238920225031702071432151712215811121873223161247931942253619130125250103302725414521539119721294161962371711461571842492018288821420429691775044195572431151831722231231001272331532491339125238247136285522322818322355821222245310542481555510325339184255132133812869625122222372191932198321896214235179254246131191951041292005579217168113156982247179181782514119157237219112832381322122132481741835418810119011918012995220210161058950139912311289420524921010120523910982631777425421660652301236915512321841593022016223758318323769395521151232012201259764130154261362101892131052052318210591172147555910212523817724131240191483911035901941982352110720721510818995179241981591141321762313115111742106112147121226134213491072001131561561992254214811145130106165141049455201441701681102139523221724812925611922551561912083220519611523941419516124311719282324322234704592545611602143521177886873244642281403021610615325016989252102139216771501452351228672239410519122019721545585836201231179175218211114362176472361923017599251221142239119581902152301321522131372211021991192615922210111411016723313329198101135108219461222452159217313718421928123183492421181092401731062552192131261831711251775953254152621272321361522876124218261221912222559799224721589321510514713782215391731612231191326310410284311423656109821231121132531451651891511607614312345651558663124568602371431902152512217919725590163239721494374160512071703520717851223262354217619321214223611922881196010323724986237520224217325424224812719622817466185817513917434155110165101861012797157988615752181721811171121871521171231588587158141172133116198841981592207153287815816824017221919118412216765253158197855912234246463047112254819024383133866523717213804817263225201208146124206576215816910619920901071321045202832241519216523316411320737155145822340685887320312816776868322511161092662102152147614216694171245561193157178189192186652252061216918723023237154871769978225149329591831202476615210818421685361931492363125010023021114211521417316720518746216921752452151571546111572032464615023511819361972192312152888214121214170632159716819218579213881951751566915192612131358712151186233250783417521976421014625313913924626230237156951171161978052144248211721702381582068611310326711262474198164127206682461311742322069259931774532190671668818619292168536130141224333288247163208611331923821716210100178163180135157209232132581041231436525414218518559230230331412466414413910719193213120218164241180105195411471701632031745518713242119205391462291351502451511846069143176796751831521224833120109621461117520837151246230592527615479100221105911061107198832501023671029123213148532071112512432377102825024223781210034821612451402332131064725206491544212222424895232120310516919827169613817712252414670421121122020031512017121068230178282031284117521324963150271212411681692228659167102195188240231143641952026720390781552472358145446710123801042411906910013919415615723812413571615011213012414512267525112648145444361176228194182217122101056181392072251181158825118459230731112823322314710379102113969187165107123233190691511711881492028522710013413389159111311287724319015317116984195180542211041282031616649224184230200138209114247729171199167177317691062544814411218757184392071742422082101782531397225219814719811719986981411998755159521056110913420115418723172219207891141642411321132531778553135151873190861231006923112117123518112663146203151511912391411878622759822342181252091344318516022524810611028401161862212020453631538161201239525223226255941911215423181831121653079172997824118581236422225321615924818059246741651192371451491562372031151484957151179238181693210465237812446414131130234114165247143131732232451972231101016962178181979113620783721012251331011685910510616315216873111145480251791069022458358862012551637621612721217133263312124137196081341092172092602071695910684127204721438642156106219153871271942481226732193126223159136664151483188901171201219512914711625518719024649122224130141244238210965232129146125757043124126267825513715625385610409916019121814514261224175234249147204118142119148941084195435951198552413041421652269224534487788191564186130216528910223214919411683190105194582461672187841431724813411148159799381247166125224841571772143107190448520799891306420911244971942419610200162698921303391361517721098128216106491921902143220820596581828091534518172118514628391224786073131422432501111874205241141497888187344211517479180222122013378224501392281412302012721611417730226768017423510145391182817821322817323516411883163212479812213521973432131919513124234228213173865132158109252222115132112271341011212121202524358199436174510316143232252613454164166951172516512192282307315563242140254141137431226421395138186011253196139301121482491331841399120821163917621694412762142131501082491051819119356110253187461619614723816916223424838712251783144691049614148211262441287613416310722016124621350223232611013222516611492251682441625717523613723234205731211819610118917212613318651779213523866147240118208271732471931662561160597724115415021121165202235171733313765974931686521062499717422814112812623814921898105432002142119823222177401696323014973194612319925253227163134132481891611501513121822311710194621161193171582380176102126230144246137932341991021775720313014624540130229332337521319491132188565220532481371642081091717440219248133810619224113814424411923629571158824919010535751581894217128248191235241884048217582499913514017378891911192251501647716463232913114623064167181388342232332511301692032192462543817153238105159121167109132002481256421886191248772222252171824617175189177112214172223206154245138825255731099586719425327145118617914421462521241252141721192551261901855221641081148623514523324269308182144250200227169162167902101802071471011481722491901777215421723822543194211208370818921420115528179621159124716599150172208140142902914999129421369219515519098238165871002272459550245120217122431242131942032086320162125171115246151145079235311098318344117755137937123058174249146601462552414651911791512421933637691461304657820424513818072220962051271551807980171711941798613210524223019120858220732812613188186166179722187694139186248213241319110831641443518210324419223421611720258437571302551151892143250222231244641302342033977157232111016116480172100366718424827113831229643201751221541991731811429111129153532232142471411973813917210993671891309810919025271207157187661523624359188223229228971511477237142239179561772232262286217983123777923852581892212322521422718893166245167921344319417421469221106137185221261171794922811899208237625518713126119234124110213120179189223232247125872162281121941471822082191171905517118964255202189645223174188922262521765723218714224059131269937781091671414324625961733987143151582231052441272121724693111148172942202924116059252110103200141222551376159137702041192022481691429210724218916618725018023222919212622125418647161661523422751251207219212237173254178548975192205411184253148221718520928112189201791722171271227118219613872941111018482235115163412409018995251121112493811156229861739524314514923212913418975106118268623952236619912518362881981514010173223253812134912556245971232281731343281371557015212823083181125320179581621997422159206895215788618422811618357248651232162056127815117501200148188822291975236727519422914027245126929212196113241174249801006424123824916512313742474620422362592391552171441293024881652158481858622739364915011319153281212081268618612201651625515462942388912510457529128150239938418010994211183198183235219123514616862238140238203119207422236641824112241212176816942481222313791257448316324178324114085120919923217011913220154105180201412331781520211992176862539110060101209302331786353103371547413663832341582177102323535105181301044592577114163498228130131111821391018624824523625215711106142173234186100119510121928101592211061012911065521898593421731319717412213836157561602496818117516224024940318151622342071192081356228752034114721816320322525420982873619380177761185782348319014215917963903819513910118627572357615077212120203104239209212911311627118612113963710517114769729039171962231921512119316610018397137106144331931851846322381198224170229174851524284402529411588207375922691417837131136121253811631613415159773315219197217823774149151057521416810610510525023220511968101253172136832718074901611274612635451223125524433734536223714992454918287319217213159100461291763764223611924314416722813918012520124812918774153262248422619891240226212511511447721122818601513520628201111722223229246129223113411114171752201331732091711632515218345820690145471648823157107130173591861702542161068483215591244452012131252091742531721012351051391508350166150139271431552002367610914517812861052131854922261346171591021968982761162005416125215419543137023223172151481351701191452322519713582391702531701446712164071472023065687319147333512244681898717112411630221111911158978211796217104169593069148468712024134922047921033232315794103160242208242145114152201522022129451571301161662001869612212720221913724713582813216419257181123214513721193146441649471141874924181207533612315812025115618829502231712143601011682121412311621202093104123251421271152531537320100201951657100184206190379922922214719523363227159151127771524041194108841071876924238152882731123182484995925321879186185195172128819862159225247926718512820364482456224391229619095236162161451917621761482161841532342476320739230119234139111552347410793632471781332159114651912083138862457268221916341351614582541088431363923020818521031072221141221296771961361582384413233185617868141120811120223723624199175931427272251882411861660145228564714253162431561194951801161271994519640461996012135175163186662418216222761821410585057171917334184145240375384197170862821591706391121382914035110272541921719468198161099875601374512264371428422819123126141414614164623212812144181810021130216691061173919377531991723184173255717919614196101813043951523021176581952446657541261644859111595337161791806016420220233128203148301442179614830873512161176238931032441285247161481464321691002231551482143254166671448176142234156351471231627128451303413424019251920117233167753718390502495511192441929215924181561323453605425332511341937316433781041492501772103210250331224776153616372404216931671401615550237546813118724414119731032411642051646183243837182468033199114216891164211172041834258103182103521202471781853914696170151191173255591412911164105182190111249917314655185100127238148249153932021998692715071674411748925154185524021730211175142201491379119150602033824919199140173206891911192052542105011019517020812139184131662091071031871321911062341373612091198187218331802481251514822723228712129313476105138304814914968914443241151985016372361582331291192827616317861506224778255220632432472227391124226541865165205951085123511116125287255211223188166100192112552331119425318719169025278252441432332066690271885423523962122193208234125183801398425201327522721624461896034291023715540562485114172255698816719521423512319223681171551852062461364814220654141911875842117396153180209137132202150551787621818858581996012619517013617211928130180303213320937491201472175881204524479180391972007718111013110923416713931462371651448100147812049073718820020625585200251185153133951792462302331661062068371783825383179248131711632151748045661844015816029198421171392321604248939196240768112819121462192671851971331521641271982116915132164162331451691084186208210119610074925269251017416821972405511414721991322103912232114106601771571542202044411817377252617113620457150158175459218521621819859202475021723319125218312818912335246163724613730561131922382482224161112122175217233221198103118241572211824211118310520312117513713418412315741792502102391811999417511186213161201673324012699224189625525114111591130158180563237824914178239818783231591521075114810312318521218523713281227209101195249118136135199109161183234124198741572192072409521962161858224925510323763160243186177617914811885151675710391893619715611520657231156516920117821291702221572382471021661871672312452351901251115743231156191973613784102206811481681561794491239183129143148236170158238121235113237133133131131131179177129195239255754128160591099240129199325143650302462032342255961201555822617520322215734122129193196501312352348511891201199845239243661862218125168222182122401362222184203239158154165761614323310210322614114213211313715117661944711412078124213718019893111791882102812317961233701071241993087022317522625952461684310996143199241229166117255582492001192112712752621822201081642189520639619932106574763225551541971234130641293015112594965613220323818915861015429174141171205143173183241722415911968150119562309109514253134945830113249682282162092081452501922511571691221069816021816797165137761125256117239223625824025322816611723012237101211902436763129901002008019523217163230128175126915943529130930131362401642401855034329192153140734723622081781972418110313413023610101451151351952621588801486118712158881901154125210164238218239373252432131906463205128152001020011352351114964281259981225881531726922223116555243105881011187218523631431002553420814314847766422613872243014818122202249411919811212524022521310222430523622024722110020160144911092012121169194133101057123362014321422391061616621112243195184172481201924262481958148834316741522889109222123192911421461846223178918223111021514715510818624618665910021125010631583124961761981831191911032313021515825317811412812927425033223911739662257013925422525219212514017211315840968819503651581024582392196240992351727027661594023424220396190172208791250128951057188161212007313931223329114820217841496513121820339992621591129224852211671056212822951017413972115602520219111634625120021415963816716281250152492212351466739014517659767710140982232478319823171021571111215118380520524120741265886142431082222348224617682101170676360185209150803910618149531378422811347232191425277111601902222612456223417120771532402079923517341164412610213935213361951697711816410412219293172164125225120511913118641652251941552051371241077710717396221880218181705119212023511513919417516869531888417245778313226169622536320532682252142946183901474125166241512171341030246100221235728762071672491682149667205720017524864493711523524074511532181157144175166113157213809316205193235232174521388891201562392939320010492298353253611944160228221137625111852226198251172819372172235960132218169253702296916718258926129175744318816811812261185197158801823362343975242334319016725101242242202092009571138145167991496692122235162160160188160121612421673525224638865105147195829511810417926126122199161182302071582215319802182421476681767347131151448254861397138642341487961125450574414195801931693019115331128151282925514215232249129236153209194716613216515319622919458323148137134201146119200174821246412818186186561665221212402361421342281350240322082813332440169872411575671214011001289083205635761882332910115794630114202145253229848364696466218173722401892813742115321928956134109705711313821010064341101671613179323132164994922721628611791233669118117688562104320616131716512898177318446097153925857442924956565155232817922311419318468130230254192483156143176784371752351937566237235154980326223493223120178169149322610113218110118811513015164150171541982382621522546119142371103612464220136219207911062381411614862438321917672572021039174162249128672462822281144228720545802193723621391533112852981912130161016015281237897983107217197139137620146779331809114282113425393112303179176122581971131046620610246815661762915162301801291561302547564961782461282031921701912248196595571213194921820314219311112821518999223241148157124224323912069189229172411139634962157208891800622249324818577821371016614510910657200213601821924458207612438321518042235232219122024912951396713819112432512184517310686120182998218595254662431361561191561942221131372480622242525313899482481201061041341072381036497223210470208192981712057135139142411851797018022367878228125211592422073097477724012921047162202191142412512183718620821657226163153206127248194025514320011701274850122656925410010024421011701751682532281176912222851266811213455140222491252112063162024521316015946234831901321513211816199243931362779371591672521511602372081313631276120197412322119919210522523378891792211162115206174178734511322822366209124953041255194452391156163961578224615811928208255253111214125195452107147104162248128172165462513410424695125102315371231257123020815160203150216102851892372772512083881291121029074119236552203562240141183724082235221007813417472211431517734404624029126752231601712431291367218563116042533120119272087415713639848977187141243129741222912830170172742481247011614143240172240133712019871026822920019916518458189139208154781468019619969572189313626463247222551686911816969158572293041217832893621565319545200173104118210194471622552036319917491271831188524013485126912141201119322919011716520354100133211142211418715021923725020910623914321413107931871713547158206188217158247104176244811272252371821801552059215791972205621125171572469491194195174148135932012472182271101581371861223410817621899224160251157214152199612019971290182881572181042221892192339213163124224118115236165166208206937819921420658190206172123175203197166208123157732001731822482192991191861461101813992107142185218281256975752442292301687510660158240146262001912202635210221151816123874911722246132337412227253191195325225563148241229203341061011791322071471292352371131948568189625558146110117165921117518453510614123522023521018519924911311125021117117915914229955718126102181852371917611025219324821682211250239167183108180191117582251051912421600223406012516761245242241232225218641261796548103182560924211172179581852222302043825121410914293123220642526420423818923825040165161901911901311062076818112513196642815710116715424821191236170127152210176194248240741471341491981031822161571098186118427015997601127212415424521616761481888118813120238188126581261683801011101831666061951421348778198541111155022421210138536376111221226248412411817484244638712222968441441160683074337143252241909623271125217221251189152525677182788725113221131321540404750126261741509565159355191144126190228947910221930119189104181126149156202212176106214232209481292331484754841631641002141207239234209116517612812214443527155321571666421624911071154228872503505317017215113234228105901035738332911242231172492247813822646165193714217454239131151222961189822491685524398831842362248431641151802371165818919715019813012208701221317522672215941192052546521346123820321224332152071682453207205150229101126128247142191253233853202191124602302287021887220132521205929458224521770138168506668835910523531296478741982017811682161736810413143150925921215184198146210132156420151252472824018522316323071961409876642552298317771214901282193169178241171582587773524140152082860201286219210429214475519798232163198224243201676824484251111205233132841322041767732172108114181223271091218681226107618489143172671171167514514118624014172167165180177114122131772191572020012824012924521414813414923218318869165599679248545212318065246215186221150162213166195147781912212472053690222251892071174238249215143213260831221424916914511612245561281581191451359023223424016215545731341549822513914918183121190772541741891581042001511261826213217018123911416316516419216113059109169180381332001810618121740521841251432512135132117117124816125010696220713910641971402413858162421331362514974252512251891621312541022137632125131421071194422539123612925421015423122916226271737355901461101191642021641962415618528982231151921231561576219171231714224016515125258252223896319211163152140313696491521233781016222544632491608561122141104180253206248141642392511991071241211503402142052121181562241112000806112172101511491841912464255124781405519123022241632283511621781211181021721842518315438456815611423114623104519391180122961662152132162259122281104142182026935919618712449642205262239131128120112632071088151147140184437301471681371967520612911124110870577912913515611510117511492515710020725456368915716890161148110620418374435602331891371728275225127812116230177211172227581228215331503356514717623212879782431976847574771477749232209119112315268506150155116216171042743233225112160452302424489121917673171112200154359669237255131128114423840246512012222347114419635649710910310255205252128218224213621117114224311811108214712911912510010316163574210136100696233171222392103712223180105178136441765637240702480204153201201462491642161599367141991151892031811671501165724722624918081501351648936238344261882119651111061266424314496224361273322532465111521515519240120187109198108139228210152182017930169242156191181612149023210890121185316517720315225397962101717833328457146204512620025414287244187240521541985111410210016610720628239194249190197112522032259102842181661485710284891962319374422710935123015271230253193196227191751201751721213337956231252251545421956361955818220851251511551841621436122722211714112495241129151236322311213551412012434492224711071948513822186201741222171652152411191246424911772401291525222623614775313922701501252194184120186123172209113116891298714114094545025019511226414492485574160424012383480210401481282401171636312624820284251119157130631478114202255148471392220914710248124585193261012322434293254992409144242126084147146184155514220211420325121215112735692432372112032375120215711517010016423318181209208108215220121544122919471581593112815184704074161102243219525114912525922458722316269150177133240120314850183226133118571152222411391272055124210919118418312498233201812582572156912622415512813157179231202732102342521051221369721520968217123138207711202124641095774119181915323119122731061261281425227628034124038641552137431601115923120616320414313183121150156862180231102912243310624213230419571243899182222523557624895150187148472252231428598190123861531078221471182148310920419514719425524225515625120722320425410589206154213113235871351927541752422201862029921942215237200742311574328118175176219187204166971579121519320017719258715417917552103221234200125216872481844725565103250237230248155167163239180196612367625416547227811192021732301684319967617122191183217140292461275814625311648227151254244271673559119218318957253216262111616722218320619622210914119121224210189219249196581798315517212224618593583011817535233657923413122218071253252001311901802511891348382382441642202387819021314912017151145112226841782552236820718104492042760395820720517416421923418922718716016632250964181231169108123122191632531261911963120015670230253254204135131217247491976423016312914022512219115023711815114213563149229137691197819711910817611125212623017715976781744811190621711051658919911815110719999126233832271391921781791976343311437932519226228789110120226198153412821824514711321578196926222121245100244109571033222523416915220319935473011135092583012117937225186218242412312541729513524230245100128248272151548525556245232234897710720565153195117117811170901832502030239202208136106661542149014302421271721428015122023572672515264153177114248011274121167200137185245751411555559602385456138013720819212165231514471484425466261600762132501643610016011818592001901051892451851981122369924224604320361581564514822110870132181927100243251115197119133151842331611072321321541004861167248128192326192170922106952227135167188154201123910417570225108229654924324042179179178176911121649635148164925011571424911164831616808982716915541721338516517130222268620614617315021281071861532452382471222161471614925347131185792501793124710222210979134241801081192362172391217829680244167213132143299129212245238247281682461451631721051481158816922410275252201141214106191209103124128134144871717481652502012052303632411198121831076220818622115310610610723565104341803210974203234383810322790181251392157877454129233178198877817119750841059999715416917521823965207239230710121246410924468873235175241552086522842801246410816824819276128381221586318166145174104165248128561316121995727617314423584824154208237207108117148531962552504921941661682407123061202071291678129176442218818851177027666521016932504272151261719350167542171471316143651328196792051951497373236220237193432082229180613333428420310921328526349254173181234632321032248488102168015722538415310815415240828823217513112410711251217234138562623415312915010978482229984615201374141164341381931142011392464159992281252237916123111923824318816614204150146362633217182126625387160122254801641911251671711741362141539421818920775902252101081531016321915943165108873281471681545810891241129564171222261717913120490228178244811271429195192712620198821672480100642481282481114910522240155249113118245152556324919286966115117410616717962381481125716920329824161244140120871571621652521366619310603719031202436201301293602364180104215211322016776202255484817681681992252281832521271301512825513215684362160150255162481385849946579173249219222209154151883716712569105621281466410924804015971524215992494092501208163361529420715104502401701712482441951189411711121473222230245214222412123531816015959231163160682426401922442014213169187739246371241814676200451404833188171544512251172189814823393182216421814243987310185217176255101199966492326518728104841160153261454114864109524402519918150212173351781008310972234152512471472248413319710120381172131361511256318999622407943612114920096201417023011320898872696145361871601618623083157742009250602273301141441941714622624351455011104197179038161510240118158149173812132441331251022114323224911121462263179221021413224012361372211766014122686244571661311276143202501422011652219241370877156920139205215117127158151689191978020283200163104331407223075017162973347661472088042599110132183562292063513183174562018522812570132166619793176218235174225175187132792481119371481918019623517416131250197217165150250150441240912269518621635255511712282268911324915096921411369142916523820114921465897017520750502502286124301751642171931211391242102302181322312177023018739852062407812220754228991512321436199223243136126217462409320710421922850191210371903775128179301331128501032719922815239205623120649131152081592211959618511118413921922227941451751216818823618123117675412412052516018496651002251813514410816363771717225519491704722539512019313663288129161312310025308422524524119731062531923162252211251223188251127228172457372170115254602172519524110918652125149781713925323219212435240118617420412437234207228125631367719614013612151220572223711252202151120221262381545921558165216381652128345411182041562271502471857723425528314023622248718420062161116868417452119209219922079223247791242215110862401581272188841021111981199512520759118122120166832149282114378425313330781751667521139124148678210412213523618511630250181721431832434411115114110123322810625015715015205173966219621018322643932022322233522980262914615147626711121220151142137801246423249528291431419863492212412321501425722620655193717221142801311751981631001617525492135244661432366615513613673182230214110102137153254255219127422221762331792452351792141731422318438112211106239451716018217411487124192101251741679317128247174114168942371201081392478067220173142130199672521391592511001682442311113198120820823372186217281231836124116123610415311717535113236104224961411032514625117461142231143622056191211914381881931042382051502321429324677107140911832171422122502201634171271774916410715121120114115016754912452361191911221382522012471861472392471661382278095581740140921772178819310914412255146172891291842472522468822613768137244200731032071391902451871671262471366019713918612122151185211147118167592371852038422886234413315616934932327330194212123221169997797931239313510625230118165243592501645910722812895211210891322320556250163201972283914716614922221187601752813912122015543631622342516004712217083238461031979793681262302292004221701132010116116811078492159471668319874129251103235316111343141143174491079010322218119923710211518822814577138202229124226111142684243861671861012616578160719219152201160311121532312401291391498779198214265607191155902432271162486420310213515913315402457013817415713823621601032721220648163261121711932003913124922171881525248131609172722628223104123225184114701818473214113202186213925431981161001605406084179108102253108317611112252252145136952121531101911412925114919712835676917848333162133196193194594516915759221151261180832547843102181109115190121138154821991145324620727751262372035991191201201537324518383151291112715620918820125474831481722295229232154142393110140601782201802541671532502241331634320521811956139109225319212212580171138252210159125254112112215110215254322268198142132122824430109823463232125122179237224339521716013418214724530148156127167452332481227561631286490186246120130237389624418920624475199163591191871152319217023481619921814470232229207612177912971417062236202236632247512523521268016185192351094653706223320533207163238766613711610194108140561811932462082472112461275196820317125114250194756514419124423182230227222108741311181194129111167236251701422171621617107224153106125601257020515122134192822122381502702091611617113922392542203933161568611449124464141182121132626561341232531371472226871265622674682556091316687458195148232618725522916316317145176137322391932521771631760525533391041871211551912024724020289205912922524134461731881641482621721622114117177411462547917353154618347202655510410025146552132431011771324514618775103158218100135158144103176598516317117124532022777177222246111281492450178966414537242955717195452451412161792071395668133234160972391261112251264057824177571782181242471911261242242514124543761701491472725219101701431321571111381287514330133578855301071385622313613222310677190219158138628428531801604854161931682422272221562191094188152861841263865243124917416924850227150157462379686323420312910824322161238207125601902292091731822089992111562081852156724311946122378621882182262262412161991781051825591170132211681911031240521981756202153818912164203207188907992108153202478641240215171108145691141721615431126208170222017816113513421812711813122147129156106187241956546472242948665921759100112110881912312324717021822779143201331887124224932235612635125421620113781252142254253252021612513015248871296510122781248134992381561191249918020313232318147017339118131212035910522131284214671579168772456462241481442020008158184013512212081212461891921202511564220576466148066162178842316119121663572481998551383731210517814320225248482251252551847966831205151132583418157520198622281161123854416164244689753235182491388324017120616116012196135712416622951351486425111205136198170226611011554921919277422123143123191144312249816316061523402521388320043206161250220951926188231612231201765357253213142165601972271301852137859122168470100112388166148214305550116106882133244142381232074722274229113631524044823714461712331503105129151609143131150200143381691049236667315273922222431240321097381336520752247752312372181201565422352141228996284323114581119641492401229471642481282251601012242318222172431481252225317641092331052401501158779981922264138202141187132606840144215201105181651392092810922531111236823524519611112320022612911912822711016111118513515570231248204781329396252162249523129222605422350582235110914211120215623314220970127154161124244223124215343260127113104206662191442818714428239196202151736794552461222195024010918714415619995115825421655209532512111281784712513822123234766121916415025711019138221301702052272432232421322121332341112401314313655104879581182495147117821451112542311452299519715125553321852341432398820016825513911119124013587133810458240236239151062222241412322924178731781342481321124710318478182141522302624917771204199193169781212432524224961971231441262066311902062100205156161190144162106190250556035962244024614218324016525145153206217852223711131170190242175882268124818589124621371421538517418515919376011235810020425425325012318022632114121102614723183186361606614299111582532151281941974613722915049510213719746133243931062255404815320624315079236135652013124837188235252431588744180131611533871671852281244210372151201161222444218292481742480841886864124142236474213206222424252154834013318822922924116316817313610744125140190173191411045115924421360812067042052191668724224932144131904122120124910213719212322912715412322813512973244492054023211724461871812192120220822352311281392102231562422302181021481222186122100231781131191581066343402143517544228255245312105510817021618841125253234224205107253551752462181782181927182931112132152369523592179214249248222391292182321711035031244242251842492354814478701012725206189153811079120216147250168392271268726104190175218189991436724712623117719819211571252137152131226123273126122623186112229100241482242041021398327452502461879559251211875723811483104207948724819220177150253761175157142186217261191794523878103210157206196912379119581811111923214714022948999199292501751191969510714318717022874187193952321191622392650252931582031094919241137156215581481044716018268228701231461462037581581201793525185141821714520622891741101191662202337218512242102168214191111191247245831131781041201842322141692482229315819915015521512651189230155233181223205172255209228216106235246237238231263411018316624159253115952061752521662615206142999211318212918200413018419413150398020895951422286701581422925358152251132200104172372226148189202151542993612352165811200945101160133525211411901252121555380237718581861982819632081891585928381742226669686451270207223110781091821516511365150114322412482521924311442491192159221382960228151901118602362011862171542121901991891222331401862116653203141149191144108121221673577227140219291694214617247111182386323620512221615113161852091542129123711145128691603315225424010179177163192116481162012116510464241163158220591092335515583110158731901253822978115234221230849912108175521981801101181742541181222218212177710744122118121220419611610025222015324917645237126115242195214212187103146134247251309110586255195140356325319310621018819311017246228126752022272462441232052011003223124921822422743205271261522090729338231481562189612519145249657123415715019625123720124721983126233205181221121612528187250721419519914167254253158103107252123213158661095915615418321895572537236145048820191841184223010867224209531791701271611111722820042243246157110231142132134119396113176358181001220016318952541972181992149015817115129186140214615711183762118561222517810117935212165113165217209211792121748015032511257213524915617313588723608219561162081751151354312110619015518225595625724817312234316913514249832002492501615712718458160119143103211422431312237622224717515923624911131241106651531161311271927121032231871161944672239873318914236111452326323271766124171156211392480136221706410116941371281795320013457802076128167160153751032382522311501781951811291168402471337024122771901825718323911619786199214892092112202101411012514457891751231753921018121517911718711543165169571069962015425510519813714117653127186521321134762491487361091153418820761431341002352212396733881401999710413283724102692481441724553651221222813720813714518696236022932363921462185209112581571214718338180582441314018224795631932243955219159218226112981472914025021670271259421620145246395421915721610017118916196232321631404717412810413937177610113824554219243581781452522724442521311722551661681426123813118112925353254617124186246123117192136246184195194025524454716623781701266689631762021241846224411010316625215526411851183873179128103124192163120621912502621115219823112920116126248117250170157144152401817445117013022521215830178120649911001010412875325337032642041929830209148128181368192001701802071509365223247143135150431012089018517810411024010812664175108519116019472122066622724335022625425225201746209316216021515162196920974112243015712235863184147103193521225221844169161647813212382411211282516317121321016017421522019513619571562422318253615023491241511136781251770124224851511611263143310641251924616420720122510520751001222014673132427611237766488143803223952341892381742222356491365151272521321215024964251441961481128763022424216173248128158221441210132032241831251022111912918260782541511331513219274022107356410076138109193208216153199655414257115411597129563811350411441920094141229163149193175901471381531472091291296107131521201751663414812250187833218068798240204751021691181513525417981271722341675814023031161824122510520274217159132164130773913316412528156505334139220910986422522014923313911379421002201137221411016261804761516522589611062032278483173115162314039899881161972522580318310687375317732391631852032066308614422615511011232486421210720619317558678107611620117013015421181101752082491581971110033651161269623813016014020722315723399100526923723525519020915977220987519511423571342356132231597022261233819050205221232109139151761896224013612119953210366020318310481962498719019713912513823110620519101411631791098274156115230204138203131152521021261925124213239232631871331912352710714980232157253105104193162200188693341115223153226162702532231242411431751074224019411471427917646244252128236383624219416415166187205114142521181371562342624912991228716520120624924323223119124023279215157181586253341311427795181764524956561371902021834790121701881652291277110157931881688249101641972394197114418111671331659137151561008441621761924617322661239184215931944817523647681271205463169728157235831785617624247254219520191071331391561472021739819710122357255510584424153247818420812325492089011322914653050632401507121239654114289115323136230138641271581652452331742401231188121124532448218313024918823521135962162005994491043412419283248061246454789633212591157206652472302511782031527724716018364203923396100160124114126201486631227431631232435695101891422551025116211424820296221178646957292416920018218115815211423216811687272172155622318316420253452436774375792352202102324725415424631255207212101203505417275921915896211106952294436718171249123123743291181731162161872101901221491951451171741031822491162381323861245888271132291002422211422041592492096191248243642461632221407161233119218147193526718162157123281232461871566326024431612362151882052502283824324314112963247167193730247165946230210179199233232170257187252472381151871265023412671210149227225221123931517550621792132306683200173182120208255157174164251611692471238223811720349198192433218119722064823877189171142311902211516613660639240247242187314011710034811397473189213155130220150119201120631141755525394111198221158140592211322332071825150238247103622420012264401462451123223524180206163129172251152165351211728111840316023243431107113812723720518911542113112143792115024318623910221412663179238712272183114123515015430911072111852191158112863122618412158225787524218921420228126123234253246522286512321818918221218710920111921814768218146110182196107716117139163245121100151796894623073132196139772253278241209010312610014941172160123159251197991721520719694612112523388457175157138229117157187612621588309110313184209163155641961128103218712460102180332281081252401652272093242224623231204949632402712716121150633210064143109175156524222441016881761151437122758171671063924525085179128201317120512823109187221218192401361381802381141571362442824423357224221185215147752172431031854225862402271224819252057707416141431221147023466187118123181108117571792011771011391152198615111311310921923074742277413915423910328946223581121271692412412131502991932501181232452392412382172332091812211731231351232311182152112351081547531291528941061241161851052111017921123510858183185116109119109217104223188209142563622524079198200171253427228103229172214173246237219299911822161192381161902122425411579166176175115372472181467141201192371142372232391171743310416021813519011316141928822010420920725321752712313018323010914395490169245223106136122169495443117119736142218131342010817114346383410916111813130225521731821049210112610814110121110611532591511608220817623816715314619020218864218112341061132012216024215431893334397625552179124824822712248015712914627150155146131584811316117612242422194125125524514725322376822402126814158143119131171291881161022031911061609252149572510145451253610888129242166681614186117206125223761621421165716114518921701132404312123215012325524620130941701924915081246173130210651802441001223214896236104184241061895312517512115519241230173783135252101132254124251891541566497761671251894072441521225237232192371710811708718736518575652312475921173209154240201431471411014683857114147158152171654993212137131822122296515190115143122310662645416112113567161196822472104697781123240801282425014623332243216466191104220621472472011666717822311024579211129227251213130993436106225237218506013310491169572272166112367173249132871525416814921174127572372720245203123150271072236062851532058315523414620013916024118810721522362622401312814016014236155862532112041471552913523466198142691596128126981471311021207205154013623615231264221411045194102262431001623273246164215219233010013426179170772081012321572402071063323671241602389318288451472111922054640146971712063964924322161402542251321576144120842362259322356155244106318923217911693215204103281471032243122253647654133120150442088082672221221123228104141762141240240362482013525237199066501681732381019934191741922351242432283486516257186819520540180114401351672243111251197645401726027168142491342198065301932122381292043163880711758289141141628492131126176201751521691458641761671426461845343161641401752001247229141175128561576738133166131893913418097520618524348197212136761478824123415325147103155944110419019648630262242851741882372011478016892352301241815613816953371664239116014316340108107240100161352513722852137203719323214512024801762333255688989171152045133802121876211320863023116518614416018525515152924118143655522414108193501652050160248128586975109237471287319411221124812426664721931041808297089442720815237153221455436422432321668129851636315219823254110126128138104232611210202211103024422610226301052815322785443918414512971244193885063144401582722460204165331541981218422845181702128248142248147192719217216147217251255201206247932077223519634159162512637139124100156120190801301882076121023113422944242143169248224191191977625050250216200232147154413166211631576158107231569921152233189325215810114414520959477811925320035246352072418724816214417847130203190840892288718820841163210581692005238760237154592154462255117117122157124128641121432402156035952471371212136125293159241871962261281562071941786314320424860421051741659313222631752518924818290452401672313301882421307611112249166218778503215619323222925159152720411614215323620245145752441874614531250371862301271983976163232169271225322325419919320111610518417411790217212200126212424412120359138111237612232165522417711016151345028179102123201262381711421246468910416924964821377774185101981379085921242126213498815470201171142331329219023028102261472319125069025512021908157243791691392372271381731621120498119222821219119719411115767941189125674518723811719820213140248323220149231832492398116614160168248138944510079454118215032092321471011167521653223209203146518829462413815719645242292471685522820631531661552514738216783241121010332147244405814017217473421665519430117871132001587511922917912221313325514112291291611471272814866158128170191620725339698910112867791740173138333920612115921810014821810222251211518913213512510855515021723515925415114025524622311486252148186106105244186216515587123111150163136931831731182211782101212194216723743291191721762193513971722352155615722220211185962072221442221891932959124581192492442924019111858225233249210952291357724622519021914511416149180991832111772451661252131102157871156592261549642501418633231541302381173760292061222101591182541762551691412302457516715888111126182214156211219151121244112642279012683141123151209259191251974208301271755969252133965160127225061512619459484661412272511488136551281263419501456212925413722023779673882158198221011024532169183123210110119167222251194821461181718371821101171657613258143331035523416567878023922564250245214216182937820591281743013912658401742107913513823815678238221229213180210178238391122182012816924920116497133217241245541995521615621810421917819717710915511519911823145291741575917183174157110196219118561312429111956106105217238321782051611211712532332051823491108791091785717919714211612523012813217815221616410517318515616818620113410812878181162192246228702513543451417512851881621312461655721916244116562551101231382181071331161931091601803520223730248125325318023423916713029207108180191821631512371491245718120114168339675237107201179965348710473392143443761417549718423687251811703512621254801619616871469100171919742107136872068217667157122436483144205216209723333437247591795811812221247155852532212442341111672131246383184150183453632041722531931841502407122719520320414471558519937121190155892551891131311841111533093106706882126481052241932391672152555636202261352716111248113102205119831512551165238135233722051838327126154911516825397601861480254211116372111061271965621178174183588731248107127182248971523220110142316222811792322223521910132132481371672085724876193141230562321521602301671051172031281852112132147922361802412721588326479965216122136753242195182210641281085232975942156732721313711011488413732123577214181151155302501101062052472111607135190159198931571416068817238302521022421291113814714712100171166250223792271467224518383865153180233801092246777111291883569138152423072323826341161221814246369684141178193915517413022422131166813293142541211875351122552039625422922720932123234203173189223762102487671002421711311116618023911614910119323120312820910327667811018016331182238112571852011418765681017718866228226851912031412152411721321383208237117721020216111921071212378415612024814015083180174246164136714222633227160954269681351301798551373520142122481004013810813916456511492250107142719320825466124104361941920076252988321220723412813019912557228161238176321531454810443134581687815223011218251221100117108179802145311201696519686106183018614121013542107181011528682771601719910550253112580123127811410130252816258249238150115514414815910097137188901011442472022251282401914735107172154214219182382502157315452521262531281152229211197712819790642011791824212922141143624010322021017912643107872861690323862353815566407479172402006623516417676178612819271921871543052229231831412519142231145197020624823321323824225217418723012714442557714320211076139204164767181168171762822721520621921237372531631371581920823855909411810124199556221938322427424522013923116321314811221717681700184391415702231079278331111226919272222421371822031742281794396816210012910910257471651302122533716764242131141962980225120410419223720614226159201546617720824184193140403363618170731317612817519888541051012021823318823622401589518877901331031771081819178174193228176315616828141140193220112391109746681032112201921631043320810310612038133248148127105159895341367724151179184105120522532401016014612127202190582262531518861313119421214412261170231041285819964602541051781831882288924224230222021500190413316023447044237302051231812271356137156180172601124783111541378841815110757127091209142132487320417123110672551422011571652061511332438011112248570491532714518613983191112062961121918981286212211464996289626516714620925320014331471148263523485221486412910156659222922008218418083948814891152222477920151625571421262036122629791132212221341232532312241832201941661351651851022071291824815044244826142176236752232202491292515959248101785191242435327351632017047767121255241351351361721338013089947386115312610515990250103241896020523277211247156351662483858371491947664319010449122695178200491899886761427376142771061691152062813619327110178207471571322061341887019659266224018210314889841821272461882161624714710190762032515052170228181119452123619227202532327942124736922824011977324231181902521742458423522415378209147283563114142122199572622241463921971872120122622132111861199062191524825322242797169253431637210237223241682135771432001122011532278952313822483186898961538443148137201181724413418561031271062615579115188238184625466110612733465355152171532378918048128621692307252102258198151901992220613820617975175228139160201942471361242015722885113217231751511971969023222548851412455313316624367252128239210178202101159111658895744129152792332179083214151601982192388123920211316502281931271461692123723951101611236711923393118153851944321220919425283146149541782332371241222993244163160100148145238173132110143188235277111921319891541741872146160143209141161181116575817010970133859013799110153999021420311111159519922024224812725531139871721521791216724115422917717115161089422717910513322631719218317411421717819411323510135237203237246172180107216232214177631001724122986752222211822522351675020621469193778111113238612321191755922713721839228731272382452111132532132221671838815921898492102241152331207225533143174189781032712417515612271702452345722458214241201914317621121715712217621824321261399910710211723611218421220122167452252021371362066120671862715921672925415179719410713718522114512017559253803724159314817223513315321832551101822425517422012418219916822212314819684451831713324269212202129592212331191235023824634233247025313416521821516283132332442486302232387628612821617721116512715924714114724117818723213317016713119755142199152362435919019826240122116149101211901551861011791363189101811837618218116983487832296322810623625171606206248925249771001690711931422031662154515184113491741417552169954917911024920435171762786261121492101141541162402512011462491671052511912534244831832121649718525100160126185892535025227601771931221724923615119322075199213238162101144112363513916871858186202252240108324449172312431251188118589412463212168541172258922417334718164512519717454631781982262009011802541902393810712033162703411768635213168228225213230921468313612958181128914064105641561773514522613913314014822010575111222226762164252245631533089110126116598657228142081761082222520914922771711722687895417418056178204172254722718623910221212563195011210813322914515910214511411615321717714922141203103531741521171241491971771492307115115330891066616835122102192167581311856522520314015175011215528944697253210233719024947411218541662920937812024512010021546215147271722501412093631924710032251233185162591097367181254199214912362532197152138110217218165521681402501312485371288610586208184198146248225851025222701349523370105226214421154012926248159213813980151262321913023910120513119425022812918604721021120250241191053613121866746337179721033169157100166424211915124591538715215626230713410037432419718121023607475176953238124942006488173250616214546168236248218161702212041922471518751207291410722223436235705220429199187814319213920631914712451114912224429132141104159345624610467136220294216076216219822024317531107125180981950222991676717496148235522616512315943229241519128201629165106186997984132116461818658157821710465248938186219158170124135103111610111623724116016819036225321312616820222913316620014518632168111132101612142266156881121713716911919155541451828684101324910248282484624812452131621217414132174254201967917314011022181687812553242236509915714213420789128255151142462510130828492137108239171691911725334161232753312138123208112662410230252209322511911591902311554115452521341501486516522499812869114178302444711257342531471441002412462011582051756280148441361002201017279170147233379118722531859512913753199805112377812101962176461189948622010910114725898844191229110160246964639135165243187235893413913724913221441548210246157461672010320414020165611121372303961101126015413120641255318021163321588034174161557024822111362224359112124542466543106138861791811222247143211220134138240200271229185181792097129914218511512421211497159210197190101160201791571146354919123923255111236394113912519753244372319614420221220076203180502311302072522312522131811041901217420114021615614366146387116477143201130507713920615617155613750253195224681792286618322620715724223178141204642311519313094243815528145110155532191913695241373321400191154196218258032551021062553114417116618121818974131327154132217177211718319420793242231779791991447591931181768240204754661412231252371601017634107130331811815317915564106199156185208489022837199160632182491911042272511549119619919341527472852355512215020816501531953586411011681358911682482105817325214714484560641411142228013132520862211751852012068496771867424016712737212137415412215419820328136166411052436524968402175670248058160158116181895380217232223722611811114790623752221341772006217911410284246123624911118613532292231601551851332051362021164325220416724211111247224998823417221660135212114155196342351963420319634147248188169209153862331011581011394483752331811112174111127205851281841361352361157924818617117234176784624645932368719036168234235176121255228871822164118919450542551917521611915719522211791232313223426972441772051071186562185159123101206179820554112041121424311379441272111942072002321892338592051076247203250521641048112023315197229951221011272341448450613621350161208173961586982332231601292231221342116794113131261332381315167135597191239291091715923985240121962332262241781979724924322022269512523318923140942491632092032001397047253193232149233716261133222871792214725524415021336179128251821783108194382171321259619242174672161482248419319322917865192121512076879118241452431657614751252074722832081332087112725416412422431159915328146226146592151871201295514816010412987225124599045421071067217085661451112413421922817824760992221169712419117319822791851247777171921872222431421797846133151322042531671602021912482244244200156107199510826157103229581541192022491481404122922356647194817518613319022619410116901251614496145922043912823022216513922111232181668720513843154171539926911041579097157901051476221944161228612234972001769218372615703112020735250117199160871092532221191431781402062474392209024115119224217566230200102190116722501587640169822002107558931451278211351793318614824913883200159282482148014325513873228132971010145151931941601541646445244108131117901331218218511376190105100146671088488861201932361441272472391622141754121617846105237242128181436055172118221184194105203101671732032918317511621818621211025150219932031081417217623522023122245100250221182220951221391272334518622315012518337243218241164243245816118712521918318795622224711618424478107218721098020386135511551092063114184112521122401442512171222391151351252072924618520824482182245184227652022292271931192199831131239591820653248157217108117108173732511418724313525317515914228592612010217185227902271741252062314313522211013918721514912419159514513728916115512487784375111843231156140251253252476501492327219822125414059125233132227137901225238151021052492212211872536014612687302041882151591251756323525464246131129156135318514372433115212528672201123601482511045624720972238207103115159140230615715124724316819631141100632620612648152113187597329861612318743233124991042031181992381253023155343013115313413912629200191223153498223124981892051613121321413210614319719235173510820122684129116771711972532272162619618810553151192596430183761431723615981706773925985111437813620216311574401372031412351512051048862832110186247191841447173268721928891012211761942782230561812012462501531522519341291879252051256277022914680163611601406415611512224719516227205137041110811416689721725519017215651942111586919162473924202210190181745259215132162177169242120251711514969192231202159246231159171136212100956211571782022411024624721024818844535925021117223113314816610123077132181213810062101932482091841131691052115017815330931062101842121641052515116614120376161420014510138681361611242246253180154239167541111821871134286230113411174159140238221235209186213971804624011379134283261152215179207227216581189124515831061053269222234105442512962352031041741819524182102551292822033424282252452151138012323714350125161692437641121751571271801405922014523277253143512719813318420891974038741632286750874818125025110524471921741202271681931111322481331988582016518121122922219120116019010416813416518119248185368114312435251198199254411610017216017910834444190223153142261112232331024423114518912725110024719112419613513112516017299711953724319720216723120310023255237206253712565213109591002416421594792372466730244164471691192018818713419490171935314512152482191764723112111754136154244184216205193216255173121861074817369611742305512675841681391961271521822351911257216411518325120523068168522822822022520815812594195531296721325417340185203125236722161921954692498720818521123719816924895148171262382031891184278243282171686971221867106168221144228228102292388320313039414723824921939152752062280211111682501882061321861311691051310520153190835112310016612420521418421241114169178731261312003553203761445531698910290253147241193311032824811313410212072480191244301972432211392312431231518863713135650325120314898152128109705104155312542411774241276106191170182200124217412403719912815128319370231796889612042391771592181626814316335206612923971961912262825214625017715624010774419023624122322287124493952416911061872346224718418512220722723121156861501862619923066574013140194912441283717564103161912141014980761111382801522466126612227310117341741331595722920616518073161411921908793101798524518490731727432242656460150161466210113932498147253194571033056023225211380138208241832408722019495114141215212235212536511224221223210824314882231130207221752357230127106145865043185801398974145142881661512181028790164150124181582501701232321591563223244137154181499715561219173100161103249239424012924247124213971009611624209140232929613230224202312271725762114186214516206210117423221916420320616716304697104881081228438208237451758234245111236253222241149618810516616018512712912511724117401841992361882263255682613621420943613813316612021851657227179413822107057159154392213121521301061531082211471739224061228845380145154918018727121197140152327020915116669102642319621528759141931623239179181002522135219016539224263714923160233664401552441020012814014390211811620515710315784138881961117218373414914120112119951242211351282159266222162082824413410723212319049148236941861921631241617115390226181511032787224144802281448810815534199114155167212192318620994144192151156216525518473103120205938615075247801123295113101222173396821121781257013387209124237462391469310126149253129792041072061931921161945592662221161325116314923972221134689159122231471127244179122051821434211279421831320749250243761632363492417514116924875882411462241946919319713915783202172982422361467480201525411974120261891512472658182912004374254444251912262482311532614511015781238842521531231971941602102071628311157204156255252194235127522502111591409425455341121318725432219140190173228611632316718859217213194411181667722820203208169869723915351889927604536221411231748720198511516523124017724011119354179215816615212812480831621134251641479411710250563219365159886188192183120129952016623112571911218676142117821458323010810231592823117687236225523616252188188230685113317011524210291792301202147101722485816824475207172121222092495135178772272421738320322110231187222047142191452512161039193149816872541292483425215518107164149194253232153301971399324323218166858919615190381492191651311974376981396214742551797518415621723126254186115241564651771832213422211811127199452261252472321431892261677165155692312171678612014944242161137243631311224025234554161142548320921312181642139518459455091118641141511814163132174623760671662421483164382071101334824612120618517817821754163202521619810668161831227388105105661058220116722525524125513622317638107251250216109235130541732459218321097195101997720329554518122318222097203143214219126178218189204230208741351612181841231092491521824330117228612386811431117230611042031892151461251814116111117512721511015922515420843199227111159731901165222612412520816519814419012546611232920653120931061018411850132240921312477217319996181235112141199149227193155824957204249185391012321447121115415313515179109223110123169412322182011761422211424012923010986352456224012979320111959146238118372232387618822114511217161225867122677181205255196250221271572012158540145142164107721232262132461321711838114732262431621151701672001565614517422721521813716722023276691101181662212382041842131451261792973831462062292371422449110023214418110200124194511031641556173215245616623405312515221817320619610745113672451237187935811918714215250223239742322411416918121251836111716838160121155351441513199131972441041749650532817138710242153161352457520148771371935351692499710624511914715125143761692499710183200214176116628224822096133113163162139282142411632268898902552111721342292218163153213252104118120133851951142431543110315821696125238722082176255163171771711272012716011301118010471112086562272042272178870141161130114174158140517713751131261283660248253111642102435015025494521545716870971934911498251118745322555147171185252219164186311661591751312258802402441082011632462441902211582262012432531801862391971471672461872512747245223205108248861649410019824382247205116132121342034100254110230225239771412711192255237244186111167531245518922512324272188254187105135127152121228135153135127152193271077387172415026143322401232922473018313515716979199741751591402332192312171851952491246714424817931691222201571131061637723750172741493965924460792378211661062121182116142203120202239691631186720720998242062151621352492131301891512820026131852301411061651161361817448147185145113336379253189168507714217214813127244240602104254697821820218911338161109167431481282540114373614200158161203566132116345839151718791801604468017471151875110110495237467415317610480181947115623822023749218162421646379242332172261232910514412326812718195223195248672438671965531263764841862471226665245100114710692107121921183418533215626248106160220176982214022686751810804437926217211421031862012541671322415611480678714111496381761332312292287068142272276919659118185201579168588412819725024612314321241302542071121071872031041098024711014319018994189123609118256246236246242162391158315651101399217015411302115617315166702412921021217018135231195211155237181156821354515621610413986234805427173301211762786106219225162236319312813910916721484138138191996222871121452501139371931422121101312372411172142412914121224135233123191157186239251105251190192172551951162052158241180354012042022711920194192272470131194223247143310200816513576171614565116143240551997936324181188227192531131122102281768412815125061150991374122161524253484812910824012176371782182071141923411214713614017165151481232507165201211163114441467511541745159243187107268748618218222965858810116133502111220143383259160414916138018023213726611635271524218413790481732468042501422052258918012293281171322191041016120112823063153720222066249162128217951331242507964372401063228246898514766211951143612721620320633127342262217422913207168183125226621274153141874471192001691782064017920240318014175251249670108246591264947195586019463147749774411246156231344469123652084725521075173186103128179103682292419922817153149324025562261561114622392541041410915256652203131179333524677910182235581901122041747382211548414719813080233832364246178866581280206393316911202291829494136205521900761954322312528513422853318059195582291261069153987731444522220920836463112425208131184180441732043766153521772462619421818023281837105771801652031052234525188872191946413216819018398292080251172572447207985713377751922361751051428911352213719713216617818154208255792461264757248191238222461342793432321172152082152216622324314351732041832044011520014715337211216282081708566161117821779370571442153817113011815328153781872001061142291266213842316672255151627015322616819241158119244228144202031643488122524413614015253226254236202441031991601832323174161111147205612263718712855156195205162243237146744516324217316324245195115289913960834263113138481222419916315109188834299202190138402491946312315811919828199184162899715321119521048142120227168153432531251932262221113612363482546168173147121207392302271601962581112191124199172114191130185145121859724157317818182222654741209199141881052447113195012222514763190103512013821221653781964512618675236100215152201942418313121076992436518918016912114612410722411142265615625501692543168185652221712223416741964724631915614723210887117254012419217510081962491818315618511820137150177121389725198331053112268191235262411297124425130493112019618817534239171611301618114383212719092111945020522611292101031872292041151471151577577163243681711649858128172150418910815344199135191311625517415918014223471411977251166103248251111383194832917842601392312020341392817962181744215521871001891484534123114882301351201111184203101322471242271212451352222411121821518822638121197894167153251391891032292551941355470111154254105186155105801341032382521287411317122721180271242298916514816114012510221125222651574194231672311961101476721163872124211831734012875187716617349414942541112003514912419121410511624510181195851331911649183561703616722613915612725123951254249159227215175742221815712624715017620523518821517311221618419411324311413520563217110911021912457171109639023793102115120157235889921013114213072371852472191783018210363238204129188492322001872231541251616210222719112711922125524611823111015912310923314312317823818237169831982812224759141292411891146023278107212245839723114324814301142352172312161271922291081572472161451282512997971115239182197118237118104886216511324520412913123887142135143024256190972141455351186247571131232781852191531161755922978103226157783361192132281282422224924823579184247220236781852171491621952793201136196391001941116847253153200821149174351891051831235114491721431461742041552925552182111452351091052152198211118019541656671060228102551001921761602562112163432411061351561401181814524690123236245142184155931782121045152701152206414111124354135831551092072991252161473759175951682241032542016430152992401446319117524712871171204531316823118312115312234799612213323039184129722538211388396813224247219411625313633243242153718615264610014697141217137117221675488159228167125173245177532147710710814217418211092991251241894589112131158671811901897220143173127230157661682262161121713312925015250215241864116146641364146219114444481019219613367991452210027226244124250132104100163193141703026254218158166192131181672142191562179611911415711723538135107772092261335388240176452379277802192219914217320629911572181835611911011525114110811723582210253912091371579192591831847292711821841381449715512323911824715823723822121918411623821723821818722117371196212332192251422442381122352182302101772051651392001421523829110189187601221181863519659119184244239247266023212517545249233133178271679825124620125219221721812839189897920715160236762352171118211523322223522217920799176198111164622241081252242172501601455845193582161561615756108200962001181824612084751092082172183266226680157103107291452095867250249250144115245331321914511519207146173381612334681641109162240186961579571206829613123613422964291400587121211431981421341521561302151451771981361397714516012401771417515613617572512322968444815180399410414048172166618725020364254237214100224248191251302428011241316270923263512110134192931766224973135932118712917912220731061189139802122763167253220622716214012222124521124113296253179245337186153239251102182521910012432241151442914421222265125712512089610120587201325166147235182561198820268401017317415814035212194271692366132187401691816914115818994195531253251188165511111131641171222461206691620064223622391923517259118186656930139851152451021968824894103581021937440127851891332002455191322341651898791691518891121261774123422618413410019511055154194929571771522311415723621737601919713341223111215307915415432092823154342092462521451128218014478131210235176512232332258510221363206220243237201521921293110228904211952111201987019622499801871989721842132189516722057163128154158433215113141194129110857391523161134215166241114151751977221221484407643201581672532301492282401311018669192142179226101255161321841863725110513047185212112208331234640831733420567799413874188577401380171493711123811553577810614714714418323571326218739323516387253781412089758151583335037601571032451241307124122552179518523452242313188642001116314801842529796182141521815012976139200156221455357442998514550191601022815199156144103124713820115825159594538235163144164151301838691647713720215214992232924820717310019011922914664619095249859621395119317614234461828221910129203652018616917894214173805422415922432221381576761724814847691834710665115112937641361921485118320197582366415350241755478193206144129201976015277192401182481527525423123869111932231061408321222716519235463339522216632272201283832268032141721071942352122047014290174613516977141200664811175701801571776014113398206178247343720015848209815790787161828334622532129020931951377164163128115222602127013765261421391904951541231889424912237556171341135724223363320746103182671101491051622205377200183744312917921723120418272434913140166229116620113532296278136101761529419911965682262011972142011972295230241249221372081799817916466191811015930101181471954541469614580563534203564221542161241777844177774217975401771414124074173122039348217332042002321951513959249167866921469206254156196208156249182811211021771855415321154184903623911411151171552441142191721013218711224233213241249118233229246169372062537254133159134874410421521072114624425076716318316625253734547126225109163631881112442022286315512276243136179142031177915823715480461468823820952341528423815282971519211016378243197212861691782114024628255226180200215237144612193318720262107541251407921022210155892331586320717512413731108861410791232951822166123983199212501352483425123212413521666155168922351686018318021794571591871652071137717111473171114721731167615923714853199331637415029391498837149216166862162111571782311862291272381465920758185116166116158442621853239511892242164918774271328616624320888124101519850771911420418115451472422950202221242230121202041192051572311448910115594971499070921278220207212141642144110186527411415310982169938215312382896412413718991204751751552414103248227116192471642402261911328625414779145172601777241213839750691602522354020554991829119312477203932426213142806222320919919341315381924292081651812419923023520714110818223314914416816020237193249574122941255225191206941821781082177911323586691112191619012114120718621174235875611092110191121153237150159172119461812192411312131422394524747181611852172352182012447193524790512391821646310420312021615425416845243231142156159592423018223014239151592910220111103180233631251121823314031167391258955207196926026120177412242501692082710319433321578134941081224172118237220109215187207105176218189103175511722249787210211193204155167355921257101173219108465359510810106217972191761069023578187235103342391801972231061411872193776641437232731212081511261914767118245816622811015956833183123371881636618145123253153226115214412172520418859152375014811711192238147418665200577298206221193113252001892191511231835523911011111141675523978792061571902361871361144018663152253964823520972246227179571437017830121012222371358764181817511919795235140189218176712018755249106912201859997357113012314122181236116146237116118185132137221104731245015239155235171147861012361796215222390126122656195135252135170125711062522062145140138414213017107370106252691068588227631242001431081322283650116723025150803011122323844916825311390227428323792212182205225921252242291661361719650126236143681402913728592611316149252242137136177163333220943393423911836945921117238722401331668240132701142071124066128197153132251157233502221691542264321513118432241606208135142652482231472191734118321982812910718153136183387920017322211701142385239221107781901197013320520124791821581161012016623719319471292331192073661104771252163824216861253811236612469791383324215222221942225991942311331167320412021214616183136104332061731592195112611075127212154250168372451139126113194199173105181112071202101582411846115724716220419524652245222244159595130119100161456176911473118016722010977252165472512338022216519824014229206167552182086414318751158142312552181592431604323711311116658861622401531400127243119324413165411224015312228339623894916424423125313824422925421015516320722643011910361238202148112927212424218816820420763242511211865017717322463930212162311487211114025310316023489572167517174409016918513015925119693302043335020627692445822124310121011546867423342843151179240721915071210135112331029611324524885941964574131782359821182126208149144301682463200210312388020133227189911191841161681151512022751302061712451231746711381763032155252601742311631802431864249240742172541362446763201217201196201176243159633267231301520220532087423695681501459818094347410322825220924023861158242165872511831091152382222291419126582321671536423114215182173783618266155183581291882494176167581937778209225791140145209252153531764216154245144281306121642484220919336625519398134252104538419221514122116823124961915879250244227104077105401411448760471701247423075391034717296171243209181214772351092071081192332162275392311708919251620218224215221372558321513012105046249149229551589512225297646114202155235169867613875174184224472461732486620118196175242111352253213169165220213622506019410122428224163156106461323617841316424640294472426874221245212721792623486251232123171996819316064945323618919618196624881159216170193153270252121511635115410716172149212176881641161451112491813281831282452326410264391621034814874146174133561622351392326823725122894164126239751001271221315729115100187122215130207137562012018614860158801167097210731162041531311211091604925101150105165230152521731322085216912813667222281511622076074232502062541941272068725411519114801240228205187408697220108240135343178141581717647722191291371491851002451641382003014519205132230523732211632091425217711017261391701612113713853651892426423432120882519215715182712181367020940101104202223421127455795721810512914728643814315239222191648711473147209172401311011641132131261661621552181013720218939182531522183712730202762162171732401151877624139442431651661947232156911493816261133807323040212989820220127421177251571968353522372359460315980623385246155253165551332312723815263215141912113997170262361016220517212833562292071655760203221148724510013116024221219175242751033226952491651271972325496223242197941971161022335415214815618619194423041158165238371392532031912424725119417510013712720118215204185461691495481121861611531291531597022845124211216211200232141183761881881920225283170188226203130179621147249341281062062542241209254842195248141127110254847168148145151150451417425058176987364233130208138692251491391311392301211672291737761151425219220222793115183143108125631821515622824234189120152253121962061302002101916814925437121814619140184112177127193341911946940233998814075139243233201716523417463121181011234624518920339143200879518282996284217155156011115887225231621971193233252411651101692133511671123811071846502412101759823125221913613819113414812521802501016424987129219599165241227153231212092472126012810322521431305142153853820918524010918616880196220121241508619232104232146552156283254920816174512414615912314919234102592312042464015623993188216183841183214922216218617423021917091170469317836165741911242253501782481392081802173120511651250195711062252452197047781542262421852547997179255232393411316311480123221691771216881133125102149149585892478597242115254109516591242223644517215919521574722393713136230240255231512531251618264197231618595681512323120420325463254101206250772435417220392191421022432181442454360214461152221761941051958218720575109183254100179115169237206159108118253104125961532371377715815114316560234441841131104621410062104771272161043200122212150243180191188246912438947242055250218241953813847142212522210575841032139222109139185217281139138766175156862127216167255128115231461871931061832096159222125462001971981607157137191244167955925214178197170101171213149191612157871116237115110921071241221392298899224245512092152071964055331132218622114512016775118247191412546634551962133924121811169220120186148511431387218821932215144461319223774186218153120181147807516274791852141491221633977164592271181112062211902521871892491831872431102472282222382011902111551171671512501391926123813164223312041289140207151961711631298174117196666162321124961216812560226124832169693012422420090203191552371221424892591571922072432112092101671512316018956219240187591522551071597011721719124613760237207121581442511160203231252218159253112101031443918989136138321550245229191922299646112115236112200169138613203102232181771861520702391803613647592161395524222211857920715022046159136132122201081422551171614912829224019557981012723217684484224220818314475179851052230164101649517414668131371161025769181207106153120282092482331212092321613117721052421502177947402536217011218012229165881761119664147022916514880249244605025155114782016825211914520920216723114814013023913717111623635239822391898824524416217815219020332061392127569641328166801941652121435168513461141751571362382212351261221635310877248192144108221431351592174144181468104154115216144252207651031724216220472682081520503713431521011393973124781324121200252201239681671073315522226223240184422431192491591512232181788411066904396247131174769634015730245139226429061771881996912014412441272015184240235128743116112255184391556820218521115010172215206691571872201612022407674383910233841218220621413919209153451410010715077123252135106219759191541761151837244050731535020706381394943296838108722262131471771732191571611123254245227253223136195125173909712424018710313911412459101247191124180247111178414225020017924410021810416824010319714211616511618918016127220432311422435814819974247595196566112361199141351571711111052502392461841203625212467104255622391931311262921993721881165222692125722432271180234218227922511872231322123536118651133120183167612322043220617112114552144223582532915115014975108139185200351831044719010412223610420120523019622723522922417170185231111178157235233205246152666282190621901961123421115824842185156136168177121701152458419488832441972271772151551471101831672231311681711911031241289511920812104122282281721422176623617842225316073410419745129291015124031728123321613982332234492415212819822068722311734188662314100402664571782514219413610471706113316341224154957415723863251107804119119616018316917233179182421931124016639494421413115913224022985924874233342558266176197661111731821661074116931582411352416866932625013112396561262186170225362191407489219264359252160604116820545848582467129844671924115117319913320811361191851226924934473715810113919615718911612910324934159217952482051713272481632142381331122845106131772041593622241702001282221501961072361352331381471435414518342072000181017117225024552823013018208208180130136106261340117186103910939250831544011121612572681591083222416915650132082416471241811216070220341691964699546012922362713671731802941381699819969233321495321615678661681097813902411696214803213386241321109940745112923122429487520756217101848214518234136221951874875197982392023732126561521072412312461858518220271200441852003817919421110861822087524531242131122161792321635368841051701071696214324521989717717651811251707831151175196134741304225518922541819525466215212741871521308914123025416911698515820919712712019920223285991072073623920034231224108143168162160220249244911221362341548219133138992002325984688813525024185372222782193113407401062112051023118510285216372115471100901321012167123112316485622448432535017610492082231911044918801883616226811881961751041771540188112336428230707565216160238188932157227144110608171173128651314083188192171721182218130842401531432502201561152312163821187361486823449203158255199792361017537235642031922442001303720919795135204694425366104642419831168136817371681614012911123318571765799182121661457311615810576158101984912119016114213694228911882084510317411922525202368017832176211824410120022017513017019010224317232252581602264324813468423746822491173223782246101962171513322995135150253371722444714513313923725219140254205123226106245194187704718811124422613511124123422912430942411171121972151901782109015022167128176282167220793320723073178139403138223522185581675829111226255243814924952195167362538656109229951768896241220200210138132162164194170136255244159211215174205219176581021951702247717112554175114223180194117203114231109752911825410019123571155617510924725310012510413393221741351981814616324517724721911423915820118412338237979113424019336897912313924725321516917411125212492613871351402141351812371162517424518912638242201642181952381329120514518391341115371925925114182206179255128203961812511331631298779132141214251142811631172246184212242441843922973952614514590239107167194111527124531114111901111141241951721619023915545177119225017812064249112521419792362463514267178431682482491681361861699614494241111862451191141794723710211123420594194973851835011024510122223820718822115112116763251781272382924864127225189129226251131197247135138238152122031202191631481231274071150382032622912401292221892448615244677856190209531268817813822023674190221149114189452252102332321791411616713513118717112520710811910522223821818922323123614524010716719312452281682271986421974018113612822124131132292450961801341376910688913364246176115617222619145494874225195206180193131621441189342492327421121127109206214622011179171301665100143150128168702341311935514110744471281444464024415156213171323522910018024114460817193289084138194312699137232108901582298427620998010327051722401841861074080184196561693210117680214122009196579251243159246229612372056912623720124916539911335719111675681813666091203175227145231833815221324366226175125481776012817510210419458244012495461617212730241951221158159168193120611246249136254241602141319220524818539317995613057112192271462141892192372302335612510821722121416412310919146124175931123341119911463712478238180362235815711222784220213227492157819622256211272511284602492141531962353922714427421561646181252382418425220583241132191191251519817516919413161814524222120229881801501715860301152338814812042914189208241463110982959267868112331061144125098992281331631723142132131122396622423916824210418471665824110766184212107106145174931123918716310624924822522916639214891831111192332212357315813910431531102322212352131882012542126155230205146112360732256523711767623824281971485251137318493208240331276125562367013613914362253234922171631747694221184202761111711706718955107253822276722377221255183731232552299918209102053118016720992391831671621215182109115230932532511258032051211172236211146145190189943634583421972391147167205710025319214871772012254824415113122511818633103107337131114205226146588219022158237218229198436246251163460120169491461424316455135138220111793514814274167292311115012516457131252758112422410896123119690171154311663113282532031998015783155237473114313420124629124922818116812121253636534178717125023116056572551751613829452511534784253612273102262448229946031524714832179194468378163115131232211063211131160261861711927318021521675139166222201542001217022411310209227241922532122391659710825111950142236984138250225172208199722052091427218177682432213821320223521525370100171147562691810944112694732515621421814627332191190593316414091198025020972326487516631266696171911612365713680472263010611612418810252240203111191144129113353566614810498323218198491511061871617915724323124110224181118179129122403423277612815124270151124116861114920812891211421523223149451947410213752181231068666120542351691972435711423587109466512313820110421216220414166145137331711002008351120815184711410677148132512110647642012331452171471952281845264181521371342115213723423516215817913786219961412316919216518013316091329614664462418642148573716017022602076895662115624362179731751807641113201151237501178648567177165139164161105110170169121423219921823837243292432312182318421710120718220144183744718120640131331921910414204221419968982042411909740808121328710410017220024011116582208179181018219316395614912721942412152241623794233852061131972302544122190411789159123132232522491919915771252211952426035119319524315722713892178170208208208511292300223501924933602089646125232281325415816481771112091031582491152211151706050103219197228911341025839148248100127268818448176104113160162165165956151126133162414789345131971391891392313717017017341951063921498411516219532194113215415010922542129106242361045456120177991181496910830108196631652023352199232143147100131163637754250216214411783217023217116824219113485254851423422200254156402124624342136130239126101951222020418373455514120155141205237414481233935263176252139176571279158253212201284811614188107739622922612820237114995484107160167252223161301521679174106010014595241981777020923193133951342294515210022916311810412519723219724713215641222252181143202114525150242211127203876412722775119202145217422311881211128168230122132146714410013544254215241951451661454517619618377252235232243216234431521611690252422482181712367524713020718824342131114113517816324242194254227255591092451702362451719921417512218184202276232391517211221717719412124711419961752372471751125617620418297173752116183166117463735174297918511750245126115198131150244717314411977901782381572011888027189233127125119223127157118161622662208185199189107175235249163114312214612629721232082573718421728137184124442402529722311713463111129159257301037232632245492227117237682414822421512924471221735520768935929113246176239241141179142174153217189207229701152041891742281871577325084501891912082211581802511251142481516281280254964027171166233312273313119114418412612392624422319241442021865114461465711925024323824623220274018509622431331541522027841111488720020193196105619123152106989622431577312290227901072521978320987154227471591373157282149123722317719917911739166243301701330592612123710028192238977118618419381982051232181572431804325110579246831261972491212382072491655523523123814071932331431862103011916713153859242446317232311472431657913524247531341572171002111801222149718121102227428316410915519572141255249134160243135671341424915922222620817619418011314122980109224311711221020712557552063622010878186126582541789619023211224571131232072399311012371825363411701441362431606424169254312031851951611921723646214221313315617513702061691625173926612040161120186192546722586192104141255239228156102073418125564121109010167228536621122241156713440162816681172134182351352192157136059193181192651121612318018147101202982261572062051552372181835924623724322422210179199131224817106331747915620834401618416916231683416212935137459128213250108910116262835361821101131568255161601596563117102147253223203682251321672142191361081766173184209864790109219225344367182571811081196217719386472062179197177107175103199110119210791716620610818071781111763512610618923724153861061945751761909217453927420124234219147235108228214248171137275063878321235196142532511884959173645111457152489725238984030209123118531745021575171161251179625310138216249941071380217161662423143835618310619015938135178415724425321232346010213611822163131182193193128111012520310272027112111667120139222242181105149571371481665322865668226871541451592141641352081211323923624315011083119391601071611813265119542426420432621024421993169245177213221992139119622342131442213829107821173624231116164195235224108151155162521212271813432172961309140857256841201854918155808957776623742131882131451595252133160229154923257613618022828264816624812819016524912812106144173248174493253253134151041001311612441282365141230731332141051651425785074240551714118853224813241227825210213925503430261301651001980287991221002187768346873162252481765811334589370212201181567214811625102351014952192421814101682132101332468916227175801552281365026169601471384719618132824312416222825220516530220212451981131581008069113413842211222471821812983651957311415645632551742492121391569511511160128230207106652131481951401268618724820310123398152168721798472361631327521516224914185115109196111911982212458210224181169281941491991651372229816564124168196502278612278121795523445118162112149045160533338335210167711011541685331915610160442138776329624621596231761601051811042484677160183237207191623416711921226100102641513910619850931414075159387822216522868311973768116129114894116113896312131213818614413814079245722551134325222038189156381182051597128107118918424518880136682283218817520196150887212642165171175155824213620815417919124416992226131921732508216698421518434093224674625022062123182117122153938613311525416722222913949291577418787105223246757614575184115923816125130138104153136198122124412531942231281941912402062512045316522033166192383621151170406017720220935249149119172255252190221122031610315911615512811618716498136162761719222023221684682050200108128234165242706694173694623201288252167104621887224917020516157102682311531982389165194240171281291761332122313018020816368102234164223224584751112312014944146217128017516572134612266411917323181551021376261833220748150181531966467699022163131117106233172168108235208441672081561052462252346822814314194248200200232205183771882832317015125351312482045242469423685180801211010514556228196111189376105114722511619741115142117821691011301721961767541117764311920315822791180192191104161115901331032062201662246146562197159123222052434025220431269418014479624823815253711503716487122204416076661015117696129111225341591881332542497513017923118910323616415095235179261441279924422625110219091295243672331952124219797492292492431531792187475252127114101207499197164178112213221762179138175128156987017713776116248677842190246431512371882079248759624916219225282239132242552416718028251255240313521417378217188541142277422345171220183174116217186194117231102152214392246173112222191220161102181832211061992271556090182251158220232218178213991645824423815318039157571590211311801656110875191223146254168611391961872052331435817817552197945946351483518125493123931221518693612125011512720217513110524759227111156134156822111013719012642282611218541888313013914165144129193106247145901751073919515914101616195240160512411021152128883208201772301343167181238176189118582341268720215720616459937320724623187315013119224424995192433742442502241552211343719719124323210466722797202141158212276113219146122189277318722215712616339227908725015712922071103752381322222233471882091571151635923510279214141158204155611535518621111111816714117593862191011719875216332252484412965110102548120589310913719122215011618953233194241152145134176158311091871881541831851811081192352202372171812031311592522062374661187220251247120122362412322232292141912031171201592312171316210317112513515250122362472656322481781271912311926523912910615919310615916167178132962241285516011524016015113217205230922011472222365945732312341317917217917025110519822522938132719115712122561772142342281222356181175136218181102702479479237210240682061481362392182272171872231551761251674356794724010922242123186323958247120232297852101249472225145103178203776922011610210162158220104431651692922659641801871219516522110624311768102232051794623425253231861001878359178213177125139672192431782171901171796117110117112871335850332271511411410715519036191821216810915522718423275172401221991439176123231782405522622017722115313618641485917118238116237222237222187215192039911819412925322213213807227245238241232217235222179231242392181872151092241282312246517522567621032352521351701251861193232411961851071511072151108791322621016969206161147112226150122163912399415942024352157224693618213119749169215721013912352082386110611342136831433425524768111107163199176165331161152362141612211967342251842081125225141691921191136116238166391871572221081191241312131772451501809022312392381893068154183162301762161741011391325812610613153157243248907534982282946526815611271912314910921923021218614926572401185317447132138108228209133168179735124523611323116919313119035135100931313129137132228108178718544319910421923022018221373211137214173781640163652138018713515725106821712322311581721397135176303230224222176204164862920864199170231413522110578250251381417030416762431093178184250403019417919421419891652731196151841991282326712615821017919606668115756932133115421342241171903315213823220072770237206372235670192681881309833156816814173124175458522424864622041536264539714220130188811259411316541748819316010820116510321922463247828424722714023423916723825570214822432122310575492041212824513179110119116814114623911910122023976127212147375112022833131762032218121792289711117410212072481287025274361622211322042122145213211813890232157242248217171268146652313998107881339210815334142532182191124229213202751711808219215317321632113451401411997317732421661489136841551129138151243173434411149202148292321996912698837465135205041521011066864721094736812029202324024327812023222820925158137170200132232138104181129203221221691809015916020318378232154115518011415518013825811851594167138131741722823210715072245496625192112531692612822258135186022310123172118377159451461292211701085117110817814810020618220117217820615210914586110150925035462551471762444122515312223323714023292681591975437441953654159103149135146121381311701292331222208122818525313318088683168173870291032011662542492273178195181969616615614276129212245419117847196129271641622532421496714419275185114112516817213132165152138243824920565101105351471842168172338813113669178282870288520101211761516185170136216102842024221324474131100961154918765127764923424419582410945438461517561602398362787115924323921515214911617076232291132341332321461691602381742462171491828921214251015489211185717917219236742357618117467237167412439611624223642187122337260168123251685725082139783669119272501981277123292292101382203116311841229118137165118731651827337214176187136282511762823920016216020018911358816363202225101701271522462462511411127123782427548754515851217545182734317922545201197861787025155203509512241221213664524214520582147139204821449817914821089526811491721122821015313719713611312414573661779241228982271489814721218831921221221538173318310619439165148461061591332543811261621061805111161178196173822497221371746212120113116414888362290161971141771216662218162512532054442219491861923517811217811717614415726249672112610022622235288310015984102155921021478210215725212317139241237164148217166855610312723414625316999218108251148106623114042151204421391842527325492391236818923324252174751527792129127225124159130121945159186228845820824489210247212196812331722482227232921472326024324866203196181712288213818173411837444177150704111976174116139431241251461652181399382401342093124425207111124104227235156804223112150163208431095042642521781109478201144852391745159195210333012423619823428113190262772382551661881382311232302072432042552201878218179196163961611232542311764715125224930121115220146502362522201891301031012292192541592554110822115419677107675417324221818220210125142231294322111817311222318719423701489616922122524517414127927911124523821723124122147235169245142253123253110156721242201452451762962144250176452376513924814221109781892151502461645515195208723710515592101742914323663232209177219190255144235237246168393411518618238182197222105137185211261152538419614999338714211251280329971361413038237923918019862292041205815425111512721813316616083155452348776109222102331120031802066621810123214223661170200641513432211691831267191482031441025613416022112919665721942311891341102471032202516811718922456251222802382211932202191255711925011531140206226452542499224914724317923915212232920018763148127111481592002212541565918989183123501102471641712152012267200931172422412211261952461633422173551871462122011011051831871321822023272190214154120189372331227524213399113103271627106194122246249245237773120243432221782171611211472212331171503921515215790612352121548910321415415989103209186201222521012182171061536568118239113239222231209391841601764729602916924118739191232197792078725222015752300252122544816370157164436715822376169832512028717135132219118186945921207207255175131178121762012423963232219127802067923722223516514373234218235738115322086160228121232207831641391282548534172428021280109321651172392431466016016207115911448018122311211719220016112820990217175102164461521561315312631351241442541062391901319472239120719025315825364225931106118792123129197187221250128128841211751991926220765176224132236147112813016468371708241542041236113522821010324018356126144201177382346612895106131831287510421632476692501519220218813515201144632520621371422914702062137145661262450233196712352206554156107240632151648118362329899240149999787142719210612227150126133612114816622716094253443312140243188421242361121361462241171664630131892162470331511551941782702352229113619511372701541452092411891282443866134203134208137754513415642130082133469137721531913710624667635082271641031116155156173151451483237519223208179223179107472211921652178181199181103191741241412061692001236745842132181797196442281352062043722301742412112522211192117123247121116236116134592331183315228135203137137207414714265201251601201334614718120281711301466520411645160512329214418315452232218233385157181651609777154820099578915248431951558210175157136189112361561162341182191212244115616163255233176124867971751751591361315102382191831373151751928016318165501921513241679792194424864148620818221324920470123248320220822216831036725822483948844546791242122444390150144238417722831672452071701103331328140218224125122163451751872111461402181912462311615412120619123519118819125363191187231191125116224155735363761512513723746148766918099216141147113168361473637663178988623779512461275924920879512481081011581614160199254245841921042011732221791731031915515954255104630139210171156197219106180844539482481122123920621444224253120819266111991621441891921121709423735196371607168424266113751821068159243162341362223470139781591714777922392351301615926145206451762937155138187121158128221168281811211591086816312599846015195211201972339041013980178108944181152281501037488612334129243820914711617320711617314321820072171421153216471046616669621271052001721151624250241818318016824210120494212117721158191593014961831113016224671822117121622068350216311471073471147230251992292583233678137138204136205157221496137662138457225053401911181521371671441118168332313750120476257208073129121204226644014517869226184852481533381150237138215221881484135197521047044146139173831939422919235803211280727564074246673651461638781684222812917152127673714822822218237237511719211230592312053238115871701691421986243271141481524612916687161941992521431336213198210154202254244581863111716134262531137248453132226173134174932422318165122181212811094516524718834142152421531498496612278463613015238230115111388116831952348514864207231411732076823916221577164324278107261825514564141687614515260179152124243152124139152124752006492190109116190107921138074858011615317712117614520939106792722831638710378246136177754617751242436119823125711032071402041561714549613499134582209024481106104221102196100777198179103162941241909319098161739822520412066120691371691321973873695119242167199229781372061582614751455411916623620435235972321591322101606625210075177241582428520225493250115214203250117186861924161651631788082244140202154211511031588096150144111254319079941773721123719521311207510912074228221247102249218133231901992190642481913820422610384200461463223368817312923916372661141691251061339910613383742491722081216323378701757951122125186209155512551002309721155235021734618078129210239138111131332341523720201552115563433895223368231205343091644015515370230154712302191981505669230188241137185129151882401502093122217862401945931881225968231218392121740581003325117614980443138931572071965787166218875133601151071541081424412412815648409136165196461652044611718210923410815520225338032168157117108154671001841191487997101216191253951919025562121227186196141171355175242216182218117199421511574393247172116223191202173122149107253581831991125781092436217920518711912711220722212819107237781741776191292441605323721515815619929252401153341047718722315025417651243818719813117418071571692001572141961711673471152512472911619111244232975519176217191217821922623918119722311013718912642242198233200271673422462157913467152065312817722025015184935618112175612382338021416322220248642031182724819217713179462915187223451246415963328345057160861818339342152291321362331222311791795212742262281559341805228102791704421322123423545243325220832481281664200205222124019322711519714370139126252223951421145425020795241576114511217155247206642221572541562192535718325017811124510222223274189141782151032311638222210103301711798136922397618421830392102212718153254901071942451826822810675226213230164431031462075370142301371841261344239140212691221513414291014820572471233115591835918210918210921796117106141892435813922215778103151221431308019325325160621482917024657913111225472200249163339971671991428824137106108218181203215241190194872306229171184215153622181624571852221861051811211955022718616551235151253193532352287021912910619191173731782400448921201873773220117148211147912484628141322816913281701246137951841202392891971132081461182287232112242281164002084892277230132841997119417415814069465470228245221532532132241022411447046301412410782917315382315217100137103131712713070167117119512810866144226651591151811231193190712571142501423024259951911216162248210225144139133368184165101172622323413790267223127337319680136510312923613512465219130179143415963204139214424313232325414181031701341927514116120018512265231216150144912314213412821012014460130216142134130200185367810172381865115117554211218513763417963114241104240245147812157970951062284120830471019012020352464191343403523772250133351612401851204814392110130757216834669161732071851222569623018185128251976563132148972547135907234183136159173521475721342095811616614233128209331498315841917501609641091441441386201166555121628027682542092503258917360118521562033312222422516062112249117594485824012547164209181107143270874940129179501734920696123246184431132351292241932142461231172011721365110814125211624519012519434200140727816822430119971410616492156172196207745662078214252658111161118124801701541610232246237206742436453205669190889922412815120250232741792302052462162282181371521999315321274720622110488432107166919721170451703362840115184116521621091558322774179214173142188510414101112192341969122469320896153216145249169910023464177531614501231761951811191574981011156913212913420825111105161106244246811221231891165110910190122152152141637674134213647278111180187220203716012488252157250247121203106135239167531735063189193246204705911310082467616413125419712773185901730919973982371521122515176130234311661572169611523324165212021042851982035197208131757781109219932441051821322379614133881011181241891172076217524371194111182164602544252185191224113952222272541881771984020521582411642071842402192467636696944249372031720363315418062166411606324864132432130160468199189531617015618616824175241532152545468122720517815119821372461938532071062371726419217101949792019816221211111177744512915011517202111833815220424823515897151103162182134208115190109145113136447916971273958631194192716414118823771801472112118415620016917715416619192531315812248137247234871718019114898169351012646651719249208372111906119014922615724421416312091131752105663202228164451131423123143821724721051365520786441134615610314586982815910728782442301013614015045654956150757209646669121233520252136198244521351929542214372842138164631091031595251617416289138912251241361321068621318405022983100161532625077103251135130411161393214137208214154186024399209162411291142273316215129943140102373219210431043219521618232579718821820690136147135187206121159242160902263425454148160239345219668514114515819883614519024714313224436252061837244180144805433691721471381731810291477518950231248372071475158227228153981005289141157195102225512297146137998410820923145219518722920411720416817674465413920714723777249362451352409143113731311019581613114635776024113382390164222191001502191008516497320015517151131208191023723154167221551672015319811011702620120132174190785216417118248188113162112122411968223717842162421131160226862415141131332381133754190169701275416194704778186224019941239207242117140204183167135362088372289198231041776424411017384862302813810021865140383973235208461742083718620821839197232778357942371652012262352552341481051297315091215116350100203209842521516212461711251642271533920654544227139172226139442262131374517613643180140206183138441121424724713620212523119513516363169374175203137131819051197202215535821558587110266210224138501411696915736322436314217115100231180226133142571157318374451353915237910315221155103251551032995100153074018374172180771701642262067389110241491582092222091051582552546310117588811841261172181665314515587121111892331861251492112061491418715059236952331141121498323726231230931157251131219119251159217226209190221107228807223538135134311675517518319020111119596225211110406525013114220195146711942461642511572012471878223811716166612322011882136186141582191611822912022016317444126651591681491541912441016123878123216153124175532542061532321553935463113186112216255921572071921262151452617559454914318614723918019993622521818519917797229180250149211701422482212381401912133012318735254102712521311720623161138362424864123194539149168205133148200225315415220238149211985812412655821756192248201293432511971793014022862629524022866209245238148204961632151401401904254266222115171557116656114239244103223238207146101202202492011122326511920224852517520022469501050398183251835821111011710022023420418822115311718751231122107230213511691257390183187945715811219033174111952402081611441262412524025220239491762151811031351252071413517410911839861531941020631242189125342342301771361111725435718920621312899022019010327252475213332993221238224123722551471639684322123021717768156128175204249229981971951931882191737301991260214651751291063118922525313319817613522123379135243158158471215886246176512916820918720791175195181159211139621071301802236013616116117245120204245147113164197205191088132181682531912962647322214202391541310122414434180160903122018119934219413132203757119571106200230594848892164841192321064181541921330101240499617118116246128207232652231118112915123467462126157171246271501690401471997218124710417323918590632286011817161441211581732455151143214251247312402322212315412020010716422211116419311918420612316019816323916021919233143179117222200208332071931061432431353301601002071452682188711061254754134925917113245411228152142134621321511540202168234205372291152352182017224214412624988216213227192247208115132241142399724255494591712124512020442184175102021371666664249176141617994224113241104407770927989161911144413020415461441596060402521611425017521721662672129165104190161112362072501441201699134643013202125401501627265252169320712623912967254210152251052275101862011601061805616219920310510419243133192145527816524027167986417418817216393119212139164510553531622392067516947742348112422912296620093566420778215190612382215993196167107155992471415110317964123220724612114312243241146233157322235152813412226223358370100351252481601514016213581892211771251873584124417216626212075235547116131561715173305310112974401181021472372012451501675590243202492391803625221815924323564206211225289118638617023232255220147113235762522451474960126108173249177531021675488119237114225171324218323911210622110679201207530292462381171351538153108816251053846225541762361223531842071911410716814182194201048311447823817312017544116145218169917717992214624221324089531111181042232381142271001565659141206323320512918521325356350641712331012261802657161113519014785167191149227252246255109146902333718919302521021142451838322412124185661267097621381815647255181631432223121422225524620915812725411225519112666230189255242241206255242622295244531341111162392415811956226252225136179117161351813316754581042224014015232951166817616913221332291519425324610728084214119378193852281224234171163216292361845783129197231199771592712863228255885222620153169381038614924516285141179141227842251775716879811547146531932321341461685881291785133223224182255631391361056212850922161180498118131767659136173212204924649176130231236131136253213831341061702258834964710676652396204249266201315296519162249128872499819526229114113611512051391981851124192167114137912011242191721051240282484716582128345214222721315287156313868243119117505210865771317259234166527716109177173851061532041222867638182139932481461491991538512848671051062011931152429251253798701981768824746422113312140207156047661221245186132832382821914011411252305532871651761487022812181224623159107222171872072111601486416750192235223622421881128715117510034242765292541431276154173641861132133938320222199138671910313519985126482172212001041462093116674104244225433159410320611438922615851215571712025418184622122724320514822321523911616171992312022281282346011422213058108151641514211134139212181892331739798228572094120717114110413476225192531949220154120474172156136217184134182341381992305719621121371481216923592511031905921393248013223122923323915524915471668919921883820346632262434522724391997313313610280662160196381692166216121637182200543222123218115350132255242201632363522502432122336520124012916922541381132172401245133234179213212184314680108179583716621695104308710417919625839627832362491234301532512542011229352441703431117524819412331206114119820718014020282769425317915456656918226227951502362123716021967134245109915518010139202410514557603946223701506114891378590392051827817216022614291534611349308122222573462552331912284795158191110852021988522515586194722018217311622017719497199501351254315715173113611881931632276421680671082152542242119160781741192342222291252468096251102135134311661323824124816535227105872461471742047115710524721983161811174210189206164187297311933619475023811710322010675291071403017414613213619120218518249652291031174825123115818019922141152191916042401292431171906772211231185914871232221101372541656325381111202141230404889227902271951071021402824618920922115163452501187122020514218491157137183186681101193922386592461281822451011412001723741132761084942327123820170642072231631441633841005623125472206189161108228238962301951791217919813830159203127521541191856111325363191183246191188119177372497812725422720917871163371513411301223122327204185397515017923824510323424214525131341172045814868206414723818018722125119187179239247230632324312620887114183187224242169148161218144225154160139141177231234991351469122151361991331601381312222401291741091821251872818718321955451592171882062269218120717322714520019718612816112530253123221250246186117239113233572246292231111622917424359219165684227215189703614426192491763164281161774123446172236661854447861092414122134244102622342011206621112229201462486718579250179311171031286196147161218791020142134955921731232220233214163220336152509310614049412863110158138215163206194419818980244224177176217016321474138107749317624611470250193551811292311421329358307712017749242828320140226218137241761693032748412201022441772129921351420116050011805372417424661123200239220332551451252223525118920731102417191662321620219743212416013460621919437120931311141361224302354124125170245261722451321812214120142542481581112402716937155231249623672192217581599719772066645147223817528151352416632231632229820223119328819310415731252381813760132135419914624382351526215218781436412702351961437267103141143120517022525222533698116182178131184681101110971011019334212252128818340423836244731731442531499914522819698484210491693487134249101099766331597125116252242177200243135671232472511219222017022532101121801542049406264120185492421781064167676720101102320664103243226117557819724234225427722548551733760112172223133168112311318182223724407613121852523924342083520812817423720612511219712562474824049222687629662202215751285033881531101602252428990255160152290247187202532241412168615922119327137671628012295213838653180511991182216157921111179815769235867461693223623523023388232118119522460219177195249204381551923544143175181104217981432548415018168592452137793721117237105134622023225452317770341167222015624612180524471115170617716119011230136129129249961910122210134611234222992451941771231181231487724097669186119123925917433553519715582102291711721533501771121415723036622041821737813515115513025419324418725524919512525524249282242241831944965132037624824611115773205032179131782311468124160621327101269716949196224196581071891022621481255211204672237917595622352004213916317144151751801689154171230399920521262274724491491272143645725221615516815912422616043641872203621232462431688799130223137613191191081224140146213128177261356253243251421369515662724621887242251148103371957340205348948340206571111741472181138013511026159169215770119234534921016935692022479070136124482072547811625022313994476533250451123621719070109123151364861141192201281911771922391322340473842165181534016921448321381244022761681153038248192223115219224318324215520611178019020011918223610923493177882220923086116205146164454850173160154676857246831356265211763624550887645168144157791392291698911116060151124245206632195145110147941692214210462254012570573815423025513483714414710230143243119525212810225818562311074107208811491479137170162182234168249226103175901599023262961762462481045517250576113819953199351671101571911512311172511592011941573699222192951601738312213383921451031081379510815315710317819310123279512126819313521123619412483102135204524220615723114881169166841091120630215891398413225424692102347720411923320423020166861731019314197129134520039240187715923253248255806831197120451996315537322923099118614207178139206247201250148136209100591692271393118810823010517153109155881082995104147801002147147986920813127531312012612616021658169243816067248128107108145141951702092351981947254248177209438314116621615513416591198229206140761551491441071539044295989230302456021124648611361492163614921816620016062144221134481772124616120457177210431822402272554202952322071271206515763031120241253119103562191341641531331657913751552611892071542215317322129171685041922102011092114322110119193217131200572395119915618517812440169216461772081421541947962937541131858614524111817332061452381904921416912154255252471371711503911088251771051332552141492389187581076217611516925312921142117107931431112453017014318512460249108125842473025583271579018256159175153010785818120624221290203203135673118116625221015724916439243978721825314214818723720124758832381181662202336482239119103612342031272128712019143255218201244209218152193253979924517724791179126233205251165472311137925019520636228231174228711571372479099111156819111636112180214231194145128715797975112723877187221185584227125124131217145213517126252110183197223108141187209221191733723012210722024518218423517324121521818174182197957090227461831989510514982258521021919174180197194263162113249205212193111228154581242249087210149142196171157137872181919815499461811972232387939253829119415712923610793169231791992222342036646183147572457471242213142362221302618878191157872321832431861711364015311216557254106115210141214140107205185877914922110615312722720425214518622624629137189123187010783134170991341071622072147014861351429102227142381192392172332081862091781151397723186219191711401552151551596123211317349228122832161811981762435312618918792186118572452361152716824130611856118442441942411761151411931031931546421019512910323531341072536192707188123246186159173151882151532521646375381198138692441424748132177502171621163215110218921624222187215176791623030642201107826592821819020589251671585113101099257221172531001722222526824996200885011411822023312423216095159218121456646309231221481601031431672181198317641918554701813050201115245184248207241046415709561461741121551269316761423761207213147184812020810741361278139121321031713712617419811117262057952311431561712452117601101281235106831129151561733244111487232191421510232392292522250681038011312718419396181231965310224112051954174281118716020825516519816612190311842203613768465313394591711325336181163702261195211856240194209962102017915614612122781165132252413024719265148172241189120521321562086241951864478337811314012841176143154311686160204378815910816091242091171141702562376019827199571312427782184861349223391151154342065313276240129129131226233141811950160154149112172144271132298824453671479211160117116147129122209746594250705618127591876991172391183328562325712485921133612512461852472111007189184228418131154762402813233236243236221237218177205161103151203208117522513134676020635123221738117391488109581761521822478124126814916222421318323263245133734938706452250199502413203321761717268221185203371842552502011041206624310221999107204143174525719021425221261715115510812531739123615555217202169222235449721126226173912372451968102285768351381214922252088413214450535130302086422833157250666160462401771021922501223847435220230144223115211517493591561011989617517212333253210145176819738666932216237219157208147248237230132952501782491562131721082462111611241311402062292041232201571295208164109155351001662301351697191157116232251411811149422544741604517415713615020499101191244102632327222795183567715745185125381451112522520318921020117243116194213992091242302527914413373178221212502221917721725520521213122377632441952042181597652111201987522002547134104117981321231148842184741758851431862112661820108152014212817414823129130251197216264123221162151612287914611561291782305622912474729211532379134192491421994171921261142227761608077322001441851881101243012824213713119112911016214915440020716112569111521157191719719261267210513216468392297820056942527194451258717016920241161067213826473251502142148024912787561268631716910772132682484014119912916184196851411314717311464183193522350272401197664203239248128218198116918412792150232221247253100119157175124102127651381232332231194121145711424417585742517324060851551622532346885155116891791294013231184228207324723261160607512712031211716170245541391745159219164872401841445877915822732271182481999611616216515879196146484610923791738482067252103127931323614671472451817057164183140247234241200196248183362341224425225961851152243122146129221212381133722761106567682076825395139204511620993224817416179931061691251081619176113802101082071446016315165183192802001281202162718956201220398920638439423215459215541897615150791723915098159836252253187169317099602542123280206182061582373610939235732481182321172105121498625383186174142232218201215173906593261824593935320910315634014518424811372056240186164182352009225118466167196822392367917334115140621805212211724213938174150209185130146227101081910917321371281516816268198137651451019817212194906622947209523226911082351592541991432361409424820823222941175152120886910025123020524320017411420515310915189106145901001588244124328924934346667417219164501351404216722079221100812391031181052124673229464185222969159204132174192794292313111172542491915589621132112522263913336791479159102508719924623320176226208131201972331591321642061402061172042498424621217025011172192179100492291871002051187242180161118137229229229214919714137249142113201118176519323365197243227222545311421713815620523551182172137220182389621974183109171921821731142181772109721550251131171156234215185158218238592141481161675325121415324475772411252513218182187246238227183331389516614710720421954217941701512620815443112022035227202143122513124610262232205184175166530244228602384712422087244115952011951741942191031781752979272203121818519523119820116425110916955781992205629117243843610022415122221216712523319124416462234721842112812518757250151254522481922272382125945241017814727451431725430169243187221261271794525486123194205182184912372411835914711011938223236761902221491241815925200141661514113020610318792331493195161916222113524417313713622289232186971151611481072212015512383185132272201321562441031292541751191672212520021091151451141798715781208151113187551259823717820472200106102137200341022923373187451473572471861392381168422010624924419420918539214166254251178151462361412549322231791731123321927611244012218438982328024820833217751001121919124714187230132302052352055818321818011118210622398117182218243661572238817315924012990191254189110128206914517718321919238117396325202126122462552096419819519018095135179311161679214916313367122246121240195158623222222950120192199612217157246811192341632381482512371371559833111920322165183155227111816014714229781891236064129231481592072403348183311201575617461244681841324516130111971172452021243810622937217180124318201341841165222611499361960232151400981304153190188116212644818011114013010425419621372422043324819420980801511642152502452371152717324718721672303124018930245231420816112174206239666722422919814420371674630143417621929323747684100942197140238816968129227686425518175243323811587161213208771361931856210101174961680171230119224432123612221751152425623319615937422084714019417614056132167423531170717089212723882111701151859118204610816141132248692021451250122131302121283028169465194234733112391319916538326235994321013724022416848461193347916925233202252378424052128114184123140953122017125213310014511918152557741100961562362091362314751991841147678331283782261331602042132278168800124140534631111967291341471281316113414121245311123921613413311222416019621822310101786118722118621326241190221174611871921907812512392251971882512207416519619110327895251133020815418023321767222125123925818221724723811830169221826423025425323818817411119159236145915292428513124150771131452077121421620038691675521711624293842032229142292062441271701313720115136231862432218721410914722195413515017324624041361113332161171221187221184228131213170251822618021661841223417025512823217642221881488023903823921871718554581962321989163023922536250331762074833641034110662401321259415721915621818358649961122813542921962481319315759157209129114401507220322592225171249165639118815570139161424721814633911424222196174287550156207871271835323311483411111122323821674201187922323242322022612420121113922979135243174281398417940193178132122164248233801931479457142902269923413217814522619922189163152127203221991954320411825520336100223558315253104922432471246425516225578381262541297422612316147133707024820211812317810713727580175263912613427198241129703965616222075180123124112863561289920692126382917923117010958016022622743184952051812826245252190328153981091887964414267618311794138211138113201123101132190232115143226564281601702618541681613418159208135315819513362161642491951842422618822625566196514238155218516361081301419244160601826643160152214129877640128112751405478189684076215213208107103417715525012117208111562165226191147113793334924231322716218221836661861842123318758692944961515727741601546722120406216668145499065241129101971164166132158197144671952281282856173786914489130829618610885681961739619093198108154146181329244012916181254239101021998074121715515990992233712038134617013719518531661991941522538913914318318722582249101233601001669168322071866531052015494010812820313274184212243722552159824592722258200222861821242181477122918619622516520624113941125127186167120216113112095220226141625012219521233506328198851841925312314267701331084941177614920143148145461489210833137615458331621702341021341087423217124682431032047210758100203186324226361221422317113717146686228213117245229685816221208462549002411762771201841807941117203172114203170114205170242411522391532511696911620639190113211130146109181391081477517218101012249511252241901723780133167417722798141367319638165196541902083910111811223428171128180152361301671201961843614913314844144691236711834415623114883105155891021578197157811053517122843237210692821010359101845710320611320325122017141542531651561182112161712461031742018512941229142383312712024153351638725496323194794126223220584821754382155658203563819944129102224317788167150192429315217124520219415314921514412320966406520822012724287172561602521115111640711379921828135212217461053746738911091779424117319733255251127452491181051931708525155214362368823190991412391428511018786187238902371781031492432222291411710722178110247239216311222331202021892461567295711990514753197246237247571158171111882111561921521313714917921854218141213562236722291997014352255581562512439620616319015612393572475824330116236323242125220932491072231881671951391582461271221904616111518723921726241622312471142401601992172623920314165557813422310713712521233115579186833011937255220157242164552962112187572381081892552334521471215152122152492221061411872211451202314822322127175592456511125018915818012318922625347174255227786519114713721321221873336431231326172276878371471171981781314510239141002222347713511183123220384199211672233120618921315511317939253206645410064243129596692441541195178119491484104131972165198253190172712524913815148221104158253255153247174247397019847136187881521772092412131231235832072141981947134107194617019322362677611221185840629622218121318212315593247542192091311582310612547214250951111259119721122371735149791351141262382071206014424924492193211116979712431262920133124581542551004825194872021659922512576021811956116236116232218237216183207101164198235124189255249122160158223160243202135219691091062331215283206421302492481537190191514586148139856222482161751682200301701601772542162251761772412453164200228128162117812664205121362437361128562268283212133163225163245246419537709410513822618620322113222644334224876423716519817643199341845240181848623752181901183422209130638723115718421024138925818172133206169160153011382136961831456721281124250181991431282541340112249104157191246228332533413352101122314618412423681371903518122610436184255176901002203646641967123525320167126226501653213125312810818013150210329711302441821581462521946402262401560891842201632374019464182235391634089941612027491074015230623946671358025322817523079414543500942324417556392752273433984949166380100701844231173201731267423021457113551010521923821018119922719420982181101682181538160167137326180248721320542123951428020910199224455024425425510123963192227582061151131241691102031501087515021318740138293212247187882361622472225964138207384146178293918555781241471552232057717918672137189147072162247190125231392225922157772262552531021181513241201178992493824915520725120451103206156105231128251190243125518322912923132102208162141667208151174752461449476104659056119150216234752362402382081197232404317824208502421048401382224156179193127539921315814411522425316189102130162143872012234122624430153193717200620589756412314236482620215718775161132183402071082376918250151174187245894324920117325098251254502151136144203206202211150138832222116022787200197817220194255120192961335989234104191169219646132120144103195351202826657145159251591612511841111622211162103847113723611360136187252182182012323119754197344716918244136216636624214186104792121911961131642101917064123214261460122128188134152126249770625220598220240159625411913318128158111611861127206248431902172518916481938719323105224211312386725227151676424244381261611431851661932551861451362082331321002272191531441146727579439150157216822412227577159173311742421861931839322650961521424816316551481461411964758227166261258510310917163126163252253871752522517587126251822291892546616015895927222427368014882361937618856852262518414712722619875221857591936310814765230240248946817221623325324851811362171775315411857164951101822273321023322752312786114214221020416716810522763182473622618812196135104211069711914557271531211262062091715435226020646191142522411116610814250197207951791031112441194962571202132231942720112974205195101304912163121228241443925324103302428215038612402118421962128167729112227090174115617911156115101576515115366160728616167906224312319823223717813839208150237424611898209841881871191081468824350248162552619219901442422425114750208542372208612811625121292601422472002234131258122318124160120431361772263520421896521582408122631331830169641663234262447346232474312985186106240205645812717136351641102109010916321611272207229183238526243123145193952266188104250111301841381252195725010920723293222209239184249103108178152492091798676156019719431254240101911511681836183243938311423722611990701018968211581011014016221911821819619110920519016221316091172346501192402012157121208488640135167197631331919293262557420519293100671532824620118723714722211376218132163919099135176122199461731181051525111690248238138175171273220118793240185166238692231732272237022717652541754505916010083824023415619223241138219227191838724253142107236781751806611370145123106174912349410310072194952117821914811910882246216224255252521111477616021161461151578324292822335201181766153182601782461231642218568239241141123199932824619523999228311851591481929910017418523916714362181222575685152180199423810327132772524615518493180103104181491051511762741214924552521564127801001281991421192492492730217251156147247561981912271561482312419121161629315414622829273214124172221372542312472111429142632441372232416716211513522120629180187120200166248144205197131214197159108187244145101221977229691752541541602172461681011012368585204178421229430628223117356109217121209238154582261663817019121273118116147252248222522122051174222236138190213311271070212512337079210138461016915511385155117671912278612722517322595938723615416979154107732417024087156178111591828512620216218320411316265568223758902371424654213325418024817220013117517119411010619419120869222208704420231351066021879109170612449011118517965230156117616413155836205171662353225111241678190167752357104178223762381109565523144471624320341753011423697126682041612002326216416245137242001491365017166166149331471146021194869135207106351214411578192216415176211934200104192151461121673512222241240258521618050201528113520516819510385225112181041315010286142251801792491521122351431524100114220249896522765247193138240129242192190114312321253371511748225119020324615723145101715540142109210158222170621908111598227224372511377418316910620718570233100457712647431301912321428921413417323219433915011697203132112681741176922123214125316263110942521695233220113226173166351754120711021215190141482192459317723546182992431454618916578160293216018011552322455221103100221774192208268970781521414210151501431368115212731021542531932331932303927125411082402252171844288237113126155892102491811602061601701822066202120157421225188513119413020214021313965152249134146421514878531478422418723212864207180721039114515310222695330962402481621848901481131762821213820421005501371324982180228181081812119815287152005815255103228136128196163522103531584014144125316020301781851484114473587228111315910416192271751625712616119921622820822316142140140162538271051349179914418622475872123486676102182122790282351252041331371071202073414261351722412201321552440838156701755414643112830111372352271451131829425113807001218183802344022331922335610196911471592181661899614321513824721311598415820693874810224325168192271162391621011841981258711320111755122480147152202416825165247652501850128142210151216345227211952382101151334445116201952139523158217716522419614216018519181362377017072188245648415292134184650332223219219571227423759478817120788112611926932228129250204861222272042331122714826955995155598645224970341101451871440126133251192211142096566297143717191131821241531992171591435113618723818813106525423898982401802181297628182136164621020618222023931331192531991314011774552212805621819213221221851219323702411261616121618621289115802306415327196134234172211983119223523243135817723122277120652485104182382391322551232191431111622551291755679552512109713322111322837561507324100103159143100144782327388811329811218010317326639391253193431411591901695910355852391157725121851749893916517925517418424795118155110240165511913550105235213254180101121561481272071015882154621642431189252202143228104113152487224976288171137722114742027321087195124961472412883582002012024299771581421351261372515676126231823783652321051431413584218188207571472385066731562106221312010248163161198691806098110218115624492144577025137160195968301910570612814114501792521925221224131902717235236172862271771077038202644661156173226182453417817015718323553129218124119102351362516614691882161751831517618512719487248111531127110201358213139602542171231611952124019418812815623396230124110122492311364239481708435211312422902036723920912166721633625210410322178512061281231232531171842512799131115231161731382111041795514256941312747722931131105244238612320818497171185416417919923912219195113552227131191196063255262096014315612515825516214860972365914621661659519014518715768137156025038257216422193674762109225229145156139156464196180164342482271241398510318014729737023194177241225189166561075779521431846217200176237152240185154624224345124213244133179143252246129113388061262152447123714100231212302361913025110221186166231163617224102162231901771005215131606838315724124116420918520311089133200762316349810141200166146205641291682034518772156189223594979281792716110382174561797219624412812312215810761327115875102174115861581151181455118456251223615918010710214512323062143204125238256911023624370581907018314034207180125162228162224148124797324815191152524624026126419315439524763245131167551841351017450102202081145821174200531638165185161401182544922692253178633122716112324411919622415089232145812321539440204602241581543978219171869913512774184951881121038119219118815924223319316835135278126466267198118711515990159255100271122413513920331111107562341684217143541344742227878411343202152371012121785812294221621899617158187109190612402146420245932041041337126361481674521323117313510761231371661359423914218516614319117479187217149125831912532032381191101061191492531397716618732556480249219456116522213755215127186141401151862172511865410873230154418025120752751031543617945210378922453117232117772161393196138581161642061792372281981707994209951821591052471578764511913447106651183522181225115198243715230961872501122519224501191322611524625218172157251202054815934202192854123132236920414617620024629902087147234992224520919889127611371178648553313817914469152241193881126164916714152104347681356064100893155175142912123622326206171622323612683240250313018330171883216100138429199361312299732120832101585024222223844177235411812131571832365618694113108163230228102217225552171214245212191401505914314918720621413923191124481222155222521511717203154208155614955251982331246772001811105023220232137651366818816319310687217201135315919021624021720315424315519923592135171104111632419024198123169610424131173171172092382512287861901134235195392456576522924941167156235158513718417304171511791731298377126211641796312856243249145140176131132217254511965081821591842361712401601257217120120006112890112203172715241645894792713177411121724834955620338197137114321313910291125166911641631176623887672201862201012044317618010140138403566401226244381753312817121381798912448871622278511650011934663424823572181597313990176112225104292106170235144141124123136253511867912415789032156424718514464335145621043016521216019316485200142651828110161606894112423517140251722871225204171222123625251681065080162152312432501362245132206214812811629167769612212850112150143108120229806713860208871082215322250244082240442392482100102164220163171196911115017212118044413314430232103135152449213413216016712031617816222016043221920824841292034918620178254186162107250825924217421152262357144821713119620618219222431802237847291591991821411861047421225021971062031002739250648749232181453472239191661191131117122155149180624416039342201701282471421611315066188281481891712162321721521861942275314210251131928733247130226675093381781107649175906119103843033211919822920323023312416822001282131481571992331812219219624841194128981213414911122159401611314804901521822141334667910512733602001871631671652165422124174502324213742161101241229015064801582172142442499114115922563942714017625221286921822935851282032331021591011011681131296511925215193177555916323229338377821167411521474118108147236248102205895827811181241712422285416821962191411110824822820523020721418312418294113210114164821802082225213346150246102292011861611391891661429014813525218130161142111291151287124212420796108995314922541957206114184114642061754177174843513722823614424401631462824641185118108154131191859016019583141143809928210193245137238115741012814111325414124287192351144206115210227808171248252025218323717416719037240322024955022416319920316723420448147209855313093113114198832047621515224330160204187822044825423822925322312212136218137241131319210064171981591471201882921099412282619613521814224921016014523614124952871271065319214718448160242137126179218436200988425415524112340713024921193531821831992112824974652451322413322334215319123211113785101823403745215374521557254292471681572222092394196230250132237921836942883662421221910723241193163175174247140244762062451281847421722714417871721541516739196727160191955380924815297763925128872491812341362559227462551102411982052247917312616513022913137676128461999782072271127820311719431691181298378161125861581251021586722519417714117615617811184204954149250146712164155056153192472051127320311575205211662301211652301398224313310524930233249238172118267200128172921514421037824817687233124012011211919823024124921582251912316672205124698324712137211331652112225171632541951674130721622676320172249924020014710793675112417924612123756224920514711502128206156102199781871032371157251712492042612821112555710022611220231158185223359919140227128562439323924412415924415612824413214484255184442251909574223123632982242481031948315959159621001152341920321131110572431931501792391096225117523575223223922511531172351131351747522620113422469892021772014520320213621854126221219791086183184217256719721861522291422242415817723013018124215669791856712714123564173231112157116188331001865719820815452219146114232151475962193221209457346521917721792191821639114910344742932222912995232163110118709485135464213023010025417929126179292020620121741051372271425513859781111742502481011091772056813919632158861138713546105194151180171398051861365109566322513919221618814521715525213356642144119452131815715212811622895299710331461041891132491217710211714510224128206406810214417414116010812417981102764832811912564962143131581086527101807020742226102229137125213331991262432021671272492021991911242272119517417524920810717258101170491051845818019192218125197677115510518245209158181164211199142110802922321624223317110913594239581035712020112624817822784173231661712238511724814120623223515714521518716211024619896124166100126147291901792026416822321805852081305011273295221522521991230208116248245154791581511579255922295221702222364978192349867179239285612516322380165215645724913613120213168507129218202161401441724108237224120157417229331526156345219510016347120631833011232110118282179413723637304168581582917218246148177229170151192296116816810647168238126039234811902324419242191121472527921612451219151831946094136415851851471957913123168578853231157224208681752513521555110128248344041155722301321141287720715592861362262274178214177110512010132114188141402201842401714879213113223158589012128252156202671502246510431102564219134731652081141005425323913423472180841861461931291752110218314412051606626321599265157209171682100158108414955174154224118128126182201181281931295822622719519701784961224628413233194203392496525478212114227147240284428331191069841180894218114729176128657010516121572362892125613638106100172157159129237281651372118025541502278316124249158108109018557153703501281921721820968413815616471381094862232661559931551701842366086752893119222261272921853341402181282171016231146160191204137271271649223258478867242242453321223219649311282206153522165414512019824813516175105621581662282051391196525057155711043624112230752286578421353612959138213951803113717215154382422511015113114434768424971481761326412482110025474169191164112721921601091444807499533421068022323714414516562103133871315521375187154146216352131992441492341568524322524523719955499914298916018596355918121101194025527676322414167114155157202116197118180102250240250142163155203918366225160155125151931611124824414113479215182292176416712815918014415921621011310819462291991833221988181232154421305435267216314113718455817918871183245015538188714069153185148241215218204913151131213962331986060631951091661301872447510515675702495215774380171031482010619314212512122816016631772361991495417841311162054666123801391532022241822445225531541542051871121551417817011118315319925535224117241138801123926175235174156282126222146175207243311814320203231312759323920714065230122192451231912512461192211151401363521712022322014512018814102318853134232819815923225487193152110210019620123214117922172082116248392472371762501331263110127612857178261721561877491611581191932202351754231205223619825282535722017811221511161832431891824625019822913436222507123615061091271071471321577202062461402241901033012421721838349187752411447828263724912065724461109254742407120410970132165243190223304206212121541101093516732166724883422852229712371041314314419810002620164132621872083316719254512151414632432231206813420912613363722722432082132244174160245196236201152964415321110610611379203243762011911695194180224714892215212922462013711747156805254183193127322523576391441551631251539218100144125128244649897402121335223625114325288321841592375825067182126224241251311272134148851548940126251932072377192254333156822432883243156210482545166244199146779803759164229227634925012714020510718410220185167239247762194776219239157942241571542371471815518039238221191772556325515425220919949711451572529211624251167837173781241802451961231557865121881832492041911721912421771012053323517014318318230179211941122716924693232160179198868414521552145329720832428322191322295234162249411495511720920317020820122111253215922110121914217922178179182109392362181425723575252202127107229254156224531292241011021262183721168207120765441171511864278912027911112788811339221113217340671689825474013112178013120422319215018612620921612133485156179168252248372455171241382417613531248238188581001622131191782051118625602172256321834291092456556220362510724315716414113421981012541471386411419018113116129318510290112769672032981183422614573692401481301881341661492286852117319252036923024511696252334180925411217221032623017968122321247017541711362610793111081598316444107115174233242166911181585110159168221499414749862963842521087462331902261052123371821861152191607207155401431091042502321651507994233601891011601961181602161022481382271081632281863814617322613625416239102692349221225552224225110222472151212442131842472151842458657247875779521371029037125101141315918982249209179457194235189108512193454962202001531582238782147510315431992341241341716523610462302289614812421124937173250157239128222352153219665226176558951021922527320014012243243170426972651223163212214201487145782329971202351382933970170197020228173241134114962358321711014924522296422241541082342623615915694192105144817010547319618621419108302121532511651282183414518516316243238552054617912510510818775193159642002366422173313889238162187104173621032171252011582485821912320202297159915032154163124118159102244493896219366356211371451921181322170698246108190310370372153844913101151031949311410010323312013223522601338106228153209560629043164205142216341351459018212315155128396119212012131219421993615080501386651721548623958213681353016025221910910217013758821120123120271121372121587414655188851602482241454011216470196892300149137108160155180331511033145244021110217258242681947113961635272211017719337186131138120718721674226213351409713520651071851800372916224322720055612206012024341414719167181462061201192301511362151381368902402314116128842089513261122817324623242182193235166601641200140130142153060302421602432626911121166237207102223931231521515238130214516207108116823529244228208791861302351176100198227217108189201832323024245019235926144423216424672121366616816885122128315125380747612314064452151371292094297631327713735303361112222154191412422398118331761271883268481762181154184196596610623070250233328213217109293954183292192121242481731867995175249248213154143951716318415023715518094126130148090203197153619261605810116960101129751043918835132241010270216128519211057795524924251103104207211158164471871818410882294710025049254157184107174209196332384203134204160892230166168119179529017514098952241105204102142802202161408513187157104102721271141767822161321241582454397100849551502252381621902120818521311151722233198177101222381191911421236422122896149342522948190181219111147195882003189915523973191344152552224052106137111015898225170146893412274331632241421531191425775249902201531472271742157736563522345613114664156903277462407942876200151132236120225538719821715816602421702241612331127211201619714310312211841758323494154111032384368157579923047145222163177227247130167227117152271283816111918351160215172883016210015414939357030731458421392363711222220718209515521629478673122222824220022215871652091424112322017933510524871191561406188198204287168501321218859110153501652402461765424091128107585168164231671818416723012116449203645825377257242232610231239171961813022474128113186133255109104253641611231221454816520859185405610517518740232718324519215152392499913071159183150196120167229121481193855136228121631251921491538184363259241477601946122972421646715236191611501801241051983025518011619113214423625220025524512721163611481242282432089913513216714651221615725021624219625115578252251912362220922411537721173237716912016838112164581601752127512521894126124155238188195681572442623790291834015233421171921434126631217325418323162245197223232140920511124221495114801581771056310621311821670113194237224187791892002216660431688254642402499560618127548923568643193239831992331411093921415213184670441706617523516387180177612420620121032017382262031741522175463252206851262441781662162211915121297200185172141152108245237170112213941182129211880151218169752371171017815722920623420314154431425883164167214991621951279427190164143154211132241511401853022424212814711711825106208132207235162102849720361113215251191511869815118722710489176150921371501869915118622756144971774311816143613711250152251172410019515646981691392492323316216072008313613317910613614117657109196661032449810322013038126811471841687788208196461689910310114599141653511765672131253211902532121025410113207211431748215421632521066152893475918265113108992431671751812812493125114759513715724624422229241133514930215528195246196952391389220913545119134441181344411666228414118173711541887127197671171583524530211109222131531101782112727151898224319317914115919021212320110222361821941171622141071866558922255785239512212325581239195172418091232112181898192208224822123621587616640210172153911091574819420618102832542229623713114915825322922014328172148221822261699421816019811714412115683132201140492185395586617121048615518719316016192148662358381209572482133669614073232431019819614872395637200462457216185190196182179216134244035181961565211110981350155103181716741791321832162153095129182185121451959249156112144175811334323797202601397021698982081042262531409113124211411014175126139115122164112112121080991401781292201262001411219720921272202207166228417812415719721722732109244441132352031482232282436719913897456249991317319519719941955490238141061741871041118913250496276174128193198371147184225213367120721005124418087182381422121441998110317729202311752315210731128417249162921131023358238142142461301301791258119323017210158161204238149162882613841931251324665173209230666187322162082921817918119119412116021089951061319140168222555132164213186165142157231109123731218465197233206912252456502242071151015111502011311814676014224721913522510194679376134194243321784271700220186171152182376922513667122271819215927106193371817871571822089518029173246284413512664940135192502191182316382202137501451732431301311022541206248183166287210811214502221298205831921671615815212160861532187998615992636820148824174176129152971622123249161881921911932035740133412153137240178216391931725524415423215196164163224660240229322282412017020110016320210111191611624056254178901431101086319015324641581811812532483810412841137210121222701251021552301722451121331351611971111882147512320690113984314818106135166664772225921141461592162101181206723522524514115917399698924792118251661331329252527812716122313250221253122241371978713025390368708913849110764915012487117171192239126671346324188216111129591552478518023954223226184211732331556414312783247191221961561361450255141219145223136222423021524159961021419551061981574124411423976249992242351914619487220372462491812057058221189111841976730331269138207136383724223914418141150150123652392098819710917212610141449954237237618615315439782012477545101283613620511524013699180237711302511522392086747190411401323024032782042165710418614543179137115198152121195190142302461122395924339199111225187535923711280691601082462211578939236191182171972391167821723515014579252561630821936117919233233157231220131563932037824225014522421752032321081761032148486148320844434232475723211842697521124736323917219611502144214460961906476151282531915211118143160521101729625020540138161132024211620442114226230169140341142501033615810224118511332179208531792003518920051185641541784744578744132552019979223182152202553624726122195652341452441419421331101536923822812518015194128593211331361665518466402402002182391568696151184271511102331331101051333417866228122167237244797710731422211532230952222075811452233216231126199155815825221225019619921978125184245228123277825511825322979452714259170138691311176511242184218922012499216120133681262201622412241862381391421154512914442155314514777210182991552341519049923516416358123226111133666152202341411875314411617951218208230638023816961235164602381606223811825423922214418876206661751041111231184391893810719519917025219810636195181302188243217217205170118612521323821117864218168202121852974322082081752211234191162101912172551215301681871048724922543154139118111382083785184161351121781971191601988389108431911041731861001754118123919617556216731417179181123871651712620216419686125201941231971715113124594227109190512423231451262274229076188234322921301846737643676522017524638762001312512718912323569253141941917802201338448662558167137961711198112572163623717421142180250205170195103897802115902381101961601371528441431822511431194782011941022114561012281725098703058213305621422851822395384235217952292179541238471991431807120737151174981992381871205891712469927329228199551182894223250217155170199118646882031431892131262287717613227186242321291492062086993224114872087479200114111248985522871196236138541148129186168109221441435313752234559142174173127255217166143942818410055219232619445156169151461821351408512367121408513971741847921275336200101168218112043018897170892021021663315188333134426920832201911241761302214130143142214130211115551193414896165841826519913520923647219212717230181941391561921616655160411911616822792442261196532192122811424982237137609648224187082161621682017010016673232201702202113111513179131131341331112095194392261879141502346320016614419318316394732162441061501790361921183426173242224153145133158101122014821852253207794296254541001961472506823215330224136428249209306222720689628210423415724923432133152559120220440561832720813891112119363466147232220926486220856140481341391182011961042793121939148135621771441369107230173202133161302484985132184217100151011181249810815812416516813323668518868200920130183131556927254915532476616119316717911713320845204249135158691072491766418622418213341201032092541747511880232178131180651471472462265412516924564371321291092071015922873751272374211768213156113130100131222354790131253131208671232194821081623117465120161196248757391129719224631377462702205010299252504613112121911416555132117511635242205242243711129200791088415722213021023211041228481118179186232975410942390168571072018748671951127316019105479212951992477818910476112891116158218891071542331752422361872361402022213912625210351538198199197422392132161221381667821412315651051312531471131312446158133300291594815711419225520215212224149316419589101859914155120211234171826157111635240205792173116055173589634176179196941211345414464211688237199255661042438818110416161112186811381962461632721715410890132205453620842202832286216456185181245200134214992715514314448104252124932432251831841088173713641243523816447381286415221614614551241184153661255920813237143243723917010121402071891372471642201332231532251431292191318793157153108253222481492401231311432312371772531891298724020518416325221323311922210111330178148855725522748127481911123010825217997519021981089511170148381552432812859103253171357222427582211391112434213719011515415515071946741249146228124191164130160132216112723024730952079286160101582122025522032079121813410313721011132233515825133308969461082412381061442271442014819719140115931021605987715922029237188173788105108621582521151962331332261806615517620415122067158115142161815622615018821559123191561071597190190872466221521218831110191789245711367619118620542118592440152611851517728713312138179083213617623460114246918323919983142169123209111432372516111928224139137898192620152225206666013950239249254731520818218213215728142491166218722818315624012021462794824522812425518032092569182232003127215151126124041791825222412111119972101101192001552191221281000195621636012842961941926110719110919423823681763115132181815323774181748015215823914918287146182195474154445716024023209311241461252528819417720712414212722611224299235193188156250962032331554159255112115213171871821792382505023388992161384222513442241186442461544410617620416322723210219791391902031742117719043236169825214418031223172189104592192301911721025116243250203238242242149624217322224817122419317311251512211493923614839156581459124842441471272041212282482551201732455123112920312661371621935017514542172467791856711915313116621690121193170191198997825188164141553101151525110925475202801041401331423225256851262481782521402291001392071001797911113317122632349610513226177861591051212241723415218227162854177515714511523420813714255411213248210342371701148314921817124191942274922223819910928051361126196208262272431867217624919310215991212081241038495131183172216781331591064875121321850241245022011136691445621223635471772151501876615761711942301178111558104050143214215610022208199322724223217160711542532318420913918621657714865255421722482103229193143125141215643713615187951851682471381231191691471582494210420611023556190177253200912429927129142195111169781102386010773135148157222981042411912131552421011192261823718220501712441558624820416825313116114115216146541248931329321113393235121558324813861872007918885255254115205159188212115209106177205119165351041821931031822091191807452221128208171239146235112149136173255251151244151209153989911718066961825382417157116411729916623712825020213616613194641516167103132158235120623324122924016920221314722032244224154136131227501776516422137928114021213810455161381591291058215223724022941089483140146241212761712071041571442302184393199217177958571131175237753751661553614446714911013110821188234023402920022167131322531243916233240120831022812981121282171792181005896212156136478612272446122027158511084812617912512822968132811092302132684212925227625472104571632336821412912618221714202777199372071377582262282087952143591123871123597021227198111225453227703036143734790220204245011162022361662531242368144238505313316232211362021471852241383553137153981523016022711200628022912998892498452221721814321052401854131721542062017971102014901421871645215217097824189351310631956512522266121118751111533226815322716109219143551397812964179571051801601971201131641206913314246140561365016723903521118020417744717721151733213233173234512215619324310813611210912875178255176937419323314520612925224219155806210665921211061115119184228172157991171534013210610316636681861387361122030050131160591032511425740025524473686584671221282491133130191235161101192081072402512227578253204658143356892482461843022421161492482167263612010018421011517270681907337180154153177112103164140176212251251088172556722717147410346942441518573214301251776123262110245482211366391182441352469029322017771164209411610457592481213198271291281294422550134116206572105761165104572541182203218160418010317320011117019612106619714268104591827311811411871127442511922392308295560197177581972422285203127931281051251231551282523614518713925018218461146223412381221191192269120823525582481181995228146219723837253223136187223209215131220931522551894816380146862414492241895176971556389610410924124310811196391591262118520181203471251593616381941921311139811962215110100216228120671701282516916824017524917925020218721212389018376861201226221822723151235447825020111214130710413724336393191209452125912618395901293637791469032762019143141172522285334208791882411701192051952281475624917062408122974128183252211672913215224224113192115251126132184107236293420952124291921412525315123319450147532041081892013847381431726612163564147362276410074174187167223351566017289672351373121220749246401222441301651678723494218611371532076219240316242291351843114571246126139168237151101141918810024913836626198353521535117167481211871117470887410011616221519012519023919123121234722402011311583963180622431292292332471821582492372301152391114624921616222513214716684608231108104139186166140255662112783301258330498935214158177106631781725520327902531932033302302291931571512890791088695180147159104246153108241157151521119820931772032423216412452520314216315518646561199524414431195143255212823996153116224138881252188612322191238246321393121571512368423173180151236102101254871172256153255172156157642202381871641219021725185321120815121885125244822432091831862031561862032822910345202311831411837216111213822455388111412921419714610419513728713346208249952251791701442098615915810624720611423120610151222902072585240988721215620122115917533102187320921022521125525011623371175128202115617517524224108242153867044116198461191994711919945117197146318179282474490232140261052431472121924721412120716834231180494361911157492045012850163160251607240224641638491238623715189214147112173392541221111941786210294294920923463842316192231618114807391238244210142129116861712617665292402514263177185245240582492411411548391591421881656017789115202661131088324769135101121212173193295524410511517888131601067017601632441558524947168161175668621216143885161215522258718197179502232547410321724118326621241772492271518519921414387186931515471814762151227921412020553251206527439235371924562322916219374239177901911451061592415825522542105207372257611523213044282812517881210621687230110104111561091333601110391215179612366523857221231244171710255014551073623013825222431287627144251591551854103245232971134121811845246137197108134178113571934123388157818819423164282361472457104551152249760152204518469254571084943190371241171361522151671301232412057357333967124108219442520188156182186199458220149232111672481661851121661016341458818773153231819312841279173140103113139103192374820417276052361538524316411445252672072814116822102282416013731415419832237368177753423267213361981841481943724337015560148216121106962521727316467883514114922048064252089623211401517019580831532241271411820111302001071001757614016713417016941164456895808202164161166213818023718421941521608340118160210165183204190155140012083142532124527123719710902101231742162459233211291511413413887204119253392312488234238321961561991473656183771191140147202921651238130175352941120119184841562201225160571071371161262218853474177825014525411561932436619225133361441793314290186752371671122315112022072208217105104281361634068249523207547524121724494114413561921495920722789154927244237215128199247951182517424012824642001833998627584818386110427822086090501292151245914313030241752411541101481301455110964306814419189165781804613020216156424314216816312475831501317215763512614325591401892121371391914820424364932401979120144235251848108253374195179232151230140211861665915205703522012120915427794824224701401762461881811420722612748821491442057892525214524412814525225317740321491158745255117971662481914723842231247128105122551406354216151201248253939822415524172321183244602071801242391481242551961301601846073962067915918149233118232333547911201984102301616722812316623096570141206511021742042302032394125591194168710470632154517119213124620244649317412915363125217158157138013812252682402281865515713113217718712421113968731852221532516021024315924382492221022152151891631561462471602578108129425416348149127167246969464183137628351821371161622109841548510429183195944601033117822518237494112249131824024118224321961326119206164139233179121012014431194244212120802182541601841831731082201521136411263511182146020624419215185302402046245191871511219933178122437191541766236237105247144451789228851491902153711318712398142111106866812210811416625520712717244222111351433010562461372191371517279189111651222241894523163216822461531172355714317410223241166112671232448271244213142168235291455521145243205254671011103216324818886128514630184166139154110245235186226212114124991952312355223109245151286522719281031542414322914295716021011921710116633112188218191183842208523616562131114220186461866715168791112111581792102251351821961822511382276418121996173199961571676517176213046114820031220264200131101852007712521213044164165250147151436312616925321238205691079316922196173231188501008119621671212942880212971168617742116142157886017144510280477431301661001991736232451621744218314554311040401463862376820165171116219273524822821522323194672531322261117162177246192895313662364772521154732012206812716539126823017219717510817931196011422111704819012002491617163423164147180187198235122127242173225244121131647521214060100184815080393041711712151251128176183220163719121415115624825702442111231181552521961662141951112021421101281810425512415710122236228862292412051951012389523218110132309221116524100177179178168571401283896862295517514902141349421313293211132938533612102218125250421571483910515916270389244103441032351882315425212136221124514618522631822038019216244108186419618019810318474509241153172152416915023413922162021611612419823418815355632001681121862171536117188942047916522961013796243136128742421169211418712071952013715218973601617569822273190461081450301321801756934104348332174195536660691512116018870103276211784148772071311403421222181322211813378197501471081448722622620437348514819665191161302101411293451223331581359318076122205342471887078181576961876923710833198225171243321427209845224237331182066416549731951879918018481033382423211220216572395967151246462164124124014036128145417770200183482268621801022916064741691631314520848210812041191361431253143124135200182644217486522212365186791672216011218810192162134012926201118706615533391982356912022229163646816840182249182383414517322023939232751731854812812128482323997961694718169189961416115110511027989617822212316286121541111494622211714512423224134186138201501288100272221734160161200012821735179217110208123217111116252401591823813021735215014391604191716201302441429927228395533194229147144437611711452311999316416070682083012887104821420616499133278180230172531480185615735231123114173185641031386518643641214084122342341417669819815717224023724178125210722831331206010001042504011653196641337958520439230811728902201186523713320210817164288053822401275918209721643515205235953655361481377546542442045012830118423646113841581788015622020214131862432321602119871952647465181042079124116314221167451171971001331921595187125511123739513525586122224255176992481031242324817424501927360661514645126137249254491231571329143254120352411112181262014622417716794178211331022513623012216722136210102481382722162197156432551992440551412864679912010220122103237243742202511341411592242542312081402513012465240162442011918078224717521613699282242197918716523356257251221822461846693623911773101751411051532392152548151237193262042456461771152389222815089176463222595920127146242151809220924625315816410887815821719623923921542531171701282235010312842644292447445240774112732213124153243218235155215830208301246424023212518019116244019419915822322646732032432044211620702322831744162251283012862248621672126017518312723325320617592501386011514136114138602101181223616573828319411422683118133230298254251127825324819520822773739631146225325418251191221114246611392432391114525312091221817121369175193234160153150200249246168229142200171291721521819511020019487218663817018811610317359472162055225144416615014816120839524619847426710116745106141901614518223517511621514921643192897991104206219140213138232108441092121511862161711381681652467267832161001091618019310414920710414912018090526511519598242238104145462003151213332032181761017723216250104943048471592806454213117516919519023213230823242181171253228149138247159111611901261762181099417180162139184222291231895914225141158184472501819023279188571441209932225122632251069522082119522052502353415018716217511819944232343810112531316217410618322586414192741112366010978109079122961853916625313024519125482160188236454633315261062461293615214452072359824162184471664113582357230106314551208148185665444119392621220951170721289131813138106702120624519596147791111572471563823412295210748744244192180601001686521087452361752214841397215846515184119931182334411320894176209178897014492182062392402502142072155312725012227173312161725817785115114219761892551731902995116238888610217316811515084153115138164233142232201182200153246152569220138501186925181172895811336527245812471711561171031832001419120924822511117239633959188174247130237116141120185141188134127712621116614119075242240217214224177901911931141051191691201765011218054188247178632081191971271685011218237202208305721922582192221212519710118022220320817216711239518161552331471265221209250431081302235219520515312519120915864622413215710822117027871115621582309079762357120581332132287441860194142235223315610424015410615001914198622378220235215429331278602133649180249262182532402011414947232436622597161137023664194184664282041112453717764210212241811082142231218215815221660179301123502424010961192172718468341101781102187127178249126218221371910725482294921956610015411847378712623234901791121877308023266189231383445425671925219420958140421227720711421529902196442194121184198109162815222122661944716499212152251254805321831892282082051242501452140214122322318861222321171322689225747116797196481421242136162611552151951361821613452271131406073145014911211932170104164679571552052108251776721537271664282331201085821720573115193178179196154119289312825413513867691645401761512521362361172317320929182208153267013814215725737131121208912015501278912010715618724311616107136111286681928919323612113675469045298810224444226102154231109921511401224824144311191451301676202169342021121171291813610159219214836649075122192154841938910721341751610448111801092061701931972171641904324861200552440111607410213813028153168222461012722252371001832001081302187117161392411351954418160242253252018112309014342161461151721994137137101684133251152231152667154225178116811452156103132336617016022018917521216919146230148165234164518621412721716925116217325418818123823618278813782268214012160571079611605618525821014121295180237421772717011615516022725225420023513725517272545119352134127198119129631293002408224154150717423915992241568824281471072311824924015215102146010752172202472201558662116913362233692083162140341432442183116240105907111186761242471581461913713616367121641471276320058742462012491855216522413721528424763438824318096132371274218415453395154159189233232211811955537951548632782071910122120101211851773720020831809025023524506412212873268323184119144278351438913941436225519212271219248157301662272011523022443372161013221319412823197157130190301842031011315124464701904817920859173208471654844117191208392547163122110141224161251232124982321293122071125252498420883111571223723924116419510721512017221033025921815215119144361121031351880134172253194236220718015722618012239228248144140200220951652522111111191242521052341037357812423412523467199179239891582532472051031271071132256113975311091712492041742371641712381628712715311617620418717521216324716211523912113562130163246164852431671111823122156922299710424355180766912420919191168108315617914615918115610524319120921512142322211201001252112252451601071129129215539718318698110233993391744116317541226190803912516977190213153124751591207531119753124316562250102391576011216351242154541246919701551416692002408464541131111104351101732103141159189190962322402511623923070792048512524474103212178461148927177162143902331389423814294233137892331375179391161994417719617161177871879914597812357171102331112402610424254104194152773211417743138711025316122118115818610551361295125204180421161721951912321069224494816716593131160118442882321403816013612412001604111512930882337350104981028414448117910632210160656013017539238111148244212138331817424538174116197205107341982192250106689321238612130802183245192371039317761157192041561195310317211023512913117518330904359186190253243245932312361114098111245108958616447200210174170115150213217243202180233142196233246196217142164121121210178509789171894015958613493211132472003134160720610981159120171245211872342221231742331638752391821421491232426164211117222208319181146225101752419023380165120164218103180218175187682209523055842121087224821918111104752417113924174142381863630170246153110132109511423446115251111506628130169191851751632216624161076301442035091230232194103154113217125137142182101166315421315810071143650645476532492041822501611617612713216122207530376796160642013071144135177127242131391102051021691051352818211215011310416310759238114242205872320893542910723094184419522719177136131220240203334811718243815572159921618010212845276410416625141661676703150982352505225379141971001541232517311027248611512214866135148172097119120896154188103119145718027122961782011558477214521369571955318022161644310437334189101104302441281921624968163112166855021123461861516901619815128169332232180198183181413322948942391376035181120143120713610515222232219112187010916813021032130142201801377341192331610815977249196425333512402228186472191622218044177231138613418825442211692311782948889656623983219891307110448209656212216972196969817280875524310716216170792523923117518239142122841545112362931415584919229135122105374910987202245018342224891251771382167154178211562161327111221711520123289464361441111291207192432262291631620133681361100208157356213224143151194115708520716724015315513247192177722564139223158203164631211558117872198151431731571929381469714063173102113655810765314099018215624730376488229565282233578547153172247230103230805131101100205224190760218166581099112107701111379995137992475592457311229241451891971181312419162531121425011521958731888105206881702078810616921580921648223090125151229652431091902431091268714933555322521521322324660178223132462272501036124015991664925251190112521372440119319314083242364151262011331924965113121867822522325520912218217624873129224137251301252132025174154148437343161662301211022012010021023318517423689112226223951524871478310315312512824118122158481891925525112811922622223963183149217412620244211602001361314363246224143941152421371513010872203243743561224153784219429226132149243117456558238174214319620618323916768116631872327310749106185255214316724893238805940150155856233103138133611871025222255439623175220117196413711824015310116385711165222503821419623017322322620114233123240119324723823124127133619326230281172231914362191201451021871444716816014922025120515011473048111556817114283464182012110223012210118823714715338781215722466124055201239127242246103135146143281261121801242506719951239891582492472052312221791842481296923313522101319184312202142441857720397171214195150451355453127242862031671111812992223126104991992311559014189165601014992229578123961221226187162137184217211112081261061071111332191516124118313482167219252276295215116100253188442321543822617058236203206152475899110104162175169981111681919120838127217153114171117225217851246186542261703812469291861729819914401312385193139202224569161371692081465811673252421656223486111252146601622816324621187597810921318622225121171472547011944148192162381569213484339624919212223447219582058612207117146471623262169213423512524121525119166201296745210177141917312122415646156140320462642039216126163124185240162621021726116017190522143052175141491043269822582017403719216725233278612219382293315450551009912232122702591302221111821517645134346263693853413158242907919415658124742252216224173471152371882262109323822287229578045234175182461481871191505810646216661224061618416710461702352311111811251901742372435591141892096510713955141148123126169731881692061841662001531072051521057715915110327100251792916913414214818524622818524613237891941786010273701222244236144609618421816518712091207575197145552352221271742461832071813190215952365281229538123753219228598172462392141152171811792161211609250213244986195790195584256380301872081771251803819024711423296101152226172911031692511566011616494220872335821832238392392922588189120188129188128192230652472512171022312047221173155291471965301993215122853222792664102052011252261671551251139452092031142611511057568211983218928101206182249113191231683112681101301276910241841449919841185871284376236144908658351242215225510615890238135132881815414882216372271331003108522976841432102161625208861321711811227175204269611442144104214336871522351446347265251731682081869420207812186143163210919222013872481121636513123191139688011246920086192148624232787615415056163112202325490135421601336039262401186071711122151291050180150411291062152252621514590140427723767662469823319230941971023123451951681899614115016313721963211995114208212192324621896100642471372325110709540204236380839625592151441551617070122215372730711894010163132242209120188446495981391296911918430642116815487167621031691891047717165748115183311237735852381602063220212095136244931134898715622014091124242158181531231431531031151673264125198211318811660206245128150233122021971999364113106179236248198246163235121664118983582160103230582173872021914114818824312978118802411922187801092421911912361621911041510901452082051464041714971411981992141311431701961421271112521956711209846818422412081992419033348035232148891714861641871451542176371704822613823572149169896188631631739122418233217420620810713611102172244521265213156177234581112033712924618010179177931111371892542818173245231173181167458439554379109861562201641911046181399210424718716913191213291157531131242172569115672211774246239207122224191357699248103124232482112321143419910833129871141581192522221602283422323261221429710730121149209113224201159601072253277144382317450106889511023318511023312317186166168169239422432191302371642282006813391122190871226564246126239248119190247204381471264237601962292271361081762421075203245752214378219116122465170160812158246212532622719210943416323018324519214236029122224575916922420915115818116137147243132105516411519223920123631591171441581866712152961821524211421534421692241589422415370308696246158233594105514622821057615818752235177311911212231543160321202323319324715236160149312412733193151581831174244202422402001921311331588973232049612222478251642461261432363110200150189951521857115615823315914923215122181502339324817120824763766211440230216167116763211582498122962191052321292471831581271271152331992253135109155143592027959171206561052065811615811523219022421695234581161979918066568641261733695213332305860211234119852712193311337208114108227641813915763208159562223610961190169253212150121692001312520453109228139324485117228178501146925189162136918619647411292163710122816260201781933211152109247511802512051192482072032200837211441019665251781601293132302321401661097611717960141135215118156222602094418516114313432185209211792102518516239711601972067218226569894315722329181216271792122718721619179208191311688226230130158216107253241215718150186993822811252451621931022392178586130121186228244948712351379939100161253131262272371611151541045421731691342230506875138187227232451134361137191781624521242236628217326160124866867742231232022564131180191781781681411852141579680133771822511521313724410120618620320693229238189851942542617525410697119153155182216651252229011761219817824317218123824454217145141109135214181309021924820117113311892201222321412061152141343825547180137183581151744111824414870254102199152101971303512717911018641227186122215821231988212321813692308589210669124816260232122103216130194127820240138221208379125315320510979517112723913319815952091591823043231421501116723516516396159181110147205146190102072541142338810922888109252100672507624317420611925515025120221982193135794291701381591057524111149480692448718724585186245821341066967181662219101819615776110817174110432247522501041513358107108148456513430232437116514113470201176192124129216242310270112225119917918088150108142242111001212410012319129461316513018821060492166016321519616415367602324410318052163204726088502427953122143213102513934226136839911361122022005715025321002083701550147440135214810610059111132541411871646410418157216571672099215614412512823341961858619335418217624181011461215881131432011738791132101112021081165521616142216174160120161783021033761119664208119682081461614220810724720958067129607832253191413410432422398466122423596237727154861361352541147116483107891411045113822618931011350672471812317220811917013322815051198132781264017719717611695230146128382548916580742455121901393221933784724332348921441478214112310317713318212289371821542432193238054022812619271301946411720618213331912381625313351231491201311891511418325425218111486131501523412214206223108552191531481315201231971602459624920062533259182122611191672619621114122210898158621516113179228224101821242160249179181120221517219983131229196203330192185105138253146211108179471365685511919412372384111722820305613123120316612183185406945820948212598979242149741029467184681711121121365633298242239821412859371218643210333212212167199421515065871202264682184426435187462183220681606069382245105752492092052022279164657143851071451382231212110145361849621152531122221701872161221842021011612212311345424486872284512519677109216137721677502407014718232771842131512006819212782616402916169135230240631242243276122254251128582511036124093225791707192107211141199177218114253191121910252163246172221441029467228193341842391533994181245136220238155852281499323214514523115814523520224501632121191492491312806471412112371406159161156140255154242207152182541741112102222396317914521625526401291997675138209122082291351581201131799522646159212189941691231331602421168824167236100118417146141102818421962144158392201901591991578324762181773612011422190151321591401251941801241671481892083110236643261197192758851103112818224391542211013111231617111105197523720641933577432427942178233817412124025114819215413531902432537522312712843182522323602408375159152213122192157201017930489061103170963118315641513682512525022619522314278203112531971753522225132254179791951431262341192301442322047114381271612051973111017361234160442224586248132154142215576212249772142507621374103234125121412547510933431782081972469621823117421099162222219020217113718421425213952331414821423212510732249139158184145122471361292384320618412318951122696922223413917814469571941366989212162601026530189160136928413245202672222812923622049255571531911612051511321292041271662212312296812118816089420970461691941102322006203411138802552172720519922226109240902097044107341449769236946679320920831391402084711871472451981722441999329136952381399998322698961695912218515536134200134200172581161682171231848558165816217920121216111510820320925852321882213262140109102051220181601752422610513501681632301814911157113677121391967841194166149225115823212914841121148174928241176220157649812844336614012201651051941678516125324522222185162169142224121772281806012018481210832332149322517019122621085230548023553882352138737236190261961755810317358187771251021552461401492341326919922514110915918921312411210923725147213125240146226248166201262411732382129135911124523618516621624987137107158100618134913022523413224918276677520212475226114123242989123612491401342411545411694238639223750842384886233212871082132412492182307994109249228117213241173131151921610167271247021615814914777190211453322713145163181241352132019918115332291051911401272282052512331751131511599616842238122103246767124872131180116016619812594176022240193874912150957313422402511376239171622451241214345129371593114610180221167145123102732242714611614914631171202557613931228652392110322815910924515910614634512443242115151331761001242702164215910771416272301641531321147101641317022114517311201447923495113269883173224822241361282013113118224162148436828249164446636210131220819212888112170250169251082553484742201578112418318115822424482093048105162215108138157771208330210451661331852001342015814123130682081251641151771292221612860142911846834207085192101310323740129215721016114686512822667213222421310142751442392099072111486717924572281721307611413130192173161106821412522970169131246326812724537118726522523241120571546577229187169178541551142425015383162440915102327517318746217114611288170198931361652163251146452266721311012414501206323419412867191491372292234143562346651722117622941571971646411623109200116316919815021313113188352066716412888243233127017366632241741901524438249741848123205577516411617912513838234681151091269618095232341111042012212291863825275125244231571452432371262485411623117380141032371561903554222815729121198166234153420225158110144782141211199417652331174244224235724820211962589119226512532482228059163248164751719987202877816322922261071324415310514632521788102166045833810220719612889332206831362385114751830160942321911015424174112167237741716016113144797392372618014114131431132121571778215918023245118244611931461151333012818208158177208157181212159183701242241382277614724815442248150622427512519617323816891938121553161215843310028324916119171472548622361231192232455925323719312695191112461375025572966012817912918726255223191982099161152127198311312774610128491318221121425416952261969215919625222414834239240237631232131422522481051223018825210311190731881822224120646242722033720883123932112471861002361173425223823717024817486232323920218052575321545372155118964148146397720611203601615014625119620327642535130135217246592471923812368176641130711581212056154798641481341672426021646733661202491082819011440200740679211252220243167192351871361576017621553351191734025224155295512319972193191211114157146118211226715318082194180197234221645866202291508564713516723158165229146132128198160255102421571792429217811493178242216466713317489693015352222171331292176918221010419324764222309235120240331932471521372242095316471601211901533180772623513315020830175691588918054128243126668144114192452439319162232391561811525525585111873822101941791621191882725523512774254183247163631202232471472472211431262261262381442432491431724719019116524818913151622168412719670912365788229512092456211286022128562212286321723259863530174161428613864131031553166261251992353722718024718811681301246723185162101937917823622838802049119541215181225327237199557653731902361421851741398881145352081623480245159151720520131032292541791141912515320710813511616693502212386121112980502173815310815120620025210258252238433144111138144155931771391702081615820988147196321523417124616825024418125035235134261962432342401217744024582103521761721439098160101193522113117716015391161334711869220574239129120813345215797243218801314221616014153215132205105112731992316024059324415638106782751208232167186236542102610420868175244369323975155215384423282221171059917381192374911186180149174441314211716849124861491762161538145481711451168195231021741391548521017197243157819910925425311722641891610615381424521510213160353215422917418922917412478189191194163251146139246130189250140181250529616358101455910221712610010721922545205135545312617865118212114168761208314912675155255165226221149214119752541831672371437249175218254105231111251657393236671744151502512459517158713739261641341181911851419211916217282121091622091631912201902372482181661951755512525470219209245931512366105167751911932021282222031931312132096718113719771117953237654190912549410015419915421521520872501786424015523779775416527218197023512461711891982618816143826372112051902112056219131468118222215121663591041224415717512301691712921435272331322690372042013055502471796765223110924830133808248228144143349863954180249207182250209222151401538991447812671381821381111817489917610620621511313914710823847418217197182198715421860148814314445206192068562512311831201240249217372004077195512061411441151012381861315610712122022513556612191211918831119161252408213751472471089441151791161155716242188391382071321964217962019218520018011821711613624347222512565311215124856322911912127250203652351371421584162109401471879571292411312536718169539831282110115250395516158200246078166128012411611413689821311718116455216142733612010642101163161166759019264541352382031821023500850132081151532144635157311939263312022059751722331781941971001332110239322180941092088574106411115319189527011738098139712041351613164115376418015812369212311027152186150173310184199127103177141178026371822483112163612192341791641219016691871697145141249663112513145112194229151932099523216311023234232441188902441642462525480118802431011212081624409511247779862601181561361157112410407821472032217203220134436010414546109165741661311907516025414419801615220520714379230232135230521531762401715419185243199137112242272071461645401760130911021121731309824945100230509914010916713919633810818215717147731804622271343329169246152109146762141071446616601071326119711861180249146852311971092181152215417991199106220191208133127217251139329661981292221529132411831221621101161342212341371882172912685231881682421598724811421240159891525217724110361240103252492403921433220252129205244128791063317345784110782021951652552481534510821025073193154159919024719470814881847520211018321218976152361137321922712491449252146112812657641210021561662291742437912085209719149352041321869613516316523025116420132166239157821824320210212319333219918024714195253130719139120224172321291351591261976146199432051727192203652022171781021821853919923419322832511361770610161377922323515015323115818420345347120183751461582391532022363044131153247175616564204208122223223121292207156125241922151249995149706718811923671451105751102191132692179243931781115717924718522923624320042240202204151166229218251198101907912201302311193351514630967116144792034143173119112467471854713230240248221221922112232211164782211163119382542522391191261205225520814518014363242592481612311771312381031458156255216170244671392033110916924922090118225284588631562132052211285221966231762055225114321574620324013922957864570124188782614821723234911215728129341039016416323411515024822513230152239880159223166621831323625586111220857721617850152244128601122011687223122811791141918918523917276584314720411864121361291691182416815524146012219264206667061011615622225063178519925522524191195169351412221491591902141149821164173104782170849129177160141100194024232108142157361921650167111577215711041421161342416846212259195151241689236140882341409021471476619811619944234341675813017424737932397997111301631038520911186184691252208287194132441722502402142262472152462122482721273752502441491742041657819417250105941475216713715582134113610197194166171229132207168194166213317920220810761241215122226166216512553158202139182218827210316015521315813132205212389316520621824324621811518213819150178992218611514157231292291991831811241821852332241982461951502212393381071251754321015091222158172216852512392542251555175176221121556134562524320316918618374619924615061182113918123116146192165281935371107201137124172222991802221251622091151802061811791169123517718153159188212248249902051971092211011438516215875210137250120671231862548224896117250682271581547919416423516825210341302351302011965219241168193234164161154176225902331161071927612319248109593549571372311671948103331196215715210151761331972071158153228214802228356843136014431662251222171463190108042130243126164481790217462481171180194184220101178137142376107489362387218724724105497242822481165083756316620877169248631764380159812111021631842281678312951141842111404402182123134202182124161341787521215615612418491304610524712590248139203110240541667314412989122328846228681232081292341511478522102542532001317522037115118391767772113203818217624471420734296454146163815534681592394117520092141589833121424520823825411816025422859841118912960228162131751288915724212818167452408519712172521447823018513226185871817035212520130213209218610215164717976111728172213111923719010871445496190671441208310031961812448756210262264324622820384235142821145100192193409724193212172232570140143391067168420567127411182001341197424220722822913314423025415350188221713232214833618076180186139214154118624879121256531241922525517110721811298252122151171724825514118065103361960085192229193117109248851174010001129329134163115149121222106241817786568878171558472162021421111503122319415116208180612192291151681941251442372461952312391237520954909020885127011060911411551672402493313219423346531181327522441452325925094106143122521635167167711847296581153249711421342252218145715958215157216125276916310022865213136227652014214633241662718939107693521110189372461632212310925175292501054333180214901191931141602041131902051354431571755521611831861521136423118851918816424055180751669068352451103213781258514925252891525211942452472071222241871941598815020625121224184158105249226212222318034223228252192228130176212347523116193195474879422423371598818389203378217675124423312116217222151801891102518511015318546204245136120249871291552062821111517113742072531901651352247117560239222362512069512023128161662281619419121219420821216220021260552391767131251251845011602191452436217815220255482441926720719020224512824091235119015187724622373235571041306335958166158851922340147135207157121238210012843527622152122161832029422514232462011872392192243212020322258254109175157633921314585224177993115381142421571141015716025232148324024592239180932063349156324118096205671074247633212023265193195152081719723222499761560244236861199710619048991593919223161271333024818591198472205012623815824117412323012623232147172189146140767392721161542441111261472522171612366715968126242190247103311202825521222720465151243318995250120107229332032301471421882225112173255100832082089621210965243237193179451292271172101617417514542175137122233116147223761151921001632397617922385117196138421087317127034631811211762102378679236173190120112221773921862101017944521921621561187906413286542064121022125451122115063102102401551102471591062433111124629111246155108245159238816014719714897139742321292082335425521867107152552372472133711855123227200621122402451349927250106696101246521491671381521501357620113116620129147387640253398518323419241853234202318018166851294196211286348173815281450476832452131218229332432182325777244148341149415111218155237106111234162622492126319125223015519424513020267174191095721124293115170189243234188891971748910114265157621631381558669204501251781601316719520952811121815241892008016320788171255682711681240116135255961731038715316318221217418319416515156181220121176218163175181962001811712127311919365119193941252148612120290119222811152141902491791415323919181251225186246351502501120619521146233250168185198204145752512729243671361291032583119125908024712920711785193661232307675212686719280181234053109235781102414931512361161972195875447422373926657932116755871252481141951931835223123712220319319716522115113012320322671701792511071181057511925322312491171395248471282710291582115625139225889920672125220807722496181215681631161822051271343823916510810333491525203167115196642201932368958217418422109819220822641341307095521282382721825214519410911120132452132871622382037821811182218139182250181231389201111626160539381992717831633382101215820518137158941134107495415769307043249141642282619624916343273966314412247332677215317224715410616115585322723747201281471520487725215523618921523275237112107130237813226655210513415520525016310614642291808138254130136232512261421032091021061581051690202331907578681082233370202209831861004123241242140214178456210760721081601459613220019518613711419220981931271335120325655216544056104250681631121787341128751442456518216424151220161136125441336828945104209511591643921015146741181223112104621701046106682318421211442002064111531977245718116826176495106205150162208651612184203596610496222320719085232721880136102282194916113120424219513523244226241121221321532240226192251171181789312818023118211314332206110145200221123562478515717780158181192227120892432925422424795481102166321717610212180777121281424120813220923312617016681442318611923615115781192137724892171476233401292171022338416312017620469123214741172188212698139242148518462726316863120636314914015556203220321215289192169187242057019514019915916114510451841626012414704657712311472507271952401163941640102186143143150631331641200195159165215395282552002053163128911647152222961871512621596244972321382376465724617753196144420831251801871681258792181056182229582232381791621018817411898662041802241273207225261511294239160235138141166216661219717922625238197249205925252255137301602302532179523220724816322479175701512446024718012479802431481241051141266474657211412956362351975515777187253128163631172557921421824819812137189227157145396129206204103203924222085223978462452486796127112524721591022312371220172471561256311324417602482126727157615010189179151201652094193254169133334113320916924922549891111881908964190521517212981632120128176230129311911851975197135879017440458720024408518674152089719222817199210731931241871582194664140247211146951051243221512431624215644179890220433611021979232751142462173823812220419823578666232120031041224717266143237164715611424229115102811413815611524665368179242124178222171973962249234171130251238135212185952401921311301353016601942502484019525322312721719453971754818920051189200318467121522446462441924712471401591231441371601923510718379701703621839582012532151272311923214718079631261244161228200391622277133167631175724714521316579182861271901732371401158715312018841120186531001789170192119182149361937675192681312231201572398483192124712001463412465225821123663217232512092242218574251138168206210792338414755571342463912852180292234821123411510740256316211529254111781926969165511242282546165255172182042191112620922305521322555213304822130522132260209662411191561061515483132464019523149225208313414216024138581262482141042501512531371951322624617921926791082381702441528513420534131509865196717923921881314612478754823219410211733179157161612515225115250481781848241803349320092103407933187129222366310065199661092481786210278295716384312623914923716113014679214452471649223773189218147126246223222811720252219471581581041271238617711990182103168331672377612024320122417718217257237246252123755138150204235662382251121823269109172652513761752322271501811458711717111636459414745226126166425042931624687185246871851179511321493116208156179831571816568952264459185173233179141131591888525524118618220718310678592449517785442061811961751801896189190253291725310122623911520367130127222245242989125411785222117237246272501481552211138753171392422241851182401171592099015176522376911249153245170115271341061561982760532311832133112417923716869951531041663712418862170183449087154160187156222932492061351911866102252806412201811082491372242391191112334420323417113831174151992475112222952315321122655135119101177198207206323143716771100128141981146125167311010710413490850210111861422856845542391371111401241411041558158111111191451941811431012918223319022816499194128108868101371371425512077541222114615624518033611596310223615915237120228841791001666910242135204721642523882211182856816413442201119136239461032172441101269153862014483101524011915110394581444140161581191795391562201153712861121331287118447107245242068109251957010302313315826103451677516225410028645813828854741321020112111433568119021219716723720566582124981472282231001472151082713420232053815519284179236819496212421312351477896110661041761991206110091981411721016024540132235191161319513611316338177832042085381171603720068488771974181541291991932452491018410141209207361915464437116197868022001988411733422459156178512032320105254202481524014113415193158832667862108963313211619754138211912121081193220612216148416624313765172192170207901126204231816047242376912132247250588153140022425315625379556717214619125127143249752685351011568914432268720193183244209215213975177146651001609371217619371541803122188502506164755741572121671832412212531172311618523211648232172513212196251249206167922124494387933112116250261076019222242530958814023922661361391100671364715063142850163227160248722251220151023672225119491042449124228200143116170269802232525107238351965424165531961362471482182341391731162344245231731862321165723519010187222114919313716517421616217919682911081616988101082119517723317318031172113230422242072461292392811918022524719331190250153302551793024817424025519662061224150150231153154397420613130240772021172202157820419516463252131215252290158202202472442537918918185183774217237157852241499336204347306164126561081112051871863128148318846684416317931217236250189205174916682105411151221611197412963109204191475297183171402482331039418779240200125180120128255123144236315622421541571555622929163301603511216108611152172312128277112105134201569698249171440120150201314412319012015119316819761519591507207210106992523316423110913922119045381991534533641172388969110144642172492061003140112204217231156932281589323214983224155181593261103237542719331517517220127191224193751522379122224333862161702263119123028251142409915948991598915184661520823816218324512812319847721210028240724713215824120421822915515016147178618463250183255182227196231596325132246208251657162244572541772282281351741672232196618011512015523615610711116511616241100166371001782091271781931511532252103154310220092161842081711893191157719138548814729170181182221955311211712452166252250130787754138339198234682086242211912402199121176172121663410012980511510819724017220421516024015714525178203253167229129211291296121232156601061743512618637118162411141865311417045108166351163074642519324519213034100812112218943230214962421411581842412231217121171250163271864222110385161611425130301369020870205235342494919519292103184116415952645610006411314724022244225605245511368821271441204125104893118516414318621829119163472332141042146323923855820625221917113993169243186228571092181207121080832422331912501142242391741182531812521249881220131911581672549421418546119239156239761572111981627316441607104656621218858218160138130122185218149184162131361361571471331425525014221424924787248244149314615843162254102099618116817522093125206701181946611821066123193941191931612412241341861432142011439111795116251692401581701588146699421519622380167221802368811012123119422321816621611984451992551062196820521924345187198170147643661661546723058130230582151203343170801881603769482482056816316818320486118122932471014311253221691552141631551556322317018901661398619714221410124587238849320425019922077160248281271981961921152193223237220210838920887149211933022191175621816482112656221226718159020711825133162207248612052353761820841911904236205255812990902212157643416115414230131144643325220022432519892456412322934111381432332295228129609638515414015910420383771814196193775713916521711918262344226815320644107242102512231741081822161131789412102131271971851871329247701716112061536414024823641191236461811353063522884213716010512097772285121738347585353119124231243247120222815416732632312442006714110075111922272091141801474313202969210320477312121710064101231382048248328175103123149214122181234616773116366614116121189108151741524614315114128157179759052606617924232247148130882382649622476200241761271141941611100136772125100107136169246741065120271618011191723119416018314052702072122770162402812213136655134200150156136462171782132228744731922063535139417936208138112125910951138242217561441671623455167181312046812891200160581071611891041411702096245897548126206119572161815315481522271441421732531979370214183225157948513312824722323413769120932712629255129200240492516414916170244157431921357752522312141131148321917713220738212511015518138226220541361320133146241157144957718923168188242212222491377720283911614154639121524224991242199119225424523237134436132910420564169191960631480641021011681301749882474013517912113260210745196214186112178206191761646430641473219410561181451942450250139221624022069106636662293415255182114810854713221531322383227503219635131136921142363761965511221717718319619023560228114814013244128230220214142991115330122181233243215901421901745618717725113820596149227881892191201631991041312518816319912017911217020510716667981447518510248239168714021115917115568113162913211953254790992131662978190141882171196825422421424265882132476322714382321291872322542391961272206201282156618120164228121165228121392372457720213734510782001232251339708531991962244119315415961191197195591211435645791521504320642244202200247196131166233243175835248102208532252192391382232541858510021490731406972581571261441777914615623915115231146152239191542412441123523912322417725121516019872008913684193671301353112524816779219249133121167238230235718430641417025101032557016279124221202218416423058165236241200423639159244124227412032368922710012770129481791361428616085206602284819910519580512483766183244601040238419678491315416019731443180518023380190751181581151181291152466223120466972066223923666223140221331535993361143632412441251162541926715930972461232129239516124015222416110323619417819715377215241512023185100218157642141262152043238252391221662559214819022343189208431091438719846113122122112114112659724472551882432281931622273123925424719114325219794155162291112542432551166024519023219471141516318110456102171166149196126832083205193517712111319051141190813205124310933134182144698919653532910910710411261732453017220148721170144351166240811252100226215811181141152032091835813910915223510922816260161283015210118762051182482052021241021012262590481648221305821122189367991150103207181102451802314443115150213233111383613144126782251391431521516712447401059242531252442052222481218523296157168254200918515918920985229541731016617951809724315448131581008629506797405912132100901960173915421043343821322853521651022820666179154224251174874152161195101401601791114819325243131421008171211651171136144157119174248116759510923218846123741534916922049163461568625498902415555122632361712501591451182442471281112012718372392191255717811981159186160141103541291365932162121136920416935103149145115202184691171786515056215145608229213931821212737162167521802397412012789882392291922251701601611015917418231971052032462272721914211114815918014415921621411821666125202971882181191853523413458225861032021731901809125316921553120591135518125752910514718111311173894317818317206183164141861331171511201181491784511321612182191322623310222318524619215322255185118255241615237197205186181193177212281352521321092531671501371738423118961701461679014441712552452366337190245325034159100122224971291921191716493186125908656841595884275792274888233618123919962151520824711803016024223648501542421039101291771852471491851761477156250202932492206345396271431142050174632212365190235133252136795474161356608032233111821249516847853249482273177971161322023156149245177180111611613631351331421116516313924120921019612418551238785412122723810414110322310111421615217224330171241269621919524793114301742402417122661812845113902141232011295981128618414417158352201601616825217132177241146113113252105327825215218521213189292452447217686284679129108649030685716021216472346992153214513747422883254842935232188821286359132788193204165715349501724904612128241672164932194841154237587826128246301571001061151441524923177201123106542052021799080531541412421691074416421889998047178336810591141764189101246160248168136831271961874721923475109184149160151173391341146493671082332017130984917018698581990165492033217551244180819614511925109195255578051201792324121813755522112262031571901129178206231188193116572478515622014011217421315124619723913819825581241031887120142651021812412313160112237590175140174331459446912047795876116416989551901611210410401321636802168211323757432451531091782271552191431081643743918216878911302411514918724717822113276146611648897991686015731129716057111296542916020714373223712114813450233168183801273014678961581082324734156199131238131244351302041562352439722512203346105226159157401401801262011931168101707072117331771963074160175212972241461312541881652261966217241245242192714816754331481592201605719116523550180153211681472311081551209438938024820643124230228621441108193152463192522021431194813122371027025195211953254791281872624023724131161242119212451572261741702552192272551371911655171841672092411002083146228927325211019124818920836622314831601901501092502492019514331123197202511101355645215611011434035223431922856207157241822412204654551111221251665523215483228182125159911183316818548179208354522361537915681407347130302407720014970236220104451717212091862391262181332432252511112512101721212052102186353719821031662453522532076318182841922002422492526140148192134160228141193417223229236103212191144154106212376602202202471301206314314789128201918310544598351577851322752355683228510849113190811516020321924712310323722111185166110235134612491792312399524316588173195250811261240184224190392151231997311412620123731241393317930112891657132233718850138188210115692335918921082195210341262412032122431992552421892554735542321011994513023112736120108141327644562491901762421528720549251142243238221229210225154128169702103179771295177254211136214441123733431382001016922814628972121624412417461120166217127186217127892511367231894015259151192111542371420614109197153615512614154235240103122320191181511731905123719021123724837240154110247158238240159233815710913915810779156110741561687715611076938610212720917922717046125943063221224921326100232810225117524100143157145183614617411719712213123533022388253249901251652351801461429155215133471177046178163196200621921611433220364215292461671034024314342042331281765793184251087916159641711472012481617916013715983372684169611718665155531711251037489104208252245141190127251682531712372546312114218917323413022323625021716444123190511151615151229681271325192236316473215230534975186196235221252322331385810717618122321081804294121742101262128312322216719144104180381841872128311520615824419213777173715552209228226182145742011386013410064119250173158204911891531832502101111173946202351501001779523417819121223725282179251166122247117229206165246172185230212185150686775410921197118162368269438619314320113572010618020610916020294877612212818224818822416256233921272089012565509015957801812512282237491145218225107136951847922424618622420271113195141692531815719524541512372011341421521297423919050207222431601611802281512393219623254114431120127175241769836210250961967321148185341514715132190158180574157111451451143224217201704141921201891524777701023313581472476119149139172024251499842408480552442360143779921118859251626196184369420325222165971351051691653919255123161195420219335105917013235852281401504421661911043142538923951621372428111163245204149133129791621796822758990109641471684910810159115205213154115317716178361765321266198242241442268113105146711620619248154196865124312624190161933730103130129106225151212124222699722010419531200011824648106113237992521231841982115116471542001311041521423651158925486143119624082991605216615436208819619540150113244212104153977120115296618954301501212213225132111323842181233431196416522115123724018923375172217214671181573718025340244042165211202208164438444186137972252386418023523221104624268271199224211722621201054822161233124206122241154198105571752412489422112143782146510919316765217167261965518124819596895160401001675411510739906273125172276317424914127672710016722376139207116139204118468136255220230101111694747102541511551112477114120827173135215181124254102219145183581421293421123069202832086912181421081046118830122160227216382294111124962242532521250254165245176149196021927212173151109522129366457143231095231291166555652355724523116740112499622823838851922158122421121323147854418572217162013921011223121200896542014814412951531451427512225213014125418853244641271696720769219941041401151502971215532912418122924355212103182244148218148558143551206462041177212237222823158164134142100164488233871127246232502069717425024719512716418184194127133552429519921511273192352230115158187223209619613322324321423825212204946794411852261966121013261126912312534118172221232201232193792391872556958162241932311081241812421111196163233249226140217241152685812121812810011522333240995410120610458427420322120150246186521985052221515721559163721568136205218477343228246197112214192071099715624682491233220215111902472001251432429313454585613522923615016667152361716523716561791371451471251288510050141603720422513555198425023516124514213015918918120655206511631924312315921714192242124560211866611845021123219419336720713718804179228253189671517217815128205111152467318323732101181216939111176117126248763130236185792403236193253164124190393211259204143951159149100255661481772076117320845131861448610236119201582241542491741231982071617188210246249164231251166237148166102248164196199103702522501755175143255237952361325524112522810411763277720387425524215154131671315946122117852481421351405521082129169706367752089275208841892231168301481928585124115773130525244648361931247120013044116652260219230135159103165252160130491405513623010112643234224518525584179247841794980631531791731003112830152105151206118721031011261791781441532462002331501962172301722252421801125522424814214396951321602451522311625011518261105162499816249120166451041823596782381111442511731161342232674186222296184471086296124012210313319155230158932153116330481951647110195160155311613420511713467630171149013716702172511687315208190642341841218522618850121941531108010220740119206168247791691266142251223250170223164136159121146451741972517524122122142398823622059167205156211384723222623180813645116180177413619316246106862561209305116772958023815211022249921532111173324325222312336579220158212362451952124362542139214158191692071862027888181282224059652191467621375111117372212622112610732227150622417593601128323123772918116249817517114711110421017441831501009139178184216925213850971744511418237100692111777191851641215715151542470165924874183177614320122791171771331581888618812217472148231196229312172014713476117281842402071451744727234019125201371201381932491272462911122061221186163167441881913419620826592212458803830170240264024723218976122160191220181175286825236220449200237798033246323259148641112520132201541601737219350651517342240230332174153712887536553313212028151364876730352226719925618201102147229961653680105734312121512858131951309121115646243168331992723810567111361331802371221653924825244192881811041809021671199199218245943424712024413611538154971735258328193843153291282091221701365720704031181227175320221511681482041732169198691777815617511518614370162286013010803468112153609611915354481571621285611016171200195200551652274674961316324648627758129183161746023219296230169207125132152751594612492431121033314411414731432196816310418669242602112345121910622819696195136765514748961324364124612121617012214119106183420832529251190104129217710413721062121519011915088659116953491124406319141219101864720926101826253301441931161050244131451706717772193805111143123386324025208118671602451891088627178109164102101421091578976222500159185395515814715516140208218201649681119816338220829190572421463413620925301010119624814121937179255208122373694822001432552294844134861591375817234821591655912825219638722813116667111212127242902377117521212724212221997906916060105491942521331862321729821824114781115227130118220540241117136122146890116156235130225411681421271442324115261226252192291760203745138341421671619320032569971482401082073790611232311033173133816623166578202204138210991220711123519110063130171871001549160571896912310213925024438237249173310124622718111021177194153864714232129121153116941472230228802222171193851923175152413825059177581912519151195315782518013720215716019881913228178179931691084122875119037481821667022213114017513419661702411421512422211932125320698172547369815522216613317611913082761211901472461247125466402172161141322033240201151582191718821143720118519073185208312917712317229131524712936128861195206412512331541591742232282923715018411980146192431630602725215238230201741921010121206208220572321148616169762462532728563121237398694174241239136211116916924922216376152483923120610162242163215641362158301256424018913551436020436193125228185112223243275573147210189193167211246821124611425112827262042355013711925113114015194121786617224779166024617864240200163155221164591264621724146181932421411152523819819126384980032155123584541230122128143161279176204201331132478255163236651271851791448915144125192411231591072466214317266113861905212515111511221219471903818415923630232262113046205122224241232362521895122324520260224149144941201673012021514910946228145254112321223180922551801571901692521016421616417213625525124718717020625223918884920213013812215623725191254251936323622321011433928725562202070462511091939924521024158137161379619053120186129244020558433422586623021913123330586623021813012173129116526532371457209642062179602482251561092431117152109147204203124391556412260166154361152372541241010918222112716622114315218920419932319115155105143501801291882301515110122971615912670322483123313024119813215321422822515420822590112142646010414424926245192112242141158242321291508327171621237791238061962081461251281423716610119612415520911213417689932321404612090276021925581711115321047716913116621333211220537219748013526522524111823619242204105664169295316713815935496412296781495317321610520825412486247191218138247197139158122152253256428112231884127158176212249171892452388977166651476017513751233118216415215381021481451471781522512121884107246842112062012501892132395375880336322817212640248160224149206115651545115820515910910725412413923613251362331178524817320917291612019510499175423423090223191223219672224182218131871482091129819918165191179722718116116385129995311924512914724512999181126195851461451062391775820184147239124712081626010073169231883211331692142256122123821785102213111628632502291674515092249192170227929611121315829254631231372373824451102089255351931931911451181512392916922357211246246721091722461301842551382238018511195169112162214103184821001164349011152682402331271244814714122413918102401129713422408121862896441593472225188159205250147239166412212812128225411641631613223011416712251681421871151282541306413122812932118211166159703877134218231055521910820116251139820718031139199681731201709450903728421191352419237132129238188141250140101119137451682101201413917175203781251083120161102381101321148029106336119218325210317465603648971921481791871132615589392084210639752251277114419621012013268291701401160113100351820444183615242091031217242240681633713249230213577310514470194756521320616025414442281688310263921316018014916247231972523217814378203822614546321134153105371741431911045213484131795365322415124140451491983710610323513636184459711892366916047841971001471041709821292815014419412119117412015523422086182186047206301061341612515023756164185961691859669163877378862455722014664207141501981041042061112271991423213810924078113871192091861032136105230437184300235197371452211791501009796351511412793231774016738286841612481391921769984199235201148132238242182522302192532318442324241538120020187170325021523055215234552192365120514482384218223556182177237200250246163235271519022224023310711731191902512091717772231085824438361939615391255218722112116116521491822322331977201102238161942442317312215171206139204568066741925610920712413540206502241879116024593443215940135119316423021312201533331841002262181288565229351101822411215432536981521030212081461398631512377143156251751091493954180281229311312412522310121914510623117726151217102209130204103190675821923861211425418075221842414412120720118910377482001892312018174219014919114415314215219282761199321779441332171331105769110217701842310251238175223190207109251621329594236167200212004611620546501146290255872241064822383813014815293200413211127123252542408151411438015620917523910198194141109227181127298830991751111192551071931222411171849988254152964511622317722324323731021842292362272211963965145239118722390154196135202259319217318750255113651945320340951277762172384222515131118853564921611210615813220642002437721627156148471320112125012127544310141952171947946312422910510711121920811681210302391801244924855249210128142147251144481796415618979154115192591153112063224242432461431821372004923074718639238332516412214511958233110574129127114161139111234195143651525201211521250122098041220424622513512624424454811281116234218235149158235149691803023631100157196641021295919236112146521310020122101239127832643248332420635130231558913410310511391321082112913514520827374962237061144202118917447144100201381462471223818822717255142123252462471962211581691853016918516813017219245217815242916576981282441289122254139224231152242551712531041584035152371511961676319111017996135810121431551611281581147324016316744196158169692261723158252517215100145162224122192153233124714015911211223133154242772211915218222163378918271561443024222219118812323421195251186109186143212472481255215420832552542151101542421801611982162512119415650118166451161782011271823720820818602192850221165621928188172136189170749414639471163646431462305916210391193323201249164142220571982351175233102412511173661128312541459024715386239169382411161791831292522024183106232240157110149785412379182723891252102219195231491372151815911111718921912240216227892501469420812630434818016594215110311691329172246157104242159110245157106149204116721511171611831341811013387611924818215721784253249107250107113138104813119016414388236361111598517925497024402238313624464103168129112135131167173632304670585011442343423591631646233341501621570452352262318120113923424421221238372212545724595255212717516925220382473125413625313240101331255181219140226221572051582510121415638109941515216713713330882121622819070252297120510714722522171792422371951811536785597425414388248130224105246391326336682461336020824416911919981812032311415723221382341251502197183122181751071627017169611512402192391721912322081271971091702091031821971271661971118130138151162611111756010916360994363105213126204162245232150182999159788818031223162561091696210316518502182282162071882467110769198011614122283452083210169541912331822242091341762091341322251861401501473318113567119135612542422611413012215811724016525152551072472141771501191992611914215387652198141213135247149737202362538768189165238195211622257422564571363224817127954912166141902227118720822421932239255944824481467417612168200564882227732461325024010210621688291217331641206188178144166189105221422485241281158741237701432033311415516116738273768205153235142153109227412388866441502051783517201684178231104047247513321716018796211119217121188786051978223114146121281771492096613015875142253101461632327215710424761832041211442486118524111259317099164156128821636106711651681861511091471112202131482494416112115613413020227237636242001124919716621914572441512314170612172321324277133163592209819220517160218108734911416210792693213021051724214011218022110661488469681881752201131601941851752041451241144214415812919119100676180144182023447135178114193229643714512317013689451681108109522613112969136206210152155148982168157443915810121215942261691932245924715057162251681422173728587517211719786148881411822080111247375960133161831571810191167201233203116146310091223213992821912321916260136323676987110016349135216997581929819310724910861233901181024846711706123240244861591693825279133191217520958791141391702432326710720328118097186695021522510310424716517619511194306432793322105723021833241241345210233702418814171223101724515317323771223106591781742452001862302072221045824470227193552346312614116324121155100199541692413912121818237457897837711352244161107135174641361218420321760402150200140167184771281312472333191111021561432017416160402484594201102258916826824815410254818249131148251861114631381391145206118625011219582079110420038176891139835194222751821924530617625586491481921461941118122511444012422228622431144119612816167602193354488548392320741188231482472481189392382522623617874220105149240182252192261191122081012522195412214113591727711351108191182544452195198842422345020564177150113219113921628128199452271681741092412194522717991715016112137167208362287312012311584230166200140452098991991781831982301081372015419819110184245123214311222014925418164451043685719714133281985424471111191354624185818499107204109881961901388198159451724938108183136195176208200252797261062610968240118108146118217381911311611272219123239725383194168714011413371140225170244239662420817415719147140179254951511513123951057515813521229617412126159863273452407320611732212315018811117911716155210535226766331801931477910917186691101511662287521113864796910512119424460169597106174521792085511519195198126255204322220124919413261541932336392239242240271182387322424413314441832173200391814848117191872001422319517710343107524791907150204148011917271248208581071525521222122241187133169123188501113223324954815786209180177143751221581151064619612152618942822436021714594229723313016722316219995220982917922135171161881564491001993245976611528602532744324074431616522866624865631962379023118252130133232101111758717316591189162689239725110602111142212112431042452551424221150761342223823018521016822186102238671411622441242552041881601801571071832171123871552399516571604208953662448824316339551193192422042461871821582164117120841107312153302337188210246738324325214611953616513516519819923168239206756224822517525524647118190246220227108873898174401131955113020725433168191126207841232301384623115462125732118740143888668259019516726194382341302312193417510714615121169243237642181466022120822552192262471515511024631173245301731654522839155232484123092115431226814211791098201709618221631686212816193106104147781832487618142421835150209215212255552187111117253692291917423730398625315664802046888610022123422210110413915710412301072401571082411533619442892141331242173111510748110782132591831852261472321216586211114159577722415658112941950167161245196108214319724012917660163111532131337610720174192226161220206421401824516911311582147859778275717513124136942106947235341511171701734221437441041782301491232221212797802541571622281512091582072412525339216215159312472041641082551724211190145534175154811967920316316622922561012481884212481191473176724667209115202140571971581691822202384357199127237331221371081132220161691634010914322825114131691162892371872017736143255821591129327991041126168411943311823718528257423457221218569211150203170160217541131111851812302266197217181178211107219791882171142441411663517555124246742211938721814218921311311483235177245109199551802922321611313020130230188117103177189254178115791652319693224889920488992181002351582331429512214253197111118217224792622313154135207102221154127149245172238114198961092509677220968520011214147125322423853943514919416111479126110221681731161787858906717112974219217611611064148572012359844153241102218831817211014018519719193742798322714015614515160159209719768781447816215522813623921612515320616866126228656240123228153104240263611341096954012149223665718436111123147123154554967156117951142101511625212314042187110669351819461151931172323721323117218120897662132113410233219118147862052101165617010212659721993723422614916210222596820810212824399523188282073429451612020012826152306568162216533194221141216196179551225220124671661022013642140171982391132012351621504825128174241186232861651711581092147357153713111136119196103229208192665432206242241491226128681042423215062240811821913970155885623532134291511495291965716825108213178177203108415128162208124523224869271221564134180150164527582121361628059254151531052456545321025475101206321663217515624811413814020001291021961354912216132108175125622071322613971161938313667011210424915319610819491126981901051992071715510514582155161124170156717015613510693712660199155691928814711213415627125240159152198129161195103186213123186896022134198255111243506302551852055213919910622125117556232468842781091086318217423723215517313521554127246122211103175553012418924121121527631261812541951512346312425168251240165214671072119955129142155187201611270222169201122477225171711431362175178792211031891981762401872242441029020721212713220331460200129113641021001285282156220140193225119145130252252411821242171662433410936170591111611331256114118169113114991992412452321632461882299613324384131208208234189362479314825120620372044200371921628210112227192108187234847243941441232072031971391023969229612546647251681272994146701894013712481261331364911019475146200151189359524214212073188101841001374713887193432812019343252121132222171922432262402311881945616712058461592113322078671624218714846709848322116511647422255177177521802311011055212728333055150321869319724398202249237641971741986125190212403226198742241611712409548222186312023457175240103132972071201622322520710195894189192221168231891631911711918816025532238104152361813227163250180103481342442451281201364110254850873417511917723123928411170352221115017240136171042041591968024071411124018918417111462206322216471248324213182139130191160124210158122198106131775620860100642338119314711157416661002362437747181672101142979015840452154942251771431768728315619417819511412623315514823115515623915186232251832195112618340412154313385145813677103122321654040622232013523412925112720220628160249242531307115319511641161211311892166311714348225109207228221162140124135184183547916217821721333121551092393118146119238254105166159185485739237126116139272182491681331352151423162156253124374916922249131244036411716116132433495381041522211755624893011276710391562189201493693156150231153182215138810128324899133171631531852042091368612331291401241912049219116415655442374151282532232143247177254502462541449620514312710223377122329963183151841022016216167204661992043416720425317415323966151362101383641185210196237210152132232236148252952372549525522320715125252155183211673171977615252646410717755624356245175209992372512301482191751191892531019520623221169555819110234182309019519910713139235195231219226175425115158182207522292041832389010421957221152502112651391115911016183201382712516615512510391253102901251671543614714118059331263816791188167154189102903776187224188241147185168240958213344169341741061917410514723229731472457311109187206254198126219163164724015424761022101233952321199221316446429819827253166104335012613712523181193215123341112447020520212521231829424923218524617915519821918910385254179170016676623921437662402051337664581096468208144167161557216217971453691801451391861683710936199130541061695110194189125861585535255229841992232361421242513194125224272072023915911687294816812697802292061701781672292011923720914729175110584010981393652101941647210230852392044324210221811162108168161623823771825413913552552522465822924121625475913415014813324623218511817820176521441672051463422817058156592524420213120124971171881721289815175168161102522314962248115815165122137217210762182501891792169012612251148645919619249142141109199541813122321211812483111129810721941123109169798789841271172141002351872325453100235192125418010339420547839523742223538818716318360190235114104111185255961492071041731001622061231627850814325173242261702402844243241741634101170815886391341282331852366088233622214451935834255712282432171602541962511536763341961611375214719960231175124662612181820161419351551563722672601868312072461282669948953278172654065124251751652521561035137642225918911692232371252128523416847655415181118234251541381482387522419323818987329236329162469411952462416135192136205316472166263156196227181371403417924320610660642322091014810834220382461436010422816155717158245446167155201591592011201309085140113152663423767543116815611014563222781316412415431791986822374920236130361901102046446701401541922178923125472322503223216851371202215321740145482271652414936226206138226158577015431782341441321601421765205232821711815274129116193187641431441143240160191215941761303019283120287933194239826921180224125522081743624013515818623620819952082415661852022912152147902402211265212810916419557522423267207371232055722784119879237491705818914919951741019212514584932591901131842021251292371151921091551152223239554724715514725112924117910178244127206116155100170205155955017569223121133632549199107172612179714120220215208381571062013856619221612849203142175394911210045244642032255518412516091462241478723563122133137114641447173159189415918211323510259129210418814521751247331161475112614411722623220415212810818413368017164322929682395617975618519937110331547282271024613814391686346121817252421163243215162174187221684175205185173208376121881336223447902459318231171113159110242154111147445055161185142271061146410411122160671249961042471622551512282261211852151306618811217530224922554319312133194187210129871249894312499579424713918719442213923085105522401385225010173212203120202551342278519188221371252134714120205631420211129234319369215368189236192491381112121071901982620518118878113741212133925085841991922713412111240231921463719025156244123974516148184542322382441111431173320122326412302001551932011114381891715225210216226169136188171287552134822325048121451123911783719017148192128200318244250141192132213192155122206431274224167110163118242249153711670211221924961151120170121381232112125378129234569338179069861299317434211255584193237238172234203157939617100128361601791981069233249222233249621051165612879204308710524213417321073112111714917919519130135941761141113920112655521892086337551287381132361745529241431902611722399107215912511211352286816420691011882715324911088198120407320214716623073211242165233521021212419122818814414819412820018321517311912124016271249125701531281991938230127106157155951889524230811944697102177441952105143190321201101311091947820723796201180100217157572471151622779207223261582411301031686968166481233124112610225224225106482510121101211652320814582513319089251236131821912552442254141111541321021441712002032298231136108215164119156831181871022281469580102469925592181121919329122192133233197122190111198222224244939193132130239129171211861707618641511249021824914422419031189104239397643181772537022121013920412219241171200571792001411851026514724816423824477729136139762171452406312714725524139191572482416372188108311248011222326422918602252356322282551671845237223932372201831602186239799284198222212391252171531783613915917213915811072291712021521092001871662482351971821911881612482457425117519817111977212101204180372071806979183132204208153101129115237120833246963624812910021231741922722414602189617881522152251791621419020925132134947139261711523445147170206122106477212691240196150239192391247332120199954880301881647219017475185161792611124415310624115319320711818711694229127181432441227918465233171412218612124069217249173211102231492381361491581361972068013062124158781832329892732041822116219719610861241124103196130254246178227591718116014394234142515018722717411839922377418621814918621014919017222318121218511178253151147291272512099525119125281413662681241452279114612524117107232239150180123230851537521814837932421885812694291831647588209399223514219120919119189592501068719613862102651575217520490214236156237200411361606624024722724114019223121651621732242392101581082521961231884611317461126652259942315588412817524313423818617014187174141184161139184174139888113566644431312321129111141272001735185239771252321512219795118135126217191267727213851213441347227171231301321171492102177396102170179219201674522816718220278110105591901852332161501989986131991562714375154781325530794212547781781454552552022411838716241682192411962251542373211371252292252532112508215125492321541201662092398961647452842386594209151652129262022007134104612431257203362227618727177337102207230152113731721541710721818014517910919821819311571933761192608224883013828738138207252242571395641066537137581478362155198102187130505077203139121109918672161133133604612912558119222199952261417310961186819522621693234220115252501213122642471511635910424893980506652122532261161501910422231700238626829657514413019371541222141046132175301962095422819322314120240100147552506993102131198872351141651321936512996243200201138165181441912711301491029010320451163102622142140019766113161412561114266606615120417110140159141151866716251971141313178811291721912525225931762623322812610619019716179243160229168212168715213864282211991351992365716461321511287123209901172061469148240101341578712911424032102510113523914221312078532081611619523636567811817225132241131261064712856232444044238210204247899058126119223191312511301183551220225100131248154382041841161521427324171731591091515013265136255112102321276218128197165618522313018426610491922394227239111521052411581081614511322418816523619625018235100253228892192421858115144137224147215160126184362482241652181594106248248149230671071617964202209832441792156171261161291151222062151212390682081191322001371875221402262271711616644151721999324426341574938220158128823824220964781402763101151531212259224240194892378161791826512200791102325624622233129179917212212186113203192178220239110611601444442164416515511713623110020831621211332151886652472334228422241823022430329512302817820212513619211121738189991591781994911747126230157210114172497456164236891360981591861994614919418719219292102461309821368098202110128372381172022162356663237248451912370224146145239146787545121278621522910011061101532222715486652521371925728231124191152408726209113011320240116202402481181841192011993112998110418222248166200124028831366723222171132183241130120131254725531862491351956816025861132322199610012221165254791311583191186472818414993232154852321508923220125291188137116230131190135362369165236139140203115247140255217518613079496170224167192207941831517023782054010744324075201243794324414022024118923145762826522271693162189117147125144362262372401403971536315206252185952506240132321731063073142228252144228130240132923119119624523523631122224731981436519564145191247232994718710353416055821143741123161722024115124247246107226200183218936523217910237146222193223352153929184166231121100226661201096322418122712810354145114162254119421141633096246117552176237215917234167208140135158887915012925115891115159209542422082075489249391851672361132251223225130619625217522714610182391451868714618659362272939105224676319417614430881151353003022172121124157103132522312394153100312402002181112143206896946892511122331932441285210116712711412288746621820616419125119925319914325524311125438255197231160524143124143206110224122053253991451992052541271865324017115324614815810191161262231071541202321292112122692752269211519811612518223084236165255227117250215110232552221712443118921862111571062049484102781837020718013320611742071817205119426218217102351809952041129217541778915643601111419110721820891189137751702322221141111972523119820717323462181106632381222342392222521012361541597117324919929143292533147551252381684724515823913619016613915910424215710824625111242301112461548725122323213191532418916813212941821702482281332461791553858361115733111862248914925512331127421562056423112176373814825419885122774255113133255132349666304841151568241731302338225501731015785135255217611719615642106782199803820442211167229239761172856254143190911581642392474019525024425313022323611715515025323714017210416237991863510186175516713813130152145717720334166229225512421448912120814022012717893582132386321024214952957214148210952195119208235312231262341271036383255126168242721862421048219922513615814624823523415711178196233230176137122255177582338815724792123224205206104200128557464324521696243169241181901089918020614110924071214249153864863334020332157235228216959721821517814624616423919046230168471777587528212197141782431422051672201071513917062243175602015723245236512041339225203107412714918219022524384197153180142147145154111767852092532165234243462182431426721194137902391771064924419211213323110453237210519037284439162121301122119411166723032229206136015617224338129213081302552418901841541251541375381109191362301786811286686455575716622249217015813150137661982351898017502241781791961502411148681732536911158121163209118124831972514714925420321114115917323519022816462103163621071952042180181862311781915716920416842138233703352158108250288548387713677512047208693177132181314612855227891581417526221714371216131362710440170201119136108214198218187198168177233148101140691170753068191398421472371571386812504313811683016725211734196815320276571624255041132013060802184682011681041708913060682352171309324413653134701581862018413742242532346209100506113166101042357911011264912464162311951301517811323062681317915931292121282101441791396113311620721331482162120771361638824084144873417223656944695691579371381217797154823112240877054921542373108121467321961451625618525372490125190236138190217251218519697176407203151765213770276012917738209685129256221323413109073192133110513111831252183541419120524817620110113634184108366116061111336317712912310125179300106223127171461602542278721914218813346240141621692121022302412078918723813021581111694164461602411882032321750321451193123318468134213121120105727122044162167116224221222121782232481318216716178241851971202822417232129222751162524823926244128242212382001311611023123370209661351168922518316224471724313710118010212889620062049176164244129421521512272553716672281444162571852083224322842224182303225418913846179237113140681441751345217513792189971412677185241157721859224232183552440761072482201212287811985156105356219696769713718825132448616310514716119588514814221651449312222823651372233131177138951481942145811514210444237158133158230158178818119318441123141262301148383681210246146564955233302406614014110329891394593440211451033134200671317913071012689533522652061641101711485224146852287412335238115253383220729532549732222732351791057138682201838383183198228481031731762459716910448101883731622519525139417025126152186192352001081569525520710180144902031092223823211464204213301701924318964148156231147828851615288161588423223188253199791102309812816677311241182371022071761842211452011213313712319521111125162222126224241551522424841152521551151249224019211579191961012311822162491827919611810524421912673123124201681442311571544377217235151156271481522715792242224914218983232431071571591201022357995176901034111324775137620024579202149362376510220722822111073187692551462372392501882432322615763231162221320510298018831128241127720311574217131201361207172661642203732043223352304736230254662011858220014916422016722311616618914921460771891841522579424763253166123168232421473351641591202552212461425120745131382392501601751382321001771481892102122211455718522622423231601291622002624025522723845192227722101162211461692192212381822192044417615215315315318584371501409821723823316129218157217157165129705120336911028920420417018901462519718223512612768731182472042381851872311852312369261255192925252525171532132542221406334230210301131321001351761541152227120139931476223122732467371022473517919625511882135029227211156197592211317749817381592119925424515635811525022369811903113008020892193714815413765168177951646137253878922320731213136591751871832292196216914156110191891701431218119592091482131227828103611031999211410121736164041866134213396670155503085209120194203198128199213302071066195541446610119236220104521602102541131813523112411534114301092461582388120221212181271991742461801102371051891541471861811671221946217116951171499424323819125489228124191441682531381251321017588140148187191108246127101931341271581577121912410112522517812320922729254173525021519092831187418519121210218421823330254331751182666164202241941812113217911855724687572448781216871052231351271824328971892291420416129572051327818910120661165786116514221018103731451712281748723115712814259171571192262181112374458302351667714322899230411326351696521718522814515420412322916212310165352291901951019435216219522919033794189119221122101571231129250101093364165554536551735817589183951772371852291261752001272321101761801921912351621752441149621957239250991424510315631151134791811389521413560174244186957023556651776117111512721322825317020123510116321514726902431798176617019120814645229174215951041181751962429413769951611131031291102191012371501399077231531544710654952121661898447235193218462351839354104187108212113197164235422441598521513199230171461172312423446702142281973113622216425217253140655913831819016109108477214622213817563235221122201179235170187244186831191298520358816324613970210211240192253182313319401551231191081933247752831148145247812514710218221061818616661151841963098116168881909816625235521532525952115203331032413666821772442539114636732172312223272104802327514814317116050171626732523355233107116129178216012511391023919010213018214710222919415761610425050120017232126201532432381072308185179144244134117119129691191791291532451620724097101151481319116312440961461915510517994198916412241100219147241152252361395924922220841822011561104361217184201662032172381021642091531307121997232183231117302201558173131161189960282262382321946235121255224461361918841618224461683914723611420743288247491380188010516514232162167531101927596277416010319638962085122633106662113610418401011621701881581041712227103811151642431791845245195128132158220821925277645311210766988200248131571311203244211582624524202231254721089045844425518277159207193126108146019643662544915511952101752152161349220424315824303647132175124177209432281321951911324685163247917324236117103200100123321268622412971213789612813553785262240190213185112127332401923525022822524218820613255175227961121912202546518525325382187222155382371512545815842983170581708820116616161548227674372231101988921219149714300136163105104536368181121391603321228230225319589166215229186317015719242531081034200487577252181581291956141212251885111313611694622073841481489455234464823220021514920241809421210860167421891105692108245180218105180209294848222236492182282461036192102151911041162256361201933919215576016918112390111255122149624717222224610515713167128119601926219519125154207372481722401307097432191448897170133754388624610915817313210411397715120729140163816525216549156224311582231912347809450238722031623718310117121764140242116100541721113613257439212683220139692046825114016211927702375013622016931158162311451381841771125520436102471329136223135624197236129241248123412421361240132229225233811310151115155189138155209761291792172081472201202720188123193601459931220510393657554241222102452054821163177200140832001475351622403114318196205198103202156233225255149812301911061721652512481921513921818522143114149173207102183803225110158200107111632482042352411271987228255128125421010224280254247106251632088055121372551512376661021241601921506210810356137179220196217158194108127971429523262851316715324914476235207891651112361720177398414817407424792215233635112819219537442432106913918241237176218184221100187182157137107132991964610324162167216522312161251741621891582091056519415648225129224200220128240441591441162232407625515292638117415140199771522253676115140217231161792079414870171037228216392391833714915610113117020623653701113205184121940133863113012514311021401326204248111615619789206162121038118699248110696711919312419022420211419315653204197122249228315167184761672282821916476235196122467224919913989301761377971201862241192649254234236171874752571954532242147101107332182312081021001123019152048796120642232442311251022362323915411620822529151616524312512108181792919512211472116119119121813320959192101523625424917551190612442033513512610710618413198720551351415380161102651101401421082322789223473021536180951171716372452272481845024811771202842192381511175725517875235512461681616216917620521936336111123861555721718225177183248101163255643320141401883921317420710622124821218619921300135395378156730865822415920716914255169142128877762109151122031432381046013512716745250110581421121621731030111140158106211415511711551621582151351415112253156551061861002481721932316914720772133227112185195243617555146488995244881076423585195279517317560171548422524817621410918421824965189591081641982291261732357217323511222114021318612213561533172117185873781121908723750817115453183247204125160210189175220181183204165183204173167212187187401761875617018756169183441631672289611018034239101881844818121130632532041251762302431232131872382158312144631702441218223325316819424765101192721336316896184220251126185231999018720123581133719414518231174171102189552377013861134111897111122752436159471201801581131695910222112520110118862250109135104180492401131491991129121128016815821518718910624213211225109242126942391612384233216524501081152191722351541931899820312319722253119773655161248531552422122710419412810625357181186179108230025205391745916389127701674179175229188126235372111667511853231157107206721222819728250185157234342422016219961871443018817022611610025313314413424325411710322010679895515612916491519451149208261363820584136652472116852211238171166181021255544239209506522861218982979202146121146144223922578159177161713343161413325496721993317820118199993139201328016592209341465137663279161299723622118136641671462441031955521211284543132203731552103466223247285182321089612924101091431281762472242102558081561126421611921919025514235667052089722880132156161753623525841607678264015312721913416810172643118810314118748811262146421215621512970105249804321617292206122006718151174893142257810711521321094114208238132102361636223112102111081441205228157137758043244924264142227448212015922714422315131821054415197203281042948230791524241911611242222312830805623813959202169230221252337122910523196180250134411146216811219437212255108921302218162952513715610014413117232184981922501441862103209151205212812072231781062277080246179786516172963126816910217202232266828411481362302261493311782251823221815011108254035146151412411885474155106111242192938318116135209152913205103212579234159198122816315213912823016351428316013325114918012151254159198921342402229024622149187871005392108211123195882063127225476860112761372430217161173229223195413110138191217842502211501868317016888195252452181475924819820110423922420415023136351302501951127251115279202392217423015319963105125196209271044790772492176041581591841365426163601169104414417564101362261151511132254415176161011622351367186174232181942121041851602141232112401261692452432620633099771104727156972072351571582125860173115684240123829963921025792106241160210234113141205211582191672451821431071723086891121012019932397519464018570225338796236147541254115920115097221551022018911202271662715017227154421197321214782081213839111408324723171249139229976417212296156909617212216133170561213821112732081077212979158931852003212215173108261104181441751072011907967496719120297641423423695119230534241924518218513310911414222192230461111189217234221821973741822175310014713912446196610315411129248172331132272048913212422532261072171801022165819912813461931081826721610213224213713331552161481077410311533216607281341112431487912980100243221621016187361971251621452064312875182122325110121923837247212715414817622151742178717223643822422251982306120918312381200230914410924713822223825141801581306711895243424218717924902392071061282052124210659171275515066331061651728207159178117114461862921720833184746310639158111210324180248203642428417418512124812719822283201255129177901932281061552152461271602052142401356012819519110223913481815218312212414291124461552481552372915811023917183130863293206621566778442491041371621631874852383540386140422052203824821137202511901601666215749238651321961651392141051062176216133361871382106122650611971532224989254811851291457216315691272024243351272091431249814122101152219911415699178286918022170157136862521801332081432051761403786183140207176122143472223671451791292187196282261322172551401120158217565021619710324324117192014464148233201472303876551141223124176105166206104233345211813916918718956205125539748017916416108012718636151332261263116033205108171561944212311318612323619014416411618319211960485962160323134248644811116916120723624864238204248023112182212174196017620743121167187485037103247239254240139175152532502482412232281001981729420216618211180872181441237662372254759747124623218410822421579235147901751842141565410918596221127211253117911621082402242002211572256242691111829491216132871324620213025011512617812357178190132251211101575166452324558174262259524716118219392131802490148235147262311992132288620362161571431812482001641611472372541445245103181202142168522292332472221781238023024517258232851252481209922811617111217053122186459021419255166912161172211782261321062071091712314122214310692251334142157199219395756695542511809351446218217325313424110418725523515824016915817691054017914411310299239217168361528920817111011033163221161163146801018719570187195223179136879317475919494118134621111512721733301472362514722876247255742462282192261471132620310510001881391832256251155122512393255246162243167175581783918624718814536190233142147117199190233138157234138155236138157236207911819876119701892371421467313350132125226137214802331172352221551431199271101852211872292091232131652271889324341171134191023552201011572412321322091983224009111821122581149191221171721971231801531348248582321801788014720712017131206210178781015413169230156721817510418193210106165241124519824323420523521554710418392212109185168211152167213112781872541401182538915463208112206168230140125213105159138833313313567377168931043594238172208205119190114759225951172181632341647524573135235255174861227223594161227211421832318123879429316552214110311610714217119515420723318222823318294208235186984441160249160801683682217132962101721081784114161236105208128117762411501212186450341451252551021684851383223112461611542037722442283821254151167208208161459214535632021931332081695616497132595214012817172184207228161165751116522120214516023113414924418616524413485207772351909118212518323696311919248963130724238194631292279440129151131122011391231132251392022294200220467252246193271191962212331481248930741516418349546410215193766783302521541616218923249811616811521019917213916825430972472262453362242441977464582422407867255805152200166187243169222022313785301132284210191108244301092421932914520625189948232501241041334112611256860941702147518640192072411736024491746954946114820412813525028134112093912092495685231856722211210067149144131831921332326122245161931257622320719401211324844487183144173602948481711371611071733103272201331399661516187722842178145117131466951191331882331025109246101312511573120556820526155572242501602021131682201101601961702391745140491281212472043010664241254592301951972141895576584623554157163197133248100982161232273140714109227198120128172232171131191912181281219201901332512108128218242121210802551881897265512091572681011138206662021951121010922845197412491488462741282031451331652071244204166801567719564129136115992334826281602493151116904710654231169191221112661401791218622724418821424912145661671031921282671681272162272625116711714143170241421542462326152205325424971560170182134611741771268810957841061944122429152407921817924642021056316051399246641662351321671041353765190243536197106122620520619310723725221421725117518124569132204214119141173207106275068214321571592263314721510710211654418312429302321145471153203113168821048620825611209644218139186113205681426424223912420467137831247015664411201682501378412413216821610752077914128634911288164111255492042089714514522716738206176791401571521772001234113977931442313932710025420422010915316519910107175215422220317360151901844749119919823013820418840228714182802231101291421317425020019215816719514413165336312691931122005135133511982362681045610396814414217920345189625319337110159153121192150152186831961563422011210619822841601131372585146219349916721712246521762558022314119713717345245129125202194197102174489219423514075801916247116591211037161146128118867222815130235215239201891582481272042222152052551852012432036513021524912714820159240471212241752622711424228146151192215145196233221552274120411415795118013916204135128924615220319115412718211013912911996114120761027224815819222420993518357102031611662301462341284613312519424452121132321443715917486211179141121432162311918722359246160872046515916831249692551965523419962209632462225421659230393016247601966311414325122037238128832521268220117715354100258612221249471516025010221631124933951191047025020335239140493901031124136203114136373515133491203222139461994510423121021358172129104523635196211731881562262112918511731921013542011802191281012192322193881627597118254128212271251132921992167614321612519373233238658115946952471253009204991826448127169177951561073412022412810922012618719613117922731203424691534613712361146146611913323866159189953625425118363571132508713519025322020211659192551301858414185131139523846121210623712021515117822512712221718818716319217123613665231101251231492251782461571782544730231014106208242739659801115138341718810919022420411185101351531781902481931823115012414713424312277231162724252914723512220181120217224492142262032472461351946424817221499170617221423532222261513841141201232411192191544623213222186316924412681194822216582131824916661250109123180172437054148402351412641179175591632141127831941722964151601681122510711156150132621072461081891669511412410723145227241206192183253145111716222224471190301361563013615626136152308135771313479147076143437114170631301080332426818930201903013616611248230245128232611979247139391231332111251944973204184116183108232398312519114661250230691993114725318224019312443644819274208951572511182323116625062159148164191233217352352193723521741147166202122822222463618923773100611347150245196200122995621761811341221218247221176238187975911221112623218283255531872062432301319924510614323322018723744147138101189162177102255395311035101118162501802171031892032033815240023610116323223632121101722171191841961822511862251899816858171190661923345323377125201117221174223720643154157871805817523211623023511992541041911682231302311491672191128616723817286195121173186115166117103612724398203142197197574761462312418312183222282552091872481687923311323113819214531671734214327223254147982531051572312132381781749624222123414127822302141131931682464116140862355253134511541761821392502218777722122221491271921342061312309912287238268981511691272007716467518362041241383893111812022522091611941211264613016195145191754821607416129113111814576122130163216919315184413718447100437814816876230179442232165571932081811682721239892552934454123216166239546659134120031383212733246842255174151691381061601122422098122151116631711218241146191174820520522125073852436118821666168221215104520721775808138165462261958032301512074185371341107415924615316639132051646047224118411824046181154110193868637532072201265675224942001311161968114170215859619616912863326044148201241313332461751521920201132417019319312835442143182227666261301011255362381781331941219184292063413314301602254515113675155461043911210726550230225732091461661661887144504222352143223127232141433848531216112241108121920622862871804822823134152345620367582422011713013592491311630871862002501632231161357822625539296524841177776152118015743247142261913615954184631681184311692551042012151051901722211247318722917811891190110251219324064239109188916651227338208205771212342451671192001212241232546674857118287301664141081241281735324423715018795181521215822012910616391732311717014343872821722211465123164216238971532276111682716641631441173326192791343311857181121021601981786265751852442317219215579133176732321251249612522488542161301561481851283211032491411021405711932141096017186115821772541402424415067027220952121856016917812388110125191128010236710815534132133266369624318421814225213323423630852196017217812682107598810820441224291522422310823260110220209101150161602002331631811034244589110147150239132160711842142221271531532191033846815115418545183112951107813467241487881221721782422261081921091491412077491178852048622620819825176253132114281004922824286143112981312241202211362025320015770209187201101136772061224024112501516241219465721597231651999315921916523655141217171230472222342218220141104181181247821662001612338788203197611911971721731822436912511215047166953188213352101201351917253641283241139972232213581371741557376155563520620111013413067242261841118172267020344223197209117160294010867335738205582611395351921522315496155712287427191213182254203451891518912245183661811891519016023094431721241501478113825217216555751642482512476613920828110156190161741822471331772061511195317117025217010120480255452389712073285173146115208996211889116152148141122226616522819141103255111247219420121710625520717725590719019935267151121132171991035719710218713717918913221725416225322222525235148172217247211101765665534587211113244137813137216192515723023915917611017369902181141527321179230805472172143511511321141211241787820320259206551181911514021559230128111212143188195127228392521371432401999419447188696324175248185952102071891812723615325299247212315937238183991872817617313351172227229142251214916423610320255236231127544432143191111608112613814432462034654211129331173472015122934206240138205246143206212492429418010019918852751152151022172251104189150129103164918215099821667766186773419412154882042463516389761722161912281167184762071845224012871112244167431901993115228481921209622282352232168930176775696149144107145152107206198723618501561924618437381213610189993247125145244229225159159602531713185161203654312414624215651018021725249112412299020518381861101273318725525187451875917512187305514622562015814610061153502011268925117519120518052132054296921302312010537104191224027206124219275580236216116201168452238811419518814925414121523818417025516820210515612012872128205118165229252240143174762624618019817324118886213201294515112610237158214120191172111521081012721146148117196200186197507317217255785414832147132672426664841578412998120688342293121518414318371892331312722222621312485231238209771732151294182250787367393716114761971471899722761161204661981231301991221317112367198122671992281376029972486811141081784711417847106178471221787920019410414419268143112922653461411522321714173118782442287824425212417023915925525371541246010435271108193461841227224417224321522718919115223625312466146622171535020930552173025518651113186439718659302469026796032212013620917823816821515722511158351981551307013828251110216244921792381891105911219519017519217461207172238168110195731317693050412501601619212196164204246731732111396215871802151432151717015466482182281130642231901042402844178106203215233189109114175216162231182171201602391428122310916315827250210235122176206431862371511172194623418115621513353145233532306518715252230217549581041911462521872212182724122242323217033184250199160210227971651991247414357223149435710892117194180244591411502431349913190178129104217189104891591121882221912311701017530368164131121723723017121514616721912620116023168320451159153332423224513475102151237391353423826132833610322324357651262328487792111092021315132398213413813728883318010817242211371201843315100232010959641952184102422618622249113812120238388113181202231041602242217416581213232129238107166935166298714059175146156133140102785036229249119119248447106139251162177237871215447234224231208859614012208205168642128918339240161131235228331311560910022418968170154173371381627273179846682319324820841252481031791209717220152706523714914387169816132097018615611729245152451641881009421107152194120128632620206229592211331221556251443115713460200143179402520782516820144171831922292321501821242401679531472054364287735134973591885710429199392187515213212160714471831922914576012817116812919718219214639854692413113212124919911462610134681562266615027143312118522716521749210302167698281625213220819379171921011311282434824002366961771241228623525014824986123086235242176198121164210971601961702351348125312124520221174211671481707841215157851091901685301442204810212357319824014845321575921723032241298915116123920531015188636224020523017811155131713819121721211678191731239222514015054156814725311011814522636128198242174128100231242292343129130207211825415331251682492391091881921316231167208459222311515664132951302102324612012710214413127207762273215209183134237151116154207107212159217209112118712193720515827134526280237244180218241113165253131502352259811519219216120160196124168212156991921397015120910218323134679235286522474344239878814084883214822021022920240142710883247913610265146661371702481393212420171986112145117142114413792521151492012281637201717514314986158171172732411751532125321422296128211501581281292122301791441762201943137184100861734618324666248190811017418124290732301851813822741251021449715715731122509421379164238472222253521211751668941081293575721351961082192289262171241131421003237224132237301727156233139161116332263322011347941324182097615613319613588231234926140142402011440616013712185824517211189122176113023232108228212107766619657121605210411062141286714814056178241225141572402022821514321817327145202125165248192139126212781983201261932412346524117011131712372526351712552516623512798236242153185199429163216101079574180240250212424822518121433161377520422063533868193173817318119288148163266416186104162943622320910816794228462051443610195209118175232452381710723736251115199181431731034819520212318710314889281161061421178217490962864815191641251662365516718520689521351462146213033461512182559912112885761741851271601972553921612714171521133612031122362261797346199100186851221991781561952471102121141202071511022291561554233251227010511951632476135379191251204159187156233210133513531441540131143410139511511221142310985183244141218235437624713720121081206823112010247123197282402030240181272381592481471921643118769101152123199233187688824813829661479313318718922721122199211929824758199239115136219766176143103110631802430143200141111692041193223019818105143225113228107113620658372391837246136511284192301546916155229422062421623118471103564167216738218519859439186682382441623924313675151207124136207112161672171982361791910312840236981932118079179205236124226132108758435492154962211614645404122193206324321622666100144239516048794812713716119120837901501052715512974212310822721010922721123798211296921723822676478166641086882186232167191218125236248471912522431719121143243511521715613213331106224864160128307147235175239224982248164225393379109871882720621718222889614113158106721561687315816820524184150250851502467818318530262189101130721119319110217211156239352720414913236153236181182211801725616122212372552232471232132361271751961612291781292281662292272679216163106143199533014317161945424878181135781821331222218147631642121471115493313210713151181134772122502032183410576160513522517824624055109161111218673891215886187182952141695716911623917424521126143251229467910618816618619410125349175902529117424203121921412121110018061224771111962352222402332222401691901367346244895620923494618311216213022217617722224011358215321727612173233315121743154234131197761718839123983812219619210184241174216113201206209158253793763123217247111213215190176214154131391771023318917531946322217341123250207196779524510214024716619123879155146164781163878116387711839777314616637921118240642202191582161832101521692062401691421762012462081831462321772301602221552481832209012220518659223162231170117223531551826022715499154221874419926671002532411567104341052568179291209618021711518814915022133189987512332810908312166576140179239191109214939620812314748641149316723116611023945221158279014622051742035829231132182431258462321179350236188962201262141622351409119913716015099194134211731991272271021761542181332231611711622241981916531581421706323881121196190226168772339717922611124575191211465916422212222210418030603214613196200164814710718918724277218472612220182301867525419922187141914720842239109151112119147254219230353718214342281598618760175117123826943512224718127461826558170132741177193331831178671541578911063112151928632132011313420515469820613242133150133206441291361128121131972521882061311322089210015637912320328178242811651117412280238817207165607822147351113742147230218586040119122802386082202118684611728427057100131119237104192381143914625455204048402542251831951631219067222246156120105237252106218181612371781262535714113460218237161250164102481183131921102075596223191233596120111023018637714082048151227164158153128230981541842291665710613621965106115161126714720921802551561096136147199631555412858160402283999204128162151304015249873424925299249761102281001577021115168381087848121728662442431712001203310852610381911006725519580103521944212113197023323237132104114235101612054891622395412910170199155128858179416780141438078541652463124721001888192235671967420314949581357391164240196941920423811717994602232192338599411162432135681862431359462341173520622229427604011514424570130716659131167218131158213121601981238222925218421824910517323517912255132154229613917336551415911122182421172352432122021431114325011099217177173128129142431221292442502381281182085235233117200116672524711602081127014924635997280125661772301848224549165234163138851351838750353016019312181360608024223723015024321815203283915425324011570991077816884308568878641331612361213964214163917323116144251431821152432498252085772225721281762471662177217729140510821447241145185948017422619714221177126856471782353812080199345110681266262208118811232401421971395818319091198771211702241291451817125116521413619213413945301489161169182123812315221822854222226622092264920923662214232250178206241891412211477415516134147222155186253183244250110233741751051821588722620240142732281611163313355186417517837209204191115179152221101598918411501202231509012044991895174221173462991404862482081108253656144522081248829220674329911342144712161334012962217218912925128110173125214506722658136108123255852142229192671051021301597251482064810623155106156134127227103145128711041181291121837888502282483818380174212129552034433211169153286920888156668724014324420276253432496811196123132113199302448910272182916812825213914028811417450101251245234701643215247210193892148121210020142113320265263822612519202371762013116861250145187112923884219277249173245162160218112137961341414616112440225988320513433213190411311213018147312888993117620421025135319922986941685117013518112232021742242417919761922097520039361687372322081821991691061292419122035652015915418412940802181144331688412419721473251109146153284157680242142491362229914514499155250578244191149651203161501212509514817925523140215141213243125452546319325427606457223511424108229251108103811501554021975156227171491777421711419845133230221271788819720421063441067912482785280892191381054214241362042646129220342232361853111180531122461422202352313950179619911522198160122115619815120136247123198238247136201209115138921846587481031652241631811591082108454117118877244136751151412197301127820411278204118762001576521362331191021991902532111206623644156417810357362285637237551392201732724111332202351441322031791042272281842810616356219691562372215123517151235412062421372032427920024613920724414120724473200100183781151412071127720011473200114194133172761541481404846211262551631367522723514190196103219362305819610318619716753816718713581271923108293272802322491851301431501541331975837101216391662191961651294236200246217197237181191655713911461681852222099194100209223255254243111143254502392522391785121501247623179342301622161211301330112013894943416172155432001382208211338178252164103249113171242163701012231058712416791245157113195811351421792541523923812481189127240238206218115193183190118236188222451621132236812325010710521821915815799237145132313202143171245223181311071315623814123922352171262131802491782411891823139181621431071883185123631742462610910146117691435577517591151125163216114662512094513515137238207139221302221781278622824216219623720910919919913378152395824693179232187129127248173122111152521568117460182105224142249104147223195741831995394111368117812624112091802515322714622713893183205198583223246691882371431242212313015216279254239108162471141886398188631249802249491657217315321331532213915638121361333350205120128892045218123182222441657824523612537221635424815539146127254771742531351081854186141271662341302501942361771619518923620312633221594222124517051241851232201803612190146502143063222216322134213615523422189150138947513283931764130137142176551462328777193615510816521510816458622115120537249221898717321847248731211232190106572091838277614824513719891316153135751091031219616220511918021723585147247104179207104147207881472391201474741962114287136925213122111522116815125413321414718151042472222101469487239190162381851723918510421412522214824112812624712122718216348167182352541417116210254454019292238192718319822711623514236861262788115196181250168992291718717867221652232515012417153010420151120892353527136147131982011221324723518818717424183955024188991251751442122714842012912058018724313894239132272513718279171157159215184190168117672288157681912211318259132151279656851061392407318124372252012501352178208220208235247153135580020230981713579107220160233153150181133207072481921815012120620816270124813022207169118133601335823110615859202671966317111512721764131451601752411501921372143213223224920118222487141126154392239151573213213611321116718123814723712999451265250832311123862351292342091367155184128010518916491117661852362322462022277414123118132521131191562298227119711332094620012218217180167501734674195381652441051591645424319212911070126254213152130187672141632301046215939641081922060466510781612648282102168131412647196732115153143661203466281626218429142099940102177222921172524313713024210235316422789136122531083557849119335379193310452160179192860016130172494821810520721539301849806762201488730183671566751912248067129401325212818161352222296019263138227213130120133331941525111114725120816218117203114224166692551324322221992121151909720785992463236188168391851062121491118217221118652311261371897618462351371447319595119133128171241140158215209802718512852112461951953754221215122720732372129146105539320816862165841261161072292412371361954279402141598323518610264179817422571135421892271292502115923478171811230168571708412522863226129245197223108106185160253168220963231231813010496245113229210239182095615002489285225134858132143144192120132159226221194354816416315201155136777770588209114172988711622081113552047111903222251211201521501301671186919151951752391662331201471831723910816419618624516262422422293243161187226769221601303985118207107299553561435418619419815492652471062915914821960441771849510858841042161196787901603718517022211373185237194246182188237156222224102444925576621391511869562204810720317360103109548128171127226619314789195188201228159249229312512174123914948185155138220892291752474182148147647106017621419811915714123912291154135321196166186173239619912813142129271571301821861344212268104419626681641541785133204992112518204172701541783114611902818252261201891151623869517761561765219172232241817220138551712481970056364214243225145149542127523528364264112418059196183162119523182018216164228661362271467977921201531886320919596614814017912214516926193914423390161162532011625372972346317103145136012820245160564813117817513610512511425226361285616822451115143149541901382226640251205110225128116211660885250210585719960623165105135391151860332362402311124713870230141206161219611635313014724435119235692382141477217230251812182141271811576319111238861767357104157188159243017097283253430160196247972241111337881389248158167211255162512392400552142824940652173225227161592372615975603220224114322123924152178112165691139115572743881821041371621331411598018047612532316512924115945222200124199628312020071016181840124188222208543248542033938195435819587156235453624314361232472182392241551881081631671422071521253424811222990851472922238428623813886238264665861759931824759196496722001773531391901661657172172401691988251521601522617928181152818115245130186251112909722610224154761321441522352015933612818519623018413179811560196153941771539422652159184116472093047225174224361666154177871641666716016914320085152230147116208298712914822611515722617810819723354204151201501261181243220361110958011415471722121674321419020735122737621012718421219639202614121957622036215038795913651289921115798211156982461851375060132123189349814621182254229143191581272332036325324119916670521159613439230178993120433308012823667472271481351582241982151611651992751431861503018246251206168244431572266323484126101421892282511764023011312125216313813216718120183292519454366017523771183678119197191150196621078168571719311382296024016249961864311418037184231182109237891572382715079235124158212130760308518719110624215173113541602471821171951052052421751832131261672201246617925413610620511920211713511952308310756170214126701672431889425373213198511615790205231181234781712141562204988104552132224617833240696719227137805416592093021011320516422815298247452431771421602151891711125034167123351661041003211498198198971251459964130190136201129168201129232137126152112162471021628752209275920919199761401952011902410217714718913719210228201158612272102041511461591422232519919523715924411818822629197223234133130992552249492441351511899518814423812341217249741462501785122985215206209174157184240772551907373202235158228169238184177246232169174232169206200169782261291772142242091501603921362125183236122174219208248192211120121139158171862923771061421051182301551435513520261910061499920525480147673754108254128211171381432418616888226121868918229716324717112217510321311024775236238651072290142205423519113157100216115838711493179251170901031901062153717317411250221231411874626116935215092178109592372081162041872251046819524114825397155216138961962386525013021822724124519916342190243168572348411919419024216869249971632421951862291355342142168213159214126882302181442211391471313619926253187175154118925428188109205407819020941243961661051369387244250111155611691162156017111312174227324610828128331163130239258214416119497168132364787192244229155173140249132173202791586910858501151071611012481611041613533461531563711122232789221011920327482316239161101161110915234601923144128152172102544819219525311416771149174143171220968024979170221135752812211089116647750951271322081938025552341931964644382161829421010758175851237017324913054172236200182599511116859163134123201164171781901682337820813355238285141114186101405917521010282241024917488141222192182064516854274968312915325561154329207123014113315210248192184130731211482042154489179219757129240131109915250174143309919554656228164129254687816812182412461243136120174224971241001632531018137216623242051661471393215592081246516725336918027206105212157851111302361901721357520851232648125681441301861762201119649935620417513763531342252772931016316720194391461731799464223247113239976741311769122144179161811201402286080962201232058412219716822713011024721195182139186131032123317516118810161145120462241291691182304784235142163286217411819087108197119245110186160891178216925415610610312912922813449172247182153244166497947631821411578519533120160247384522492175533356151763313023422714071422535151247123514113071019192952442457021223473165203104131552163045173581664724063188131171983395382133122013151208529523442446206662201151113119624118722735313635151402312251512402546813210319237462329710020055681911611875618722291210241702391861701514615124570200250352391512181809280239462082718499589210873838262219421418714053185332421623019180251135229214353715019569102247238241522052232187161215123938711485171253162106115158822271531091411671832469525511127331688525420115659244672451141192611020322210312823910711917421597171971794667544462115138140125236391715155153602402151321176381269630711405556102160475175213172281862918754728175414022467211154237252214592481111131385246138210147342106108147114236216234165482519372015742332113212223424722247481801511022152186124982361321847011218816111255685752618212864603100612267520420020910414915747186223315522166145211881802153449118711516135170131178231151195645139205926517561167126162171671922131821262082231072361046912780711923871291608717972111692275313019119248199174181152521962161332495121464967296086217248651931716196233712375417103168248138878824917211910214141216105261551400171240209302013674110243162185162242218164148137582082472541733081186225592059851131331231316224716824819713040271921217614819538229128851832106632071113622010330156118922350241123131312743602401582531431558514025025223911832334239145621321871381791899917812519757624989166174209311752149820311324223342032212618881752037024181473797191133169219130121721321961623325981288922333362422002261332031822171211118935247120712372432310252634179130162115131163178531809388201752304032421441820493428817666128982314516524822677219204602371622461851966711823114423115112237181601075220512820722967264191361291324121719201931022919319927861531859113721028191152011014033711622520155237261512271715923546206242140205240137207116232385411413210181245114131821912371468917513490125176768919520421953116183752166224716876312411263213283282231606419019014429155632241491442215414623819301791521987232676223112924913015161031121936220817624624273204117171035819810018613617993688917449252381945221520093158491871256916918120916912314625424423122323015725342422202996129191510115231193128723013110802301945731119420819105313124513013063913574151809317852911917357102591122052312412211441991333399851628721316271659714342343185132634015121822924617041106162451221868324818643234113141872297324513819106253119299454520316417711137226161182151381923413231245318418661169243120846715512562107244152238141262192713419524620325029231117123242141372313912071042133121920911682163357916723516222220029203391012462471102279517243225187522062881042551681941071885725277103204849121212075196155110145108329717835172163192180244168178244150229681032001552221685512520921118981831891451471898119189209227176190239254896106645221715139155232772414719418199123146961472532018331371912517722718922624122213224115821220122218049105214152244711931911272132472451112471872241204103111421683251652476519923915975127249661462531701032477573226104792021682084176119122321231706399164782169118482221492401663910518045106186020821249862625370265321422128226461172371851054318911022185962171451111461449218110616324112051744322147459722847361371628117242105177304618112192227248178209109180217107180217123172197103188133118383011124615510424612381235241184194249651691957217729247177190135222187393165223851602091268916525316211425113329210124157158124131190433813121523659207595515924610557192131171132234768234912110485891802068173112234151142531993423579132843119325196831152201802341526521349157202163106857111984312238112184185255150149172596654244327140155104102321901062101262011602391661014721224155179136161061632311349148422881231216181252401922439021516721316817022125382913212922016025410314114290352139186212118184212142244122411059240932001191168449871892422072045122224316193162172202116421472124811538129250233191105142206129138109186160205374111657212452284482901619217564106723921055108104951641169453108186160851251067167158681681536787129819915810225389245138227742119914842143431026242523312717179170148318344631708811574211511483021786122120272122372352069689111202332062542321832211611442511682124101713684569622411787200467130177102631542169071148130832122221010316534323118015413474881516079722262231658922104142501351511648851101621657233184251216110923228141513624017525156139781631766420243741949316162230228233196461341001032132091981542111701049621373149234147591447109172611731386724464197491971781632192499682428415880166206978611766251531451302032091115613917120823718423234140581441632091315461761171661222183012914412820721363348181282052349360741461822361795515118210055205200892321541056312523154671001181000501831432911894210131216109611758312790131701542416441440157143223172502585162217412287310113181041901682131147318723817210620510510101921795818324122159169142015352244778716120852022401602531383024221215881105187172351851022161331832321781102031212051341791702451031182084413083255241248192441525215312002293619221730141170571612304024911851562259416124518724567251424112664342391244151601512471517822518248725248200122196916522291838134566625018134206220171168211885516221110456587210236245239219019023381482456920261623015021953229169130724820001202241016112621520617521619622610321378143422361456211621512424018211322313125201852372062032629151212219471705315751240182158871095816352116251472301917510019793367215562481751822471313613313822961714019589301202231521631911241362241235415524822221721724111418127977215925492240648464151200119221812314114955120128179193236152131124104194218273617619349162337520522014413025215515613084124132901939614559205217216614492214201571185915562362542864848171671016015511395401268012269218167178351750296891912002161375015256115661924111614210332441452515117616921623318617411241720422810314513234159791372141035012514710720090711272442221032302422291288022442593116416064206301841610413210108245136418402491966416313110192081511521856725023569238541427399243105492001633118527210923556123162768424599671351432161387031252181632047977922145741092471823824013921312738215741961333210163152125102113153582251692034410422812920799198891551481311087180282282232382113108481032116104151524819222334151762341611701881822394324225518719895206255173142287799831022372271782211965794492172221621081912169217516811645111271937191153106231146253179249243871092181602272393513810798522016625122216193441824024112066159102015044219164101237252373976151610266810113313624677010191599638917020213417150207157179821291095502391312152312925423017620722611520314820413083921924759661241991032173722917623361123249482496195512640151413610021919610212616810265117911631062015022615618022349622713320840651081821474021145542194346199594643562451288388210162141106130158712618890105249387719325222226106145962541547954232105885584239242201021211982291861810810020819622624810815524828167196253461131281381253373251923194224593615962487917696129963322717280216156772182141584925110491532061947615115244871983110194125174145591251961232981192507170237220147122226196876325110521823014121215115510115410192128185432438810019366133133168220185268289638724014310510283932552501622413921525420517822424721822412955777317819816416918618487181497942195311501352204711284619319115425447271951989135382193516758353185123167414240247223117281079123431371492451961421481218415921417461171117212084227241168218237811812352111222072412461925521024015177190247138236301495614121525078212249332817324630171241153108240159110244151117132202186194167154316691322318013514055562175131521041371222192125117862100178452341171032041161518054152482093021812621316424416814622815019712071482271291682332222004154490601921443210618814325691367382519938719683324183253137147125201126146391228319836201991461642016288226681112421845211718663997614657422499224623220714620295186153224211652072312032311018217316220561472492502252091511251272551725925113310024716811620743201190817323068207254113105782311571442533419355639124117877603773242391401532321361224513712622129914012122222455822385812021517723915012547144224613177210172122174891831792411292530136123219295721823620762129912051401518479180249208126100131581241251611773822320962391777031132144561281292536176304452147922151091911722181187316522918898203571012011019320137131222124211222124187214514645103130912061361422365521525513210224922420521191462482381115517019162250147145133931071421862122817917438304817262174911177616323018412223791811381957493871403915531013177178225132169214322406421952531581079608242242143142180501861851641921602331561222356945721381992114279171156172224717729461827084216014471102226354811414517819195785815212717135100682521132113146456114213111291153917775311461137118215034244915612756471781331501302321294213012106581755691116115209929151811381951548359321277341598113521013320437149127781792442402142421632191936144227472618816098914623414422861174841181002778652538730392492037301542414517835219139191219140107811941637423217961401086472601127968723292711124112721722424521911368612760655213519640155240642432810622019242208166104515464819233702001196242130688413792119101731665347769617465124785474227613671591248886610572311761691180189762482106411965518814425042453920697154302051321772210932221482822213870113233207218190291351042332211115519313819021914012020116145603922672185251205198162111411301762481874569223110260224466850108418568248184199112921837951521366721618851521167017922341361142172898607136114951212501001922464016023921787141002241200897021082219321357291132237231117164519817323104233302009225294136211122341675813015821312216024764321241886612221116445311481682012813214823520717062168112066410211425033602082002015419187141158207235221193234173151117427940861578019675206199756155215633147476025015924201596312822129719224682091621868317072445918021342549715335126212722281543013135176224225502261332051941820713154114227249137121614011283419633970311201933313613918512113182326974129912012819825104107103325290101146162261292542001352291822241201531251362547121118163132381920594163141238136601711131228013419910022212721910022454301561261993713168255182112341762062031546121524416551862372321321947168614125113925320032701039313122890255123982531752777246133241175245761781911791193523920666181227187222225522040219952161064320638414159187204678623612331624200716144194115130190659124132186972011981946123022652622431521824310222313720519501313318724988123571431171081337245261247236699145206233136412453215637124986253132091536481417722799112206371651294160243642972711361081792054255443510312511120569126138162831405532232215216249107133386713667184235692361304711001412942229716189135210319180195821406940127175137402942127165141151198213014562991714233196225391982061124529625011290110229163226231118801176128129419236209123151176377787902511741822276011219250492323495217711802051960176143241641741561254102121128219255168291392551160128122041441272142223720239222114425511318259336514214340199571202312637168234101164166228190671391612212347218961022362262361618412423322605268192121711010810612925953103241861311517514422819223218016016824417615244255208617410618213057171136123066124131102241166012442152183132125777122043917488174982518820361225324269211372220152120611811126135424221313221625211356823224544240128115202193109142193259815217314265142918564213588909214918813468894616276119811341514019579156972281640881282021121768934152131102242892092121741972352452361241818916351189197185238524115354561791395932281861972392471362052462123713222375218311725324883817924911522860240193124421123023510234156791511708818719612071102121111156116317960162511251962171261138922220941117713765981138811611678110238472542381033870122115216224128194289213915221555402415219948991170197121012522816419016818922423915955252335996177200668024917324511667202116141104172582428985232195202128251211901542124308412222117511212782235612222260221296222121254160202163236152902331724512319730227173491111871479667197190531671401077825731105622147243121192174125902724417849202461704111617241116188492481171071327634146245198203614710067169178225841382207514524539203164201178129189178190125111588239154147942141992452232461872497118112311918916721969111581611712261992196621817426151288123619097622223024418239234109111244116111244841431121707152372120992972640224720541362523517141247196782441987924438772451657824623812421314960218696714721811918910422324912232109170111158219818724777722471431171254921425315520112935223254541021692189794323120919852234016818424699217179199931911254125325214952235101215254151200442492491391821598615915151821615211018228253171234842071741372381321771182251207122811611921217912219125121110131197142146155214192128222155118100180200189125239139124064107158812291718123817115021123717178129132183221811637725415439372186212196017211649761822516513360174341832520020287132284452221222441663524410514925120893192128253189661871299121412555204186243241791756254731105917522212278189229180701995714717460199174601591421881361821159151254193203110163961576417686320181255521226925323320813421125420510318921920618755156177198115172621693181686216686115661732381481222217318118622717017323111630205720018635101247226167901923166224123312360192133218189664321816123317814164146164192112417312820239197111313311323917422912710056113213646614011718495981557136248125136931821942041121772918331621793228752052241665620311514168841031859023420455104206211106561639412726138117313523263163941199017322721126616523415282249225109809611925418817424216834114221261811902482197720876196902178245231521529213424216320722213620415225211556801233801951332231084996421878182514423249093697211291937215396542182365920923414313521619322352129522301056676740671666717813167581742614146183612231781412281871246013220110446235193900681441361081562516841822151192072128833108131519219414118331752172021268302321861021217315657901922121272013316623619122184121612078296196661722251326420012411659581642465210911413586131166208211321371012114138192229232199632501672551422294891254136106203151135423815265156772461605712168458225023914435228717416190252652271533413068174107172314115672481046431191811963872017623418259223176245156228447244493058202145117135201164172111571932072356120921184812318535219710724831231252451111891642051038212157851259222936235195795082214194214713476119414018120830324726220318512916312431421631771552724321218715217125344152121591614142551152081261001567138191222136119152022772255188198291347053157211412802502167188234120147249591267243579224181159533626560160103240115160195171114167160899622410316975103174667825219198240166197189219861311834410526461672252114612341901062161268918323113449171788722613815910324312114125421916614343237159213561435412014055121243857131150219331032196923715011154292491861572492501085952131666011724473219510954183219160238132108237771071616712811960484324112796180224152728645643100223252112531149325415926203675029151252176161661252295566248110125161239217427547240033193443316020415324895181119119135130183247721401216923313236182119616691196211141902301809511422347049123116152239254221431127210610410422222885182190208232272161482261171421107299622822517920614514185136231172281322202311142331323910713438242211263224214410416189203585772564201882282121462162235245272451227461331873268614813710644179244341751588921902310226155142216781151309916209143218390012883823012810182123701751151290982301822161401664611212219317999173325517622986947520561105401382232141271799156742141073861114071331861718722155184209250695412664146212719238249022862120013320714015228902521411431511223310824125521524112942422093930161715120198100123691031221322395111913722124192167101281032148161176235120125413717017813714512925371316644715263231371963101641611619814515920110790112319919319421326198174190225187195197579749217110621374321523324221019231052191461434212416817696233210117741392154112518410621910653836121572719715091252115124828230501482518712112820734323016023924724281222724084193118671291941787911723710819725174201756151841764144649254620925118819715317497169155534451152424380771646212049365707794342481201551378314817548219760642511541015813076226114921476211914220511314120181362072401417280215498917611217713019471792351416618720716517464951451287246449416599227157228436223243622243015723327112387411913139247137142137572727721911922422465123592721811714025424095812621822812014131406136723011230163803220120033106249691402092151595923545175611119180231121189105761218128250178218511001642201111842041231681962279413723511215323514790175201142168911124423523824016182167178163170213167117135751881989113217815884892072061458225515421138213391411861745712149120221472471218422925516262116180579818853114188451461562271652082441131782382489103244235182112891838021425572172824418235213711158681781741645523773175219146223118238122211177251234191168252243222572215781474566198399917319317387140138151112391861105422222361231597164114309614267223227129491691207626553877152232732614736191236762623722257221159492131555722115141272066151882327230151236155144228787412758332531351612501271402458766872170240024016716740168190249179183143143622382522492432383996118547187247143247252244121251232312542177822751122175119552072198238361692279324122412913720616824124617671493025311923712211021911694179232184106222121133155513315120558461535415621017356164218115221230117711481089621495200153169612357211432129209384713279106922497621415124594147451264723518894213121191168241186952361202391421092554543105129153180025516223511995209233202215238186172213117731672431887810315810510315816324416212779190168238120116140525313224017921749952405122516619447253138190246168562262221122181632331401152211051711542117085391804214317021528871715916978123111562141685916121412074179183192108162193792144726111242239204551542291200112321216622210450672234521123821312141152183120224142577296232174213112145245801452113252261272134019593171193598414141120176213811601051842441031338313215134642201922481107492571132252001210331414516123716246720234314812814427721602501845096012128671961611921128292111138919124459218592245234464813421341806972144820413134990247153416318629418019824415325224086168252871412225010556911025525277119232139617571180129261731187495190217185815757012812925017923440412218645953141144242144197228251132561371262545315722824235411322512221622098382352171982071081471250226789464180188182261794118441742243531845317419733721282787228247203281611341852203942567684077639912182161688521252115109542232151364715719617019915060982196518023123555156211164252131404313819121966356135182128719284104197227428721213870481522381031316318077502268437214436346950195150220240220249991971631996722511126127197212315220019110983200120160128188134166612519462161985184104720123524616024110219116753110247138108187101042178324122160235154145244166936126231852532142035853167852624221215921256211224192642121552383221611610322488179247179902151031171746413025466139154211202327181931511175946235124143725419524111983223208124226210111552111103231181209192391494622411882165619617186713267171641242355291041161211711112035912910712224419223622403448785632001921981261012922520172311572043819243572171252042491013619712019216825314614126194111591311001312098317312618955772194610515239161173118124902372441368223102168200114224142169244186331737312212271227895325222881912521421067917084292239412111691213145237181199148235792381045816362114215862142519841224611271612593621072392073112063157271512391276918420712072018726165144108102185339062136752133124871748411942242939334347150749110522517721814616896211153422611415934511355138119401226327553022322424184197376820951826148142629102045411763148582151001242612870112252118230226255137177243103230180186314861121225123703414224453142541561619261360620842400141491241041101771262124668182123691061343615219714519178111981131683271731284232109218790250271310356651391472264618810068128492157171519615519710223471237230992421261777211224067243184446854185132130216132992341982171614321197110116910217116613884253227112249118175104240192104331101951764237235692382182321818619612791991916721421671307236118126143108124159711425425519332441842412082551941025325025571345921014420187245247104418125017511616018814423989181338613718023135456721992161088717205422461402062442210225013717884141614114231272329938145731321242442251301491501021101222182211520153834120145233148024215124303448721721432314590167101228236311867514811248604219520820067129246532512481631587207878816232119521942291392122451733162831881941912598246638127238382021171656120311423710463224281078892182117156124195967058922010120054141507321112104331601275811541461231966645235531509422811231561911523799179961041601151081821634822157122159111921506764220226117106130571965711541594116151601171401320150923017518204891909322320143382118315622922155225281552382415122914624457120192941521023119021145602171985324016379879202082285108124962541246613024903198310423101321229518610016514213367148155127138872324619120093941612411583316280113747490206158180108103712151333132511191511546723866523397301201282774701774017721284667868012923016713029312083819619175220602211523510720312485182411725222889117200131742232512122235229303522911015171220955425179117133651277911969122201174263166931151981001762002551019925221923852897924613111497221251991541471182215621951971611520335159215138198154183991831665882392188219826831002371531119017895842371268815621211935178247901041191901272355724713414714277167933624912612521566611013215231071741972291992371271763239212471827918316719023713812722117452351392910714106186168951161201232311172111771826424020115515823223330225116471930227129245468166122239412140247181214074196175361131751861919816441147125123951522876244228601092215521814951213119240205224121725331772452291407511494180312823925414923621720116221121717017110414061891327819595661842509625131715812625116423555475812753214249171215189191127218242171111126102174181156250211708120811861248117951981201192028810323612010320412012322817913412819398231238271502951022378777219462272238414718275166237442101262091642271621052534115717035234671191572231181972083812221194209166192135229110313311813111924962181180236201163421997229246351011449554351972461432029315984184795277852513212101586247238216247221176234189110214119398729511485175243178652511211791581242152461159410910367582071998712427241227240132352179113323125411914523590797118315911462492101722301521012516919925021110211710314017079235841588017560166901236617322514870211254588253926341045717125316821289381413010724410718716822312620916024761002573134622015320718841301212071399154971218621172622401641712824721325517281585616120818602401762041261361681922308118524322710103401642478562148192121218161237112714615214422597153355024015660681022410416157791397512713222056632132261312402261208011810417112493151602051461115522325310638417148982139211689720092682281422421241002241522201691344310213623319824390162381111871931892251637762120112144185189183104113125401052321261481921891462624352914623318294214163253122121228146461281176247132164421472367624714314857601691181632451488026731241821325911738176421612251238142204561001107212412762502501420114283484177213149207781021332031834867371934817960641586344142221611299612818617923416836212631141901082441582348154104152810924127111111522368154238101262212910123213236251180206125176216182241130118217491971463521912815274128200551552624252318718560171117711738012119236623825019791101041291611949639642158263043199631326021951632317415113990138211345716612414515662182228405719617919770378710498491571861052411802022458118519222153209623939851801121092077711515466205102753192186175277511124119936713811024352052348320213121106791069210412416023922325286183414713212871448301209022721011919912216801131245994114192018418313723763642437241521215882174567254149249196912031367541491772471317531162011714724319252261188138192215174431801084016457216011135126951201772092408919725530644420383184226711568097385215162162444522315517223913425250141140472081961767419419871862085715111616521514038911241002211932071069219261572491861956915015203109717417212311124119942091071911722211146516322918870227575310624889213198115234117167118841281471434221415986111571514649281841015712021923012617722710083160172611308319295225140721109224725501818420197128622461798919451421245148464545234741711391785702493319420776921501525647651042026293207174194249301520470561516304556153298225177202130662382041137999142394812821725110848187719420443785107237104121342185719319812313175176909644244581441921102311245225142051950771961051442421920240010651171902014520480149143562282453887101851731021115226862192513314122081601971246813862209421264925081599790977322441811608811629110131731912853180246932312481441601315529104501771781751121397118414617580209591051782114112421189132701941251861718776682331661772580231220239953928372112651382224916241107237321521683177232672205151351304220118377160154135109112141616969173188215216532178210218119155711489724494062717224043632125157671611019312022471214732512497851567104701145015982252183195316824552463730198845616910323513244272491197159381852062162511222531272111022031481512521316769172312113127965643143240154913723112845127967219641107182240401111451891248611314211176182159402199514823730182123229863525018173192631534715863151187211124186105189186173165219182141106802552241295711477143144351231124182392301752201821954240116951222301111891892266225016122102225199311721564324824232061011401219161101173421829241792195510214318356219931882235325416099921749312414212522612618716425311891769221919692116190101124134121282371031086920324919152081482261962818719610825116492231931592769238212141401832216759196103179157420021913545601542333820287220453119139161241881421692353711230441553988130134204147203247197130121128150133431481416113223330177891419418918219422114224189206201159219136178148157195638318388171102186931956848717313412471514417525512418238921966718616370819642132432301271761092131221253543127255136212240216221161162157971621571938173154902321002522056991963115152155111252191661482542160194238205618160184213215475101799147402506719268117246100245174177178232103165193791712158212250611702461268423724917620224511317321988155223107252163401315523682331851019112268171179192249113772442272620912023517455932519516519421821178533929164215252239151686217414012185159482171465822119010717099215120107234120211222169250156103372512501122612217413621824366431901174525120216924113211119549159166147126173103310614187542811510956225246167220181225861302232389058821464427252922141473414781011252262412301601821242631104474830127199349836116273732041642048165121775235514120968213216287182091683624685552271291582122011291802011901723917312359113511130182253250239182159248715310510522815519320739122621272172411978420711110124719025316728119116209468608712254265246461797112595611482542388123147951162521221622511192271572551202448724659621651081381151991261094027249187233222172233222612116141831468824019213174472011321921412414719811250772324421924277581741521179249111207718152116229155117229155551562141695617258124215693817203122227655163141193152036161129122111897572198891222892462225423318799218115203184171192176229130110227251571615914211173161215254101237312104451211341434360134112201131791932193831831236558221871359478911993244236186162101453910856172432191322910610813524053265166199167453913214611581771992212679216180230891811581831045811182119781912421487019792132029942213199841923205103180277910513071061431712961108819010515251092402296020811921117823158121504824570186237943342820155892031212051541477414621952513780231228111967101260615676114516621741162846347720719115229160129561056423664833511316432142831658131133861612415622120200121968234243150121227577772191108090179113110642132802558712619152255159621872541114313208103403197532060115191302131581662519517922732201284162086922310913421413523612622121342351431262212525218019818924514630212632559414169772065451206694010240018042642511995553317516127166156772345119112772228161982191991081831111281228501413513873253243175233722251426712812261242189161105610816612935501287200197136134424014976105108129149151021522291291817616195128226679116479811538012114464255294302011009119221923848160142656222302481622172311011792391041556322622723719910911367911913532210951002111208116723613221022167529650596212827611731171997712110118617425131102422520824808220821810522668165111593575241921561304019415862231848262231501851932441764912921724111761959887212881519391201032481802511032131101520228209812321189601101036232424814622252149222521121809221011060175941131249122189852631232111512451151273318061104180153156133942121876317011614822048215841578041518020724004807075121610212122416818391571217620513775190222441731002381062451672132085821214124112814947218813256213145111192271448232188982002092315430109712073214214153970191161112613411672355119142111913411555242336130232189971427514477742434686567724117467151162147113199182755832249241102239215291157423716025416521514170741729625318377113136951191153096641792531465414401317558169887011179421829420823319110524918821824377123168761841147702011869720917822288897928167128247252133160251223731271212281231442403042441791641441232541121451313122413411895972336935051123144453155217134204194992513253192128771593720925522218910213814911168192183323236323014447997410896781634281815219012714342541701771711021122533402134179431726015117615773222311719414720522751152322033410553163231612243320821521625117510311143661751112431381328222320470121284916119455587651211111149942398133237671471611091241821237010441992272181412061932082261861716956212107321212731968575769312925203451452111111791072162659191531181901072371716721313854187134240197761291023515713032241551871331071343610513338155138211141982461092471401941611101967872118132170111323515713014510317112336501759725116831491041392291121801462520213445011425021619210516119019519913478754520823722210811619471441762182062558319183165230114300901685198219166281807525322038229160138159120102124013811519110116228925413412019274110511461221981081461141044521822892251212253182411852142047291391792333712716123625521919810018992247195102152494174971372362121271042526694322228811114120203224135188288424109164531813216319178157226160194115188981151892271141259811518813223314254927148205230127180739714144969249250147128382211881011311702261021415101594282220633652071022613827821666187114788817810213118215318514317017019719415321011131021823234698674116168164972238218274422027322207322412022918619929116735623214411219246622155854155444619958622195046211156237428179138205160153196642462502271781561811518924625219645245115206014124191130216441231131661635620373148233261472381591441631072274315279352151159240631536761731811321663140128124621521919220921059198353820537102175832049422315715912338292121131432244831621083117525311224158129226561512491120939124240013259211241112010417853271123267132168105221221091911441842162122042242324354316779151129732321431931926016212857115201205133176128147192593015247152131762328384231241821481532261241931911651536240206121811492451806024189852361472342322512112915422521357461239149184611742412511115127352119123773120217282211162011902441528911197200227218164785201175901141001251911248815789125381642347617622886226112249222715315320726247191104622481782291921791341807153169154211885291318825110323917823922062551892051111475525434118213153958914931143304062568224917920251113853916320625421056596496184829617789112254159244251238815984139198154163223210191372261371822081741072301971352121911761982191301011891942158222514852134706186993837162169302418415912017031225967223275120611445838732814936141731181902342182431784323789911021039722055638714311820241101623217222252125250103992215717558105112961702312232392152541151402035424418641154123586196518220413518719029233248215145214127124220246207207219254229208471571482320122321212519313930212101141119103189104771909527629221240176542247315725518982183158911182378720518717491731102101786614610721414610754311915625011157116951771081919690127741832331722251791061278911928236117135240101672088017775207772351296618723111722247234189311485963172112294611310618910088119901712501321222278922125415554356978971342282501812078320815711149124215249126145211200931871612195425355281221751851199524623720615239185263918914625225184101131197244232974910213021017567912077011715611170632382161242181822531888575158892431212271865158853921242105653324019214225014723414116752267817021529871719967410912118635119237311485618295501281322013012217924184101113143731831935920823852204811219928341692501843477334017723318511041211937312810314427226252176168496618226511192912719119625497153352551562018562413419132291001318332503313712221621598100224202137392022371421812281708122141851361262381471411442722617913513624011292191279012323120324514110353112107148389862482131341548317018021620610521358238401271303822211140912085115346628251601071999125316115516123316121821924224511315079180371272763228891168213313423142412428511914413162252971335184242131114167877762801959224767282111882182281655136120185119138424214025561821841551682321155736606195871876612415646217820513410515846223312533547138124247193182372492501231821606981719124321325018722310841741601101042048024616643100178619618021723169163215179122143167245302072760971366016911571202171222238720562143107221250104510720716915128217746019210230215157817151288510418252271789627292081181021362114019393276216915124932209136161271572226186132183451651619087141137121618416454613217124213187462720812864622328719125117812053196480235186172143601201032406424146221471170151609323212449238836232184982161147316723313038233251147743212917019741171032162521192192965231370152405725347234611347524113611710720723610420483167121502318003141103213104124128251931927322926162248119742482319719219286114222501181114112208254315520215109173581661321191517192392221092413212020511314982365015133180261201402467421625066352161194178255221921289411728341457730160237198250110183721751151442171842476165208162162108244017198322844132252938712240235071245352912115213521177193772612097929732189102817631188992091176931134249116232322472215070216114651792291308643811447022757117156691642331883818617724715021717162391835215844148131982032383720013418101195731782251002177217017247158831921519972280240941561415311223112225312567102126021236100371941011081954419617464924388108234612520122838101611335387243152102082262048112613211172482384219511136471532431922361826922171792392536824425478244255167134156242204236242229230180632610199331815191184127198144011495197477039601976818814324312811711417422120633613147178655746220920821422053104179914031340214012269110113112212282018019737100179752005859632075155405971111451841331111191438224122169250198106638234135239132105739111112894105233179214214127149149207383992229143107113201102151968563225122763205224881732081961340196352817812611237128381663714022621124516311813073184314690802866807234131108168301632013816018222422160200542078116233718654115534563208181253722231131451745931862002082584240177161243343523179140921509002011882412121929431731258721725035117214611410983151301013672221411520812216312775227317274220145134121214414620313117387520617761816423818321718522314615385421576978903135451253251111177129280248332452072471412079764689419842451251475515712115219771402714813710218841261391191651895511696155148227152180223416219953542195946199531001671541582437115910897162150204522859249612922414769243151125521112019215460089197213631081931231981961522182312071532512092521218010420013411624213897115151121384718163797322160821561730147303420412182291846916459711021851981272252424735107971821017615016540219821569941206182136205501432054821165153137247891971715563923018639236183127422111023418922119621920439193771562371531201925362215657648962715199231512273220617814378115137782431412032101772461712403022453231162241991542171218552432301601752511078514018813318732265060163247681642812139207222168981981162481671305723216244617415747801522073659252285916460120961422581382185951185130902532011997553522452451414486174217561111250147141580126148351589132236613014431342281631611411511211184231091122122501682382422314790255233105253254167117123318519915149132132201323818929216119392401131811121884522911724722255612331432352264320756150157116121841515488190183225114204882311111007914260110252251154111874320723923640604888245139713255112191254239712341265180245119291191586932228311610621517416010922270111332062351738541381591014862215623412617879104242155922392232552162391197221246701701852321461866917118220522916718943785921495176239431161232132019624625014114622218045571881631631921141886124210911122014868604113715714619677118195226391659147611371921013294864103252235190157178161180177238148923315820115823639772512516518727242147242254217432027896182819618878176946517639802251212031433837191252392501891082269011722214352150811191474324155661281912484823719023011123811912611519125317116914518847255206152457137341552171026520924120871172511341076818937254310194131101110247171125941821321901041012688229213115219126160200229971652071121777123913717312919511214521580161167244170672355713923499250109231731992616310093911158981672199915821561421481842462221301941151531049271111412789235022228249170621242401423950873021117456170381932088382168214323711622180158511238023224117252224209291912541241752541713314620314522115169253183118151291412162291877223751170483018624510219317715915521315810110602352231201981892411807725391311662115829232449024352235338514341215288517457178163238184702539579212512277220811486911221971642351469721537253193155226710874226611041842194824319359230131133221963151180431431091499455120821052231232118012277127168136381322744212631942471418111376372614018462383721523267389682502101051346810426621711462033147566013020156229218178224222245758417225318814125157616622701561013819121768235571267175184112246488961081685716182127901369141148216651592411218110822612102493641144698307122810719625213610678171668263170114121217232135207225161236404555132176242561347322074491281311221232162238172122199856724031591032042914115821318667316722975332302081535114267208175124161282265115921321721711914401257998186200230124726421821652522325854740229141672282597106152216128938383321325420570212182244240861905816234134156128189791841723910818651961882131191721971551731237575223822162282451702092431011311991391222501002541881425424716589239213782378724442142111475974314140721280318412237229751931141491431671401997171406760681107218511921910616420810222817423725334219145187541954414268154521241411881312001741552459316753133218472322264135143616022113624313200233133706122175286195158214770188341546648921082511642022298116551186215171179192168237178942115109246104824317079238104185168195150151213086209108118917672216155174802181881621422461611472204817361131028611056167331851022121152211842531881652031217716222422319417116292125283601221692254221382414314812518717972335527128711719985648379510910856165138166161213104722271052452422391823291221916517420318618921516021814116480252570248113132211772321919721011922112024015025172239186737917825341301161182024249145124130186202144165155242252401612555825071313818913819016215618921514017711821451872483315524593992152224181952081106018132131685916992123661692342162461341791702241322382218210161245162110203529190548767158102871294994194167532381755967101398217802237932164315024513610125313718010419696146108321131785714883192593022426157139114382442291313220120226955120134424212517818420930183150184138182181902392418820153108179911968614340104202237948174190667288373188525243443228443623658199011415517724791107239183198214119538724323983124324922595247255171198611395630192860572042211933124191100180133111251011912420011001281211246415392533823115219716535292194207230221632061556452389713610811515223238171902134512130126131992242691902091041896702341852226264201751682362917922135106135143721977116422841212127620813771361721198909922719121421415112162200202217721116470173119240213821536108114138510014716112232442416419117710417590962368620781892008420514442451605628162861282514421242027806778213822220964187697000178797715623211184132715811228626863158201955474921052271871942021352391217694672146217025411380252542017192323917355202199725416624631968517822648192357637913810022541211421772265217921652154951581441051461529715414810514520424225211124112892235115227122221525429792086418421932122151145104472232081541571227151792115071184189107822914835193441548364823135651183163210128641080196142173213227281592272215123742762431412012409221101100234249241199271852391862249249124415547882442251567957154820120314522412530964816017664482476713318520019216417996238252121159234104153110921755011520166133249203182402721718613224943725113523917711613989167225176221204223383421149238115251184314971092271521619623918377609614718422360542113610215915356205505422138542115711319110766174162149191962545819322053159421541695713215471672161991645919610221719910121919810213172482481287110815011192182129671289633959223221118511510108153359024614827255162191802401934212512363143240841751682211226122391362213117564181161195217371321611169129127141788152401581611101536722733132711523112616448151372441674810312913022459135162892511152041961692521211301213182301273615211105819266693340227220150741101032021221262411624925312119517416711720131193525123970220431371262221445021715324116639872142552497211711423373183154601911902261322232369023317347248237190459525519624010313791114163215102701722506011022747119169252549324387187119322421191697415919911120213690181391001892545819390518623250545199171641831586717112146159672272156133162332082321272509210916412215116448180542071662531702057218525123517440326523929135226195422241291371425235296345217920112132226048209295546137155144381421173714011838190233223243118962238420715821525325227146204190178196162227190223254220248128112173195141292138612925474129230501931836321515423825322912021517516612325493246224204632361159220510686785209155248115177922188024214383152072031589460247103209250249212117200182703256161791171802432157915450159523961106136302351643313920924613624114216813714216839531313317467371581951656213113315812555221186175561422024228190235591161991712351469319797189214111821474517750731020516823813612381272421842102391261692511631011119219288831961169114010810015923612621811618724897185952374118923525519016124117222272145203237631085725523521292345312212322147116311862334218910421512522216525166961239414824410612420921594125019654168486420310418122424079172272436813103130235781215515824116863105213112210168229140942511212401288661842394922910624019281852406445962241844212110189135413395321824224418646277417564151886618065174221131341911011436241322301841012141272191722451628624922520515787116159865760401792546134226183224671114024819013146163171252181351001561492481367210310267242201323444241630484713621783842347650182229105872822286123661334749841259218524216898573324526114812521797162282531661151542215198247752368182262120819922310965301122144160238527771126551715377301685617421212465187155237898612778324218324015514112414649119192269922281131961241352481202823218433673343159212184189106164611671316157207234602382121766187671736617824379248802377621720339312873222922933672788823915159210124182741582248852891842507113419910899534213813231809421013310071181131081011614580195969182999016076262468618582132381501208623170174243181461642514120617222411741361618212187191108244682062546624323483202165712001472342385515510620716861401678913180232194582252120821207620823219569182232109238230142720571302501111546340178187951005512419915496128243192457510422915424918125561164845406814324818814120013212821515121228238671081115023321163238203244212819724224112971217820710622019336155205160251161982412122404410678237224207171371851871752522716207662143177207521467171181891082401228223713814210918516491194252196192126131133150207170933014813010610426125716284178102211571176268801411192242402213416413020580249379511122497197161452453985431902199025221319821822720293151161200205193482051035212810200951251162722418853793840301281061991431392430226871521963118497016214815825122405722350715620362001152391421974812695183451448245223611953189196370179215194642176206755824410522418434172134892459691601420551166217512213103532001612381647422712145188201152022919991252168175250991042031941938815384562213062222206020920502132813424085931921635015781632281174251217711225412712817375195211103141281352283561003646109252862092149012048937961419319290713623014420511022521918913242126981811281201811924141224681731441001732081002371761007291200107152861041627011260844419913123710816925417323897919267321423317210431052541287105122904120015123979604324425575542033100104351681282304512044491676957656222810222722101211411862510119192120412418713311252172392111417219389841141391232485213359220943821975912218712324810224012867192581231271322712913142129235292215219742122681712511991111151399291931092361822202201071397524822151481562182241618819413015616918218513324117134291902099122166841247320811111051206965220392085790977323243143612412412824591521675228653458162452151432181371165210316119022112410917169198781042350402511981686196225172326923621014121616925146164226432222281862488108226246177161243185111964194103102196121061292418025280255182169159131131021210132485968240183193320423233242743810115337100152198167271372472349119105711651066916610471167106111191461972362122123754138755139616119534425217514215112237206165571641911262444660502541821952121312262411421122408222521316275184136255139141481194469114240782264220832121439155601331919136232711662611247152162522155122111967651180524921160145145640403320354492036262211731562253320224413821610710822919124019513208361013019711516116113776270200631295122119721452551947722319420123369974645155169487997206188571152304923759239227143150262721710821717219862119126180232211245261862147022302718223417588173182122157246711594066112127184922112205122253581997315299191539725149973014997332041762210389139511731962554177251821772514113153174113897814518787431555117821318074240193230795425234577118619616092171181801101051421945491482293820611214373211119128088140230124408088180112225178531126381521111315131238226741811423145371712151711232491971326923812141761821172401531872245121452812210210850492182031902201912112249623524112115920413421239761601469916117142942176144199171464148155519925211223011419663013445164401031601811218843311827143254381601912361032079012625117224955247107254110168234231143261262531722293119818625424923718947167725521291254227194191131671273118043104139226341851049420623022116221722018422071177104302181347134194241156248335032142170321951621532251221428585306425014237130162147338312595128670181921811512201801238822525416643663814123818510193116721772271542496871152172876045171616636952562081411615052372176145205156150102797350198187246142117238123218188171229901962451756178252198225119123761462205489108161922023876215112344723715014128301112552471831893923814925557202659245231138957159885127902723122258243247175238221254250311475517516078686842139073801191132231802441832112103177742461882372196121822253172332441131091042074517514011414195002552447368658417421751931941762251621687165342012131601501152226187665946248247221326146137127851575811659170250176992315255183109153178254312011221520058211958419963421412841101219230241172422507369228104189120178571612311541992051272238125015778235513915414758245103116711159601692401901191991692391861957216123120877207158203238932311895824313059471961811582191232481601552278623411217622208560246147164245205871632720725121415911817063237208116214161241148105195113157214211218291215817310353277823616861170841156816924615274221241291762508959166130176225132422174118114213912280102801082472332431733751210433183205331409645231537515109170631633418916612723917424972137852071176716415218915222121199317922732241232541902104023366182160101256319010722111913962306721011327100351822822202422461657221176261869977146145137197150179154208911681062515938199150601732146023719821123418119985170143421291923479169541572091045716737185106140251621751651013116177129119722310842984366242113131247121080130128128134241302421269423111211310588497253245662431511879241233714415523912022413250119311302423718498085102525018019813114243173362361211892311255485128791861339413516610319412570253255852271719205240034144221601571331802081620767601921033548151331481265122464157732246613115884651021921921201716377135232197143461081782052396913125114726151199181180207224163581513924511014323592171219223920213417923522194521211421822506017211410818816093022422732241291352297819519711893872019158243030521585012135228311591110228351832485924410010671361442503919517152451513715197140681431963180186174161201382551422451319859188135244741445560109626470464916622021713413525118015410210418095492244820811278163249162142148109181351582511124113516823718799930643916157219420021615481324208215811174223124021102241501435412219016811712394671552381411482160134187174146717751168224184341200861131045114014519225024712096711971611096995174175581782947972153712525216624018613074215111173571822968122211894112182926291825512614553126983621773193147124135214135113896317123314528464415619213132240176196118820866671023225421761670152652271513624067201211311742031221281291822431542051032132679227151174210192156160106784217181566571072241358013874308762615615921512120917607296569454243923521771191326317524312380230126175208925515526190235608222811423914299255775978163228119201004955801686318249248192101362332477012102128724917311512218232282026119418318469108117143220230251652363513024484153462081475209975213147569168191581944964515214513580722202482151102329621313320182146872128618348722281411421291242344848128143152521191201281020813015562404971147698307413921770997520492209112522223425663116213982034010215151107364015331145942122062055113139122119581791018421353116147115481701862223303632231125112824514659193351481881325912468887902504421217791106234136216228281862022181191414510916313425215515614451842015166209517620159661978718414114112128780252261292086810425020720422186219249114811366714237252441432357016622616141250216208133248113715433920815723659528724057244141634919944468363106151521091391233615566224186212156182649411023313132179762041652411292121315910212019226014411412815172522052410234102157156991451487736161898311642128167284086121610924323110111402173036821218171132196129161269123204982112161969290193191452553015224190544118512058120403273623219831434014134215302392420720714119110518819416857131011761166824022011333391021631710841932395230231632304721497342116023070113251140226211141195110418431081441441188161911961652191981655919710218492111251632111313521144204124632491042271241932101211307923117124410060016188981375778161564312418516762541636421887481192389210015559119206711230651373314121137204116291177213555620620555102238135107153248682503410420337235121171081951732118153723621024378212246732122401422232253350821710537202180202097698123114222022417620411713922017970209148571376422317410037442211722311022319019941541994662215626221557126191109228302032243615522436352151447921517150451411046841521911362495322521416827180345587521212516918516510372104827212016218615016919492164243156763314783161811391251941271993184140245055196972527912531921866622263236791581411921741011212881861422364750115416050113128178168621932301332177219210127201177184250101120671261221992372071651976323343253249802052232231112521992302191591272434314332412623021923312220022953115136416651756520231282081201322032302101387513622420901878812938230461012111982091029213963220141720263135229651672071651747168125185160224912552511412511704757213951821889522553209183623514212021929222115203170232208246246221113711813614915221551604820929632227314521561411993169831462442156157195212261347594141151189139142217932541312451691911835725011978223252200831041799022719129238501292461032103531292442061439575190301072532428919555249127216326651111601581203862041611662254721019716017324824455191219183262261546160212121213281931516311715118918432123246245235222317724512843210198218163308624915149249183229591839411414594152321891725216084252188581011648021211553180237156175366324822217323239101137355341711459541592411861195112216480140672331492242141152221211918424969140224641443221171144236321361792223611821228681264122156248233138242195128113119817964512170210210788243892271505116693231109123471872479592341871821112549245212796177151831522725225891602262381341301303522210110312410720612052156113110582352161561032231202021642251848624373141182179904516721323514242215288617257162881157691861853011876165119834207241562162091169015712720928333017618711913919872286011220317224716673239131471661152341011355515129222841237417723915020913150155222155198807519522323112925366472223248185821248423819621513222531119249184123629156444254192322811189662666801781978276739012518318125416410624389205246243582211511325024818218123245362491341842281261452211391062472013819121510965111187663815425311219923060459619222117554220249243582387741816899203149206242645219156118224210517325191182174232721696110010125389245178163219139190165931861521911441836352232321191181120172425098911314828162197761014416117559671282215105201321232337717930182199481804114043123382261276421791762686411326829612032631972101451941571338056314622421110633214239181520018112322712117339213174832376518019717852156246162234915510624712721722424117214220255227618371141110143272213121418762168115121212224101232006680193179702471514522220715560187110241513187681771567301485914232196624724719119932521772261051304361081634912610132916819517119716786724467226672171199421022775681342271216192771223311515862441773118610913367118332377503023241144239812531602042259716932224011620241285194179107203215111207215712224112522694541201415425122011221119118094210123217232205119144016716143166218319390232911142258163624184243245660802331172271992114279421571923175266015821518662170112192271422479282968012774133241192861681271983155248248642335527421520915589121120912411512774191217921157618523314058232206317417035219962453914910712814871182531578114992209135166199239235811692211121612113259832552284452195016651222681662002201577924957421761111440186143119017519311696947020422860066964816021912665271192361841686192104913212861401771971431805195143791521745918916322620054252458175261301451364164145178126171311121972032381972032501961111871627015513015984249122158245208824793183233992191737211172565124111254015979204199716506120231534131014918814223721019735821558410811813135828424637245175221617530152160171481682515616429154162191581702717775471145520167972449435225628741311042823816479155204116194105172128621122061641922441443014616857281408324519411227066106175179247135172952491891533255235894283320011256115457121943688812363995911849147179166481091561652104411871577108821041018221121652164096321991611825557147142231952471722323220410120796192127291201926211218118131762174370631241677096194221514816130781041381381431041531531996199160451741611072371241711011515223236261722362916922672377275121092431642332031249335220178590160107179204210192501581023017937801851551619413461932121231451691391402823232881632114413722815419414419838117191195238312171651261101491481073079961288151251136312116351181101121489106225249137145203988355101954911619111750153106641881621838020631279122731886292945177108281877951601057111215682128104139792127017524013942252356067215122132174245129322717178222511081791112121421441203321155101110139231142203255662412558522711913224133651832710119227161402491024146225133331342441281331921204240301584412620120175184195158725520410219201441441561315024175193515512431621622611413252142446245331862081417453137795573200481387539152371001541781731158812415485922613171961021867016725110511311635177452526224910017122011977923018181242041200202144510661109213203255201041771461855653127254711152012135113192068237391072151711347016621818713248229131831148714851591109519019788203582002203919320851862157517223337821151432142441404987248137517713822299477811514277119231671871342399218920514420118814911520192212081291591732181022261615222625155992718520758114159109841541371271301291672081967510422622186851996622535402161520208037220201322513458322521282051177021123017123848101114111911511901891222721119211231206193411621305710200925320125224253207249212228247109118521281071251212158047812261231982438325217514505510016012610220464492121462081382452241861212157117212713914322718854196123111762422191785168575368217207106177202102021282522521431511972551665123208425215134896104916805413521410069207667035152381941712002381681767297238226575215198185211324174903716252982151982065914545215220135431259553135761825211582114620019059541971352021917513076624117520618068765173613712812924120622820117418919157153147931597911625424412685198239246457924522148156112236477714422077145201667523912620912223710320911817155207171085180841373017131214255243139150632011227920270751271452361363974149103537115797701381711701752925123831115214471462472126136134152431121811025384541148821424714311118612644147230190238220243184902169524212117451602371461271991653220122924015817181671832279020669225315724120147842551761232053111817313425362113233175133312535210822279662311014151749152462355182107411162224411287164165159220149457113012772161241871277321733253186831028519924417114223586282131686217481123661792451888123169179198837011719914027792181801562451065931209124542382063116316276632301161871301332023191422522101662371861684620716723814075227251351348386173121214141392452351431695515780107571652091247417323816882205225237181712110716113114341213318711056183145219113221582202091209017359223020215518511914720696102113491202191882391661052397721123060141178671557415109172571851892311343312096240142217192292433319020119224739151768773322978352521076149222320411627447148591117724112060150252192421722091001341552218910814721862321736721990207105731613517515513239019117024515610824429171247154104244157106246159106246147177141531001256615352226101157103251376120012548014416023215514119722311046253110111672192066881971452371651351046530104250232459416139802072081394727188135138237901535192282452362822642238531168213320766462541107524111915525111091661341182124872883106204211478641282421931291619891242239818711920114961155920812713592134562720067166245103151451990159952454635188920143064952115151173791022591119861891362374976147137191219210114732478514715121204207248201200164161832911631801801421992436247103141301761671311079234933121518534682824624108802272521642145121158551207211024151302171222311712451831919079227321783537246221871411602489712013681232172528712620018919416410811957629112859519104168135572101169421015117614113513719821561520819763240113332834172412816722315711182346728133227253129225222052318043143431637452155251841332191492187918272101321051821032868632063561291561842162222101724334144716724010424020011257250138141171108174611652101531751392472499718561140239176498221665199906512467157183156831755718218925218720519795173432522112341624721529170217194252120631933699517447255110431441602381847413173711801732502322461982115910614343130341612910671214022018118615150611195512261219296128252133160251241211123801081152391425148611006136254192775125236145130122241032053196871614102198179163496134238124189142139582372318026791711189321412389227423544121471175791822482114234207236168581901892461647422173213214111862477529392191312085724424311222013914924510101253982176419415517423223118125424775221723956246921832331869820915311146410758115101201993208142179195217614916208118190156421417677115336118516033331946720720023715881421269824532218341511851601442313811024878157112101721510348018481716515519910165134154197101642471521362472513724666167664518917915261721964183241629922530195168932501716958161732612917720294811551571312152182502101031265024919698185189706317653108609711872129625248411215718013319411419049243204132233247251971501032233160213102533734168391962568572472512232342270626317416116013020546193641301411421291551561305556617518224113110911288224413621097354136216101342201033015516923831191222331041896722426919518013652162871963818316245321771621524548240137161242321241961134760141291544117016727153100645820762113688218066195518641317641165668373334173147115811092121592491751671292052441631183519667129172183735701371523314316713139184213611141579916911111482463970581627912117171364633127161191161241125416129117992135113558143217163291531622820187197471221477922861591362452222252351881952151221331731121201341741141594225261842023512016395212142136681311841251027316419724911021492241255167705830171921282531741311201596511012016922503519621119624313011329207191781241192251175022161135201691411511982511472073361362181662381992071321633293815016023337810128662433964164191531061501521051451485429660323134487772557376557520217676200176143207114221031851991002491982282486916410723418520615718715423519857100311781811163214185741242231022133825311330152512396713357164161632491001731421421811811491511357110010022811067991512533149712194518010423872351831709023321962335713310718568104121105361162213171131435024021891323821869166586923824420238241137222189731974851544388185962065838162221123017517911319619731112142761791421710526152172227332121149215117145311311491162402144817692181118219922188015310793254169291381713488296314693188206205197956720513629162811442544122434312051658114146521595199761661912231510060171812738152026558239341321006230825315114011319792101218114897382432362231514255223254225811132212551531941881491122174254240147173758717117321923010123724232816917811835239252140193153194341541876011112996238601939211482822489619096222124515421414023119064240193135521651293024121516418825452972496416924881109228100712041001232488817963125130234141238471804562172212118213108188352521099523614813277272321401592367415623822261209145492221261121862518715170126250472510638274177174130158982411162391753816519115714425423515519319577563118842310825364176145173291805964229892191611772381472271571679418015617572370362401051232191322191504525422717512711624495127190117411131612718924824314115882211222271391451701596116957482131228021412522469772429697682551572001741719713103252139254236124368761215103126188185192113157961121918887332176953724022034112944311288372408320236178211001848118218111185910246569506041272161892251982391731742542061682522721913537812111737317819022121110922625491467712138533911742143169551595524184109591142152492224513522217114222115161186242131262071342141581854156219251171682437717233107152118011812317510419015221612441184249130872115719918614716082271422433845167180261424055288511060161101713928218901271001233193128981959197198147481651981920214139193374827791692121598423420621531186678210822817424580331921922726483181616311015324517724570203151114663178960208117851191842161142324616912722612923915141761611343019217910618312313322832244176204178464234159207221282201591371519418419120877182963451158114152251171152013732016925316614710648820225169118151382371598518418810978870200586710129193175913391551241679129616324522220721761771242224816816023714611011515822141711434339741901255551852481557713395173472501188324369157392131741112161060175153160281112411238023841457725466108124048801181165921612812022415234821281011919022201019161961042032151352211156167111746133182991301587110420116018905013683118062125218396032137791621591552892283814883206125125216224015910922012320316223526772534303294115902118622852195160206298713105264924920513141367222746624812498321451762112322011031519111179107922162225100791701571592125611922242031218122422499147910722031150591131741951154227201112817313113771016381218219257771592417392241719224935122917465189215767222620724001761291432120419001601363018233110231696132681996961601998620022075122131032121071281781087923272041172348114920321190119254224198154125193324720329155461042271610240104124068196232104170157252133240212581752613072088720461108125209552742143110197171142119303632189110212125213024125421910216022613537182143203283220233193594621011911914622853244205166234351381491351831511241811772484326341680118308136996020864191502122813558135100715122322623170312483322625911219132115165611916194175151212161521281242080183636322936645710594115713314531209236881133228684362321881642111541671292001391062312272089131232135240231181174236231891652411727022377203199211101945652274519296223559397178114517295248702624918291401471967718170611711412084225131238222925317622024381133231171134192137150191216143236511151833720410361345611639240624224211103149124132592526916341062041711031981679321272442009312433124480575145119801057813323919641672256299182112190892817323515145746016179723471348143672353252139775519167153137246153196236373687920913772101214083242140132236941032391510119114677472301301582721524763963722553124019217220985228621963966200732247246622164121163189620918724823921791841162386868462816113791926680613717540691438114282121768113045461619193195551871321091141052419218218771106739893922815413721085125991491899954571331721772419323916128781989354186610713219641251654725414471182481398114712190150168512501014399163114561132601682750104179181134809732184351701052331762511151671899564896611022633110243136220232181862224912013912319614191882372082020826158139371554201491112014710216181713960212338025556101191235111920321291651008951120966001814435119624725564303224641258813613513321576591301241321822499183248701091342496911113140217262017937144155112179127244122159136531583310718966113865150217564620560812384519839254206132127213112138102182111251917924019410417610110324114096120702522356255282261612279194168113163563101611101321771873219413922660964278211143762131473802451398124313920912140213813822119322014403811941381171628216125445146179205240162242241122178735233230137233862412511817715317411318517416244159786160401991956310522112293381711041932085752159241941401078618524612579233206254241179144193112415124240241199171189189652169209209187132491231811161081537213116229674208108208162432304521818811214921810313816627141221212372119561331041841321051871331071231322725094567227293414618868123219710521819817411588415019248114414822317097235171902156212016714515188195579220146722172149520521479207209952232068320321611822138149185180135068502443410613618219211213624022122325257144151239255161112802087108222482292319921796024094632042624977205155511271581941881211024317153171481111425191144661212172426326730182041491233125317525520802121142056619315016510091151920871011618246522222411531412389031911178112877781142322075183126247197129111255233159206126253213213191992399418884123171176179170118250241179231131195731720910460121319524319216390721471662311247248481511731217470147661041092121851152432401929613989503137943115115914124213158246162852521724924410199192681073224164792449614512591202241382331201232412096154381939772472361541462361531481007611731120452498924913720822316411021589421768322842291211911086356218245171113201239199361271241232392281656338411263621617864160242492214922011819711220531159181282616925423424616131661552311611419218212281718019420522024823950119170174197276910965255224422122217311176929411733187183248139161210236151245722318212724118645231731178223121316018795219254211206211154213169130173140114063218847231524717248431112618244209318254253121247182631641102502431741731972552382461786091214246118924717510014695202581262421781062072432021481371349322713201834520117817484891031941208310010319085233332131466759421421702452221801531089126211304922128628131249184521142321741682317082219229221231254332009759851823949849696175405624791223186179491171031882342075655156182171591052021201921802291807819520929141199148271422391045617482119681772382401822501632192351377148228601122170131508224152361686316912149921041251436223290243193113219519632301281291909116620523153202143108416318816923421615014212423714598171145181079812818712452642385019634601101976113324840122310112246164210101164216145818156192145224221252118216118843523366230736630352157659472321181582152332002111509254241909911719181782042418517339242247791224681632078815721540172214115188193251377216020818623513833159118121092501782061912012810240251182942081362041414128723825212193241119155161158159212184652111151112512012461922093831232203190591505316711820125183251701451431220087247103154271137222819985465073216235206962002531701942371351826615467134661873322824371521847244817379841921413662180621291291561310219425189624124724332189157611713528144160134818449110162185245231181526811212043112691142212015424818924111321611111861303821925319990188955412060173133134382092072302221124498286240183135221471832741179123802250541041911629520210686311695511262132241411991024514319069127130196136112546434127178242893410819401252451677323480192196156120202802495292112195140151416422201281921011987401648721981211281503118916872410461175931156616523818026347712190237151245209147207235619553249140542512316025116759131399025395520120124308658551572152381849812819621724919628246192312052157570213391190225238126179233246151235101919087411312712051109223911001362321841724341486821611865107184208242811692531638218723101431016739229142082351622014913518314812518718524615250212637216022823514116595111422511187519733218208151173821862163177150115234245167840618442503016522587134223157228138168601646010061231454123216243327416097582282281804882100205103293215719872162529954981921681281411516020421780114516165211121892471261772051161391751725913222019823819720018613172381522151578623320421512794227241182517621423512172225218420210918837224173362261389228847119684912122351422511612324411671244219463323776223351662057134146223118691151012019931392175497801988015622022728346122133175971523721772101314920177351321991953671462481748862091235618321242231216324726199128121020168233704912324521725492481312322217012922273190216112311163168931222252012041194065205951218113157132091912122041091331241971611912828248621820419219215554396606416118155231113222069138812913320321610810142456187206490125220514174265624641711299411666147212398811892052063315515667001241984855206344371567739821514321610128189795552133187151091181422223430141719119820912714771168708818874641223851211996113318494212878644531934111622711817540142106527464206232527122139123561678435217213179219121192541491188851141771951796718214954622032161061761801661441531991043602359637319215274223254227178108831511417315221207611517824020016110116142212242834231129164253127115609614514810918151174191531863548118171792121022398240192541271619872236142168361811528453811701861041671227623414220036161942617517653222971552521631837137180163119178891852121801533713125411530144187122517917361011912424460127142106129982211363619515215713449187116351472131311967462819161194228252162191338713919512821104147246235205132893376200178752061817920618114220348143222109301892035069717081681627872172170127212118239240109621742129341572002072127171100862191964424316444841581556934171100921341011081341415619562542115754219511101911834821919238100238194205129629731215338873237178631852521332401676870017913720423017957184208211314141233134134198393810213422637521159518990101230235451002766104122681602202282015082211115418386117201141634516678202543013818230170206190701145182225113158162931162189134230942049562342822615821624769124165178166163129117144186165255861152397722222914460119216120107592482457251262191851118721325324019520720813824910139621562472331673117588185116195218859121417322218612514717021414125674583516175433527107199143192711939791271756493131891218449521154615548649524419122320419152234124012321451136227143206318351621912723779142161802411921565243638818611623318624523555109222178937369215192216220202214206193213214214213213201434154229139220131255244155223252233951262552211511275612723022815715551491016922129451953189151342553123422226217422874251110511216381204204204204204204441535246641525420123838155108544899168915010920134139153259020410473150100911022362391691701501722417617820125112523911019025415716916917491151111912072551581151702303122319125523424917923791592401581912241892282559925419810310211621072753125119722523819830932363622202267216599245157196876411419597184145239236224188139211041019320779747653291911956111812740242254144239189622152451101511672531583694104502488618910183186212801452382113363222842282431772162311973207382066115725222624924420794205252177466122277157352002254018819924924751102351312552501002261515702552432542008747230115121171245231262215137121922219714512213522716824981107254191204119100220254440252250135747113682282092171791572552162912625519193156369432431222412119483133231345154341567519112281702502497619579238116254226118211232531851612492551022401532311443171422182192822713115610435206793246947617169251147201104158247216132391291711741956213914997203851799121942916921421155253120195231120832232277712620627791212221592401644723078752241227120822722217610332251887325229141120212231558816883127731882541462410818621024051212192925010632228105792481227120417313418418114231455325554217915360110576424974120723116714521020525190109153782532151091848777250174234244100169244101171142229107247103431161651372471007224410074162236782339630184442221573722214737781563271347082201150238202146164172013612212918918210072641211282497116184552281552111331542104915169611202310613110213172422479652402668813324001252531115295751662838206158106162342244342589188208166127963632111348165516522111656822614064210229422061502334421526479710713161002141431231561581139315824657632341131882231051191911951181892216237203131668011110915322693871011762413992119222100321112122471051912511791143711894611921823724156964168237961901062478550205488453523414403714837422911413921374155205741711384352446112130271782472192172141125442638310918422223724498196231372056115240215109205146170189321361813915015444322171674224525122081969899963209250762382111461561272215459160130117394320044417953168144963614672801072201454511301681916816674104185441372531301062003215520819322727604823024510020813480233191216100186208962221191218110131872131045813252171214159195157173551545233213259741557916941771802551342421201372461731221791991251741714521420421192219213631128206362051680117446671983115212207671621282404820820292165193684915748171411989103170841358016315413617811151914923579109120158820724115590189215228113191701385210217012869017231244186642201472321601119192207243971112201331512271261436611581411226325246284521319823712373102151113323974216291581412222223911390106182283317986752139320384149531173191402161128116023017119523789181202423920318125124320199745281522843205872744225226872324521515522612112321223712823113501893991618615914228371120121442520246818392181097721107792371524494149252028366207206203186413022512410116812125220238105172631452422441656225111466518954846218214315933139299872128621221152127070162140202116102741811671391811661395316775180541930271351322280261881611362541832776241123193991921551018421111020520585192169129238158151211291516419411132301072372467961881581325161272411275828240984424821312040111501404801777298641301772081239323823647197552261332161281552267812917830100240123200125572078728210518380124133651726422348131244164372012186156016125114106211116194147116351362336938235134396580194803314122573161781701241116131100111061299261756713478146144161162169109882409141128485191562111624614286242342334226246254204691122162048519221022740292071351415642511423122712945451112161192420512141901052481222002202918613234167143310216129102915915519812513467149113132118113324424717177245151112814611212221831518119818179151008401816176240250216192912584124226116671921325314313721719151130136173239151215678630146238331012614516278126226212631921163674244623110102461429317124819922710212921417614886136251255235136149391646314723040334611316917746481433812918410682362196281318130177244626813413224220177151481149832421411039196144251166241952619712614161175211227019845661922182329128124104193210452493255188601929612828852368972972051768313812649226461931301412666781341101931894225178651137414539859820619221222614652198214835781382516828117116022622402243036228223623523771352774222224129111123625013997525377038170717231012680222461126347415665761622171772072041421271022414716430284723517138141621410579630250131542014914717141200281951981452013881100170164157812048924324820713719715817974248220254228247442278212357810661982001214751842481395130874321051511323120018919249199157221281048701421920710968162812162517913610013917636219208100151176115146239143138232208247176251118110127139611811852032553183198132716810102255167453613430182103272561127251142292391551525613413415889572252332510510223070145010623722122125114114182672201911952172491721114144115104772188197121247240301131653901661815020610142941869419354193241206651998518123724723657138163122123183192129143100132553100229204208523714017213012534190125824513922447126272432031751432552191334725415224947231752535461231151698712724395231262414725524147632552051272541998715119020618615085112511911781701721611771821631671251041089610210512211712110211710925420619521371107139119946012218512210745332502489411410591181121182393221824219122912545397215232596376357164170164166169166165175999610810422622823218261812644254120242153228476225124287191250215175190581272372181811781781782501341981741581902092012331851972197543235757523543203151586212420112319825110766255111124946123124194240872041911182271891892392361612096552648162127199276064971282413111508114220271595763792121895925217523535638823575882339882331131254823224610019224373159599243152129417218310420114430190169243116812715919495140199613913183761157252140183248171214156819202382476514231243192677529631264925313523211255245108234191942049412262123117160234119621982261352321441662595634123565420223918023254114125362392131247721419115914525113660372241299321912842192471082191332351421514239195157187251341307240966510911238229561042382492494920516263122221252791511591332911414822524292308881152525256191138248168246798624322920917916517243211713921381139149225112291615119711110133179197129160130190441991981911521223118419022838242614715824715912457112242731112361391931327161145119902531592441331912413812462136631658114318525422027154532316917019122174187405894170247184207253197128223195118207181617516525022413325015216917019621231217203190691428310439231818920142421561622552442331903021815322921815110918920132201081811776024012898875812012832652471192430112534198120160231138202271817813919790621520487254464217872776147148982371909289240641951651631411692253121242115531222031413875141166751319622235770620416819912824001237912105200744069224127931161791335217896181046526432117721303154134105159184169491481634815617118092991163123418819312106236941552051479410381787132423623818290223109181130129971601239051681933211211222072011882156536901022122392171282318317459120224105191199243120719918917416822323911413218093172551314013516469602361151892111057913421217255671211671951417011312910023526142150104181103203521661376698222106481551753515430229106155237157141231721171752191451842058236208129692214114910699592272291862116817814732311622331611552331201635294232181226255717221424212118514314196232271015810419319311693147131168109721937217207898223224010012823931160161243126471991241581312360234119190211105112456385165598913799211135232730160508216249901705789169518399488331343396208117931824185100172881113831151235921513371806211034686311191941626992147141762417778216228129912131982281736323418010081641921275176379413648331172014418119262241521895651331245952513231701432017099215119219237158151216227242124220239142401946119235193117125622261318184219227248112192237249152207112137386863225129169192872271901882011281031959415185174247123157111183901523107215620080170231331122331542106890210691923173153981922241378217312960372253521228313138281461225695515393066104107180140201681821031365395201107915132243991641381294261902210818832212146422141546241611120716239187461996614019267723559501972411202271831349528182198366211517160142199152157144017830591656219651251232014124812916632235242195132166745299483040102606413445162201199218248812243219333220235114562303992231922252111215161661491741081531453411732115716520611513776241102125191199237811912151631311920313102341211154916450177816637301112520424593109117166127521822400244102123620137140123152188873611551601322026813316912710216851609615494201557853224561483472645923612966415978891972123614401419036942321409468501252291236569369691992491752128711228502313980170736168719616384243143871352091867022449532241351531122282201951659366164156130648100176127838713625114324423624151082041097610335541012541151319806231791315715261313192152416120924512813723571100424600192012128146111104249196216133150192617889181014198481175798225462291817221124194152745213913247761601893414718067782021857110911924547233241236323511185134755913513721971382186889251226062214119683185223120237224834262177504633341181901354561423712537921311979323792200189961773716864208139576224942242501922081142161942531601852712012868137208571021629196221116515208118112253147161652092311681492312064208198279119553711923370366618522694721871336517330177244132731861326419415419667235179232154833267172668315067241149138935011437237192180472232412625214724002012264133170971951841791619618649201170161199165188194133932523612513328252100188358513014316913515721214278212141752091377770169231278639389611651253451573142191211158250201122711061341571322145516622725217614737170250219246773019213114123547234224439613110727424208141601092814311133142011982411032451632061686196741871331365813024711223513122818835526614327198165232199362519636251973627693789681678813239153515818014772122431366216010824618215223019911425013521377539231729978153683083245151511161516113131442421378096114224337571525275113206161921349510120193121951045810165681469712018252235160209344421758442171942471841301901110347196553622196581214118724122519919911168206481611235123616420953168641701730224112118316234233228228232820312815222422917166163109177127223167116179208117204176253119246237631601032362243016235211562242312650332491996325123724963166229126117576325312273816975125115127101851032541411541942753197524521165457724522015817420119022221725425424923315325117124712043151201392471212031512017114312123579121143952421581912261892262551712461512415862120146161571927815013424814780311221664019119588209104613613017219416922716712624425331253252167632552454712725321912725520519717547228223200171404311110710927232311562415915615591889218825322419316310379159631272502262396019623144245232912324124231564319815272531917224912471573325372063139869818214778192126735189133228702381661192011987230192062391904890272482459025515143611998612319423824424917524512222223519715910917510336218820932222120216661571099918625280177201163129224151192412073918239151571235624221125167191110207592371726520827970188139252124123234243217194251227871501851052111099515110312624913141238316579142392268238227136189179243208141622511811972221711862421551239911743353190230267119114621621051961232492061412912357592472411671073283731471351371941921991161083710822519141376219416312204112832282524224221124222315512231249472146822110513815446113312051792720318331207183157461821551751121524317915546182252055129474831204491081851685211619524097183255511102402271581283922019271125126176135189190235939414325124155562242498016254160174119123244928710976149104761917518932216117131021923694135231221182128149198176153234132209178228171255234171254411139801381480111134224782061271642321431481592381882308525118165711661101111501221031549279166108111150922232113325410824919317111432171782538710025017816440241361191031381171011381179522997264189461472401612387680129842072120117444137233114173915362112292181121325024321325040153205664786104791481681199514910878211081841124214119931021827423178155229106139371449618520128601121712062488618949773932942321882547574516570235228431911561692103986169558365226179167160111962125102552126147188218284584229941472720683901724990111179198652061481071751198863311121212161011832141081101118171214871121872012823524694151227222801921263124757147120113223750238251116192237118179197173621112393246119592378690173238117218221233176371494625121917386243245381191872362382475646559164314701141542042099718519714613220518091798523313201681401512354453155223239117122602241822101021251872131141891551403518021010618921010631200151281311053154143148104133384324516742245231235762001126414122845254361172316361602175100784917023920919901591892541037016563512269112825023191141172517682048671146149193271795319816027291232218230121132341961441931128112891402516723761312461225422814123220239178214110618916121115543223125771181606412116690312471101708223218119178921231706671613612318022010814218721711889162498510016864109186194961852092261131594381095252061411511047914814521616191117192665154171993240192202962136970351162248201872626689172135744096994837421414784232244521619468137206689132471531541191768010918620222494167324128220217201128231163627913418830151226225244124582362531242122472411442471241631012071321324617110157215149611123476215152455421922211018195108176921684938861071788411119813416310918440220112651842461711632051691941412324114411122304111347111117015230431431511066655152316864178679467912115525068169152284264103672231831641382621821019691461371781443322631160414237251002121278113240024718612410715472195121129142761371773453246130311543090159228234208656997243854024096131201161245105112523611196206130133152247127195942551432238475479221692431573197154224119014918422445842351873813519523219034539417211317519515076704922653911732231207381762151591671782181061311469217311957223237114186219237252160223243249883211158156216764153146108614948502023384481115023223317615251752411547216881594884969608711662123321725348601286414816119529210206812429420974621442451624439332501699101302335119515211500157176681121309032137353417432103317198242721619817723226372161943170254241202624948212232414119242001101527820073266220796161778819625262422382251467812910088824320735102110487225514324523763212179251722231581291936519226402482122002298367981357622015154184125980481125996226246161129191571292032451325120102226703823553118110228415176331371228030222301781741615630163168100171192231835624613391808784138782321056920710491359681187017911274116716571838321192072321022332104233133219319316013170192113932106382204193952082149119220671200222872121582283224106724720312270641391391466510525216122118119572234133136189255711165221635861582041291923413911210718019578177129104160778522261291323213718171227246225218501817413020914312514211012214510311211512772051122027822410108953522856904172189132237124113121842451041969084241211962424615412113925314724201331253561682521001652244812471613912765763113231329228221200681526246722858147183254881973254695542813748301483710423535236224392392913321155166232371912311186821911072252171501181122178243181802411442431961735711248735610316157100161571041541122062428181268219359220432236224352252240235291741711822032468947541710224155100201491042515310027154232161122024552197216411301798714410630721606115615142168185248241331971697707212241018757424971169681564222224164721841725412451567324410316681159153681585362122456351933176201952001001632003621113610024317636243192831341741457371161045636811196225307270810025058251221456815021164261601941666558238161229110545123851461231331332291731732201896119513132247616613251011041031042322532045615612531190119228207127761871792502282542212311987159223191203123246152247244332392173525463742552402312398720423619525021187233115147179142142465621723736134158136230173824410916316616419642138114742116521116912551591261821581436621902541837012219034182241185187124199201198129961461531031552111711772172081122271181472287234231192205991421432475715612775212127522521872516763187195771902036118221827114143271842062451912192292411642231355518824224141712042142182131674313220521872233124610825224821124114873522312352250171197246951582422010317610438251658323895120188197712112114987190255131417180721851936112013665135311112272821818123719214206193932193215416123615711610110617525310116216520482696712422332061892391862167373965512211542526430566011844112232195109196189536192301131010484122139832541591101431871275289286214623955942322211272051185620710217219212260223122178208106166196106161210102174220106242166217801742548014230247170118711342421041612251314617523125311431231251582442516223012263236243124208235112322023925310019224719772224171177224229381871421081651661162012301217721813971154506825124321323271572159013123818219922323924920988197151190250239225321132212812827422221982511551741971431481592321842302091531095315210360154175511167718563751665967178512966951704775154113159215023420616235194816346282662280302322023624932126332629317412117122586711518266123166661071619023986141254923721292281362148814574231101241150841937024019224919529153162195249138115367513381832347716019723155383813119421618015342189153749384208621832097281292261201209164512714424176431163267153241571002011451001548520029205145214922217110019268234221761581732121936522223918012649232114191195102185158140134415612812093168511982463974181801212182392021552423935238791476511712022762797931612272312351413225021558721082047415521323754162245239117219175180899820990135131081822141121772011161692171245171237864812493105183154173512843211156175556452202331781252001171862211061187219109183212108130881101821301309510917918922322718821497559310982212077410424789422323322371331602331210120818116253139128132261634923275156513342187653940234521521795415318015218194150114129781125485105128173778725142201071304234469183209891780239206811921381437220159143120179168250711252062076921591121571115515313231701161007318216413924622920022515422718616116484166131114186218953124711917092187531474023019028197137822940126240192237387514663641474801291701022111416019687960969616620202373513323435249106163133263552346755846115149135243853911066167234782022718521024101237116381781932720267121421801912501041451981121612506419074255131012361862471861946419023480145122791743455955167152121211981782166131158142248602924112557124126194155121265823619121298223126851692264322518684169230203101092174218924958253518622092532385313325410710321521113481891161691182252431818025387711554614613713559501971612452411881412110712228431412201969740129716018824152142294114120168210151253114232220120651602491464829687216213358719231412310418816229129142767316811214438623318942195102536306422930176352400903137112546559279583735418009192122527158122624914014517321319810213198242853813821213211197905137902047564120128134362092231713786234207371801882141021171832216632041501217726128801542161201772224116714156023211791235116188211237116191207237249241266501281122224412032156552320215515225205624110229747391915363491716027891941407321921321436565661725130128489858117363421188163229601622018898842532091477010133391712879341101298050192402271211271469714082612321848640153153216241101216019026651407839436401216965374312171652531076292151026016124130240012912988180195513012760234138948111423822517811097501741614419912818411140156645312322181941284135769214155186295011359962281142002122531761537234135776106312518183192167381201822163821128714055821410414817144012012829137217251171249197153198125709632581973623015673236103169117019024180255714518800827816114614233224191999619891301506222412812814075184701924915613617212324212231171072071632149416214368508788194153164159661456715711120212592371682553116146568125150224193156318435184122166922856323823212252199116261054012312413313853166211452111713524816322915229359618424821652001155197166806398737231431110161135619612713411068233665283772048719227134198127106301367786813823118135898239352282324723521161301221301219373193721326153192077195778215574622725462262432230281682242717327121687121821612482236012519024115150307248175184410218120194201243411734786622315530591032071771582044210484242139181173660322332236235291661712214024264182251291523622716868139168100155176361672081002152401151023017721963144164146137101676131114142136732191861682511357318424913918452002507117171158214322522414268652386724416724131496174119881116345181284118611130481377449143761778751781473180244611669823218624729814221072984912583121171811157113171606694455141736923227119014510414126152201246109219223571148882832051961972092232053764888015018267100191181141243214145065216246119222250526318314025515208198231213512221711672525824912459841028323519022189180142158482236195190162220106223254160516223224925285127119159142186227811824718293481701552555418236216200253258218217209165185161133110238239254124231331096121620514172233219246237152625152241642322151582461101054941162244137683868183115203140102719481471329322019118921263128152024615192508314163187215255179123220148187125241119185145107189193119122253239246250172247122612724212753181962715231141712062142162151671711220912233113612350150242120236711571255237862311751272417313219920271808412023121823963111471882481671592811113808058741122212368911325262682521182261969025171224225195131101404714824234411192326711625111221917424756187222226236122155179103157711496120172132491271916224801501332922219881592005723824410523014314071103471242252134111184132295812230881423015214222048264348158405215318610550871021778810917980105538110060148171211155165214149977163599510924517621923510515931225146120192724616820725197175215211119123167147134131158155462128918394150175191362141484622215238214152382091581655683233188220241211875711318524919925511721424816618328271261771688238229252249199182455717710921521221101202042132481721832496023324612422022512416722212419076127527910922417060481605583146149212631921351291584418326897961477361221781641861793619331625313922411702543318423117124522106160781802012151141732096622914220316277151321254154463069217121891081846425194130229156488642231791531015219013565235163145960243151241311940121622173440121391411781401920140190193724914520849131552016199160120862620523918090226192042151871091592475922310917992170513497218081216102149301211497514274255105191111112041555523371235322624598200227492151534212317925161142471361303965243361251821972267816723710910818522289520910326231786963164632371316919823218221610458691631070122032052301196435205230431731501072372141391411027510054018119116187197234110167253106155135225012415723311417937123181791201282525102212228861315758179563420012212841538216020912416122212982364120720632623272018431041936231235200228196164115147558354811784251422121210420216175792111520848919324643210192121282022271261832311959410022429174111741951571181072201572256621314515510622027104889524238218529236222852322261501181221152281541601224796714579150233130415824614717617159109182751323010415342215366417817989291841857436164231166198801292621819911110665229195611414912217822918620122418224218069165239154662238524912928372442882121493731291421751801912423892449214771918615217452224230169011721817472179252111138124657913418915912121191281512053252489844224229120208243209128213141671458225321443105323372342111009017914991179209151164731279154242060228123243378118241127651366253112141271251805377419415713623958227201501731453418120998117921718184109612229227224149186175723302341905820412012872255520179241331971921927062491597250174201226736212442081162923811712160219121221837639204135129575811816197314688609316613110107196821981210465133561015222619116949941687017264117162801418119361514414810128124255117121236296020812393182617598176642523121315242922432131724094251101732209222218425525330151181118251245302324004638225162181287194724624228144321521009876248211191229112012818924213510986100611522261431301729723319144170737228351924148523924523988213128999016110372194024591044157363143628676943228180702404121221125982291897210501389336792331323247840111100359620344171242502442952015926669521739612641443222847422640861694422816410222449202319675160661569418842539865519454627145606253114250722071460240177129611202241362581255204450365696228106914185255129190314412817012713623645206129215198311711488111711761161008444461165157131177107211216115543912710415824016581244571251384162182254361571921987920021887220338963222516682617312520119324187295324714611892111058169251168219441228144185231971147171870891437216812773215961481602269578252018492184516250318225519297111510412532129136313762199237128407152246161255167382062392332181282511219161233205143127924511128719602211521615122913520205144147232707319232354224919822623848153751225012616098247592371591537321421819914722829959321421712111595402501992346815819334116224195192701981733368127236891411441932491149723725311289116342062419718303223148240215174195198379860128167902204164192198831922148321459926123615294204105227992011342411374822722741122177167531941822812419413329125133222244151082406411614669100146771201467524889135192211230238177159138106115118282261082551481792351920611058523917174927103105556381551271971602423724501841444923890681461136850159419483761948376352071537012710276179627216171133216415270159531417218212791781579178240140249848014119524911620720619511622239502911962714496232091992282951164482119320161822400149148123232684161088841212492467131286112268982556210810253161682479913159233167076322172441743525525064151179401218415824012022413823515316610331180176152120182104235871721119587102172195119202229191254233110239801508312820222197217182123592444978246239228125439445625222221861178453821455165249230215872481111632541191262484311053382472171505510999177412421678233231741222141872511601502012131031321791171981011483261662116741062202122021825321956951582121541052552419087242125238169199131113247122315021822172164162151031572351231752152512331121921711374822268212171177152233261432185225319015511011925120760282512541952091271892212511591591351071123633591331061518021124922524148558393225247247661871791521863222179231195221187222219181243157291872222191892391316111123722910875316215746067232131235139671221192511902531162522117761926718510523214313171352435412419422588751151742552101784755100164401121882001152441342211041741971041582178819024110014522512012924688190198681612141001452461081531939814121712414920924877774610020553165249114195251237142207250611591525060229122612382451242122356515731581512296947925012515914250833081581741781047815116919136209156462151483822311281177539310316420899177238248124205151233632468012615915611142138144151652947211157229151315511512415417810819874157311187242198671212111611884919123922152458615513310195217181571539817351681806611713841818915322693233162221144254151201128669113606442891861217146179149218752457012096115312211213162821812812916982141145216514276209198117115483591210132908251871741361432317122317051344966117367688405185249190159175411536796163124205321294251740692401573101804823421623992165206681772655711341239369515127140871547664412241291996124647692214154205200113214232791491077814810514022171118102755216610122341632341151204923625410621213955230243982162272171602191956216721354171911411662352212460128911338961282292211523212613612622658168315144150241114109240042115117708813218122235778615445802991521510018520123678155245981892418216323310613957815969762251162227762145923721559298890210817020296170210128980190210228110619211221920812752379667214163394189101178821592452547211294521313414114923416028412142812920035237589916521816412718197631574212976180156377713463742123320581236207831291001272122272521142162511971442152436524725122124618424222092133241182052138675922461741712106421241011191291431061491861842912518524214116966181231143130712217417308810718133201217323822412921322107321936617392183321419974136151961301460589416261881606841848510758148167742301434321036115822021226432129615335111692815815416153177152101241633126801635234131121421262415482391961095816311275166682051211291421711781114110217532731031303114120602241866329241121602281251912072531215243209128207221110215917754832131021895552235821651712061392159216111184362221248113221637232117812400123151791442242244253145246124913623621094189930961623088137619296064941951942802352078110473211742542431931546331415801752732969212127376414613720124669552533237253613306001715412071813965835517064892612268132591652146496079135156629192192228622212942081531332102254333423479642923518233951725781164629464144961787213124001328342006521598521942051451755912718024415311291152402441189214517259127411918524114616152240921521792032211425125122120615251220951422252421341835361619391136361472216350760039132176632217512112818924213524481242141129142129701353484244137618642506716619532113216155818418019520117112518119299228197191111602251291442111221788148162291227045240184146111602513552224184102836254105245160192484223925197481311691277023204572461234154529472321582104018019042841901114414464352402406443248184110216105189240511085282180191216029208312917620237101581452104619316218219036249152102213152134145156124009622414413725139680246174777221625211241806190225349636644336941361930165130671661744493225193135151372551932309937334347321298184138892202323024122313125701661682481961311128422416654331146812241636102233210231401103140108237123216212931922109120645663524013216211944259212202912126280212129228152662266714914688327127480192128145241162341356246144251208238176163521068183154010166211617622665512151431041452234122145731401136941031301492021192421877191900181441512232092011842482043902491121942124652017619124610615610914410825515914671809814610039841573142181221375671461757163322022076525324393425211691226310301687311991171918024119816519822710521942145412112893195239481802116914072407275567102181221021812173184620225170168135198235701592101436113211139571651722175224231120122081201613212115982052401911124012812168342431521671561822455746175237200217121132190112252128179272291262062462532191642019715718868921252292523521320022206153198127630481387254138724921268164152701565314198602401533315716026871372411281212128917113610023123211519017795200409123822012672866625520871210187563123621724122217410925116856222701979333473842532230128224217194356245015923262171871022463318611027241571881811413419317410911175136200183551161471271253222319307620211142123861933424697121768924221240134225243198215127232243138879181371162487217189109239206221187182225521372322232022348921200107150631761391402019691310125242165224311912418230234183141125222104252711411263017563254342492431895924617612318313923092361602419212096271891731841451841211442121682241154474127113442451931961272222377812652112250201802521229520822162191181624720236224712218915814251191281522977198190266362932359114710250902117821411924619323279238142542342339148151093523923315237228282171951452501361151045595199127176131243201942067595772462392531162552542471182381241191992061831822251612171851591792272531571232471471298057312382171971583315433022822124922135140322032025521912020623222713362236152241655292222291124436572151272372461602472324758631591691215745247155190233601541076215011162154111601541676381168598516459831626391102999124171198108182194112180801635591110242166206243941522240153103237229176223211126239391259414318594796124158122482101923362121882891212042451594455107206144105721491087415110576149107184168212146166219119205105166341822531141841391857662526812940409798239114254245172110107658421111714319066143181246112222212113222120216171117571157141831071411037511739138523913952103751808723576861061401991104011517916412250197582116918650196251524480227351936156411220787235461317104128164822486173122711241574221136254124019219716332129214116225182116973242181512777111551536728475315282489620119668495119719120101551981432316211721012923015108108024120024081931931402218423318738616898147244222351223107131502341211155246323418212319811790109505271601251666612317268109168809602081453762831652431082082292131682312031798797313214020335174243901351311625558291031471961117301766459619216213116818719212417276107161129564102107132091782141101411159210517702407614810517723231802102241156417812118520912211920582244411241238180217144215231141222082441951971542041602271531841351483144822312301692442228026408413117231432112540802372038323816724323616215844718062116255208771411613411786162151218631235114243148711213209115715115444150154447175180321481552101972181757255210919015208229253551483321731116596131244124542321902221051351790322417822717822422412311522825011422833124251522420176855983295169141681091307264610651516722322718812014712944133224110187292402241181472291735883542154271849194157171941241412411141315724718698247212171932720222411502512241524420994168549017253331311382429913524015214524016122560213254235138189872015666932171781555492168190801031387521814833942491511951738982147852501525093159121231731175722223711312160232117191207109181195971852132541182719118821122918621222619245208118841592335601127320602081302421825391165119413512819369332001161362361655822719758992263341211264721324477108361806419611910173231062551141522507415547949186069613116811124270911865622911771821168196192341578202154351182182128159195134191281902453925411504248797025342171989912036138532163412413319010322864976410321163481218399106245143227448271578912211287173163146192312521522813411841861792011801966422072211419165903218875134232961902421891418713561206247582821418715631114221951402502411661312012087664201921245631696128144162159215601924812847202233751043821415316156016075231791331778031117200241192998025211618212941411601471865215324840080135678166402467564750201053212012856192321485460176597221920593108532052242279065199332387314498325212611320972461721281427012214614065681311368879117154127172191142104850731592131122641881401071681361731751601492159751553219313532129235175120735230158208232712046080970112192148228181441462613112147221014255121128166341081261331452012097228145191446422235224961212527102241952669157679351232164180115401531192042207521254024036160176819352195216311993296225452371816623412776209391436329622935962292056156129177220065273184112197112221417218922221517925319621623316814923120224176525245811916262121402061371391581085857491990220413824715310981237208181641302151411617888215362545124322722351632543721824114924633234222472531752342242552552401923319831299585618119119436177412248296046163228702504591811323119295187142526956692462521061006119568232187127333995491836410522348133160402291442422914488197192408922380113247033393133719517103127411758019719224173200147111196111536936901331472022512245130145159911861971882431376014162128248121159179227320624611957312857100104352342244522918136199222602381152032162077719514776195147771952072613537195128419896314820923120040821001505892401943862091598913539597115813602543109837982441413511115993123721761952222534016124571231191891891032316234130183651402372169824810771267558221717712523914210912310516612039272093172176115714515710015615222121922382144812529152362552506419111014925411112417620139152161361892262191022512718233136255155207111162291275046165491011851392421922061091404254421519210425407536216246246190183127247155223243183133151922925571822491211632533153250153291591811831161926523822119015119665145161132881161643193617597149829247382082461921202117921513525422925419223207134207602281982221102439523512124208231822222718622223122143271221675510812548126125232228131145179207381275886115170426112016423071751101012041192532382310310862165183249125142312272936282329398219222217182253157109591602542232211902431572371872222211852312372371232461152462363511515923722119921718715195223181721031291182371231033921820116622222220624996232312276115632511361941989717920716725157981591121641511412228572412221942231431462517318022818195155116932433043246157171242911722431859323157831085115010352158111561501755994160518116851125831112301662221081771939213720976177193681291455911692471781942047713171109461881191871311261324122189158244249602252506027240123542242551723113264168224217961922111291281818621513750211246431381411695045233202771515226472325595178234190184882152252471455810840331026421921401372816724018812510719012323977199213246642221041961711931283993464311710221119721835558461744111417922918750361858710070115149150421321423476199110401171651374825501551302241812254310720114624200149131176615204852346413316313220038606419178179252129442411667521732336612818065123166232112161502409012116920910817712918829231199148119725515748013111610224169164947723527144408134732031801981101701422238415744213242048323218942539417218213299171210197145128130118219622361821232081051792181081981421472897137218961292262007714919761637112514224129103317420451051882221012471762071372411922533013518714071042421926613120170133687129133820218120984801514412129221119432052256102226190402151931612221051833822521552921056132179326080107837131331892141061812189812118721711419020613250128222120251211992073834128162133136311631752497175180103232406720421128691765715457192281144217013825511813921756319254153639718621816214418622322768198571732081072061441047619133801022431520421515417218221817618510342132145923731246582212391781991176022480312475722756135108520040581659056531181132130711382125817916515421169160202354685294341987241121964281166523015623817615917350921064895109193213176187223229848061222816916068103502148018117720192204189174017379381484021531418023920781162684144105207323524311694150238206343367618710097189215200513569261255713861215228971635553199741801812241291542431305671176211173102139219109541177150432372462351251744329246243131501394518223512530152511892381161851721171861722471224418358122023321293146168250139015731128781764163122160221731332121331552116816013723106129714084253516113223630187169628206414910775395719648192020223075960252401961121019215214212731822297725564713874241254281212423419184139123931745314114064107719192153421016760643662531467912417119814412291767210318014413242161312217848332420343643554722286268632271291551541476926196758016870145024671812035601441981891181551812275602072482412267022712415582133107191626613522821053462236113188211110187222237248144235246100200251571449642248213100224171201321304321801746419418325331615448723169501836418018887203618734133453202312918010530481401811044159160174128565820216734121414172501361302474209143594211221172014418520112871386217744501261991901455464125517025424168250736163685814210190181512895281166351282278025588138250166175128165224012171131102443518141200842137186161167208832066192121222672967413013362210135118391456611612433501152407113478312556189129411124002454848309667211892301185310022824417712925319961471456021601631166719779862511392512104423811841284178174171002248118705423440131115216499136128165247396781352056020188160591922960162176199195221581442421464619322411131676497599565271111801762746120712192341919103339131176127521871813828601282193623424112192212515612825410422020425481661050685242112877907610213699141447081391761722023960882235501897552241134177150776711219230635715108250711654252310811011481721623115566214138782141057960198313739199517765254201254214034227246144209123232062244182336915681246143149116111811824213322623114246211182451911324723243816247816115243231136935801937121619795204617220663744523618411020425131216361251062241147168682431366823524036592023469741466513710261421269192663664516812392391502131617724514411713214244143551436210321243251201923418902551121124020240128105228571632401001311763624012889194247140227625516055116096251212141342421287168138141107212190183692461914598108230165166105195332112213022228158248169240465023324137144161211200194128180209481344801497694178695912911762371968181765820229156611871822372158421191156933325525064150513012814469249134712845221526624712120795110240045555951251596391122126245199634914973134227364824014133149190203722472051201611311592844189185145111771212417567122182522541092192521882092541192525416321926425041471701623148192225129721601639112196392917175512130155153178039255235200135191278931250197189190179207134794652120118229242065318462236151912151923018422331118151271261113222602401002261393922763301756193123571642251066611923315122314321538195181902531443411582062156017612572021835721922322218210763103247254109123247111127107472311731251561832471152222221952171831471820311020611014818720020105228121194129492232354609419431115761811441864125424616712957231472031741582351692542331571776361153250175219936315211160618525538122655832255991225182802335689966014616353150167571226711752791171886412517880991626412518680107186801235095115448718959671665177106527123778157211752232512291282075117424714762239251157301072057818310617216620376102202771034220416743205102170451661714419874762502431802191782281552112299121021326471061831641541189511323420024425511516216123459228102816099281612521481951451201352432111982452491157691588324562207135163120227225143589315017014024113519125517066791501082471012331747616921413934157105981891531462431655815219108230203180736211313488207102116208119241192224132495250162125182661552073181644153120147718617472161220016129161210150332101594315205180887970263711015415416201214165391751532552618800962125490180206151952241293414920934218012471861225203168661231732171213514864229731592271314691208112031126423122566165129124133222281532011142052454615539253781512323723911921762234117122208237086891063297661442514412722411015129227116812722471321090012431098614721581685125501531531712011401401612121047022862205145641852141025671196021013884267355156524611718715324039521623102052102081602411149323225113312217914954155187931424718628808911018292107183931091839310817888106182196215558141495154124161166389212985726418324511039176193843713741986011216721130155264621417218940841236514422815803019212631246582078527117101203668579149235130911024211713510148251243201132041195910880246223802361864213662442801612210165612151009121069274795492181723960642427222224148048131240644315972210677642162412111601541063540248145661175423921692165193173261921666181209116153302161287515700128142761691744462126482247100203130191342332486921626558791342277112518088179235154922533722520219128174189322127237148423517691110181892351161321121021062052215510987591561111835746542191731805922223711893110181311841698311565180226143135201961609511178331289627603221011673164357518152251061713711034158106246642062103911518813216418215228401169415096571939112012824822904613724693149199121225681761110811551127160243501401402371951894663144139179150237204146236190346181172121187193202261581203023243124180160216120722225351197155314393994137154732525117148811966151041304401514412913419811841933191484232148100202216595424214023574166161242411942399817419816162001891612081524284243245972401926615720924365183722124619222124511013513592215391952224719825316925016725412913372821648246473631751210120129467519918012912133669201146893321133110160201171942074830961632202326938233713713118425213719128371220817222668154721441642112270612321641789518814679156138952150210172985013619028291978106149122361425121012801331681972385216865226192451911294162501407322418588826522449157144147122561461762111043960224211652262711600180211923441247222235922122141598253128145235199250367623217641259823214415319933512471431315763503624919614042418224431091136310423412620014814089681201922002331325502711013619212819025319944117571082304610223168211162105223811341887224820815125022520110612692102069734542541301502221942141909639135322400901128415924581395742262504012019913621671382167136595145247211461939878129128154732810410183966255457713979771561291224112419734141224227682472112281116254200208137464420525323514651751920178855942204451603177618210311672377522017244238511833421847718435108932201133248625524611114182771482551272251221168683592123431128196223240158023173446210706613674130225181096225310916361249157113412408545366521843841961979520020187192201231136147247173917516378222214248479878222224111614424012818140209140561612314781820816322711252081203321120068139136681711766815514451246193137174161201542381771356818010452242701219718211956221066861742422381615865199205162824416320690701648870156181136561032615410825113206382307524320011519822520119881231204226191415224902583301761385810319158226241132144534197217239196179713405873378314316014716224261566171801323715792315292216314612421207291142010615219302271291731989518625924132128177288613819281967243245213784211111001712401570842501271672201271092710625125524523118325525023932128211421552337811822822319401902099633501961623775134242342332342291111072431201828625412699159552625530195181194717224413215425524123522323734250251511554122101041065615971181131182362231410578341122402465187255228152201106223239301325520322716147311516460296061902268612781119188212237110712281571421365929225107292251711571131835918239244253232197244311587812621314615515228401011731887793144115100552171411624071484222227236120119251142183182111195142222218190139451092192412462461572392362162432461421251111092191911272512192511831893241201392432466220612623034160358237062244197199134187957158422011435724119010687254152208912432391791251271211771462031871191312475624722922631238121262551932401523154791421497205213420721524814221591422211801574618127207552920153241879756154171551581034814511148145103569396501491115015899601211951245219916435771796185992241542092372687222642161711292241513652072512532391811872058791245231106181101421925817814858174401179383237190166222125851633575165458317737931694593167352111804520518245205612451131491192014931166158124002169312415231135209183851991227532502032218612329514113318924240891071783043208091161017211716473116102721958821972001321962332261791979014321810811185232141007511517514421713673246240101169215241662049912850759840791293816235205128742180652228165123153383656121439516692052217712102420815841138101722391862369253225129575012416201393886169199114130915842341091492511551201029613414488413618712823030128373875531991111709814313112110221217146565472255594523083101167623416860234182351208062411645482168121022322071492352071477182042152342232351809423918019021111018521898118912316720515410818282143132253802091912229912718320324686351131164178471831528312321392164189224148090102106128089108361618019618279283241141702442159017310425412820110611251161491209192313166162201602116198215592918251213134131692341631652184071021313416121642245161233239116216129721421823764217691141230147149250232549066146461121364171625099101581081361611292531101901015312817215014043102331431314672528136160892001662161208313456205311441707921115768725622301861741192166773119100731191007365229183103731801021381323170174119218612305822715281111191442091463310532201534521312169170227138361906638541442491854235104254068249381564250472141551616291516178128173182886323811569203124141241100153462181997518021947751811017214020168207150235472141544621515545208892012421018232921910019849582201445419624411215823472129218241531701401408352921681422531423017114228169122281712442294218110173215921617225223481521359116018622010624511219225324116023121117159792247213141352191092464323714171291422040324712222021458157391717626511644325412416423810712925017558014619695192192371786105369940411721808817211921712923211219201518916113915513913522143244963073351107321110567911464015160661200116117424204851584621152116234157143140241648715020228120234647165130222171502167871382014015217550963001501560201142582125058128424131621064227100137222624114933193765720337321341444948547722713310486492513211620149981411299296140228173266722213231111220247213176231179155045200710321512577621221514945141231249105191235125194354235931415122933015120502551921392411281511914023924718522123511718920711719921312654250173241133642801262429436127641333610147193701611716150117342061611331092091617914017811201281402817025204317884213255152502052564169221202848647276117314269119920865351367696122451431413913635130186323267731401636411175910413324223142214381765148721431921210513401690152522267294129954423458161391171951041344920140328167887563252127212813218815522141461171119182246161249378135642166238159241856424731522439691966825015517675366482138411502414153185209731427324202431514410515014016935129115410325217719019571122147141221362813153278246915713324021514411613016817917019036157642082027123761767397258129931928111471281351441731591721231641621191721529914413618963960720814610023519513422197211951095810023818295195156133312114129728311224588921623832581249823613245641649015624830227122631160121922323884193361122411132476520641391311021742162324613620519488305124625041761773234172133181711111491941081071001792552206017625471642715372467244201154962319872991291284186209734812623616773921624030482311921191791243452328187313621875474561672911770214478221621395208197239168179239973923967782221352918914316243582362324122422645228226392342632231311652512182392301296192324615324972449918131621914116218771621462043414744195182376614792195207186135368921613530621707485281481836211126206591351415521643121132251321565011701642167012510217150981815610022146108228119210192247132812082513122451102209159155197145172119227152115702094116681412241235240201352401791101452316066146437116161232688576936678105891221901177223025316310686222154618223912411211221914222121918323921618212527628460111218230135810122152190105232202661079659183239220187107175169145201139392072014312738103241971495523618712102424014624723451811916512140481522252351981358517717166161121188952522281032362085579991991821571276315184581854620422198155122189243255321925218820925424721661560195851651491619180232126921202845131129173601929813216021816192161188117132571811053912117995613125420917919314823195411432502061221122212159551564624712521611523665119252211129227471347961272541081892477123525319112149149589224547811421462043713210317132138131307222376525512322323018831251911351791092232461572511192361611821233119296251222125219246239219134165239238229188139103236006725518356251223226236121135172781411131181143562847163247127113761673851254201228215188245171188591697916612625310823823119708222186991029167392352522301551301031062537102915026253150155124122174271223027207875820415157762321778212187823021976228891432231762620718115420217915318697511539961157103631501072111499720814516163152107181922352431784724669111244195142128712211262475961231107108250110232521672035516520318210020218310020218193627401811644118116641181165411171001041181002418216791118166185852552062019315868722510603241220019119724994176208112197177169198168129114167233702511671632221751986023818215320566235231168182167751831677312876456189501571052261571059823715113216713952311832197723169247100138139214922510220311616413912519545176105892082202083718651229901471652612812419016278181394124140502556415416241151287210415583512317474207862331251317168190392412124437582126311798262695733121814124441231273623140160661315317226012893392501747511994222741809010954187215102578116262156175184881031842181001381956759190142221447151223407714810520484233172180152221237176212172181901721818966216221109183161158101255028801392491241892412214659232126230228810939227111151041701779192021194320510012646240018645801296209801111770561728637231222501181472491897891128122132167510114401749221731192172072151531401512352102325510013017915310635402481371141898115066012975210021261084123115212091302066413023828133145982052191000832262288107183157175391422224713218112211140245160631761291428652947011418176169198116177198524924064221379717611202242331282512436520716561152406483421212552211513555861621332001951315223424516422322930184165741111847218155711436208156381211721614838123572112731442062184321214945598117024361576872349922716830128410418585103588268623130130312048325191169531561755412683197200961151722017054630220170491663039954519311641417424610049164176461531732361663818424820811577306013113226090513790240244230402442210902031177221542043124618714721521699254207702531608697119123156215186282392471856225242126582262511202082312171041921574621523892213234175510720713111242342062271881329713151682646105513010824340172522272011772181402541941491722620136175210175203181103136531566390255245172303421622419723440162520283523724493831682512344022512921522711732479414923720115011824410075247931475211801661370157010432161166310061180254801582421121901011625510837153235128825398771921922487711726321327516413711430191412263132453623115224971361396413120563030244380297139221709817925357101921432451182724019215786439660206110188681151841441201321923646248331582251673148721817223911957602251866123724736517214122455491207212154788425246228169244230171132110714314823345182881471912391121641986114019724016841966714851185151493117197667488849832341541442339739332205313011239129410092209224832362451821401231321563918426811392432285221889311311635211150241227130821248198483096110123412132131141772914512520949133192310625424196014836145192471496030160192019698412433617616833201933915211512817320376221317216126212220116064140248415610414177271920216320413611512824012827229115190127128771171888197245195102110159210129771524591279823224816115825319925014221624897401269112751434018924036240128691942477699632151579862476338233246621013645188232419813273628130208251231249520765192218231517820253140229156415417910022616386158401131431002201951612182478325501501621451892001996931564218226381307208744129592007020531422272517232144163100763313612311661662411953225312931114158100128910811231931901282232123622613616574212867220352342321811620240213482342552060033301559813213197712425525231243022415162186121341221281291686824212191972525713042521136232235255191102273265176129141866841664524415214011113216812316016017922381393132129128171159321973338492124142561221058249136187720124868407199105132312151416299241520196362346915920914358992412119836146100178813215717713751141079241136602312515898235224116710818224767492061587956219223227188125802081946921339202322441487312014610112017893212103150161201230332011501611031819316315168901911679638101191603111419836250511478821657163168100211200100139136202400542388222862351611001081119688622320849200216578894215150243214145195182341665415813016221021918214787206206152177872347624317915249101852049021723816323382126557911351031431582421581091322112246768237119256364104163362461302471860176972527712421918224497158412651173191120249234572558525015123162195105224195141715919123731160759219176206951562511142431732522351892523121623023114124619120323273225684114761279262332422721623214099196571761398618224002012205124842248346611917025415115250255245209192143301512424111623225115251191284513910876119189211153204155249217195222211119581421751173095235741216224121918119022325425415617713525425416318724827971904224658255612061421195612324714719612893123183111715236219141832486410915229129183411512812221251352432061262062381835659222229108163142517829601034018116511825450217126176250215143199831597893122602492131952412232212925023382792261089125210812323692123212821192041061112361221271941892221841451815115310620724520617616910231129124139209342192411551414719746833723819691108355613811221391022038139220199112203824261102111250142231187119103892471029147842496023913922713291232222724117619525581151239131461751491022312418221114243427716917877105178131511642747201521672021314218210852182101489121111621803153158292511591851884772313212844081151218197249121148234801132267210522872185231112153195106143239179177128123157118511019013118513861217102925210157251469317676169158203501571166622614275194831332342071862810311010611692182269414521518016713866253119101130281361031281321517714624872023117111773128801335401283319310093613621466141621209616480185251138681071861127116640144160131492039861215164331461601283325013721416722202123353883542100811496293113023222350148168613242697377147228107210250561052121564235461301581087317619968137218157222431493883522262168095170556612503614435591444373624478191168510922010918321817218189172182154223105183122208237036967182222109207134123460641351069201341332322523861832676238116218182556437201885721810320168410219645024091082485520822051161912033021817188177214742135112166208142364315114022017576518521810618168231329110719930237160239232620416022433250135110106642146721511894149695792172577174255776872766217672391741802176023811919590152509215815123173247561731809099412034919222875201691514521210022923823524223787164129113169341738982245224129116177201102537112517418881481857595142346848174481427126422219792501892824612469168192274211214710250114228911611224714648161250139218123114384253229807518624846268632271541221823451149618315544167202245624385231170113211141161221161224138024311181384377150162532431491342241291698223287189519202411514412119916813912876886182443210156184169133581081806429218122244166381531270181857218924758649017822713812781241451008388207212242052263411921861281121235822624311434224651912519811201371521744925193842514516413094183792207151227657913525338171140155210361702551141642347913580214126458011911683520412001011992141220656048403314897227165901842331201583320818521522991821331327601921432666165241130802436914525428371564114218813723040559534131144118224231513751501922341168833842280621666911862168015821036245048159192721292347211532551526941612163180641024113425071791481169421946248742218234227691001402091531817321782237251666172053740331852002322081593563144171240176203254252155451841917716922461145182203189387101112154220271025355201291782482012249185215971832221052551601992496514320310615561174103207131491421071045895085231133170478215166138213167137119230402096357911201287211525020630188015313477111202116250206158159511281751041324636175243552101421771361131102232732244523729174522815525100168241595119570241840251145125971791085914071764118259182711184820413623919455782132360161752263547212819421486016121116101659019211324519222723465148826612819132642402110016217116187516593195143901211917379952552431412141511024879625219233106175918810612021412838414154186129376216622570176340141926254112343364620631233577458133232713615519812697222475741952002085191441167802401921711579495925464677124121319423531251991831811081962813185253143201186717456135136571468724580228661821908023718417020822977693222214178415136582481114523313561165926719311114425420816620824188132622241811969108192801527325210346781242072422121511212117711311074700238846625261461901789544155140221182205802441371982221692079711582250144113283498154236226127157781236195216419216430151108161591722315917221115705432104225214415713513613919174161574256465102166721011881261961441201252532326825323251620910046485015111228206111553451136209883216812723031120141161969882244162146180347823513072322441032622516722839869221130133931316822167128342206254162158193181262258225414514612622548923980139316571317324732173963977195892391121731762272362481133612281167245162818248042481386099261531043015310421153104191571001711570476065209596819420924383352357912109361572521491883524566791526938896916421613515718111781781356992301217674223141243182409198126719221819620352602014423417212136153124192603419760442013444201442481327396130145951561401335910323965206199181461341418646655878254135212451651161721323760693622915322222521083518519715517825517512618211135352501112132081716117207306312745103241217172191973610623221918218115115231248324425518324624221343160514324724025413116824013622159118178352191851252312462372281815814113798167246218091401954206119219222221251502114721119248223248176115103231002111582411011410197519611312412324822524817622127601761552497322209720822050756133232239132559817323971191856312452244139103227191121562423116353223175761434575591262277911363591052123716616226402723817025213515913225524016424722518925287248216194302021331486117623862382221811092072382371231182411094745119239218190111411231822371952182511377922417324756111125192217247621032715513003724548112362222312522281849812721323316515847239141251111252322431872531032221916323015421505813111011974411952203113612450182511084425423388252163225216117110228104185191831921141851971271654518463223174227170858714219510489224100117228104891968410123611610125211685252116117252646572111782081129720247122961071701151111822511731541682312531371882251472071851747719515824624917518318763236246941051162620021310918616820812065177241130822033714915811624519052245222116189214842111981392461092519322015617919178481491621053176143412131361102272525773109161341021661961231662121211862041221772222418195224157542471698214712923510629255015715382931082081242214951622325062931883967162227146200120190234203941511492699521181031447233160212912913235204167241442421782481121902109817319311418920982157225451545719214611981222170209159422112446802362061501042031623318444102401811610375246941491348818522196186722307637233143168176129892165642176580651496218020203131220242828310715678173745141581481310020880190502181672031811997521371138148591771992031625185581192184510342117230107244731502401602032371022111378214112912413319092217225342291691142052171062212293814713561118641302297019321190194833116889711183234133124621899699619512215113268174812828208121189203118165149362222323734191776872354518388172180892301281632135911413811511713410415917034831903621410518194237861392293823613916422761481051322841117101751199514965526107162761231881563121919519851301322170652091422321232313415023314215010497209116149193932662180801111019714322244129250712039018723721133791281931319423124511071226341602271797691304551481922110824343211531344483162229178361131522091371061172245124216251197136552502121562388108521998764194139331751356120614424579251137311181912031711431162127162847101712221685413825186185230171163208247107116401611872371181884919112329246441270121762189813233143851502620519331086835162271411161742021441651320486241287381381818911616259018072115321517664613619316620398132208115186761752474296791451419458130211204811962411802264919017401121862111051432036617479167221227331431519615516912810316322224314110225313310623721522826513723521019627511652181782291608971203244067913412530246123140150104551651382261881062321212139516986019214401391761511424321010915137278369154211196186175202111720012107364990165249146722218771271902236131849163991049245223123851101461215716421114745759046138180166137181165139119941502321897462410120612122195119619231682241291031541262112712858262411231932074182641791382411956511243362048523422524713395211104145218112190502446195220287153462091544321115343215133112224224523171113971176111401942401112521823512417520568821011265168379312412815821511613330155762618323686157233823112218106189196337187591091184345548314970157215201871151497110106246230171118229401819314972421216775849520102127739424319223018712772614219319216180018022879841887324089553823597155139152124872421411492471381961381551781262112161862321511496431702101411081101171104209100214173618150833919013099106126124211856161257276592482076147134366525319521213111246446613731170430144247138171191022180246611082389292551611293523635543125251232441557217616125119139104595154135241166293216315419492152295211319183152101260924481412532204023417265685019013019142152121101456813064179112717619381751111762021875818231232592001226841120199725613313658144121130161251972082265023897821743314425111110791125982361278160130222271566416563225124412911271572185133226235223012810438606422213919915713123823119106010822514185143107145710728796156651278358721726241722247017643143110254222216442461361551392131372501671341891449325219241642109522712919524694162461202149581716713621471135133032147119922643161219801081072128829219199249242317424836641395113118135207232197166232813080957382332538224228127212201792001333212916479132108801406688188114228113165136991016111311465209210190178215816118110124301442411221387332496656182023128119439224129401943381710376195207152135159541563101181132105623014897204732212404152138111164184131159130711521102329211200361552001792461614114193201118126167149771245623973821376918716314853501459036155693613172046421611765119811991212499116189162228109124563113711322222162141822141762475151042172511521841352181211351052321542362221352006216196484099166155249662555963162088473671001633924915662113250229511682421311719089249591419952548725015724019210220322352246655501541991551591571151191131011151742092439772492211989696432161882472462511175324510814725511311142386421066184322127524123492391036325257012135183145600141782202155600520711660110103188175244882117987185638923725325418925431189156252552222263115158126248199239233218169113521335650311452322223213745981731431821156221670180591811091281044218671141824619211811021910618797206401523632606426571231191152462393510532512222252362551522432141991569314420921656801298582008616223266194131137191220312552057425524723187147230219142451171984711968175116716026141123622925512450238249472322461109524074167255821872236818124319277235174921911012921311217725320877135145182152542167217186208181206147115245113991652252212151242682157202254104113254751853161892471852472543124819125316521517451141561207520614325667121118472503515924656323224494111247120216229125183213109180208184537718137851815385189457718959771732511301147917011824352271667514618734178126228164246171851581087852156136240142061752271817013978143228514223118720615018520686216452145917352187207852191402226246948110579392011519389642262463181148336514674015140229169602391181862231085315417121215338214153462146902245318108229129145216516512216321913802431243088168214995112719338752121352422118717580302002010137190130732838615544150235778621226131139619207222581081623329572091121915160108208206742223164941092102151595294130121786271230243811431600131214715160156175213398919422118216247196414834101242446152611962538216349096179130114177222843194230170245322503124557160253531552153505528618521910513308810850991914720584235147491339091544531551951920179181612812923310612515011818822267384964159229381151849851094886162193205852322001461082052023518834217115771665571190558717723518612423185578871182121722922985898210220324622280194210246432102215710641332098250214162514616892151382558616324974155205237221712516178152509223811757160532129158881122910814117778638192119564269612819811617711124212811022424913624784149658313424810016562249916920922263018161061581416713818117200110168971505512131201341101347423023042492211271872171382487701256522241801541782101086911612718117212361281294172092491371771144901684930432121524521595174551551715224418023918742151852231156915077646301521714812813430431301421465183233829360216253577419212208580413519612016023517028112104190222203922082617520893110179692202311867621526113118521917420218092145110191382231139317753911746277188242188962131211612062351381114115020771253158141222255619913918104520819691121128251440861199414457161122501578710020812140952113521215442862512313513231137551282172351713846101199415026134200462113571762417691822011961038025564215069641477164208210154385014816713295712320515173143101262482022041321562412438938634050754932129821334252148128108853712724342521182021171031933881718212713412693174313423314220801967923678139213203651432512918231851385616919321811015856442012494621096461571971221791339022791117198434515010717321418419117117318222710125012512110616322912251181166211533819149134195165581315518125010212113121201223140173600121199140736414196190436419763781931552046616017649281652588324916816872431471176842015561711601571091292482524860641241120542481371882029515718651522321032351102461641188213112136541353454814413616019192011725522748131032711811435692251321223245554220493128822015594218459220433722081982323431360241253129301531431212064222247832331272002203751911951052401432421284973207051629520547655544177296145240125195200202818817210756726421615414056369822712719619411601121962102713511619221293202537621435146241011663491236373582522321838750190161259115117784186119206842164601161881809123219970142135204221061441709112101257220649209253418851251765322011692106033150178219135181116194731464912301124313184203160142403541261962103153112598202120833725514724009519383302087972209142771481114022114245223202318039159722280255104366660138581098146140227192811031412321641912361722561885426476813013388120822122513312888491839633103127152136107160140111164106216113141200147234145395316379105197156214136581652212692612261321148015616412348120128787322164262417127129911447225331032443441188023116322264013658135113658101201190561651729819922191711524085240122151361143017613858107191132144623617277801621304124418912103191482316192065998711802367667206888020701441924460201562281409722499319188132071128518316121123223119229245563113829825321311713542451421762441421149572252712121019220412220719025376711122320619912814124723225561151601519169187119236254201151272422422544425348141781492372551454965765324122310591626115793134250624432977623221123411921738152081933167172162168506056194223214255252135207318020601372046024021221920514392119194344761047227114821955242716018811911356901461871147374724416646116127181220123113149155121127228708519823222387143238383913711014418556852083610046140101821921122237168236383522094413310980252155182149724623822219011124718218923213175732920591774111223439592002191161824761412061591262364822224817916717912712660245235251163631845514818420214118951241211194825225480196139233422219420110314711315719831123922023814230401172312221162716924423520211923741240304414225221321411502915517478304657217114371722321919212712370245921922099946239154751142441335625034282331832492392429701556728206811419967153211159992461063225211318325519578239199221621431231242381191224421288152302331169286106781471101883222111894185247162972515171214753013231311792551972038611055174122065482401777386223112511618824824412081232240131992412171185501712491142431851024315311417917734253254107170221153178221366472178398316224717868111389612812068850113711702002401175192192147142512171823720652209182751941442542923398409312423151725215416040124391514423229742172236206150236185425390164645222115129236881071821842119893664111328692319205322652962185250623714450276016019016911717620276133206120137122951741081231502455871101771292002501852661961921221671314825376149206104177429696172681315425473191197411691106482511603936623314691220101361922157725502623911788131131041421971375923710090982321263824139431172315576151912041031062442326760324324570961312179067148108232161219148311761041661382287914711327111481231752031179314911019144209145372091216917023717810043491692225020615824125127151315211116283452166137531641382121954691632925248841644911683991608010918068155136610249598710350666091066118513861571016013057218361791653820371892062471862987219108701385323546102136713194150196214176896419767174235139811591036794139141230015108150363618021762236113134118135254672299215132422923431501758244215318942238186421165127264292263066127165133240024897131602101001852013216206112161586851721282411926841201670579016419318917456851621792109617792103549016820914533912232615100201244938315240214158175501564421415840214294421515579173014425720484232671702260160861933205233226237898213169234163379093215228106471011262501137010921417924538611217417619398141177114612002142496139137421631939817323827421492311334219122132132125192117231775129103302471852111112192361392241301617223813032234184229871641293193217120252112431652185037819823948801024412525321513036581367750176129410830344523401111284232761502421033316237326012819392493221176439631052001162521063223516967128233123226611312251351282225217286155204153250159403833671218824111245160188221961822181081381918510117680161559117031832608016253931621171712181663174254285252301592445863239119931745523718738135115153175531212129106303017622174198114163249108212012511675112262231101789010817628190169213121771614371169251134114199117133230442331981220111864931581066713436253227177133788805622711686713611185222262391945227786291301844216426183621620238100221309910441516039861291361002781111645198023314320691141172173188246278022718317999192941041261941071086431452441291841352441532840302242191988720521912519823412841461866419413578171530872401423372224243696237314925517716151244247135250142116136332023521030138281861591041258019363204312812157913157217887071412212408520020271193352023234217602541237081103972502252011381582099811811001963327191163150949614619522158720560222211181717716824819775185132281812424188217250192216112671591525651306411966420021423183192402462822712201721431229141541851102291150112312224942271021375624851246435110281806213977130226631062291331175531056035201216412913124921219624914418559234184771552022448240791973204639620151981521446612032468146401342421283922512919288202320433642025570127981041291021514195312176512442421257150154360165722422419518121617936249152240641381222484110523972972310175011814416487136821121568624441157152512182091679716823219638106691592141417721286346229173423623243962315428024414119617424911012250436136389524554451347610310216123198566273472341649080140188119168152179159152147191130871841108225120323211586145103173661471096783172278235566940915402176169561332332491969113237891451611358203166977370193167117252226531893514992131228282531482211303744220119139169238178114548180215119111781558230291532361912666947714716976421422011032713249954325518360641642461742920812922815725023912625112316295241217202321722426399916221314985242178114244325759183145227164231194782347731580227131136262158621198623917877171132546325221722022915093152471414272412392282362222052171791432342391320702251861291307126419419824923424686254126162229171133238751831858786724246254349421941186725013125596232762132551182169115623710419387182145611561091237312628124359232149217177109195200190128412311811039238130221156253187572511188126193186239112136159118716291230282202071372402481681714423322919415987712611811124410314338127242112236123171220227247134163317970222292429522725062261312552221902182717620823063223225821128214852242188522462892349843060923049901763941211221782421791302552402523464194771151552023922868192451623521617598424143141159114561061591127818511250127345315211125114027245184211239651552311631417515125312918817717615167179184941071731182087012518524225357423557382272152870175251149214316824883144183238756111561418429613193184171115186175197222109249108174441202281342377217420924477227217821952339825320921571901717493153502062002201951892516222076113881514120234741923919631248848111015024423726227231221787514962371516890471011710113618316713725421308038600172209676624117213221220810335144462142676201711323041128712811551982523220235114163133106164980249751173812812918717386361301681501848329810223344170243854316011116822016113813517031223514212818412977149162699923616621820077149158281052400421711732301192191732301702451602482391178812910198752131351014970138148811426029112703144542204862357885104209228114682126128971721225525311020089511721430184219975906418385268911616719523478773369660642313148630176124226165102581961649147911921316227217261311371015714518245193342123813550159871741242478515324644919264219101113240017253832813831234156821291001071508491150204516521917472183100741462161587692428263141176120601775281172210113852212517622096172842724223139160230137671602141201708215914088218237184220108249100208227201128251821796912712942229119421121270751813124518712973015184175180901196689414915716954902391142241412491316023315127451102131546416713195888205120137542401701772251624815891192016425512216734248172136146196141172161297321722578160511805919020684266419915230171118102201116102731522180129208159171196179100588317455120672590127172803144012152173488816854639761502242520831516021015833498116213162192701761018862464513621315917521061941051502552498022137225222124229197222031972217120110613123390163233902271455015725466141254342051902117481921121377891182921091702168013720622765472221200651301371281672532381471011868019524524419623519038251985650024032342515219619112816236186377714018824223117112712616420810730966715194185234010823012934361841362048021413095952621837193015718416121721025357242195249184817024845642238302089723312282472181606252252942405913022610313924051193239863462522086482482499693192012611622424091213620445012021208249137731344924715422064174194189542352325311064139145124149142769110142342383812001368524916767063156505587121182202112188132164241208441271892492614720111413123823574205153822051511657320861708822912119324217514221416613818210020101221695141215606447776102123627812018156189241342081351613220110915352074145175206169166872411431351061324990962371111522301839019021124872646112483211426815719401213918067791056721771572181611667348128185824860643132949124016615719482851270761561721231641849917614417331244552442531997020620822652112832193107209143114195105240141707422041902196364431592618516244811825321619223316013727681911887114811088162732362312219919011122247165782322569175244925164331079565107952301516413710922612068236322860353715613119331291962838814420725112218231255711024012814314695442285622714819513562467769319019731620541248170191269021219331432261028915624830100611920422554545751284149251110216133176157472384112312961606510815312136112485612323110106276024019110622323012924820163132179111240041861813923346155253323220724731601741912682451639301652241916930201511778231716625010725419811310313226207233198361711341581442421223116244591062394523623639237291662215416027115704754173722398196556241412181451671646167193313024694402291891951332044564189419657192475520432261321127463107211519832230180102104130188119152168163175152163159188871847820011314716836115817112810188178691121627788138109228571712402017920868243240100180131496230145411662257319897137134193167180124982136019521156322928253213601942029252119104111311812519421725123359162741022381619422516712566193622814816962302363216319519024859121128137108401971891872461621262242273231255114129255175151324431122541452325225547109203167184232166136144161418901182312462924452541573011126969639153189120774210145195736214720418267501562552311299643151762347594222213130247223250819918211125125425321924720912016121572192122471510621684931885423919119821917819891211231221741162025554492006422981718123201313141111171118914220618720060199196246112182131120813716522101782787134247320217481824716200110665361541044716524064215341231291281981171961495314822325324517561237126203187147241982382471712532231915525218910351631265425319553238137187131113175230796115314095227134471176471805206181414184251141214132222234561171712372126623523314923847110181157107185261162298710222311582261621948112215128632422419186471344140616222811236223230232811460181571917982104761191591701212721211915655157196155592052713712021423524718821515955252059156198155812753282441064023273159247122167203211190128151125113471861461209925519827251175159711699623216171829180192142521411310126231519514717880176112521112356199130155165571167711524818621822411721319010816523876185238762332222032101258982224129158116209190121776226124255647117010425169972382115322942195151189461591109717420218194202387223219234311602256791120160206240542451520420912913415210304812811425216623422413249110240192101177206203984097938922661871652511742031412016864193442142647215155174539114687149529413623412345168222002674240160105403144161214217821162271921411361608947414425122121516496211149218208238162471625023653255761491432154851741979424651197791321261352459214122210018523015754751443214122204117132652509919723922811801671122416122123411817151209618519798156206717050140731041442459315410014024610114672965883173638216220915116721611385170245502042971281450701678491166120751861041071342472128164108166171252231483314891524515233143102431509104354282449413615517521015917520262913017810319150131602129881036634139174201205214241330246185204144971331401101839016310116122210818921910516119317239742894181855767162246130161449617680125189199233197136152036488108522392038323818646638916171251912109813213789513275129117033242206118625224132144066124165197101542425012318221816194241110135618618521110211181202122351946429523117014186154651077021621211216125088177222245212154176169196961471655836691849212718292255861812411243711352048725174538917352901442202269014713342352211815308817051560144164130423510845818125317820122342874189538318482081584567128398516422715444249618920722978183195124163217104185110111158114203212331865220915475342081727788247170922515324917492165917786471982521581432482403831205119347134188192454519248502021611317212111164165216713716113011814816836805417720114099176137141411224024372163419432218950352493210025313715590963186842460641352434227112459314729438210363102527611014542732022041246735531943112133625361911118022476619413523491217683474111661041931751111827610319092154848831625389164628616013822168127541124222730199715724616369106291209251371341084113191294568922011092103802236415810232111393823236220148714071139181155503617120711551647552101742131651378512445802541496419721513085184982231422313043910615519823448652071277320779393221122666208222179381380131602092522123642251292041011981621341762010765116178156132127212815240217128240031523040641631415315324818011824010545402410619687647312825229117025455739611189617113482246139151243140146116921177111618024161982335211906922624383141816310023011314421611924101731602725156116195216232165172669040108124104224136206216811813225323471157531422511944024651195232115218971032018999197157815619241721241415312330177240194422392352171639312912632612021220219662811415613611471274012632119066181311772448024214113322625538151242196364198210495924651743912001401673114916419126614012925416011975963323111031110401821407014413417271132201573825139176105420624613669202254113140425415312119211214772163593252142208120331651282327730324864253321257144981222362874205208227138190145210238193821106516021571361471407104624985255919712889108138812521037019962215141778695746233254622422411300126200120134981311982166220510961982461392212336915914524110211132421917624318118240145247142208123378922631136115163622471101099036202685214611081103644719201772243422511731762272161787320489179152115388141134971031267799168157181140621036032150108261451401387310017881100146971201621182089212391045143488923132121199647720772212516420625116284219144183195182021347894973314519922920521048874230238133621621220212715571361461341402226794761151422860146153182145131187411008922912719818212411092207571242401614210619918223718772864965151191194316412524714222112812915768151632351822232551506351241139231759421013213225520915225118683201921702311881992473025524476310318399223182183246210121190182240014523310419320923922319857212519212317824423286223210809999971861331863621413064127139218622062461892744177157191227454109511531781097101128931965764002472337292031042311102542049836155153300201105702033023415496472302411086570392210962109415618962241111143166126249116230151143391271882027719055148242114246135471661911912181232527895601112382202032332282451939951779751772094361411913199231219207189154251211243201243220226472024768159255177671762177242239112440318875247222819246961042491282069160242919967155243101200209172952518194245154168893109137941722431551751141212122371992714106188234151242182277523483209188177822272361115215055134195561971557812153250832221731222290892413179105303491612128109624820512423839178881191181694212250207105562191202481382306416666951541161111541001191701208715468111134849513436236109148462141553319820514822494134732459315098254129214116625387100110872718923211312619711791402151312441111311262151641471681615512096407997171061871782671591415874166351606602416360208115851812208117691625175188227178404236100409112224013421076571201921161692062361181311978217323310813313622184412282922862779160243170507731136714113462147883514696073528365146140711084193344121160477115013325117518189031602451512614016742180031625376208672296722317910434212231107245209129412542132224371125142241402542132217913561801921021832341902333110453951105294351917240393835608016653088109103351449022323717867297217621010613724620110157129661492061075020515398141233344525982378921023655417172251923412125917810021846191350196107391252171524522312593302101913971118612724816623072137214482081688215913451077151011551912181101231752191711819121524924112825118946710192173702432135427242456889822116942131241501572415022121945542431172302212151492344613072002043181231331702071196954317321420713518994141251241166131120147129216114127190101421351557164551748425222911224521571137157233222725025522911210715021223722171591572462322081138511818221415236482445665253511232082371802129614671251502302164881952402136192108170921111627623204112183205118145142476817813823322831682275712121622913271512192114139199138521352428481199131411402419225011140147215243529210335134711703987177243154289190186449182891101811265822618121410163901742111168916225016296109170482022421912846255138881972157115417936177244622151335529248108196251229152471442242331601991001331268318624817024613096205121129234175564683611813638158425423316180114452452716601843276166521666012814616511514896141172222147131851751931987722694871081853621812065136205707613525149302008519611197169206242076042155207255559712811164219224384169381261522438519621313420688570591610219270240432743843127623107162284784315204149317114825011422810317124523921018518059179165232721783431212021512315612912156471564723823160141613611142692325787109721031755115316950234203831091873421912269182498317824218896233159148712871901816819032220114691342543321719438411214787242208220761512351101002023270161671221695181671735016670181301831002413125244896174379602352421972532214979141426125179133261091962141529715515519819016216425412401924132174173132551928630128238103217221223210416733369410423587642272985218132655842123316843296237333782441891722387018579198275324725225125331112423514013126100641152124429130226783321618762180902045713041611031123622614214421825413054126714518973222213882841608120651189829422850932204116246169137243123186541407141531872252026724121188322406420027254140245133032963223921953143235105241238619457120512170247139117192422341931992092311761331871321151441689912814415717518091401200951777123017502549711116203155601285125016670255159180239230129111196112911724422117138024214321414636512319023014012622724820147132179649732619391621418206122678254242108204159239240151442501341451203350225113194103122177411112507401548228321371052931292372185222515611021210501311681791911441315574371914023614256110455226342162042824813417309623822371761922323012118850209152113681814525417201382121596281581362296128920213610099881005012064211636520961922224584198418022241200482241521661072423167113206182155721916111518219111988202202209555024614014015626191545911823616215812917318624911124108514419615214022221619011361143255175207230231127204632402057912210621819931146183233591821092196925231271317821323625316231190114622532322111789825420419625512325411862111416120779452481214144139789419523999601761317513138252200723925422515163152236173153233173232170204242179214194412251801612151327176559160236332292172406884235191971518967012112814818432202491361399613172001381162392280176250110186956012165011813218624062206311261650219241213124247111151251127118111236167791031262411002341671197639131254252233228153114212411318723522822119083471666212354249217163209115203221392382443961157252209116211177129138152218203254255245185781682296223716328169183249195194910525441229163024810632192137181632401798814963127207236230159338106191183622401391651821641331341521872371772032452545110114431411741071414618317017223120345167138771032022042151541561582462492433899121227113188971481671201637315187631276224818718613992218368512823711841288383248144147255912391331542282096019124127142195217381891054222115110012282165122823718782197187211371235116525050165192312523322612812925420318389146387164617472131112247751176714694206274487256223317612714137217108531541672201228115231471487872128264213273224711121323447215272058723378149105207210114532802721816369423185114189871651861930873664213271781961231781652182106959513771112121034320021995104190133106227185746732112123573513748291983176773619234136278163229122172692221191422232122420687302048323620314923720022314280982392451612181612421930162530131137501416915484012514318226302412869327148179213186802521192184416124820924216019914212259442322215873624922363642111219237623517518089461831521431511072052152545531537713113626762215576892122089215720910016523872137655951692351867619985233246108169142434658467551241281142920083153402131531735092168358313717723225516974253177502940254133122831481195923723911757642502236921723724810821623511319127234402091842146523041911101771222162312421002082277813529251801801952387813561200174292715640215695787107188801439917915817052236200150175185329279121160238162164462282429814751362261971681511142144346508164216115421047619173129278379453268330143171178211213134561581811189114412216961889223711130128100921638941082421198344941041742188601121872555194242378813822232751482082471203620028100244193881745519121910617921096136152402142381894221515545711151391011871781643316039138181230200726818613112142001023621924513411495142983923457138108613421420336248106177197242197132223147332079120522931851011710534181169341492315138255248105201159141482542491619216043719716120122624915215111572623136240108200192152255521517023423516385952916122920926170254331456528512762204311471481825292162189602253180181782421342539244931473116583502272349152171220150466516642187362201256910240129925452722494958570164603511344236556612738196129128165248817615110517623917911319245207641302531481761161303622510414022843179241701037418139176229124149241218112992133225668523225113750173174108233198841612501121172341221752032272221297240232291981381811123181218661184200122785250224160192119592830246185221235118891041802818816954232461511072429357746737218104100127561822487190149236111311721352095810565931411411974132112422152214251414811623023512317820514111475101235190190101164157290246187229242222281297724323720548862456316622128931592141379210145917913711081344230406469432016021943351169412511971795719645981426536130200220147721216215184227439227249632291242376723022120871992466193187247116236061622461292165914210322690246513211551347686096229131181149112010882491881719924714516114717271132152990212575258428217433720592223213177615192322531299720822919811315965211992339522718891892003691519681712722028041821152122021923150169121165271532021515614110436231251181925411312216224381507819221881391726697128110129108228181642553118213301601504241771461282278312188211622614720130991332212142661151912301342025524378151761201611523624522412057207481131031274939162176331848974498316256814710223726189633873152451321791861132011702251991651241945157253142562508562517312013210413230195901961048418121351672315710414811286392345212865204376419620179194538037327055226201915112795682501273915176173181194792001221351159250138572512031211351070391127011318432100242161521179200362538172692341641712131141128553420716825019920218457518757322512415737713114327120681082518014017923599206174155621922214687512401013613814279148147871676614186111247150145701532531330128188387414513314522418714818484691055255951597792051482372551171951272232482522309525510922311082121911517118110223181111677919011421285212711351992482722612722222025425522115787326642244431432152212181711666421060881242064620615877571901052095621438166231255240251236111272491954712723410110373206135195121123247182253187575661136117166221119113112167105162484963155147750109713271821619410730216160218441801512122491761292051901952255623218915925313511222223727188592152381425510617725122010625518571196312654243243852381511072536312258249219711632551822182511391232531911225825459222252951587725497169251232913339472551872431056318710914219897142208542428630911342441031260230161288287126155227341997311812624747137421651911812357224523874243232741192547240951115924615212310216553234866722419523823213515722520318115817916511822043589323342675716584229891383249122179213142143251989514164240134190207272544111122421510717319117118424013316315402062187251116272511523312523412413618225312815527491241951152321862451201902178814254556716647771885577172135152120111186100951341169516611647492261623220714638118691666391150155452191196918623117810075895150156412091902231062531802191718280161792427826913916613440188030128224881725192168214356080164503779254117513110190246223144235190422131497796160599117814761411710375531671067235244231407822021215845391292241081122011655851424124134115149681901927220601291126218018020622015419842701447122829103145250224131971902351789387375917937881220120224118147412349911614618122241646083252107109221624717215724101281295679020520913610107457012802362081302051626612016019714024102122557614162910106491591682089416839249383851862112132501041593922711251421491051323171152017024422180232206145235194113941472372041501310819818012211681294321823024518660351452533010010416011019916538112001197224914986271362512511162402081811185916821025161786822911921661228186162511289718219882012920250201181572339245641971021812051181772092444983995289161638510502464112502201061762443213107191349111515816413163018436921156517635916235989514318411022413823356218891272820468133222100165254100133941191422159423217252532494221622475192195762402372243180968312555148166171112193109160251976422401924550482291073088168536551392088429620968160250788115346159710676192343141221431861562408412228421192162210196219181153146100140172432102372522618987101731048918514557116125317868207117185254603758126171586413917617316721428452092174212922015417049215240166333247151901737139532181752015393150104200166721715445221126851181848423511014319193161197200231352221008213665192251101585013681679512365166136106184362174235162789208297327722371165577717257149120015279128149451691621920148321291736048146175621219399639016820911789186233215316916035831884375178247170204881452611660168039139198145221357234371634864120016231292401156413325382240219156173328313022419972701174196143721912596885889741664030433624315144120335825519268161218801749812714225268169389616023717812020521513527461452171661294567122017824578719801924592881761121128118520110833149122211211221841557925061120196518816914487147129157601509110997107931424814614049271982541121882301213050172167138127285137191889891383764356863192292042121312481321286996022229191185148241158162134101711791022125163231134497296234159145021719722362081057930208916633676525268219212838229153255991625321897137582257358971372082532123364761571406774927104215141722109711596858131507342802417580244137149245136148112101718224510311123220113667148724848192729643122082502724166111248968581445710160236223215181135161130703212917811160142193402465122718420719365609718712835150948817911981262172167134246254192012724286942204182253144185219219901501442361767914015720188251515621116322711109240013781309471591923540113371612422118816364142162181997014214424562092285191731942311021991902081463141123138221971774244148118113920012169110229119213717271568913934442108232554606452551472211624719827603231284322823412713224164012022436255133612132321681615330798612968861516260224228207252315560012024814358319362342111720189132100221132361812001921025417130174126135156188143184248138186516851976519019517629192023134132720623221112498105143164923127811443299572632341803322124227609620157812216202325052205644323613217287216381510482304819613719615721314173214141161211457139227971927771623469392357021120914410422814694228105692237211323127918307310363572310325556931511449315972112118127204217249621032151232668694114525465209181461076247239216190103591212111913311137253552541227919418620120320055212542402552452172502257524625520318224524324285749821019865110219517375622232053104461921181458841242113176115124112239331278324424363230342242392302137522213910313210541181232532421411432225764352452472392171823166124147732214169823922714123821917719920719522722312624617983209493826132311129916825039167138243361766402491411001971319512519624533253233117336017621340511661282372302362172052177514311121941461313610687182271241132201801872301514335956115662255108246235103179191127522491791812541791196631876325032401927422315159792557239246133135351918910825523325312922322010625112123321512231115118087227721887514108311310130161351771411391102311042922412010618812521475230223191167412623522215929498524511155110252391682531888322715910858211156198243253230421301674325310310725311118342231051118585237113183201239941472072085313122523525051373835521812557170157217170157871812311701891582441562301412541525525011522224011125011412722810334247331651423625010926384548024813211523319954237151253595110812347271422324142229170246165139114211132250210133123211691232111962512103612321116412251035064211022498012360112851102241866024717010811115052832521632494211915444942451872436612149117270110401811671381929414361103002192222392071451016048919331625794122016610019910818554153156184801531554321512577105029486492489226132717819621921113359511972501752031412116820620813752001841352125013953116201481063581931334234720920094121162156341070147189251011451524485401212175714816720420514510335141788510417311966125218661781431491681432113171361787348411912201041141832212349413553164255981891713923154442152202281232254123157100233114147948224133032219336096132254183261407175531930431098696128219173150119187236230235161203141411214442262259818119060197238282172061075029871652181747218292222391843461152175588116251871018518821810818922222524017619925118191219241110167253821793716423110413754559554212418892119184881472011258250229224324157962031061812212461101513202551161813389212108137150169423150611215015217353166141837212124541301178732202235204711381812191792486020817822531104191341312032142136110712163517443240322417721411013970148561461701751432222522071431612511671711264381961414827242116200197666501191114014522013460229185269916825514910243168255722178155604887994121928721618914123144058160683522838168961821941282046792109188841075895101116187193252110010414510222187224595918021123312312317810111221112913016313317052195689932871612275022818472951742521041772501121452348817738881712434248761261807610318221416419164136048941692551141941595523194155912258226181222231188210971872169857215961091104501912131081852121061171592352421141941520417621610820915116722011385221764616862470236193211077623107741923518434519216862811706722615774117701111461572262542462238023818634111857923125160206129551209619581192189174561230184169539117415482322051501073811641371468920117472651601311351034324525017420121325224996253215711352421482321751282289481831921021106119014222384199213184221965083161618916262891706293174578316153811725487201188723444241112261661982287713234342086252207150106227247142141207862331431491042121261251642427979021069155211681542117213019610414538110211100153467811548795132208157455911267121184802184967121018325119717620717117702221164011149154553124111421437124169791352402301941202031772361519910730216140213065253195182182240216321229681842112403038220153100223926822021963128165180178193312416320612914114140119016911201281206152219129126125109100200209961467317217721982769169784219953130200232672181611671171947314019228622018211821610590391411021605189200100221824228811784620033282281122616804214424332735802342214621354518840910812062491082291102100121621911061086916812725021324599352311431215662491141292081352321511141383135617423957254185652445701401561031801281814723779411942002511820821277204491611492200214231136165724074291622551761331351601412471673820624294811622620825320812414423310457104230422331812253183149780723073185134224170224322221517961106237133751061613177751941411765824621731519801141365951625113920254200122701762521108282511978365119741024521622412925524512016121546217022413722655136752141417582959382252142232686252145243137801573321632512116093382321771014523349738025542254495023833162142126111240192230198139919010518014518481602422278318016220720071981361867291132445723623235762471681711476151306246197402541722172412077714212516619117905748782145992194452410694216209792183584612482422356561153612101076939261409914614116214712200120163137701299182062341973817013219675121133105724913856251203120135169133295172561071482401537811614614157107251661911361641671911390552421224926157168113812081458521188351961572523622121651562532015732043191402206624731144226236252144179253932062461831192362532402271319871413723722132416746196224187252312721319232191831778723922816316116649192292242552351792451952442502551092512303946381502921141103912124177170127131717620170151118227361963818821815215215225521722812911123723225521915127243012910347547126229612271251452526112242144242802281166601262486292489748128165130135435130194126248217237886214239237222141213217520122501932011631421141959413912615457176233311281451552032220912498186218015536282392167114072246771231392341022723714311519058241982331982031972034332551825424817179925520291253138183248952351311918823925522912225511123811412712712722447188217108222173107672296325025323110216111831891711141481519217141672617624438462196124192177149223179711723223113218153191112173751413018612111816623420391117159791503612231133245932452397211511162239216252149253721742558211720468145632471542031161532551572141521874581511653051374651197246672151219924314019910126243181123114181234461692149221229471512653246112222321111581325419911622979277142276803312085198118104593920669120178250203149230196222442352381218915876852381011972547625110186565567162556718855671624734832197156317612910889238212123791810020312229401402317013160242592101961601523818321706120163627918629711184155471018216610991051032301984067168803015242211160111311615418039755380130131024273125224134601311194340175721801031381801031381189314511078147236202862643214159445115442512620421123620785274513015449152173481541734815616948128801342201531631756323312380131252650528916269147137117811292326511202209341466319211855871632471761992386514323774139233681531988816921882147241901871971061552497417121723722211197701635923722247186160248245111532417211921996212441241477106136420192128213225012174210436735173230104199210181118171181118235133619240192507726615208124985013217841492221121771221191429211516612012517048172378318839871252489199184218102243982161395512052044925310820824365143211189781351815421918729246802162431173836811848012516468171558717723713824464129420011428982914119211228023124720092997020824717219021497183210106205220832102303715217311515264107984232792251705415217318021817218121920721315413221212106203146173250901761410653323486188227170220100165193901352531316221519933020720044462207134189158151236327342257321656542191266916623018822472177230147115144011142232941513523216531128711472270751811622716558802522082472081361111961117301685525154159623366141492051616021114414923201115123520565861871003316325111514819810532002006619736143124569525881363910056159188591117723237187465592168501188312518868115188681071648017323115492871822048813721417312221115310613120174189181462518714725418823364922528719148224193179811591671952221431356015322119729116113184195238118572261721131691298519216113484171761918741184851856444413816480183219225922162331601254879212341912411881612798120204921621584209705843255571113184641319251931745514816721814745215158411301042071623519034512914213531156019013072620611116951451981750240188847138241192471331850913130220711331237841746185170113171150228246168017519424584155175210996325702128312014413821223422441502357623042116193231675520397518121490452311071327831332022542359914832497421121186221215228905137167431310217114170139531997518111312725124314825111414913413921219975181166421161674224415026452401802403831215133188197402226641931281538066240103671212432252444719922301282421026221151577123361827411538220153232167186159175233891332341262107228218019401282166181766915548642352091045187192190152209612421056513195301031982391976288484419410211716112020075208681485822516781209143203623470506004236651273913669160762091431948721024280135616623229432372278285118254100244335834931319011622210824946597210251328941592418712610023224416119035123241127212210912105784452241846521289191549712921452471386210622918965172033121571321082532296016368292160245655162322082354424425516018527196581646052189651161020191128181232183322011377208184149720883194578215132022543125123104125172136165462001803167153123112397241661625260732186112237204571122122021918012858582714420412917324932552818222540323012888240641461101081468621241133192241132473297399581250309345487861409435366543236184862169237112606312024618148124163100606636156368281241902013121232482061445514116610723519914424920011699838467142751237110577301822471711224419113131948722922499234225167180342072321973623568381704387218413482275859682182271682229188163240911922141289901941984325213307250196195281262023222652902449914724414216516819915615013142172451417112245191141114424498312137211193411991671046815621413856173131813656131101697119378171396217329115705125018078108341446420943662201452401281641471751461631751491111801698319221931139821852455410359202221279721640812231771092191421412497254919922118222519523155281421611452252042041225595159255219318229551082032312171473962949423616811214859201732251311312531421799920613812720923319225131103942023291217186205173591221952546325324061224822383154731401112071214311171785420624420112136365813919016722324218215818816339312953157191133912461124366819611811318265193239381136519201485665156632551822418249219252160190121811921202361542084833502382086298682532271131010814223413113821671563131183261682502131024724720710219012250245135165158311751121271161112403947166255157183118145183154241114226235123611271882212467111020919192254692161567771881175132177331862920011000129199603219014319106332402512023518825524417120710175742431091852260821763902261862657122511561551921615723721115722921315423421212422212915523712518754225121239103143591923952196173183366023460113183371181854612016220818539195160556713512389187356718523814611624912123324217553106824538422271201112718622124931105255262349738544102126914812122401711441261432432451544872191911564024623919010821215316621411865190243146108127166345567142489315023418944923379213631571183283114232154124127150761510412378982675713814769262275106162502371051625137907918628120208121144711252061636910613234154461017711315331858011848302001491311942447861312361521712121531342361682081581692101531742123043812352011451052071823918434206194120218179196902101331552116921917920904617118110123524423152122315577148897787216761488914015115477150917687907687152761502337966253151107672116422680255012912924115523416313310636250185881475821432116914120401432040132340987161215101322171933107109230139141683149261921234203173198107157230203173381832197611118315344522617218015522223317815210720867125189199154229192551325519282131241131305915014717621410217780103568316918721098121191199971812212660176216100615517555261401491052462340119941471091854489119811842342351631812313315411322911140778727665514781561539620023215199190791356095140120671001471211155923623811621817924724114714925012555148134321792022553124625436017422760251135193166222187196134222123239189247222891932867323616410059137193912629191732523811828203349181412323620912391962092313922212347362164319025115321793130164228881821725625523559215163209236156571791152021302472396024320488142020913019667165545213416761104180194303125110204391716556238801681392036224117173217231102171255441481041572511813823921758143254662351902171201106215233262472417423122582128129196220610612312351377581787710618213742071091741368320361701371781219817093110182135602321411862232724517631184178991211202512426424411412721267240977205821221835110018619869226252413670255654123242206171248310122023253101042015123720649254418028131140174112128238151241074136719020163053578896118522315310120814516155152103628110263929691219219922566601212867187374023958247193124831221532051201603583871206519041815132192311262108612181138582029183531611161755512222223510122602424110448234811272442422242461991312191846123422324217647154206189392429411919614118296216451561148724816319045143122163312471331822212075216710724319210792132411292439813123104103169201723320522631581591731652472322261162962341681421313227321951331249148688523122969105218938714112211577135138172186179141912111171544616911474022411921515617262121931852247611313021310355820610968663132169101871339087216761492271561929108487810718912069156103578189217667516624353142227165150176137114107252785715045184127962092133040177158173118194871801011041632177352912315488100461408717218532223154161539323724817659203943136871895214391438316531574193243137235014236431801966721987104499422924816039156401754301796018214730161161109203131649510018219211762379156432174682252111224224601921655724410312431792105631441061519801802542021022086120986210194147675633200120128125351531722307416317522713217616214143992301341882042402116659142152239607012192156368222024666201145331111711522012021910352331052009410122323727221341602032172104601222489161474923042481022271238910302242392519924821020054126216165221613123911758252191996763182219255371861611718012318910724813510877528419233248106691591737462913219914912418312871442252111311741191319371156471512541841101442424042122417461195316247802491221452512082003946193184179609612818044351028178941782000205581387054121132330334012916110112418111068236101216020483138252127214164942226123031176343656110201158851981831301272126143163725510414122429154161591171941193024416224634699443527045112155146111148162791641621112024218032192462261543425520141631098425821588315610112514415036211219118803752102115192214771262091551241632282531834061108311221165292117117182915312016782192541212232322056281155189163144811521716519122916019723899104159135417525315392415156018062041192854219118200108199971471571351399142352386016819010114366232182771812421299184194118104109141531365710818023551163152207140119126102140223722042311662241628187251136249158352216021983230251142901792452224435246170250711714110813152486821661105511913126225205141164184861891821222211551141714019011614922017117122894894524724242185233215187173124712522232198360224225225495353372492352431512221001149298248239201545349105107109205123181865019116543622376592081901241029124482144923210810971357918581582501742124612511150300672381089394110170109868721296103131115966715520045192131122215262401451572214255718331231410417016817516385219202861581131160117242178251135204138114242152001209629147254286120101951341141231311438225423513913521121183134211231581261231732512151836126115163247872432371911561092531972271771751502391014547367910127145251159592076810724923217581884324733832192082201881811838673150446425435757111163215191254105148402513159112541611792241994587631936111231662371042072212159311216051391823710971752187811312276123230206214148232230196136190431877024299231701432068712762892612395124102185255167119907922210460608624222116209186233162892116922721856157130255822002551072968512219318719124417911319314325423312825471236420915918316522298013150180215251163194175341074669471842121971532151992331833624136191171972419022641349121336480191311314473822377421510575861111428711011816152321161032331811671055337402151972012479449184812392416428240176612321269101482224160541105168851155012064233915100104142302715228271472061601932022301951971021957225151801641695336411303802342002123742819201712064321538232914776278344186114157713916018812510242542272115819519720619519778163371423537182224126196204863210270147141242129166752301082441791053122512997215101221174431861578711619230173252614423975205144248150351651023510110267101102211662512497010316417911714115245142960128193981472031201812131001412378211456154829811318920925325301521731179210624264584532306433242192134217901672411141552495818323545222601200484890972199510022211869175417718925414610677188349519010616959215418102261371162102405482721762544016824624174135249679200250732246121971524152171861171022718193541041871722231561661324161151393971515713175482702392482511145160204095623494103200921571997617323514620023912213923917220813210109188210113701366614323390247893357412841985206401531691172316032190108882917582126158382171727786314417919122117108912113121135121081211122351412141281052145623213316621725222246168151156620006166107925917426261548253161511358161399624244162102268960941101271731931123425515240015913820233721372059612937212632496130205441321249118614729616919327371951338615673210925152081245917316926802071207421951116192620818132706144134173412612011017718353771151771932539711123224280212242815722722712917311617820411217815250162104539819831601305915797552191301137723811713322323934879783121512915947684811031205170842391371798810556139254211200250186421192128487817714245686460112811851582522922741216160230130341201281028945180196185247229153129135817824423422714942127191190411378716794819220716103193108191991552492610316812715625452173561027108629161163172421401932311792132461281292011084176197199201114272063108136171736554122124302091245925396314720419233537867741106130184205615770961312511576520367912302352201331371705392029681601651201282391191332261182278919767144819214798196221199833322516023135124119304820631287618261225114621279203107153241181645033190662177574158240085163240073538951371611322519938679893214262738244411524224136668412810221717716825222321910064131232151111020550633173741023038416081675432110213246017923120246291042368023294121175232143156668824128116198334623819114717767322322231791196462801339115413524410943159799266249361642061352551982332241432924712710518225381441282281150198491635017041249110165119246622099016118721125183128796162321701219113143160351612481132142481366624201253253431212247510119117332123724018920824414424886123142227161048919202421421081172208572224109107175247236124631128248200411677161431972722010518150921032171551141819612785601921411805915565104255932129205161831619358919821316255120134202251684024920911232212554517019185318317041088124616712811440247121685109215137216109188237160229309018814014111146242192102278712816719242421572856991772471847824412614914415710129219031552531625512071012148218317916520216214471161188223225191454212921924516224622716116522168291983177392372461571802237136192613166219142568238213132191651918275511241511222284621316893742255922967182110141401501521816224178775312416712222811020516818921881251965881251128251801822472062074411831177218123212114239813212921319099150123631831371651651421319498521251631803182234248682512169881227024217120175126153205206178234213531079595179230181181107949518725021311717194891871060011771821441912413411323324968346210910823109107216232124128651201202481811071465318825422615576145203108197214221217165173169201187183118245106321781354323023120621577211172251224516218459564776207824343219922496943237471801611012081361487182063718825434100422237219217593245213931329916764219271751902372392922423723024521813996188856028225160148211879191129246190141724899192135124987131196330520722322617111188117100183751252011752392072261942001592382521221842332231742471579394188186188144115163471619524017120275637825419125112726235251021631682511169109180131706416280219248136122152231042822310716232247139192061411851272158324114312522912721991122122164234116127233231771535927509890174236239204612101262457299202193142236147226172191212551712525419911019161238240239159217157148125020423114725311023923611512322755199205422066920621312518560240143183906231461223818622621014898891211931602321721106916293851781272131651091571971272471639310219202401820613618752081711198824704515913511042249581882341727921321518213011519813918614124158141231801552271816813715416236117153181381071921961515268731701762061229228155216170216275234291535820812082501172321968081183154189311807612341294238139184209232512969512371695238170483064134243128222416415820980161233491159152152226411812362075563212394221439415493826182123742214198111174141871685617188121948311220917637221182191208107160200991721274209103162210107188212115120174154149114156689691361423208244163165880489952243186221116165316415521631291291424422926118103235137210212591752349410711613511239244053271711762846511551691150157623881021622182625226129421711699018737209832411961471491825030152171117162184228907123840152175614015191452121878036113181227661892192451021751851228790941602201661752088412489183628916546891653767179376715515158129136135120342456018011712198215242212302650491802110801779211134101932118084481412091034621004017723820449134226718641396723513171745525112871446558801082131541695992102139601422296713720026189208265221710018124382750116255721531951041851951481921411563211414721211928114816979601616788110915416253892276532049702502483312395142252108294599140110162071212816182641117824924811922023383044182110762091687582131769221412121853532716512123277249155239225981074012616812718253131803021766189132719291567564220421218412822384328624345250115767110173250115771231742611371112096161214125188148383226471811291322116710511817833239120382411481382111802401841821671073113251174242449353422318216710653131105207111198227221155103124173201227819521624220086206314312842041121905612522612923882424022470912404174911492351001812746221148128130581285845233218181920229871411926311566119156171990156112105754111031991011311981002452504210057414462109224121811961841602161461703722711908672478519519836213138175626211801651072272361703615815156381440108128115314316141134610411881179193213822519379114166218302141591075692100548722720097961661542291531741802272225473206517721372190891271422413224363160659221022228358115410220569242122049933011731591121751832211082451995189253922315416511917321713518870131913225365167120742511044240522265765138725449155158149252964824002496104251227659224323718321867248191297912064422291653415821011149866516618215955941292545101240164921141481961201172376064133224129791930437719436821509624537175255161951011982512899031116419512928429613249124117133159155239164816714425419602282556345110189151571024615818221812518217618231209139601602261839917971738919813113118517215116812415321415121720224214919811811330224720241442481010841156224939119124517497582252512082522612936317822324713341144321202471022074090012919748036228189348525218365199672411717237252208491286917413116121621566716620822710168523812813025521657721591738318214671125615953104163123245019202400119141123017610331181195246160241183172189208622422412512319115293631124202491316711297817134102121203761277551127371981201281528343056120146924187622138223165822120776121022359130821598121239240205942252004025070981511022007818920018938219158923813470167208942741156020363172132151671968310225541251679521829250194100215231589124617113323722140523721623618313349192221212551736421331281731025410017065591173498241220902393724224237161522427997924009819212821711813011732242910625491842521621057416216017368220422813118342200441041719820811822922429426559212669818019424726683119247223198181103515236591061792391682372223522414519110415214279164161711841458316014218523517023223991222362118585208632089647173341231135320174136349311230128253333016012939180113301922219191152512461092522292493316211110113892102431821662506853710111692993195684883189721846112322144203471741952116010910321221410119022419220210212125412125111109104254819219811611842532402122092112367022468112173413624247113619283214107156230117424217094110222421551491612301691321243132581407248132531460192142229110191382812814213520935343924720917111491317310210255109126168228218104193141177203215719135154254109160238255122132552431442401511571652551122252554197250111482521368453319213239111253261372189419186238163213114239177912417623792282514720019741041021261171841892362552469254165179228167109249167251202190152168253241152224100712221902142361251091851355811462237206612101461261762281714525512272638087206228109572371512285221414614879019214414515114711514815125189204251511301952031392551862201279817797219801371197515010983150163401991191761142236825314325524513221186423314319018943197016423236126301932142392141031581062062169511721417523410725121811382451281291202371661392181626815721410045179901021544825083072861077382109792111061891642221561681301241071386120160531499416066973213380184223221761225321827781151619713124916614435208822162031675514524212821263030401791621537674200570109221151111196246416004810410222713323418228335013213726245201701492312452421261639012122216019116502091191722201151881941071702181231862617821913170113170102262191188458133341277204166251171481741666872066242045512912234205531041911722219596114832285101638410023024175180284253133232159107112154161664452185768108563314085897811237193319855496152231199114987131199180192158321611581301377120344193683851189922921623518620823249941016388982179196741581298411719264991382624261249166163229118559025393134182222235101652412531352374020517204217013941126104202592371931832192231234220167420341222163872391936101895230139144152108922085315410481171561512162286696622309671332181491075082102112521927122419312016531449618619810918421219039207188432151721912082684483524496602241772082243601042012081711861689212694161242130829918646120224110119561002413526791912113015212096112219116141434315819837224163222815413811612027120039136301821002321169253164305425122411624817198124236997513118110123465227662447984561123912836126224105301521701142366494163112190214109190198109166210137382197321401244106124011317822012618220212118221856048849622214516911142516074258516522914626302301821161732067693326520710112524018445691635773181158150125802332024915217311518521921762271331341822111538281120321547010245682202331019511764225661479510315869115134651151869411515414172389418513817369312565171191031642041109006236255020611231130832441181161722262077903337314175127198079811101332310520517823424324216821712119714417524021315510719812019216853851473078741121268322921523514523120846188322071192452292422521520915910721131519511197144986108102170236240195284652157173182392416817816312112920317210217129248904195133529120916911181604383231212406491154868715094247853144648718219398189219195174144229222176229190136229254200711892251202342683531331374222461601026818522749247586724112208154241978616021442341722081571231472321292513916112812302832302422262452442242551461722241166161185642312629182821182436023220168703123158240020772622421020419013771642109586194234756064014819020615115222888105151100189146241171402724514155203396234375722212940792402497024946879252317710332196249240331941311891676511102591422668311662513525299722087510314371371918223275237732495119881129453864198121645822716202241241291072231317422512217710824615611462248193211861292221782513516224917082392166415171081161515124734231297011220470143240119109125621161013218423131203223211349651112841041192121931491457288240192161471491241831678423822420971811351988165618325301601792884832341287222180244128161181771406708716813754185253213971282041581541102321642371291472147782163058541172191818759981837020078101168106223406258136192192596621712713990208541921286524462907322462431119196154661311241042081832573121202240139115224140237193512147781552376217018324516086196947211516512810910321240128223221971281092481682218883632500301262719010822025421110818951411572392017814024922011621965253136611546521985253162149209109255232205254811553162160254149661824113510813541511183124111682033601241447043250111197872242411924719434230115171221711721191311142912392502201052557324719510323618331178141140181822097230183213202127187173255864320711210919391851811445880192252614712722525134120962131591933171811451091351429226127121254712022423337195234133117261062342321896128247771861452041252344440372092049914211374255246139127941902071341061162105126882277912721574251111091881131344227131193020615818824360961282411281001621608568801311811111912411581451901371341702142034718814021197247145167791104043121246183220718316711233154176139322488243104561762323114121311470234319524820719131238448919021519118860178569062220158461742494251238212255572271913968199652392114911922822295771942621025285169113631287617811525313246420548103133244223291054624810171217471872021262229325024719513025551882412431421881912334725319915822612716820356377261891571221705024968194471621261802112121992402113323169896019610472532272001651432468114223125199571852556016518160252139229190312212352482368623515810716225319117135198234792232362517791209207244621645168103208496025372209431169452164120021252126235120205233142236232142442551427623113138105911381261191502417219023710818575239101227166120213214751541623613241681282251291221071782621737117144128848112732910160616715577218817721691618101176212224121712281271871971111851519424245212186181165235968725369240077237213124614624875615148911431508832211959660886813912710234192127153115160457517924313817440771312142267720810472504224818121816794114863120223711514543250141194120185251721777512715810912719020548139393041182304118226162215255146976620861124542123822961953010487207852532064413678772400104460489523121295965290102628910961881061018001408791205823713771701732498342063215917225067232131119232272121411245462001311240171531775017116198179121161211108173351062151982031731351394510210640140243620812685191538318741134816092127731815793337125133102208196139141949261672116739137179244912108183751481692191541658720321430301731761914114128214159169117155169117133150212160845965996523267115671032472281556511522735234220233813422215417011310641461621331421081631181824449228248164192251141091602001061642043054801002211541052081531362113156171243215192174532491418758551672351304742072018792801062012121591742431842232793022441108732852223232221157107218154169774336232143122208292461603925211395362061112519218513617924464322325132448128202081302112392025422103232142189241129245362441332382082050391584572011201282392299603018494239133717551203160234235141237251222151323011531103569214672492219551503213215817113415789525738012824128831101464295205183511477019324510023324794492321879820814916922112273173496592618624613066991381981001412031956211413448231291327033212918793225247122343124610915722122531032610182121072262131712278417022614817022620422163419913013913880198568320022657244150577112343537542915113248196163245137170131371701642541592271629416815821317196411601262158516319366203193347570523025312138228244966724524811119251642452411385652406420524977859517572045142166722261453411596249104177249120169229761812217217724911214521712227150182136248116378124436301553420323843250128120675192128182121098812719023311618122717386223229254811411322295416249184632341505616017520816254655167158196451902197311522724622815322622541512421139819516554289592470119827249120128185819231927825447201552487184201196183761272036266154511097710155502201643319148462021215917866501052271722527329178398652292521896214012711105754224219256072626299168201143226141302460227812091481436210018813173127142892084467146248113828216113012832166216981489615119746154138202933510418316220786200113168118104247396019212421564222151241043148244722513344197177176167252317277228411501281332323513219829200691762557521921651132419312320188183128702221802441222212201473365196618380302241115325415818922371781802649176131302101242158162711680651935910151133189111166232071625022412914123897321281301957321751301281266929224182522421927721514219163236191131499710612959245342471615394138225129167424195147611374210212919778923614157182611202021242071721115279131832382151421916525186834352703510013512224011814122429909718711635247241082171033024315320519019147792113461081059718725514271002319614214028524671911766324413322116147172246157522172491852541503154971236452341611879620023570237195147137167231197111885113133153225174157884994136144192100235118924022121819359531312092252920219321996106161595234118105702382144228132239821521716126180932517622519177579618710421352391114224135996711611322012620711323121614711859631192221231941182519711715132512551092061452519234247123109612362518122321459114131138338374476444173981985047173381231292430763831191431525222839632251271212543912112877219958692162361751284673351372492461401813473226312481410831190245118110102381071351260240232225991061242291191731801912081341505713244472158681495442161111180145211212242541631841012241265924419318731235104234191249261201553233142172188119252158662261792422159164391421091015724218850471271252214342272014223713918915624021372712292421632412292192211632216914912119125123422314228219239302361651021702452023911172142229811144215481439216035695724776651931111268546210692272551581417120224816721422612710943249691152227990242190236171248251107109255579325517119824414716511371472555725215914893188413811224819221922811721120511431178517135208238484805261168010630121241742748097139131220164240196227254159441512617722011922811819920959125127251962442152277725525410518412342241121161841250195157323521647228203402131531861592065428294614130431115340243302021812520117915242177952018495171241232187106220156160381901641971573032413716423434198372972262014111819264186118911868620337531041472131361261681441651222071871621282194525420361145248392521424016063215172629451786105676012012898139219511656019294737885216322943183264118123218617087159164200131796162521811505211712420196109174248901772301301742241882091913014421112513721479562264521515011050922322161511072111479920915911121715910349144107621441072141591072101551091324612982624310512598142118921713440129651713821153216228691382267677168249911732221151811421953710217966251197702620423319121623658909712451431227381005922322452861015782246002091271572497136723413678018419212001404988100742111401781531332223593232349339432371056883153117711821269917012210916282771302124820815710352921065381237817312301281181912213041736084982211571072217212156174772625017862205862517560812294695895735116227174131895415740192961842122213564223143852161839549128223520454134204661258619313421241762161095436646531051848118919911215323714819210118619810917414221212711917489791582497257361872151246133193821792551001817583154141201602361561241211569811516622210813155522411312221682191571611832186722154124123111731061472122087981909122619222916117315123194239117134441812487721522421858130793213917723955893235218153991250651341874721850245908218132244239119132220177664624315123251223810480111824115448226129582261202212144127961702201603214083201671052078457207845724594532216723318092210108732141042072082251611955218862751754383183372144162118437302002082332012102351891086419104102234180165170553942531974354928417262183911411816422025412679361331717522812923813659157971191861943024470632342235489227217144170911269416922618811437236156981011566610128451881922159412832198157157193141174247422514015121967214559321016814172472108816058252106164121761948121923160517012481910511117423311249561910220138238180232205492231112022462115244360168248234998496131232108167422361987472238361284179272381786764809219919914534179201102016619735197150184116253571803849144169437518337691896175119172220230102139207242962442422487826825316249196128130612283410418710880125811772422521029716274871429811431167558133161284144246230211128493219313145311731141336224241364130209152133102952461520121124119692127115131236131731816247164602117818120196207281301141742301853320763242122291191262069132162144212148212231123101372101981698919024773112101119510511620010199223111101786623052641011041381395710218523513237775725014811342160233134118159418241092532123223414410220015879156673319633235201752401802327127212012823525423112551889223031176231334201632521458348502283711216481242181841321057239177138571101831432237017124111253122988239262461501652471711662381681951841943120215823512621711664198441320226302521792175113019825018713334143181522372542117813512716422184318780249192151624522424148671312109110923067128122295319331041381519622664721103454166136438738124249811271733822512172192531922412656196192090223114552418152403315224118213170219141921401833152217113216442305123521699246779573062665229243222542730961984316122083721812720261352856134217621712721811423911380129193214131701201049962552191171969815249184112205121125126851654824084252015330181521096310818623716024121431349613110925111718323721521912619296199651102502191523211122116718310115911024462189232253192061619524823788237621342142369879216239612381842311522031582274618714215242381442518877238237205428615814216112312418312723417922912815015317922075239651461739025325015453175753725165207344251347819424179230129952542421512524720725522812016113514330221127144146156252193187568918511710716027101272318472871585117306910721789104169401815421283591041442431923111214192190239237736017752154249252872312179216222828120113245752202732245151722254116822424587222124239237152141731662324992250243917323120076198321686942731451808015016224291175189169163174237982312017241501451121051641711791671651826914411924663254110871481391511311341852067103120851132237851981511621168153236193146731271587110157141201178694147592423821615225595119717511124423124411126215812424761212551833625411223419169382541152002072461556921918923316571107147109927544129316122122315158255661121110189218957711320124820057132115194209176247175139127126175235103151232542461182352099123795447925525124212425217519011224910453535019233232240271712282228935332217114111410195239185223245207556971102107118788513479872482078412020414859205871862068718514121218116164233137409602416037532285312841002012341281291425210972168788211180396012820250251142200127185431569602142314111617822011016623018821200214686016021015016157144111430244448129224152173182951621021818916310115029871161006032741033611297992452492451019512592250213230218139122117916685103131471262502541433522812617791174338111918420011318019610518420012616820010216820810616819211418419213066135217212242176225661190158140173771981137431451651692112261992017422157250179181142183197628023735165230215263319915712911151314211200849020482371751811841297381073660489123918421222662732351991451307234931981291204630301921991651021515620610418521741923832131822002201052431552318612221531191026716310721495821697380203841531671072462315320721418522210624312720819118159214151438173207389133108264418230451831311022642181129134134206134168264518316797247156188480144023366163215100181191422640178132182198129216123189197247869132100224098178218251331731841375719810419215718010517343218193225119596603147213174215154124712032913574108712021923521791616822413440112742247460161678812211811521712113323012189249703126512112718521623655902335282233569222520891962091571031381504110216015910219215128671285216425111605423230741926131201741781411041901633811148140409316762812142121169201724484511223025412923310610396082305132243151281014473920421318414215121624610215524492532382034929421761921956921042131481641449133010479215237207165652431255770109252181622024518284779073357711480202149241030242182841311310248869148172138393145212384015209122323312101131881284913015210248168149602401209625184173103125138782012152421019543841588321584156151199451318504222614912072494813467206801452116816712137951517223925419113371642411968225508212819664120523563881044984108498472151212472132522081062061119813132114043610519787159212199431612061204177164300147131713411771051491921141072632361121521007513422735197195130224633411418722924152301521208321721013612171341124511014312266217761722098218364248227190240199148143134221235101972431371991784969163421421746210421561943724522221151282326417785791902530660216019825365111367264118157239226111112191582291291497412213317796115945148722372118615614818920436101267189251231239239185160151411239413516714618921018222154164892536176114201183632331510112055120127862614213024111155143571061771124641391481532371641971371054521507120221547676721921201281023569222116251173212911810423670552001071272625379129197791806224971561527363621933198017815420011525501402421082442091992063332423837021642411911032291872173722036250176205947267200238470391922469159173239216248190110230241182149207251246254961287730225154331875418613511330647055341502351231561691382555424019213514211221452513249332321451143014424713822894223717618976137503014420020814721425222952127189205116638215865185213158191721786824225485243055462262515176119252180140017383198222317922213920366139145115144183218123148214349613466199671039643168195121641142382231107946885166171199162174101871841152138301181771842148251422265526309622713386721992111241632072961892511682451581638617719944246291792161271561225110177719718021089446516022917499225914388237581021792323114204592271202241489923691992217193247282431365798271887523817377361869425422424514115415410220638146211112416420070124188178118451482072031717214665952091123085821139414021114212760152408723610721517425323711112720325524220012022447861041201651732161923255239223126245234752081201963501894381185181974351156515701742544723187249201812142027425519211595391792391231479249362488215057125226121912323586191018520712002432185596067163252871739339916121881242291252283110160192551263310069252351775217170238717583222164116242211992552481471916318012322363252248111143286010416416316518024116320531189253234901221228031272342274913021419935197171912123669138114100120158219271072282448554156136141202772522138011523015717716221919521717351914414259113225103209393512194442235524812823027221188142941086717867163163111104252343119849128271166322859154376519115412241281825410043189371512432452222351092551131632452355681271271792292039110963951625319118817915926108160622353200173691351771611712417822241932231082099423825224722925415963236248108177541221744212019020211917721810719020211718620411316221612648199188618513551619157215731963166722058210180321521861792441867279131710418816122261636321522897718691481421977292252131219230107220261985137732101216106801963233224120112033814214534511681441859016714582111131663813515471685850194413315411155202127255732332395411227131554789851575110877183155174102362011822372031812544176237201543143165201702016314410362921042011953719989156055182232181192015239321611217245150754245169170125249702152622119231442421953710211137811511714225319719864130169905915814612716021826604887239568610157832311121731971251882181181641941061612011091742221211722101221741931011772011091722021021822221211692131079023256411761912092269780270542301322061951971501621167797146501724615321015011645136242155173441461818616763106011275280896390972231181971604985147164511923821118117480249161481651919515217132588321033211166022497170198101741286280962417225133722416824142711742481112102021931296413325466139174281918012249512554812374181522056671321615543714522768149203661311516321914112921976173596220621412122218779215184131742366032153006602361391902192949932312171451072188710818136246191211212816112812920929128115621216319072244191441282111051973514810766941302014121842116422118538215154125110176101101548318116011633244232346016024213513917324922016316316518220825372167170156128101281144015421607625455620815199210152168214125217112101038110655941065590108211154170451861645714815501646550176193124179214522051986821113170703991891560192226713671521156418333151180186501811871791162411726261818839199244781238233212126341291993913124417724166932251842143250183461432361541692431741871647760112861292523231193111138851131382123154151125189177181866073211192259016324711722361377223156162201215391981371472411202261673471009913536241196232122102064313413113310817680161571581741932179171642491029611772255218184396019219911161681121103512241432232367614935126292118511880255195691022111491822484920684219951751191579946212419614311619019823390157271742777190196140243128569317124114623410416924513120696114118017653240472243222512962240642071260225205514611194147160140235802521871437512719165152168130712152349613753192014013814335101182147215127226642521319321198311990155108236185245718412815013823663202248337910511916911310147197021025082163143821292062461781481541461492402022812120832282596226942142547414718244249221488053206154320012971915510825122010423510319891113224171242281392217965681461211354489104118582461562330912162154124911013111813513013514223113015827227129224151571316311414249200137166712515138951387847119834314115117922621181621021294239216208186423991251125983116419322370144240120632101521001891116419131451031981202249923132254178159668283214211172163187331332501614153130119161167212812127193155723212023275324311581871301770025524473686584255179217438263106636839151161200224881371214974821482039664861352039213724625322319332522376213934968402496139139209178957915601088016223181182788362411131983442162471871595019112225218620119219222522423501631897946230832541198318050499612817371118220102207812196119910461509620416183214135105123014910212313615060115567617177592242359879217227272416913519011260244133312096239113199152207931181242301892351521112041451312218211417112184228203114171223902511983911423532159144127992454272381383323017013715592491151201282517941242411971152312062411916025532541292127120224228177227188111124214321687316923422989217892242016868186872382481672511513163961737212064186624072361232211581726319225239919599254621802421922618518122412918152521361503014722132118143248731736615823714669156310712712152401391781506930191243218911985813490202234175173123249149532489420113493120116949335247238203107956713516420719504881131427482082207361992011091202511739317336915313721570218167186421794725225387632232411392273014514239152172151831228950227161588462140231671983239339369193199124201611865253243106482383164225155171362512459182245175202253120191213120227175239246125125672521271111822543244253189174127462505820294141702211331275872431416389156352402242201431881511871272531682431671196871752151091918627499122551872256291225501461112211191971804319516045857115616221315017022115016225314012764156162222158701071811910123220820897227620425331081091211362362512482471874712215323015422070235102456846213123117102234211481045418186331583456251520812438180218811376911118225496161201120185245641617375154154486530726419319610042141151148235147104161836515610693130161402051663320976148106117173621166524568522549144154217615616811230401763042132212179291612012304114024617319595106242241663121382086415789122162201178113890831785017219119224816620023586171247120133245681652138211228181227641379113218231425115517217789104114615240187081822159022038192322915079120160309015632971822062491021551521696702321361021271241171331296621118276157218120197170111551714720213171968958195165214523163451951802538111141592242091955221823117033120160579318717519215611612713123164145851091627424918577195180401291516460180621432812823819971168106321192016213813410123891621715422495232653198219132341353015717270183296421241601414196199193982351939821924912223919770223177101672716206221140621307110139131145111762131691841608811878158120328323990139631484944912016045219681242131041742092431221712231891103016711819113934714418521117140110128127581791411968912224515121275190909511312651250357136110195176183468116533731097022423624421781302222942182218128416617115716216524027240193542001921441531741162921215614723920021215917311861214022714474199222108147238437021620386401639614622534139149890778125152568514798980116186514112601332211535825321763551663524916618023894146902375197246203134559025215113511822433127196226167193315216226311958195238245686130220494524410672213456117188781479841871578717456167801176596001442271751981132505153174192152154193402054119672039782468425212819624812416322412919836536294853123114761927518474195197862082291281182152128697116614126155228341362192044864501001681347715136567111319844138192228799178194102162220106164216156230255451770274410157411641842021472128194691611112006317122210867216641422416418217168641481662091209119202105185631141211618663146120963222617121620014422560641920624671225931175116104184164811176512074816801551241281585819832211851662241601566716518251117302159131751392238482141222082369255126602073501471372541492467629110921606399921631471841030192376221525312721621633362323715425414317616719013929782292121301642917815718865198321963724128712010173175231218063242160652449712422831381721182111683317419710528255190471216315107423882244136254196332481952167134002393151566724898198200191239825116312119249871125228242047171612283516130125161906620110327136692221396182227168102481412622622713922217724112520720615480251192193159473917229182710618162223106207113221136216773018010713191168782489410754232311231318328841316037814812418332111179151701512055520218062151251220184132371334220916925559109133127641384188228791781032625511153148134014332461482219496192109931129105425178218236103203297220561347817811721128246159113622401332051421635812659212221163180601832321201092132412201622352510923831227281261925124280192214207661821261661072241961346624024716736240152790822316954161144761821136751741218511422715363108801515613254217124163103207158149252233249193182111182292472392201411381362241259175581525423417711613144102134932325710124822215121417325425019112635105133990542178760253452231952462231822491205747175641261793425018210224521853171215173383912810010023221129214159698225248246129223166103236191217100245216124163252181614921824063124434589199150549120315010722419822408810552371785150302452422181811111882421621651692252391272512396912115125524363126121120255118877179119222194115248100195512021638864351041351731331881014344158961361261341791811131541332442312075522351022481620419218874017721589243219159133245215253118182243194157225212187195411951172552094724812716925512119676229117180137705684188701391138018452236535417321023015122846255107224982371539113159462137045101302217112510243921032021561667523771243441225113598211758829621814873213105724164104210123211201983151522188218064112371055815789250237251861622020516610024518642292506821971881464077107150132391581711179516824318821522178601762371261231049515812112521313216198432153716852381691821661072462302613221541423155671307223025318816221912189167376969112126679325223019836197150208581170186196825290821812614753155831172614621315583527175291025222211851582272294683149174227101142675214518546215235603920223613510441341145971312492088121822460208159107220151672061144121803222416462811798291701251691532142715817018218745246153182161321155455418620691571602272411131901931011882181021781981418311201888108118159162161315191662472075518414285218204214578197181237180208241704352189235116173227205862392352053019510122189570935761091511171558221352411013012024918243122211181782471861121611042214640230219237652082081113158511815220212717019851621911752082130169392072016212719022237418646731812501301946417721206031411321482192155542015427186314174134741091921820173916575221214988183102234113201513124815821186131716642061041271782189223117824175114683170202237199432939170156230271882482871183218130385174141412181491131382292312284322720901792442411412038019812581168381901082081541651351661123455197126144131761766381101294618821323063411122640182192185215364021389616016318220325019213782326022441039029167128167548061282161332081591701141301162301791222110824115516911323320351195946011172161134199432361939831491422082531442062535716675139417985206147229147225117426311319913910923180821065994108569112332231531691118423720616225114200631446581491578918661874019441432021001532458413320511212941741962332181202062747105768458612361419030141333016089149200811121915523413456104182193123172202181592237415216419797160140701320117524015108406318717724218812419537245193341121726711117441917176372325112811851124017118520082246219225134604864198322121719819519754353764220314582235209821719154820018223117012311299041157222613723316323174212117891431521852121061841448610314248233201214199471772511703088157195912002086293105135951621819653161248125214217814549215521651687713173636192168160255915602361316960301361262082311319139252651111969213110312318297771627421718514116510355214384021117216324452902262148344161243230125160250101992414223122550251158124139174921791421081925411120019308816917697207136254111519394881206141487211562281364311414811216111118525124228383114625418820148128385146246129678821386166372109679173157172231851432520372151825422034256519619122125220114868199451191591762166911216710667253831206424497189200358225251117971725113162141531086713514313142362461279241762191518512463719864219115715515619562971112446398211128210201621412931129792191137725412014718212022435251192247109253215187132105423911598079246125129212108231811481242261825017414122391866211191251124196102222501962156652431291061331461270186314146141192916014210220046921182063184502346559193342254219112185108987958282240172241631781307190209254151225123312025122001201281181736035899410279157230159127202207181207141902301532114915914820312096478210224824123202158165116215246159182571121542102113427109191255180227190511824919954216250203189173442472261221851171592001732537211020513511417163144123832331251212111320222138234214422621423918817120211620943107228949545247202901782389208482024185516419824320810892712613577181371871062131147144170123231157119469519044249211243671102071692341557555188611046630244143191231230231667941062521095831120673913077126227391331858736205612392224822218323115412522217524224315925598237902201812131267296351492411921157010341203253121279331102160612401281256125331431935228419370150951191195124772521941749418123417355951191141802211863712421517423245916610910876223124118225216913189931871546667312164981205833211811553519323021522976148214891681899617217620278251138716315125517524912029852241498123735718525333587752556022111324125064202661112268021111117920630581852191941992501251492471052255196011515614517347518925156192521739411018711425215823216718323515458442058724820487185207150592061482187922901594532337821137187220923876209225382271291822090130128153418371071821301021011790833316919332616402084618123149161209332151101372521115425122110424612721625177601817922019618410019542725277671781704093179392151121602002015412318421614024364215101291132613224105768410878867070148162198841542296160538533127811586181164202120192113166218107164216105176208126172212105180216126184192122170220113161198109188212150381479717743121230253185192019238282329913919672435317582531554716953384133192013913174227212145153142183904114412838141061161592358131221665141391411101624712812915358167225504021107200253169261232421552186205551861624212215422019842173199171108150681582159060166107291506894200122015518294214170191164210156174891277318154651773521996182206245971112162422401502292251731432511632381164223162499510716287254108220142741245261512332687104122811940236197704724001641002135133222124115625285015480161193191497120223718415196202615419737143178211272091947617323528911612847120602062225516218324210814998141556228118913215423445482317712138170292412116020124203771132241201658393146702295713313811524252123102150222181381111545112610423520586127104187150116109521201876124078713220225242644911981121162239119135224172187243140278321364681762341391551933226203108162161122143177741351741082272021151551074640142150218146635230152122090326385777211217319310726147176128129198013093353754286166249120161421312960179271416211521511534216716558207177661712061161892011818769129235100137205104129121791503069194100232116101232118103234118208981005815671281391762381716163371803221564158113123387411668169154232852056916522260139155173521481331503710211513612361431902131750892352221459986155172851188616122817120521311342181926855219114413848811893894165226188601440600171137872382025466207571522414523072192832528210622723339131317820569197103120160621372208270779387141646818420641302095023549230221554218327204511097886173101111481311324211721024166963193185771602641421407962483718159221323518616259921005414411152926851283220127185131266593151245652192080117479215212532225248211181230234921517165254129193722254240132730244134632361431242083112117555252126111248146216127168194174416718724422019822622317572172261291939921720338194226241196120246122242205134752371021331589921781732525013013918414013825295144231120128201122721986321018494151282031218156167220128148153232135401512294536121739845921713825014810341526155222166443227952021233451217716715874891305697235103144251381082142092133419920411880681316247248222246153233118116227184245222831471272281202321995212440230184105212975323923727153431281341517737522218115120313193668124812919511524132232303422424620494941591731172401296722412221511224516093232164253129472371525220038246522501691718027952531501492472722302391761977160251551841333416326176292152052542242322411565968631734110223939411033585112209128722063160207121224160132718466101218841304502120322941251471822239643228236951512412472501321501231149412721616423119717519813854255201232341226299207946410520121125419122002421886591240051100248129246720772157371214219248201125162352471862277624126837414452922176717697123113213106254170244213181114175175163244101104453818310053185652272011962291192111445030881117403916716216282858537249211243671102071692342492178955238711691815024306355241950126182791201281897416720519321418217316510124933107142551872101902472371851028719693802502322092422061522211072151891841225391841419114164602431411989423412719927249205272471514411309660641213824473235115022418019210917343010419218431612061882432141554274101704224223919013110314954238209192246214968715914881212624414021073661602431351231951711142091586191250201150243191220147248171221241255178352535517721795127150245951352542371802231411951392051144811918915125511015918932253391571011912810925210666208712324531119716910912414124027302531512165534229361281481470242120142638835247197118197145146991832714322317022351912305983230497120611351699818720992139158121251432046316021115374246188127160538917937731633789671962301051051341182251139651879284181651054721212380240232192214199612092031899115113511862234137304311916813511818516019223178105728619165105245228241520152142115365118244231262461022112121591921282307542291539020019558961802281531436261417774331810473131902151041401515920621312024722990183103261522891152366183891421512085224335133861312492301631975219710095182731111824913122102158129158171134164996122401284069291091385118016025411113818823013278013125129195141227922839431091755318420521458162112174206249122139772961742221211742221011842860961812088161108716114366176193721852121225598179251120149237164192238701715514651021772012913524422827182100106822655111471482746169262227617243143110913013612221627113175512441342001431072504112910018463842451201492271201653514391902191712663230721612252216761680153206169041206336254164018924515716811826676865965105213371711371792443917015617455251240241665622205162771621191164247369192302482344115281631620212109661698377541452091412141281451141352184213242179144182196316013916522952261291934523217924601441611314718621117116187452249779401527703920322228951112462342025317077849878181331382432757151284240215622323828147170243196314714914214420323789250120180196251862531841677625067119514471596021248897186218121182198117190198131191914173291885882100539296579322512019968023360832381201732141251821941131641921622471386571154861191503017213117365214133763877661381351350186229146218801292498416529244113991468224337856918612022419331621162211692655114172081810818010221422123824091291072352116310692153243742132411067716912210989198226442272147635113150812511019981134158488118150783048801981441603785171472071802271781781442430141209819811719113274660205322814516314569213231229241177592192448641901481142192411021923310613513710219169742512011059224777722010288451191192841602042491411812354112061091681874015541661691208912151201281502272004919241247922132745543144486524912025126771981472118219513323020463641913532112615529891861731962461981192183401402472030224145196821234302321391202082393121761241961241478712314211322969133146223175199512238221664174915815617428996031207412324220461381721674174673711820510518664801131503325115122815525239223225520938145254116447518516231133102591438817492417615412989238150172105128148123121201581912001518513111330224129200172772022001521801931514530248212712541411885191822424924792001231332534115696155132192001641920781762183149442092262461237859198156501163164226189237191662541612212231812431272032062392919964103311234251192233217233134254409181153160194158862712817311992111413918122111968813020253652238425311919010523324517013723591869423921825010824216021962116122162323013413915101111181247417414990224142247236124223178242148247138196213225519225421118432582251238122111411362292271331841030194148215129145721492322242138412551669343229236951676116121051352171536211910178252138114201891274724676227220868614418216752063503524966017615169272278824291441636412294204177191232024924618024322221111891631831259962520171239181731022516011017160108232245161138245218183213216140139921319018090238205117114111190322472189057154148102132271233155801424207200202239443513171217134188161161161723614625223324933183231842459625512818917329186180110212042106349164602072061502352181671209620720661215231174831071516420517424418124239219115205202120224331556218118718322320019614012262422499112184234254118302481911022612718724170145501830174245582245122481588301573121126622414417610161319995228972810819571101311927322464911622414124377250698023117195146915171530192195234164247110126252791961971914418812017636971119323025420921831451382552411542482552201042552151451701592141672911076255188167224199322963271722522312542021272517254215149255250204942355964911932208871794722927186462249422384919230149552292542451681101192462461771942001532421442416623123318167133741511855013520134155193171389382231024972412721203285234313223129102432432811895773189229181930501081881641024102497106933124613463236141188219171261755124211323918213561911021066123447105846614836170192261465390821171871751541222815313231526511220891201171122237153901391022412962823612240129462331861722151531651991451283423652169234205411067715121270741082311332223554109153134353711822710114253572222737208158144107661447854111220115133480826134616199192320812420520110610411832223228901632192453824723310625124110235169106592331406411852791041812923112919738183105161227921311124302166424495107381852239510050912391254244118315617217771514085217802411317121514014460922412121117483109201801757716421713218624314017518312014712626142134120186219251161891971351872322263313933190161176239180767856721117981611821241301602255091811023831232471784666419695992031446517231514415317011311812149886724424722152551671052133716966931611255275130592151001642201453151681261831961754552233161902612323120978173235104133611901041762161702371786511119057250647528822119212754525419516524613013942101951114663187185507865148169752411525381143250342091478654354223510919214688416112187221312311201754324134204921899187174972533714923413924222416294168253104591134254160147125522208220801921151811101442512082021201982401162452291531920093641152332081405819537146161684819219266157199130208125170194161619318325416217840596105488698179321125122201722471908123153156103222119213168155222921129202512920453233201987514310150236100331971287960421118146115219921484532406471227781218151107210150169871511609015916420987961216728681611741955915071118222106152332025117518616892147164209158996282225608923762862255092234827175116251711122342051831047421317013883402511226741236247235107464218216410413010961567184241601351292311210624641030192941442109616121372169205321581479820313774187225181642461791812062987244414425423542152248295216927560176891121261252371331415323155212392003197392021731923671331666751081216263228314052299611147141151901307381521271284613014879024115133672719120216198203711899714614566131814414615223023146178651961951902001352538148206314319314123712925337861941001818222616277120621291931853877105901091084161606614141154221185102131197182192128166841571581241148242551672288930120782382555562451371483143537821823720622918476190115197207518612310423614417213287147811941871762472505258725846136124222182178684782501248245141168992101456624418946214525015816612162181135105138161163166591421462381036304822011488632421601101961261898124221651634515915411071127112442055019638295810919124714021115851246597926702884244217250177514590122012541501732395914123959612622820012132120165127641812444213250223962203924020471622211441492471231181102229112846128114237232140972449712420910716611017515518719110522924913775481521018128111223816133184176208253315851307563911216513611130171183217431141319116886232110230313212721401161647613417420025249246140162253107180167120224185189127851984662501273212612824312822183606424557331602201262397323118916792247158118221125202992072520793167611181562442181132101232199207168207931309820528665417190172123233992461982431815311417517514912324551858794144123121299110064202380712231515172891791345910236236236250250250361271221262001411712342119418618517720164791593130230228601922071411057720119921239185732001781791452512492071262069112011623914516420525581301841461572432145906018553235941482400821227725519524101871042441604819569350224123218712260133737322489308818310221320347174123129166641461162411539422635107921141424817423228862011965818216711811382449552230253602311081082542491571942043385103222192542071411742551832122412397515719189234248207235109191189211115254782071335241215125212552501871911117780224772011891898623820521324414712817332031767817510120650251532691012112051142312710221515618218115579617220823604885236489123056851085915699214147161223153170751232294119618942282888225311041492497461455337169553910752381696514564172641785238171798559179211151311111376723811768220239138122216291251795316825317017244171224162984516412903230483012820844523142148242641341029318812483178114111142652152115717420358163715789186521383481443822512913410016133101209618421610217720610316820818235203104180196110180216174231138201112161245108181113622464158249961905172631992010803012814812912946208321003112016013786702113043149769588110531551701781471732448832270662445179156169117156173115134250159171119134226711026696183362426833480168020963829753113210411225461792442181160322276151193182431371062191906619652521661701127524115533133103235923124413246143109135120186223211241732171231882101611431372541374271232117200250155173254802551442151623812484152285022812071182811151865423111043816810340245185581511417212123661332276462431455675151694067711521682101541651351509090124193272378712651110414467200921575977245152103101381922221337047326519985195214761061226140230127100179154503024027421771992844625325316617817555851581511117321570633124613263232146783232301426620177177631762317017123914613621015598191107205944015317411723820253106742119613113386422275418193209199247222105151941291842677415210210294232628266131205160125592092313443142496011222048313932272061267784231578322921212519716600942371909852941065583225569410851932384814611121715616821420175130712624488296142720054238187106216158174221146172668491223907685216931112401521741801077719511517422015316567113180571981732066160130211111762133017511818521529241104962032422082462710919317315113591703371187522614416521422413742183254662191619812325150331927853920221231129821554220610917014235652072319192413356271801662356422924315914944149193014025174113104892168174108227222602111741081951901241932193801451971001492539217375111158177486581161991200641268115824119213421818414153113271292231251851341248281240031182736323219117055821085488128311482338813751181411519013822521283323118820337117811707071150238156208133220925294136152534302241133548264719612422206311219155296112183591167423238202210431631442261313013974192726011414116915448601742488222946181274111501513619311721248932482401277419053158248143521742189728672133211186961824642025128122484219492253115153206135122011041198432031421332411021011211102487023340321039321021441023631253017612125100157681111134412036119615121025031781049310020411930512222501536521233801297856168131989140105253507377219216511425119042188198281999412117510416824611916021810925322218224716710513372253243233134661002111361516323331107123610413483911271801632321892161225145124824471511201524619010223025416613323125124620521882225346032239211377511131593136271802013515620768164291827132962076611112655412370124228201682617629119129239847737311018125472532487125632281752198925455116245143225117883246251785114710115815232462385710531115220126231492312213922124715824114025321010322314312499191244221243692001903113523862191624916915799216393110613178617720012953114471739124524221885475096819814814376125193158145103223972274812820520320310712412492242167231135220184170943317243742031482282121417313436125134715848055941942533471912407411466501111291022422610925417660322193062122116235206157159255226231722512082552351642541150178194311021951652252314421717923240259924240148127017613616310418021110612280248184321051556854252354714516517623229861911941941332231002214883124572259514233915661521210028238426321347564922224816320116615978542531081702291591341072551187024447215187190154108252109214111622232381702539139221352261352147181122464937201401771381981449183020577196281716825227188166244432472307517415725118671211421110114191971501632491661955719818915312214425493105186481301104121411019116421311373187775018516776020286411261863208150166357420921864202212662299584221964155381057911602381197022223713612020829189601762276579244125102992146181923422910322910722685132137267722412910813965168165662772118104139238431222265211724005210501628485811381061123614626100135204322261331082301962148414122566171121129251801901172471011919219280129852072116322566203571292038413335275068600482322031611812011602311861752081362311742031221041048192102582101541721769310811215717018210114711612251192031536824135314211181142163218651661991074498241823624215417411796227133921841270144176208232541013216817618622222697223247542372042091995214170778417219018489148169189216228201223148674222123914190412461571718666112247230211178196162201442122082201442455212416822299164140150290151922501020491501162341472132341462133243171226228161188161254391711578025135802521131691097919025164124831548611515454196186567531684990110736184411402118093214199461642378712322231558253105121191341413218206516731036931853832132225509111617219120014625215180450205801326685620018417817927331091135624622223512185211117236132238137161172358121113531921811029210792282312722022266116610715758179132341468512812123154841562238012112699251851312496795214422417117613521651069410724015417211620165105673114755160216186552151481875801908023119601812816128136719721413210101521871041031666212064156166141135100166210105174218101170212126322191803773189242191214872531101252535165150682451421162211741225315844195190437022684114251372115271138441531031921051781303410465164602442815620814516572012221441649411581891521646284106127167511401325218182212262161501094419010612467281886028330232201183170185168861256585152168137103941521682221127317946731332135139862539143107141492071496115272246012814810356921212619152404969407152242401422036184502212177025324916635378699101541472046348861102111461668111565942343188201327234165604886106498412822313612679182254961904910145314168114712701235715122281555018321862382075365953364211910327208961611532212033591301569451569612813612044816012436473387216161339163116104235163129232135253145552191312501391734920216512014412842417420510590093602165215586161515816573111320248115176216118742241181892171432558324215712164601761492295016514993137601921811901212041471661567100351211442421816416824077701751741591771492115847231131148240165188154358701291709162149241391922410217813531431721363416010120024435152341792121122039724013120530168174472840180247201701051332362212281724912999169664194312418549199160143926624912834946646130103228254319964258602241255990777213127395810219123218225224143062325112822829272235544602231772412492165724819151962321268012970112124616677236739244025424723612497200224821441962201272615166193592341257127192317497480251352242242129672041586824255496369694225752522552372074820632361251911327100382271150126359240661352162111421771679398207184237251194117239105151221399311915711422312521811521510517515283254187207128718223825311411923614315623613087201189206121962918023817015110123588125191603221919419419422222224010323113515210811622919885245138239188156145249225251239131410022713396216152250167129465022760192799511317916216017870210132123254135120224193195135243139112251451451722272323218620160313248020922319525325035551241919112820416831127192164603211421442400191196721592301291115423613318919210222215188197362512511141141901022392542382391317419151812215624107248155225186147293772341752361064325018017523484872331771692301592071372552371511991082122223211314316322297135163157151165412753416621517212612920518059612099149132754172149251237251711982288022551872306821122220322147371189952303871325017523224710023211716626244136721648332246525137109240645915511414817363321319832622412920644131182116221198681542114513105966014417251392446644152389230138893021913920416325410914325118320510189155821161933213113740324064791742131121452531121452936591488610315054132047284172139223921191135182225133771941115513323229235462109810380301411374280108200215197431801651472121554211926411802946176153173114157173114254217628421609230251115205250178771341646020815911291951317128946235652021604181138587423010615610210740729617820222604845176730112306413419915769236332531352034516710623624910399149214215154613817023712224214112810115204450726422556141231781873324615820216183103235182952131057387111728129405413538126216191866016249176552367871326278215587984577691562492191199121363150104321690112382316417753233242211517422723547169111478410573505410337234641425125512871801239913870722890161691191747311917441723144482031663469181219237651082143259806871182145408387148161342641342523442280213803177331431952411651041411566665523666223112566891572723381113110511901795113171452401021071928013777451853511616710715617418312073121025207235205941281100102132462378724552411022923154148159919511824614723411155123114022981772092723116792197701949211124494106242233201491292222372035127421822642178130244314418042720489210210792163248823185163386015610521823723380240202231309163891106389102639523717840112294717823318910841722137105116164233529484169614347603914314322115325022411131701021031502226415841155175147862251653324225584071519226147401441895183327316322514686119190197921632471259051107251237142208145101992094216791299724712216223155112412815482245170206171148254941582171022388141631839600421623864802471580134691764244227106424111512321463192226137819411714237418561203044212155107230244617723620355254450159191867687591189221417114171112241121164224129264115482551281935691126241381912351381102078561128123113063030641666321516602081591071303117210238432085127617013987236184172187212226189601909912156250241803616822412631174642002271932007103198614361623015683318422123591352212381230173116104762111945118224154128114241108112401231911641421031781352144218228171112188222236151872142281192392192143512322216025112184465525486942379198231136144192012210196571473202164249191512821281210019811121614911322414715367165492022482222262235137164123220120291021461377110122313654101228961812511322291741912411433263520125241629514313192261471124189711651101322071931216816019190795944221929618123513222115821178251191180139165233134807735104247702472002471571302161203314623920776552442312420911881272240174173223199206331061492489419967632301774218972512402122412955446062112240715061441292141991651922496622323570196218222971391512331792136281412692483246219246190189312342356923835532078653612220124425315920232557519814253474999822524224218181849164198312379581961581141322442231192021119542241970207216352211192181052232550240192222211110123207184239253130121919024421711521847230100216158512192462551962144192785015325117152191208422167510861511912015236218181235206157592481791793440246473316215921918417094241859525321523994126172421523120116396159168761048354846810252201582371512432432462729984314597147181185210190247237911541971171232482481451841639387951272055889923430243152082171722509712101552442101132272502541557720243220208870024521198242186759236162243671441741089598120709516216214624516022541542238412620578111245319323463591088514712611418023822313510625467148247243210248193723143215166255522251511877724966991233100192381907216314386195042201431762505252162142011731211293875376326261991431671852421796518123611064688212197235119100247720911432282524793214237205210233742152387421122521415374193352881362411282046319235716425411311317054966414816221315616494159160761113147401020643539321015723250161512199721689696251227129237961319110922529217222123114943206439226412121785522312216421210518419616163223170235138815913210513812283178746713034481605414170101195522821725019922411011389172821711438723820413094177254317715740181135205845820711927113817224848335416114425247154851312045123720516625813224218646836011310717062022210417722982163199841812211201332459217319144060112173193141603851822152622106224129233261352175816720910432400155902121221802102696488723960821101812082321181891973153241106219121547081349316321214173151181681515321911524413443172239116645143109352175216249160391167322861852275692102539422911218921777425312217947100611325314120106242158165576729250102046521631081492261501162371665217319884205250100245154120165138115155154211180248243013611748671591951213248223224960641795590253209382126013371872201051570253133617525122197208223168131471862232118621222611211424563812371326720822401281882252081001801184426412160622506150224113209184127961701982491342001191772091795119916825016212471182156135171127226123028641021822061171742221091822061651352302382175778466101321210129982032734127124532505737112129566106462141232912211577161152691052182212171982241291371072644196168961722041484192166222183654161210023212941923931511319975108392032970138172167202236235110552341881502346016720323639741081672022918617812106207438425411012593156822392138115193165151245902111811544781128749917810693201491723391149273128147189164467421510574213174792142038169139175261431192238247684615109191211251181713513245842825416039234971112441381224681491071111908511119051211916739223180432152421516723713830249103178244219502451962518628310061851911861441271427184127641612422367025205946235211741006922676920662081579983018421422449912272201218595241753218417698611511311520519777213113271061456379602081559948921001983471213248200163825011412136715212796164216283125150170141724276642122002272313741117321324411791902152144153661061002031311901762493814313726199732521603623044179137901672176183133102175185381432251091811501109314642452032402456104618668155411223961282311885777772018184209102181212412823520418211122914102815014220063108192720251361112365096511231741684193632812542441523115865202181629139152100186123120571751267354311619111692208150131250812232872160191901511551182163016418816134101242001615589813421420818935224919916117045248963390116140226108013093198121864812214571926122177144339013656961882375120315719910899785623657993125113322911013823569291012552931187135191239187621114021876618419199231255161179116186332461302557925473649261131321951292511190120125228241081842294895211932332407920810321255291119012217321118312720720611918991814422435231192205158179016112311237333717219232400566545112391745131291642566171149193152511291981765211751211281471921192301230252489550112232175220164761971212242016915098128453312011251742542924715711421811920217371234114024706012819511051771672368118424714851120962232323825119024021624716523912931123237622291792436824017483171877923515312151301201472020942134420851225196145128139961536514325389278422314535713061122132635963168127128752341671912401592542251031888756732515961471387888024212486762511052193112322420677226257310717815010124618911179552031751552362349320119025021827801791461411325901351901924252176601282371211892541411982928212316225410515124416321280975355236229237203190133221565713624523152136127133141292262392489720823823920120157170201253250768024124915925210815916717921820354242171298594831251532821920841287312112815068887101281353125015924319213910869414820810434180255225901853123780161036853365887157551067454234205541554018226202532322052102342062082367621323672651702131531662131452991581291002171203390112128191821091333319525231735218466189921028341371646144647314817063452401882113012617953248707522422114217625118092235150229209612471871831415058213165232841991711297268324425024210919842921357515712224317221847271392112456841261087619110635100651305024128471593618816020819221463110788619165104543910552361682461761132251636921421121142144125802551281250962156815329481281211210491301612115232152238432506120827681419215815415342135155459460840234159243192821797622380178801992302717311312820831171180153174117160161652186998554215691585111778131371021242517822511475240024614151891924025418421416161711836277165175196244118873216916524123720319592382471346622798459140148911438521620610332321251111826220187220110114242201101115410123561401482192412133144129208135250135248134654211369142122446113262201241031822416417721154909843249210724665672642392452356011017625220586127212159168114466160388421312841442241086633103100112449027451837191689617621610617219430133482400122569423332763613199951175516710720722420686211524517422620358852441782231167023250952391412184209138175327114214014821912149130169156198171236145105205210223812915411381605522323615056144130792181312081592462036162842371971221751071394144251157871221718711517317417170192030484881225812036521671061179254641665521514036423985993080629010861891106387229609122511617122225194179635021122914111811101682141541707710712337170244175551207884216245231522462302618310123313621053197259020018010323318295214694220621222165161152629151132512424559174154212932101721428710520121015916924712220827197392612260184245947922822712917314325118322023781893310152171243154211462031011742221251611939919019310990136439655121339396142461511212024611267301629519831761031213281173158132131716481994316020721121314838514147852462272118256145133581832351411584023320221423382001122654212922208242246064252406416234249632207819810322234207532281294200208194322241293451226129922261291909219212823332141161344774711661412617318123228915118023027220241844779108199191427112517221819017519618819119616219121218233021082742012024471171237166235156655176145101872144418920224324219795125822116780151132191157453241202176421565646111134126119301581271353781077232196182111230115319623113815914319723174292572109104107254242303181135872302356240133132185166231134154178183245502451436678850159128204168206211168192772141479159193923879160786277201961820936432161271771431331121117216380255230591431291324812416320080144192110105670158288916237248223175251887143116471201921082511713923771109118157176169161528196104133197202251110253216451402523142241255119236252401822487325201892272551471081331391924622445432391191081241491241832337129522211132122251921439619213113110225175154186190110238246142141207135142129235936754121132432511091971732258282431165511625518718262209032931442421510013191232251246126741909111217312077198320126421014721063108799612821339241202141143117249331081651342542551642095715817897134121407325214724618477123788823724822046230168219129479215156113138612332812320212131961282126311517176816740217119218105239105231611679224715613418523762237212511332071582116249391309878134197156501762401459124312117814458175172162249707325317624812910396024616723275892280223622552521152541037116610414522527255248151218208252138111120244224225137163199120151112981788369951852011201288797871312422552482476315118067801952101491311338612419724718261221441918696421081192392216111723052235331227139339339642250127132725412824143204140942497510910124918325213124190411983171721821798913464228618499112421571525387121752061202114214955722503124223891979311467202819471116138243316184824941831062131861811144722435906753847053147141114231254206161495717223417293245572271502019240192961421132558518922220321893233262916926438084414623715118096109201154109228253210722919825233411015152201571441722171521609423175821951302610747168182166257887187223181354454644531356023422118560184103121562462411921741232212192511392813373581943617320224320214141582535214351011419537246189185230237153617310521824482541372302522257219216916014513192127239522402131601302384370991975435133861482289245229152146232207183128250314618023364225651418151122556419089951421133915592168459318713118535192675133013911717419212819761512357723822721214224129274515872135752041211562418017725141291061622131361671331422431317436253171108110180122792135824422262078157230269213474453819318341752414221913710618710720530253691661411051702918525011453020335521551631781251835924250241810841762082321772162361979522822323712185215211221673524886912241161411117332862334894229568898619097223207120000302248368519720118316423564104667316390199851952386083104119200253233262155542123376173431966114496177209273133181121200504896177201123174222318820991721711491612624897184204701248915913537768459161658470622313062331872182209432087219712119202416475134246921572199814739240166498517354819153133701301291072056481148445412292111241297610084216691751472199206281952021841412241291777412330501292462092072141161572141162372351412221762411141872259817123828227150847781263312400361121732091196192103238239186106404147178154401812720051239190108568496498910263912375047112696844895237508610077121129203681851252078599176372242461221892311952062082199825527456255911241601642312352202223422117555121451105902081320712116123592173203683730902192014223173129107871582512016024422010224121163185611166130225291436182220167226227100181758714210511515478751861744067151197415616539190172392022082210110613947235182932141910323416225532311562481281571811424077123371517624112020724971814542191359514871651401492171601357577942151556023234221174531202202024944214187143151219116231242123740722464198323548615991223152164212151994815211112221207169961361316226121144014917624166168672413121248235972001982212252181542452312611993209239468227155250107723115560301570181511662062121876623520748992587148721401492042271161214513712524124014314821918293214175758617319016880674816036023192800368419941214391055216710618322711022219788458241127861901297184184951051561032181145135142228239221141182297094391244722313993178148101200876416225513720812774217115113207135241112951293635272193219123130139126158162190842537548128314051126201439023013575218974591236581023032331271481435130652262111063916253136624145141212112114066130101681051882371158110321297824862721271104422249561996522102801522037239252531377523213514265162382392172502111361272301932532072219324224823819814366138549723921824833472392114147181219255165243167127139621601116413015112157955211623019319927220194160242536711922517229141261291551782096123629911597992130531309911222123615124129251162224297794521516237176612369480019874137255157140171851696145106255255246221141347144972351392412295248186992467207216208483311422413223621424013817822324118521519347157247156112139612291822391802032221978176216147228463254012156342421612321851150611121236622371902351642151741476259794236601718622713210322415814355233492492442264210152124950104133601261981601961902431981672514910919914331231127118100019254654254241471776122324424519710717712324624246173148152178512284932361815354122851412551892452501874173233146381201636356159622748128204248248184171434516112810923715423214172941992339941811061317371246131243192312221583013037492301233323822611965118359622870321639769171371931997922658164798471333417210131232168168222032250101249103621302512010192382145514820817020160282719821484382101928112812924715339225935718523754472302531351271972159485103237107227761551471258511212317824425017423224610261225129142849612870592411281229117818624814618640898514817261077386133651725539107180361071813610735109782101107420811018416893231674124890181250107149154179106173416115532382471876623911868221235216187601201141212282282422402097612512381192392645247172755220196493072213232205552644503144522351011715139461695124515233175613761077684107748410710217924177175166653220018016523511893542361891061218119922225391642471311134113723431144128116321431981133237207492372071651936615789186124152161441632120250699916420024211813923984165221881532136618911140456110212775228506412616921799782324301521731172282223154104168222121168204981721468628155169115661261901931011612091091842041021197322851811096382110519410572173972802816918012521631190601782292099622825319080192192221238144187221161183591311111174221108159218722010815669318712517559201084837112304617952164130671937984572452215236268352154211324011714512910210678215701332191403161381731222432051043722712451168124136120402486954238159207641381216454901551752471842172612867322502191151405824376250751721981702923911241441057221120364224722897621256247201542075312278993391079314415317411591182511515021716266892201981782432720220711110476851591701381851320915216416853165169131139110138189111181249112952027218537192987105169213111331761973811964212140162049994211831693865113702321248323611102184221301762082242221461662091541749129118159821065382985782982131216917557691731472141928211120321025471831974660696719722192118213113323080198162841731901081471936011522025020111472322542337416716974711441951224160146921072712031081871157616018823519851231157723911713260236141272082925417655223325323848164151229697151226631246132622349125208211241915122811071484638238141744546114671387024123962198141017312918130116135161194801375314123674213203817084938022470493113242101951112042552057519125317623623513149231553164332381851030157171031630324789143140132512215471042168293341534894174880159164220151103130754990134243178155172362551928414919510814124310016523796145105199212997213224519301692216881159783245185799046169642386724724324989805419910412715817741841630419515406048152111101441982398360301922071031801967414817081254245397716923419510121418321925311891512319532244175195901252001966221590125226922221515220150607948220130712121851831921481502347582174791641151001631622910722720234474222713547247225476416258255552299156453174523051010115233152371417169195702241126515128013216174211861551891341672256743131331287241062421192461821512911668161111619891123198100512073235723019331820401267294249751514023019816728695751545813614249209545251827212481258011213104102098318217710323624620916461178249133068021948788001307154147148865054136217161217207891139193640209141216175222417920961130594222179353014416924923919720822418718212648401261241331622078615613322716131163255150187781041351981901113124017817720310710223823921824812622618162224291332713223523011223275921031011911733156224641271212394022032621931684421288222431811922240089143114508923021914151013112916712454014818581268095193183217211582511271396119737923614822116017716728247159113612481651212441611811701661711491411416724718419815811422311915412032246148115236731672161471781776717822411524193192411832919922118331245221121601042311371369316716299788821625018924223462541821484519019614921055264116763103131662532311272541032012231573111212330541021671031821092172021231971991626011513443121128193024112814618874131176892101963411225212860192791322091910119698177301555085182171517238223206234213127133606415184382291211582587249607207011922510519515324016314414522023126321577102480131160951976250602092532072717512816715618717164183126213516019214407020180126131193128213701851641278104205562161164117262193173331931783721714412022417812615963267163517718935691632531463872160237146625963273173212414416410191771801537721320722282081087821280218152160851276583120941892501072292342234321515685109755190168243122220232411681192511631586715186142220235602521682391791351892513124723915721654167154102271172746233180100104119229242442291552462282411793209111163213130858822017611483162424816041137635209667123120218747892452461169316861181241851022042764491968217916453724245152285223916315370771221742611995161152112411241282143235182815247685216221106246304718312924413522615917018213112666122171213272448949720523382276009024101129411524546671652301632079236141535988106629119921531176301751789510824215616811824441772440501112052101057421115216811312420823624641024184211211161713524010212309612824302105993332471861952381161352222371018921521122173217717029981571911491671762213789318538117201106161601621215718220325077105908015332416825218715733161632115352161366253231155119925342432143706217228692211853867375417966183153901092707721216157136501172181151405924376714223723154125166133110227239124132232711901871922831391069210223422125151849519249246219191814920222754149199171521237433126174531232052132111941951738921814411911959253111119248129161387759115245123242131131613817023710223515696352298622112113410987244681539019436101285043116891812147521222201042451571711152291398822310424690168115274518113465230246228265338171182103233182101234192902111811961532182081905121672179010316897148522091321611983569214191651181118111013966119321932811591581741183043179235206542302351275317610576219502452223460150718244247716123613712817616154814724219219523814425115765247112203216208442069018413418417184118024918453184194184957545190221121166539202181942965411315012610738781472261829150240601044916216311395181241202213108129225134365391816410735691581991911525505525158251581980401522122015416113821541681763142452311552265569152931001722321861703974871117267880216192211606425418113823472177249402723212115851751551412929244131132421417117656331926452283196235191199549242005125411782445182284317723418417274417384220918123771581242051292192915020947209253459420726219117157230162245169791115771382052191781161558321227146148107474282061111745747471408317218716843245294841611278725401511235229452122372121335010823677441005520392323212423622021166320720314010165250254219140195317520716411824810911377792451472471321863913511445181606855130198116518767235271096512714288236581101891353827181137611397141212106207413072642341596614141138128166241385868193199209841622373156961862538132561858200135240412018513021522901451287918202120224123521145921624919151762443519996237176882442201102551511282519010449170189108236250186185199135141804815316279522062623422010620711323717661272202085525524517433224582541031561351461831726063116129617915125142114166245732142031162551832516912791560101183022418624612717328255107492521320876169688246144251526423275871545323221238107311851516214625168195208127187247190516225119124021612320212523941215613993164134188219238147941877912323958227291152185523014025517421114939311928112211183610619920923749199676624723423321817234301209753141185323024816619366481041792391826135732151728911524623689201223157311122272341212295451572118241961231818658542532332116725871408017120020878115351391771939582542412422271231431503112619156025185127246182162205103783657572491571192228917960192207965391159152241192951631276419432231001321220248141248182174163173622321420686023110169996514619329100198167512262131682301014701281162312113221420281152246171140414413010126201735091243147197186192531852259315122121921117368201186291051226115318693233154291692342374110610916881512125882212219461697315637323412728151042159520822158215222529416325024715453951071391462041021712301161982201116311218324519617323083243194791031071520410247849518046254157174481931846281191225146150408318739207176552071841552301122121097721341524016097142168210814936254910510717018256852784192103148314517830200912013204571921401351609250115761051139818230251167671166469519904120616851752399015725114170207811222531081121521681801157686217465312300240176012820448227129185901281292497614119566131235104153372464654186771023667520410313214211141110227851829914918283537867165861251331666112119845233154173871161611233014692222351118721127114179432407013525582187255146216255709109601692041741832509511124518720923463952394986233041639322750853141611612522378712121192101115186118107150307216022622016618636532121852152511413145766145202134254219132014517516039223122033190172791478177731356138173702021087120223610418216243616244189222341140254161114219190982032251141874116143186498923558461123017562415201280971742091071902011184176216226211831048115716088113113115229197205211132727461692261721612271751831201520911364723520455184221239141882112251432032301041871702111186918761911511921601921681912162012020812685183227170621441692541461067919095922011361921211606273165539323510213920712415743249774173192320818714115184591742326523613010322833701992031096522152660222342211222437619623321829251221842331926932193761652118418519512015325364129691191414501332259484203817064145671937986592212378943022074235106211132152911371321690203146249497217921533209247187662381807221106114122241424452120206102212511020413313717019719125147280159172140187222130254187227102278222713031981347410913420310811383248804628206199128129101923208250162502322115911420169464621092162286184127128331227129414840841592238415916421215799488910559912277214316816922285279793104210156162101814416825521481927541132717020612621015417054941067320314121152208162311511171281449012886332421548471501681922533157151245241501844216226332301253219211645971889883138218180192233819524824211224418915814410717322221515212764130412022697297158501872146612937551971806019792189219961776925110193226129120565220102193185205194117417621856133218243101172312124963371271367184182230416266172352299718740521435713011420514493723320513183729612820753365114811216120729250197143106200200124222843120218931929423119520093176178285345165313212015215012468144164144127139244139216178312444191794502424422226158124231624520723425422270131136216563428200224113958686211344250819613113110814162671920115182130124811211898265318020945216215619824621624983244987243210336712714220918069822311412617811802461311306398183255112421081961442116745322301091071595520461222179243251216578016022184387322916715602244622125510918414014423618413719262401922192149412424633137911282012501492102551434963506064230471097913119931176391462501859325543108692552174416216715624615711322211919810520741251297123718312624617716915522015411922962802092451381182171211260224171232189922325551921922381912978128760119157242217117198127207143252119127233189227132123212167126916315222250121722121611361686759240442172484830884322916260701662081002461572453715116472249168161215941234545457724211923172201582311292542226223713911691701212371061562391152316252014619726227719320311811122312323923012573191588250141600147109432431272182468413179114153161601142288239216154532282288183246691051524613251625760255154541691361672011541526112122925525213113314614998253233672328114830184210100213322531132159496134121977179144242221192118177182217744112814915664601401061072299412473110457222410923062831266546225239611021707914315123715544219581482392191456560327821423474211238722091639171138147851962012021091518421883401554163916918238186523917020012981571539083162708316238792722618123422618010720710587253781792341199085255165416011148148239113173622501221951582172342531798515920621328105207138563036103250190220207992291062261411074623414815914923101105132015524423154118231241382111812481112310516802715211673193874332422422520352169811541425677103322071247822458932252001625136462432052491443391872230241651456622411926424721182242011301042072082251933253185198552660231107937013845198203173167419633516522224129235141110124198331044225612151152671051294611771458910624216025085182013113710621919382243105161227981921612813491411489124722642391541162302452166168181231242202339943022111418739248861192088213522316221623112215522318186223133102136361591972220264106207531226610979215185205212209240301041991451141872417413522582271042471939810720011924002052011521722221461741330406318793720815118321913140116152711817981254521151041534511820564217875714624173116641311731531869696466199856723284124231902537887200117145951231428199186541993801931482081091602121864322320144128146249382343612213625022151028524110859102139101492310481133217581512734319607892124891191902092379487224173118956294168191200164191200180175208184359179124691875920716017520810016422010686232130432141521702141186924790179231146200123182222211861121611931894681891561611251712131191822141211802121542071696380104630232186106054232206544217684216115645243662152745222179532063519786157896120902622685240321811672352261531717965561625223718276189230841737020011018223221398147551322542271902007117622282282174249431081204317910922413213518917247187661299418416499149246215154189111137311216711273203206110442532531222201541293420319770154187233657924877113013313313682401129514418521723479491810814379691251213104253170179155100175255235153203212119352001251212400501561016472641951322341814810416522513910173233154328860147191492143516523012011017555185227491101911729327191185581106724524913200112614414401991311127431912541845377125178194102170194102180419135168127163209981152063200115181441321917624812919325125211824059986012815924401941041762082824716523314626585486972511765514079491961991120919233411872205235261451287552281132231111822502221062431911339195239548410833742111681854095117118992451852051172314923511223823148234474053928423025515425233302241112203319331754524728717055342222920821720013149640978215529668411220814413711117424814515417623255156108626218228226158272152412201002101591001894302488728702272442143141125534211214712614536626521438140209217352204600180564911619120124620721715432084192313618167995367246342139223152457914519921914316050241287016177249739716081344527917156221413223175224189245351671614401433124819233812123224839108240167218251100212141156216108124228201722617619649817924718021311072240211232222392061611118812019010523324917417320725124612610812112919520820556119220446224140566547114318102157192240161991929186942161653018019151781702362018620225325521418464151137245311925615252979912240849613118024012713524181672203648161232189724773231189167932461561142202461857120411315117315917058248203189173322471611541618714820722219190251781212376122518124716479236105207221391881181591221624713322317414722291143122681251102251816720121699189150173129141159153931281421291631691851871391151601661349273513132442823825319110330224153156224832474779242119231722015823112925090161190142461861801102451541171077223863125110248196121964512001341621171719525024517512635573023713176253962541105179178115153153153245246242161190174902057312871142401551976951591511911381393978294210374622324112720024718117123225067247191176225825415525144591624521710016024814314921871017830237965521524114822619502521987392252197620204158148131721417290247226170239414791205103342185641203229255381843510717140197103178601241802001873522184148172377484235722131087586111778412924423161216391711813816918138170161667521206418141651652570312032211249128126144089991301022215141154179261301755317119021017224990175230107131150423516917817623519415227245135151234784621415825202631122201431302520815915911014723520124616167155114616813650527139205104981961711342051802022424128194136957136716420611029230601601331519218646271422289143151218811566412937821783443203416564223034323620049237189106140250157891461011372195118014511817821166192321513211017921314283855218520818019230364886110518881681192251211681712172671642741021072916118914418537242134228661331218419216143868820721457205551841408721714149662511541192302611822925139175232101471492517544238246134622813818821119178212171764024618962416251222233141212082392400128410048643524510715639170156184127961802201901912001461662544418123320054183817000144242691962022071101721378766777276961921811023119011602421921373354121232181381595929193208163401351411482172462281531611691742826220114187358361121713523211871240721656710315873123142113152030365680164194141532012615120190151133381111441927615759168160431591206414416888147164841972289991711432497884591809521311119117055872391141671952391342162715110116422017816719216818320818459223164820811869271204841176911082421844124615717411310676851117281155168178159185614229116010018022016658110511202241221632311800215223106184196114180204122176200188491531209619020621362081551032201551072201491092081591111030184222228930152401831992212391851061323916745292361671554232200210239206543041181153172116284217810678211181964324521906422647143239903021717760681381591652191501351835116314619913191301471270187182242515223911713378213184226190921112411872232113420321915511114218719216720328441771989305104801511921813111324111118351302812876019718916018019718319120816223016282229215271852442311740242424016958183251691321015832129821096022412925231601301824415716198511284330816017424310814110911316638201272131852451492316216958191158511927417118517613725171542401242302614214988093820217296211149182963114114818244448259720952079921022211519952821004982132223151251265624851179520931431813042164251821591686081105247176551161211082192271932001655419113322175249227916414624166792497561514412722426155139222072071572461285910925418414918416111713774165191251168242235132451963132412721212033174182101721927072932125207230202269422007438214632291104195451162014222913815927636858238159132591485823250180874224710161686411146252211234955411413713510240656523224239140862321102450481481601562176294153293725444221204125228636175108240155040132468317010190165561561503896195132361751781217213183281662002271522271025910521511248411136332314819214223024229601282522471672192102251301131806413120825331586161135214123792192392551815613151821313665133215204220945511912320320224319151969241462061086616120515817224111213017822386220536421019312188144711720015637217324615616015223611118023122137227269310650362481117819321166255912371552406424218612516524225417151214675919017824351711920139121182221172104113422232431281961435723819115212109203656115122423214107190184657520349192109251971911893929879623661225231152041111994925523719992130992451093551062161892441586123209249178220186152001773224720218618111119125124625021594129224129381312283441249237246205902371510850302243121202042424236127119126192237121304045422542281631432093722617219910320713159561564110210801915625425123912488156874457254335114363521572501313205741384223223521853162100572342462111421572391241911901991411101862442512412552312222442111391212012381671831491571269720521823214174911831022911619116413610249201621871611931171719503616024153116215863144242401001421022311023215571621621216219624471729424721017021311148241921116182521042407189249712311434250114125167433198759258512446913717020524174524040819314803620812833352051071823810413818529118212155198415522685155192121541821226891161119916212299130581936416212267188186487867120941874922272124201162392111054821911916248226154962471571981951568956010425389217111130247592001691784689188371512545116323820362452013877201581732241296614724182219174441951666826291962606156138421784661461371403625412952109113154781155065224412595541481381003033178981552099824002515443020416710113716111376064113144122321240649158262122842481551751131581731181622452008824019211618161228205020885503015210312942152692232349213475204251512016141232331682625124110621923390710070202131021575713422617112222610825319812141186841812091061872192216524725019597752371291391731265558130961525135334923154125701712816713211032129137261032002381131292438814935212608462712261188210057942298421638169101985101254129507220111138168124672287188810824415418567986378601931536986198514216253208172216598522713012212234813615001520421218694107241157111244347969179152063186209911002091531032028214718210867240088514821264531161171821931793521518422613012411713013271542115310323510419020916182203150121732062813124968724019224522792401923693257592156193182431299821114510171185615137145215141861599110925451662324012848731211681961812421615816559841081149791152349520991108112159172242502279421664107162666717810202103106156104229221841412308411716019411618122766189219156208133162105203108135242458812457775252852381281999918820414156484511215817311329411811091841649412581113702327014123225414523710096128161292031312191517182612341411262081924516047250209192150712041052401203223411071240189206208187291612271492061311971822151541923177545135229142051052189651193696992118136126240015632241262792115110228192105161994111182210196178054722522021791551842381518828179216002277232323616017611523211051168641561696180104103622479353020920950203230848514464197217143571501240101703031781412216249245245241242226522451902813120111423520110155217106251133901672415017120998243177827513851464865158199157614889247231154768521677150219132315447212186122215224510227771502172461022721415622321214816413023525516855108121987144224788720892179231116163271441282430141269872192252313242004830160201166150682221203012841836819018416112018032291912516812065169142134124134173191160196255532491023012034193153208135166132821809622711232181531309932175241172189354948981571391201021813720790147196072241128162812812521398684123984089121823171532116424619015927741205258716058923113711642041923211206499126322352011649912914416712967918181041882088626471321821213224421597721928866509413622512422324558137141681128431521399620313518092013320147118231582542511325539271551202025226111520711910812422961163209374313810816619714965567419021922218124512519519429614917522184315183424215282491431561312221822462391281542482131952212522084922461592231431562853118882375714169141201831233311761494824014017384237255195246522719215824215240188236227951491771424918319241908914017345030112141612271822471402191585130123781232376223333021612121210719910330219142196199188165102422472141661338786218714313330250504024610020823822712959143218249108127792018423821377114235629811121959799161959812223186234372267121771331432201001062421212512062508219836016316716787959547249187243311020724364867019843471901807014226145230182712311586255407392102421564352423445531572381821102012411567126200248129231154189120491291691272441172051061012412523010219319024325325019541261032493818720910816313920225201564721547511972502071081111902462502301411552041407792157157183706915957117234312542381672552441791272522191592522371452071421261222402111099118221990219233105235233235232111901912491818794951832509392002481317312722614114938212532071482001220464224391815310787173193111131243012648305810710127183117166246203277771110139246472121341297186501412647425394801641362256853811301545673831564128071166457314721632941633794163579429481921731719838252105728010713687171135938417319116821424175211150982221272131051781962311341122351571342161651542165914115961106591171712258422219118456124368945973224196107851231221209913012519787170451691221091532182532497099165542925250104156120128207383622912923036531383310231352007519213013719716921814122425192761701187116625410414524584133195100185310022388137133915019201393923820713394161120226158431346187976221872442195111724876163211149141152231233742511052303100325123232091432046851971532796020823218220019461281075205303516522169721116895996390105619410113920122183175144120160245138110991867012517090871902419214725123715896192192253254136155157193215219264520022023481863824250128721614185591421115670171287042975276870206110212424424911614175111129121931845224218148170412022086990250245134170565212115204215123445212224121769231234220135751096139173103217132662818176112492332621517428227198201316425291230266012119201596510417221810517621210216822022162311983618412707212810696624185131178243274347292042226545416710720421258672131172292653928223720651941081141912192331271891979916120110973228731537090141978296156618422123812317113226216235787119292189918315470771309812712923310415311711918233141114248171798270122163217123161206109182214252113102151671961002081172130153182761571981002132382867112242801812617054817823578240193991204224013219223010692103446838578160130222601791662077113150621965819302311238282422018260176149252031951341836330220242168632346579248292406487216221142176137421511611818723520519631832196623023460219175261501592198414716060821021191676113653421124468204691613218734214425955254881083722711681271401481451771931019196241112254170254194230218139101373421578724519216812888601628385228215661663777173134150301471401722625918485416862792271364219125488112142144160456719234316048391128820587914891392401131401334665894106942244718126416622215428252309937861255719893151245401683283151243023820318920632901039910821919512981441921001892031081797153215024002251291001761442126322412117313721417318737246187203924215266061392042351814812841811131382042013211313824511322319439270243552412862441631564109243119201281280200436783170723768578456101852823113815627242921663514916911894194247154237148232123243212509410225216701711614820411232552548605774218206833144881791086910015486200130454702337620923625312115619265232126173208881731441899016112879017124229601620251033963619225364822881136189128152107181231361704125111023117912241249702491481632232196867501801128124219218713411181245223105186292311261229176220699425239232183172609712420512203292139212201902051581712440145741921189255922824019271425450191187243144251602533198164255551414198429217020012716017767127164493612821816621622039241765025521599172751182511042094919921621118015421615821123818779123236582371772431642152069922219212823715912311125520447230721921589911871432502396222617724512818816922717014314854242172501961242612123213924021619974971761081252288618937157372291011858511120017312920013188721631688718917613870107200202283118223917247185589213205189134148171165165101919115522823920615184612073732419471749318311821310622761216942595582177116178116892001521151285479231751071792153619913142082282551321276418225320522325229239241222031956164183731022232491262532172718711682170921611857313624311365178133723919124312915013418217314910968104248207127246791532332566652059625519224519710711911122312124422422524219571723122018912724724618959552399495922631153232239233111111109474717372140792502371751271232422167311923119775317318394199115462171641081286260117891901374184201120962975816618414022312244247135114114632221704982114122651202268621116112316222113918111919724622116223113104813816721281691813721182322412382816197195180902261811544610654197195242136161548368010776807123235140831091422153120324718846216114187110247163214351192714322210556249802521471692427912712588213244117234198187114114138114114159186200149253218171246172912452392051702071065495210105205208238203531301101631132222101696915311130198388120111663139421501961880741581212653321021484237169114200232471211292351161651924164129229721902291121901971041292131041612162142311531523015214100155244101271192111541961541732339020814522676237225182031976119402002411149162948244891235200511111746211225111362947223252921024939153812122162118190209117160216205493235136143352298616321482351777481192351824312220515390132332672391062811111952222371318921531630184221191221635186017621222176208236131451324563881023366461828121216802545675420286343919219842236103106221122243205248162173321291501229100862420247151602188414113914872084312325088239193872313477845913750116132731701601399182161202551081317139242461322441591821024837136126192201762919319292163215148208212916612971311077515011020121713229113155424610842591831904985296017621622820911869871521642201551111302521571412714419298147271081662061051882181188168574232401662162511342162519051773752932351401951071820613944381712362512437711371122115141107227216102052165801742436621510512935180622382631472121511111309121712169127168216215602492007116129373820223616643283920323625161548212731422339612910112719024964129691271588975154118195372451902117211521716127221221141301161676122894103216221206176123932251525116310512517712917324712334239116133221238812120819137242241741672258225116515002121882113012275282128796789918313671082391181341920152287996241618023291195771446512217320125161206428488810085271752044916024222038128116729421471019618236515660721602342207010410192132209504319201081401411152271071055516717020272160246342241296915759345022722213124217563661812259851324614014315415517418215921561281088241772291161492924299375215520888137245104177229641587312717411312717492712571439862542541471861391035371501191933131145641301996714511341751375823121738232126153127192107114022114023113812064230311847820321312122320251222102814402517317621103233212928417262711791781461571517242401277715824004611351125541491441262019308459242188921354553057142102001071332387020243018128132162031015810512524611825525249465194136148201116146236032281012343112320920021125316116322011619415917273445121794869522622322421212967711918576443836049115515210816723234601141281242210181810070121927171731808190921771969319214501418820958199167642326193187551216812523628250145832007114219319632361171904425311577742323921751881092372511741736311917072108992070117172118159128238127207206247109107472161222151622041928832117413413825554168127236852401425021431971241430091881092271972251291112574992551002550148247952366010743121224735125414122320912021602311215221167220118157114219121210109251113247109716018316622472171211961232511671281291921891992246281361112583224615216995228139242902391041545813423924622211420822239908120311424575311763315192128878915619243114171959317923018185492071392006396223899511430642022271379392922502502503612711912619223712130136591192541492395218172913241183146717633139203664817613820510920775151973012612415118113110022996161231121038219862302551802372495441120964660441461191402231572551730882251316014122123118110721417299223142175391691411482461762522188523562254224995510324713125114254203472552457423021113752192122482442051651551461925119527462511152192271352031798317998819121816524431125241995523247119223126152501581191379341522361541242715192561872120019922452192205642249117114191582812511791651345121513325123017135231062521933931055820523201933162414915012021811881065991138885488136241128382311291981123414123851552268515418842619842620036602081521608623167427854901688122361389322311902191202326524317722917419123776112555012024519920418171791267123825523721144255117642532491442505679971561171091567823758581154867914297215101372124240641256026231468192128114672127264144322968196351052652605391402121992175247901721171591691143043177292025139302001792420453319854144109214119197164247178812071011951825217325043716873113134542282309217320320522159153262323915520174187233106187201741551335823118590712321611976215251291951042515219321250181312101591503316310570391701091032351562511391367102132156744135203451994217312972278524623721764589218141251542261081251041605922119311912267238246133491119121321114294832242157170115271740321613144257016614012096160148166163129172284618129401781321661351787157621518411823115420822866144179412677105901315152192321323214112612824971923521571682081323412716420411017619626450932124169661312312771452334150018128552226188174139252322501991702910215912532315520121176361662331431929227213782322076814151246130723025247621218452101104151156939512616017617724423639771052345166231133701432144423718610022925434115232572401921171452311081892431640103103578010821491104761772151811412812991109190215902321492401641921773369771617548849857832272129596588210621315016583121110671111582411081735122862119143214315521314816221414910948809613418916873147238872161241122361201334520553841105581102639296217145169223150174431861648911981185246130822055220125141246442532141162212061717014721031441811919717691511042061652258218716118921212511939896152253108131215146562401864096177217152491535820710720512621526125123243451861147616710722023023518923123418823027188128106149231558344711336124942161381141192181314025415220530187216232205971282410173611191795396965153293201318824025131381746279158129234243271558321311802152716620632160171503010473832138200215394121437421921329155101331972138248224251481287966118562535198313338120248971155314211181781919631982241298925258202173193314710154227165214356922601140412491116731894173165242171791322322811395110181250622361191102235238221104247159105114159123202636460482232366997264601281992241221792478211461120550132148792185980100209156170891212260321371692486303220545149221128117416433169181153244135196685174209331903334812001495831141163231813112310182158215228135176137125184552248923187237220100789110178114212100198157352226136183321051006959561382471591191371301088561932116120136213143361021444483022783151735213813302346424123971101152110456132142699139148561321262170719716062204891112131162411531061922461431571312231792431232232062393542202551951111831432813019020917613931721296232401401892551001863310479423926174291822071242314913993802343977119124462392124513413323117116611021617123217969632420451991822431681102481901412382252392172501252261816217188139691728199137108246140122199198247125251015638909647254201401322241372531271337200168135146225675017719082190127951981541495424320412710320511921359572392551941102151131872971612461262251852351802311421912618778723858291882351002162381471935914313423660261822272432401091596910825144502307268204231254209177158161591732211306221617218923416515222252642332451195417512323318921317113175481800112123129169291810643210149198852125124615755232691439256666787617624958127216237893012025224823163251711181581719414424002501992078112257294175893718310229271852541987517525523821525537572827103128111361216247187125832271011012123521511110021588218225111176632291501252111981751401645315891179122213186181521842551971174722426242935210139205118138175150108471731232331311196348495022119179231872552421712202362202061821421972491971352472492447622311314715825455100164219163187151552342620725323823622215712362254240197363208183531202362493865523212626106245244723354251163216183158601041111751452511121411562142191146919114318821524115551551432201041401852112818588227249255352394522422756242244239491325714153451021021541720714052146702047618220414012922191186229219189917698911210220318210849751954010210261471722478785519921773150462012212532232506016984878787872477224224315716219012318224275962445341531541041861121501504891919496216849621284962201222179215810334201541810326137501406815370252116365134161322118014410140204542261011611372481856532312131074710654223176311742441591061401592328154225301551045649821192342061275016310820924333212929207413029229242143157132571611561163839221153147971992031821509417722211522001751552011751530121281731992435531848919201642366112102281622940168128123721021162919910021817718218464175247158221881812031043710901721151458522361155222187192010224220325045215125911115318122348105189110220122221412007789206211150935129194801985168128172865784227608077157226493856301314065311111162391751161561912921924323644177261691197021918872161321520938184238221101182192696109333150332218510231501831752021723647249525421221238102511491742401492381362511091931361090131150901311021651901639212295131731871941721271831741192722912014219517357613633612102322099522722089106215118207262262227423496173203801571711802081804979751128931241192372241221102043224104193101130221722396048218224923319310687180168232931804817248126210634845961299714992551204152212500661601651351701571995610423254741901276530564524211223217511319825172115271106425331472239209705220712912719716023625218223476181170140157212318213717525140195351126051511161211212182242032316917210125272222221201632199618183127165125955176141133638185238755022325111464202144421619010610318417054125712351091151841441402614692531687522321783106135381584827421568151602371291711041251011440179210910192378010218421825410312928901111531124211656892613251061462036173133230210431347755761237523716119217219212365228187441112021628130542314772221517452032312006764321462101711661572472816624919024321016041129223401355321219223217524123217111823917311623717311613118424514215723618612121910915519011423122250154252186574787175230215211115713770230147246892115168181439066224166511244713617788144941625146742521867523627178521362452552182541292314249117233187234502121002151401101231966272342141462121191382275720987919923642182230230106182222501552261222069189024224212401921091853188972091011881801271509021324917310112725317625224315436225516825025286604332052201281832189522548802251368620817016624514821613019823492129153241167224588223721895230216118203821441759115912924849418117664175251158205241882525922130431229321141177254155967151218130381972226714123835282477311621304136175731125156239124136238406418947222211518214130212788113941941309518322590231182592215610877184173040133250702001592051676005490181100161841069817533197648361921991312496620813763210316124249518020061306541531072536115211711216510418203020732156637132108451361618710210407202171682481410582941498029170202216421351216911472371074712927652780599924615370129197391871916021640287765384938162521792321898012154170403116923212412823211192082210322426619231195141236146803321031397120825146126239593536248144230255174596173628419720611559321918611213820128248342272039525227572021207113024716823618329882395625010810313227416716281672011049953253224844024018613243451232142214316189160202031526710419518121619526190113239671811746510617224147240189462516211321812570191031262282616419778176138592261521222623720412859612814617782827601953961699017212915294812454265013219923514719618346842431271555872243148841281351812523584160228110024111999145180347153126164181572029196461691676024615616119831165197302467525136112239151241979179226142179162143248703110140611816125208591161831639117618118918317332031292301077199105233219188251129250150109122155222838725012696017617932194047173167188188301651931921252452351001492020623919131846001149998983839392112711919019924028152209594621228817782392383164702224312823413163064137232418117245237106851651491382353364125792452281531951116164157107193313524323147226175225851091261822411012543159351691531881368117170218551742231283825117413555168152147189541282324711224360117252849478158883215828251103621192131952549316925010330438712885134233209201219551111595711721421621623614915111377311225131134247134155143167149912322418330017012917287558022221772121155669791835874143204139794513624646137227238139671981711571871101557324211712019231042133229651501824871718696216122197172245178153326718324111131211581535219914012719380154101382064817101154105120541531022269211126182137322157212421718446671471511035686239183327815222516576243147824378142541562532051712525355811432221552013819512314812713924816823663125691219722044223919514115522588251133414720318823315414117619268124217688496894312863222108806413913559343715224237201240156991404642901946064245126182102199772431455019922511413525498235238592306169221891191291017222517617521617823117489215109211206911662371331662421711341621249320110125324659150147141158247101254751863721222710110913410693250171168832175733031899141302322352018259240184991412382212291201351118917520297164222518253851421891492466718121215210919262128110821790100610848827110718999218116203420420510611121210679228147238136199157972034512917998214721631231111498323561203142822191935815116162154930881091758997518150352161661128138181551663413924682155161122215225701832221063922511713118628117941294621716224173551229771772501741748224017517241224111124164189790261591952417211814522248109190101148482147231174115159151176129222285520512220316913277023422019926601291970266025110792395172891372231402161521609605013523461200681031281299190247561515792239193187172951425453831893883189421257941112121922224479591116891111882221311211522032471541041122717011428170114261741661422619652215199622497191238923459392402617211618222322149221638189106836021032231161954601071191774548012464192016813916021410117222214118412756412310240096642302119233154841122218220486379111811211816219329200100942001223215882378952371419423714393237671395225217195177120171129216213206152213238120208881731672361542176414923516318285612421230179220261852161862471593106149511014159147620775671021321163181244177902505219927462331849921915216993254151109130124195571902231061032441069119674107216312116232811152082896015991511474226256211581236179362412374117710720421041639515117416619401814717504212084096128116671661342521862332013513711870316816251194143241125121022098138203152225499110205562172606313871238812722018252164611161816112101951872344117771001301199415911496715772144222282351927513183932471086413618142169931971822911917322513331822451505812845824714856202174153240242116811554723822623010455239024487208128178862186622415169126219172233174699515724313213657452452519481345723819514123899927964216233312422765142598019341622582659362411541492183245202124321582302111781601691411203910264196134204932281752295125332001622712955196187199715512320985675186519234672515712812022411121982484311519712033341762211961601911789256212916713613713512017313171725178124188114209331971706811233241101845105222179952461631651321361582502484019748338233169312053424810421929384194253121090016125142111774149131200831441501288412813215417312815319514418521143124171103481541677524525112819838182942133916072227248185110129167908314048023425321371676002453536192251148249318241351671291377127111301256415721179201201239131802919120559267821736281817958971614618621351244315112820523819318617396253157827967225173301615918934183121134251341601572066410016203811621752333480173561802292141222382398822378711322984122206211255119180150719034151522082513384249743632251121843815716039159246219243943225148355969205130241158166237166932217512716825519813512215518227175127101111141123522369514942161802251652472014748011119220310713221696157982344823981222148818723124417324872201582271291801801801331331271081002001832615822712918521721714816436210664817820817817522511721171042072181414782542102361561225912220215673278148882102312441737168831174710124824421131402152034772531541982552351593592247244821161282351133101591341412352141924802822724022625014138619820997145191248233207239221190219211217243104249272501861584013210413836148207184230491916217245731201281921921953913877226728021435145202127252227127555318119410936111624912612046321178191481950252483272128114240191215951961915720202397312283194312051079762431182071198166271251352021562181111528179531852331061304445172162351082981174174281191422815616524810580661340247126253129322218015211044202521710315313806502042482331661881161471981391341561236517416923615499103177207889921014023224018023221236255762432372127998222219129127141225247217101592292032111661491272411691912241952011002141672112342112372746218212157552291001542421151402751117578958188282919212819812245198116117136185249202415125331327158785386241128409516718920817219121616617521616623117410123110911225510218924717270422810227221391061682211192041612220521101899736462082252311061812205229172162467412419378205918971176203281992383148969022453193165158421119222114254184245865623014011516151401152201661297422970279210269941951175296368521118104461240641378525161757264970319213421315813625117365247219130871861943361756319411323917116624684571181492191521258792402519630205224101218231101126115506320751251291902398953221492391741122423120971573014422493209173205862270212229235138174241188495220891171131032352917191499146139134314153322231431411323129232138972114513951692551402087720109994424410519010921789981513510417951602132446331311301666919010424264352917311384235541981016462217142012003512923282424727841662394301682062168515717783122195242431285119106016524152151144848205992242526174253212466429912069215145902185220711589623931120192156224815722620325096245100215140208208160585252876452162502381819630320024499241286772247149590360572441501614124160039319754156281412341121922855763211578200661122100128186163861873587187341591801351295113412016545140248245371692551784411273181209522122616911811119199592091926813220814712821215118421815918021811113508255228366110414159232496314813562144135441383166185441261582542372231091469254892024922713720049171157811515516020619213520565128124042192178191691201602724319290235191541291218317818706811456217909619031160110141024849701825146136125224772246038947233242243181717110415209562547216216116120100148238140882378123210221048601315910853234105233184107213116192489231174130119142309112619518423718251761018810616024001751831832041902491668923193219150661196146250121179417478251292244923189622359719234989105151232081852201103781018919924814017442391601301715823118412849206167147159118136201252112811943892481581389426421772151801441241188202452114053184532315424224218023450118214166239042321273615922512402089611819323013024137222291084610013022351431123015520012809969106248701471461321032315910510016913719566377125888109228149177533917951925567382126821324819323015588255521601122619733382491622750101751751842462331331096328222519321828853817010871302181851661351298114158169258778902215130200366122123443610425019714455322412816713114624078118481955418771121246410135103175226185261991382220851831285025353601767010712109622493392231192912519322613117318377562301882479918719622716614525111848351287941791661272282610016156106291272121052471052031526718718816322566168651412113228021431192011726224572089023612032722413219120331071811507190313343143122915855247255164205340250714814254912112232281162341064846419212828422401921012474114322110323241167125822071211971592121178120109179233155311531882531451710129152126100872403213055176938124925421521441198516167721758314017342751189184301111951321917522316326542538417021901901971761507781565624123220919152802289113147191933129651641211005150188196162521591526934116184972211981414077137913912617612095113619207117111682441737168243893024282824624510122723043902512201728916525425416773158249153114112176701281228172347061424015998128144422410610571572552331831912292152121742044717262250186145254107195102424721201471353479247140190225245341735769120128212642103631238792421131281646440591182362442301432003243822812972712532116222521711612241562412021222441394191811276071123208246235692171698997234172329817819318719121619022917033638315711511323637583156171772322062111479550150231272554413821642382445422923079222225157551616615585176133892301947675971345325516253231115120612111126134157482071651834411418011322324239196132232717977191169206223195486945642211212013813554229471672051211859713251721861391742452514285234417020715521215855106016220052226102271121152441852171284218132331042198169255192261819282245151442416610014310032177651746137249185106242107186237119140591387659238152116220502381909921893100218125199184235142113231452272461551342052152441001511813751541302853971908621593171137701512812925120518312468812732124017813153180254741671051115172209295092412214562077512416624824415811421949194385136723019694991411743213142125149246612291182919786291658610937150205119205623410422818720722986255392212252431145411324999605888252129582311935823160130411619857017897211156204237446542494752249475376421385322318114422052110471771115151119150219115101801715111954230106113243117197871410906422061111512315414757196104249160624022911022714112562361951871431172021945201223168190227281981881326121422441399871081513580178187207787152228123772421891352346119812120497212392246280235101351009849233311282441641285113127141112471469419769196310421320976531801601615957822394219010620812221921404124001587236498267351122814713221091287150164622472291261391831409222931262211521471731182111162193376632412521711735240181314978104206641331922812821113315142452318459163149732091420854612292463524511022110124612030179701092304624945832482361921496223312912376524176210172461765324812611522414622012765234712461939314416213194014110213217210512016870230201991231541952344111310618910161195245193241441404816039225731111942272385613074393113144573524031174972041132301332541122131202913115516312323563222149935171688823733751511986210614891462481318770601921656760432408224108812120432618123216001661591921281387721022452492914995108171250114595571274424820135185369747136169401440831931882001671751941774675141871605121022424616845424713268621101112955013513811921532418305376110810921501781618524012212913019212842242291953921064717823618810322112220328144021022620361301249301878142118235452031291021815619271581131814512416545252113123248163142240121891921802001031654323473792444815122290106219829822191672919715731001882081802001071562395720211727231415871666812213242163115182392533115702001282235022412925161231241902527518611789187106091902023791731795012222312448120125163614416719918949025411318612913721613199324128391983827571171761942001091476525511376522417624122654152111211652133825212816524424768200166992251752192152341053128125241255116249160167111919341213371841471221130521401361521231943032226242149153102817420922715364123224113321315140128222151902217263819112918911271104156022241911223219371174104244191130113619195992443386244660171127144754972421622846012824645126143198222230251022015013421459745815014753151255170149391562132441415113921811115912419438225152948010233341288821963209542415664194861438040182197611003951210481165592142187884482401911457192196631032352553716914402398116014019129658520210519320772577682491261404170762622100186237573601922201252141032475712220417715723020418311990594999124672472331551211882431612222502320122616111117516718818115824219862817516718825422291411411482152156337134176229522912923114501216313373250543234321921210632522251521127116254135223440120242100100104216133743520535139141621993120110465843032197626125317716210896557325218125021419587424747175210208645915144704227172104252261611192541833185254153114112023927917080102172611301951674801191171821152482331036322821521347207204172628411022225277972371791249125010612876371260901291432851363160120114227198109119551861622454014414221203469231252130642207577079719160234111801025528189218255199229230179243226611923991811402221875477151245185251061412311910178180196185186194282916022241292307516618325425323722336821742532321172221216119369358162342516102153115112478811219052231158552310321918392241104189225592171525447576145254184183230120230207168238610241289596199931481721591222131647185126233871251589411914586241185101197151166213952621515855174191104212144110801591748315117421314416121314416921714414258789018224816788567719814145462188111498970227822810572175232180220521041911092201132191642431827311914589215109227182271221787526778711658101419017423320147107318824352100872446432923113222220320026250782422412811327134106156717110583216212246878139185116200239411192423116029199206032412611228169119158211541841421256245862181191511611051781923237165861731972225318178243114159199157334393161139772362519291452474019932526134129702479119249618537161246333152768181382541204720021701520569222106614715874711128122760122711531099912911885198206134924530230180245197932299511014722248291721132919921113613523522020914665141244161265532156213852340480167240254344136129311287321031462036893424530168365228111201901592446649816419319329714819532132481986959145115244851875223023501521210033301042002132364218115517642531101781553893197182967919323214355120140214185148458162141384229158227129372402299819262441491822361548199150582487817625167851801506651941582263791871752201114160010417220613106359510524787561155222354714233441771492224861558815518517923717421120125130117193172241282017613998161251713411160932131197823651438217224631110192105172158629420701172201771074118015422924916214180018622787251146802550224193642021066340121117104247140208127184154622132325180238218832362121261992212615875254184185249134229195166805152441976310699316249221151500762432416227241662232166324020450163202458067227424614856441382172471011290311524186200104168549344318469103177132401282441341725272631081313024724016845120731422224570941101012819614614018936241671631401002541439120980162149214167260110994109159115017720124843013121421923022119718212842969150205557717186164239189350128102096011099310914388237140902371389410513123220301822102157392431353114613523797171195731431863413556307724744101119204582032376235931281081033610418981224121251192115159202081033616891077441344154941409612844755343242232135159431211614139791112720295225121355232196254130518625951761941041171542163122193732241161371251991505586554812914023265731692822919314819167142225141453519912049241214329821713717939235111617532141152412443601467113713152341441013991101616917260105541939824516972341321981751492264620210594668424522791401862841559104571692874170941472474017942321914812922281611600228171251681091171522223610230621681112912953703122623172128232235121962051201612472087698521532419989222113244121215201119179911761669515610522862482531181371994598141701799822211324412520322212317110324238345613015191611701914482522401291150158481121521862311406920416110924411216823735183321322356321325360641825579246156014998212208301882502081151822549516198066246187213412224125521812518210110105103220210206186238572272121441141945724536164291914321719729701477210206502102061772461241814424667223196115244176351113167195147621414262238661438121118021918417120224109102291411171521941621882451822977321291411482155432248024524128207224063200336241194114725223055191812522092491591114331631101091102092112093717319451137191150780130240192235279518524815124313823533168122302152349115207862542482092022311591272492101399623334021825220724615192916217545183549524913117722513324547656689224101123107167143791252208883255969725183146132149213391432081386343143871596415484921651792419313611614601673919231711431591921351422622252411632132541902253125321920794127141447818625422923224247562229132720815258212571282474767471481121431872011861501781437118516716613271026973115162176137587079145141252146305512587195522411098114907584152173394748107190100412055415122988200115173682331021301391021621167519355197186536262551068224378323823178452491935516377421038276315817254188181244179992412501559567119124139662491046119719512814625323911678126762456910221312126392076911422177124197891141494218723436189100392025323110125214157215172254124103221513149016772151155165831278118925413012219569141198129601801201732126711321351811350802391938384200822311011072241971422401541641211862102031347721576901101521822215418322117880101659111189522234814795515731742418322117815410896441392172031825512116120720151912488822760193165152151860180151221518512015240242246625017115632196208811083156642146012919620312062545624586561161512171172091183222181236421832351691161044250159181211732467046183613017371511511030108162544129186511215901521261491621169724128179128780941142112413244201581172081222071703379179582434115136174262131643530128116953710920109472241348023314558119192128230219150173692142538520621122215366481315548110191107211899879248114201212260648109131641229240186162401600360233491413176412381731141102002111747671608011311373995271311923499105426811128461381251932451621292545318025411425117498171129742512411221882279115724312159190401112356139244259112215915917593115971231151614156254206187214188921732181395912876171168832858266884235170216910205112181235451793116816611320916018914124318137215137170169104165203129184213193184391571687996185919512821610378204194177662431613964126164183100172129624324056152106100245208359238216163254129142232213174248399391716113717118913779015250112121444818012378205620919226169166751751521120661121151162354610618022217812622018174224129222184712053324366521903113157226126131519217911211418021411851624641795206239168250114123229232190184249122242271662532292121011050212972015249399665157191323883925823314412918718021895423010611815121713123395233891237127128813231511326410027961202372221791381531222224025412221502401702551284100962111221006210410128509911723867854629695425260221218139106237119108166261893827189166562227522601281591498664130152213206232391572091716117775205332276023919716616021312913221365120105491394565931497820511917318620229251107104195141238128199147250118136623768751217241521491229948967813924192791321098175371801064517116720430111821612465360021421441259514210217168413519658131217213117421431391561132129498118336115122062422048233851288315017710163791725422819237224143331416018682861131008814264749162103775725024629983622923246743680156517310945214837791749320394284322362415314414482811410423718851681012871853384694613522402125812411926924030823161123197301281798091882256187203432144024101177747129210232255235601285941486019270602241281202243151128157941451221292011028124018214390197292091578572120203206277810524819624222415710782513523925320853164622022921101201861993324916412524273132232161192912516115810924448147136125255203121224571767143191236255151331931681641302551581482212423011219711419313532902347319936240253135172163246911321678913223917714157727562225185239990317120012521414525124412498222501138311510164199156100197158246126222823121194131189215196154189121135213198231839820724020670202592351131111926140116023481840251764952291208255121518825023417195124241133226143206247241901862161047711724513523918979906928238668542271722281291171030208217169898318210291101821592021376216711161144581491491751721722382231271618326210524321115063171111252521591870635946124116216716721413424523019811818719143922481071267921924023432201761672252012342021952131497103680241050230112825046169128220713722912016119915272083253922362541789832211133243153250186702281615417412311313122623228165131482354822081227313615524110510331382322461772542181952272206121119424869105562521922283100454320822916423910819660322041982191110023420324320515524245682538226768311338481281532401621654022110981935115193121832541513813127541491011221402201411591745756207575394123174230124140159252293128123229194192219951621241561008015714736188262239420612017793144167206749823361131391622163765244255108186206127172138578823421887762940117304411923343161182232181362431411841535814123315415612688130926112614214237745066208036104728710718416813422624493141255957153106921783081150386371751521713520621514792210151925414492531489453146935511018697217720292639811121541119014084187472401251516925413966631128417912422192192804522617212815753012867168816200281091121591512486622521109516521188163718422224170207177705211918217514621893106223872252121242196611221316018719411313222720987779310614882913612520822178220130144963024701281021651381851941619522518822011117720131132168642542012200561624915816723218697125174701231371319219296157139252182252821410217161229129431341641276412021716018720411316422299154239619223554802372223112016022918210112737134423936151737202408016117320018623717413240313012402531812381127312718111303522862210232571295436166672969614867763223310514523916412821383731712072133422713312872611518121823911175614517523418775236192104206101881931932272061107204310411725216110616717712215157331912004512535961301452371751121082008417124898115243772112252623115066179186140157213231183137462351300150211287591435518413170106931867510820913624642106871694539791713899756692482482085488618113671221631712200253231012007420613884480921428576825141317510279112152160891902392013553826711119123720811622110616821010917820912370162401645111318147229915369208151184210191912102919158152106048942396192229217116221114176210117180198831262211882306021610118739109145104254641521820023681752321560127115207101128107719117426471800603224523545181231100432507728701377315964125134581841122491172111581813522510621520170624001921926831251842181651752201771752041423944462801996816339240242224321899165351161815921449665234720711632161449632011921832081407318811927027234117817821213412413212420104242329711522418820079616024515010199150102671667021910923513762307218171243137523321211158981675145631301292224244200932402002411521934381201721218922410695441541866116183210191892162860206243222423616911223640179237441837482417211554815222435426419513216411214920766192524619211110111118519813220422910252202118893118211480231107120128204163230872196314288127176209196218661418497176194224197129411812171146472001191773419310992111722161570251105180223924810511482143112310418018949156130122136185715399088432134169122911215718115822218199743324012818722427225179120146392115519420412898291962141914510214425085119129107159147242461689021012012082168135148135262241412252151494249112225091086411206315419049219220674830153236016315142312512515602351432202551541326615247225212152248853141881973962263313419520523819310617210413114422119232242424599141692511960451881012391891973514817265682211151985825420046239104184228323112823714082247112252250193410152395625012622826132166381671586625117237159196111325311123111618412118432232341221982412551251251071894952333188195316715614614391199284812762182292525017213111139179191224320250981759919481251184195386520126140240871411051042351618711925122702358167551881037612177139178113722228137236143180233520225117517325122421202166874123919070121247212022190327401751722332801212867208753224058743080117171241756024021491111212020402542321241431120128321291012110212219024958248462441801641131841510146961281294541682461043591104209105238131221253228218167624410724593132103235239232232162821571131717313125513420111254171225185437357229755723522419355344012226236173237127252217191113106273163143120202053546286890187541325533302482062501020018921410508787316290130128028245232209191368522511822593125291304240228104224208624459219129272081291467441188120217822659432471188768132124791122171924514023859136772255063837581825975151159169432014915023015221513621020568233230194116112256918912422079184621684658200242188186239198795415815423253120146251147219127140164170336024641121435925434220951732027710643221631935918221824320110620713771237123311821676010877126220154188218150188218147412021018253802225064261882102819021830132411462081271802021631892089011420115215917376032204211192301212322241656924126889901411539014125327711015054637179144163472045320230267310761018744154175219180223114104191237212118155218118155214118139214122139214927210718623336191233401891104318610820912114354398184471394435200103451372531513623617712214320912224741301151841981011842141011462032321751641484209192206142131841282034362410911231171512172252382250561991251642222115216117521017444110018222898175234247855778139188192214631931554961108158911013901081415215117923228962502175198314825016412796179213201601816113396299140235572061631191492191154610536121952214328487245129726243181120518618826124185992252119515412181138243219249512215737246671811101008933112255211286955173179216110130195062417411515919616702412810211222032258920812016116126877236314011520946419513301607340134103143212104164147772022241127023613512112890159360128214231707622389151173461851024047521492224821072221132152676601522031376143254114135206123861002540240015369176361024573881134112198200281313960168185176189189200146172448411511312310925014961851452623168135216214137701801501041271859971145858717745224251767119724917396165913810915015522081882256224016620914359662395574620025210268172105161114121123445183297361625120681882251577611318970106220123751562282152043787765913923659138236123203938658193227383362326960096176210291832181515222282422754882251404819724194150612957174207208236186231176218301331835514263088105133230156225121411201282033283815822712203912812016023420323746192124139462552221482354511741800152225121791131521632124487208218239885523154145145253678552841551961111601949621362461878606610019621213115019241623489616422213119109193791782518813125180531731832043020010169241691752201222545218901362504924071347188163200154151171205207211233471671422153135184247150209582382185522118010818910161209232181220721915477356512722616314216811330107702047018762247199173015511770602328951101119759902081152592032369023989181219167268811915623157379820472481820012532381894100207502482480102160217192156192321323359200311951676016031140120022051941193124518162713542380118224116141194208261631281096124651446541282801581841002004317618856241042421895956117188156402344332213342311732621313169121892421624572172205871163896711421386453602352158112122920130231684219685161248516523213664203164989624815422261461631819049351511928913633723811239132140238218911845601816944218191891552918322151761300746649103370561751371773231247122243370138110129181235141178159239313296084128135618971991072511638164224230109191422513423811272551344519172191166111156121244117877129812321581524013419931185519801191591771385922400164241161107160732489432118019389102251128129255237601602101152225515919102137167934255821641532315561132348930565601281226246156114221123222281521161212096139139255591821402472361892121532252217105246241135237226141534391071216912496239772171107424919296151831601817924275846202022512026142221628062192158225213131485594196351339416518825342229173215401111891301149422113625077297130747961557538771462252099521163025078121224253247223474242822522092493013113873063861245512422924222955953247133172489207242024864765104122012501514127211226828623999357317223155233591020722222686225157205155183661558599132841371752322763775665158150368422932129151901305113817697221122791192079525223623205342011542141441968719821735141752491458213216112145533711280932451731368417214624219015306212618421672155124469218611693838314360412521061927114312925222391036101166701852423919113828862271017921745247174181511931023101255192461690111527173554220021017100234751152041642178613011230194139221301392301884714112023114119723315016213918213011180190219812275373918516723154127494225020519131113217249262501291315515191174136224412047199132491278108175605420663254176237228106255177213222125203452411397749139771772037717715155998721922687592261591806961148135015601056523557174246225411554517111242461204512516014821411521516123514210925145203246662432469123017355205911145219111219117220177239188235216125151218115215121160216125168140629022561942275586227638620530173981587250148624812842482441512512441512492441492491162312318322216155223971802125120011012112842516310675921501352071117152202376014852052428896176166185941631811109918123821192230961652438016524312241969021514558215492404332142719516519580451171641585488227569271237175118232411831181221532354018223246179677114612001545496733118013560234101872231717812812296411397717545175648501122137611225281520824676168199128244912551861521258247868325110710532100152563012871093754141521810417720920318613043600162171701923181251061492311832432421172192392171421418478241189209200159106234825312521212246187182192035245301281017918412702051602117658238217181223181129831921511222461328300642671601221194825316879020736702432241671081288631242193227133802550909540112416477230174250108245134281378158869914270243451792416119240241964625143285923989246150217148659142158013517028167262201501974420818812818532682278512274237234512130958239891432141852158495216618952143116911711111389601613322713792108169612023542182105191103523681151181171233150217162204111117321181178126156162301191334518141942738515580871404172636069231295522202153135831043213107138203281684134180148935115095552351849921992104213861002511843511418155254113119281441921472226820822717418421323813219074247222821512251061221071612052013524564302109523819420321323946118901091396695153195133221491439166225711112616810212076128116895860247146196119891982384511503001832221210021011293186154329515282557214121912152022512262096510412021912031251682022132161227174772512943242426431698023117821215721401551675164250164512824364561881538120406753206253149781311201821225284311924514957160145871652460672165246125229142642016817501324411413420721041291511674118616455197971602291521546630183691601136518991926051222369105224147141921761323922149152183586718871869919818501891267912248158131966123813790108994106111212081378621713015925591163183202169163212150806579165671271732119629109184209133765015820210394158671320618985142128217128492112471921172252125315414015722847225512437192175351351412951241238224104193224130165667175225271891413016219144961341352021681773433667121971224052322613719349191317817260212314914412213612913421823648391671431565854235228422089016379210322262243386137184115104122121882141841953322020106415511337138166791331033316397664119915931471329166102336722919625314710622525217913518521019267126653881041098991881195015613012232134171244131146213188162182184519235143736415319224110215132441468624001823364192492341919268161138223952116364183670253011822211121812110924585313922011115512020438225168121212153865215612219920910317110316812680138692446511224921411371323196224671516413159881551329941816012240128948050153151140250720313525420724012874224239817119311514225523911331938317517524225322332226251159171662146862410196104254642347318322116723310523164180196991341137911562536311624285991321551351652091467912810899149071238215101197190107197124891431702332619872607514362972262816199225163166239246206711021751881741851132211026017864532889241941311414019722245356017212311722125021520022098220752403454187136719224312556190913021618210991852131548155223872484215228100103191241119120022917319915731442512031272514118516598423325417019016305343109238147199171191252249175112243160972089016411115276128212522725512432143744231479824024163272145721859252238183255209219221139199220641111212076381399188889121242232499457841051931373277423316747135601372427714525211175170911752118025024119210636421536917654202289512124314111924024319447523434325982195155121251671081804121525526881532051702061662132298824111762282157621911015273243812550476729241021812707314810940725520924822165912401905222912697341841046108322061761492311845323176712022472221512521048124683113225190211177106915516022373248536202135959324869221249542298723122012011914224421229951065724718425324822718218915901461287238183197223111137127208182471683711816521144321021655324216160244161442281456022873115565079160214200199779775162128891410716822016517521611316420211712761061572511001312316861991621931071342355520324315922752202313562146712211516845816223024811311513016489126242525530524372153230167142213391484701521519624787701812224918322124310741242106412422423113015513795146133204912523051727822551351781921211291556182411422321617216174215177582072228216712910231253011791801171992351411621758771061041631411103213781892124613153841361872031086510911945134235921664140254106180602091062311278228163142802126320813454329168246212127782021581511611811341921611422432331312451746724517416131251312314919818411621039015319206114914261211422241533272001611871946512221116449951716287671126995120213162376311219780120217160546718922625211878174789114524596532261291722412942231193106231122529316514224254199262321121018104182013512913418149565222317823219493101364562401401409528512862882315480235742507702660710680143193442251297079224129915887119133831251422612926188222104132107880931509093230462335335176155196115845811722117926168112644314121420813417115638235221150681527248204691762332239206187214117233592717921219315813031212223286124177185234203173178235708032401928021109164198514496162209310180220501111879933185110443419010256193165175246198172143717414130431411881547188201127862265145102205724812962111751622817222512081881961199423651201971282011101901054619111021012220317018721617724515077199612517123713678618622720872161158120240193143187983118271117150805923957138618418122123064253313114917419421951741871410460125712023012910421151929923216125412521895910417243088112224121039641021164162626793126221116180214294896732261914010220724289191311619231282131905016715818199238982512389859240244104916612224769177239201351443718816459352409023713431194136199237161179661115016110081792027320969128236190119284719161142332228259641391741232141681870237651022151261991461591752052032113017011470143211255175981171202472349620223480234106952261303611215423959352449110610892331381181202102724716851106130239360240184432349124462531771431871632381831354518313562232812321221254184432862163571692391321285788231210912372129511244752371691142321691802391691782391711184542416816311885216182151881812226983198161229240814623513495519482044356902401841002241624812320033132021422188190186792019622414318121617759152975812412167163735144329925021686538162271633622315617220716348232728001218919423543296320668221111617121012034503062180230148170481452522210824223752091240140242149151603512445185531061816082149010806032204049248967214424734912151561291142241171455561055656620713924660621042511520052981599464146265111413943326520822215321321174653224025000144163204216022612918113212812291481081603241701301022211924212322313719640177201193231615215112824530141131343096060189852369722119222824715725322317824713424109672212919125179587868109162178183511947719424713025118314263215391220672128949144198613682558712122415923225760941361921925533120639142255435813324576382650148114210352491488721010515919621165123127161762557174241199181232209111901201091781011071233956196157114219243153831941052512161471866273144255138145219221676417916018923841315121162163391591171376010822929103230261062273010598203126229109221151223210126247351478722221290183113272385512023911148187964594630160108128521761931712351736144190211232164199642299191732232283925513716022611171171171413516324816324361621151724071392522542471911272492291511619717018222548301532400122252132732772492322211191752302291471181322301461208016223933961192512282092342522041247610014016220513847242159101421520829902010431761307417067148881911747111207140208144212184381842101562552421356314114141631248240140100175014972248461581571882101118716419316169136101771202422242011111262542191839437721762411332456416458612817933562782413371991211351655560184121230131532341412321337121702269267941662263838314416945206214191012341050116164217613013921822020718110025102178116432252315014611246242762152141248611197244112249225225234791224312690118241241952487724893561202725521013020812297207418021975691591351181482391551511571222121269818512120725323013222923015225110911314318714630182199631041411212162624516037252817524822721413619945225432059714322919315164129203342461824891712381232551992433017111810718597461891002201152159744444143121953017632241159230179103133225211252200105126200146522486583196146521021341594821418410314612798821121108224820114824871191301591455252164189248123947165233246254142146253242219209157165145293725499156144577319617220031455635246154234915010117210125218219117782245920597143862511386248128617821823918611814912214024331231702593853061181244158261221271898711914925180131879514171103133757918112387185107103137752516110679133251140481126526544713121212171812102117722026120191531612463301203198148613324025225482512356012210792187431932505697186112239461791111911071361893128124141235202072712515195227101341261881296286231496135854614617119825260931261904647798712020164116217808016047186100023313476141202471835510210518223217647311214196643957204174123118242271021441793210267851002042016835315637422081681761912244716756765611247154225179192221311329709575179102120622272452041452614317758250130200311441081621295747100795412211722111516820721217019016086159161891511741497410010421210116821516517113747251214881103569451282301201731994080743125158207130195201582071536198182232471902081118923211995200158168241104190106822432491181131582221201819112717735583179236143312141582232171252151412648230249621632131102401950110120188222179243174454787167229150149240178113109134388824613517312025446902402339771204661152321881245220523524170155917389207137769069179872091908764517269169223120163796731031458523577179142219150316578157695418910178159167871872255114112222025249176351245226182176516963188237150155221571191082181117310218522224737254672184201101253158985918074152225108181712032241171124024243662223325018881624909128238203252193151243242116862129221689249377416014525011917281220411193232163151681911561012031431881291423427136129725020329199234221230691723713731184249250140932969868024310610356112233253230641281651291062614401961951171741042121621818319394636115152504328742292514323612320312811082502022375923990181222541111871091932032112862516911371831711872278659993016193232167248126163132221891491104569246188751982106623511319022323464242234642108210721698115200148208119902322472416087717014212721029243168351814422412612340137112150219661512196612815023115525323122812683341751714154361631282257441952322151642141851872206511821168118195881221958812069153214425225124202322423920118423149223523512382711421288145031441557218120243124212519142771245415210820047114221568466108183531822181920112222422254411324368107331119411601112322151182312814822225310547157361037325324821912519721868170111250852451601977921521212891130156189161114153323420033130198672521126144107851431379702453641071611218522120128321156197231941891490682948112231672291975236623313617625419622319247175200811921287479121962052022818151101901304126239218163461302471042541871881631922262193730742481422318714725185137138620129215215117465671341467926135167237966806010870153201861137119224721936288324713712924210281251129715611815917779624248632013682072182531277610025419222322912917593752441214121612815011421037229369915906321263245991911481795414119817256291022202723094111901781181211962166829163239251174523315612123265117122220187214190175251231249623516723914723224123220512459970202199158113391566724720925283152161251217177115615311320614088385921322257100167166195911551295125832471632371501551191521751279216048642251191130147382185941441947112617921494254797226182851589179797934339978190215160226118222323143316378906911869128128597641128175512064101152415416616682629511349498491592111192613613312513012064196239115414512518180248155600177210253171164602208143183146322287130163189221952542441991451619719722173014882192025352441576125121815419169145119168182281729751792031991415832143191113221753272161101340603218912311618411325543911817222215921423291711561073620421423110110416120119689582264422416181150158482933129232162941953152165234415450236372312372192432435691451124571502482313827621872539581301861481434014820510414616229612831961951751712541871481592385523220216633324812017724923611420320916516622124715512879815190981519199151919815015434231011611121016069105208181962261923724022998255251681460162821876212122180221180228231232138242132181108914852092237190119819110519023952631161382349358251079678241252230197818318818441126218362552007222714518221061119254226253219351863119910821723524598136211011592471863119819125123525323922325013169719251811992382511731771151121752301286913721516215217744245901501781503762116622357941922847108170331001722061911831402228319315220424721512324721450128412223515214423216811229168990918015120918617122058741572192382099013815632238461152710724412321622131190752381381521512517724025189213212174114167225619856207103168145217912272228178235401671188556129215233171118261051122919615530140531222468782653511711013121346033149212411499181241241497523193271261741423295871521751992072111722232652418227210224216170190216214144161214811006192237508623562942394982237210126199170249134217965170103164198117178193115150231539423149203247158232482042421887421682371831731981062212401641269256716819297762123016024444143532132006815751245140121129223841632155219912316216312270103145931251867023751816192128139234161312345132161941191131674095119168140582072439412874569417928383611215491542311204524112512873013825315124962131197142269222118647182137115116381712213817092165525021127254168254194206190982517182553716123910414920380513158521211821982116914116513417020721228174245644802346713112123818371207551332067317152043423525560121617366460326913113322101236177122119180387177109911618924353147254181991743421978018891922272462401352372251521819415015413123918313244202193161792182388855223481114318010847180156227177150197236190181232332113112910167391091611527194128730537145169209621723240134320382246131166017824025512518525536135461859888241249862126911211412382241014427252228147158129129102614406011721910917121491150721834522573126651601140121847521113191261582461121815184146024016451108812301352501812401090351171741631310499141150592210013401281292228212301312541141231943160238181551581818019216816064167497518918321297892624818437981816123473912281884096184134222932342201242198612221174861041310647118154227602337788108915720249205201216769126179981271963232115736431745816330180135223239024192666004816188208284843671392377813989836647208422217676375217214223521791225208861002179010021712621574126211132252131242023106172402371281202401991964671221311116631454234423914102248501932422632245719920052991264942233248910614911161451227212361762471297139223193434418711417019290174315822294046819213622240193227118144221871751132379521156828572688129921302305243150671252188422624820116273361347612040184132526985613287653015014038829191222126996291191964223014415812721011820748242245255223715144175249129108423825517125010312064129415528125223117244121219158523895203473077819867131140195210182121134189972034362082401411331825716415628420810239124224282406224013123226716722196112207261321642541042513919222913889197136715810312818112220613025511119118249255196192331972013011122612298816053195129203513020816016061167200206981384621881711281072182523122819301691678912362118959966811253208192149242190622291251892471721881831851321901012292531901891917320894198254311851641562112437586243140222233302411425323577115198118151802111925215122851174411032899143218134237179152192391711522043246365922517295236411222406512312215617418123911831831571342381823020914022418984239245115417514216513915416125316645250235942521441782389320264830111174912476182582241361451079217118123018759722925518124028151521551551831811814125423212419197451514014014019619819814638161109210214175875480201323554130103941435973242511773913570212314717616618223960601231711562041561554125176177108642051232383513119519119731079609812422138169301261311371612174712624613918223086197205214132391042394820433611732503022319322391644925517212810214132861051872721314718813823541881409581261971921772398342114246172244254122781181049426634724211143180222312611501171212526252761397182150409171152165372022101810210413921024519623319819424316619447453725206298737174119471142062051151273619112122639105863831162222128215149991323213467248205220186158114608216338551021483241122366523519316516616437121204178609889306241131166200251772257521014469732246023419620552122772142093923560167262496222311211725129239130192778205114189199106220129756252182452352133249661197141122251464411613831603514015323039782421473951698319416319188207702712722291249832542131919162226228109708112325532362144224999614915112155455581238252222120117224248195230196573232114832001302041117822661479912911315914925079137131167196177147194611919425322719412512513201125220212972331937878114916734196237117917321317724224213624621821623020288912188911171168312113217236841221432218220210619023122293193152151134462021301661331727330218187160171196225288237121581217397902372208322521293782371731162331691122334611923317511431172161143541207911225361072412514930112813716190161151462071342521745023241117757819017552231521368796194456417722413825239146736717497249121245170116173214341991291062509645991842061121211820773861045180671591824867608419915622424965181352452229928223571134836154110217245841841931417026188135235189160192241997242135234322053023117871271246535131901471880015891742551804810417619875941049514716987157174911551699514716174978232214100234841031041152431401861381052271416219141629924522235181204129742072388223208104173215446396812418840106627173102180222180227102258412617421415216921587234588220514493179170252821895493187171216121892254391023446113233184712374111913323126172245234441132354411717520554174205541532213317314237952972912376959763104131597241442489821125514160019472128122151021322046915323972157751151617311141240128169184641671832161662354621813510786228115191371201853710417792431737514914353122180220507255221122211172243182213162208231190412019217423318624188157272618422327134817658162471646120729630476138182816225942171546364150752594618610880115117352741661664220152165919012761281047129538623120983226048208821042091161951249802319323520990878417314421311720713414717320982104182362416735214583530527782402081708925385212190741671291064225276118151217731742773175271172313125119911568047129293212251292061231502532114214422314416538190162631357021117764392199106129781891992341522213718024618714293165206240360841991521757692531992491908322612811312923918419210316141120653018832111226812016063176711424413114196315144194201244226197214224121224124829844619269542311267810424356137239441588514012717915620131192167601287189602211532441059601361931023573923724214221620682139819926104248197104250197646220131501124524220512021216481281941032271752251937699127140170931072051378319995219631812424336419610019131782101441694016325214295812245731143173607417225216131215811251022098211623210036692391523751331313813713224254331342182002083216212924564761347517101301993629532204152401881351082261432181982953142171732382118121345884970200452416801086115212051832412202559018120202368223200374812172395716218541115917694181162111118153817192172272296811721822318024512222113418515717110161782195825416893226113212691921400362162362217227144421415915011820650230208118122248141021648523697401311331028956164126992312412202161241471201731485718419211523254109411072482391019512898321442022442557741231159624725552771485115348014418168932411409716026882242549424055271182191151986124552115247892392285123421462205224415912439248466922190199392251375230751341742181721202471807993822072332503823417618321262152141031636223729431504643129154120146150124202462301368524862251136131238241396198784164124234271191982013921321851144867195146181213200195136262262361911552112536124239199171232071340215209351192335810921517685211178872151788621548123251109104326211314901722258319169501518810179248175133231120192209209177175175792417123125113107121160167167135205102147384112112818016981201002201091302205020616380782962186250232233229162142142461571351811831221782502412177920071246194186231601095614127140133256424581421991141971282811068160131114224802491362018129154199143156149101552155825213208123248631291501242321231241127631442462521151941473132172233432482261432311499117341222121888911219517581405719114122212253235252331931058120414020812717215046203552251651071145121256255924921723413010816021397150186567591120817115410521814899431901042199019228417312040250100181245183291837937512223911512522219621319073897105130414467213166202545717023311021815622822874199241135173169139178136510524016252161242523892163512156902077128481992471024171114294616314205924622218123543118232471172136478252118195149206253165142242171166181951708725212175575183179200110652818044143156197145748316612041227220148731931934923816919318631215102292516513015713916613079222199211146014016097240163614112471838912335165242175246171253167302001461501012097524217612115363178327719017977126211114255910520015240118841445446586041575046615846636244592142062172112181841871322618614823017041058976107109162172347090302218615521684254747139150217117215134121151302501061881872039258752825042156134107104678521222218187174123150932474464189165214678514240191218185191194185253158163188208174233150678715319924199127702450193132417424751415326476242131198249129163922552301871801982512222175781298967190411961562115164752304024314612193174113233151902292311715413816818921320419026175161622322570191150123206226155118125213204965162021751021421122162531812223117444048371212918022816693103185199245505022514673972402447013813213251140243219918412919513254882364994163670571291471302081902615022816699851669710118611385112170511416485153112168951491618715110936187105223932302098922621812614321412219973477205512294177236412431522257205116733301729854235810478954102251491271748912381175249166671231451792241466921723154852331222242512313722583252160142982151821234622114924419312215919358191174114175214981221251581812241862111886012618125519210620715821323822821317424871173104121205254925382441161881697313275010114018232236180144177362472917016174175233158421618322354229229168117223179236411822661522305123100104199605925453013313412921318554221521247223861042141152072296224145609616020416123715024912151177218311835815212852107713841911490150178233719051605255122168154214851083518910632191110204203211174189184171338339817822840225111225564221614212314121418631511620217180222182363601032192398811715121677114601294619823522119715124512971341711578123941607279212140208187183194113184301171101511615121819397251614321777227214592219236116511861371181041706416910995185157170127160271812051764699103251292031357765115222317418714173133182237183237591382810155172154111219141212511294230225879130584196247861871554481673711394516117118911314359163231101651921021382541291581841491101882028016716213901776512321614611418820812419274720313921521985177122215811194134246143672716816112522925248214820095191167600862414050113213196109672272321259612111912213310725119912924913452801297864601562227171141123919210131313428168412424621812213619187582391672191764130220133140230127174245736511346518425101451548513522842165149255154126016170808945169132182401561317170955771282161254016917028981844115669119143218111332251691613620322151461790680922824133333017613662812621838246136105881541824790104820461154421281672313116122322822425115816347945313613461274515166122912912710818816212179201209247611888749248254119281242442092081601910421679234105243232391616720994420612346249642549712371477824134238134124160136237140810451117247256485213919235416194542252415310812812250223114243200118671181271732081692311752505934110254191479824125524122971215244152241296710712103519311515737436641891104119225180511741232072664261141121538324418011522210531187197281259320586105022216618817622910983791370204272220415114122118218513221668291181366117423115510025126192422261622818810622625413441125167107152772283313518499150225251109351418638156100361599938156101371561179589623514972243223679923954166133110531142231012061761027012369299639281373571715012413023815910010622717316979213209167262620914014129541118691143183151342301462487211416850151884219924817513223112012819396140141141412542321241919717313111110910924524024032772505830192218314019543471881202547912785927370159353249180182239512047820524924924814713410992153813901372265825315512414210716422811234717222304802293216125092558054424913514821635920727480124631544012233149149135143201573682007643102541758208152127862402024819439152415166888929233271411379128119178158242226139248691281601837616136122191223851211221561271241301911037016183401381081901062057721523092841111881761391591693320021020102105136327025336130243166220471089110124135741461512482311585225518622721417712520411919310019547631534801272192971953324110721071917024919733167234156148142178253243210227159014222111741542313546721301501641291198255698122428143612172245386227578878235461781097551152058411820180146175471891004018798121464322723023516677215766824961412339018195106112501179011090791132532392032272336201511301807323816173254209412091692221542271275723523216212915049126151837901819111541049180147281266416125256241237372412251012012386981282401921565610478225639151521492512075413576726771361776717816323718811529188791351641591422026330105254172872501131923118414011566218120828211966801131329117887941197280190272129212768841171328711813612347169171331218416223892253519110147189105209852304892235501381511177422416811219236642916911523817116454223177179318326345461161492211011172137015242247129247247113247246522382382291661310246157514141202142121381524692472431391957424223210152042266025018992151367524265140178752042021711722422039416551402191534669217110801781816216917333185189491811894951423511152001712275818518733110107722342123810911176238224164118114247244139156473788148156234172361331162311120716024480159104632811811211824710247247240247119114210186184112152214205223215201221219205223223436020884157889524116551359414823712155219243781507196160162108119104708115021918910824723443442061731281986611899161127221117191210602502217615120221228312121217623222416822824006313210117871252021152332475092111125233411320510186237211592102814391231682471789269197225195210195319425317824224192176230218425212841242234465113116213213128166202132229158115796206174246289023776891051419014841602456713310422974133245255155154151249160254116920788189752351092112381238620555140561535959110155245209120311124138621123016519012025417120713212812919264228618423134191105220116195184227150121951772373411231654116819121219022913420120135142587642218110411715714217671456516051452076813171471481851016243218816421514416522214416986123171096466080151142166944025071785319325320724018820110014396025399176202121160130214957851386162244112181111581542361331181122032112341841075212129122391221628721866122203299023888762422321118956421281292221072241292302191022371191731922351312241941423420317498235129741352541018715882276413015066831049110925014223015538203822551492142401779012279492202151312016018713254218224533512152217772401241991856216328214813553459921061395233137892976260368823313215112811836642271331861621287301181341313011769622328911061389108124815210798207172480109901761621482502061388821121751051902151721441332478399225631271071200187885221452201731109622178504214952213913820430214246143223193121316772232637106177992138810435211220711257113210198248431212401992241674517765721176285436327091881052389210135140189811372289616125189170501601811971487518417663246250200238671307219761681762152003710663290139282082302311862313622413313428014084139421937539193418215218861196679251724615471291761406285013921610316152178147171772519503219371120176162422389622624117065164235964512128206002424011912064371802041891412441091802310107276112481921052471051441092264918932521772481097214711106522424517322714312824518314057164230297718251511221723715212220211722339104187982071761579414519238013412419125415689255302441561732552392325719925524713215124347217686223196316916722017615683782108279342472593952828159117775719721611521411923916714024814715577192137146142247183552381764824413821116471191111235247166251251472120321655217604877159149232241231945724114017411919438107315618121749192136157106171142081521891994125056512458310221019925425112676143611011981365524314016161641856239511131122311019321698226106232266414322023523127363622910011219449103175232779114055190186756719920920021689712039821121991214161165211451072521741216421130131131103102102201271161902231761507120601581571572910521017960642164215173711141159125235715517113943200133143316094115125263232486017713418654105229250245968616122510416940562501091601432124102219802019186864174199651251352182391272431351451937318048232154240240254319703317620314384517254312261162175132146591011111892301522423410135144018822615111217224958229246159226238552551181461271221301871191542722312415719820548108188160211240165647938314813761116124166233250220207141272549845761672472237611502551141816317916324823124111021995831460120238152151892444610129561111492071417712113712324912822810221088227222891261941304822612944252190448173219352459520176166262323585462531971422211831732191741557411244196185218194287712615066391147159173452002091722823442148163195207209198187132322401792451218913422076195214155781791881686911323412631091381151001622412041562362322616299713452122226529216410309664213137113382239464125715447822345166862511261824021651199143911481967696616716514517977209832421681691502123324922511023319993205191169442552019525414625017195712542501191131912501431969525446245231191223243179223239249249239247254234119123127245219221191248117202191255422411031917632250247952392541971118225422787193217127982211862242061872336120492384411914722902001111531832089138618716019325012417575024619522127240551311417620929262551667111910966752139410520520130217111186164191106192521801692411352421342079024963234146254188167233871254519123310725310910321117510620214294201141190156191174159178324322682544018141752291992221881561123116412251141102441491881522342101638219314310013031139121632052126908912418418010463167246140176241211134234211772261591171832531357624899185232392052261591185225382202255183202146351882501151091781591951332051884160163249215173178952006963109147253178892421151532401031142091917556310518253591686924211200228212156431901812557411023614915688136111781601214915117899101788011115019547103692222041431871155323323824521214619418016210720121511599174100712211901463617225118417522918331091912351442525918322622818910741215178162242207723112525124576123670781216832611723235236106788469209193782494718715412637106248848025513713624333323151172477130134792342027914922301062252532482091961598719912717958120110181512371776098892245514321424468251882253001082506518214130506521088627511422312118013211515423121787110215118219841268515915117321411620596160220190253174692199324349142219195182192229381915717755196112225104163107243459932719213419018155135114191149150192238187214194124157222185950408192961782091924962218844143209872382081222039212469159147163201201610512923451522617952185572181527202511451306478231932198911112012880193201515719765260022576239105309018282383418910240190172151372132061362131240223209243661502361541612361542091214391444819324128170113301741152371751622461482192471482181832211771044152336104190105218118219108176202171441601871961861832041410617120321641185106208871021279522176218175392229209117215113150239631959979113125311817017311619678240252610723383224698832161632062161491582487193491711251131711252411041402086421010611122019200233137932371296824416314213625145331521919515811671631041591108962055552065354452161615812812220878291001791421285741941467523463432422917324728174115159226123207137253238555147631257912101431236523522832832714676701942324361282337123863481489659352012096167872485412281440156822471413822314227134421022114272642411016011421922414013715938542915652112221624423114062246217196184431661340231224301281001706874130176173871422682246276451200204230175101043200119202271939016112422012018191457816522281921253371245186200841087214715103777342461546923873602448143220111261501662331918719551108171918154881409362241194824186148214255572532212541291515815363641329602042535914262224251193253235638217391571127461237144114210342301602643230295219919211915111914811312026642200325621822561269119555214502461620118766117323152765442134672311892311927631032141917612312332551556670255159891268420975240213461302311210766319219210511915616619333230110620299020273183611036024712523618524715671234105175212179190169231108881371752391802222481452011236461221102252462257205130246106210992221812421262031561612302617420314051240732301127762103181761234353120147532356127951320724147128521392243461131672327331211192072492372495518320022770238209154118131234187190163233184213196991353722767351031097150119236161144221167991525432342451401311032481348711982541104917910058582501061681531882541015216197254321656146196119203320120120175757513863582231118820336969691221221383723119120232321551162442121616396107972132132201421882272022342271354314385107110254791322201562031751881219812261401902477148011031127822232003104139101822050331342424018824523423511314581188122229114791432125513517624224024125316522914971143240232160397225579242192115111430175142451212320820179894164172354312913039222188142114521202038023721769249103192201251913241205552201851531021561396156115825212109113182142367191152169332044822412411019424919417722911420888229225213182223117222611492262412461352168539128225382922406519017428561682413422919941150205693971061437911224720724012873423975195312001311511652541166214681579195137992312915521423523024275701466061971822226164148163372022132222923413624224568249250162602016313200114117337109671503666019220350105185651552291982052421187911524779115143141214291912541232071639197643222411618013210175226152224160621801912620012872067023915222612525064114106150155502031399314619876111951021641455124220010512119668115202802431371102171522913015925419917531252531821221221092462442172292331672332381712272341712352361712312261712392251712392331632392012102451002331201201071318022031432451261525522984194702227717521319012514721271051615723914615822413819364149243389025024218437112181512286510720818052176191145221873162427219221972202011018614919851522912159551704047186228114662132052215318321123423823817547578811312320718923513715117966211255194202252220553244873120127238111351539524865226252311531592552325320719111513556636123210265116225165241361112068231103467153130204167295201919115023121235114236205754918317419665153226155201119175399420212185150271571122012451887213616119214125240200441321945177552429910471976712105208173203918317436922021220324817122323127240250226191188254250123198159255195192261912543922717519116725524563616325579207243255197200252114324775255188243152313132206250171111250159188512542041861461711416732166168322461421215627121533536247175126233127969424879198197255981022522094322714322223254139113241143942325419220419124881225124920622918425211129579517622514710113394203139184146291502491216425015922392281992132211382312221423717281582244207243216203222371822369921821110120961413249649013617266590150316022510616717412315096241165151117651635318013770183214341792143424320968732135745113671006222728247214591024513338237183205122139173312001248715432511382374185902267512219610619143461881641149724631824958188604511014012822151845587717325149167111371344418037252406421312118024901001182321920711125651152159694912365132182211869476623455472441532291231291071352501871391093118142251261372001357712967855220910118915091102191201501949653218118961562271372463923021019927616171104253229192021224659221731832052082141621314261165546116518211297125198174254101991492141442132062002511782241451061432389823412015721588157879518521936215247971072121306011694262521843281272902201053225120224657119622717410412049143591633212621029112420300127633524693110989110138910414926425336524386240222217919715814912825216669625134311920642352221023410418919914020823181912424925124714871761137195117131993814272201739480181294132231043211121892182541139160130092241481103215472057961302256618422034702411895917170831851541616433710852148129911682525822819153615911872149191861028179203168286016213053120160236588015212385852321668819621467155215138241252271125221796135140122372372324312722069961814516614310317646260136339411921941415372649451908115473120261441281211961261449780138150792201420711222824515712972522092421601201881623831248263624818760240220120333618891217187141048624191118222111216501831221342150561651561621661581342464517225515511894155221130181253191281628837913236244138220681011474966214241711562112061938511216823819107155120220101223199961392982159247235223181158512442557733151255237241012912152211671132071921051831488319232381051041521447521810521518916714166146941831162212262362311612720011523925247228191102417115291991892271431871352381159782431386323022125200332261287521010520317625321910465111153211223177100170185135155723911373627722325115310924417771022047246236183451521552921171881817219515593915711377606714363227151112206210539019520421921649882111561852544517377594511720461213131052670782278945420662847016015587176314118112117122259239236116166249506031831112091241131951071704588486242187230129227199796021517319487132171192521424264110110238214173104634782231923240216200796734583611497981501521973914315940182186253222222077121195135158620715824911103510119513415120968128245192313815017116078372521779811019293456831323070382363255982296221770013518114318117824222824199212636496224255396016012255241203223188184238133234127958919124137602393014059152227237478112611812858215244215251173191271706122211651661441991721919622311219313815511020120718020100891142112051201531424523220274662441511571542302531662441391251901021751311476174248089255141175839412014728418330170517113600249116292022299517658238291522115888162379320197467519415019725475981595715823168173115127177772511172111667513482240253185581942810952664191751236641321216412424832843241481440332282411179172261911801732532209414623951881827237126322541652282182091591648810419114212620222519920026734812882401179817416318814112710622485236925017616522822482211199752261251791881525765232156561209018622131484846752614723625146157234105254851152111512495512726121208207132105110236109107228235108194166271771892452171261862541291222360996312711595542001402001520121219915100199162218187168199712352142216118020825323384211238651418719120611516822212578194126208281904415951101495106111551481352441119518724817717315618919424225363251129103100188147111201953913023823197244143245246143241242137164513560232225302382251582061613020697158783323814651101804879231112792610034209933425110209943017744247104111151864514014153110145116207104144135103148596113422522197112121131352422041201112474058532043151971203717624177761434079119801643935206219351982721331193112143241246136246130119334606099188220163241101715815820976247879143401867116416710320131302031141412441141024111682461601345028131612373221296723214411897155245136102120686525376143726923622781191310356135122585187187132122122132516135152140726511382011402461627150611952332448583518228201140162511632594177222238173014040792551009570140239223861979818823249761224420020335202207355014821233291611031171741836311011569190951117719636471088922122191411624312855230111185183192831732291145215202159986192024722391106211871062111252159214817520912121512413423920983110211116203168181200116164158672128250191641724914291203109211150155198237183762517410830200252305571486162157191927313122711120082171189184163230226142186244157131531061561081314011542209218107243243117524016314286140213232282355362229118024912817664191183212113651963836240281519233217148966523659821391821113771152510413282111204227214961801672197783014619011413517758552402531891011410421912962479174231140192107138199152225491035222161192211791104652193602244602088510837185162207207215251691178923713892237136184471112222018177321210418710939444810546180233441611425212022111113788233416315912813255111941061415717251223111133583820025066791869920816816115821613523722599927095181243422311192966530184212281808106109210610881482514720024021297251236520215819251129245718014153210251421682211011421041231315824721524001529050212135216101226107162002506696118732319346863617613632134124157128120176194168188114152168156189138713618313424244149165691593090197431561831011569818862182227144862105228199431901888793165561331017118791372164261418086164497220920219615467401281741411251382836132499624120189401343083249104240224128761702541563653297181827120192441243124012889248942530180612178652127328762521872466216131191712431371911741396419331281423080371682541601521414602220211324421922822418720120924710972290801362347223172192101207572316110323714614210724819818910920712219920910373519440108143932109187196227186173648311844108245853122172371481222183825423246239168109244112243232131100176168823418110225312320890552552232317724821623516322579422232557766190317201996881272149459819502342211279612371541241818158251621182211232145723718067242145159312441235223162188179115233519657229152123234914319699244248163190731672161371672414513518822614217782785111815924576251196492381521299522612354222472348311918613358196282412182553175363164381582101031671081612254621072231574617214177116873103168137167612277825119715621452246162188166109781324510611601092012161662272482094617121555105111120101112291331194127222682222271971832221241232034347111130127211223124237163119223218248176158242230122254212621871692281176016025546156023126252147314325422664248102672469341943361901122251941232391291367225271200142215147512412624613115940154250823752464220240247252241102281347986717116688222118414147174952471826238165228124815243025064113120069391362067134013402359588255210158164221114177114213871002388715911040134140622222301281724617022412953111017321325515824092195254651256714413916412215418624018956691834370206128113135120231139148223281657311129105191183951186176152239197203162113511082491532141307643971822163195661442291962031007446697911512790159181207771920564128741606162525419078121192351971831122070100190791612824022141189118120176234216125249201372011581011132442820711113467159227123140862191514989247220541071891082081481753920321514922810513924318020824422928131131742216469121581687932152459136208741545816222911319015056311023211178204107254988925471711664325451131991672356211018815214868125249672292097165262202551071482451758394121310536047209702521353233212176169250167179776315917157882223991150196471362102686222714616024123024820123022119178131992421431232281911691732532371859536895218906599151879141219013324815271797713013114066661411316745130661723131109646533541933316195161856414416512716016315913943834757222164234206241169142159204117156882347294106139901101389110989144212968206536977183133135513311613935187367315722699771316779291172442444916125056591771048431363922213209219201206219209198219193154229962272271002312391081951668924958217248211144216562461672175565941875713312264108312281062323225718225420680181002332271042252270135401992077311354192254618024611513075441252920518823780109108154671441719948661416879814493128112019518181451881616615418518316325211193148233961931301241841572713729129101306016154147132155109128139173632056219219765411231272359184751281399916043601421891911791471911391631911391313120514523776131121171011213342821825182237224145125156224444521619515610510319817616521174185195181803960520019815910451801510058424883125922208938108223932092541112149314315815030921461676011014118722320126048392431982271331615602371919234135115015937153239156144731209617820910916820297164202971762207015216719820522220993106579223921285110213116219160237158217104163113219614014457847114792211111186972168510020995982437220612632991432141865223154170220631542714478120968799150583991157155163193203213132179141153262201084594142343422423010411517818124012422615721323118212922168115112954392384716746753726304819244311881879816416233521288322423015511115420017427141213185263225122229245642382231132157480160211661181371989119413848139184244225582152227419925442234965310913420792150177231133172214219230146431220367213142221372149319721419231627512221192250106103248125891922019923519044100150199238184227489223757209200261699978921675779714358981582242211548778312913198185222160229230805210301191796301363760112191532096160185200170191198101742002128811096360455574620325323101126882361211372231728237162611939776112152163245301573724615719711819511711011598951803541479121020461182179187136783245130181932531915517119813822023351744921781092418222226174126418611180216177246866605911219596154193157171204552331012828178914821818562291849321049165142218162773142226133682014816119512023616742242534208411361371082081306310467313049625016111412447197601022132914919415715743318717524823895113175231418361611171352019415712207980892301362201416421819908102223208015619493410217123145194247261352382142421372212382518621361228342240023512517022313520625422425119110379229172207499301924313219023923615241123845423437809119261608948419177104111503113611920819514167247563615811221924713720319014377352471092418130248208538015515796211192164922914889212129939481315671448167182919932834740121155103152126112138459495844245115126253187214905525523710424773149176233255918412812261903446138197133208220021251144122202352455261237443523717239164147796423615812419421263254856719915113236117152971801846724414814722241167124837871661251817623199702208118316813117222110312424612523415812421861229180125212193237180192871215721322019515619795024612623415611621810920739180164515822224123990179222529923217714610424112831312118363246138632273017695223210119139166147145149143134524835531712322380912472262223649200247125474216768130336519811361229691881825817825123520946197952033423913746249182194754719024423163253892412371942232441002231052482131751262451941124078800243213753225233131191188241229918711142468378382541591098811471821661710521525011722484201563224416121000108192196611212483112419623241322311971313813511717616525422914315920777205411061322471579164250250311178024963342802264156240117250952115810721963162111811583179491713829223941621602313349515013162160802521099424821189106249249240170139225141185177226432012521882412611020553916238611685835178543918554247192229255136101243387138714516165216941111241532422421071481513213512311302161221122917523123613523578447420761108585747768916702052433382342326721781571192049111024202462337224211619618518672121250886226921652241611714247224214136249198146124831051901853621584154994620211316228491715125213825419423092741074525423687710876222691833816834981440154683812144185206132162241038254148196176119113139207140201127562211161009017812386205547138921613377111301671321714721022897217145129230312441822541821632532031911663111524117911696512822532371301301082671733664525266205252194204216173812681381901771981721203586188137951301056416273961301139618881961729796180693221121819948602012321102091611371743120411729932347292110139424016351471315414713244546944181697620034250411318922639324231202133632231271301012372391022420110128201051620173312416323241712724167192416729201712128173291817351014213013211811218014150461963349186161160881616485130501056916911411620189124455812141133884340109884155178301481922131461717217221415119664172212413320424911219988157964022171232616713916472224831441510122416679165192816572132681692101861448142214116519410511674715429410399244669918023564144208113721519435192125227181131227117130192441301472451318277319410825261157344253218284220217614461502191481782202818132243159151251160206125107161201119812381121412794226773812442022081441612517115120160150589023160136391247911422071107105147131745192247190501552301551342051337015719715019511721222512223496173837918517318820872941044418797200201811071869721289100209126219108178193125942241813624115721120119151218201111241110116271782121078023193206218140931171016921310318169215103106521003316168166102125134701739820120993184127192160191156134251712872521513612436616022462822311918815862862315782227628823321011720717424515019788189592181581213212618159250971158011116936379278164253142229100163231721731194742001261681982521821412420312212122219981681033193131166128193741062192924325622916010416415021493983544208145945368155241167114121218411822111523243115301742420361202102217921022253168532341131231226412121558122212301893211291741031822359182151562448718720573280183016613085692556420419524617622561521745243182982199190215180144533796455354553520673252226482631762511153415957145311047023251206971284187244858025142104131213174144249168532366520387120024041103098226242732070144021692528507735142318036216234251215602040376580134216952261918515827217104165513524236591536128247253611021471122125825416811722017180726381236972032448226135321821922512519022628200391013218213763162220127128241225227114713419418717138331441471819612194272160918896161155194189988121860267416215522628148105251632450689824215242193131195123354801113241012971242025210131652483021124022138971692501923422214521961661297222177247122223201231672627144224107199111717908020025133112222357961471392552198422355291252221142421212777218010792712020322227245021617922217897190239228183197531042335194342421281991292072201412413838227381272281383812168177162205342475916415613020766139291911976144222323313354351157262916711812269169251160735961661457125512613512619922919110933211255207123122251581292111049912291706503204189311232392511961152071051431481946497173117712422793351524823757231191247192392281472222011672522461562452191252145924144324984192190791252471561013815924472567479626579622292812319661233453246176166103248251182442917524199184992381872071851641562412202511532311903188134292482001932554511516616195178115252412071962111582091992368920123018048992718216914117516311540205372281812151184225589718917814224224258682196229111017972252348914564913014222514610432522376168246205215222202203206832521971290134761015219122311224423220914127114711219524024723595913820414322222322042255154197248191167706325111450512439512123329121202168814623910919325522723925521516325319780159151105618031622412348221193135189241181151951431014323823880462461021334188883632332564361602043711925527250632915810719123416186158172601202522359525423037240237248213146414322482132103140144962969247931381832495971667725525073192221191164113243782021101244418412416242511734499952052295119160229187235776912120820316815814147819422113610666511932252431311022521238103720523114125025213673254225101249137520925457126226130321221583150942272139322820812420568921602052072131622810624311511624957250194923581174169362156614610741201177132132522078815417547203551482322890202243237154242156154115929011525146108223134236224202220184235127137249211153981895221322268943121861272922423324020423313144128282241248935115672199197182151412012368774114667110139103901437854165762001931397761372230090473644751226253131226211157178159741642551211892368765187153214947818012880167128104107159851175112137123914376932222091791237519923029321820390174235213220223181821424072502402191071617687471121431186413886801469717617530203192471971761762442088024718524124625317945177243205971392051932034519313977129112421601354522515229225147220200222250148782221051852481835322063693013920815244215877811522117330154166221861118723212915716113511913430221171221081232162252372257182135239199492101421763591951464258444122925411121325429225251254691931819583195943614812710471232145292482532361057166301241216819252402085420021745802512181736777130163316224841732401802419319260898120188221420159622182245821022450218232581931171592261231425318624685218183223179232431832356524310410919316143551841485833366023241181105187993819111081671341281912015867117522411171251281292306622716615570237692301731837791111155158681193121163111232187163221651266711746771832042717818142472361727822385147161861551691413019615467136812237232140247120174189160941159413212152165221116195114160194101162193107138227612172241338623217016314321551134171220911117315517491522231762282292347517515476115189862193586135838771478790195021368714023421021327502139111115339200175271631051251861446419271101531933306775161217641652115214349205518240921481762306910082181616395271442308175884216811005988233584724415922717915137335160191137702141801286135108814813522211114115621713213499123958542302521223123424246279175154116149812315566206020821131601301821062381401521817890239217522211772816811369701911465419310178227656517934223121912386232514596772431251662491901928175225901832461235423724710833491932451222082824616435266825446222914817849192212130187133671762545811681510180010410480722421410221625146236157942255812998024151547122916124225198154215741493142156765198115136657117322614194717414019311813116771600491563766204161431331813813720020212216181682863104451216783292132152522022462817613662936341191964811201724819619231121071461516465301423319243212918735206001431111325540327613311016428741321680132821813720609616148164201138386024017432351251704719219255205311207816801536306022423625546141253462051111914918913723424730149141691816810301171756250190235128134361938511271131160201991488317425162166238623143188131252411741472238614380253224841876811222216777342461912422418176217616839329176193332293636182120132241332371325325311917168188251119331082412557330216115138204286460160244711613819023115610721011320314484131432248711610841239106174223106172771111214357281802551791601251596236253361122551679413739204189162183152121188103228172225196166133239243736132427458697956193766223715312021034486915125109191261926123318012322610510221810330123621653815818214357166205140221236241682391552282412514022125212623220520461202214352141373010775111811636898812319124223414252175572525925414871362391351521281164129102149712514360128134178108122123211205107202239218212227515324830195163711432262272272123719460240213612867691421311731952442161482262022396317212157111120339142159672376918213602297523514415119513412777255086301241542402494215223119524762252225167639215495862125110825513114921313524972255024012816291128232235686116725521122518524614767229115221188861849920314522516621769240234582282249211281371352444538812114724740193544728242223126386623521156253243632441862452151482231579721622785160941941911382401296522685202754733189188171759268192299817915402336311829229158154223015823023915522516520624122710318522521113236177267023961199166107701622109971581504095232072154162292513911477196571022261081151131421853621592146103442015114422825742432042292492462426015444199163411991675739152159309211733184366123423711732051831601021953181362252142405642193211651231287327725413064155169582351271251381981851851831819822316823219292203129411212521325211690226047159114619844138831661322511352497118753120324963190931164624948221201207154266418398250251851781182181841891709774121103232292292051482362160172127158725514101221174151116615360226245253118274236498222163271481721915610428236107196501272491869311410417624322088235190217150152249381963104479124424510320025323024069113240104677287936659231152762481399020612770301421410125116813536171133164170133236217211781191032002542933135118132282173011410091232161109972511831339913323722314214024225429161251119986529123110318061116173246651885424321750112222188123106173841671481977212119785202984208073121732421624719135401791822457362451111534812811626210211508024319323733135183135285237126216630116845540201364819238144230221608112025114414811516014331513824015922451167132140254913819912130192032131421573786771837636215132182381543916245150219138458128227714121318714021457330244872161471452441618322250501449455104189107628867291071162710711259615222818467201230661471588221920990215177122183101411231655322865115224114831921121572717564175234226781301117224251491821221210016865142741811041538114118613926181232131074632302242302325422117623218623520883226212121215190245150181252186185168192728896196203213131982529212520012950321521762361712539171313717115781147141140246592142101711981889215721813959691512441968724423581191196206234112193261512239398219116195132147173172021510113578002552447368658413232189102216831065547242158231222059208186766785782101716451832041035172411417918321223312944120181399715422721189228401861004219098214114199174163216169171204185163132421891051974548170207209171742151721307201214230202322031045135235233143218358712322720825066221491716149645752056512521346178912277183459123888181220182236461172417411731111682271301985714024170250721571998014125111217339196253149206221165142806205282241793018369174118225209715660229124222154248123112183709716915412649224107652342461802161139610911912171124224194222142711012912816126783136271341462329111223614313711794432261972153824020025432308122417014525554141424714086227129762121224783176251711082261757402501680662252488516615920431192213162238810431711014674138496979121092211122178225251145805116220841116184134722422421803218335183644812839371955913223817522061461691116402281630025637105120711295971272551205239351032461022402231962351271792008920431681271282364014019811225336712016116118166219156161217198120249815613217118218651071207191197281142221231410015111692393217172632401311341114418888234158510021825493118666625310617224203216195206105231140195210621143267636203191162157419022621819159612312241919397139255207241072491153223712192128592406420273155176189239219484031234809421766892556225411924677202187582230172549167216241391259814261651561171522225118215413229133452006918817899139177171792522412246115917614720642392494410023915224712423415512415017125220472491471601892552301190632261369119410516721619142113391081621422424837219132311302824724814715817719960194156196158967128177161133188183213140178142541611331272051378712472122105612541342415634142851423113220422618320531123354167951671412359521624222515013882197194157102272456319332112112111291291291383835127253601519227216136190192693357332491851335619115912820524851471671891892191352113215513562951121072352411261004071271142711225519262021391929120114136226171402447724217824331446184212134651611851672100420254413278411925516025479135231218255236161136475021055230120129178241165245471921711241451782542152201120297835193143539100176131962391081602321101211932222403523720547191831338271277156824119475148231121882418520219818321481541737122319019547237622551191332152271511547822211122255471381592369461381951035193179252128137615915898170244170169329579152175394648144202474243771002492301786043121174141602158615010743205181145228891382432041971215422628170362198315823539203141710368139210832719122015124589961642271352184743720982139510341122553223621181987133226182147114156189189252175161157247226591381301351701606197179124255121171238130564311156185205835167691231351331671861842553817225111781209111151581421131002171552101691224611031154561732191087212110159101291587114124654248136661296312815541175232191971718821345812031111591502559413255221218161105154161169154104216452191281011615298116167244240162406475218140601149430188216201882201818622012721660479156230250132155115180113142742482559422124018720035136780255642423831821918343244224462126311210010321614529971352142461523680245159625323725415625111959162541933068212852414224523621712770255961671193128412039222061241741272242165125331931291826552247642052718314101062471162121352462151211321318513011331231186132155924785216119220181144935516932142252291052121661112272311071822225451871536128246133168165129179135671787123996149163106417168187196262451822048132107165215244161065133129107200111465230168116281701621412141854673252150101236101185255747121617213637184164951251132397051516020012847216361712260116581301346413019844109971291612481464919622010893960003420046624174118159230178302026786145225142692352531196947138217125101782262031341041421141296224064673884165942411971021281291541392193322942102374711928172164118208911281011642495815724717216718411618010717820827309717820983118221820097180214109168202101180214253113752481465617623715017348223184338313515510340404823022927241242122351791162355018117121118142470923221410010585948410720421122793501482231781541717721147137658121442301016593229845643190102421841003618698220122199166191210101184214991642061151841429612810779251811711961691871485880229588022954902078811010892371379523779668412819583300351121277958101921941301872131945113413722121524014163080247137218233211413217613239741661781941641401372101181997219173144202281471461982251123381885022472281601969015368236533781362207922238847497250255514589410790245180127081114219325367222183114624147323422380172009030481981945214221206718319510320914205647722512320434210641669718711721724121961195208170163174129155933322222262641351382521278341216151844188759919123713654251202032062724454214911189411121848223178245661311331081896423957177209341671746521922067761942102082221001872071609314525111912171115108163135193111837380108871213531186623710070264167254192219096208242139340213111015913023012396179254125128193902512541731125125112715471681284187791730322031015351661881609913925512112514524223411820220324014323327148215213109254919233219118419113716745220194412754227174120108220952179723430238171261921451579823817109228261102321810222822972261710922915710019376120712151532421582254610613667212812311962113012363163381562549616412622615524625352544213631492027421252246120225777722958129322444759887022412924514815120116422518114231111141905530801018221211917024357124197952898401911193012025224824120820814418318355105491321752291292324012812312033632491831594017425230279225171601122399416917418292651322141727160176142240052231244334188131327240100113240171405621682185131381192544205128686167122243361313616271722012551872506329842373920721519038244117247572178322551901842385204324017421513116174232600238311642624367925323370191442474983088143711411442242120261963235208471732225914817212710313551581572229891461654574181501654924722981139146176121812086831712511581472361701372417517740187106212116213841262171722331461018319011719230113241211822101244373190133362078614877149229502281851901781720209197240186636825246197146250145226431274823015524112522516154132072130166662032011311041906813716110625222510464125250892492131794555155222114020939811823251461381942369124366214188196103862023023117919957332272521488120913730238167141101636212354192221199220193219861591022531501824622924545148131001271792474123513322533322921452028618714323634205662072462921511601642711664514877511005524001841212241353116316084227162242351959331353010413815611110891061489110141331209422562012452517416615212424452361171121431391216367601125688199152430254713212012814023581217411925117960128144025124225511227133190864230011579181071332963362022114164176170228115602402132416613671742232202071717410917392341742462361731641484591321358117151217180221537517523511511421264245153592026325516033107392481202402449624719923493649623822516168011914560150361285591386571456719213123066192412193128108544188164139249822351260488222721021227323418340241123212226039246219254168190184147961281467809512913871581015228232193524525011677126158626418125218612124377171174187143214622724514013762301561281892182518721815118421821135226193100212572082554801981891652081301591671148022610016392051920229159127841551901311551632012032111469249232421821300124021244875620624020938672661111781315024012817664233010617621012115423556048942071489518310818611021382104431861082181521637919620553169513321510720118710082155165831261268710118690671741109314214167641911752022451267521683301282410987281913211261741671312151114618022622823454100107751751551192201152324516712925042156187742822955452295545321151841989913022718932988237140701436014424416853156252209123202390236565225477930481392187223122063480248901121862192323364222411016112891112014047113192322115641481931961241631250202239236215146020198212145172231322115217227854588955327321963651996381393273393217101601533627132128159701929618177207202166420131045732925116413719139542916450238104102176114130111324020772579413676241763619924025211841110235215691413266221231046252169104213524158136602060145234850356516677292136118973511548126782761941191557116689682371791402181032815418613917254145179631921921501816024024712296415515731835671101652501111191001071861331041851332381122442236911210116139801191421969136109119122202252018013122180141234191205579613591240862311282472361255421725110824364107143226253197208242652402188111112875128150956060166672427317118419526621771552216718212013204519222735719220387996915568164129271827962102155116148569917839492091156225421914617025423966248412541213021611520257132451518423757237177251140103234251512489913422249312164854106889830216190732032221463019313660192786020178602251591162105923013615437932491972832124694711191183731352422101182362302231932232206525230101195542021712342482718187412392321521332361152232531371072025724714814323316915912038157117139571022252125116615413254392260921264992254214250245111191176225237141235222881431981118913677255511429541321291751141941191973804515621421321010915053432542261655246189243192147397912212312385155196724890301922051661882492509115124246411758419822375131211711631741852152391262511594719106360240153223619319918911332504201919418330152071404224241401751902442181371633971671212156712020623863119248472322551161202388986224631012542342342282006898122684663764221655175195821201045231311121081221417313122355729624717519208201880330160191241101202198874023520023942252122195175253110223183155139151421141520575211238553920681301501641616428392246881897979137123211137209371079719018148207781487914920184203175482291511896918512126221571512371972012461062002421102042412252281775757193188156104819417044255962172399912614710823517118111072545111742825418419229183172167108891351901681356144190256171182145194521641241509614625524332241213227237183143247220615280178167175401702271667912717725512551029424179321429214470207722261991971877116519912324823118613219124108191809424223518013115222213204205105179137492292531434027225103211631701351231267221717613324221046202123701752612016812138232391321582149571691911476592441441022326224520861234161169234971367762537666247152228728272372541001885710919057106169411081854141803615154212491432145125120292251170216189141201157188191923852451911435818170672507254127193332602028612095574217631604225279240192213272511287218170131122170602511711041251491412514911861229182221165542376923010911920419218739220253195219165522152234184107116631188628012550413522713174351817822713206227134667213142253149118189229549924520683921832095840763120128242801522442711621911432131873412393225563998452032531511001082241298914515191641752502261742504413204010724544121001602541149106482424011424525020210496196159180691741826917311819617211868351171291777888297294237756695150247371281891262122850209642394017811203016228235241114117171522461134171190220901591851712331347379169290128228138122451077010911944198234221001501651082081721921119204243220021521955428170114238431151562261206110614271741142322241131781171072111812617924510055172218238216119228371706070235189617161582385710175152212164107841671712151021052131011072152312341822221799114471631412012082221002417912298159015244198175116199173116197465413378921731811581789121422020319811757186532175818116814765187627187112197184165200118180129180253184323799128102356461125137159119019439624418121617716131211531022313238311312513721631535915297154126495812991287219251610310017616248962402261961619163151051304681122141484419514373192112141111214117421024413921124014152471692302913118115167872121470410459351241678716458436125452051427600219106161561062815010218142132183211914134278312152282121451448939161788616821615438652061542421201864815817164166406413012811546316015276124812003065859921124713315167158218326820916923412538214913512970224941441523974634017243192942352161315411313520419424710425068125228226255622131031791392551501271841270104119304511216716319118617395252137951261211552511992352452558180243135107220632231625224126255152151202551171412473187261268980245171438563205479731253209135146223990515521712031823273759166158215115238311610713912320012384246141021329723230251228195491991281961822111955536912013419311167238571147652055910158133120116592043961391371651187669825724811187202911281253924118341228239159466325014023325527662271332107818723959135118257559203216115206107207199140148211238137199173131146634811821797230233291175610020757321862369716592251208020210512386236541915124711723654105216188135245174154213171155141942492002321411092211123817612411518719743311531602061162441092212724276216010854491074243722512044522928612458323023879252012316022778881211991911881972025391187142541013922324712919210512825312025132711189168156601282824911521425510724515724615152261541181821184225422616247245189243013223023010277721098895199324018224165109525048145138164138203725985250142195115253314323863767522118311329266182301414131143120227705221418921715154036641818115660194715562252213471261411741326442193245160884970724120081125102551722547913523115859429144949318963183116238228250012015322424822518118235143456290188211321231017262234169331560194016018156661221724119211192322815512048226239175163152111165202545310066120110901169681158188361431522281227911883511730611012062911910521010711813012427126174456321565152231204203166113519336594778725210115125319752542267512914617116116217197252203161130431452201882494118183961237207792163205222521211451245714328631841271632122029266110125271331621771452261691891101912072461911561131742057610619012516817122888759790251173212254146616716513712569161189119252166106195151491152522165781236156369766148583458216199632132182409183226199215175254219241143227459317320522092180289341239651971121924811182137178225352441251991716422504723520818282671161258376351422769156209957165291227443244184702323314117625323422522422483213481515217777195211204744214214311812660209156182208201892202011895301784013156192507711389195531581251651367250564161194211502254710757127136622617423123924711724313725595229144252442191907823225241991744118815071281621414223581741601624414871102329105225312331108239174112239421813117016514213581384591422141871444725125120223712012126247254248782051971731947521845133381447365225221213762158911257872159211201405320870235169163117212190114235222501712547421917712226156157229511661843016419904219635142104125101143852121211772071462201271852012551131232321401441331203212587932288228935310026241215242192262401122129321222422923213861841627804825372940141862464631571765815217858180271091214271832183017732242271681602011741532401141170624812112222028157701801141459093198206218139592481212183149787582191145902394174862291519126502131541111541422131857711323219553206163181174163912872115823890215103168139462512865811922117927175247188471165614594652532114643166205133541252111013121315883922232517722515154194231197129163245140158501702521341216715011893150861251456123452494517189730130150650152248391891777925022687122226158321647312924617524419647183692057213113557172182821701882001902491581632361421099117719580157231148192231971234261313313621111201232212159524714192127248214240056126401201521624812617618222415573207128971041387719497200220226171321393723302412865521971231513139381305266210815420121523117017917017538051142147212125981185035193250301281221234172501459120813512048121961552211311831201321101631951413419217325103010425019722712612180134151699510124113716156050210771291521322065033110949310465115433641504834601603646852092242332091486242152138167195156921070971871324011519367193219351306710413153218101249136852523312093582541133897132714216198291781362201712314417620561104147352351951672437202533421733712925514318918301402342022192551318311117721291841871871872512041003823814681451181071871091831879323974189721131193923823817436163211844582552311565125214916593202190239239255158626115618511522922015512314723111519171152176144241128201201922202311521979223231461412920071103116914018843201428133675213522222112625210161251871215787902514617924019410113523371888371084910793137451792461212212063112013414364229655020214678228199161228271052615791148022719642251692261862091771612104510212064108211103155248167401822439572143252533914821157129882121535611814783220221512485592226183561991111181422192322615722917181209391101391112262715817789462251694664130200122392161414616127156130215161236301582303015023422150234281489829161072077524212207244142220818585423221711362132371514188188174106359922617323825105221452291522481829925291118209911569822324474122207411241631697915618571180165123164177459519520867702172421177317323949075891308112521013715136732247314422423224136228100159230382306193512272191763611899207482292292291691691692091381371822714921136931811831872472405360735249191401822062073817799779599059156236938016551847205151120129182491567919631152220452512257451701911701462021421732196912364188724149231595192512341032351271171222369221614965661292461752481951111271911525427163241120521037219217263139241441331849919624999966421517199723019441512207130227181172187232871955315311927214221173391931291711331741892171821731672052714315321430524522310182186195188108391081351152334624715413115617822112619759602714382341424243247112171154853112432192382176831122411072061451911221262417119420915180164141127868016216819622412462060752361499572246214254911342071532072151811582551602452361501661472352182063618015813810858222121134218423912488231737825181175432318518374351118619613853794175140314079236169216212902469493209251372322224924231209972251662302061543830182122946211411830175104155190160106240138150197203265447169217190170105191202208832174968211518620347811551879475144169198223164281842582228101803088392552415361287501923215193377332471552239213115701701251101481859345116262001151881462312121512312199118211912437011523715910203254251562068724324324925539152521443022912931137151641275562112226116106115372251292382819923875221512434525111420558472624720925401122521762392457121211183175205251122117238215171170154099914422490145237141181231723131492181432141842221701122362075318790961211792201293412911325189221222108321938122289023122471549420619858214164772093713916182231777254208120750120961841942160012402163315125114120233726497961661892084430120526202464941827518123914614117645882161774412162410101316661031521766110018685112175214247901619921941163234326511792917114823884442211698018477581272352181461112292614210413149561415525013171926121223172652221228219125118810521941131186672624513553155142235521592081095916514314924319094911827510517619217248922341181832181193221519022718023324566151251240238249206237103452412002471012192231732272930526142842511415112394206181472231719417667160144187931742261281021271612272532306414516123914132574862341412217611813379116176012819858661995919420014620617616978501652412015719012822468951481123215064691192488491240961455125120524714471482533422414922510197244811341418624213151118227195199995715040210910176223566192152120630751526322219101214171152250111209168591697081100128189711431322331482458133209397264121017411615318123982432393722941758912034959823320562073318910222513723729682101611302131211001597616821120131292612192168128105166211176104883393701451951932441951207244901021312917016033821887331002916801854019633136103168195142133243157135724025314010240172351281602245622510417726221307244131147136782121132201621810020014919120419499185165231101071115419014420024717916961904786321064410023739109233163962382532471572311981041596436252967110824012825410519515951801622221710632161131241531372437513414432361241509012117311322610511146225251452275515570103193232227146226341312051161301467734516474565501441481415512620838811054819317015640251191292215914250681571861016022715816225521114215144221210198721791412481081371425315992511213144291462529688718216217813721910027183201461021631091161501252047019918477782241292487764223148991792820041002524617723318220916911849105142241153228997618611566150912101022151321417888335820562502134158221451261631232203818315214117481153789710518213020437816277961381255611824213412522617523622622317614321922620255166107194911189789106146517510758201271202171221977701901722255118104204271882242454611065122122118508290207479064366271451394801021455101021872552392342322411821443687872471291298920587254271051061061062392221894386192386176143240045146130132681086824422812560825222518598572115175211194137719103781581491471301991311913638620635481281594712169617998209194185471311688157101165215156621218418045751002123225059130213285177216146255186254432331775817624666164641912110632512511674745130169150885211922566210101392047971037913133442961541976248150172198612216252099913315624472158105472481541321322101071859254232508824519820515416459245493521313023569110125571445394510615153862365446217979017820517898167115229302392426111497354314173592451212283915517254720339122189302351904421412510115619921840871698019953601558521417011215441661436169178077801195142249102375796334317100245202749615119014017562148941251209319913321224611177245199121245199184771991859310332197925024415824323760233821832231782431482352451942242198513767852717485103941697223944206108442531681882321591032062542351891583602481741662227890943058220961394140421355268624314321424013985247138213240140211246138215245732122439516722915916230144162198931751815217424152372072193620721940207203144315240312251291115014723118513923331091111254196143546223111121888323512717919411222538233106129211112169123127129111119113100952371552377715920148125427225516124170255143715212612872129410521018811689110186202172254196711421671808510312871221041231611909224317413970109103131864615492451801858610411722311321416022516870254862011152559082190711902511304914402231722081599911516314410311317320026234203491151215113119172174228155952064923720354185146111201176124128292101921302051411813543121542151392923821325122011124429107242159104229222401154122317114673021646151243141842388623325210963163124862304022317370226310024695263123213718773124810413126802072917324425441121868613625120218123113069195171572342532342291871492032471681922021511241711922263185957322108147130233191932255482233222117206164108232251322101572421491231491071517015123786200254114216218215620810733243182322132880187240233741121971571062399122923824723525223921525013171862068914084120791816131721882552755159481858123412117515855209185220934184223192197132231222182060144187774615982652114122715553623418128250134019687226132872274139687924769141227188176167517419691751961472327163256514910850128156110536232137241112299545114100191241302420236509216016279241231951412107231641931391471650020714121641111213820424819422351115762957491991795320340147145738997150128481138621717218914414813964210137183218145113688110227114209803096341631069822550107501822301067114218811981071796824676153132331234352261218208159141135875140472153701520016016261809316168052610721299321422361052411953121914464794533290201551303081116465653212020248221135163995118822362368025195112210251214604611533316468227364222817299177130103812096416521752291504968191513946632113131711209638623299229431032342492332221391202242543176182253581912720923820924216880248206877955311212021321612113345225192972119110417616144128693100220131190107156385252163245662142771166225250401201351741142401512458194141972017711671921021561927319319227188136141158229203197869444111707122981811272773136193861621251822516179489670196151639223123123420912562169812176241709955218198100897110221670101130732251152762512321213515276199216441991847613521611620046582055442213611211391072421021281296792166752263815113214114492511814516914467116186998418699100186676815483681861071161507510016675681669124438183184551561822218013198183216198962551552999182232120707344215164175231591592431781381661771431871271463298991002361502401361163047142227312331042311733616724122622687230161752159759602386823625112772191401545133121522116211923212751253253239127951841615023397122200324815110016419424337230127252193711621091441528310022214590199103153254246231191207391732119723603139230741447821002021178100193162185481261761241813824224216779303917911139211244228212196204200662262501631921966225421524595731432131291317219646117715925522717915123227194744415818710417225196017925122890255128216586320034450030128194220362514212612316324623727211375520235174211155820721755291831686110490177199172120135892411181552022212381177226143240751192513025115525325117717815858181704773172161125130217126128254124880010812811217661481930236217195173163185829829215112231199209217219517524611017062188169254887023720919615435178513531071424843124217159236215121150215126218183249152107243812311422113013124913015510117755171541221310826172222124165421711875217922484218167127117776114116242208551164849244116492307105613216811516318024899022814393178301271574639694732197136179942074789195519420539812056389149179781531551701922051482271101482271301050228121169242129412241185192561851922413158183150391213320618575233253173911742141991415242211092241428425194471131871561072151519955882326084226222147227213153311030104109248751182253913052254255241192991221567212721515658155209221176185183521684319917723534105471165720716225118129129271652462402509323114125046153341752201671522532292353759101907823418015933243151922172471011552092466310231212309601920102082299283822065571522491241184672151010917620725492203219211741951652062151392923921425160104242311072224164197126502221042541188919831621537102241642541185501902082472420137152161385812144175435681931292461441231812542151015622520623515235210201110890792621431214174591645192071025913419231122492492231722012511027722781237222139230237103121712471719897411533889179680242173922222151072062531158920178185174243388816124913211024930165115255921422978183242201961661571612111731301712491424539140122471301489247231581169518010763107993411122546247301732411672442351211632122911912324962245156109114121592024218220387282122344311224105815223212172461341472222071891452112211451479317991579716320512918326561311492221311499414761171122528318918011968311092668982209132717691412114018310110851211199318096191241102245312246817938671762124819082510018144243128616377981002205161901012211001771654145541632318116415914112022541452402357621645246143133212671922320425015721875751876193137174114323664261121714620118221612015412610410019215223146214681161017314924625410793735562361531450591807880341792511761764910217263895033763686167676632371691216433101541501451364219843982281891941649273107371055519310671282212324926103238261032692401992283480263323175791982244108524513913224555103918951267215177105718012011319201251943100582172182210198103133539696221513610123724793301635129172133159146177207103592072252392396961181815312780301287222253106255107701417524594531588123451792411502458198572671166155691031121287824612910728571681817010925155516976873572432282204742229758252417118414116817915612314465112178772207015521614121449153864989224919619615581153198101154642413425839733214177138206180134981781089817914491199102898121179240326220344621072461341089144331291362321234122201041821551271501781328023156501781625108522331325210015115418719116823996327217879642411551092011492011801372031807720017816134133569216811620315252171216116235184121552487614598511022032212064101291531021719022242502133858221424229151203541432177201583483219591221331902356689147197501981392142327544146387702301721562551461301641561371691651591517984120881061161001221207211432391941942121182014348618243230204914815112604224625363164951307230144215169363738362231851151431841742559415415815825424016322312623941183016023964629108842502451815710320614610938391521013624311614593806113152115160177123147201927721373317669243232802482433694903217710015819620388664170194647947247210204112174151915598140238234167219220778143237231924514021199711351961110525024331254244220661949613923047924811962187200236198652542169325416872220134134110689812524719316020781191142157106172146216249215144435312718886253235193178244190188216246179252154131301975928139183185221092434322125901825919010087242165175186322122626237186861094117724821691924613118917721471764030192271758230120145461458936172301802362071552361431271789126444512387104233145144250243972131672521552062411542072419020611421916051156142115188246115220214179254109231253203145684292412344374188861812299023771252131118871262209224213519451111239248446253217221214949521519870211157167301441602263117526161711941378723036407361704361691138221218523521257410053255361301254201422544174123520572352293323865960209624919213178240229129415012920114458207952191391967462291101882222532068075210253214240251771291831711251742258245101219244231216142305912230571801571171686123195155151148159243214145513124254240213325225495228129217931291037310023831158209191192147615817219106611531661411361802614622516643195212113252141571327206952162169415721791182121552352201551091211812001021601921783919923612216925318118187174111982212377186471533473144129711831741692181752121227423364888104115141118519670127184204225122177109215121195182211122012823519711825318523011225588129241021410381291431951011422471066131522487652776182112144223175247252001791692201671561918517096155116222551071118274231101474522046591472032531762001831011871481234790193145195139147461971646311340107351161672181832271401211973053168245164812318921113435581817531071410414823986102481922181117235191831457236126225118105822915413110610916712186471521181564917063162137175114191150460039170247171149239817052421901501066217414316311251341322933197712919537238852515211419114817421816721712021216022513612621149671622273453315510657105220124194176238168110197126245162157102179575101127378518083185254152651111742217215722368123482251291292162011742402192451561906623118614719837718074141065315851191219265220929126191611201885110817251116162431081785912417059108178431481082132324916013363842332131262221882421606251141247144796250225107225170212333619648184401791702252452251222291896797127177286224110242462343224351823422725213236179666888915714902021681281385610238441967817612712117580733930252611379216146152098881461666575731932355311175372294172165161903718064145091817120669221048761681224614067635021823344363231233128161108232331311123265102373714010639107243147521842411062481412301432346941249686617823833180136113524610022406686218251651602813318146601568872318706653148252721265222351522406480146736817010568422201911701111321787956144641434613214942719212475571158721725017417634834172160111452392551292466676148725285140253190216113782441953573244711082301112512912992189423218917524747491141202560967112096137149135164198720155824710015789204701791524492784102173357120614117519241525114239171397214811322917518024519723323224219763521164531923205128241712321215212320320011613940982142059850140161216122271847613624122822004816250137133155207176140202176130818164832321715510122711002615513711717618581108581479712114178132761272267112130681210416022449155254108361301166184141128121919645202222971820717314688252186170791328322615514991236226200140197541641951131501016616669661661016615021201522520503220102203581421921314072119680691672196813910224120823651691684416718455117125982312012473172208212176231841331022162481981071532514515154349911916631769278222196207555838425154426154114671201121721501861423682361114496222192443712013860128932091941561855160144149185233193125220152255181525353534957185249205557210910476961181824119260118221816621870151919120110214716224723521151111142159693417913113715823013421822107111351331159588645819471547525015188601431211825523492