345664888059146165697555374841065077155312651752564174312738604392617753759823385273729675866694423493912162471221778765438512098700320118634295166092355812640581681890955703020636427742029277559226553275529163136895142384686718532541874997714321844848167232212534807929919128268763184565794567912099504899207796344607247545992053844647994720102337024632933910549821578656601802722185341859524711312239417578268571383882661629918224886418031770594273439040945538212023815610621151709939058564722696921163792721389366052004822142699071378299318802617853041508601330614421047672217122999161465692896223202283426838251864343731759666355833647878763634332712692134478645986722451285910351552645942565681275585370865754663143089259249321716643308848423107015891673696022153951283833503423698344463277138773062610117469032621360885404332914820934651221470694681923660507052871127500899487762198959136846184936655194356822986063633303133170134374663983696636489007872041995357392661786097941937054748423218256423185523314632594495546871295644651065661771045167905971557517551213596666732904525460432006156238093972333408304674015819750539305679821122459090908580528877328822733738738691962342244988850692514675026473421735675962995458401976828336259694361295379510647987513387522384627527656483217315378530884731953461525005599378757745057791445072886292051427403773048037242973466908180207195321443348050744321569096976681568902633811411981534449582346778786546136660054508004775830775006131582392614796097841592578821512938107666414630683477319264769921709175585770697748143477660397391336128912937265709316033153704792501568676057186436023576512622875237918734851583532126554758529143259861599185319889395369358481413260671298720309614847086389538668131524590107918782746755287905247458041218677838643953849263152383998583115848458695793059675989791525719188891547915355706542129488496848990959392138579025852795351581689832184010318189945544774092796867437904652511559928963820705682177272072837293225898784130222475026985412505939619667474152418005718935574332753887625058960852737593736221974957919026698886147227058879979215567859211129795918017593969225709402260713322141362063655111412392669606926636406455836991481987612320822189007586917662241607215576375124778726231263668120315421116652524085108483118674397441374534338781834732082498495775385360397334419642366884620725753663631937349044178989564628489650559423305205974353001866717632682763463178782468932653808148529224476983851319536565017612404445327532878177645042037247616493192447768540479448112258172991587617403360457469985814754930106114795028159369362058232151911671248738711834057961180381359614899324505877940722354108657819144822447244692565496492592172818351708969462721840112903358367743945758355355737634344983223422694926673651771272648803454812496734176205595275068862457380522425983958622226587594127410205173400462452493918032542612498304813493122924955620117575984825348320181229284069327724507974244196107421956234656655552678926908786380069724153735143142337368345710194044282524542388819451704828873937852925263957761158022618992548833728919432311155841510196242497502379366606698525112555982922986498197329750959956399969772077833531435445169218789837396686105029513044321057982674164793679091557818044443266845775645492340821917913847104123387077461347815529899672462091491616916854571725378617136941239784135979867701444853815322640871255602828806673120087204656324184207527586887737507421980909028745496283254713763830611675342179763973216918959115623178716510271573067814344164538368762810869691738114492737826683012986396417537227299763938344288455511735716666152594034830712962189317793871660048563176947019848641741634084956529656004934920072893930889837366728969073197863855368273911823905098129371773288463461168882959834475259544566590575983164643499839142181947281571205179650306078907757528414205077453435732221484163976250105154586694977720147994309064573251081925762065813292761290529109125356689253621779524766537347969524376977637479127402417423129844746964548493253052929770366612366122176331354101456528579551063153021904950425748554222371032104237776511964803626906046738713201845971486546896068417869298334158839680291988219744286655821573558448662438076489927117592789379112603903911327326789619029553650112883793616658618925619468511323309934291345244796266575041802450952562212693899313250269147461290321303334276311728785126453103857969453941459616437911903904849333171405647515967275291585426157165470826546857971082648794926785189781146487518049393450948594876288558928420795354936532132279092042882288111233745234489346076347346564925416759994845203268233967563730777768602730598412620836945062232656010693377329511871767271262343847632693471110059780569041204089982640203381106031812629836373516633512240271969608717549838477831250842141712338834135990496926564944944341292391736367528159452865224121939180892051792991641508364140674447294619629568494736987186676324540253684684855100197451849327847575801260876428657566351241986163884211945917682561739499135596226619782872973570321842658410439594809684236958453090340681526548768412969661723987713129300992373676661895546550624860316557588184581541845610444593961335232685292723827216586289453238337685618536984276689592341208959821054803042891067476933736895357109273365629751378038694800736455582542648592913932170535991957872539197330197215341429607805982303775713832997500496777483811462669789896430293622571275384278398894853887480454163719884350992391745510161173249470187987094522862501296740936451501527938790679031676143566408950549228203429287393514329213537876950336079455243774764505177672151987977495434122207981038632447298551049176559379997948589951944512771567693335500892383502001488397912083489890174019691339158062979858827113145134645487462836878615501361924520