904377031994166097542353373171592292949740821674692665490757527802544169192913277641536436378246024429575579566696887351470273566932827413392326120742563872640313948984166792413026933501724599128189324985804861036834112308217222152659891706624109569946235669319528436615086809621176483643297412861803797011679213738429373717724444588586602678168538256910315252409238232578674396643554296108268831228421879664014896784936784309514552512732859943512651415767182861239160687187574698932734895384259939753155012514225536879115147942727154239012441182310056899821380661973253988351085850432070849417593196686522948716116182985233953022679953714889632898072584359337536373617229490292724326466548896379258533393064671461833353226930268693857141556755517105561289675080459373727719695253212128528394816107692716606582510029849357274502903408558864516032694696197776177954234936155189374727467752354356466365675458229863775764347745514341698625662022478394224444829876958908941390813088587766473574913379524236525047493871012751489382863447318324773218880317031189516244135980643809674950253671173486380242392566869829704616455255205842612722187226940582991023848697047599774772582302989222490620218789706167781922467185068006633222178216407471684882697328239383781980542147474758049366018253953276217611741973695797878331293624721651151918987785755245237451582749709958209414849594966817328127124413430518892588397887061757111645152198238474538483533698953372953728507080255480792330350056967579486888741401075187973804143449180336113886862027024847863160859274292342527316951723105428620924056960825854695707134697065495127322422669108925192538213555620428346728688883797056415751181336393603567733449312689196954721277729528975991313452790402540849294526517503565667963991168302890140731303113503419411564219495895058421426672504855585121883716147772083265700963445926722192869302956782532556693120943281519342460592116566557004496231158298154192547847386760721746048522240865911304229850875218579237509379246443532786812220300670023689146866107547353257378061654054798628250447772684830746638088116374786477182477661366899418751316330897297937494923450672631385929938015347819872335780901785597911296051593754858904785775050791143383096575482166034782314316845477129244170328272514012972495414089606666627495494478016658393572717429881866805840928311131962345835745901712077536910802340907612420343747475605782553770504526065789247718433595337514683215743807748870768017174521645997908354937069588663971178655084433759637416236772454593325630822616736032204193702654240056203004571520055007437450248118171895261154919140284889473635368664559666374973778062149726856922064900774614982727060927837613477824358086806862768553834071398555455539260332312213662266630020601600985077933256262426651995584425388273702869623587277328644056912441636745496067677382643152406580921845656465694226376992437384793234567650147383802852925234274369328302520518723096019549189502841877028539754314607386405395419130895540861916526495668571014431566765187304537391297838383641223667951334735680421204966988593296432185602349787339842712493315559547247504746835678620125416068907539680688490013618216287694733518933787550792940543862728535663951253491518302296933086697022130223704070145777468270152192489164469829494255469847262494104469014996111543229825017032709498169734340997845252537674232999533258711323370293295369512202970476308194431916436324772028509759737838121789701621013372503613769726717121683626357166651781526275116656216731873262513373261665876480341827545735981226679029272761531364164288853015753338802018320691062506412341063915672632268010413862397397147924999393448728138829113663664560149867661699141440812693654045259153246318342870962206667668196818295978151234372482125926662428197801205660486705473465882405931204916514321153924371595398252938614755986624929798834470047554407543944255672770461576361528278056230633392904637910596157479708314946490486873843682470042339722164033425280582685929980771054281201324050616929327529255756714614564763368494551183601399477684419260844128732298488174488874545578045718477639917323741875298983022149875939723930874536696910960222315806065359660153037306571168796499293026306631950094995590424336271544530722245826588260935501133287911348112734257864815902378979772909646895226431385448344306184176188748790068953569494744736372182938182377043363258135348790294685064399887490525463866217445697488469899171026863778685227918119347135141711828848534758303837463948609733386148098999564224848224760635197517562509186376530905515695465620280022777903583385294735563261633479667916861517490440735209887464036519468967425101677723997404733943591236844575235541147539471123942237817371441752223159781455242305158470701174693334256594602559513954685087598854123487426909175851733854117119455281730795192759115167341822371227959146014732217297496243625661232060341043058032718735587040681119769319713249921585208623725979121382795807056422845255373760271598321644873363315390006114651542757350311441759454518306215751886023708940579202539759473221427708062666670986242866149987787555454140019755444055808629882268587159608526017224266050059436645042857758845358918527464874933117335837329112963519225723770388940969954690116027284418589633491550221743251178376576773325009004552233495183177527074506825799506096467183574456987038156381902989922581932860125519677849246636146931652997207141324172674714522102831386578184958143306540075888183976055927297436529663469390357332060818254148879127998576871198787025803440879010762072678259119780565676933238474099454047816254426291137788723990937662712003210688792055544833594615299629919654936803115240283939465545640249725898380235078592490149429678510978114752105309784804791445181171618623879634662911938768545983178660192607301645606912775621656355