145029864156385916156297517718044072909896444119901453560452140603267779931800163745276502974853064123949531575571261142438459901918494915022393560906336264340879431567906347881737134581297743503012540765922312596016462164582548807665294374867062611715981635261787117976324770178955031581061761100201298572856679737445149085575895344571390861038345790206862157576122733881268484508918319531478497866758679562598829132248596069476239293532664234832279446431292039806436216915169733659462358701733764296635481327473997145631872452595039309883482088660711186242994207740066409637797350302542708145416345510546062326256889234757884299985117113866920264236275448792729200833241542442415725471100305722662831719369963923108425328903817311293466767347986749517902158306599178403463280377239256832891228121375993439480850060502861158992963337620583697347826005842252954155668902356308096123914124323855758768725355637643313942353231525574362260292119644354524733109766401534977413728644176316374366325656614126392454519678646862353527842154811292392677199698137650443085229804921641732881511331032410072971628146652347312557545742194029841524135132498521475654404181996777236392130952055901799856989875497071933263189679466125788523182813758862226457498474042454917408409516309922197130952750881211467658849127158900126336959116038462544687262308356569282087376721481854111323118326113511871627186423183932469300833043035974793596925334441267925982384129393371311768886977731051226800771846475760613446636128968164856566967293969886649484388165425931050529671768778941569328705636122278265581938054919525228099836504049058102215690366505802725693286499373117268053385290918525988698346272776206760399687414892119436965147638932354033735827458898534870643486885325743490261695966016866432934247558502117423652839958354846547449364148864669077842621132761801144566111942740261736814874627766589074747126137505639974369420222824761873608251923328270932959636112379495385248366704198310424226200409973665947174747981464731115795604550668210648412807525753211330203224507624694263737297200638237803193788172904713855077902152452658296304073815764169440676738398918184977633731166386550882481419118562434308450923194021612421815387903221358799844416331213132341576373461146887363423750624504590520464627904095422521147787398049957137083998888030197518602698194634077475987852543754299311312404141473161836689251730689121725895328601736926199044708174701421614539467592177611573803333171919004285383232418807781034762604747524564382847336211492224301780257742351439281346783820869669317042967703763158197553318564393805754666791874309331474375185866406874534839903141100532893202597252279797649184150393956526182808554917818258290771814206082521427982983859403811131772355308529298310629132703374699828815800613186811577710197904377271088467407221298978151461726992181905858126011459195221544388346689420563008866291743145862072172763360478595781777637425487450793752957371734397859063304155646593949727495024103824459562483019600820388539238346001232360525453504112880067101779619522534660143394925312698171114987625447555375990987775492765655213962832221929482121828230822145557633150847849577914878404906800418687627623626174913394785949117014706114096962970356095303680149762637050603980249165054591361270931761174021858421613857697290237995561377762780537915142892024628468698855073615950563586135278055082620139567599936774472824627863891679287995283754487574262846794932665788653214258284619275383077994814615048802143384995914106551548834252273977497752919606371814867343183615381477984430951351546272777697583952849324416002093152078375529916647116602723589838182265012666922183896299971256581581205943820286136797255353834955196764358858084206439775242384508952664144457747244623515630012871369492237027252749649823423594911193310583857559164405780053987822684854161828438434462284254221079755207157442531816123162620118621659998472783591992547170867343949801751427484614850619112717506179927253486489124847102807578738122546343630727698918857260271163187680785553404928281509906725260588984654537952169097453512242857313540074096174492279136459288208471583590534716037533282790208709557872498161901361674186759275593451403058116769798866058783990490471698301671459094616238438261621775495622305383924089834996347866995025319324588534617202419856187929760277244048948227269212864654497717891296483161286159954906882949526984684305993472987124849457517662464645032931424210827947555748884800588417352718356826969043396226521874384428413307612276710060365231123920897063286330976547355134786858880095335611864484594748998759180889797787949011737212477345454805644775002729345537697118649032189511214468026488591538416102448360224247979577352334592416496368993321464732103671710612387410799572797714836694796133817189272302062775323221544946787438186245426649993224570386432604653785514462199823312924424258929319719469347059814933549887954384260393171429853549332590257432757791051916818044508495931051494381382582759502116077100296730099977343851385969575145554237729431743575089527993244317616728894564669067163959393115135218282438759251145226178657143888647021818898928292284776913352529662632207300523018513766896423860940471336233480292698129561910155439638572622264400910990771315226538645163762830485021932179548667653397179223899702887588447057099289496119090787105638014455498536343633639091967141967687453432138061773118913099858093878589641164439505834352931649589664911133180364799734801773895924194128268418429795842961880886788892530786506898224527387349817770182292351885852539338557890129746314255460119987140924650723055409940059997482964825306383836286242565697239193688272939354173412563162357591902765316192176061989541367034391266236480192754821674057819373681759433661778457499930478165653387856964618860526062