100179417235588266646521170836022406183726236211356397059109054361689293011784277504933303864470855574354005961761585941122753355636729577588283610178060683782687726929320790330638044867862666574662041364531680587598615699790689763864183818626796171366853150313921915697441023742941486703367411443882108138661326606707579157844599106738674235529734923971352495343505077273525389171365733525050138892531942451442188078255038529910987637033778671962233241655941738527291537782765611750436826392484763457547731242353433128628466614540897758491100050819913808956053275566301525663008835622337206603557568890573180822088277418246134747323940436426478247427966423540866241672352484135036054899946667294451110438032804171199848207452591732070344273812891977905621854916523100981981567718774365538946669526068326869761324412760638619452924654845573570248664485060191175564615973236550012388476853032481485954197443815466161315169662830591311967665442436927443439866985424909852171418842086891034846555152901247620291432697669042116147017757135975141452673616673244682042599976835437236071069858648536301573464074548618796938400309172479793586833843494173257209885631756977833645568771826825292833927055346267259438383803256155068945292807819217529139512088782717531416329893224549993546072211028775534809791403398590975015018493083727375248289454135890966694575346448362555350815932523936103742862013331966615189962777177019261654892915539276727387065345773700940578607209329961922947616446194928434692107547042483380239472212191936095588177848146623028407522498023214218827854941661923974703238180711780373843898908972230595867943619606670647434472462443730264456896526808624313711385712837110108054260617404575445818407394531326990843843454922601187753610503405969366159133742307021572157842471347969544757483138426056636456173311292168255321490874257438371355968994228359373933818030224649417612842864698589302670164205309496672857225884211312905648394201161439961718908516886514269253022766534608782244162441763243915060226627523770590868811733832353156942418946422052308635921617749743938475280726303952927893181731901905696555178217759752550372695569550987927788470713634945131570848423896646656761419743979149388324677762649628264155439164031704421581033548613908249571064607484921354662458380275287390866196504897615187675636327929879277139298655396551635646393552744167018377173784038881884518597645794567049337571078336480274834941967771229685972647511428424335292857174270875833656909250951250557138911667814835010268132583609836450213291818081782983725052925224439872118571120834917288196098739234576033244329279119632947607363523093730724242854940545377417503803857751291894445439818426243777975919751279657421336829768888157349335555229621985671025458276362157341976574261127511095803927160326566517030626451755325903020292842962989746808382494639952481485427211490663082091446040072610522617914439828969272499385353112956275887615390576771435476514467842666781418471389348219118206823151191971919844029368725377585769418717225573343488930346021290722038986627211917079251952132117822149621763435940261545271556348885039584826743396436419519089925018908953685613011041550987059446873043943342244359365263272822554380361496489305629938143269447164074413789640948812995391238459922653546987218615480882207184899392137037673868643661506692072714325514236041196811441327956086488684905179452788518585859514712592325236963159182817352842871984167859724801527312358469687657533034887294727445434351878382371792211246736634860696064067899384722822032897128780696019598234094639407170837562825939571517279333199585970624929908530664215388221817486918229882372447388644100227311840933729786633682423647925927811368129582659324153165108243143276312811669952252501464482742937999049067283581361541303560813298995707979792965447483430935882261413644879134257381399948737999877102741087987911355059418690945936453674564539733588448629876515711485742562641852623452367392226736969103753225964773207968722012231793381781744115992144145287900472056854839725105026994357857055659375926846515560047222561489177736848115692424852029421011772573224044823287416694575896044388989729977900347094344335838957497258800890972271461471237640561312731305745979196643942203496189035509546906144814328875537285725059469041276988827122445647403511983398763212345229794246967207484556289453194178883498765440396607212105481474487242249020998863920324656177143819557533721052733342885083377316357948873265728169898628850061943175714698261427244188073197898219663083709846266033836440495937166350299327037294993530863228082691902636111046409544189721914590738968304942761131151799041554256070267877237634549878802842818333857775286672947579370836976489086772881497074045135758634920355765777645782536607558220456202584985764589049147281596415892376866978877620928475193266136801826656477081510580043099276979738393691843368960854874792467983131532487447115392486754973851073906021385975941537546942224374002192690738078307726978778384597181671808206176929005739348421618174124978992375162405620253322651588814657696043674778879528061820413929418225997010264281346747739266240782474050993525925298819404439014408436618369835346695092531463695063015216249137185598671052195805879859052742067171779724062706969446376197625631747784888135775638284999526460347683271490338738267876352967910372648137265935418791496299042612569166677969759313521267370757360617708620665736232137479257158179965511782629136075541925268186107198563498280458538655472957454250017065992129482168145313565790156203923632098512558654508779911540864535727515628146567328425878526579232749975838765409058967805381215447494178862262613440879548276762341775526736496429026239934552419578351827966913915612246579263084768135426910138579671829725274434914480651768608684611086639959532115408226144564234913915296588808