354272946305944997913805642090489892859572022765423453662746633307512117054295678410922136820211338244734732236108970939580872670423173073028273332866037187495825602395493615704884593612164138848860352600691281246024267526382522878948018296197466071998389358016490074919901582961224197791263042452831338929517117523121875813196225758478261187137844670139613489191413737245863088586373051322665574953651647399627139711681670846446286565657657334110762451667862947517761809487843860853419539740883835421014178374885312263366758235086053376673131436596046553126281338093320537061522832867162296515138161103137410457860007338137422375716867675636302839583012639625962410266738459801355253273708727651421442914385637922110405716352358341516983599474481348739229263223840880751918930438792689806776282650376808951077507472345533491628038995616047111606697610062406978490160236150869217249286292175036119949874597743705814814556774801833938426710885561098887407856165132228127542547500676835346928978930479417661682764777900261487943712124552844414344487784397618737678625654620246779829539577697731468402115085525302629668799993605632241602309041505442898768537489565534021954622769242727380411297922911347791321457154973647725079262146615978545393571716225192786308184010718442189378569923751952492286683665821221094605115273568182725849398988498282593779374311864179146481767669957472896476102144568810947277774516705516079800470448637362477830921891651049472531811598047335137836535834456677620353764731346310962463240467939498158453588990966762156001244248084224129274989443099611928122037889701204861448858552373103143227348404411396171271185568614621214315709217181141786084259358293282450569078595369686235732312183498380863593163334389025607717512434748034636451322659425174575053404249925116822106170432971820237210116224286532845417818823672285850544257929871177684511443858960023793766472968121401221213918572442397194772786788020293982501549799910935922392926681361086918261994673307650867934816614560976983434106356404616997882368479965103159497996512179531095903739307289253470163334203830709607636458876175587678894070451048578958178168862653413680968193063127499511976385418748242126149873596431741071024354216138537392861338375852884114951818521251107645029897790267489579540810380763605423091373347114860536476609782089281335299849412203754066136218800773455294717408042357067797719816596232022396941754438137076110654325399821223213469810846813222126306792961311564919054823599955576115571259050179626270277358424362799489444230356061048654147763411901198922261546968272534289714243023344689903360279304513821052048393875942022191614699451934559926909475309429371319533448767923689109315556958652292591437772690084755578631734803044078536116293640135996129562300467177896259267921907320753001825245840673847701132179764493024530040915178507961468735706787778533807167171286989324932164776133006201923491049249813526617746625115501666898972115583391250194726172829500291815367594710799300194884657821214776479719405759430575561113450819585845738362934224928569947766471883058094570917614077300640769546949227421594110147344319153778249506226964638347220532611397406638395831308277360963819479960785744827946643652690397271949810982826155837178509078688452603257754215605296514861833738252177768791248277216123101646460116516427733148745273432729687366328576450991269274748818464926183330387213628253416738971951301110735462372667264788449298673226540728812995140157124531318766544940531134921868691735839314724463282660929199815546459139257628896306441148960186290829954281512434126575356987516835614278533111237333858172846320021482007114820279655198185317268701720593095188406892480975278728722214240483264685347219334181411972543781327639145925791580556449663665085321784451290118046241301454987295316951609292505844607269142459339926275857397385316538129751975699324694826783426513282231381762792570872270551625685610398019866581545163563156345092379065129594793425949730872027638709688907119066579344074649380310438455735138189851818479345765806549558815349839735240451019308223240241207585782778025196248286753796376983671314965550384721058619935064595534912445183119658344528214334318909137731499831240424204115865144287755655158654862284897972454212684958659234078886064862823918201512999634380311995423533234515269168681739901656125695555541912975942928866881656935907240046975669972584422759357512766231035104713131051519387656808332541163992720431869208339232633793763557878462685213898469571623141280297116016378172436810568412792369205818511545672717514813264495329674011674777838873071209745544290442792659255172836397280947834324878917403168973948982614849126245236667730499154818719638083591110183364785336474152513377566228218910217439731159345317114831923254722859626634425499924076126265843892897038377582839791913966796548634599635127646370754024309328542768437760890131116301598494332811904359913992897852470856688683559574166604132966910865381196212169137777694488270870357348851439965186107294110651715181864054504528885599196835263142646479499522988472199797092908460483362359251159007382652473459891750109727232107540179294952041868538599188095135756969843135831793013988771332360132352526465567184247493286771195347742903569548347747121355402581194553985029735096031208649945643029315370194100277198679535600273055949498559050097810288835205388845247301496536160009500129834338977222140393976852295667554286134560758413204152573100501095838271210465827072786411077036718483748671538854960891219052146830373631630774746714587436242368443562410217536304366398619405205284957164896576158537800532646139892027644186412913888520995584871646756832971840543387655580088659603971045608365312946769865591881322640453790864135527958928543828515938570975935237146180549568126988865899059545969