334627353721562483811902539043491448741791568649828353408214671240138251073800363655088490696893065639150935535141991151008852179483453037740433993553359730652835623548335042638850164843788530938043153910682327177448583182123363972271540940948489546912216423137487098429346074717865670364120812748680720777222516498424256306819699893391223170613366744375935148924827517028342970788921292491631514482855721724044977718966565993198364879811339843636430915528510350283575597651823491488362298271501726877071963251680961596608470724396986163614026394262334258118167489853901824163697367403656646539018406167383756489678831929068724549277867526573611958445923423478841083305185798084993822648704716653831775529341895214889174553043205512496598919915617409502036825122864389299196497942972818949562034028841287799275327765631875331238966836693536734812730071677807826387674912240108367067923777604914711636106982435876642895334839529831552769790559704944818935693169401066371718161581381421138481845279452717443693214495477444798651586539255934733158869663783670697997828498688162353451631460354531129844126163780967815969439321357960470929001339543797559326535203863233367496178141436694394285365761214359585889347489869224281598665645348313767374071634509913439819066264725107642425457642855632065195814345931412794261191457366162819382156901268269284489344922353173378017563893294629920960886864831180842908584333433441758472995057975617414406595334583531295089993102774696485403558199605450632251775952940436990067797711671167973653503787217029184534381923532391806415338238107152503191210498133244316832418117846223418383101450855996518594048549861432332395118207586308707542868745094919994222065989710612474520433302965249734602050477263831027709184293002261465339781289897954217631191332647083396971967052603410270306270981984699242538191560829178873739590586353216100303334822400159633944209231517793063110137991119508633336719388812785221270639960405515872427825416646473361926149984776643690985862845350577714314650720744343308191222716358702830368944474451588796758892324612778782438714768754188616615247974711919685456129480659250532379359577518738487670488304923350546634808544695067349940796933874100864710205545216445436704350473894337507961728627922168594319251515568313342914637818175156678673318175291134945724299218125079745771994171757107819176048245740615352055269949947184341797077115755554916189936726759020648386075998073856324270053090842211377657205634534956643826032122937676746278442155436954799897556526732876355933032366149756266460719402599157298777038635940707281659483345209180834299390658221641324551235129855595220478394803749476400254819189574263498414435480365630131623560735211732665629671018623218016734771558034074283524750357624729109042392235108629417531269293285001180926043929675930385983453744848382509762871553387836894217791844716325932585978335662538827538741493730966835693687702321783553824984835265780479713194869407228922209836167720772048256639497572180660341295125609767052343977259452534242717733270786973562494236398858083769327391657182904868616492443182418226319301648259922186758189539286882669929368464421422633267306178101318061241327154987993810848954393000423587873695117977783233877181154557979820459731609815027038123847927878642310227421385646947411365525871621175826743752871592484311966601754121839803394153406766598536473715232467236482690978202796959403127222125826870794227943394710845820539449526118891318967477383407547174383325350047102285304589861891835461411988376988872964349671348703471874543066189315484885778952502959951585393943561737259821655575724439385987835181344224435325602503117528899365866754184489148752395461528515073110885178039749767671938663075740978779833045844457963058180617440227944711411794324846747807269219047702484793576581727722751007891483798573669814012905943731012292176635241562742684814781210967363878951297382197252915844319576138941922196786719335166634250983725488850781895758458574264187165719407616988383964087424772199889894950972573591134231010195979321030294638579764692077661958804144160202929955162883395618523410456781003552493183311620829745274906486854657113240566757362823565654169305353437850707581812744164227968311811885897543399347306756368039761318452870382402245915442908049940213022433904813357504857452539825607888341214950489868223299589447201548327053782657674086777754667456435860846994366318453057203122606247371781363674048024505048881577228254221745813325092209978265899150898346999979825829813242872948175196445951473255856470823769843735668447883571870847849942528051134255845022201425223819616534091980714611053231668145906184072546188443624028497658061184187417449261606355628598748686073092481689245629026184992808685787268711153131482316795707139847658368538734753936985294296978393735079295414177221102619829637923794072971330851115627495969502838467103990437234288150514578633207776580447631945138641081643294865354814153026248543907852865510580372898572397187288644740798359239044714970916083742287729771967392121817191923962584901404304743813531583950817253510646883594712358362900401113649512441937473338621032882532819091936721827344212594359641905867465992797343997441482229813567252520161564118260296141131247461159137308619884216511516928954614641218547649507239132037905918457259761943568327961844448884475658233783335443300324902225211278979374586937384925472247527354750289282408713121745058625075542259753109847750306443031970981472542478757096503725628773097869329711978756887180284731111592821933283554793777787247586346137514077677077287940477095895188694838617832847418273109173055779233187494793754485722616577816380294065477663795249296456608474386842542002114849896179445942475567329657175464179902774779180477459516453093927763689081284932900573242607438782533013735639315527