[5231611632151991815258035211622819462488852799880718304093765687521848042143121151495614872674521657560689086849413464685855302450909126376181251267816762884287551918915927098429384452721933272302445077486612154430587924977246896885000785257189683872200396445441309647990331295713633175415360109420560935096538465241403764516015948317444662815627341562321072689697413446522238933001342744698593697520750730604288716793645922574099907118088745371996044415163013253921866698852615744815934354594745308866497421226577453755957482075164522520545031159869086992935751433091504472994673878500170913527020843608437090571185184143111394133528547660780534639410742948177791462669952552982874950398707960715286327128267486004212698705694556529170905577847205309619998814129135847749529516890142518354976099549970329241881979507461728764324845914837969147408159814166354014450890255932203923110799348199290817078609040338309493380746115961644520674532126303390685243389054903208790480484599960307202333958596374474493059754374619691621854702449958244319244910050835522564532570449690680310254085100445281529850434959079987892835357541250332978828110047476163382535180891753507815122049212826468810971691681144683502138126499485875069917401986638943505495137954335062452883506754672527368616646556776293472835494392554167940113883728603663153399826032355256440932114053850045869966020845487241435260153201154738481396517814191686772776474929224245339208447004006963533239397174702172554650276047818343647271972493360558852278177539620850204876364655160865607084657649395348097653636612106939647632771324170117651191769516979054263105885832926345558051923643669264515425416070855364348753160157884997110742235045832599290193858694632700840498432138837785148568104843199014558587292835443884792018772296784936596386389908040654329991701851643599902200302727216574048474408147059724752940482597820971951365598303812831334372904374311467188635687692499259780636364874942441194672213710308592143503624660079481737850560521107119628853418081713743084199969648651136929343155965922982730267970000297931981877291914203134329288938610113522946957483114932252131946306130821612367925396010732383581115869980812868900055164369664242171086201244546364309605175297550402046904336189520116857547229078486395780806309765407024924216757266426909906441624156755086954443586281632833019777942223800188759688492533595675344209501593299940258985885904051313288650184533716627753264486871144335230863441421710570949134663807243629825260176088635651487765714867859952127893016707548633444342392146985961709472247448716817668835158580907855135651724739103308692654351769744761522685471244767396137015864614068075852026952235232254131419938560654543863262006248413542848961507498716848629776877856710815254804044862076987069427455155670452468606700700583457025984880343427700982435637413083746625984378534370293109018919359364662862857805962096832717885216997850922400328243751950953613614645517224052856517464659660830412226306412258617229618540277616681140493534064323311028470982447446412979061933068249386848513627691414483596660487268518337929174931798570867016841488895264913645903190545464727942344207631793290000766157992672736939810757701243050586517208434794109399214812536195463395425268834941503585044619970199742508431292895312856535149632844273702599659070712000964029388783594959932168673883705953088234700364135984696382567123098056230481322784449108219898053435604500659548572252822554263743696158833035042488975740677328250502424658757001127045647798868120061911138085562457502676192748131191291913158022817790189295542118943000939640898114719475776189789114141454867683140537538916157914932821075044062886323572873429359259956466510182236891635304605078468233189642236272069432283333149728723989968556299659464985209185160198661106793187571924891514052051598024419887096726639096972226648071189549963653391545977145282415167571359478186275094818729407875007906501304821864684123275436533470014054092913696144346714349795808119737996142676875207032925062545093562941348110790034633096066658184325911586531257555175554015397226677341342692405922653643643174368326156770042883736898094601064564303592642752786223649910513502698589748585028877852404836772848313665589667293801813742365504938954325355934844545224096879771604817604973794882411493009689993952858813889514482192427081117039425594749114968297839178309484508043133918615650038427234752074057978714739327565085987458937448392672372045301487849914588852126291489607475198115866537380097930241957995080631663211579002182290375073563830616906340116344848594756085318158775933751561044632613109604953147060505465837184102134695081514397293790524932651953245180703742970229815137509334677030590307731130239719418930380631268135089166832800173445146756852278155503870479723674829639818919682777865502756551935819992187904538354323908563170108325277658472344395852381755829992018978332336718709657309067262783773919456545975031903927364978825447343773170511695390427540672521215840793852068311077097134430477817197624887202903711300159301934583443590074751270481544782152173338552330937045584741874311968867301996858148436867354257444386928716667925216528923724242033527155403299806252964372246245745446220632711524973140644233236802961985859601218778725061395288047085066789036085870739137279336211893206118881659042289432945612941665420629554420250121573235481813021812882338052778536349775312215408836807755050802825093494445719152540601993532466514195291900465317607858622388769884831190626840564505868536984314853501943061575464426538541640265226134143735390049924783376328517382603128537644213008275419302122880617748598412915622293304067404759516410667929815029674532590492758550428345980009488360271375208711708667286144988433898008421670680209869013311265944964398326446823616743277164090964231908803779639513847070113640517780542143837209508721938955551587309968883978110385098897750549052456628158058485054674470323380689357009776525891152844649203275499701887024554935855684737625836775434155123510200391712851408390942620330246627847291183252681430926512318998215154586036879940042072508586478729367414312851805710417746016280923536252948674767071732745060651273654385886651223449096689481144857003358573212125343885477225109136758790186193029516193748190985276811153603165975833641950903029086335825414787557088849844228469137641444249204688089449979931167565027398310457967401042611156295485717925099769857533565737966425083409269432776612845017087990391314883380609931691711074572976502899502298428476693633722857869568325823952018030315275780081663133276547088004119811862172958199087748972306674886622532204704531173112406044984966377313248449737178055516112726906309191626542681585272418805537661910971402926542230465380358471013659726442945042966831338535041687158742640947932641085185345143504127102331878213789402338668151970802712964669204888660591001172795615500193038844137001635704916539383792111913454093621897275548667311492492051539188822992797664590207694574727785966273270041880864106691177050098349914531253506357484056503073095642585635080141384194968063511446185463486934326351819061073901682614983629942492324516139957643340378955223166896147685498633407267366024969416647355985578385816910516454607382306311836204067893782045111961904475294236803233625030002503844293705831621380561084416015031029164477006279636120490050863078724057386063955737649630525298521307862582312282987739939762594972153121335768703867050697001289633184001920710058563776016700006060434014772755809016124791089372038236197547625308406093836092894684489947520678351632413293210248597972184546085774076638674831842266937468448349093535861743500253855098484527026099886031453874901291481281497360267716619789775863606225680269023641080872186552979081090761753522770253886601523257072004080889965267664525858684786574851611673529404641386020199960014722256403127221948660108164369639737955184041176234623190122268751833374614325055626116528570562664015692433177960540479568796374553661241994713829529699241727070206617982623209720234990593167484498854149205003975193589243889106269047415099882506421340274706834356313588248814526230039518751585131480722911426022220976928423481195549206463601400267602473017293629004750450360056423610031248093079598412920501943614629323561580422447412125344894020787486509390728661783265130964472565505138053388556547323723618252231637347464539355688962043712298701818974979313906485669236125080785401894626161975952269286407122154385638410413529915403778046070571750120596757424764114957791285219556073594631756133467407278881337593047156549547779227422434189551890467430706825708623485719783290385160748779179690958757964284294091789652775236299549769381205576333731928401985346690163131115535118196266325338616161133834912521013301128611842842210817293324070197083647126451824148691126171033548116350545906959236232406499763220190321989329997984458285229706167369776491258284952748097200984569053639992273246524546173741211634648602450285405653664700094171135799754598095009114575577335835236792683588621505682392148835459211213452467673943982896156863663528946697174407417082560989625590298640076891736100774803444427118637617856555069286359150419440326750659710626689641031344448017823460583666539690981263438157334666639634123938599947247139185570849637654250527843810844637279233455521894671348747000498175351929878201726701309956337529965962586048672596655056092076105883871482654442363144380970558956937645732252285847451831141422044627218466684920145059351381603467278768396835045099309964207224416739223311592941133885162290472748769894541028496371848733927213284781754287789987927712538109786645876644148917063107288353073205379396057773928802153365501036516950301141946678950381865753706960893085162514225088287166516765442120269524272907544664726387579762395074487745242317630419416574962755399130803856739430814032775582163204533531676386303910764505580428515473666118082774005691101664806157080466689918240522008455444977434796274431665219236974664307846283463452942724702541864218575260678261396892207623816196771124320309593455870804815473287925775869381294786250721235879539203733316093677680246650757285547902842317650277112446068314029075588539304059627736685340056684777734016480670502931616612889972493231593130436700557644850054328130065515832999165430025631202133973696874967282481827714497139499866930987328185670770378229576134346926770429549210028413469806716555536459513875792634549716425461256747782795817613800384835097465721850190299684903442767660030955513824936971790507934356409057544735013129309397546112064147952351944748735204754750146134012022544380109499526990839264520418293393776117546341968975174646293393859357165397906467599681355361238148010061872007288657090945165143393074711228614504843820975205965342484011983791245830769179536407330700073471563164857057152148718086955124984369373439418379520946040781719449540477019851036075247516369891084609917036207189354963714427835780159170930153920470299508676385526999007941339061448428270481144730796086732449857770062670562652253003898031716638668350554951414789998372030309914410985021559330453859629360970561511413710004488135960320620606355645059276395558824246546657424024310480654954528151607620973208518235339384752431608999903623082896519573229381145119843484967175815499686207000555281980796982553912877007873882654190288385872533406955516229456119882680411776950555199248386353543294282895372727796556782934051406070735156371931282951006540427283613281593881097966562600535984436882028968951244151047864309070694600553538928688680608105342453139404850953391596884280263534038468657258458229596246436845327815103850370108091017028546626544344248997168879055035477003508025661013358346339859654248075920532112186653197240170350061730938752165970815000602711044301489922609853714997704849905441382386988380730134268853878090600135922685583615537329603457559039209509136452896343883357131525168170794625432612472137567580215647465601274418349583312269167330047487629393425423590222572815778290640817481501363871369978542180886805743197965615390466434756768398612090480227937424846605045648688352591973653066764043392223006910093522752614315706205095496461539757342209739347364054470474495810542734648129512303311257565714809649833481093560386859894837744484877190936883608256146921742304529326718470810785634676718363410635086735241180723331562424261610907836357730208312351161797180652648807540345800183198270102722861381246584146055524220642082096464941926895049686286649058718739878579532368001752045995917263649432100773891776289433758317129062267085988643078525474877234484464836979020458890321622856470674870519307577546439788514324352259645368175114946123989353930727324712789144244303294385737799458789623238468621685362767957645928030358867777697338314372983456055616125571934975498993331423125653990211885980624614481253441433576195440250137149744781299772962536173542209238348865944150897447813257108855626816830344915658343092849626171634809711530018225636674251310722078869487953182454097186653223129903398011377178176074073063790921345976116155033985759322341655035374097242864127711371097946749580179545593043081587471914303101754457898499912111688241463707536154196470478596334277357654379391534685758035201670684380058497072762606687660973439530881979592996061547639949121485086830070860474318895062765025315168550965251497050666428985614101393522234757952365496466692843358213893001471080406659049881293848584064293175038054740359186199373937586437949108773346882379137307588581709797038437175099519225001905022454405848095138551165820339881752788654648288129404999055214485002370605632744405648592227562745866928970297884305018128176187673666403088831316784674311293612163058877749252286441425848257745544594192758542482597678709424243554818622413269399273199055122942520300036636775992561543898170396742292270699896719235959079999987319038583140785300264625744015923958253677452151895080002706008241844095416111123841232740475688020839169703585538588889274131116753227940504928665327519131865773102424894929268936451315179531515407319610998242784109749194020818114487249569681688520278553936640745934405831651076629551700630701952320662741488462378683422026890028640084818975216737595825527018162202249105282709008672405177095984066948261834634439935061267391615272398392421989485401917166817235510920094579209626132016790258306731351571816640122859462187685758888250799507019296262750255842887735253352767912991562377111207091426089154041781442835896940732723110427188390757210099073830571714290500347949977518256555752406796273751742438038755553970033988712113996522259587074562681887998480261149922535573729950377116805879058789690763283523998202434527679156650168286146827601198946823154563166376735156296713163374820237514387875952377400787654089741739124142188127708706026708859838689963831832756695033216793211218600072107591779572942119110149680558476001366425391229081722255741479251897081061655250512333067692560975280441945542435786711384393726753919021982610396461078491042187670229659666566119476156174384625064634187570914049383687897800614378987180939995249328802219754793691797802140906373188627274954054163038533495103261425555969926285816577111600040004020495775290414743778305628864747831268598084934913660543649478216868140928054778289783975861333658663377396218346884756410916355739054614803659418035890490586867045813535164454475563540080648526069530934011696108360997746874464162725005369399183597510127477562787107376155833203736248327113716275916421310744275397599833684067169893994594805415831049469926500384127977472628095587201090652372095795177023163317243695079371872469641729232067998567921065040039611751284251714503909782467693520857535660890325898964774293761746940534838882904457934447269719565442335561547808819186130003519234307353331214792222545554602393912195193039252126338301714041520819550062028540173400599541477425333860589877845805614111435767991851149406472565186204032128587312731875348762495232263650783756444291850316445656597327573682762280197373308783412444072307134741929172073269171259214223096542273947149663859190064032993095924166854195076569767911351624843752272274549253789770337864075737460046135243487357815306841400981873437711519415007117036960514876444152710448881972358360306748555534475115920183850235788780928686570980235275893421024964418455740958893218053743535368937746136225242817890436929434652963802789410852161527856690755055762632369010855349787970778097856306384783980515254033677648670037323992210308821084233701995850860173730528637745885438602199300191041140156589744989195736056069935666871812269768868004669585228065021293708341426418657967238469901364761435770297584746390205693629798966636792707605840728762761509894797119390208563943144782441745596310686628595603233018131238963027732462579177099725137713634072608130205750544699364682355554797754404316429316543417980743645153994274964182902615383265712026070690839748242231153469067941923977100182985793657259691881304330328746060691150389017322705110511481221373815225535053753461290911554792339231131107046837688885259394612397283328129471746273551991082552856044009963529883800035763424145820619942842682450891033610736561025170729071949768673727224035411050919678246006340306868117760087545838472136368186262220142289546248343253958969645865097707941070755536883022942398281936124387362281693051867144558298605403110072283545753887762027632228489191379604249415475605190322279083015960542792729873587591357376537098897711028782043623193982463156341314358631175706058922082791472187782970596228241834596796889120236962667892097516994733788481856356688656644672341507760824655957994961708006454595097583140915195777033221663375623492813368348892420981454115354825886814160376569139683007105767932080423442572443994477027014710709748968090719180605091618615370193678279274399351293613625538195984384163267966705024922030040594867980110830561504001096886155495764936453957206522185894024849857397440352868998500363404799815676125430367106583181884033303508389293606812073394091749489760655928493454686781496720335646954269391360809277055285584481839495985336903356543745624903370991686952867601370904513953512277168015255379609508560396024048350296044199515719179158070982034947407634390351264355478536836595488076511981502926438629999956227488062255211051289548898712465498036032434441179235612734338094532356965965039894286520895245896472479527475445637794583759631042203029812729335962804934395399021117279091259065524895745065147539249017735181666338437903203556360362903209210483422849999518133655906707601585371653492938357235995912176037711611815909284323159182055891116895897848665456654205672790609778102693771874641175193094398581761873486405768541301548701785663939990173336692554983938197847156251563300763772542480623333325597153261430292030552936803901137371060076255951572247538618025320747836647324585583437312459338876338347124622898198486334567078125725589045427514216744970826751018455655523431590382701224378511372341494592521214186513660995258492565522083269892867099164487688863799153695130189366049972651069209914223577637465232280227720198751918217200109357379915187742818576509554240478108507863433925963990382484300707925085160328094345295420670260707823673992756157286408043116094795783525275536577840124283053999051912822691970383365531657719375903060091301952907468667887403831699068722901649330986879208833418693610611797284196575595351919043003795240143977199203226142153527135603091951434343706059596414442782252742158095114919319555282162701784522685225301568921630145488785798783567153189842855629126692616853318381806995290529702393915867122432500146347023817592356274788683905008139093171586019727965276182966795914300148595017025506745189472148572209900947184533120194903608617411001404300850992283731769943435915703681435082543965704682728806556541108982264245930392300517057449613936590703982786189236827186671812533051596930095719650797979941347726389809121045317708171703679806117480913446314342049490015724802010360536336298664616093565229181966317384372229360752049951744009141660813467053697375251108910889433093085017146461546397257597711583263589185695019935578479788923243542839281371518508391376371376908012709479050897217167880211730868814713994893053982054465086649489263588683227642533933605868287946354912381526645876613774697048657605476730229288743674856199106839387062737254172950774049854031510182683696441376360657374175754142584941864492457581313021869619156647504517986968261392070059983129590439800434629655944403887886520952532945485099178716763998698927012577739835962518692423899744264951818146018112588680146271533213676628473996011836018035234890172091849836007638044216441161485762080675667853545454314201505638670336359722472456558563091346257304802317992149469641072230663701847098693454949705948957162700828928967862201950360085796194663131707805366135362773014446449620803200297212561155466771242804788017002663476377164911556561940713885507442530319826576528217823583625700690474184948560176604626539270606883761506228957167612400663640214702942557551203560622790989212374470572462125771550625878612223164686452474481025253498723758927581743785566901303712584153215222560482202499475270284902925584514058941716097075521165524330340021207434052081239981158508288000726027199390490486484677074486606104828312982429148265460372465191231832364392756986984528439256339617327569708116162112263845876516121563099455384048453802278103110664881552767270519344381934128069965821823296943293219279677734728582711958585069970518187373363578573355735531783186725894640893674070680176037151158338132080842931305934158817991340941269765118426582017912780394490904900812906974506374275932284185421628928884193710895556035824196877203373304752948538041916520479260940371335232900053778958696154599254241833695397576499801613782818002384711677561122346905728630159527258417445278101151159566541685020422800642312855036312106255541376416026723657435041802474682434508173429614276374557720777559406994765496892024894390511745142506221328019080675201022227209261114333188847454914082771029052768962346795707659112710472166527122565337251095335311064962918847396552158884362051671359206634006750395319371358104433083215453819172467469411926425039535621832664664126779494145680331269794453364304953967083656849499930737214881508813014207196095274526056296464974213411648899613310653645292842346470957530993702645110875805004789876700900859430610089099968150625074447196340397991519242327842110115026002888280831502852558604478968639046161402071200422012806719938725010483598764569412807878940320814557231201121848829414646423092475147467527412558002009456753211717157857234597435512307932067248132578362782615918683858213390327090469081252336323615688276669039032420098748670502219683357625881444197685380245171937512348856208653574419769325062333872656576920248584259520463213172906309567874111928503460670362032697627036295377163297842963835402775734191024692190946179985862954662591169691432569900518874029108590351195323443465606545320998123210965412714239918735362089896413050307491900561084075001175959915892227421663758757938734799142328709748488665385099812380793395311107781664018048692892225503547178290512166105573152264705854330902126467015887712190716677608549932854636603427630859917117397880836587107887023307953573826434536137355097284489836672169617323630263546439568977273509755437957439446268050805662156532672793810342532811388006254353279600887426287509275581623808336605837784264471629628994767446934252018777593794179414893382004884849532605413582953856907259225524682420909925154884626294760808098593993432227987610660489376636393501558779338346201230419875869654718976392100622628774998821358180427926344594368913706427206564472580704328460390792591004747028748070180052995733852390038486234851581201407874113221577954588857714830626636684062396981042286920128269607299558180827055913502453675165806561727926008078439327343510192664382693058918893054333063733596515020713323061347745594585571058400516924095856568635633600511577719210815263096694172236959351464104112173201776016228139117099324035160212899538520155487270787444847075430579075498321776658387272343806287001005255144339564552586865007750276519349284675560204103077726778806804439202035594226103611325820467878048590019331468819452724982851128340686079228392249922876767982175414002728754262986932383793699991775012168789100019104775455757371879401322506734787457826407757900565191588431251406935063745208474741488358149670581360049814385276638468609059442629081007838947824812699579111034862260078108165281706423279168314754022384176624784056288160140539213675148693871997161228427176234258160811250691129300544341782249223233633958632078421150198608384292662337554039726261067499526846058070340120975722867253448975736361816536100516047126704742271242293831825694767981854092008331368559662309181397715600939143508160380350860836699389019570266195515077124992066533431812469585518751405864978928602595253223187384756023994048004653891453803049090668886550758632592195143993204754475714753958487137946760522910450719393321349711707938426779765010753997605166448715796002283532413817170567974181084974987720303156018002830249305195835522711176554345525959041348064035963914991660579696739604881656020758484285001645462183538530801792463353758761048788799232147621614060537399534851667509745721723287065169977072902658664055660232094506878480433588629382840200819004908081783955836717809010739399331412476845615539399233160899620221118653292238379873984977565174314396042800643688936425883307292351440062068148615240313966063095890394802626764631825963506947940631165409389498041187121036722791348552199266901905093571189305292332356000366398352018451904173393981902451066855527694419287286321873286317944599027713353683929260549254677521667249950678845947056113872616090403243970615840356259174254713572644493516547666383620623592832360873647614777138578898899898654573832244418563478136776715038162051064340322105727952664844448563570561053608645162937919581063877121882225437705309021818829279306704972663172753397430546728749045698463299284882417429040149017270301851956567444300896850426133814068177244072487625819134469624885650870596283093240037300795735615081257155958104063480666980463000411970414609475376855065679348887616708826271866680075503256403038407638774933096880433886482409883368076296006848809817855134775835494732830052071736434932248121510776875752687507739296170790898169979791117974591549432766539710926732776666065857203729814266493931085549536423919007074942579444558947624635922437926241673929756607862881074919983069729693837404010786150652654405856658043680231448478788238680690448406558629265346606204372702042391164659265287999215954432767588495977521346545015616227372597978086723837717141693990934277917196399009922598855321512176551133682941363722360863220619942880254360034802761924098425348970810513382351517571707526660185695396556300740168259505146459111832344960832735248595450118280296082944538925413624912695045447081222551286371663759820472164265236785537265006973315421023682383905821615331867461530046484213643390593537751413007874584118707211872562537410581739206088414158183908356073137182811129377914074941310807583494411601568402206033621717317758943546558435435253547376772664102588350202447430562777024274742413295273572600377908565453067910567918963035386781765827737837776399857017830090889832021126263431771307735482827041862173965500333612424978832519895391629879724807067453594783277020612410916467126264969141597577609105887740763073433946788382784329357819510120637690207184070698105214485316614446379708141700467735341038640988750547874664639429756503533282460489633304921216510301988032422830758138622527346215156199889987045205914130957496170969439424222699278878603028805908675182395282811795528607037452447000683945451362353831780945562421132074367425007681130414692152068515425898042512396432186829047926993197470801732760466280208732213710309862116508184063383745456256300203353252780613869788414614387036528901567839028034440829250707917755093636114586970178465311126590737082950088732793864429052108490937495471433665757898270085994911673402492891422606650510550019696429072352635930774827490445247742195425755291348814820963317454556106148288027029698355448517905090446033688322812925582618762301897583100207859416396536000988097818497676686275779881732845474918593612465122685872968931057103896169299939039638147913115443873767430693989439302599515051838893244099358027093556327987712607204304391045435797419440779234258281417613202924349772935531818798011704116673845011664994128671999907201805230039134021261658406183208431201642297479417385371020917789827692881823311707919809185908198340038913454457861716208374787299110598985310133715759995520230824941087094904821802186018154056449081306723023622976438921426376632443581998982978504332336003113738790329810351902689462586270994597203059384624058954865098015986393719865385791007463880555015472532093177119445235011413134465647931968363160654219414957314658065071391773017255490421199210264095250072669281660393535458989340157668530689630666567676428864172876433045779102785915293686201701499492922345991224625684328854349832597778670654816986495028846873853804016026949094143935347923738128582706948717620419873451480356586839004547983142973572271116798967935931456807623061075740104432655372642669022408608066761914706755448398039804116662455628893301665333810634588037110866842973912158909125751000906343888510029768403367946536537277551471811237504936583178042113397437837684046667642953577514519623650597268616290555260406260032241782668978368567821571641533285236888986637362528797029831782174119492480930094808245968092904173210781802974481470378162460586867161474714677948200383367586172147986448825216180067784998115912218080474756641173413969084310378230241061883928955303858610282571504004207084527082571649230362223597728241613564532424946169532997713303997991625714303929337371225251998087815979271217284341892078822362951967074199727122867210342436850313693619297297832299564324834099157022306932130972843158528742118530510689060024717896081284214984582357218821775560663926875536611356883270273739280638906232544269304275815034859452257499642733373559068653769851122830853121614350436454664108471027124954704413329388184445641907010106469212125391985378245743394272352807900234574139167461896585217208488538070713493486483218252260836568413063898592569974100988304188061319822966123056845199323900722193484329194796057335559641300266373108406376863010154376127066176672713457812193563077687243718980515400779944007141124673779202041817659346032666565021977145323875276484362676552135515925739457878056094103476828393759363490924226709537910982533133778535998749249283485292427155067707936261270328326627473550612321301294719533008865874723796625608462985807033021380783083441231524803887834003042143371067490624132846987373696291246419018424200074128351569516041553946460343650647758705820082137746153698428265216425729879663772023011881652209215520478141376889852834370613346209054321730078092208977485528789249257720788778035228829858033184836300988322460758898227683554427075595702027721536839496164092791399555485228758459394307974183246621273172383539021288996349098071478480628912472800825023935058487474081392051530149439682399864960498085914774292565363817158643388735478162622392759141520188141664154023636855863928094177740657915583915766776591998808063167373189208672747710967585868001246794066422977396876491801108002481838627831902114865205948049335131152251058536736563979893987669854701803674203408089341052173720984615092908077710675142520566446102466282199538505735148081338401170688981419041418664852981630515774168302016325837872036851030062845069014896173418992644442821557279605658254106770556254886852628227385157083121580353260865207092838107326028470950031796212649676409801009395268301504877381792257258270676444412765640457971507683745026665044834203320483619166321655814872909578237288361872956290408334958040997535427643695312628597970763896998423019535619461067813106440514773502755043117461458924510935259513349872562735683077255320885522879053008632900204061347932804917801856319502396828664405817383324973386000060457314876079886828731531651314307404965883142659949546530544621444952726779515120734182038976781899974134186983708039277176577832689033189545804246703849879580601552893833727814226445742159062952449492676404493846743063509008251719507896629448832268116806582606530332812322124021189314519484925762403744428897356037082945285112377875501566799867563265013554794260130660969543581020518803055545707462017153922839181745675216674798025964034862165898715855370232422248077917793643119160794843271678593880617071590192661036004693176495952500197358259109462952085506800169589198545891797988211801431180589822899294760221633353844431040914528803181848400920551871619749005874666777365736998567956562597907627606200473403781574324712225136337402883295812525281805189080610489612213679225793257041940458763013161960889588719317332758105583985627319180725899209303789746915038085698479029811688399190349123855731374132547081897531480991162546120806704633616018852635308703796757093694244733950198681355390764263945384953228978706400411522886612059144607975716566659574935707575611476715474029161483836288962386992641880369098162711655179279230513364624421900108756429506448050970738482313971301456236192368806576964058296579899398011026295982185479265040225179050558542842827775481407170685278709503012192971855875941513529307196360441929429205659169095268724372486461306247013160500761061423907188341155305322680160387904438248555691504762410159006736157660811732400384332445864208637890402428072877198522761477347869971901018241456420134452222322507273670397814398891510530201887441708831337827535102992634677608459645486436502605629550429254646548386870235833072405123618711921645918040634713044289659486974988231841062296524206280349034882524735620811577746281943835804916675920187663561762870962737919619574903395868334649141271909836562189766995330203861153238478252366136190366496530735550883823276410932176820945265830507623580750840154510230669254867076917079864621981383331865861371761198840307006566792754515238171611101064999932876937782874146727065126706553288859217227069962253471775623133282838505498246248428268170311355051902148780366511857724635677159601856148540774209906637231340669151280631350138211930134068099169155153726711684949403417125760377049167988123661007368263183364745454062889639775628524406639664522678215241989650368750948544563595890991616257449167560363056254133496339578640216060780395460421982889500848180272027338734845065707250145679972525477478904294394042053261737331391264049120406694552203607851757147368490320933537519540293251388268555445378236511214531636463461963074622488602066409521287984282426838941816319202077086734014414617353304857387892538094642071527111981178324184949211877041181444605030421990839411071545900678261431425852834370431432455849128239018654912618295256904339676398455713689688193892284479487104747711745506354207995664459605257533793906018063803619680325580727420057596214489231897179846248245375076601090739518100761734814660890248201007728710159487970556630248399191581710099568130956763839787112792934842671461752830151187514063034640430915260744912501580600594116505783800346624366597271567775329041429428988885292335140289389584231077442849246775912062859263770206460316449587379743292363935392410356127404825884931646382236298880001123874045347909114066324890506678240097323553751811393906054221135649742460614347937774989508888142222263800373431856644694168007956663642690799749949184086634680199885807977217238327333083176716034716067463768802343947108708151007244148992040035479583920871443638463685540069970444239273522142910198370321393245095499206051293449374427850771084088598774257388904518122524554423451037015141954043873630753979739005662934201577138829697172145254114351024388294345828002552722242265001445747469385958378610347621113906575356499994100034051972228460454552378549718797283850290717554029686979320119024924389296375327782655673274049273726283803870640658809085411398830541755279792984965847993389962841224072068689088615931751001095066127840050746962600663223151681603903472702982668455089916965373653727090388553751408794021058543873818885887736062885950250162952357375634670178043689996491737152732129018312740599893413735554425643839670381793561833912526661390043775027485856336211132837018857144103988560259399482357758079862438945933861363360632665081740564949855739207877978396433336626186345205789574569194207724606947436783165818572527781448494847181485104227276038110467018284599159922420946034106138997595530058899947832901850568217601563437326761747229107241785798832565228633839485071861261678342161708125330215354522794140662326413464512001021509166785403208540226789415775255243467970802486956267587796825514377685699080909522470221889901275416831361533649814691810043485322754554081457277141510131871608211810654578897028921113475320398559991151815001242081779441234038232752717206470995458841393226351317359689659630309798829994079732966822708782981993087368836082570607409854230643922496534078226321721759559625562923295994737225317362407548592764612952333546342626726431431851247559410063951396846705066097958411370897540169973574742137744022995675975930818413153309306941391699199063867035635290258566974476788081127415257293631385427730370808627155109536120656427871393012651344512023452717138365325932834382259574644020174827416911097135707637949303643525863111460177878678069028888644806053474168750762858113397844337904334391929666922535884455795208085508610807428735828793442906246821276138918714313269226620537797605623572657763698981143777250125545428971846560017717306848724015406905412934531924499671599171053151720458698712092041630922561040965836853119477467543195760636854586364431969448670567490020868978332292267981829356781566517965764796125051339647482363694226977828056043599125028950443838331362051383375091888978269227628875239814604742863466125792655431955881998625642380184648566090770452658347054972040882727818914129429998443162655515599049134214352583562842129999677885880293729088512991977828934540829436714425547847322520646529311408239720298873814916347288191669370165660486707279942653027156290467019864501905668266797528008177337527333348619166329180301871767889531121461489553046122684541343935890951322156025662454649087042473012490802690063437898808113017863553981443290607316035411131656514701881417223018973576531489857283460263415710308428500826806883363812127509802469973570114997470312042486341933403393011286723776554928798784874141517103443763581399534898980924799884769585014938890862526499643774153197570170473971627040245396432123261832601972648438404962817586828770733233828688823888961154044991930938407603390241481209009941465537490615280135096299410914363076469947286695936270366829385589055021549992268813809183937630192152720689617529325757875794018040850451332141175065614216261225379671121121286398461448139709522743645557999800437328206277123909380012567229131361858812417062314635404837127736496279672236081252924863468674618844491428338672216093703835224850402503667806716914986449578830990186772982474827403564791509581987647525007223181138700829548736507358668501920427800251966581256037407239686335195513282130172934875728533143978694910375882363724331548564838171865142598467658076016497231332832615182461671066453427415694433460653841622600792372682831598944139083904303217655632357446166003782256670138570975147677704872137026099490469137857175960622133008647772362689040279586320509229929783262059249979336278210748582381363767291111764760171645108237918206938669471452925530708908413385402634418373802448870700346575764977475915646870237972658230420974819448588590876575740595727376593017487661686875085235955073295655980941445024043008594448065935486264043232251231017330210006352334784166499059837903673228178463648766936903589596033471360277673266048656353053816125957533397163841629497676886944423899190358670586342015074751908603991585637832920129066043206809585266833797468884216821977700748971950268974505194405405492308072402079501756435481584117041167614915026720025530068812060194670513890951863428750295100117294501538817307813738773576732266149439758692371040720154040480133118364805129959286151285232128562607317227067563304252900829540382680483838973400388098530040237762314264853804655235191528322931643210656820632768970398637347556914668146394728030700562685728622395265471656832480921051072753453243984634048775729873207070132202996864069755595561770033502593251433811364625219063534365586776187211248727806493909085588239855887520463745138766305303936596664738723824240506588788277717836639415113914512092906495445706893564886008005672617700141920702348586244539091835053302634204168580890533600725625225417111438137319984215336150981217457998435575351940982921660882316286818995434763049210121252079668507381323371601026962474657266798712475229329070756660398102590494039118082573931312270950937908860005211404432322156329985371411194278179402372192774726740157378515673309701804696157613456473520366235056400112749616762160114990215044908274246995494685656565383104299082895549049815718524827789275277137747711399591169458351753652043869507648515398137172748530938355060640830686755976065159789787238538231035553760498995632728104435127828313240288922529282444605671073698585115231841670462904117339892439266952344955650877197144512054483461259442630196712341956283365913157579217757758124067187114527034754885850852866733023028366814564131502111482483613226057881269849133816054706335718807697731508753525272555554147892690392272502965674619821405077291896597701370646806377978490245971094551310537478973790500066001425560885278074538165516633406440916012534404143685097978065191121199745307895540680110821402926757088425815040102739528491217377711134447636606330660141475726964047010122900962241793025687712852178868576131891255599845843796145889587110287676946770068770288058090023772995229998757309038904892064004770910385990599151888649414530812487797436281800375000389356364626541458924932953779990955643555053156320507642836252859923144705874733229355182640544247898912820777587457201851905597877070636046136755304989813183464847869802755320506013493132170053059989019183466559545418840607874457135307071889432928017802691425787031536089458304944207921985599514821714775067142499865873857525287459139430287756059325694671352944332484990221264973214346268081124546451161429762117008470165468703250125574464213513385543613041492084133738290001596725251524988763383778171890654837549902574075339559970040082549503544635114961965378587652536780412254572290153818285035431308774990496793144490776845262663111220004156944372459905394721007600494722077226574486238227370970006245526250858016809535868668345638394482720160991479758606196294816570986025042948290507196705535231063788079544195024113484710903110753031639719952210438925064534767107016363092234125633595486493050974150634812771518861928527211129106439035469290640801691673939269122122741917237379354090346976321222343477152871171158212225865065172873285907421310471181375186428632843110124772115555695746551614281157592402118136385726827372042929561478025359387468581514693119695525064454352173118104568206490261077439886908027601874292018983156574846773948329745013775240483919151240498307852931589799683868784284897612901358011939915439440940151689150237739956652530202561851113423280251566018696684279412318457073501047911968968428583954975115806083560735948497214912522816369723430137089840065335944903229267012025552695411547743980963221923856952337007527313599109628371739527388458141834953799523656724792015838641673405592864554151517754651521795372444581332425734145057202631503751585338830337631544461744354812648778170004459627973683374203245968279831781924251008400268721835740263961603330284765119230359134439148563621209151513150596037714307074234293809481588099008718916530328457070724550295396685805137009235295802526397826598329427711510599917070081069062060975027288487865720472175980849250827488525180559143379785516473854907473485732519876763115846067770131949590222062020294456395642601696634223325248863153743465759168543727101462253524734670935221962618260809555380727277708457159030730084325773992987490221241539295412686332719985316812555696581482792837378714871611328783297785596785952534604041305983363525373367741687833991514260040982082765397448954045118550968820744871342299109113410386241091421473675362664522890658076479016375452388541431825226154488938674168527038139009841564418340062065594553081494845652879516072175959734772843255039154557375245737113762140403797129943753450127811497422075093726828838071904315247916141830859539609919719565956647357588301615578243823903087299291424576203321819729385041086629889173797168237768375548474204250565566083567582028644716853086306166923190335312006681981947119178574443634386558579248914851353611504810752149552328042309335467977874722487464242949840068666584127381808882596855949443208508559880702613232316119005680741600741782830780126401154839330870839417503539255596711452245845901928654899084586033675865892574563867794435949124464873612454657575176373864118722625321415030579980109709499652205103884728268687270723128746622918256162172222512955413497656764921061757144727825794244705096258373722964430372930649771672631208805077864507330201192797718386111016396223893758268558750089436346021467272648366825688521695947013942502598316984331081541891446766538028250887260806142003475993790245860733899148037160161855614913198304050288562691657757347426401475696040576346890997399334680218272543008067944470554146724960670005224018850477144514295163149345910812621633685281666048746298583178193374711514613150591207911543762922485994177613849080978655262884651032451508587456188707536924005830518662982705102828497492286772661927264450916207491257963053538264462632356142684838269789432961569183438218210460900470296425571390506891066764239176405462683287162483442320814449828319226908315062293155921024050155535434210966117901607855898641951584404717882060093458486367105705561767864996487253972954694783815313509464729425903888736480511275954081614024857014973226856486503938956013454721813150639882695347882455661196841291442579165933001439639284739185746267500076186631080881520519995005395207851043046081421615086509642505242913182044461395084477227929297739011910369395187980186688176752201717782592564219879090072268502008024695808994463636946911599964881645921134171591340732364127635292886497744829930728263708295702224530966372305055031052501084881973121789425406428917257992755269207390133145643080440001972876025548747772312553255832860143699785947418757112098897301236408280213045059862377464950010227094393658353761555568028683265395114125618653850929887439058174841281499705883582831777249741666209626757336613030938706150897708833583561623316180369756718450036889328795142217740867599299143599274527472644722591035796084238024382763528753360697781326099948894800572926080473259302319848138570554355806582479045670310995783424835532869709437822711322330574221423723620931912316080244748288687558194995339927714507587109991842622464005868209187178102002606704369507243253122521027097135903441656979364991939812769071367956974643858889210615808533178870313004758416482316489344656057086837557169832358782271305792446580039067671823330089829941820289429405125906973388021269959438458356120231043777575481933581277906987092155915046475152201442530363482647550628950097212320561485975666355094846670476483761143954189091196542545009570666302992554619511604021623690090384835486104784320849369228205507198288492654675074336088016040874082738474788179818933412771752184641778504733032696582988137233699567690169519581609418605510293757118181610324270898523011175253797740897035131378047391539582119851521396546213707967951061202026011643722807179386673241521190787922940438292738467476053544193169065131232079742835033496971885331151589363999401250683668776669504231486467736631284997123229498282311282173244443353809254876537466079383639082084097882512385055129723121686679956467271827817240900319628170565892272474772889498758859225988102658640811375729072577718698773055124538339487544266574130875115591754955038179529287707035762452939785138928985586999263320117832581816388194256763306008858813376311604939948833652609096752165235448552820365749293939133494747332109057608526197335917925530368454193448439734307635503087271468819617391407371985463682024909687940426698070696517277111722886323482507997664810070928413196976096312926198451931740842603803023042653011541565499217784601572945151101055316932142580256929304712823361053088483612479901475261415270850359548333151210450232183415995350271423723518295655393084367509746444591051720323313953468396412721493532508625716428073215834577901526529560335307789029953095178988149680967482569827404841731385593846167842122815531439333159313307191210538245151886136045192172957134199509859474315935638143494052525900596192945054824339929727941945153711193705962236144685771345914751488210522409953728696099019944856898904446495646212212595200394649015870662696671000393848464821673489495491228503018803233996535966616382652592630969277316411867653355158014190770429678149598622397827340149777344315402143495747278295659997197149548972809749287321182092408206395197869080845370495187716793360158535444957698381971464747809559309707498140622673655946472085211184527243115908481181069487040383918648142156942892352177202590957724369998853261051197179062425912052170487439730614577721320792376795016338263611770272340191403879336560647672812450177774234413495268124540555253928516527505173041346759709576967237292684043673024544002492774977609791100893092605194776000952912087202652927244343490693909126125559398183497087778740350317510894063345909263465819202036387071017236132691086935220685047496354497404799601707355170068303960862079038735554799319073667968201323447336683158187117834493588835932646520080689281964781419213934625812348877865858712357310324138652190067166409527022393341917616345271924514326572857430281995698966207346099793889550960489100187762567720010422895049158970421606869776954980795507079292384819689531048550387621505640323706091460245689752870622304997756681769232376072454917599623559868642361114804440698026938215561513167598494411151167920448921980941962369042716461666670551281181382417431095515525984593039811043475885816523989293630205614627543897767745639855099943104946738874055927806155144614377056365331898211286536767297632360478321494545744455243045915532760356753358388521651981348024124129853280745290046628831826002815907919480989696559713184451650248355835147496088736490204551579692149909571276880855355989224217104195036597602508767497762652256897975039041318587363675264621969112840541899761317781358247834352006939257468366983391469954805362286356436119492191054773672750163341280352547263873836422233355037973080760441656665588538094228513951130770810128056573622192092224829117917753092366698580193827911857104825114849322378986367182527554750365483874765413248362326005262017330318663134663520563668205550365021964982709813162201985355691136051845535893217654323488061959984255363627934128833574318695935594575588440789199404460305088982291710704994629964855877502403685467704198286695862584531806036144041607321182648591256377978179492687793590483776360129443446485885600483812957320849115550367088573516177188233101935991993700720316047514609901010644152605589511633360519496686709190368956187120161173075070948269399692528961576407114119866761676503548252095116348570810248458176911588743099251328753752972489684038953953375578784441147110000679891257559642319514925449746326870242988738684801485614616755078374261544023046638011077566823052625515908533267600982103485809960186833065383754855143845938328722253797256655131304086262154025990154085824281535837996602186809153164827143394864419123504083763837756390936018332985430540209778184583083522878688707057278307075869958034787720978714567356120290804653619898381491376099574109534848352410220897479288896179986441617154912632369562095353873925108661824576488270926852528353826667126481152120950132160710185269081505840866734485371690350694232410809919148908629212332799630431721477242304409729635887231099465197097263316280876996943554135653212682579715881925092298601586381676455061730622726672908087202670859567063586094564625015535719660941744071019025204345657861896490145765805263979141051035586557084741658530084318240208286557891709643678797686211083802882281127119828404323582163392823967555402213048552960070767407631008930289977196721148975755390306281458734123186841136837839234719047997576189901434402480434922912004026506909991259352157360765697560862841901392812131963599035810189583014002925275086145976980278455262563842965189143266573194079708137736760144490395575279084477783222975990077345590878406840772458297625333048201594095634090119929733761662542449743716580216669700711666212455658197391009867880000636027294448242569502529691209713935912908593183451511725172013940892871917025321873538117600670524254362913422522323086276601962469067347283460203708783057516607168011087435601751459365256748059304952774443265490444677543352777772698754047049959846566608193384690991066890878230627126071354771693696412084095680860030826475754193962581214159140550242165247189059099248919759977525298545230980286444237945536478152688274910420779907242489551288004745187868199055229482617990622224143053006305125696107679190222547498576914087368195570804644297582123441726505424483521158115918456977165872905948051121657730212173369603492663741400363273640481236234693317257565360585115032919569320662122743064287597691494508062127344009397864773372100925330053970386507502788435935853456623662719809942348103629639239531858185534515418692009039055228367191176052314791079534432305054311725388366375730299483648171732749348428829564694011641166637962699746447981572165862951756429143065727985506999189250552851109752861691824592820381791701415359149104001684786011961034693803845943514869227575428816472418103240031192803894335614011562040936360098983297001125938442835490253561898349696398491854059128741383480593057744994486325389279483460541934469466404236866450742067141187023143026277028118586696310427795936539301757617256392153322602095442448614014774353868759011365440384824868525612710073818671868666866578847758468749652548678443370621917101631100032038412339171632593893415643947828513672436163854263244404846908495102737933668863287679844813979338000777549248516132833928086758126419961011255800933737485614117612797299303032961413966913771963757082747873445393301951281927335340516686465058764486062244192007680523392844714748432693109749906907097727178832835082447653514250768162054538643578507675102673608263777200369583044590438764388945399732495708103799725200736713671426535800350098168037400974922765647329852140290811042836977910734018665653454946443015328777706006784818226716286905901123759288212308837093137542938916299638256688363409790171371971930681771125890211320990375457749108739654831464962350446527365411977126786943691193771319700323747883446905391883356864340418791062994171421475182847732653859127250883196286691248837065499956577723676462308275049308468362527553062765165553648440441929406481215816945770237449985262717706443536617938265691867474911994697970090582186466220474198975033506361555969763445258187144597254021258221454070863209107897737565123893975978273453799898827403442383295930434384127480351761295357165305335172548161134824518237085827602026007284550789291517216519578110305163469678857466811661046331369666066734746571266282997698013303142850874178196067965652708487526370103364783746861349235820853417588724438504186702285740338212742097967228072325310829102919963816974186420070563184274287643568548846346670961186292720461583979635527424519750923855966661445465958573037845303561754520969909717796089053469572125541291345730794913086495661403199634531588442528993262419114182310162205641015742225984067844336793855735966351655396209249652578690311806264550300689451324413170986001711457844666996300958205112169432665481012971124938123143468708540158818475734060209658398708559522797292869305067123014826061122056063534733530816392540378758707425172030075848962126395443021925179074322885151624910938938331036926032968719155012340923407847352574647982460728330521849430501819141640748927320088579517972668119887316331714034092651778421089873967143553143606890893494187161178492838485005645252332610753648152935587701686933634976013180100089095516472521057412892536276514269820496736751537657642976854410030924343008057178245170476226217176910506106825294286098289781831641823123954612750282639870993220287852750311537952006683128467235427185442273315400264337165799917516442530540961226879430271604794261636084725000809459414975050196973152099815773111544083346381632591874346649804838583331202349680680166140709830632305977727526789778295739202512484343193830498750694464263793103598335044833249667681964428082854306816377921419133733495445498303552327951891830515744900571883367425295182104431618809493715965300766624167852596491892764865716781618351018342334683470923827920295719072553491817084573137257969152403437301045499843763723916315271851306670283717996193598342409626064713532516450411470096942364716610339279815254673307719090813981160131167745224833499373524978013502437099862786560497719004082033781912194454009886349092600729661949287029572048944140248185065048131853936396667507905068369574861778843274751648319590519065050373267414027292647428980836180906608586799726033596927075628574950534447624619491227541926568122883040614802702456691948883505195085586186706945030903911566053674954686709908501186092198225048938103937180174787538322949844019226067781886202434296316109709025693615285808836917134527997451553027341474300761210438910957073497494714015413782203171851018804098158846148892099160959302266071999497455823300617471784063142152536725142355729203000324125460708106246523430928320189817424537088442286645403424945274743850044289613750926165887828721170397962265065422817299741218337988800824735735061789230705447799638172912236968375095974125434363889015684803974258390467475247808216104497873150267086606164605565855550921738524234862965815733219325256719629236276047220791294631520908688001862768865234933680747346846775161332010931954446332965686428431211223561632955045809792857901619812360421770988936533932799931848393085440583842644542184848328930851814385303506141573241113586086645948609758032755961065538456795896878169865924951299731892164647946971649414098367189591404453392376447192005872497212839748974465649034538901334750182379722369503279930055783229419333008549005236976886306898923339057568834068984135359049823853265045403871950870729227233244238876120168235136398592456537678464108840880837285294262863182505293614930684599270676851415995440147595829618414691127850604143966944204985968486429806956369521896680068849695190080121652525128296777801325942537058482109636565543612973668620743606198041643695549661838445314334717626202830987433733656030605572077181357242629782982324239914616019219428427749466835958436659475273888051917165072574274142538510977947409396929087317491459657753962477980875503521277161906014613516896984656633882844270430280487708674469889661702985439893832089672561518882852273225950758600273123994070516371818237533394713032109816184658841508424996330532631268145920544880242248270439832018021137331249224168334387311491170421751227898361312558178967679791692988681291978737744662628781166421708901399291734008804489641095212495195713206894855329486756221030377892041163846312982395293729535784316269648994668203090882691331793127885054525188859219714648518444674747659056739498915969855679263115840948484350541266691529949122802303339147377362907687089255673066042281361824682106047922697725555746465068928692612502406122559821469533854956524619551048907244188570827384430968923187980759750266740586431703617590784685400229806838499940390492218689494051962458096256609027843385870744389769463938327058349278927787136983949675893708890811921177425312725239121154962159770104437933791140131209800551213047595779372699305156100821302384930280564383244689923873416025176776750191281217039809215605725772109949012658536966232918136279564534015166796013916405826249877783149129384504852740435576985745486524472406869666254957299858136079871361062106885194631998440584713892706980476499540550785783804049253389621776982745562704556078439000619303311624351510420950536526997102578711124342614040618935019624839761566714387799729441810769344286485399610717955340166168030465408461959081253622873438950327987972305889788114882953998859160503751847395763199962953677613447548538592436321678019761597372193954612762781408836272090893877996857433956108562035419471879676734748242904160809996286090359027524801010324314137666476417742966530251964864367201412336091037999011157552518726105618117370172517886142080048363812835191153520093232923649364204931133010204764714527974147379211219107954664677468882740066186866737689006314293471312812827631094087776182016336253200807066529417810512959058578049117029162740094973001782590409958720378546701739999848139929885695175263703909027663152916443190540981261521234614824641541111563892443745606784095644397125401506000502895135783346943643984661447418653579106639258131207803672138419143405387060287885044171951857515094780360267138499712921023469899090505427067350416691133658416072543363700250223294629049303769300420256957379885704355471256586217933164210233169124147186937009086467731792434998231160046584241118699359549390381425488189828086770313538554969173097706991673780898943980723888760080537832708355798865228372675265391252351161492893777306280557537282556028208555393082267008718189037674645569922739537233924761243680596814749173648079811397023048314262135405478588725909667803895032177541312434978341603340302054051667947503382194632827919252554941704066299416280825908254048924595871941514116401370959432273958960305770773694527123992482689089758375426993346794150291185959270503429688577877902092555903187507368082568827187561532925472352832412283127245364089901616168825745701310521927149258348958207422032458906718304188018841488932809022920264135885486878985021244964178429825943290327386449258673886777406371610806955170477235889276454727435770842729252733093857486572280719892267128276260098192461429853331491692681939876692450996099212888712345402174634266281924937437640082655650229962390072463749802890434281617356285522235369318346572574330523113592174696664839193467950242276689670886596895540650576678782475706312349293330864977134982271283259104187659859511192364013277775039938654939602475083054167816640731447708716571109507166589070822463004307521885020590722238901687065963044640867758188831032591753911008813362982476906196389840775078013579798733456233146075406617132429128397189626604610312474897576099408883862072346067337173148696111476216973294282823916920718384994061456967954675045149623516397624055785511630636548112787335805668313403874517027039045305281968304914207298369885667100962239835027245276244406143188677390160606445390415502570663759868530694218981464722335875249874150241350117138777630311401068825214434247047565053229204230010297673893883282229815594234900383252039865110467656501414295596024645400097220318465400313871680435164733175 : 21632552303908975235822884042295017656411709544140015285062782529203835725266672546452560223121308458960864953709030986082637270763820432387187916504430562120018734100841653327568630664858913290645707405104988734822861343976347523074287263587665389920639591052474437772931914228934050962929738572599525226715854620360803384558732027953817120139704043443485567075512766221599817442462950086821927787256737638237118721163866139927343922537237046822497941936004188222109842311757272076096663555068496845628320067793590486920369857162388434857536726779471528028783014858184545210684432825718767971510294023968948569419310280905729895843753589491219008072784183516573946361840672796308398329330134018815059585628684509366660532486954039876109231300520561912292070242593254240061395174984893489987568756328664634556291301364996505215482972732210592466884994139417107491570475176876372712404103169871353805891297698995203784010661366039947629998942320348779997868787062780090917234751631851315096671609888893595117977966237892418030181957541518209198515679778287489054111236392839155484272077221785109651696640990357350580079301737922712274201333685673086007337878055050750902160466967461185970773086556470083729779717514288508362050681695821510356995696266782832397774554808533415368888266752814498998771535933192281404797224893793704430511460628549398792577300584172034230871526016354472243669276087870773185802771524019544277180871082516811772091495556826545763691556095606876489308708035119009035669515217318337094095918686993825069659734736170355101407343048125534864777006646799670828857513001366770062780984929482243136901553118180678209266473617966681720906509044019559488612849797361160993680601191955482614910859857754720701949730529271054623671947704191957255391889743328448203423028672035070669408577186974310648782568726496981919352473491437343425279919520396899400434876721455200992245225169853097450755918784934823577112650356915982819088766266364929377705572678409287120422225506205812180135519296944974269056437699006824820260121116735062665577319206300569406926537842184666193617727896028096699694871388356119043598159416122435091718092985861836406458696633866021252961321042752868628108575720100477422618028709017756289634420397921268855343989344251729383349547401256864372292801281672078114422473913483227402626001783185497691585305863950180034549678217795236257739068674914542284479952990802711589737252530546656673414188769934299181379076165408559548921246338723181771264011949837513519632029963921615016742482797946239648557510798450647965810980998274381921613796772521160480496965642843678040824402988168144923008505428893841477833013110619917983436243993994137185164116845416622970288148437807759865104872607098087234883502108882369262583938456008038236567307420630261788897707404758921845340001540731283468217706575042077976403816791470550986149995185422739067415263587905625393499731243225270867811915475451272717046008839166354966426026329789695773321476075597531235081821581400331410910008576479920859945422013602726821992019461734542686261707382346821696845841405564979143758764890752155023673918205464865978704009462661080152603196772003221629656221160046261109528177104510404043440227998118307517405796052268695368699953051644890755565347881026464104150047053730777309716018995618737793317910272199610688051032358896743301738334280990775283095515785602752812408216434025976547464189038657545632421212338268343797829251765925031448863675749815016899145126330922357289071736835446651410421436821844966305242320857145831352518637452280755936702276986155225436412362269110035577725704331906280972362293485786048233603376807518936976133098872035650769466195502343605528095155205685945383236413814489601196864243306768611938564763394869493040613687613300882125546489232639024840120249973542813965174490959035224825437727614992279730648541562030236422587520938437186601040366025893432643843497176479739145587658975820449148837877162668309132994308281549800868587776016416208116392824313570528696286656649953715636274851494773523899500711629615216176182027623001136586235928476488592763961053322545166562613263837228550859737217136799840243064144943017590820784418354202118037653956783844457172478738957718487673278254749834417732322754345441898958524133162637416949447386317813824554534387371240114776751408308307102711364582648362338926455620241633360042499972260868202813236031298830071104135397212091166979552841221023708039111920219841199991369402314769198636236741538396339144074206188989946119351006494812516841502314227143798260086355583018352130089726619802730069876691454143124069158046155455216993233269290846802449974512564273640669457915997618645804293068576195392330449646048529582346826939805187816308594913246427255526090284784953482236589261281518400111201621748035331491388026228644266618555002632902671365521311703705358705261815699833063936433134498796291662932622516621954032507115070803616441465747141438461691197217432634571897700403310862485528542977486222514155440250078105913192534362595381777425053597066042036203695557206150785567171310775593932410583315085832175890346485265766961230188533812348500010941233019943765948761487302792618184718939764282016981129364608576502102647742384390098247685623046871534194100301419690907378195433986604902358786181003413915179012870891440401595690037866974070920347452880576235279852581110679899996954531616006356696479809117304919524786863267331242075825252323394086675076955536115445056828136100109749825840590285067196569927131443032023196733716265482913925873547165690543911918260895495509108305117361062347276877834932323949052079719948982149540746800179129980147332870299562063503523584221169386665287100229281590346898283289941408630646869196601182402157452062062188477923276473096161204857517242504295192691975627754668347182047726194355871949650923793732867610370744858668133234781940123720720413628215169493681408507424991799184172367842479852184194917657465413921858998616763662081491031984019797080808798226695076711903005610776814306760330726680803822293571072076063732779656743639296039407057497939232482493557744721467790544465852478182749137549042982325862134452003717348744110133900326951752473584162359264415678944850813816537895845748766484714712527226554913338987410332956304577942688007132724012075590231889719454523229499177959111954130009517232320703642694003226134813273861701298369746352762308036158204541746785972996717400876063072375190179746872124578242323164548476253479357419129675215032800927084784433120672784567306317462497323599067570649120294992446770573780728747217935096661157352310491927454012094838242379150898550381340587968298625212680194434519497239156528712096922181215491788510834889866407276187177765077314948343410879323028428824221226900399430921621976803819961177643442388696272496314749586538246772338748398666005342982630373803152689316964231371503404088251592229224689917395736598465737363166005747550674459866372331289841611220677292707730903310184005011656691066334561461360622179723295411159499452784145210994983021748087780668519825480565914251010152377561712211338846263967827299281387911654642331874827224692661382332449457659007029895393313231711718997795121694553826921818262851300418809401217587852785652512442564723052046304102800729202210465641360112765140224076155161027443762479358346093035434882645922235810078558329052660941873316890622689151362794271783783481890887415251771812528533061570520709225518240912833853206720864972089529831881708339193679004714389591072114814852316899610824644812186846343347800923764931147789585615350920106072633730446696778851674581411264663263383390297761251131336078803142959574404236011821624278648449160561576637065354142163813231995316549100445465077988497032213742231001567295289746637890125394054874478157105800175868175330594124802717008445904839136882318426146063088354115223010471542413287912383638688986863873726004849848031217262507816489961983406130137882359419844607689290352266711009251190623205984195312203030893342939573729673997352462410198890140317585015656196917617495755926406154490247006245257316706889085230993247421077374916723956601261485482141802734275251119178244724253574943731852868453122762039567062199740982075369457627920719325437497406201749738651030226967486194772705420534240735713059644874028550221935371853686438799439413729033364510642527726686297139941911502381760365181832863179385079781955055812543479992050169225354044272356992878136551218532751072663402246196393083729381350293119551840475537110759500046516341010556587644924715903730647264801507658824620323949199644855127266638438364736907468576638975961971692951078533017986468414629533775151670504980911533875402101804464524401836775967745257023716524406417405529574291266407090679114949554953477033114057198480541224766815686820043146642282373891414390229096611635272440886434557831847531136867964302791489658300684937404450003033034977357660605782917805792899865349122000559118697288899607603730242604956782912722452709758837693255102984842848671731916192547245622275121848818312656645550978653773853194747072036041100818441915016252964700265142636486618962526596662316611634424761614739212310155534300734762265934996062064489054870974713989597155198801403015312212701116171242969448260075435829983388075767075651466613217188631176585867784557388594298108115042632563169881213598289126316362437499244193584632747876195011510999241669798943315566531177738747792521874931596590365279918390647954543703488129318584915003723173444782303511922392660166930802546024045538271283651928027640957589715015468472570776825213461719666323682418368284110165822719563188296085703939058992205493807638354456498159165108836450794667866279561916632435435208129599808939493496400953919215630721471534628705704578879372600736260839651407095552716991440713787712621773015137090837078534412475869324557922530253877273302962465973283512918951515842544199079562402244593645674903730547100321723133094720395212474252534613558872996722876604624080606730177201201233185321413613810379709013166151048662959146030439756724810724112894341235224297180392235700406037712823144521864760261156108653289070553369393433885909682946699901407022482122311974194368570215039089247884776288833198677790803912195620428772711869106832301976162979352262080651305076587858313906287935702956782912149946676676475386387428408944322746241274975797959793840943001815904997559653572952033207318271464957369403137303359135494908271998138750352339761497424395742570648310483829744565515239601105737671430828512095014168450014142303280269794104966038946512745264534748852041040457242590212992357679675611192520049992138200923281803561190058296731620620088125981411627879016219946757936799074727476245271938601657192599687146599352071669359527900656514430482271149754245074783175807759471375131753113128608084812433390158684824892764476525052497092952952294115384579817360965463160989185276417711852590511852811111415632792320952939737667939496717188636978801225514597506887529990314464771634417959546528675128568740515550046578576447593878995881499082115619972437526439648884412944116761039698332928310629255820314771167154362595154497061622273307335830202575830658658221020462898465336099958494752008893233346682804519378157994761621676164505772606398915113153721204229395943428901819327002095146573563706518548430902387835447769789889037586097292520082584725607999092937117408815742187980925242514156755716839018970993084709440983953523017822061299995864499359393287313567848468326665416023103969355953916078310785359743917750284825353837265618406776579766329483172117081265637965202027068273497232575007484298186412824339939864331779394697886273996632215981703508228444619516444961493837962240928105083598815377010861204737488026499096316869665534809204717802080831143680517404688871838695046092777634046842474514359416037076526359389541272161179496697876872691958796161777537932704912453082021793551117517887160906798068936826588752337211266274057217738006647236584139784482546299768823523053156259088082299070253768114348440466179783822652117246101691400857924061828125621346315829165418701758192059136669306798897091564592688567024920167242236446129298779998157252210020476635629994724047737501331279598958844838853781977412472552549435704971856592125809391584014714365005787995106152276151547731481705882479443561050384551576441598654231849948603026377845846475668424574749223015521198175325121214319663983779849307812662382072824407303733883207903912790490268468842352095572147829852894076040392689530510924010199846739132513436675250587208123186140515839296818743750757998547535479114722488963235904296043094232670409267377925264104758155388348534844473395869479966248319200215282534030895714033593971040641797928815650076776600203451321107379451141087587187274514797503585237282520110573537438783655635498683587740559324073288971704617452675391797198897040699758728844925355380732326932878128382184735886625743333585847296273733565137197489318915164487243562041188063310854302316852690485729889847943248953228771313462855090823902655858613085518993713343447256457531401623656731076044769775897832095893664126764548857687865380776723047950767680563591933396212800080826747328626108348087345672982273152220924843784203711756383456235102906919452195287562954534056395171207225984714006313182879021947840994144447287638024933040662622123619275126939124364410391140829529319684764007867516041617824613823860128068281000092772904690815383046661899382383983507411631415713244381020392688528417172977910618311949496904498212596320080004934502168098447611953348472696140295258139399690596911151754067555088682062634932013597879494161931689408146322101761548159258475192420684011779902789156289029267051772753880244883633845030793437660163939516509119578309248270242551241188893597773080907415134137488677181896746102059280564748581368185038893599517923969410218324604937924393315151292442752723613312450151306810902187863712510268053148420597822649348551115941133467022121590895403403823281356889593836595669414122573938218819755842718449208291966220180699799729195815305047250890112829259343666589907860506670452424206080699699156305373385492848912729923629990843055270151505417003318536815879215645960292582354240794372212251424411092005200745843126885940799190957542315731191407650937699337862411762209459715289294115195667616491489780472368961888215224473799251992466861353218306439869102813910076187033471427725878844533035722993740564526516088500478803270861675529673355283965153638173065689913385576596168259151146395142880011020715436302752043291055026066347103974421822294843672662968730897125595098064921992341739724895257490795904030703023937780509344169395687443521269913130873429000703842923475903092061081170500052151306286350806751475118056509524020469607337018316684460074935830438824873236011278946205001638240909381185924558982390398667138990521467317096967420225662908682087458314133386910868735171296171185080524433023395819090077108595575305956397793012417551627292055573658206103568928327459986121515758507470014166994613884686034723236604158409885144004757267348419465316106076236460726030263469288053940681403546833704392705765159046614813925050995206247271615715131096301288612168638307825754792861992350643018140632390029284448247701211347298017220664494711646495094575158214964432150244143538050516533930444188115978069246662906505334401274494597615761561753684772887144299982843373276399180044851440928154029692909709667361726352065251564083152735019737008664864590139404165660435589468705227318677456300712158742193562512202907865154448168888117886703053606764805135164668144296375898698721913109268469997153073970432761434930356383676370119425147616867785870773435947511583012218349436006868175335009559835283538083904745153208175527053142306692149128695847134705728005044610716703074444870553788519291720847781974770990414869479367015298984614517817416297582697721573877392842788745513642277888023345465589169465434453444248355426008869419902208781299958714709328996472418800653838355158192553043005114472160779644707333709766351494091562175343568161382928986313597720878307307470514790090247487850480449740490246125869047541094386322239654763643472882088888301740603564647968357298983649662134569173890698673944595519802778429476562661609833284979858644105102267759956216409334828260610788950107918522145292237976063814777366080039303528521564465348563537375156509939605018123603107653548411430850329638279372219524063347185624264716582852006146681414729676603622902862209122189729383413418430156853813847572473807582380627262523602652237773333876998421518811618182910074814769579515384666884846826677235876172698856889413228240198690394483406510049429352106727105619619353715814349055390420595684454412583843590896159262509410618268270548266602635940898250975470550511971407630920995974943157474805121492885131910340354236876098909168115974780908703342021214451991655173128338706196683705855329972748446370014102179667484653824099400287433665279499079507993437710226734205153597455730492108211533359844395225539122477467838446459333505758114461276088708902979213173587084987376952431858764012915467529550750479371003215455515340593629458502722700123770601194986473876932447685953741998280637556842568999208330135487559935192511598360531199020589294663944200351158328230132326524323862749972918754582131621224814075052197270898464118958053539291999523284342477082438465043316667579348477404744348004528555143784883284805050159646746172805584611214305358701059775052664963731573806919128490899665733786753537675313670125319230710824318708916207440326877992283495704248071361311504741479991169208031930623153237898949661415874296679604495811617626060636325563319888201438192243415319880509754384460170032019367499490888402540068451743020641974019427897284064786893022669541605947101391578004818877203207045052980245249037496178945978832429506128973856603112274297886958271171317871542207823769229854795431485346306649258711027622986846223808369246153266722715685955164250814584794461370469286039532954727716922127179899167847116252997170566012608818822808342496183161287156454203450842122864432787481462260637798244709019827809937694316003371673592661568200551716787441920021858198237193671786175148369988380320353146149032089381363805562786178371746443474543413923335751346886868651755540550575679705966989861089757327706178206051132851566049644493392174517942251839547182603256210209482602394906823983703798932920476158432749472163040295972305737422034817044691784508890587981368748582610789997718423865243715717799916640182512828129164212140292518588377841728800429929702597419003974692139410852186394921132297703110718289880998657974678656675964271972918841748038149189695125556652625918019431501001835416637766903222751926703714615640478448137899946644476831784860363779314292199662930463114671004250373974753877124173784415435356712562561018804392396132976797341186591629410172915216831100006954558163289329056617179282433853290607795405583071127238126455889139023596604048972771810611795850768735886071976724415811028836351515205748196538859364095726212632348029900610462523171742865328376056021650157486062156511088966498193476439867702196229044812379993630039547204574560580927807729602134723643209893645994893990245665483532004469395256005962062405114567213540482248791903168032270228315596743245110712377744451731065642800302577463391669800885544910424033420784363966294923249692938129425539955546353654850573912842600647516297620316068520854696571978128436139199773544534311799884468856347408158983630258488331349853986210325305776906812868958366293078119019409059853241704167934508533537193800770297593011094194622922893334179638476523262936044085342840242402076215414551247156690608552280250933596050263676664406901745055809719822919310259803881917288671925253764746978496986886095621351066936152447944672419071486966819945808379139528297661297930013794859199692419678816676471970970281375442397120517407711971332364239835085331900208013242986963404835495119661947189902443547339591501870301147143572505894028267514619423313011704717031785292624268772053373827456282781415237245972118457113114975478646015364763791226759877182345953059054509546097842010354966235774490497054701165219270344211499210530204659121095387199708867327628125745101544735160246873900033981478216589236112767459143056554624324181125049211322223608497454166723789373234786378345720315811380818052789210978487775113660939178882823131397837377215078037663955436456582397571269229962559787404960475714410717383680684401277245811838925540142716363154889410378764050770082613430009921507876588134492083924506468026895562926975292563131402342795048888472126766655999852190960143332462486222743862488124759054773881090180681114849541996384446559050489633444693917735035532550118645219008339934539995655563483659693596896085837612438840809073615958356349285000969462372430706420920526104999981539109306233716343984895977701993073701026367657487644223854424015101606049471055576917516559528250627694043822493782591442525123847366606844292246946538091444233608970200939921078064386008956044996541978906702531304403596195671306855883389436254077788844056091053519420334960441139769577371996752051665266041147928289089456138064489872846955824388513710606953353933735374525857265411628768835713188189503109300629727862025558101909581410691262721227146043403465123255666066106759226942527728609119218646408653524370430191583060673628715011903856085842603167903988805468441628498914995505584628025856383251743740881269296530873991518207319102924510367873540843009369675371557338277428490966308691836828773616432814090699825908606825943023142669230941270971990978171501163578619876612934789649104435188667252953384154678028395205628089461359210230850774533076670308563334265985836149351931189739251455937425277410824288478793595163502933996671044547905708350789422800444086300779166955795729983590379740682183118393622598648929562347609620298264224198700057098457882821161337085888296893099898807304178803745336589947496218144677774055750712594594008780044138518805290372271818426609491317391539282610457701452767616059898095023113552424764434531054196371658448425783857695604522211172746906680527037590402440154474516075740339371643004471923716410130134903977389373289575408914461877088804044732490292791125808193643434684159989586297716549267776432785150684161431005867440390374177903627788845414635873801639278752220385172723728845710978733849859894504438790021878810094147305443968408355509614587642006543745529014358945725856967086223941173422511112347453588404236921994727662558525521425663966791015232463899743689398681916836445377446272324814737943911888845486678723404221814504402483974474346085208018534253566695887216040397824372836914083529730279602372849198509644596972520781656133384162038440163597631300134685811193576459958271409224799390399869466445899834358362726337695763746183547026560315576987242605338564622576831977439777043777990534818654743525021807884744241577780589431083601183965234639853552530917809241238405222512750533624057241578375298038909255496385500216063941306449147275022613601923092680669859164773899328888086587792758558493902345357776628855088172432925188007063008082596823923385112587787423369540930801334327073776412232904910396479156151495207944306367000150105270055663559787102682358285370740739618426855497263953985951971554764933246585024311152553717339638701774009202847285882848145062564729861825854788060032825142340198193258829975260609108340932748514605452359999452038885254470459769380412896586298364918269066534535761555383041117488511632057961312477978481714261751389764707883965308957485548994076457374534339505396895213558676433971772557647184859232294117919533613313374163083924832253794657543145751586584255389907831578787063126007874655841646129171347812280107886076546312364309772305902206928953036521797514525185130500700109124192992892129859941411550428320694851805823452584173350087090164453287245600471301566752311025956062619035541120398644089460311050209601333667477237591228352091980043044964036805044452468807851450293821762520435282377522444789176003757991088211276676452619144686355475988050782043935667983709095279008750924113991639206277060800551639691003546541369922682872537830722391825458813765865991881854445478065773932578683020526540642800735231450949920479875882134712422949138729306525636833422454099477150563180629527531201218907190919591942856655392916057124474912939534923013871825834369062867819661796609212518624080116385828831487053042497574429689244758915892433153803737957510267737883600497032624478653682836588573268570355693113767198337278904371032150850180820063775934934627795241520088459203711484506333375616726394669617011401739125021756530079120140673169606856943519817986881275272603419466352515103998476927081043630930644658952754360186935589315924471172628134156885215571126959168897639837790115395013748313071007017949885199412925701748327663934932017513770672553711140914793351585041446044893108576087244411341519801760808974325129907847383619892985341270596813510587363768040300671570574262504281695107185456485331046515723479318444460260555891642381140335742350826205565001921498029460676780463701889979981069109266945108280320142613742484816181567959851700230478602431180591264518222619190262832656767834868304602515157021605119850544832963362857415451083406160879155866442371152516969445228441478816313313717463358207903663999379119511744160765940115026347549644008171320197691487267788864919881146435536282477269309083190827840010197285659072648035325333186994571019733326080992528618097173718565939890993909814756441795806148886765111709067163047673893228156388036969938455383697788965600266670275723633475590457386307307750230094821945341844851711226403010577634124587184698366720023312876291882569679973541538162318388214701680321867209031762469409270588706711816053436712702248953392770667843536268261275174234686949271858346455957023315652105178994833861973324975613381668345489056150821364260206733544811715537679605682967164740569230731435227245996310177360004540176154048068260091639857858153169413183680382956226707688816553397267578791313703131649371082946157704522836168508645232392745093238157652660395402974951436123037002794013642002488915946039763532740317797090291520542927838929994682756060839090739848280576394171210145418824235413011976366433443787100566318772557379453572954648302766781677654463521330651857808761053525345635327308532548987211882136364629874607776144340909342608929093544863661588621443652450839777478653511698297284464758199266651233007459134751989721152922240072384222601619215370575496149329527398132837920846363724000203751855015581391918072596293139050993999690616986508873377739605576641520797807448853515512165052676338982814065206425012192403333374486154565146783102272431822901194415615782615835992075516273956947739641577171931432029577289461729656730220343670185660523183488313387544963589557143785095215173590872203978388202563890247476700202222226904479816397059882797046602671170287265471122237246664960005334570366249267613688010900042853336819911252549615703231631239234186573041181592930274270980273476145691732441125598419282949892221103701908917967368312188000870813801957477177690428588594864583515893802886892893705255508431802032196359669829547384261181699985888419976546043470706193884611382483271033445714445607259292079975882073445783593807029764018878147486841576533304549379737106777946217109246163745965358458271898898376081389782918540113711451669567397487884255597080205867020731646793033568243125053479428984722516408441828038479463575146933335976420965107719983209922902376204166724545836364219519065174000313244549315371391746619986071038285060562588319806385007758738964919208854383338263700305409633851398907643579164721504622984458756813424429336984390739616201486844276644310725894940751550786387547046848865287157002377504068535325670543766048574416875088814254836992491609972435787474863159644061640249926356638315034745390163144131076234698392904187062979673391807250337864816208657021187971300152359051725174883388576060338664879545231754678915987741528119357588633285911635812319504206504891512235660366982133116835652868380537012405398499779650852166303465186540719117174418665181377660259580050740398708025284470538308336766631276072268167036898671753649473386568227324885404509570048217184436335112237416893609146242280802604620708451329885999353044111516770030629621064611458546795125316327763651181324167752249566793707169341300152417560745675825581407324839696102065669890166250627677344805464071761797887234514769491640827211878212504023985652364031109803435778631247240972682355447058866711652665153211794446259943773238416496978960533842074886512668921922151913611483735573413100718891886143922653408051916840832697903226635281685849829375857249254011329460200925701118303147742857943639547852106870371561323073511895010362639596918602210777774706585389100634676703610992637396350237555343271813030404999649657313096198408335522843635068026990124294390919366677538948257857912387286200118382380960581910303163864666708755496241789803722872664419651284567632728228187477803030055206831775373399186622786413772436717592595924775286553792343753224356133308822647928415756876563914539806267742865713150738874667464884186263854659382811235726137700397226542876162277008659985184912865109011331562880096096871190554984769131785301602635233135516578235849573744421368551563957137590771809808238310598267941477282098480570493913158625444997078937794757911017636646811546920863114094708526456400423370524771091053704580578927136275196181970355676046099773073215298716155215389045137302213633897206005399012929454502879355591662737545789032226925913982319355684339410448901153433240480737024612677931702357846112306121290180636973339627600654713516269328162336916791635882380497419983247626563459777945175860047908857900852059609852801657060678617957202667314586527269094021133833450959841444771430259641529439830067877826973698445787092685421269031246964706818068562033313005962530713592360093311785689944325430164577590084375841557137341714649482843683804507809955903803441540810319187445683214176890863721428733429630673544092299386770715356119648236139906672003645691894350234929947716652339093207782244879723842166946606532169616286953887435052969640921987687904350155392323772264973005843485826447110415871157735438244930116764757648359977285107116719777175730147360588793381916043210596748895949699239361098416164590482875253459674161044882524900356617445649254972209254660166782941075355129890782206781404207134532984515856580282939806320431683823218031662616683034432952364403543719281545894976895253005079720657549537768012255080878010337191536698138592349370031772529973639836344247232974251139897751474447114928165943589721696973268712315942616751782246693622163920932480806500486531017729173243743010569430032212473327064216923329935788479833916544200937859614054747549797916126804990373040530840012577774003749542308784979360280311067629815522419167456611080802830728627915753013224231237291366294128598642051078678049318166143186630496790605055114532946693501529768107141835576902030966386571444846627276331040973824010377043436357967347411652874844350797027796586018488964965748428496495797796723379376385759793169854364440547264197088723043555753278286638368524494006901692275781492360848080671628604186241915811847184048651005065774750637103286038962707985581808642625678678700491841255129800250277877398076789988266922557133309901945520593483339035146349911197959791771908979879257881391440447531636678495439370633547657263600346895958777662858801915950957545520530242719508158571224049149629473376331374300467562905546426810454370889584572643790646830488772880423005193304014841058694901825891129075345421797939856580131869796912021125600456569960802817695260829974311806944007168240047461548737575779830040812136927506463107237700581195579137077345509589418115893508541296108270919646143108032203244491038967024339888911353201318221329933975531063067610757021720553363194517321768591857802246173175241105597135999101017760692814642179778373038354218920291299589327248049628091882838973116641149740615088251437273311159855971456557439585559332778700211875514955642864156258578292515655890221896410115008179528820840440794673255446491569394107191807752982857733747839643386550600765403849409357478800024464653343411334311966283772831697924064648405707710035893363223271478577772387054073266297082834969753521004730706151333265900402246455147046592622328293465045826226137642932753908630318157311154152033089417709030783546210377630393074167930291153136982755682734935095560064027136638010651022319880127230448545021685520214547102842479933710222189561514564293762538647439726722436029547385137533648172428499884123056720592772816431650031058653531357685743402434490800381322662559716316039491128772601583687517574826321317268886957139578323857411956562446897201818198496498039141918408353653786129732284901565892947794704597780802668223076300234776022810760213774413267612854828086310580832866134741753105650907426026257840326593558483262545538842956456743513720818954041428562346082116014971597820380568850165698525620939204560175275077599203101017671250191926735701365278819800922593488685174000489100403081078321708766678799163207799758642709565450446344367612572159975529911184523751429405599654787306152432140765406670389625178619904019119060670901408045885552770790983879973793735080407242333280109424052795946260978840858442746016970326827035383074443080680590099212487769829884088280378191221256656889167923275540538262840662733586420746739170695597313896054787834744848717281073150261693882431117270209469534506691597289218927817390773532280957512130387530634286597367918547854821622062229628965443533311822730412677320727820042673037422133846126128686312944979883546375156824177116405474207394152518998154979056788611892062784396041329796516246977467431697972862793835318715585548545024949058226567986521880239219384292933249971601436519722061064678606713655644492753093553723093449856001929970427130020018614550469749269313541913113669127936603590690667321466391520604795422058472352008219852066932445899027536516808175065397150469883926052185395673013986774046417585732926207938442303676705854838726852443596992019185364817031397520838776605455921680865287954232421449673526418967369526599282963614661579105821099767966273442733210096910671948738193639097778712438176928654713166060693692527950858645181716646380071108903436408940562571399066945497887842421849335993846110357624121831791949316434722973789551405706223196682179022012243498463200137503016092600149204921035563859697923798139042622687695981385730512125383651015688631164510912013755227040147404928797748860499044982029063156818224837391598069695200399329206093101401229384003636620179877382218251509977798082950535884149952936911510032095136174210376790287977612879788250469852812096896584256996947271309978049391582893630425437893827755695029268437604274760456897625936425328345800255940704075776647992363890221637490896048354539020671954086335516492408878862552667538061132634111861836709484027617480896326807775350030228944189392712013550775411754471727681118863607706323065788695243474701150595496681499810444599409352432337403475858810836725962325560393366759964742097354011781256981770682067171786920060338119765015603510977827137760573722622561178492540226136554153502966203552841389530600074819713205506568724406834604456104602031457063770845890036749183970412235431210044840152784130309522529341770788050735005821861462827742283670536102136118824850686952948068837247339803988327723500267249369399201615628307282663380272839724979261821267246157438172430109067950863232866703131207529250362338003497053437855447300946734795466882548687615098823644492421217242254833337052807786825894531128465709341586238934587129371065144074643056374505099026183220078098688394814829362889002650397819499942425648270413625576760423606586828777790420794756451646422489528017911780008394023070992642382416734642114855289296093324826697439060538028982464720748707201602209023039987847956918655060968526558224555536438693526711841338816993446987158889763356292210019764500590939012968554426140896657838107245789801778277069489013943814297484644924241311455719610145824366000559188365121938884968403203368571879959326704857202064538757172095213698591192096772571951184652751944765377004741394426876775299765650625371001407727038114784469889941828585938355460068499824850640353394982619191160304027746567598369028084388800319649656144105281206482074709100855198416505414495780629702366615141621589687777675735403878471408862873540232801443947744379099089965601207944813985407775878426984539953824264447878725285227366606347008077150089397562920856804062099117614421635665819989949218280140456328498792052993928890681502755491934849129089941253666118259522961552640473361389584637391738144423990458377358913039954529102862339209105650786529829087519319579130364417425796662772456876413081218759991101183317241641863415639760523285950763195974629858258278392800426001353362978762916326382257651537481328359425763955468701645946000836709089717778951843271462867678120940534932549619359760006609974555403469455793877221878728882091345486628278665140751221009880997151239481604188403738990542712005562127734224467697122268975714339505967482293971496869986913111459708263534019206115900684019681808093318524447266205501017587308748212824186967171924010430668460234867645842068092473875674369642587472045111150213765876281436033034982807649767129549091156284902372687928704753943269235236236020854040883582712735961975807913467544430508237898573254927894996441101355930437922736433415960582475389631064060838244331385132019974951455304895195576910394928896754544620588431055220482245388813269623054872129004019386162906564980449517307973820025020599415478796515740969388989469596315599793181580620065780943045147255419733375318829622648473034602465470976509093138964813969132344083153932105719198485636914991583119520251025834711969087785171713687778670332049338067069209294469419522737207278059009390664064477809726273825905364926362483520164956958813443399784745824809854437580361636885827290398589109622236729596797753054221099898856945788821914156695831247072620770825254476878233162349529051574058308509566645404671929334758079862619352391384658038316814481671648539477012518983400138679525024037054881746298558719430871861278715115326739268342565177761480611261422929874202311231624872057691298548178554216509441367847839670006411947281611956489617043056820138140948988643248145157934098058860324322886326197278038413503487124126292616182564049315618080233235227101459260477339541232701791999757303872632505717161234052213680119813960578581728303756220282387145296948748322354709200261376108133885045489208696697487497439706346237493201859237198299988307060206860735319060969909333136196316795660353515844716007910736267667587528436204204542935218970269671431832725848117661345194161004424212733069055600061305884516660327858168123550339064684022772686235850404176125772874338138582548399505922262259040113309458762037042781933089193384421861944056988604155585411606829645723153743849154043426623758320926661934288712528461125374933929576452382608293766457382267056797038938369177683891800727653678769995291134259793715790332534768323303433152535829075693840499468151712993767914480648329631345446586846422333412918861375768283466290533666148139915838130421102627372815097709414396029147073239981086980369018319520641924454435525410000528577473095797696173967743611287010147441538582136449078992546631037886876070150619069295342756606670485748204857084541033539124765703992077461750845772238412591279539365805803216565896519722501888041450191671341785400878892611051339034899469406693152048369585928749164219078830463886996124500210405146996634846797077600148959254377737560494673550220156192218312967739748769609923351873937083267603849036550758893560615830166415835678961907416517410054342744008737655435563746385632606356922477042256325848445731051353134781303996156460139581541689454009246756352378521192864697337313638474967928977616581208541617055190765716326212027796476823892988325860712042128012592297826723155634031088210537589789069583389285752419943399430500067282735514511032603687939192263331835071262918935029381415542631203480601216824451156467455019684446601963308714365319542050984015121091210836976623705448479221629144647236703351581198080706096102014311490987282597410112953980816349919897741997066197802733483248930926644927423165846673529835141129297367853280723279339446196982748747692370191937573834508678235577527787345252643585850362840038197746687574241536512086254758061714566492075967157632394809811047796911331244259997258695281863044048839371723845586485182745957390155492501072600466642907543873720074595538172189225867694189671447249758352853234109693164733303178195570812642767150032255672826210070105571098839047867165036060070285428080126914410625003057817217853404093312526270626993682775143018184035513667351602400416880195197833899627950417055535217513213849770729554557036863869221623383545203570651835868386917549576860459652424104460534229601298886240287274579410558721165332200351888705307638328504303552083059814968634077850889718123924775269532946723761492101063294101238131418112597222528884583164884253872774811457015926964755431589597694657853254479455272520020112915366321528360352384435293909818994977508894152704565498934035690059480230687265255097209135285408355670366586673624932799258698835916933159038365229280038809560933006637549231098201825298319039063128336510297481055099499966968307080884560866156832897712512665667181947928243006144544371948782979501269563755526723012233063178120932178173345347771170770501755282359585003204671787998991388197869603476885321393333219030801563311579731494180082718682826855950762172979316690106273273582308911272571548111995219925861307104457813261309380439400860166377031791865922709476200795005016022414781010309037639189201289460760226726627513339179130054390046155364182256068622462370766032805801115719107918725750403529965797263144584814634840042974047962059109450693476411564734849943413497817694774638394720592965612111135675706962658126137350332353837525073390807820071925366685523400363495006707337736077315684299161124690795866801809126390676282778188351133055647365254926682012991318756075005749517022811546611548168599645347325322911315703233571043538796229983854109418342292996035752448576709734181951577064770220528604281358454265436596703667853974949919141293203503371815219076801941878057937605489785116883402745259725184772226048914536763887571623907911298373193773473755616055636654994576082144306594989784907348164001770802029089601267261008346962908713012179147391900716715674433210710720906128043645524856392782080668465573803847188992936339339534011292830317310263156616472248051785725510502963714945272370803793486862354388233636049972355455512363157940824333043072064601393434641028167872708507469564294669967338655668682087133093479736517646940443657925938397326911706986949913096989121379990529946795153073795830552956419639019929746418497446459746372868546534243957651899911712182516327850231862139679896280403074792700811438555330961052030738388109602415148728531706950203378680844997645627648215279432940895757555982761701599183198510011022718665042871092718357493700169474858477842858248484169209454667155644893873278804639531836088832718458045554941542114865719025770731343613875612127985548383656458627397383413029381087247921252677095413159262430140016374618382304443622697728043885325213367177224856291046008047506430946574637717209219008658878212718887327481257605136904408101517187313305829092506770507791740383351412897043084933023877610271413130811332269499400663072308343785071525729548271318562938359927827296570956388105406659619603339480597789163458110096351572554531713192942398023604794322232027685080083656155702080592931418703900788420255084144773220117081137993654838776616342671396071329215550972015904409431628794436977985847135699658553248982401415316746994494880150367050634726554295352743778948327117740703686295054560251527302287640820144826878745210645584835566739716334092618368877313160104750694746851540496501069936827007401763743517206045075033897264079097711314804021281499025122362490240794615969973889498303178620597339104203916541295722027668966587681739284159606491520780201242090467085859833494523431159829075453796203726053601292726259342905807343854208836521552512972305531064464054173216698491594742586454852537805081505708675977230838037427177180322067413288374723348715474191023734204572002174304882939684207266429494992919649088031794385762353152183803128038946507053939767954803423737207137645245510769874118512982210536541649372605551573505100702265879924132549083132291006429947617817464324183918417243013313387485352241277987223923966798737856404101373757568306950181847052213914104844291257478288661972861377714920426471814336830519747219828851884894525798839182433623961307345363636066418962786754712295239651345159390326870726026242075227792449892575366169356715644080193816068750353045372419157840189389071319433771478841445151353514789641052781499721072657418255413301893301603520304699675564226071146777575649011126578890559724198147028009083504094371852382116676508447725194464750774629874172616954576031448289792773128811659337791848444095669551742225425196708143322385956819928116696436159362980211892008056360177974058875301203805220515430510996588953513999857644921085282982629297518051216393118643589500433526402423252255334310273916304632789997159135744792876535046308318771486577229283568235925764285391267722146953348919483591927407493986505087570920339663481119969504947975940577653520318202271226544629342986170117716284033657871315037144961858534680636984870195038160186729083353231895696600985317413004406402961951612236306470408435512044460060033367275483514943540906594040802202144087316726357087712162701697483514984732615164301254015912712552319773708040838815048001791530671971383978641142661271068060278564890128525595092910911849036456381732622170818424203088402074610397474498796469855492704978164276533934433774156574466845917744834072949350032735496354862647234397200852538565175020826409836017256734667126757163439458714974321300786901761654156713595882520541146967897009032734460772937132775253062346015128412661132607700293164919008298871098514032530959933143443214453949735790283689761558838070178956304205342383613819477069283379062937749270393913558571026414401674857880865531422971066834234865924680531338435467762239294957165809899182740064232800379720506525074818675315932095345167240445950640655888431813969770658707691433308290426394873883295488754435966405561100535690522531905508961411975314263105173807247065886785527137844343703769888610737453429883376248437075083821729637809945605368406231391328304491348225576765718366102554497274203223105372837900937520123941135121712934608621192552987311740002503983498730176725564770286035277623507637847529886639531588655147989417685783030605234628705369701580314209409651073669983607437722857001086882588206716877423692961922854371661988725532690516899608338528603084244283212153975053928413403235026158022709992015744337848676406925799600018818389901106191350085024472108504003813124981792486486687371226267134579816524539827760684457323299455448714101373211806025866592695711616555886734854170886196750427724024623588432082057967334390931546925269319632418047213055878945418072913810235844584569729705441126615694763557654068293090580551947210663687390716764590453668477790321417712244121699263870116959216482229778567760153218804342220075945580824024459452960532965290949946169397370882906235470225541902777156225631224851724768729840512367865944564832143575015120128138565013852717299436787846786167371286524089130542284943857299965569478548375140046789565682512534718760267283050374388712132685999608524049621540028069750707895673602299611322862291827655703511666507277412895454727318438234316575199770269587616252937499678563489954801601647638090824095987939105135368356824278108266614629706061811960691058361640104815523281102936104542581095943082592617641948937664227990976851785112077136094077179144706462914946169897217439591361362678093683397026772034971600609826855470909054317402405686038592948957025093642032735259651378014416081611519182340408366624382912773771431752415000374927587057082331643698645224611373405851236864027062116546649023622300798544015198960017115130575705526022293235659652336554157974126218054251623896452411420559048177614524362743201268995284375396419799045978180076279822047984113895812981837943187982136060391844018150975723169235025421848000624855251692922392548045671688849357188737453621446679264399538735142080891751272871271635238626662148370618611037800632784418254088839453078417882505412985913992538215004092763022871126528075786461222646289516964968166920163591469286746555179252373336702255917324508947823971899264139207693639076231129695783300206903534759233211894499274365233190481804717709289003633379492759809880324693799299496536353529832041695116232704533765517208404435120511330681468234533575434712183851500685652513194931428063578866684201125661587671412139185509635392510137907583844110271318090454163841856293555898908573065213222936788299211965525079538255167961485166956471502862542020839786114775851434250248676775538088536057267244873681819826561735663106893323164420685993790638384859217238391091483199579305851436797684624035217616722909931031421683159156113383900416416663638106207835874131147319044166325191843049284211830378551197971801341501944783900779768426531832520240973824383851972512895843983702078932989057974571950656695755336098103983830112766252042320710095956527526991725567844304719580074415800926943598049869499789394006064496653919470124150439023371277688467319266299375698369522245537313696580067185062867872513131316063996896883060052332561428098974925672539591694723729549118606810409841384327298121135254779560043412524040677741106987146928078141984303132187489278796897618010032419900001404013110200991814910202782719461139264060616101921572823472329778591366463423342717693995940118741200887015069038341904051781839865971771736740908997858527877430154708636629192322840963573935684255805705599059965565231488860926675006859971908540015724303183889813526441471625825819379163161741073888721236239239569783219430181701039449136508828571176018399447642690362181430181911908104279681972523883535073554474147246141293470204978874894853067556134558276062750169223682112896898893093283474912314079111272390189015624063974656990892791833067859627722818011408688134882830725326270201855630255496933699055216125724264237790364701141793853843669231956365966270793653240059706782260919548274704759415138178956657186626635594928808496243186630773081575024375335001499508292116491462715646371538524268356429029850385185720178530295669310765562678507382705205506741505516040773537086830338202948347626042938741681865890112885290884394990239937562516027677032333689384733743182764298480677191765782720874711809862810135184689877875302758543977545098767094915667537942713237424309798130191719404453830591224817818893130475637982042206825628409235679541986194682458643348800611572800832235380697347514283486305035194117002399425945456971131147069038024517311495494884447787747766691474051910857971825039411454750811184193604844077786090966212632898227432021369184245660447353017881737777562620067825430005959349797219579192047334180114703873627144947779621619055636892317697716216043686461065886170797317323605492496514762035253576952586209235193158967684513620893556675539526298517172549636510169322044108499571891136348529145542776438367783615763610430480271522913014756082719615229796070246833273234243695290561490546699140333730380554722280068043312632940611600662402902271883800867273710575925895140455976306980693890633389522946954826453610486487103690285890098577284393668723468224065253132848591181774879357093289032217707293384664926883515947998130274197506615633555271056293663490103307942665337671520069705028386876184638031538301096292660015631152440370508565282901946606618353910992532526505955744524128319186789586216639390853498622021918183471083736871225488755143043933908661439779403514970776164558495647849250952280360185926666247245969292110688206165986109115467426219495030586875535464558103260259454447082959047448897336836000202092496248485351777152129505957760939483754941264330587618983732453548875973142473212363567175017730194184719364950530720726456394338651310247963584652387722445279103511425683266801091111352882779271923725648853220367822540669865219574533783093475345485744961226251536239633158834455960627010054051406398650054530289298938693364957769290882151205156309598355768196836347736382903483462125121181678374802878961138892472162219049820429923751761849691577302954718524795918254680223377506787171815051651150421844978540493459387211315619066931041757225443980184160553949353265365426610245845591908273389891558251841322288850725358674725260126104362725096839633434740289492037040739789624649483188168717655142539439129637936869149905803498566225139561917591728556210120854029643102959185566127989468832377756861769261749768851190600335591722506664809187419645455115060662543424627838101716632670434045265090004590888353701316359235016362972174174755958312175768010448961347654396047277712015285012271504626748039989821011627817055352908963663353196746473862419004619713030367232220566141039414026739391171875898913986337964947497519868603103178501091342347775396964715188044689609287435818659889811728178828545868484424011492777593505125280648480424778418927275524975737766997834503012707109271592042042564684490759155196427266719542578977667269098558459824543071299423237101574191554732645025181939425976979582553072394785327276844674218247520493080427282377828887070714751009939994705258302912350763607997619634559525088116339630625464622958252778669881470968032393916032233874711981875565700283931657172198673890117614412697572707228378462474421793965495482361594602602518405797632782467753554504611933864064834665886334987158485380743690516117626387689616442281375986653959156838367238157347382902072008082881396876675756869704885041986481227135993655804834311931285486911569449621187634995118901687152149644316625624166278507203051657461397307582685736065185373682133630104991489393127213198196500151574190690931636482549257026510433321606218618034751111153632310289932813583523724767108858925469171440994784594336739560631037678690238135678797660011266857190527433106837880702286434771988519353885978399144134301282965770067768486231305408970178946575733794852195785072453610964014720055244046286924211638639731932463487906798311029697922412282747505165553407082437716051056874410927729138432834256655395343192769750622838691911229393083071225968331649075216776951895626540929360234977209930502098205004744149330758449354821592277151502524592702171542537330184628147511455271124671162396657815047175889926951905120343999561800354175874973556945886883437721618921096261895026216226599695776990482886103866488215390268015183661844939006439462944387546033072551119581056740528973102567442846434700156281718553401715083921454504797400282787423165184927062345259850713752081172685743891924419433703698731230400641789736618039175555938791849506317475444635201142333992196162027498521661640912426735485030636468957220008247554814701809873246267238512564002830277682843051879364522478749410318152807711862428018754658811955623100824670549086896257217346179821997760422980113285333728243457858912225253516354133466690672186464288359195583835685535575722232358747837694061041614716027919406087684872901532346534540835339777373439143687443419334743352462307539655360134279790903120020777197652264345169744080786806571884091460204019591443339808034246602522940761038467146739404610694275902454877135422094080185043726447798059490073797545896021612319730962634528891541183296723153685575416510522183449809097793187229968778512732815388784712464659535028844664460885743074545572450823114951863186463271093602921757700964711570358891822177897930571708103037481428030317381826377793500941953399258148736156391221732547524595057519485220485111522526599743215938992265388555671579852351881890348346302141957683913208237422394827529158091995139623425494397088751826219753269212747597727530415368094440976241148268254851490760571730066488171436660356687318083448789847039086118710265937904270617166446601004986669466279881272813030226676843777915628303921090929939452746691679325331616565200699273883741395639688138048714651775793206925782770897318186009298530626623697452937235345669932213389679701595313421516355475949231404807008863446230333333639658722731120315019895343767134832645242641168942013942706173364930960916943773007649607484328640001085713562232411023048816772692901664891332449585222959447259197191008107975363936107895176275473986863121275267502345005520520104821428627914703049163816646451265296940415869695578545596374844973914763468611367858945476131297982917578748937289709489556767458030681523624681173139416263999798984812064198859474259244590924584706196898025849713625427679474974851771544882491412508490385000101543514409774836438899375444160708224026307941314144859102537720830459435478525018962143404608755253086461882083737950504990316486254650526148172139478144309714425281007641603733230458591027438045547179746690658129604703837226900480081652579340228187537601256765770722291646076870106292786306328020076495580065653814289125774087976924855962918004968193891253189952195181778119517682133315850505714701934441773764959924834526261595297920021171781497148989180111541847377914370925413981383995256873268948356529172065650893540874784192283707249066407604623327993770825808433515831950293510396073250613678237874579073441344244319531427387021810606671062215487205456306742866846542622207418961503570718009097315796799191559494528920584200646305516445412989525932115497778252965648801624720118047197212191689661707886266289943359152292045790618184878465916380165104325532612650220011724542623250017440262879507198640277332736964445724842806646589034555384842229070669228249018161749439657804531184623909358646756299361430719393452054950691208592152339835941454426150314265457092356456550324008234097462124953574081021064265431379591667102928860537166440892074964607021195938812673238191279993374396847972643027362303506723481420874119685882081003081184530183960950590600037237011618925279737290470359259928735526053950963479544061205615863952343288509909148453646752915572346666561136227560720019167653456174901956355577717371633096633735064533441815092451185043721215208844540436638460365877727620304475313324047421807652993016461229084286713620096387543046262832632427046917570381281681865187691013586310032767340108451055420067306985019787289176382826224646678866705936358081524999393899665313936836803912556243120913893762422129608378585003367393639209563518666287610740369568967585313918612501850738743926195676767257187497869486865506224897373729950065930872031341782551662176502276406493844071125331855211594561832244785204216541257889368756581404117908913231736049869635538380969455739894309086976305667871634359308429499924376961342144705896610171094743818560454443363777625108405887260849726279201242392985751081818523464759694435467677011603341023525106561841477612041561509355466900741315063052851261981399211331029059853621333311866315794561424841888745134571243230861478862410428771562456503236762887003646518337622937951014950107326616787180438846316851304338947903094393770506857395343209791442502053030028634737861286563893623606707320806264488775786595027386195964058874198205933240459009346554656869576176768238336176205607979811955877128388919786898214635738755342177810486460533396426872255051308599818505907598819377484528697490384429965556432735869574565790949663832192515647693710484608055229094513490535921750307897176055604449419750175721540144902867509432221753858308156011537239281016878288664228416980773910033353706075437055587448787474114718255643574236651082000933678727174674088833421730551205949013652413539297947231589709674397205676911446947287806384138541599489284890545860483774066519503633951087573063557532893064383276813265767078367704262197065880037132814962937537242437590387961572191842213521808401944544093752514486420752805113088745497197366242118358717497546867793241551444668963059940436216254025646389809775045334597095031915082408489980099251907274374288096445880519131276009540756160854294933584040804601442772041011870432094839162853735486470174098256988268319042596261179407271449583122312308909125562552537821549491075257545304995076193512466715259950283956034610857872353033325515988529774923698359051491986061746086681564625664042925318447149365801604961851001611805498176169867276705314540433450538076199871278760635068931838970541079621622283419048714113746486750159423086204223433548697927022416068838163549107780010874701360574881581629962924587905281449909184137825285402276395059421116958332924035759304846822217096716640022374824580354123441414975530938664596288643150273606128456722121654819754896858009423051653456402796067585616766951478934368592686641797388142175049919482689642108036194516724968781847832349494845442799778952291811416487503932474143136284657181005978044481754284557403396751855898775438487464490616642407945481871737481182078854594124492479283544472941797935664689746929780923614758626251474303103814757728049414669789028486585527250505436459674273428556728676044545001530191184811649793397099870276957053209543383381176852002098372489803958088947861678344663706970560909568087753846038352272903525271725664827620044453112938315965640523143730363745033536502237059910238740778910325098977951525605694857344810061844497885862783188307417171605068060948325437559561350345711917885444077830551869982089271545676467673528311154545326341759809058903716605106940814740429027566575400325539460216278110658996049227749536282443299210510710982998206957455463267097112638477090207947957372146900827142067619933147467016216673078842708469209638845178892568288999066510047070433673939224578239241925874927341896148973169973654541737805478182874585414689403203399300459784865492393687178552867759203031524868129821761035044968598018333496968282691951113367683848561974198517480689041531216972258829841670861573137129216707038450445453609741444038609675119913349822997541617721878991516609455042552879661337266580719967837277813918023587791997344659007742603506848305992497445950461915676621376701307721331656356643833100257157065822383245107440705297327570830617591899913932558988299493124555434744786130211717386643294410621254155367723929652471162183796393356303522945933843874493962068845811914061441295918839940144646996418001917979494656325440986487471622784424713860008836713129148487727890857048792655760593933313807821523882498667815631901377615892017722477578706456525897279797779441577481442522179132129124994200082446639396470832494926138541469264177245000425405324698926484255419024415715442416617149394442881662657131861969004735520348884869677798480327746623075768974436582284554220660512094455420916040098706974393051662646312197826353694775156097394477160477815984077341770461623914874358561957374469661416566733727305205576080915906369306322735485855817565826202069191936691953146359512883070433896551761325797454827617845808774645213044324264265021273719016920163199807191512937238403043353143159229966369130502730500674724121271758982369611547992807858694864 : 20957957372921278039266346367036112589586941068168984944048728191864018493911421540199490964662835178570210615240153402599634199311497162308402269510062056886416513490543681852587324245647932473047386477509854378160135624199620944134271201895889253979644074464708591224507170298261392188333051813053634436438884195700185466588903555406552761205924149012306014002623687367687929384833355791037583044194312523817088802284980419911920492063705819076714041349845469716577833584206416318295353734133348877402649487074804637949686813690260109403664026449926739533047007731494907553946179392108427413621988260649749006807379924393218007784713913901853880091581735151617205552726558115510992223184972486517213534589301072251282438490011312908242611707211751518499756783653362034881336962203124830413456756798554572849063841084572054415962401953157577266161186620905263177617043614071283198057614507140375304496856155797109947285703327796947969172846536528724017195855860917812251285603682529314152647815136049873038713482493627535984641354841049278182011060644337043040587760566301264202160791614560562745667595715347695821804094964511896874870834401959130561778904611815957120594238978567632477814111044694803008868318501958130191463923596397302743507248824312189391685713645774954855814838021033178998366008308848734319405611729230896273624184871283436653515107567451011902118967362052470466453413249625898755281609731293980858700847995841858053410281651494078278016749190304922179331265128977329360248688229359722398346047010691188696048947291390231901272313795238363432836074347025736404604804188279680494034098961357926552024670755623984807760486573676623303099670474529341949876485292492789082315477040183337556261644363153956712632173815575699301884941024617222798753899311016709410728368338360441166113471434441911747063081456438721773132483496961266247839300870303460800492511675233657461521808156536556742369371805895646920511376279764185132653389648855612676506739386395127215939708004510170703232977955400650895585849085292745942941795270205971902364603957919141245773696150641775577540169656741021579164462371136425896355624486323152546629035186018981573582875995005455611051425693659425002914376548189716403665014689524954092795794663448903435192079555585152804548938050147575789249000532720924227623557182777009377713282445978582753089570918509795154201922617220800974505650375914524373459884159963546985606654863617728179664392686144370610008022522218883505319218400526237592742734171880722730919669627614263988696178489634706968321199612372123829297399189328464418312956043553574205314146041853151815256726711352297014437526447102214455060027125869902235674544522630250219232695855294111043685248037008568354644112755943273158144481707088511019492995567813966217940946514701077333120161613508884932149172926936714871022381863973710715326846335331538266207941192144053216288711363505059828620193726531256767490006968891430995088333406191654942082326095038881750289119410603659332415872396183574483398884678140011026129918390918261164321046821273603440439129716195782766272880371542684460424866516232348839837185394916285101744001757253444740779672936472578632219372986057915826003359792966912038629610943442781939341033475092446971140984457481504253489954608703962030753889405050078467510183225174508556950934669782828725424104910687321630374507956477963089315592048722243768367923007915165893444133201750702913848885641660798649846133694647553472910442501675234848334153063697455295792195710453326043160403061901645232836528539951819257640273877072570713251528296180958091804791541426999808457652282472406781023210024927598939926872910806360212758059903533074761757857688007867920920152171186584824487904006544743218371849962930695604283519799522893570603755546377274692587056243946489383224117723557634387250423351740281853764168235244895903843300982702790463385750419389702042361141862024396422340736313342234676288928326768382232654019919136638802572460387136966362283958255897498018995374331571125663076729740403158784473456497909979362521203563979454902343987487696271498992443291297287265710607306941615850471034194199663854709897476817212352925776881533623062056376042169487816606619921495022937964743463510374442703789277245653242640173719241056414001476260451686394913261269715934234962575588859446517330442021662346068779647695661400312520697496459801832636579114541969409926461992550887841105535332166952428243951471129139252950274665939010728287153279756545864803877934257089998494556849489338298607710805000116542074533116399924330254845981561140779006405606979263349954689151030282041814056652808436404772765026616533025087442465391590321349028641508250249105585804067071229322989497342831807361389134758808384117912169577212409225209200394170946245816761519233137260567760766263806608774088754630561547400928750278529560563019257174565679667858149201385064375030115186632157898786672030473430211396497034002049771357700834283842502681273950098698304082464144490813387810975824482091642453885695391288022755203517466364082055250914573873151804950183080761380896108838635364613692308992126997256572128057600859501533246093469830904704511998493805615723349962162314390800659256285954448433185351988155995038685630080404176883371178988371058359964809731378970990639138186997539359534157685363281542716843385007437584163893989314803062213782150295277261056834618192529171884227385709281768805095487445713570812960559768138174634080709655805988020797622039617765662001200299754133644187256896786567769346507224483597275909007708826898832648264678077699702930023966702780746158457495689118581897295255230025187515095348995515041340096287300930770219517086675628340966884716206155300415936286029991029622508831282961552738686260786070882495461958056714119583558098147872543920693109664738090421008798602079123090116239805181291578282138200177143615412593558861329631743055486204271552199735685003965309591720341404410732173332100460139897220103545488579173139958344390677723371405514988240849712239707319406701015033631259579769357092977385659871247265965900925323959447453600485037410546784474578520037068022938331749781799876178771612418771076348891446305631954196392443022375205245351120852070667377712054330498497180090808785903993601818537273124466356368706822846452095448668750586607773297248016061330990311302254491272927202389775947426656563164398972262803512468252276293773385983593137146771213155468756569414504749132710950858149891629480695168996590812558093225695031133369156394990596447710428922512259285846745603257150824112704353505845944336976747735022847122270786739443281878226977021170124961686254336409098723101863896599943967192903369033122043947007716691150629153236993233374095784525928204584278382970384923902216636209345593519411474499418203031986421278981009671289682404095541545148773217830350633963881305891501405578327402186887149979883867700760324867806982231967320814471481433456364936432060544539881488507262396098746545889579315290313210969857463069901336407429463553337859622867567297516455156110788711162970131091698112830235924312727488515151258141048272831950852593935673687726334377342014127346159369520759983582983130018385861881145916379072885801666855589111579994009795210416205661560730976519629455805814949525267437005692910435316519385876572979868311433371800791298956228180423410357363632209139802210229380700492517832654999514322511686301900334664915166116974454299261985613850341892975223222293647377188797038695583724527215558771811046857034762990936714283871237794052149031189712072381898202052618431726800165359192704834572018331759327415864343438665814439492884454261994951799418462762261062891188540588304934343439498671434461442702886729381632650998669334928536454052481856310056671321383282560327465914480060010827300607187383109582344685746713824663350823688215702362480090015288384517601151628694681600085271352093568007081091468323988076339637069246507358543007053462431526415493412578173602818101953813366972418022334944920460026372259751600464887303253226053958591922025207582941494631290054831047372477162274112522385495408274039080264713842333938277823210276815313871539139376165434587128864322588701484720737397532757421298038198185979226393631640613433969543138889182275866699159459759715005120608109849973045067717578185171606245447728717616120240047670595566561434653309464533837064914067242218093455794195661335364288862897638281481897319350842324259797162272949656426943890374916039427525732167012625658627989313532351230957007576218749870960322125969528843159439856911766408209474211476349480675150482890932311163080453465262352229473829309094031017387903454095226088241982606292297593371721931562546342540246831462642354321297977102988054401580087160567084797357733886113789583233526477192284143516381770206728424696237755162018570594764614450989277645799214297809917275263430980675535254786310244348650183880677427537252971971433023409263680711837713637995915002055304762982348358185565305060713417937946669953966371422979101159920713489786335838940353168281454334023652547501759691505046933828370434756378150787584358587816365800008871502088860157987034152952550597466962367691779056989661140794478326922519284415338824044266427217314904937625454967209013833542328319357604837158057637783921555318482403659089255861078279931859278702218060209789450128245529488123835878264324560414750586068090932439456187816717451654064790487065848142529736846189636933064903891781036350626707102632492122098787349185254490766531507699119804339577936584646875525902970160300958339189025337251281431239558381136548316518993008902219565224626374652310456997585619593822242220635600815062143931006534547488505578193525946751873580965021841379956330146886200982577661611054202090350200195607751907786033584783469728990760701301625047925749350388532252955422208896019520630870952987180847225121690359807510348768959390180944003106482986561397410974457927266762073061929266068545862650988646012709398439333142226599644726534912560674500165068805464440596621307129522988483796746655762195305438799511847440506530676089258995075728603760114375417017573674028801433832582529393231551545680873383261085083392540548494080428494350817899117538224831434826850052396754553693200372248833999319745275863372061689492338798253278447737805326292665982107639188216320920886170293346353591724117501159977168526008589980024374922935889933402178821695331652823265753601445961513448066892762421305598309718243754849544909506979488250570035708158187273292067770845615581594370164594365442837111257088676169888335788242073060580034233006166557275241489550348226913189192748720057136209483441559414805902314908583733818990307613587323652728014412040038437267937555617276856957257715427740433389168510252022896784906445113820713615517805779319834013069773691467391776520305533574553324245295853691569187864145000913380027457617282897776924061567523255595605970712882816360575544484139843963933113293078072676930215324573517594967435416312148805021322537585987113179923578979840247462105974420858348817823598742505738861580449497955341706687062077701679111615100104653285804508242852653977492686121688065535707106560155514545416823884358664147973529251035290720898284710247449757806139976422881356045494946981129871261057791545328274436253095166260102570715919099175680125437517290154776680344815687679470544254432960847357682138789733445390420441026853014129735474586266349395880520142136567297412128250229574915820242118328439343411486480147226423722701291098570231891852062904944882548198308160198855081656819944995985821766901693315800419089544036297792216202233483231247374396154645618758578609233574711341072060008500484920986501215669526461189173504637361917735125220577992771771577073497154822042586019634661579120095625685071617711380812369068002034333702124202601839658361081950418344686519335455782704679559751726336763635721789591850517490401269537541044662856883325908927724360246015362671638621004817993315188361665512210740555382749606377358783320089743148689272811617754887555551402732715866217906421120556756802495105327040778491297309159399747797697236630650248659279963695135699520030730021024528881681184886972934423917730702406885968635004149919081136358703324645237001657798173840845060712680309188654651835229860637544284520526794536206506696540421625819234837074630617130382681674243683692197581542614815930913067171485176717790349054633941687599990492276949093073981947804559391929974186293356210873669935237575945436651081737921066069973118464940478963506479410523536765429054064015268887725457817973241237042960813567616934387770894517538023287470350044714349413960182211366310917640892086804234598720324724163624514335007442256151106380482930630056902660382288074289776441720368238511650589434619902758492832157496650622778507707704029857826126860843821458954183769265813635482111974534758545895155636681541117133377224441867353155245980859897254479167142892163613637494289527998958551605032126274593106646094421400823100871718587928067618210557413800725811079939002953077373208634028531504207679385321539922098681658798379065874532347146486378994541490359278349147725714315193355090038864093733970607899927715928160474836521783756175540883756599889641126130468449158860309600700273083652032611352953908524964649252043536098739980782819928322460390591677475575482826920488141796882051521969257600259940939337644847183097395427025801742893207302010034447318958157791440148301002099315120293905333753132174595997067497133074245307928922088432462776456138681386769717545933429167299990750419940069117799785053361182142573129240598724998910283778258334219629320971159058511320190396458396819388628399964915708031347904247882699936559396199232601472072026554084920367302296896854738862472572623475006212469335642536568344197981409645670591051491798253034103798409615608965731690449434130967292624387163289506906726378781538020962488424077140507916678943035562559907270936933866255225261589624228792936930246712447409489052236976717083525494182948722063797239268313344009441278677907507699564113931684165246379103323816939099484818852645037153890709990718308407279918749594295396586728363702388112538421079929015866710808565653678086889917146246697710636354027939489799848086086779520088749759774755363485291310851751818906073329881391107206081400780941017638055845479067754617530090952860087752658156377169060647930192365371078006060682647198043610751240727555474313200425598436920955058740292749611231971613036028699811022707007105689558447751854650107476917973255086297740278838068216148474106014381677235897201471003933615021007770247086347863077984116355248507944952784503612294311837364170501233071662263668401159902532506459198630071012210688872682014776691887646978233210323071809231722150839954582041459498128322330776254457782772008830338175352290810078445366414006193944640212627986399699097551566573794101847105644362150854859785329228627065703783680998147700038055979333281084448708881384643333277809962056303525095498048462936280387186040875514095875273647353093372081184881479948571035558179262601472842352669314034486146406693956550385918374721163443261709814527041064253732139478522241186633119005176505061929532761471775866472449102993606704013779729366054199682356702269211213079262232766991135497085621873206826700863740087752339367984759753147642701461196839507833530222768375828649841485397081163838395744975663938650024237135317285024417541056053594490189345055183355683211978631159449634326751495763470081292565918490707396394180530788013564470308915237713597819732661916707215430736291108106538629169269927412516009896915197739811456193216399248613724678355684796303680107089100741272458890387445906097040937633905262536909321764386296992431429701737423404620897382553206026682865841908937297621508372686373696729763466313880741820991439772153305106698277776383704316154028715443817099748130082777227258488805929195213360593655858036735501086606448856961244942731957477914872844849730287088839574104572899915436527840222579753942940468797359348684560288480726806983654281658385902287567958786359036796577933211000685884677466789352221794961185528448626061067950331276723455787664642615012027621075875321848280670416510192452031973163091340544422416942564515458517821608265564096145460646949834145090192080904398793900911207646168348647183454076221634379923885420392356052376247682286958803085725315594994073413670005226404582227047059009723870613120433826383908650108748362796209091070943230804269607328297084907482507180272602542296635350481863275289736500621658804266974356523682442321151926285060824810321630524426949103596193542304910522608459684160872221890690377677398490499421901018733199379553045643332666660123829523043209090014745417033343040314979750437625041925198571131637703630912833654035088617262818371542370161745358523405292840645209971959412487325732593037319351505604356610803725950012230388795579948179191408232318392665791257364113845811002812526366104775462393543478242400943791416340322563204150999587963370401110473975148754535947241451761418214840349272848391982507170705696707674019200105572612181843832521319861558887134704259890360800812344193774180757175709089401836582712914911811475808540934077881637536137109495297330654045579794965198038556530820153382176694662398179123397152382525158014205360724510061165477813009475247378188472405450338553673912736854204058432663843268065646277932156194369143564593111587501942347376003874970127456928939243231552569609124887506221820828523496741331528416455561410233471651616979299489214847180179803520003355749525744434703996862048248190587471000721259999329096050921525712771681850770284152791218974161262502832111407440767344778525945361969331065321314990419863023260111454575156969959296367880136479607020974597717827111955226956576604208665456811187604900747223679067700591102104226123168474498436488344281159026267533743018400996992125725390936459692251581945198777371614623502118329080011306457267692810724892252074384935216560521698589908408862505802540943351652751772353554916729256431940021381711549765211487703735080769178793743168599206054899589695629796886293673392751397633338717886199215966249972039003341085622369606159579449833965189490112820494668676455936087216815261465606423625162066889018477516110007564295450008707770761298918765595766920899249160690516105940870209314908866224729646888489302175198175629661032980889408620765645592435781040369255797082897344330293264401452062875462004122608269209410922666323071906291554223928726306794432064508540622296354947315384627874364902013025941303896864581887553065920670117951748782344602230166094423094147169588698699838025471697691921691517052769684329055364223551202501121129272498950396427577685982828182363785743325969660714377968578193492329041149525241266412474167749497611393293520303004221577191180361896963906911830541433157526208058351569131020505122501600647622465600024907457094030542154487427363510656105773990066368512553855503299038965614529603409204468384804543617279680415912700108245268535732240575969273643818028942105466250802175272990881188681730577129946349758664361182239161451418888212039504020582827649888414671501953619009388156226119467197933958448193488113661741546641621944618292000787563958298682519240085678392250584708227308706176333445207693891849819092738002055492681535971298571782771294908715807273444894844116809287291721693901894174483815654416951700598357197662285532188349429656139059644693044206406803425977464864081774837526410505497402780030054692497324611526063227033022294715040992148144799738596001899647030780435216897095373337682696789035401131661768441231212571525737473694558392403242087035916706678801367601811152986499460750417030819737550579637270981735992704416397865967012201859534326771497532070898368492554166784645485339640015486256383015324686305271047525625317348866396082925637419894119680543407736025597467029332940344666193930545701484652715115864709364177535527282647770110401553444107982415752982454001385814529235144228696452210250493573490819477018812594126910936341359485105976249827023889640004962875297656606346611455108925445386767457353987095645252598376094291047005553488896386838845888621611265424423406238848586257058182751367122918060983129404548632979399029785203794686230518485662623655073386403659055032537550135235469979590604921360209083076467175650325156563097176676524426556811937910060601661668566949779544502435878732008686504225242897125518763123000781462925489543535349979012868632805554540996616006904451506337410846573359494731213817113123442432716319347408390976485617192672083889752522809693241140548233864883972566774869322589264649734166990507466091214205617257815524491519124117038840977320170898271263993566903984932084963298724542984065586767223303782146971884761268684223545335030201387949493280701232404612581415937916345596056173948775414817678308483137776063513617634345924977288535647679175682591929505917566100785279819804871654942100963887154046581594070614604221024148337388068938309630774134255321241463997686118531780834698901073878551787363300517640185999855882072659198889987277045042256551329108999056405929253215406298369807130574479186743433613111408307117731696005672126625001157502335288983974501052228184425427293523913322034061575464281425320469503597904376361276028163634688670172900585025216904400895328848930832536388669087849479420230850278962760698701013697009782029694867890553184106681109062119429640215637091315734405207947231428148244403864232098030792847700844261276378832873460346161400238271717319265673269572571752658804959313840483455357217651932580016286176814864050310280777056749590105597836209617126210008949099947505034910850825234350965618375579304955663122319845377389723560048203393762805550174278112163113611053976397057120000429488949764816254164747642792878012037261034411281708077688292476638283371839327308363041576996286784374108157359476567966767953543521345005927567220212264877111117253256703647763908286390013184018841464953243752352918412369365575588030114184729738339756281381244421245035170164483173461410495068457892122360719814695301836485949367788933745210691273022176600641960912361593811175279726503737832454588130255013962426933042150002013018074491978902919369581952263785679598180164177545571118687223228052670931215715186418555860663554639527983219773310213141393612676799077129117088072955908653711500127453415546715912497727154618112863262787642306011052010601641295607709006633901217311592574507414207909612817500558882761745922444541258614748904610991105921957051539924508581211402301855690076956620091011580936367206818261437584833113412874909517246506243991182431187512465319064894960942475534264102254717349793091247989122690442454132719624348056671826069704202264494623037974028709460036586215463429170893967779967173596622991771795511747585723149224461868099371296771156713458724966947203615495440560669845366456192363504327770685082138896207279664491467046497661426736181750619187173165341545357501305635370006826894712073258582977965065985688558039282733778689211137124015437417879118978932970863459072595351964428524323266526750457036993969962364297739405823373503352323114612735662923981160907067200768462778689483039193075864210133823733250982629484208124904004328241665562138016288121081680355884907513333700990703187761020015234500251249918234595864615735824318956936484086396734634217200385913248441428948160242439857680255365206017928599970189675923359313009183513445548464940098525770806529784994218676097092851303807451839317974131110907079016096973210301990726273960068956927694953572803936974537269443487327617994114077487888212349292121844786269485813582077596793521257219887175993258612108390642347551178710939222720107534706303807997502535414665917151768786657422684862490750337717981064206058204338885096878865645000597721089044107140761694378270098738911751852238581951807815930862807388123347954425365117173052586945678935661649823560052361800994788316073088175874309577995265809026029449095411182266335236526862362938625034943946235097191737634723502288159786157859766869906688818019039432912922205805876908364730867888427237451631891085678527564549961126760772609005576917883768950164591809441213723252909075293576583374020070458874751131407912233883962519760467308498417522194973966385053034654055152581420986198149047802316775615968517630252871030579404137445456663572114083858876452123255356485402776352308330773688096954806667781028050362280198275095303557003565465760654697487273202676604362089412846562241156353926976905620704463052265857132822788680521451703268955511634369282295779430833841332587424992547523234271722402923401348095127092259646521277157533112326730186565498804886058471496701610100377216586653856875746888656955897975627295566648840099568735408358786538053518525964779545781319764968263836819628799630201543670516813457514473143096544401455418269499316562843123752749733089965818634065728542300832356060199910375536738752146856749357017752911278005769754902893886134446968216682584715548304310259708714269522803538361269831136817708687822031927342129343482309249524330684808470296589190996947265167986109681383684608341919825906670695352708173884091115568088297373762368937261299548848363003257769208452449828304341497615610115988368634182079611527903430620480755741068761765885289611541882847545762572469827812073812470963206762463763401652756192882608557658629249246543162221372045089868870446563764397233091834576994539718478520511346069013599985466032526030324584189524064956399166561335006608516075461741054765026857428784941968088503212311225966606285296781674323689857546319126734556127779121376212657972132126442288254948144384528044630358363651461595439897624381517616438959292795428365383606427764887414037686668780395048413063192970791913045553679573195846348308859443488663411760038544333872356294276067527178032317407686084572090090586921741333573391625616843911461603617417022693435551149058071750571913742150266220644319279681785687777009278407006084897923401816544680294562752198814179279289839038619446683616656622013504619067310458816385302284018393756334067156924646957886718893582557940493277180750432281019704940787206875325133071962286526676726796561885018341091358591601503013265964393809352341856146038401855391942912278156627331862793190955642360749661800062192421070706717350147576770011916437926770951274833219564860556485884597371046111638088351134540610188505660385388804053592074327408914609470981814956403055826550077807289656826477253600902001976563460673761203217742736839531286127319138054185947602634786068984405603154367643770609627957400506076881350518881286092881314399843982061089208281483460616885822072659276438497249080934212003255199245311027015984976281795986040643055233720881627918712219868914813006144089701694336058478163931207960174981617751194608497458257992976372059951382441991143048639879898069599591168777530370361267837190770401156291810382489188048752857232121754237737646995680867754767662090997548023921738545048814046121669069887031269004841561413080626341949583028291526857688333145083643836021835211058812786935272812321410784459309223453385956714404113818656281047535827723781748451187575040511267016231353353870213159008618633321362922157997529257961688067197885973869441526880059357894363454663396454748478662434812688598908192729203322288224394899531823202693183845357009777763193172955149416838608370596368519059469006565244408258021308178378046239449399242235118960939506316125808160307443234633535212736796769055647896933717003584081767166979307308606605247225439074054951390763351099608210251912907569975914661161724714374980608123166469069573331740648084701492299768485323332172634273507393058984402696564605697385576695046559635649519422393610690269535977588706689837876366903818528911016992152072274539555799256656753251952768406168707784949355022093531897500292679750129109653410248458217592967971278034554080504468703562454232804007771934295691278248817770761775413024811064437613200798010321760424002825249536229715200585082632747776383074285469374378995327585733165089726593852444748491492848173156590634444924893599593374349249779201047403562371837602109263173980000045831058803776554045032662385193561766020675447885088973908443472269689329854644712954761553662339360478863333045819395144975632909122106091701112494637093115308084133429689025487459309022787382676887961757031439862520060688362334257045937171733573193093116995945488889983462476389554087153952712190256996990733388366819119591426355864565302490242754994561683569894087231003513264559725970001472876182826834247854947329996651063801394577851828555224775537715904303610248860412247396234234446433362401849686895771761417160288354784609502201639836968334791275557241712622634480264512762218735688709392411970039701923032288517946385874694394910430391988960360662970671071073069675562724253618115761420963949581465268297659203213201706630122229366694959580162911300494758882603440418963411045542950518396377372314738786672403937340011384509540604986132614190822842165844578799449400856123195435302332915424053354972568911062648876383637677222326500514335904736940005735895532571619792345284316212555643239637927290691488465185120896605089628873195654673065017558741050761290750750211966207889789991609898356026857914085919020878159443201279491244755076362642190174796654325278169648930565297750466636917531997266415997007758989180822498488325901314803243122622961361811459723647184989881988694503081320271623430989957072207812451649780757453632000460219080806016359548306184193661927388864827234515360853867075543041486223550334510899984523184594042939668025219164335068054190648462727915827266931938977290363441049748384836107391658667593565813320266010972486772691547934323878605414794427407490150409669961504284050789312807992781343209983420297841229190647041630810074864761987075567664005628452512492702144667320792379492464381513064197427492338206297378012237295111190097235571900157085047750471779752635829954603249639078195810499724605342084568282946914307498048332758296228907785400484834674153202897724630794018638431340041331877874494272579801655424801171358727009428638876885275476969813844748837595091375495353383403586344150917464541049221457274782744690515136011625681699666429619549416966350761987851894217488940035259641571379676537938948572905682225447405964228919142329692923943719950138030092997729389652790028158076030584193619119330727671587722962725190102082621959511716406489615529792759872650723372612121930885014187406346304483101812306681754413311963688837286931328566131250826645572630352826396974287565741351243746866162862278018871583430521567641991750122811131483088678073909845859456622071918028132291412312244891678504392473068069668341698947417989891599165242413383033719428821000837550425771010825310307743022500399210892436414078952166125302100843700541918131598739503636076789401870805821908621429889793100233011429616544985641917388874817479632633906807769516160837877415011635529505439916795798686041138495024885240519540471610851139195815030073698168924311051438769816538904003982663626986364117703294269681759462854148333634739009230757091276764782035699660408907318975897393613954952339945245709619985345559098577522778262334409881420648969165879342071324001679906435725348540348965409557235450681475603378876764602947508962255192980347602755078745663393602859740202655209972333421264804553277200486445044522501098318721596580889254830179526199186974124731138758376000426608137087335219575796542747932777453753487830915137439385787609971453806783395559817321708763576037898273171692973855689174696390733160368996201806366671130701564965845861470445069333137142792910141794170128461388098168741437973765781974522193024620387584998656137885237149026451349936025081630418881448169527908854733728986261405863292846866806696658423728425511946780288088019495642619060319514719270177865590875849264683002055457317524521324365930887516950745469839358487470939054164143968685722731224297322318202874506484019327580174134986727530884525843755535958172965459315756670782143317820732744327324519315836037646143217177965293093484773724008055825284535370672584484044167953247596164222643343297574314937276710632536419016873891042123424793950622560866920785075888097243066323192842026610612775715856633964095448598239531947672467726599675189915484713815411500173826374426952568110604471962389827354628772522467078621771091093359594412808367033237561898001586241410730216796685508937984488675645303113961417418885289355195276304959827968906243886062982374621595378446092878140427844520047659620832101980115569659252923880489840928060443139307082863100147184559561232523996540788266725236065679872702226770794587421286528122310973441511854720457512776456258104217891230224908479004225589679043121134674093685723894346869531639839826897628471310185778597756448424234639421363160600673213134750030488642591385165848549555466299925009003105850421926642993773585467510586251332366803720493138703071539214566012373427397436769523109407295096145062138221107444812227517304375826159105595381358789684359614107505329592046593140800994213176794432231840618350507763773805327877282362511461414286728331918760906923137853777790446979219988271312732187095614828334616780018593199757958976589996090000635324042080952644051756121948632702917454387208059985637148873060699054714169975437119517775807975131734755954346622016853942419601402894013943722075128864842176304821662843284729059165228092831219876251286928356468771469529162573211198370171580495236179124676795457557675250831283023408935370642408530911388915913228974888771760504570828693778369808777460919729744437358685296548717084093605068061277344323244653426693645323253709833043696769269882510618952919979315393855797391784689443329478224068514859883191185997590583414199946749481246139898682986956965998686223951379160348991270555384809726435370246837670308584672390849522818523631577361392170478340427228483038466637223807802479947528228293316421788825804835460164319460828989416285003274519841330242986712395403971198656884374930364366895252737188222935251945179474209220674251347460166375821477225424362368135226253314836708777114090017824625662352461694258995966168247940815767751313907520458976976201993443125249434745236066469947529546411717981608734377350520501255536249137752701898493332503865173426929439724746829187193020661525445997896954838967490586278469522637528432724713396015116264423259957530401135833635074174418842961440648621156616963421120122559259174262793157514263233228368041216317415794957075502914492451760597035068149491287423132814308880756469521512502166878265005189002593543482027435116556443219464721797438083905751176411639748477902317904308228374816087068003485782354843908028205016017652359626745336457589273734195379136647294059477586702719443872289369417545585275640143940963834875175088302732383790155109876055809570261212097317229061469433192786962910171546223287958183083990940242579742108370628369559396326183763470468952902743036377470239515549790107220660931810237026427405512685603731199875586476404086867138043702326480155449289470759647876963133653985687817918379382957895441288301378787095639863991914171896810963165732419490971361601420642745830932452549468089775503897751279429761980193018469840263940006659188484751443582272688699305925921803570292986434259607707930875949412186639766352274081925480542337556987992080789413269796907585070388999952418126674826968025172645103973625782334151272635115946985876435018905587803068991288464951020177687381194576914557521353265347717309266095396771763971303548106226309910268305767896399586832200429643082611679702839782891611598697887041386820452167373021592236314701106591139947088581275111385281865233535200812905022982282828880839945937472792231131774746120425842033062070743816188749128182209514847636980066777272064547601753497399955075858296013969815232005555994085129868457551947190076169291456854106777754183289409852152052236990908354376715996359107355217341137661207018977925748788878436522723591058833365509594122634897652253382404515274934461938032962293977116512757591718202979584393151830979842016508055887519316564286577723080894380849086441134765946996601363805057022774226130598099406138583761335979197642749648938033067736205978222512675871201515591184216230300995971714471211763991146379037946893129797060434826820591803357533049460453275175958062626640040025433081905104787137617368124087755301213529204986136463251437894753843648118772325251686045977378412457550255284409971235423972583115432246797157459212264931318465092851081528838606795669616770266180178054505366736639400143536808004752698805606739667312832567546798092351808293586076989527484962689665624558999195818551199406407160117101072961659582631780010655549955349733261062810203721780105789125390863358385739940683352114498098568177170511232865029916493783080966060843036653602569500369400549938123996213977146602234131673443673615743718291443739499254591114271182145014061551808964699358415763042061129137488945599161911363406735728963988287719078675726657248844413315471909794908792271213983267038285498699265367935490950140928270448518624612643936530848367749008198597124566484912200780878717106754799961668798123712928753402338518744872464966543694233426673132495735559915642809864394505498495864640818861403562269687211321008579451295392274830957947211812093343573192288800187731946360989266064641304595134807957924870085202780186054329676656308212657771686230100278904702840059155292485539116266063082328556200660219043240783652832608301993336112290436972190792183750550078150535502586281017267383627035721495466732228738630104187824087406424622714394365230932881375596110925541611359158724293944052821599552193431761788466543627239395222306987178896383014796465344184624304072492116466876549765817822548335590958942099576624026277605745005999011347688398133132582432060411762526222599758934885303349407297712247860513737495644275880121736438674103925980098409939599535473265806010302516622003937861276177132441371257625371807380470892679663187535831418470408186649894398366781890972502728500562441231923239398094033112786498411539222945137475324413982014050043235139745055875184936853945635405223007351615042531135504851713307449984100646315382751599633732554624622847416565153876995363602153944130998631600660581313917193734551720571503626858373714104832512992758514618177155375530822071877652633921488005348661514695314528858312493106952368510844773118784039640788041532414219849936040029171814155725526779690695603986251794348088365308766247183493803382481556777086082965441237479843766844657720237295712006567718043491046247151108277793010516852967055768509232569631690108700046856935231828716428572576421835924016347775299793861353729669315925978292221611392183626887995341988505288812836259803569374809685762503356218643291261895493424708008809634816323256849620533564908739045847494131401177587383610458177889622840436531979594139095933039192077357090153263976267879255600338937049829075381055849649486328813473328701283814010110006464165271832623653002657567904102335126044496473578109993854637692089634899542470286706882677970722488369016880968192972132144295804374087697520836720855102509014317218408970152807263662737302290233533520602937449277886956932070256309042916261954889992624315793600844544219897268587339346096074021553207924215491329090670611725144167520579630694384016712593113298500660097740742237728870778955435615574232341428382910242957596825403276563327776672635085384609119820387646290545187482902253005992045253253617572346913130634377661195323869730249574536570532427894998758107170301593283948342940824904879870191277021915874514134891627044692122253060165902995697710357375029450375716238705941088022678149094778119028874498082663934011800775884614162924207226940976455605551147334147410229792759693368693947870880685047395342809308437538061366135767499673591310124927920661506180351642148074021154434622287275253305477393604235656396542355493077085327601387311110341804276687046915221659026353829333226079070773688645972712163650481889205263660068975643177139661258742725279278138226860065180305337764824832534326387770602818235708064052586029250772343898721454013652918447168012178557081076705185591358938553843813822044520641698623150512688672530266055236316124029050390187462513087376465269696643624965913486493052406853632360019788058685297873177597190489581451227162333724199149088393744678933961808390482878732631500326734592145195905346752429991201476755440451244281298380693519561514729384125294542386248066854749173658574731073901462153176447104031204991974319432123165834598089905553987444331058586989233473535085158707679353432645759689985788601736576178895791443160224487383756242421252114014459852324966871357286781099607974765284788332324901174187502833651390096845147715017802727078827893360127488608965964014706444843098420753692500764065716303155210234257278077913045303408258734433558080077355738583340388395459573405515587723381478786910972536082730645512243913081728113341766774100019387341766874909773842507516562891046249440728633344627906469044422695419938802560152057599212237885747308968159357325555830957775369464067388520791880712680800339363182305678705515677482841689682662651797320083455595693283032299140880878710347911875976611459671047454048776501721257557680818738383147586433564669853826431090854721916337684671400751482012372988150516968122369306599084690693632049582949035619804438355134170703962870122093555291553596750012514850145515241020257946004029983679993898610051037707642675090377543213300254551746977879651831144325882909224890140975886417919268215641111373241675346359806568312321326520342233534312967240642122307635776627123722597738849170810005252827503538243847758693552499378216608503616277684120958226934331997310724264637708875143660438330466479680053455016926008964824679211422028048702731135674499492241473266093927262267647877455123554011892457355252266191095092714436580285406971154669165170677593768829794955743272720753414999536695899213473464804603956049263773495631729617228436013889520765628409657837326091667290753835473666929565672779470602438888801758013617333303466291406015472516211644091659255232009052927140438273091845775572466360930844681010958128443577825497749910620023028625721142652256629114872313937263856583852344668552051829969999737520921182864290298330822006076788237196162697413085187853464457694158376918316626178661699549312335700962812409207226100376026792753584958087442066815476399985944903831524732526855116994623102307945608718095679150978548906256905452176638686995118116978706511887543526066901868004906703643267618035624283370110211382267699228700332195220730387896655932433608792374338274681654156519713815483558470892012608209498801549840609102653142618522476072183866305622658343875119066913574684189413546863976810706908747895826725775830657347318584165568254533460265604316846285232262928248164582170810976242660110585149982602343794108329399848277536553882492650594316676235458016921580294791565472497693227995508212350608883367332487069528297426017001011700892534364237334752668503167628165873687988591595926699650184160437644630942902392369930814178770821204615474145576095064772133482036949567015603108438540788669146076568181685108183068415866439561559481584122560756272082200549735480712897079931345228876936548516424885851884070720060429265210616227755107632962736593293810193081119670189918909475103439030729971398656133183147657376566283421774463958282438931724511612949250216838580212974139834603511287907927781993748802262926732857453577647557984807584810150427968146148276229776594620069308937069962385210223461312586142662092070752592243562981834918067811225530562514138555832157549932807065008071737343391243298474414090665696387141901068003734724576635236056905852065665648548965624714918351547766989725880546401782958013408434562694357614773210813481285587620533288369857914667574486220908161835820480996905595508579242832230783519448545459307023236238641489736455661837924924733716579294492970096928065765970411635808905160695132988672781420121447895919814934564585399392941870339939916554315012226863883368295828453937092512769979547280725208391005956035623957240904585659986746833198374819569127783315434246673658360566026896667923211480804092701249641359496683857012625200432879978527844081582492268055010562084879097697716750104643451120830414359937406837908062140249477524281857438885703790894736924544863000869781201909957601124584238028662417175218136783933771798621439691787483193512415716967016197135031678503184203415407350009285806931066218189581753582360359501849706618877442705229255720688157567637971922604263726135045514854159053747881293958439780050376396029043955240367629785616658645518068488684418320518095716969820108679340215209204056079535994568147478903867864417331961103307416336727328804311029235620790799624759656260029589653157937576584286701254949143589033790398859574154544079211382571976510227589493384613768354113177797270300410584984227325856898612983807754304646958122014551398343161857900738508667929085542265714731068973265017627690455586586869801333623724314095353249470760554654412363072222049789982548040985134011880988551740786471681757060522304527809415854640229650491247870000927967071785192291457225109465657185320182807792122059141582849751619680666838797150285625023524058352078879935091958449675816486090480821298154540875019860693181193222697803126648804684630135020759565981664614213391945253866550030711265712067952330436364722785074601298736027303988758644006509000921159229203556323990666675361098481510183536462708425929364923925774277158071793902954100425984366975165010621037093404138502390391277210772082178135886530991723047853828290806724353122258140603658404456074308569222852331053721024101305148687358607558064543970329160548372552021779221302121960003980457792705141267956592872687285777652593564460413830904545976651712006425173310407211259851256922462566720054684012281228644163916324154672046134179652833443667880250803965492491986329376483984540112971680286086018551055777116212169356220025142977388909739279327409031113812850336001391275816874512988952595759345337523368661783503348526801124639247747172485853254479819200454655871263509859552799904949918952822248790734522250176770036783406285107377905120137067591342699451618543940662090962853864186762259135433189253464692549882741821058280749144481023569948999492448725411626122539645656595851544829147740175003106654059452057653715555222765355400651438494122873011449575322713236889557915341538938901036785192198101306681396193847719028770353828844514864664063161671673521178091728171582449970278868821799300189660112162470966724484147400367471120705116069986339971064224139761332661447714697010147517897354559329145238824372266777888551590294462775271638079902973567659433687339551290441071963157623359969861322794218871913664095547613961843926059028642569196662546317159084730778744870782371980367250040759145800368814883809842299220698701883972576248422859846355118008241851766060806976503552626349438918687128131360935849223557435643657959837777032991965868859271814624658326193557838944876770844173966631000767632329834308859575438091978400734624837632313062758249906733541696498766915397777235724933285382871528538067052294505501498293572936621660690607901916498676496780636703548626283549106768784064524569632651984720990498733554364634786139879376750616845033806553959661977141194346178733568834665525809442186486840234891615044654931686681993316241612760958651688539013778671849384961743771067530492440440268633618899695707799856808139194741906352662754694940153144176678523857382871676842849331871880750143887148234963979834318420949708475759487913322452236000856319640334340546432115083451178516812788065544733288930933886115792498460379863113526542242378213237482403444328035844519564804797018495372027695072338689683122402050041384200371242279775624483070710446896596621742071387461701451673469713145606273898991065733054275066056252432937060624703924458735523764775235015543865128442527985047205752931509483747113215116953352350446077035558105066950267191441216524660025580666240482356353219993915333545680284283345869340853588936818637294458650212307193505607645637892375420589447930825114324753790084797599916741302884258065873824457486202471063199971475382612029147924070776979833418594323350882487769998643086387502027619798681248958721998082828766916132505747652181143427567900077134453999212539488992097311236489225225510215795582760056089878276197268648217757310729798673441914989788343254998448248833877880024402978436155673985984048701085390712801258114558148407080442391844855381042255694704811406801162050163283189771601388636671958115865147055137803181816827105092951876699534224942075932438554748798884126226325060890003415911862205517676526802858443951397551270697785955166139288433282252270052911878412719023134550001682386718076214926445746656445299558465014927262496760878485481669430440263940208475729497560509394683775677443149177178255771526304217696583393056403901514478136892975666172722009315907202380452564913320272980675399552132843610401512803763984949478062750315583497902684285348206038218747590016524987912284423612511845694123172215741077390698010370779386639709385094842170797724001042781650159333201887645767505978702997060286112808449467896183758021609060621427189431865157290375472486181039987797367022487896309830489310905933719046941341442315268499710050881107453918559840489952295085752255389798860857625179958480434409793194352745756063939839818157846449031090792567760707137579115782844151735411799684656770685127170799089481124406810037532553930457019540336398062771260729804020522927698075979885598345630297772538418757834755254828372790682061438522340382958574417811904630471378842689184935385159117544166929603669369255159821513148054922103992199346270528671511746041584368086533915402843584911124056505772813886981087680383872026550653207432214567421334715929608920275147220254759935279031925871826115477480580039517201820490977793828670652386877773786563237827553873492224243771593084823408657832804231793101263688771269452364622168177508771556971144531448900567177713349463484518575503850694393575752217474591502562328306574889441878034659337630436306336047083697397241399894241446105850309931125685817276076984485477168261568383363056236814165974459021535508624937882831491476780413099742965117996188937080012441210827302240187570876522194509311891551606482020184387519904369696611712193028263884171021799517291090889292210477611760213593332987044064415564197107094233462142228782584261137196566812510088507621088340186464981558283708657016723004065496426007841949310081780904428918394811822247588007023711112609273916100463131966271750077782140633177000490217937790395596864624513393348607552115028193464748675454704057650026233148291871072016748960694168290675489227968198970109552586705736150818403290612790941375127460660858382560689503950992702665659278176948019282975974984874072009696043908554429844712687905808808528647378451465749538527247420869748673134453546214207230736642454051436804137468100250802217112803488320907914209036284304068842815985160383917971540075464527286365031892736760723228957703288892092752877980468095118367870928012975343534270441969079991848874980650542885843146261046850089506983362948967659775728968124380438871494614432727369614617230485250926714315950611539329256389200491379229884377618307052478856127945001172364925323178884283804825739857001999711743544958791675172751492072474856952491631986078457857861616735143556069525286699622801723091146833198535067707778827438809105633467248432508479286547738888059030778582169103278467301146399327312947639301007495922035139627377355464356760517632916595707592408562903618892741917221301037248239804155609617979295241231686258826783032369289705930466635296775272225731065662957331535285564422724745799792238760985915500786848677973975087234661220087818282082638417894351840564717997749408141501898564602984091646395727589962810060290002848046627668405702447244214522274027981982187239123864781371048461044814168071517740103141342606453406154352024344221047684400462016265803271707556499989134608032836031134110434553352237381442416965207986986603862284140543460535343411813457008433433209992264896093373311012267626338923859785060203842052577865097844794565953807614449203797226535488598103750871147802475073741835872452193371978837763923086102896272475785432254643582497132816163470307197664865088300150906947104676294365448461062576331871748310894987571771245010211288311408346318559798587629773077830969059651742574122450884756168908308279395808841828894167975746424085375299603650015312220161536772761418081610158057435221186074320410013296485660651199098495525112738131356477624055608080308128951057349455789434368127199048842774018429901221343368753063352465327315819034871960183118746278937080735523942267710703194963098342334993459607246061369237793831561950492810544091564769054739524443764327219632566145661163374162305238460561767395861500583755285891389477661078160519377484276699584778038923493523277219802580277238517318156383324412093631296033356226977825214675559831396292144846196920134598291417682807588375782741905218554680903853716232289966568672886646417301969922034582210120580918268258833382339259895926476449558468428434432705023439806667632950577505117627703946526414818153253176326467530345342756515951968845587264588641945626771635370809123910731533388531351957555901790948921487582943244274712803481833532465063800643551941174945657671106783713407154758536945581356728215743142669875188386140164165645048944665273726665344298312885127151604279018167803627858218017698963292454710046420697889926263829981263781106300391019341880670357896542726411137161200515697268772367278487340847942840772891706499385548397217359564453503227447240569742357212516138460341903193500596075578924389850233566923478699300117591684300287945309693688983220544553502054702145318901833399095146348350294140431233762955700995494867230626742235834750498088683658228910612550575944469908035302612606630185902453717345233494642911670003559725852609061773452341565551735706973666096744621597704933708476685539462541513208323753748029170554954451090131235631001390045469556860784859478194098893579416103953504067876745366868350304844983625832116745609314594355889353942420908994976037622399645934029688065230996083855367180489238070454860226323642529810679239157491060377054930303082556039715553115746252865172726564489644502554019035315661355158635618077646214810537161053465893355206869340019477132928373211163541399151706606235744580449704065042470621770999288104324712676535999485442010921578673869943018363647516976087960833654908883876712506969940909252623448652888873868782105096129298664889570382480112171941362961222023406899864054266364423400059702330709909365999547205420486924072512981077894014545429729426549082690343912915020639990085445261469208789242335662579291975446658476103144198824237113378427826582108767543664662212987244066238660216083260362139994846348369453291604800849550501469295028487389471406105747540397628126600489100115568898706761491574432615457508281867119272405175452125669535564318159356323503531973005971091182662244754505546726120108951818624695150754776238107649078223506415344681365263490968744407125971101925456996009899057501419351682120649816036255611607422467305051975495304179990112135769112119110036244564652965972225913064789925920493718723566589289330918299951672376171437102146777234468698901516325077976021895420100778499164062254892244250057833636262861039795895233593883726323520586869742725142211668897073896232893985293541629321400487193355637752584923766819495881950532915634478610628225695141217418610527966738165541080168058216053297822799657933381919501685028174319815046865910853365108431212339143095534285862257323878430442519742037586674277229312205005060078813760497730599337817774073406086662271280710202681847306122076949627810296159986290324527377758838258327817427145216900810959208392316760975708768284207362725526568031987765762291503753008499864342809041649850818270733081774271356974412197310707608337869149173772749136495139274642174209715215007775187301295461230714186375305194948082357802235260862944808377675604720682144732786570633782698437856655620836722464740372689490766384543232532694809359624966177370635076176297620402568838193620439407353410632808693988991187041042807010121219333961720833809763588660716036943313670445011064061979998649353371022169818008168590422102666594727163006667997050860416424736530272376363823226420613401794540824535839996475315463589510364368597967460392731135453499953942859646135966831460335351078011823653824302502583333953504738297979001543687474926727332346351545995926978646280591683071324808416228994901707053546228435183011997546574748632297991954982448829263168845827936074435767548257564396246493893739145353792512567261268023498870217601363229061656262536141728858307606770887738656228322554740646954403607126143599784019024614969950490575513298419030001614923288240995372769012964102076407265285219432647574115547552413707023110623050697579577320301814675914615788839852206985553119667414595088306576248301621984074813325683206755174620076025768966347243278152968678939999006691914013819173697115316334643467704793060662424528922757821931446654929026972096269121580810220509764803933076032139731881827508608151772470441466784214716153358302894458508932412392820967530459910884899216823537135682326440103011943260564719928049217014116266442199073543914418665085483908379180897820716485105454799244885468706775807259703052096226615709737067795620302052862721832122539716421568136626574453445235751681660603819561115677001026246023643683153907735840984219966554187682103510701659363978113940667736766923395121865158664025390727313667561798504648232281615752733248127155361860605773597015481663568615300429349527370143345808286502819747853565492924063477368141933208043301950756400796432539995045205139792740397576601421658958257813626501234217713425053590964734568598057785030261271743604495158414663088558837437729210030834468600682254347157642083389851436339429256892751913605576006917576105126332709496728559342682776674461398189868440426858153467278259823722681834806665246427646388320234231157936202960541839439967974578148888340852958437364192735395794742313902125026077549609283482261738447438252412967849135731885255133511917417173749720856838193140561305279670644528029506083824930397637805577178802718364357420789582480338010644690691006229839350673154488610064679708289753711041555590515080802950723143618813162720574717037060242337167348166703236736693572260389991573180397178662324840071809831287060353639505471630570269828005062931328610055290788285360539584036636915283043687854110885743070600577839070614764176674539857053534366411127282597555240506074271854696530412262602258758706232106139047835598035668452088351445904640357172233319631844780102989766566172154525577968008125730123722320655414352506781807783339527106913395282484861016125360544222712021202243952087034018243335265791081313856908149049609697403583701208363113304896959963888725014641803001739442012779453321697087574314600908148555567099811405671607171696209934263146261960274202461512338023412381356711274323793396836199209627224971330869172188015067705633618264886851632847996441573068529299946136920734239569804112856352504127398727039795198094462610256406574390177928262547730306385910651349619620767538119791649488148450311142150782052719546874576785816780545702391494733504118081735133728034833815965179698439270031360403453142694320166891371326784721891668342902762845438710789896855021653159348578150204192580202304419579292614650100286693773183283755173553000256892609103329833938089798982870326263559631854767802110991223410930471703013065944386342946599279207593989821710716346338822583346032736227914666187650356424391198173845884211250768996721987095964873554684044596743976862422810984115128990798234589802687054158546093188760162941097856027646085264808126204743360598419567713749591414020986089021780617175451100854184591732515679294235300818970524718627441222247818872869683839420757738964972257749384497483174411250064453886987576805514908912089417322996643584547103510112403980608627404422806158493488973803088502409698943033755444899090703597925458567217209425481348100100914633241844961437310697801282433399848200179889790024579523927376601739321941698185495452553954573432994586845826882842706120462410601749778095897751157620622076512017494355706768639785286432305130609571674764807863917323573120219290263639589188468232369251379704208432984558398139375158170743715963600635725923482637985315956463071385658874100256275064646141844759949944097357804950464397071701376086964640080477758320764881137174893533061824356087502257963973105718164856008212081323208530924431689391675678065862498735607396217829279926261113234628486534553875492196653119024258702852247561005002132507777726403917450969335892782422883831345129157632011638939478450389126120276862173648403656676916536800640204535058629392647767958796149491912490843047485680148256435958941602064349308965447561439819324939599979684388778807211343281110181793804922849719429538531195579848410534249784707164339022377192979192702292080364173710186120162999822016305261787562447612441045170106049461800103742902885662678462874777477961357634753959436117278080903731021350783904957561611900679056516086608790569535081572803078771738560875928946433904378953379757487252163211937031794132272059851523496616567072534132289204349508850857673465816797793727985424847823282522742945149790682926682921358464130268392172643148339455733800714140767912980605751548567152992561955194407285910679682146640116444803066146400472890280948461068472976913440270590268394689636151217394473329186584035601736503338067178689286976145158639356698511035620313217955947604109099650564696767813440900646045333401261802403145321576555717782556625750860600446192249577953558393365229770115172904519264541657021365039854269929619482374372130626207578322606320742818790781537949915806673563574323032436771654069848000503678249723920939686702712167934291017431682753592183791872643527790543496036812126699650239866483806249484753605057975049636338694490055599733534187483696615307972892341115828498103490921588307560976403425377470188760766984603237488855029179597214156409471988121414067736026642167108703351544406898554908222834551947226037234868005425129099437839449825104248939595498863631376714200726296713140621546989669098887483398853942365542904218990957685322857177881002978931094721476175137931377810597460866529146736954264929670670453374167458372749669318001718926258844441107894573714805537644850999307895607183695608586874754445656642197651725242743661917204024875265657819097741231268994056290064697880660031975098881408020429615933902119988890762611633721517369882428312039094444760338394366344861500249677792397857552591094975880455684974700107488969776743811614158930191367414361603548236122920709805697153417205707109965548455575925728371653099636558675277025236571712094925062791105692803819376669600083279182957259873253315236870672945691694274669765147849357160131363647509171927630396251667045675634101681057144962200455743344288575655905112308249412559027549853803172869862708710190201351540775328921137373828415058035076906874991148413271990582611636822143939934263255985754714592571273453948279457300056320141261635908416762883523061535464003635911238559417379000857875176604877573220330035753585865666395817488783363514632910514820622456339890220781633064328347029174890925126334068417027832893087836611]