952879283948450753134112454415639802620925293427481272127153373831395370922568871248709796032607216162294979620669496621233536030188735203816553993796238718927605385331081057445208247661644628056565352140993829365352212054233328172900816417074432498367789932655378598651824715034682125232519844548678239904184949693092001573031566504242963389604612893415025546917783722952922685884220641967942599375548194748345134473253035498962749682976385225145005799573866010783277324841741577648156642058875928289753477855508536382180274062603541479079585118924386425719882982690738560707138739954179691076647673544445391589434191840996281216641283738476724553164956527816549025571005278487976868540618373288226150097833656963132851775076263073354529365965097242586916877665092969474358499629143372926586305771169249380628037422387383509482925627647353724127099233404411815729978388711407679802022901502537605671629481763511349590957683465113227397868631222320726639463875428122747715944052127128624038154498382431539703688634002492762171490500938258037503246430217814760680754608199508143032930666584915660940778729739996010599063807265347106290834618310399243201909400156395801309233186350076157706348614613459512836857284632386881238195846779229420286622225098851424175213121406363483039285189752514879430783785527342569491110111668672804740877382445414404111395617766556405494124256656163547681410734158898065804658739193922724625963155569210378698138928544110914476746619758944451147469701574824838148477948425925182942312666963631373112441358993219228459298506934769568792655363916516949328191635542331512569044711462093474976985620011577909375351836177420648472833276507295172203876053348637407098274714863744102897396692746482826954636963407125426033447154133268799756987323713861611567836697216779795969223116117763791531552324048925141611142522890570755433058808013672210420968029562554211903741713990623593518314842936353164434296185378681683462091551003941964417748792876610156275606052475878044974744696655982046669528873152265561878690969367240568440914543153931912375138627147497857412777716799092151565279419204946544042965899283465054637533729179076046699337194121569412624808571672342188833922900432429648208743793126396536387601888257313705078983627132866895314621353954392787374875763153739304203307692394336513444246087444437114297539198920764774137922249615006543743223768407673427219735276248756794912834643385453756243156028242230321001455448156509485497174277723160336119857946323598444223525238074839654976165340647755337962781654297152810241476237958872751725587715500262841572317145703750507458234122391994401668192989345628648285120716631800463038191490511559771511254937481833533616436434859191885251427469244328621540231624752957464208567928765156301513361825633639364782487531962199795225322434782505952381824376339881490472093900876372669167377466520851893719429682431086167707549499929228910048359479075125197171478483282615912575461213181081300554938353632737155711518679209860202405771581715137283950687253503860248117926601253597076263893436429278654298719753366394705667468231934793146572219048173299297345543397925809663150741915416474190711610193090517190388556628012351924077583343417140329637762150311292394148769640389864424740798907936191241226357163385435335356746935752049462481364284159538324064644253914033003790939511147983739409996120049707577327570739378513187095451492525149298346173981851757651646959135222338123116986037058246570664956952024858194761897567661948846220752889614145713984183631501785540361065981541924264760449777435665261179317751395774179675719518878185209423816478027251746390788137110045627720438925571464478321725866296454025766282885344313553807021814317434357199462422355136156519726846189604423569360546202609814596168433153251888143592917678351147515282975895222188142799280186845660050416122182247348415218215309232538623820809854557384347288227065428519794293112631394534439993135345686256987428785674944494989117670378403047545907754479534011488425515222870632859109845437523854283962799129506667257654571308530885885423767991772449924424774699337148196165339346771464899649863443143714936405237493140317649267760958443251219144869217296202284735102832106497850313996956826760397653886435371272641333618871077505453262661192846761296598190065300243259393788306668544978764748137789423999659018249027345282332078575749363512859373096617506265984085404821922643433927381499457951222235871152553737828434852976757882809494249493742117562430829792276963247594589339047537366877619714355664119700673553124116232845714648218026663310194164134488132043606046326171166112928054792936233698941346040839371949949745418526388372251427214797579841688803166916267511132242231305574316359058694683452859946926397719017970912894724115264021679106531791355006559432503175189559641205053449136076096437031329288809941333434785414958510455271533371393154222435896588049728061227236868442619780599170523463243723670641597962446387272422835282660737009370053841169691904450059235773441579532941203761313014105073315926533762671486181957425877718515181258635602362832222135383552912580807287639535199152317308573223146430453658053866233484071585964231326651835957827761578289112891758220430795244825708599355124973543518437611886628091438497333318964340254784956438524682516181291715286720929283189590107799824594198055381645262401863371714789256431674115277698200239211944255150204841685885188273794767553697684402985202637913914363419750338091218274096473626859059597568736338426568884733794084937886697752850488253208574990919058850179920682654812963148217861733601911623624535279363973484861515001488445276066789472488924598838599809089612782311327279586427829144747765271269844548268343159779699285685635518647530471684517473378475471455940778859861638587298124010391316895053364864