115614657487722828878427480618346437568929430993968900768919012981437230019349185679836994863167616623130997911547014838873301054755785055407410592031353153329990350226502630063748664251379299076787880215008750048147831636261536995475903926348855372049684978605189480584141229150135623712214181911510590489439175187782524491928722145290640843257833291429907345880314391835291861754268538875899790071405670825395391709458414258770117271962265201950058115574375784045420717077061977445640656311492155050254541402253265675008158819785664999990744179974237773785791437747506881471247121373276959371844464214441739312579886386829415759938366555643280262345424167886934549522981221871083139546402995872176429449651837871769252230938771686355518335387696672783389174099006466776382625543895166223977194359971369971984664756702126120445357838544794726645449047731357383550715909292759824369032972650511102649448156862102445661629092688558999489801353379575856774991592544762467657615368959461978796355344943357904918564978806032372859483926079575766434414358671739042623513783048051213461593484551411940083284774084467653990620984784366071245974479350136485695495764156994995436041844170153783991236956741033336436911899844526087344894846331693688854740825973259977695857972125225879494912268199713232347565004272120851245630466433048660677936384661847414237301382354333889899120972306295934426728739592757493842845254696707979425716924134236683593319179739906554487213073984645453368627340235164737639911924931693975797647136292516368714842192769048187756793374656349476855088283121440858550957471737105563692789285981171967931481057162542315190468180413650725818337570304028299613895382803230866984932859644102995879754312620427264617628267782467509783906349972803224122906404695051747563232140551875908080363041528058416369163393667171205633730124330521041945611879596732348679214835709588172050754024612525276745774731771491686227129534744810754630445059520631028517455730814293065202532997049911599162812613914042714600152286369895469818622242794090321454908020199379847726744226344891570994134199022783880033428770036696297642690915957075465136642986647977690624586878294797683921613523595017462457267763799440577915874980885416269909891009358121615298364383969898725740898171130590075091310925656143814562329322100463677413478863857741098847797769760857860406964818839107490477436815791024835480439285358393576421217370563793681521482325564196476555593918339029458397346667822179549261093627760394531619798724982505073266083664536019012003996882379808544888993404479958968684176291657754941480585496279821766497988911109185744302636495978257476156739012013888727827195078984803268410981343874768348981119543452158859947528138425040078994413565991079642002267418314202668451691026865056483739818325470738259247865897424063047037893084501696112885215127682521046789421316727264518183013596896458351347109328784417929931442882063117504898491773886580939079199925436738165594038832691831389862695643925313915987404515316062963068917813278206365626059737399118480871199731474823361731621401163114496152119958644251382452906524413610662894406747096401115723881373085476156955427660440493413955798955615359197346168575953108976771425182737113458873500482762831958148186076587956504941772765292365091667382637784953729325357656806997812835857189452612471081169062246779641562088636242294507388665790054785951138607765551211461102182468448139336147946038947612521597390322426115906262336492653021765629384945592744108625064160602336605137876925420366091882459869966935529481652294178897327359784367296797359345544291606090599509651071405169526356369107358589768147814519548832663920576823929691548227345068851629634287871146917468905885527757613646545479379678888858811578310428262751289036047476984945489944298333536807385517844501116625559393899725219453610724133093652168261178014298474132088581934774258589511005676571020069287803286109211120731636161929685676869294930194739415545556650962783258706114971265427157522391657714173372282303463540038574937476674721712733881985286884948990578715232635112522708884784309296868316754321351086758423937567724414915203444342565159109126564745195183279096196423462294417775807164472903949690640444375665964406021989917608043572916833129904825357265542901879417815066964733903218955033812067133449813212797836648751487750430566111133574657743551451220429962536742159329879982917692115625433128001188101823816443973269736865674625549195284853925018940764926279685077174985212481170165066701161256817577383250613131324853392566342513232733466643678294902269670785751383560159721792555536235312445308418092569449080668848432620133825261961490094122470805573281477785858644375413231529268472880092428916349863132515764961228680080195211741124885437263993093882637285253711127722917845210795304258543354439086425858624899308339396374290883095493759425294164310855754461870227294111066577445820335312770691966416273985642043799603087529706977764556552689992651027314429216953816558239189833097994439607492295783477563909563419786619857345998327064138725032364223490023106515273507636822999463813090220972679279905219546697186069598365515161916891116825837949426267228179869598434689864329156974615038488282995618803857360021040422061483882678038494962219798696342571279751466110676919128554848481811350978896373588854982465411182420525586953428586642685986761511216449968367722659231623898285212577891649678986256431341443930770608581777673567535373128732359985766804999314094307332444007495863016132869324541418390137498046659479332254384247531813218147888974502731369244342150601143807010394326960382291365933669856922399477053185815612514243624487390689552352763744344063322703843637607191122382822693740551572584227685193389742365437976412395819436219958394163875563686806686781358686942366592484150