Video


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