[77379260566229060242459671421389871077111063206818979840847743644227462241366900928041566824975244850648074852441757846806865132129670776761984829398159549298721798610606294100500992566095694761562864813257319435492722059454870334651014059208094896100053988264715949753259081078293684862506266048651322020246717259105398795643491620973935620712319373036027553158469563546169997120557284354671297652125151028528236458289914749680436843919345881597486103228409127421335173055295039147187807185752432768616282127624093578539236308225793616561771592584087890849628265851424662076891589019806421748231349121821866323409202442388304234245175484450680005198277296087613798334477944733665521318375899276607340668938927656605352203781104177999204414329724168042324271300050727355471616951845806900107302116181395443905816329105084381405000562125171179781363119672776375623017914737221906391284912779338318274741786794982621749076101421344546159997101219879554252829893290830898135530254753006844702058031749780856158899592735484182184650806770605242316393592728998127427180829746048737141533550136402897403938693606928515708436809331835251393294200458304705985813352819095376394029451062359675861708463631912275348607719716823428596870155656355734846227473903098482511285530324816379574048919587763638478163814406221283029140947775664997701594899272330669950727595710370926296437101878113625585409420666901554124141361899540996575937263232919650781667651368932791044776191559871936478721364399706536458974420077423898205486888153826931941816794440207481660028919923263708382466384239531988840118746929900255251519050682668764631748584874834820908749570366110299676527612713928438699833507924214471259250908511911654645789227857222827265478674198795072354726587088770651288484514261367535588045157776805506461663720752151200814354301318547674608468694838017887759432490647525388760616577998236178934817845964696513639598080459656970001629057011229806129576699901208034009545096799137646117387895919778338535384538327545350376432801544193329494735184181482161313752299873362230661734672323889528897668098007581793436391914752915521981456062735823246553324578300467597014269779858236289585231330705205964920079971752303181366421025687021738437832008794878293595179269131453897796401084407249814932726436193148590558061359641829947143887738754405267275629548876288508945172394037733989387946476325878358679018000665408334386548074992653830288519088872421997656467026911922309900224899239236011933535865780651467305573509582010868717136799772877923687359199062012957542954413506002969401181405093230748821743967583621311741600554647203619755415407008216587553405580740570567359099935035255590787785093788372671515710523321225763325637164429056282632098976443833498558021453258237310723815860064599562324473416350370466667417303008433054037089202903429008171803186652289917207971501736119939225907094073712427560344844367591185209929715468915114758391470620597203072778546050291646271821105690750883013171487026699675640076487635240534735101744456483589804438322022972180161324507983153954716715720896793046608765748822804558560752058510903222209550181494336695052382446237630640579461313503488653755024570134826730610553231556803853355401112378335971839284983273178390652309652448225925173554870620492533878158279544275306819489400706947608286150415328348466528595287400722990482307394166690129990746531429542481252828348083636276041884347277517927893631150121584925301879195314821182655897753938523078969016077190188343409004071004570119212813345001569236174587666556526767202475125142708077543552266043110985169769065261198552888267620701382502632293434961534204988301433607553325252480642684575651390787034970337875738274587285483898616356187517827323598127047990742466663368030225896151011041747718928264549960569958868763247750527692019129620987492914383383051195800055517703674769892957304409684164570905409215172078086424934774033245970299153194252464019636828383996619277431815702467694100118445576179536159491592848232936877360090584452368287101599402622730612748075313322411220553923316665137673607755005081371817193914429609690806659769952009172814427346078170311218685435602306770797819678849300370824987549483685520424737642686919566290761263329528069627152976075082204145259325824148547678799927191680526310749160323435236434328980144087930780397164194226098777934068830416462280552512186564874500369380628939238181350229070915978147188290408294816899323277381744983686594577068776907239937413292601754492988475743151501901635803421606115184376789664511662760825269534962455521744506567662245001960894240754113255591194760666685436607828474338405379451329462029689690482330955227750472316066849100838387104452699238148055845930850238281506208715094506299683456266437418688661817442071247496718070235555346843701008237488905241849313953554537309105046900563608268219573365663950787053788884878667834242241219260088879830101763543801373892114432584782530801016905795621274364589967774991130805522447242654925014616570685910249119513917064760889812032805364512288130028796154436038206005379879244896369362405505602882150116802500705800226925557151097879455905745187344913806593790015955615084133504614279393226219856162628075968653469275237837794877167201429534622999551885786905527723973455293083888894842181621493515587790900399256375511014469328083739025801549443712445290490822481296201178772334547470691511205594571826228209832524178601352550815548542766713263111454327798708623153023377396440525906790919812295998010350161440799152216279086384358809193313560948714583207218001546097674189532103156609438981838050543598797564770805046228388912883195340897864395686349679405503785422171023826646156730627124495663244091359224413424272902857681597993732214520015404350164989375874089219658687037080871354466382156609030871498440018513035302178248650585961366038832035061395152736563708005361422754121719954646283820361584372793993974674208053628079160456043693201462002073273891187275027639011054250567550659164538756574085664079866496509235197434333838592597210143493181693726514013824576033902125068882968503933214379591158669737706514060945128822444296788334291343451484594454856500121211174401281082161233289907056405933709657169943822917264156221585713627898802614942898375105139190507898033402394909868233410888476894768425461236534608772828200421620844117785426285551093187997190997056557662781958623578269799657639535104896738951937872070252076298422189641124970658447933615890432084832559501575912287540866933742353540977962894404920442227497959745637577586488864616861739251486057662215773851344491199912806727741468575969278332797895769312257636063036886797621833882947405378050479998220000220297962300575198886638379096630181592641031322394366589282210599102700953076105838172969532058999914341797761976099683824032343946784478652794502423961585278657855696667603253161536980868985912359155161723789283635705834439815782964562317619731319097653960696211272512030719387203574840668455676270372767345169421082435497427953432579983566461024944083454573031962074026674168818714650379062741497060601437578268212413363924386441958841554744189128277938204436525843567493402353481028316119287677596114928056676563817680119588621657347036718289942037021453203187366213199157867480273147938036449672749596310402988530879675063111467918457530608519028209070856270463841158857403509154736447361685538325290693742542327458903577506639468602173842628891624940640920414411602038822722931248052969779962148597983562279147986079744335736206668200330976039127062438874170658039024126825672114201156375383353120975561094280726331617529822367573665929624130187652279671763331387120352533443392895401745783788263528017440112305229313310869827157534000614621108566876493839757824638169936848416671085339385220323505089249339406386306545348423630113746798566398665654383930913115797490093714025529614643848441212274272524270241990042553501466778655228642653442190265956976589856360604315748343009447380452870535041838080107224302004124076856458396654619641399286832797605076236920907881329434396581062355071568151014490897008092959243676510861763856135489866426804378335847407130105232137488667460475553574760605768969826108064353401723819195632186104338876927439987437165694341905928373726805220082130744908972973549747268224391447066084839760507605144037109368122803721835338035114034139207512103112462789338546322662202507392738259142992721070490768604807877069422099932230102473038189392824230276586973873940779848846256333056835809857414740816455622575486634832363850719890900802491519555046285799188826179089623462794381381926995521222903606365579664600474230527852615377349178096708697498919655763762148275812430410817502814345314122334825020925771817702172147866620008170547946869020535293567924932019059137122733872446802413467814086570141432119794230224216851953542069403732151353643305373849312779799112854092027077505858571639484885021966974316883400775663722364098855740471952484631146511397944413120983073968070050660372017601076465272895073497411787753069038955661017460698626443618547631879421637093463679577949292292442946482865479702585185059335347364863234260661181353083673567828822933802283704441025875856585292092176671061944603934924604606659564042016959166267608891523990065689249660333274379327640606642857539440058986009677283844941333224410653710764124415068718414135227493153940480044700897774957336090885128274386120015472301957880325628540901908564223816232917214379140972951322064360705702055247356213067953979412405619659107897654952920773087451603638719602066921579707035056606599605974933911129314181164094600136334801932265669632669497332884579636950072313270390808707315786306449088939921693952331762564971496395578706500227326702922550795750422375570535636254881587826036050492676123517713757356210213266801419685433769425998506227300719072905906722640264807758118471813303903734494777423924550703545345338959875766663385760919188619683768654460813873106088684458328350582920423409379927136193389406145093530204467704120732487523560433853107562710693478118123645157537031350969283868120426481554017669869926788813437117328069808595126893123473867670522245800854979477537465178396965100841241596517926358586029870048304241822040067696422062084862706897451791611065075260592194760498402185139442563191009591903273099012510726557166380314501680744378008162314068992195108572681184681401219289472788501398148509605916647556816415974147186936972903263676525974602291504424866436412248497163792211715611591027079956049949027035650385104766597097025091460405233935615159075218053700422776638342506294269159786123478453090622164812616024437872398063064112554211125812880075186836184917737191102605368600056862942594400890694197016255150474634391923133910845870182020247554530601444821692584777397654909959367794550209093704140121987894045545068643521771604690939764320821280752224609168810217805921705935318019090351618787688159209477296203494688809321008671264251184241186029987617426319557402077561697898085001649893219425492972302510865392279211474527425371987883054423864556222814083449952319514962408094515477503154699893675974502567575949734426269083620536704223925332638157782257256804746051314190988008192552072355639432344043585239336976144530595928957713373113798840797130494061772573461402393873221984197453882519764873190779379839268142623808189458125396151041706861074223969094756664926148357678453299892559073780003735410900658024632768614750470960722942906004256362545467158599322089643616876587407353811955089869411337218654921590312725094330676086979793120723758669499390337635367015507483784421699607323365686223838611603808175494267903398615512858231588121621632775986103490192477548643229481264985079523496948654025549934800528798483643608526185131007570049913736723274566859473353785716519205311353161119751209751773139309793305372543771466507684907014690601339648989259057995186856543173554309652895604398699684764793922655323043183475840521674360424024075102138983189902840816063927863749791843086437444972641450873332379010586527877485423799833052418531901200324313083128552394290190683254065849050632847910197038088119535476586502912966875460989230983402414648446124403076321638855655323569888142911860181078368077267965042097558414604803635307797521542896072915765302320522038321683060123941450474027359114314817250560771333561223529920769973876560649707167604524204236357896741297934449677188653846835155340550185630997329380048811311832498193488331570279804625900504548305084850214344137428340432660020327903401312530108494158901821752128173390326539017529636401235115123821154157021752116743272948721949558689179076421394659674944197010949016009522087001165831430454123277069841246815698981933455865556474610588885118616993288770143067899834888722995129670781085486832058801494526968079746031694460013579493594708828224453783378705347985641965204808048883374527157491501925080230420762475586470308920829371668752280998483856664290141886129124427034685590448353110183109709509300351712946765945489787294483136672440095176766051193586060562532544225570400566789917811932720070044860185261680959455513185557378518967358139009522079953716216121605135887504473599826120808747160677769218451910454168461367595326287612879821889448741896618138247150926307553753612191550039112594661516828738463470019745640562763804281445389575531426180960299260246996076398027489738863053996664691944657730573568752872985453731988167152649085829589839527451805143759136045806933719267062245555056621226144060753872983350062281031270796444097314186530663685815670265187647627221283075310675861882830531233254492545162112091176660807670291020092686256835174818286402080450670844011595950713300754984677980080909053906753564195779135682538425649482720192015245304929611669085669790562310645349848111661830978488496304521974840158048320290647001140922653945050936544697269328679886136935773037722682870119859165650144219236252153742329057109333270995984510062931347327437861759040862983377920438705738705218139007450022207132543940249990724542452728571788893821425282163248996824495794514371638226601709349391592023627335684339879922162289308504578333328094918630420782843151165564145530486007212747253176626364460881455640048541339023814311424847206797983323859225335743202601029503339134643451974374482380682061644110539809312550398998647595212578078517601375912664508798886947087017663864777470484505805267785057929618369086202785637624965952340736905848707953835903642469961382054145787895472360373929425634337165360853464178480117462253947846840433791168436171573698013709037603536923543912863714450444698133569413738683316459823680980642818866667680165364709544041714896802519507468909451428395057477408904146937302558232873801968541407189921785739977808856376917435335646178724814450070993768528207324113650832075222374684649309779214932376914974661281393350481053097836943866506339247699095476890511767571707708483593709642431831110832880039823906140149147711757603700648212252663347229178164373569485502812506009907946808576158691012972221882710449273653908679730185577319543879575689409747035187976869911226154572076791279786124211173152320934676066716157784500618528224224482286789569372621133829061851327300314965604767680167393363680178964088577397493867699848647320081884054473763143492763753981857898430370025806952341675568479975880324279142355094037725011831524751318522483114763295708476825893530319119976180508751850334866694828961982392769769682209158555838474611030628241190241918131962833536017400252182790365140284558908572761209331356888089004556676231909893540075405371292569112123702983334014623751860174697454185799969715817028403070284012251084491661283481543607233495147279125823793092756274487080127502092325269468708727800169250527162549108681953601657904871095866528944371924902653797333691624913412735457734096241902532918013430023473527739049874671425798858008594294096340105629798969496702504714049506058612910679704718966850725800832745073919517218588226556385340833257956889553755503738376473147573518786851855400254089892718421923849100348410621886610884898788101771009286681129211677747993395642378515063836477750907752916400223667411218556073620724301851246369846960426772796479525618973272150962246239930726680172758291033989428099107572598816749605433800054317057355392340763097870720143043525102829274446256259725523975978499323479491985575531911784035391908262088730693978718999639256831294690240625739611272468936170972605244219775588389349971447221715023671101535774681959658216182262900766218759231372730513403828899359643769965119523181927479801236293677259683308156015362020680832476707189748643502235874460135528198132766660719696815734980301647589435263370101544174082181741610210368865695789888535777386361308927731761169438195336873945658418251001822094988181827512359529163227268310235675849187519013828127909858074674221881662934749296714074709008883812276058090113587080827167950592759888368863504547561695316818685410981576374704145996693058554274848439298150575547417900250357217165767158463330398697448218011336351152765484106560374384529194790173215917956739519841201866639195387513648662139365689749742645154383448494612455832602881407849509188881729664380690763377393349005559919088388519073548674964505535776349793422639423373080284292450368696823694609323588830125448995529147679452039869142671514908640117787737425629529574831351215819896106851539062690595850104181207253637058754334011479258077310979616702130942358868007291887155455919977557050887024385312583026495010238823008476128377940591526765695404154304075751387671691023993453192591736172513279152485363334212541151149298206104480465375105090364113188233651356437245415240953296294914335758399492818186512296602890070739973707075394443820285286514817389259857823310036568779336886155613691251831465277043543790102915475759341973732915592054661820722296003535637463679685561701642941538433269315415281156919423627534180798838865508577406073762571914115878819999395533960190597390759892734279233990582169234439674681467675702467144201931713385778606487195401159267084377764538927898372858082948437044036818700317468166863738621837110890714573681722752894188098726569998140874111470916026356402054109705206251398431331979883661640265901890812078014144084344359007808980557426087202034457807592165743599181066616353476369618078382426545373736699897739693647533126779648985490735678360685462619814974567476458533892078084318796537360469631220832672082271800393177583153001388501619625238014106625710252515390893388986812843755767414188092785042561693030938136634958581782906100158204388418094599378713807437963436608531282144983114091906941716003764804600669542391216754574770220869804312308250107627063854127330973725465852433126022104563644294255219079901923480165148118953502803650562399364273104347694648326141366911092129467621782961175896330618980815950620688982705723555383399164475637474315255581947607618763806641421567648335560965676146377412784449366153573371919431701200385229643126623975913280490581087422558131125569226291240297092931541231968932655202881008201981642497945286710114887026597353443482293181321805504697805654772358536502593725170395445570987371456614895890391582214102941525034893625507970972979829077791992950139727055802087851898335228528064036607038266136290952416746543775795678234257504734704369930254618581838337278343116215056604814705607915619140934988621485905945297004931598848156280072145490387269617105730631090451137948713873912947314563155739705937759613564447701448038873780262973044670004850099065579747844234199221416591106859198943269086015884993285883002315034358279666009697283893093327368272091903857527766022432565853363533841393256790822678617120702789000107130278585074670108178270279560680041013908054441284557550377686294063883438393206670107159294592026177001793309306728233628669785984512979408873605657421363636638046069526235951552914830611479474208297960527607324838134577132671509183845913799745811874123372223933280665971383286958438670670023800423177035719350156889459719993601933288268083109122210306678674545125740962379532442132469422676248030864146797622074761175573646213731413258301386392476790254123136676608765334311407972997279323787005338379935533596986849767931014254153088926293470690465655643957000349695373094028060365803366690458504006164346100030792681397588071338459506858616720124822123191013107838544204210515888937328329185408361500321683023735095377178753618116162836275493870317516531936326329838966196912083262218357407234591608621383402839218843040255821105585676335222721034131781212521852845851331038245357590614593703716237267519333922630502158894762111483640949357511918462050559879401863459177461732229530088958655606411098956901278339403705697571791485790618174671134752251492405057482824216346252052619982465860181937376672732946883325674226378930887331417907513288896630497735285989062741432780914651470814933864181111176139039635641502066287979744955222292422032814132388731503421222354073608196265453204572975856338636339829240706227648418869210788044304051373729040546986406851607089538345055565522930725807478180637376713715945376904350451079434704531755140116652648562956426965455603156318311890013379753625925566055158931523038136149197691570839085408419955928140318759196524563852291581217455620410764937313953680570550626305912578679009112332828055616268517247407563669286720435657352607735116924288136838564378330475815402117279365243117335398616147564922701797493240519610562953908292224825159945856537280020450916870423693227578860497126544075505150106888409247668914764289419031085015142880259861566629985903794084107111959747995093073558753494420799570733976056895081209773715385480626513368153562000990600342661523507375185879600965001498905694775722508096734102357565955338249306092704966877311006921804677492115565004774056838445477887546640577645892599206314459096872417125874876048635628309483342642004630659043945044886437202988176275096722198646678710801994645941240278487282787694970693950497617140855828949888276545527540660365574301510996205545485959193151825909199384639095429523677565535964507381351432036103837758113157385163764142540605669871917914210314943204573312172735757717225278812815561567161045871617696950578045012764911751782291473387509398531612676264459569218622589482395681110153651891986813109530494555918251354415023502226884602402482454858029003642639235110303296566013587449456313878264034572094705320222759554638858514905877069150056128038623943328552453391590930823227555592327751600436429645054730453766029826834957477229854291380880135559655374058675225249257223746089733635712640548058860904145895144649009076165294510147611851300072164670808696672506801283159590939398394096606470864235847383922605056122561215765284593154539570995943380291151167672222444824605140430843219668057260737261823307441007716054831900176050304569029839037384496168814418341126009538477419632669650984963083219713929767503858232957618137034247718969656730270190036324836006957700883462939443727569703735976213299943023401778995956222479577541522267105343660917874456482828237780131661104506222371330112999802808265901510181378453235950918228128868422556259700787293975171187989629386177384929312928781049453009806975010453421460128414893309026554020514892544069393657538787798871778158897046426643043855429080285547561439649923526731710545531562430847410732525449890531461106442085280106847590147113310277523701023683393399800195064276212238253303676001475221079312097882419489671326737311005766615576449914160977408903010277965200088933022771778403661991133644172802260159006318823734567123242850163886879650850207610293207676534034176503249659112928448934566041616919401605414564807055021216672857620824840737722493807040515036617501689770968707295004568755733287247811616034531756980685832500529200877402772573185684941026769990677201364207204932395375281344933982891129226167953526496469094675270187862315221930042826869196005421328749014030271268273893845541196150339623645861436754405635387255047425473297695658842329469092848498710997774833576652351397956400623325931644472645628616802664680216447010574399059796993280341205486527731601130495288829328550754695265150536187150200072614482194082359091551895867068583345946442247782765099139964076507522564763084432059012515851185879161678152440954695075698945694929849359972247052866288476122608462874142460502695453059021323259638587740459654006818226461132931006108545334953844417103610811676201336888506031085657798480087379161367844824161242984200929972620379246476963793216318983410447180614175096636560957702289853538317874575606912897865712301349108031853903467728180735282360709856309277282954390603624204700309785008091909411253720117352085028130542825891598635029462989997314780140336963683912045354339531996445712262660755918450124321777585557890726689716409858839921196642222316958967373213274639863419626565670904901176654681747995089885659900823106962802596369457428394799483462898432659141032448682335138833215802512463489784746334112942083538396791045526122680198086914456144467867922023654147392125127853760837001117369800814421154100692270907982990984982923015737364631694846569393120581449059146823644990711697373890236847681364727996741215658379448987989651350788146050037469290317618332603337632031856665063019283251714880328954871636366843820684051964020758608391682777426980764044162706790588399881927306299202196030078660944828046086671718115655794014647847241328841374334244221178581136490843976875421331468743249583992686972678085453156775489259028467137503790338398889599273677976750239585259259620566723031576537643510765105579086275604567378679190486393723705574326364213198634649740197659139448983171560520497687612559517296102017326422132688955456651143859470879681956291307967639813536756615019495216250382683409023081546817549769847400351088580444389262550209965039929771610996029874838205821745087628023546424000564924114989424520100495453302305783158502744944204722241556321489629622645271415256132023424546318316633597223726328732921124103285654199394144203597172074772302131991150967510142099178933477074934343579908108418334404003217799108181149495114276622125264679482802124729330713624414416467504156676742677469831842990046423760205417573548571448151665687414005064644648958617528686531276561061176130155848490494948890385054038102093045122216091634025051379744592468295721364337852609600604881808654935160546162938552270169793858313844321210835980474646887180555009583298607934477521209626491950279191683327066290488082502286216371102076455775267426950957288654024010157557925344547662902600303736664615257755015377845704543461455161612609666844092419873385217541536639212840777794490449826848088970405195276267383483876702170021754736400874438530743936152634474860062599854004466901718246016019168278055689940436207089273065861316282192769834086187333420722791013610968938487434573065911182057468964503578071453407350962916484042665793770780401946639957942505065846362124394175567826604930714266867517813254494066474912901685796499250421147667214021200651346141086137398265757839443254705157142920844335052452998077878627835223769374687269803909248553673806130528788121453040122658952206032833868831029417586886607537829661627761862611587876804883837819086749614748160941815371906805278408120987481105214524150431575499491005551765884604234079590159768988013274265834176798011451352366408338421333468934794153859295520161454062371173051412200592342586871220939952722451750255293223711038584770442469836974684509489449561424838003553345122519805569417944759773624416864803611199421892102974413802582139810495204155708028876271800225960414538658546429473804299578155787191206031224624510506735209075561257097711659667801283983424649740623969601131157078126608401722923242815987883182335305555406654853603019583788364448693548360568662646096352311409238748002398337061461918844726675828894656817304786250384850183938133527521227102745214551544466344631403220613958053864857631172883730983378611427445259283179443647820196280639302389973816645625401161879590496616014621947007690087650601750762709955418548917645668739861905399434635327442545993632411263694337556333600025340708502291029804642421859286349779128450796232980635040688648448365211315995134571769642811349602046522898870045419304785038090565264181528493562723234803487517648886667316877057187284247111401804626452129748227391182598530880889399867451638364853837597211451516954624693010823180791804139557243827080307769411216196599559973071777814423049686013221202370796594137495868937834832648222524139214646465569778649535667087469887206320113946462899033607145929962666166142911618736825904643498060869035194993191305303453408981896308380582386809156870307917887142879282772123936770444982542659583759422234361030931063262126316238825466559919355350980820860544989147278705511590043890632688510735675787210115250363923908027758429373371342326411161718894615738036996223214181931908621045258929082788599116410975770189481679203505306454250574494593686098515588309128387659601192717492698396936818928001849809701207288690342566756995710542328430216723072561961829907014375817055523191163111606422664995993197090838099491092753258477020753936005698661807798026237533530400378230185669826948127561797167100612991700006224594280395349652798560465661929846140456725174413049902582905336580023734125556923962258154905179310755762008848954866831376895408658905838366569588029373240009202687225231203945002168455439364505702769249774390300389262829472117900309765788640594042714967966222083205668728521483681890389598624457150941415139287450148760297131496197701119100489039492825579330431770483047141680296548581657399044403730433093428676896957982549867538790605280501102235989434042799806092128906469777614231255414965276245579934668853947988757784918026875976263897736407628885829409165939511565597578878370107481806397144943563125798901792999875099166708181982988184615514108401417631329881438711789833796983929310806982835248494052060933646422588351643414806429570128977095908257190596284213397374090606924386642775441632882743374039632826474260301185813835118623476469114531570991792283923403416226448238181403976031534044199117620513705858240597546049066115820804126169423190621440625512075187394849230347100079133611418818224974516381048506989493266812718509791538154775555841043083911173788934904331279922157841318089507502959077550244860434025153061316893950233070398806157039981397381463384438217009944388556336767474189141554177419347374990167634146012111443963824245521433259647886885051786031033288328511917791430074421045989754079650235126527224923132528111984109572281424979070126557062247916031575267132660090277075070782666175229235904641801037214540660450157966910604445726979089200741207606707668025368703483332601228763271947505147822422602860875843750727616075635144037337798245374689249535527907479284177292819221575234346159245197517870804530455378089050587067231320773349797726077183123969604349116071124297408015169894638736470530129846868672262171581138880186499888062128001628331015077030659647544301607998396277149436195702615317795324508233272227926401857531377460023155270670169504626293196371049186295924909572004043595885616650007214739497186448069384575964254700439293428817235926400599033721669617887869388820930651141510463048830267924788349748381747215536288700419004554514018613023708106288799684948133287627998706865635147978002793899333401593003962452611994657717014795394263404974556402726702587794934452031379065563162213531774829375995068094258378997881967814576549263722160829763073881588007351290953818079172072473532398063420098009006260026998626528628058313676781614533740910810790150453630712717915798219902242098469289348748705792121642195444430255101854275296645391519149303174491785459662606078363765123098309192577835633756195161416388967828568886379347760638591834797984761935882587774941349016975000803253660567880514163050608919287823678845718525079258917390680631141227970839198434521301597489527530563213880100974333729523747783291392211831898951509117227989387239173913407127153295621178958901891241082440828112630555694300680684173417867365451547349412596213820026704292228780317903050488710838268436286920994021169653224972754975485387706419231013110035548342601934990558570855799962434140460525474721117189055678515049178486959292035825237296533673976419119329995101801057855800772254550478303319508436258283566479405539270994371323139410248418756059056902376682055993430749046789583045714455468285496937687491911500635521190163592060983619588249861346756020650000548573467084098093057933924320061587500449099638206161180834680619910328487736516537201431427811469153538570033472794915358128918688936072698534384513963501616961642049060660643598863974758821295845175148689480216901188218306905536804748896337524565383910801013438674190159214318182388535137292750734632551360353948177148103286639388969516778498875161184052109303488681044854393113712233937205805514177604135599051709615071788109459620028923773555765675817593608598112059593598326547525110669153956543678649155608624831759842271370990858847891635027087870360894315354234232208323287210095660731448803723687529519556158860858909199108421963759077807206806243588411597662271175218302895638810487347232275944138779960077135416645900489749640177759634117296758278674148723180127298220429025223548847330808262076216640808858582740929103046331937345712735147738913022076312128048190842144603641630937144443423800594196874963974076522618944935766292384635290322679463873753176301738724212908659282998304986830516212249949012456942236949190627591553123662738133274132634710918581993661706800142783205944439261757748719182121993991211057733240952217813415841769611236506563990643108204890719404158990442188918042344067755411576295403331130852108069104992090948179288498289242616173525636886630246435774603185087286739587957948169733030030743112560720380377007841662374954235514824115706053957109345396198142969036497731537028232765053654717012642829683139383025913888763338892038711322303801602795939543554851050379939292182624929404558629281583352786998104586731329366618167400773761115188917055081622610558315997243164255916134940282470318156057652798259780459757423538865066603458126166022480163413173709066231761862677375689071142068196351970589099793024505318558766146819655046648216856622180737325216998278484038267990486733734547292917709516004738049858492002650708095270762128220366116092498011365264063346273645588798700121501703009369290936343652345195438969841143439135833648490402850594389522507080514292496033096783597977935832479947355138683083785974653458294799120356929078824554161964891747237068663165077614801264628661601504271116969491911401521129594601514334500544481118163729572995103164410753310597516832738633803589617343459670170200067422753151918444884356028557452013525758511156348301400208121470991243858988419860581607298716006717316626563975077976403175777577265976533558813227659835934643237082788008973111922286983672297526723308471411611928788783535121139996955159643453626784526818661061973643203397046674819648868953460997700961564643974473039494740470869346870885270438752069664860565748248479893506216579114635038855133002269384132002412168633874478706912230674937065670326483296603640182663738820907095335305736206680906997733255718467049731373972178341289222196225746976010809851267216901129313552121808206659713720708891220262154195978119135375789020244388212571420918626198884266255147434792308531748816860277062694025564705409304035340866151940431258593520833443426980642066162383360481691997436457408771139659488272761782946058335710686604711318297531566218728924381171162079037921633844079875214947012491079706819722955310901426676754848630080437585230663535432039152642386743633659320552207561473587468752544017902941867493311136339531926554870176587302909149235974458221231426314444603989283098132239389824482620913286088012346271277206651215627481121139622497443284718267495213556411737870686070625503789946854386186725921566901754759340582056638178272060297212420174115654479419081481213636786437254122680108085417610621259967274076053229153295473407128828617392455802710529526400787754937678680190581520031441271017619670842165318781273354401963526381594263231955970149315370170978062009434957010748504963571165119958716538917850418353973494563096396870757515389757702052190189508294157704132601545396286868031864740426619631449770933863386042472005229040080226547452031596030342651558246169160934773665619043174022460291506270285447296535404617358739196696775691012295122346878831983174556227157631839008947222376214746672371794569068332378575751519995117951739243812880233822781916564888712804707801372776500204619310944331227996141555627630905408281387755988655044788357813910035933602730199651339128269339711876532756389611134823832633841434614327541656593719841193950607161276089197237627275689299925142319528336277043864054552167746086573603188117867947356189159968375059979038922642769716933928631341900207465767428934612887912964988872722538019926720799735834527837578704487359535862525483843665170132300395663208415309883633634200597886353135158508573939663537233477214054955381690448014083480156810891439807382048104008708423076738373364518232100134194565171489543610556323924750821477816069901518813546127132861029384986613777038867935395962652082492272470672894887479129110614498757423730270745670450747059711555703804296269872603825992960997782330327691552800684891039933329650977964770688290618822608436007172006077671373886449537215175564656722211744882063457889064613015976001078704179107310781781905370902618113548374635572184399584339646982217372372164043572220125375218404267269267882657072392046242381750234756647885861230900924292694838476355683086005219868703141773518143648702252212867653248708324035635912999414329645807020195706157322562655397836819829345346461785784540092388061343654990961424525015458297243602525316206147661336752489520822430293397780780733383475392462149451892151008578267219542824133309892447365553973026424489495486003586317677478957732412577233027767872979794119398900115461529152809043857237484992082044031541486315981861641674938796064841031118312101216595927439087723809590531806496539065337286768501638326543205064585939117884931226281009216408993840442141494328014062368128632138950598884569395883156825501126659113914010575034897316645805813903207079405512047434602327319367232653685557607321794187363319741087080903756205991452340258362547324113381402711475429204637183248232196979126862663778007341450755666758037761563077804539684380903498965305331275843038959909446898293501118354560830639090189550157516693731224917294602352134356137121577878762186535060714329207220467061980217527697920815820251764396350605908543729888203970120791031890414770058696599977733088829034840198014707840658879671480053898127640254093029973048986653846946583361526300999155653954906810339006711593828250805767348938761616366672697801017676455371710558791414218499482756751857440661598998287425756867508571712903314467801585096824190619495946937658519277097192149707014196151552336876948984425181058355440926004803741425501175155677055411698226527501872413850914784204503799573999492238000337194750288028451560736459033722326454949636449476156091343202098771975769707997825201311868360828493288926258164138243791243486417079663427202894671132381878436292165666849419582216185055150949742294175705860267599384670955546641075861635759966917504716531187835670788866066040281956950609182062687130119210434589752812928437936810370504933615968537751018711343783798678913996780181133322221625208045700372849751897828955823641572312759414484471250271640519373690746519133839691859482897157917377858255776262388634968498998906609989048911971202252043368304028373563810031223697724297564493132062990602050984232183341899929050173563638219390062117640196591278217993907351173259980778721740285286295760754302784708828731614779751290979629303018402374839257771012825485221545834349454654395480750426570908985927086807254682166199006233706222476155591884509446613798058557787287521316039304228406045275966657215229424223542278923993388042282179414432575319083036630194315866597663198469182137349263286604786420563650804246426354114022317245627150655745485683260926611033799786040018137411333174040678353866534638858978335006351125320656731133872587604384874843393080499651888016324117360095211624722209647456105800245749951714250388493000186211691115390431108005371712141693843259486207605793474187499003651425913457098219830915488925226864228272646549304507566261865087264530714868814661372389208548397394416560969660739733400603852383403467049425858333035439889431767964443588241344592732566114699345330586136742312174653497742612861359590200061666867883294021050037725226849131613843369954376077764676201071801280405071957100157608303566327098662317173437329165655789547867115970410490508143363470139718148822699753676341870558090344337927770243109970971286626755435160696795313825991593670707293234409154905149592852638288807363743900376339406473264056674998042221737758706870723270155381108157036633595621265058236419296059288337469965425212182863802484666291564752118059419680662455446592706272613583627037616738754670300821094524527970750439070427136026699385707607018204844393199174128487219118667390570088764274772493017410197177594701605020795447495989005476952204583931450275769229645326494039997394953982148438694675242487438277297954441991713240781591756365224502338261646702852366497816889346683354972284296118486552004386391551747527735047519871181211547982452157713677605378757598510616180919271569988979692095556704088251532351073796210009685746044920638510455113329243452071346086561469252972273060332872155680305090287496034251623019174562593257513341962597345677043912050984763323127231302420859817814365098034988062444831540404686104348689381833177021558423066350375529002457531978231085234262961230500986527019940958702286198405780843422527467982694011343450420437639147490585339694919187362142828242241609465561568637518252459965509446325538849783641499633917547115032435652431494237146717857262718995865248386320549991967080430275940753076239197850216886337829249290924479184476002737038265490044708430784807149299955804184267965118838434387642413558105053300598459534764296537854949652485211429353694788368324851069533660788985837942808388309800445299270308354790059148902331595469041602498305158124113328861659664674685636551649027775509766674502797814625069267848350675742149239077582981741869857285375757032658629453922335669646782825110846168287476224467614141957075895133261510738103575923953787990523238904128996717652934608391853730719903002333942654167790140815751217859275677805517084738829925814531133011763691801290371113796478070394335405394216777414744031460976666741188239410762918173141662372410534578480705882475509198793320999967132123686948977749854680860299959792905612746745845596966135646588704492463105611781167486351494661095067218072075956241051731353700032596079621294851855283936956848871600312972244726449776249175496635100878948198485604841817695077198806561850227241945441257745401058042737788535350269401372658252149875032851890757748762500884230911212917555146593533645866781893838746728785716632029017845934739658936061322478047151395664112291309065082375490921992939135119619630391609174400106757920691569694365948185144922395915540112287689746040849511928560811157626936873703535599819982479297618379821732213605085877228556605534928081293486216750287543982972478015279184751273702227100996661397333738989468266474753258165797891003371071511305820531052104036835267094515142728552582357579289297136719778060706727270521558527954918649897429830354583204681439935778881867543959740480639245554851458862744846165106295609607343335904033512806015895754468851973973370060020722499542484331987413640652955770048167926465614166642825476432428491647187051165475357610483258514440914454910098789732920220243666939039260606617564001718286670243456894009209957617068673843944227611169132406421026621731248584808258300539779060302988847110234992358991111320682559305584284371304945872822508003161991349559533334040561672060224688823344958463001310600865464689026573648940686587300479606602968741812301032685888602400669965791504501589050826516055093284297364185467205371763147577120300844500168648192515526407992648953612450802379941645453887620358290783031386217468442940956519400058899314515664370541200259252936920572122996090634962628303060067002959451266474682506667038647683297565344727032108912699419515260790392817038338707708032034038106347217078932272175790657896651055756970788793695736559779396073927314066316290037638748172061382427606965445918298226369350762407372908044602016908271516274471527821083609602509750918970183731648794397934093256529282563408411810942737516300297094591727613890402960836942465813882023081122178609363857751781172710907299425025336902476569736525447694397451930867613454694394372791385985728733733950072904086015807079571771966575109383240714223071226689534672928224094196569779586011941859688131160422431911812714085572578187743871715853810060200619637803108518304966660254868722498491670287977223043646712366896007926894708083677032877947548542694136164975035586648486816634317008730360086735426851774424879513679960130907224732780668035117998036099896455587609246384581148018009049077544929488134814055339996926753753936393174527815129653172196768575871795741794231334578228185331829608853406592361522164122220168468515358510390412877627881362053253932525952191834917319946110906565319691692679224003156456652294823275291910771976255309301881402853980095316660441109823908658282828671099729848277279769745363056953304739439219934949733174249830696924446178935079264006838512117994606100532355724845692801064161821375681203746430416188729326076038183549228069099802347705582029725544521824635365558182839220552337347274806063403233294420333213934517073376274687593967030300899020299707413167303502079531994466345386731647368346027930641076712178048827457747960027210509014560547167592362159306377135404760650701892050199848426174919439136589222273899627736348341898796013990018090150517330863322470916524371207293039189049671768989461564990144787332652942687026539580745822253738869915970444011913811325055072144113367591881806518126421009554796320004626065154958487273505438693157451290712093373879100847557518200891111260473713893593993931690901719300899848590638923209518320765635880682396078736510504716726580379619378469278924786147670914245374940733528589630240180513088655893243487453987350614505984010042843410435465265715305546006287027259126990430858714386854378630026349840132175323517815855857334239678038411834341182239632439739755455622613549446406833956559326195347584661520387187581787621949663844462240710412479385711308644422382850857131015094769898710304590033128964829184651893199645162569268281917387534162150444541549444929375962772198516431756651187361211534909672230145195465475323698096702050288832749483806076632769750592011624452691490813585930527720003543814722499083721602751076386945697335046871034689371720506376952836173947511603294994440148153901846588335566730498663776000936908425754989215004680674785991469699809483586693643633244096230401150133789881227389111789507139249038858986553436904595427609742067733503636730530266859013616476636321514594537024435173561567461362414896507946109488690334819054310144775972289280092936100760011999188431565968601720608485706206482711612091041269148444834953930001969648609484679898150648964974334267572909065516651565029984054461028255419796404867977588527635837949233118247627799432354489059454364801205396439441544317512150946380632046521965290423262487642159170679705913470486496721947823926494691775985875068769104262211860458457960157965746199866576146322301591848261399038822978829075046056620522014220037967426432915872736846569042518768631587458579343828711431617230110482751374748048357880943774933512571466740370171165848268200449961668347702321950325379039221498564135981954165175095855887851867929122724908560662066698242807427754110195164795458959634900931817814858879179106769484353735148227140015692223918611421096027066043575953249515251969884318117785626789402287178412463556045675498651878057793933487348693597713030990254450495665521075598759273804393260046737009293628285747176118037856338260919797883496079891645910027960030118710790538631414211727416009361068024087246726808113329178603887286435633094077313524486901288855968236213602246494516314085447870174053241792116123715100762397246127279613167513270378914871553859314004183312787675920849815018132591608716090103703507783006599145808907478885452136562975032917734076754248920245824005256716702872101610741918198857833106478816771292137996083006628655626235660521680377802188327973600537344125669942541522089564180403519368746610883555985470174134690090095823094671161129760875847957172596338985126870560365462842747624784907973368364389903030960094873718733206709541869165008388075629879601806828736033075954858115683722693462893823158300190852064065802772851531588040933557067190806314465675841801494565030749807252887506964365234496899733008587835369537735258458695593574395868883108755240103584771823965685888967967100213452133875387871163579674604941928874712233464310182767598878833930438411246020401663688991508194750872301284878004938339813858381413329265596936405378189540152648947095503332292149648468137086758452439153678066245820145803391729385493813553834199814953029171203764513739816683032173104764718246734841133442896640441190773928595201839089478991666155189651328566419811608080254616803770013412428247425856467689620234834236933141465702573237931638933746407538927115634082844994130834401014635050447211770169866211958011217818990116000694709922119264269068105931770263076627053171289128740482811559011152125239564689958557822792672938023836442695174951461562079091533836100596642155099621851732978818212847597110808641107857523913022589387281960381255717741213560574505167860278765826798409923108563294569916273182340834444964668484050768200647737775302424333610037417543177233414751294786451258834596094871349361295860978471845812613837949258833390293441770287213582241983453046371466539160065455648476743174468365778985576610819660852142083100580491919280912704032880478620964347629563300559786428781143820274643545034549555751551081999193749543136503485843185537117597648310064770495075927939624212300568714312481183478170811368785173284547834141079130193189527614737276489285735761244790611687445175856627270688006727569929548950213497424178369933409079115029566245924818344059123327832762420387518599458588516537976148049130297007210437729465550560794466657663713934891770987828833392647765889324951583198567619309269001475454215687767687677010494192290725994818739064102773444084574741816716808314215178645366063563846227643019688057735309755339444297217875700177864094113695585085440254136997046263534494134824039853457249031324099547200380289450381726466573004796503918279389348032470012290797429737302573162715863436493380099785089505287697117127342547120219530990722342397950057977956239891751327044094103078984557297829513883551705642627297161359184878587936868679443882921394687492588511176186526433655754744690253624834888793197797827405695215159458263921030707397295342511628623389182913801747097514928686667250284733923428689086667784174014611983763349675889934623877318887363894651202793683462306863771026602717164862158829992384461829192404433248821942480720199009977992119732029468906968228986772382286434597935693826421850783013799625532708421987084756363870367169367077622735739052612756869889924209298614137614438246650221343628374863415363032421711339105248979042987092867006622443334311789438537580497004595869834059550844762568428563052874144854889133344443700388679693241093056164690923314954070203327660254593071052777140791307838556148042289990858854760939265033095912587117132751144320709828345087348882528954873370221409121170531879576134963943335305120981096065873440214860177783090404177980091127893108554778257224571594998033645731329124916640367268420562282291439557102964009904039919981735707423417996701554738942308203817062004898710086486642599081485900249851662907897369178369274478190178256639675486822210930070626944940349438251314928511860505762424086698743906385702409092371138298392701454904833031953270135484797565076695994637198810528016311274196280884644092593696053109121573160220793866413597564195968809361521500784442760782919891229460003151673961716396521453152282260524987369662832265553661039771676521814916398744856987539605365721313508027041791285485928816097545046239798332258679568946954329950608931541886769376606680017720040054663497614478822733378074503558675210535204260170798095402478829627694440897162682592680908010420825474474957889151542400210643926533945085657690541264008938642339733297107679857929909380467990511960345976215863402612700198290660304452273605909874337362098073083393904438615062321624526708882567642834180523151722586556247154397426955691460169084159820437841298431942560274100897898758059630088326429404925277469485280682239976167654889903149955853264445810385749884657169439181603739814074324156374651490612175723016027530808017115402968268948065203515264474651189315425797720069830805249491763598974954255813318090796832966928905063158197021706440694561739838537974879525200593605659370066850738355664199854524686112696189924135081050447350180530600844885081285367040310819779032419472308684149362759123529464791015809385280769211641144442301419198674817330890264676338796516764589218029109421731920328798189819218414938870808989100482375476930153728905141068598621717167952482062529464388199455586733904923853554385015923469132068512555426666793302927027255767770979899099636399099011215797893913065298612221152745018114403173680562503068754832056291298982776251731885403227953491520633657776687327171567490115725290785456023228505705692671472424557311162515467101070705222300335700360082826908483098193139482889856201256034195663077390777215694752699462957446638580048424740776372596922400490481706091252548285208591231021519446557453111016381228250100245799469044275789223930761199953937359834792011286358896516712572498062190255617914838442882076670770088228187653062599773904862835987904340329259339763212097788144097850758045430875660567943654432057688199934894711099003485364833979906255843672516424083499573538733222216382611993917817750859204255431125847681425574056513786203787711750219436012910507999349592399833262325661644861556947219655252699081325393262080677935743485508235347286952314138573547569036037540689615313731574168376816964069012812761502445540449412660957979955065875416124226146059190466087187664879727182406085163769581234991498825565815442298249943283643762431624386914231890121309816950306606421963605903532465427874801575507869253155728691618471282894047665366211503059550290865341767096346291732598486087491246746914239599847165792763223577092169760824683927410816977752932900722884985089086956390399790043061203591181281283977170900745176759850346349269601124119345434029236194111905784561048367088790739055090340262182245282227214966901246520099496950404569619407826083926893650636685268459787775085808475470449383684239565758143453471773340297618068859693593247806064369350175131710283715751115537466095547655693837357600076349575708884228598658635477411906447556097591071628846855490971426154843884507335460419548158205325895498562806852416277928555676533001680368982230238532658634089194078837401644324641881728100998622389978265214879507019746878454413428025525616557879928903635232540588014025521048259007295936349353125992093707108548470970123639722244711112607426034941563496084811129274045509571061233680847093029327621205742283754572643615641501936529009364383830443222654991573924099513324749216464332014643242937853333602135132614352382916254318422936299748009671710979012234694405731916214954211050036309021367897453880322425540895032536849544926100019239983418887669712382694870136567397677351387573400203008034090528116411788294113996126090984493760906774779050732530651282764783608938445080586145474086995459738277803271859304830993455378069877263866534520340831070098144225983319338152375644366207558488186967175210345679094934999435381310017956879036375720886719402632812393678727230979035032966321653276047194614669978077168655479924288700784574593947247201139401198265078813603719414647532076039496078583483731286471313532872046119865961344352695087865553662347428404758620386820319945532708517024521196474832086751047761164402450219903453054814146286570583140867750628756877478105556204324652107242077221859182309520647227829985443666146276616569317263015891780069198982357227609325149328200822743265077969914048546107272860192679104797911834991325225259278861867152084110629159813206606776397759613998112908236319434184151765566896425762034674069705724506298306369485324323847115969037576090203922712716314998603625613798387166167507211096099396046829694602924664855735524380469599530480753361061835879664262878649332069130589303732086099388555615460387811726112172561786234953641586569569063112504936526781167324526793851306436620784372788248702448979119457653382735045347651142730186644616154528196387629221540081368539344022078040583616646141286221738547125054142070723971221806161197171917994463063445018795315612084887512314685783067376689825323039210224827270945274473585348931433495493820468919610716731821968805244281987045222508322662296073784362313159159151255356223765784664901856816676438313538393502399527678024173347473821752196813256444115828361082994750663433205979762327865457164095875932064028117992347461025545134876147724232407164263227867012732614884210964498719310431551181770745199965001851686152449744727724235111240255148611249456538171327076403068012076756448165504943951514258821987441977999021396143983994911905513303582648963488859366874000074171216860057441538301845630700771877757332613775317356661920638511819190075951770547942415187150090391906644081471218493666792572317128042129071982827803430407842566743877445589927559340309183856844799048566137645030761445613046795434502167768156471312117468609082361224078714963438959888346347177813282671237555395272063292366463815343218980278999368216098402855063030096987369735580833409245360454094104594805453845270070767451140311787303140047832893510291990992402236937852125714262729339943377120975930382665741698417677777257648121590161974119284777245644017171628204709693030838454818638476558464195415652016766133685959659245785249460771338489063212188364879289299792972325523083510460368958465090797593355870645974370954514179188251811312228126591632460105749736051531019844762772240862914505766217156947329578430332920830166809647465754746397973971477258836148688625673382020404767490047540768894162690706425100915927538680621704128810854341372381480141093739300508245719457098742323547755527815419906485496353967807485383590783214198604024760855761436266769101909097079890838736587681096500117053318684116338890545820712752624783138504373477156514555340296268166418121597280736353331140780871512890727965458530653736124658684167625623838279079808134483703017428989937962002270992547591345430358569716173717546700947370874187061595457549043349815495277619893158390297809972692575684352364047389660383902786760684107594647273298192814890385023483505362974458604520483770496479182554063363210134724320211220424916592074673390145844707828885686325116132292122936714226656283526711640387846343069237145107815911697153264072967486810825215368898350792259698830285580879542004246837159404232714219278364895604934210428157306334386510768114189138903635371505557605058556929324973283235419516670545270244313189113783180738293237768792106513226744879812469986892154220341925321273539226396768016929858978885187881544524835849255170718404787223438173588446833105569204560029868162396157641877675106091908602828076379512772813761931181507592266955662596053834212577193111670421608930968287414315855909609525648838164194052063896651377137180274267924708281110530746450156938484868014101501476391380715576752035155251117939397839832685018886763989683991410989586806263659275712678878543497428481792816854067859514253017779597048404114314035759607291634423224284862661013677893826845361111736319290978826721426383674493348068409818390653343013086299406284612006789495800510081381654553642001547370026830473540376185904100730519987855175283586941077878946083620871321665860082043528826073086876509479077647047111511486474339330533165635844560171125811103006261027115794731663943431457079674715756296268438593011565674171602830818995460729499601676582082036220546119472345533190695660608238891408166291693119053731957831025532703647341444597736129749492060559802282595477681305598761471442448722700845685780520337156659123633502671511559730386325780803068358830894478432383483963638747295204215847241409356643643876647804254230897448968123597041333441594632259630126510530565724169239373758970680946027922436920161618618327373383022737403491205665059411631670996766599814389153236194833466898728514642412102729260467124988720895720953775869017290407185509201924740051449725258902364704979182800405010816104831100841247144435058601366342404373292285444458322562098458773382294558896414991636965076928442492235214803292064558829823766164664251030455078120883586922255658831992823170253491677024868071397860221376629026731423629066724735886843268767691052735940430081459080883765437885997007701626953791937466849169088529849178979081121350721374745901565431078683776659185428836150368042922189867291297242691409790940244999079594733724885185925787699442425353086885851827594197907143352087430271583195979603431834225406238642379969268997793782153606317046699558272558818376142891460732082645543302234334899629814743312400570951020307779381658955792433176113868796630596763832379323883705769949972845061667765791834320240756079723882999883152025662744174971805624822358254767699740445122387049321320790580418408405050065168795638392898079609303030094942731516691420428722591297349035294171431287450297078197543124655356416217661663252649357625356250769430093362902828766576279472080489040437218221116161948020559830880205651333324145847575350972552871844257216987946353789353217209937137668817061189392246428856948556196076754851032211826448394038730012538762142196424188558229312320759563323305779363200939160428443382249452544377295620373371638327149278783482457122169707185488344931045578983020030265117002646841476909111867533081113638200344598743599861396606889541195896951890364728950792106802985975764042476257685321886887099756275870417097598994248044117303616832410736075804892682352286498852188954915188389934492536573582386714628346370318073553335220206667550453074196533974969000833745431153499627995158838613790340309971881370093427922107874248443089514616054424862072694825959980412806690425977373098594482549354302978151408669375135171773372209783958231867596967275550833299592897242202682663369295754023555 : 79436628266757665446080762836060581694298960992224739675813832551533059319162812254359444080908992915676618778988702451677077753962152736536920658720576215917414348575848314344521619946903489473201391620726366356708718711075089157051308570053524796931982716069892189025969199086708400938957603655838566969883889658781054999095789404577768581281360786549867809863078315251356305408958790998469440867954736415739292630255981252386754252209024842937342307610287093761335376630869366245869941427231238605981121490889810026717354945965623588179904552030290837621252040342585502435124244852844988038173118059707531219302744059385229121991471673546541362735811332905347529925312975582476437550517640639649417252429193982060127269219635890266103669286139398190258990148051489065191639090652379086217134897810976713029303801057982154115742998769776735419897341834474038888937932543743287113690424801947300945122558569199321352192266497296809096048078990183720902410353531685575556969060616411019037877804063690167593657865797210205162636029418165923715915853241932224499178453669694873502693831091321712349127221511001706072791812379965885338882872070348202075502362910516087456626011673337104027064941317248622101946392171547448024914503501356030040146037381588507444308744919526435203763219980474927236881301472897474821343569292602052174417894439043364807506816348303013766119411642153653289811047207912322713073772727021008475789531351740890868352592506924971335542248848071426407523274129941890745638318996312038840549526752985269529103108204041747350425378929024323708920877168673888009033485113329189066998186459810434187957490323857157184665151816566044188809865193600245729921669340370933414308128442132552048533961821223501899452825042103507788316787548858279014418208697538555535498368216340056934415788519482761776018283825903737299018955681465771310434283514619782606743603449502527746202023147157958929769391959838106714730361403861179859198682032779468986905198880163482616049988088707803629034075519018188034843670673459325599711038627001363167271968555713386436418618638241354426338342790804406212920791190729776908824888769580463814855091950786925320004654857342559368634618371766854038172924503079890486463814636111938451957025412753989728394237634598202367903957624670689256587237416095801157145026077615173390649202953856167524697655067687939124320400797890032783798336561563533765304195296726844986904857023474731863976087523145377596478213113963568697909436307685458895283939102343120201040734776238776298381967768934864442137376297027312592387335406024179912543795261250689954643441576656145179336075173073387722328624464717323635522755340596921868524723711781575542287683003520889879429077072642809905881792654194722530687663677199136125629973087424474812889784161358207182157211199678087170472646184266733415831937841598302313453317730124034491564005648107353953427563713805856261775533440951219324269120696938866763442097143415993174379215397000705730207537581653377103020268577793463944104263984515894499462086368871793216459684302892729029490947013295662554666140794918534111991868025226188384691296132975310428847563916074169217335850279337248389705468844382146455012299766616323696434323638072682827256086193550377691124360689906479025886349947745251244986818708993792190882277172875547896981951610110383024186726984094652690384569975082322251921169555912504086451716812529766984598427438660093785027833928542461049140451644982213300432861699192706777505276752709425787932863239766054264433824233963395701497380082218319164556971701916352717593533396241070047630255877102559247285076229657362301580962854002015039702576405029397826412735737297835229666783774117284139363850947245924336011871382804082550737875495824087134659307292225225121761649956179294726051923475170951358482104642542092843071821334840980558966470088846475006845856005912601162300819382881527366388836345030255559017882533767231524247070989206210646928785275605147408014706960504961669344204528890811220634028619098778492848166053957251971880596810856819922585206274119541962533972197729991974282780575649676618981309665162524683535904733888513093311908156556023964923628610612230794235542353182217024249645244433110586434212019001871540123271054684016968427776113346974965257484120648850028553999363078993524840571909292849192160057223249818765868281055757299074916537793354979885541353779850619207896607447367631360609661204782729991648049251924115049435110487597260545648745418241361700241635564366638932460087616072535023413757253033481270755159375683970911693297747274833982044821928409890976129759150219559327489616155990219660140025003398264277770511114404494609602178841321957012892458616127526794848892582905022141874726623044797062269573455810839379070106366607158202024560844053320503397221599374884953923307417643559173754932069359446572617960848395755810850331850373302098107105206817228100203899086409554140275960602286719328681983655164868032007378374211602791738066700176810006784738663669035163921392726457867164393150136399994741062158388965827799001933499308008743023342628441954255285398174363940608018210465042973019980964285882075223211327223425412426700603847791406555003026075373666012253003943901049788549708608738921672098414358522421008670597773460021346701504707812811394645619776330144756396148320159825190755040066561747551037248542675490944633995810928384546031244060065830511271266087131727295676209195160419299427005589944558148346447025350747874035712413532378597939254113808330581502454660905422086389550355166859573433985169328778073430110367187043871848188663521094066158375670752477767952457336158930219984584184104213498914724813835337336005953250709383328351377866600767583137218188632394196860362036618828249547573399051048051322766119847901400429830269973092280470470212177819935553038303014331272727187990782915321320617681277407160480250006750701346408157149928649729660123023262146072208254272448854062168664740472234022986933025972936394165165553255943836662123700701635412972651824986744931728870040547710455250374661732138787208072162945319230031384009362654637615977102806087814786163512248372591769733751581280588100584192391991786135287624358154096704267794047698865341281047851104067482192378512746451217815773974235477890738700211663691528384313561123838647587923029117195141131024650818709693585977556855638273228796768494393855830194949611311022832901524173280689022113797939940553624248825433595067070051702622289354581569309920043482100371924482376050830955116223294469724389815725469803263018243386652693571884735167380804431165802508575994533504682280304926534650039785785072343462465899851042159187401408388363547609882537686076967245969423202190227553364890102686945937328300397084328665868384410817565073802047021014201160161825587086488546859208498423309278813401285253325432668969696503948638022550838107023606395344832652978129846893979310590696407844809833193090935998608888139044546881537471814398941193881596118194492713129214433123598734249131831123247135889522040827261945102411368673730933643016978597975727281719365888027730327377265313619745451183922064989600935887947305199376016900751132147490487903218091918390113853287937880826047249451535883842154736371276067124875671495155375496990029889347614682908604133975727276788133901290358511725114550762303711785512750016396753636617800593889216204464992591529924298297758606016109429723199475346617030250093916729769488052950548591509503567932469992846600337508806058699000250201830102733848230717571181866961038798698960731794716681069357353921357983407130087371670009549297278052153564510746476179485068075857517188729996390853484128239173409729990185684225483408223246408766508991798155765888839997825405032631557128398210502278574771561547217087875880197397111226022736777759278125519911711413535100670744982599109640741442928632380936206935129485436687129810701604846335657668811892579478239940104344407730342891620250490285857072626194521547376886689669355859626660460507738063534850534353738144160467140800096533892440324784850618765310648940414625728661191692441426790429753219949486616056889591663283132982291278385090704982328264937958423176475723952634002285780488301040525554046902072022178951214010501603849881590773031706488340002564935298955653323056296134849506075567913095246400495678906603604040129321267006644003571520228011979773655795824140154325903952066025746927975625299684114101784774472398265581330943655238912319356300479918977310930726632238287960548532857321837691797599974468295065602754269754348122770458636545378866411720823927741825685292910345594637219077833129586250711806944984943602050371185764650330015730571933669200147849702221836140255750317243282934808529449554717919680452368031449616672097582714499237684478524291880792196973004510579288842296058148879890448983265165123985875332018990352395261737542921041408727962924109880868687440365340082276289245779670067372019807982357869981379905141781717222644248388813020108181786902671806139998504583753601776839463069305595016887108323113933732220926636320238554781010554936280383442375561558764203246853972294566785539307562640152857531176326671293127611288535035602483223939629580976793099101124077677762745984993786789736704560307776060712149219501568743616602886792931449088141525897139174002734581997058724294004414150516909027931439313413588637627003063060905230142335317335467478240630378234479907068307909819340133044297775836068344811760600031916195716751838659538949753924604654206885082810397415416344438570283243047383774669684043673941505252261647309310535826689485660875051687851173285411619984043549573138783635895351222335496390518880057435943562865851926096481447150454180202357101692766113774436653198281108754735789974315522932860111746392680065314222887585466919930044406820707433366073855940293557598166719854851782084535961077443838721338905750123213853243686206170994734018948520235845248121028520233717630171209562090986350604975881902823907024036778196499322440780037041249284980848927035582649252474681433835407458334909184202071933612204668269364688955909950274997598432051447463738267915901655197160270584804447240520249789008865889041397808669999322742359536090884456417002193000070491855736969511723102945885634037483057791569329713776399674627598242003913243512632832760301414010151095831324912946934074656444199299891517276174353456884286623442736800984341000361563123368943644671117727162426641217763387018952424785945483158724729910139532074982511751239929766841540537645829896884423398592870824837290036813714088221743222238490868956821064714647552831113111107772535040236092596868701198011990141776781519101533893673201004434554427266145650208359884276167284279772197444371198186556081567485319128267729492921595559453331563582528285289058902761535803314746740206479496702959560628748589641023100540776964018861059442857082912567927140823999681471434026611128474852095763159672134138861559666846259027977156615081821685947350924794636273637727275810598557736506063273973087335537844958644700796402762738306941867080425706239626386891768703197612649420560358227038118662750400262669713238146304950179618013758418994338447871076572391475846723740437674667102837126289964917582548038992062877259093874995686451291359870884873616535192592104870972671511924390980673344190676396188989157595128992609360455457546815858437551095577540363640149768269483732144983160870134952057489082605632472706088494957170932776913488144210084704986268781269967684265598477320193587572223080876348049667247148769722131174706913033223199871774133667131958335916144141406082628578392221713742730127040672108310107602504688233870143598466766646817449604081147075091663346042480808377456976072640359041976471064226701657731501097497340554321174924787332613939952969372927968359540488390978037123133406517323245717403006215273501975059768272272104709380381670155673595503470630888714306820109354390331296320055398175898204860954412787852699849677042825514924283981286093770734491438962964846577856144546620309118702695512839866744897638533536250544662279020534687620172296936528406908530184311654223298741121491280727197394002864406244139724046608137592993452402255371995570568896659871575251930743839669248300603602437268036472637102620780313915386640842669896148421464845013392290072578334768670942187263487544702791663652289529064514303579184088446237981215842880147002292894239887217646362228597813664459301467474330966781949667428962148027951312105518033885492334154667494579877629858603789317120295057795330131439967610377339778266453319786745535034903196195518844963245911159159966513743513281449642600821798366524295488960687017865860658422965898357052372622017315146205126322312634189755053288131283713769724842992071373609251896475766319747976436142954385754445707361154787716693777014347796356822444377261697314650408299763439022636261397981377440050589225042039940164468205298625238124043412881865207963935383673493389748711083319435940164255540502773190135431751301515044827886231589454071498330757953669696472654088534430474147637022334794492329845008754228212195175091096424389013953383166641949994061343582655304548369623461502847139126242246036237898461392825555236757102919714472262919984601784229283565819371993501942400909221565522538365914147152251249450885499884231111096023810688539544043618503380994620792296669663329050584907260188080486470654804407694358251261573739739274313243148654486810133536714276528534403366979707277585258729817740222438248437636376907108234443731631729589328172044401371345946998281600924541242690826476014786312783712784219078413480498689782483723000841753098966662741981386160289092616863275086374816470190672409950188033801206850471225443351108401485144450159556757873167325264673750829935148048179415102980882860548462241710793574939547776721141526551597422019355396201390221051451472060345537862413167258007104877406306022893532946633650978224552362085631635200145326591903241614722866781070158720367768461698365213174900294218890283328935211114306942663284590134126826916406475428547375660051595429886448323321316943487498435330608405574386904611303957868299122566287409008331229436822172441660684796778031894402407771696718890260972082669050215021358321298409087559936534604227181924896678896171349734286564542480194424055522416674261390372481281521064353935213965874122072454949209800782742089541450642372412046790738251506372737514198508968370190694523029780613820154829890168004439193415318125319799687338374032523640735305117108376839033273997111451792996091824697495849371706075073569857444819312102926740881363257588543665772793474081627541649787998162495508603316680915252729943711608965859711805485171514630443417983077223907095834731050262412160474176152292381339027933923081728232248844307983621941989303044679319188580223909909308130519825385931791380923470751509640176651644673292813309142588179895969462245461513509513389157404376758007085078438080979879197645624781679468838579948209628390680048129573342718518292422758150832594619488810190161049019619216240602161485644001726858762041259162113153135679046645511347448878018084140381866608630804355306142817527998992737010451636924961328327192934927891611905605724330001933699560820794285477959251000997348962727773529395923315959376019896317878414163739146372085217122521887883635164533496854093793343943830762825156329818067715431009587226433377496017888930917547775415824402397018435289426924174822798862923461544968353094402085186162178592766544741550765836885949688342417965608620934341919145986583275232617600718539452260044745220181825889722348775988308145937112281336600251871239894375167287232824134997679810909705961957303494003304700888130417657798063197246455671669243032166622500614373670054840178641892245323204264879141941122638257133657818415182457340933401874209816477773281269492358232357164853172601568415919100906266406768524041899555849898455661399617930925036439469080433209383596513116454665946090949656561667769403210985763210632596148203693636496289646518557065778617475808150662501321153050865637977599916012381548136570178912460754098445725315467548538807278151432678013726911323104647418811272780050784350067024799474939474303045324777351388668448195901192512228840304046020822779979776281908521593381063175195282479630355048506958269730803924400698484065335256325497041578448294811864131187652683805133326473520243375841338372424167149201367573907112434193731827988691785871618824227489851619782047392548489027052812869302460261097616543420978963878064744487528726078561727506437983066704983730437549510861206652916798926399030808620187449373055512350604599980012467394889007436403472320478392900398048880867485545700223554176638017556761599373772235317398454167111326816112461740417946858179414534299497026953151355531966330319166812702038433803903149778789844148329149798957827506868458678331563373229714396653902972147212123000248668393695445699791369844863849294380125808808253640161236152520145227123281519986345274617776119283404713220391470840825225829813247531594136137268960445700249689938923455067030798140947348957166356727988407170829953825705020166159160256698280902738359148323130307505495876989174445566849854986167188350877762170949082487580785564686460211231507514498612828907925116078920308859461128595123754157855149535271689938694670943247275708668257577939554068780155832036159321217193671214867859422412008822108742290167631838420585037532334385167521328497877142283495571736928608477323484443974694925976371206459447395230397032136101280060130290140430896304458209689601497086140220119839889004565946866253949452834669975988001177065804984831870592545823328369653834175002070584087797238368697664217626120624264183020592397177986576051672135843912794199918982671954414809168667813825967822533913609568231282476719941769510845293379715134909428840987232692177314851573399696812966937920347177045552618673330818059987837067941703882099091999051613355550592049871619419442248479494957395880966499675419167109761922264170333037063536308851903867592537488227636962622058327305316596594558228522985262636817690976839631429684974999020641728538448433209646296613003469822602380045616795813393817255075757054442400117051614828806274932832534596704948691011537746409373559038836740562566294154957556720974216966563929536568079438207763914169811578141757643496356933098774777097674636862625713037926232399245784683777634392857913872736511307253332911592553908676575343158895626171524814928639302088987875491045405653862658249625820673451361087878653167961701655168939874533217899682379175264807323206127826823460352117740400769009351209449286724584258370218147656242526709473763628871416927966452052622496886200579734452170243614679500085676106331208175649720735652848593061412539346566122190624484539305381930401657098820175754788639526893080721497628877463834524399100873151280185468473462548366582211244960501284150852644731560773433420310665071081905683884092991244604498197411404486687410119994602108256057969242287249230214041210098938818566877873692070191127164007319060181765572852305534393754052696836169644603703992405317726877552737222439176510603570776815390880132382055493090328292503885083818247473437259724459985307462664687202477869772903070607237004721777972249116939915426303712432085828554353895048936723032816140910800150659217438741222602605683668602630336099219880005060240434496852777870311777704975723816215268621506306754887836549272895836464570448459647172431665501811351320160990759701169580522506468050264814387052055412836433909837107703008015307873358670774654147571933818899498523649245937794849683248796384599311211344562583993254573826027190364351843735748687378726463707527096032493659591194442489533659705836344853106669974435167954641885866852984219715796318185041575204054397660279693469938319769254006269921809776440466351270382846262990456342111578932790376092687353312016344798144198540150779791407038716149430251152756803207987784399994724475890870762804760777572829721469493908564848113687775350338820076703904165381220092376551932333863503090898600856606149137819418143791585985812718436454086676964049639114023767653412551172450962112399330304764304673147573462478891287448587914443302392518915300995983556694824135009392857275336475740767878274400521528628288643729114620741533695573905321706987347906402805498928241864906272755359913753158876724643975439721152583152295748710196601667198080938999171428610056242715138710594731122588401992363718966465221966104463818183698115669095042205452523704789908252595659475586366536318239284168678620909883655174336782624004287316236740549385989037537462396069347818811677912282599750431493527870637137279486786003015334605447892732442820043813689372851636037546281491907241437982000925782783463816073922103413484683630634737847867679021110325530781973805254141688328156203627858323489759790016238037167675723854435862533316617198938381830766457107608148738595778361149925492031317223435988891779968992370370715544706565585459436885318328157955537785235914912699916130680922465590520505230397576002475423082370945381637299175877784601562619556616233687711523895523130998544650144686858891368763348664577836635979384968140272169802229193533791298940866900331832365970879781299760760961353381992222158195198935252068046949775641698548519824031318481476659894383963251801910291663108843245619680333322018324177085867431439871116829660783122870512507381933996608966565033576752737740453104934147608767195422362071243202252375648260434955319766336609387593576166220781343912608439433234067483727495429055080860794772073327709453562476794251168624173637458965032324110536059582834293689170493881287098274692902934246775751175477981625337204519615146296998450540601085888625429080689123076842485032483604834744034822071345636497670377242222229019332282647303269325415825333725953555202220511531896452285891651256294317154902670664245301678661430214214792695641451209794441231458263685184727848608461302081411223456226783576653531590584199828523575492994212691272685078697867611516984564506723411011355862401676993753575802755890685020959870131461682142226026101728587473254591790959468249342295243920267946729885060283008494807903946289361181995870906865019333760585546230105267231511408309017444933529580359184808753678426831283452311646255239742514142437866937910857861308004933335214898929706248038032647998315130421814368864659122050657832761249623784103112732310118355313883773307504485935247764480890332287547642802037190780346095572305765514281772423309111574786736218746458705348259169015886179613484205257602081831240401433135659717991959506517565862475223275929312328240024804391256066039520159513429412550822510462405571938703712966696585547173011884297340146006811717667101510720159396103397897464386190818846299211078019149727411597027895288678929336283403253549497503107414444752637266377961650076364455522684019773979678159692517887241515916709325276095019554454124865385621681827236176934316889770636623533351056917509562299344531622849373204581700213688204287983112234021661343811650130195720919074092442385809245595026677307979397544522094104270643309114256474350240115324774570141480551875932719608678437842935461802609373199546689440177131336235260107603055839593579105392501529571459982280481680381915862585104216944292936133443648501938980765733562927590253089607867522400461094378545874586447127761916272192020655599947825137769758123468936466919124348452518595892220728311634354964558566550521205191088526417716396947019174527289867204455213816930590240862971908156161286059898215298747412958591676552887796577828220351116198197299351518595701324450514391022458902518289170284501895141831885491004551267829095568221049945805948255221605847184366738917956794924081182496030775720375267188765728097436788611124061389280283539278678433072865894142277483821622645930590138463892422240134089186380338710363257801736880794592403224886010896549068735121415776659943727214541782209130815775195041510871743556286391010186057723147111390189543119385438390639477824079513739491439647313796036717922779350539477085554939623775490289506881029642554396262311080160771443157425023148308017264469244471778208643213459319091345498161020087488714604519522290416499781757415087510694855231441485638585376867517712996253064830930326510734207470497798609895991453811625111598633264095979814575173317837577410658359751540867164131202759492682405779742171781773263602923052884496119784443818294806103585707321319278385537581402996841065617532030445561146985798779682382804601138309683716181275307844970584903872354207050202708147405130823091827442413424634929578031388595508214223827760774229376731284561951845993857423447340120463338146076356884220987397574987482145597875360013201901826745114172239883601647389940034566168676868118780506134984757194701164959423658500943554896029233775376394414811520940904494343428809736562578127117665278747134034508796542227162194916641685123061800145016333713378854773246132732527338365861711562639456902612939898955155219304226404331923046389126019470084510865932646114089609213852369226201862371708102252017856435351015902292738115065778843290523774234009044774050939638032115644171279445247546134347642592812814139870341166527766106228473841442153718727507091396402376684767799839805363736404064923291137467315383193800972880036048429558091908797732998823484356678785729083545235040361560945261131968299504544313178417903565842215536278042417907064256803941446287426927086354661359292098535647598904840986434564363279378731346271232083514892278190499476356809837372328465287705469603997826915973563708604897653919297023005161529943311122311145153545746486939785071554898815409734809404950458020831514760160287309508971517682945693166150537929246817313193780314910070148849674374375765740656608346851435033920278047737836265991465391175705667027013414549108146849548497833491575269109285708332197039743936397961378235275800484276047512835026367060806639952446430913340618055333518315554016046830724839280073152522501327617985568969625834215712505525449528940816665815553526391091071466116731863499830435634600370936023555118665383245718472673571834192142719758629251110734973700529042478228407681428049787064936988226864896719658647387395624414664733025062868016832730733480707776840162040949193407880817191059111003499199313992704947937211384702382280641466778709491676923660942948840504398110177281767520190707687776694648570133373213597489327375687964969766704361443965952791789738720557480658734223397977900691176578292066524966854613033717604602712312311010931381281201337541062302881580527016089557826696624324064572398948262384304054203320152627202179428982527696865634985418329189353023650758308039376480309062261230138206054806571706810919390150705421724380570755133646860486608296289431993111336625191766864006850636013015438213706324630710190384140632095696011577554239001139533408743926167368816478352085670835019095448758307714314309271626298250812213026422745601130779229869950832148960617148188184286877674415147248537855591167728925077412155955739290913465376214563246160834854209000182631765808519750937276129036090003555269894419870334149659704565716240398923080639315233881936158757078547543432426635666228067541151083368951707657656769551073900058882259587854523846133192348633411239535060088887691475362271623897435309446485745203922079841335319010677008531716546030018812756299290576901267777809132430376178401638831003923068277700040945628712935471281810163576475614843337270964720127000276206824694559659171054170306116985278567245851175661459302098699978258383257332411149208085902209077369970019975104009294550278507239885937390905706909834615232208112407903545620920488523404726237029400694089839019397251243231469704122559514962816548317813056661249367693287489924652989573392277686857626529870976117665291002041327066106800698139250271526618769164334350968402783840136758764718221548900949118740954781793671384589972284820692568958677350784060210396547854994473183342869258828286471781658303031938679862428669174359468233857584224512930179164003430072949679368631223249894433027076230692963661772324393287804197276796956955841181333301249660218014681990370831584827251909267251442040733426504357705930540027896120605901262268959031090779493256220354544507033408205314472096804987532315066717565245971163713353039466240840170905269900423490774632908346891215487848253155261895967698060681975149754129605563281025449737386544267540108804341657959750051529416484881043878330949375579595921973404487854790171480161012764876192691196855255011875387576000544377505473290809473329389432010739490910234070293399897304551450388273629480681359395283731702026704516869386160378539917832416948643596800273983433133521032706756602662938844366668593059724940295541787853779343402119752095387985547409137071037612676349422995143987083209143665958150592377695880580397594584564849558282341193002038145622049800233855086938175157846619156778185953847826297805017632305907648699383857342622526978711313001383673277588739067278264594951529647509485046721673875580028565871439927695344335693701818960933799660415752947529073987259574489260468276147083786010961360211818351862268168196227690421531528468740469798259943066922886160073209396458403953640691044998292254021767048898351085759754498621953119400706939401986582602585473469113473081100418874856258376999969593750133208655785972642570467315749935444746834000244121922695917188300013332690372023451056580864383651926329291343919859143316260342378688688869372191271119974886318594579226461688712002201757241935638951861367947815134907262129117049399517203968529978307168472401531975234200796130219809413660494525637109208474529126258776390675791518592714203209978742415359820587751977362430558437096426471090254679278558685606893243070452747120170559326825032258973420692330086390295292552824774406057609730513172899103654820096729131343735878893909896484478726529757080530868627548966649819177545495397805367521133136170072905251921013277617761269425403676231711799461494848824677256388809651366203660531759030740931424234559401021675770940989320616205266656286203115180806660647463109384563193346517063578792494035066289097157504917048607730639727450230986329781977194052865373795377114583812398632859873936109737595417324079951999427117174866519513665382103043735105117409738726560289709607345333086567085677017014690665556873101362939318250135771363444858763488108195198436538202525924201944309112674543075912848697909700244552695130651947740050476279907292858780523414953208083770704408672375910397167662115608860386952979927061874122545752720231732386319306944296321513021218579713613036250792643637312699274829781692594628230767080293699918950270581347721819733637812242650550849543689438611760244334126964753485979029443810670414526950885463162230481790744771219157010660880812296309762831296979938231254564918081875880232982928393290682341747426798246942597137385221913781574173814720038940133533538536634512933371887638792509264937333386772166994846551888920804028599546194641134600328650988083366167466135823037394854106015206178411416785258965547583044275212625699123864369766492455916088041621823260319439470225879525570348325111841585008131867409213258967067976701739050601503475310706906996517113938709585470829651738644335244731795203907371652756195776358914581399896839963031201119810865944257655362901805890836158695844446331923571430255360490286502041587134739675336010927899282782280868104467511518964425044852364238338386290051637818725549927158470583037948316828850611679168906421245304221350235262945426894593482320673867809239307654216663479369340276909080968675527059797644834716177506726867617905102752563666512283383533840335591073151116786013092812451308395304674668280316960415127371930687452840562871204344849680273301759319908882020518550230734829018596870719439133485933347537224081178799424975826533800644262081727669682805455903226339867367725589937979779221780154883987496154982571452902276543243664604652496094606532841707642160729426637809780852154034761261766043151078834536916805966728890010956073367861072423323720545450588375889264715834030641036540502301117254248426008249009398696447344078863675337926751018323182076890650282876778929400687388747942770785684084076713141022686501599816194354259958809276140935438613503755101108647069183774283963981084982046625551186910212722813778584949894753765988615096404193154985083834460907829476088072618110649401516468424750423880776530826065697724720147441013933192176289335048246388087338841442492327618616489165890290860504346578035657960203773570159138851515690028269448019239980159400442490808470017373544313743364189957992140388893224737180767273539676267462780282847229471442328451754834824324611820352197878572322872873483955652095676015980818042922764700061127795726498839977094745772403778594379154258441993990773798213025574069821305966325136297185953847434845830072277835158776238530330719587684411138829256493213676331761916631984468107125015138630706061301430403436314828935298101886028522432403860096729229094916978940430135525758662391802441526551776024943301064728146466871244201966763375602099614592279839110014663928769468931928279522883561995958355688096687970424404503449439488174264923971255770656962847814919806274956650880461451439389306624266854733017584744973680968617952993430639859207613817785400146497010994574769278730923734296595174400223088111354000737119010699791164660521565629297181516917859148893212978605732248129161215303581740245325608938767506913960475069015016672405260078690735908169781821174821878447715581453979878634735081770425861684573089226696877793001830587381368844984314162699580020767434229890458207376919610666184482391246408244880102649503621772503987284344220513355778609103083064616878544125590580005575317250080785184493991241223540153537653050958097112513140159137077970955420928519916725206844847447358139820258379360652198007661882789479557127447946959929434183760589030127259624976550731596335961189431208381188952761193065332503725806649968541035848182746522820258271330867525108347604712526338880489023771156284763446764728287704718013185287261063431623370344893526305787179986850089127692324939105396067266252024032947919607264820219835461463132617022658445675929458841695834681047815093770223021658730554163202874869589223855353368299373061544523065246389616420638518118073235098533927141007560200811587419304773344045701961405369188028568271243853081161770217041210988221515383535346130403279010102062957292029078921985177111675320447831564855821252511600138931664139222941838654735397726844112295169962445301451836798468741422363338987341394201969733076540971209163634766530946512498944647891912789471159840293127785453920701300404426053820971129145452381295804343673803140797959850601659863236108233615440540414226842185685437554293888896625997840932922604447379641717222454070200905358588412069257648268209080406117992746539196572601694290826765097719508739496469201109736692194178033241471488425012983800129547248674675261815880541768395672212129918033767516006517367974909181771354428376741183830760363267450326088663387287970740966113554876304250793314922460574478242285706429173699937120398652459956703355425859408667305063607666279644325925259159263110541074322146295504026309220844683844577019645726136346572289445859506901943891855053239027281828299463891823302338539778311795394907023937680038264830691468258548067286832471419475537570988372974899548806894688002696679040200197693365983431418506308519979815032270465377927015293546057106516980043519483970907937290306362747196233704942252841561322218834965739449190238284678838806193208908320263185786270939325913559606697629485997759146075817071136144221062373129311297604479762652206237319356498769214297700774968684124414818004262102956528682110959832797534181334714664460369831266347806569608719951251812874357225278324155109605594745329732475175135885415722067912965065421143500597624985565732705644338673511786082126358551274554348425239248695305256391041498205643253590205568125851713091136124924643996983620586236946861821797504985637718034724943123898566834635721631853517144286774583871733398158188767104777383418773588972131758050731178589257915046147846583899024966632979791309111943093616438518927495235883506665507501626780094742045767057410107831943620315204899137451468587667126100492189607163249771978420588592275624672178704983124863432571908015624024405515475934375472525859579571317651994430440206581720128792318122656494497819833145867579612615583358553441106759120841486953571497834521219829937576696519738304509279720839048551268916213967951826602889985715563677221568163179158780655074014745938772143968105137181213027821244713551218668401690332186228235672398972351420077447537301684525094857774366681150331051652269364490557788672351786354950098606794098753817754151491628448469888874217970563421667979841507526823748520132191805988363130581404368895863926098825705994279536158914248474453161922230455662138987777304226779068264497595655217222790707510176981181658484847907409667711072944589279915830463097612321361054928570422232073670488638553089250769939556612694247919598705452059855148654451227648653256255897816133426677918106928754533903315610562421272296436521298464388766587819453427019662811761813725032254528105925583736526774794498284605782811007291009020790823086134998345092180270904768859443742566983681610552554811777455360187872562302608593268699533654899308655024980137281859542920252402733254988539818524204725108803727481557011686078864274562435648468320349885684642133241372637595473592793901679117729904630630908668257398239905159790777746276298238226719997641194132721151059598194563522409144613930349865734055992028474022565491316364011378296703736103857666644814136675514264029795602889879847793355760225493339724697159852072921164755708206355857617492896650467980668054291363798857957078890908222030401241490263435174660475225240078295703847873441464351058252139387465426425188535959094519285166875456455492985863262427642223318577410499779357716004384788167262942991567873616337861789754070368052767740884052758347122441102267214255270828379060755338762906346851751366550902833498993551358317009905771537677482933327744781640672693190207065380667161356845031769878906724425071211147652766976342189822977919472716121400829953277322901068212431524147016015828738085853526081290122611463385222373346971061266222184474522460363433483235601485814458169163088279028115771659131661859707593180648950956524619396158290679784530496175579201173226339225308999987285371969313304366835281581845598367798988984587422573984972130698324721719259176688323494719689265594209694025664653168349315950447561283572090267395481296546467706314813459636474513000636053339234507287253510319400145452063447497075491579776339635297260426828301236479234143181796435381153612505747206508004777296069399304980414592898540409400197401926012830509720278763501288471681694269601342151291430132215643309235820111290681531283124013497694981499765105936562773461710971962483911732855082375597572440617769566273149731255927141151684653538975293874913404765787194774161442840009164653911321512294946207664882896756872198682760612396540118257900856802108868552236075236692005167125470482642884641549970141219530839661070101745345343797120881552720174036742509514118237121846593875141957881750432982197286808130727116708182290361723480361194576829579096872609820062444833789503424767606406421957154014199977755926534679213126016716885987028299566492967255992192458655757111623218708719983744761171410205853076540419037404776236068188627291412221901606966654657844689884234024118128423933917175977812317684482630308295810858732707861079699180405967646678448448426189721942987856165942914190880998373241904844624689300599952721957449915299429983545184811313048081970504668584967413889371702548626695650034036396678341285534462223345161314686209458280261659648727513586586166670888062335809365896920701731637232810225956513320170364466328164090011919425934257238230138360478141875600591566122251741553885995121962179250763232230030188057339856178477797728131255382493402706720489483540045821389188524881078594407360725433253831108060083368066574901368913875088638578268878315535081174518919885629231528327127489346845232128619485765010575112353878399567492217396008243427707092295057248307597616506981233041700005987945999088333038850407585013635034841243423032296936229578264355303069302431361398232761219595793575287510173047407030608815231916295189258416627151599969070769017395553926007408660301124578275179664406538307330772073829875949506752310410959301355074549291212010916034994861113666910878901024511032032627237906318401312767696528316238790467010253812897089544966632514020363510563847678382384312790577340006530846710883238346054093506720000948658915244493308416034366353343343681653701348987423393492905712571481451546879955709822977315283183345820245397290533678832560536241510084533983738353325288067654065795459799656357136129640288375688988093970285855915455563345684222545082324755128345803262232007439773062705088544087221975983440492731570751839369688117768341784736028225053711082642682972122385994995239044933255329866724688831153023459352082439275731107914244317081807774480123367984462268512351960137174508136983428294348437961659643518260777765373263448546826280674552850052234809366355250488412225736722477088633647934705361667938751094900416466346685996146095108164782633719220183587291539205289831126771492098116871016635015137466915894188738623910640963338898556170956240065390314720106824231502164286983157240352498287604091846837864474337265846108731161735136023986396453727934530708924553070532766336576497660503540479232848274663399867945626479620329351535444735475770362892730926457087526175924155309481125430615107984881930514154459185923333849452967620158774305128996422129910797180745887620267430624519792510865341732043135885482014161766119481348957075851996820243071669661836017984854537052784937882175279893290264113279869791941407656950143266079851124441811881307966332040597104866989057360702529279703143174207372373093669069880833036148137648159623581195818910348218781180238915040114628586742076172412378828821913952734293294492916912016666959295310628610241000808019408685535502527267005345999265115102978349130886837279706863605467906661274419488810568830318868385867233729342660858146472807364067925865801261077885798882181369578520495879112925653501457133863952166232040852146386172681099199356402015003113842838045502025332172279500327498813115907916949219580057863970072468700450521549946154418047445272308404692081593000637781370681593843676323454400505354079728349798928208906637999455082441602738538252079147973973872414449768092882622694417367322065252174531648238114240709275011453263711559110057987375533269517991840543125622453983406123736031519779586008021104557573939696703820581436738762496692018954769725963266665532356848033617370115455525687297950146180530999526637702052648342641349329873019438652998596243078472468199660264970463830353280874184770136765671038235839342786647742081249176388553778870293194044367995318814961027247688450174574184080971297250925799704166616485450939068889092862340185080816208155688401666061499716934571399568728021897014566452968258067914652060652914171580850945022476050732993734131242351964872742210839454310949879568167906178942158768533679031836790458725360510701371868152511198738432498488613047340964562527001968838345162098674203636580024676968265155383338445986946874152979234590307283266857996406830248700754436696193466812709886290404535975519558649212100109775233045831982283336826599045819566547261562088338807898604179884381073345881089848893035225854358512997415807781327532755619360199217376639656290219381916516131741959819508334113060635066833483430392443409937904903814406001559778315378098324262441411303630840250097566036183833148975998461887683050253580475949342756925522746078695218876907360785195881346779491059424755314353152736499870421236806193951742953405370218402906792261580617739791672571149815353902292249013548694860635810524785993267877967059505566555054400941201772040462532082980780719333461431366348589059739290472829049206323653663144717578702826212229906754260087807199519172112235828834332644518596208770684733040124209750620803787634568321303605966507024746168538655545201645737684928335472581625605578411149809853356458814677082331928956582198056007746526833486279364310355979341720779653486163299835332711924971705799528410800489514898702796692365868379899816530754681283366588142211540274739913506316155783015210677320213488780881653448045208391590413888409665217965227596199716213911304977180872721899056701511822484093509652950418865600502444424608370852415546060924617116663476306284392196825933151955196340324554393165625058349360642308116424251044118612939918021346182697878902635335306354386696302762073275111462613620336296830461697732902053671047253762468387814953219292920196217173940567863903166342281195664189499068144388523284161540436783708788118992438027584492384057239893681605872638756308956584638075588667366210358282167824200447929175226775002682254350439348036138432451620781709652605876547903353109882848970644518952837373849820771704202816480122118413625165491508876984667199459118690783304941999882421306282871958451605663252678069750266917266890984990548681959622972310645689118017515973673509696368739731368632411871924734300276770860654259975822971787798859648892206633964430467627661335360005099100304422334088160347021451321165755974975521961169943683822800156870262518916729989090561623016635581978763053174421666694231508766597369844907657209698456427078252366091214409139237807068133270250852638263148182806441339818145578172106108005340506571150063543707321718194786020922547123216414214758295652820489353912089172501689374569535751126851571947711460824179535243440667118205402621415059590132483926964302671080683215328136733217178609851214581889921645094525814279376660231381324412431697603400930143619149883185101331275330960047167684400582232796074855897116976729442227331780625078544585159160186580874836177300668692164511745472021921806343762638764908665565747785637251156633684849708481283241686920165639916550522873398828766041063851435467611417773163160409883252613566827585030753435789672029270886008306648009580321671069632713197683296199161010945378316228378230766126528549535778737980603174160579553871349721967103088258872555876314975928152677149192230747232666174810512581649329127306412896576437164156792316374624472177029193541935131564173106633672118925339239378092838527155441442129992068377200218711436274277836831001521940255312053362930423877167983711638569643063700110836732257492610826677140462526104917818151378586415075559333280743839752512791788891158012037865421740033310819595930414593684365566082851325727354479643878091986713928053443571376501281582173629826509025424241724788851278939297514522878249497789259493075967085741543389753737308944370638261475050462768384562709131354210924342013792766672442363483573939103670839806645207964968587712098151764877918713891741148939899815488538174892970268634899519960065371622678296349664285851538276628170751997878937411652183867144556854933271088931847094914083551691057340661573279026558302073492948476700174536325773021164360409059133765675058316829622995606318988063930819591714045193243265604466814276102818136878670657599429461072567926578570524475019257290225338885564286027740842048512970601156492914353237948179802549098702854427768011352688957491275492603282238648032195832273579992468600881677900438826836417688545949758811716969030840762429801497529552689203364748396603166678311994720919649162560429408275793168500111843732045101056813228058814175218367976683594205923973537307888990831683943379787566459930665778560986075501404099004558967842215203457388117862038324187041822653816421463399693777303935957080130915288825022822210606717447994050289640575583011040504377441260228198145458353080650217202778026824914175577138446508247030733319587990934861250801237580908211194605824055632719374233844396795202094872815224647920113665711588737430119215770140581110023159723865495725759003236594124509338249218775533032181225559384403071361283704659053329693732805655101284854186166145355024366996153120946432011215409327455467950846150988058592041818237353816501186095079540352447131686762127680428318280200843192409528355840888151972519334887166895542283108244517369457121543067088809373805910977788224728347775168527285624300748566810037697053657769940656654592393701107803246270798840734171891002755974660036319928825625153643360084500428626134851254220145019312139444023700417096429302986425883300549391840815915736784264962655261729607169880740833308856616341466359362327620931551370318270935485629557090679066889981286462494277130261878326746813520807278588655409001771482749049307949835848511431945014033481172474582782154922070866680847741886287747308762700842458523513842126698240922256370936991165709178684895122214321957788247602249889697297817810924376507483558665000308622230232036409122655319361297994406170517722992514871612100865460910126373552423155621544639943725167354777631753257754035282669257874912701795674984100302734381419939344725842161332094280931131338320012268181513355927170372862793886851511724751027157196765543651283567546981226409904028404771506399273940428254369056579700796926865980237214054408540409776988936326113427005428706353928329959861910302843777937681429174154195387435389551933742292221380579140392053019274924909967760117740963429429621675010297146848147687478618537686593970028694317658081822743915337526758667560128250149063467932414730407201526465451294135340146379305544807799921547964049625622529510850724545230958936264056551312339787400005624893402941431801057486890312209974835112876031003228002852600325894630493638538339527266029011761484950316866230455536524969998779938574349432901472786915413874107337062966077650265841938148807873797419300840175276453761288184401704032325442122686263032909192917901771336948145552842017616566621030304969453878119906858397363556631192882011740922717074968200869024727844034741366193537961222266581472426075544318271453590789508447645499688008661892253869380003450245930918432014138062842726858502704478902614341641169315945654496531528156157317334117664895681814434669110285814036404413216438716843994983347795522546667459517306487276030301776834114397483179134761505197810721790443555370856206040271091750253172640281751062921646465367391506181424523479487612395689436396677088678786947410958440390489462461642417288172735892025390188150192422638788528774121867598890597608512921668813150212374436703319819746863615934904136100422894269383675673597889604026993680651881245466312790660940810783469339725638475489864416616650493281171350613324021438439843666195708999053650954934921631710704535295021527274068962861457761161876213433224993184862688468870406213338065626538977868823662098873330559831285962971926608756500046700323333274692283109014640100258497580064055490270064252525099360527364138244606393720921392750800170927502049950939995263149756375910589892234130600312565645128062063720145160258756666508271933587380994410609081421558097242444539537988735293521951350317275078921264766074018211450611626891677770967285603604107926417815105782744477784154124724418224069600775933386167503545021040135730089013882196307829112560388878799782374187086740859214847213049013636076285779436027421843918942875048502170155482753292210733904689899942470227869737623072641071886602305131349436695683724790103301362530364058831554405379695348835816606036897632522230809947714526768538928211837956351598721283130475389315134810764273923225589739759626511927289144267108850266198343561225399567284301513559861003476871350502959970109631589259136097534824068073529893979759565434609173296671447722419888446966375583488425536362389095456003326500056806214899795425308763623777917648921933577952802045406971607009814966225635793481698087525343577653610725583175505750956700706884857235576909506440799248612613567596787446240921731900001172052341950423927053780958438223788312883575374036653313466492867964529733578424603978251333857553011273666516164365030357307774111169185446546402393382888785705908074771390549748885142779783254426040529689993467271238499067746045397711279141155532440665830237742134502544624840511487690606918738944276125843744103351261514589828744080536742424530589464206924672511197975499192244954537980784664215864980991154656882676881027415254201713403458288307697664786566583087810164861852330471241771166972567833800824487823780443241420288186119228857112299826517678673038950745364648394565073623070723467759116804732352647420985935421981668002140059563444281856994037283634518092692991417734761436726824450378925841643583276768618546832214745585631648619767465249059519174192049992507714832848124642696302732989384244305139041982759484892604510986607886209488902763383460276666333822739720464483315396954813942763012875929814585908541844384587134695526017094686988395433956574119620444744152223181493705140692314854620032959512418203186363481087586370626827392944726539361166583115259478989880097770089314776957438129855195614569027020709378611529568439764929651485193608488418488128077970167460013339401343267184556575422096711061786271357709361973993931430172014224112638263442615835852610594596474607031287374010871760342509054482240063040079012750847060809508434244741571877669297571646143410000655084036884872960100161181093480705157339190869673107956724350617929825436282371322807713457899472834242999463647921431771423801601850373034817283722302104254545346276703725609307238298018160902660182839678589775205102556922451692249452050358700074815296455575479167430787815175863068674125157041008625503114045370868379408476851358367182173801226677052308345668408005634970766209271413668388744948391450379304604747548411621988800973933611463953262331748323772966880203777299581713687188735421340264102342442715041412590100147500761212922466272030321586618987662385736969790341038980003826444532873490837799238037414413354876781638436712097045829601867076317157879990418412819269403454702872086429161914354413593188260171627361604927648895692424083883295454347695007666960775567012230657164765225589762954648212747222551620908253457589570193140424047121381152445300716357876722780938441598474850148473324023262242107803828753552316955029477513659833406682773116124572515688925312621985604490201860145092810431988306777237020300707865034293131571842271493475800703922648446371890758735161290254180193195749363507934029963704342634932795032678956324063010766992762981877148448862293144909425426774248836118172306197243317647415474030043261001582107159914812023428155709105985945854878325227235084243391045498715970288735704843883680830103747456561719890847893665807573245441010383556074569300177197672682751653574444678456437947515274716042070573085775662616591994621640525833375995560065230882342859988576544135295533532112676148291744085131640934866567349438409416145238041600334378983865664156594687177351470650714798954473552341071087282218338183683635290042336211576309477918122698097039869649513736037076111743184609468827479447422123859295833589793008094657452055271742086717479203767874011873912049687440265350941222776593467620029170897362744093708052176577451525580694976095474249771022062813867899306727128319918519543015128077212950181187274104447000546736468161137652528699793272602058622365133360156148998758336434349496541777698551786654889508859259096995596260950952058488622672721758227381188669730823664054059261879709091021884891928745807518467981302542459083658882127846346298459414692969478755811928674412977759855594942083116873547895598159463357333440689857010739888046739148550037093648248677966708453008594074463068342391343683580839264704891795357180028788539660401129616771904713439827141261290083795484598100075945951376313588176179788827591428832300840402347598794529163576237418604568136327562018841438732005922431119176781978213919997147917435594167192284009670602820548535151323913570749119050392283681838514418318633205571617130254196858921961784283788646723723419846887298969254064809920043496246131227454265280002336532212264511472949142967871737576018856323324711552736506009614243031579811307695603766016286242661257715993167524436451643352224446875316407213342856980504590853042728798318658836596791207697505470418328726523900320259611260874635763395725767549594684394744206547111578815073247254969187243736256020326560830911725767135382202865065228634834792756720338289029196399655925236086137523151099384331504937098217826894870953020789226536122643728430290732524056481859794815957341614563361084100481450927143322562175932784448784220004464039516012617684648606146102907363145393873027651242214029396987525141380409596491468330549172180228082929012985390074265368494694628179326486631034852556659569496389867733615281770415848938151414080813908023603215740012562442652048061198130489886735579839475690317650225072417987587600641607150812124037312661168409856312501332668283836677603084279452495954819454776654824531355447861306276007892964339329430338817762108483612513746762873135544426267795587227358290106988757372678561712959089724850029703693465309146803851147330999661272631624019451783021271032129884812614962597897909078807605027991371205205097813445739641799529646580256392025578863235066529563617505353670055206658179843689801240354615682920119567975383991390810314633941803400727225670176768086048137351576657714340244052795430169012269575364666335500123299083269163662848635017563226083673273397168374925029473569629644970351979586802640814426945240481483804977821048400748504105858703153329597882596236431365138894759205090402266323853739969993762008603059124154952185212990727380053994078308593930844935112497188636680142501085222710496908887436106599183916558204051045445931329791455299894582419488563429464291704783982617289178056881600930215111914717214142710962803229218648730091513515387043687383765166491981883675668582100883202706138426865143495382688042912533246349435389554309353624375102238152052975586075101145048463476853316353437909861309622412281857844173391139452038822880859507101208799799867158714051269830587688526239592842887201073346489149400804150797707679102558079773561622098725051731762217053366280245947884921833776272747731781568848375545934967470934525647393155702422073634214553676496314544927857462205472224207164385214869092224106041239400202530011574754572017995618132990917014432567940126368824208382237985341984147280433131844950251240642195382515963755634793279053940039445671413373589513002794119523164105445309415509015856284022902920949155958329140090970171878792353333651875873247240869086066683377370292220845904812186111487550477705331464455799662790903529747044910261223056028669166977445993237535122765941058771186143019747361031863338462046035241833096871427105895848146829121461386918271431846372024729277629384081501903053789036084844099832909874656808625628920179820803812189453481753959215215462444734434305727350217168425282381607716363457788971814744604163927992580897924797693505035853237140550005518600274448481642069692532122523631051615889227564348390078563345985502346926223535901676063573066213800425758680104491454994537285581576262335358087440308855819349909015009116509847658586436325477164146046874879410752903570572086732753774543647125633201833032672714518655608319483251072392946915986105821345528083646039252663552730782425817955132748649140711731995329472816225674839984609355780720221477514297502405564841131299911193375251714577244518531572395375441066243438589287565270645852068754130909642117725403830978820316799106408984566780024889051260092368778767351101784940781779654572841371604029020506302724099966518669653087773282676941922788932471892197113930992507433540118747322185443873128606286609340501912646351046545702845872902332169048690329506807914209350048101832380467963530323840487212765805533025463564034179450612041313802138773417782058445048588410115082561163994977460435641669232779722252350741031135669359630062857540586671524295011887813521727608924061972293805070623459110410373450430691406789193015575697264172566953063203964335100326226882865861503605614680841394082348140537984493268368908333729799947670361081710370175786872195599955954800691379936825999414926761472474209364932299876605146258293323467607381790069908001602122429967684459978380073248713872549655854956036539429130580422499286275759687962685533509023004104164256009891500306510066682341547676874044781002251254025483984134087184439858423648218241647515246702203888032126643903050657392103721226589886891698566802274196936481478614196565045708542065604021278948831016041036004993333190179292029184455610210795058349529881082976668971116893715151344739910313531628312581030621969123655223419428859247947209288767398022194368410706011241473877349120324357899120458741043047112770295268718240845708087339780598767779049557871287056302639864708439804162648756821393141596608459261247427871067207945805252155288144495352292240836561851370878847456932925886837025393316235491342741083986447325786080868395141719534175514321780931806460979752714131812921532094676522297041464397628308272707199554632191927743870487366963579350853546605858689296600721015174345776449578181495092516596744014520996484433341403729904162557015606896925567447609764221531878765584502560524931420650052398118164443046134550555022973974619634570698021468021118160049869996536841441273116265222762346368507650838678487673708455196960091011226105889275990809484965552425802344734257051046410828998540230361034775303989167894706431436005464750126687078861295361292730208696553708322236648160931420260413116476902434927259770420081325037750687032779852402555887817404602666070678952056811801607141884101112415297769353865307906912240552706432354333813159935583263697610794981506827327978975570608892584474356637837022708646747499365134788369618485679484734110827482197405783180598937370541368482177876247897529077531569041331690199820938820159130666690648239904353898311950938569491755355151424205240399379652380901786161446674050599865887619598954715815615996461083083010602036250790090058493931551972225258756119270572341634738187092262780839625161467084424573894548156385547777229191542733316820238041533330534565198631468661213321845728631061475147018905964616809227466558516250612200583896309174021484978953682006692700490308255560366831787482948598355009656711965192045708952764026101730272422993720339181209888711675793792671950232861543376425238747747348873111921491358495350825800025908936246841012233320382412251696761152047246504886973316008363964479707739748859179038734856342377935730672423941328681530490032948829639556037730237491785166239989563178703891376770619729722355442522757614248850231355524157038773756623299807564735455361529672485229562547391793627509266914607736425368226014249629560262838198588648083318046008099736920961443275750528153913265512375368368362820454120773852097424345629461397526945838074022887103529927039042733843690965546598590224 : 18791132474547633091672747576485503881817884640101526815623136564128860133589726170980141000904264942030078857858418719734241347427551766338995144974613616556325256451471611643188853440702087265530968374204922523419115559180442407256355639967168577113631960745154655009176937769555633886994015887823130605700853553781839288860554446837221854523105262565008006961727930884416255646151135492740624437620978059937300677595329567433483689016046102818351149990792335691824064053880454175613094863080482454741892841627546407281474633259066738859622236729206730046706305689097829401541681777190700687888803826799178732143332612890763274072111888958773512029759795608476902888899141220413056710083139680417947073622066419910869402598500824398336941865762754318836863219194171271535465365506653316564175826882175086439672515883845130741920080614759229482829617552863762209907136063902722750480952006342531627800482617364271380091563157810752403048124491275627079592784490169840177473634456150560121309457603792107903539553753915300041922674607963613963295008317291007983503627623150813147870422576920451015707696432567166248977197053422361221357420477621400058194586698130974383558789142409708354210313495776792429519629921838362450687347282857767772622046666948380993081904827476009598067170838066534924774634837283554412816393198582525358294098565709015667493151642392027756058511847164319122810378947073959353732917571577904807847378206918799822083832833651630558438639843829673541818251716784723140747495072643480382707748731325697507977108433636303780453722016436094268487059012792321679907170001560305102113758069923963613306152455581267645733668846516246561035254538437240062482691440755271084709182884817494968386091533370507128604680100416532252970414178713837591208379070586971703057157068823785790757547303242074378726838141135629756356234903063723286068800341313634997929011821806481373027475516213796139265869768665564530690951332846303942613368127779393162025603490930807604528199362589953190352811947536970344955436193979293366687153040949851402775095428277355379986018976648082507377547846834466557508451101723076719047208644651235136713748560842998515728623432553805337978723530758948467460049014413846387075246421858295345080547368146438186718255978022219421882163723728231550483060905248086590090768862053716333880105867359668547656815248214158919127483112159827441312207695551307452823272672644966486182840107290878077694634354592289018051810797497749123889013379759979023803140375460609384507890203632315299575191600119226842121298018581680823353477755258264589995059257096578189363357048124907985302575449345179729757428461421724095852263146806175676148351893454301761459318770680367658715058177451572275823316874673000828832361975593431677206914397251923151665200736505315854462127595340878318523632732977122530073186107706676003624517703217222746063149154369737657521563767922281195628325226711131805210143280044933807784626300037369840363774524811553713526933458019409636103715820682692923589716896585920787340795519481183452696740292228394379411199471616937481551770988110103100059417155392114959738778524299177255622619123834964554329445529474949596285137269054096351712962515147824059008228467778254354575148940431516055954666820010954894741398268676549861003549152851278588891882460441268928593058043557307284012323453028725983229309170311226825360117942546845578081360291336013702162298102682036143878989563198047828654996497227006293364201712353990497284405401039272324467505461756619131631385644128619029504578021911273577391265222698903019750850762460208181312952919808308942277963162866546883395097979581465436473040980795291094646048366744159049426241611563081922133821877856109761728154630673679466932229344676953380445258441744036055485412070096846272442545903212039220501562180232795683064563052845211597142780374545944232665289346851695652308806062400000067237311210996170062211969650294731559035512882687715345261385214441731213229702173660236396236161374257864500749699164001213490169566162262398877763801847673982869576674092265380892019523867713020016460002232901250415721100896862113192001820346930657002255686028736365108083427328683904672290508007002602834775858451897464779767018472805187754030622909857829473882512038944354521420593184178946302008519010209559169783937252945580591419171522629006327546708311936941601430331002260881935379544655305282529445798727101095479099602070067976293433605846023026357926808940677780603126540885980829276098447840732195009250998855429344503991085822178882426595910965420927130042536479403287127391473330847553869245380637550964476464424346625526498197501251509699371241975125040788814363840038238143761596760863305922597981990121922809697715216328060321837589759583802314998424471270528836620393542790251863157031861533929907659888333547571192533328439503995104498089074058507868700281747087213867541990263118125029418368259333217488132681584019844454989532261033430676486990581270767809642727893202989502134976298683462613219858123053811101249454850304139281991787408167075146426141159254300296001913678287146039758485121616650595194309084018849884875576250388655390419751074986849787702085265015243537493817578497707769431551119918409985539112925760990974780499831463849073561296025455779788031743588839454849482136546598382435146319724692308407647538321565341196330733170929174003275162414988069835608861433124778118612636064287813119638864199483941275343672110327408476961709040550439311300043664228709117457863371369970574453538490144668232415812828197810632851668912587034071436184820220053736309727772944108340080424898779989895004581024213376548392424343755073069924637703127454870956212602848491562383103836181923489341429100421796321380973407591547274318794905184041233687394293829600515437683697590237990797668804486781156872496924458975589180693850317198730716285903783108961546218747568032983018284068391852710169919799785974736990111604269723597963477189417845055787326415229502031632996382024550113760736825069399022908417586969903905325431154384866012286933016052415568611613413162476434468626820878095415192706281944938656907728809561935351388286433407162369202027577078088953442965555817231609723318487131186541031494846610342861117845680204534438546324648015508181748692448013287531401878863135935394298283024532607693602903775519097451223057576394350990947405374938759427081065650424655980137103920922698861024954482180158993196331634713707963655935238467699498131159367996522716359656928544361642472150382965283401034291434041318826100788455624442398091848702016979318308128581558750193766947172887411917814999471371231340119940657212027493423753323364255493898623822759944017588320450492234482103091751575705566967325073818774132365662399217472772761504764807876878391545694927113925294883666113412883664762592207729590316231395661798948247863755445716644279859030373268772107044167075922480400007900254663236724605337891678983618488170279603724124423962748217725811918092049803865257878008916554316538739474413267650928922155972350082953439777745373155805665679913824310556276329853680727775830203127106566478796758859567653806809276676589013605261635382132959442702539405946914915330608546910127356659846534559963786257307044313654856287741380587968540638722739028047813620311173552985140406193115699990939358130302135892077763109664315736103617802670375736025417460040885930601856049270676909898854430392522197264954524818891533912583222228982044660032895754717492340411257055282135330936413404571304761102272136471608969451934815955179336236546336201832810403272867491503632034352569639075698734155517790756991590438015579520568699585169335268326079711335329053717177954680735291902987967572833315730973837789893993499072171547784306416130117099577886085621275712339204064753233135589576377939934566802507413315635697910810202959442385367118839997472877427645387828099813991300905994010132566765998510384132578103900102773856142577749064025894316168777535339181077521203432108544895103165227068644066069898814628114244013546484252243969639612287106568793615117271914615822496806074361282354609344898917592975061694449900929635552668206330548568580437031524415573027544112001597838114903515987220932530493384817780066894603576274841498629267445190152405532828125140301680223972105210182009551089019419601693441382594600637256902270510608971894279358520902066503556273304477190271991380341050547213253490748300040844091853242079424160126466387966928533626871896771718635299499017279065888754157325679481553390136530978697829747920586444487208698367346604567494054885995069556176675159135042944154665585122504651878815306296002145543499330074632473416935882744284448398503274890568330767853311498856110584045876311490608349586930421696887534170974008809793860333345935286892906621408055911171562069456223456541609548848785968914172629600610853472684687176782705577810059865389663612674065184887144623861915336114237280362404316966590483077807138962372958845993748228051553931534330362768563101179304019045263773295722902551131575787052170535390026578108423997791943797663267432281868336394408597479114139992137743614660479158583409863627471452839763786283428987059502228281809401654293460999930896689723902852281133173255042787244737794757746252231719640607501367803500713396243166417561811355714514824021853976822043774001005623885045007299817351386155345446075556318303952124222671551419466246958820047937724601601552782592125255179485365311251372244550032078970438847779764354270897081091003990082991770601142942487766040079112226324032716374331444674503647382723658666308228430570689833415116846723598481502714520006315213496286567188182493176390906443512421513860851355050478886941474931558332260637839563289764132498454162083827684385089927766052006750551949808620717176540240632161674168948911796854039737962552187339546166123999939308017168189256038682324401669535120851656050063559371448954576259428152800073317876793423051649342403477398428286180432858507850672042885742928194757345095938606019239010265226001780605565445557714022436326517324575593668347545669438948958723833764895989107842465926787599158849822689299210261895533453830605515086540702744423186524970096316991938896122923762742539579426686758692542709665241641621852736345272761551951652982449780093882681749626540801662775535448096019052321258778457967310520031464444288584840776753709939659446514025109454375435181866873989307504770671345204152894338362302607516911048669581267837585350919908826531110164586117391787646642728118754809626785177057009802499261560497908032866560007791364658445258246091697168117017222929823051850727074773737475950487745482656531836538953532748853068413490413780559029803353201711973208661877476012830117659010664556286225738224393877061756008660342975244457721033938301039566063383589487832261214218583821743003362834953718430981844033460985614571635009538055985386167258106455340361571386538390433726071569238765323835422897362706937298233781361913171791274838937577941462161114950760927157930452823482123994539052954818189453686600370286609290623246370179302660040364079556534873478041768769079951631750817308870235066916364723534176070319163888971200057694106176542455859543014923371984375349377063576789338080104475436554122713090909712968638870643238227707445575960990895425958655539227831875941598993302309306845950838341337392712859166838297379499742135380900593706459704385202647447156128329169400386273183123408176679019505197947297447881961513972678377052057617431397349846681257708837281456380704668696876947403013162077988903153277639568138372312000060459538404450361534600388015217804348616097816105202371243734051590610839797758329490399086834524687462985441905358559756593328094787290257599603914148336143420999145472472750927080152043669512149927456481783215485449056508907305605091228549423154161282086244587246879178663963428684382599852806124429640655730866716772189908147851362923433103724245318186144570995050840190625240695939543105651863524750528514880521656320659762089020977009396478684908697834389733076983129654578899285851125913398032549060205132211274432974230566634179353864232244107261251123362583976668177173339232486185218816227697044594034649665737089423495723584705675203360198984560140543816776205446144831629482176421086855661620656355754163928064277771985123951549353021425615193783734724017302217401466880181506867960943005618848230821421563082086769010106974830866444674372314494660669769174888475193604638873574041781258008422906656960023477796757990830013306083173630323322567738231894406614935930657650791014148053171927146135664749780740273591932010440817258143131632253222142486576412695532276453915806784069018208301556683223311582182586386795565979727769347072830652062751550413408872840514715604416431040977246225552510260195524488754382967518031564748253245467606729438507386966714835719869302880622199059129605846229021886643404639112678019398834228973015810985114246959994503617563968051451177350528235878169717512490718507400515631895013442992081991625274425791041858807992733101953351555309220419178990911318681309548699929631428342985004238868567484511002508794529566537536885654380095924695153118970854272792122398509570487888781225379923389867247787456811804153696581388803620904870147522919812843397475840052785624516505685713981964779528024938568385028057373831530961046442598761222389506421419959429797287019053778591122352439557363105381904070264526971994946745926437950466234563412925992491250249513221846456708869717098524349645282232699161806564089713647195293121899877556180655916862280583704801718899589502718470189208247878146784246181199969053961660935118842934161684972203485887844882071238927792640210054650150663408416798324963020065815088835502387739069161282015359221988522066330683878090048721584920186166529645032143301013176434696721993297801560479763590561139646459204086899939947229391814962861356450785906802151649641200455617493716565226914701751959429146086451165702673222282834094355766549876267099800642351058773181517999151199641251624581241885758518661229498842228847058587799152690884204097774677597037255878490796699986782204687316561366241073065034348363357432925113905380630349609509878150071297556951100066558321299657352906524138052296288763073064372638170538096738865948391952592276878497715147966111041241271365350571967329155171932651505256308969531179300782954503763238178177071692386453465059756625980819024352578388356588015441742557997187260137761070337001563939522375417406517266870309368145212625015681366967338563614896354379618072202320673407423476967418361443121364700218805164412611163790236574771520272846078658883430691172269993167430997747229514899808949894107101221627055873797535880776719440101771334626923395047467699694134143338402281429786366942341378732411946847735567697812291744670471915296735718775222614877025495357699850102927987904159471063812722707776178831122382312377583318058412482650760383874855082408779398705096720942323311922669250811118439509301136857902889760304854317134121524157754255455213119409986937061640571398295382924769633691975526576757738086032172803000080242860478293206472307683412072978813533557594737343533205607015148042011406781715670388162739996082665107719516526096563353044583934109505106557408468282589257829525037574017155209559929890928729928017346345709575512947472270661815927698986624939540652551289622243194663581160096714434630139977464826888220514563709947143733221781982513563296419664729971156215956701044609095261712077202112481140277339225612849403479099365097378074477530527998662967964242430685369737610570842522398560303632832923308836991356870984216310506999123047810187435371805337714849824122481122728092620673680425422864111230775382933959044183579586526412550467836561300368880248824847021830163636457433960322518248676084384408298284969571436339099717367155043125288096284198204962620342002919064471324505391742067120117393048881980923891940298134439157229643808187506131307583765889889718677949000154667117559690949073614629683054191852026645795827433365738063989208126427196431820887006685849075534313964420184965724918524725992532822176151793970353484609005655937159918190965642811770878859267663865963407301007302053631307138807981238183709368778285386880889094075221915936585519801477268366621316072426848702000399645751638507642753789168111039864386353947475444958403665424831074225579175082601433608978325298180783878991380752727876569900480463827776024605575741551084107930267515236658230017166374524034644852332114047953929170256581300746227127403330180730243301997266969495668481663589775591324553270634025853592881535034012949583204180182529322843368763918555584413668177980148410479707260698379034085758552076929929451583315466787919162553640916005757805314096254286846836877172316326814774182313427322708012739704536049630296958931666727876874973905416935716347380835806338565081986800489380264022020440136544579338794737200186150114695244654664397134626047961247096477319917645575471724115154648413642265554990012027973878703721240376771571954519663401908756587152160717476562498857739255701439095076012713694819250217005854674023343424037072785619641526290154056865169153993393414652152319780851383883873364056955412021143072094312550977929611028669306183287924171929699557235018642175991400115483088271941797527783034458275591080164577104472323325015043700336477620743948558741943682522280973553931462048586443347452076093215327426782564096407862119348893220671995248019292553986076249920463473111632494611813398113196095488625338723001686796627123513225103216553597771952086814094093752043506335469077279368611737583570046709388895123133629334801255291757493148725912682385390834287778401278836512751830046710269414788814424762626589932354915290369913276461778287446497006994099176637793767449539992074268415664918557003983194255271881165116421172688006788666960208096275266207729576746724523346642982594463140436246369707729802222434397002320474570354767767862164902287704483828738077251265868213671799775550859656909587854863556506557875560807071897623242121079480910331112299526366718824905396493598536517578265288831671515912205931641170200908324286476329837529186380583507201522804977416405062765779337827720182876245164429918068497055560309211846847338147759639792227086124063862681229540705818318550858119395578772225208774491270496103820199102725869649600893107192071972060991861585701688936708924467557391678586912722661187974614962307022633699827441804382409166858018578210822175618562974115362805088705339880268892498864915504168033781150677803892573539190844086813019783113639415122219840811283367485407521675111655439119749448824318402322176147851788790136463343066487148939242897485819548972944967540419218534174328195086155732893401769586371603068502713190736680635804045330248163692600359230017715152182950089445483771759645319874572659532137187948800824598587193428477721631484130106431596534227680274427972662235946316009199981771587859787847704000611471274582157569717172440874198824566879588957440691891725148219985872119105704379293987325229488421140714213085240725956190561404242600654922159845816422444506662802746457931786236819919549273533930169298413335795121537753306688149444331468076415705177576028302307826316399291379086772499974231210720328698905039304698584258054171399360230892777955894319695259948828078219444321697698039671944165066630161457328116001406382253165398277566811393492590930265129855274900754561431156909570386768316772099524293079154084186221215520705650688302560503065979625324775635726191765386783921733544908836624064184537631500279181658398461706263991255246586413537443424588975123958644370791284068138015503788206788260175020454239742579407836899274791481530585071992522492578705901515072115723189100642210408478754900765862229229974461910704940002491272112292342076065847126864975850637008988117086903324722958717898467352696162724575300107896738607333030342309548986422107064051479348791395552128901014378458498066170379286162368949238752533543813382823901919304539876157853904855017042397145123134826839459681263372343059814168812472400968944687382166013989296460422878850050716957719665187658775567160106866955563389480067843098110826265424480552712939747907265037930080375673113803540547438157731726608913779657162379828633675750354766993806662463601185061144302173850945693896080300173383157229584005706053679997835282127355450271819702965785929143169118903200059182619252235869124989661925400796783435553824177871319665060937545408813496325285270611926086305818849997804903230476721694050588098083675154664012522542645805581248446983400873222341246905075168405629306486936803052731062297773508026782959752738531845224362204189603295963140377000643818025554563815814938530799897281150407312292207835205933906602754302296596227862039851924392403143255305198262684670607529736070528993629624738063027685254709158666618648466159063995272320022829849244567258825809915631897114940091018252472616060628487915797626017942585311976711592661911209134414708690044207036076613973187479406221488927602964663150803751041092057207350018860584913032184654608910203783390276113930864111809869493147873578489749789022170593737498332087179808298849536522471239759142543015076024586308685629257527945963705133068695779521789904223035435261430746088974495607416571265718405902202435311914640938084640853517690035988309926495578863965846495895914920228254053356057147787399820560398916397799763562509440313047782836284771487528367716604654968846821768721694907331876847563268423676492202799389558474849356914416776238865478573335240864696339238242821283513138072688915742097049347382985046625144510397771254049000845785236210627656106812929380042848355963599661189539204941626633023937386324531693438529815026718601812072807555902343258745607921113856453000994783553387736282435790423938197296894153447200057071213554540654366354564258052879779320535500927791240994901295348430725491147631142456338935081778146980371236694478721188925182768114021853924413672960550956830741528766103366113177565848275561071563159990816606431256042466927149293452634980786892410115305637388386794316736958887678192988772490618205654253059314739740520280228078423854263865486690802343780475150259194186482915794290698436550721526174501703142667223584850974597472470377754680814456515350385592145939148062225941623548317857280913864187827870681517380523738066310260500078527659903417899238059357965755061934318085955192863250055157917470488105444715546660756174660918990041811190352014204585628353266148512307325540244999114047268454844315701982496890078482948416396583642862803176622608474130036351146752689862467396287175320966970069671170268676341523070405014025718853346723548826084377910708078487821751981650384579217424041252124167618192521939707722394418192824397427104007348781459612401746898286029773857656925927283039622630499275460117168154969262870568408792680803713673753297064154006478863231802726747071404702771717099346032486122639929054093486587393309127469100926328940671024249704566521474845923949313809215897578611514960311259462035767256657280216522926924208844256683142697055446214607232745990513845713830085286892333350806304956202818664388657661607750515098479884872347996991089083212810472046800411278249391293687144085394169285538423428749850224818726875389011904513567182258838010679429515047489700557438612978904689590993624357482448766476496512913414360248741370145365222398233143228295032083820965362104248323899107130909109258626822003740186163418456833300071160294469062617729560852528661764845439707256767588685938853561104882067946852057761431384516666599041074825511195930443495504718724778885570977390986921365523057140725722996947962889687098850775434950695571689203771869439927465285018900359070401689139641213462844253135293006467753760197532638782152729131380434093247714115068211937916472066797709009267994179444285172291977704614148054938048565595877157545334863451266744846378167703230960624189231441585079731833693461677633080580249436753125093344977483793175106742012136346100008606050293378344565835574629653487097888714401222394924202435388805774453879763253176064661723874906920372770364754946644933855823844582078065802183810686959223466907347625769851067514153824443572123642214890643606866037937280854957224323705428756478791508352817939751816668002407098543625791067310666921959866027014733771791522501465369304287986035151280664141565512299303231715784911200961881742442964004488601828887824131868724207070011587973774893140530547726258140407013176943812240321624595393608496373494438746113920253455961441615331767620224131181922698235985864556793469453385520675639495163106430725169634126504179356647836084459752801149026612576580662562285686433913024117644596686621928099578759567704588603604489083947555939822201584622970601054999160755040584683533000852345850967124307823152875353978505986299909949633963023686172448211742552009859168262494787068211186675247657468108330054706416670958798953393444947489055826284399912541019094768398422063170303721704515749541203452674256671756102394244392138048005633589763807601242677933872887164147494019563614095239148189924443112637162384979252270229091635283452790830671358882618631842649687745303864021605651148529711158050446226705547679748264916892667742840298304797949003703680995717585076319229476222379921472194311334980749341794324306395028637591209631191791250949317647079423391141533526445370182887815219969502700929455639133276431377886609420232489777906103122200277455065280483502487952898642384015694673853354716491048599369659219243045193281352315273724196160704165420320063347708509820204482408174390883456316252896373210671658960748491113740587423796314462240288481145803770690862569367226400729576653029338780399391830084134489942944400269901129024831581898683159310697842661156052600406603986947243337859940644658687585982507775149737722352196325549996147921521555627559164256725015498980246224127708532864845520628473912338881010648192563452448496095839148197613247184932381380340492976190197795663090897792936903271551074404948099675719298505473585839245283434487841900117858544565730257450633105460883001492844161102456905602865392143862196444659605649070872986550518201618997659089408291825655341719772650145883397906799787722588665909908191331339557754947194719560776724813446236547103885856663256779270848577236564633461806140974980988318576687517943840793321983024310051419650295939291299117273511372938093982894301335731755276991669460136666716277177431119954644288811560058015979913717525742765399426461535086663675361998681863584532301915554581476244066378570384626176856237313595426654295355440566751037876947757995606698899824268873947958408128946537882574343255032757364722165754207964470238375073954982830858846093706671416779699584863666802681558945276921146984492723805599445984444937533007541357284326419378871492680622455979260517819708499255530676872656543733640478029073761226007185510566640312572830804828744811242645341176729882268105824857652321016299894928082963932921504585403856557725278050438847738183400003166416413418124234326599447614056005356542505507201798953230692408272987353950539295433737344398199815239823941039455216038943265063690157315273789869973251358324912294882354557871672830942044257660313517636431684911570950068917067248044498592512766923464331192706611930411295064978144425715633670136300181068027677311768252172242466922602005604102967424909545014609482828134370794654389442524463765076309468876798736818586573999903312144756359636625276235671273644736549184202030543549428101119554266712308891403241593926137025891183091041086859455544646360451690295380536372846794512696259089312068873434252012493945550852053437650234728265346677034994390236589435920959717849477301889158424137647500985700893884644846008488414191284987684586422343668400381981511976980225629292266540456527001983011616238010397888035348932664569961768818659648631613941045766421634005260014401296932319735947084021158239130187224731732300233995958078681849007569351665328662394746147190106819881253431726417162152778230064036558844182573753091119921638376526260884632872779312721700387647433656012509912135520742766256722684860831508441325178009274542824451781382096481759788267315363715755015666258963471245613901769660599291872488444762169593888910349876778673212682113794682682821929449529955697043240449193037934425522196308430552411836181248136547315165306903141469448084472100543212348833194341196375625430000943753675914657883441271034221082868779165686656000440671354876743552228036055973081213055805867778191854989890814523995863575580884329577892200773236975788754531241749484315932815663064364799238010284066034933990370368781314997101395776720576992625930616725635791134879704069892306109685189838008365683667982154408780984730746041802420141832822843736023891321581979930884047556333659419592095546466085751041695968014053780492997069910131422055426266575978077923072825917966802841795364522278719295546557821565212352672412056840973443887932082015794780275839007014959555874337666179992181595388479259975324511306603009935483073677575021231914829663227816962901478464471992919900388267399200144272632550198216970297081964689036680032460780817284121527924581859858099822989739848626471950228847320780960730712166435819222381024089438319361583379555342100898803515362598398335957076696110530158964323932016567557726288609685295092658733945671378035726227616112485131412730410079792789337820717652941364818647022023114483410474051264208880980591573370073191463316675150196498590515499323551200614149314962387307900896745023756757971646286534765939126526358530515104902049330860364243952698577440835414905149408909320319233132142552560795947888662174920823024921426314556613694534831390179333791406213783944068761000032302279256619297612006098401200267890517912010515564444088690441953233386322624272995344211367780377484189623814880326485237213204568251513556694501100978180319249693435441520029376705906070489033693321696441676721221819715906683126439589685455477727179171795733361997888363294303955942119079856427692042187191564193394590520798817818163317673829488139769002784309473178780260330288427331155088981500815555622335416442140902612643197781828683711045700294435959598609346068326869761723620804029658762049808266889502012993176927427567153509217875831858036915193710379475732725440525374472433424557223484775566766434857778553601494025434030258423664825889884043776313780323924740093805380100788490237361063584708450260112173119685922372614353672847689251925246162245206982463853214918602811378724560839609007569793776997789381784992097697623421109716874847189305643264894204969864486560326938517493623041465831828283826841137058778328885298039666296495164242383563969011708960569871385455292177078676104393957300603268312327231554345493243975358908253487084969314050299417561202825582289359113198669997942611850757337402361432900697204403570163305843310509605228094915114773615057706208997512894276492255666500674013046118743476794476990461382242596125146383663060646271719270485516534312437759295074250031236638652361539430686564151633022363783207412123667452128848810989398936088456340776712858349488404516605250139493404873320396511129338267005229690917154401197485321648993161561753227028144105168324531496923820827042872652310237433896505438442447172768239960642054612246686536709325454170658347215071011176259959880902357569650470364829488951227428112353670336073071734642156336078505407732580546874453291869041477352185381209557756209863165496578757920271934109589279340182441453399332841976960852400381441683906413345455979146339659237321911741164463868458823841548551069846198783542028862965202467822913177786357939598007213487040731961864751864209242043733595854987877941256431869064736240005196451907211793966564480014398346987228156249625264655569421362473398303236751205477062250373687153946364114985288461002769307990932661031163285463254049809741541990292120725750784285079698175605916046267704947233789382866362501348831887320373127412898779312860114938856169032316300966831767435097429239284512174068402981573635136520400065959796686443521130529573907928724192680277559157755060373286558204156586958846703971479933795868418090551392079459933532247622024587729320536704781670060941100252329409943430123968622102060104953929113432847202604666162491064269092540381181626995427980569689968920497802614276128178591471669135309907583710592932408242839293145956446985200648541405173898613150432576680819200086580275413204136126394870748494508424663043893912936709523815634615408643714678002436222083478062323536167803513429742326547605800850177180590772868834654328027281600186306619099900198713384004167952532502487658117261512937279369519776392406921771029520727966890791226309949318841915507508278869998621571358898129826394093624621108044949106868498985336712880607001157147847926782518811026908433508409673208566174951233967250324340068430490079736322763057286342784963622692079048224758755651246475015153451022301554169392027210113757554784756843686204059565262557563941963899530061670695100152011223905376900654314882743665044438553264525434204804764006615386753334394543555005798098419122839326995287528543002903737021270632929559095548142086944027060699774414788754942587247155812087058361993713664990423418171317190938264417435122121925747026605445873661203537823888441700196232415521583341128450739325458741640932540100130520376381488194499812393490358337431805555407159245745656953414415202145858702039128212062594488356653643216776106296755917444315891372412937448218701085857048524806094342561498205134904530195001739054913279429913006051242854482573128503623187885004931437892376532997589225567856858464983393804126745175732449586695348584780537212888291205761652566242526701418656423490970259552102988081158769272265026278768692780055443748654913644525542427736280725629157007633859124172997499921574758031318820241887892727963924068260343321216896007050813266494619625213524141822155187139076452750818889045560573492369779610975113270219262903322872726134467018164491041996706599929218670577195710307134588774235433261898441586396311675736160958161919734465012446428675398385619766091058150665040502236530862647372592092423749332784987002373539131191184434471192946983402759858072857948573659241670782592009162244295868348421711993796603566310073204886469415265617640374376498743078806539525046898107363466519905008855673969810506450678222811216473177895581086330089787671840878769799932565421650097103640956039093129082892811427907989329316028449418115610312396495329371312216116894850703327212276955961158713540790197268583689248645383793840130593421173702849381810738048515770959962730189392824387216642968524847474488892381107419059750351963585544914699429567815399059695650977733976550127782953022162136306035217356557951890194427954434847882272550671687881216190739597655372011781683486061389785185361979166973881858501890316423987055712187450319523972184567107871559037883190750837155618955337989496612961977693944086562409581401425934243794353110263865335117576528826412893136159230163726805625180952179565121106891664072850751185800177532991457877033080071755514481642104443627794196843914345260931938194396549862491026516122104380476850429647440291884228714644534591488532291514846543204895965424824601938660433394938300062101393079951734450257405891291961388546287377372428736026628207040793222303237290042576824339627460481316376291465554358246575320676053684459505358748008787243237172407214568023745633706586567019023490207888951354282702319979358602751989973881524043789372851148135433607758731854272633085609979976181185555990869068044726248551948351533213485475456761366571076345506355134741443065913268301615210875554477543537229994044268019634389357443287836719242017885583489267690379402643880626513779158499583806425155140173448251736647064198373427121271205576146198160901025933412265795757248864231041810882012906389038736869647531044622900556062328118978025040444147846949098465352526564033419813125990957300610497886716741255104429243568182301081453559160689128132045147390006454642075847070644620964610948176078142814132732484080683610064829624320822910857876722738918481194193655974884641114862785825930404368390248021368288492344472184694497379601526753311490499810707741571131413351683196170678152669874985338344330853838200979143347730039325969134004648890903421639780463142155103875441555214645072316515268044967697285801750129788790491364323745980222080228294986679483530699907795089498645877420605974397742095663387437545402273390981644829385705221781636307882679456793048765143315585644066165045006416487647561925641977537398143240442485055898989432260688689678548050174253017740791866785333837453497716797881716179633075236755587893131338950669336231717597589706426107585387998187096230654258681617519765591258778165473496166558159465842184012042241593197369386600343528618622416679872677248641619895406300971015050081700687567198572446465753771291869648005694001184014849473988754595996464827593042164667799352122181824261925583672624532563407792385463055808607145270981991061941771552115892062141521770129072644117079207862487434335750690610436766287287366286782974274979674935758052949856494281947800761385398537306742869143143293863772851121083851892826377317721470664686226397747030895438126799469232594404984861336127952476224578877550231705073138532797227852371232086618832303593806369490617425863173756130637175617693441110834525402992950987281274496975675486421800921436195003765221788551056891624189590374570324773491268513421227324072167722531105810441727812861704509851646867423860171369748426855614445835348479239087536116003213195652103768673418132393094778431926169830965829872604777287089583304615519100563799554678433373756737238810516157304388021504674211064567577771478783135867946681125375816426913977913598735856791597700929948333808957665382736460475210091375824552607112353138860908895227065022590053357495888222190695619658068323056659336310989952906246426822527882262074731259709008762789731030361585772404858136687890828269420911093641500627499646630330903687959507987896274760264723486736958752597233106874257932143769000337679619351167581794843490970174300343607629045164384398300336523098666158813689510785783461317282384858861903783690439590411071336406508230277187734128311255317920143724723633689836613677965257229761317794221609499960041114737679918712529956996404677346849596135972025824986631828626586896389602482865929630641642842024072393569938733136774723243498419622808374965983294884229848304819994477821617645124447418331586115658846399994607321200393760171713465183433169894125383064916976874003552397179068799435195577587242564931865089404745463243598110856569601144906222929973144913316618958222480093844546622768267475755862208093316718945106447135393745655639797169042312462959930054636692472405276646385128721568803701864081057393268206581601521920308908922175104105070121084025322627176873398757292154238385190164150628497062089849963632923803749285043365177661128248631888104762669886419543204680113794741001702322360712739879332483817687185293518573993652935063445762625290780164612909367690245450575004336129066413940643314169732141744829159312944369031826938398439115982795485227273449837555882445573291196244792238147345247763419214333919768630066205494242164867363206123398566857057159146489869802452677141826072070287753824579302445538881615918065278136728355046080042278238916522346546854834424038347519933792172965266693132263390059449475408253252059036747103882402764167609768014745614518104744121521768514719883425385770117839479861723307784792596059096907547110250066491564107166170926156984763930801140117417495383800233870275791779958668549372672060068077453623901457332115664438900391933553405661451759950611329765700069419625579482528805749740203933056377424300549737888676279360308283800225780424771473025248404351504264308249603464672573588770305786543500915253490531326910379192136834500149012335015786519910566512491517446312308505290392297027455191083526158114325536777576969976270817183604784949996618606401761203051030126497884316088764501647681079449009659812368994898357362913936166246649280212903242878717681254891217861417298672671796279821416368495613139050302556380163750195367317191191918576743896364611791204494457878341954179922100581004226433207818421626213931230406772387854460540871915508590090354310395006768575555599830438204076162369900974342986665127438086796147556099441961493382710602327538565394385228822849595793554240386590883715475554807555993190601303505991041219736116581459094344060768044874511216431561948624414252177827255326101759691191186613479404393354443483698992149709228260206642374305588152208235932047664219823745522175133091984991390932895233964292791027249093729113044133087045290506589429446417602366338452782659384932497680526740406467636953612059937468473012052162102129904888680718048906685509135617083491242632022109496006728890642345070561360338628380649006232206088884338505011394453647953278708224282541038444423496965206321475228815535277775764847474238117796345345937846690790937792871334309755734893409701646039848869933669687574194754326907615752218361198886187466989196832901780477987611665026216119759433879138529587277365494362710270939664678971179942012200708284769849298875084422782535688299930153050004781877236180999251601062499641715834701166152367138952478169355440614857077498819929437551173931670176418542153030012510135543448187780475746753829299899770316905132295055774851369809750773918763476470789186679516786238082294598440624320128208050220675151464012500693331529020364451400084803882541743814813773888165883064830746424420306866073207016078780446306752404733752616504543105117835708714214047667180670647155740858464728881698487601841081675963078030899387865222145820352630400985374873205480334324774015286655687857604539638600537425048142682594316713014384159169135735055318333250158008293822943611138383547995080708209408923365584677409084556543822374575791024649224051944321620777164055158860894255235707725013181770120888149897769278656046461768499851638468613256124502645947735662443873725071539961513078455602734490426793408969444178951892721637145276952704318665369115585902365677111650904701556457609833723774576189261584687834126357828351277634435739349752457107699183797438225951188307763410002463542498639495697773005886703498802979389166120369842919481262782661466491370712062936477951730697752685803213448607641335605515519982174328891478496544461967684272152925317932807567697289213775687463860700824870869395951452293988286274563203152790547630638291256267479443748879039880581474994654796304105231823323548488405471640314642661090017731088051432511125171059377086782108551844371416612425995115357273092263925776312636815653228252244336910488804935265849901902616751245894165603543005268962421258080077834044031773967452485511086600194759933909535491035875158945422948410097384140306389330240599102843341815407372339287258343482266596564826409333105519800770444135503167028379146520584713750902823641713451915386338631747998978688135577538357775199319087421490377359230378636718604857178575975969705748842797030582119669721573764766660155083653625278050222974039798802228440329462632225070534800885175623940627560781589661213448481836460508673559406463511368178376639718393562020521775054317431084820316718696186332050170232728779670414821067642603966353223854091704199369230818551459314919252693230140075190849516207431063961437912400548014465671919853595011914196491674074225652590738365218860030548468966889594560271356519438269816651205166795436498526739393007179837175661989646111548749893703834560423539677047251516128205345697115582469964517878105642140943125834171144380922359487167778681541544133754172438091083884927277941853312024490594450620343234646656931449369928181160642446997452190069858127374395836676838732967313196496707084896143275728241711336032024798979370184781297868394112418388211200608627144190459583996099583328450287764248877555391711545763934910314893938769311340968188487572802953959446867874988029442385490121027239178298231825683472701011674888969803535627578899560968336328369407578220021402677353768804696465008803755069378453628438971327291395677049812653330603411169716514545592846498283304886207362335488973656208604467734264244563536103492127009031517166507261674285772637174183265560793451502647820725686530198712996211710973851351661340249720658682919511303346215494964272523426098311505471598882747965196364092480575313723084697296567245073496788408990228018977881249980611766521323119271201679901005132116982093798412868548008046862519275787681109025011165204177124673994036277445017611608916091896043027290208632963425157690352484237695400462415430226152328903138154933140184536950114316255463732410501685545936638349708351750834661240192837763894816589641692420233881196373400409470568576706997581322302648883820816787132054305301810905909153838114234158629008697615351907465919031138088030043944061951877010720448583011916463322198351959206466804874813076356365958711600133231387671857572410981352739645621026833436426701117451047500271139448917808949378885573888870739700739315742290974720399404020868929203573928543760793878608019646571464035593419887233594502858194830002123786961128911867742417359689683015293566448598422631848496196922941221339049807706688177383047377192205062175975269993063032279222332275344462046641522235928623441850563445196809087483934573516340095539249720634652532919605959499564373906734054455508516080895655000617540140058748340067415989175520877854823779414006707885996348820284983744276348790869881498053072486284542061550920154613685617634288433972501851707895407388973197253448850507492178936468920140141283571734866061965052012467571303216997568277253330480645488909019622144365252426100792080094701043169353793266126538543051720429896691137504855687998881040148083751084294188168426516797551397225280291297893535359731730154214830397870809501750088819954033619114592928072385597024694558476396821207953617293955104964273736897637478227801648997603485871340017532754854976783420098906165116343366462022407650252534778123883479446046442451300290308144239054672150970550929837666128441944919473510225501737316458550425601829827866112037264930108190522770272356327770864110229462951489397119179159186746497593381585908190485280172399781955258167806624041345191656763267028082263937419908193064907569643612043062297384391565582166717348686871194993392981559649776125056968377384063756280480524589619274709450214224465390698025228630758908877438736405059087139164800916389896319711946041510648876639026297362837746806251314334199242031486719223423347861824627307106978976457673033251473077204717257617735011416726179997198878919249397115502920302800480894665261398252326285414644688477865645343559084352251770130030046584023271689416028016525300256979295206641802914376658236564559410041859056706573003853060605587772933080717165298696814219768406085249126986634146621356479156825249495380271583092033161364351660378692322021297799055976800655587173914382209555740473894949757034560679603984775933877511989106342999411230248371274519454396226752093409738991025919139906224226371356298795555782705694952389887950589409271547229228100544034165753187365732753418940629198053772880609543936258463569833643983209760635167390529832076271957792787934661948542963421789756524552969688833055433562042724484889035678496717109397797050699187160357677161174789927141164951086579973103400118637130618492420888787361481781943708215333287956169234864866400396843235307172512347157688582163939874165259221612214831263297056501827843172781342321657733656614935769205243181865982138148745309373364001021543044085582900983763802682716881200544342956487036576521139472471318457495046653298749730958685968527511264127832522447276369930827461896798073843950973863309523491430974136015170688079274075827197940578476989011790631628896402197270401818167533561541813925089108313505177920389912443956397756095806607529522716660425921218008731003964596724777552450305097311006545361492772381737658946504275516052028093016697668453643017764425027814099355844217243424066707344321152437843784333381665005430736219537486172646719876238519683669513709594089438179227344858280554643734390391891969311507400096653457465142268753202600885096133407273970854308781083361978159645076028336711621927712608665662742350793613501674597599435278667625470050355183548816913486740818927025004181979055353713725827317793324315185699942539081984871787335122253481373062896412401429095908351999599892147031130273509060893967645267685901293032367934687386468617165552506064045567513051992410068567384295291011313569413261153634157348076743700286901293998217531874200445533565624947136521218597673718492059422641394651724252043843407372483262951451997974705466361946820129758366194821450299951729180682131506498732510474999577062147696846742857858564514597126547121761912513538412508217314250580059459426620965552824864558687140964227025747075868681985526229014224127330613332317580701929156149105218764259877503657597302158123128036997896043171556510787821939159904782859676244030676143508925979563520268530354185239682914579523632510935507701845956999859927496953891435759338867225780630905755088206889199665302173208235368868560599189191420454795800120478303120138375134154105858654670388033058374753242784896849789443475693791641776926351997939663291896666825296356808854332019764927489656325880889311978306167531464341186613221482538359334311214554748105813501158946520835270740203028684299042102898992154707544857845698911875280802535397799439846485183090724487638488252683980986393190907100437984939094814311481680709590342036969145638450297946745206874675483471065258373824640603604978819398913315071357801427779257796827056546670767376958117054576106299139340561965284565504507023058310666249442357188422927747277450257255628945252447706912872597036573953632030877189885720027214623140019415141663585052768839635768640188348754077690686284399918392237817463141576494949943991844110340055762396738520377661576010127759548960844603144579807056130221256340400135447022965831488395697496052582587399385147272007802312398468118017459913053220850073778460837738945197033885101507144768992818820338830255275828328985336569205768494190017773600654523047611315206920233965103230583041981895328518780050964112511649857392659660675130911280195666784744483540433575988876047427381024228593833508982731413802299741395513985762397262318217702344019222372297643242421852825047951137454029514262504876237626650430369520022990474845372106060642734674452502470285025028342053476141724485420294318847689630929678662715962574695359775442914227383927112799578756468598109899163925049572067348384216666163663824925915270991155987924887475791920772388009253629805001215804148584029513280701981598475531306971910534222393919157425355508693173487575943315699666697182036451586643446386323305198890140162293797314815009362993673831478211857512502687631411892950344864263583390871342198900866995112022793522276138395061855919705818274003990518289418885297393518551496568368683123409316389910279422876976095092799230378213122448470277907580319106199233730446368781191602453720029923293606215205040920415588682451230215877678638410714414626866369866346352233859288303176475018488482905309790600313024511694569238598314567927252204863178885506201937304738388565105860309868261397332360085928363423164516034067723372633222980261203394760746396440182088200532888969699104578061008915418650003659027664724954546897696348373550493911129702368645904706691086899486003530137169313694167992093094286930021242591688803816816089896010619121451653759957170858268578227704561766481893878859613495457070006375022905511976886155051365299650332491060586339066637376809409677141503607508570555665722043028438022861008627827379831186401802603494639140857885269243073617972854451968104554615185753173114010661179042382202518982261148326703241654725963807426795594047520420857255452647785937769057142841174325516968468750992755582738460815666893089249889441225511447536833315838921500411416690708936287917931833023092082966528923375930685945591547006663982278158620659669593721416278011731720127597103162632834060343926018038997801660483233050962767229192402801315254653450047425455444632140883900855890909142081521805724849917581342294696988740819234727802075975591114805255684141728565712583635470783104571410062226972102957020575985586853340979922259189173075673512351582735987245116775895608420380828988944965451140143887925423586659130247887021478119954821038917972682277421737319861730836997031591846227786846319131091421850844608314382177773273664591580322400389744962046496738933488942955240723111234532145406544656919818289951892189170077191930586944214286515242106223681285154859287725379112542611158604524968563210826317397940629994615001558778607659532618395900919029482123537105404137185388989321371982815079865535157646553832529399317094053631147457479899207209876854577834829057462447974631130830701305453207471332415514053815896881503971722769653145796232241149758303592320983636708484871284136694977198477016485008656097292128886649038648474105278415359255362146927773682531446679505293329293177384986882550788312343622977324606208796707255049490456534755558852439794677286826061014312084469390147463476539165519299905709504533256768171394938130013461788352482695006871397782404883550452103650658521904377664543457131541031697890949977153478135200308492381251373572061001517300501414294976465386497218236698275950969978328016772362950849310692915696836536912973570183745286844265486964677996505385667204053986953536698233930003590682829521631417033642906628712721128499315809574970171064925221883301993898872104960131626332552662305302551771537455245408667532467092353824878542174464382650250380531765887891391372906814891768629957792115450453531136402763060747774340944796674970875569540751514744634256470340700456138029674437841788376299782657455872160862731001124392888509578390156163117509343826074582653148056943146130296889933875765128955139453240026082285509060797123964581922980856909132292503780969511394882252979302597569047252170228363467171769496289182183234982772076653177344742210333671278570384516687463855827157094548216328973534940463937997751557315357149631110506141809972550237007788329399423151580645317188081885709597014530559697768178830276150635407077251353131808040567061094201338982556864102460616390439749572146445585979154917557204476233461465282036388455940379993432462827753337751944217510881478752296575270853389477249518735403877710638154387883747907941562170810809626432240421514904547300500756946736724615139472238493273985040268810609165827745181611295276395558859488042313456071815036352464664496264169926395975964354437537853234662324082343161779647208699215863555245794305590645779366001485928727450913599595978672110083872534442360242749565025931616163444299907048226853281915012277763188574931282360731356290652855403526328172422506816028183166992494477186808396061533160633116122264648281039551435299542846547654869071316253025063185163222219542478494705965579027694758750947461053191903678373018708133405273805220574639259716176511749159983121953985708863680144653166844854108814363306453895863134392475459083607454250732557232875074887871453503236640899261539500511924074851127791277721542533471137525615981185729646024885143465538467017499223463073868053209067941043540765145250512053648613712883046745208079065481754613572157196938946428413268339060210154916479161833857183976878439876854159932843171461266209703165300869930676114028316432290920949167761635613564121334535319211201235116612559158792615742039759970943474282692234569935880451586666289944443593568867894443690958004739500884646913504459069075515029161129498436804404829480870257714846612531492932631650838901233964549199530449772596171958821555634388269765505681212636019927671270830613750077193636687009534094972959987062950511676005539211788572971465979333922166420150006525002252721272971897523992744210787370349085551908355503717175649115469555425594744946405208661452622001863350544983908666024297660384543696058370857786363766821593167041952513960135105753511426893229269267042544367936221151061190548683455594659030108820114578429449046984787706923515281295871567416457329642001213840057355613867560068094796005790290594147284050211413797911960150591206581384321083085690411191627549440693197084344162937662330318975166374138731926906984003776321699682540563305425357840562028469521861026571608723207401345347935200733361408352693371485803550579671765942618143870382607932985267172339513688776494343151184616944828890586204712370450910423227059532241793128890875948501225291973287452215149391439337531062688463860830744687768702232855833012333563429585027384484230197026171672336866409500620935101925666563761111093267786514147156710924791990308515320511165239381923634067524691205910694011463104382633747791079139415228405875646039036286938476207973728174876036762297701428391291775243510615786715739326878074170923050732052619878861934799027046425421734361631589972074728173840212084327559516903372411415987552292915261689618910618881765652619239377433325989844439502153225010903704029785899920710862837271403862255374559388668735178202086905119953509203273554229065220309519928194870729603680135965075597403190231607802109424318137812926364870489877499649073833979253152752722246494841632592002232763761079572774797366120547063677193106439134985062666323880054324675936161172920106420875436993931343796905413498411793807757801086529578481053035755948832609417302059696376520652732746264927010528685672714336723144014674041467666182386417369333947836406309479781922916334416018145830896730112035166320295219623816019211867097343321164020006467631858555019101012580148567263108154284491590457194233497113458732127282638411497638996826904312308685752160351756743788702802227991510038809883875428494832650729190053698098771393189366496074304251040000540938972542544039635970360907166386116388289089756479114935283733323520595692564093515299950818987826717264429439729265939852400596679124338732232574726994306211576636813306333833983355424501092549093484072738868249555326857302897589618112791831028630070894828181977968044104580942775353891971000320063875223738380982333050536244932769547787988745143544978809007690045115112111715477110069589778402501606872828398191930377175231160567406669534830996444511266393002087804070980705873174847600321021963712423315423038712087516149619962184318886752496663910975345603816497672198426899478106774654624597965744238557486852692584628997942775370771869359113374040724266790041930181106041817789591366356437559190646704045376733596136049080445206542768858107591521962369976699951264707003500309390238466516909711411030302258129021639836073732501601837491652478205795299990661268462436671798057178673170541596771192401271662560898781294740506303701367170900667399740303486775954615242680030198506329639729564276833705357692049115090833665266285697302327941242970924308156121301366316784917234912352534697471357762761037155228293868102524264040764461472190330276675042698797794829802252757581413845986507369056886001521677116809295628422617396586163755859152043239627701206556677930206926976394601110211980382777709821769387326260586136774321976384594292835155934247050403750578293157163324653747549827768937380126221200705797895271374918414720232402471914777633695447797448605914694306831743161290682160916933395291020830731953025901797893749011278827219578849518884825457902945263310700597893870538828775064852857334345237730155789661861634640601917053202025003228971356550281642753027498734612602608012649779713384578789875305443130274651603583420627038191826561469436053081333598115078640452776045121478849750942269893772761826158003081621304410061076508214719369725109618297345646946435305391285467190439364728569973338587349495886180763421942354513153813213714050157284698596917095386050362248273142236100203277954776033966670109633036127625576163617133473802499874097305399219531313538136773147714537432144330258260355085045279943747340551764698550932746777970671224233675282430345909631473686621924387265438447937011502798760081328516504330391936990708679621763531371958126356619200932944863516901207202666123082404538843293080470230112306089229916430669584190406873541066530551912208295591467512562662406199316919275797911861989226211248957519834507150447661625319682820907227598963882571149592994006398634499603873691716561225949403709859834935922850414631635209263640289934231117839347652067963657557483995500263711483209916710402260035162611628141621126286592458872674311623252253393284710536871079577644478675075047923984647619223799721524660211804297127767115486822773159101702428711121844896846605645492020512324464715209564986627025505264701008528891954891407901162438132993408059992167204960230500557942803819442848417065531525387913070002690405122152960788566408652000990523638907822836637217236967001345208512548807695363110818565667390942344080606433440054207923196398949648815035732559355122281787809199812157174197531010744787939279725117111420734124215606560494405803736458160815047789661819818197553189173463139544319698330628708129856429596304565632010254293671976787700964133056109615953484533562191293769370120762505413126747998889431263979530649921260524119429631113783409251627680727744619619901076739078760805798834663461205773776106371007652644804583131844716644306222757601321786469094375803254910642509110909984006877116217138874331386371942950120682757540879358380563542809502689422877596451657770733202147033501934358943380988399925636387229683433316128476861369982152653210169215939637535237644681598787562002781274709248700468878101442287648874674341644069795656154010451555131945612676115156950016544246875795345588055673730272045932017266174924813667828852973695967890059532298898829543328578357506668790665360219413243709974260836912596716729601717465057464693599609067886547828568841600195291084542789628961540211925867194572883947007032099279377661073995986127956261722157841017535509725501489001402856080193674395120164147352879577146224818924424676900514484001438422955302553519863410608046949913324204081528718211627145677158323421488764066229511014275298062212233602425577673237467171139503138658705480650587438392343076318463910550371697968156944597485231734525531184368476257396937139856097648854809220549997468184306964294093555759677181760585225230010572001393247386114263033034849290195431369292524599663593212506880163219232913453705457567378486372758937869688800569546662852749339044695471691142163844195719340976933714251688578084551866433197474074782957739975133618461139711425337688047325018401572660725687206971418019742649505116547318432117724060824540346363749913207204467981050201803053850678050143845682052355900145029062208585127215753443683963044128325460888009418699968854097004376867146836583309887433537546885038066075695893233094227361239836949418517650916400540505539692279372994773313031704397730281179908348741209704198619448339223388168911034724214499131037046869108859711]