922380745702327115764005279328572169589969550228922609479588570677387716449410853312556783460748263113335984534885518755997686186254586401441246096323842574056880495702830705362931693474090198000405543034308400995559731377284258294338190781047870683864623096918638423485218891625301671209376342239690050825313564297823877979827298153425836695381136004375621090676610224974056759677859059881492280913995532820352682935590678027184848724147699034947744443419931335188639656731672954585526075489654470851429261570839052710784973717644049517467148881177309217266006463123527657735620574114989220663461841338050573230171465880612602532877475979668267274328998527226092789021327538367302718929296491012338027185937557810814583273056038458271165021654525838326867475224738964066035764325526331225990779918979391375973955165741996683893914978571467231659735286033653311333229350918498516458716488290588428278808824811821234786396539558323853891657494980983312027206913646754832798958716201927778724735333803803819152655243193074589131986125173100894070781668292157129073861919528221248418758910273612554572351913668478902680217297353781082517154324395846517717777696635481825753813481739874531140815236465068992295578991729913932374015144574455830014309984179044745904193928445532838655452757321606338134316467318548171404815207000603483545747123636955592524315929206763791579749112850678458003923582298188970114973705243134020098407277142796700439361183085116362130540681345764548395048806467565223305223765319335461132221471148098273784695563051643509276257565003469425662876294333101395927144504337686093715758377780068121598966154243742484041310613091388860820174203079111091510047863266550831716678037426550271378145454253715026798245920358274423754145258825692674518880605481973301457631283928839885777825025144915553976590296952227423932712414996679934934534569825263671763467653900984259011623238034797133802392159819896319479798170987927910958289937778910374955088044494869404314870217845749399279292215864141270121321641934801381144956386341534079954953634847290511053646172477821498610263094621936682872410670453975576421764321946857734345219442554810606736987922816933106348583763656112225761572462942564567747701510095388537652330716959630485213601986570234333537387684317958937271155259250120091253898186165002716628173893399165925861489575582830493392299638447128602906536756789609843262609340370833719433389039182352442527921481364085160127687283398829646165194742338551754930263765685548850685336197697697092365362723866917911353676902817313553180295614851911320925875398436492065985588651614883958355714014388705769797985525420436636866757275846951460942618118916091085597307196163526976602491996222565335390699896980147371167107290858530670033722124964085496332372928727804803467459981891326186839352075002446117416334367250844550436630498876283828797055564797801451782697484818415006875315635128328777225617342369055669564321374845878340993090283231911291692269623143683762872387346654326426381443180865927166901353876243419503869422987281086931248485425663323962490304223159648668125191903866134977064982457417639975636500373006633652627574789508198180426568595991297402302983121158641118508345372698917395549297670696341702530149285011483438242134866711755906887468480877414417159988863646369526168838696103560362988110386241862217932485944155296942081715216481979742746179690347246679844211893371236357462070964679185298689974371956373955333775609926454447251503284174529569898966835820750202036544655522649122819466574379571525968743272196451876828262353946198955895056059836178795186246415550734165272855895056812127899083913305610679496139231322944462195616865275206635558167565968643252844755587351666754902423086650379276627374048167748274465556762492396798716573664114221919470517114192859718183364787968324710189155336406076902443323879391746157659267127800890085938413633389260871590122301874888976276356132034756294718433224523545912072283550422778557440664237541979799301390126477320628542243143197323178143741489576409156529103056581153387711152571686136643831907031663117574889514924426547279159564699701316430722143817677518729392546769818428853236781727016792733253069501996268322241251611328350084859971118018988149984849862544299548318166769448263421365397931126540675636152734648212126354983766777799437323568233491038619020679897511750981375138363611369945451968536646897948344999863414469413650345532281230253216084639037139379334693153616580534638204798481988589372945370893505760225063193871596213077407592486493705464168762190642155785404580615874014452398836613701352769222841868561322299540782910996608931018023888744426688067445716959811222040099648271793508476308582795727945624528877810179156524337947702319513106887693049483655750507048507930823251551782758021466161081074486877697407569596812192928867333880438727672122917384282645163758970989617993950444162892929575873084857867225522400960955593998841198618926246234029447241698743337252098298657790335174513220658117810502579781966485877090506747824017132786275421572257841245777631444214486305355664821703353395615679032989965367535753980489258242174612643869277658614235685988278713135981222254046290362888643800840591921547460166352259645864943290208084898846995377595193313233873319718560590043993812994819482391093766048768494004296944814181941179720139691522249948245587449227599663287759015731431755508396982150922789354673751626291874460971855871652555623365112344972094501175079154496194192879962356108082747826395444624393252228282518111136161164473243378538338631763584014890611047543966291320562221944384088159767480961514529351945584019177963283490297442752258168778363160383828434491493553691896686941631383449110243287865147737561673280901757639191779024659852147264868946798711320343242161783213972329937593802