357881591380486977467907968525179099540463686526349940458935083537206367359539232183287442056295991187355849516504425798382151676976294465662632821631629568445139187923038429786990647338449315857350294486168241886251226957461228908768954323369286001309693714676226255564120023241855375182392610734041986159269152105781294714458181071352405154063344349473356348826660254069283860735177971367985064188846576080556353762989386018295713611018383549245802959107284159965668667311721983622658069936503119431779868744571227695891655662456116777771402878926396663605086899976648820406111337990696354911984094500282576956638266553774391963573621116766909196493262767770391793738996648051812404842771581886964956675041465715933392273256032005581726703924261377428304674466594831060279943811644253376525650400952565249234094604030221059354526816756863805713853054999541142523263630263918694694775563538065445204168583856455337224281807823974121507724655289598973861497285108090539043267355845444623423109498319744735535335323189883114617118559592768972979351025551782946188088218306333442787753699532768757097133968534798963429488396848124649729810350409216122623737453973106672490329944807186962181534400322771849312566567716116776270781728353616522098969569114944819517961373082604312773296823878298861982835046139026688259555795008952434964317918526158283445353088286160018437410376543842043856689782517659253085799140391586071350947970041790847292767199205350838518229728667420881851928675577326707427876647669125385478370793345455613925443965269544011595998999668518038139068399559264479304828736715016985785052328416994798898580842318294881955659194282299269632838593745842985584391489813866567237891230068013786786987365948478660766525519690081913219280874632364539062939925775584741621030275979434993216996664392567764866810938518295237805741983665608549966432450580981071872568368806102376633627158622888625736312846529219958067134151331049897542546047438244839729565108163705482095499840545941641191042172148510741064657251397268636309053628859905783595826471455543440558826156760483512456865674479331374626261522883477252988035375762934617195245817392855866044021842158164994183682522429115597005509903687651971709196137483713911353421584145450247924469157858466384263497689556963785015558491411649699164781809921705972649223691712644586672948331855224774952183704665510542216836780718273406733097372941725091455675451210059718379466853546076347358040335963567488271796359282633342628877895402771780938991727121639855164910850217045522431576996651379825682313156934195575922905685229416327381201293559179172889022199860957017392575878703327137472502410184966860414883467985979120344527679620889229128627868460913693890511237521389134372733184529092320263634848060892378347132371686954116105669895032865247753035575941017628794359126741884405385474396177647313873092667299620460509806747715671562780305569155240904866268957487977069203349453204326868675045887248488890611230510486504471101156382152384646237642411098014389575878617847596456848429310798721718206277513545506843419291064479508835303607426229213205181777648652352579059923758195916517795964679423135491018642255886885562866059863356197109141919775283691475044347186656953766603299485358842595345725392166137582666269289254359069802759844477172808446423132232633741133323504491729629158673612504551986318520437562208637846960157273818323323743824766033363961704497616775857733654688267637995110397718847538828446368757379235643232481281958982295453382553764537973552391364566931895656564835120316091183227445351309937757617599365103686991080980543213845508838951881727727874483894497308850437370808543361953650844899757270523531414961939788370953853123050806728650620717245500528219748574534917919313211474928403657562413824823856969593158027832713910155795673904517466477264858959157281681922670567012480649459225959147546677362235795358086396438253045028839812076845249333595650907524967922257410590890212359774914066315256741452361239886202855333562666856666198515302943582638905944708866776715901884457011882755923533407721365463204747011732312364502592937636421422596436470738983951388018959478816343114670738350023244169629136254395136403402854276147496645169120094360780626224421160919856928325970989796253500726184066622759850179367685456918447510871784105197272101611172157294518374099498729609690562390434037351508562977332286945718548619080869113842411450247673877493751104964085249517614462226473228172582150794823954857417955119103132875607847374488831120230082977766188613882814184552572806332759680453237553771895427042632909647297308381981307110193524904360318244711125125674299042454488422747637610052651609271995633403177647761836459779148232678123774972423558926733923973094228722916593114631424752797294471164764293994486398291798400902186828799818653185414951514812397156021938779444567941439211798465996225319715206688657974887550303437823500114398429884225214561750875873561733825518905622738440416692158892599149875213433914641769998975928140999504758372972510868075415557667376395552845754045391936198949873085212547708439125881022286573755041829950721158475278148354739479696459241069157585886861832790791593265627744157541949169958008899424867497662950105924100995348116321641937963819674111812329877579441129013277021259590212839307704625698746615264039744422243988216371795447141974986765754447275797592950942549483837001604952398889689526049761047223344131995942577197894396961069036175033946660945887142727459143047442648788665105887969375413045940189955256765589648256984106553979435748894156625367733628421741440174517884552152342226557025576405174081664298720483051459019812869157533587944608196346620897751319787963522246173847944577151722022193574113981200145001791201922507288593076987128482203243186146613952644314640282184379227907141824438129253311958