667047585978672874354649522484553722707495577270503450935577837977579417187330251611172745346856264108976418479652061233534744056445520409742288954316248724019572264135614105991797653041690938767179609451629789591521888119284938845527639629233621553751234397924720765768201830717511367359174366158907772772227271154725789441317316883243220322494023188955949719377417128696701220533899743740664964431505361211336526330427823676967662152904472428899251482964374384838485581812505618332270922956988260569365226643423245975079295335634699364487271877399354578252649577813867134060700547394446254255344456105025518786132876136304970554504092212164934356797587759300765336707321876778429568735664177647549013691218361682994390730300479202534103032928494329840226574263168267438361421732780268539646543150848515696776543960524441856812136630981719591160867668884304172367315914310723485366235857554538674923776462789646493801834110342358719347922623194970616595662424590552523207106667351164234191628765094614194634973895841711622900089118382646392473268620065343809749967839709351536854225177313268998661557393904470378346995720774272531199538774559591161672143725439574263804944957807736025692946855856956947877354357350771973910312134948529714332038317611188394824046802445496099895708614716525957748101755516200855879922269742172653783840245497917107684959227678971730073004287581992960184577773654164423350977962296658105881402226304470974997395092181398622563288513833544747171633482011198544663261641767113033784226994131721612798397161704451014602448309042838471795425397584947696163119769323419309749587877466411722278338656741863202481532986189167913374381908950351647382190348024792171395210047054392610967494119990604607324241407958319885985860597028086605294898158466157421235447596546088530325032035773885223692228862350111855497382722453319714245939337453324858761455094420521760924304234859634373282159135526500387315205146194942315862423698536746267454336599612028138686713054136718098433177161321723243494266482535764618938874946712002527189860510064097195551982819865619771051953992133226411920691875915389700328419400977417321293596249856812055495125830575004525064652312287290687534494564885773634227271387742661755685096146669080215636607212587513886556336218057689281373835922853725280324228705907935618699852497220801049814555347321597266678307106075446878677932508835130748956249550287962342606048114707286584101846028758288548358483345322188643890405641526705250325485844834748192526866828226934387524590743890556171858613323967124822845928627573555770629152037131850416124450897242790616218054382575146418987499477094380374732987609383385722096999392786868965515789426731235969750358597174790304779985296646108405474624002576998363772641041386219204228607451825453956405438399692192567438168536141653576758268969193704222697783047404780831075054196917056708236019261329943791208134839787462745284812542722962110469532725125345226471765990846668664721574138332637371016856491085254866478664267833106485010019344574338771279976823957428608136913029197448091320839445371898588520604861503277547003791464441287972365170812079872321140954193611182178346533358385524253066645602351134964977655452572964788235214987882585212575911711013255542628783442928892998356299111325607557157833403822374195243956937749902792506648329564146793762909838666280211436916518305005375414688237490053149761261277335044492292344364442123748532635085546611166192554983445658693001815633227243415269650704649880933731619919412367665125475584276601226987208971931616103884655299009746940362116958677087365887982712837702873940263415339295699973239128416992151333639082681580140787541947746843306347383210776894805816817116348227198229232415748178282363584135670589749438667970654845995424869803902466350145695713243632037500291931828843848782913057224442188222725485169663102537265012402061291184693682308667108763333486918414819649615617925681171799851837091013048641269934079991357868376610397008811900448235777329888818882929139101755865859829598995987213572746923959696469441365094341686472039187223373690889225603445612289916115349720527525174251724466565746323418623183098158373325663362903538164827644979466730622877766427598072313569598512109849951797338373115965422355614279606893463156173674136759368137785854425585660921811063503816087682163045882474463574383372070243814588059415573160833730956641238115332184778479292569754863471755891372224785268406649126562492448582892742738468008458817615847110585553478157684161645275540285371921758020918233323628914668741314456586530858151770662669652605245585327290463163620996810475566611740514126401681881254776912338093123126298035427631126255995960986981861927518046016639418655108581821507149778956904311917950502184787262912298882913542796381224789130124681385065107127586721368488451495281042116034685428867613557005257795242399482278778940184922696696582308582449834381071667792733544438715408734888057942792552552132097146100892733684651350335489795866822701297654286881213441014986349559056869724355023795924270762987695455940473851227993930775817833210324626425413611051965666485718790928237965829944994178761263917792934107385012251400146280593484878889716284380955527342632810013260791020743532121339572357631805584941684802379515821961878443224205888775341291440494266127157298268955870123482796960173903165150614673514150525130103701509138732675280240925565226286157333187855127077237513834404824328049292314462251163779364633555952686791582124598934575852908553290304207859777184268173242245929906846372567255570130815736768625744393629761755934489480754576908515620422539254541628574633201951488965128137424010944369373934359475757375629259488145622768488491031424336412836435794778085655724426842402380989730539636411233458630425233381797621857176884164292181670462229679615881943806689762431