23742424461242805262879369265507941210253708884978764224452872439949346575407493055436158275854779193842622262994600093952219573373378603435280381972842217748996861403799526108398391431624586565417367745215843596421900146547075419452691259669162983667211420882627607813417279456628054267855704243329233781179623503774568652906466270479765156365425673338367127125347840857997222831381446905838371427995510326918245259420972248403542337323198404832542972361346241785789232582095277519247427542960454820147938157072586033357188979530210075198601946549283770693796128862150370526736160416481996128918068946141822968886473476799650424721111923187843967561716699162737591098734874360930727574461367129847595644946939476946484491634044291219343962868876748976349842816528599523946974169238132632079825133950105778507235812516686874673670251830150753686073873453366195502338102288653187288940108612127515545449294466957131615735856764768408166124209782188349434483378621901961748371755277085909770172543788161930696613321983775569765361590822543047968645357072601949022638282287407162227588032042518910390843132320834352729336645527455995816513810011449883783857551155935778376850460798242207116816764629241468912498946622433771878894832518861177551278047735886976569725009927561829354725170306270621128365949027965315728917061045107975462687982971657164068640496772929119694118514502673929066194811983735806444658401434589944585968173130755275669395174268135320923796491948821189411925189154085618886221825510681903312969708796831452717202991886151253570272955603066935808634471603829974619285145263914881401918810198858587248226325118404573757695281445544277245465811809080712758608883149859650230887119877187427719139027086401576797175813703956342397617990214823535348277667484873049305343176220907055531977115054083182029552001346369813233615437146223963384065703188745141418398485650645221777934621526985931533304657155927197759332980688637177632766419146859453230075096240861619162464279158671971827545291992670174958505866182282378013088311636595985620078197118579144563712802331157741560955008050585364440617972311973538201417222923948272771464158914966586728457964886943371858466817238282644107736791854225513827048414457659066552461817899954632086532703830782688525098643455375085327758685721853263938401036061285568386016869449366061094123589338329578905315019099213822722143871175194821426382996427918062831543362148929822947881799263280054036269936945682748624454851849088312689250744583110012495343319579402557586239444036645864499105485545515467746138628287326964223943327551596100836476653802877937217458172704866573178779867103472728224784260789035188358268649687093083785793956455973896591128991840921889085311181558191250244716679222485723280362674115172241328929964115317792945990509553787249746760443184477744427413739773709949915138553371961531488746494412746134656413348956866257516902569185929393762075657312759652823357639656413086264163991716064133826781448085493998265144102222529080635276728240761860193319245249354319439810799396348675716677293623669342058881636248711260819175121346186384598032142729222163430453509334717504856139262855635588161371653906531366558266627782136352157911527694198301754427457729178260496643572473111353070542058088843554728974165744945180983759750585443646981578500993082263505324623836997316092165571498802539149499827925811479413834350837178111350967261139722570312301629480858948273171532657035004414810736691045347779164388134159727275510134367425133725364436099537561306090754075985442074834247861681774116387651574596965053118574775672361325402520315996166213909803737422197148682024927384372475776729657379117231302052537963307729481118823312542280787207160924952352322271884061245506814352272523292193394683917588489123501319054384035577626322990847333492275898496327216146472627963405353215238236623861769282954738871776625096392378051516197395609061534745861703112474516164580257134554322237681139193959787679479273981213586627842372677125612544749231125659517596345475841765944391292730243072122597605025185825299334885980843381817299869921912255573083671067795793760122599443168984499755813641424843880727121915340220407607554732721929188309853614468464293904639366117136694963421391467362548337950093189110255344434579575350723156059452726429607587112695614451267354724746181279452144652079048488116317780180283979034156139704912160323307954785536171775266046454388404666116629224888111152176706786025884651474550633931815805571047731898199876518131496010801929750123815141922781029647103264402225642153678464252810485147741137652115974221238547382653130540525622234284646281855452239647751518856957834170355696452697886345481940831765554498886962441032139012825471169819484063480255718193482559537941468542677715628617463538776665380368259119040546110654144877904180816743629342645174722813122956891552982357521819737813352131529458335468486247115004440857564349410286359952765938384467657728721349632085221988750429033416345295967911346041232957470481690689176843550991740048556895413017619355228322186565953657351997617806665003948712784951976749967373892644354255142486261460425278386398250388947247374254195592247057632024393739235730349841679758005265580618091491863078909750476499221151505329908283219584328315115632701530303552642810410433073936559809170742732270868554405450059399968338469147070523781822951967165649789215950823151696954187470626555045566875625831133825371919873094334139822689594718077867226320654102444887053154841747387347877482063910147967138443917964456965749977769829513596434943515436176889352037872939888827479012193072325268213231510472993508657229927211179299691390119659693600748377241257668279571631463760355196692148176658746093999655521065585481049254315590915229383779466146383814549448678273512755447272351508006435824020787746