297142953918825827294884822047334190881692461504726967061169581569913397789303328879637170645176093470249952049653576715033670936127401376637685692387301352328975176407895964685733527313952876573692360111343307999339342352721571530378106261352310285670242975554286968034617508495475999993187355991888561799956955465809817834465632124124882938848831358978710204327150160719677631110887909400796229919795225168306979643178355928631207044816566973131933284528981114477653710336532427139899744871369474655520462152405165846246348701665964714598589159993320484448703633650761152467514676926764582858666754377253872655172662686214279251071047016237452934623968649947456896115830782764893319485267573320479184604691115393806104791376584778994866576160959367131378777464393242528087307632944907377690085556899939222170322958734171598607955813374413158565826606925528804013716836254526166109175888918155041872752304941945382975745891871849478499775281348618651327764657862285891515512191391336242903782231998616075743716433326617634799711676679274112545675573025931441634121691113567883940324347867349331538847867916146507668650452086783327736691219369458319775990862832075798612667379642212648424626193851294851426359490444329448766186013336173343112416158454522116382421342425222915980713261602844246733414194051322758967760231077675426564717190465751179889286467068718988842035975960503558004016386275778120719222443974826108690681572995216966635638452056940666098043982687993559458643149404399776651221200097789994122148135629344162765480788191213758536934711913906556786099622072831299062589373034347629329573758295336757949775626824828708953970737345415148871388133638354568811703686644828579215656439972267195938823032414597224158489206331088294809239448548790039562676732540779764346853293915120327217749735397312560381025697613828259306527742575485994889705202843215972817538769130818615610386155336296675575252325177845174893243038871973887954519930066965719646726463536243067537231855321836743151841041294909276372211145555511765038773264711718392475633634767062391401857218198695957177491826928358754065898184506735872711218374449566106132711967421220596105353023322820951482747459035661733322860759060947049005846798136292791508941795431483212518479967788327497767665710208816461905416872261423621832221882935655667130248108534763853796692327958517391871381746818795662184494005938332813795201096517797545087012709609085768209369082748474510969854679573606597506139447763760331682331663451150955231364763880537286861408317355542128938771581024366136434981326713634492208182496375591503266245804528994182719622322231346650990622864202855239238710471727203147023725228376614344807423447506495187089679167277069672830352511858443269722623868850385614399706666425805964792168221434375476314632017126563793705396064261279927053420829054024659962027494607712897760879660861325173806260316094098481033936531821890554113724506740908141217974069383581962683149675798633296867618837822374095347336341621067111639013747334392957820975576921874402241373604658180296665583464415015931381946283570779468561376469328425252720938054213216835996755779940167580422926374938364452545773902828164766743940916811217559582731051658488533765575868742794298733627086231612797325369573248829523573437292149914607923337797851417919787530497959800489048575931537720268856907239163361437859424925634296122912806907797402216234169157062380053867139410579242435769533399627375858874300463244994647366568102425544519901471463653599928818313222664385136628168520276091649203747103820201298382177774353497833765256018915193777847136064756852491091692887943937576234800492526232339489761593744629925489464997375221305641638969387440775125755360589373043676536000344117341261688234642643243093111248818784221142572950310974137052757616318301808365921713426825428193190797349253999721733498829272596843426508934359064983724715692564700802517285474939499258042433567476276469446415256199192302266008004800871065008564232755188875037535569434965210827146865343852578101119261892281893472852443566383875231882024241776681518925802044056142863428654524982237382662834085694163916847518873757431745718955222702580830439713574727395397128413145325980456017888229117298105868827536085404971392087945578888893718720279181574530888947913548737682387681223025397885456957204452381897478930219626353063627196551469097537817118047780553663004576324773299678927432990798039815242878971884461765722426761718288335615699135677346459452729397828504737748373645536371751503720288832636178332877054283684533493829293608150783929828820529907732737147168148710458308293765035507620473168082422677246163006225986864053357830179205355040957781633257735757636491884227810099966603942350191161978246015175452099713695979810840926772360688375653851257661766684072994364530279553482103494853698759237154734152657039846355551645456701474196679704457644431092191776563525158266286135243092278504987044466625087537275432998557514482419147997322301951859590630125946819198677897332524462466642670621732628395863080768883222254379078715883173595339889944037601357398467315542541153502551552762748721651964891534886390298021357049713368543736876451665989449576353746965566944488415104380531848092881647757497456197569509215369818789821521823119514425476499376251938567817138661698835024018566677403330246946437804196366302836776811456245503245193073545010915041977508360836471818917863578052767689766673651221623319577146256702456453262418729671912634941786110867340668994259012372183019986476837455925815380241455584478257310102151288154207032023483422271020796913833330192726867437899879044158750821586931554630159499261640789327672763769427718344357252798510877372976119464445288059022566755963780174248738517283092545761458891755219199490631208534188614338933658961470661788099402183516011386150992905963708753