533268355807695574139989948487184528650503898638491109883843981941273155751376529237865258611192943676253341027493430550988477173964145021999386516078547732605963515737323970966793157908219429164640324378529789598176595657553904399908310470824842605618621556935664663273543975017895986659269197813731155218598424927212374794760449639140375697316160110237538589997519528608466743983191372640469053918796244403646933907573858267223716300886084486898707690443902279977617638606555148271877127463985488641097656973228831446114045949864114114391541083306428746154661288401456690689012887364719151048960849483436019332293544839780474716912162382297605628775033092058288347798122948161332734061300739059248558185725533406170138455314336273434206577152304343388016767717721117990654432504863303793918293582165515848013429191597949707674504822276898515395751287959439176394731423874261624785668532969750453676118208395680322882684830112817578728031533172201480898227876938535081244052845970569136219647126527767579931621246731167925094570183336657561414334770928391515625247375429175085805733368688366975285773412479883770871713956178138751243602763474937293668951952445347699169293412352431774586017342372877595280849225734182583017270421736537435941203826206027721038277881238353396337891621807756191294821339554997256745856983495996908462111796908063757121155444705861912777903848156233002193013416891983887146053986759322037727963453713741014206437646609721889548436004444285829684076082507303876288121429708380339617991247444958121187333068823282679359423588553236066222993886769052377292843993143229072679830217969782149866873582772387841242493887666336417606029087550619127874116749671324419601814327588456046325026877949387149771187969744635854475955484967711174266545651923427989752243135318900955556156342191146891288940121655303599786245116659873844245199958875858328405231071876888218961428048855462160865917388553126859494348124713882556865871471782581722016135448213702463550535735485993851413869470497061309066626526393101761188031139674446818982580194152597703713932881935705471480524227574483835933318380451123437288505560390515516185607810322902537597226202082684551242625543527077962436289586067162915346559478717753665582358861346917461143906340930842047078487438457313703334054634195232347617228429395883001770895267633463168264809439650306805657192360128586303464691664922647866719022299631937008782232856798182284052695060616125862986531056368081239827823993282292554098964314376276673383335692799067329393440253945785630282484536555555485608604249157555284641932092550717742754995912716084299464144267311011209631207935932340443447185967598032092784189356343292838711321159833984159029107804281858631402144257191120350274029138411076255062872971453402413422847389257574114606234337577554829997973241302998967343806948850145179015878075185524219559141571416627383154121243460654126864130171572764037867471818234052815196958755215568729469842331956654624671639970494983160681391448616395536303256295720018884460945240802849468419022794276972709965153206741605402457693180691486841948143571588938226838441666046533952760388556266377669666258189698713393304930423218468122886396710069003365817842227652730277770253513771432472978556697547743978867191628643921506550698837652545192097841882194805221559414106686897051256339459157622186583123887423420737687358281519185695878407566261228914512865032636138673547695585664222981946872639370564488909635302321586965352167434613255235513025951319166156673705681324121132233348034431922478199414198966320503797888427709030818209141332191497751562461700895889747802184042985475974463505276835056138947659952409732230760651412774255895599714177892041885268538397182082482877331406120891269313102823119193493770379569760841615060852941051461106228292578545663448088534796257765946767714641935789041143168333730189928786278587937524887934428852592742932593948720586384685325403630277742123972548260495792167368602868488386294767777708269629996480966277244632334539367423104727787721591173506316239102353985319912086036824786546542888395779293477428686802818371398142878461781760274068131531899135424967194131354514606811919885971988652212117435638955423880301487842914924176363925365913347077768583967292264708510967304944611545256183400614565334316080888595277402160700174418528855759492627460657049038298533109910253016554395497237455746666341296558611105559125859779747735437804438911135930550224743564840533983957272651456777164424446542637637216765127651446267927099848319384497912012581273548913526120318442723669217772246721518056771289944399153371157163831823563663568528239412600776021368792675693106412401324899547890772699595718581681274341637998607565320125001941388915004152542682198691529717662795455950957736638163439129633969487792049652891315273548483336564601424053761863445975546610570073074431129390061587345148936861744174467906935374633002050481737845171374441277861061606964047773490263933982614878418931899601278858966062251631484507300493357816272252231662390385469348673572293663107477430466902597104394550916479661223480219222979376905012642239159007552216334380494944513347469126782942511673427852573183314541022123384628416914579173394270432703315956198286652499443461913897317149689527160489814569245099573941304105743549035265959818350322127961252147640717809638538428955518307933379949738715823368433796863950994376953662674282684859653179198658746587253273657710871576122072327013846518379729247162213119419027742535581174994228962374169413167686463066485405539371228713407626345674587011259854252959496986768862928607184559579498817233749964870712302614077891294550329620908477243697985890089242954954374318898046102772844847515160290013574147979582168932010793678165444833752924279532093349486237412665781355114214461786767386689075865438599873456