0024768018384547324515959527731986106467356734012064264856116809487188892337722585180504507934951807266357500520869531795418457629977920674345603167618240639549784016077770343171115972402800051778231728705958799556991305766543407922877706940921971965447152478506613950034246769794820694165128053092050314002821971029151688596159627900871971166684901065500848674471775116266950871362293766484572949575081602750112866921746869028264998224104797660153326914699818385017444954995517379424208006361823846890736507263778183507222122332903199235873188503226939023772421063361256797846485542779397625233773421654063997146064310960942379625582232793897118132106017174013316727764262293285065648790562379666799141212915939511814702196751074251743639915568507894708868381951296949096413193789949999974488999402814822246949155188133185935156122872555759607926494830369932861197400229517500277296586288151668524212589063297047722139823243654444343476460961190349087606057101521560464572340363992307642217714327754206507146513736297492186556306938764937688418949192094067877338822672878462277600958278900902157122053087450913293001547871144270052699582755280211263803718972757430051293124256745293039229809069576806382493543198712609968474229971741724861968429119149902609347204973868995190739220816606691540779048780075020869353156534856196729263096196206635210726508779382947929854575643979224804518066571906038486534458535961797692552502843493358901015784026556731974267344882030464926946112692568770474928574635765800050382253218432166804239076357990010014688452549255373075421280972956877633510521208920300382790080962232224899027865357491100187531369058287203189389591493692422964107860890692132447376917007900824591629337772727217487994595224147639113767333174051942713912048801539321653923940477842964961999668228346380187406623456043751283193163491379970672606217941533102803572127323772598083946959335005024351469493388450583713146384340496780643607915404581333363747502794701294604681254484693629085737867050936115681427822630150512572254700919429432958473062941424483431999225901315368155621443306998055187012894184138971870109803655105885742815539545916788585495682450643246971758806960301239042514277851513386919927504806899224811143657893448147669471541801500845290057016094684490722719139220033640738926522333225681772208530058236082199095333835135763984961419737283391892246284882736254684688915222266765968657902123440404593545209353958289846272607265443400666417264794758884759367504854981395889379485654646749404081871735505032481484400597600610342315070926249241245122667617455206406594095932196808828960504219301236857432422209989757209386607000118035539311749968364464919443387211804764456852812923792959298319350385113461941169469356622639780061113529732360084203014423772188100238750244318771511835825050242125498367490425691398949273375726055899442047428303849664109323399047308746545976372014981934376706549690373794894339216068790833556579801126823358445229121081103952355831582864976107653337990365743880212071841838508908466983425668903877375307074535046256632821702300425458118598301558274068062502352746924104169512372767107092693804510482576033360503055430270950124560050638431942961195317984131835614385763173305886950465622083680576518248964766271879570933784767361330839253960020735660555447722291220086612972556390963895939188961663371556073598298252949031219019303046704127416031297052183962336390537998703193483589031634502708711333655746246626983645119296026819391152620836756408628117005154568497483869869255536174294104183308676205951767827868038507300571825920766960059303860209305497268924121558124803059213971728466651842531655447818434957552553867520660162383241892334327995240240167115509458713691841319867809808834381319124338869281456079565728620115166816105816732403597515787088103443740863929858223399105627259134190443561834296710435769785601273267976604793503073604300410437275512090203302662151356643685779521411269131402748419518547534949286549283038063243224483883826057126405458897119924057710495527469261356933467247387135252289975251129665350884006170084346876235958603272040994032337812810245732476727569105366363816853542873859424759289407885869732918347684447926000110982727200050828482947418691193416779425298784823487811459535607255746758001671867039874030007532668528208446404501326301804663367445717831632534033693388322631367486273740429691031679165371045756116727693796218196861611655727232846950860588703071980742858098040952204777855620494523833382614769172928305502826373426145122368218662325830602619736636774477380424692335959061316414259786997235891787243669708295590690762262020887700527386950735541156396596180279074401692111026357013324163009905003635856766394392693340737890742639592015161089367203148558512291373521465830691447429195191490569068881511944814370046199163829466772233214935820912163129849877659499694978087339736445085918151319284855353892729345317449850490428536449275004483843294499317293275772938624193460413149577381940814645892165090573488639190030291791755947928384546887464958246879453314772842552908638244216219188548202990263216392567182062579917469736888638023931961352076252276172505495827665879052141911260381870840511623811946502206636399497887684767713296989996562646207726025585780371220286075438542474438462840037717002470630650787735886893965756484747304033155743887683925819249324469254808669867729399052388691557648534964810891347644698311500530689793155444866901766393657372512507444582653058989089402622306798766490267295892943174622339612426408733576099608235661261666294328842156485105507232153967510185689452082904662040019318523822813208080237574276318875737098339110532596108623495625444110481294003352847814526972077220828092915578641215766038937343478525216202789759025591130157360366557011237893656482723437769214090371649629897416432446469015420180596742675260272496397479742139528857073697135985576029391706635232990415448668188441195486958632838366733501250727426730164157895939642948476142781760148845675133867372872909504161552048154734609483751347753250870863270308719891739300373910616030663328663861830922235243648471969413682130038984788226652125936186261280920027653086324662938008234510413439440546055159778681588974141724890285991007836659426238171675541787333143707977385440912633772233536315982461893627147208859204480140788577426867262006116099621545244510966404442793618602317686216911211930604913825915702122828888499286796219141071493435047700186240204385683655769775377716715118580049854650936073061457545192457144880175139589316610257651708765248023516163944608025368488218407559819596487047290112023398796015510583456067021154831197385221992752583888826461664375213387938408713382768346646537340792596948546052763175266709181683841675832585503455783382099285005183400134670855927911184940263039712771234411979772914423976683794758946565694786975244551615647051835266873879069145479445985197205204951528750870967881275227740507800524922559344269605728138784598022830048818951888400778147120720794137863464441583366866941519934143468655888870555096769779105968964922993465254068959625700215532497721126101571343202741445528207799390359921812292816950663974543999960005100041549349213823766400351541572546493321260615563881518065101263390397592647756876424635325315211352401237819648135604940280460698578572199204232280861860206782749183721139212310316448388155542061471186995436734631677164208848672754505849382929209804096893024470064091688858144053736271780942123980558330610830804962699580111312956906765188372470915798512367146401230362608730040873895564164981871511809073619680095241779514546319935251924987295647924353120862809183811540426286640822355821433218657988697751299204864344324964856861859645756740942857195299159742727155233924081759554511109967340104079830986937169810208570076994909628588306307191377537472899322631792427300979653414741506147551804863131512668554576637961915419079978758741541430329932566335814707193012801858750354748045795646293159811222322833710183983797717014868169797103394467993162785326803589571469368845058949585389755962165734475575298642951878575345685858681760699768132226850409380389961014080619205826419847867830951667543050243278573760865296318622976965689008720100164877941033993743626547675957879960106039534957104871357513776686372845115779034721350147887752247068333648633091592695526107209583818602298937854961764711034026416810603698868144437525702340062589410166981414371476676671159892112706070775372566210813889165542140739758307386983390709876365808238139113440547900727005739447274456315671750268927507536285625287400735110004525961671461312674580441421362652164397309381425982379388902467199289665491130335081489073463877598777364127284079420008728095717703138220960774458265827646964703567730207525776003611791231526866584013931409163411920772295829277360559125630077797182616043348448215894442719489540506136160759419424779629237891863524539129699366275316082628205563427988570176063846824863803793798719082879169704834414084210283956477119185344416580223021592651266705178743480524427593674588921069424811384033893028603644667911703640537654502017737548020336998418522787944557247834976455661252238101838380665534591064394985978394519025596475246070707743491646898547975600137128220425936202082894808677170841129330841552117896323725853075822305306286672319557033503665281199185132128490340491802973388112390159137441210704242571473980652038375855460708663112798585925572032450269039338216945024502094304817985409208632418320272373763710828400203823059149598708838600798769656382057418703393039960160614746128185540461781475403337171498236657172087377335308145248034308662172719615117227152895199056504991525560022864578278794091696425860477575035742180274814640492492688685551329493816027676037528143736781814450412073945662276789860816330239780755948471432673339175261548628137026332243961228818237092862119088891637401835592793011419908669891985701405186441895137917838299078999907686790164446529106906601178841702252286977774181677216760717176859680257283213040532429043807007805764526241903947128346587958525474694724508925827064155519915724732260690790977398088008726460091145683461367233207911628289709815171771554734646721252648989997048593862838640597822185746979031109822616926984619261142874292551084006243099019648683810027482390354538965777974559541048336559663870699671918494951230244660208267917399508356237492811315297085937177080968754088492054270788268514682348368043829110768025194823979286481503350053343741243020178096444551794542870520135449513772209563519266087221999031743041376165075804765527675150423748566403442592477532688386421436742486666003941792195787132399142437651416946205730574924952005050030362331645302632313719028279695418830656211860815800668477629311408610943540601792369605755330833536992278900482135001529379632234801678000911204063610641707474871687266317532356327758496499778722437513620465597149503098369006797946369735519384262083511777168552854278308707164623855984933196251681355911175016271322336666310503177617133585101216990485707216653787494315288236605373947761076236818647125508189564666732824280697289726037095740202892676715930131220338252352216651486144371916527778094650368255291913749137459901802795435059309081325697074365614644359963872292410924196715225888008010050207195103173315609125687970208381833246806337542299798257776325036027786323480833081059354020579561052034474085064924215416716361135613347951258272356534971148803563222553413900111958906041152136227010314257747056082582336734070399101213529516915559127124095805246924062595501120353427542902683002353797326465996423414388029304479933708704308607811694782096624858815172013463881888246204854234404527273947398774118184615102423355513388189558923550799648610232819639230145124293166246468151949606329408624301473605152039676387630413585585686825542597995621164290373465731913651892855056315036992586663364928799653179332419369335550003401873153465212009327420235679969820603305056604625142774190391249992599620863630452393927796913598756510017673360759345061152483210908534033073728072530456372189688801882655006508057879652226725965727200872197897404244584591491373547971907383524643922804489888697269542265783665382599059607253173301443165799672839785673781327160276651256488306719660968476252449455254703694022186395649874429786916507014771514170442788153762619235143101122689666963738285562825151989440636852905822448148085300830966513257835808560365709852926089994488711001696095716559728738928599116409694705004850109017023426377274074660632503055939494888549257615113969488408805237399210532237338095417942916480894985639197244330835147150802428618938383522704004004822771956098859246968555875373287940800577849462667381841059906648093093583873134253274909219112138242129494072871725070474528345526394541562151249864579506653996133645035734195101640593119897302674513793548781268950804388572647163152024467970361942830994405397843292047388085257400227798185037069453959710468695633332563507230043668637336196431582660694280122636401559564181373805455536875531893251162139960852183654417785758549280525233865690021699715644064218267290521916555119125770922466463570989065837898324596146104220237081176552033302489338980062922603067393040962938973741603723879068460844691619006239355038011306037421448881550549375678771704887047454696224123575500990732848082031556457286876454921724945832778046349374291190122336338926616092845380102634626793502670054456866371960361234519738982626935872710746585373928697510741555677917575093589436025742025335093944338502958394951659214119073014171040860024215985729758814739334310923909403255063811125665015968620804405198009662106681435869598331985862105459717807797258748535422168977389531206009471354682323144873193988477612993073412180358705182291396976803838650528400425774524260133461823497514116044086935489295039082158444029572357176936537287593266996025724229095621101164491008528613004158184964049414436412823325741292988728995432131773366006306353459822815435595656311220265573473847679281754498011520814457679903746417001448486049680579557115611342278517925783421248333706197676671779127618764548609135945338736900142087960796468431256847651653196837241889605877927771924511985897734623025451615744866251810919322971373447176727084972889522797925500850740046919030412208663446624069290635250125760199836006499720025500550479129966150421030029028701370460806779592700929127205367885208466419654500961932350938416054174064095293109806374272037406308065990852617453533697680128959092827075501951655407216999461769889407614335682157822873319649387043583473671524839197822832822281144024949441590438191235804334112063032483735105951411476183987688571550608834223876794739482481016603951643964055667145857861178748664012988338603312836206174761456327971507736467951676463995053528428727705209552898497437860104436203287081462117691462640538506569634719704052763719849975226908002470379107658112503448281664181361568622867059929300564810467909033167054696425481579827769571118196278949582228610339082190620345853493902038437495999325016375475418102482380485876458062418378202207665794405416672343946935818483876924097109238611654569166483929916028808930608544989212739532858875554815509143701525226035024680559447485893800163306378707665804269428990234276648349861381648426700214661629980672737198292038653519468668266077674532347575702095920673455818010660594282449008784279598114445707166031853896687608418539866731300509013150360547217436904437232897345126253972295138810147796808588152249123849875982503643104868646568126536906472382373684552005396536609727034317604910175547845712044388453684155267678078615811392518822039639661170185541241757160237156308457933878368501587985991975977814433174547978452004672101357243586344177845419286168720218140054973040760246545912199696147546783691688410821109059755610497189073239426037889085740690024560791634497379922669636064115337649944196272351298184483396324218027831589909147191083238394956290693318523718388880483896830376565775433265349390877245160095683757329171422018773243365425042617094646899976303676745957631776181090582674652449790996804829685609625549215954432701292647455683732460496900575836822048458973255655374567215228212852210021821374075098707575760406178789288904869772154628015552639170228972617020365604493141613563568031236775853627990438173021691265373754368414344851861723857116209512482867180114402811915549700789665800877078022954286078149999918519390774992856958870235465505365032202953294276718260230131274200173131945251286006164846232306252411952847912982529558280207699636793818526323474678985174849119771733731474917124912563599566489989688198216374839774147615013111860228785470577968801055928331646037601855986516079096959600377227823859339567454793481247054851178489799401239305157054769241937346072985960608301638969314622384806592135470340911121499013918435144219154684309286482178823810539519252192474531545730442207666792191663370830526802142901005486709462756989775940000979522769388818526926100603322960237850579502333942473496623996127985104156618668882191298284333928303564827309617941469038546499328018805346398259212738265639807799516493454478473732640541380072690945617301376242021870581206910855614029683908408508785782115176230889816879924303330426151835878605607620501924245090246993496606494090867371788544558407433761842963535260315898303577832169304364762211875521104600680347966869548791142104659085276965911868290186493083731455146165580757273443592753742583406442774864400987969844908913351849378268324214485617984654111916984799988393230029206846108223029609612668682841592655786108648565232842075899384781051285481013666093825017570773646745927716958487390701738084409739841618845646880111168173793845079956154352380470973101271727037636967124003328369928994423433627084884562972200188101223445178781363873912946469457568051121488650951487794308558614476415376532721673253701871383824131937808293606707445370480876553985160822781725179336589245806089301664493318808207409435931976369711931653532210763378434729977166408332834622896807597234924492505504023381921950448680458469679186658055042264215782814971072782844786148292189876172221985754962150939272557202909487679936423539725373508087608310829189291885417642446891908838748189225721068381994747445716787690577780913165331559343413624841548342127276027541216278031051490838869615061599456895497437395336866239837755317948639546297715932538346861410057366953033430700223148883117172844198512783184481298040937552861329849413831976747287353254978963299397485648306240989910866026590281089996545517789760441126504779424435952587608293257482012975783831494632820184649471738414103546448187041986732067776882845722959060633652590737007308928025397557751246504165962916196659146786313916617049865954919203151205204772224707889713788309007967213019265057701720176800447363661875874517580550050029107142190999661351588239383211756619695317885823196976282131324238088728227586650753949350876901281858719359472732143131270166865168555411034665716055657418364287229610937176621619535773425851225358648300740671064562657571104831582077345779851106964095209519083062120141673334825353418466440170577202310774595330979395930270298272198571673679307245382826765229986600855680921098315142170634335969381544449452447537992203689655938260632397795936238131157529007340671349714231368386976903593234087535391709085595865065715243806546553933853067415788083189782856644489381839404277135298751656344991444872065038103448918985545402421873882419226698386757108109874383688882818971373904210692856673696748655200937114242737379082216165744831878554740025130925649722938334017720928603281278546194609040386541294264658268385670422803793472082946649468124244454105704171668837906569054735923200099354556187493894194604847085643022339140083087647570079651577599286507299576908099775567295007944937770561927374355954470312834917061862665423271353033298856020148792234353656818506192907626018461248611212458938032677840995630536651615702366287685933513394203310111780711766288722916726510834546022354749509146598454571523437085287170097552766115278862262623648779477539566191413026977364162042986385973826486838127511691773329788550035896809929559249884562959501154440653065057542676727230144283099786459953441623120284816198670311204956431326155141341241452884710414079933775004339624432129919021865250182153248004058543058207019467244564206938898132581358672368065044480996130371788246133388946168911752537343937836049513600233955386931796439226023396247657995926032199079326795593038516186535230056833763890150587253959021561812107496646908729391136569573142580212228858796409580387423066001054127236479208589094314033901483751273883682126070831103708015532331979627520409175935997372862812633176462975210981481184250410363145634711868679107710560285985449851906897822244511037402135089755122967312948811810623551256372229800171476672597214240244659136384979998647516229354797846863329179886026543425441774525770491956085805919999472951732629379567900767612720667952504140150282723606038858568624396083549623983414432187951686045202521391732064527203858081983562532010556013789879281211798291035095532515858338993486188871860442985275068140788128174805595834033014937023055958016254865698102763937167427436216270113449720076041563958956019129318434489304870527639439712304991817687562370073137132592722862854038775451777918337804737789422705367263398024350719118397937857087081435769595464428950391009931017859228670187289877081017557208668725582112002861844960632917871705868069943769295238072447632917669751417399297081388141858525535481073039483669546576792428481157217573260687573491506003258387704444673105775133286108771881290096942272036069026890631339970430410725532622201987710424889675888572451853977313955005544426030988246194033030030556368117653053920801834477233617918830289489766555889276065130883119614294865848176718941725066519040265294970710574442132643160911436721014163866291222643290857314218521714066245613267139287802858687697363362485374422012638589607149592361511409821543567399429991405945147603970147347350332602146819514638555984478717588240778182677054955478859194208436149381560816310048838846576362476292229258002880889056127230777450709890398499826478291442133614601484412714199992407788560670966980378251583128625818062364015917465504449074431168738693707125666006057061433176984653701844188929850903493573541675553809452122190009244284884705592417245897936691972212991478766511779066971051540560309921264828157792645978695057214544949978140941438955590026725756232408110694106469534726769838039804226408087273888150468822519979848164503306115634968090834075678770208334340304536092246757483723892637451242462544089527584467267576578492713758647306615983678105223862161319132477678051627642787051561863854800351779261305503427907862744993581773564313933553512360574436156840324821147450995957154923492297291258867082559647377761406593783111879515545579236384363263578436233922156954917027945938567399730134369679795585352617461572756610975036476511478550480726700778197034362241115669446582377638498818699836091683947601024763545897438142149927803922167938528062761206537223540152313470067219688553264768662916428772736602496393005727861269497728161660304123893927041517731398853545260172434396038081881662833660339071333928067770162781909691631620319225251906571050807070904714811641288904124931504138816403041806821355799516292607909722989645201988908953568335531284165133607383206334251430411980240246748755148959676304463939348651408596851066581619717223632099953378996402397020330516175057867904383935578323515158868017406793703102326459748090179675193493181913671303295889378741298431151334184124175166954935076320136262704808276515780716545149918303343840972594590667426984354312510031464845499129506000670146672982820799147979301016815909362618469400923976368505576936392936462172824614968411443207538914330564126745260812853175275705027539927901262611259130084413997792696634796223432152401304179063563312097805356502941613661474084408040413284202923987024710768938451221272433946587403578954179594125114949674674960617280041384928328146089715894348912893755684001680623528104623484538852600188626270747834396650569374108630022088342764189508634799129219626621638366397707923519882217857434230795376986260540008610035153522987808963583585682230214409836705852981150812623300775309506545476892903369506100061983751982766586325940959573371883731861300521231267296378351149455168157868665063394600184446667472308097619962311543719107157891195193519378160335224810583946201024963701317667515780057188453908747938843237472269973088396155871819083795598149148755968262839678182342046753337417000188137916701428935460278997136185297169271613703379391102478818039210253481332996420025559104777398231170712184772251894723866766201253482661114181450347384746071263139959324034911472441067839323894348662835900854587079513484547267836998712287750377988414953557965476816821084139696445596526093840759475204597560453492584521444059393368254664223237158633511188339607550947218609163951096642447287518516520248965035480987497835950853626738654665172909026013216461541213292551319615356368331943047927700329567714126078591129949123026509913605790220080167082904278172338944766278817345893591364233703252447475508801855702174951478606707960979041597963901447698939115106768770851743548712213062456901513135742003104397281368360813188027293604402058782535079936635746783601323398989690302823526479335575648683672464678729408795399243787735110480235360299486301470086980252682174513338527973495460607636877696915378486779142476144157519875447660169620246817368638557689871833655740026245218674155358488331217642870194047710078323695183402078479440306532354259382371086873306257142236944280941214086156336397181918346709011644767346236796215344898463397206341957996946471772903315427268325085520770572605888816506326449248150446553953171786811680440444599262137658513278339012921160617647213882213007315443608260594711886349243625874964282751338913543374226634910186865328291110999233927758358866819055635599112577581258354139188527485477960672782064897987993553101502944277649426777533299717617011756295785940305345976041015988716914162270647649013504092981263521832785446128273133583523640934288580183596803738094869917728276038977520177930882548642875537991945755974602002395957638075401523691644138755691885274013426208356751933116763745272687444622031590840732946631200807911893057123106723912452609335396525817237740852524339326463608658157205654380184860817018361664698037680605564450273335887647751293603935194311857055480723151823619868651439034309454518208557545115405862785156850008207255769424004287767955080984454020624424698859839362775794789286827348304591930054145066958299894598794895601775224356237440746655903752784351818705845072597548604300904301521628976323437078131794126439597336085507652685138694582011573477718392791313229790070823071349747409026062937808264480439907468606979381428674221456257433329567085489874807719536842601107583989292075299270986602730952571672007652738162083387511936057562207553734285604407786238969803122384944472098763574160017408135862351762585700698888603009661167220654382463567717236476330333498479706595449252538594427528007927344009710916294931998260546932278145648093695581189120924667948824855542807953509927366991950006704756325004385311191366234488859457339478362870631130650445475988077487314392469599199403212614651033308168562368465875709662602628533547605270871268315754144951840536745493178453339199349612079339607168042253422159930123405104327490257710116706779588726566170299631912153697959855664875477596104004324920156777078718391033589641659587616772768166756932921715838544360379367166402447303414868173037832090622105899930885323122621564932577677510859221777353592868358234785463832932751992087300614400321437237801041779456087177871192035169605065925304649900786216007008337596019245314419018331590585530155853757301363446483607479643451658309434806767835094466841195566308763590747834706762120387637368319458812276999279211532590520834212673116984255776859854352054744156848655152850353232282656702858343025910220450036273309739244782782653847549669368945802525258969200712858002736209947970943360044375735594285070918288456099666730120912464150822958770909397103409431896399996170007161522900106629028135302633237124146761733217896594393559104270136911205286270081847017361475551371506213575996559115896089999600465119091191659988091926622569453018635762872850666043861716119181072595172152291041400095163031532328927684815371027618784740698665715026521400603327771339721083310903317344231951135599931917760170210895623337868070431303558325912940454376867586055523372705488931945413314789031536087843674575994892835307363764991920023490613887077641655544570342803461517594262100930487756374146302205563749535552271201742745348083743983530114539771762021140833571284168773586521132068084895162105499640529119772463636652847120878419178555169263546751027118841217676895492632468157353240450016832037422512719659026366296141773138573101643678655628035190723788895805385310697639687794872913829974561430844682584489145836398513775226544707652806044055934854995871356470684394984606450158443020103763294324745753948085335509514711100737196601360744681163321686101393707419292842609106054194206807806207384340029550841078331697850238248972608199361618925266515271686267232406586786946035414891392832629841062771192605176849225673336331053660181656101230936945496646195373587188643982507117673833745888685043837501720394225787512715287039660500276618827842839561175014923248559167747732711869057353542835390917904725907076769165101495250228709557743719703739773502821298840604448707122283268890370429898774152965530630526473317383635398696104973123090271510541356327068261613829353168758262997079738347082132439589477337048467546146370910130294544544768619098483135838768156025556947128959206131987760371693920838913555278766226738376216215023871340091947464205692947715160142543344358020847550931560211854570901765214841237184127939672622713135551439303342518541190108869936239310029706770612979975092751866266018649939173363020303970110562496954195978578353245091535818178078685921192923703247871932550749404927092455592507704779611410580899829175163021016728602331020450281372439666266857311144144900361090683178303196069057065150780981324460061496667402097050827877187974294356771434400028661468986416343184275344829761599389249569120625966544857235297329740528281411059981411117661816561169447266949389929446812414742268926172933472201626163834310277438025420356594739256039166911693493992983895738265141218536374664122487010319086771717954947080005698184169459021071429434633245794574712208851854129674387882638300966869316355938275490822215863946875489928528670574775487895774069950499047022492237290669110666468173031468825619437733517320364601122528913892097605946898479127414195636490723872375941508070384330950348584454729288642846379524261132191585734984734810633412428279339935802546782182401632995864876190571390286254642978741685609225852012640837245735187909565014152446186656390013105933224024072231446968081627257287917126657345288473339907380289589459583889605632785464494198370433739982553749156741264922119856106441189333296638930520305094170597819839276058988476118652838125115340285779756702019687312569321133614455031948202482851257530652696303728276959995286384253995157633079103623570211563362360666161990800443306378510482155353593219908601035358772640401426253581272966373994062425723529269754302799241079458436615148099669703883098222385686746391818070139894798574252170089841545715634733480138423523314530104530502903207016925577093997350440880233493335794356149584649070756641737899084703235216800375689087064159752069668474375580074841594227163321838115299087505874842116531001693220953053707515254235848727171222938631065619932065710005112720221402312719177863204368840831765757484916904203968621184262055777174514461471463329895044105928638970816250237831849019629396119829822052222231875870213182712956312034930956692126341857572702393281177362494037316223521418786570745532339089855738404050834611316914356010747253584574156737377873191167218419404863328237686211680745980238349270162827670235929071279511507257482723177245156773509349763141842639452977557298150057188914990635890655540950849682774323861697511344986654564398311612800404996900752100516833813273809218457613220775399500332092873593941456024264438804508206289998126249511313375910048300922266636662799435588490937629590086338177905514955565232947761415015794077957411603583688490194197181887539248708611775509538804982456085865116606298862917981447071254967171335275404794759296369436032582010924797424464312750849290606609452475528806163126636141905704003610776288274033901259924011526886359258417065305507493995673054695163889915463647394039147595169864013022674992202509809785976374107231260792207747875158585053775470252975569587636588984993174222624387864565168699761793450477750419665850567740292349864411705091314196278246749140790895503575095599477220619161257589878449941566847689165008693058420316182782333015344640676615820072806402016870836699766293459787368511446900062721895972757586659910116797323576009386778420087624500723198633077023818331584860199325957126694080002755201093544966919154186779419841318178471983157068506712196021814791255910817271996609335989702562060157611996238278086508848940543118852278212659827572729694355778647372160227772410257963104307262886570340278882223717895135417345830585703063321706314865520402592599455442579018880166672600670883528277656135869244158296858268082714770473677512533853680011898833402968374726405749343287809339834923722676930428372663577976736803612224875588501841514068483989753127937992508255379412982529489660057054213459672079423331181560865346773848549421488770160618046021157477414060014013347293112253636165720298865569283736777799086200175552289309620502466216740358318900009611824303101518520710214829563916582063731271176054166423467269078111192866758997118242399300282439221606741857730112345289826289293866892229077310110606874982904472282392168581225072565250804821011317323901493714075055406840806480829942794196443675768711312311291773823284923483506743321123673057045396104751981526197652323376343305278801623252971565160675378040025470691520980916462363518894455696272074199372533657212294772930269940053638106102732127534473514929434576126384249045257220467520195920216023949741906347491972726167789588135088812505576937288680477916935237774208276674600452139066036727120279238123602289334745593365115718739859557652459916616525574587667963375986260993447807487451668493146732706604928458462065739413009095563766022874549744121884037727583709845155128674599802015664939100287800696750838377809069750055665441722476720526670487454687503981937348824711737950239899321451458788487694309976860619474521637060065651734132969415770521761787609826899437678372522596474257143852510663854780972970140511695303372139542162466783491687871834682805866166685715099705433630869452270064106593349311577361126044800770783203173329310366922054387615509387220723244831278523689507732970479539836115340698517779360872433676761449069911357123261038323522821136388201738580976959056823973602417220987173571174466245154596127799871522596982980368333417367485512019974735137152539723710737408189405309964786893712869086610589621782242449583515423570264196498591112627643650278944107871431701100637810915908491771989722217049625162333459495214807279950245833020641033668878440104162653373622101148417064242340597711445348229388160718183632471090126789976023282692092893917438256061661674529324326642345782191387630223548844847482711318261278804583069933849483229238764880002330178652021095832830726965423271263117167438713564026026347587035979416952234464536988190767059823250213493248356907094755623658700388574577653910861562864693284763199317166809073086077571922352979642756007948137955518226357007950529965575754845501980823130372653237615289604439562801475779974075868991378211744438314795794018569365175194601818776454140235264577947005041916767299740055674212277498549718433314056174175139566548216499541285353251397800603458424820147018112021803121655387583554159235489316591376997328928849948131780875999115815986334328962400068807656202262433461448219513320371530717508692216286559608466532857831110166956533148186599363576761650710524741248029802350467283294316594838258838434979358819686063282903931099007295165227163444331821226355000936902835410291121923438042729095714510065232333718710852655969400998581562201381186932205994199404422915885336848227783731710228018255251293767045638641467201228388772412964571956652440115004012683502573594706546366446384715350581946797106779889014483670670242038338667279446349183442572192635988637068416785967602350897997918240500541919104372204809212109137237486919483969115270262353377359131221713442719449278349356908807337667729884557813193437896023400704386615467476532487318786205888330135678468404442452791338905746055743261879498531183668030924441614259908051497781107352783886340924490958758829132575084082820866402976562634418507115736728421091185817232687375299133443283505596302161237987256854965376401049558726274985466412169554100137015383090867012871498435040888197488576988629828144727214572263617449157325142209178582851725746987857328509601596092841453966918885974557353178591981353759770911886324768649064625908684061883594967050598285986497821523325098282602825000234068728413053590062514645579454012531433821791331196217121614135837955949507455550317671332851610231760428417601750435250736565075898880371185534481557585425403172745095317763903700912642275969095226039160497135169239461353391611490643379798997637274715945660706645999718129758258494262258113529945054540321553735804223028963834119674708607497495712541614612091645253982093817748301579180127048879638500273318700129421553344303829600556224549957848584194538921306218656173169814130582923441118847277576979264078983187416822386194154579686038361295460419706467557818172460881021405291801002236573060081572995610971920219494710965987821788105001734878416687634712072784572777810727782161303010787122913728707957649985782341899425919866897568086035474392215411043191094025636212622851286608487715342718897439673985180923736137727972735365476422111247684431577767031130586274791947524036554805290618698346485739544823711505461812612334015393223694969317244412522031899221005459592488822536651565706201914433055982566595481979545616325172761557238982218742686650111889436380174265195972321486041383144733179451891325706228457380769986577990825808571932302907623822727567050838122436035712539041559292758565806555604127565154525545855880278517116437144643571104210911715103894629816767817676859819077687537358209633143871659351452914534509707618531058840766471813290989684808468297704337893498734018726772225883484483106107474141612245629010002397466314063457706963366570067757788512169631463675814620118972072323863688471017455439815010043416537599594160602219472016208092981106585587721339589056424576854816226132327741352450097193044274403104077958501569460798385261336280576856382546565720898364089321695417274356836961257330126987435131534068160680348351116718861656025591191334568537824797300916653622222194159237743201677984143036373472279434753798655501059225864985000611818199038481176110711589725597513371259375041890665372977377970310243215693267534256733109975721990336670719044831749158510574379959963085591472319126879678265752085684960258530533781946379840047174914068043190584002933209978957404208379809847555239906273061987644353488546909848333615586881263427892428340252536723063655821472968975253682739469955866085197863036627151094760565502225303704976219394847938465492556343590997694928372212035315582739059363253662014300468235692844157937580645419925957472518031844973925211253716348672326907733201103179606997456127666727436523735915970425618965102026828492773545129169882911913949191812595825571934129432378091657204192246232919062255642428558663086047303820501578844496178774535862487408883540188303931385770015598889728597435457935027237080378219364492939654904441467725243482956963527673396164754246511635124067480187891092901823337789203989408637242753939286588412607354583448825455656677177644421011738669946504794592041655003064362932126621351516176812416617844698763329063008162291341234194146604952058795372084825641923432708019258790528272746609265427828777359714234217129829012934503743207909055224688476211262738918629724367506894338994776959369158596891196529072043660875731267555235844315070323077269065746319639043791559819644047323682578046275510634805775339561123644821797530622600701505781883926887652423726404411254795956291838394824899353893802510262976814934578692784331650724031918843401162246616468404942036936530104552223988355034881795597287063544677165883147138762055088194251010474112931862427558340074416405697007396802723103784675599979329707601298168732063148574675544610726819372742845648477317426532469452130891482651366754685697242094248786216653666856851892958285118094070242925865945544191906837211343372466212482806943478567708590509890629104863519096000950175011055105283989419106619825434391931915967421047524788652830549679935146446670017156185353422647470211644610105450327985185283881920503920123391940917138539860746062663427243312331266525689899826985705666304015257823589851093897595326352940578193508536817373919542912845672708939875074163237411559211383855843544952114982879605922036765044552013367028965190581512919258325829146615952746846940404213428715930804829109039224345322805945243776923237906009142773319859965193864364677510048989276687411956262265804238154706284320392983284167061865060876557968544120967010588271287179793477655715049211365405329788635202139574194168368665618710722836244115210011080263435779184012826217053752075601531634860781073186508328702134255782647881608989134744237044279758604788428563499461084951479879996085333805705654784927451578445111172267982572830387533878195288798748000813130826661810721425820551981624623373124786046049427816562604022830381371677000084628791254624116410274957409128567935245449512153079738667541029320179813651355301200181530513279136968216438427986249613791858394438781500869489314466880762312861049032824364114280343932187652488328423439675418341161057895553185485965294282290556479275428736922745070373763204948327646870718992954621306197868538010431412136160280703661944946808311529787403133937755247000781412122961400597173106476321328322479265823524790781887209369125938969333157330720140061158427644676170200245729990309678898130910627701767786486195289915403247520582026743419399670519505601328284639569161108634100287683675503927249475708073083283128998642719799866358592641993938351455916782619907114619628526831203494739910838472380528510877869660190618225351632534487176775509676898339707735385046905864728553052778482527420280101779179028513179495844070157345434860999906174576998079008559804108273579782124604077285134483113837203264557273681596201338766234165495445990439782890716587406293133781179777798667302189205412039865507846632171848861352758147399621095346328624085851058714157069204431303744745129295360459068332041498405649516668044423983040453830121920948583902168881904382945572227566858620887876328463811061934609189058565461835948905039257413518991827280072590194841660237871044315316371831157544680657988674536389459079012745062267037577933516516986556465384973359705796102341395039243803677754891160009561862324041448210648184757894453035620563107275802206736463708568487332591056170498838769323870073242573287883049641818112475831953213889516749384983355715569963423595425620151980506131359015501314548592234789398286953229041447175973099324438793258664669069038240107430497727883292501224276317153895489993107174628937403274280209684180609491675107556344133422510782591058127854718706971431951964189369148196949166443912911494260356274470644837925605366574636466092321105602569644701887400299542058146955910457694150666768304855321366947303910765661543255779664525376575167178798619788342031232514489945620227873072568303783710037404625221900857963590416921751252919088822943798354906565985441830733825493413444467312496292057733011077134228196318363912186982447354850726561764707152263451373246235247392210820803063003962017466509696124977262405906999755343921007861922661071207608388610707026536554585188331345969155737948638451937493367979035735889595325633432307393221447118884197159066642160010444035622814553897062714423671212730268767224825175356685949302463214523879602700981113414657048405303706869752283122098245532100742971922034176927871925789438776494958198686472305317161052127944953171992055271643306499939308229665381399781584950149852744698156057315950385412946895555745458814530479484349345257544009490913038099897946727042272525360407255833912249571942445659695814362819643537024888860079751507862910109693398799868867284947302899512240432992169149120738077419525593222915730226564384848357779853606874901301596304610671297854008168635471256875858742909480925305639707917199974456461331009765930738687306680666170018127167192454281140431815656928024666017915309988761199914048757433468629918584215435611887967180325015716750363942163105534425239075544675233461315268436741583961756337983143055307744400508594010655432936219482431524519488335124330236783993734981369300353268232636876944332938028006717954222757765874586445361983566757501771117893126790020542521058480506581302546487130956200466316426300438496416151523096948228689213462654191148497471143404451878279419264346320792752411770662504080666278618434826824999775397427102031710290122556688713179519688590751702081256382632246087209947424903546561413051927381464942157305703997874142789278753614041736206463730813446292815855085703439201721334931533733002774347871041591754536849016898448307492389845454569139780903735554593582314370105519444063062809473235246387682238785117503667041898253104616644299668548076569422619761923778803187979978492370197781787581536220037641641024684654704067479057882829861594213666542858610550537573016250904983487930429419299200175087707702966803002229731822258110244341382507622508044434707675384985575432770092857668056261587635646528108185888121356236753979043670670390020728063397771190496202598750501839019024745440609718326164635676666192188200752951309458913059091638983558466501314400584570740931027479583948803492756896036506462700251716820610007422725530913562225274069440217004424928088573008453875809591641973585728673510513630456576004007154489387900352746619385541112688507277228076241154806548721751183149804414007097951938217029092289367252712389063754366628128499642806601097795792114058052131372331924638391462041117341963875737369082247871714221097544194254893419544201516641100928636116205839482006110578510727845662119750379451793621865701148441990604695297402249234134413991616455945207833999371413395612460805741953253475013632867436574906737203019821353010109908128637589769986773747197928228464577941783134057398941178710653821116928008346003111926658304141913548033249634475767988895491929239250563684474959988404191033514952819603187989939139430379527562268289899279631234573386277877690045583838785734297040945075928447547832128572877949597538064251046252770103664632301362547637527281284934692640448874567459758432128281182941997591057641105932017805723599712931469415834200455315548225299148734336552935722647296850693773945876273192129439175938978910518522721884244445499622855249945912929243373186879123554238163371003236641381893334783383527614512032724450062816264771131058670958595065911433677165668988705881061767199272080689870844996702739863197381370831385984380747081255991263500505785798402131055039390503597807738466720830200699142610087032981155321965336398614795182865240127416190638161055204593852943461758105992201757462121116753447965628616122346454795107770768109689809711969065298433379966294109229020749978458593229710098600312279887275124550016831483495049261777287663581535214321616557036326551119257903439510213141907457979878671515495441029622896677324834926839597119805007155289852741993583685615646717360749838146492193854744628046897272073388870528055216939012443064733157573983989309325218938306677589924374324552567284588968645287011011228575844183967480357929009046837482293103360718406348853179322962804816699126516823836568273161578193923020387342247684533497591725367582684133040797706646790740338876957891030322992329270974481537589185916081896403751071896153555904995012473197139656115416372652217965212245716583728260745876352062838348206188331214091798529996480680083713997848791382674218120839666088405192872441463462841394408185982392196404319003085120577485810856822532304771848595482499605768092067420254964215193102212942277847358531547104835886029945670676809572337255680357466475171251328908272131719383574600016456960624766703059577057647047399622934893529834209603431754638105306811027811303383264483191283814234275248406665240635609421152888391689391919355913670250976128773180926457811474878282732511516531230861822721578475497707831237457318598603326689622245211735547031121068306505352252059406312296214281853432704561577464878285362128068307932175800501209429151464964651587596029994534767100243700288844494810287833588820649666480063527612971520091144433998117108418440776023961502042367913455052457272558382700828588033855379376654168844424785709758256810241016760454306003878258501783110737764227877837283550014021530498457435786573522428827766677315534640568236682225760774756494425256637843164392862990749432720112819763578217449211609319581437455575996337375926605127887104777895188346313614181302524418592105351478599091380209416633710280965897550901811359377298854751915655761741366690946989893338240451698854391175148367073557627909058784423234999999048523578426567931279126406020235456153798933039997592873895091540322106172542749026828361151993733670378123209854203627295197765614336788649440729826510256386100712120263718045556233086374059432446407312444236989690865360609450445895197617716800689141062921780472607510397610160791786757147499774629631482581571625972577195734832710366755958879347648635914249786637042629482133889649158658335560138728585536702607184256133126035101102779786692138741101246167879674906864799432374896061549153452705280128632478716968898206847587569279115277759281312658495819494113777401453101696428983005584669306853341628956728811983822917895554183319982963081388733834467498167075374003445180923252225921891562125962234680371441613433249998602967242903440360671987898223419887036110844691240773486447755952144372312612218372590235158003367301540932838127426096521851198366681716477175505970559534985379810768855748726117748330744078321922405065848323890690767542942063523878069955743805561625408765009844077241046104665639827396833628137844270544219166882272998802447956809194702599048874475964246480677795163295198706109356130036847378886352141867276950175965565096611511095462510693459623358560572819164489538731432080666545047410602756013983713054755909247098762698480145311735906218015282011512783626452760629095907152292655891477833291486585781592677340615584397297584911994484016935968587899699755775005342261309013249863656507960688457578792254040746403964434287806375395975889627476375437006664324582930193267117541357322313561299495632503259359144392407140307888246224545299573462085981094608509775598207837243034903086274909016177657617689386244543599774501880963377491923752088394337744283606387042371899904327660087447189061666461247888569228423541668510306226454510823611414598688722519714959921761552165267155489126634995226599028701810569567110199324038654296674418976309909197414305112280412008215481859428545103098205888108539617244680262050187214426632946096185337281695159145047470000132164978787457633027023157504815082847400400077183603428622222963714911039915604272996877465182317944075781879258975963794865766499245804602172540322078621992076189924437062911949954297513676228437725733941602371534320633648609782348083883783021320298893607908054858496183684592627555625785326664945908074388409421422899725881871700352332799866495998753874902446017210855737708191874492824489650388191451234912078573524227604097116805285398941264325546420056819044321867560054983792584732869500000708865516565969097542668671258450882358510598958105328815773365562758703548193797182292231219574771804700020691011837352180395207934324174225539151578325154820732321197533666439850750205792940771243967330836284726201652258739524790299220338551794805114404227017955956650664494284848343664956414251103993280472625452415213461871089183920281890680690331032485533772025077905618071362818750659772346348433657388346203737611586244809914977850009497993484298620676715567438811183481056179923664637133224398808746378879549082180596911005934873960915457242781153267083944184171548360282973931849585839984356188467129335903086169625148743824312514929383187401983372281988346450103303901870060058206466521024077987655543834201985966934921127182486052924120771266487290270602538863352503670891748966082570407737185050568097531722480848135048312363337781721042149160031785936020417988991399927121507067380316213604662382843759285792775977509786381363492706918652551828683732727634777393807432897660794465108397317025281424611938044064999325325138774561261485311972770772418599448753523981728624657463661530995091373391866590909111911108365726185420180740594723248322192678620635603957934670645749920445448821888212704291196027110697676300565342662101918003611615809726431376319378617875698636415104892404875639454771375496205734295174975499663538711239740081068408165779442232967279686643019630445636220189486535475066155224854405687484722331406027377525602676729413764449425201415988608321793748258611799810546887130485121558858503743292160135683501512190636957414520933765088050356079652044803411109746758629293328162722395344000255138561630991728834794276127713434546876871400051823339064568278615054737089274834029913101486665601613275414070629056641520964508882151075943789767194849576245653532093763882451615826797393621130056873399514492090741872953835890493431549497089484672167179288546623687492506529445166382079062793398828231101324169506731725468774603443319248180028616630723720612973001858918962231283625841300648253853814813376408320250252835805326649736475386269331506996870755047375943993925381990657276426697626886810542282551177109471147716561078081227688363447547329610874987769139482955138454847620180546054526836850494373485798432251653646813256925974726289379629200000947694615782203459480172566801812599872075110848251064908053540203533440030621566944797878567418682426353159499076482107862517937156028094521705235698447753963334206671632392107286472011784951101279338922142290057069822694517948696908395424328000667197970468976716657046855516119529666251445719500854661342796960504186094367569796309715040055583696552737309609324328515707577572028539030743662669971827855904101190902066008265752010544343390332148887789532863235450525935285482247431727370846191821766699726187757434076734466685129454207483983821707701595406099561221804837129009199597548531582526892896816137793716155949459260065787917350205045079922113139275339802031233452440290766890691859894562897775698619150000740584410289737622114867876531419365069149870110059148570721379732309615834037288653237816053876396777610809128693240407151368635534737819767376152863589831884858141300354478286591119460018539880544288606484098432897439828544822055162478715269863717056179429108971483990546530948441917100152240294178411395140854686840145708628836170308670230134568234323199225386904252391280993336127425174881582167229813686307259102107869825564389959094285170210553099659484023429835087933674153951704149110054748641266534588868331378019716827319964502492349702994545863546067604120781023480644955424219893805647916034931526857034674269262475795068999080233290168082426006118519071706443672442653225421105455123109541449380741367515825796943590457000671396515285321497650832516654256983116322616734182822936875919868920393548668267315336752401817897519937797156652095450214352669881058502030243094541348275115874114605435644010118947580502232178923256340012801005869536614470031664460964759702061834464458634447026155246250104459693486841397110910750913840754837254785869548255979618262069230649585604972824401449795554938036080724137034165235071749593215503059237822712395964003154467989490304991994060896867415866330659039822897902380346333429941651363959374076824301257426831121570234399124723203446089138854281506218701431145512164526884308500826334456541637002475038330157095459343426711121028666091610192327115350918788076737377814946079228592151305308855934285607692355012913486420914976902416776003371621620295311810100385660854722493706033664982853095882754727336151078335161767132398432555454905135205410356377174030608341474674448969952866062935061123572561813892948736937341285384635307271354314022006691409666144229883809020491788039553333345901534333801852160891724135888990560242909118561143477276682690140469140064793150717190141183426432817554611060955175108854737142119752107890418763522533523845569908618076103065451449490242038208329570340412869360977439466290249138016332383681112990524570825450437602989302896954654792251926282016846218207334206609129998812120729465630371038651556415683989679738589368641443220022317090458892485902678137479937643913741814771163560535839404280403011845036333582621165477553323115982583091062876852932968623463960229013712305041023624314562834476265063482596757270040573425210825111626788629359073966246101361078331761516382970036897301699887360218484242202591207193050290533319430920918364445948992991484237767318566340655087685172715346512974326987588454524564466674269953156360382997070364987146050985152485849237912629820233119552307427340987305234382733326697337565513463132027729066964922464588853078334952115058141058232009873236973212860576823350148199122859086207434236286858154047206634938288483555556661394032583874002582527272381008820473641060008511315318517384183310340170072790357117236976348790571546236251826600470708662265969185584844042473868874474863198472607435489607138215817853663167907505193604614203156806239658760571370728781474953322956850428465885871707235758532386087689897902786783841449619270104631926670016889369805887117971103003699854047393068287780761733692654788401858564845770193519464541199613989916706114002756934624202795096306586584709536564626906854735467302997394982082881191464962998559421565932394435835069795432437365120956987761485730292754051211383697762319135359873883843152365284307577904482821566560427162196874668521716346928192309749579550052919586031042043368670044261515625738883181323018760450827776592840640081796230969987319184838100386347817721007840279637684392696121062537257856961093965602190457278435171027819176795836121640881707923880962413100844139043682410530614894112478514438794667497709904832559810872790100403085378344902227730623210525057369301127681696023943827368146921383468893359829900606264407829585150990838868210499916535462388101626039852743098153325875151011038251076092815734052208716051927312249506123833430256341183318262073045847039058752088728246145063704419738851724477112050310262262938631202720059283641600583079016599822769368561579034198259551104691569957150988604486457845907610870004367148187750069202144978411698472894951337141679124597918650015272073118595990693654520666818809339599599120824329300759010651721784859479970959405014089395775845865387788500904947625460533046344192487793528559025594115702682150467796687160205452414945077501114279843035979503708148026868970832581314195890408528385260522702730988406012631865377546312164810661671535995429052481044612094296304621876524008291574473602685929470955574237123774318257763646523791788938590691264196380169411640197873128110592420047816451213559635715795713460417564162414140061510827973121427347659418149287515939441390200114271956251304822537445293945719731722436636384265430167950501752977744235268468655976725960571497914849072993390140837078869764659874294082685816380515271647224469861224258560188772148391030038417130423573635973659495705245200002639203645356375303432188447026553912607694338216602678955928355875447823946845830627029850407174374178496472690428518022646212293809724929828955891295546403415807271433606543540678465831670354379407997271207743442338169063664805751437452384688947300903200677423337845196318118524635962024146203095397292513556942847183006616766061693729941801239234693261806062105021607812591992299157254847070697537890243285717908457649957481650105993629546948671916889109518321121513784169505674221593335553920424671196466147771314152302498701227386510557198101633865919063307673862884882909979364125903654508299581509246958149021881604700272161969786408976505415911547107393578202998667526867858947691424065937104695954009277297430514934941038004470009593257639984810753821122921554031435001382224657185920816634430502440326097787931033893511894783365353167976665721176466880412557784386193726624085958735173905523132706513983537118933882103997382877442163977523428061102663743142724014952979430180454295312737168892577790467688370126863892718558467538561299676933091882717808331704834147618091712288223407287108941839573378564776020725164119406040704286206878464976472691815447717942869095502699722701610142387257539980263177667590896751238407589341543116199280273189501561146135012705249774939658471400867031722623982815478160700627587006059115070881117160692205178683413078035983164262260114021308511928832402929891914158284534989921396395203562598263208092801380781366886954854302363155677581043544802319213131527465252242014035259685782413139524000811342457084013715175712187319372866724973108505650458781393002406565593095283654674311429780381561673017936105716051087751964207103001324000477400555918189952817228886282079165571828568528118834538578603559729300363180977202008740931314932809404975390812246955878914610376299414829474783715891008820476039335848914927722863311959906397962658608388256945919845283295843704169196401394538469894418877272496162116425843543812072275863794710404585894304195920070033213665044800286673549911667468542920703984906718705316872263570771189168764219392936201011444264238582020577460394869360748567446483714523848255669446914519820739909432490100679397274038858794290553393833119676220852883403278295931397711760730591537568439097042372410894122798892544189973842169246998510908598605016382743539332239943708818134328219386436518639670098925813894979798468271741720639846014975840109160360063366273827096421571167827731006861492581723405133837406653262811318425156557621148883615776138674476514947358021244704003513524865734863684220009751372085733112030156519219539511507601812580449184784684683731675880934962633828503127233664178354841958606469857647892168446179062461911724006028187461247125090305923961810374877280605709289706184573483764538313602496758599521240909554440417414245846807643769959279591206597283689648247065311003246291438087784255023780538537357538767254148882338914726363683800982847071365447170377327718311174162896659368851951633806781163055588168634066283315625622444020265239720557926464911850070112569665662464686615483232713129613148436312791815095029994081995510703820461327658414921497768346624591536619279686842505155841455811436845468686839567691592911276317237713711762514768162787003359542226380425561697322418888126608222686626254854910178496403921908199521337676165194346490972323878589082580164534968373214020014019442360097738240327181967887697515590810259371975976925071803197196510895640188072245499425275738661255823267994297891181433374107523684380896487343806865471166472769647790616854614870040682305610048180225229240596695380305716306341342950720424745214798959238469058934268213259320513205815111915886134390952813853121993890667533249649207647518632462315355541313262608893932050153630845249637608656147883304587986360024155684035097041935644092806538662572817245832328267052590689978897846946472821844807218517666408877911222014323167964316467198432949789743799113990257125008979410631197431080446022735480498827171033000655128752590520722046173914449092496809325162446939000643001336246041033207574611468250971785338946170962359575345344552909763710072072122117636510802999275798055766958608528943458952862434417473726928528784366739715283144001907166284806632249045905517570731399177965736145752618820789742530583422706507925778048412047920685932080852267538149025259828505373986261770691286133677801260486008085518101889365280604259351523246533166026760261617044360541530911790905997195728053249926194004150087831269656933594012398457084049652589149351984552438453657286251623112872533840202462417829958827133537580254323709283637107060424511255070838658466876728531806625951885366555303557166218066376767231068067766700123997872601381259214731137989644328839349312948048377035324260259732883516146033214441334644713578382130382432919639973206716069873166035347679313910859766646563542460147826634515568126610622836583789711988210989993581583762813364831357035997147669775912809925584785941865610537596014369359524690370618445303282839910149158892278316378379114214119042576762395525108452097656540690347724291653914456098478648986016100965774858106024555791239169231732169582204398651617375322176435614813968864632599948937737171335178302407188523731904713226511097061474259235380576110516799973937889302548543160177213992049909902050864126467544234268387097288860869771150662691992628832407721900899551434110135116215300540071846232965612909528849682643361410487364612030567840469541024607388537772127817387598351789865764016604265416317164085873496177194977568704757389867952958869268360708576450845495429456534824515719595835838488746632048706255347448478367156393050151316624915873588540087367054616192261008530639453930500147302462827504439202704887831253814556219242942397208043369240628820000615912023761210602063013502156692926464744105657958042570325125236542465837366102452669297687855937354719964585943686731973759325258863893278054820233437031088667033901987413741286087510285980104328948756077785901177966345096591338206601261479309084033379557623262951560489748788537528170784556119875535446369134913176476342398075135765321775352106482337622735028558000930038459378162851079026035421558235413739886859721710622294560764971235342222729424098439947919575538582398408538383766438296750473112816248777808001785267188983893066527612828539111704099728381182664806966876502766357875414797523578898780339335518375751811444590244517393937122795270303971473532814482104371841715156382482561984434037053553236670331098983531092469862153411666649794397967695034718219761784052252131653026186863426557845108707612524810377640553788582364437714998066467537082301557836078727228348830526998857122553896340744954223634418308290829473259618710263339854956791915243040768574617708694567265593622036816961773269897913045964624567752566728484260776188135029463696516225055721802548138322712714168289449709836169553998736265047382301124552663306080714039850494388768587968868771939820775468104404472783271793506527590896746457968142944000748409852241322174351817838212176822656727653171090089424115398468743210054998778533549371284282509209094932718314395714478126034070678902817574767061281403941983598231774158632459441341159005638232540048973612501713663622580999653532140645097252447636803053130204326186254990743307416183597058933967113335154806042757860420482827889429498078497537287943400875236184790980501748033124508252656925638931179365455953591656429888514584616965561266636053614515936218842842212871272816179345878477589221971142219669448859301882213494484356097873207942704466436292158896878488975926018276735942904657724713208891041825683408619957555833006983009995836357553175396311000361331927423649773969230680901408955165131620011629668491773998293529344864429868825426866337463112114379317210300984890965078774796785952272576835526940873808825707017861884064547458701025032112721226591330285343696900289347321148978568695341138692284030189422762731789011619128710684919625468726046295048588593874502648757636222614483382970862629069473094488263758240400685065887702608257333280039871396781603152136434840670538795663025884913809018212864081491494519749967043769334765473963922914752587019996816398467044476505415601425424620676892281828024269740481700943300082768145093768601658497806125975845798379111753309982594692084485655806133181784107826841522853991895801851613312536594997525832436040290037904555048296346122607893352536388012121910111076977428260426892614361460685987864203204424834078446649211071436830239116238387471762749395438412754263859431252240073785970334741955876153359339357477398704511029439635734930500048326027514176379214686987525117119552568692809194503072842530139942907715767366514827526321465401884965433062223311298637075132661936239824746293790810445636651910489896326662837034828344889757534552869117356827264747286872215844431908446069708531498340601384929008040047879456442154151518680653930347863361548585182521422898069209591932814851034025783921756207383797357606030296887062749164447495312074753604135443228977720622386764240035658810056579867745002999058088213111507805830678390768571921896033950625738143798434824879967427843996001877439556289334909637682685155911925105252376057021363347446877388335796329102477412770195877711945935083533639485969835361227919833840755583498408057541247739777974608795565773443317516243366426704513419073742976156834888589134331175836822701772738364508357691256638529188602556899523822727482921009862979743928866227935179014528157988419979724208465187586495774815243843754847431947806508276010061167536855013784653605135814342483288587616599212951859317175876521138518983009074449991558730261043928333033845254150632194632451316337983623667781842842255244067483432594228750861812846426288668365725649396378819893784923711330548898908131485408190498361441688629848323953992856741319772123527343373404547948121674537795004120292868743231066596218840100162488318689691388107299310590776700947875861526140455325466788006198951076863235304021803540098575410742036362028634430759753656061911804347061453656085075848188858625827430454223628366275883666366070821097260368300525191871920769822240082952351003149547179231658263393096260559546013261243831689119259197388849007374606020485905854751013153682593540032231882397093065194077727085012601434817730132590154607724001897186313953680751542616220317347136471923230895434834490120259603317857910738748470916450080726576315506628878379515071546464847555146440053856877803646285126071809937695330136229393561324930851558814426138482396428542054518130392308344848640309526818370294710536228514139953964354947423693829097727998029888412952077663100351676588561630697026912427472297255161623243090091716513021839140503350759354072226108165024796087116203111204464122036927757887342036718777784424697098627765748923201221435648393460770723545896388541024105138149037890702033532889591735327663984596053698200851357326759366692293211570859361413221589829563934350875093984093155195410072056777726161466274880106620287043917478068023586965454369948116232311506207908586125169083916269915392535465694122425950406864272987836312964270228490115477265727168033945093151335275067030591022003753794393337737518630549102820339498681223726063495957328555244741021611158055020756330582555194164257541460873596822129128712096651101649657591841168756791781561650660353122374558900847982104671342118157160184854042224500574768291848258752899075367427758235702718683506152146321896035583760037061309268783679875848293696607100150070359952286350883250601024307379199691815035387000467440339579079527292246102633193255071732204836894530474980828062036656309139718834765300193130418579686810383612877639699676862088005716639821837267343178672223031010011614868348969284056216217405157832523962350798980152469398426601907313269652017565391440615712092659964912079424733379314060930047275764532755938659050655010436183334075266386905866941189379015374142572610419000355641508568467133108313071460423197715340846292130207605402445906673649858790296424028445266953395919409593627958791039816081104859021261317176622438959072263351364119157678952687386618614983648457463781299193870576768802595631092647207555972069190281596739459128043535957416159135512562990893055155389255065600838959931287547054473590489528436110279679626594076719352118693784845887742072908900439733323963467589147831454006683934063308696234574265910490614114628435575353489090103438212227323064708991449080784303139717332783270213804619057678267064925963994193717632753007084131700187934767014169377776723680156750043845976454392847808543154178763993059882442907505198040713925998122605253920056442611753181477191834830046585430337162270207462342799080696254868665053373440010622748998153588687282241673208547158547836210694696963506394804689309763300529890843328734228197934971207606341236119025174862962880057898787489511605115397625328556049803488950217586814421616832886227186364416165129230725450770645833118211978497720081561595815324735928754281793492741199176367384329676033936541177310426874548707533119519382066553502458940154708496481579768152684830267452901852399917692599527875817897662817560134537138004179706787157664057954652417834372424083260359592469645095402040516937454512130808203692646971592841779075988096291528336566549779212039491661112206163022617932314230617950966184151910699735870137723346138190082450181929086027181455976058832699501874573933939973094550227027114929602402028324564618845178368251306130643293347795607151152994945745702650537654328290626092353056815612119556240086337733788083849468097089160313410613854027715188143695101968627364448287483666596151119103703263057606340642246714898899414628024312662490301047141742916104615023023425101741580360261933253214430846141022904054980578271617578123753203906127736384732682426765488582875230672010538803488675945122669553627741902726454217897691204408776502241810469917629715865002460454776893683244589717813472514671170830430395016424673627680107528765048977433592892572633805199966565923474798999505917754922094326663001442542634838781506164317326308549062282204627713596376282968443584426307926845798936009714253836833576272611260891298071051049975706173438533673983216268505563002565857726435876557790779917245472721587962107363905918187233937332218771877411689043105304133559457766766316784205669442778334990984597848520217656123753717244723728449467029339173125955585592276820587637751843844293299893213471801757662397666037090654119738582203579564726722486863136034569172051180908030615682908913814670047085500109042985117492261669050324340284772281984670745007974943517877386921662297762806937964042389995078529517643164010577286957666870967638191122847694480369667216765241541210304069049994574585719645952133028634620093722111738155128884699102499061226857096762414829076451424456393547210937292478711847961383132791961845911753247694602333155810239103366616470587019182505474259170013961106115349925614387900611553481035922859517244276235270706068912220396789370115033802915623675818011280802081394811860660876978042263998930930491318344379391863461545390403173451764492861810867719831666466014790352720802775854962603998464634314107048917501372880062609979669580202153462952320850672250071735436641765258742036904914484636508168418475976345546707715725173773123054303028102872619263948892161915389972880532584517879452060186628682527109311278468851477974180650079335066083622337762829503973564657055724967288342579157851659396950762662302153694339447529430064239081084353326101938372811226034952661806286513347755678123168191680339622140523060952123300222017024665275573808260505970922435217826493870610529180406887569668395374390459490488540030535612170836776718721402940680434474661518598763618347057724142083423089963886461811002340244338935660867477242470707315304178725505926065670003860749387410423510772251917855138334853679244804260374154224925033995518875770508745370160433558899797451179173260447456349465538787208906057430509238200764838641323083939993830379959242757445933761364869699950561539732149813604603854887741979522685118765340801776946345619935235741020560849561771461663193832569689553916682061884358375206475756112715100434595407205531432667389098325085085653789862499263325149832346790959818481531745231139496819964414148018825607048015451574781521141670788471382371991750703235884245636789487397743594623926763930101157892369951205746497488032611071612889258556703616911464061632166565067869434326878954223858742652040124939359717348329722419128594966991261074506454320125667659816919804918447063771999141584222292848167768564544520549174675522595323989796776379104045986396979782627292842644602511135276850743826263805036019591930599713102632774661181365019442129021331721242599863125882143698317548060312768023676277726724129283174308845204620490955714927897106274327001131025183410669181071062915829925489284131760988015844614458662602890578182134050024625626439593866824159919409408401969983258839786004939730755945117287084311846995783572661208915687694620957201336066703686029326319642222846096932649998446519906330696932434845467271088662251933278744539527273535103540283524903804185640608263142513132381758883370965411498708005747677654419772342099297073813666320069217155949157148296629079434213724858542672913747311989879995916198441579942269719338110753029128427642884308765381157120629513156656593894128311077674855329757426720672330744708956205738528689344026674465497943678467676117073817930563673585221905236410603127000388540463194080803039714807341343018072159710116059153011202807863136306738878456528864632602895405032528078294082975245018979681769285360117694489668874123065548866897810018451523588967570981991998958805899441964322073991378219469192821836808844257280753304617428369653818309219937167608330075513518167694472059996231406314514721552073257686209780301393278402919212941899872955983159248433676995785986678632064394806811629957534973104673845654354560189464831779738873400135098575195015104176344834054224521000527882028567746443911194966132593102889101326485071031923829842855524887997842260878160809139973479441228371955493209328885682075262878731897937750300094963694216811820017776587046198126322650339398409375142497403432395897040007488620695132099479601603931195995536337165022140514437766787566472560682864297681507720238853983617530601732510434534318155757402529917152896061450880049469392719634378120967010147010509470734216382947199540385167609098227431285973967294221779788673860067172630765698739957117812291874820390336626956670061685706605783597579777660593492068352550086530795102001106977422858773246105158916799554782264287962177352712698089088720530807374907146292560445561352708554861051735398830300407725616758622711037115728047314640340209684599488041193600157027337237492536545083674766051051921262994743058060728800587600363248472404719095279250796152433890191085411969800064490591359485350567767408572401227912014620698104910394742237128227071681876300274048610667013895045865955882713717941923275295997596973096104423587351956028929355596579208026379120040716991317306735521189136022158919126130795289984035153668250945041954399731865580061053867756903054511143140541521048875366796620335257560732091276995828349278826547103202856728002749946813114464033878829741324563624292254581879983616123593978934769501150449384062290221713008078001403088119266728427983490083424917097442537163825151939670577482306925982313970083408901704468073195505350319572630885918233117236134029933741004858412911229698584450299461509863029804400979235221297083061082479682606694611445322388926162022038394244242905806596003512779338379666592905114119843875452476505413332148853457857400054219837113434486771863481578216350704617013565576434952662625463189317302989642133360476925795906070729802676009408093820405418514877448668397991946959383675625037412793819615288102630921114532787115833989474166795823811274852135633221041910006876799094535290757215845981442095365369100373070732421644722889321329938054175450983642668052215096709573338775386276086591701825245809266275767559911734352928988331470526051186053276355882861374524252180836069252272957731776676681572639320071568110586339449369071477547406648515738989529368275245221874255873430731853096824503758832227101660186081423400304665132531002735101996045729680596907813565101443717083181641978998331981188566550488488407815660032030183058077752064126848191598389978091960403066090537260340521847686500597404921982296675507878685491881249000503253999282135018336497289082011593587410810456452211623825122458499918694369208126448645107921482893218674972574049181176594975333553853722187503281859223681440046355094930639360692798849895701904591350592871845738674590151834269674040157644535025779332052953565632723219931331674305932951594933929624554102250893209539022944163535777450093896580991980297696899525970517661350726519832817987476407136671344306225650918867978359175307024748683376978216729473091271669110928900325759382888887852458922240391781045840342742365286379898964605911623374234402284677320901797626125301517314796316371413544325630821995551029154121011515008954427824465793713370341858893208642942158607878813875191627256209382352782680359706777737502383921445611422837274989852869206287027045710826683596906961605558843168124510246813816075126976864267731503498684481586930314166231082844506591906301615397828457548484655932431307649598555061242958105264870686189539308241422219200802665905088263330506029573997126629041043269636541738515968524614240573352523328019052807836757242626705183374441015417527089477061038961245558351734421452998046662702459286572354898604197651730713651824186340692369483427847889179666609009178575663520000127551925830442813857659826163693369480787376509290873653412371681136842938717804337396987634985584674012996600183353712425215353944212679901046179726851065341724472624688798557915256619126592123035065389513523307600228409386313877149047048208692794325988078921204355513987813349142977432893278397646903367489547559026225359643740025731275292012124419919408899719963453058419015004141928898326041849614204178619263161934075689108804678538063208433031615452664626043159881211476220925867057039055054367813803866159295814788295081445589814740040034063123171970157862751664034043043920200713118723677648298081386310467778577140874624631340745934200194232517984318813749114421732294029101745206042300849666282758638345799636392884776965713149183604528881010544253781449601765450755170574371796080479574059379854604282912720831672323879643150370167954402766240974667788742004162276148913316374547589344494604325182601065945999456919799950446690215066616157055431411606563796523807030000577031676126758618327352030309674504201232725399819408227793550838288728933752694920805924141278947750357567954972338942222783586253819349552597201361668776738271556355605754196564761068361412807757777646642295140260466734428754068289376429235405119838021787263467293517697768280818875546218294466876301220609379777844763634216809470661132388921817794043056868013332108920359005594216054569252867163008794780951669696052338602749420686658149858742274492538828281448416440450988649816982102133317210203910158459832461257005411241717494616370685625473528830093807453530276403213846080584495905544748592090129396665379297596101267480769746615549791601716716761019118012242942279802609396121840602233445318984396017868351083885880077595495774893384417767913639402228207567001260756834230944827679945461294363229234779286364898936786508974488036306566256610614833291970026123550369464168517421237793293656182520224903708139690402603510165866529335350154685545534592697969545467898751562617771275837029927872295334167885758792034359022267754719667678732400051187785039298502387640472237529228046047734251995152917109833471158038189360903124044154932235497534174165670170327822301525825661856527034926581905906167943831901319685739485968635215867094968506849275609183441412276932012299490879582211344019438024254696017569396536293723309928704687531262824605082928142883959535834681816731612565168695973276928451752537292071122494572254640481171454504870547891677678860818769954161211100975843792803224413704584073494466443601001728809329507949738109500959564075909002961115473940772339532722470899954408466017240044571684554043784156275344706223640591721384055945519905992996535535080475994579957886791464145549061784083454801201855165442302802857146517995986744538552015945907899853514072349057403378798601318486881310347769155951728970177544259164732417055909887538821736133639222438709454182026494962016033395307294448837284471988092185929103018773923427842966880121362521410258869200267141278220310423315933440999672372761645711091179628408620931778413174083335402087003106209544031524085012063963696578523819937082024233380149698142569018442813484447479548341199415560463801771979495906996492666353344150781806169627633599844293038944403599150357143388140008907138041921045852961673905160635631523505977565025372459826021774606651188202509798114489518057956070920583660236175808421176315988221632791358356174935162299926453790037021127128596290838658724059262907182534558455599501546689095980034520068176355905000007391886623428620928515470277730026716848331887222306782041437418606431525231665076213652914620449961846318582366382627758541683209970044893981827204617404289663785294705137552850494717523573964826871045924722862568329699000669822576982461104777526295853941114805692104666487124388372564300163548149845796144912706746642733439218547640277468151680756149610653142996789507686019418022614585662241957756014938206068152545460557038202700113573537425820546188520108354265020469949480225456560453740217299447889876265681272291772138109950069736336386996390405780980386563109250208461957619265595363668312001826142807884986471459371463317254875728871880221247706656029176378241434460755247289383605214393610929431021341933575644080129467314128047755214531229770751278583390986414674017170815610896257955527479302161625502413795804118556224150094455899642595129675766582394513800018322942005751766201403708713008848780459207775840641182993191479852768507160240008443542387031122232457215808694770742048336310036782565742996561531936751049731836107189698675530195466965414311853081008266530784435678488275277531076390665658081267381009025929972543068745104448889889019056873492263830103413888843656656640112925499602719496671793816357506894469494393539603465293719425901012197278161630137566966630509883921579807777158836839252052036649860247232579360663679147314876917038242137688592215504187862814076198227772933991689431524208736685946846553381655573097311653338071641663068494206435538272349400569730101466337910231035972592691920913765328319893654236309610839345131166857929426020818818685564627386085283838854982609571585864731896505213439449861177003078896430888646701696188761374951928719113039940548782489562172176903145283142876629599658003684876519252019848215981154502128289033248465676226470187927475647172813336018193419993204973712647824401532859200497269784040984670915301252420050567474083909943915580582646586108711018630474949385061763316474938555137986424724572872964401767878158831089190545254493153108341426094390419223342836553857362602402933961644943126305376838729496683150250305270146978979661578614666168235895824957763440828444298051683768525509723353263247409795955746356216602257919386145450096644391041737965616011632327825182479797316933480080244719299260875612792366003667973865839294098810537633330896648498605201652906232257439358896476335422973808214843537280965250905066181685843161332765936983871630865026050632010484925241179463232229541485981621484017012904344993974219330284419089276145641799255743786503914461245795070613470975205047971523090275012213200378915034073523449179958069983960742791434202722480592038066218192588902542270230959560965514538329278495056388586061328498024356789515614521008993726947960538208654931265167865090309708985361390963701255453933024939198668897663586132851226798252135975732043937599100614397996623549226324508765448877870995208462242865740312263487851542521105771685592977115937416534392962524629780376048179310688750009642591653234764042097789961126788574165927175101711225792634818076381406780863036711037916998260584861198866184338233165765827183186967725977645962738480945722754918701089223085647604062952792940540378067074064095197088560801623657645512088315016878799378622898692078667249543950177919767763913154848852862612178594033809348810668391218676682294321530297259539491613825508606128981196967818482806743392973089693835509513070862447847514367993026046344957963223547862032111154484348166663984785314224833954238906359717589873774727461014239713857908338085023507688711245411402922456006202080626788791741032615251627303927059675227842831677458982144615005934831702251267118202486691474422976547411434590342659254650078531223396347892184876640302851973256376251506951805003639224477008347136412972147538908833945041020468111375303273399757662099991237707255270610843253994623008766647605988600796264860953640795647764932766619438141567974321340673606717047177036287129010085003299469866676918792748029361765305471616477666334550818896548363702338604053681623645363984403918517361907322377292856032203515900765333643549196100793561301461286737942777111921640412962065140156966279737017977684090248691706949819102389826107369155753343069648512375091563320419658027389902729773947763439223254804117412420196837883609682391654961000594879393021363088915632802030963525764939302885443124386157230310226409158735211478193449434611370696133659765339437721095093698471225588854729837653180464179197716237467016404682806408597088993189374984914002105291130435870489494640408090838270563458284367335604590952106174990025626741019090591911594374407444329083905388050374672765844847963268313513207694293866628371084130958004934464393995066578777512992189076100498259801247805344343337501772711512731851126871574870765044824703095653427378882322239703611800645240014029120680593653911281581419116211116919552776457437615161204700446454448942468466692608629420548378491999166644774348326984141656252203421846572186774731568927551101215663953118321688063030023549312562677164142607616205514235091385777978448789721949777956764942748381711078991368891664634230049480683773698484918491800156094696173283736887848696121809108624599587707593372687633231943839849629474740181861366045039991487190285066596612141014352817666923554075901895858596621304347517784112987415621876640375489527855261808497567457178134718442499242573352737948400073900923430028888387325129648503576918389271385227873274867522849103619944953575710465025417050403704191596972809701574956204205012480241960985964449196187477308834154514054599053909208677802348261754983333688413871843794105952335304578247783690555686822035078000728919982379304885466752142442131062590427633509612367105719815611080286276891910759088459367077443932556011183607710577812297045977444085351323175091810303701465967410370998278805611683959764224723477386066083263169239947607270952428812745840757772107963797242074908177542314755290379963815439057310070540891609969592884367441079102008887075132716077866977002200144480143798972763475751477675913667228112401391571117793091693452457011993519157726682538876267247940907025418285383318996701566337832741942774334136107885586220884911960127087443396982208291842282190270015850675058313064865782792678887567416346348549658884686020562000312559406831412401067926503937389635184487208746144500196790155743820905294049394822228595277444792764079627968571603966110681745948016030075854589189723751503472347793871272743258915007317498613395259523994858333093497700943486795909440952777261171933531935554833147922710897272619237887752089861633305896468355062217833849771367732553045775183867102283213466273498512191589002404557876450979604605938655554110151392787011317763580511564798420805112066674521062519659501815201049394934396720672850453720555181806291990382241084475182820615103054184961612870324163755721443118010932372501240780169203564759240366410629414243949461430912533871749001677477351471145895398695798783713624626624533114345726519012859442263018976624450019892471141595779504257871266132549705735032582667044713686636546160058866997123715799432166849067145157568376662362652351029177356187379593455524952601787256047889404519335084223102279173811628072127991046613978181565330031313628200522921742791567072601625258995802130638470910953731960398201837765304614666343716275492360793780667493846990573543801813043246300761469259365391130901467248364885692059073010042264287404971861418011131799737879032349339675285833640978593226296560552863675590276392341922676147943722803276959274794854936650847935644435612185347503049611876244984077932365453573195319480637370855583199393212339924938267187395258986122801078698471031256273505531182504563535928306225703654245016724423585550249206408869754520915646009391274944473197220325470517103660261883980193526965998119724140362139706036111098361208133184191173241037606242570611738002870815852706937256490230528262388111199371479333623308414361383969442180453674513994643632907934832799733023664032736641575292961403702749676041358499040772682691387494147530613817112399069784687543319799666931699748068407633140352267920722419270187368757359330665628416220731528110486419781755862925069927142021378143016363832879530629721773876172125069668552339223477846864006592471554619297180091155999470981860774075448174868881003009558210215864739793839181942619034111336489414141507503530587383574910039697382634100211257259743251083210152611608231424010212274492507469810603922577664689753666773487892021535505838006946136130236968714668745019718713692556109321002146100884435750698490577736223134143120822466026148846253541289962960236612253931643339560720518867729810860791899167310765445912657347505570737564583423905449085364614717857726345969717099482809700154002668282833398850368255330247732430340734063921701607752940749173032587910920732066816765135298388121448140797832640250721088374516432517745145012376002598210194222208885473067839346511050264852791859714473707985102329585369623566668524421418584318667188456678822056536972679122245503166589821896955962111731675786211595232204060152419057884181389840074101541180513673596928535415386034367177662825763019477368037839729229376291595382622926882061714432385527362402205284588434120271672027271794569841340598975835818688152042217314530647764255246980947537751813535260161372885238334444577456550147345380204188928840867286492458586173854925625750121466328080980839580539722590104336894736677296284203116818582728261201196087303448960190898974594437020939979197301378692625071458316125182167743609276732913847710488583598151766794936730879665793761841822400670917816899841247072782449332847060529179875034332355432432685854852944472079749676887721921028644859906094451043225422425340720257066163427857070138702061922771248395870318777874378053309649647549557449363279381161063798655788886007097960823322177234176236076654505920017204061491070205920551315965200738318316847314655507559737986640928414685612358598933851403759645969016413353638122101385598751509550996289542778422182461743025973791003372688586556751804030280918482873823234726079049966643939437998013470755197580826633654504643547762595998413443693304050967008225719450659677100578781367337857092329373404922117958190345821025460743682117413612732650423404926132313314353121625712014583280094379002443105101111229774360948854141531646461563657779936030020225579569170282565932906834645704566366206720529564844891372728348394434714233706745070860964601033442439526403903430665028098842273008488592033510411678971711942978249789282520270398453725530889882991666358489536044585149464038341123113795830908824255047912649635282674915142145763612903892375663492361277119178421014920716209788832831511839578346697223948966179062206588043137987418890414017577450092858367783545504611751071261283352488850142805113547828632533754063940616471082498951488426223588632757102672164912666220094666749966273383569533105346396376011765659392263189960049870627395448389537906950814360931920497757186226439518361040253499909639517889531943372351469873522519467453154012353615985400878015205392109648631651083501099581889305436125111672149073796170881777441795616642315570044526932469909185351907370583460908789274295362976171836028055786919501411511296450978643419046940998566028725156270614278689526664094950355554097608275023993101408040071879323832959951807101552685238765515306476411225283279867253434988455068468324696065472545147093154775714227980725077291023253976060151247543621707299155994163087415410704045005420525326795328245445807415178429639791171731044221188885039412957077673980440532360827073819030952128155811691556246098952432921195107976895569404291542590850862672469401184549177522329539565163379295195408564609084714533992195377505879653728303553261156675315447163673673724336216085333927029642032485956336414761501002164411831374789996057316560062523639912830355721489910301442749296400774591327250577606534494792674167009668276437201539154592915985951116827443015081697999131431893405169960356012187856141062565974442028397209587660614883720943403649572017980697720196036811621308285490494901747039421473635210946244785767712131294531192894768099712746591816849436885058066170477816724448324795296162014563342738141273247362876011258692096129529765320037940488115765711122780879323948402548349428364210118552313450923225103662310594915161865118354790689794846759441188484484247557408636327030423385092649346882068976442600064745055380506075413846912022447774747811302737335695638474943319065149149238159568210155787640698954928941364207496343554791995589851024535876450474690105810049465071193782204022846448340748531616762730191890375198422950479821197078771207067884789667179713974732330210317719616958356743450540201729416583084924063717092902378221758975358440381982454075259801815969949794654030353102130659890544177489855126088206682044299596720727989023610915784084941712345324670453229542766720358537380646331392844203608410627177433339292120095488374660433588699906640360827359299133353683346836849096464046286940027953894043132990844657336436756964133827201846589372288866527583156616053425382681306631765663586378684983976776270324076904829814773793691895464090580075191157559433484340604761490890251910950996324660549605731355540486358992654908484237891731909238003954968544417414612502889945229820610147006261507525392732096931647701979479940708014342586541664422810360085117793914764635402397117497262697337659956732131927552033950213414100107347124820042424377183479727867179951567363869547349539263023640303563293699823347266702403600099113808978676342976644910855717313567035166910101371667770615070613777417490983602062840425312567336356306182810925361463323235004184287427710175394896213217293190345748887976193388906282085042364209020207320361227114091031159021616051215995537877297902373670754414141195823629722729485534302283543050079971275181892000828846487482975766804478919994995300407390131526929296663422062464452141224563308116417530459763813755115206065411021438644392310625301455580085161229706813293470915807685239353706001789053297013159658387484850646241394618717313254366829703210051947322436854581612718812911640781898584721790550952819513272905067005227544318742154613349332491755185559036613002118541961996304120595669085319139050718270915020947693788260