702286405900261754042902106582869343171098145544104163915260902137376781966452669618258100028224931291198114099393771043928942776369104157871550738218246407919824662575652125931760347014361331461094427789156423173378139289937243120765946572811792415196985732929673375143338582526492402855889802319325693557193674532135492102068966426238494346768972565415529007387780283598260978415027303843728479316637189695539889246569075720800939307476130562716955904217462947499617113273421012896658995020924632325857893773427712959838960744221341337229369569413840698011502665607650922346186389214152218296276300151831342745221127051977132773033133228955811832075984132215168989660924966974259743875555732722652512522620061146515182664723469230212749656433426313079034819038626330648611502930422854001469493257199587751735632787790099201481216750453780874069453495143663806843276490122665176751515838306518310990991141257052661206131046292217998299825456586528337875639048321970327228968066461547803178959990286481220955934146703117158989134278475458142300349714300957674304869748375666724933053015129238127024659673577689788955265610287052906148329485917299930294668734599298086228794146435232872509573444843293592029374795125896194375498559118774691740105225219703251468850978358959917921771389750815643423627827181547647677758051002647639157323171303654963451354832230611439092405284419323710850111062813378701433984343306595726453160258845843265014807294820761044002742955450164662800264505882242296382798645235440688901695119587396591700012199581466911224810377917168215522173521163887539552297757175710899615259345923868328395348114151766716180396853186212704339507990312224691592301377510673624052130091067203439117443874446241688233337269412065469272565178485011426772152812347129547419140522141731760442162412161593917751114139006206736259113660931780889400119957219415585449646103648202855432177186890667113132170394078764931938731215453633385183796381725584152581958518754936762878242948171324042072209273143687843110744013855553364742083226478389262828937047145253399673376579487216274688157675823363304976062354131261487984886895151827311295462974530374588615753993453828724134696268616590109193178237051149232174979161563777211057117141821523205072206381417786845257938230053838814556714221393062131246213811083862083425595869857508645969442335339367897491912136799846575847590894568634866259830894576686807855751242000330920751817486678446665757961454400327560890229931065983871722646352523844947182862285966924050610199126668851118974865776438338066317827750059482805854186217801496975007767647791579909135698390938173912312908471671566151823608345506863404155472574027777303028376615545552079066173308331151078182634291323673933282824671299887243769764508321965072852257559817620881797468831475498820794362432745378574091648992137632799421697767331514876525066554991168136507160851094554542443252699259714156580894490426353611432647908116022545119242864816577500637348623671941014501394282470569185879353236779831318499095765612996624789504824333948765060675779928824902609035168277308774698170520178936876823664463137014990242589048944623170973739101245423492290931934436096620935566365631561995478603394369588626044202521940545434812339928931945236361397403469752268975480517028583167601103193218778436690108675406894536533419614334208372977264946368949689223948947134722376594507390546959392998359173118095683768108335831403212507953675674926954543832767376010796368972783001469670285885129974221498544294307220449038946958150883459282724928103897276183288745926572359129930589650503502293881779467588230842505608039172505264921889516485199022631132879324536344561373859831665740446666543181305986961755408182951015205835472289987148251024769294899841127886674961964708482155002873710885330363843988959416592619749485197977456962369806253050642056502031461797694047864713759964817679281691701325893544164925548154377947428798833876739548535201138408840671346762311162171534109696715922187396904659183206538632776649678354274668710438665157345964613753687888291744191246193762914571363688117213627250682550335672769006986225179499035593573336575898972581515384198404077625602072915780503484955133221686821917372842191037448211745933385912265227540752522553229392679147999357302352381575210328233654209363629746244114484417679447877753925256057585197867240426280884280407508229639123628326804864641993911741218144119112847479492569738245548387450434208942422667912643019623925712324444823792423866527110545424690311835660851736751495032244303160678102254334250056681470481336425630653916797303754274793978314686166582363223411631145615917336721784650852881589583985404757699346831417337591591771746227499813409182896532631682898995580719342991143152414214585922619729937365149635462943296645414796968754481225570132690848279386215763723555251974220188439244893111958416166279692728796432342913146035781198642972595117167987294968076275687162268873135754023479349476831109277177349778378532554039289592464596911754238539847674493178010418324191676018619674683181422328970541345759106662330680208583507660829647355296128392228947837472017792180279475808514490990396712626851211497740638433417289489114098964320402936464413931843996227150764879895889805506635386456823878252228190879545630157487005088801164859218373579844182263947864587057023003140872903610397784376161736456632921012437777759835110134362356399088208964970167472220838920112140415544905037497019493078196981632681955140208813905724707760241120653992168904775741561986307538541973622877376726125239735287564953371727167386849036770418241492925231057516248459183647690196483868726952569295731344654875482625837202862111290481395580235438767792645676553296791984714779891563593541861886885732704433781343844773366290322718435034597126434988148960920040468920