337879564331743272862044159349245292477385336593917909606083233273729579697197522349422624651938988164899773643641680194049295093369475357875944950786334205242900223594731924126466286120177532241715556968841915389134000150556540809263240115085901974789093201951738244686529658899248753159668946459680704522771219498095472088226287625996617661449337469197760700272053183157790689123347915516974749693566104190363043005102366209756147218019679483853732062420424282743363156014063273328923518248633249620791761118531204952830028692456499385417831321405074221728864965797879274606448180412101621564192460864137594785380577869762526782558981300302764249034238655384954778577766374791893744274503515092618441565673974176710159563129389925043308834989857515747031475233946131869447890015858246561752033926728699354257343973559728224521256113821685799771495806837458953470704738417229032595228572911063425644261585956564315654426240373564909402210434545481233660681806608421131115623100446153837412615698818325871665347857421760828030701370283159724100545347837389185981913984214928860643253229290403436305076244298758896706529798143596149351855959445232814551699209421329287202675823788806141836615314411253224109316596495392110319016830799861740127689642741020947927245744263061544578319785842095924879334157673341889695918734960275320498153943891168663293897943573932180547644258498345309272759717148577792603188527861586430473251047519285723385712833034641646595385847503231358081387341757269688504278332573827562146274948206020324029159012418933841238764299012188204399247499151466647974409849756312367570262237848686511468226420984813879091655679111731209790855627803998249831049995579521633663199445533162977828376136720361718582913621035666059445563825267456653656732868518555790088262858127995304514448661715598373864772974120261738345433172433617908137583084384324191335534847205624153362311251653789352396144375815470643501722944728097368625769322200453986771567367841872047491645789721263904817906797704443243899280613068098368991754503456477555671461497336936268239572439058856336926213161642251093617132617174287615819987270100071416078146228095389849618132732387042168115640961606931451816074984710585398556279764569981266911578096713232595998749785498666075297394384528232352955854302580332603252926863029407595243685497002676507323475925715979094386162565616570488517492172667292238713620896632784655789571824841689664140521998779008514136929078014622874074903276822119449522658579208192457177757598174691113051817205722398914632647107288487220483399854510948644641371546376753512920973451312136126480798751231922781557522379445219333797067830229878883281636722080292185908473594335135284346626122546543513409704964177177671173699155977118345971591182184385442002604260520179753719769068400797387812405878192612554635957806246176065924477225315082216907230785514894616175549365909651377645596687331656933463824950579188831556895167971782534610760232069510955172884872795204066884258223171199605518984811497627319482675851859128112671583584103965117919625202816913186222741373401082385294790644015542525757901221369803617852755239072362430564278759595630108475677579541028215925239686634227537966423652095555174787798171059655277768183601794757399132305724527829048435726277366111075171790663048027180585043943265757395785977803683825648880166134665058459490293120236559748339127312728803627618377735529586835979275078312279681377538862681784808788238370791115267849658330453941667015494463602559551860359692955045690048588806881771748863592935943728577753621484091518658719967470935783685711309990713254120578452146378202263127729253031761702136589887766610584514364005931318425879386703826434896587447443096269326826250597224348356250885186474610514615882101941907581791656978998542699456854897921049615929781276037898625525003670125772791434438921282831364426075621898299104197895163256458769138368805124026773418865833253141685463414834435091783741754040762948889340886859254115841815648838585701785346787733485478152811237985297137553218120711372243429009118412269951719780181508191131745089266158887991251267991534455717648784658842075436825327125754526808318568988264157817369498646795507731515168453338636356229354830769239502056808972716477604303523819588828054842535753018362413455773737993277202864475923275465653652902195707986550625711288361161992362834651326789357896574867728243183426566201843462062120031288990230694447028548827846848291573925328154457635459339131645773255482391386247488573862457282300697766360855790082895601021116130404120464994600582737937598975101062770958465594236418128517455384955430337866878876922095795145672757706176667046219307417614258842448694849659797256944010296672953507596126407120268250847592119558732547919231146862019890142020757484312714119051178898656226859116624786036189957431285184650146031054203054496040995846026822977687474813168598895678214159674441664613386627240471775861251375697554774271193759518066492092351947926322794784372793344958684484249419166346976036194552333475323739308495586490703285805254161373826774154413526450708818738048468343007364200418958719115792754476956258167861161785723388733890450151639110296919043569276056398304218694025376880247262082277458736029195878327189486046703779144544036806675156741323074652753123774857828388177680124436164734766685858228826070249563913295861641232222498649849960966965754974569223619307264233496891736419835734768824599955993543102426862413790176162355465504081232310981208265778892445816588559094412441317470927624131253731237272230751030281250649619128161893749398343249815143260629796108186977176439252418781458101746253397619251153116621926638724061670911247235697144464064962427159535855637607959059701506657331555579681423501365765613396359753159320944956971940122583271239739978823991531365837018926877