106626737076342865545443963741222425493995503539672042302905277282787807994328443488963140399751874423127255792729227384135141447543369634328528579865349474714137592164835376741217543640533128158311174569661778911371785209818052181693486035608753552069292579802451668597179686037268104783064719122455326582023666885379259768213345148106773412430273738156765409188704166516923602352909014475888572030323434248637698946136976992838651218102404855324701969390843458402609452925915746393596945903480844237769288874858468131903387469190372666996475529710840629785020322694822886604484158138864089852193323968138236456272242509875642750526982639545398761845172512143276338045500472041365355039258323914358838711021762630513059971100961308340134967616548745191038141433766321712123910927138529429362462009445678931212305777971785982926818577496961485104672049348128545769023145880376345387468131715271507333586747432295371094558776196630689468851296537206189552452733312591475727740913616392516357972713564853719891499252943497239168141588139927051798562654029999115985349653007231117255409736295992747996185213438489980136306857974755296974254326930767984812408476786477907061097026649452437630993983555390268730217275755599668956325935524255313744373769218553148030741951485088699524721571247588692988129541486579505793217272457812499852846553642295066938018934246597035597613581106384219524272791687870618032067639132516171810595573752123306704715839604951666867978162833524175194238726116902076395526444371611622853559172263573233101319465012771562403244458941469015570962187989339602370461826320232078845900610484489456774255032099253377487267422394850531845736233296168321014662592715459570941309758511211769542193964838830975932552120261599407585429332160180228774154677913595725120660466441672497313627961767415124433853039168521515132826124197943115550621498335631679703854769737192482534735888796866829766619550951974927319944645667434351168089438971854254582128033391946388356277739112429436231087278961852188903884216396264198614912522684653243950521392822025751074124563414450795923539352549764736975533505194484747580855785431029736568432848795928621255894764898620023847244365194235642636222391971891548274224836834637477897182887718955977841157796555391525021434427628151529471262206792156736011013637670422596962255314581692116882310454738406688187270289923325358728103526443348027723600121771377372084972201164532522616906281443863753768332396723478960926135630277593446132206968827113207965812149344685033403043942587545976080660849083347971337245402415364190838760752629271835499923367648947039629352107506442048862547973128829540730335631619282651322291315872760581398573506879741678590765461236615931587825817774745068118173699774582249529332167899325383004522272419825864529088193858326525075326103969110941050148379492468493829303003383439860953613371477645076717574653078329262840038788658277519697184079936686871699881599803279422998385719871833521562299198783120976804647849286199124382613645262772213068809588013018410973040229728757225183306772790906195789164752486748244132136931096327924216484800946004014214848759068274267939734183343593645800237769193515402773377652194484738973962795468815662656168995983421712299709277829048931356287431597189158286130375445144623563507961729823968282014479729209763383539606020865172393805674518747153373865898571771916391159473572687771643432252106226964193833699186712108763604250502239901835188609365490508561354502471628551952590272399377833940641892833616955542352728309083449392007317680717395678139617313508459146406648697459991343399968531513965064387380387834842842611456614543062197064322392652356237451845772180336295227617180731771477750683494304786107744517458613268609382702959953492506839160551426350684029925107259353906553998079488103558062293367694633956703064231826881297849590035833666699165423203153338143239594394997379516427132475795354634179887337452825384373735375484216217785334694150831853777753433005924238139710370652166957440897086485379471946586774286072105273621162464277446505876599637486245027351755398328626008866353942034113710741459765363196968756958430413767205853756077533852501145739443982927197119268853409215423820479245862891622119782228847767846499526875299664552037075429899771328650791658721290151946459133786461660606220507766359307335677402012146933991003753058902638957700273273067551509920665602407598251134716558677522723447156802449343456472783551815477695657320389389721079222218646049237177527383463809238969727086828951298386281985885193544049324866898360274057431631974374776243136238665122535750562901478176426688187205510192014168985763072957387367441253895068296656551987387761390551854031155557607305824252904559360725150692262966353355082196136112251626385999285380844332003787986369019218913087432930171144979673580269818047599505290176481722934140191476984917275568693526896157252876034116559172638037396355815208444794792153479338347972735261670313178251811573600475561312231938471542735934296969128543491151234511673970578336301379098163295612999523436252030555289152504531606468973038901627496210635109830595088522663473001870366481059783606166344913379680236533511539766198225952380759183113527952929165663467196881266080994517695069455531986834359187413071430793766344792834694611153781488875606283521044596534431457872640023168931994852173566708649192494896674699681392277678551164237258865279466288326059626891891641715849281512915385478834625948174317640045450967556065198306318109758830705042311714711246561227555412153407796166224630738827719773464114169717301264071526757747072072502585824178726667812818734119743971566511713282147219941832687140830118294267669939604657493741647697626550876577705715573462737841120544450338232614724801594365451432360177888153927134965412479544135039801