288723988340334713823205136842437611448798521997194285942888685217879508699098089186189616848454383479382247464730287627490276099125325321972129269192176747393617815782884792792446727363837146062152817428772353595460532216639076410590944347858334093095878112756697559677177817291422330718336633754283731945589783560819340715666272963342744876417168852458972810328233727367951909890854492099408587984360352949886062695743779477828888585214846914809713455583368785472729986133051475996639223313946865596573445387978137310488394383166488967461962936506403243898592190756622353925119345804258681471904770989012307300681719134891243132675427145649158319546055903458856077537346127045201102910774269924473784687234209079238126517150732329673978077094644542967695785764966224493703950617890411136385872225005350059735642313321449233391484767590271777930181971354703341982913242318374766404341054821257953741832921471432724321834334905748928834036324436460023588727055681149978638089874528643244458483991625787756428595378744828624584216655658754411795883592683125520004194829830307982996979955442480273678993271250874774539547991440566289209422634409808651544583689383185144683800372535642585081507036180032294121637268347178779939780643171767756525707993576171550276180231340721611207427718545136953743669395556693851416524006542319992680856225059322449788338327475363983253376383747335383650387858037139675414156164581912655301970476448159726548788375388205411640158410743136721325877183199936319579985423195534142556574054427769623930916939393969129653204034620824615045922255212557171258589257751119742710915576198641117549692011388694008621433755380985893252238154068327761632940561191428226708140742559284725184165260759658595096287068902774937476192583106996180980863257239940088799275673695774768485248060309173271984267593491775772083241855405792859618984320103790979949390012044402319269369341387798089696700547686297823217163875868839817031534202742649961061230197487552925331704011077972475727263045737522162310856819913416168194348736643863058163252452778842110182192517850876623097214536826757332434217187005939230243047340699448205913354398794971946922222110653878137209578841815381823789068396166363682472395481073394067179797629319009031358247926105512725287027675310989293323695373698638607351494822975311539811430995048949928835693615625550716226941689904035654586422134128842815438383850555945774209440718949269134535878658404417035876634614451059498462502467451578469997815765404207326180401940158613247472948961689826298204298857997890863812084375938857905842126554133130506771146766749461341702563410906857608821907585611627103044010717633393956628887023704183273754417496981601879983462134784409996282752636672109784863136333889801345536837704556472135930572851592977795175718706512889247255742810238594148624355097564293172114482835400419521826199222448722306353716936461259975856382556271708593788453881757720277747785991030915435389918100185334196115940644025169224439924287333793128447991223278180306474529337672761296299131172791084191033747714947276498971346138886641909917457264746236294127476584294535187745253993952357320660584372794472613911615848959853818346402576907686141632155157150645492279826180990368926794644525698586369051464752864655247464180866499682742866396285283390824181544479381575392697032941997117231647803294281810208802134218024618359071917035799090615580252212382615207015308865916546623325904989153438647597724948732987384335200634233885561654764808826362546372588468242732574656811781831704683287888366748962876499731583344699657558151352573367272552284960792701915368258164576806271036119518953195084549324513283653824529572534914336172784059880375197556908971148810262648535118695128454125253404131145609703424276214210447687310373053282274216783442851965953134675114596195936228399645496564918363720467893751194390744822961682790384944744317177411536663527884312245215437204171309595133673440399706409122018824386210519189299151179464415380348102421844116622887277272938934678234443722656764281957720440450391360514832810537527994117041266975369771464220920448153367230890085679672309710947724138949437098532972556229281640970838548485022185597889482416016959946736956678570609274749260249067276780896666677930721762339188160953733471842396923954845186924243252631838639384110400678197109929366322060882576254482505775094235315659903170159279878216137621535316994261161499003891851667896752088107052715810680574764959925780425875723653399126895457975738604589629143007523120477002788890652978256951108260965023211908032956957571747619368472880717694944868606905574154531312477599021324173125469382484015632948304579263959877276331787819494394289984338405907472397283211710767067745403314493576575272327175977407529701846181369511564958524839408848921725147472587367119164120481801152665951155791934928891821560375495663297573219122317797684350571107508927773792474486320034286742010172157060312181072695116022304569237621411556931057025298607515264167347452194445410678779798860030364457250214204765769614429909379763765747927921192883784876270391285546726349730675691835290867505565830717017622116977911119586235599145551674157961121438585089540251073902420211979791716271641931325376588869926832389790711663556959688701032428026203675345952902571477193547092932388231036959514307857877539216894058395555432993580238593380718792178040466917631797908367112080178675853650002841390588505624817672898453462478243238635537951780634456261869704777834037559343434387965549480791229081686393555207308158446559993707845579226474195946352665461721515077647069974745037927568334060618829135082066789649261624973297232260585498626738226423590961446377572022435647001374694935344294267688760115133636721708874263295598622060367201632532361006868917224866409412691378896138125624892057159704492421676890