0070634201454353719858952705419516589000155581863848644924465317075076091549736010885277623264961479078133107709887315088404991149046969280060949780289139628833747434462469463431560473346220594348885122078311568515949572532076954466763605752613108166329537222679356716292453874681224287900268193764494649026595717145936952872159698062975624196911504100488603572479776249759440501012151921378626594128103058019220435638775638388700611916828750804467245818646427589780473259239785509080855507266144282617540418069968044504321045474645499541447344149609042247784258708752896631045905810134813239119994273936041532124138510944865754182576270334657170922927303979487745363407862579672964704002050825351691388645503800271771987069594764802766327607635713901617577044534701434205069540831093850555008589633163760624718818293248759608671087454516997878698923808878645744589031630418388171461349103787146149213365293011258392203671386991922368888299415254485842081681783010909738770296745229438696774076166039916936611134187946623031647341232936598711120925587980155889013306966838950043601390416094905336932616411515875015066666166799392653205356944545152728435014043219639175870225831113057558962393357375962994588699904650456795121959445645193953853328364043665751606260780176561803730245501177247974053070627817281305866074809696102409572263081122718316707667377628575792191313584426196963601363220700910041400852461158528664087067168173313308555771524480889695302129450881736303465904993852483605550639803434880471870166414775230304385639017165243369000488001042571044956762397633634682583798946050555121451125588056305675570185130653899011569374005673120138752827106017164101511189491415391573294805622033195313253495034182512903565869289710145595099517869069325902931813927476086937714620662263456547830688396080762235391517963627401570319018195318847009805167918166107019928459244045025532333240850662564309333847349903136561547603850291234619443334758404568339725754877349284627193943300233105680168902820292002396736750161739855656949078379519292878995069944519103010948890810007996403397848769160264144125136935675915690576493519024447951654112703372320079330333777573638050331668900908841985353010474380313470370460255453989290338766808156183220356891190119153030610536144467592181201313238531503656261717467785916047361125375641278340197965556150996009647201338273292089535151140851715545689506935234187703827803985449007068652285604475757548936480491298164382952499975629523172212441357796091231238801853171402647773553252486500490676083133498176521856095745794852450864103020673858567042611106341428849241218504361065237457082234029043165026552669292037846069572476893395951227157351135741799947626066561683498234348822002006769465021190549363707580890190877713216435489425706564544564641313745398847799369926480946301542917446320009046039687772312566758502134235239943901779910267943793916430964958248425417433227507898541537933758600242995218078758502766559835706820010542459225186352007991561154255210555488996531732531788903329950006555455008282445624414857842943508144654573728380732117902196557461826384656594667889570799444190373001577136693471339318363783820121289092651909132074910388660783811811087277281599990929896964255437645373092241130233122719244797552089399523747861173455379859604812842704188965183428066941802393678859377263872125021626816146513399336063441664266339011626377617650257602778194837839901539201966092752930850233017917161181288987163466441565877568374483612400217563217464052718546095466606738494816662067239193703249900583422904560776500420890224115173526716263241901054033066478095347929645070171376770186834633277070934542559796374482075439856553657101367236973412729373259915270980127850458899162009424325943941063749894673680991844286871165371756635003472562646074661788315590154765012268433131507785626276391768279596349753813582154872402689407467091977358717923400740008959695395592328299092332317417212282811371604434433667908640371609881019279623166433223187125295283394212285591245568886699129647087409738297412969757416439393191942826645497694579210963803213318690264804573920951058438750191961997487835137133338272058168265464112996410233677494700617443989400790342466823573054016751050090160204451034481797298864979988995016461664003282902798196084983585131397798127418698507115614963586616496318159918879580152549807469119740565457344293308653543390302276222878613142572348793122252489112400361675823167047360586834845096122280873180994620789372757366978297274593592065133060346182879699426876236432056452597115393262105893516160465001351062601937157747098615761262407514775868683458157929495622862623190686555990706498448910197469779738493982052602547348468104171055904202407678932676512333750955456976117984787045796030305491046633255944422237707310340980094657972477810143814555590689688044742099771795177522182250119013498697675754361024343668689581921791558033460672116573341309592671727530987954166823158298248505788441430225742324740579393144712666819832306649113171010335807064645638879533445852963006587384759322109153508084270671339068444476696602062861398456599596341788458129325611851696355205940029964777710282467537162792386398295772543562808551277556795425354831186542723589617463042695120514723377650008079716020299702864347685450450358330933062043239764432977923058891995292497720797140438230536425614144484167247061104937981524185600058475290906017500399551960520535473903993604455495340536589632270570879239775224768712470443671628715749716249715697845889256329291866747461333993688166192835854931515352596886254070780973458942104740999588103501689676022826137601601669479830908976679861584345405561519593694581159045294628279736987947206755971885404867795678367162892567155233773260039506443259448694409923201528622583127542486256706699029182044293515260519234804474487305509029371998049973454902440180640642680889784782027528762771845910278267235704917779546724918400428354078649040817762344835676728553961726630711598732216884456202608771345427677450772450896526796674809351118863841086176729399066547472594470864963680352392208852500869206293790068104333564449609685606336605611422865212667627696267990551023265451083340012872498288343445772328536961962240490318142597175407260857053378328359274523240781508693399736668494412865299277428297627600267106648835354282025854627487513224898781217745957433806544296629008986108873378111591156686348259157768656993704964179748372208113990755344625111529504442662583872847372844366529589923280448725000848022569121079071490444317817892605961884082999139283615307197367864042451640664682954595214941737142497552528086382831352857931755994640802701449622858144837902501065056326460433718622016717967063679302958002374236538119906613080911117028365789433254245807216217429231067646689915439020742373115049246900568569013015199326648252177767824770681083502535209124441118900378446645905169689601145367158295039704295811880740965591317136730610139620819884980539670483057028142115296175573527595633049752667978497105662014874337731716973670410231707909486929693864561838970904074874723415385661028201199299696084456898436903105936046065935633189768602202613206811418011574882769620850011332024165067125614890853849851094297614211033594983069353238348867539061164414912319244678512399153159276728119450484942703033959365292964786631679174454758153090529815284957125142588964879188230122741146959563822629007025949061236351056003485658658361955862085721837538877442308134220816014687871524312166397101633625237796483545087293922643706169782452001465964693096260541258126472673719316786085712866991704442710091023792301972159758929474646655867237578675991966769716281856433266914781370467044925644739472799491869007144958451015489326606545732642467852797808447370930695169323679355525305259987980049666599866891454084500508207311377927813503648057517568498139377169951311676481142909849663690317303434692340565755740706076118848192662897943429003074781393188007364553257600500818286426744655381747162922982974802545129684123307114307505802382537150118631971683123883374602965670682556644813125504941312508166235580155536948409994025385192826474489943638488477880418038310967306301674423361059000904846832673304471923259365375466840433701032470672998935462009793747117221578536725629176376346620442164211174757319336973608270214431963080465107031628088806938481678076123633446518416307901749917714426790045796638368068133125806349029133603266093900823246726451453366636953663064046460043798834161834530897203608355350739612139213766856676047872418481343657689966641309004891033971116472241147702943944333547835046794028132913107502935399173678258750563855175926219858866124959724880176783386918993870482888861240367036464056845223272550337561597291837343927550877132266922072802996720023878866579896598806087386968061448225983863512402101839435342487310808195447797908082036660918649639559104973664573776343335299162128138525992340727451795324231553366229718052024860040572006162498010992897000587682739030646896798898078888847515799792867547126006904793678330819889175820542253944413880714705784691184148473777119407579049518087196511468735557407264169121929749401547320976726542069981184058009153995993665210516514723139049954344943200731793444917230134030565060381464634979470194218721878484422568022510467587918790978726268525427689725474275054042925541493946704687234752257761064518768162733202925490626303519961848754037457650190253993345341536301704550315334460769104639882423694049070514060047967430319661921335243305802816612355497454547681205646227418179414054899253921152617249991808740246626651954169431165164244029154717372578995848954561985498313885512870760254040597696236077355817104271396800850520154861507198818346475055131294219796856665456381038543167287719788374930585224327271597316198067994398356978311138398139848645334874609207148252192905990854398885246276991827046247736722262140774392081264978592376959185400477917126343730690928514432072029811633267541510603464818116329310573890645807877113605516259181248628793273961782143604339258372245014342748816121491825850798012513048222103716855048633602413775170902113594280884648919260637144135457706234213778570496459174698233914637158526484433179197566390781154960823462815222232999628607712219391738929452775074937797579700749913805750938535938718466346410312693269362126729690537171823854123450387609271230384002284570982337376136063287216726944402490634471085691010831414109649889952309408977188162303714789668564894845642450266597879347214170550934408743870430218152984491446430981756134187119924222761816569658733447856677570092379550107172946390085643400400637582603410705344353927267207261020390631702346772064890510347550589543724058736942322383428173131196569964838422764993335253667886433439913766932432766391658337080323315781374618994623898631330462703272419881770132511484628665845272514502679793055294757523018646997348516585990410996648050824514358100769358400499054969051403838749825760501650566962967008491276158635785851907603899600540668284147626201392062451412466533451876538168398504759991148801147325988795625575951940165955169902490370833380986081197682209290440577561800999507626485715635679627473563653514386925496069537499147504969321759452991598541291215065452484560505705955710939060567103352808959429025596580596643364799989775628630180749808473809289177155728581690775655402783701629444016874943911476026305675848782184761265666714316057514108977295672799355036468173835346134963421790636239986704197721345731183253327940939519939601845319537853285980074035029990084616579364683281299692295184192554211147616935154013243851271537058273034738253665080365493656361298592075991267866893443718345564424631221357134724079340284731273746969004818391798632650134261536232133625554624498753767284348071395657212775125090477196631438667133954232754353491110874927884507993316591027366487574977756217906348008201948586244741526147948582482303497256970355417122816675923254594229817953494207599266769084534966957642992423172099765674038424129884184426743043910588991744256145653006670075477425325509924649105505272380827670213763655110130681119447430298319795060682696755876720573503334213710888157723210892949399623154526515320103424413718747710025588240782892235786167932603616265189168357671249855649909271907416423268035159045619500538628470122549353969973435395359121079081346371678565909449084997104003237975132999599434342832542053387184798997846890324518762078316125594394188877800351138445286999458988306183974900013958476075921819740368755256257642490108700881756892677292818583823933803881067647815644926884277571851140347111993467869558075723818032067788978314001066863446728531848526314146657753449783456219403265907322087763007085331063904320920662961637038737370576877309302478664737531415143291888519559796563046890041555975063825880860516820400504660258755148626702854446587647103129094609471052338872531295005427327898736841184962115244845387120909773467585972294728203842564655533879627225444827757031287753206593556379824306071875904779099759105832725155763941531919829894704288560076652056100392384264745174030138803009729869198525099517910034814225198184094956455316018111592014534443853249885426037849908200764208683918896338042826726656733153911312192836640923596252925231532763083267931023482008391824978245643970663876114414344436934759313711788165786228753206999375206677755562040763548869458485915672457014229296640536482231723390636438860790355408146369542881945589475455490931845482437725910478416061500603788337581353845992734340591562931864523668053543826250310466660747200676471836118844975021698772493460118291913708196698867645885131242072263633553113099854342865090207424898153464874750194481080010853333158405982368388836935046031465771621110456385168861366979126704866078123852369146383080093673159867670065392217855263363630946923791807336668354970306669764366746826569226161558588254121667231923579502118364123948461528252444802762084811223527463626451796276452750142264627363736371551179715091115342805542925552708915896306517042332887089644815607297937588393526715423487879440269952601530983565117456243298214110481635724080692448072491213734782855328727896131939178300684153348980763452165359277117185691926815891247463009927648466025228810399524270671563238174787309280220283600777824257065543273192225343613680373899605159577997110654915384411800761276234023835800302830382462538666399791075665696889918154318274813883091557127715707513054882373752051107929690260922328716053328624845547406433536868640245687440925489220973227813778803361106209757670667990771158948285406026091758724523591707692520060672272357239781141311071324320388615851574552766997005237660709560145203668944634344978734715771796317683488941386873647128696875507276624418657244609322291879439156719250026750211244473661504519291117229904925150597963024475405516239229622247307094496843483945679592565789529329778363702106663623879358210243111057337548214677955990821945267363106860792159955454537621258095305992061287272828371034169068508107314532360642479573099906757667409862099064301269569569145902743639949855286402459415439920195458442337966516852803346339358804749082888449035315759493329219694593872616620161737776019031000569846118780806970747359363463410305017895975573547383229666908048540239727384639478800866467261126159132860334271162148885512725440453630673001217422300962135689725189156556787420760757071549521030945501179922998074772937889082077537654647836733111404192191409162937491185759170211631950191008201041259734641773947032152252083287313287751929323027332567865184925254029122054467100366053672164799192115321868579505210587794264283594137213161021653711581918337796209931248441506987136327161831551555679514675273986619335529684839307259717234533295139681550043074709770594058378981850015019417897875925420268056242253864816506383975428545350085201597078738377765307162698706326486193067804670101827197967590238858255945303424506325112961995871697292723165526268789976175753823642825132695211080087604270562927219723993414623632492820976179990963262614077340689871969587576663099251768403561459645693451028327353439379725870744314750862705441894722795382467909474461731285374847027556892683521078142370817392004750440708051169974101293023323809853823729945843264493895138529504996279274868194533913437399340830468495871690144536980729654738784533111380405859558520596960749202623752892388244107156853828758911386676905830250965650033918819958516216890815812488591883765750612243822914596844694882158734795019402793253837397775091865344845895065380674403180789976410995574081629787138456525523174274722230392261085820583136453971453676705032231713762175721128263530201804027209686894477589416879999070483203161841298947998575564572610941367542671466166023570037299383419164431688394906254367086925367384727895725115841277086788215953325014687108783810619387219704046648116826704086058097718688082757568141721220935734406264173448295000282314407081421158565900829430459690131939082197054555638571527497501694693813619074548396558398058128688070342340704633398128024846715513557782862226556478371866437088343121408730396033871057600309244567708671610314602807578618633199879737808839390581338109073382379243933826856804938759756085312247640922607288782567432141673908662755915744512878512826093483250426918592054231192485085423849891493352557980000348956509884874923258404202312347142892881268760086936457698923648937226353229337921667336129594397129754087910713979613236286615327303812514585883844177895457090830111462821319794111901546256339441697970011081493693748473106041100997009117367726100957367062183272073994630403023028855651979297405795269200602014809475562582333912439369320622012059516864107498742678610673884180141738148998872030891969357866880053878768645859839035061857435431828704669144138042649724567011104084540465988783957820277089200618063100698577862655783492413484380790760617394660139588720068406476542503343800824872654651491149793054499870862240515070220435315711260148135469411018131174716288304328232788620732646754235954784126040318181264428004537023591914628750578795137048502314664765227193150029543358208439896272894614929932987222143987977594784246648641930662976375062722290715380254448415613340857039258330979994439370841176261964890633721610064092077294811008488451833995001401718438929020878614807207707958129063855868845716107927608403216212598174969430151943613564895417777594081924049134405851241892560229727810225238689264499588835868830622754288146073522481264751535607973491205913266504620106260720427767997488805455827938654627779456145993884329811615570943710766380870268601693864312316687753391479596366525801342574243029358505555192854345480748262565401261817437622157705789505852392429601344116422103771621217547799650895206959269546619830695374340329950545471326097971040677011053049093541783382080194152964069464364728897225524533059345752708145527406139781145540484950131045607448161030254709757253376471941696502716731102187812249887972141892073747868077768082970778983063270654430348024823020197086393610686030164067550862871670219571639343369766511507795953084941015040476343995045824320628013224738775410700215897229381193416899777218299220709531560780032621699411240173153107363331345517776728842960285696322766800361149711596892910480013399979016220101361950241390302631639641264274401506521750790064128082118545086147899975055051573372594358957571351358954469516944203639524282328453349786748443863236189608840785020008773517804137846816601770382382250612392815600282952039067306532693833115775804090203200930694863246567135616126146567561621017432098802473085600357113286497130339210457866426462173592131954997929964751393039257616830926416118015580629033069730423515267879780249202115512495447809425213181105126347909149693483326947265475988623313328397635078763499937535498829261091865472249588582245894687503713999437651610469784273632492764153107863924071940477840089366772082769062569764701495593429197305682598745711292331990333353093651810695166386529719842188487843934093519248800882767085834619912412773798689677943652145607508740928397166123828284508069810694787517333956348267627424406475954606349645379196858601142780275646270245872792378249354522650124852976454733061895820283549561046234980353650749321450704761865499997933299273116351431808084534524317747665986621764955754217770101876642141703980485960392069180278932146317706744340470686695622416730362143728152290268928580832405542756028944173190092841924165619895507492819239238423615022684574034884165099012864225738096554068456962571473669182765575220627572169416664920948114771294367014331273839232327148615845371083516733027050393007978562090208550123536242371682470226535655401424888512840918256289842407048190589340625626542260154304009829987811984456010237342773283165163955143589190223957235553970486872486844754776172895450848896574713497863341958248783768557214786025812157352277046423388019488181673988623941655208636437485394561860722127292822686239088617074260233555285567836469467229026442476821359916699245182914817562810493638629289213832023515271552591855717645676050252604131287536722294969526221247508922150804587816312264997012872775990071539221852188678380577844334432585418594802770508565240783126375926786167434494341976944367005598276893647086521628223759550010837527981790442515347622678689673436124204249591125898166024092335948478902861974564370982481615210068858035233689117115463635157153939842466734746468004367973698992886123707271828628164962221021309922302020203076883289501613744747977279200608287515565637011486183901831992721482939503204453061461555744927065369319649184581637882467969666202134008027476649328664351327948162663565212976919786222354148964221588019307999977599734149045568726528569259246996879284299756628371137063988677365293713698250198212018317184911440821280016125056258190818300455447666667280786412221312243298842508165993072613845077291521405766582181489650044541271433674240808016265130234699826079437852942754470993027486478085029715909174622611024773310219811792282100662834036403745866748927146466533716210961335822497389104741494776407494527109459198108683823201841691053874810739650418890220315585691078559533408450330362404052621739585538989734767704044450712885744208196070446226621177148337912442262979923646319426141075776921247434326781313266980088666368482225658327569886474583359985734056622465211200857306631630113518270426048168143973647700722073900052757573388786040820902100401506881538977746350443433754804955633797684459095139483868248744308687445991991414462848673547988756590189279320877151018463161037686795722665742467679516932136894464946213788034801753446659238785189800289093573758093659582451079069198097455720630095954200318315224133978451524524120541582413946359747592745297609764822063457093067727091511381357749946381091307179889041189315189184712912052770759663782723232250621923138415581458826008432657619812135076625870663373217472134115438936609186153590811658872394837721382201926275367422300639022895934164266983520272503567470750243669195884247264414871529594529995905594918735186664816776138028619168569433951617099767380283154070927870265327136103941970286793885572609131955675960168296866145793063987172630236342161758462942259647364538551285592778525829154019745209065183733901864346261762647267173681065466642077693869034751578847053599153460120417410996044838633993918355367418150140855248102501802738264015921946021655576726906279006507090294897063510292882510410160970999389095357476655906057074161251180199734471037538234941467582791710684121334198011415651409779850928331474993794946401542519405507431589088367851402667819860320163212121057743994250931918950966398600716581980316309501397483112983054703802933563523753401713011317898278471728170546896067379511290018955038946991670286014975004116902505399999057085787185695106896057687677682391960688158778358063831599358697783752667445370187561720756516294670837681118236093165230982511078062730842776475782315404656863760043138315053532873414889465842946359190796150337778166113707991627646725331475152069680050740913677249883020545842700805880971249974962364418903274255843931155052459785227127455881365769875481636615138940795273310987865303477138652446515143584672369809257070836081743367716183410390326023117726890137908526968998030732053836426549230192898688491565871254806451375394673432382539116242722468595034492846074328230964136473222836386560177600534620144881114498126773791562525087102580701151063631901167329828639898968183280653754860693686549439235154572538813309469737381325259864211565357687634507246488004990322578014883546007722370270660702950861349604304186324351428498793789814884214633365790832782552930912390722285511091175453619802804134116435086195303849210101491804325969567187718103124144283373805402358177859679981496824262653193439346032999998038620147302722066000604904893607479584224507804404474965355725472421854314195536084570016588135388574015525089787135137795609147004405058666535248862542102026836377982749492026803167377680373001799074923126817123861620667068138145538951532255642805871677491205868654718033508889376434174204780656137931391170117751269799278244957651781909010795922891819643039804083173175155747937119083497378876194501027592385007915354182970680030243992231831532168687874932946060360593776830146904792196380997024083360043068768238447186286989498734849145922845790519237836776559933858450635215366280073741307290585420594025652381388752982612771314363876441770818694983254422554991388933101182052441866309564964092996306415710964040771638124534833463105677663078145208011575968214624182959256071691503651257078541969254170887947197563688496340446361889977662381138407346971025652840737594732956797432129221897072155805379664344087200223412210425015653519043452172205546878810322987349244689907227882469341483681415349708709421200456480529897039673654424376507542191254234048905260613041701466775900434839629146207612782938516117150633605510240012291585436148963937397959974075204453906511407701440235133640170616907669709580634658271536643614315171052900073548366519174445987494699890897151087649657001600349719798778593602476332043203248219199076826297434078382612046978888795478197841359188359653340239118766576360595414259225660683694560128864814456981904460539808355478354845281980171528571562307945880264793981998051818065205090588604083371471386578384914414472232741078226465112950341793241475749857689326838024169338763800374250028050644556963907773053190626628424598943640930618924233396958801250155519603674566990329925816932957509469837293983915918599283488239186169899187489080930868207120048655634553301309303499210923037902476931261392332672603606909799946639756996229587747017608688682246212911533582267068839707565899421613776125351168942812679158100362749361907113908290557473293330504441631452853672728575895138289633797942127485658505195618537400880574786534000951460031995635613671050603113109355369558012684042157117539840776312377289457952177889632527505146474202147943160859813075736250998318633428744739711018681216306147001343217690661773532663394918618852184944001278521797127519380166484989380407260440252904843960609197125176992946961262756042113033746263853157753970155850171575840476861176952249364850877025510667244461157382218794881684146102937373589217448328807966481092385012471393047989860566114214443055292422736525401468179601146441970123396048599745663523738383571683923527487461027380764692059118500863611358551299375735030951802889150386132261299872476471652941856895408735854742080738994288374953404377863347655638528947884270621068845180846419361166844272235341226835820561498615299726950594626309891848087958478450156105677218298482291097934870995505163894714563892001795283272823449729201657947247427945273565809882702968762487129924452708399377657954820169881884339619548486152947339346335513956827872711436621355399922474870552349511754427652182085333810876000962138570236554863396778765465461774632656311897137705581027673741214470101281005776334446204688709157268497697175708153874232102127954793452260741666043477687900795164410747721888593830609399468075417581263452201595555584431338880638865100420689134783236360158122008528561639552021345072098810010972739892758050295793092884996984257247523329458937236524014612038862514957892685319071572933147924285671350619250158305609913715133701846918833959780250142524038419593194078463332467582834338189039458856792036283031224758576580525411080394022326559024882530693135244383785028773675063327387701225653032644412870487810558328451927320595036323462143109031977069702861375917353577997801098795665842089570206664463243343122799274582439560237673007432755924952300554500534391691435600102598828883234397726986029690610970753541964394176865478438400597673937024564981667205058908968626019822289687844665170960856729330213541419194551069166152824758889133385394850066983598780256045068496936412419017477256382086592432135877119020868693321520189423636114825737824693026179297139503125507181974343745463382006956368829548735170444090329529224851733697571188133532674537459835019478126334148502879222077061562500323967472332510442740457613964907303041284436480755800561968458188493611064603788278325521367276025386592063332169002654891518221859418715148465475731211372204380332113728575112696818946266704837059321289791060641546173743227022964182061268232487194478801504791219416632566714524962852903382404455129376957409906182473711062418921959654405395013251533739070872978834375914426852915388295272579463800392834429721250079606864800180229503955927042150010707197205338388684277082297309470189810443272140568267497237174283174119546751818645495128845364672183038713895760209711596132699818212093472958078040200823083974896095443748545440561543942249739339973347102756813967352587550594581816637913594891626985640600158340914705065555617306871941956881982352969524086826504698893471660805102054463055706265045492659640250466913228798325920469725790715852543875645587079026009688650246490778242791509411112180046070610798512892942893015323328935007076938117412691002635068861471289872793435704815178775562710838826095449919400918895442613607599199643644594686475010372642491301276630099558205817845019359590727381490356187768553065090950922761801936554331286592192288280557737831597021149809118447265321094778927629844735746581317849049526329092977450925683714509403356088087284939021589951401351797305204933426339587573714850020850381874227950818676948433535511659747179964946813418251504166222196913800305986327252313820552772464844875373906722963346391678814299786214614287484828468525417946825556918447286678514477019713406951652506225892754201013985335931096357070660846376477866309893002638445402487024761458189078379642486026375077554799608515352227575288925533388758719661106439297715617160598474256213334087007789240067017955480012456854655323257353164860309411756341807330666301718295336287453087267901967507779698122850596995712512618478255115037213372972444605866713648160764595833120375745232903268184251610294507534118632832258077593664783134898309273466682599359616094408898729646982551811746717316867656429383082248429504175916593358000939247561314264671162821157057041975722863299666883165281086791889462648977944532949477576245334270435333028481776613471095639057100734047895062624962171634640350424839518125488884092265720766809392254066505393892129791777358287512919679118408710680867693421282584442354104086145131891143362610154390711219824347426641077249255684766887760204957611719533559028504182969999484156337280636649499808095094943458091710884548597578388987471727626808887242091848687475213395157837626450669744602349961200726500363908074059429654651872954504641932830345287253718896181542016210594528056881153042651716017748798151957645750054310591203077857762868522008114646606736134929695981834144065420080663277769638137311735132674673740178845708621353436059316784169286060541413659002607639318835763360425676942942213087019892478715758326910115436735436326664545021953545666109883327059615170672777132699310298630336208815872150873033064094857891411203890106193597993303889678720951230341950310000440828785668653876800006037147191174053619484771362462075880699817213575423991137383590178148129940208751141255983343350264087971002977082118606030376493901699809096805026997591639379669738619628319811500360533460327200172035966958019146199446579200327631128814625539149183740771703576799671033586501410794871042309089946150409169311390888982223221126731882708639869857645968380593176265435308385270945542370420748364908438377994988542780723897733224068805695084948216298678351773270160720239623544174032977054472599662685558802320734921636174423390559114995238201604877495938277232143643266097268645494987715438752127543243069833372861642195971293948362679552990276331540147266651488745701990017741895919736401559324994094095860950541515155310353743253663250245300461987528653038353719044179600747846608463866602974988495365430125895632029789987376125662206328808471674542541379981457788311202049217672926053942198876708828132053811013719014324211881774587883275386758659192513701878336115433971546301321572842030873585129416570111343501786090177435058990557569703054232842959603208198143900871287600994189159579489203694771800561660089094042091911381758949905062170070575884975104289174064670887995953431828449867874381749837627212565658592488276705989872645367514189938287114895384261535161923342245164886365993320483090282617841458836472961394342752781043727862656303500730174440618712095782058788039112120574636418727305500378282193406563027679441271732879698818268815218985839057120308377269086977499298881786599630477294202890649669447525185149196816236525589546581244862377286968592154713767326540926163892588338653034301143798881497887035969834247788992271159208097790397270704572362599704635544224253081051518744004984448902424850168363414399890298743543886362388124576006096026890154542179318130687398997699288204758966907720789428228087916846212118709581550502424223024608330551422370536586728251554914858803046383337996568493649041526317622250684483040889254258301033705930908447741730765180021125496989980835600783750379371484933522521614175153539666594742146509861923441966329385945420634395271474728824566495099531505035553600073965311060569523783286842112120417058155212274542871555867189230935851383500055342408094703627711207435795801336686496976239011141885365945089647386973607608722911548032641505234931392153935237481295559610234637867073476000748878423494418972659467704405470367100549091988154090770220878814624789799888793103281213300181554033002090860281510631971080246659960169256375426490697896911587573690525252805544513393084242990350313948128773234573972396686711853147060938252719106346015697872197993097913195006740442911699818518918609029530114259440600691552344115118171192517561522691746071592114931041302058211470654262312634027232462678509757813349671844357180327684445410101435493587012731873532087528548692231599301684762125333086940819133293223382858071604013617608612041363701997804065467738509361675711091281071477024797657594652123332561669706508088843503068281624970146027688587461821128957029517622324092950697879082887690642304547047242312090999187947011252716411236577877867785580381406787439653200097774453011140391079812777008008785230532756786983864032842742520144207472151749026430624908161275605443768833835489452942768896456001477260554193148333519409144755893629785194509343704745659135625987965475926960230715271284747346042680183879803984501630114949543702720108099497948111122527572853035146956995680591614966624909202716411000579529780287859249260442083183240293272290086011037072380608032152480619718329423230469539432748096067939871723047193046990265164760564441523928647042641778284761717252304707561366631809727193275090231611478614377468431250688188112283420281719466310435594302213442884813085032763706355795027461640131449952139510146625137874049053207103426477482045668456851766187907249986635939496331927103811501226225988482421165267077358509732454053901144350886683328289162308714104218754732491834762688919891211633508982221405871149031911142206566464697838326430434635740961527264733516348991045408072079131958332683327217411961769067980176019278610432183370556563262280981919770724932360326072498626615807784856250597529137386249810391079555270329082096834458340480697552089112120330914360204343312068276298500634735172202637068375102731582655129746966230937864384657816081694568265988982669197563345954114661497085883140050816140745167524673371969384380371096161787430807144341379818855065672740584564289723861843639235892076025472901973260344717641121428031688889976393338700574796839742801799686316649520588967641615906075934676241194242049803975465162766124758867392696576873420937203926301198928188736423865868589982613732634443227879155742601509861144308843276953879444704865751865305190528113401456827304889066507127279081431687269900488495045868585494538796423423462301816493242891355124876119565796887526851040275798286997854423012765451565683263181771556998300677122289757173492579624324164122835163049857296443416848364887171687091986605350692386113601419587287485156781750988600071112160999637253822998097967074196302492356171463663573260967486016365500118265531888205292940542178628730666219307237857041196314286050027749680413208013223854272988091766734776096807120505933232141228991468068758570521115548752984774810726601458511723277153342810292374934180031214531246681872802139533051165286630865523611902215179575682110884860313785875197714662231452530927058437924534206672896941295387093937739183603270550154383922621025798716087304460486925317580783262134833574010169761392040029445658132499801918894924238241185751665814805096986479802726845320587078569069757405385558243785834541497304380020558114948326809254403144672675631452947789469495845169626984447593888556403343927433305093437297575321961305697341681281524353001643740971531265433652714240651715190297440577110586757272247319939958693750462510286904138960853758618093149301429010533320306781553452766606748750813145286864920265432102887662744059677264756782235446724490775171039865231809132787350890977485599485908099912280016106193832482330821731732960062672291685824057040224397583690858087245838334048160509358618703512246829753168074034060932702153387079045461269773179273444669908716621267483351678696031497498369931057896232309279872922761598591796476199420347234537703963722991649259292237961424194591873062226252272405201343763213490707020655973113643878254686026196899864451773137525451919521131710707143220644396932033085109270340165488542981685898297817735870986435290488657236165946610198187831360318183917523117889999718492628669488879521843621521593442605461419207159344707869028463624271412442158192563250162009371899940195400310576902018228265345230359809931999699890723549173607642622526715684573645999907277941204566138697154428028019746531761117820790406959761662536290367488261341482078954110374093130888605839988196981403531941354332203786784504103343797891937370691970658108529863133813906643703891956767619506919391692267647937023790462422013053113449113917619099035278570885297541552943605514418045893881401165210505966517968872352740881097528679175727424301537811890090752610537109852282446127316416492754807518503732076699330072621996377139999373671230163261433523251964963800268391317733986249665762258649765594636319708432498975190054931581044685666419658546055051554602707266832473348293808414560030311048621968302232522463820824955069832929859073325571964057442058931234119127450917113518253558452685097000846847659010846192048206815526600295050952046666860780372824484513018104318074660639776969318869171092533331808962849545576353371581734168258045230194741387725873947464289193717736101349111609094740268187559223943078089250159534660579334256550958766782798752118265198624389485252930110995117934554417845883419602624613234038483925610299540501773244578071820213784704758709886110667565657779048428994775754375442209774542547399289666232670215435412967121851870747461628759393844131843039116291937000985915299713807201122742845656644235755737017747959234429084658171647211913697482415957855220137302133225595243484070766398301132455878328852201708875404244468603281024819139219197637052509369798891282195116026799595855782661540679898400113792752237806072127294283024145415780913793391514243762074588030519500980310471806282499948841802863862994932023741980974759940226612801395507871970968444348461033323553004882989086821265102315647002303881089097670806327658122922263542741640418498130896618901237592866931073822636715477377491250436139337619982563101848687712866479403175163320731815674455731389330657164596569651128564138276209264971330087952074921445272992919417550559355562065109626915217259904050096542748269131733354179070586585139404331254427763271278226885308359883908440127544672405194634569447748682604459917267787150607652436294464900901628496111272937181700257758748910750472500894612792817592367258334472632611072251533382629355288625898050268593646085348283702564154050186935200908443261641808313729738321951042886113378458380762736578663868056778106951790766039687553930746414225910090176879848593997961613045537646653341226185574371432836390164820254487005553090233517257273756781220920586885919361197814180868980082140839421357567258777753552650874957990035892528495171536792880385075079659911751368422002380319927424490381567694536746075106099742291320586245609383980591200175304437585110770609907957077195725178827348416487477173981600273790673417259908646464752923051320497839554545419056431724039272211095951415057952595778282209520730235387982678938515343664516690613241930207091843487743105864926350554575384479718493813409992528673131669106187937228568568820688901078088697490113070826618777678885684553202324621604375153920708377723153485857028556172474455382155470719394107052769916351990106653724664174889156147783972083659922398706294109814592899198554457696567196507589949228248194549218865574235094998811745555900931727375808308807689753318909992074712292133013782658099889779077459689902304772948747635603600456324214544912217081755315786722464885340832064862948489058730976365909083399775070828733507604241841749079057654637510860631065149314322227992456107194257463988910442775464710321141576313611512557824370852994009156887158200555238676761950461386075780611677201168745841987026723202374531261378243737935648310641978322558795610994687251083157255188343112784874343079278593329837672083362859284691519378711694461660007282211670732660531691137204304023345513586852816976180810350863298759008684975573282274209385705680581450947505923140571510181749708953058809392617774926945119080886281161191362049542136647656644273389599626830884098663428083510858818771464543052828261170421407398276312867162455271489421672301138760056762008635784727884015238115120707008962540912701212836658260340151958203304675796070645572517623728548888345915523688145496159531396174018500162421345885501454683201703663689931065654104350819240310677045938144700120656738653794762566060884355377443116082352838085781879215752506817516841034943412509531016266848600384598982323574537638354049819848397195337785138991737232113108938748281059673463646369680990894669497603560807171717775875955322261022388479196377045622217759976189318255174801516188300185183801843669277658810538479498006496670947964630422475312261172712480574261724777014546873080262500558084157635336891579877904154210018533396830419676554345761282294147577260212179835360946065395709567283314532525052056752391872828556988431783299594170309586779624322176244673523931971820507460892110734291543947034227277024113424408828083387081513241044455798238121929267066127541746181761594417519545342964619884493560729271932886411617178166506863836853946235887948666572222919292988282906594299165713046337267555383684234763670242656280906652290658172558925940115733834400629794602857759244355839212762735614175361146070506090021298561032540086191708858467569699445659803912621701597343190169014679560952115385535279688704605173129114436964527044913883354961274196639226778583975353798185303722496429097945343879258176607989239971970675209697512429190899812719807975406365027360279368240411402190730376889616643679494545795915989016704666230698648093562163762663234701434593357166423639015272606086129579904720463736747365535133846703604176213596261097550164549120490918549899525635490507062975024016870860712385935996792999491903590586568896480989559759708999258206962752491490446421392292117038725000349498433086216445666460343843878827761079701345911568692077364256923131101246837084853151898313015328449663256965350766945787088511465322648344889965650128926788925558723557946842408520313091983538311666461155495258389698796140071148884990440065894853633347355569348838882998488864237562207754798582361551409296619476706472952800037292333352923961531289574754768497721066368755818936884259735674457554290166647540129554537095530396715821496140253118662471935074645138377091017429286423627124689102049849050792721364736558917837131126021000372519983538439122836048650850898149038392236148421036801987077881894634957561314517208497104883063536922679710161982821541930337680273530411438526809963167290958086330371515377058055471190196094738765927465271177615735854454937704307153781809661144739175678449880695064154020135618536194938926996493808210334995858568962855544193484316459959435392288464929338787129764759603142360207609543412224101577437851088018879833274407917164818593702503491384602152854560042902382633083111681896182548653943282446844166225415133397153557976120705121843385808137953208096608788291385714294017812143942612481310459020450962743067352524863994040942088184358754580842229628123127435244689564013107430392215528261895264220622042885825156619436525151573646851030612128899733395901069424119222284506385269598189396249660692821371910546595414344078945004396424525689239881225723527028557100552121045033155727080892648368314626731244650123932911276102044417180314770892186487514225429871589621199178497036897220863850919881091919868572152984961246238226336527404362577866362487111934677230070507764551187426148342709532530690367712920763387121392345699758794466769735074897936271831707686133700673281760463190374545314927308366794871918337364829450843683420099586778501348830775860129561570539206067292175253739851708866929949656385692117491487557444046030096634194406256494150894309902012675195536161801216206737738039206815379995175397927691365178199781218217734364166926063580499477599321194530946539246504544581341273483846931694619279723172307434883168862031593410383700031775263580477670829160299579672840366725862529601528647504472756792475951113074226081841388554233580076197505027736811049905329777885494254767530212326317840817595045461947691722954686370352102717263458228390685144782827138400136572304134103718296488292043056704944468888160980628548852167738123669457373371334199075281964887144090827164308827725344430928733233216932472254936560914906870203525229466781185831923423011131494016962530759233435878189393533945542795871805158735553582946331885065652733348112777036330063142658113497721633801614247343768923844284956110400562097822108000384813208910961027227900220030169650981873969071794495418521537503591789075072242692144996050800269348245852177447651051667657774718543039256090756962039704572044998302227936902698902872230534924854087770461631521809132196689074472259296460523714627936595502950275205942905276648432192742947975596090381818583437657921116914563173211303252595261953174866223631952192518767393499716293915288374693944711551900881401892321269638922404650750838989069301428481284434900976950859765696848687816259759747443428305975559328109735701785420863793290746788699662242311863940220649723391261228442773860255387341213653889902746924310446974609731197575575740342784828415976959179827384959993271664515013708715608347833722150326777288659421091935628991207239916644500443553646218108229953844518069114469834555366299194489930847758104188534071690510068952046711631140903310580641648443758330593708799030188143318163538361320790560574592407748655918745887956013061420771545411903778266052754161213380445086277554380086362778899228372971599354793892528705695618445733893828308697840721380842696270660943873642437509638612882510676661048312655406379141420781758325420361637278805829962931106948590537790417207889776979080785535698367319039817895493491570124683429260174156846495745902014483736752869285960519194694896334707372659687184246155614004647117855121189907321047608009473285070583691691424638398209156574071120490669802265104925840407914127277343223550060563048198899312140874297543659716020830720762976963482147403474086170242218416002340665405753151868883114056666801978419084309596374696192758449646498397738787325894413699534408147087761630372862303772636186991609486540587874005372545253853924962527675452863391655171566969355618375821108447503111278964809461299881092836686098225022413460690588788971540250073686937273242291169967111236344602205023457687794780502626350821041654999767446815975138773855060125615581335027514128906291898910572020164766427930731350549331398591617183726519692738783727866725896605088630599872741024710383972633141005065952227420901040337501926026623228540293383487521381473186758170925055384733485513760179754661664269807270528080356473449805071407388105168066102759194074572722551362988785495670590998456728083110418297737394453453298871679091032852535265700146465353420429522818071607177292839464717759712993801961779598772629190865847046427513681631519781690787361065718469838992144122282350097293864601694594808210549775784414890361530989370291346223802243633770833922969999124746126351725093086479666665577052664300572081480027094650218913180610667875024027836202323115433595562359951364148878000422975225771016902148653530341483670202880981681805660014058196464594772761929019676778183003649108575852945856814482200600975986843339624219801240571632639228803246219631611846904067231264144479100164236321011417240366781239249256780322423564288325093126141077745777919265794636136558162379044511212139709172786342258486481842064387258275554198314263911096392731556384939358290626917127767040196834228264083155747550337031141824257174583898473239362076281363899516064354201535461778397534914875472917338591048225155918300887325626360229324256762363203281024586223245278693270416746175277636358672200060397349013730258021666434654651780425437700825628784437993468547680233913996469348781581828782451474866255802836615873066935180338815430021215887464871464983016808341454576164801388434922224814649894351968359588321814146528093982317513348207030221636399198487628379714645358370534173082921693531502076502439493800219402671925086383033277226516638589746949457096399717430091755613588183138947587458202211487958307225539423281936856087226021861684238181409592177886609211497665089897937887104992553484624380998977671460171660825264736165264052829065083140232869232849475881073070579993917193016201158736844241209198580290602233358221916330560489338468428651996829010653700758782529371247446129020196467542311574411635489092995004750414646703155318957866166677042193558238653195081778384942647956312246001411029196924429793489021345956108200119812354234673685710305915845857748974497955213795835337911597261168618404925305888421222471208314286126519050638481513751971712241853505410474323574859047128442538888420478910268753758461306669447390338239266031407353584141086715859672608202453198547051150732218185345276512921875570796869081800445972624827005553632318227407552049312704504050324555487238083298220400850356499844493216015444267207392438077052401823425069496126956209006802152244687294133756442062973654969193662382705171825032339695082002468706987504687290523483092302549320018768237966019368667997152184196073996692394230007896612820340957347907247661771451112395430435269060794561638773994224778811347353322888042820219731108090125950293581485777798662883682704390329787826403273139318687967397439407290840267581512381177916659500329313330188239578686377933993926967290318132199957684388788170776596528441651556315854622440517267820664830985627102675829971698480457940949502322689171169229178213908002063295554471698510437359650461777097653090269011165990966913080880555965081992119709895496795783849335834933254225105654324802286120703106531054564039462952171894865185839034481894841036354543920448031034473563047151787141543588391495942309604429698312466815755895390630501943913745091783258848388441401606907372882050385260108942193354954782070375313940950754073409804283491429061355351427834275256784024276172218853096789217832401913331958270065464042064747087189512617535541088592798273972790641912766320529378558475873042117219586228271209164912500804116947806528355486393895145136658342133785621179819208712236801635949228880008089909781005696759354377165266065066034134704379314842558085782288882206786114055539885793262590479690268870285849728398625884921980917795823308380210083571074162253033515956794816915272470896022425877362041423114632989969561714392038333585897360559545502683123336260528018744809754205573886229846998709584064040571028417030924524494453860364312515366160163615065501897824365517153860886248844304493276612174989266354979754194543961522849248264999497362781235632785069093820210250996274498051230737746129150276275902442348461535219922847965592092337561317571192194378065525824158815957714924243771688130722248120626407800324691859673656970883855406196229698874832198885864150790310042901898371591370957473543684689889068895055292388035380759118006002992507036265079617683504315015215565268994492363121481922424055511138027477713025174267510915566780583230001304921358109101657326484717818948430576386397463206844325107901845893531171918248823365976666841331785902094828701147734301086129298788098480351465239779878490420208108956081128742719707556608628548443042264049211282947517380245189583700114135264458209048072580538809820233859205126120938196149030912946332352875488581390014017019304937273450009867006008509310351755572827828814514124975917042127675957640421983305802393008320098583358391580820300640050882991750185024273266296261266255544720738231759185705421558273738200274108274182762205450288661481519029957365641861417436202450611514509246800987138972602847918160520544124223946734094289070887849994317839123807216735732821515504045729642933754438902184245706200873748041317750640859284854485562947751882567621707635121670127412197275532294465239851918021763982610264483930554439630433610908169285634927083527481535896986703722386788596949798841330039719081320908858552421316450553424433665665541307640881527672925469836492957197862840002760063510593133339048735920930207213674624938361276140643646667398756228711558775380445709375014990512384549416055199660598000509660809353205900419475525336397263353389719209251209852486025841186515496317343563448697209884902654193835570826261030850749139404924307864856573786862946850701293624310895553822518703488468588940381471027400651531879725584489418665867507563627704777335774625582068729576838519096720307770328525497345039890799472412299231093643488981871951999241460484593957305104391486586400556694153449270890229468026777732392707152180179101048951528391631802527836853773988773926765928009262056731018407284677243835746673978541753593221788413897361039426271447707139218159539276489322050295976689610426480318056998204234721390351494043184980589400823206435470610124432830888839921242895343414427871164253136038253443087328871568675100413116942387695428215462239740791103808136806448270816040025004224615428119754681673387389990322883336247223682749087826816858147470105827285460478250842437341099100792411068005921015268093202222292534731542035246862772092214544897261325529053730907206438982372198230883799062063784437336573783616694064970286555908732399767029698105592510276877640979846648518428978239257934608696681246107940847660696380850720388513224029003760820468444516555416839331232618691648582934690141735769883144014288047240710725908574462777289608403138209371871629066344162122972395126054231403310945361674871111623238652893234339875933411532705038903283506940927420862925295708598917368062055707894096616196055957784581887367147546208827432037715264353099813578299072726039800437863173154411330238411014095048825242558909032156097109609113005520875675588894404124185007307950947505063943383706224724465261265015621926265635368740297814940452015218834308934718848529014069361982766107090462356119111617554742919539239386621342253415170655946800834872434568894136754719314995088466710177057570246628659059658405176194909657681344219124180931548267658513381416837859367460515331106968396537221906943780832466586282021674497698392670653990559177389457996766596753729118164082810866566232881467849751678086278354900533822978653628786685212057558501983281146418387046577883538498697016131772611325973751014854723525138206477509197572674150522874398229866526546393660076028316756678555117772401767865478300085643498900788938104981439360368833182083152955876265418445472366674982307503180817358292849075733132363123531522258188362379943356693915269421657465391539523969529920457399564211740994956343305298333172039550634734129863194713557965178133107570993989208670035732259063473120120518448216320993128134571884907959793625267257570493840928429114094467083819576515990993835757257703401883740301990090373958674344695873148188388487414809777102671158573391229168810391378199356472329669891708590620767576402159392358238419378331307165716922861106930871719543783490061664851961664642813878146496503769154351417981173551365015665942857383434233350706842444901595781410764287622693387621021271749991077496169428767529622859933823920760486339215967930116009491894971910653574171964086696546725213315470738255442950520274856488729267240175610905067085461100982908633740212303909707254465463654528992924264655526351898444810263063355782247700445535379850887193429008232013057500148023111830283194027229634495509312623816935354756589542981441472645926629155630399243442686834198691353279842972897141400183592461597925809107486101241260620866026818309319067778803029091078780362292234140928808101010218196122442776180282163984085117926548783050679608915213722233926680569965033004896327799923325984040037630030429062832724067666160173846940982998171454960637244261555249248537355590987050774191356981815768504053152857935455590289361847697103428714507043592610657732402212664435896690050312487150401632999332922681696628966682722885184028310579749411207966148337945457299347322263393180705648433978707742575791030449529084837125006870127607700855808717100923523101214984655741322103823825278599711109675259382592884276894743624745603128157316504031710195457921592915720452112615897806451254404695177223545707286076621846387757375008452922651269921115744520357868613806171307290302987439465252023304921151980020219952909535737078470696795897929825125079642350198257936516209181693200165400429355059700321340410730857308450486981961904138179153249089924062661757957360188103437436328824090166951698706516969703346129538654340419280942638609933646509374808850888872045906909264915853334219207185399980670607008694027449479188727726784745456325727562400328201073742227872404987733984017947044429741428669157821229721415220673647780656572365498361503125292557235291948174723560611924554809523152247165647093065268623013066381516322896596903429382683090628780313602351051393332691990953831873243489584724167326426522816903327666524097414157899452733333665431093593334759539485659082359803902362706281234282757656981861262509779397511939215070668855071332209249090194125623690575083217447462362482894456815873472803557394631879068513195773110301756596950037044895214881103233319068763777571951482860070394736632509986634720878055152292765338699688341724811627232462649282042000834017598660484730905823137338322823572349387751851333656480322505852197035811906140405153185436921231944436536240281707025669262486570024787301420500313879896044601713181822065025156444434048418690018201408900416161505909751610621541681472524240390891877939901165224472624058088177364058059165798135398893702629456861777683162985525304785947983570747416833031683124692197995343318169743046215537997217916540882798672087609152952674376921019289156354114030326593031633745773688323735249381941345418882360728550934569407502736288177413485331335882822682866494302053301935179657840109385034565761001294812778462582420023570046257386867035882130382485832847563201997791389693731080564848505936025804933903277375321706667250853343847237555382825005762497573807291014779208591001578727575865685886264295145245403386033529188676303832346871421850453816835602332625850547699875821202885345679841427482241239711831129664222216459197422545526600812888211432077987720984546217299578409542759558321320874505235283033988263229151384362812445964377676493815730968405687931537965722471763236223163732425579375858196362695328745019352819857343252989158790664166192384379003338627542411577094604933360271514487141483530240700194431559610158873011375309370490943099950066954255382923860919904303209216801227865168454546546977398219809932729245190645209996725557438431704638247212743632305850604457628081906738012385616202362708570389570254055294855476702083831879737852268787173721392690974061045720946715533805045204202718912485489161714005600120651922814152601517698199660682748940121537807959729539505573858643655819600405478331381849224198464056017067604448677861794203050565176882643198955742911331747793211909264673479043234378452222654754680048485390713241096319675050428523372911982306416057025521573436763064153494136741543096154497074470995244658222477886401951668006006620195918266945695881948749459011030622458052621209394179014916119272427333695815845262173575287105357090450931516033250617136847472181227220472086411473196781429747970692740959590738058736889864551621905900869933748522210297643705806496483477851713935054728009690239988226001172576072454355324357345178879996254951106642184529354872650559284680891566784246172650826881810388478525203637354510503282473402359212733196831382443862019450795616989299882021376653854800879441030060058351588153539910007042156162168003152978321223224028233850167967373670402624057459273668785481229586536809204050988354123661893742496176007502500336858125214698938546257907268392988790221790584438054754571401609479502771830274179555012153313251212489663680098054555870202628749097053312422227772369489642527427222654896028796022060034286038751016406118988691898992320024909011762373272031220119352455855857023261688892924936971117602298900327495375667160768870640860660703442089546253339127181278235315660968923549982905613840774305872968850115104494966340328858445632417538149588985510652438372946198841756615503164139483210504114908174845306613127165496546068468276760391062484191731385092938766432572688826346519648257440327970228496378012674649464219342039062901539441708162018430464667673864028962032849140093049416273660062958162446361361665616233600606902718053699826992464198558528229400306675658247594903759512434374414071537452101602978939183611152569723469680840048931950221337593565811789764878772968980023772129610899876254121318116218596819770869747472885027848560320001979966940688977579354200242343431437032100907754680110135470823967771981981766235246360808890287054153352428141776402592381410116631066309224491032291520761783456552293215655859078220297376611377696927592077975897827654326453113815564871679159941607139785107489046523790606690761485463084822737380759819479456605151469942225963939921969914575190246231553150554446533425983492526259305720775219873126614064216931872444422044031353925421842436623978311616029154556199283537190587328580192118663383201654374323066915034345212640971136674016422024527062594859956070738149881193556353612198093790863688567676931677948158967337314782639397991158952778664407249627981811510726522899666016830802590672733806568748715326910990259227501892448323195627329328443476126305550483703375108040984321944574120269540887497201290723817274796813868846585316535507899526006697073858507138782243032985685254962357108922891025428727296812319554375167347450093876695287518474901428252008008395955583235172563615431741642481986434857375622094547722986135233886362109762962327109398001534922659869836132375095034835998481746733617330578177680164763611796369731465512330198114681942121868731987439672692513972167389565348547281258528779176483122088623577206331284061079727030348201558289912040547655527320465285431369251565610385847580626154698825851908569598182930993618177060545645592452360664664025843649604278827163309466832335819183153570362179400456039263755773088446582890841886590427702270689423182461456635284236016243302254573710965629148571273907337553010392398850765523751041875621932061291086153716091105383846939245465563289651260380918303907931577034452328544582684514815518765469915157901460628170661122099646537042742999961779735957257211874579854143039217180786411233310878863287580501220399940164406583360698447507730869763879229978215384129870653639506993816804735274786774749003063652044635119736115883357368665021236709310284996574800536402905138709630768168815296350900201814784648625441322952587678708889257712674128251546804571441230155836194506432597177535779993918402111572216475192956423423724674886043264802421726369712084542930535961442695767493374573027221384870915284761400837395698411549037129657123274358197757509654667470335158585911730506366232798435479094842434617678304937107041599408992136698465206790510325475425214538197034664234296328866408930384104908474998427169056697590629040441298798531357252922681744659704833602466501326629887961437307780041398958181843732438671301170285424229138213686839796927144163605027041963331024094796401917288891605792135237737106857949777566626106319943727437123828805551124844486470742496209692472038141635183721805154885845092395110273782165255861250835334663284212680807322909134128652019437868037128951152175688453765609496309121917023240809644010680529260172363176400580455867825988804922159466017166101798470069950442667604216033653822670787782727994754286880145537895874542814604089508296201764544131596877348757717536267344808211470158983868530383000744124056103219107484347376777851274770391622633482826563231926143511650723086325607253687879484845011183491023693329797574423818419528867070349671651308841232083046833631665633898938723847156550144507674237517400383677482048163513380704565306434702441755661922361441897427060530785860327520756900080823630783852349482234310000009192455424800144082215747847958877112664155179578800484169955742454620136753711692640166052526771234257922203463628634340592179393729422752198561324759709027057420372547867613845321202114819561598853549311695228448669151007267143507548608230075842757968684309750404374198296780966752511951937978315835755333330005257353546234075668234767100101726561826540057524447824634755828485677221227080534227790266749597064787910729773205974091676535231710412584462783371881048691125397348697143321769947042911123663307167971214480475280471684940380006894015463401029066225620758868548940496836948845578031016993848632672356950845402216327016391165432768354348889000742443183300853129055489368278243497815245220532538186013941866115806421053117460279880174361973553106301612459577466484910107453773404675911869615263655675411799130597199376247764139606248427341391110148862649063023758591335475696611597762768061447306430087557218367143320227371001745744509221058862205227954164339814374296302289419931737243777668105535265494435339412147415182092655172721265809740064716334533799216589606196060177658281735114046694655274881998663482665176671240705223711801768116383990657771741374645836003824552842817585660897262855456738294479660419085075892087623396116663539681580087667875648977699256600668726835592289843631490315075042824507157385369732871813311925217667473112648612809081323525046813651072247109389398420772387978234431656376305234087165493181914458624261992416924630279588789125087413602844546900028987855878387128499784138829932730416094932645585463886779662836987697080354913569857525581865453222921966368614609451910096632954257444181952313369450460123429954799107303635961817963986328214784705535899396577274562194026505976429919958506323789909401162659292293189949671950950891007272292411830735792887973962063790010252445419988277075361668947048074318860869687494931198092897604136022108177817310439338518388801404624532214955009933895624504645117660892297898792171643094469071737717047826606823087397833840913795499272843535833672356730732101651679863216799166402176259569634892788019799605356574299156119609878680559510155712132157769730717685641593508189493718495469441219874934294003043314263810764895873266795196400742269550637116703030709329979054371236399101772185265297195190537750390301588707223843662182145911051092140011844129495704928520625735059061246669508179572424487060666572707463314232289431880687744302682338760194313266454513288718977210187206638964519960298060968789798518282079420426456362359237217169987294147280835561707720551268267086500229312869940713778994721429180213144421326398775564037180198119433976118758525081585203323135189486197963725224473903335659268116826623995527975265699264190011793365755218005532102029449440610956521142953507817019063908969964527732037497179881887278074971423106319058866754842560367854007328069064851527911177114900300132939845321583275492204604634748932926559607034574895265628193997180835796490957337863335245634453436016666651495281515149713158402103779345584013264789751076926147514558007518845313389497180804555911721473367809148187905986341833915163499270194913603291826019311838288206215607978397570182114207126946578148836675423532753274097682239043937604147591776194693361585590893654078738816526996222481941920386794677568111710433672766869908687045702614795838206482069969728522103374754338159797003000072835046383868392217197808208206589194733129959181990771691422171190564976972890099067226379686706752250848127226133956593552232818133128931754377663323789902283196518312488826693026494394522942693534783675244547196626088372542996364731256710530292801739093382929392527109252271552635634962254194356166092319575748201708024533978685394526474958779959851204602460090553290695573469344565925272382347667736383720664111614232461705461144772145111522783207453623170384762087698751039450106569976005481780459334447483503169066767215484439362816655916332249915636174517453745410002645969850313921483139513054155429916801933336474798759064580022014604897121769248013020478580781141620343529444356758706564532757829964216251796462233989343519301297728354433170303792636088918147810756299607647017280989781505387462092063727439167156134294723570870176449192018834448967440797884892437456657531075871615685374853007742417271379866027586123509800685837654782678371029742092083041634399868035972075040259468763936475452256853161765791647524917565100436021337404073247909491247768701404547397895119919969083869640880244073853375367353262648512500635132518945482218644809761021194608959754392524388879855958177637523408838180529416302907714488130580374283346287928118990439252301448866101729522334133276102432577364074157109343866184894038396122520935756680966685065579418020283287752410417176782240181984002330015257308125794018036224635969970506236058627029832555928515412472196701663476369514017868310657977547714152788630141938779835522387058573741615630823601584047376081848223385958030391550964792301585407746341144284330336816046205746521155270799223366048652372957500625252332365691396162409795455428053396522091231848098068603255051380942242475559368275036451967196190325562027054982486032228938557699156368164562811424647441206065070616423880161214679424554151769720473861878009577419864380456339487763851762719451448876922666504270666832013059294081774930590028185779080385315713991385444556365832730879300881270319854300946430713791632620848989975416410054035405578831826614612153704810214864321205397969421747117608630016559789229015067141853613486598244122144056563277462733182731656078283798345672329692900184340957776045980448780740941069494489267872471516394469463570429968995782029171711257294641694690480968260188369495214679838297346333269278114153674031925854688322649677588903360874076551020952226184833633979056464019221217449168542916213219955367389411255271036328959370266703432483508126339962767794811591844092343265998895071840222472567076311637237116624708831089345043684858571383055426310428452067336711578607902555286228174470203874932802593858376009826363394772165445605080828529511148587954171716286885978730682707565361779951589268856639798979735361449435593529305078048845819445590533083435475973877662244188748701100443981588876633968376151921132177576635522296582310035237441769426190652871539771784308053229171791756043197174253784589812829008184789199806331609158049221221140518438418052122138942975198302364117959855077381285482092932168680475460978706825474683976193061009545632413196734102590219526626680154495715489900159271233896455570010691140030055073206586232799791751975988993501821580103372352438525113913363455603614051387620482093495721076647918323552214363562902484682246948880246477904260551709268593297076100748538964020190126985204012722797640437949969972670200701974253917061755752659826946017115631922729805470636628322924745208391663553101275837760062436057996053419829947430217214567263963568919802807551682403860686073339121111492257315656042001718042065186326551383859454754835730936554297852081476312797270854858503023718017255897076804989374134536817719545024732422810758171625316198152665138371662738555728250870685951465303469733588161087074143638874405741714073999098805219582470810495577074374383264786745082074114671479816344771140824333631153511758649284751866848381745950312488253281656743438376451047178317242660726401844672327432149081706062045796870338571314539537708305619188776800767808361215095826398307274865832512458680180773412342070556149301647515534512963198305460075005260011575037223633474020137638164166324827659023371873886540366873505998664666093171469114150848199689555911611038185196612796506574439021192296104623384654314962315318437767388750089554986472704346180956684459568423821578849273992987555091958890283330214242631829584184389168287520651076249421389808336253182934990108732775813803737362780974474485268536027417881527896993330879306160772514393556235925368346377093070231761016649242778613251950258381458660235259437398623818944772928884907423477106078350244621823602192945292903611556571044136507816001630831292357005100623283965676730723943188988509562881288855529501896114903853819108226012664615804516916202683593316028294766246798499029388737179882602088713392132144172056774752013221103432755979497792369845046469689923199796635304641625139886844747157036690231605768382360944428234937607621882369207433427979893397057829008245165808251059939368073765776690216707623828722659557833410070091772434727609865721504856963973140394877537524006157642238635950090577231083494019774007861467566524258357796107175575361518264917432378057668485933570621557048792020825592340944391364519214184486469929263267606833284215724163710703629056826500839260833240621601964979652203386212306630693753950447403633972694934507677942348492233597994254648108965660805644967317106622197907793250340814211952763426636336006432467549060166332775449082783336682337333350084262806704073317076210043389488814094775282624421043047486334116526003632994336541846685328839492003466765199853948517049833873183430006626601096857562545833251595606378039139824570735329644804364901805728600168131774638018555945136618488594318585959860715210824495333293735584189065136767750109733062435994302319833509375396360676919518059280274524561001637604206268063092119562918128282053483100016315636582774696515811169580582124787345623182744325442490459771240985557966131563118458403471605794259945659716137972723171231800226120796668281989252579602783806429598155083271197454315693084636586402900228448183625194593966615255546679414233506115564861522058603261212636096608165651703019979296327681381952868333414815702632374133362467644578829300971244471995322679334882674514602826374563096353397785953314875067694141451097427105790032520026795200355465107927497591753756325956981537058840590349424790333938537780596371430465417987921224178856905533686733274973765998405280971535893466794191567057897425513666146593172691748553243986547913538287504763847692026425080771135953604181465235548280888866070565936444591125679407586472070037631375825938406456105752050163836973556159990535256731937954337035490005005059674257441146580383832833443959817342187292951990373667011307398023331161467566504860571712441354798905041897457834991162317552022812327507242036525642983748041232575225050264817481680954859072320852458584976714982978463371603699934893291962350658495833993352256735064251487553402085384610936509115630889545885194722293286947869433512566055674047266595280067010361518224881285011760399305107143305237616844345512642582193818259872544128663224489748067359274262516938705027576541347182010536788472252865522177201019320374052890125402964281912113146184689879882423720148339551966584942929918160532557481336522170574877869685738094732875428636794171967825309209672969502375955473569242883813781977928165761208654589867149527625318224800930796154030855707569101934414407576181595680161918939022463913660389549107223315218121378769136165129039852193615537674441454171684698573793165718475929165682841201069448764236183686693151336567664508484918526994553869002659415876615107059649194580480756697274845466161125045494533618287005499035642864469018472743672372921935500786223135972157514751044237787866489892399614366741955379158934582462601662109774979507522316874121382458778656143094746088665177306552339204819229694302169786517263506427918930800230557435096823173826528412402436582226735427844226888720970214862195769211095418107070167299675984451483682234044852869588445034580729087210615101387346191795254226125946018639777502121391816248960565266120007858070109381916702858375088098874672692621712493679506005814792269429781863103570430131623103329361230427848196139243415735168004128270054864587412753336943743166993099586934685951395989354671370670529223691287416914950317554512675607966095736428813855600062330890587296770413205690151257480470538258936977208867882907746894857682576173904781479660445125500278526143533002159126170782242260122747190491717629246215449776888163872822093766781413957934513420718001301687365506892696158501582482513682328978668937542493551899041410652440206100854104459639544785750095026736722242697651516085660669262835418632892667729427984950976150702575865021803845644039026742713971557069150535199592405170451759805512537681191040391908943128019670823692701816945045940252164121214573743935520034628754070483504961246639192105677442940988349836060624643864321075360369293286882945309785227335971007937266854149689568180924421522316142727141010066985078410572804428691316527634322830681748029561331562224998421604672846759605848905128617459620098383058928502492014976622685795523838631591731042530102471940503897760819083198341362609704855244910001000410254480741721117731133233444585510959024106317191314638072431083189192512244063194667475729927346255416631147467823670252155989505156820034870563820856161659610235927921409565848933559715687600292095146092687480745717376047077376991501869518692263091606313041741801088049808025425595126531715805004808889791344893416070241822422813702682816206648355379562705097467625907537191027564511891400146919500263083185842303483623748330391317716035629869218570945788727859631235707784605553547026998784747871441129680146490203803771256933188390269373923044334612837431759689615643935240774145429263348306377932225850937342995912256097724517740226319154344835051760443895669791423338862256862939073462938808050383170495171475382629913894699637054094612859387659651930390264079589940135174840805098138255663511416539147531621121034950516878919572587240402525728224276963854812170894835197660593910517892374581571055574331380682733423751110277372839363592560834276552663790438711757007363346764329586965908770945656482727493935994580081968953528267449188572161620628725620983809553562429636898961843315304694659006248112802699774105746115581481106028208568545956431042600749969661492348103799332446716881787743992137047326250505186875943718118421125967693744263940445817728560683270039403839224278760432399358775779710003036454331384613559327904976987390046470508070425368168556244083087725786593536172989844479878286059528187441059357232779767595191154962617712658481759736485005210607878650925763849712460971492553240006198675059931278375415770095106716583089082110947589056166777358007315214535530388294911689314214956487931594533463964022954476862510214464827263660072378816493655776123515332799706033824574849317039390923203184788070427801832536475467898206674481524214498752390847636456124572725156696571701785459004717164447962622379550639274184665372816613876103159122050568934572764425713324740753968915818266542984565908382458755546028954508807354844783029904458160956416306032427995208298634440546188818421773463093812776221275994776628895132532923201824042641029781661285438631051243648802015983140368812785991015480270582070495432214592181293832850918116255899021580799928311697698400036616528677756649580740409350463025687555230905853828879814850163732488001091587970767649125241614863764874032729805560582007269755022409812194174631680990716691193344336545053526694694765424544988412067662915585054421064528926867173830131680295648844297099785493876889058077542326846555424063350039034931796938513168711128563676570064233826688005976099945212960066490873541341839549434065251358907085339474567512465871307532433231765713169921168745985648981204481952379261478253741205194224763869196012160085369499009432908294204816022120666505516559740679190581184307363024675230205273283231440880626938396820940578896220365353315018948630635783572295222768109710505479532010468697210496307278339976830042189958779829559287120018792806024929707789635663375487356537139632502370244700148696321085899862022250385856961730372571050947249474512198785958995243349443167015576886664250059674009954260072529218875391307374875770197204566587375905146884362849969689036784522122646325861045941900904582035258422155731845430630721179483909851077540625279232304422460861746953617780207131372824171257332927388066187991138321838054887080819725443233347280473279668367459321866299624453491829785621366299486015988424763955824386522242181793381134511906589028670995204383722845306407166068825925446875147331872512328934817409943531146870067228451254735476371634749426433156901137500148875948423365009315915139989904882486328665265107609212101001490749371248764384144066387498648612640764640089593090739578442203567544909017976376449397141362719564965976663301945975699836008955451948615045139737397380980786221426287881395378108836935014637889418296326964774668351852316004045875517104581047872068299900405982433253611816604901731721762261414840111393063553637709986202354838850089496741114895883403749122017026066630851240729160444357668470076640726940922949093429195032140804886571574868767110039643957938426174221708585397400375760464317024447518476016757894361417948640095857695396071760197248033998007682351991599775785519323713514273418608767734213765707179431858190061847611133510081808741837756853947708922273382462347420205981285966758985324560894547568156275761447236868225304858515320057634778592289112642028980422437290778638956867122325223266509338405278064750563706228654205139070697594969026396029884314837835894554951953593295184515008881361827222427777007615076577465592775507740527237099596254990550837388163115949748698324823879862691517828323297167009481869855125276058991220937647685772657269797392282304407172830308574300370019338579010837010151919349477588522389381364066171372217255914866095033160676294422753479070456156669076043773215490747644690305971889484861182622706570040071668846895271390663833490594501668443132750880946220569629179236181404679767752474431393300234842993360336012250703943273397882081428452163489469753080420209507740595711150097072380432553404278238719924034731970023379629047961842734238701909911359211125921106389813694885786911833956558769397389648126605296479874429305235063938740400930588575018958572179573347498492541308800705652970927252091840195336126196762059042878078262372915528248814110125302110946274575127942733245257898119114741199701406770194620400211223607826797948515525098139161383754436115909761323832746662700176520231732708831124499065236343905929192373256479819825448083483085995232558295286168603511859257757380645465983500461712907923709437401048637997043125315107488421171386140840544956598009857690807045659744708294943753748418499293768742112042437702177028877797074958260574718498706509396165973368285332813662543294123740338664593037218675939258761145189946405809530498981816793907525410060641504543442524203503355897904069129584928281601061307986787184006064457285356553693382060879289885331050695240619958265243261240883089058573644639565089316530519918923881145519565074005658710611413791906468314821232808670642893272463100941334558838606770950288524935920163528302273840936964827211804820173013341625619316898529710192210512846919581412092955926936257319504205153205514800392096622453313833449870321802842041604959290674028906949120404618889275204262764565269181122693472409929456623189615623746005452693696641204523584146520131676946216870001463722137880993061656287865975022494618306496792967595272870472612183923663232439288716093031303521823289503856775557166560691953035464324719487042768415575660974511953424473177454295842419406967052305842150996325810151002698404734228544634267859874075344194668091945418945621518016540060536435530081975548699501156253216850403512709353123173299915246931982333503439842250689581116709997120480834718034093052163743733446594677059953452858074349722177726193908804149435232777759966739359759640055908532710585482156181057021027527471652600258463082298990102855592767928053990308537337447723283559242158447578321164919681009455389694449296139355847715816851390360815745458393978649131726966003184669105034322286100283970680999456366960303532242370778736835781327014145408623961938712495973015817321872735131225007246843254836579766930553676277901686011595153129823878245973663832533683298510593880615202579952115574804665714002173694951847168716107563045455763032438613439201911668962518185498742504847877968134931283091531415666051849535358841070379533684251967041095530425632760724092518714418528182135798975047556708689021983891004584471986631312270183381760971439977166739861199107445522610863851568141128337258093655827804289446260473317132032398981771190134761809130953157496394461581605171261175161586236965402651821338465682209358081687227493575609555013343379187245978717074645500111455883791526123995703177627649894472752914627027697904677441420878054345817519288079447291434412327752233095013811865684828379512287411810311703899358831668629848690781823094384329103270132127987955147547085417438765879191899695209964762214957734312231410389900906373604090874215438570619509690237697197275606240108160121181114974693411072696706623645753864352722173371541122884159734021556729946374428641829344217629775458452180532496579404935798775220165374328677325376769348116748854391834601434971548482304979855295489949083580635583714211297726374269178526589038419841071753480806824676235249091086283368707797470948561195104212931277147827674769525635245776970197811603371847799363888456053063854915342436216142531377072389664165600854575199442689387626682009679764112631686945983655214515482458879043201806394759381832381526414328749939578054082176404567208641525419477272681998539096726681743385322050228417271181863422606045678874806758575694870123393097655443834509356926314427766176932586879220156849580933600227921179756778894489438421891824516723609377266704657490580762224896266194820591056806864940163552288998381440546127813207324680908898737871926549230661404862963752526203406051984041181578864149492013453168257751870938815239278480826132067733821924706339266114197700906780162265645279205817326007198876883109773301221812555265975752341662539960192274539055643129453510774771790028472487042364309651739107276388226474289425855821094015833571394042560402097689899300884131371786932083283042031962040464602870473771009414618814019065536713761139249280752533035941595177553667692521696950353858008525271647307669739424450845646408025180920686669501947021695245148767760729385345440243302936441318084067995520174198539722477609407813613266274693447429776437388179531957575934389032009753491219262357115719258161362347686718734970792363299005242476144826699187267494823724348586100682252161987637119491826775485444779096185858560419692369808453830839548034981032091238219155549632687490999092292325257173727680849698688687917250775592865524619578447206097812890449735387758616550280980772952907980419294055701739838906102492191232152667238412495285905145364588894061795636876305895400946395175671750214891431010550654394811478543665055108300466521060451598443819325845775722374571616765610092034519096668806363424001672671874326235992882419761172239406684026740339518850726944168018777189763896747623605299706517385194070459034897257787757418257766274319223712438216982624549226954385318689933754443716171104799137779638621906440711328439818832619573336426160242375229110094265212555108815839177600522631068589745365247821849500653826023871856392926709983833809282884162347987289859758132522540738155380188917892877691844009172997536545336026304174358768776975728373917629369777112098966663135072363035961949661960867423747344571984581685651747834676950685142231789858323508381758454422936260448424266516345520365718011738782624041603348890937418319483351524028199524303396147979928354506918837789110559264061963799140731614392314369386793889268183267329768099436465034322359177593226102011955601115558884701551874494795991452663218106576722819269738337573749061871439102394311295128976250256444697507847278408911819444469003563223007735685477559493949850207529930714272820686536820815945608592673091384442005698789373933893050460598943244713691528812291506543603507821203662815706926087742002453145375632924494187895579780025339967530723172581370828806819342349093166483732879952732423368603612929677941238133317650096966227420388083106019350116116802534386315123443145180102824404658186828340795009618638920361836645238162141742703577369405589244877684808073244602339289837852239098588496721281414442326101335335294033705834975410753373507041560973344927325967932369710425581689014416149745448675647799257415317768483357992769324093918750292068816151941117159659051927956153035650854966681656552744440165469935910407075130895060515521167160662603310924014620682134351068134494736728230693751975300517330770243826749808174362802954697674699081666646564991272478937604164063239994650040168415209979485892126116571685702544165062901581703415073131712966473989179337408759357660831038686974892825566341376043127321299896385667224968096700122855984874512178901397296877889165663150601819709848668245034941517822993075956940707631135639780473762160665350330093217771749897273480557183126236667345410400227576622341654387044888330470492159812156221650464842775713763089960176808064010494762244620028925042622529920970447671133136938532794046049146180957161585188932211616321235853949666814422316537709431565040435301992434776320191045191796740371470724291934044148768847512650708870300593908423390184936191172950090040440283612630124734941147246241395424785958071554959174898513652195664269167212617624013965330559116532549261432294705102635790701355609535689809380990263742812058519462030011959958975349630835787633946948044039836471334328997660055759563967951598721163063730835301267663459518481507904377350991018785131082931091892220956055257035649758941040239451557162688391956831626731764710965771930770966549702485562933030508792879875420401649295499802853732910907550591755675225205591875167157903062138796329950409687193919719026349219952847897866586878849752486308393588268044692389174159398929759107933738208437444859898681566487281564484227972467346205361010838994332865652808633254890091075864207593159339203539919018226713144993308342372636637539451033457846187012349612276039985199434119827638862833151755753362216637510383170453879945520957178741593531958094371376838823541425575938133933471609282174538670238721634938375435364672025993016988151654482936562030343942244843758813352655302615649033358743018900345511042303868862298172484274309850064294681478698405753180611607603033591638508359934242314574245558907171921867750275417864389844634341444620305423974661199084447982137500640283580057177175520329633393358476835831648366819941804143589327001594659595187072153677025958759818384334842659865132835431207199027550945200197700093537767477380146231762871641651004770528266380904180378433698709277229156794885303430284643423441174180769258898231359724076411629038015040829642878751268809071984796290373348626401527418315413992621659083845495558299030672971233409318793233899619622680987001442373253587966838790969957767901249664923629303183170075852552787744247519549958276283869025303078403154019005922551937840470788628944455365858003297081029107960854390826411221641449651561368343883866517649804948803060206041439816477231212606597904924539772664301034266427186976369822790966397400926579288975612595875971501352354001030827489749236724975100345856069051890775698370767288313898595400680657127954021749670960810360428494216911314588456553634671723672093784826385120885159627799166376744237865488467082955724741388052585271810767465760333707945741990528710786433919043424219884974026897976619911925368899777165678368155717718801448227104921588414220892673554608431141543601542075065222578038981096151521686983489011279072960170896948116705153155382299586603683377298879485701239558507177535873692480429999022088939756400097356605757647550868751726477576212983558223989975741924561219941249695417815703387470937168053288247799581151480237231947853271096876734849098012845040725053253931514909908810004609781396612005167557558330340801780919670871497153808631675756925926884972111826216080257823426928616004225318039647662445798390152863285816619683350694274013139315644235807866201261799190513555020443034810540767947856918263875820223615769736530216907833111703836207774758311443033727139219503224991477319453757139853784735167567704435381657370256534008624370040594122398035160724134997424439598911140944451523947446189623572374498592048100495249867820178406855714919729879493389161289030625296797660557506844750989882954483152919975725319895983872068516931223121794335314903380597458141364686866299731221550510265170207775352072955178224386312920950728263561767375208636368560665738564910197834354117844601777340196698607480826348133603770515524283154903086621434794172223776205611011310072115584001324692312884985126124335994394526996127415914526139672162501064663386127728171895752079339436902230943715523713298505438482072205390661224696925876319257555785315482614074766343985910776255897335597004571106505097164899478111771471829040600209926416353265442580772677647668661302948364809057024392157824790821115941431337140670886678057049151646899022847904993551356160186251830743028718217663708425533169342327730501433190571413966383217550233284437847804945232970291057170409952737417811445642761976684735620894645337581055222420089562025115579113861066688830939895098619167178464561220113207186796667684391248704827939269978658324182512746517009893719717583415923285459111821800181053811153655074619531613794813928300516881498850803975355836138078020609748624615002548032745652464535519372843344508402687242598052503440724059519350628343592498648093165671522468520354713062837636943500663910762708270576859523227588644045011292129187863725058816771275777907129137814297802693361588066867589593284704484654980049955632390340678049588054443457452915245279247151100005440795430632257784718534754754399369912086202981462315790166695632524822443732879011680796466029272754009372660571630619356058085251752690966013287258294899608234400679665267685300139519570303744711777304062593616668526556921302470101617977238995757412005236474594666453186076551293503126774234690345653351917147407810498911481415071416608322162944993895034185793834505337553848248627131549129503063507352746560323146291213174470830566731387420744374495712260243399062101944919346895367683717057064384578970805584021890171977684112569466557006419699616804572984241188833644295155116797155454978097881245674290801571397843231141829054521050130398527201635749932837290305419448200021295779763947776717258203023136255732709003771452187007410824459023304214692737955756507689035037378709168341147713373131134638466246153998112883120534757210067781497896608896219363738450566235485164825614336262645481547271719236728290733360524163327145227240913842816142204621053867399024116490782396527089195471201203625265343583245944953400620841113740275524858443848299251346567931059512907842126045971115861655761712912697810515112233810076652723915285966928430763044151717989381909496188032008313828090799627727767486289480321603503572445227004742461410442513864212466089899263510652696948234656802511590427788843012717530906596858907040728503805176820920580265055859832782173690273365323349955431424693911270208635177502597141283753144262392155672323573388416892106633862178735077435764615395515189575783557155808385847376928546493072338143634572156893586330080488621446809266472161410053161100973117707734482698840855261482589891572345793953847832358507755734982116686082466149485335010593082203971570726430379812414474882002400657639273311202544092470780021086850877219439693192340329422531226204035979848258593635578832964585998595489305264527185069265714214173612653179532350967993465996303775931248202448444233580089720197680715636971825249608607589598267349913510793318278139898858784519411772841273001924914799567029060148432550860963454934890503500624468624710707153546936096347300846718189260976231924524268909984666574491599222414967384284173649296746996828069556395713221595414198888461278234873344767926478997875722849763150495862654201000888360655522937976463629059260348285240702096793430793608635669588013094294973217397667520097046948257787174506235901764863678263188857674125759249425902269095304290967470945870822413730649280710716453558036028379643618636607678324779583186013987348102772540473941909228820218943863040394442847037959841873778054468508043237930726611808175081427287182405108271943023941549792420238589000927112424729874843096020978988981793936418406981280993990789687766060611551149278367667736695371087049204419337264030704464901019814844285229046459430977368479361845274806801547490597224061908193610001791946696645477874075884155266336530199764301089587075481007641294304380710929977684223324098128659087069162050828240673082804760669376392597679404561860150626683521160420287238684871887850518971197139267981849237416101163061170994811619794727479190306613730820312473453826673592523295578651792940385768336685948267824680759053182659592260755581363732808813222498357573648107333616997789101340175922297108832203903771691736853446765476369580970258417681276610297845571520518643484253471042162956403655717671920446893998215400051427098765968013692091813363468501201087673584844043235561808758989098756104699093417973064940838737613224