589930711992123149617390293247839622065298853032248476432743659466934598349713497007331987568814481288797368976668717929160507628983616323703484443956261696237111587363601914377982494178768763273541411119252855220389001093430711695029701826835250372022349022489219443345830782797401280019436688992846512658847927466748846225024539039838997871139146214867229595253788077116998878170558794768570828830328078881948582624654614583367533545354443936645772617972552398488404284379215784542794975990214865835249522824350302107681078447912497135859111211932706138347855072291708736633391645431338227606901535667017355173335723619094793523898181830289123478671817072157552936385991650282518932030406031554784220032145087627388436244562571293981376196672893470334025077317520691052971333954011464512263769978845333417996869212461382269622524491149510263130297887758543469144655368095403186733536669648607131584919958843197788486053412733471397338329227188393976182283905568582149496169319920762570301333665517339050525062992616574622025857194732941462764864313733414922341455642265244211465994515937303322523397698964537129033282711658288491857122358861663383529274345467700373194064979224066559353234727669501690240509002900761399191628975223698355714793849533419679715016850825785098702266438802050613444441138414754538729503623831867398126941910458224538849768265407815368869142139367984307365398887139447744367355097289612435736125958568679904305713016333313256154402107447559416735307492265370259802997101090849019869689047923198751995100314754886718456655452238699842797153995387139347466471798740084377855027817901670501260524391769957239251130745733235818674680486023919934263228355473182279446382439155016454196003109195992646095039493732775535498641814152647741979431496657185183327232964859416075690522693248160879958995557486971615617546956849376881611464274631943659980348791563364554559565499572952099309386781341854969858183649064706371433402810723554323013472248414306632497412087145397287462290694931567465518753185003384295570326813189084429531737691822223242785788110525993345775316278229525558097951496446898455484645725588336123691755589820323597716844621022688427961392683542516516101807637776434503796754591080151876166620206346251090242656159498757098792887503392944846711216810163395685350226754085535278279796579830580921596034853920414571877614209760455522764654746611849698243464459897453929407653566046707733776775993286522457307881983875388978854828512286672383227242868201067492787502450444668748489088645525176169435508739788547322677023932710314129557554707266349636181153248557106592644275062296056202264527909965848526081353253755814448640733108455271721539846913104875584352239373231953533673114264927734834386897902095359171239447370773618609208239219688717721232001345978429144498680884595418606793364716904526987679427955927924704651891897714809360781267658819715086617830422257343114368997479697285831277526375683779275453384512475808621926746397661438536731614150744439541925056488613897292222509137973827745123887303959806184744735782816819681231621774974632187980715697904630400539623702537754778151910222084145697085401421928466857571493286920435216978450454323615610054661507684038224829487208323485971405197785139263757373563208482543725625281339719821915990184125043803734243619694711731702342992528753678142855598708491796565425106198471780478796078610230493913883662150679489194445944257161123320839018516178249063083540854673343123131205728941305430771729132449287712258410742712947857994286734504070122903161461633192509608258883523885883888615733734317299696373582617238668297914101323434957095394035352430975176167628283759418735340220892331205992203193193335914517951438776862871452834371738683583903598139279040361870102065975984907997700368897991655175989695523031166222635426321263557434288458018427783970730319261549623437495581336142751890531521222769115772733709631708191675361216469714064080776778727890140591893565252794239902486146059757435701839365319233551891213529705671808596965877403168624480228646851051098040870915534717313647725467281297627437586580297621820913079072315082251163368470432235214617726827406973889845270631146624721789099264138703003573492336796573913573199167995989861562317250503580939568838135555257812337858650865097886190197121332897941026170729121792559546497366214973878278257976149027773535033228937983729793346671042144445895958673581219300286043359201414016736611195072716559270494539388967838525491140846353463385136446816794565511392322984426487231056365027431569317386403461370289849756206686107706932418327673308914681583252451243052659369193535399710727541202622969853092417224677843587542100442734808916821026985290514928123545834283782410626820505941143118846575335310914737521120243722572343491887738924526184591791786595404216128054936497805134898675488323946719989711634517439485255180255773391358358644354745326876985492860661485761874176410136277483184616225499754924778466165751956179358140133408932789615342665101495362752370249566626827971638138958755129682469188521073067312336740637087455773211187987810174124915680191934642707091834365163062761190558648880155199828626155749491151132903071432108585871247011333917097010484593119544943465252728025853336039214853395633292185320175198410486413908965456262164141686130759390191536207181939702160731798534779099439301219429455920544792430466637654911430872934972205874920266980549599595685611518319129402621536341478689592700289445936028870785573793486577592432710778940576713645209842339868994463567573767905229883491686114238969479284711546758284546571730764166625120547543456492933480781272526435969871119868728939235406542268604014685646285278092431117804350470836347441875856778989024994260593853138148290496578701565413233580367697131635434071331233554110605930882165137791855697172143