316374813984747674078116219132708773161842949502953683655198286362983124825943678651958552463034604750936793439217133944867814525641557472725084310561177074598422363096528653147286303039959841793449257087717844281725869602323431701093314637633572619911827541089411118330905593914115666467927181030515042162423895942082644722997788156593755686129266605903908555844477951541693034176162811928606734898694976232851035462275178839874881355739882659336635154289460935463733729541726762425978025051088697377768345819945027743201546541388249771470498718411434159875832328191924621515848744241733348924079621887135952281473136966778124566598436048543431958442399910814084564121524194036968498958835775324462879065218945845176091616454736526048825166073510441799302658948081808381516350329764582720297586844654310991596703780973559458729447496438895186496237030118399859824548460880865686857742538465453437372928792398189912068187411614314642342197958075286657578214117779051307191132188103969898879046413148015926205664856530945058256623745770863528631066410732391191881604254797196856416576428784577950899242694242310252369430690943364915986365563593812460059353353512359771456916827717139488413380955423463860882156455970828622643890715618533045770091641775873744056242707681942532361245791623561305232563373321290912198414775920051423269787366589764174380473460002191691074892265171249878541478065544668584253597236085697268729962659646738073022385607777832034962370848459351107270364880917647216016683598874169428430694449370441980726743624017516248239103546998526701681167963309430111668953141460246505988446667525501990296785698625310194541285661371044509265073385063446633456319203374635854395948153838389816102512683349449294467009458442218903209374474962368545863195775243379927632691946723844016326969731722606794336076321050359380318033613576526104653560737905883241464578615430723917049860343038610217366694865704081457006464252016274548555244851722307649909706198935042314837787025954284792316295616076361619919037566584790525464001906896894143149225032115809732219546719182658037958802647663565177343682014445048164681207357052187324146881021393015612887471251071535244902543248079340776244518567537714942289423106665554211148814056424962497994247357659686302816359781590555585879682983935656311128872905597989366516395450764479430745381667211205595512237438372620042774439895279780531883869652120659482042281871184635321885825635629390793769235276704025380644728472904562634608306453019371997805206998183846115994285884974990626725378993584948241494707416752087318544230578490626083917524121812037883436051901258237612596872203343448618380224903829754135784956915434123329788595321054044482195059690434327918683139782479947129089937526570702716299430856896953046012738586421349156776957494364432086254221997372022107728901693842093314136958820141481141574251084304143678681798353615461161132247376799499399346884694250548132255571511793846716344147285996597934521062892918246694247248074793941227523791887914244849515432673240697650612746770157754770184086127350783718746337354748669012385490735093375924765709672599247592036165162182601975741227791338854369910777814219013256525554035843485487389512973482675445369571623424377600149252206430951037462289619747149108821296822987940443829147125646121728350375034932927331443172856818395315246137806439089274593955468116137547238065971218743458207192458452072434729788995116113221935056972715750262074964678035307871620722429549375722644905578759155835641223322686346562542347539025819688901092296271746746106935756075826445566967319028829851863185172299566455694054296207493013425259124949001527018452226383690665895085392275847168537381680963421738774741771567522840148682714148522781418992045474661938168156735712399999017165077482968299006841714559748618169691776156149292004328258911193157982543979415177694495825637096812464052283480318329728687254695127344775851021155442830239733258985374291055312876413792057572461278925513790556797741715496522775413463744200577014436283476171497837571296986104302637219489518780154204715521034339574083821197838366464239580715997111172531172112719827132088126761460633728544259989408556972866560868789343884873610643557856554571763739181958361917058368012488372515331025460836464661466131832531408566030366405110489357377484369898847813522458705576171567620254353258736930563813288488140037726507620654977551433756502890874037811763882296993903384650154583872673123361602834406528756537245134884137834653558339548569112611849604789484354677376392197291724179547795360103068105576343838213460436776543139317783532283993516773590060057223156018906429531856681817177534761617535498575351029197323734120134744605334939060765840895257521729198765553659993942678163549818975151320446592369778718936152330353567366725765267723559251738588767474388477117827667585512553662833246659687720473327156245505935719396658100452233718344522912039333564769537852206740713415448097984130992693115164571021696935131306231366291243969323142916824969250202877672046836873916325787814320993523343055341520220796234254581079505150437012216073965457396262507056760936826425322599757594808855798157350164328923088701243402026336864886932306475961547642483296057451879598505848890658886778816965515234954303472811280456045496999127179729356456824898169930716886937454145407107034659526342167016429079133218485819792323651669032921319180479894074791797999089198376459534725978034854387353017687672990323191900343823999202486287611716123749513071142373026864415918050265452252044641434172737553190992243744917651947078553691569528098758972818259142229398413690142638214626191632769409731888989135466427458118880067635248765520435463809506095113718642082689974447752267655499889367680120736066544091958448492990454216827061271589710243858998303989815995725343567013111738176452