350293067721899835553049868342585911363212388566444377822532772942723117294695729393379485812180934756771872260362461680894855258387747074196332773138270592581608274799415959529202121674358435841544954347316524220075841829103375994422455071097557797568215749675760682130747072418997248220995290102521719417774284109270950693903902781159932483781786224905893121529357730756189168998811272561094695407987712847128335883649362284758441377107260419521086508631842280831342747834646285665013067353558459095461949901528521648668533537593149832349632874695284742872309367856173323970510048851771329712911889125164435362298967063267547634649421795478826418059338911098013197472879664477499693297756811659352149708996975971154305568197920331199355182595367774409249569010432079665154496583910794307965220864663463185614192778406925526334299113382275408095410752462505027903606285211146978280220272042600312024725261949385237234891346254939761527831114293315326134823887327692742920134261081754395380818881038217818259158372518067699731280925535954819262958057609945066338322332141279780293587651821109614791130817473825079262744439892151918588794696171523673956291659668898350159107807311686032316169372691695271136533117828011611838250604137189216916143997834767559305041486779847223759919834799865574681423925724218744252151492839846086265794553394325798612793589633868607691433370064062481922005880682264882375311678294944661869390513811404574859158604824371244228907358770317800787015363161977922409974147715513267877409217509520749124137049812359034283401988005521103863077683808086758900374940285727597616617208658926285867406129224618894343232913431958233540733876102481639112769257388469388327425991398172659679763051103317888448317799745047768271861007316332986702879871882755774354871716960629703469114170635109238542442245492571860778367222968996624197446510825612995628202781675927639492752184014959146455068737875321237745026729466324795434670460962816305968378381930791407597536903171530015515762878970175067021861331986556298179784388181333749532285631551064225470797864930328339561498473377476527353969540468455181911319288531691953815770477257780432443187290891862217895133177325630134732033471737951995850604971789386343770580629361439748427408999988527850734096473680798865662727744324310893707121813865639989561277142574322282019896309364780783054337893038935364294964686944380944318465534101227420688913133802848002578561666401249539504895281165708115844878023630232376508568670217658368248965007747874519775987117583413136795334337717645318139573369162455267351066016468267728740571819779914313028802784532407351397738895693963039367174497074043577392177801526470571926291973678556036497483281531868893648459526731274705818953440718898767334541580474852585127387958038389176355636749604781223440213249229908813953417335170644172492885822507549478852207567574396858505440817943831314674661922280439606347340235702582504876623577233256118271226759443136083523096846363354732112577344222078662919580875989417038102712467849413756879245987338624062890419537252976197303886831834799544771569846742878330658618236245631680258500169579716863252215373769615016086267523718724358327363830187617019624131941036377055552576551833757192409496976930656980798614145335410090806774956304011672764544759115222558435269951477926988505593427463182208507155594435413654958358189668755035219957950306117843614665154226217555748607620064933881883436333831742618324903258143154954247694287925409089276882415623675496479543177159426944875465730571173816555444698745627842432406829619716533132997663978158474203321721533454831417852617927050239342191739866659071469277967780121672334915268733625903743738698505648351683181238780720496448487678854571349420396280786769311594619473101561534561495765974791891982536087403095276572981981420876232793845552955105280479034587609655099721875933407415784019144961293210259185320639336856844533427718591428827027917181447659565965669473965234777105382765834542374680037916405665373187683396139637327542753986750009238997715779442155309773917242815533875361824401884787117369281855812688265994310761626301665337650943702967268068652461503872953857505955128502120463125308336309278519148254550762328141690391839846513269781149668219679514178156791674529701667121695969381521888056860395747965800943592333910777964751325829917664646388498579017425618750603770483878055428323128669316125305836418966629577615116964248663304215160670292246247360399453143396842789338658386306487568936383108183579836843575943326637272718244663337137036126138254796947176589262927622934662826209419123807415272816499262055907527517897672801994158302185650021553682969783217323531525195251303073257396217094004470615159663993371943477931531601738262386897636119468555318384418578087432669473963547780893481194259474057345297137343674678504636065997856741845795413580323977248622417328576864736524917331459251277349795448678001725324248241997013230774747874414130243082879649972130942752117969246450493631115214151121662818871576786287040073807382595224568968168146256198635929332631854681765761388289056737060091991397723731326529651845736000131826212420411961459160945276549648818225039205155191639811413561834144429180690875947381377962974054304110093306998076381641248468118565100093308548623566892933194428049938712973152277324886069226590471247019739629115559895162300752694949453532416225165117022454169999939099273533977830916549124292736134207684973177349831615323178929117463321669278371126027702778325641309912076622756749814102655275881380727812329326147278573268195352524832826577308757633749251420454468373775638736825522435676753615491440138570858144841530604615193158101985024751930048613486699565698131068418352339524174577742888940315866113967979559619799443252287223966646673134884911998964225139517427793129