587743432308432120417969335338895588539976937680654917354355175981474401460322554954403179496672429048736533168953729034556154046005240092383743875884517647713919694333610718549247968828258084170630071532831350365751000940341374383198133897111254264634835561044184958099962766205061480758872690883375007826596079971542330713553972292832892228839113118901416057666041886999375126320591291333469866952914840791943745827555539245133778477698704180823958105334297418519200267667483488358353741383350918145951320977323534238386179947428275492757383326925486638469815460931859585601340639883746616909701323287491245771922803548646017369775681449659076627656445426487218591652588880897510168534226148155613329258482092131056444807465412046366419890834797170133269728828209992120534763630857052917100404443258993885337378563964045907364658714365398707850565371019722524259732060569853049825335414162066295890935566809857867713178304588768198110317666796710601628652488809140077026258692588420890340201263896762866190856532114317267286325029425954445889868740905796170793415565822690892092552724503972586301276048089163346149459578453528651227524542598242714114734371430575568003926687201456419146949177306720707310489728685901828613531041121322068097395154079892700317430565211770092661621556731018453904759912298405178481286005005229948451084663550419888409907758112248467794969043192538517865106571272369343978659173503349227841108130779269505960961051188088247242754701334541451849950882777458016935467618205100637924753028528157579873975372623567700930413662132785921892866050473617582540776427744722614550057481750184028187917847806953189686742388245926708274059538422819871610100771133119943721527843676195592573528743366878422184206764839326908597828277480375601910949442085811379133307916408257194018170433745195665942637335481083596567820945217655116661147969950362264294727742216117807982536257897684182813787490861759868546507924726232203545894886930929270109307789160484325183964818486337946965548228958207792379088485451615549257237390715033665448456924307595863245858273541453399727636775206704366161425769126273305475375804017576186174486636311958944451436457501813171378811218890104868404166922575054192463773473887289284789570487019623752162635894591523516811500989211953133490650986479370261866718370761378748823953686536680645644545228555522250679253343945728176750593781288269673114948264458941881621415426179692380841273618024222376966818054604826019785983790874328920701393697711666677732099401868837472703475223272404315167208961475523038670226164851340977128572261322564044311425872591025785121326744339674768234672700884363161959706735886935985718149458279655259317625349363691156294676849053841203496633641920449391363125302083522704317971497848628980904619925539881659226717577639451907833921941190131433231238459471596920739872918747727996695365762473511165220184087249453661338834561515056864714795174104170193839530748098221323696050003151307463016884093988644611561154244143369405655427525536371129817547070138159754493552692333807173057652745976544638577791117628770391558061144460419331587240218952603419695734916227341898401529037014542919496886522570236261998589832194470590427989893756920485213127098525005884795789638617755249816359675294249444395703910596766128676812273791614476276182274586300223476895275219355836189138039414505587864994515250422585283516296729948514197665304062625672564992116170405487787724236267999071640604999028194627883727842537607134384001365256724479424195815997647570089352480345775323467939620168788683146594530227632625969872887959926222646189745522132045964597776299447278705287205342707133146486324215526659177362607071241196609889134083177261414257875940034652982692495809398151741064898297176742321423178418571634875661149027874514658049037174838423722352153975197779532747917532575716724232312667883792642459818031846891277394629528728487656960422779858665663393566364776256818362673033622572975759085112563908253897936287756778743911094238985980594944501996855754775291292273319292107340874221393364773501171904178154399137999424066544918758936577289465257418247551401234042805728583971175513653993346221997360287247301231011912195670729733728177382787813529141766940520318803655384129433242040726646716178519278931727464704664616110066956144866087670610296389384991312915481158332971514214450855648599015663496219476483811412191894656577773938396246789133006610084498900370932491953748362686251796328789161814198523116843407989662083923391381385371960647201824803637083644939223387668414388466898128902816884561664326755366075905203614172623305478389339255086979486703071967499964644374272201873134981651829875296053108330854011682894797496837186497659323315483233760503943387960119796941515638683214978579935583470914092988382356455444931070546666443580702671010872846893606919570379895206977126163565890844986144543549241983535948014762747718187449114311524734051700849576861146986009189219465819426586140318379126603521854218983938772586544650992476054905687069693522395383976756289249506492651312976758949062605152681676911932088208527475222568690287348204725841152251608101217994997534188913891507655618043624573042009174044663381830382933521263264945160176949267158395656733637407491220193174211922476878337762627872812864518348610279445951332039216549567396433283809284333158027200453704128826329522852797540738090961171368190550421195870438849604448415438945218188609227667507654760374511638077554594976771519044830964334969172851468553656620112764692982888891746315499386813179460646245832497047331220722422731548929515084571568815444596720808629773117813286535464035798771881851486990650896189218411168624493144433338559328194898929563279776078474609755412907503295992672541351313193121819586904231899410628706993354019022777517445109484392528571521794628891779477648116