84659469623493369053701841887398412484420457595206738245101120753235896478363335802634892767542519428501550204055374935798719043104397632637532379158628981059272399139230522191056098399357617686728952352415877408168263477298714108366388732076666312780535238473467351463205676072295782933779022944090815297963317847424746267098698521157805769473394382937579492830179624670514898665267359345171126913331291638349767692487769426905007973244965829856457856578630988276981765767434097463396040224540838790458111567863828335910701144851914984585811348339785715355216245277263981922768263746093365234995343831667024176723493437970325127214717699493823604559939400413630174820742897784616711888608116598343112051715518937584882056330398967351995647054900266518801444651978241795987445978753190808043095482525038440132347743657673503164296431558987520526486107741363216715038697897570670440087028364943788571775992440723461140841603033282781836312975144131467212305789192573313095829921455160773837293315144601369861035879056649591124595829348831556183428885203673690947345346965507254524638249722298539998988319631949943250116437400686929299641148996698874715690011685609610699917845972214924610793190581572879240467686630965338180516671100383637185990519228385886011152423959386332642690785375344360858338593158072322861757599225503452665559781502777428800545771823449885673032657777523538751127278353966705657910487486380763193254897148113481028919150285786578198527523859726662568293473143003065619259264748686498415198022003822658168420316916298002750421815979722332057661751413712688108626215324513335245632770213871238293130371633809740216423979955217586829280577920949317605729752487277796810771507318332344285502822991936656919550958876559860153078661735408892698499256349091909691275583133557633520572699174601342692130260043646916593472814973259117578495310911947222668354132345971857808416576879098680439664581406429601210871988245379066492323731237854236161736387839091363639348657676342662893733404588423187359138348529799638655292302832606051378627088484765686105032512915109976842843137623095369149366969251080390582111449974854094469363104793719787891141733421828072615299302030395151938036718327861380996331517289835142202366409638345142658738855767943221880576726872888935674963466647330105594959898298773251927573546271878409206396902856331777811694378283420314735173131994115175349639774701958306294708744051915431027102251395095298684598130897364615499201589212133464210875209530366826728146932178239375507348177661757847042845542639128301276460461206917262921682253659385172234788997793601444252388385814215589641359533796671861737432619974379755475566144784672996150926123837516143663490996030672378365288967187623080372913703268491201248782577468851829618528434233108382015093726712854983993966159254178322586771870137733393952561302816333985057913215715916862832616597460961382011194909936232348441459846621553072866043640969212836361591745898959912333203324895078173122622393930731159250333939651908971568087147757682934273761779206969437273079862542263906261486426972566682679342588141447855145876704307171262190973549875944216557921957397127878532204326483269117779562051913317077031963889807991969287760645351282829501314676814145717710283134324199795159447137835548105547919505061672954405671825789711284507849364606473264463063817193427103368068534344380977603664015363360359046724224263273076434716995649534386527766805326538184434129101413885280597019067942415676691867054344450194200867344029486459348086150655259498786567614468259234788211764584003423513824988454593513756217659544427293285068197657138387468726614565160857032743991867892337795972352639342181894752774022920199575404842580352053121609430905167391344939721903097751302411565674926134652587512269132218219128716259976425444553330547697272666358416958836518669376627292578382242714445196426684449584059303689566855749920755175281088602053856395134002952974293669545277992648656085591278970670177452056292305339822024259564231528474886543122804748139673942511643844600759166708020866887141316605792971136952428875446171981269959441628261378528092587557594990858130034527161773091687596435848929371979983676824348865038826176524825462397995289819928911355246484017561997471729655129487699369046932626212346608856496744441163370487398636633708654512866684185847042521763972844173588312289457324058799201753623716435523203469994566389618722672326003039257280965897069745983941669203907918613638348236234326182988978839299077166142283324746767746345987797197148354071629320056394286353637298049920251573502234480745479819299857470221904313889122405887361315283831248465276382189184129300289157461175555244421634821524801343912001605159620822053537612319343557618922441812187777678318714442409574354076185467674966058326152035118644665017290926855047767575115686521638859184636463678432299113266651638341599169686236426539968813916813588470503180883777929490582507111383749417314634739275206117276434248114786951473569478964157333030329453265695135846122420484812811688305179403002262722643401724382081401299652813485588573889535677028342221109816158811103550768357821222271739458091932110233873706589580712767961504345605372690657775834183331606741438797965307526878210795088843531699332110550385161045594504825371387870134127135794891177995671174144644895762328961337726290143357337018529523790047744165498484753632214223419926792194724188031500517724341926924322436107147070273129265732441875781028521884032223123103890911352824169042026182913336287472756022193914143847454394862643903680967312146044741591650456027520777576026855056496262165869955974514877351501893355888813559888393856479621773117860253589215682177366153474561632959853522354908290093016928964774144048387640739969858408816816319297709553742847