28943915103701939442438716836497627483083387912562205445383789048531932343693614722259184419277192176376560757085779622126370457528991682519075580107390834863337721267200382633247514098422444474909841712939946547489727764420720203866681553188188688697094978130626692036264155372383829370681629876124243707434539532764475753894565366877143125602139155889894435377696934491370360354960786295557856082118549219973369380313509350717038047388513572404899222931243385040982431403684633640377162276694729144475041641023988999917540584476420479249171843876546202558621105666020787671886185765150037336566782221072953142891144646217744296007453559482986439859786035482821921329355402780083649880971471408872374214102357539906883580534327906435551508555275125704361145582005506638005343959154473067837220184987945971343685770496193648254196643467416362189642603607211444853782688085309539382465461724446886633350279473067311997749694899641422218494560769687590461624412903839062151172247233463844492346078666895931283535373680301876419537754669272540374362612585851347792594375229260276592475206566635738835989547342399343053219985350730665877697313990387820623162158986984970793539845824220527868828999759049225921196835011316273158862840522121234765524049144535465699564724999796810254095942229685995786625496807252957515763518077424316992647899265218108586439676390653999368564812770841089659671488759972962177021656090347972262171265446587399025595297895954816963116041109124223267666221977844291432622905603848080598207431614212636027474166339790707521153303263132832731908778499439466913175597683485134976162782064042460334369467155274133962793247281536294546445121576711490862113429793984553670205432819908468292068502266374688814807811232193335933557889803898322719353526885834119977432756476168363353643107482423578445332387642116421345334016756506618604481483831277569986318413097101739856953116308233808921366005970637908069818022504380256586258820311892152562129471087872818910599295154866958656941635297547224145174934274293943429730305729142968893118372263449657114578252489596333722525168033266366627948851224567301421772547239163242749548304389982297909229763159466791563588341448667709577677219701009672716727831898567538927576493454742430642947093523414921818514737407947391319411028275377725967274843259585874492196826820734016419868729749212886107648995625824857145489114448243589809979530587446707027436923129328218847878112889244528851311060453037363859450773717756974498901899804693017798377017414128522914739094385958416796565542253819897239699409622380967177461647179395581444211762337116035326886682562440116422334571901759864707049745814636000918433621988235839727456036535472828307552772777609525374991989677867974770916655664796252691681350527088306100389857644020619123531609255895675877776674045885793426809654311647280278402496191219978595087386435554187276802114435213306609428606633863502621867782608517355661675992871984778401305088729046999726471455503712232405385775719511959777339194198023299731899959879095656030537723735554253578109418162664783645208459982049577904919436625860655575459995680167545462362919260106044140537923995669295588108587476681531966292474599616315487075961419604949302672222967141686340480847441587422696371947808279705215410067887259365663615219785964877621201544415588211596424797788620791972964805234417048628735046177540651393373494671779076204705207720883372344232474319137443133437966982564450438711915436585515333725901719430796756877489467257485212264769468144738739623792574955548754283254883778685770868478594523368703101944153081266068123443367366092052231060512543069850684627015893771129219865880990503160087246173224859775900475767663215725861701695388981205110755135282228239863762807616864635922131367218755522310675591262977189817500546927891435259143835063341423654856385941658365301961957550987178248856267496887393967721362323676262568311721974437631678110150696855836203464567107941326631854432469459193472112548177853568157593331557219678466130694223948929620035549206268069608572283065661359716594729718751911081248396158342792585796847076390065385799208723511875512388023856581311425528138779745025341261210047872667760626743097358466983271832749811391009202168854093943630172560730284702544193274358619056810628846661451264225442948959918039406246499546705350939147496897750650635201537959755302157928094949264845570777599634726336943287822929780620213720526364596337914432753085047213898465101169729316825840769539835164048119383854385257943008688136824286835407787946694435805377924054513283553120976167088768834858589584945561947324812660119683489779342322846985332735486856654683203591932587775055430837484554980026891446668745278397492463866090609646023824122498526118812887188008637324561832316097435494637413893383919677240724255609543337775646883230022194207782155032601351628222276985572797332659863011444151650127249944599123017309871314710846125976087265356312629428797461785988714870683377459261620915138958948570258468585491075963672317579616521941445408364186743729037145383126995427613494361598414429994058491650097199129237551971558430235372529877351417916768084627866768367863955738510556370067205945058242875663634854195423526445885503882871399171185822844183972979853375624282296450845962619527780337685965274978072079433982724658088553577337407946640417686568581884672340574949024257827929035388834997435942684324563005650463709225891974985172642759767928972854471362788052903093377160960079205111164640937287554530645437182104945721939324333985062825017215410099335127513805548631586872559986940218888041348060497400344452602678296822526609651237596045369086630885887633934628616288392189996495825097783885856850738417323626194303858837623708753922196079622223828914454251911674186859646744871780629354255950750071617494096193053