31529051578734392363915057184406497632798846508557167114377221987587933687112551372679334313341627740178868694052045975302717272930656374799705899346546684931162736275276880679001199932641814224184645405718113281234044395414325085108482073566891246620272397533674295356455269328745155480916010216271877681693750173032588880197089265074875516685258892267062141040736963599151269722408047926720592129598320052687772087998053812691404092963451414615465645568302659184365437125442473565675880894009060682440264066800215297265017689374872811255332446655150178281619729581001992397138177133274174073288245409344798068921237266652885819471636681415154069774157131251965235874639368990599982207526484743109132642931342839465177547143681101153548818242770739858871387049721341424597693431978429110995111206304983422985519769159856532615410317437628258042428123593437152322414289048894867866741173131721556412913089621668272617879429778377526133373130583201296627159275161433163204132582371962804082073941184666138172313556346918023262233387907322560174897803357328886963923439925805530867755155915079321107950741950840087147145568778637105284837151202840498354960661831994799530438266024564582888942255346472691591684438498884892837741902015375172806439970811674140106056494224746252723702664274684731535707483644630716953402753268876405265780657176603432783308190324364378136359486745341692967519094729042845980169581564973226627099619723437511032674060186274743367626088392904635377093714817890857053195885225858298576741288083317629363669490757766915386749719913114940653865830361575422256219531859885597693481435150819195012986199058588168504522731552929276254379853823143897107632849701289225775416610146138408122880858813563285263436066296190603666219273818259452396830397810977882315284515895373138299193496161768817527275616798132638871273615029528373600930303025670735294539495691203098842597753885524298439448587526802469190376222031993783027262357233112724962952546824793729088135118188333729860841633704989295609793863238052217538146798895761864113466642314486844963206689828906422837282634900140182529122096388137288983196307901784153189950727224464120473561392483984758259514679976303610809637165900898123447591619287810695696221424759675937552536021939014406941680439969880615377973694251867749092243411423263357244334533962348211222706858101360822050832135519712428745757842510206841792789944770637986006529123828177266562964594750440068692718122422351294611496707697447760493008124178573611157693242909691512415782547559678266150179448553868529042625856547721431063466719787651612787561988075632718325953556708129503234787159822790585939766532152092728904254549553582931591057160499159304040637165419042529763385869051838614961332380368817946247878329721093056638142533296848807121253338167344421243716376914377782767897161459758664869993594308765439601198859283198601336197632589946489509933138358150544028373663948895095585183896332216889361569943334351084395070987869647540886137726999367944978001410288883190977135007942790941991609251231285181889930147756964115947506693330891646356375935160737342503658691335704035151081276442776146434501767272351444966516817429319047485673633901493916047435837628788751018916822219332157309046193064361287390938465843689212629430669543467841340128209267854717414934356602252505566116245396643611153248914535872072529850219518868597468316817402274913301883566801178266790057257292361344120864537615040636559054429988963807644852126190603855202967472410468030854139206854586698504526438265473311196810831735260535664146607254614837313826603966155087982856006837354984568901736747929398266272408141534660669343844342488201690177558096363357160972785544552193962693613393353030575679328879666919769001621842358423205578383247473466028681415107912465371146584012430403687133253654995526281042449410439852457438513263207432869772863383467359122632228170583157898328271258754562916988730426874634407975089501686942729749929061061423295269434621321423465856812109773393704119091918369760645728904021379284084834047867299915738531187887059573201929424391975567648781367377469303946274217604047341159763431570938488212712274081066972280434118834889718664594703546140158889624481156669960202994415430872377432711351227123163552824116032593248876021002314631716623604452419509576704427412470761173378095676622268238522953916150772147459269216347318606438173935260927532264755711724258569322450248042122425765827157953785391718227415407089262420537165287182592926991654929179479483836067841233189902273499153926732231204528855942993297328319873650056837834228846627184139077221659391962336700247299943072239327246643845756335084370817371300867122592596849950938966542774336227179867424495795135062506754908199129544221416815076215356546664875897093449720893911311570665912523314882261065281218882729151827736426120499598833839333309906311289171409096153549143122072023253157248698886985226527949458366773210601653880589653149582753126265693719014772621683272561643905324368254976225557973275754674969286185549304259899818333367321799861924533547904171153891212998835521281418774525456105269187465799752951864732566973668029339038422087820761420095010312645019056587956094942258653872140954603722649685505392147816581597758266786908017358227843773567732945944279943930017569506874766673738411266115660985745585260993664719735254176465705991181605167527641618243021393620350039241441128703314219645592155443941777421022921862777825127655955326462926425754115611118566143081846170486436755048695779219142338333217533561512595678962494313761438165481775038122588122840407038468777755668369649786586508330495111242991487530586048462838351905481839725199972388679577423274033316478669324051133431735144238955376953892826510538372132220875750092457762917178065403405889241317046498171812987268877542954024