689574109608411617268456321451591844958090732963772312774135006917769283713862012504284440530845998644677918554385797084214539531778163575846318805987743303156761347228877871738157154159478193139140972109642587153514192448978587856514747162357146435937322406176980712398689677642122520506115448057910479222155224565319566917813318279406964532352288045690744049587751133810075487235310266984897888641483941144955796263391196907675871751062409704524900482844110051277241214480872877958163923762955530327456695623086806276346352300642555092659555627915462583997528973609424657533385987925028571273276880845802161780961452284349621772643311469579923124793691828729042286170110735868972754313383843774594314337167964061316474414217095130290034268350896373653427622705035915494126506955886407612188866698369759704610763499234995341548466087431577311560833530804253525769974428410264881930856265763884136214344773408260428820974953175383382394687560664171640983309262407671606641595413723298168977755655815135702975769341703353782566366634206670363184469942874065773983016789677867413528783921626005354095211986159657288043014412274753626345863687390224057088076569769098785735852487202672379129349414888473556708325554679515793919388563781187585319988596120285169644965996785887726446318003917698573196033126095526611425168792418651772321512375890847313656454548346964559469342197665726541623732864481964139455182270325548541995028484705381802470380723871926325834529058717990508772153670039439251377722984867840024695691918183740339043953922299634057988202409426419179882389865782770142016636846488593983124916164933281918483589661492496489523301784459639619274536201952364337009000306458068227266158469919545261127754511971334796419975332224467766271448498596416375566296791846632720595345354811474842347958573698972453317475550494336301695315862110175065796572302231647105338840043481118586865168306743192986346623966171630928612653789754448728012783791966507652994672222406671948274132590246346522378769805436005992469789833899959476294893615898141157146626088730268260884822255481900201821787517862042340611631432485649462528449415543529110530364838698356815444248129579303410351035681726588708019125686182534317993382744778296412384425979881420011388728587822808936794795363354273203441227907135679882747318518155549550112459150313131061784184864139346320558406894770834579645747929899962001355992517342213664352056617325818341465917378938096217119985559593698893394381031619121663922020914063939166921833127049491878118720639136694409829936522749125711663853749129757149428454770849727295729563749318032208326209742312331569620946854485576808986039249673335766885855343108380702660172432656334474108783564265575922040993552500761984455061190252888642480769807893272976503114448818575393762131487522578665402290841946556074124347032089413011686111518557445907299034267279527048338665226915321928749465215161032601114414563508397328545408315606969104925922724230958843636674373806049273740543980375636718852599101852311732051265059133588164983548704441734984575310434060145540444874308136899932487943924425351147451255228110848320331780936933027251477109623977733032488055097784376718943099294293585828432935068688241244898729444258923933066076876183329884313666163636003913966842123946410736317905675173043970936081774866359405037169771511483136284635896132413807043597726454484124207970783756731431265586225348281220658352961854714509287935936949117170963190027597209577879350108684773276388492086341795321154074444385794665251225738537161554921043558197921466434449122413996501883155851744559972893440517039053663474354686963421500219373009371630107423350644837911812175449721554777511782906094931445741602305753275859756071512042646442706417852552689454728227419758243732617080359712143988278747831360347081470706290125275423489668670844738231288471145969486872273928290942886649089994847799997907897382183338255935691393835074609123447236845187082877657234213223070388222718068225610303459723227552263790712394298414615192565567869874365319937320815254350651632854238179938640300039719664937945136033749744735559959827046703569136186433814964252439944632859853346319178859721980189265315912665102875655850133290351169446242690893475118129862266125248131141189044811548632122002759295274159355373217136666749670136621584249428265524374473703569909130242131752541543918138966248605262881959712355766477851514154635405983717842787388404716630189720112837742793263945772572124548815483591786771154471461066274664781729423483859002819126885254703936895199376369377243541391098467662279852659416336217386410022585477731945561771468698421648594061342144421454931555411742508298075706437245375474140646421772723577261707470434238742786502785661333365133102517072207676422813136348969595187314856976869034076700570693147539138293000634327424995914308394962862292151022792229854336340410259048211579085322350229657488956036943009445839759878712463398480246745100274677744843483526708201668630907702495521023190174468857928911657986350863462655914478138336886432366819450968069135112691242729133448266262303861730774877496856945925501497276677982540968045970116637690259825281427674115325340120023931327658781155727581661136263925514019576228140024633880077799255101867854203983404576119542595259728551744530082416894566135428158391221584574434540895637221959099472540769311072908363172498751856654633734937844024958145469137152374268065685956339760332595637085400344723006853411108387925619117197189672992729742367293895812837762334452780220891876836889421065609881824724511416337398499478853142388491491666008763531943758709418920727517277323657530857664185220869288864237735473725339648962649521806750639597930226290891463071950747949303535114171164633887656959707220119101240310580228281417360502088558938339886669814498944709548731858706