227728108338835489781990452952768212444812969708470828292526870639667540508932846675346653662964621147475577665022294923300586667346397225029611157748401924253980769313860364194922580248672351486580574936818396502073440892806322692862524045480761582222972812584523088877787481888966696752720321144451953555853735136237889190983439696898027299003292622429108703871342509413133081071979360651388667611078625750556199901692602785781407248586301789992998001751230103619506397857252122433593439989482354960275685652118571780437436502950751593946786323265742739279912685529556347832461964458443691407717094438923829146379794788950706471251853524580492011765361254334988460361011637578632055695070253087927716368903619469113746417834056378991150082241942530320857318705140734035115387957556917373795195365880574253586244665903206177784301741492483598263632476153626683960724441451251255982142341725634766935321371583958726242264623497099007347681963424227957321399146614090321622677125644623501634619227136123437399431313951175189799591116520304131090971861867736689797858689438968308392817033057824735309960383415106775791504794766457500840236548120284397475273936012623579282319361241191860786081993589893479228642405418982322518652153592514828161972075861661567240741757481360550777847993433093733111360872882229645134331193390700663674547641476693791156998920982254831463869479915882601685448154546441388925833794366971508480973192127256234599364636097519612189337778718156555559711103612445483414735281041472177334710141244358746901487397913435761625531568582846379413699844377374985706936563417691152589513546563412929445878290777060622897110938648524425999119114929678108725238321790970862804595251769391575458619318361288658367498805356880061348167643758844905969799221376375817021708666558865659837115358178475784551213940598622081772299827218716252440328631961294161076483642181021807912779094198343331511778369392677893107605639519853946700597098920500537150002432825973794840449731691451252308062686165048336324981121638200080308022169775677175566893382324266746498439522813934867469526322118562944206636368374163099215952328316548491172517785997289669734986081053180753107937978578804871296757278021861398229146422023174346606501446672708446723995572098951255689994988266714107277227340126394532840957929146785578076355997678537561205268147454592856167912828215230350528275373370349602275559699329926547394784559543002362565582568842345440482770800530072820723984874303555024624629361555051541228323522651997704745722825213229972168127159149732401430599273167298189335363527750575962471944080291552880115554154732744012511914856248414858718975372658168031521549059119533613265492214911303526631021201597986757524123317561637317024410499318292730434918006789383871180632973155444821739415281902942824335901799812754455323561435766979892772994893311407719116744945866555312743666079647095420712346977300296999092043392447029947542925476127040581759577715773254885679750292058359144385457335069017361803363951657409805581513617270626464589193550957762346667998090690343791612146186886054878275992197671861621423854317923044611454859317463685847573789135481203039802213184714726526335629613592065736628250671714278520643086948671376276974925808910643300605661247570657569149014839383221142599110312593103919772435705211452347361291679768887430591951119999425356584509980778355346601214618276776582737388175191677195296653662828543323954065271849556829714438742294833803924882526727243464474949979632576263141707411918106866856992092929128895236644189219635855937081399840748364660447786747686082718718564458391365707237502269465845408226738724354989962930506544254243823839499459801597656848561030691705592294183698415376408550067541011348896113644252029211566564329232963320330953385484529166771775583298112882119879478009780352677774008499241199696512931042331815265432816171135637474329577869787632259581886357269850197709520260432772735649525247483181608652533614862258200619794327233854996515433196074485161580128358494820050804881057539494767046181114716787887543186775261211444717243288550761419252585195365886914342654693915822492408588997419027811886358140985140122172723599416426214204387159291127413311295415149137786452200453856244356569179258481709476704463638896849479310389756947405945486792923341874476013619412156544444426910662969542662152291687907824362799328617291287016759870626821859455762023697473649133393363245436846750297311246065657810474722907732412247915537087164478297592511640715688361639862339036638674927655688369765464728723364233566196688308182057467263937935048809726562506547952043303047687861377133898912143663777865902324847780717537204845316456754056084174683830311349110140381411977797271578920317298071341607937994862558551855912321359138298601176010039805543663199524583419346593246960347962843441542446813505523429144236392049451491148857843444828808788819770392254781003211166341369148394640104561495621123490918326082364480934997662448743103150858141356940111897647140615059589700456952449729821480356757363288357801698236411923430984470692354901858841754729741587265536897032068945886370261586430841764554312533620669679810905049259634612555558861538947419500529473106345839424880174006841216141371183439323049005554728728441414379587984757129845028046382184531893767552186891942741797638511539830546271367206138333573281951870896094961161191998576394582765836607649311864880993854367767884761790927040463581175621998296550655492729155696759757479541131375256020232725608970733941803646984507279778259215684534151054675332048888221323244565745244554559804814671497332861170285819200796832145888885095624740518190679056630794689682497327611939712852591523548879208119411789704390015567460860082644664135339622111440363317665529955381461677347192225282335821264240484993470972347731669