646969494766420741516488936267439042613756810811316094145210031946832988886755849448744692218768082258392718725435071732707559812871916340986123455826674237354787478464192417177112573483642058997734077654216066761049551973993252109181829051012800725140292688601978484613627669645553669602722316784977623362453964962311160167336434216633587877155266213635217297701385955108153130131734397530826249826527718177406674484275902232558964569151511432476132704533563327967861956616458318475861771590942969674176266031899281718197983357055264705443665351148296237743126151540975736839462054554879859913921538410961213976329736064806835954126146490187271337656863456948579710114548537321175670020205552584626584724907088708274578158929981778519002191702724712915514576829771231323948281278981449645164552211299254167697110668398468404313597634482705111612708638326560942510747624267487271655259126759656792577558333929347278545206926079252027577743927923767730916334890466933329287459115767563645201011553166965860589344220482588920972970766813047829625686680894695727820111619499812212183182678397894831617617355397451744948147627718982742929703913229210245222125395808034123983352691845877488412260541334673579231938454308878291242339224424379159018586307340248639789615155516246638273460490402827641512434598113128796095005629324322279172662033257018584860991586854981726522854849652125842514632146145225969345682920911256252043559051859512964258180547149590483952105716740884544568715598418870531577056394620532439231872483665962228999842709347313270356154929063019624321914001936386370732089814079295756343394497815950124564292223367568711469182707667751754357940782087362739512783332011177292962141190149204637675519149925146684478601391045292999618593774231655941104144962636972931196317695598997420431417557312992069184756385795405502703155636865731548361272655232979744220023108816969585814609697658398320170879837700499830444937914896458874804746721241856036933534322295204362485574647955013218410577722290951046873388679029799451183375986781936263997129758925490791194855926150627452526260982735292282327757054628127441641553319903587289264849607892340367186130653780899776489114283297974602125366797333952115585473681163771734916489745945457851477648680817779757926542216638425194864716163736818731504029329712741455877625307749659281383342830382145907178804283677792734721481285492515154548927415372233188251239295742425317738349827997141258297375335214632075641817482198047158252211861490225841015589194626994498119934829711229904859832725098577729646006278535226024913911186291869518756428450784365689798501040496359164547619184762688202104563786723926926928598939282126024381738629039252404424761498712070886159541117098421775497572848796151255456529580256707096208921491934736638571645678828223776944837456023400274033753746549695288566955161845773343594172861886911155069791200374865442586283296463583913350663956601476522031481334009984196778889800534714253651501137085088872195779127219561912860547778106822793289325261151698386446822288133867574976667086034739947650314993537259928094285498030759270769140937666339525162145117658056093580573027718427270587488112456175414694303980967483530673923194368190739489271477537428708640939407462745614679780945684516139421329921465543796498957197382703938997365882431181398906233426015491902457058762836628135776330630138778248289222409327067914492431387828228745334788495166925258548578919408993842911651941687899798569756095794956532019233048142428202687469553631128991659241049922273819868173187150642879278478169811854121987676036742378473550429173580331699280207256738331961911494726803614573173662633782753466478053814765798369453412975727719726928228217678053811854160562739345438752729932534783352865758324099328298634828728245465874244547647940411388273138652415026358487517289842190334639020426795207919849952675460116065191699282693418458228818152471092298860873244679178247462765443816012666245367247375384922194933780384537159371403776694597321612504977378098201596255954959393654118815123284515499144764517577451145765671734482422257583073422485961870582939569382658972051237188745884089318388246629943401310424363650982443856913012095681356662146131863845677378311566552045880466237087142499942567765504633631181891449750811999243511693824963169491417614548991828344722963405727855738227403970325086819294411015297527773183116007230775894522557493358468685746452327696549247124099385110202696545978464265510912876975624808137972427632814920242585525141863513751251766919815185843082274388706551882950925711501714758941194193085168188063803639365347857915262792975552895401759723716128240850879545948932536140779413467897910231481804882336831083137426825124534423542580407758946313557718905612658761134747741279325539622767567478262993230342027534222693255936447602238197270331395683869976734526880783993094055961585729743378358127701911056897671285039779446932561978483531972542617163683532182979344167084463756386742586223417154785464812531188874727418654384091981198559714751918608522361710542326369706809682444418317323298614349497881290544325200422031353090180432435611112187399181462916799744384002467219109702883652715512293261311638404179645858528919135689935798547265169881118818222535906881602106627080186269584220437333539425527322604863865378064063134141266238161720672723736195887053017603941272880611231402428964746149429372226698178455012282763701942618991625818234498904135233220847647495372203059123953158144032552203518518349349967498843549329683395563205908951915429519291785011240117927635044428758783040708741729127397097113733826916098448220765356275224764865622104043345566929172734679265737832862702389900710498722685338781560884714402403053892107346832216029868977171419759555956797173180452789638973009164395165904084707420765064