52661095495336069107328955912628286356348078196187165593830481863583621116476684729551952055365272964549749588929554219843262845814942526493350335104507056807421922941109360967197445496454715483625363647330695222015135468016883788823732199877368620071133815526933071631421810737208455572668114466495305233333880881573156425880779938922757290734617250191741897776489621673829376688698406648939051132630754365876786862045783722266786758972381603978970143463669323891552288645274419833028828680816118298775627785809889475466699783887327385102770383377771136110253283803361394215896004770628035949518966969839123599784461822519405684242772779558153174488522688668866419753107108289116273688359791852531546612184868010845949221082226397204467284763247841584801108932615379789071366740609716236795792844533968397582693361976910434970494836522869539869082252247829273154944115658482261409069882249621898759493242786841071497482237173473231889473575324790639825349008918757515384844528775418656816973946241674321444453823417700575319792301804375725827748555777895154066914816970963408994286833618151653560865472358882787103669846449115756400942208156171521103308959787232375209568011836667497987152394792981095532390509510678763247770884861819419815988505148549224644333943814854728243515824738889473956281349597514477214502545731584246554199177166436028367830237763111032575457035574356318632742394634510526039866162438302528773679483672443922921509941798606305729139636587725696264349233455741953135182914212273012994269580239315697382148326238863787584330408322459368584291818109808365807167691857205229637369711726329854042557451691163679663398637604686102687922133539880145649436795235953547052212758185239629876981366657913752135282210803218967721099645779281350410622174909259062542198270591216562237737032434414049961864608899415648805529606561139961493172644591924522861063759669966038382821607025417153358358982698569917738895772428396851955864780697339441787938835530437926784930880058494400709584149837826459853408355597748738444777444910211218264989933996538694804973621606880233142363413789896122965297911945888225177750160098806483712243927170168674865392113573744655823963559635148450572035545202958256168702286669403579115864149503443044376803939227095913514688366136696217622187465402577774109211249325214989393331425974666264953833167339491585667394102966700510625394627728677947121861963247082343121479614390261380665708768155668933155814944253589552609749168358211371526010988457294275441851204470095083432159767332062128525742988833376499649299681580400774143235493377866411891766176593892730666036808891047202850898423196911758158478618180377193270118674566664283864838453113712713087434916929563720332541295561895344011909828371146914682040115061737834414310960059515129772276808701689650147797825561742076545831417666854104853386497882635806083755686126525739689088505332744926204640475318966326170952863663234217457312546619223347705146768282946946545852451851269611368557107643191370635395141682397873512272762627993280315926147645959077949237834132765675689343856881628538559759839471643891304529727002506245783599513422435747612792789305895122137121623118334634543854919494784412017917260666791622878089902218549770071235560036012430771981244994046862590265858039219041559771786993110929038087793291768674840909391965523798781058423718432322467992620576799348443197963332502643213662938279653569911943603216491861886711335466439726984413456196178448125801323047983464723631489489353416765484764841848142560867602992793088750267436208154377309855883672628579698624932241225699260864680661141669012311528662419789168137109235314209541342058226419838160896611271985371902185842860209442913324826351627530972578549293510267796497825692361360503857071131561215162818439125141084679425388431218769192079997961767858704372335378324727665577730437926375252859862773455903164264883897817986335011371563011051088267782925811106150343259141676426246435605556313768278983461359920654640514837195222036947544790088300568262168849053902396708899149282976014780673326199943988977224238117915140173096992413978394716350485064778794188299244897453173401662794166128865420356768009929112068816948168907225668661574428178775347063480553427479449231712772825814943176368045584042093544352686053973640498332587655256112137704972950522538461796897492876679218307801844660615340476589751518057642363609290175537676480882886205438205247337019108275564692523398996439307540447050124847082961881960669978854584150592222708118313654976086293354756130793053502636396977340780653322529996858101759555979993873366729070861755666980907028074719179234317958535534221114456364492623853072899718242063254868370977336697780772561301616182767151256098952784337488571495431955894726890945759914393695538160033832616393939041494870637935581638085936756964971718225928411066103843700499673617934492642988967175890846042983974552136709397922219624086285993878171275675568632633621364667911710644921732692527577486283385280711269832625051588898319677695536805371285925916587101405583576767786299834385282858260608112168332932685582027258197274264022531186972515834130347147021613407888096598566412989436552823550783247982453895121465111653152275885071993644962739906832462146643664781371243641175989233557988307118996025979597011785594955641152893858779534386885573663676532897183766387675220176369930594246966837016905571851298944600101420278140635769202102444945308734498403414116346851834798441274969715583462701432153624374480693334378351584390334182791206117904837907016324626267377085021333667763336503018986012926414762194723213334579007527977754633322054544720529662228017220039457436280148969427817855162018364368726177658110521552572931582919986921700541231143976832726713336899623414855411116979751032408857395353188216041053444344476778424