28393506158451344712394924187519816408891671400165969276070788096704370206861701472327697991263281727569015041332434141013343537594304229542606744489491211506207240906977447572909936716908822654641217299264662284090898892407451712936394997139568178437560305130886072962580764985708939363246690852795128426523304764745627936718042378930683222931812353364734160397015630263059471695537538687855604916863741666189474252314905946559049739341790344895278610414039676023083464033006792966219551386200427333418238194878618388962423216324896251222484476145640873325338185909318198825205443048723627552352578035123839207689557644842727765222305795886640892576165709320088493612182613396049358497380591429981336703433843624592765124360618918233981414033943711230027158368674217264478965476826924542541138322419545969594116502441034349150647283317007646844851561285857064728864304229852506556857822126585944679870277629046922774088776235251681474480971259909776672309479594188714571984940208949861915303088700594761304516560037146551337833237779423557886901449359446805317938724999680873705926613051285980250812063163990796743775012285362664389539404253335671708482421391708908803854198531583089233403842871805125452426212057419517305503646537589937234057886330787035665787852511229557450934104783527672453147421097431407750296763897609486629574108755382594028380069294084360510281469763222334061625080658227734019602247572762413505609731637232461598814323111634431174931949885559223177037281368225901030378199697404280494835231042114740806326617161248813602580578865481122322658590684552687373828465631876755653653031083531655194765494095224324224864935837802477737104150981548911903656669931591181946736860030542445725846254180177275431279520286015894629792322638479783491627303072839485224183783718189292533167714417947219655291436280963096831270759017222460165158388274803499364904940127956290880947637050320527286844524869962068065128012488547228765875803258721792423644689774468575695255801061345214836211209680997536766839392961794652200545696929565368066369929476242199955688195337632717589679139888281259455326397890788136394383126629895597310282747953438175898350802855661011121088529369612947622112203999976488095323816939005497638296440135779754758151228267012597767236445459900088835365491541507644513711809903554722497662946573881284849630569576321206631593682052678979730295173644848990307799154279575910749344234894239271838851729089352518716563893594492116561373799565049714165772456393356363486728113381762730920310221404953760731636935364192807856389445085082983344862296914353023824749691160828076878321267821214997247371105417596974687581206588462030968715719822397266309841512609812366454605830063282533727212809811144203867843105251503934256734870599436537132699193686191344918984184296170495060367779548645920192474941597955059624741843538651346648049897043255454269913779179021624502733218993368388484756905962051418419890809170691469515283408785325779448374104272442386729826190996856102346335185808238369874336647385855999689868997551538956052663511536729943981206369992773437533114225481682302787998396811950709096352891868565593771131422557195983197201812660910382482942388720057496486290910082951821873234739992719896998660378049897257461278586192193588472771472347811247169809309996269693133978834791052361483620816515120233907254118440764275682018894798495387130308640425795285566623471938704986227903972638816098989841640775483406075119495896658374945489485714958614895963849407668178764925471783601193182572920270127588831279159665558240897381660173882776507276431938911235243423897316816765873668765447097785966749415578536061816993175861725891410648937081275332590721033966074091927786592742504366610258397093916696641962928212698131967063816168978709306340675275618586873317578593178547382238845110613139690748658264270033170771269977525961125893784312888311761473154070967959927544671997503595185717746886230828221235708765211109362204194001528601820634178294972637029895453236920581910861269571611085732974790418311772324616803640291832622415312258264217930126088586253181813542086333248934961664378664478657885336956946321554239298405791833368931840686731647516033871169447597488655792220597445788412782242969113186108699331988004628920447845575275246432442403684460371938450981749744442715534092950643255571974865168365332321313966834691834792552940433737538272616824637294359934525219623009626463235067814195978109276330391696225138512744561425876067795618154123574490186367420483190131703440802821328581768553688458832561313999690360811349447348596188344363197921222221125789273398151756333883279402783884550249214737774403755363646116203798977215139888521247477678521479492543335372851191700580076653700943617680763567145490744118774006670286337618364654815940399343370960457754676348711893789859719686596791627382622604867062764975505754077758559530975007662702788561921337256672265222345988531637838734949737057903777165104742413563381147987683447576934653775116777520358673167538567706783187068114981855243076484137190855727981403688594681257562665172405485091298978097183169428415474992601537452335197319862579565477796283000891277866226975433226143026758524739666173334768333138751802707938708403334652322265483986191814061743682175208831928678472565088705125932975722442437444167866554605414737342433348816984855507493465113287807822217646653689774152406203956950095020489442993737469822593927883625961986481154540214476832365203491354618995025770863783997364180316767614636215975275411740868686278154379297339613433039965529850252899363566734126133821682508819580734441532757094943575173744637215034003850976954542160650235406958466737199944358074177375322355162101469562295448305842343919006289838782549747551358556996916942694854639948975273165957765406196673693506713805470593982