0
1
mirror of https://git.sb/baoshuo/OI-codes.git synced 2024-11-10 05:38:47 +00:00
OI-codes/S2OJ/1625/data/ggf7.in

2 lines
98 KiB (Stored with Git LFS)
Plaintext

6125087217927989972342027965241747995216040715741051292716531884781830984839983379324284560214512103361014973429904489760753801427566688713040553557085328024750010035574621572035416918831901129564510420832735344823797720375363936562589664337803019494753284484282040424582948309832100061264418066870941893133181105271314184303673124241834913818925761356393790167982535175145703995911070647339302903626802954245055943783210771255934521624736851363693530328535279131915888751622528146691832075226327139030224666158762620015771211294320762076498145916275756868583973033617235840042477974565281782748217564388104885934363783692580446606041858137518671167628054707212498423072235274925200178391402305140504861308472856175274399048493376841269480746347742282984354250275318362822449727914093846915825243098429257842118299352264419375411590012584631443503498573584780230568747060631339152184354800770531409009719346399212320884918329499319436427429442104049336637984030783527350794494964200822338930349830735511287454861174375613684921544115660680501688160416207236354020076822033419447543177353544678729030077099321076091046726253413549682252675894129190954544489642728909741227499974455830912935555206316529069990295074801638686206844786632699443890469403479976898235849158369674329016431150823833866357250139529749293348729993653979011348744603501259361441466459904819052490938713517860549018499536380382126040144687481752314179734272082155073571378963018671269143706885561166181399541673509840338039237623606414780741924157643844727798097713302710008692768609297746777226445891837279011170867814142363444935633239840666592836761842081835111365904998099548597784006044001188148251589384158673514213253299113119050521356275591588753045022568291426496698569290509201541990838697704513751911076888054993644708684478717474741440937526650407217969187794631438367324724607915295325790030396283350182086807538582821963686404983315224177961371591820556538197501560996215327594442269320979357016418825295383837594242499492671326889730012571525106475670828850173000840748470559362522667374500260985122117753673506897028046443356590244061877084392040226316965602223069621952692927285855356517193787122428657644719969020629459874276195125515015758737157065268346331181539063570442793348137499165183559978604211278866100868501948411140633127642809512045892389971769068774169786874628213949676038412810880956866866656657083363793543375156481063781522507082825923480569381628591490884727298841151444717157846834228289185082906395694715456682869535294417225439666382649619338560747687741628145523768505445327743938313487035114715877732784316088956299838506315770319731953686618456768693663050914408345758163029670891353619472839300844587034293234359720577581028804551927580525954867215537671371891585057140040999949652582134777320372506823468302561068734459982067748359017194956249096476911519920882816693117484327285866877507052803378703803618274298904686098706111179230327227881365410657688433836459235625643058178399707720358225393717522144316474603570363005322813959780298258276870833221783151000522343606915795044366818414724990742354922057580267857812081612309279585217745726801979586138240935621491351080728572049517768895848687885004786507561289261394692078230775838888007905680594562988739363623105315340435698944518259294300855508232608420366285868217072006132984663247296118030533491499710432781276627472888996903624890419429846525176618479977199628590807299984994575183359745684140048056210367343043077742196055239836119811749412700562520726551664682815376583299330401172213881728678327902853759834450651769066307111720409891050366068947923314767109110628156398827062436553856051784012651242406629809486559935569822410639247410303313105956764532665492190838273299122352649689604582926474745156225530171580534292076040245043955674744557501994002911265227581514963156213149158545642264555867805735869712348954847390080032799255548604423998648545066096075359462720423609894353572918503269546911948431635642986680686254399505163202432867504451049438817104834492432405566359918353180606901286938388760597139689637823985807762304022167833423266045463839150332706277807880994667384575708629267458218512376295862091843638264952747259771534467537742431088790597869227787946673482655008233477925908472588718943401170505751500276632710056757857414778577206389665386660640528074256103129044364649881376001109714811126041731821260937152072592309899697122353936321101035220004839133440706698653413240239137364730133937223617485195497810300685710369960008725585044859367134017675305985123526287386155528461505091355459519762131747425530603042141550091126065902888742952672230996115684806595981952332172220469836055727189223177581701959674850931164552179385216547354432429001505719377210263025722036928731008241344305524305782987752356573342090630925243163915171241802251578375294128567004129634297589193700947378202567582278372833905842955418504101322331434526395155317407967627877784160396899831636922226127043667503565201410208587504069883672578628189101323374677547734083304426096447901407254206876191219713534952897228039789125038992129978343655004311466475262774596008730601497820950775627930888444864848892750480914406106271739080853946942841636173950831568054463672400919730775720561033326380534078331469955496891026940002997597604609044210139336424871428788642658665508126905062966502573604319723547404320900797165617084669672764840795455725513604058600568981741912138107228637128561449828094177321796375883312334072359847012796154985307290244851438949910423641819091916792240831343512201273190939204361659589894988334370263949093772834624094499134185194041381007412193351415251237609350297065379038721188959789674451280401766979980002991672532036685357907153220818607216696992146753970486763705827385317375233517096096912208825348478238401745172377453635576182196064713763753834851802001750403290281772721493837819066030329583942280168832407179614097847068143440260188656543677865206642942229247851056857667394238107098733743213043850621919950278124767100992691135321448789590956882678339632091537654792979341541000302592859639579552434489905412730553606837350670028438752771983490169283476775438021833039826437410118414359176950503516162621274553068557535615200874119050650311458651369925855613849136091867361806526264459985187580306278054479054159452567019613966424198047207725700572164319232524007522440891156750346238662168848113634734151331074890722817349448931191584141070193443433265369645430685744977303382763967096221341491559270806053359641645415411257343163516770302736477562413832988126063259431105834262069646937133639777670895749792555670262699341530744474950961169169934201529941562352208563123913801158089025188859263821056812522361882869201542523210125953461453336862733005218269139435455795951152078242565761601598966149112500018820835047289360824239041903445633358827046981595265823427708356767169877374494754354031423607175896036302696119865005941119994403290940804640422329997636751144505139047593482059171270384968276876375441040149065527038340281584600911416589510550232223923423691368837688524806538257729298352500602049124722356621502499746101919500031734459199447121074561559572369431171118401197756897165100023960237144110631108801080753214497933014448537095848972899084938703764210364903844704805877314184020611400811584022710868486684424699274442107918753814954457867531731279665985643784856317102140392646521893466797706734305331816141459470984838584773520606388333574717980118360859752214629845699309655560198230148616068940983074531437161672184576861654299562910374810887777067480059612763999401324231112479525254085982368473061651256924269077299099283145482536797647105109370103740165321409270427955210387989801381462602744419740080947067911633809860686587442445735046574511743281975378776359332326290547867526120698392227824508044595948121617748217003516553820781297980161900885926597140336747446417996941941582971904756412271660211059211910712049944675997340448049006142204349854338247084354805357265106860216725623381399077415042153932157201212653014607359979922632842419905175132642693999317399706437871838461056298993299035414236625100263938393565905081753972899313561277182523201328620997585827680849938632744527159157476753588430962778609197076542577107420568234924745672842160740677073171815418735753835642382677335471511907240797544716060296274913559008497774253929962672714434894943428006224072447437318293173056141815838078868123600027757003764053244743265413821918765106291089802458487689340048029361880092320831271812669754720329620193790316695554516281509031933515417588771028790530920638362864097222877990462694485050847945851238015191502584161317569969112825836272241057608209387559490040591247890384428857636256014986527410624536182410868013087869822096155841317358272950069860279324953611046693270477781019681037155785439210880207162898644476303931056185136940302144597719692505089191518402774972902938999613415955482586251674272642727870361255774530963871034109039479543776972226606998110788421441852500083015720594926087478164271340641722469068021349785930370469441896500217369745652369030792094037417566627688196612955724720521925483017551506278004888158718211729120854516089152598846319665565278375097033485929801257641116457829080244794084477433075336407123193473234697550408407114844134965770752539106764310319316947655035784281279179800849762508180800364949595168756169298620856749618607744015226192274355023243147356665490973539550858685729355240035462617945437938339829805525261217284774817557662348473402173196164609374518344753016568545215632954938951426170023024406624095507150504474497026444366196764644119439912534520191578773576761864064460501216876252046173944762362532884303050888723265375182065708248309606088683944997968627422678905113027313542641977537885568428367799533903428967964366839228156879523036497100889532046926998470301760522685947230610569064703102911079829861544706192182303275393898090834681004717878878066453318447360429638101971582382041980897232773059156223817326976288336335259975824672753132682126438500761745938973924877432308375205810119535781133862800447307394370764025481142338333862877934243230813736714855351794520294429570174583821655067279389839122908586324564287834217644260956194976905827401511279539687492698258626819968405625249168291273415024451772678226008198117732279381764490761667754022544653738468974266224619442130191891192316915965511710651946114719440891936725814347165246525280901497151696430031507608229104739502783179167390153452145396580383861686783214896503953414509742246172399283531230102545536119891366635507246753526334009152761693801886834273203837180175340412101622535308820401235498457971646395907976558553397967912715352822090848635614759498537762443545103753851455154210051509530989343416032406653888319410887520164091114327956226148884737385778457084991208880600698724511237909638289808222368126105015141585205118204133863692109896402426859335289044824992199955745559160159907431010609865541478593026905759751391173123391530972456252904856122240220385569437188161091157162319022044890299781952402245862695898641248864423070042285284146209485016234407874430494636882192002594746643954067045024296166857655171684138700882677884610732577038334565295350506447641667041852910431022562447210708853384046338691193565125202869109436766733962942614885374767962937654166467581221539854176120980933406548206310661841590804781033710006792203156267762759627774716778885623460167857096834292444624677582612139335750226691061474238036146114229538108863622862395442250366118473114093166422006804177967244811604645006535120851399535647460259125317146716970842670251291690316450844315437427003209787116328455857600518112603544998202543042433887329888310813739973492968948880458933194949508570509784752922487140471946517247734768468656724122775008287886210381353280520703954563508543056965535284561342134955362437067530375630106399371388535604053617090442568175019047317513146346972081670206955525960853154707642301845077271658422526562436051947764105846031705907144408991699866158099131825533157434842041216698816916982412981494748635335892046913800581017177714392795168119370562065230330354353602528676639588754591836102629819776475953644063350629568690320609231254594039542578116737378823475236376205188424835983965773729847812841837098102567540307760949053325423453900902974650915563890324398134539209580041595566373718695139249472955743219035025622703576553903585715098375704249347030459983272206747526908875574757582039628718293691147432489916458034743761537999906381194277299649901444618143458474049666228877883663732617503786151167915159704670284829403621641286406988042189002731867703321872641746173089722262639922459667680667304212413741500817368386081783690276581725581533530845607508328124595860789660367756703826506815521538346962563479580818215516971083669999651849921380991539111862172334460465175074931321677988296778704775686492904647915859452949048303167323913350219321952399057970234078463668389891932297753029513356521629663000843034258772319369368080749829978385136246628180808121352630576021742830969303907079989381011087250450097818373639436379200626377207809394717946302900374792932719857086783529503021769592878091754267262842571800559924506921631847417433894201942369611524454658683815862337892995751657788910282877574579522494112593771482410507857345453071141509610299355155073526650995184248387580516928877785894145537453305762518158759894904937290923827861911700440263552853688492901025996127495412147486024918883868543512199292201909714014904247088068108730350849940008435584070186076760429588508080963142824541381408650059156725528575971077841071841190376524162967348911887204055793420028416085681071626320292081579380233345729989321239570771331861456834082969755890811828080349875355917462538880103835535252485442931321939247391817654068364153378172163091645810042469165864471240645826450022628844760248294468748930017746721275649858613518080561080691095434277573245669026689178615579379231364590851128628632904146886265730353306059493081003999664461270777767069188852302860971162864816078084526838658827524527806677961718134789416106794906541140853044565777328257573561560592705742223203308336474194038853373433241667302488428811129205725058949001095878738979504597326753703086182715235616137940595643349375291913880614439642686741683890643950455609139267835712005605223056899854466261707516957437706930230008567684313903703384611383783717964526823936031231566243604474915899712017162282515243317903676042876112772912883175252512081711193749172309868912680967425069283568546384952118066683312252142270201056489988265792706685513711236005707595090654322985747006262415508892351934596200312153245759130240585255830514119201502400311036518898958790681959803191200829612487455436848901901767372484917316096121126624812353450523832622425733148653551258302767301141894493230562786777018639685532240368400105262172650392381153530004636081293886042735666559538941298905147728125230697816730092077359313370418647870189001788763413111895770012747537557519398713409196063118924378014685768880826198001255316807741264967614401437224415632129770730862611973223131455788580586015259728041055426462111190133302823554879332213841779959993294923301070384825596180002765134830127776252341691378556010063149003246940240922056107276389987713546970895923240947822091119828232458200633982611880928138594178357271690661256267467555444144149096276475950893227715694320499505601557915219392907563489626877168764829012843101829802611814099852427484282228277680179600772917422111456601798055201143489399986932813476980576405790082232882394542455325798743339531700239805068696139896273931581608322714238956303419306026875046678460320883272464297619050796973337579205433439199077808664446080058321330188610674400804903627088264404447620583956125594833516672611954096151139255173271591282230270655038344936572269573529268611802434489376850282803665317206961101669046645708471207567013731888068264394445182601851738573448025269505344986327643029428139800990927121529535272410346011947443912998034885792650638913604920675961075670792486576949295771298740559300205183200243485339911661701750631548068652153944609610042655682123027165173769046760957597933668416923896027455962214241642929018823516910347801991040147581628318875658922402625912017974747581518275491504125063018892289210511080033752706704481172656647831191438131037566297810366423606063846218005785619547384806259941379443410163040745486168541920003209188388133762649494353404771025805545480468828161236350047446901353095402066307790572738266529382432269684713653849097859067667408554026752655735968151075938122663753866684533428207433810306761227461202217283902778699507978320202741951563613430920798810515188204555845012363767438542137157593438395077253173262510391327513910746517620792205152497837079946619789727206280859270236959665746847359477890991214016301548765873140893911803796687447304751713660321457614301363389519466674753305321155872038836708102059323191632014814868288443115997092725177751636184234216167023640728473666389380073963929035557493523404614824190373311920707266813052199470416190605334267428716780915222700829397150298368933314916338050877475564792492994110747878364204880572610986538587414737569211318958939109254514249402075952873825277777240689025551700540151837357332767398829628597936918948501916420121414185328159809870351567507041896389733151823091054924216142771660736480242236214341440056919377423093494015266474713942060383722666757989716006136982083862830226607352509965409030308038127350588511826824698167281167203328769357071452709353899364873098310761402222638105040768286022674017105024958793384638938452676932051174737999710199920720216731809248576658791949873843324032507001915148658867490923572665853048291039938862649602661612078918450504073894239019926307799343015334964939768823736527456543999845072281359186682944239249917192395201227922772952337970634341343400399122336223972721086708751939549980408536951603960898475979455807613083954143786716750666342455276959423451692076610051578924363129394477347056208739354366507235694915036969523133475512429643003897628599352125401330792909026761529644956200412510918545871196231687506936691810500306921271896952064600348534863512002010908325734720885496683023149033557885094619445476200605598012598520396898124916431751733640075812130883114983642612742753420182626739145584562025645783499367560037653176787989257721670416333282846234912125707976945373079538336156601685206198166752226842269563703729740404601944643158190513963811824306161379358812459179037215781881656799981891218202205568200619529267211311822072638658407199881213657783421957817238683523690721512613208606537563457074801387966968004757588231335094665826948915559686593660402898693472870853341403791450527656081216579214735704877741272234583016023819305054863422415675303431299492210285028005962764419995553142387986557311354432234381754201704376266754455106316628983364859815365303940207122945006095372185256956791146244707336466124278971900532855243026069337120989245064965197617460978428677404496361707416486132800846089938843988908499901811997302552232531069203126149084278210308263806354330606433222039043439008199267491120596623130067777097223199801020488013282122240708944137632768343681337942938012372806748573985558341485794159613104816390079448709022631840913213319883470067817186210518261796505427423588102966111710560344373019920260529181101860646062026022467174466453809735495569181833658620260552769553560286998572002448051665125455355584540243406148173696837688365260988540055244885657517109291318374899101045114147755782389812270016691599394174584696789572928303706963578622481917979838102944310909780582237712768000260369354601639460459240348691229103544930895800415004735830896393720027628610766914199941994170338751702921028755630651788546089673825259837095800686466969334249833165901926404970272002700570147177822016243588782525822974511979673170505581432497726995407866113813672158593331803521319231935354789444664573524583002396308935480515991990701032805708693350163159599908790472345852454610553777400818142959655950690835948443070369523895883541632772189643893882666733269721789500795500671214087502362889369126965167380847729644267587616149648110851678713996494386512802444227277810995046049008315300502157276951309261391107241899580306682998172224822199837891042158569535060200363417905853614747562610032901552194854659191638521764994547572414030964430408308932030752126628158255619090467185663908352594882105935098945632717004714519111034460973493272526844243332261623742472952620569005911428810350438445739076444459061388344278412994456131986242526125315137702490535742641288038799273832512850193088844227952216517106660613228359471909675058307995304288361360678821199807153504238188300369987277464889946306961978592397042140065732090235997651898000908182944156655523922151564815723797775912702661625150610228859754940021912078050506277415372921293756601695341107072184090329535077910717714631266664133283478730767153398054137423705480760014757639948863965269325285124304168022948487356659162462961442104724716649670302841590862985941612825581918166425416085030134247274200761888194836323982163700526767490048126620588744136250844155386524257431645607216886271293393349692660978597334409777358931285894548062449089932299561659772094779236746126358488306802743807511124480522024164859530892795833467526005311846594366506270455044293698489782800692486718809940667171233435943003020672318625845663401848973987971978965225776638098384975784381899878285824405644994879998171470839974686555614036376598997218938305745645018990792291546387391650723999641913201658053568791590141635163878025175051965066279213728779132396678027578739436706234936261512710947861607754556265630647322777164757117392495497399387748964417829493442329511643673316846474735388004864947342440207395388664697652105361601312112892337659929418228249666162405081589184693650038540562112198223103438397161536084249289307738450360273615863223044876188374943033381749962620005703928321674888644122872902776635627884828658472607634676247907117901404075753230746404485714597832960814843832024268701441945346319324074308345736579205263036348427766870546937784839254843446297143057780427625358294383982824715694715056733731555326132354743000236321453075086551547724101013549426604615904162009407498527896723524577975361155673778679749906715333833293234403707760376971056660853091501362106065192162528496783759391641841666200786244682327435194497022445908699832822816175035559781335327358157876602240578068818557906268969184769160472453836183751083546294245281753381860803324604358315316525273001751532738974843407637744581445962742639871937567641402937175001956945654086249033376955060688397009165025073580887866565925263085821907248165241809404891646451557761818969515361590649866093450701561653655026932867277764465992191906975485370838542841720274803729881830661763532897682583547098499076958452673693496396441093368990440448999464781023437131902260911802706773592256747369925350572416246233054515665459375503184083130228107245864470753333986586178084859880380276881401960621471274513033867320657520296892778267385417107964835026434575283068601656600676398855536755764367302284073918335477489935232573645250200313778428074537851774225844385534957454343021371001585746260932946147323519730378612697240401127886716137320518978866126514307499534677195897403071776678706743199122244130591712775877741351128008892959628168896494007301493770122113239313658370882810086812827324948862049228888414735209652566880687767813468256641958165217613923650355169473312100569789517870679694159282211915456543242004688293348729771018208764443217135123929864830746327003576038963475449561790239250502900044880313128761439088559466679364866026306150905962244349326159714208983808184036238242240798255680999714377205681214367030386201851829288767983843309560167356945698398297458278564826191669540666972815032241252876171449544137318803310220346618392644739045135852350398713213233543504490347177968807573716947256965224533509876699596078530571398814918967303664472445700992458686272686974658234949781299222730189398215208011757799955727451469404373454750071859340836938770062697255033556399645740304265898727071802698745671686796141737974391570030547360166061492988422512680268861919551640428247584023025189111598271140946322778713901085891737619240056401182959806689895027441293619763815094726752873549723596555776127053487014838817544307462666368655931274645792309224327472141508017029692356841058657735081305171067785030037067228512839881661307658798368034468891857262059819446664916191783416766312470691642747022923830848240242481692412209110715791650176318807295395499799181724635464870481696591568835992910257861287810172212740534802560943943185477284570208321310061938187964530874468924091756250405320063980609915085773333157927526906351080992902543020213854445888981131070282249631870769309751135495577859803210000867002491775978592856112486756292089109966656892857640584726252647218726263508396987015762331511093251034742762974746497455129093421552021174675392503149974106575907017218410353834600505297374647797641654465204543169017352138340057810913689085381904073586791612188845432906040000420201288789854553460660634901034270347358458232451059262448418168550100429240654848533071032120514686069820923502775654463778917001630625959352515998653554841954862926707368975627926597064966730421041079621705080312229895346170950846571495770021821443492536328175407396891494771206866650640294283521969891051668743230984675387470624175426052085110248631744110910219345233190811111684828800177859322854427310803282862277931558438674026949542377914565594797009489877386740196964333468434465450888712563026236680160993040295773176346484877421348417775935854233030837578509564005491058807102598849278132432082089034875425992827584648940622677411414846717388869390636718463238824586728918945571430235377929888524807824636513387948323352128925354728964003955087704770127038813979124901527846051381204200309430542892439045107410313284665790362254846385961436636125551710966380943800704859825442185385576875353922459389428302147588472535681130884507105393583015245520261459507204632250821906754426260493336808347163443256477468722443683860369890983170442824370942311966810437287008811459611152084405599064387464875966125740178891750189505814061911595371715291611889442946496832220830187596629810047216612538509507895202732033432885589604344645269204330948564003074053129177696604847961624078529007951420784208981716540153759421407355894495255806181672637403023822635012265973161028102897442825848771211593115573856059497324834299341585742072571446110750358644288828306089685561247185328261388943935296441070505752028146550363208445823708793067422323440165975631177133357808701830043722259361733601517559984277145580411820210997034421808701611212245453048310420550513507176133178458394517398673841045823673191869373597628017186046899141983683949835937109424699742944036932841691808912229417115050888947242467079484765748897769459537671699663553560060363381063664850582370135398543374155476377651261612110694990146635373547334290272225020600560419811518386386467312196981805249651050553446028533578713533712052332778701787725012579682785965142132832473969925302188819574566630701863083481233868636351658400183969125244737328937173457309109827021697907869959419672004066365037097428818403845373504218529138544887316093096226904130030028277110954959643389973991426472383991972787521129702506517258901664120720081342025246841038886823666034043473272914819099149760172654248813582825163174884607053584323684561253592321137049178645010702999988819390586149607885010282083026449229011445130316010003164495949472105031340826207367849676406321280655918148923269514660515424850525571499433076077539435423741499336062271557622807231701605454992349507505944854520715843779047362599601686985212869429429016232084271049285859780943825928134164426260764716419589710543128727476847799378775033412989696755697820669328739906332758514646020965480347527016100019473071063922853685186755268757634522684031667136935716037811010622834592351267475271920972836757270098720748948512034724519520547695301931510866839942308018312135467136251834268507342162393300889013285208332055031034214765192842978881916853353561407158610546218871039900141783385484294577469365307158190374804557134636042456236524094594669572936625010825959423722746719811644338324820480881550330782636330866518196308816271026881158569465520560015717381670098939349828419321037151760617915172880436929593024875653267867837548915042698768600602219946266768249139768229599173650622690350099827356036984348277674814460138875174661130828732223246814232426920903124264454711571865431735320749524525063330813473658985500379402769347273613503306618573976120030801815303566587676512890344095662599835721427440347608343322725008694238701113618928939004125052548779732462310981340389747425582846896473912150029194676432018760723233816807071918391627727429065693699379278644073596104406338447859299747360838764558374532934716841854909345573292230907847755090668369151853083603116459529336486509398314144747787560865585397602646088821684925998360403521665734484575807772676178731853806140630344396499881536444179162065625054262273120525752978275007102626541283967189743283100580381647298374088613937123515583113933559163420539648338377699763173545927534402663778336631516552953941423360707665156820982584516144645705503337985911469842180817577997246265813427477526493062818337593567291260245653717058224928815861238974648840878295817162490088537964273365730378895133563080895742855725115071773319041941629664079639980044501369669871502562445519637610753710441334533566375082506313873195793295192783806033780079613720299163310183968237449644172761090768508127671449332184644060313923921870419270072460221154009523901989899710185087100836503608698429042931508366813575880008402335109888119714945709442886380390885867586928406295839326823339977004579553461175867891418896211282630801929162798355318980391794236169474776056236025922625788231996783060477686564502838019473459997133854065402842329720917799180609485086382098385479415627910435540817481377492393613413905671330791200666765778458282364514657532388336194498934999207118009556717060743847940393101747259297947626617535219371248052696737984992257809964207014403144180045771818273247899490629823876459410783494050092780899639268951978327401936481719867625523986837518819957938146421072154515014890718132929511316630466895401070839245001539141444694736991783425385017475400349371275792878047946174903176696015905596189316292947891124401937705292026931561315536650690056024058923656608678505057780291102897550762061344353589968894215910293891625058761190961132025959412103092797700341042859332012207279881182083745658673322941611241229142573628659284377797140992982346102981905018340247595823811430473637226727928645091359418933145613538347539587147791921227026715642046165144202495983479497252280201000370142560056941092241948340161949433727745038310104638379900851756739348661728670458814214934911121963021473843614159495622963447121183201121712533242407589176911283437396241663302562501382531056420315383970917081235670564556162546079657413760754613606526107668953791903189351666993962068234672155781297427898288707031753271010858557079587952520461989329756200277478063606673832712689740753188325200824804590038426033825768520560425153021246647881853681627060449168728645380238167217479669471424763186339233120439793645384211261838305505048702475518316180175605605023986227337239054567875653910699794043528763522664124968115723285106233319562585333844350926200835336992585360562281421228824359465331816938069082581961783196940783048291306457684972383694322827058151432494691692231798141761104262144195226437602268664142673127346472254764972128250398165682266867416195668418514372095291150135047669322243602134423795027068964435311601535218899553507690599614253405356972989199001480396788679188621925276950817507784563259321207002756700047000767724565449634687354739723982240864288805980840289480349148216919153331333981069292179511260331709823861923827644868568586547676096138293826271146621830342326243946502459090752960518567998446152597324401831807698806996195365888036721797203408427448548598782563197972606500891281421338575388285032021394188834631880914022415828433945824837896781629670099414104799351270998579126604738159267220093140676335188626117804049160861473929663748957504662194922139142431099429852535650244542696502784709529550892831385405559947621441607689341724219017081393032292392572911290231989733495004052957289069031419441971271511428590807433219393251174136137032775510403012416132162124698524610527973444501693112818146640968266257717039100185508585733032037000998758992691418516758815762245814358378862202611154651842133992288456822304752185928051047566429177222622731033794731157752590743130691372895059154822523471612745278517101943500248953621078989307354216104568372290004770322573546713879880000458056346832503893125463795268845783724745985423796305304944349028014200419851196769560687299219896752457821165695054530203595637067940234671236090800510175072154263463981351975486759075108997073407773350209525146742667038545865025647633436679844388592208095466699154873875143770621934586095423487158627677981103369720183485506145646273649473812914724659984498393346355075314304005161087946663708882490759327045248994907236624218058277518061792868763941098933573243206453162791894031022527900974973705507052668031689871572960544469517608293021721222547458493653919219297900145268361582735668796392710276137976022255961710126949499857602667207089668057230986144720647865773500195137890042646160314292419099308939076765294300262060423182111343215525606989650060915644777203757269872676760138416014314550454263432657920131476440557432389280333434154608062349369079015056981991297221551992781471858837424687816746544533288030504274950012893507134687013054295954017666675545487356943129809993148193718364010188048032536676788426236340136238262499141759851065524800066595776305646413397338394984606657066071417534888451403510481127895415176789096376066636400230471928505671048979147628975049009587422674113755906499615352792473818672129123895402000706835665334092833098837481788713018006307052051067955565438688155010809386383641714779163636395596063030850214792755918711193649960751538454772301975533746437634390944100258815245596219758325391455953237573444089063036985088422517846793113525981406085666857435128292391823479662758028356374006558972773838013794966472598781580804749123393406494644187334162060951238039562858364382685247063560789289901170199274361745873982671841678841987680536809754150235218645121113354793634726690615196765761183811485803676133817808447734256950212669194387818477600570152359830967031946483884542780014581142415344594250281528175618001292241191844606432180133583874337366346925087922083236437104202609548572011503673009777558024098959918144086634164182266863444423700494434903543196027521562561788286013513051063804293250490293264100692037503553098269692407963450490232137391556244283937729610213956269609496573613944929200720833553650638896968775326112165016151459545302921398308542177937661065423412140397083513612647205906563487779659486787463362892378674118755427998876821643380883140744999095350829214989925440840463506972609314049380793212307756771793112191571410543510008206715504014096496761546426762238921623004453282253892177413520087946516754185989116830913289371984286549978475959230575214713140915108161299864122003794203509943421485378256730409323852325009808282260691727411621421269360750772524195348227000675071588067193280596193664830355119329759593977232655377948892154570194386761681064189716411558230191212966303729902462836613264299056434523787348779370677554473149142721995080679491433962077398240926659331682937335698245381296140840782823012158784083197927412780238459334310404485275018048004007330168517054221500889830830091687206070296984098979344701612917710345194923646366236164341480303188327545242998830216271226156587366684051419777030920435615126158331013674930418715647093256925621486099514100991775680016781042295990629015561076168270447529061720799623971275268793011328036140506060457725330508251120372126550651618528317122340913427267624269938553470029874365117073257024131665407692989027639604765169707788479608463472768962392227450796734097021007171367265411517152626168407288362439857737254864084412100498191912601452130212488365852980684181507798679403887180605354529832774150705226464182965007542011598463760770487626059858367900814087541926229570241949629418319331418101873383112019930048657572941383715182431303683738729012876290589005990382458866410544123166089158792456427851476183075890035568520249577954972413255272646437544132564619154995278986881688123766100506531225992064903300236244230913010697997978099444852983956656144136777756372251271421127354409044576469664539119736632349943432187038811747973376335665479960515807235816758260886691171349808809739581285612018948049332553523565224467556892834093812707114359685012655135168753741543852298569621495610474814203445644713209805729819085299375652238017803795330836406528426388932945170601606524027470798938101897326131608838322206029801715271242959840191820189652579768505758656793980283779928401610546468440714051251859853717646928592889653489186043471379271497366113503298367935229340394113834449758373409327170109328557206699401599400727092097676380548690965618054003723076489462738369346601528350522384170206924371185784643729566150148267009963007744368390357700509673867485778019385113657449497784080161001142506718201676044557981156166482154262530208228838061086913976062019878355293983145832354608316081407287204212846618249045422783113933114074160237541198534079855525585574937053693938820656597250608795353553258728143342749630876153752081365274405753509537655791528769326491023129876146401548965187050555983157687359624205492362512643973210876273828166582043679972967428651414544951077280216367878348574596052902572576729304735539637108648762649473490969617334162058570070225665173520137588777483154533294423284101071577210308123764384084291124313854723564468136776907036147122665921504657393418487268834029742165215803407740931568560877760764233329758373960512379599783544383107647512194382984865173436754177318257575773253016802223357190671696816276498100839991184719554595267364406908856960493678436081121318751759349927521510590170483284646773604609907690963562690715399616614600467066911287872738632353713549734674869926301253250840990598301580111750747088241369411794843848562861661367955888352902063272354962504798369944713213507526423790519643960358325395918132203927915238834909866745703813550372386182741855769250751780957075671759027690203106233964065664803289877754219208650196119932269799485393680538824890115811538523319959778236121255711078884950770668790929573167190882410357971574048105870199636686044201852354189196190449671037351146823984636362873018150746947231358436741264664028734965602776245398992426635340916931768498878189198164771180905745002768863375397478185220715128203562095091522400164872966150529447716330788379166394745975820086189876054895259915264291729798123967602023954639439665967509887650761361907075119633883436655802557898688606476814944468472045026944595972696424574172591125909778171567537509394888726138482251899164360751831852697877823592411724013654387705072799756459900709990527688387847055486068007736169277594021573889773441409117614453357465768827704960044518292617264295367368913956800181933211399353791443642574439237847713045220574617616009012967344263206280062504015315798965573921568622687388233360118768970972715842636162594612917065078785875936879187999609406244424471064256049045540796158235089117891215226109818719316557117919421640643465644640922421057139949602262198402840850439516572564916628375186154922282198752849005514908015422784215293348198589354262644912744408998083556647084812755946789590442942324047291283316121317541771600835110180570093092750881581060204274992432657074006664316102045537694616791776810863127371514479825653206260480850540578182333069016635948583401809996011103957907579936673616423403539083191026276064345812468502178970158473451718967435953876056562127391779491143701339745429641494784392715688813767648254651361758413590404070202548732359752463278762222950237224514293977122898994733743793808862117903785229067455736226690399090641798448857862590717349793908357839105852758008244671776459634002635034860210250820319017194505946617251002918224256404928697757371618213890691157983725553324034546875450660270399283626524450586155471307812977457764100444241850933482445358009427529268468535327770355159974294237474405621636983362191781144478768708888337020364120735970715973077864785666058968515571735316376751992849536909509902569578637403530668142069806544551790973975710393411258953535185377895530473158868788659939841254072376415267274244039944176491789840106855570658449452610055575778798989835206907899348600754438368452541879424173219734018264711905100936269714910740719928308184973382246276618305594044628333335805842855934781262132549476960469974479166130405338657261039421345881931827212100031438730796190252925635195875508984499993088271393286777219276806322345299664113890102354685132421815466531773612229464606009752702514599809200562237632938787871056822840074416098654405746855624850225742876684650322796928483364032770131233883047832240862550901076552769521430435989638229889833497532576333077496798797880973465952878669249733707271343625441076279726907567658059123456127880519289320977360019218342256010780584816424101341140334775627316561325349471027100427254722873279882336020142782326127792456643947806934796768735095217043872254157417939514743121854312679764809491348542628955228263015583512391004652394725614953269771367624455914233147261440215504978721810895492128124812875554927603789203529843434564021605265471871444249596321039327874236371196022329225498987484196279910940160842249033767180916803584055796268562394076889852721698870912774522526006082334892413885048307975028403610579529390996734692715757145629977599451577810837838476467004786101074661500634210348278620161118212968743713769046217388894527462994875226311584191381524583308643991884624780402104448391854469051293064054375910637188640468612343023402735879396242692006342395986619887314101614282199164938058664678264183353568601080556575599319750915309902451681937424391974566990854770575003722913202195528489196286157706862116923349080241875610603529109934927245745582106323428743831992715300087522945005366840742542283908360330323725356504854672046082638604683335412806399852404932547418397824878683234900468245745844325507485390254194456582701925308463455544591602463856957713593719759730917190598325799978889219727970632498557083909142098384696541087726816217571861412526348124307849852201572037224762299533630648015057112821316108214436979803315386772482288430025110601582928863632293381808734607902524747426247562891905722794618795037769374702865965922357236682539310752987303935087453016317700806734953722353377562232179242758134924971957417796592363263693019951655574806181937674151998913391704728774944192277424030150894927513271997884311972649351328560331225304154495322947508945824432682561121143724646831394658403472531506506172498849970982055564016785158299080563709738007596780761392947960172358923568768946245892050080176047374041981146308187587917636623864923527412359412190729977386748026918591875243403129777977706799722173220249695367247290174705627288904421935049607515680962622549194782591273622636079577016545112443187141159008546747340203208285896860291881563359067989538273879993842075187232804576996080900612930918338853889826390288765794142840178094373974698787498050614006611583580870039891562959308043544196612706262970527503179679039779683292657936542864275878173075581801680126421439916993627293416795381223406579758571485307310810237286663387442578606205002140304588897146818362327926094184527059012903825874771847548909906855828158251351990040085946236480319423301618209518962239329279479631797796542972397727006626362657551871911645394816797065970568754674033408920677232295486561860907532180702316672122617063389501013001277257796022977116094969556495601051907604356291381837136266111862764191413257748412442622451835043477679284375883930753992084259751865952886141450927361443224543188912451100243922653561790522798404592720434135741523589573339663935413341105443915248751761737272879586050704847293206603398825839520556688800532360102348129166606592207962943591271747989979153790133029069801000185336669906695854936614315219481569177896802706011511413433784400240435603176260241105248336624190697277333613705220643847285884733481356063140275496066323434949565314924850507032209999145725329212570668283343765925621097811236987164886532489348578201934398052832557577804071450452195154990589664590489531709976967456029802004457571171979077717506906169734317396071905056788378993684549657032039011587081028185917424479809164181965461255057186424254673544537405095795366465553461485001024617251594065229202236445965242852221381742314559836164687408203264170449160785466461580311744478148094145272747798344920318896487336248175497656569688964158689646008763337150077898907858233469797859315776428051880039086331294217357499933905586885912310691144980565310438384318874618131762737139510563185204780258062860879504305053435021952723889956443124079589361076830408159413667410289200535717722100462467700173814571439356770574075623625391683070249868204913778637545008588975977937317126684232163146776221184970312925730418586470156740782761309168003693762381361168785436295418215673497644247615684772471298165388965619941937212271117907466550595836786567771560430000243581663070170085804440173012772625648449969241156230923142512846058309101491354961538034689352997459642983591936987005617049802369721059051523195603080730827256698940620300390052528266921821312698667750356740728858093343462421345761484774835296336866606181771289367153729639163403527186914892714837409947084204017710331569994682969530150556671799034777940931710513428094078293846264432373110800738426285362750933168949355160923250483155358721668098625504282704816391548686312616024320929960673735658835958775098252514124366972465069397999156372063102824334612422661972109669629309348175629172746757014802626157338387802542045854630033883226768893117560932082083856283204800132449728423866015222855200487234938409250699666835493694506013716037602436471386388159964521271340973219013331574686759993173191605642802960399894052292779750857067239622335198245734192718236686874364578031088812785238547277358343761476303223476617648814206727855394821232205234715892585714834290814074402501889774075148788750627246271192809159816137231129361808770904216661050441994030366944841823998457657643363527312868651965324339372212784216050851621135549825997887565226490943036291552570727060317567532131099615634043838726846413929668543507504964647469719520889902405961133813890914156638951088893494348630028776328191524233792953667805897697277572747446289037771932653692286585644412293198895740654336024853251364570777956171031539588283104658513300067026252272790717600349262172018453735557183865223501448867087963077556737274869624377947068513024925535397893189953686217074516928128532212709032244851837699374289776471655837407958557047615051718679134404315014456524614670190075699350494254621404817528522683857243596091119501723482010099399327797664536700487262549283157442899564012966585430521258037118539717379441119654790873219121470638668376964640354183110577651805183897480954447220641745618583870937587580027847484742021930391260095686300367986644119806990970964276338339906475095482349114081462024559300138625117631001541321263717089797833600917230103960812587300867977536465957490909895552761042705419715028571220227973763027957239382788711499016894361984249339657515116923339471934820197486700604865635603325229015066605251689756295464064691637509447485261100115691239973977614186232317403700342798038320638324819536543648621574664229136734615277996386529934504912521483503661196865115913328600145974604011996400774956099596308481943599423708717643497198928461410899657213617900168825046530012389914147869968783541836411080084814582590009960585603737942706475298537838938060199660427409968222521217092894192242086121579586350333672789697263856880108716286828268482865093910208825098229208757714743259865050427918192523115471162268784420233853880728771374373543388909132377268089784882375134375383164515155671815695146522287904690851665031457715316149835451355860621727074348929570355810725964223823616633103324583782938804260674549547051861198791506396802557609439284897450979613527608983636595108786633988515322449910370565067538988124043396690264395377208231365116979008691816403689469965073994537341752182190958301658671281096984773854184880189316367075880788310239803063484602155554451569044588483686849923653708165966324755699437622956501794787554545778968154081462262525662685329941003133537931830747678498735473651339514972456350220418044652643629342191130065084504589080628067164250831836556751923138718403434184155580110038246979373896773821892660312153641682717444498683864075652113382849590973257397412668205811042192923727397532070415971731140103389268031165749531223997293549502253371855155011125112952857828830122992416106575038625583038330725044124834384315826168029119669764630076932685858906914882113478232191657168465081685351772600451534571143958010988441229054688525593617884069346278756944862227925590561043243843669063511111679582342143364558803050572418396738905587676383336610430296931072405858393500957037892715559763499518645435492082185442226922422461481667300621597446363176641294958374654503100005893423218991692177729210719814227654813412734115253357767212812534174831392233317482075612436307720561819667991179840526146535000547259159727759343375707717371601092427546945213663126071028399850066541944530955996589342780626028752145980183211581584627321514095145289220822033802264446937377526516831872754905767740059179346501998513280399070783749695285725578643643410008222258093150757850348816549064465975923805021529716639427117422447036822145620413328204026006904045700907315341135810347961989909341360403282079160183250848660280134236974954635264475626670159751449161902803675929896426175124871129248284604219665880923590390134682979991896567248634576935980885740492643050994027197836796329907034982681663721580562596513199837990195646458087519345788773574205648057199037202167689621720059753729544604231418384653149205699162039513783045230708557504093096098405849964635772843985338039653219858194375676087483013814311071332665367126651342496577713493864271646852246394164774406064025341416656858283805767355512298855263525756403551945271823933422470229529987088447560150219398388566341633070721594712422186175462499195839525610344606373492970990730002572917772793510597077705061631355087363856262480029115278711333813569164996044508554498953790551955196665790459416348716365266565300644277981736794807636241561703865053786077287674999231055972796378795956825678248455145153052335365701850280277395628056522218686241343550720743414057107560023956504418481610165239319176297912920508415041540602197139510144884290950505858891571975616322709877723167596920355045322721418907511628858139511081368266602073134124873605930950719710607193996496889456094964422520756283254262472179763897199750440678845241985342947619149589357213268422146321639530076104703095882777732907987245042469580279743255582847554383605223911333890183765348383332562815311228539756100104418554110390417364744159123388762410227927339123352405957467011885299241707691792928165958156352052894280623164034377935794641681995919664259782343999436207532387868663946511730922908246387624320386968028755938658465020548131517088864444781890917522324948589399592021544079454573459714131714978800505575162808595961770985207259747829273689643706632727730862740345542333871659348520132069606952371417081859311218003053466085328319075060480927720033413070170285426781799003005727874834909633443471396791472238058002803590124021124191446872371008557561295148651777749237586479505072179387499222245611069288306337670449038308377819432726720709706297972023838757246012083639087196849312611751849285824021932035613257730310160875809551233642436567585737435161747183022570843528566530292580705871366860917556329627804015274203401930522941383928339743547048736615907895518040008148130955732148797306845251165293210899697666249832548904116014475065493900843976973726604497982065022658420020798425299605535173286534072461785375164854876285855201631759642043459183802756216228861555219426225696526305551858355189250139785990274660892013799538168244229662217884228747608367268808253584832345122438144308319120513274271462772995391555204783613432900075135843318815957519536879083275473656343686130495499986287007197308214523851677195915781551228557312232904273382377331226778688902118027291541943755813354923310952421452532928046360942284470820458294559423850814501496807213455903491281328882870826580761962227806306847935057692048677502516650508254845618257547106310960648882100824880592177847262498092395566419480412875330809824173687155903963114272449629790853197303965725236811555822103472281711893840325831520235876805761654394003971247212041830858961825242636420347571898647100268169093574322967447196679807304001996856305263110487448656096234220489638434529171482248441616489788642948256799629150382321724162822652244377501311151519913041132489254384090487524156258242662479385110542312488629834365092370269483472294222435687215869617827832027291884799352240425681043148341974465867490870621826028561158146047081917169730641420509285364147982504168299462199606919866253423444073658365857946715648842327335568557173133809536081231808234619362269882391413183636153693145303832203123929283743106124974459079977694777608630390318394110476062363639530194383545788011031480625022758956505992680627309682942304947768382240768549976736158074552974211676634584047101978227148173008828993583627623399492534073691350333287133690347348091074627430034790714817076957381674828343216756158901867917126126506885136782122815124280322120137348286113781916637598172546673456705971659430168931279669226732561655824840116294155218491784766442713233281269385699636451736466990404727603414381728601385535443934033794628853483712950821884528457053503300954452500327176044222148126924394883049612667895210981083411181894374692202788048811640310520035005307130125161551831698975128371715024114821591669994733322001560698695539694188869882416027996173721270318493078991429441671543061150329683653388164108912112302097415601077257154060320620095735753935868540475457178966448662463029838461513367073745902812487091907829921936119263485437429039313051511876479126937298580698906550435578399458667050970044161563395497142290573766251910821967525367699451830994214674757084270655459257286573980510304164288601189135106629577823628751677795456152017749508283227844293602209873591863540401406290509757735649684713608319132660066903823295240636318833563432876798790469225772861431545204582729158561535917558023973262000751683577084948245507059841096794057024945024268519509498552889784994247093438895648538657183429050547441503266429926848518547647600190107337535361906792701682695994371036630927423742708508839644582834902382457154693086132808203998810588527795536211010440729248620716180401873105656752060923520907271474194379702251950950995240505397484232650556462459638230963576944740218244868961806423906178481869812280445731680842674514739268059521132861765533137127447853237637031748483761103267620012366581978733870357624421725353532224247837234252839408160707117413265709276759960746176988959231900038092460700389978018802583700443432981282983484797302072855128364467743440081524154238613128566983544423012463031334654655992386760804501012275802218957924888208774816258889932182180048491660704181587189748933780000861321637388063851025700671203805109525249250935658236104846723305096488330318048055803357601168147873417821873028855558452371521018112194622977043987418751966160729691333762819558840926166816455565227803067020664935161038663560439485634169572824162984988505202807349790686291443258757987242376303308422371827224054971875942400085195809078991570620953147227183292013976000089129364596513526692223323477769816923316520804855708373508805827513013153964221610568567876532595787543028875026617446393430872695235696809475887925223223492139534936195962177410266041738037044553001443813183677342415088356935729378367429789298874844426514615514583146572883051570519677844776978945872026309890486342690320309934733586939056804125920987211915020219007155932995395659371964136179927568871030693143955473250023284770046750987615247871715687968242915271552177679842180758270935238068917056662238430193420556334473300082553463235415624699850136307311505091254889037417199557115507809119627384781365845592844577730932413167359935134222914329652369013721857855068252803959566077106824790314955170478675302369191730413266992192625313147978335505815600385496075273443596788589349655235216356558742468313513892544247730757045504063281293885086938438147796515868722071269934591301052561682420924592113411503277100256257768333907671727154860875814127473877673312009676475491276655356652341020150671944990666181716149165117914304843987544828136039600216913415730612142779239903035447259463543447891009384355907451454704315289890701925142883273535756058034022615699990660693728432478431767869208607894931429400225119189559786915602794201624890931591376530033510479068662544527488546340199800567753176083445399600820641459606769703526885619673590798065941849004764523896931943848650252108493645595657890321401934117007551282162075842986217719474326422395565980304110523783602828014894756090434225639260243932221320130921884405755504591041130872906278465824873897204763930172127602585239410298954733894731005852731742882771885175642579187049946197072954361861929441208134367790471803011949746922968006759478240458332378585608404883110533362560191315907089494584662092535835879900154632557621233268726892052840817406567422441707848574635992397274076354559790568362940359988503323337460908416712305650558169192721162873452161073175924397192772535779390520518853472573657803072710499952423504404380867148237690199011326737340047336111519602918868321362103789390937793133784731731470205984431914972599343698875651217076800847390175916414304543930613539625451992026776780094743269990368456618870440059327056882917861033257434110362685049938867569829800960893834291168371266651175388438720194394574416532181203934828523520135517600329852966612030744408274785939389808257930509112259162708961973528205252842114051508545373342619378935186251546907914873517194854589658974164850824210052091571776686137030248435135502098602101172728153846028009373441592797281739987750229993253173281511361366795747896055629749003504355042952422112748716864926481119976277345923453071024492010062549275609375966164331302915696579551239136803002135766628394221695363075875168437263274007335964515889768490193629826287353374894301267226442925373915772722523339160397382174089886510778065693442324557524954078302558982820256282881329550306872965589135765474231466382649613226708138274074796683526891223241866788570364064038870481181881196782588087352917602428131913041194039337973999116962944531842188123770163309567647905641345106030793618856764447256685886884516698915658275509960126562394927422435311072023673462642850240065822705474399335565054027875834176455296343043625307091827427686927263618517112499975861457966700181224607195057734826456460891820499858993202833518642640562968638932666056898534566839576986642417757712570275122580710219680878180182048274676759879596549455633593295455050014034607829359190050434695977690443912287834635032833334584451075520848039548917637275852693817883105793528749614041658117957538824140497567341063224606175852950871327535332099935260008205868826458949999301357173612512405118619559108600910993704134260841975159389531834598897127820929849195243586937131667818777392742418869389664244617667130643673975304223173349743844088925205964842969261293351232539960172794347420379095562181347678373674715398763505944452043816003623218802471109111607573423127243213503343229213882212675800277102543673882114505207745165081935673911300271253353011125594766660257870686100365755992528417865707539373003701950738076171979640520400585055435668566882559704196302239891857381297186656796717435868445686055870846667275690906929791556863026815169474568486810606092786055756266284497279480073621776753805153378687435886005515852968097402869192814249484844340332711970729816068683622108173487736541070902602213888872972025721251803285993183705256000178549783852646290918699533810618792248423832119607930151129540797138268960760290578912807903836362176382846102061272100845731732749154596778236741913627902949076074779833188561421908942410777696458531679273657965951792169090622239325624144986679285930488611184594514429065544196473460993328558969356471921603243592084049316372422485081374861473960872863045971756478464983749773680207936398742337380974358774369791761681947643607230682563837347031383304463211148368532915322622947946387045186676662909542575327774047038233382352605179379443905409661143617521174555777899741468851188469457666862577381609850381760017629386261801666806862686748502341359587714914262381147226796682477100934499644916274749867069299514559715103835396153768282481981717460525898512556284287318379097792216306014778887165485701646502153393436468333996672057545843046853151807086788003771600088854610391591748577023253692294391717788801071418981801739453436433696453410294549644966478536584424704576586120440808840394079554949938858756633815125246528880590012059046511906088133801198617259512376294361373098396442793418373316107905776979113031843645226049329451397992090652055342696235616121376311781626424620430185365762583831430040274076642067624860717600389073559485829201017685447944580053581720248877902356771651166276436539945757563577930674982847206589861620841948790971007813479655440307151953766263085783919267617039937579645203383413120904872086272076940994816413684595204563111882949936219004240772679154122116118063515251173908354191192690996592305331771438325756005854476123976690597475742553548240737073950278476929181855145624336439559867183957516615256328326822489035297678044142410327137798906572804827885061606231913200178859364738884651297456682767900005631830426726010034606624728639387490525220181356296754053618318451365981556632002357890998705745261408138937162606614313511923268023419596324151318517923304119414309945301454539530167126599524475768300635918352184432994190937689997237558118724003474197294518483922592993094495699770271131402911369636316466404949154704434931245124069535880240473271235966108853853828970229192462315697462769095157139809848045200450723172228112846068828226886312621986477662215915258981686303338550796599670042072783213665171042738564387581364162144169638857481803042233521596114529909304326884556018925716424248989736159384853219403201971252502049558713256320088919049065929565755548619662609414118755104081800954997064822033319528156196760135273653000381298782664646891296281391827852399016023704947688775023060802072218916611613962577625426600193196495298073530751468505288273881935189795728620478771534516549171435158241338316357737575379143825733026084333894882776528024282956601485501688423383687703998931637318973396318527434831089079889503700120268932560499107865959103312761695808978123163065569474590652841955035920378425834165992257723376366417628564901901958450098948783942868239993381029399415653863984313291774105093336178116858423793731899896237786216772350126004349768860562850905836218285594651849015311438989098953755933200785467331766312477174710871952208004594047833476698353257268946070486860292734931356808461462771816284810160922061499245454222355874962413261859231974671016994154980059547416924662447108287859391739964760596531003250870453814612449201036808972685685209860320065979466086986573250707635707554463163440970078755947986646469608319898595888334835062002990584812619468190174746260368943214348350862906483678238261896259747644672459080283527405271885723150815924323801594630086544427597550933335684583842857439429737598356755600917012543907276479036563689872328404512568535885317676398725475968082875640290281402452052885328082370805822984691582405150811658274376108654828449168315206388083928264477247432939248037617476224467992308209808097842355225962212447946164316102860117577375824125338438531644134812000791924178663183149363642738394622484354368187104904198288503396319200207837887935213963150435551295646445750931298478926295384593707889717272169184340699930762270474933504825678731487415632530828972580694555178218380487285975383306068937625052356253281016810519525523711669343467055267857364947222129547180534659424749259244070596883453756341274759230387751876445075406716736931146045304691911006222518364727786827491240239643972561812087629798530459308224922918747638936993485617016663448979943171144446348896862849626105498221720544020340134585499204041246292451597981905009211966649608620234263435335554143264661630646950660502363210489416113090271078579192494553551941801743298686643087868592380697498873804036892440182555555468045803230597372073111173817760188122096923220738218631389985127054450882062017306802014792375507863248900441238950330420977031477621630490419314095935566018567318446706865782328164708486513501380994253940798055983337084496323251241927643391469352567645892297411995804974667244531698440415531057598040987542997211812319324702341371595806082151741328253433972930773867399578192749005426542406418907837245189726436980095367287679881712105921750145507999749460311593148676043535599943645838365575757714167567750271909855622027873721385383635444574010146650894075252413027484144381900620451366438728271817688413920773924297125158193598732667311472989899979539791666143508245835494397247266605070453150340375482407606530037038253199292515733065665926976129808009548105310689568155966706643916584727235797154336180200502125895451866549445664886412078125317713302315094667776394744016936790993023697325747559386839363322961244827513883932069348823419672176075589525557450008569745315373132343598404659665088264499638953821439345588594979072088686262211435684260797351076795934873135746053184606691199185524134151476408629511546109172151067946161842053838506140485964507862352438686052420702995454092675577014569646512342661842169806275257122367591328796268751354354511707185250354501882331109990443462959315219027101387288679800172138476340599480581969838610914967165307743483344366864389412364159282071679366820141512231461872912814659811902820305872900351876025211285584926657871701053492656277994271808698243835448703186462941300851382681993393675761125747319016298056298284656550129729362438179330901669348850437679899067356941336827350744458398644057132910467407000446673947115961918375926464354041573994746871609284786770573978680727782553482839442097908838701875379276865818850568214420124024234182773791325851822352887733966605214899504724316024071057946433248733828393322007367637225955266884934807926773109551155656884535508763114071067522952908300961847816211351129092472321366658548400816213468416812723523265997859784661880063098107377828691440023172493424428628640359968171759090721782817705078779414962615507745845778695438125642377685857101418604854832660922807643938979866076212178521238883800533252562446576305287162179992181053200037760878413962217901190326581809363964600288389645930119095356644950087569414106139800953105155817390630715816169382336466204643061809924863020042655567751000467448158017329649860625767982206164445067311105402606853315048879760597219323837027660989280290125302654163959788775956485075667059905339638518339518992783821741592231169697886870542418029073991508985092061729644343357180158973265741772879560215846005045992873186626997861702327184230333290305666978319791767287511750676697327668350222776743999239543206224494439399777062699898678819919018388580910826522539369015338807932010027516039094427901808188167885667090777510323103584542229666684660591413661843913426607473869266098694448424853411577209073658279151969688612690751403597197725559553930954067553224230356734969967611824999483365268426824858806147390459696043087824477699748151071120567495333952491062047304652386180188955455034193569999928730514077838826187603253680041640897404547467138889896727851510344013147283302065298241534521692963699368483179116291063060077813005309760033571485032717398157672953858900900402453948678904145434586232845598444839424400252454967140833201344266264062638382935683371610370134090219334076670965215552202947214100026845657098649736058363808496610536424046434601810664781848241636554029824998609883506613825304034017494865203067556970482993213650196778890312495873854854226817381935076266100436140797851998028838586870948725569015611522536088764576631093015013047065896482242032188881614720012755518333789073770112850659440434097542744772995414007390920483324566727329793543721979323721902912120004458072351855850054962223653917999361901356550648037887847870357505037878044713322639517641043721594888142004214009455969095129953697713329042485560282301404332065509974049391313968926052851568566382809552889951604210239250424308350892284310005040832096412126557544762158541402455405255038723158599930351373675847036225395385765864586242738843915801433936412217508518544518760756608771096823509367766295434176628777594396216325029071490206095265654938332288703527298158081344056700743234632821328791589548336143545812281971752397776274722637831865884873319074539155783247535503677867641733658568910739218719144442224708644444782351093911447224663723967758945835409054857397255995549035969442958506515831089471552161582712989123705829764469634014888256580638867603534087201202071718172103851055795491893359757150880352987478973014474129634036604782679016025016611819202909866571115450088889543631240614652643179063357765472933341885690646072253707634070413764816871572042967985331552704681866843760788376116543121564264341618738947332504341008003368876905811489366079799604816419495943814546869394274266359948955116496654128524845306357833202712137721787691034263510827943281616151410274577145224570472966813231075838332167806996648829443593502971451786863827634516530488529270085871696754906890172508591663407804499975374948136495210638141252829939258001967612345959556822060153646414216563963890669363514268218990403053007034694900441941025860821053962794355406248461509595466199361714805616249703934476493022633224217561003510031338584112476129910000263131853571268376769751196417097615303620319520462098295578328378628010025910633173517932542078775967070959266066341570869194445025863723950127280455626154929797617354546798604095558568008263712477087309257686261176222910102312854801564040567640395644970634772011968110884582195831910159586119451898652540085272554783405385418857835869740871307197666848902888510878552599957915184634989419907264434247447183204464688818172490709342475405616246103962270002008962642779332219921694081764224031994232201878776553728003284065437776714490688565692283319570339010216786880231908720000663702524587371727265754952809425949688527997980424902172878906847824810453118536271766113759521317498354546963150620433055096687249055039720537026746867891741839653555249184611392157637775614716165081337977556065790969634184791489991676287966999117814344537781044832439762459031203574787557215396988025654845185068247466717650203100953490440811340156545756478947112784712516558813431029367701346596292844720575909147738188644840403239070373664860151113062957683289574090472837755247308462553398525713340687944109120488026433638848440947269638726603196773443814015301765371644863458840410536814627785913754043512318653008793018883475393433751853122034375836940864014471284537336549113599750607678381464891534629268734633964961749551966128693432926491439838594455526547682631387913417866317068502934997876513437673837385703403632768106413881940931838948782365940722050625574903646431208504976038970064215175317098905664495845875435771403027373505960896294923135272086630482046364957974018819774322493250507042749042509087141618279212751189370048199714513911535960408961408412293296780966837422172467446869245662380215890339008456284299069409569392611723898878613567220256529721520544257577687830348363403921332737507185738413633109167887093590508318823618673373253810125561157038495493234462478976178092415281036476062611265125033177668049328667222390400039302495078206181664769790608808078218398682324743782885107611510303028618867946854404437663079976618620710673702923935072858534494635099801930084094498245009725918826617706283776927422925432064800596299818389390919814792889769438982554798664673809483703831777361908241408954627796961428687347410663176462844481718252799682734759982257042836946690013809404284537791059969268024979023321046602064547131379294271925484606116527342139861657079992687906311397318766611442288920918825455613065422891297459157454038050947075584146090811047445333821321781506168857013560831272592043379946534940238776014860706075786822120385740949524527839335288589093787409528942444081245937608191328879192919519801887704966969821270023924356052545380625317275828339565893798283023124450786963201741511505540165066765472940905739231908122010796393090496163911200335476347135667178202280823144665889636969833418656175372966315501592640108743674371729280422586290190228245012872290429938154134890291576203103303007212018655937773083590933706274884673216173204458021395124904619332761507485826021393845896228442672743580738256836510241367065336233991744719175129483986172580361604312538351832981983635034047583238630780177993613981435196032849507464718871117372247141516629082121234813675858352860819412554950884263442222578303523351627967948270010340095445555655367328855315711918876447610565373660100147749022026662608119474349858721558259500055240125093431210177429094158916949468081122628298765719060205704623721769860546434898765365323749791176462400584516080463014801837941326276665338853332904901433971292489953130479890823766279072811878839181561322593902065326982896750656692011727315641999103020096882166242575105222806055307165924139925081155378206568923707106303887008218862436602340900767403543131040198913680854914855035079842804108239433393784324796972407268050993199437330548481203811391624291250671167415777324064481798036847511965005475188118615192676210690881447157259061993021977276930018979429211283156787267617725599737256281904029803977505091864379870796445424985725064540345588337135127356891170954597493986521969901598045862489067871641769001109684350047961649961421242807700555941705550921561311782398863837980367981897613065437689698353106259735828824693506923480120183783071519383615139073767320440280408685297093192113516021033944113875297587432352122386943093587492170884244703946184361048775306888657284189682641930628863558411104615052754222996349401459110350493929224563164724199058882426504804338272918068337653060566005794545845993301089891172147600006868595400697679013844549433131251656034846726615402275518505195060691959017914340172670680661012749335836406875845897785347204107804972914752338556070280877753449432319660718629955177789206393366792425843041505747836263326087085807754500464020248765626233092600643721155090202087792544499386035532328160284830614736576634606964780867107777623280432268608925710278804364696726192869494828825843854491640727491163048760404398061568139065640033007377440810223923771374552489626933526895196547145635174695553109460550296751993998799994221771797652538435842579941779297398432017030622868480401121336089541864726649204961890653316970989669249147759286331063352831945659807144663888498064492627006735683424675012340946033419785087459398501880438677818665784946235906736625667639637801429000695235308557063591005254370207995740103985501690789620547042546854574047579612548491972912289309434716312332543932933151245189834736923207256643319592368216850277894021947029938194330094388594541014649531160874753598487396287812088065382648475325747672369640114504268414806995655345457900592061289115125370047968777987406753154635701700709045469872673483466417360200117358812743614570300840020814436216891255067684187443275523452908697026633917666816699259672832868382743394520316861971595219702853375638215506800839680707488699517501496881689406497081528128177876875279493794234929350903203800277551810801669832180686677755457326045749989048885658961946729116317860062241349915748178468802398859888757511060600401830875735089869621802027874944832899352729485700161737703177574159810623879829906998020226222502396984000382927592480343963746308865422381304475284113170256560991341738676441768514407053370572383647409721456718869484466613246071721730136049131219891387874951204539381455196166870186010731260048388573963287489333437685629642835879259317798561788264448769313981949082115603973387512186918433176517925400870508450095937950084216943854412975042124557835355770445328403971298525825914509420159164313966084210209072800634313264827977423067703952909107216540200293049000402362281158886116263048846180730716872379506164842808214060754563312169717833054636778363991850432878374341994117575069002845308111233087088234430406616115105768976483141511210989596350439514194971408029841266248877279382699862823282653875661927925101692565375636800865937274477729882743372575798007584672977813996570005207763905102397678551947410021543300686016532888641856364877563529180390345448305210337552679973736743178930800659381820531797789330737154411535863167160077434370189673090114053531204789994068237894426186709603032042416542489086390781457821541925126091952483255840101536761442346935955599537780046077362532541670858969281659201271288992326031526267630390676690414732930854049559731676696614422291610674645889226594359181987622903660793319970210814385325601478238981218783959081483714489275656224982399778317075137254771024605416382813938119458765675615027790948919925508781593808868714408731601752926229399252257003030473260208569073926490741121175296446200338992730640135953278992194609737699662340162293474870884308907534183272405273869947629662062019791157222913482165522990149417262639394624034692286316762947719109107440966055675831974656390516169098220345078347802535237102474281585228504287937070883776738425949638372324201835332605860169268232513624295783960064096438625171654257874550516501529636510387521088942038773364751464173780921605263567119247446073547872698482285224591145457531240810757163703348681222424111468062784734881511268881539091399420230999122966069435057118216375259398734932894456276937224566262121046318445496500701762490841934407020580922309227532490719830573668689411430697220658108363409852911614284938833072363630526525708728608936783497013511574267975579790249055074279636196886438111274280410908383635575883612359195148197241289471099659997637552827390477579723073835725812907686331091703622270967591634085068643064102335982251241458634699966129145408624273833143520010527684587066259382401854862297324897349150815087901521359919960706633706630442417090968582966805344343308155763279202326821539845617079543948058773058248211316451155850452681661925448440483801553537211515871653398552118082300420683688945508195549307198123434807628174943505182218763584387209805655842717490922107788021963255619447281876219355300046970196778926021283883154767535262442930944382841096541595610961163057542794345546758337232813850832756537692696688499050095160359072240196522935225568790534346568427174032863130939960573815683440518020950296579107197125141981778602590505595547147208152504040722900731032261320442109593458602492104568340578973813762382976437939217181833942370357535202181822042289902284888403224453468641419308014997470769914123320529548366774519092211940018313574820419854722650933396841899667528052247709075791209379604990675248041777815232501394918580229401838146529203822361815072811927255485800532143564464807021091311893582453213436742783568544980925580649645152869071197566081197170059786937013302557770516776790125625206657264656213570420455070467636767642504937616195134455846079867822114428209110732694658095893817976143305543687948212739760978770944372996139066583846873072745839307410924749569929531597262854433359494027452703949044143625073729144233630081650751777733721379467581894077086520584709869139042000141652868800739540262936123407218735516842749114742076957401967131170502808604237265566076418188071852075185623129957459178981563079079933495402486741494420956189977225246702477096654542393445031425863946590366662546592196318086816055975033306065645750201986952275216046852531867432799444081482338492712619348471845525406471028926786664733298855259557415730003389249852909648288269685014466764487124563095305751868905077322873907276282971657629253272228989082333166833638331478400174177562395787858337011116606823860601038215313648416530345934138446489998911902966392232401524497843743400174379800925965075430602643088844808027060609845472260679958323371937020708083102377402032030337314040325471200080648084623767993858429526011941563770049627143719523972595150076325819154839010659319088197790832332934053107222645902664470009648525372270113406775058515952023367347746431759318076110698734910510656951761494264721751571806845851056267756449902570282332179881892698298598735999495087052491028275611491054667994934068035886479917105757790918319442779025095538890275817882184964958774651687627220085062735578606393181328033752975836116187743743535075177494347579754584063318579786734287125772721325246737927959423324982232739390217320729593579978967861934790934351001414577649459286496187583152494334383569633386933973539586413843291851448703670414680688689971686483553634865538436146326324066812628307447081954402047594961921169565179983766645119139375390070129438111785159315974469313848693556856664263929873471992325216185393414901290803239032712403744747822016783203181418549647681217392781385246087864041687681323110359369379692230312957347436994801100522391165069019488265265568745053676995943795519711532337269832484094316690231165634262315827299297815517472637380560099230919982383483167175683026485318491581649919308927532009401547890307082004624304906702505176502172366189621249811627709280733768566083685523561626160768592309742780081924271822970573748571728140659446952942530996287667303950587378438139237734033903359149912061696964513831438790877408683894993079081395892821012314938702302906923512057837328477025324662620658481206689013127559383484254687784655889643011871047498117740138257019828450712804481908198342177596056567151433100867560476292579109812003798668742207800076024027812417829484159863758400111239696376552554138738928127190489230995288081791364760370217031026381410903224042246305840892411381021695921868727190742441002858436408325883508286481414278944915625349791988112523449096099107298445983646650084166168022995418509147596955415654684030244799399615959695530051354941029940237627289248691475778326979980397680726463487301954817426741321025382082172134573099498912083955104841064127418015545639471181209401908124414140705316932241828588847709434059523218287996268661980904568565385841490581671435277376156980381303906574629804620278062784775876885585337665224842987616699156521597405693365909875906473120266322656451972643006172755754451429579879444805232643647556880313938097820699137119622618386837765239761484497331462830527377750827291348704360817880310567741526352916018482343089991013678894829371090824816752347097857199050075253526186860864746236422764334374417506994637475609063583358219654291565132553255210076386324626988801367223562258569464543198602709663774424592345061047328013650661696831289837275852123066777730148863454329844145224662193546523930573312524927200520201108073624883265812394847870360990856884308136090115668797027856375904555973572367364293495812907708457577967974601384642718639225622129080996433469504397475981951144044422231603417554871614693298032065867227598144138938515308599182746579458355895128851910274060252656976999973631937091684164721495868297053305512182426802550152637559567082571340988447559505420117966485598257541123373156052873617168851114238576012582502315067593367274313553511557968152942181782291683556687480327335528631279840913080658802077328335620112856420892743618213975943103320989099740499184209393553353972556537521226777203228009842947604493044215151060818942557011208135759796503486201729589354770677835068592606779939329537372672023254991615436267021347215123883836655450127515511132641054220876281628448303578402437027817082065465049610522653671987103828155450197529499487477318200769612546824127877555041376058196924633319518568430811691521092434399434013852397952321082063907606971961537080034153091033803300037560051557212186406349776684207485642393008506670248756443133410025966841071177411290579766748745071654509961313387191608112337251577018440431126542751505224627560905121404567003543262156261930244196972064168365974298028615149550235952037873639183876657289441057632054878054552843614345879810953470780732597509761783578824470094174702108251586864514562349115178829589966141452924442137171248702386486786979854549306942629315598872928380760408865911674967604343567160173167430598830941296989358817700785632640580094658088632057297887075310009637866967676835933177120537759162140407284829445547081103490645766634614578859011974928774433033668280961011415728745546308936533756313186924481968560694440720580897071050266946743355589779047465826138048326152859720536494024737287139277897542260947727440260482316990789650124515896225715637261145714077620077059914112265781331085510111553438958236134403196328190882022933076716477552662842504969715927246955953068913122544664475976080668291983527066756005048155457220383903340582406454599057718349800414401728805650280902830646938722650991273133625465507992545796569232226018700174887576838176402889151770636127713431106815434086584910702989538374329198094156386173797399284636566867388366300798054714886579523450827788917135974202999205196693236596140289870503718715016306931282284867765791977905291559125951914681752481973005724932695770408792006474619683431980845472098193771582834587868999255876129220570740356471165769177391198068235515988867306407277291907776733875352291365490415124419993577579710845198730719478875496836625383577309365379992563241499272146230118720867089425146869971439453869302576670126686846799119033189935386383880214509872002176582139740175911506230766156915352466391303520162067854275607496774300496229212128018022395216379329657712439748500696120906829786252144204751910241475723451743115991217957373825425790750854128289409990156370221436701880182850660542162707297872433915863207446165994091510820928461655214056434135481352776553370059498274774265895597235104888772500346712893481331232334023399525591223758208058510584481355274225446633847573639136064479937196160782164621000008779680832291091596737696298361373773672121579035033364777690746082099581714565258008163150751157288945677283748465995426548215494926525841715165490482431373716126747878410854544620843910567216440426873152172606105503960072406564721401515253922950056767732259399006874328996927118831225194435085948990492935509505030377531365498514633320991798356449326652632476604478021195792036261659364327598649560347192205793573696023431183722637496511733063641008205244673932362621571891915836050158462941494277649698645265891796983584993843776833039121094176911012782512040622612525508628652780083044862530140196491008894788656947819982928785304771400476193465811870831183550294026968902568009541178586264623191479141084432264942328731193259171924393947510797684827104169149885065829033729796670767105516431940181779482028979154227618946497135773576547083394141896862899410982234147416017246506399197980865529074865994431665093679553608439612228472296798771633067160952490759489236357507646600132344828248397010519164712726062749323633889872865162629561239364106023227194143082713073076826586090928882873442367914488338821708323654601272865199919598633918404519766822746087921621905855050955238708337987853703961965693159122908989121184369136457304962833957718601457385327693108012326336439510783321721513717109965413766484277738882202472551195692557409476463641362807005744052985519861015175459695261127985091169512250818864075627077897177511442647807333510960246203214121381206631213317395330385623311926931300591319893957846050588281230265380474568503301513355975829640853965748773027932516395447202110251598278345224395377310069164181592591325555872636956199892729424730240284907430376965878041431332089518614726084753173377835169368047158232753519881006469138732487235875167532397994421504802942455062009016715860766953556144481753628612923005900847794684227506100838851712412218823217565858874101554216653511319501976394366758392256364120731294524109940195026572980897860339651319833489609739496743401033694428344228956897384811084544282335035459896389523202519880923161356203804575358654905800746992757267075870181993885127760781687216422096055959675735448009367856256315500578114321568904395085291496178288069544261441837033825175758297542604791419673641791403783147925725561484006616463587555641813995082846160013555866725537572575738270779285526891489175569127161506720628240105438707158678896966824331797784393037231366611386539752166422915763736560253443368446650140528757073857438566457044805988309905166809362560123910213457973904826741675223948368687172213641767851740378834654781432429794611991075952602695721349355876035813153641093364439031771442134696921406745463067823281955278757826986680178183943800705367366247022960331217619494350941902274882993049648541675111141101922691354795035108513134896114663195135829214642628117385320079027343496468152425258994589478623985806299426323239373899132229910990269774104917780373352141511210170535534701254334362746021990805342208879960886780937945367710562501690878919096542573380253152970537541499232177488350783644179101084979512558537910598089127334621914726935178710424354782095250820334787039715477336143634715743817153177982162398988664321970745868249842520787465226052364670177243135177344071956996812128655410526736166097827521290762102661226942168966508799359718757878926171602446500084251317808641276798672763117766489079951223711225273427152471012631644859822843758186266831014436841910762441024256194052175589992522690196864156488157686985581225111182647171060800930065729780007022196305623282722103836552834471250558740543590534029357417556012872447869770222297147282199235543700982100276772608522589016772545984694762014689741006758069427590171345952693396380912238791584292754866853441548932100566687568451882511329444732923170239728359208137181736441233451048899707310274441769160787925142350311352213665701797771927377910321754262432579360755720820576767213402796205288647007229423727736146395340935211755071046815728625844116668642973959570063743841622368013657313403434449918007595277727436046609839872965809297151108498909420630771183039185115408374648878748209675470336486328404269087000468225210665068315185019766837555232594176393112599001966926781474328745057810843249175631539234845235080211017983181258195857714778194467014036067690149638703300879280420894590040827316367975873024506419143097291837755314770557274922952660794128462795340539425695197879613601878981296261191664319538001350377766966774522065581648115742335094973238787731723522113912475246657822941001518919608077910673630929500535661250953708160618904720788603995488723736778276166276073223838057264054537153277166064413942531090720631125962819406858244475260554895933146084913187532325672756550619862064484366099874071037229635762251548031886309837669849035707463619022819486473199023222927840691484182958984785831736406740375662591717329561425798789110203484394122399107023056182928302625060662655191969159692039346755117925381127832704280495113742983851157540676979811620120590501921880179330782219846408334795075823326222219078610247961645568626316952019928412881949575174265766019701677644094504843712211967075563137993630961078822483525623659204343470918596855821500233434845558664336717615704325275692882080354911113167132840212444978821984737137541692370299470329059138434395989496529443373986009860513791941243499695594685594514734418203438402173632097118757447606544889464275953864410986272726395464555513768307056722778083551654190901777410060736743946795088907663195927020809609743817685235917965074415634698573186286061996878861281342673284962709048080152357818282801957439267411766619357651990437229431380202681729464658659913398821972123592612631246252490218122403010598834079914453778121090952257723209318744420087778812775895508399983256189435257395403636764496131494431644943802858591110389747816947364773602045439012293785159334134551788518127467925483164445916469358129414300602851060113730182466916816339080989120943749492871297028743777273433169089404064485990105481675084746830614076321636506249071200715748989364289755161818872654052656728800305065626507674397754107501042560025386827332591785161168858839565327615852968851286871787725427998900217994308685655403896029743508984677715431468989166043869593857856199594830568784222749418477891365877425609099692968728251258784908510036395251038600971600693045257253530290834905353764384451561433250826888948265303406145458044359008043919821398393470637661928531994044216473288417820670309730757568072766253437240248344989885651463217106861005865894315814727182370104791758428213085928663722521967016991493148627912052224645514049961022895591092265514961899341521234054916567115318842357233408442937153270635734564300951194875474387419917481967197149175886897304342725962630213713122298249804029693928295633472859417546531157319636126506688393985148463802054355995201201204850535706990472850682707067984118254334699172238531513106424747582868547941072874021186669949829001871960915334708929191065192913133021007857791768978757185384068377514706006922032521568394696983968618997117380237087221322053389157703835261999747238399454381330224549745109794812855659247974695960388317334859495560204368855961375280625972562700731346010123090031791562471788541262985461551101301019367829367196455005967722752729020304319587116171727905623969869742773149918900928258631499648245939849533288330379228261502422022477461721259993966725827667494928252132357580627263059538358364491470129700133069585112474790755249452332091938347489383546834789346180800480103622779469142368373150575440828647071861333829507376777934059294178598343362254554004092682692809693711821825794995883743162749300342841723797188997984788200636596296996143671532213737526009744336407044978060761920282716612662485411885793649878748505374889162149702818909102709007848534008970448573676878513547263518856014477039154870891056344434498732179630708140158483013136739817432467385713255541553300539265511243757633420640285069425430737317619304034090000224954765061990596903934806143340911228793920220401205172782292639473763569940951883544998006811260163924269169735811997657470913790998987445909892234643643599074749709472453030897385434469491889539760029560309845353991296878335020674616166824356280592932383917245298419525146482743696434481914897023220365243860249056309902356198888209147679415594024502708750167066950651046450507500846770931712830473824007252730520401876905072739012233511405939587363201094982458653982696590506037925421465852246883202867089504882876984845925343444765840303022503710085524456161836346316199475618875742916515294972633904255234803071871487134027933000966968692289771465221123807231651462104274641602869992832409212926948961279226268821990286913417364893690753435261475984226825960300778205822803880159385215614381805678111095495902047303477174823868296887119605281641602670097684634280783478820689851521198541304624469210473920699390375652417843327544336868306970475186790685469252170910324440898083371454807100659295524991920545852426207694856088475561992513748754043642603599988307740759058419206630187597568810536238727245074775942325187280633325051300243461654987891396759418446610963103803606179526825557818622886134383055263741557662662327223074800814118176777754892183696279626247301512878588526604779599419892794698547950410772546176669939765735449268129588730612907124570977477555971456047598086087560115035391601799592552043867118404947201915133222291658309873095649681989517104440430324874774573183599140912326886833366406576412210078843917504252134052484272207039946689338992225800863168716193376910277942540510708454163201126146730956178482214429997545936060468392124886829348550240175257761100629526926341517660192221203034967099484153512110306706550326436945089867470459640520267095884954983894136051758923610687152834659709043642608843857753286738559980657219547097959517587750459713241144824093670686007540643401608995532488015324675171017829015522215757617759507938728136042830600069222843970114291754114016306722186923618927881086224823658089365886743357498228864244610455318964940942204988809946292950761997123867783512511965730771575427434183813364945632783221976739114705103590513526299063344786016477683301461228626700712517479101124180641211948275991372617103717607427180315908307926764324677678174731940291292573470314858309035146866421351353679968775696307392320985932659708402600679052319583896276958942971874753513007713491240446135754225666197513405346287752536176635242032092810862106611582678279969789552083969539983505687037821638998139617990099583462179381601287583481436687987239876608676693151002700703535727358292577134902067005180609377315190014621898374341525787145060722604627187956609444730821179172611476413912899368324030499257897061111094131578941254118770067200922307532886001163100581409792526736845246288081302689403834817873223118834035093110402673919462711675854827716855824570646252504322704025268689726457489292666672030484199686960549661331301329435982464717728356528555680624495207102683940661213050971753945393931173231192337246177253240849672449235370773384462499320686715245362179408840238554554996183116377905016664055179552566713596884679389054955104359191689769106502204352564056203864104123429809332724104831891092895851282914581596634945970315472690437175406409744146995221150500865334655341897910007508979586576057359114141551098185074839611025711953454417598584072811075779204770400150000283383714857033871130034311120494803349812458879875561140459858836346702750692451333599910894151924862017242603879395643568829662573338433327936650976844222931969384679320818385219813375294769158797037482617877255715749704059048234389995879626693274252268399991260873062466337252972410340197350037064191146409100219730148750955601314945541201121590518291013072346891206841196546835497749782416566664021452879692639515425605006301061081614432400343509624603754448046851175719257865295106922415149580136684239078089275749780256162186315405926496624575920206788404020969317551253279111467164359929860496017333190601152206410091217868988785617371177965862588204964215747942268176671441812169255093727087066076619490610690350236943743768067829575108006662993190300886541162497708212776696176568804051616494811629287567668052262999156498200734431115055144268044716051796892755740784519900452409788973400367933460771581536652770828263514499948609566585517170627077683211979508383893472637570181127830284423170776285561250944720723011906913156685264415792682943387602160281404179949680483678081678878906033606457167063488347211217259092180925670237032948352963247025503