31854719378082061750863439177186915156575622667118484148267924052548591118531304063267465288402628559182887012724933587227332592196839477418926302635172935607127232123056643524120234160613422732602296122864780239732241437282743890381257585746913331829595336096447551119021986462062107144734261282696194736708467810769976216142527813966733444589437505595677348505214179549271080863853255259093137903468989845835247735711707485186154992152579275594806692470178328703096065661773898559752297415544189144291532001032652474892387835166897143791684142831778904394912806862369217323122949559762827837845187102654789969463795491471397538182042523343286152835871428764022743205096358810313069819356905491274215293380452636383314677240708158847832759431834301117632467430307925287245111696695916557948387551186086082578791773905985849260253158511244937785276044791630737770523690697615320633291835302450439298748046334761163591999895635687085680278660058924718123720453631804445214068016225421632693772759938439295131681674984505714544473859124520716427305774309954933925265817455543621707374524487301498147225538461432645588348190278725198803495748436450201056154314313549939154623713504532275055222950945510741088192412359733660328325938031722708158381154051505574072272876293769201430268555145695231644860006597632210589686615440363293222631749252806727697749540048681176594184415397428856122751697911817243829844599127029009294951191228295762643715900817245657163797973963462863687181347686101760617825436691092629811581187034874030474096917144241494638348510057276765972566140173074783012984007973816337721123145065255810856247698588269593212943478897212004394044706794740769634739272584144283003969385329186812353036303295572294175162146785191179933143216746228957504167278736798493680950353546734799886000775313402212587514085579599586827670483997938284953833875466338567598087195962933968133843057014305924708149256512663835934891453494221549748198824975836092968423778632898399651584709160976925072258420097133795354885072599430705142104595285263048142949628540856736782912273735257853099253907530133557171915695321054276269679432074283274729896947206764559532031667132274989137891537723468478106747959715397992186093634983366404217763365475225985157108469067116512254963517516375229868543525810650114647494285284790613524142720400161853979944738160466419176983846478964733273329764068862316448226424423776697958765523058989489449909937129988873495726325646431211400311546942412454933535427232439631290898664507112794347914608116253712648180760847991947525974836397174659178997887416398191261158702442477788518369552544383109364885203300121159136938335382248258103434593237387339725973826944880045371904048468210215553995073572315825674242768364463658102463675432343434340357920868921695655322588832361480027069895690667737689588122744511318135514417222579424304896321083351674025404619185648808015189992844698990295453968313266046424941049771493966224169822804213358009970660709911926346495827682680572158485461352375607057694635621124314274913075331813093678271623205053565650615451690413850038600293440191753922518293314891425482363908698462682331382284540543810383955525177668974079640472064778845718992455181374952703166295913541565229837199671881354222913507943542376977562033599971542277574482951340067132600284424446052109459657050602913771122504381081296728625522827227844358031343028429747021068802180358035413333672731141720786468995545159638798767693045383616253270175664215572256096548315632865821940161062820325724654816497661829938561889171922256695854242822611268672175171346673123541415963345651256094644745243035844594226458276954478862412393075722621506335697958853355424455414522432723198937373165193582542999488661357751453890761563729754574834577818515014357809232443179735473281168801723682947759120614244896838384630188968278267669906998655623645343417477934364830946985555700837847872679846106382747368378297816001688440214945289541497937725920488576562950326166377710815411833094096649327838566806203012062808600510894327936371748797478275897225643191933425611376927389344570943376465378777062829694302685392378171266554203691790245642448427537590540086884088188843963974659735495708765385715834430374569677859532511262317613599458361451942749536311535736196459552284708754935655214819250403102127274863157205249868779151276678184610563316221244096297534842580021810680439274540654860603751697993961837182401085172576229344562117400712414249758777234062300353997014342455819157444597797290577971205789329728574539767059753462068915180579666485034581920637862003668486542971731124287099591359054274556012659771545774487210325780620554366348248175415230315149312708801432314036178465021135385236064406873968959547931707574639141729927193427223902116663926281388536012924375638323460329942916854365713271244473773726537808614575038913718160548859142541981748535340760309801006593780329466578295394179500571646047418352559563394136459972177486291955096593628488729733481043516950938686885904397152826872213427435425224613344034297342569799059705561621016708623808925224949226698187057150827314102175545368214174360026148748966619564692901168284533845112241974565185595946339300636878378286960908322284818624887914094015005509253105722914428915036164561496698989590366594447462441121047203180029752018684060699459924535886398779966141233977129424683243861465492332153417624509808170557067350783843306394256793062361654387135562947236031163476378455487260796641346235753823807657343707688319014846174895148347207895466316522269221150048041255621956188371617081844646552652488354638767713671183718031367975989996020317235853680388056908277087488183613945314884611532556826940606002909480971917492953951401299963804126891553795325318478738845923828983671622410629831833595505162549964475575476126861448495028112