59346531276332627194688878020652010562196644081204254523794570832608225217646929671352097255867564569702474023067870924716593308545219957415488578056771627882686356653483221551513429052968913980290821432669962312793868784813347289797815556301312258597121036959965765059882453968017161355833066437669729331093648238434553599472791565223806586184099581574005671566522552868742021788864592231464527440631257535988038841622853984054398616384506396439078451145285381778178648997477778858082676789460448259134961254029426556760292616105316059813299391491348683794824855528652572278577676449810187538314656554883294562806704789779122545529151347773635578042711039496039761546214926699364885936519586204190059869908789522881606903900383464753821376866636548586799024701454761168507092741077389254729330619646383774132035798682893285831298178608885152267782743791663413575225184042321451755113014201237147470764949652100929084829509693353277502742903292752735416705701930677655430210627953661569734739561557441558592463222485998778182625476477815245461656391087037991970437154052897691481229422805729477790419929221272312310868358879757872221708286753667173269153403772367942769794425238348019170461595972481782045375631418895799725584369803972573706145456793486551443483266697592237012878198097786347720358422057582927179537346819599599925800518133463293664724947330365058582769562523896384932994352451176090328925517849238811958899594097787206196266875722807518328659864890211201957265355799393510823581654227422514667131627164138539916452985181850294361880151996185898788714584021038924916188481024950490793631890550054879437449032640831026005792088291096586259347514153694591395818235207289718811551257330346615412299573382412048291853991428337982089328964213549311410834552457864109382218579367844152419894258326718739388454984860224286103551465265949303217363524645787042334719298434151280391266826545162301565814497432248308898685776438993983956498722920482508931457947544749408939149422119425090336155263665901385378667261956462268123155231277458070989518585288341437559893369037805490566559873670305420676111283878127862033911959431506187253451797995082984376274106361903034786840946583511159169934815525952317890992941337272617621959382163928967573325573917606764685129694146670633215540773586783088953629568817336261612065777339666922422121971008568645482956147331290683473268180406659255864228472326980511912506418586377761744891451311340125322307786177924248624921528419041544610899013184486758726635186230183075282292445656202977014486144654888355758453028303714926784781328218186753732841673524003536917522639447622941394453792109919497242550579775606753735711777247539198549657520943846451358929160564053107026619453448675214468266305413819896131782547612980399634642677250974628498299782369865300450163935264713880782067239987215142577262267332765168521094634381075042658880266722949996798477420890437092196620474708439606068861117451364044771551244495489214599895222892695617491036499307477792081795601240874165794122501625669317309611477999525828934597994775176470132007430520668199831218976962778738983473149169980510896131673481322484329981805391456224516225472427656371823054032466411599527638047633005490851932965535914255827671761612348504525836461946938518373149645439341662950827479878935389438655770559924763809684324438608693443160479621504747119822316130915030762983064856631828104593267761778171634020341595164264871695511265047422105834233085492525282631354672395776041259873273713996648393682432623356012144795520913435700981262768381180810456077148760905193465767473671671937684697563979131415596875399429504549767997161448993741897943302227688595337232547545843601807490875495792113566215849693765933455242685459978604356010105176281518831737961869733437259462252049571205931138700989836779290918392405605426871357941108091623174459189619872409812415899124512418924611455380201491388090638230133656824799877412211166947663602529936783454066294773105548899639720217219848192373781076471239306016232286006556685652865038561235639069734227112018203098191664565157708281126609753871554538570805033913540158830334155871253218675547616791389815739020209905540650232859730017856755528431058405402356540917734384879444342866347887983952343716935459751711111305179715308940216998071055160181682985386478402951481471184475777787984119589982955177707204493230081270571292851729473165964006794845453654275209340084546813057012264390964723197907168186420695884751053907393453985877487791029062431819716025634858148207516691189313669414821052506305692756038437349033298487393222609676620533816399055347219965978336946244968515199823838098724290740347041207139746751414757556843150827346195372579185140628647716064590678168090616499205892644771927122642430893246128144638502605831302633302394341051633337594887849387966653667151510852799687831581092559132996710585825450749484267491316913108381183976913232911466602165564009927823951761716669082449554244596641455329792687304190249225427828337251213077612422788621540551311183076158951747662063313762213200839516301960481245291897235869951784318757619332308644554551377314579812456265988873566181456366548901453598191510760296503910701250014818647480916669410446987290137690546272523395810377636882941048935685441620643470477049069402635321322803679229031363325660493081923192282168636553678861703424972288034869886453738441924866873536212467926728609752345990254567055201383212934198218626595866730439833336721656103627213077248155144111295807422463492583734767993288170223596086323579360506491814138314392241768023737942126932129374475690258413195953259294454539094958019761328725427404612121369444682113320508842984573490253511790986574273305252560574548124872571799809973773167693681078898340884191663606257079448866651368386919139345917742764934551818