107197257724572677259726967477299344780957511809372498099728980858081809180795545807780898083806380871219312241122231221112201107011069910695106891068710679106771067110669106657859489835986834476668575525552515257477749518441525983494935524949714767891311199530587414635247901749138393532170694943707353115245475549178425476349694937892353138495804349274863476947715267494510607709353094615833771618909477949018597528575075287481953455353533752659001869149074699488780554791506180574783484548395349498983559027818170955059893170711100984874843754770797085525345994354889475949575071461972934559454548995331521152775261105994551492348574885529549117157470948334711534790194715917310927708748615343531553515289485553735269495946555045482353334837503990254987501553294867468371114849883345434621527970754703478749537961472147354717111657077105658345470190291121946911135790315271527553038215499347994893464953198231490948691142350675003490347498925112058471487310611817979657903483190058993499753239037832347658997461110747809747538059533548218983468510653654479790334941482989758221478949757471430506570995049881548975327492949995209464150555013493987094933112095025708374697509505345395001504181274973476184018491503775351051553174643899982335511106351055745553525297716384134689477379271104349651119741052734681473348958075708148594879472945534609494790095307496790218921835147138207500990351074545576725063850710501850346514793453547787554931853947954731471948154781529950178375503589914871871310993110899003752950434875813355217091551375337941872571654723454747054811746780617119111875031109614497901310613856179594523492148414541752545818159453345957921112154601109257285899511345458511251813184994529520510523520146138493474779014825107254977820381554653715982235533474150114597470783218987413901511023506952037097832985734381127711217836945378387491546378483749149498245457911211852789394633727581778479483550054905475181174645553746954468187756983731126748818157844546738667901181715531855381957519113157503853545494775448379057499451511207463550271121379851120189898901749511195795582434625447752634687823989331125971134757838345038455474589174865887374817473793981478389845147254257103814582717969111835207460588954521444461782951126946294631748348771053779717115747786178363747984338625107174495831350514657748581497465790770897493818387654955860146074499452784597963106391118947438935812181098163861179575341711745174531480983334639451149617281874546678311467144817945456546978211114315057862980258235467745018301112638523551942475395523459145258687846744938139492546938291451347378717817355174479458383051053583434575750552814507448984094593502344854569862345674647793355414847462789037967727382978943481745734891797355154727466374874659810589274509449179538015811310525467975217935883185134665810146697101811111191842179318417473982698257812985454603794311261457720418769828781237949814188978549450510529819179198023457183098251801381154568559792389418841818983979099887181438475441858386598125802748278153458974978225598807381077937519949634797109883733678733864910521850911255747545198261864183034661803372798593448786218695554387958565105314919887586058697485345877589795182837913792548838289552980358439750180177571794789375535712185698003799382778037865182491053382857929710581038631826345638253886546758001864582751126585557489874981658787553984378019325754185177917480390718267799743979758281827982598673528352938007764588678607830786398169858145611052788577187800948517995894580059091817571898119801171071072188618677884987518701799982998273728382559057802187737549480788474805867185218797765511257885555257579904575959077552710609826571919043109974801903979157207904910923878190939053762752917203105671101380679067805184479061866388038465805371991102590977659877789797193107271065972357205904111083905576251088710733906511011762975839163105499083763771979075908589718069723399679069763311059720976491072310543105419081108939151108999087107959995105557231757790477221722590957211100191072972138949720110623764375851018793551002791477229924795591096992277217931594377237107351065511033108899155101359235999111021106439079105099963914310597106839959949910881102951003589477215780792799267936710167110419139108119955722310563722710067101919243925510343896195031078710791102231049591359433106411054789559541954389699609997110323101217219959392819999106279497368994751021910809102551089199751003995631033510347953377951004795011064792631091792713671998394311008710107105619951102119465101951070994351010310115109018963110679529951595231029110973933189651020796039449947910307100151008393231059195999471942910387104398951101991020392319251108159573997995519567933596071110110243943910261927510007951710023100631035510371941910817947793758957957988919461106039555369578971003179779311100599423954710147104599383110378967107391021595879505111137851953911123108139491934310131101511015510163942176919585102353677960510741102471025910885947394931005510451937993919513108513685102391027995839987929995699457952795911058710179895911233788310883923995451022710875769510649102671087392951001111117766395711007193191094995091112794639489110879487771591278953716711049789195811023178791127195531080110275102831028711097946795619507778310339957510897942793251009193399453935110447948193879259108191091310977953788779525779910579103271107110351948510367103991011110123101271013936911104710483110298041897778879601367578671025192877823108251109336819535105179425103319307110077687367310359100751009510099104031094110583959795779565953110407367977551110510423101439363773194459447937194831046310467101711049111017910911319107837675785594433697946910985929111075102991122910311930310805109099595109511087777679495945510375103799521109897667368393477739114491078595891113510431935936639511110771045510471104799451101831137511899114151134111343113731075911355114271074911407114471077711901114331083111421107431083511225111811075511919112231134911933114011131311941119051136911383113531129111337112411142911361112451145511285113051143711275114131144311893119251191511297113231133311403112471129911311113651132711237119291128111309