86109778114116237051658486734550363087529595701922385811431516921740359712589473474088312107520753290662729283358355997658728157243332548595663596140149034842178146236990714668652918384959217811414581311277926455750228233815986832848247625238128469216395716388068791527093497568882844329745456342631147864720418975017747627155082679418991944902255790088193731252972811078887789807683188411962842417074427437653724809449997741240358775061463138968695213752490406689293292991718492345345231530958931061016653478313464557416692892033499698056588772937436010101521962956759016947138721646693339775727515108755834332491628792559133852376346074235560184688063784239354601689470412964836521075151127421393903279114178869832821848044331574126530114694916965946077828505353362191423613459328681830790649678401185328562967801125571568004797029357284642672143163404862191953429773680132297627950491685933153637661210148174583268882920719302525396009133668757409918150299937609215623653989899847499654700047657840277280544625315968397131785724262557155622153559849482036732919891477556563351837213898414746419470179536251184854464097867467167403550911867367563478376433615838928194479319964319924199481312401315915138193903199635490617543235964361346959631938679159688830933684460465201970311651739587690524745741559220873577462681351358600699465324025797345357238347228122399948403253111135347260249281941446522785722496821697806704480816934990494752891320834926507478400961485311029141993121420372754841708332268346174886830246147379022884762155115580524403435792551617652456948032460874931718742737698930803570957148152887158080966372165813414375316158824584721694441318407971835961981861075008605652349035746086913447956060624033427953858381122526299230298550402162037566567499243260213920332467907204937953154783797992720954070308820761149513659457173697935086021765854627851699377136720177488450712006411772974469718433768027553204092280860934845617290628443107927882736527779120313115152739161264685107187861054465223331782048838612459778233199793968348553884395277235771499716080118760512033607916360960129971001964663816546492475164331518797438006948122292281296719991447243212087482198880351615686595622935782108050286711228079288883263421894938051373902928036394995713262723471797391170941782683356336857357196966655964648954156877172660712888859825471251679149728164371597900731577969432936624586016983924967686376638434892869860857392340836305009829126798409736118624816461547498684780792183981472100649595243939441442361896457305946732713403887548744177380103549769127274677427428451014236622774055666496860389314466164483568928765779070249153792174455312756635620631988935908093381929042852769573267932141653511201354838715928897997109025985191223721450637917488523245540381644151128271363849097276345427089164885848451717185112282514984164698094419469426589458996839332271253168231221918167699293501329805682657408261735255564990344914655494066588992588129099794788735257395360793081984182786078884845166723515242335544412936158576887696750801849044693571639953675347744377773235331917793657842941097472100442351527695415960575734146688986847121918900248767641732793278990289504275278017421907187017426148704054191421447381156399718579285763960932039219214716386852716988739139902871591636974308569982652800956076993154993147612281206882292186652562307098494142561632846115175194924282116800707611371035774780697433687976215315459516068429409542084266173461014731908637612511021839736049753160339780115696343047750361563112130739351547483882196053999174690757642631530062822239877473584902639135242124215424839875215392575054545336268451251131064026366421651924237673689992073405498798991896973211863337269876992376683929133724169270450657393750955850138936307342118867847340813114787745439143947505297710896407320067012070748212949255370727062894129603652526515438218951785824413202608591132391445124420986162483577578046747727676704328332557574155411687695260427995907468900412679718882285734711024228288484688274109998992714434126372948792649902517814386111809860525744353793156675292235934015314341845545443723787082667840319195392176604029086539158120685683591936853033469349719032925106171840242026163293560273698500146352702196849900478997398189833841314189274131744504458737170887584740100173635718685376773910991264121656642997721591579359371681314167478578048760239474956219546068906350532571056344365533648395666168785101245450494479835964617618651391486995164160181624047988374933086051867279893858359063972935551879515452563298382210682426549223031889542564372798029529943830258582432896198385833403348813714106577928649045497785808094547146057100578899739176524699243926843618092902426986109994442595588128586051133737329254398273634203577320628549287895746304559118232262914819779739759898371312894240991615276907768510128175019731220174416574577517181108212085881391808550656971642879259235085091777620532088952233233857798143935177639690233821981749395297958243802823634845550995041215112893257058272979090785849558848626019464266877066956931449576125531809684527695822993648057477069284399734870643844050798333062704884581830563057534472232878611793382403645994860877745708632168624794003606344327964175364951768302181503121577194681787436971833067324955377853407834636363436151655843231614963625562340862093593187915737401653915173425662366937254093376690248272101531761896176265452703780322887555270486678543483537368091612793048798684761009957294586558554888911128200999030491677915743769261875993586855224176580585714004340787672449161745817963120311113934507627425096124774768522951034934209956238234840593262351104850165140368352376200825935114191466271091178575521501410755384878803947870368607402661843830124897238101266011725390544768319957475943716073807364410093080615084465135