45729747595213683636975988169451144475855555196732578921633687457276805640849579176577157463491732836428944391586621149027714718273709724635115216463672606403407061049874509077881919464340871548805565955533938774055082634933733743480508917640365983597950002168179186420893761928446482659270458380268231967838142390014538861251254373711784141660107761240474481355592949938087045974395164815154556268063311220818313946387519586891822336268458534274132915710304437879428217116881159318194601937514633597693697764947151788899780121037518264772088597005805730846163937667186412605268540161766296118578823689793679435146694090967686929352067334936774715239332880324208840260602034883492039814014614326008591326922492681593666941932274595828747992603980119466785468664032446043655631993933684493147314468880164777921778419088627122794212753207194548119853778051576749122685846896276394077903378529892299126183811532685451484485086779783543156270721133252089461828451539499473244575867589482416469869453358667260134629160347285592737915355696523300545237807488887252836522974188961726557026184506884571171028762549068125730193766095481748050137000197964141337564037534464114440250588730748524032091361029701057553015327596571399803460618162359176520475824896664284395395334137367452849916272449654286022221344948978285359765433164337522388882026451007943257911695248942266731764522189747549949188689655330519889103809382676053249268392571583409774131171996538182134243235520572176989901702824794313458462463085498666263354486028764197584298912471492060653104241832478314295693988663264925118937146816032564354788463802969383663197865837426617152375372587737598574477862536388938434473130080422070350817712365962856825799362529342558022665096768067664642608846454065990546565367409569803211217924449971386993489244824677565078748714683440896345521979427635484929047177271366162488252537712268239333368598198408798507059514099616637896960118285587002546898461673568493682436817239920179847977271923834984274115983165933727442497645031732628420890282803629170013779564472109216996695285175531443568964340274655166813873110703865449698198631613823196201326299253778206724614159040522036615099832934211047608656472205831711614149118317950259223774187214914155399234446218127411343299061825411416479931132628121336383421292259647686832830284791403480664577966847893412750828384996793496884586160489695127383116874462534798235415449461779619955531355589508220850743349839068314336175526324837470806814851033498460446533548595452473335961195034850697223587532154057563582899336740409815288169599618473831521522533977313251728564834139748181989173823869414582242648791479051211959478323584417186526883222629278192549653973566318086599355778185817444491526750348657014818608799949254462659555377400839998775371515460359408180246584356500092698485807212222415831414712554271714671854798653487724861860652186102716991385713833288011148226580567398130737235011312980736892245612294641425996774096553215781719249575961143807958961774576833696836251144977014572459143228227710871328803583935503281850835266751767251963573846582872348552801949330316196643656424669695727826075782157255138596269271229652495883055341521905815143346971915382140261116517192133648078979381324384996096526745153184023999451670959150053778963459437739916541972544669424456197666198971670369337015208212671887072815698969764718918531731310847679331807943146187004955887362507378641177496907844042348835708450734601225280677173692495825155371312965640766498319605383985502359552892629977903413464524628144672038187340221244222736191933646739429843292928624461764510196120763987817118679025284757656997183175608028828470669727372951704818214352783512972297903460197864716707330081902702567265648202970011367380988979394856228668043194002293490126054851918399790838748354607020822612484400846841434108381936554533141847225750522265022269605887265835833056721380516076297949925525678723564846848247065153311375973992862461449303971101473649128888096432432701287155615272517876870747047300615148297881175611295690568572667083751019144210520389861100444755130755437236256018373740295360345188424283598547525423540038223525811764035335733220846786121864473817665392857221291748615845104555292524747505450098096262689284625316419954434545212789558322056408420057746366763366519779505999939094414415549340858351194015709263358353162342461641418112330925172017447720530258400111918335979406928342217387234641223142893701928446283184228192573963086501375662806248112049086977476435550179612577789513888852186206105295575585835543401926923962459685364152248278056732299916384468816091599009548760632327542913638138754243099769925115317678211455757232371340665732893679228148220922369869083152174178414868153135855474618311166302010210050449858781548245782056751991949485224018942594145133744431151735070674926892962067857710386169423132409637624201554691209746334372928028842564234043067406994867835456543369259958339682867651453315609853679867781628431926268992043104268689644321080538870961563581385772258509981056731160564537872123958086394841639141428792666813435766741512866601877401221329020503420489175935748874844339365442885548200553765785842681781559242244066852714860510715455545256476682218947295699726571492877268608290011305803589623102194746187612675391212588281188041285575817584458668054429317946636900609250737379007419797808653507184256993634630047219664412523856986457645683742507741482612804966737631331895489821594384632718606010494684468281398494551208512564318507636144971437441749571975287225945193323850779622294645787947138952149791111127822114959166511737088746942992786969776456343957706060132867701660506982888385267257427271998928965256459615627219335254792576433466641104649333203030337142109905264399434145968445284488867297015349030591992687397965733539467