80124456977465851202868916329835745097680652911936256724126377852588596122702226580796917820055386505818662881057771872663093363680488594342441831955058910210669281087576990037689668490259762740216457442354521567311711128790121257207657719134066953243512015447423997469804282951048903333785304862393053355741218088473616192665568198051859421085689856926081942931091773894944565764405343741955947114133673507128188313141147897228342549853083116232360790738335940637831343779781444238240126744162389382234055675120176577501523782347452879802121400486580207244414342165549597876334569371186432496549511270018656875359315792438847470631665873282358576803753033972806898875671598153870422665010995121306517631770272526277999192624282523961371714722897050371229442435427331504866697104780456221557132847094014346525478848387931096237691893243296228485899398389023716122657902019316412211581501436671221601550415634959819562833228344425236901115294968887271407712664065586408166432096491891588381129886665392153332792583563164250201150834722454167422796470525689412326126679067585088176472822818152616893114672485038250935373024464163132387377727833803825187537870438452122589130172147243326254875889983572543642185516529379232911802245347916927722255564806042264337103885560665872046889349466929414206660961560516274727149665478144337292959182131936778591777133663632159729689469457614740914072545620853935016528507927356706201786878649441586093059634827754204409130711786593326678650571563710843975871542811813426819135753065635206671071695687511094996864010702379355565486067858203790082137516216143190478287552708868767293774968122230663870892660519104297549391274378630215694942451266883317428379549852385137570651445540690033563848069169987479942883513824237641466786012107382228277855544783122745730213904955087805236796917380938896226538161932316485651515347513640564192617187174215247281296018828669346644564119860073690875650131124336278144896580338939884552577767766291334521901168944258085516136289242665558010221336312953544029172789321824753398809049434580298593349932952091912237361438969862497602115828531261373673636093955389804152844586355071297674826651895544665617335632661364445526024346600420355678260350829983777763889272371830262478148611946475147190571958376047965998124496045775447073706922069696448819265675154927981539464626248638997285401898746459873916348366034772375113361315001492367805954376664887238792165555055292832154241387156939308135767343756727175230769282718235535686390175893088448836478815255379755044555902215144183634152758932221894038614149687864884517014866809945046136632826181214346924852123919873546410461222862098129258909735788870126275089800447045488677598150611914282847011727428377867051337226458797728517568707940348217929136633511582237742147691405016581744916918756457426337138271838415710427769461655267153543204409888556073587196922964323311430540541415950527416411828375114004721262414166325405688238088530256628585503791716155630158262042177913457756528538856714293044663205900526776206328225335126169313758484155336275073603752783027571623518971765463727172211809661196576798479364032308940541894260022517334627807867181418430168020615194706682994131170195061675789354315144257958431324420372222483521843733723305688882182623500173621575560258330495593147657219666441049876910609671143427749615092336009921994317771267955447797060369493614331278956728522761966712834451738620157660713973244062646196327240464774132654036428587093702227061215168288024128112011926289262848790719685047205196436846053775750761361973173162311421767140828716821898164940249969499088451426071993539089038997614825011247665266742372514184964296480458546258175431015679669423395554915434121847926996319397493493311128942693098771671752348622700289340488046113770905530394788751496652813797479416247580969700158772272268226254625358423235996174514862062132759451742381831696476444752418081209855577157854635307583572511013814343296357159522664456635993637745157267869832198087778838798149649351993151825934077217997923121882659471748916917548401322057621814346938223613199423896842146490858209772341824752856251275278073254288268092738527064900547447479907306031888971801646977060315597609360595193484401783925994645769671216031430744392724562527797261502152850328860268344809580963879862948372249478443702738914687729900776167494145437284394912334292636104209416724668885880383437405213184592595687248759285767829228679711757504106478572234325638239589254772392564694766831343592259155994298932128742146556597384690729342781633337124899220549743592976216026469496911245821492212627276508056088254847260601721847202535469637699785752669976626731536177261080347070188972869529376064372020896074244601716059170245964464645883124393179045635346422973914334180652114816280456621426992172633364303714613303951057041378176680749487428861373386320929864201603706906035497400416627843960239841579548867228509591683625696249559128301280415674272283157950741888926846749412798932673040927782993899963746724316784193689925553435600194298999489892572247373503690494215845976346079108884281206548595229948484511364151852440560671158772647151493758762389915991013823770742350015368234768185711391794646287641408985261412704053047357658835086046722457238368270441889232704930924782984889785267580049708696212472042409290634761307866336114858984307795812792314039914571068637761211633769137554427380344761721358932848558574338273636850011611046280917352584621987506524442616525471191514738468740218891292365767395534397290446374518051104704400721244440781274178226699366178675305573512864590058211433192334829806203347197798878621467552541021652290791874858381198896795922095700564669625436684565538304054937018974587145631104402069212283109557653093499820449850844046966342706526481689845025152956964476215040754329757469723