3173615513316395290346310994621017398977122910614975876760214130604639358159481205577477754442903683839066997612344915623698492954406654477885906453735785058514807979195525808641151263272303474266356409837554053108835341484220224238649882201212714149341171853315564837691179186384324332257290444181973308673265609265933403249099545660896321072928427744407778234180544151948901467982053839145349308669693241287269641491886198410594046696767131577926612074994117276353497985204642184192359893426343243221456164859079321691463787254613475972918023732173891899124426429862225589476731154816998963662188355521533226441983854581862454214337530867867140282444837428635449134659939920578626110673865077479270732685628364489086740896672122849456170916430157536249012785451352054745126234780524922126652163958646552137999701115405536750748346933319553357653767524118958692456867926162453554555875994464485231396828144049431469153205490350846712357181722964184543125177298824735336787511842846983535398993290402896704138181988534336557460493430476220598058609923286472694880779930279691897865731843812419788923828964841433092443988645787429187242467379575486773010959557212659054255858345709451512632827263206335655794818673271691776713219543853729373224049214683695538698863224254176950254321989425813328453089547443813826616778548958371545101965199482958955872798668958659224465643419539069375137874194768974301364692650165468373666598992344913550627633192035957656462301927766121948110820050477209119866269473629451007472614331724024318643791905651631835646657556121206490312312725583130992571251145705263535904983718128518115237492315163481973671859916434824610038929384501095744416160262055802096940327142522137241668522036445074412753121484213090677254378004872173571871539610115720525095594477962750595715729630675278694415219974873509593949948822361216401322783534724739670124120826101100741015932740354686128370931451138569780377953055450057364512892169206658168438181502112871932777694820394347664946078461280446936936697240973818543830179389629293542766453744701821789381465168631437896934752668769142448456631818629536900277387942990813889377526789685549712086205964600192146906222889717644676241296894376277997340220523547185435564912581033077854980261588817499741629401538369912857585807297779363917910211551795941315157091611340981264453659560034524413344282915746077449412439135134990274898823544089727810857466855930346663846037645671585459052617943508990829429984465608613479962955697325286536305169223034386501591134394578642923540709303315597207505609856504778577517454952540465410152448363425611188271778148076653312236101498725662538024100779592175394863223164319536343587562367029057267443765206137163604537604158104994969082937295979698942324557960578163754954889124899762628575701761866370144534500183406704613714326282387835526376701981285479086702598945819585610600241632736649751437629282140756862200390551094587482477608475674794371027512417903295117217464345025569357395471720954964958919468913600552686004978265177578914986784548956591507576340579276559457452886018271432313460387581783535369595470677985723449333692814303861031435548175313766900665541483457353298874531227844189899823786793789651005163824048432662277243641994506645131545176629016873224461224437307117145702576094679286292242449223275844743264674013547841699641686213375759918295446603878596562719479978246709538443681440732669235272422646380944532068326578949836237413531834235612954307668117475192633534653688368404435847191739354633513058900976045468044209451172775421280367007846436962953035894197755835126984556651693465480655939459510775856807819169721886853174284629421352173112702541285617762406564744457430044711283773857617115052263981524025436845903843993898823266454186292021828467655950881966085694306446521099702267173193143457806824208860883237053735232496718606601169461604734869271605208253427370865126488129764823726394050809834034878168976154505415967520031178612215076852130811584637681645783482148239311150674401755490280805707355590437263969626537667074663798411982508416745936950601829149806747446108609498750937021593799988220171262898657701918759669045824985923618079511761009887400283129546979935591352243608222211133249269207681132577182271204990940861916713785375152685732378432372338026858693287089104714366324833736334618351552499124119226954290384058556482936472669202970398107003307788112747913416566214446288838072218750262662904865928917797714554657435236578576811253267540434197540193884788658782224101300129086242329112752567981924276579578017163488146726024302780719408295979430536063756673805690799979772237110209410702810577176751050915339465303887448379592960074368655304022434816507674691219756085300248921641831480820394287782491063060968887316965153878066382632548787118529767368634359333316352733973513577368661518719969489521298545061813053796264358418197476266816342743504718914410357779168870987056523232749266587928044663460794152252330775762638070216737799601459782408978815610869114163623379092629760804467454113682932276836316226452146660987708845845918028393433259385490851495803915810941133875571513197532512611955603016728865833267917668580551296908733173113727982158375601823713599556895566858251483427775267374154247979235673092248995716781341757865827499867649331997503337112976066611133457696785154902269096784726223751583592414066188529735072355363541180986282204431514738471879743575808547418665434221591987515456323839444846950242788887963730617011443613647659943799938097917574211329443913569594767993049439548664428767735076755861592043261717806938182035568856821334071450499226925122907159049617908108318707524439726055711876133317926816918292386554835736247008697288298718650666453481595119334148989836475529862825829058328766585032209605912084156854401253452203735119329785023