147685425044251028861678666177143622668194807699950834723062668091197726916897447124953340215713656178547071701867925684449963737757662632135483788471112681956857296412612764834563171081570768708917072273183181131102542138830611023449852625418837286588688674750144376691632047712857845361542527387820233257524753179016155724141426350384505153865333212323938719556186319342488747519178334186146689954363768497132396563762799797515246496630019859930990367009203126152855143381436899788152379398918181388195651471007674550736708885882760062641578979814810929439082872173114135828653056511012335520008597514346106901573586771193816527303678728252594950489970181052268316616712797148611594435800732214223775874470968945120804135417871776127023861234725226425537235878756961841232345384729251769276104590061228607612656180413594491621472258724397649886766482741501442168176173813711393241867224519882841205493343533169676089489708476199419458909195353663895754831401340897731299279443068069859130983951969797176329455153837436978782855961073182791422319867167389351866782505310391318764263729518725313688980762419023132880170955456125412783099301484253023776901316039260234978611649071990821762069382692338643292588353454009072760650543827131944544831710511229599600255517771563536331059480683323691227392566563534888464011717273737431409596648284492779056919209998963461749311571594524336205851472433664497857661886713147658034826199173682120448698744245965673610925640067506865353744811387194767625576582388377392502808680889713527528954701117887854023339590142467232291511251923314565555939605404275612081558792165220513767639924479162743020772462099078638570335352883327560463182768885228884630299662755816216988098828451267492993895239597100122646336891393225943825538157485548570948280934018610822539449757854533283943772854298339738097373632964866013543467904699381976885783840776872520038268647969992544592072239253592741957326634644969826572540555039884106997371336319053012945944578183593370369668554461127243580178718079620219064537253453553084881327375718439269991144765493841585844354894710264834110382767064849185819041033310674051563899259965525338310838151885218426086451782150799813556862664808492354953622232920444016584298062017578679274945370385976072543449820132660298254225662421471764333624108741154963156329631731458859079161707597294618453365111879604410427985880576797444175637224533850580223306931672612145071647523734164538526925812998145481406385852539957216855442306592179824596586588138510148282766806384817031263753837195738143979528781901988490486744753928305642110015345715787640334592531626772957696160078053810834550742693904973252022253187419840106427171388805059153796142498746035625640154492926264041946559947830519877412712521039393989278426560479657961255844834252126350056792535676704212340097238738511071494736843918638889753633876564224917101461061902336885875163564671952753352639634189693736972956477620931467664677049636319907987938101361789304464894824882047618759711819599143981883561860350741822254797047298950884614009971938957067780286864704130995184040839448185829564586795134771693799398803886800514636652236124923357439506816948066288151605174390053231221564629482800560667567821963875008435226295648628644512746447152311655788047921851972720605326722731259894150151219454565236268787509319074863206865929998640317129257086622615731127152977213313364988615381031063939004749444195263741298362977458341774415774550575632696489937097237832242526492143033788685966450847875302459736474913292797776325325904228681924519539173216811939721197779255519950489013314392751791979240704723690143354005227690230835021581941352735864269966592443809146889397411194313419891786214043429875636453454817201316778199542025856656146783362287992703621955251044412999714723512597388100193988019674816295786631807570876430297298643629407997483353825657207454705140146892868675364876537757754316167433853100995089890937174123059846261461118225730319377805030264135217712100477562976195060335327596113396097993948729511305132217845718852283248714790699523748717629648691679922855142412899611944819837133483527982435778993096916153506947756366584925977884590871414491925927548767277667463819442287159846868576747515428374252511639635944066558625727901233121623958640910492333157584619785744552089414309291211926138063685569357621418752409346768247331849423200977127248880496741556383593899126726582128063662671124195457759547726790196082373369176549018803928192732712295600929323617510136711583960404626243891847541104436304841816669795543657412659877501620333386330951147742217885453834210179439969753996020516862807930662249705398216399904991773730103595563353138017130149794427798253608515765649658608128310242158970558992596866373688139046227503533721752176352075651943485504568867316731215581715549812251731288758955389532179091035493872780767692283507517829570831240277280503181146975592768109134078653013891115984228406819094149419596224746227575741207833714630457364608958643026817332048506260202042815848187398419874149738781592966317851947529025692983457243884646625796962562094641111410407193415570062931802670277002182765331428544440085392859197880772630179336846548600543185592263050045246943727874637551479637359546785066604749733119354875098913823202114618941731097545160537709956163817244806519581535518928837125252819450298014847124391738583574223495246381118132107802171388258346086649487331174584556186177711702081500812937633384148254027317281739423304158684986543740199616480434151833113437164276020575792258396620727658813767467590727137945381065764840023574234489177990657556094724786989698224892914623951092545717043864853290849729473817419049255572392116153776685752234445627599288271822725526076583753958658250632484868794307047271185973233645140341890228951981092116081943938637098713519786324579872779457