127576718683492120636932035717417203952428445968295709563724153311415339986473569205620105954619687233957941752376942591163174753084604730650915063577157779012287331575684353766565465103054812517321265509368153916963185247636320513078527999888170180585867462614627809808595859891810153792118457628074363806161495726918806090465392463751313655475478029705921283001397919187607753633463019680804746542919598188182343319583815567306501797269672127323356616221699600387159658370363896576298438428653870958839802150893873695178621733048772138407139695029341114417784439148672839396532206339182823299686599377232832572173499442323485521669117759562324300123756962664866110418652368593512035247542705834519759848189126261661163753185375455774144067178637279728908080207289482092906285612221845990922181854913718054837093111250174593288823095861467264066419045430123648578618443366399727924062146729239288545614733519740709540951538144343619763385813244186663400569717594421787912422788698578741047165133985723038777930547768216476119730026724740722135339295175835592243759144358815083505313408735208697629476817166999424281735797954831473753760632078651358710477573408453911424268374234945130987296423545826253796033737910325859446924544593016079230363006011783611014753135238849761027491917304961035739772652612149352100224409332642234177071207814766126724266186618038481359221958045767184068486267546439632852658559088160133951041640241253030641399613573147244221981147570356505751677952742337589889705216064634981462022836679659617495985505160322192293844954070165659129907145920141987694544044235203130046392546743624423216816596575037818362136652535962777013856648652660995801659101590419198411049081997949531829064782999679148016699345466505669339743493612339537664423992379753976322939163565476985363813298821254212913681376016781709632469434164263444584792762655607987433711195944121096462849571261430245753479684201125417651904989771933281024508120751523061924288949022282126363808474617043857740943235138069437887743132023160193955510987537899824331148623608454646434390605637178249327476427601517739582418343690318608662627861616294380091575864213626707910743111671215868165092276355096020617253280017921978523140201005111897339884219982806396141698609699310517124328326490234666461149868962835029898179195951669484897461348027167419250261619804676525648263426275033589304541726190162235325089167994307595591796271068186203025782533795591353421976428925396955155413736835192618746477301741091413573272606869802311312019439874817754960563159164595918159204425140424148743043400552666247023553618036472100062934242714912763728200014747418255893075796153408668016107190192547315674867913319408891156386577851736481509522931649550743133551559594438634518246344528585869845093589580086772413637510532133651862892792962839736149330819667258913481480405343759320365938662270306822486945089070334738356454780784573603984853688041506772104556441585297157214062624355128887771303955589278862321783485737284389909770155176308723760229231760193851916893460862743788063660859509304649162148636130831944712575536047533822583412207000986425731086321080676149185850779640178222103302526087578217989396029201270499336958312358359002722328022222296728538561232416473479351769928323400285395798447579095259258528352847853209429254162337278316045204746863884420890624879691646114033092390996073340293549361367376349635225901663431669474817302235298611617346316803639067532143074536055603506253764509627064996866295263378219275362306304673346479987164975975746891229921277550057673625929460574599274559713006456689234825100064218483508429633520680785909652465890013079580790069627531658153060743776328253420337668890689562722844263297044177434732649740298840254428328168331694532159159762644369697969288538464046395115775609711738969935530981474655628100170964895301706231850716377323219106921679770157922194235895785852649749367992772196915912184722470570063191681889186164199253226257715179234079531105957381935416692642981966396791244373793774039502162752918383179824533349762911863972116637659068665075492897383520440342619167507269274769540314687373859768444148008916214431079624380858434557412751064029860653991894418498546375319471497546129513644990254792693493026350178561983225657904976975565282700634339247759448068702156121626566104975575501773264940292845054223619541653763346537112610788068889479629903274430596159961332953065631869878136656851843749115977653218722680353066696961085231074216682349594793257212258881476771222091281625471146060565786408135345313552954335963724663651475833452253310449636108970954282456404221363934545326191588416626090429765185943071132924869384787639422643166513199975760295229375193986691017348931106610295811234274541961066906124996818882258014331169762139277097939072695701285059373891314497234911781635753993908693819890555360997486428868484985295060395526392129459860321917056674188312238065258888086892261674385749454448279862647257109245139995227131933095277705869283533671484125811517165369069778349749578896971168482028470718289886752710667559904432989027768894913117700417642683470262817205517786315818123052031891711176821796736058884280764645641105688966868651871931138978509192460297969624247452327035236104987416547525019384364992112463325156220943079784551249053885119756606634499185906194901893396521979884812543896847151252945531989051758234837410958603755033129561480097712397216950459931843423432825947272969038614528729559168249249954309308498426921729266879905376517936082228387348504772274063090227096918418646676351441157277671329446887833242419570287985596639737999062018078366315491743813996348478235694566848531514451395744911914863863409890230332796405837282841563170729036746025866194158280138943610724576375962189393888596693518392963876478586204712224800356379895975248321780218207984527165126604287