Перейти к публикации

Хитрые математические и физические задачки.


Рекомендованные сообщения

@ДОБРЯК способ, которым я делаю на самом деле не сложен, там дьявол в деталях кроется.. сложно красиво расписать как в книжках))
я брал силу трения по закону Кулона как зависящей от силы реакции, но проблема в том, что они обе зависят от угла альфа, то есть переменные во времени будут. Если взять изменение угла альфа как линейную функцию по времени, то в уравнении игреков "всплывают" косинусы, в уравнении иксов - синусы, как и должно быть (правда с кучей коэффициентов):smile:
 

так то понятно, что должна получиться дуга окружности
вот так можно сделать, например:

22222.thumb.png.1c2c63629c9faebcfd4b5d41cf9efa3a.png

если делить лестницу точкой посередине, то 2 равных треугольника получается.
то есть получается в кждый момент времени уравнение окружности будет

Изменено пользователем Jesse
Ссылка на сообщение
Поделиться на других сайтах


18 минут назад, Jesse сказал:

так то понятно, что должна получиться дуга окружности

Без формул можете доказать?)

Ссылка на сообщение
Поделиться на других сайтах
1 минуту назад, ДОБРЯК сказал:

Без формул можете доказать?)

даже без теоремы Пифагора?))

Ссылка на сообщение
Поделиться на других сайтах
11 час назад, ДОБРЯК сказал:

Предлагаю для начала решить более простую задачу.

Лестница, стоявшая на гладком полу у стены соскальзывает вниз, все время касаясь стены. По какой линии (траектории) движется котенок сидящий на середине лестницы?

И нужно доказать, что он движется по этой линии.

Если строго по условиям то котенок не по какой траектории не двигается. А если он, таки на той лестнице, то пока он сидит, он двигается по траектории лестницы (т.к. он на ней по условиям задачи), ну если конечно мы будем рассматривать его как материальную точку(траектория движение его центра тяжести будет иной). 

Ссылка на сообщение
Поделиться на других сайтах

Котенок спрыгнет с лестницы, как только она начнет падать,  и будет двигаться по параболе, факт.

Изменено пользователем Ug_user
Ссылка на сообщение
Поделиться на других сайтах
7 часов назад, mannul сказал:

Пожалейте Коперника.

Задача про котенка непосредственно связана с теоремой Коперника. )

Ссылка на сообщение
Поделиться на других сайтах
В 04.04.2019 в 12:47, Fedor сказал:

 

@Fedor вот вы говорите, что железный конь идет.....

Конь уже пришел  ))

 

Сумма всех натуральных чисел может быть записана с использованием следующего числового ряда

4d8d511d01e84fd739f317b2c4062e70.gif

Чему равна сумма этого бесконечного ряда? Если вы до этого не встречались с подобным рядом, а тема численных рядов в целом не слишком вам близка, то ответ на этот вопрос будет для вас большим сюрпризом.



856844645ed93db8e98f55250cb2aaf4.gif

 

https://www.youtube.com/watch?v=ATX1dDDopy0

 

 

Изменено пользователем ДОБРЯК
Ссылка на сообщение
Поделиться на других сайтах

Для работы с бесконечностью впрямую компьютер  вообще не предназначен. Тут нужны программы вроде Mathematica … :)

Ссылка на сообщение
Поделиться на других сайтах
22 минуты назад, Fedor сказал:

Тут нужны программы вроде Mathematica

Так покажите, что Mathematica достойная программа.

Чему равно 2 в степени 10 000 000. Два в степени 10 миллионов? )

Первые 10 цифр и последние 10 цифр. 

А если сможете то все число покажите. )

 

Ссылка на сообщение
Поделиться на других сайтах

Сами такой чепухой занимайтесь, студент. Полно и бесплатных аналогов особенно в Linux мне показывали  :)

 

90498173063608003013964026677087073562487623880180026759109215920533437487259295764175614344644597126202886784513490130340102063092398692355774 3010014 94784742485292176993914781862714107917533235555019174728608970564630687735669667838540318899783521847841664834323410018255732662370891387109376

Изменено пользователем Fedor
Ссылка на сообщение
Поделиться на других сайтах
11 минуту назад, Fedor сказал:

Сами такой чепухой занимайтесь, студент. Полно и бесплатных аналогов особенно в Linux мне показывали  :)

 

90498173063608003013964026677087073562487623880180026759109215920533437487259295764175614344644597126202886784513490130340102063092398692355774 3010014 94784742485292176993914781862714107917533235555019174728608970564630687735669667838540318899783521847841664834323410018255732662370891387109376

Это правильный результат.

Так какая максимальная степень для двойки в программе Mathematica? )

Ссылка на сообщение
Поделиться на других сайтах
1 час назад, Fedor сказал:

Для работы с бесконечностью впрямую компьютер  вообще не предназначен

Я дал эту ссылку только для того, чтобы показать, что в Интернете много "математиков", которые считают, что они математики.

Форум же тоже сетевой... ))

Изменено пользователем ДОБРЯК
Ссылка на сообщение
Поделиться на других сайтах

Каждый кто придерживается принципов математики может считать себя математиком. Коши, например, был инженером мостостроителем , насколько помню. Как и большинство тех кто делал и развивал математику :)

 

Цитата

Учился в Политехнической школе (1805), затем перешёл в парижскую Школу мостов и дорог (1807). По окончании школы стал инженером путей сообщения в Шербуре.

https://ru.wikipedia.org/wiki/Коши,_Огюстен_Луи   он и сконструировал концепт тензора напряжений в отличие от концепта давления у Паскаля , но и по аналогии :)

Ссылка на сообщение
Поделиться на других сайтах
21 минуту назад, Fedor сказал:

Каждый кто придерживается принципов математики может считать себя математиком.

Другой более серьезный математик доказывает, что 

Сумма всех натуральных чисел равна -1/8. ))

 

Изменено пользователем ДОБРЯК
Ссылка на сообщение
Поделиться на других сайтах
2 hours ago, ДОБРЯК said:

Так покажите, что Mathematica достойная программа.

Hk08iPh.png

22 hours ago, ДОБРЯК said:

Вроде правильно.

А 100 000! сможете? )

Перепроверь:

 

100500! =



98616271216694494362807862398193363935353459872955762749945512901703677823932969573854982049297796788811036344517886824109509712983147923018834495362173248848325445438346528027713869172286293752544617055301715317228853429116338320973540382038066525533618913478851856516191089942295775214354221578260789822304437850746876697470855805253980166177866390746890843936559172648821595093352544178898177752237550445429095398146829226362643886418265075085529095784175476250810031626804872351728168847167464718448226758796303103304960459723761395225280436701419758221565818805348859868097805413174241464016128271606616591737914161192479155162547282951484978427777081091731557432875761919000457680101640688151594939294440688055485779901162213060842412004677830256677265682654938304990082582467961555443322709650584146806740607194992666734502073021789731939993675002520199845980880152818789550576203178281414573362228588151274322000966978540033598824477668093996479009125361467601604486161636794122779655928949021233358922385815650986520978371831948399690532570697062949005566479436580631033223331973415321560444659485701862564058499659059447954144705149149960401140536104648367176323764651689563176932942964049395893360020127649671265185972259719920071918233479324659211423567978033235666079031814686182640425895540625521930669858275384129570875422785465384758866575812076333698994880804907710415075120674027345504835639330169570528326663644206683614258441312333192644740500683981463090327988523931585426415106815718282575621098895248338862054437525878350116587723919207209744785855527420510624654894710609850264912032333360126913458074144732563427318081665940178528874718257066744099993017772615939025072374471722765532919432121812891944078589096921393727844850850621105853791218969194714692667565724290696770978136039719570040432324251106114828159300525890477298212743366364727747416582040732141564015029591236787677684654980581503209319094996966420819145351624697497864598431383870881606162277188114444871092836935808608946908557064904957644853722921030081411178387737484116832118451436271112670581412353609694815477411126874790461480908866564815490165753232394826017800939394149987173751143854350726014074367815414350543394633243161942072208204577598496598103908260830603720796687864214415685242309080058938521464077588894644061748987222476554628223429199194479403894868540746135955759887914189694811528946757093378315715178442338562119332302810847042981513937739492765719362086158049269050946011998451406952903236275133000030637022116481654920843335844964334921956774744274247720138904308944440356993451131980819311239608963494251645629735063332104767262856975429113831030188642771921870868723571041379124749424183210078657712506496071415912140984463715630183931416179667648068748017079574438932666363550756215597256338626421929978251960178961046335499482974873558186473311765384428305375455109420421956481929410199039350329743984784846542364037447077566182033642245643715417775767207275542266599183686709658004277229662302346079101007205966975211556357573316213319761159054043209478285811635031663801508796436456835158396430588508625727438021805416660724792859494633084136596100653338372294395727827271451733828276186625021067241989252922081145636805211608672827084723158815599457856225499178562465063880368406715212823363421408978776029447801071045566551859298592471538977042938693330002997446180917018819150356223435351557330895276040115869556165474895605874464964923443533156837078314028794843659095053030394083693355929551717818676714236565482343176922696320561021518217145766633578965194153048057007261715382018693675096848146521883929598302506147244675582680813874440339919429873377379950582472328705829014472773380152789086308431151407863218281274834330261526628597159790604587216291386810974102724781887819131445448790362551469657424983238171775809034363122541777621502654262871744266660265531885397725822210653316802752297552080066510169643430213483171287634502961979853697102915606824084865503755210221477961319659396376738151251036746215844349816375754423243895474563794220176321286598021848844254471023714436268213074172767377721900867754152740029375471610782132764992239511218922803771864278508902224250318655743926298724710847386305904305494583256352763155935856463605568740590557190347215113225368773985771913074940454996940934720002348043647789271981397970940529265305529696088808181301644693179588173993760816247187952523165637523181744833341159937728150144708825150438836160336906117908801046248989105579928315000908423104313385013838593693541084432727551963405791735111652954369222238341265891829957462604206888043532150092413110620224096888700353542424703651707608362674684014264975570227911575162751526734213499802533506138961585859153162333361915315469025962463184690847940690054670090685756249601632963800392553475867986597856757939010520708652785083654881594058538793671419574946273488430649310450496569205349931153526883895104671252320275523881666314055718477236872219492663045654712608501703529882261722964552313212670571367572764356499503244473231070126621980916625936484158574880418445319314604807169754839235556938418762856332935554868238573202580969092465577810529655523845373795909817799204654434328994987027165592183031294486077165226822572328740354076905233628228864161994178456233908247757555621070966428066856749338002207110067297388481138365009911229759426583397297664374072722696485618283755473820639209663277796017286226079095983052941399445447733605451966525638221004206684468603200853705485340775078890290648350293892036091819529921761997803946715602142830396407719823447034978464578297858411030432305305878104064102692917949272438191840681334927594734713833820548209164603076440228922005937685179942070264839201459279903710978282053011407246100482342364180380130185450141618562312287865635056596149413021046627855045727344280843081295202650355052387437261805126581862291598440245369029227612479214936785577141261259954599926966185179810039120437189193491139173534687615121837885132701033058572568131796771150947162024989775886952410824512009812131446958103991423150497792241543367842266581425416919016529939277440309801777646342926181139508427841065135944298888673239783839367322385352195790952834891885443480101520789863486732346737749811772128942089552490770504639304146534199376930392149940347195286857790030352934440793422832829951208614871566425357544212528123215854226977777587602286274624639009727960415044871642423566549488399170164909497136401641977004776590775085663563262919669660357472217089125343107828286647830313580663057572360518834396159623762696250902417865385757386036999896982023937229718235260432661335538691491352521976828390210308298082145827538796905656557677556581122083391767671027422858940640008926871340409501775416522933826716088193366878412738672725619169963709723645738076168499424442725055040841380101686158200756065990292354226853769719918946219732518409927578299264966207788546161388941916415163996366366624998255244218073707750296108204590549094138173820793071899944966551170862814059468698860238001678421682473316794158623132939097198620667666167037325402084700392470600803936342559049297452368399208164713644525926767939283135470232380361832909584357572346201139794509585475500604559960450494374587670608713109183986657679650078715422570078325978540129025716238993961330664623222298728761995685407600579575832155227567174314592225248015678576539298233591590829207949481973980361164532408095532531914028738762191255048345130639168325127830149376308806667706204348426997303929422609390639983688760104484769690002181863734774557152777588619158619449514873933816241946555775035016508839895992944767730287900130856733446021690781953450933599049729092880657670579616958039836401137078222541160052687736131453891431935646791751165079745495001785538110655552853704329957158766124854628885321932280331771854424109230177393874107698866231847720882918030823650162228079843388833603959233480183096738663306188450519574078656434510729232722322385647259520747487997066047607906394100362410447089129372917850820619177361674515860406728244274488367775475088445597831868487690564068519661398685510465462427598627337686584586379420461564402088539248725545630374632188415109878199060868490467071036029509716002388643064049418886118214474330788330538405369281135321186721877575163594208552592268354705221025972924985983541345191038081436665662569162584716994663316711528578277200029973516485497135615488204648712928936135681692369051878659400618111614270277384675183541781596846732821884137841641838537464682782316499947029221293060882888853064510985102338270995661872600452661186677526990980641566605657435783584473210663595083770742281765102250302600254497862022258539298354582988655340463925780761528347075026259224377604745278071595749248754536351700570001426500474681125650177710986210905385041270260463942220970738389410376290748984964556873431249320778554669156794174001840971280254071237810238990941383333475074373720456993185144492448735278577117724785909176278780607984074597349924066846489935492233749543566709682683234934742390470586701139044090149483445682631235040004502706573412022950482039542827460630837887491332125649745193089999630593476646649370857855040255794581399545369604588644598747132922197748542834282286503788963233611782691818175352660231770796434050670044388006243638312478207025269690505992297159598378271463057476441733903089370100450514406222119610614558530761264631379933250957617113677721691157753524022426408354837158368386271558680420669511202138133564182767488612578485259120581627222274091032618257233434555442305587330482756467498152649555536939692947389333509922022922522902607194857604876754730553875088778461358173053954619173415655797246159799401936845586648248184764350673185586730904982810195833592984123063920413270485789663444838719422964208730032511895977568248511707802456016369402300941403536723919411168756011319496645244960291201329708752704228065587758183720204002603545232555004776306048300616802508739685569543212452277442881732355502155163565726399535189240544447226123254152366490308253937158273151501003057389742108180205252612956070632122262039313657283108699731214823117767094657486701066650521710164506985318953684778678263419458319404693039677083964847997422208840741381340866824759816464233480483211557367935791263082534552204605719899670491007239606328685896633811303785549222690571348543773442351952622092991935877867628837445624891979463947649918284503807400420173664178203191437992228344219038847536421401106400598438036916528227234407996326849491708431639277095435283400559496184451091717944575017233907285495363430146625632682274467229396084964106613061017233675115331431732031588706395869619545109123179177304950932163912350673704178062672598855119330608832342791670000107017981319399669739413682291076977855464384159714599018992308650140911585069782147605788713194433183635845554515427434062038609218027511658368238172202361301056732197019219390374208196741450769398830519830528791217793765107927845274377703417042324855715437946601094706393314367313354711548850897045376935942947724647000769506873017929149383305992124408181140007151809472151650930650970547990558747097715139884275327923440406227566843013554616712567281593817834499432343100347082762133059157458927826080314146364728476029154069784024768744654131901104466106685403053343313693626171781722376737995568757957913134168650425163449617848814273774344511843443371611543945540583979498349936807615745126335409655444213762916452448081045126057898648425649117919503630441934012782982561500855163781783707853816836940233504098114997417759521912387938780172181628847267654180930150504695890705054780417433437606798053436213553852777802257746683621870422427866626057107195785960113273793032871801797558296112128481542127672977692483983167389439952595236446090547283276631929931434093770950178098882069677729068883753176284783351364261542140502557029532616393896387776334193355636427276525889650560730359190488242352184235711972623343778518586562569326386695817110449430794504619291445953328185995255186443284693255473967587097109150600436571280412670535938880153912008985222632089314529031102988587248838115663133978678453044901200977494034173382793037390190861921655241921966532025895123912518518788676425113392081165275204676479244813789832332344682165680167619175904684220936542105123430939676168083389562687993176766308081452531735248239935581544442054150132583689252313569665786159509684780122082485241767199845691078516353884490478831929303988369563458828291662927275106137796535520773900190164842550041098774482096297266434114826777716766794083232848150370303262737884639333083092681733761341337307141398791963628697386242305740652208438482047684526309307338384803337399727025289276229245734353393706068403897451495010599116262727567656887625064316739810116982073687994925783999296138911676074133089244379271435145539779586027102665054297367532844484154229873982408548702111853732946320511786633150960330040262871528850646687198978576567126717733390528212178526563460973579709640735508156373101914162928837833346985959387201539395137797477406945699677903442613966814677880338232876336763702454822031259703444849534814439769141968949221594469869944107757855515681809578888212292648560999757936798298502772873084877021895713738808373823912694649706300754410838083345013065823624598379836074464485594785407497770503621686659244397869700207907499184247313486470357448740156053652247909047165398860679657326162726176731748903102515795518067361943822589786318034308787602068522766397259075049298823329090331251852419596673064502527050171850546743716617731412681970465571769178973033877951234884891072282596662025123519291702253332235379179068723733090764065124296307801182234199762468488487566156895462237560896535803713644883646041747179751526026129053725386785784178447855747319220412230241138957645978011390341032939982971301383793334591433121819112832681823623108364777975502469343542276729488016451923171804333825188052403468582832945663239135454413249874638023575919303445549243265500052291756383010232247003942612701963363318375857465597044464403503951023806859973254127328738377516220293120168984401330761985317684506029325143618569777399819949246544119032119924723123599947988208764618776418087357194560351914714829198196475103312723151811948622583513512030069982916258800999654427521047414367433251329726057554907878007618266502231240966486292403164070469368891375771382152979630804678700229600950130639815330713321153544585938280615687023571214356697559627233828041903122595019935677287761612963881950978150611293377692545411578511502956378045258091755804227533138017402316713303408900136059565534619560499571010472578645922534878377961635764271049779919434041806028716574096928479767259128840016600875738769555746520497433278550337375982641222459275708023343233908747330133818719346077105588583275545403034512469398763872421209431896133367267824398535662609695875316276649894611742352403972219629036059121893151697234951999964644289238054985616958548426694016847004904696719133348840963316727539655295742241564748253086469050574006650356086497436404430015882521775361298061301880213335417494831432909164245769338037455455626762680784877898627944969039218172056202238159349417496313114403841490195389849775096055402407821548531274403795471407040247109398189810929513989088395384720045705593749156437494240029061869427916901469114195916869678441358765836212624748606812169014535325939212203844998318189045146489089625789642052929018805025293023653634608374865009349026124523365070289592487974201202802454530324305172700360190080608302641299202529828627394065695010138067036487081636094163436146305081822747863508167954858995341603561491323699559797714830901007887038312762601442446310584634864972153697165699321958375777449047781232879764557074705957889778432703895995249490509054421150735282628062205850742922393058765058021389760178524371092478648146349431070207339585512367646871809224237087883040537910798266618404575904453364305289141371750584349200638688645035460872332196186036929489836793155931219146476615005873842392607170721522763682942300239616394723801752285477044089982994709828043243642860254850632147403994084493704203446456792165701242938447188033585734673252993545424522156217900079564363560234920135483072266057350251567446623129885078456130915029217697963531330445722720234828420782014545741895101817574904273188585902330070479118208125914844437817502805248907039823959489766939291869072696247128270302407323253616634587157749667936050639302330686764536017506154359760802513862867246071213097233223180999868200594442283766856226215550558637010451385852934532270935505490432858717818220510671207962437264344944326631175833781142762069906056733174522574094696309311890684101795943037380876337125601502553776722386566550405123941352274743252804277977630004040540902248680645549135216659623409936527106934513948867483190556335111479373268320893545799806264249816399280230208576740131525074688023788127610490490205873424579629999591376112861618825728898978774872872711062387184055209453035317158648038062511180864144323015977778854242256005269609047055817885226139635494049880625077905629773876386559945188305055223340556291779900390852212526466270726223722138729582055185728936738724083834202321197936757911179228538543136207505179983556118207235870170197369857470003079708667164223875594089009978564982936630082498208039429350436501230539257153824456768207350969377892519405416448225422688395032269303110110105113044999986587102552071385867209807317581271558116670448068916109858240322728201161263000036250279459847667873782479956008396614355757532430326595451693071098209147080633000792054067074694805777638934258769495026487137962355926594345422799952574750022779678259765857370841306671118997926465805602867574126650989953658218486989287203635012957199807219360101663231002632721587788769008513207344135123212242924175500689526684710764423989625026627834451080211526136920700743049662068333091682925038389406890966749897934176805555973740210397463541849719957395088199766021703793191925478093014225429807833548911380598098433909278829930406603638216516642788413602373462122540113878482956906634183198404270332025568366213525319070994570557267539022560621684428123983344418832701983455189156292508785412746045822545278464735528149140512596815837789704946952066390061838499061123639524275054259701177979463535442894280375155762884851019762943722013162592122383771369936333535374421436556394559745397010202938107577150461640189821044751239793297866694604077436833321952243800256133880683796154749278093653484789311543025418985372728742923024331721251393211738739903710479895527860281334181940568387478321932541116337617337044777622787259477156375198509589759122573574344847550591295120196628058893825913262824113921854061869653137981387022558241169292386425062088729029956051673719725343410459617713546974497373158681991369072184108900944317834523336668975686336711990073640165559946906543375524173362206173885737857889268320934913592241515527352642127854019543868911077046868083465578151695982993494771563805171159780296127635262865203241788604832155814799074584599934795431702341183419059339194361648773429246696862439112635200328543748158147379860881927174634377604199471596862443417740956910654775577364688642390823481936675843702767309436155854383341437420668944708209007370488099642233338869324989318478236414981677401896346021534647752177474639532589668088932405811936745474314488237713183215570599391764597956458011731180263468782304710731693262780718702543085896493234985302430439747419268142782381149857208925603010546941262329542026617905008044212389307579987175023319887031177723983537377681467477703887789885756755743514725960525796738549475948104766882504210172621052546947760560484343709031822067946853864383869985464240932400362906184117196077251808233390903525688153728181829675479904425532170703091690317353019734397713739932212400659352917326428467942532100173773168236200475719118907620241088028004375076006276133709413011016172412138682060979960795492334591724182091644730874916254414784671024812542845018014871868447141356358556098065390324666522961312339973846822169951611099188117490298455978699791808739211258544244660678726470779498546748717246808492550549831001265976026428748643452436364363843355614266996363164859328213473656407590400242384273635897972366232906223311088508126529490261618668205243730232964703336446758282908281444166556932242526526284067604836316584893224502986872725240112441284422874378211671383753720760198597592070563597645182817374526556057273292461036281588251578331970519602578665771404650714978307297505012178272637841022177323593959642089977248064722322958436113825392706122112730102621875420212463783669415042343269874398343951083788197320712649145968063786074056403360714577350179164032296483965481035215483493889299617628694839175292437318505164538021510313080604094947615201768305117445369860194476624553073622578308619757555990581194249468929732005342753454276044079638610387178331045689844011801088252643160470770847892292614788918228147268093752041179082310598462669414752747518704591350288427375624633120518440250355282496318895304684505432278903967157064535060946654173215503227534461065614045437680588685344818995779466167057789889813882714515806030373943629972164945529824691672292251751757877952764824043405597000883596361910026822348738626601475685358920243850948302481295394413246126873998205352795713834192554543581954194267330678713233552609040786782852845756050090542044377190689085284353348598457410205506935435137342892395680389614702630374350610343888027676319914305693002103261572960871791171208885356078368910173274538691032272317006495597542287605601968430067649449239833734737765677850963651339788729823836332049083291030643459452305277237979303572657252351897693703715785944532240927430776083027893473948228969285874196283209210578643427947685459127690381833705500009952763801468514882513040312248459294511976978439443755486824399781680661842090899607970644188428109778603155634419441247410523992723253262114822875710443844901440286243392569861728491991417416487388123922672667560698915111346486717677254248231993502072146175601666795986018715269910156217624637244129927602739927018945899226929831017254067301772930622999009123519816332618374663210421694671992991701879849595272372515474138517614750064806286131493263402359366807482358563230367893237857250854063102302484751569234104920715477985865856451309727398706300403378366981966766220872164942108264041774563314182425284064940850089462720823969554056431767649680072711675821060070414868260219955002405801829726735964184246594537233231270263106034304701013221829625477596619280215547536551801381474433058665681982133279792481246114141055710175448646009428939361995704669418338730445374281861726150023571043816157297327131731610164925077550429422232783823547340505153748266413803918660282400698772680074121282560743995376816075339048372329758974863365783170612087868430560938295758669591287054248659533234561111608932023291493201842122039979470195622265938497416712837088941885397861471360863582544509451367437321927042728910043256977924401266987594696645578897731697100421809155789893156700305185533448399514843491100489417631362967246048886175242070217706909420859100901124727295471692741074701980814400046434387062674082662002182594247203270945867219229809466854892790101464222614954243795186490509972404361216729148095970176857379919084645687543260952526854713558738569038391765435494572980381016339218455405147074402752051076118163347203404663340685241845174826508151097829091720303895919408763257364171503971303849276961095563980668769299908162824601006707546216564413313657101710237145688633143349451793843244223384472118313388192653350218222510274555185459515459810769127932956770106988004086796433781639590957497509218737026776003139960583465011100500011968528697361082009745238415040759557980291768119924199959244480692543154865223929556086270518264252957196030423013069990533895453234372984677780796530963171318842856015579355128310088818391672930193091209747966099746026881610267541939920267249046935110409169536305294032011998554390396561415698596877003205213081694778178236510048256351258994348261184328656036494473991995035493228244129810758316473975887803184688772810705762329728194543774098804783812855939643912606699762815022906631563198148254314761646376920797830467461247351184334972056737210430984678886149646805857345252250901586491990577923705550291589058129043231808639797468352047409847890490594158788296303019757530496455177224167531851097844190454120237687636379872871831982154625750354625342407180556953436397848590616189784639976648155930981203954925900623062176246195080722022311096385283034081100154447847307302102868455288539534257459498282193079277361706976576261341902954995475051623858357382380275840304799288497705778040456579441517937356665281103878675881419389023608544484923380925042282250257009467540588331379767160867518164807964208667446673276632099824296422054187435541140701969096296392121602626294920623013787311015791083868552218938520689203864634499304145407577471758077835560076654308358541387614019020911777823573106441588470811303404267254978571871364639155636562832210572615793989822304953294793653362941504189097683589164401746814372695775602646086630666812138621793515524401057454788978845750032571246251999540372447260489240267028924132848896066639091732532290376588980789905324062358398105954647818788085363743184981127477819321241859880370088535777364445590668951051074916521688267253918779148779306265401755344760583627900688796708203998079853892367843087505689220068678273081566510785034725100165334582994510842261979711504570718503967074818529922276355493470996408736292819414334605983792239914672061735834861619874170925921127026581654785646033949370307615507280330360109463186962772785503249449177163299511767749701147843840009007783288537727543869202330742534933655615255563094816458667887435668840107550061058176137256071379007015261769681211836839323825355698369302092744506771728866165586999302024585086334051892685091062416302506460169024336371737065329753190546395050766682890800529616125891240464502890806304626014601287134689860906920621795978588059518583208577269552952155369376800293273221615741622188413840579321460891382004178874680246166876029707695672154498252843600520474005867978375246422145471583896247604834790051302412696301084564725515181372377679010880739662113398087863619118114899186653492517486195443918808529620714596737160011028316825205714403734412116817929378562076632454025807276818076938102732223667815712726908041634144273378694420995127394571462570721414136844236308715777343176828820445268843211171263712166578510845981684998534667701998133050017744974155051087343003805651217689303026144973807096319538679356597399390669459382112117597886647646059031713394632528924862228743224379115706172459351312783693447097685685516922653064956978844281402010129791434084883898353288197173516200735904759990590969171262372879797495107161613494696560854541679463705762587266051093572724896022613860723458881176909172154679539491675724590817374185738209677218842312339285190524147187039755576834311657700472948346735831549204731339971453273903743539317675759636180596971338887880682127968260791681878383245099872896724262865305671451355225343361875866611594991953889554345530830440686631792971228286695830908343499825501578652564283265227994592052999313186183909351616201405139673674964291193260615472572837812841003725910175430649566685023492758382094606380672158053156844473598056238623143414944094052466520216638967544299970454943842838000526399137422081484501148626203048790425352225381090172943572980300454262578287550520952604568985384306959955865494514988848925700282050597947088588142794512703963000289114596334297482822903024562726841119360693409294595678582306871523641460091045625250045784632320843703613561446707965070095972645122380395900045433526792548271109128247245287132699936967307444750977972252120460138916982993934360557312542069046685556129743857343383971119151153604666303057125102956848753457379334180425536902597889141363742565080838588799102904054894231338341073497365704060495712878467685121867114874292583243512167000097135528127679465912359482890909895135002627447024405169210630332823077983432813254908913492125181937617773163317926341733660835422163572988350727165195251049560536305220166941705969056512812596732782048372255228740593459965566698871819392659567904067002207988014108376802235215303165554732858444076003748449731265742155784610381338657102082716702934999628599789957459837720162053275637966949811770280572650975577298301828066534645415463183919246445989413911380882676170851818660131743633794432708153070350480375326154491187210644273438969589418517870850048868464883926597979577234675799401841588982222626032703348943674174724242047438333722224453520672022912145337748930094392226486541043769092482836343856840211053391231401560732757616439971501914561142799712005233050524707375938568328007986823591658497961435341636699314627294843455319171557728125383144140438704306125559364198229540268603829080892779873909387125494235050785361723715832915110912916746917384434907965807023948426145597063392716594427306016018611410809262284090462682982042396841461960371499252772195513678338144488763630980472766650483966443675224091873740005129797346929882218116795203596239998180253471563055786304270088680360834966101134494392250755188050055060937978215071253334936289509543548498382113082323102253592616882851198773585362992316730014290878175435087905690898233353091342880121254481146533067236867118192150466052062696915855093011846436052424205155839192030542162409289304506771079099358156283057653664755431326357844102588394175455303895508431558053576803142581043718045348356163928295226420201880401259533989264148416467201448570142751778613694240253098308028162190567717271607036300009205052327457838803576722287634313408796562971353891629269312832150692772824871301624603983763656660988776425166035907895070172232214875727242436924026425855240166224894722570119667252160801589539383745313004808376385191852459866216747240146923354397893732894158425979632657038703889708354703257694244798422426098390162050423381721929751219490891215764762524072183796524414113636021290534937910718105307881650137255878141345593404794455813645150327387131599053262653886290824096900645027812226523052573038176256803855926952560770853160653487415698065763910718167060595031645726677293714902799616489577212124959480265618656554518265246341594875698601256736773020480399656025852521590278076246307454206384471254583485598531971904955413906639999147295205733617781657356701230147577611031108061638883443612149080726222327161759026427029178351862514442093011858315002728349839187473476938993200339871248597111305644438571742673924810072434597395848497297038397846979426804118393500314837437065149951743149071445552439410545889947294565079583003610752351304591677901906178345931463462270691593164527428697897571678652148653746209904187227864191109461022261712466148753191301639204798189906240884367409538478336300256537237087357531310262999556151912099925893867320744546568719501388665093330570769625651482027521445235566762134778145001735098290818748330419985091582732247515183266504290493707895679567839832912647055226900429186061176890576387575135436446205227728013935476559993833614295354743780060916731499999039976009128630149396317771819400635416745004413524226099455311766661291401982452501399222277698757807319121780810907065272365885831146660203335940742525037990409369461907981066980349697876204250699904657374244471026316678527172171944216978746400635603403757116265943783795391799338299013449969838542989803659384089323287587565063993561892003280541792310830364712347729418242076099654655911964470839734570546306066216218460066853999212525041576740648209042229765350864576807543441656818911453042499544860821029809210168777876567184089849633120094992614315845444918805515953496186721200195818949350655532486499086438683891215922292597586743417713352493617124881208027306542133074575001786431091873663224466933510817984900175495370357207895332090444007264278413132354411467230044452358760723619306376426482767340878126053430273081995888404156932762874445942685364067578912635778303152210295155258380090100294378154600946051690374134720595377816403145085814551645272790193715621063056594799808218416321094709304379361589051654407401636532406984321113164354469991560595902859232774937492117023125849490168785042980037719583642734664314225781011418573744818432468179744107011295412151462495527305195517891075812509773733474268935849578131633199553944634602920108557202268693938610218933930384929631544585102727970599961680202681269237489208538734586820492707660085008042095206509658772237168452831597055316941782774744273036450285220075921710892169891032129186490960725083448516330568200897220755606289602101099936366229334896714096718442263891493390894747028455043590228119337462952826678371620014313333253848888985894209204950441680709127560272907398812949357858884533373179900849999439546400896289304994356038177401153811099963220607222898066685722000969996911400194103551411585077876602010360723555924340944846536273116356382992236356400493811378789394183371177855428648320683141024417979806013459815161105650669141085115379346427663001944844863628889587670568692537034689771137767644893415809380017993578527567620919963465096991714462725708609829352546900948850813893889179499243162122746867831394457834055131075551485613175536190120590021556803589119813384224761103443827061623677015878749464837416567674803764839916921545223687570813078681549589122034339629799728214269376710082860322931322965152689292011725599222755891721622000028243438259504576420776021573245581699879226125319651109563777474482392915908473566398967108166733753641184480347528417918807977101570769584330456781466251583722894197806724840618446502207288905868872114860837883171570376652015306863487527767001170792722531448447928540222598297264889958054788517559762119225954069546885548339011198369230396673536752793733439450409549623965980305728469810145752990501901319580839089225399623858486587185236893889613545735220100380265753490086483545991613544928385459202551340456034290413715381373143508432239966544351052359917348615901551823349280590320282243311590319920982897993442858458618831266096765677242037155097139593586800978288227707434188854978164421153128212265040327834166596499654877374297965060054955969181879284725519658344346501934073922043576897155948496729969723430406426666725912944719588679140765524498129005864002798941980654301227555796608663039184144579425165087519167420047603927378683480822617581349386617074311717794627923050552272791527652406838945778583595500945342461414321195028603195717160084847345898831289592075410212757125122513795849128073806180990307251703097237877229113967948756997226326247121302970136889581700260926687979564125072501380125517404767883811894217715489546857735745740484742677171872243732265022378026196194454691735103937776337611805240242145090251799023149016315214775450739412953455955295364679640056160463053493517181812323616704998323342793135149828194857883458751876766806740903386122687242042743015731422030418775378061847009008646466120283539209387210991722598328210381782445031626692832232658162160091254247674308425861263719301054377028476609833796744177106378410243106873369161276673759943576242683204524772620444294907564221903131525324722450914683126364123886687353520086656915681782158781849518232567994221573437584070022833497933553557879888691077742281767869736646048076917596010333591471504049671052539480857540013785743236366917257242912111982752410574378359488989088417485778033875082089423744044964761924636199675960204311935321909941133982695697609664284651251016488378968125765986575421146439541501690710897499747404840032310841077195715288832319267347258453284110505132467722944711036063347782697796441191261098117814826743117339988096980523729937941624521416792233838733328919280859605273712688765051903584601238361300484606572556270223334584770747920166526777759960265067908748158267611297714820369619564303709782665808035100246962039862600236490398791904798119610150849562273593543779830024499527053123826016138271509325487908829911290428043933186542962202769916838465305706669012321130373285625823509230896927138771238705453974694932643619234887792960717059637702683225818527910541252999116199967746769033671323981120076084039096112072348787631395450097322290070155993389954612447219775891660571049930025838477344987320469144036346325471296376091105032937771822912943226969892658907128921971312784604666413799596747422497957118509686925086418635991514678515101657953794473027686759315458579638890421312397652949979724996851975257472797756779255234374380103182552854960875605611222725845175087207138861885129736565351752723103531306175333066198090714791452349652722036538248503971056635565192318484917819841208625948247966692750509065052707194001680532709171619350241349970285760705543390187340259851312369367785147614715367856170849709204065483109145052261208347079511650003744243921638889418460464135456010031563200572972547420825024452639444322353558182162381563962297306792601807603696175705303081989591480634953080104760938225062548903915008272031352216058890995232948821473996907029108930899428642267544818546558389276537153378937368744225960256986614347139377750489083233244885289341755304691778563350414373511675150090227990659540421539240480660844059592246140525510311066694797099138240084728873882720910619832903951851868795514433604490609645227258579077719215208925229735609369377588772247257333152106157950976373268870350092656920309279925088502276065112189126269314232321647328638460893634069546779898209415585262255008709265454923597916483012872880971497519049542047796676785807359225355561915034452144496314718736268434330962867276314418895136499817205488336419033318060003051197240309844311671563557640579234001289879420207363194361024028504158104990088808020512652941451325566078120183878555166212967847685510928329883786163051455614325555240352415058991679373402179869119956219257009457878022407347969658232124973984613153088380412445626723656623554105566389548475696432128292927947674297194963984865749458549800705259512543147364038279317272539780624856688090172142671164958757009001881211812918826639574273361437973764330104431221657640672466461247506221895742511893081760483951944756410487969328112045935011844488421629255080946693667112813794040111289043201323551889349130009378058511841111461797265276189147307107331190949897683230343465728581222701271308832914030613852255347836482471548746230433128287507813496696448133655833479667527540702127644495628158467596840370162761955780588904295013261751789291629341771601650040426365406150570165966128299886135714988576335818803763142725157931700561983968342482016974116496064312086662331908474856917676779651666463038856867443698576030917319123793998660221679006029171214886463970229434077948092435371022295309395133690698854031371079423859778992599916564576671687227910387800880823937941227322724204341068267685821582844142268711478294257339238770703496773981251653349363188858505415453947054395565048870839148967743415371756734146026844334080168699564371417190761605141441898199897842539144981359060203006715683303647401616822000262873808660204594744209130398626793298724560643046754865296379105001057150883304572885256236485671555753502102067103983930931424786570209779740175977693263566928023477794135692148793051706185984388429878712362108710579217907213977742658740661166460661326729754060620818822214780893724415238934631882031999070889772031342575118492561735895487579419755512072966117393963435071846926836966400315136955603163761958057313671643558825729315994071065454577926100225996928183850162745247188611305456206907938284584010669939760130483270174062712063549370095865910559550366550994755314070917428844540380784642965351124696452169518059635956240338466084698566909485265281275985696546447235278252329171050162796650097971152132988302007524844670794706196484275717363034435749107620723494268464116594352146084974541211032700135509796199784719162688970295438156680546056537561758200563374286910092401304482436210456561164031977600362417650227155315886783894624042431568266828072347119060881041680756089867468572083972762373626811968496092879760120422893449274480695906155657165171289528349974327087637484862830008183652004029728963526247737209955409066727831901515406905201789851897423504711422061571591141476278774953336239053973265968586168562884180898007120510956617628910579010457488492469942803331277616983340265802413821102744598132084330940106462055719035178239537648311908315264274942956377789718802320277036944039627063702067857790921571098416621246978453065752104488266997393363013175533211874785171078382561332991264265058005524516607131048093408436032754789267353418404026727206168049063603131200117526350172977956001984822252499852258788410495733147591430017089508307615056496818544659304254532188285346069108305728815654839551265845988832903831815980173777376504633433333986202071467589114488884243395577483091633912231183314629845027927409512330257023467050645966070186697023077597841738732029705520590619209498022672847741074586621051827437043021843259311914328591243000660825133300578748013107873059590003637981346690965108578980238262001090465489878216070569211680010039910613075276382473546845783637056459057318951013384553773634035416806670953075215241669284173544540687809127557984337234803550050133985418727350597895299020712318184885929286389985533047372664678828628088152397898278125356211473833994742178152969846468651482940036974344842617202527561255931473990450569415313471957579171753754522094328083482754785106773595904303588616803066424496630764021271769953455578902746496547913041951138578686860916239994321707341364979077026586705247956498927470023845453938025080366741505805523386154478135907159435737877743156337246685709409530047895457887909307411944801015525034290870038821573220457701921004271324831329805297127438669271042682132455857478054557050617923675248369175827245136526936478591512903136194454021778686041430129765244867732647324931726038226597736748174719179716025712597791556301996098429966542884846379244473890455447491212743010042189337603606048582086249348010366294020915208198359091458185069383083729673223059958852236379875303470478158179731560860198374165213262852138768954055595423550776879615946134204848529177662364592725968689512224917473769436195780131727118767740601407464550190082668744646550831838194390585803317132606719682785644360267858518809889170221825330309044899009571098931540434344030574585018659786720512028092103198979497151574037633060631580639623485415024764400236727233619498581516728181623523838905910651702421845782038370587836502252405435751326426123594774472289107132866073677766665071256789006639821092111680730959660619766826545009966566983424869603308274311894984515883052835483663661315461661017417332585306780491485203224504958623881468635903366868294916484474932279613071807473047400589195667016922369831769346558621919448568951431412064693303079275039183896437887485642440522551314042757044334593661349424589587941982650405827351075253966423554297734664768013097077675542853127375920203354191396619748206368754903714763308393529022678504864386710037911202496470144747028590246990223435695357806878947294510520625353279650971565916812618641472939559921802086291012755566513064879048577359483594339467577608898673084510102681088818264566299442029713546760163354159785091564308660878571283301821407920221484092909523241762337687279297492880239843015326747396422000547004349525097161372594948752676181571755462337767758686849303183854103207010051582497520102159813421466874770292545357026916609018942695512087899723967109474965322446116126650801501431670436199820025788936494502921807359557947054101513505430371779512963581971341024849690654067373320360937747629547669337041290496142230240440741698962677026524018279789107718926286721629668528151836951418672845614409402370492042397244095714836120545384256802071356087582520766173797994203170176785286500038791493321918531142921363353778855702550746007581674737324238880062859586041176675199321742827912506608870910152371256185105924012295709263164771648008108957180550018277559059840128716510269956508710891766646673837266760739769983317629052337428409892989908967587939082738725877555746297763824604357715845583213990014054050688006370296818892292773368696834113839267278514456007053215446732943458291879108273936664262894720854822599963913499726462926927229714332134375636600358605487182719837148302973944605151647324831743271921329285506918646706283608118677072705590946284391907027764265540415963846320582137845689570504432748288773390184412376885645269192277070122975354024648205888371061275452355548730469013810650621072312770540066962764649885757501273470764128182122441189097665365755028137576598125780554412689870841608062661121560019142110434633271169676474709567117536276321022577757311469271451477503372615924477847665740045002916919311180917658043018582523385290349949140618220753921703538031123009286857720280523992283468784217943922921187795243384215960509821082699049177799001436821371628779909249709692631417160386483211241604895011354943033145367581202171365963095790635445282872621388156768272455107012283789195306380262812184662252746748582828512773940567212886371380304931881078281187290650153024633970745581449534666465321608016996274238115347026719015330558533288735329831368057244328827500621121911272131204583046721737777808400814842236821884096683955943942081557816706583733542270670771695911523616023656591967662065081655745452629817629717146297857504107340270078332130937549488499747401795878940187920252878925315197598891188950983404783416207139977379276568994603130272703159180620498150547542240724027745610787392557296865157948605828823619011225750765809445457341204266092832386520469358863694089334766175468657969318369822770228776137729292088136327650021925875582596939565335059289548226285537195562386614153599261795558559064134212547196004715319814293148234723830077040613683969607588201177452370637980920519831164819792293522259186520932443424577386383773936415171566784043526343809467825410304791731857084647559679247047194787536654908510776118783225852612787267254143113439111389056848555254713347178413780488999440163892426078898313714562708489654182571625521158356870465462841577757369761544921132736130954056538145735309226894162228626864701098355931572707128930703196555909892894343303767119714179967946378706871360397399474831727190449374980087050606937134297298030319554008372027878751782672229753490165020037882900951026816461145805403688039198490587037528662556866402679469956061914392943753983257946764923569415700110967523692772052992571058384787877834723438262692142700352067051098766444427687828041625385424405916326314339867355168799961154534436992053368301716494789457562018333778199178254203689721007959187216502383065904318877952973263409163773030705797389751590770296634233234725421804792272269304864286609832723633619331515125365685417030059411345605988304253959231631277923693649636972499867209198050626261242419198162014956266454611649964661997174030506963089522888899433033289712938952460721975502544430792003027821090166339450822277490913761473729151470300364106994794074784903701002887977302355317789451627660814920973125948788847009278009983321445144414900657732107039534234878483426841811003185904085686590004465109100510830074085667520019000738852565618940947142139638387873347740074262933380256627144740242052173338783125900363760564585589880885449267584130820637126632381288021991894506456818494600178259490578857993963740770985805036251763409187210599991375387870381347247124351195785814456064636370303897562439350322008465801724722985700332285995126317597911968504688167683420130222898336006412664310294908612332194804511809099223808556852723964183978130932589865376247379032161421201509748989056425537662810416233860214886606633069051351974578500431386191459190666819439604586550256242963606792415603631213522644273948856662418766196706448051125257716946280465631519042627342024382673772217119263833200823949456185421532618551712588354822597443192957574509252060680937975731848999550632371839010996238076988822444489339067929770438286548082845797979357506479965628817920917766009026139220025488018824222069430701530880349063093426328105901819954124227141803727693849448195580875363663585268669762072631838624215184006183896215609434647467066610379693694057162569154155203404758296585977816010666553880634030714459209475182341497314111986438116461364267438915567442634274077073735752565100894845147983291269204396590191775678283224666230860063858642498765244318140446973476285435673321346230169192946901108397532580156468522226623144991883312495681290321303917388275608309795353532813492932780509154505633325584075541494148068966417293280129908140864014228635895409908727279466572187515787201981014787395914195376296260793641443324654225977515601377996004070502737713046434068697721228921638444382909391435082399219838770193357721216190805003389706103258072924480950927466329924004502206293075873673769357823410347558392044970247667243383605516322426496608840215647455455146827885083458366335328917828430823988382070915967213043039876346147347910849820522748307439813374597674699160670439889326651428335970588218954149532755058404969002089791021230572254143789124187017867478979346134043101104435548590896497491999123012670746190843357692305154586741446111338893749103370510486971506956892669082030925220790017606890228728182653432546859910586958341565965093287923945633322477927932270759132857323206119179669555301542135524003329280566122850164194824546455349210426134814508333537714138205637866144012183006053823262968579644354011016449003916465989535448058842594256918836536196210930799204254919516376334524489117506219673154107794937891644914269069279914048760117418325794590888868108023243366533435580847058022536926040655806558304643988028427912874721625910386328437063834196955531885585693314370441786969633241621586154316808067669657643462583993389256510399297652204724594937930796964030712671031246449556066525593869888370744332240336941968952140344814894969713390716351777055682296839821753086121954786985024751243907015886996301468213897658469584037203205441138071919954359339482601594445896831066236687422187995410948305908129800833764853593964586061667200669031941570657817967558810952425126731459744433300779620167109479891719486152822996938444070925285816349848797257025516158916895545719982691349037715748150132115471618696112163674126526456221795393758224304118472386104829699637792998453902370957098684718974868117102760671336912607708986840593367636447813072945692738781041692062204691936610645416460072185234501092249344352564847006317527379900770679472059764109507576818106299373017548989249034466999153498219136241052786666917097539933094009711977511079505368735489636248559751321592837969119296465542228970546389069612906493210764324295470451835446989616463062877494627746263820014308209578801978166344245161645217205282760557682997930713216491826779494372425155986251387836819189772904905799110972238460247155393381703779040658450489853577889080655025310192624704009440485338770790739782731953685241582454753379514923845057715561824880962315578870997005694337923512259121907947803456657756200428216006188256970046300381303604024090538394172620692914403578560159328393795845736831167479278992792739622865350201755542221616650617719219032810166567736607003070959641420004662514440618787832669718347473718954234888033038612226098497587306275833675420407358739832952879468513878313315220815496598958887305237851056286906261808604381802903695376655996397761084988824276823802067726679101155795643249879237114313390261978688425145480385680937363195136279206193031663011098473905334513940494854354997103690083857920639985815963503970194190742207223791006926292270570598834239344100385287476237959536114354439356384537375256596402340745073046891241129342692313716331037106878052728088657224834361689066962790418304827135221289508770399690095167935450091110612311058439149160762297763789248767892772555354927443039653012780999594217668653544878025599315878629829790795499408643736708746416107569165329526146299342790007185337936940540252149122368291099140192137991667223331130045177019118142382251722136376523136282959543405022787678089923895132560100195232439123436700773381021400354864277668431031120691806467635654963046433349723097231386707480905359580789925366833201019206847580471028564157917760170680225539104740192646870259555660478506256994945625809944781758169855288855484738308913786139635141643482608348293667493662719229236526957785359824243189451330582155942011363241431266672964013262586355527997306832416336084285129123331857380316041398891482856714608485724740725639142860384100559707001310423623640171276079813079925929541988794990368843773968759028033010547010331957345413815860929213239888613584269326322622311533327152539804184792080962107933484154377024990491254061356659951685276444701065656082666833957501059364129175196733933411693933299856097658769153488273148678697866713870421299317628925869439652479386573507505224116711313893376951168586621498269391944462750183998188991595129207434238923902570872051780437596980941503449616634720039158388724556523261800280455213752531393743230737438889799790634468798028468954122217005538221845969528420840162091803958552072909861092293143705539729607528609104882501009660658674189998464613418686296934829154998649840448527217247275754842053099597175744636593101817056640215885111656818800018918763337373723848197127850181638825762608696266669906493005712603036036677544532983323232403253339776855726668392009542654081890238511060005453973432754215483328400950209209388173306123681679404521995268619934829258960017979374578500179869901053173530959681640264421927627013286746928070371179020493732079009893949354181380502004616975484792603706581369773116265791171829748957414246474476152036536155912784904580579461236472971584826739708429371474382814986465741654361016650775284129391383747463850538550497594612213149118175454287151501329377718510333214565596518220163466738061733858313309591058243648986785798216511209882341395460020422911050151983176115970597017354715388940985904259915615824841014695922622315093250064459754175813764062076740753323825887588787989415811814650638224604733124643651044496390748469835537096620318571218582966342451634613534708060969349575627730809744712175491679590423928693490817665382803415208208130310414985820537625447661746389275720070666639332648653745885492619261375224797102256073540550672408506230469793558390195982261816287161087236975407900888529162822279365107830398594723812567567372576742034912234733391263224285159509939705627724424512565836741398748199578819564392297740827240363520979853546408136642084061588970949519977756313376563363917614299769120466241021725100232910368373206999476803140108952786901840171559934344382775944767515658438053933391877873074899350015019765302270186636175561242556244420732610502208673205985253170812892262972740391326114883740658918178498225152636490171981462455704524909135636322822209319530034712482941809364794810491256279181728297370622975029810255741582173589569779807581721479500614282692517885363152613937211866358729372029844938878193438994301120997242506870315313360433414082822202284729854162358173336814873331279280183302062972858822136598451855299977111268401361055706543495042257552081092855126317272004122238043879028774521587218932121350494327971676907143169817042827029199048039779359855657103114756100132604975325447543643041138598705474136363327848272816676077030331560586314840248795466292255844143348341868050409294031184231468980337645856951316989648301888679787997652736980381489145188335255096257805911201139478196086599340077844748581375446423986637763759352234364428309650210179400297905774584799963346751330380875097665725072886735787552056680396422880995196695123076617221254478572398096316230156742494121894283296315212938533624642460761184807104407584248576278961801890681403548356565785113895164942948520563193472923089332039116848116533271302126310656808321791448923050165315438019884544418110114527499088681442233087121408414313439557578834730275489162871082373754651579135092665202167076884605984325751968888185431912585116090812912494657899730209568583392301977956532163088030626560720515438061513805172379011231654969952294996839861298778862942713505712436138368378624616564067222254407842265515449209438942652551969505104282390992136612358680069218521856602398588287570215365548060954830360629123822886392021002187652657468942111986323351744182705180907777900784088618598905975820192666254172167480782688132543254432889601648848796170266557959550452287307460945013301917568360785617391140209946065609617860659508512042982018986085843529230164870351251548614608903068796693232261902714681946766191381721667723738945510966634593072942512755558935529751583820420530771826965050623004459470560574334985123267697416231731232740573465260815221912930241673209517592667418960699427492066629852887786066070025773632128968281416290862880502365055146926066106051069441799009248866463217930820726058123853022136642909295686174444023595288396993165433994374017025859345571583949826814337180380276669606276226115490715615135109875043464872450765984413208604834604864099044358653646315328796839152748304188752565331014625799721084947512058404113624103922281184774066292051432406806645479174974707219420913923196348595489982854339411940800859297631515455030823978133877564200591668949034713988047732925888794346381829465946171886375564402307807204691978172511043023193916194259694202637633933958298601588217764914385573082803887051798899497676835276606567488937156933203918573532641727627095168882170380579933780319697355694360750743170100225922523667962143773470010546242330570833889411454819271361189991245038646531387018104541414464083221296195931459857603119666772536214729108086412201334514824608461867460725632819395874674065731654294311944255914152576239100455785388579362167372910717538228479270298364600443290242205210825987413121114261868387488272525442356170243796926683735006989993080070075843505586549892553312355082091393789217664011445826782400914007751636289472746616586779313061683296234247743158153744109587815530893981721601973143960240579941070212861700228530101916874026888843096690294455248159014154287536494285775920123255551725066859860180737958335409365740377532161414003501875917618556696724752579350552337021983845878103206488526747161184768173208128360245910121412503605829099787104759663977866451047315386610608694180296813250065949874617336885494011611559699084410298880058240854541610700027656906210540867657599101756925055884452644837603412103657989704406625146390804751607241505210319129617808029201979275811803351031692593681474323563872459126865612618380195511400021136467510693182472064758561451839008700697163450641352752353993052397593668888885471748566263038635264063305022687284861068847495099219647993830543542386533952981260136671428030193203959125241017034231713990307044953505443941018538652375525364888765421021394195816920669677638880700637554664327845294377186727553873380907632175786089852827599068272632107451524191280670731636031730622128003456135642283798440240230940314368402261223238334530190473938983215352773502679754121515951052641362616397578976912302058434825750362611792061469083304512469896883305993367028084843722010624843944568306785460246618873444974429097803813338924929290994658448585665329125745650803438246470098330128463309354696242610766607022504929589888583906551995572250049781089870209602718362330434621403885456460633807142896201480864401489749065720171046020874185342675157376528390151483405944825127433628446175976551943218683938157246391670774019197160315296018164307973998229767005530313123017105215396889362191440919828150542645376551279580201643664964448669563194949603606569525016331616383313246877261716647514623406137791747192483230468097102857413956415364131500008667399624068174873316229500534679033571183180908937029964089982104677161812597478222516256899746935053796960205837120146969093991754011232794993598943583510106868031426725995753956216086043094368803548597337082306533647677223228331003342330171009868695282423870747232657394028680448135407206904802612106953249750561890617259245417668354374148523084454328127632275336123301387282829182138416512771595476644120667699693667124739415371915274020872896635912944374208317920695199550424457885238877758751706583225312759583974753569993148080287935146125859321485847507593532544656357957778443565873498976122879892424203765034517824236145654418363927726472961221077548171207127093540707861336896274462693933315937631399064081236851030433577415031566824460035507725733403614621528726806862035740270067811942529902373920833403394290331994726319522004187201007375756758703180676727620616241391269974773430876084573544433631672734343881578439955988138981189791043855916536659265689092037117750540351262813056624499052913568260301928043369979190574873413797235651929258342721623407966403333253260324662070127052595856977449674648843193253732441956552645610393852639197666343879042739271663908041116538435236855151257297313104903296441028248953494913941031266875537577393231895708410085468388438365762968589830000398757757320000605362799619517947787465039275117351539984705921965925743732901801537857558114325373450112598744289455333012752157342794039383601146521689644641760349876472915453522052505625270460209189342031542979019221715687416223566117737495754376827491853276963730958102294263686721969866910640574387113023206229309745644718068747453830805929530705009493275783770498258894527004485544186005418016096170159952427777335107349730331990984492225726254587297345364223833438298119348198988778704178051687971206025709041046164453624393628092787524901733640278629361605111491644140991284865968441805496745303509565314175931649129769360895046978657113319581663780670158968870875213222406115660072023318698479146035785392617895521448845685787162125354253316794152414051039237276022272679658409249241335746045883108944793407341425597732922721871940267767539237316682439466561705884720690037236552451666160968649701020477605313139883592738476539855398326872984927971103924054109037282503866231190844769212767636977729247455678733154932290067044088804866022374468346034063965006035759130381684362323978499454982262342134836673750923917354127793433622341163743212613377056761797875156523711421762281220337220043212304697114174805643240958261765285264814300708651889063159389193191052811740700423874496598139252535009759027309752477325366797941888690225487255992205424882020346704908437669973064067391412840645846974787325362166971119276496208406937167758158964621672523588526008366563962892761219203315646173638620205877802357451306998069700781987641599212966865576599352550360139933234959925277000537099488674517002074413402949275397156533292079498656002542181026194052206259919475068130451497607722183644875878542390148627483062215048283020936856206867030532598660836498011830340972063920749594466544687807340037514342243652467129602683501032261885333550202175373042389430304325712080684120776255938735450568838101556819373851000843736987722233423741740153259861500497938797403612635079607841044536966054952502281118756615675181664174125537020678346376882577719138063711361930836795222170725890134277644003666852706882196958568459941449685057054802943665476478712374187448784607301441869022053307846479665569932585187893013993292129397049863933158099466609589242571843436599331855237610566367640704915528322874063046498747440102750088210972686326944170496317653192483464628927261913712653333806721425321742018792019640933296692516929259825650141281321002619908113565828915406104378459719893799002403030716852412373982025562665618661037160264647584745680147676400606898066881778466914118402519727558940926134689733543536486096801278948385856738055855356554605110602500907507661147565841597011099388016656239810982943584052387304781980057543875752797321588454631837991000492268606136787165153192012778027818883459792527416205239376243127808605927932352546832849305460808183847087366901460561572372165654257738806831668754323962490346171035711059685441725374051699888184241948990799452006186898824140722516298969109675575968195932400444267066318644070902818218836110562059286146328105804371433610715734078450130145220333022017585131157015992425933115516725364900331281253744992700987948883628993136466076855906897570552273951227763635553680104499521714686485948895096751848353045564590006938579371994582264018256235405343288799582887018523486196657194132603073270690971763752298100585900929951213845387361985596101416379587981500492894136448026801201714041180208385658356282541620361170015835573646859622319066558209246915998738065701596123395130611538574853904280032733684805471281836100054056421551203553578681703413923699232251544079476540043331160245633195883803021580474883291967437369346066609178813277578976518245192530497489353946457756884548093031281534311139332156272257096803956107025696241996873106476901377204744377786511742881971024994138167147833848960440635999341348627526128950950445907645861380760232537836369773223483133516133698634070051765556021785236586923569138096690985235292083689422636840932562855735630648589371970699305439401243777319152674185452468315210930369127982154422564164821979526086389807875163706522772928350685341874514901319511734112510467500887669665137451011435036906892976652251634177087591024392325906079130700171313151995721564787717758028036070310387160492570109040316695922371526725383945561543063095620120563205521771570758770764649281060711594045327713942561532763609833046282305555598840197308510229013142497561019298317596506383883409271100850914527372657826133295519305543566194939767128994931013767363254455642172605518469665413777346034000664405072288214878619627861611714911003340666698561591556501355812730976518763861033116788855309432903382309095278854511650787613564882530187102749309010334916762852452459135808927352416884552325134260106355371865249499270825007264591148041068000264237875460983628389888372270969635911829918492039548691729050605657640067148919609401811263979830317790069232696426529607162242509514435458582081836687631664287315242457332043472701393757080670982835391962914926279824156532926511430873804041903370955933148668088173875045454192421071787177759003041290973060822319498878086092876240827205376600996374508972111092793487316560390119346626087391203463060219504006395434769680355571306792357737572596685653507939578611823662666105722115030507757521797872974697480195402163277276511773209105200807839691920446535873298519876099785194711828930680446738809853315819473334717708229620039261517092113925487785424646855503202740710043983305603719190259298158476524966458971318712703035247494320747479325219539520313259175716834690759732423840777324334586369860158548506706773225280545131496889658145079485363248736355718963062372586975290153451068383241644546782159405667111443230039192798921346123178234087877458623807000091235209595238988128790571088399754126269941268900686589371510648202952358301987444259647595885916215229334257643976443615301539712002446904703053578034277252512266383993087062039552529250231612623941049277050281405085315126239665141695040191128262506199741118364791181482360115244114016992256069592219349127067987873638246630027453364449675249117257194790221360618040065527884499988891959470725921254668838324007758146647441725756213346331044760497794517773320462519155670036340398495890056833932373058913724261843124344300928444969315047914608897032439478590409166401802293583243429791756633603732212659568837898886650426698345404721252923033243465586051327887734021969763655399201684630681296869600998194279562851499463989316719063964654031998007371422953165933813352560106239893827420589135261027439413588925000123389719427987260169338475464974914669923593191379705843716686590241544420369406792149301444303855464812819113688528584353107537585367122033508481887349633219877607507688616935847680210345446749493522251649545418390981690950816474031322492989619726807626408308002327837350600103702904799486000506413567599447004151245837853764018807540044179262539525541234884983946346763186978270565224378900567491586297813296481542204538869879638903825250855465729922318710034072367351809177800324208635944063912929424451736092701882378545995368582438642290074217192181208896050968330203915196021190006285007985369300326349045277317518417226250240564181714828364779402471784249767811990515983581313775366589645766979651391197444931455548326071443470994402771056312552850909652944560728604522965576219492190901500263611897100794066010867787707997087157643317275438395308760738298970100709376072181604796280654516170469832888074618058092870088647019761103432327373384842896527844467580815613182389619762818389121620515657125044164072712265955990687812480321731286302924911791867515884688902450430368697891201561926559575476778500509765347939589698282407065652670489037255158300429589870006770197915908157156125582716932937049714551465396871594807494453704700980827972087109401229169902303707253471519147303858862307688582153393030985306400006263655796374068647261651961715345819043513712470970532505324121585849232295172999378703673798625347495606134340877294576344277841627748144208938448335753379219544692943760141663190256086935167912108554513381914521374015185112188523897294518680216295159305155166947214222139901544136700623933516949225078388976072371573114794996438105749781683219837981703809777750255678797571702928986250853569505331310153666542926639567554890456801670881591201834908635034686662082826817741923753900565933197301707761656940568849499117317996661258124392719214043508439103673757625004670888331666125666086675058821938045324214264427102539482627627838278107335305426153272746081896993108430398782055770643158252205228298935796814191453616357920619251826781223512796391201456565002394124031363381270060706330709796839987789329567371316593645274966852849039197979454666430551676125830084325655092390563273872281415884497637579399413617322685002277478102114504213521991847235098334589076374748411622343332883254544079983908951429369529132938957389983006687579532439920253543669259453319733567084788696428598709832379361976087141366642240496780148117714379599937638514500546169289145059366560058668594082146358800510953221261599136656585149646677040627571063140591001667718990912932002646160682824949237304572622996534595173996761176641676708410578961032074712009530670431536189352883953337519015974812493728042496749709112871098299122099684812024359960713179475015317083026956486194730690964539857084046667016122918598773055718138212133201648759316422442646644959352131821122686136691640272466296395011581907326570113687781728662190336261081958539881845237961896865471121814693873059087865238179989857424298494427488217767751381001906340532696326213417437751947277378993799143702173376470561084331979912047751825290849444837241668565465030266047948975927406328934457345985135153485628100346003520548718047204863230376717506422917026439066254627412662087707765940176135278716811160495461448449291591708283519884356110970374178564499433692225873281917099935944241294632343274094246846964668442657182683364511787963783765173030104450160089812031750516109913663291468380513896462385294100244516012722333279904918676431021723859716304816669347542236751650905209443619817016823817894188476381710106345694791166953631638464519617907561214991102097007166826473075412249315223312835164240507956399275989222940505022147039886634361296510530330347932294906774429983568597141189898591475243097849314663279764303827500390305500036802200211231126155716041196468494590172443892586831354341368121002101950560882995295033209051167429629464255413459978846375624736234013400434230076533637905367402501540637568668813919872942567049368450354761479131457725073981596210546590945615582166170704290170382350016515179020632463171394544789910989393847872707128109377300660439959051064958432166062221089844375016344694389513827941563406674397828626671084307906962424849947066876823386482845126462547390846130813472995822753473066032576800597161464120398750651377928090840965862366813631782440430163372114054910709654354454918672973580841691471174347401826636438167905797308464639100077595289499469521641254683423646682802268568862943728279132806220301597436761562958583122311391900650002045308586114691570591831239315295716337201428875046711621826228707768366965530387598092129229013135595883348916565993169052794169401909044679943176639491970401245512356382757860998280320194872995918817799350497217978006469755296577767996352857209600270291688416559008164388991452830339186689727884067220910167136549673764179476217771461712119394501053990919300555450669055852508332591817727233185503807465706924791906693799921593559528831888706593591532471112649730420391442837910193798810912352377823301031636924517837599171132094531034264119664697315568440550084883724753393561140942433433966523097525592367945438502079696271864424811395209239882191606563820658402185782902025346006274794196529662173497707619105098875594495267474508482548670511742649875543268581157662775390208769574837825580227451426296414541110191477444853350430757790056469996473326799594978656128743360059202173695403502961268346519481490250150894548990541854081362937389649742233046446627277617913890425287437029623632879500112400804764237038756409378954750366323639792976483973585629940979550034129134463795307036138570319681722876899498612307043295356197682272808164764567356801531455628019022530795096197069944141020212100854342403261438501580631435901887632798945017053546874721245719615954121200975080999682412286009292939698443953914478284487524464905540717824428584157116100535230100254240760814956213564495862780287735537305526976971938394587225720407037955873598753662976390244019569943258744787401173577239029991970090053776065761837014261335138623154269502647426742786910552210064705673924866595099533471235005598150690965806852307919692404371153936616736667921060044749685910513288637910412773524380124192859440276264877006890830064219341435857393877692536472125963168035837145078807045207845979709018764860328993049184849987944416376030673675159233024505887734603024593950202591443450126668893695987408307776585167585795910322590438943647119994864821877440083518876335203101670696215727931009057177671900968366053932431500907838963253558210653125332112092927876375923963312339801634597075148432632695772775047897299284674127440247077216529495815423948846875633692708977149355717918829051608578944731963064219923851937938312825363727271341076156529700107597173581573651620268313070124070059185644206670664282174554343333983692031653987510438557812722544911190192971315086346454530943625526858668622340973089077042549819212120346468531364295789373608372076618447623896703142845464745427503621220603384975495108747527740816900609404732541343034456674337299145477481311869407691223971964566239227308493321724705858665827190725045932394972591249922341491095266736995648079253329648469213617835788045262299619145598603938862634367074543908172644951339468618521000206510770741220597515139012517614295588961967552630171516488427586587619061822229883737833755923641914035520966396997716863033497691262882733604185559419079856220323333774071076356838122672030012809038390298690034799269571713615931275757369933788948586355898026216334202854409734577067304760253807010248733903990930623604630735454710159647750300927427537970871336355341519757643349086504661308381543990358654101965206759123328133496744357536669706791520037377073854731180004465125927493810940149902376420173667300399148250014922418634602079470605838461327533164516999138927113149946798859350665967913637580382578145260607079876473693155569399256260296948704332483022516322704309567305101978636690912215910337631991536896682191002312112387753501308958720346441715071276129759887254369656564259557978153997547059151643052559106675812059624369304911291120129208196856076268173977362878975161276041754397935647330037246457911550590732648232679515317566344970101911705086425272048007571643344777286117419710460541988566890367805377420877951407174868192687446212988276813620457428542679649251350204525142573586491643029755118733563811688141732460343965994895788395170507484350061563891824927284071326754654489220828153686686862221905297850938830810301059381304824415433391448687785094147432315375765801372915499990899604180534470872834423636603459979295669466428641049483972777201877090743247215146085255821261484183724625084682969840194317058754525702810746338693304076272642028717165241760387046503860584244058682682351545759269537403475993599158025168812142713490073258545574055598175476434521770761208318856686893929790991564697745361599394509312485352848841692906533089427722118997847149681036194944555780152066807844611722025456855201502463413643977545779478914835632301242922095682216243493713744219634497098971816049337427744014107434830233838790233141523264129265038511437931488246202742940254320675458578751198852476091821514166012642150037188206956577087396330837749548255998406409263217162175927989828744205454854646624021450927842838204031151226587247179635501040672360702588865140325717582500555037080474204244476120003788735053326440377288105217120844683086598866768656378885601085855183961042238256750281918108347610083988061419269768642781353372865544221256750360863760756281001797713620844568825001212080169995010302619753155943748735496370685499970379343622962571380256623322168039464653584940459363768400577083063263460307756111228751977643345008241424453260934379338061384428270245507086172301422912143924150814192209063289457233151657358276190716409764799175621525411390834177681745443062194795978307375141619474784581446623933848993267345665555580862660949834513629597726214476132398703951276940926296832122189002822532786929512493481294594135032247991395934612250106968747926105702656890024348305083937368668322309260053172901669598617233103974303050875736153457613728783413841578161564425246405157492905840968456854250351971327823712222539519435326951433459480681511900646949366574962487835659886685178184996948460855559043972110251393567428163703194646423240657751964370974007507175846303393940950291827997373075795105339884449871568390380585688917250844161490384745899826403037234843273997119311868817931595750144039930595208075776723450452423643270634550192770627033943827927606280006371082836728834725177053596514230567067357544989129712985355019674527584200473435138044065598166146369673176884912330278117673243387317065023294678012250091073715664394430516834419303071418829294299975114740730464607399848412285198707805547103774270256713724255869589154066908907063719521911359357858610606671476716518237671900545670631235097517251142275506462323237224795113796935272815399004109578155118295204790977569800540719794762386301752930714554406848670236076029718430058578724967186387611738958754298989986486256850386591104870120337755201883429215194019956203112894692865927364735648462415259327707539714570767246726247154538017151583319162493957101083478474592255744212795430290350919724670504428232443062305058308057283179082409546630806342828451833417647943011249231530897255241120080932626937605932472952331467737996504709720433140188990532787869053965737608353394666266850884620026044723024503750630615891496240620641741526977840846275958934902125736836578817262831991740545399292040494343895166634516422286779340784195556285346302513908119814143187485659310898051172234783499589452539031216775008920890945988643938522529512206371187213316351193736013784668489271299386853178129252499227885325084676702480226542756530185831114858273467512085349366385788716321929083968419725931519065809203786753551112668352317348483416914190561494994536052952742680120294934996496320551564498598467035823735362206433816392955331932270889489550407226970878224722103824159458852961305804569329008521906061369387216978022242701940233466328574277987194360838929730353464870643178629915586734416135766474779947666454880175015988279149868958916707064801262159605004247086840454578139984457124822053401674887837219401356243704370770870978177192628693321746534396003731905772034448181765155671056807377240624900206961529065221517294182317762501682163771093760337767170021593611459629600530767778989907494942203541107354087556806970226239978771591249682927370114836866028792562508274242288591677560423336433747073709438782185609148766852864673853524359745831147265794623637873783375391261740983293448728040584465127756430723412642119590012610275502174020881845823945920741456109633770811454817171839873502368260702179793800041848782767820082071699142523338347478648950912592465905993607987642504003725137811796035533423283415294343375532108007532725793000525583875761176134262895911167072067020270333504273086961468019942078778494364634833120572212679666856259645702110255082476253256825687633039570521939724877202269893692429255989775100272880082921748176238770798780072000849981846868513400821128369311864397570550081713442160959899764243456566078827009439826445208289646154434392128441042039205537128909106176379131635880913512374286337121775889227290848416746145701165836683376569372430523669699928406909038913173673899927769356082834393379872199346546971340359339136939890255559748395159305556601549907268171976415603168893680184062578969305106195246866212820548244242581672527431092007897421889970790259781770496993052718736420465112395828536842383157091658509274845371525648162343404462538454396445641280846109080157665323014500636186284491032672299285377180676135848058986366325653590917285174435562538452063398691722334673546195003615928200764086612381595863861252067556318952650393147194853607761246711024414328224610500316678064690601269844473491447668463414415844181559865821879747711373862735736957991545544793534277804846193087725333001201883207782498028236373492087013537615415395368767119681527803662782229852360716288445425822136089599594646060067246149226111428563688115876264075678532228084813573806975332581105746894468910313492886202090770744900623040871180838675134917772258285582820902178781430857972442442116676080268235859562885180858248501710868878367222374993864687407841308209908487703972547187029900211184287178542493886814659784063097413793346399055172517786471969848521487685740538092032686106801056703822467792869171729983968063749713624072730754695291924671338176595917988980266375428734903499402779139244655494211149696327547799385776340465657252642203764902851889965317269824953996542178019411683583898168708823542748054424050745735380862905198975540948010466851075588864741133762700200775999737723863982310539396728001155245896388238317855153088824389408966528144687669866654456050568629089137548125704124035465993719648237331820563496787094172658866392952917210583265454947813589163264581330049678173344856906925973876699342252716859797969843617013287346028930596135306641316144849044866830074238902897669130945405044926957223774645546430000947055301332859560210325059935858550768952963590234776224625248075524039196916685432458284715872979917876036212151897586118365677386066911885272645223876982403676171143939389637275564399260931272270436327877872040739702173841493795396038575339412122146879655314415176064178025899634256505059169043172345363713668962379517057935209196332543651384741173523225815206775111636896401922281391842817777627022173226069485005927457693254876370236088502803883248342879926213771644771549364637827834366112295118636133285453951456759458037945969258598147199885607216405596622799314710707251123485869534447607067403822323900943969337805421551156911619029664563218169695871346499890123714266943955592369746200986399220911352704130543388845356384502660780743528031709378378503545901755516336913154042577728807851506248733933715603304786571537943005671214524990757732124201949663330173983672557979587165166504249249482781146309569683254630788617270544567692146883759883282630255720234134542722742035349369419946062933405335050770089250786655343390867738571018969756554380555370600508176470779274820783492464429079314571698456974111457804790132015748808595902964543248628120341915397698141621111018539563989251481542137457247990500118215423765143221568703107759035521341519258597127726357962885190545670623210974907734639500813895752674915756513500745874463041865672652121065269680247967032642060651454802942565806693394972269080524014918789343790600139129208819057296199822064150550987643647152989190836842398802003230420204649555617982810582658651041987376203219350768004104593608641860306545816188853532364535219888184434250063143629520396602393958403886672496913987603756912741483122030600600793037658189007090049355447620622366271807638839992830419168765471808126264580490315443602651326116264554707618873386799285879273798260127219364955658526576783692877347813957878621057368685499670084035492127619041132720812950008008652235507075484861239632411718499111074622936333007565948203782973788708715127733450912802076081427797922996073538913420240300893598498136540497458750534362956068582320904644196196572325642896829512203755733687766219866615714563398968381581340972645913212302143749623526111100278130364683773397659910612111267310837880737545313193682961029688117691742980449470634181145694004256816100701166713122262023966696691016047551138065510073288996924807161894941080812880473185164737037769599475824128114184555499176974841789243965862544831910283394158475819881827661098600483704328440405678353108900789341289128389566225020451745246600110269586858376008377743324160141140523710909493710935534132239181234578490793230930070055251235297422020795863498520422323004554606543466110516030424166550594425955242592396649382963729315549510732631513685099615459816631399954753506796040196615937809544302336620277564300695553808834667907327934339850241405575691814980595262752669459031134322682234502540604690922046876213287258106940795712595138480734819999225578325245467967382913674768065061481682310322134236644874248412325698378068503131010401412034641097791194667557376246303856802801693833297349962298108814988709056455531812814387883234990378789343522111466990660499935656297484997733553912972749523777148243806329622428624103001401793212272432919704041025233393907583168796584749181502998344619612565393198200229552921161384473410739936448333935609637849006609823290905165337881848590518068935953803108988010938542777159241823299745655782141913429683308337726855165830048446206768916781908426466589720969250767629002994356034607988631048354126044725957845752151397419245517376078243961456304404043754384785878190347508008510846004219846662668003285051583502212262252769710122024128315946836500842694434834365097643114632633598479634675380354901049241453297539762411299702662509306407159111901831006947995985695856335088226239578114725380498958162293267925874218472047836556367834641284902754386459501355606068751600468346045732416580956567658448697365970082732893855263576278929958982622392665419170214647256967343838504968688732533298817059460211235202828572763314549230463957280288454418711640136599857759245280164487544117436040601472939455906643578578064065937628332833696165799217257031097995062910058875471311456673048279451748795458423197374366390145383303637393134607226069810754400806669866996890982676981445482550541051688892375150688957397249408092370223499795655391981399678848909824985826210593307703117357928663356848464678848794480733708355142124583074381854494770648121682128544877192694442496780193118320644055777971537554632823773900961065629929126861486861396180561159740122505264854541497446894071157574466969090434228969239859285247102902069942339383491460357364011666367374608078447030514205531088563745690278238312126542312565131085054469026793567261591391053489843380070418351441123823080745565381153840761396045739324703358800098650924327405409615316842420766032180577664533976001032395100922828149798776260515358933837744881206462419115923231786494259359907933291150902093314615259701371444980451959170148270400329586752825813404428756548142290164650564100645203074415946763436596503208408006069965651798678304248392931252588837262618574485164376045233026780936624762215992397275511644893998093300703143053276731292466664747866034188527794094921299998228605423805467949461566710981538962523214038093822942642004948421198760878706944048793048899251654212443881382681523651722962872096232419087259217018658455198344998311018911052136437857410977968180733354003849532334180737024509940121575429257669516535041216752293679466104811092452704043357911668253016660565948687578033455289220130452909065045335546440887648628810294223641853013658281689798015565969947873309097063650478709048338712525980022730006148549063674642921721412013741575956513010961025914369930843727297603418080746364202271007348265267374400422034776505972109182171468592873998259646448254661227329501786848937264256533557236630853636615107304018811057788325015401441076208080377971176428064823576127867748390693773547166041875029088522910267833016845342642391895600329105608372375406589629952762648065890544262216659593347374520506141495719486704856782844354015390713869602550296668277954936086460396577068847992488644215885990463533561412248996355435911962604512306522520321028993997333030950498594810385144472851347902549322844801469015585013322663239244024332876401073537053093402996391093211852880269748533378453375607750795126821511354058529147083668611854322339894920501264680585635384170063268687067701563809635234504527019556655724418096664278008430430842498045596795227717218720522563648690694327449114474224316092552672772424929962847350244128982931853975772996086808408873920556149656642150019624091985781937988849154766717369226389332865349633739149434790636125504701842402587648611904396513589150110840938104496069734443398374243875220405383017122512520212730874600518775606345508401046356332874458684336997282271601445665711797220745776866865464062884883407451707970956836242446954953959343546736407853022911601147579536873813949885619449690892690576597894101988485298508001590344431430569067791308565217731889521985674376644535759044527679380580133679522463783856425220074309129475630962860495841301841824535406222814254582278962955130261493481336407390413549742670709851862982284693984253702493825381650849366082098002173151976604098850872452352929323058440981813411447152168396976409465059410119671886615485120939984169931661166186265158552187927110066960161393547288088571914289826838529158567448270882080139665372479082678158567628283189207360922566922957082172421656636559238461068390973827667806833527176769038209775995149184257947290628729820992830205047847476482636555191128297258673268715397476149962818954741783362196090131406570299536056530791823148481374051509597755975323708129844164360368933325994120034050137348778850088898009573268613658844998335116142167353487391980468748741770627992920175732328979637661698374981543648958387440511526311328226796227710303238204433536069909210864657239459485636448775923491941482092001106176285677952407672733546060147334963083770514290999949989347727923105964637486528800903020862638971660044584190406273771924658324629996184015356696817017977201891714765360312452249085553746303088514248955594696950334291429164808941701834137769367308263072955451811076589375282169540273072432493087453712381518991807871753409554644981753836826054806459348376626068198855288268825742351674344326428475214563281133380088233808198174415466794209616254403812915587255502055921948310367329581622890121641329065028351666979870874732603475731507721793105265202552713674738395330799907113563980492737463626627167913244097535192534761379404394007298411240905090057053938206457689940290626539427110116673534022290358123945829661636061540126851266547649624823235426216934167403836888059784062053656391407234522254690739309574349788782450923012794300812510465531601131142058699263430393377236538226600469735424578762552836354553805003837438160540295609574849149373842139160108293371319220029233883801148026797813930647551763298375251177430536801089106218573080214010459247374991637717488854986374212517319264558807672195184782657710634704099100900351469586652770781027874814843792593231784275484767467970755428554655233419836787311993313056744574418537041675351149958716211417656831852871191227797809541514632570037577909653679341368219371747371071187320012930558351748587397164472272424936878015244325885695799836129090618363556202275125074305131959945482421255837383543263307584515840532243298020213673073040216990540479502010835216250641707786579562175597589076900649431595768842842368982391855134175639074586309869557354001537519923936012072663418162023262089419075919512218034635425901533001988497341994317267036560648398759554091084849236948832536047528146841563962058539768931996224878612075591185179628716555950905925989248646400787531816531783057520756046174096379805071793865640119736964959871247399742357780394176946653758809986420976850562054600171253734941718835197624407547352614497666628605169076947366049154111016122620406399845835414176732395598423217764444608107731556403658818791413206711042351961261275628099923804994349346840415480647959611876673521175531334996462798178995236610697912994285292034599260429348639181634793679019580244335592218757876890509995883662151022891924851708471515651599698987342471346398974800302813009941732949958796494144090901235525293026980024612531646915700820036759922608981369251405180690432907039306106171233693858136764772943553537139525455974831154816872371204404306766073299319613765903473155073721882848045220390708963764226086726199248382767277646606399377059295629258193639132025129933706782176003373600486724342115549979881060489204546984258582397944528138924515740479823269961533336729587989912203931577199292406134838395155211243128882377176698996684240129905108274875924747243990655605710327049292448300941670875951949213567620635547785710166995102922639995429142250672616956994073825337190391763167685632870592109173966368302702716446848010927528769565067594556050659756096227493025391560571008946443461093945238363565713873879693098281668343899295743888960064150693838430111361799628869470931759141997027874464160799565463263647855628794961169495985912688211540323985605511500708508188537960236869556064907767892488444789261556088525477575054432887631833188428478341249505499093969695709342942027272105982644028893126712408390890036412257898371296164616311256058883841082462096428778449478064922983184865410402616968888456324352242337098662871943017686014666120743560571427755656668715373203532367483307154229998869667007732414203021971933674315636053118922807952406705074708900159349822997940925610113502477459389494014002871001771626635991073749916899788193758122510850312259484069199448004470147246901269549746410399130211508795018467286862628777217152325727922634062796130508438511890115470258431639992387677074735395660285226134727024426346898079749694745704243027392192436452673358255423439669181324452245059588821136818031370443477552438649137537030701348425871542343164187472991912562543381904076856581572815070500318056096246442921232463231113908791777859602972782133808790233910452469349794097990562563500427333464070631256759955683483953076534872841002821948851681716297222964673302286867407329471069500019764281222443568407678792350652543420793875602083247224280971485454476238333510394261350683155509448051077506935754242893754059119495312254373392447516351703430974858511507898894180992252870991739566584285347837124292262060574464951885061289712615996687546701832029901949302409915001392571810834169422758754997336178140352500376522009109105221798278709493193568384343936514139991138567100204001055738030244783306031555570058741606615744484084075009185144334038210777082359922882065100845447684149417354606279109360894933287806743089711998403094324759402952578442828654855473791741809402967042998560799740572459248679946370089550546335880876290913513931660424003408751884631123315610854665251158969317162185583347390473485228170282560960438133631641802722135424558783387768542833834019722139003018008599997464577456051052791240798204061413965973989809497541159598826682273081598877089014552834346608244426798657385086344949229061613803271463188846438332718923014497658121725374361531421870660934564910249368900035495519966248196413160851885836877936370780476917052809440606918516588556042823059833917911119648511690003804590604170568124441570313280271814833818978227614323848451429357378148545424824697880992043657379104635421275567613367938702458378618375780370678743269879574492461077998150460328564438834426342401943679751892071733534290689768305679907545798769977605296923696280114043304930035548800211136617263700998961720597315734174083514890318416120881725996267542305525923421720783086324249035656922407073037772640968383114202024407997140832065541280395022656961052610718845569932886179531309884839226170616701259803790714265293821812769900463083739573787601929189545654921609819389362500456179244884427207867309051014040444227158476510017926582887180108390971696877167956470839178623401085282281513480768300208718712170182306707635864651902156714739159423657892652340049476401537817313650240461985534751894505871605838723194032872540463912835799849260000333992898839315933353865964336436423595652600621237340334933091208759530398065485623196991343441352233019124921200347660291041855419975005440044814220598749668628251210277662114464662298128217474376283189155849181828143987263290692854245557180867263095357379405965064252799926548103456000686912821526555708915137270056736419685308864160825244472349648444432254025445756104343590285683595822099665881585959908578123407739933910440319267416283425787917298458502469637322399044268383513570304067044552812952040923040853038873013798713738644657846159567073386248597398996543748252291922523242881742797644906023686667125249762985160373884027871356837417515508481051365987945098485522974851199083870621003366870401690708340848808514222529995288113782916953765771891512425065000761156992890584357105117751846024629951193949310768815405800933701038948285234931374037594556181976777885776820768656339711091844347139291409282073438003077425847062789100678185186223580836388683601805292984758024279798508043075398274368973752259623759041841759445637947784004503007508764076263091085954430308262379693937741201931517845283273624677276084366763174227752797987829781787729999969890616966850435986711319327294983173186547915606341702517855705279411458720296708537995794962327507098369336106742217711085019923430945499526345911681247492802837499652988184742725137911821330232527882419473575387279080217587807580450107639197647276135210177820285465665717221917103719123242552216455961358789562886490613059451235413661495531679114378911830194077296041384559679380679604514071177171368807663473798777960422024248704146204362546424305573107991527580569330964871799432588064051508336329942587806311388271334298627581852623368177141140876350665244155062821058453079639116027154278376684728662341570106333597341317026059620222290290062070424519316913793849177364159811771852069627402137335534832292400515395520143938016149668525655673127886559123366489653736587392682440983158541640542647026246334140223413295050614294360101093832596346534480819992538652487456844052446943082043142239860882946719141667323587350694714962751873035639975786361897062493468692181017677487000800103613398612459860888298098153540047294629463226985352424365833937403782798776181180215486821281121023822308960616654828876933650805906038185046750009702717934468551116214525797705585477263631860607247927099154518709163764828597372919319153587467301595106203954991321858875415084448415709660610840297106271595100035305277979749698955620386661013744954090178429209478229455490953221233422368891937227012299635046167183069024417368430112754408928652438644060294074358419557426871772155247433526103036136709634005374696796507640975412028408024712916454938351655545235156444772658246436189974821584030394451427793718622484033789696924121521182516304769698061729019910760017257457100676551735961531498895046875448587511179031681508524816247437855934589977904391025814433519252458328559144935683980290568994566266253451069366573704031397083131342673936902407094200350006390576518575198184519556471233400753015319895812640712828752220931813557050080376091337279608268397919696803713528848401824223818571329547111570218637565541978562274600149737992096679311035728091545378170782027505448718055677736541043601172204298293537284449777192800074539012744394580859908389831293375006981939354976662703677388686619752980917950203784178978139201825654039897909572911654511131171014566974601126156325712314107684535725964849906611186453481932832290108302758928361593104370714555138040833224060454729012561782415509341640509377472565415365444326431903541005580689975706340751776456530157363153623388924211703540007605423724755744545110333875549661153693675768760677730012009039815733355196552822984248573707630216047224241263285870655756315163553203583070135195216853907251114641409809030461359562687547571925341580938470217573363304250233161991538244978844845264452230160595090587335395310012130358491036593126131769932738993074731517117026942591955138625838135881205497547263671644063546074422604870638833559479349618733661570257899302390977302716318746550748419173416884625025843581689936439521752736102470435259687914984125005587046631767384078411153929423052942348828122742208286221724460036933765920974294909723345916291597546092426110286439556347494797864196996712715271750741391312370758703043347617744275386351256153167214429686399251242085748762312088131619535164128055874570232279821883658155324685064363572156528597135567964293455771163512927540175732776714198076826564797873677959730640837753443660940398014711013803435504850811264772673626815621801061571274122035569562258449342187294510292798146072770214405862971984984828462798665581277109225544760258153187255677202989512938114650904215567435525790770500599669537074851623421736972735085732267846672244490724667305226618441428750834397302250426673757964127395820785444524486019195621100546609659625716331830951625380976746459316144261574822300183916450627964657056821893532014518121196173062560520670025332982864145585302076814411106524959302817466674928817363866626063356781831007629892247569663324406431425504114505547030805690930149028405752127454060582167154547549205054168096302738568155044911353075778927705662507431941669264604554159780364173253209107028232059510043248491544928543852979878994643793711246755639460843165751757279000075948746865993132241094718918373249240953989293297653718968503181634016361289033072017902705156520891151856017512946769700704014583671953782056634963032777440199959763119114355784512194998384764774602198209024146069776349897917115044955176249936106684869375955484061532971868388760354987984899657964006067278597546558839301594837894840476156159491433648834878110375655849944291863603291550031700477455339202871117141205546334198703984941830168877552934011547343615239459038670029705411821579665218380236132829984820319600761744499916626432659637890114403916450731461968954132575705173361656893048186515804129330840460248209733134264930826463015005535215360762833164531835675021956270976343076011520557887166591089040673531560547795978703475474664311594676905196599050855686756693266211815792564245935254849177463182436482026886948873818031812814326299753252303856438034978544206068638275914689708360045115661596415470123891799341273912070744481757398554512391711067709228599550094138714700734735295454169655290683112752971906471085326459826039644110266886156477240260517959150624520310278472866541900210639998291583937347336134536380663529127954184296511667603111182870295844085395499216968800988954588118663300796143170940624805805461853852903124793804397210333004705957372989059189911855516080331119993147862155593798263529747605622490546814064193970689689580252662526825796052507574028886610814847467584235991174077761496601616450443697451818394247214459653161892854704542475319907964142370092192606793932160960742987902590226083485735071598841919649855396600651936046692807448381769173378826201934853621501642221790230467168258147127531598474305100728818671126870736153548088223011778723649267333487848107494395620434575760606931561395127394339934259808827273010276528184369186940067600597356315159591100977292239548598976629861379194453410294351649354668423662165759591402953577681209143785478942541090821247800280445238286035496185857875657769447475928560784607008700512823027577255076143476692427463166914773606851997317367419026168076198597208157919330725496250277940327712878856796268558402094521064826234611827031240390042559042539683652594500114540027580231871127964059212287798726153155806300890650432329996833804184689048674988384313546613056972037113289258084423291223176651541913666742942199833072215568390556842659715974980433963013277062535356833352206812536244284385013833556549446151483466081337269562155534893264654245727695802520714368633305839208708075392357499902599005010610036998147121355520611218238324891522987527244692479014860675793656453027208738790923284801303366446931259033873447985865051522249218908128946073243452292146002280295778635860890992311293229973567858465673995248653687878264860315500901433272769545580566198105114790149999534092756920364936752231993679433358038993962155998300620602272623437515675571642023792853348162255037734954289416193953014187652764986926969428821934985326634227920657128003497880960070135855900787723187707440318894870883790206934312239250863495425898763145544408068206544182150803450178326088376933361257997072215886030853134631794316714581255055169774017172270370138794520510780332886320134674603176455337209639790080766847518441849167989742976622562456607300485669532095290324325923452030360530187223882463268476976916781354178865072303787227649428201987621193422179955940148951410278241682799018040905239838106441320422365826584306004529408336334163726933778749228164713646985189540726155521468372723576235574997809591187657477517007065036058025619927742902052623594409929337048894482293388868997749896017948082749184369835922385421502456282468935823555501844941965506997422850210993818447141348271478352903253115346389557121106419316187424574539128887619446277824066635959818121684352766488654291066853251673501461252273841016903620053996912179004751554528274770600055550601905718836372706386090217513934096847091353451308679468214060313697686746998964637388839455839225492230626303745931199151804451214142018109182372246509710113855585423299753003404679410159395621155628944109669052517032631959962918385482712377108556267403224088702645629614572453866842906365110194712340831925159495918825443256172040500172473542934602564705357335750612850939560025000243864497144477948819183735993995970326324907042984867912514202090810916617187325900102172312185128890957574499595265071375324287730076536964470193507770727059941206484156963930673900766358665276531208277616493488208346467469669658378109054604106663026214937114025212752679530307489244294379016210055062159396155309039584222461060856072290975083155505024257853993465904626919497529688532770616747929858074977464525377954670626553503393925165437571307366158788931284775518168882464976747195738280016303523007345831709524014875688891039584429397337853115482092399106026784644649483450833595011519451147810088967871702472061630054615991762085195616249390246730218609826001506058358600868524072946902885549246840178661833483487926995299739261846980684458189252250206181840224305967705608495419936189527595602825812278777397756829851553120722811901088814110865759333508300407055999121784026516644222113419238726163606507781358882054658065245547044961404212189900828317104961875838543888400406094700345950705198789365902708122957101073369368569994630599621339593372667879114508845696594834747248242176906383489043518961854597120088368742539650419862898585173738998089735650275261188772118586358298973572478507003670242847080073166806010830497998815566772869800819496633215524316519820008889598748059092702585864775011270073997781493807455129883018670707767570877264890903967277675474493786408709552184144340327173309072034302615746771537627177757240047645488105717838464647050600401257540881185169404926453413373167859355307316630840487054101518199448620829365900486210252548548900094140691682907699632945331807251070303426208458469704019748497034279148296167145226421229334178658434700565007282467862523397282147227728862891506513194666060223120249561989827985004604286954936967549686318680277516748562100751137871957056982398457574340354818627216601663721164360833467031902765078277855958902572715059916876629813501613854641740232830429447935999714092057652851042690860214125336089280012764298337897489915895996134157007003466231148365626158463870167460398978175946022597276407256348223824578534346369675324479058128452009288741115410539643075508135461347803021769856394264214024238677700314058844903656675329927349962191688399965174963028414536552517549475070718664548690608974698653362387373789526489873315434085454464966460191243002711913975851655799444057852831503028728143527497016108947775498345544081185256201854516964391217735395180830954349515272524573450612162868219097798487259216064709952842559933262357445477158521147923871331771538147386607343968518525478342235313443386840449463594731547978889624107954765741975120201743477263125457707184402575294992280000205413658656501185382411971769152341861137045795740966947565231927980949199609622910137926061928894156001046265792936356658303016286579665059272015284805029289812324354952890853391304355756264873615524244792456759801755541605161161302738903089500587602152400217083821009156391742086805124939151224053284770829280697043113719085391020820021361538740299182972137934771568275770974977035940145265086430632006010507223722487359328074314887832325432713136280212056458112621221207610143287777145206147433686702883527398572120571971900849521646381987969807487325866665629233124425330806912799730759299517988948966737538390548757928937055535454115285500433612383358936294282568847933673773543453166499064510581085274959022647108002370420025765373878426498765605993245925868193745973758645329909986405214672770878936146396248333445560546315285203084590520403071242769873310241227735693377353584284641989289463862818465216595127554042270148618868923978403339182760018941400624506083329426669404163269520104162487619724699069033777544381160082755918514489471996561857178315070970382716579499115725188330830648641738845898837470979576181927819022770539779465434095600663644383465484092441849088245691420389028575530271362061132906193025360515305244708329645793105457402926049887600492396785764884594386173867715133553835906666500883986972516081729982863484222559083246655595662445423199634616520090584242689901948280391668618107470209351777701594557502890382850347281055500475657072429883269094102038678143625531096338606478144060815274606575086127555479883105851986703292732118175315847083246284917495234021808742510569088098625586540657963472118784316538253468858005806570113678440009416857010792949149955325074311511481313702006159032517678717625230047238093775749357601025063182879644089628970832486062721171960584456511256799598735708322164837101229259680761862424844473088116962687615038853027329245453675680777579051174451890222003382222041383526211134196177148449493026111135529813375300126069495827300017822622229637109764891491052607485170382859474023793557289234940695151364899711385393250181267785339492802603406298827169973843630987630248265808138705413972783549657890850797079247803614845583525494509027364352916654042825697327724904187970723963632202723665448444938599408039490446494227840916328265945398339356230256760974878714776057402471095026643273844395943974207799167146606307757814085203393373019924307632375708527055022463448072010038550207838810782218006793880499608097189388203677521185096447825976515154921637906017151959920410858491365212712259241569235011873067696211422074689864990444818946321736424113223181829999013410963945249150639629993794083045752543766089357713308722445914127492853651729459016682749489684313544179758677821189597767010913262807564865324438919409258875032841612051635973318317459393999813974925904660712087749332913824617364358145444609047692826823233783452029223358704272565043782815451556573647050048549697304569534425598824216944854729233270886979346767419400460768996050631954612512982344826149476778003053151817133811782268949798138698677606790499394825912854673335897745329328413228287904679016362594854420379675691941562301205185997605474640136472962036256613544973433347619746832922491805264511850584269779494775402455169329973526292188612887169600653533164012821223723198357971124656569355376757267530122830668723988686240228112520548741422952095978910036457162766903384429632523895009685267883043526869353600322434626776213007330568363687848282064402501701982420809621237280491005721200670876412567139353568695072443661997816063845984551923282843306837431659119061607477469843861717349945625840900641736892266973847231297132465444682929221043459673456632731033107612904016207847456132243101042215712355713760629641372013492892993871667500815411585670730433119898786077470003130072700125096224000452619450653070513404681764150226472731313098048150216516659765941141565090905911593850416344078793439353283635551732018820061971501695716724374049005816360353140992664040132478689924812937105796613749540693920820832545905084948359119890532534268973178482118673181339422634719920256008358762167263978425940975681986150199838189042261580760118378703478679814544635568249690474330077468816429657083526285369978013601385430476600131753045791742821230426206351452239050401012463494105918029929813713352437156941013609894261537460188919713990678658258634503762318496497530403802838442352055820675578624159166427542636839414776886874353429135849358604107316963935260885293752663241568845172985919504674348545025712680081188935884496955061984045267788454416087399267462870908073805535484743460799234443233640038166230335114236172585410312788726489892758245252010170935711302559761109404219086755861113279416347679568931945814464540715133033720446594480479943094128884528152299259347227703630475016575493159077554703977462473063708845656360057159869825731504177971599969710095293398218534191302179460493645728192735126797568255069197111166352321969106778493007964180061861372557370104074889764457548046203323437073990668116321447658518957115175029510507949730533829578632059627154075238503296308416004902206134122514285642073266229797516581883140454670027984520022944445140859662413454322240031390871411461152916612290171662410614216874724953647154997030733534932569099471606678639757156947210801284426022578215281155336837099621662369681971702736517649174262497207698840779536044374316285319372204472346717985483944111782428733850290538770838210664958571625164494240848302421178485805080596520897237220453631476309995519041858960145480223785451748484110444694019937466993473371829627428832598668271361029738835874797110578059882056115032647093676163641452023872573812083789111402534314780898568693140490116926138711144555890941283391160310150653454254496251622726090176826775583402980939457657282461066758905096601545090162807954146442911922957042169150780047509384790836516636574118723556891537437335233884854698743931413840132088984916698197386965560172324015558476543754434008058939561696212055811574004492518491561086541244895729329269066116430725020586432111958267716103719164776344314339903382623987947332549320690126168315193736001494479883349719631320046287440990292593744608662921359649887547273800336245047506022678184185370265059487987113617869114350772217011445629321931239465848411920460303097357599554268622860908150372200860368853222745581450941025085878204614771195469376875334826271259500572915210447589964163248274790630302487859048779700052157530406744556988025759460741413871686172933241970482436670633398853540281661621443684069976286878591759193672784323389941673959319521174301512892068343130906453985498489286341375590305967425752065630212941692593182309778740452939153228454894706830816747303094633725274310979881293242277547432148267651412348418891118698919849589152315115538255357230995489620360317823393908774251487838737190013460921537320973320305881331983279131482372438641254940148023208373777662683792676797672430968373292083227512023460622239848794330519064397172419077925721223055020135889490341359469640562363609554219682479043176179657096881955844978780172677418425547698699809138351641714531988052608689414694452033053381473690352555358002697284257928586970442176005944569685515701018896294603239199602069832645210451320941266074614180736156350563656522801657159575914168371248950417335311572974785139913694284671685247781866243079234942013017034095545918328273912508899526734106874770834484579610013693472387363259401035241481662684698933030403225370354130020600455381652453093858169923947634361948109349216502664372981922450690325542996091221270593952390855833659622403749830816506183984737799188061203174771488375091445742152458135379221663251941715325624550922306031016613853176736740736559613922422111246060333980772386134206927494659513606614013962907296686011865810298549986067894850639704224809989481832416316789260322616655738231981230844479854705276323676384129194758818202214851281224506712737781874351241446068160421304146659143689279416457037344559782249470637289280618797070271110128146139733767154023106705043125211943025438305966219238299286875508812738475749598261227215857179140662744837787749338124188526159254478649992011131690233317033323352264410322019233334723620097643512192745765409055896873484748284127276829023372301395594905751001616432382260578256128769302138608705859775752716157388869756159577856649193475051954314157416899970884596272261847228084341451706316233699227364663170632061529779473480669603773153288762306909393301020564969340390085536459265077835637775387930253912710235459852134544508185015286383697008783178488065548413066219333575777033788841924228845321015091469331659097372321776081994787906277827154644411848173508409664438003105306914962478906389808464174107865726551971143731254414333919109173945115409732965417381583944531845279146196104726019057352807341666241715412515275179294517203730189984725219167531827153312919661817428621252950818439775990952985279945465627181009380780095324418887133241807819481229680958205240685821152072239649839671098293015870156931767572516686616370830698994520902545651468788659431110501875868495931385867613420437068418381664304121963772826179571073809139639634260839562063556952433968017472558682389260957034627575054145490615250473605172875184552722541811089292890463622240406907718908411321316422040948475552768958958102328778794102149344851207979009685642590855124253586765171338465467145801799479714089743277814389980519376637261316003184094715225563775761277252752928374479613969169562331923387461691398888145030576781492169583072414797357117911752945188056891449973963216114957886718370921496007007329620879392939066994519013368165432835825238235131773926310034713711195802712519091778039105503013641504157447484208731411896363098922620420325725001004297459872946349504057009456907347674803581881886596107969801701871535215471695414915567796071792127178564415620810309745042258891198339515352341296530361450796975977634440187203845059448442936672830231032487625399516863481162494118157416351877634881633488603008817874742562379546532388105956194778176780337986515083589360314851030475048709707861268750712964220952632548520697908989697503995894023060400059068565142949020720359360236596196081391590549868967153643218555401366663254906306471566778105139348222044871484797456355122907370773405534360826292974407321834277024148565932946679131728201833062823619829454996764915436651616155488920253125104717612833873972867017841159294821970692398023148774525406610615754804805187405360159779078951029593709233059212081615994004691885725126400578493425276510124881214118260424328961099319925188153894392501488454463229617955331513939741504791806431489065767189456649032359748283356334428040270475834214875267413758762807490375980933738294308622574431378137198704908979165103205215349234802092648299403308485712420443424508624200561296087657421551530108217784586489776976250895725394544407717365703337639014699128286861687153219417039544481272896941792572353163883797314311030814033329370361399340319665063172302666700050421459874709222731431226133725615607209151869839590504085873956581059318409728622324026280919883815589894711748906510371447183648760743948705622434881001319176317301731951846429204473273980119782860212918610474499507619864887592073035126761261516160019889772533358450509182860226479191041313419625199201161540402110938520803683101086110621845385522134107444555015652516568914814568542149479187325701050899563431842466845920933473890891671248308376582088338930908529565005530056853820042812786955545966546183707997070129199527260775048825296731024272619764851134463422580886782298291545125866597465367432397321368613440750275968906407347114041592155895738033666630140291406550756642059677356907310967769368185494621828345599465214187258393574424236399230424977243739336808732833735634531216235825973726693303893791794766823975574720460439146669707607114203807944670873742262773360101165913701250543917696531787961684913917888301452895279376160649168391595197711392877490881840422981700356204858222037097702531648507278142389148620029774532884987831517854588592573332414838262456191201036813982516819816700759434608842240097662925214881521847967191086812570781275682295258050116897580403251870387713597354347602824759086420994854844024186875679795398175687215743328524158593001941357201754045545090902529783760069176292821637644904590959146941476810099936009825165095528107026870117879413330245516712766117742889704293463919650094798043765264958849610182620013618023887712361682007786365462764981821320170384307815888197602784391955523221679718150978483217284344329793382047541918417978961699278239277008976339788393692896402087894053779999993556218009454042467645663063828762232617524498017139334797170683266387815540818215341761659014998363970329313769887603746612994603090833654699191121294787036719822187586492102079578862354192890716965865310969199418718720869839661401884233850433838042162270688253926136874835172011018386311267483557790023013838548894583879202399884077628703886585154673752909691082727409201036248953756739407072634526755435188719957240019099969817802673004016988609277113396773690039187332645019186196081490344550063428252964231312839986999468441101337753215554922163133835302666644788965340873767949440971011013085564861890887439707504576889789511597058661473114870898275039940205192694070154617652609256801658635267069098550225677108776661707115757020077767889940727141196190940416241863599343985577672888905893736381045712064761827613906366741056343718748266745052099284120384400238636177533783241463515706648490828075767577854437671036257370207232126001256247418734885939158365758264124301432665167255773592661009781999785985630839799088587265839699112809746908289317708698206264614771626044664698337462188737082532771418138253653694636288524888800746958129545602396916288628089458119444273415216836696671800020259726232979195910769145726835443012815812150713996239355940927809390788026401388067407227158893925154502132128053162633815521783399513415556708980565281517493196906127775902330507414419024392550408353220255804376952162282669558035860132227934174001218633720699104755610278903897491398497752876594083451293458287929963037874983498236316754660471773534915877525134174791351707455333729143808342106054392698980161331038865432544228110061901284908403735846908581882070926302186380940884412226911797615615551128123088008698768496993061292434640439113824362688823821433880720790888297811439444626257737214777777369161070895459733351574823602182660659357670343670805917633049631516024113444065933162754762622043838294164797532259899542266568637878858568997589294510684147709864337144521703906140950445678269181054535725028982554418157791357463559664971093754848915001872240476294766457854548748356736250348189179056951860585023701098244888375237192756926268861894571596986161936896808728239222122485457650023908044735329415965551162765587693621192609388441457743192318386977457990086229382409849482049281512923222650692242877274551196377899649776171498315245892261627220898624555409495616808299421568837624981896623133339133986319854532179176948167431903849760912733772092360963855514111309718214509977556136954524850869721163992847921186991342747353337679810997128904059944127761330848730989555987074874143143664959694394400051838213984706593377701990698156428252073653819570671097463050367467951296877306927069683453487179398044321509577469174996880224637816188047415228480190778168356611684636401464416804969396153640990308155686313892647815611629302912064099055816145723242655734483302593598797021804280142147988254098223788346996794845990957531491034952207507325581560081794804025604386384097678865428585570113020242643534598758924663290085794685251620226808285257771750105629961890743848149580737468064762729107957734184554880254977989068425603607617203777676927065666148947392619761187575958118659970739959073441992680817838795268181344082195690579997270002594156060234981492958732409161032648488905875274415288759114352139378589134588748515654790037621669404355762855094903337435486159959103129649596343606422051546911787989490321145409416498541720245453150446444869896952519331680216862744246752915417455653659725807868491860664859237626010809795628949594586139905633167247228715247362042384280742935679361057770351670006058128155970625754662596325573104245838545625331881735032429529056636901465339230849054314521929949732045216857179230082556272267559917534794874633461819720235123557007448312246782432800235042298612951343265366834870902728396755699951009340759504811409639177323927217503524087261410998826446467653190867903759300077028002428807798676067136086873732551901166849170470155386551379465140940927826013292656931905171938227935618351191929053847989496576789388329450844054831778558608228397359079945592413090517142305646567156901993680447768219977967156486289867705072647357753840753441142603390875992996755074668874339510702519616902171646166870516907498124171435976244281446286390863944994388839107741831018264420636546051452042252187408603237249447984434708092216501951479868859736441567239951182203545597370542686258694427277312768057937923418386706271790989259818292656533841592906814438122592523792785399000069530009789129726592099004678464718591634559385786085425515749905559170292338055834073875645816049427687356148675366277896071121393791015420056845741474302717763855639277622521270316673750196362954303373816414164219753320866095866120569833940861423573238794039113031840639046654118763653490691344155006816491027868723377344382091774457332816244020095320648193259798683979692884252003558443018997890579768915609043595788749916512493258105013596121194255035639646293895407859328923109731485713312322660263759103209668915301887640216972175567294224444552420826864309558566063834496666682240453402610006708522660470014205328764911570284749817117139021809019397145129575899128046308976501244725448037542708964534209418595198762152167286377587077666343683707664105610798772392331517037919243646033070547989823944321746575911025611003183309116748987390659929774870677088963214679951939262759565448203563410834224686771278010317882917411130893237567649459057407438541228935505412936447305922473764355243959770366475919061738546650180685801916851213192821168524775602995870137745587570181467083482914953346097265231501851637006852417637778401353133819629928645338749546663797839973482347218644575684458267142568584854178212088995178051784526164996411341982748300448649032336206082851027963393739386337345979678405524962944083870696194702042671636436608050882915243079240386141108417908288016257843365233929839421371032232945963944474767221837279782750531772054538942549335159690204564023490710813486304424598712713672223038663762807326546995894444277617046794111003563652281040735384761054645805066864658513574100025724743871722254659353135659800689061291645850897152136393212934797458557462884951365286947017697829316357387493116656615020244179827152676361872264885491996051709579131653229579880699997905053689359781948965633769820943806898084114021858858282940419216344925534307571507013581716317451856190330353809119605741743107764546503705480711802857519473614428563012690439264949181291592268721012619853395432128697516210445560921739312842578123108432641245013010593274237889413631376919612782092828571644277729425959037516061961022589410087007800169406846623420859518037149165723848163499918406844455751556268048827191446325624636010370367895672054712904694797844107886005240910029809195616904119256391693333474438070591084276677654218704203857937250551748916598149398193663550795090368041290346798382907360352347248837590053374328535609579854128733356255055078886143664297691457816582639344022521902379017643531829873170882075526857237616783676635315149857586995502591631261155550226830165189659829657484554172309932985208954004647930867640396843624225282920999462325876152082917661314988461559903959285654123601992195098122210184827926956756319208815044779857167459563086115461913071736026180768249167776836341858041013945803689542881785873478107053208162967169130736599198508414810098993230238861340480678716448355653326450400360328681717787234448454778532732691986004111613828738964805052511834439330357859859660200835970756405636646127145271807541024704951998924270374654607793930525372887970116369848727028884468487623739516786635394154361222169768843910738064230091935495128642257332544942264412015520021100802724462282428444726907808340835848483572427985895516345288264214900556242431181371618099014685211663734701980976133818266749895794465864695832908017774801713960353037981196378836294100909177413588357615685503033052571212159427769701310027231746463751783309496560046566141759098286754174605098195986953340835213162416745064179042044257659331435442866257445970622253197660485227020857239011019163850961331048862771674909742731581320783864515262878213134289839555307675707153699227102399429694165331169208257095650943920241583457482660925591225055852590983367233717768803681702723390432552806132821074867683584867162104487469816708209607077848647724052919270080970140757272320673271424298784956769542948138530454948716931202381140218053196089987731121781207220920262102712723629923925155045720365942535292659431620652447597583396042559128578461037760931357822519856407311174391301586620571456834333953856904704924451322006061638580107161695008209909723931026758160348639427060555204614286692627144151862162241470897507060274631908121177710658487651984364826654957543925776955237780348102440735515217747619346948025646319554633314949231796740648198096304238224630350381035985709099076367117915838868501698887920594254594538223201516101512885445584342613933989449124519332100514356147477792726396465587441596644822789053201536129699516301319631811525348327007039085258418078302911264346809992553376614273546087786397260039185361972426924061326050140463684337887183203972695207667097070777835699191041267536230233950722465540816677772380176319361169705054623165897691638142651766811113675365990754118263712290297908541931566020064648159362907199517100735201867015529334267183941024204385324727080965921007704751837181846725479452124019004359120233624108230815455333883862533944752710473500395674684410418037585336409499028763844720592935120524930459646992400502847898773798258359903176949514446263152210245014241474889355047435802659269644462843719936128921838952438821057525697795606748973127221418398823289602838720499168085729768111948405712871418347965961391395101631602463612536491464177645227842502314381160907605133403350539191842422120216536128837257168392900204572189656886279663414232859511183482234376545339458235893107216739807277038899442615284182481558676195377943812334259380902987780475645313433985883536290172897867239253913411161072056360198490698354116718419813867338439034730878453735907083244230326119528808871294141665730564324630468406332361017653594355867293294827781557602154632546376094466190020186568947632272999594442308748980261792245508985863039412173169614111943778531242692083065039969764401978101987086960003311119850691903881858969306689982943919863930958503819984857812063117775630219042198474386768529572823535600964878011099553898916417917711816450042091388097770452297971120387096896730272596091765598063967744081821534621240331260118181556595285019844467318555948434509225974334299949755644593092507542666038905979788860240924208716966098834356584046810110670235565952002154416015975961944681365369760304443239753712847705454403995032290478444257961989107278490853934040754837506266825114328824271151195048359458271561513754977381971729272140789125127436867502903073211638855298244527707418928380302808799371973376825131928631433676692329926264574066243796328632883013508343635220803785242415919088645056524642945520478057247226668974343895296812298995592913599799684189172198284178758224896511098469242253351487182113206262470786995104212758597776271653459257999032027765812592194601427906579930729774505375495782484668387638756934560479548772284742817139772601195094946706689772331074847850444760864578320517277713812826185587900079717482503276036656882103064588409287754533986856768666329910547109083509424136830575729481517591651344783292150400057975568284044326564995279547380740372307854581140688206249284769893757580461657624793675475830600021619513897056093860545295920283654569258432024913945033394573955014525151343693455004112002039118454198723760693814146047100339961379737041856133890075549760068870231955548145326153309929657140906377311355025431227213630205732499080265004001717444098964975602360768968924674887140464899378033643892667219797110491778100993943092828437700329108980575908907718026212970904596791412163584718813444069783072281896055499697890851522928649015038322140740381345406950003429100233920539212599484750230980225208752381711232204339761314691851557851059363902357265605453087136253820956283300837389949882804955642933418192528084281224124488618818136474026311792735015719121526118260522163451261211421225845548054345934386696947163549598726918530322324530734988602576290050525703881634053639981661386194318362980745202131421262969016233081429715410300036560464900838541027843287638954459188800279263530365220126580558789395034400350848713959989948177236952859099851774790664433613970342292620072354902390624326143447174964594070209689465562334428502066245042848036561942146855518813865684198286439833695985019756051643835697703455850259673213366688604356999731429108511832213552393786404493459608073791969514557866438423879866810082120519610343628830975452665345684389196218307253011125218281910391842929969956206975622551024426266477647979185007574330114714614596206447198812167268528035784871286280494991856507186204136005788431653648656944500263484012101327876608383304591522953443804564169850935343629085655317173382641733406405126398621638730961956996614814914983102798021968985217102923162879379513824843132441038809386844085706345420293902287869730860039269191056788354378718256419021544830003652640135600306716228459577527486720089834063979673248945653064633151177140189589103355679347925970536553851891667102611206678623830722828645663471934156673280857410665293975388415801531190360620019392083622037608082451505872105625409584228863383253902441740805416034010032713918539302630368440602312918329507995483596535405346248243637045360679940580636305107704754176891050314837803545790790522712264780380857148468363848950639822682909139016066986414720317792265344634898591563366480317132488136987004711176229998084606662388222992395949551813922496589048978502153506982217026110727648167538950540505807593685193784731220335921932542705615515746361269669785886318661615124832196657642200178468998582802084679019023306058877465564351281656211268331194704429100089937546561343510198889796516499860425026319563079844292002890924473025718177802476790108652462864879562509167524647518382828739119723829051615687102627320499626713958388017151071469506486792226421329813883148509275168582494703255279804287015923515925315311851603986267053226329841380063752099745921306416171872930047727520501470521078059307002502011637759040646500084860570130493883096812907549804872656797191955738559537465533824843185297250753263670863563297547546910895439551663263418231349089578244830341133115817146405223266601626680513586761298233928141161076166631000321173108631408282497929859191009935814704635188506071001928598615964671580972123278823197512104284884850075469345545002556319121635823860984266688521879801969416085545483675785450355179863637021142986538081925168013319637994731709512536307458300557280904268624543883879367612303431312866118108678632517065214899407731891877894011310885348728710404064270071469316280757734590021122314354719710323704830006051559677906702458299307548375970515348989425459141161716626495661993532135703351190873042319981269724454238079828098334887184613066359812320822320746242368083477473126187056395681092286482211915812588238471951683090931784539581306932067372490483581489660500005139350052278735354360501061216738223661193956368543527330239199819698637305427873968270508272903273099593959137703044201086995961682802989240761732717296128192016688996968821706503036792426236209086380167764924351498004821260282187337618910041300091501540365917626489741160486095944984785073458189911609346340438298970306692718695095988626786869731766770743785145513563293458117096664240364266154934174154286875353912118474288772598880952440247103340186554106321532944149821082662415486454686681748895748824742932049179975658247333155472006477206726517707481112188243779692687786480130792935802601675280279413328342362282000291460553367720562291585141235870007991976211939416878322029200188286855945722076377294154615588670382457695190672308203078870487055344661705029522184453798680461172238057672265594295848882933612699160072296291283177719075755791552962185072940372885362680767062312960165981485659814919401605355053484670474577882351653802277369199202893031411005917200949464650884920073981000937149051449822519761195168084685229087670787730400289634956561758017773661676453030766435929490250503154300711022082754795486346808011711821432665822168099178508519637237293806247850486907763751355081739380866176668607373743552216343579745607335889238661937270863933350671779761926105845708963623862974126745867577875578359095844100296439227515751054868931323512816180646856166420170051856057086354090389288729412465062165873596071514434063163266681040456515317098345629270552353060394816182866184616844970415151046597588197855169971358633205253238971150943513201197659653861345644176940324356230384731764914679494541157550749971174933903467118369994661384661819580488789031531343055340654931591808108104878260940156992415267716498962936230365583470489378054295309320414806634276032870643608697903254611576025541162746619819288832995475193118438806534623872725398209172029851857529055953116715944019862885734887330859233727695700894791880820640781964705532968280288735560607943899868305248150749691060561756318489989301209380682857669857480409830330367676038918443749926681785736130116335732996740738051641011248353372501077240741314621354143978328598530312697861138620756082714908572140397075005268097687441805502407810106795131358848072957435252058934806610957844875148025109402269681028319298822438846765185887461375641600284797623046433619696548993712886381477217187023032247812908974726164361008391545589399731646360201901620483416331693061710893082680493484996446217981321572678845926947432582578519162412611601564107024356301732065089679892577967436218279777100889699049772832299488766746871056260850839059424507138534697102505670950940873017700520059521978421932775076265561563017974227434738410225603316661929512789880504299487460484319288291386767791431960425041203366200958076284618851143218544295865684789434732461280909857934748751845638094701821211898538405790356106862060709905709989807207829332940816866595722612309438891181235495927737433372359941972042471481230172763237274565471845259831380004401778199908242131981382299929145877214837120036036790419743600388134464050385844868753167923241627578782707650593213096202162938387254579918598407286748936669862863134290542180291426768399008283021318920410268404255219584320628289299782535623250067215634764297737892461600288963862224466826622023622366302010383149877320243698231135479281595836428408433368157056919091100456777097148863406790906445762675851244123827787338542201781227417222682186750672086511778867760012673059185516613087243418085677415823624021476777341531920097530543977119443136817022725021354469283613019871045691779716652577601598029554983359467099284124174494075726610697340776942555436606167072073008970563181133035274611114414839198788831984902356763680820580999302359113516163854809199620854775232958180366755085060931444490114866661133169917149238333797111094530109001832486973548756766373677219613658355673777908954816361584567659481958539985546110502810352677015494050705276027129230476707183348242541808425031220025860952915159232318193844735359954099928615643837097160983827965617298245689934188761625514146078938038647624727096805188730345738206986848679615653370364890544926549327695474140685706492002828036613145395772294488108721817144282813656866102992445776724222347442576516564899092059459223165126179083120213982502557540071180675014233664662906966224496455320372513944206155383616157450857546700893307324517500471446382148329798196388246589838848892473917578430135732641984527936127457145728272506959356435400984777339290681115033057381809746083174540388669444313265184294668804927378574367600896814878038624531901635870285618438897146512069415820430054969235073636909168821922098896927824678696676322884247209544601654186420184595849950125427121962064678181938392783011095408781259350498521240242737195514280074505052064609507383767997145716066758043756068782033859722920217680900492655470723577242913254000425628657954054125199688691387258044219804912808199692527603125137545851210177961727770534678471197482263339790935213260359705376079601354287773063051269738770119825570370240690120922879927736448575980238270471029032105588005949013333133694221332116351465774177136565659603748881725387179486679439712203758340063228916410811053344923957933888906828670701324039104897948828986101604133220120393982236280562422925229186646577324223139049779934274111495953269696617914857344634078945352304115829762443809505736927545026941939877727308758188089035914868065218372140087493948836764428621964363755116921424540508368923732570119428110326157446630694132929041659527399248026440647422882607476127093087779611565701130312796523394816134210771563108635560410314645820071961205430348111451899686896995666759994067244874226929499205243031044017817718064798237440952766142295171539748292013543175219863386813937745340997081310413137481589265927927912492007504299302348566554042233144490792449673342087065608550620652180387495335083539462110866377977461836236239243080989878600007284567363722105827630055900871423973354652738665238675407125682278998419778634652987196871485037210374736799044108749898795008482306144609276960810672635701468972659098087039688218850668258522683568243252025678538529374147623742806841508752953111773495842654220000598172954568404760014658245129359447287386094866629503596278601340479309620048552540663801185712343486651349497671331959162194040025516687754734111976145596520238457010648414719057264308702934633349065723610312318849492955156072448398888398700977238036621003530708630603000050849680221010766776414489963152831851430583613207262983028435704428717024269993895551146898975643179520503365517428250007878133861362272686965277887307663209782426563364584989669856087642090909331979332861982360525113961181882403308963461367734721424716773288019141970831351859462815040260446319052368631194148358808261152499789137445230028670916278437437591156395620290159447467967095279696980310461880732352919798318310770548447681690460837782020455723752156618364586142455067615515232228276160165947163527918292773114013979303901573332920394469213340393430732365109866221928512929057293117779385318444088602198476314807503702038538561287099410338936471443711351405996710433845843969238212849138250348695428350696232780953670435452496040446255558469047232925740321375933777235235024408453802657212345779121949543276354411817016502600008079088502438468095460275186153292471738015870993616306932203975288461795425049872702451239121712684546166098618239598327321825977455964751868021350397119802361345313116798519753286925071378727644050247246324124377490633355950616063682968420523343354123919749622410430624516764643915267946425645766900974871059924911811524759988618890247640455440665704674297725670248264833526888349712069258940385701048014244583667832262311522898386534602541908787089353032673160165202669006705098932971330614013314967141853332718590898696323565912432262041255948071792052577945547971254063611020754584163427324327434715093215258233688235706743142245474129838178225324845588433302852017282376802046052734123377417557835537701413987369950706115868625066488065231332770046588325169930002997158298660454738403640564195709753821216382766011357925736962164026552217690310755788083141556638921443681158999758698761594333989072733022241180911104767376865775482066997649056012391305198041960355503992179994405852775226505587064426451941346017173518595403610978523577145023608003643093560099596945340388525263175201835565224983351671152440917061764111147592288767405675783458615049127663710457857894034043155367529770802633656451617386007085133347990934554048783363657929577880709967954973435487178549006464877321992709770324503347894695030045154718723268365748632698289291286666159375008266789442089462822310245668372233544052919068050178847652878307261245100227774426436870872416830180497563143782893137568576546496114495325601853196375008081735882794950168083330006101156415664605682619660686352085338404935471714207918956088757352624774855021081745862266484069011203367199295115841701837305063804524977782554992285510846333345557193361682633305214508177425759559438352091317749899990228083731349143133158264388945563339017647293049047522277666685403467058447852938975820601233693723761257128897614881443803474140513018831899426718718579883246729662101200044131688249944071396599262514622726002153362500858918792889243287159135878828867796305743313992756166009848392245980655529505080228271814813507474796878732293375819890128680736252233356438599779752505249421470097593107832278238421425442009185250116944745697245645310697487113297069631307609676672515887340397357957320878313828697916535173113099821077650709822944767118049389222612460179732066730847789074172235631905332202536123857498653062659423889825592946314665900141210727821402744097989842799071726473979041016646051871790726146456761287382555647352785042374053540038434087470234405031743886084414550715705085358254300374881773358212222240258983638946055079336182600155807908841109704206265719525378330258046386838502595319682737847497254175454121199556498153143384089140686033706629163750790918207183113163682739958958813531449970377031965094352612701701395425641703197996824818373635611973753231243503095315726513619171850596104475516161973196503477756903036066486817822129999778955369268100993950462365941286400243757199982797195035700530785539114727200683140641900515918758555756630768097448446366025987964069477995406955192712194144227681958389149881881952159319150737515732284238294641281978086644123952894284776263602378612295894832145672263568692069556868386621335879102405774197551869225969710699995508364539816700687832769692354984435451834220073251417001576904446797469031468535605177981592573760908209798854701012666842823576457728107453285872067651026194283541944711918455353438664773008017005830572163809576397101794914802272874314407966986066163160357878403026064531445125291868947124088831053286766287659097733347704983675347271554237492213395388936341162002116307084812616281534330625520362156832631910150386343491853196841230880948172077512119902617307449174286398981035979619619816149451119484238818454527967238056205684813878738783018137700973502711459445713225937646830087684963140127331300612732799824418140290401083777835066265201004792796100287913214028173183272639190199935005740261018357137577088023737840519282993065082420813069670654739526250155331686782095149738125623597947364628001742214505639908053012980213265846726868885330604185601460560021973029095437892807836324776399698632289922684268588811015551221828710137501223678179417363642842150704019047086603214659542067512417603966282479087943340571560873712150512595467613263494627079343488739936536552864611042858720596908804170673552780538263697369837597454451688734933895014013077135946721776429269134952264008752171857795535293257611894026169858358513598093770457878915362860319072931448355081458351610688057932300602467355432398076659770313971924407931150078949792065300559125174015611368588522256309998091207810301448160424847034590788387409103387767338527901471028725269439508985418054129996576599032677613043793767919671407010450279393608648625516117220463478934463090150069879478548970084338866728598866041213149671115868439878276342233487040950152507092728132214473237477892399543520647637905576406427871131121676881784340139953522837371826872750306926669064336800565501268553602393681084053513049860161951112561423905704620575933999971581437409552479810651627399487354343759918626974744919132663257993600237939142174537381253788607711741068326983161629729559439049243056533196891139972989423250873622250184723535331004919758001941690366461650885240830325848786123894420793596742420180388457518189779007064089791236711243747868602333874562618712312067825422548131117819676809350989002577283050481696778114724827401564930514441465753674444635218314286589870960218470005413769138976953650216523739083297397597457405254533659597352317445006669270830983726006405239365877716325749422829673329854563791597044603837642828019560176632035851322141512186950225920870109722358413706131860001698255195300381696250695487867846388915823933208980947012020128362366157359652292419979882279241970737520723848265911076811796304035963830221299308811618834075855485048915729899173808659490444702969641643020034874491738642339535383202142202052724640913473202147909617715916164031753110174615450736989498893165964362573945863388992710302024230083967537000109308556840184409839061622406111890722167315315375296729638247356754255096353037982312453354702079016889566649900092534212825459039498518151893362673072213432738599912763347056125793913712078606353270564591090878173267928629238398966588629514942102437137389841849191068803574276051906852286062121934604711324807318879423196929078693137082002739004573392222496115556072632290994737507875253164053243106528255898096434548446516404710971143041599468861876485881077987516722044661276534175700427415585120025678086163904559299723720238517059550360136071893235100652324587546124963568939141141090391462689531505561182509061945328090631223141989677114058413114817044761265691952937830100226669406680461512718838116976828272107730640407495673991889558411375079274500246352847642963342027178886560316527540516848963853067092352609653002664376582806644314388342903006720167007903899491695229584783069839157954967200380226453763566693412583119231685138360750407909959313534147523920441127105372025104118806657921429962803810108116802147441030854187366904285401627884047495628926559173657148587519556434839241039220113671411328446064964155156862950090037711312026658645196983568674805500536459722329572459386422792379635851471727758074134885367714714450825612406280733282490746147726363773906954356780560707098342412381200360227682893956276264333039822627703714302358460195009539545668642990201102883216895750183905647755754976338448605292194058263327401899902464824793544854901822477789546147854599832972431145071896489309247084859292438090402064943139040510618803439647135641011770842767500872286714756818762703809365763020774046446802836425684140669279870480179084889429086511811179602582256054724918293727113193829361827200921253895176915217861912166656280885717025528320998469029538250420874082674143100750710244166158689388410432769595613496384243927294524178483133225169607089936176466889551576755156811248821547596399294530709958304469118919096512032184216307257130218578126467001267436883879316360837874711690419047676138971447869627132045509935213248500469873166161080123754736725014406225999588332865962160123005666040096052353483619672174298413427117835489591529985290766746015583549218032915723643705605034051067979868030505571186242757109117626829232620395266485727936701344390699004434543051597189780230733327527050263932401482175297444972590645076263693207825439466165743492727572085476107207236353718699041928228950026357855930746666318629440146080323346771119921018566249127075437570453253128624199421432463749351498869924325765399184346286970250624924756338586268461054500805748028024360839482565735351274499745262762752539035579098610529039608764444057332564745046781191464442739096598176706456811118773218434587653755789464665925169740568368332314205641096808318863573780264314863327076468518497441623148350872970235769106182177716101497364981655674192575558292769560556591304935933373635024202874768481424451281813933134151970815087966221090981964068229145009625692876893783446018746115609374101178867910465302954464609906522177849205575004767489051995040188286675646570632518442576821695340783056621980321105291844316969713698893586830063233187788454754684697292159873426742549831717023636406490548813110507781602606313517991746366670904965554557269880938352757664925640005559814599170677181710872809732611305224669934603470112114528996680504997351761326162578156102849667401975382322297684335340381683251128879444252114251722562690826690418997839533047657377472003541273081500758343485034459105004514296409967461549399162742127791234489750863862078146520983315763925834181759703556962888179671602225626805549955857343117852681530335962004459652723355729954680071074465673418868199077624144575555945267736246339314524329891231691481835575507411988940619152138757530638117892329878403481860406404468893478806356152346198525845788716039563626286705463516583545311642701335558981689521665967984213998891477826347618524830649210460193288244128888782099772943401409450924807161646852762903976135895412101935965780198007869715586965806124323259674312657552735779123249651819455856040301366474857740245113992568463874467321523654430055042493793981735778125790612811748399193212188879550098794020833351765658625679085806051046335981565423384173820070743525021981527089891364100656953485705174310404437370390645628666149679208452726730687413370234734378541625795088296652416697536124033481511337782654511097738427679897733250408621908855273801672655705387311929080483401321405043908686175053640241821534244204537918104783868130036478292507115212264606963322198131577927506041977295107713579066909490334264804228472564978197121712069907233336878964813494107374783357517513338129267429309902995227542970713636345918536222173900148115542400844071975935254551102928945333775068533794166782979389853172788182703162342731877718030003953212657566035697711481248430439494330975866711184652324055181683320126106956676408270042585138438896259926585758048383723299751900915215855945829333632939408812187474999571140354196932898093054098134727691765155551121342494454055541761663392212057749861326769565635400855122273575570489632725555454102267054714390333301772718020490260496127876150914186840201222075457585304223572526835290963616218505453953074155573253679622672776673120430045675498217070552828456894820409253598099737961242133176054553211597098776973795682277169197845655097488722478023192508553329425567674140215862790334477675692602430596624751671379919193639529085528431280833859341141786904180919614780603374639209999794274786851607098034269333663907869522783815653624388342271907493221590643234947383855377700967386735640478677978349686564642894776311298366220656365189158649876681526081682221320303265925327070277896274926112695494020789230950249757312251121785827002100181975767017688289804508396736801212020446412350816095065506603515798090619989964670314894227485284409330005036355058828212214166592781575172333527609226362062314316839894389998485156635448975315940016258677111719362182092188738773346980023115065523653669918229696987013416862560850195899920901716117223325985933424052770571205850977008388573819018801528725650846502021226394427998966150791898556055858583882117466405221462190672375737287638095245577350513349052675291111223611398025587515218094364327635595414869847184550940631913697298023093792394096653166276534755412612765658620516585850138773360595806614768901660281286583399810915194513855510701865380757924156483110533643734530272588179619734729963290529711938769148064842747202874506527037282291478232638173667532626496042842502487650446219135791053250279924269834153220924783177963383324545365974284213637319748740736654469821555851109035384675152517574497275081879083369388891415754855632079340708165304486983085498569842715513633517163576075686343516871316024335243449067199607918797878665755909509014344163592182330831147218050336304488562323739426798477233638484468806290530405915239508762104065863352555626511696020589441332736547314909393794578777483550463268505956189007745602693901948241529723680042765066736456176096614400028279711706827516937228397846979914938240503192519978220185189799346157472751465922934737317381324422500308024548313236623492358199398955049632280793379789283187274026012845786864664896827955621300658702403206805029990236786445075765059134653531040164677524526247590450321326817843118573899148140214990273226151494458822806617496504160678991627020163109395774089687666089858115714714232065405185842087444586105068424700526465458475774381030020433423669981818416951083087343864838438769882014745657428723819253481200157098419272976469151414438914930189565303620762402063654041082511210549940983545325574254604449499192656672700549587122160347238219507950589024270579506376990708451138028576994090162401014487911827094089348238968770849010816822372118567431277452569400525733751189041416066873252311451178544672716025832590037643166992337573217498222038496529139817606492497111457967212679324496022124398319329519865879282839093575266105756572592825963322504003025309935670285869153468954233967688454209692793159428853277862850994573015164545408890038537074124428280629345877148752223375766166814231001234128115565195076207668721741533973915584725386919779802610421148927405471317344362506582683879066667582512296625348635183588035063085060418862293081040450989854658342872839899130301584322552187672078586902912165613645193336667904794226556450640555051222150851673409719909047110208756786749109236507462951817090562785730183662914170066185601630881732520428855587816872679130921808552652896384327014685006910385777715816573982046706022833302757718088489222343824939526556710408271560739995685665437520384962603441894034269439113011545668822072615080325519058475437761013103287423755873591292574417509346077045131582269828538764088402911720524530355058489155696290499925188724851297180155436720542090222232402463101660442242626892825035924992937955558669540886425916581987185687457875379417625767137801018938578714295940767812891587003712921237282284404272384813989396563969907462370212972932008554220537742346915217734830430686382940801642356853849433230945021553722654300335498756599018545924394239594969581434167379114271342174745074957814694537447668432379084470723315064153979763119340159526884586529767426366599850725140088505353807573747395836192595983203239243941579447053800504247534614025665004029614354717995879054079472240055888739053215024399164004918230060167506866953068905946478315413058782390824780742647481469710065142403182463688834863231035909012892676703762136884873010569761413050171850221956344048537772561173451886943555803704804397391712239530657903865499550397846463809554524579211532666027299071820865265992174442935445532530830420666103474457868200297319225948331803503239167079129117036550548648783586868322161322927307886213528687597844162144836251369401246447586047212874929135226878534909791153186891149071040775127116985183006473985374361303729834676753476906616041989471098456636839625782080333524294580768828409275799634252403752293905122436442621975703118537866206984322030863424541153596779541105277328020674710447946084920827931317506569297647888895355689521383832726467878507561090952109043806748862457608750116486847501543841657607342581050082948858987267171463325840665925935045210234588012179236361846125092209491045055820366328803465416647654794837454628120044725220404213855263249184227877413948999455958966957110404396087447940234729998119099437814861647756354532719481633768937359942898566402203882374349539676694936181906903990576649872703992485761009993138281007281284616700811517290000144452529708495089377109521896551374933194146105766559590919407479289644233226038142188560580435455645217625101644549422163635567110204013882335002833574207669127929633888448749698282302144355947355029337011518905153508844479864787403766867538662263658695504779988231278683580006758031570989975879260792945605969026050653037108222249673560254097957635825369463344657061923674264780243327481760431614644477197995274156720317562590514179771834296329948772434948729544760413445505905894457283556515639830927480177440491693214340284767587467289177152967546944610106425074401590196182135741943103607267863701824504426904280538304388083769643937358526721009024367338315056923249053263009530023711102826343206566006171910537419860896163880652524572089288785543543392965801150350093055815793271240073377042748551176958989985533737595301463820054355193537275973330733873501960029090113224008874912715347499736103662180486730751205910031366792664841912426739942021386683029454010858622340888693211263516957782605604180466305680032890781606479079490122818832078052510154065723497905248500034626082105115159337266016089096399844964385980983653844942824925709219606456705704414598334630988892259015372532679321607396611092056069543243674522477100098538728422967598885346277814461882183095352639923926184850815787877889787657299227132269687350009128256035357739709385724161745220135342066155686442513241226933485128671433932698823646709782769646002098168820433021415856617227808563687488367869687158623012221671627809582889488329140780268669724127651778030226544491112052786130025790503607077477119175033870939335320555188145518955394791502563242485934594014973224887779258461225291612703676569274447175654149214210866479522895496575478321239909273954764949626935329577461522973166094018297689656452822528795634549281417763020123816729486328144120047158519660513411034509729902179528557726427037228327017618328087094916920601359880463732327372895327247991418651087350721466994705069632292603170340940930210289455844958281112244246433275773527388706939576683978726838629475674098051280388844821484840989909190500455985692741655969473271694485797464525724827495674174208630951286486590730789911336657754506055157106048794416572865262073506154868390500560854748491323613627457719140458723330015073576892868925106799843994420071943115213672237577671117690023932463128199310439176164061957409123987918923618299103100875638396823090651528137746545148928714678701065862867183422250876580838446669379541711933050980481239917663109820199984334483283032419613533863087301940473485588948046274528159427300266347548917286289823753008216998542425654889602194566059126799589636955328567234874048383659085323578289352901103942395408947542716461628130307591233130643277680671867258491042115120585750881558145796628555159614461386100963013365872077358186814100177690992872336828375982702596686561223290796616030906106418131518539531333948218321066698559738672069174966685219501198779637643377328436510963215981408596519357491177420301496148150370939190419469867514111436980968566188944979155911814853146675313887583199323461678342753745901937160925042989208093588482156672611896598535901431591220186974219558749808309613747328826704540429296198656092995912832628936188159184162006941731769878952517719778789883384229262031470642805040119074339625214858110900453520042751504903892126347570428528081232567446750939708900691760975441567537576243131401412035458762418666357336930365318810784032158091812326040758914385486357203010006536529107925542631068850437552693045539621956228942694876104653691486036851359015294084616782573364299189837258890418464159878945451648963354992593174557481604632576830491633907422225625460985388588932895877116415843940059229231103869051549256887882384367493834513454133983597580535019713361058442296564301483754077730544495089649453821063609748123893896366168597145578589504042098030510997965620001127990238942254383601401522332872326359291407565964165652351351070767471688824911119041759479875673071265636249637891035020132830745423119772707449360848858437340705659648270927859071475024319935334908437626064938069273548530902166973959575735788890533246381179813960680666932313326133167691403791977413029814023584751665840780478752303861765157206036183266863936673775096767121198290313741193046149561284272635502815761591921615004826464603784288260732021505054594488667990550803719531462026107735266035991474499411523910069393373107329900072331519632470926816581212223431553509933731889132156788433886861501007014549992544861580384032344849140656537754423518610880430002531714060701827642836949756860281184083449849307691855531257479876091442278878113748474486716098766318425457203602019445970786963418497653568859406882008338217099291521396731442338432836091822108612005812673467890409851978332200009148600474698623582756724890575157756227439876226624208439663023345780924466117121776585033574651952789295973647789799978786542744060631589970270368660225594918379706273568543340024576047553392309038502590469481375044246042424875810258206782969994926938495863668360858575141354045741137424339287058116588260289922457807483306087374293068965463610259748217000941202511283271262347586167248431936600773870738186858765488504682167563369323524909003788529372948496826859413253177043752895931780528853228978909144672915432378863902376715069158943520312753400345437407049626019149514403015957889426537288096989087584851973769128431468262276227722110285625729681296008963068806366681474994701225198310275895451349889529912942035706553688355296983947486693948583036125884241647821874091746588138757358587552074776310179517301897990204279420541619023443436646576554182470740226906039612025584865664754025104048340098170276527855817758611852740843745339150435963093431936879784790402020080070820428983002878095268186487050165780464580014991078590204764200642942578364597857610985245972974774501304627179713092768814146596344852236874847760232430120992146436166790204849504415211040053477852866636250137286476359684322559861355628588167492680881821681037447275291094023876538363501853492638450289821709321840267512951729529885654147475113346257556711387142369710810578168475377728480177711046855556138707835432679860057373295348964094583404862343959017356894346136429336065338728441375415082302855301744673060011120460291336743414507285135627467857640168458074760142105170541830112854688638126690269358679830929184284434685273952978628437755688104698545277248040821333294691860302915129727843424908343866717058508547599219171097081651718097151292640797726375350995806695311734737429096607322182494220070476658852825829397317768954309290614080618168751063505931122131416545431986853703407468392300073048168998015239434555312603971613394491068241816570647705495404786280777665540511009806874067176856197529875550599907357890594922587426967164202373507768746336057520415002948861659899213108956542463366735400412592009637398375820288671340688771805100321505482157503941307832466050870183664963831214395183651704043096292482402785575831856493397823486705790170898535925837226431576018783307881357896266162022707527777975611193651326816659187390814046817737873383869484432676128028777838544908485402619561654545899221030730790173665625271752628650826706814049016671008427263675707208500788779059173045161308862045503384067377993163215711772254211443725518016351972433865168195067430762129459855611649153332554641079338722043779250494182200441121041653671552253794226887829310065086679982087973457913670443437447016435048767884110371500847772372129292743659860634142825978817891504665967615207859332422510365250271532479610151539385049730650867856263661966566405732687842019253939355037999706526963392191111380146954505552088330519421441145368604323869761118088423558731472621405809214859674636430455722937731776459741928759126675199358375852954451593045456720105118295882118540909398300606712941100411254462915089528863337890700131357391215339704824078511614307904521049103983864181135983545968489230838545347942195926795501821071949828536608777764670692665189837004197336114729557529965471606040963803859973474872615194443954219390033778027984903885505959437082960806785009533210708763910964134852391425551365077213053778290971010061578515230096572852891450999450476843507442311807001506766289319652969113962957529099430091726931809938158038939808815334360193993281094667643049006744067760612543212877125137722175721376014868025638397211020091699691156724528571790366631243347301043425807549005546344745650300080075395929471206771092823896211461088472586484530291073889899003489659894537769972472149400382584181213176807045084831132725615186108516399785697398578983123465174000198152344581753653111372646372666906811081163071454686867135671036583559473599508751495366695980472925754414177774065602991463241981803422720658825144813455293260457123646993031937840480820811374523326493213049135857435141107262766923088255243091394006827808658939391477990838523453761975504431208416513757930221830288939818290795371014120602948244492150655624766907147096712354167816911471624036277865252888059438715221158470743684707576349017588785327905136137860135249569141082509395058981891356672290555034496010164132955554345796298296064050140180959715470712625470542966279911400375078734228054786705679914200252314898660188720942340960841027650100065155166016682316956321084829408668746013213639109224856721563314809485191068149507089760748471428739495717883797941241049668407179950620264435041361422686221636706785655409634462592244481667403025226451755246445223411976922789378368352054509545967026760630115260802960331819629205989064792369774438795029799481247524435423507362531250085982087891489039903171544952890130560942777207198407654240680179861395869038004895401596028177288233423019467587366753342817559584533395751824835940029669240415712968419197954475963901767752027276787840226882648972961030004805911160342488731119245981374907016362761486373144550935147127792592771217467280726407178548418685966564833246942626471513759197330737024838905853648371169408999678235795982441955566483271036001005752418748461995757912658361738877139033912383409841816262556643141886255262774574071223666063437942063014676498029848229742806309715835941741955897082729813078590647327208193605346745842080127938494384860744853925902185664860408674683048057790703522758077247354029105896580793858428635724964495524503020952721220004874724408937502127161349547762841443381948465750009130144046455202368519393823567565279232879504500110512562646526148299946627221218361161141263667613184334098525611290332375548292987666350684876333730993664909644236808548076693212197468899384687076823864584223871212215858702255748033360162411295499849189026352152038630095903474334145261682249708314821773381851261835823509890414990752020428321178579124719198974156208187353588033162567596566259629735498677358721984242237973435555859027184497639895592341802996232137847999057262543126933149349569275939478483400245365742345253873166045004401412564077250016479658287263789406742406629731043352623916539265860595252465178225260853531056527601637729464169052743675466350639685136232617570298698373314462396201577545890410020912059190281000475264153605170622895056203431411189906594699875358249482065241144204611219912485977337336889710999973168239195550737440812828297634889454840107099960348469606132208299739094513248660200265806371771439874239359947876131476317137557656295631776853255490742966190148200579156649898725861337300998064123757667542249003375383717411460283196222724106394907307973246924987501181643195495589729608458178100138165583378153790808018669452134100164879839588324926675909412341655003412977146773849216115275263982994279535813563056381924324626539962423642278388243366252919445055161283892213902277472441516386038453320694624350451728786598105678936689837019081211783742097107151469273325327030429456216209513683034739829796261150097604884254741195283843908291964444159171620017883989369565628529491854256235213991034848319954953117952314555163814195463230407062950061597096826473198037302319571912232444395292597688747126135034036515846931953430200114439614483514645384295381883848352134077021440770708885419891504835032239170748616625965433552234956215903198563132579123934350791988800792300564944593234277545467463455126935824897928092764469944402542138444010260990525313102334464740918390618972316586555001749650999305259474557776932173327268625195307330930007677222985525957787226755287927230765688910761811800195449690931452449664153726812613621012882017145551663167064265835064537857661159056263518530282821357928132318677350763127574230654197954176885691978425614957160554781999155842543069249294967444148548267258188392918879698626988898959659084632244580417217548191786921174827834999319021120365498042947601861205212160621298793068651865057556783341906730719657540390829782594478797673930246460114443217051855321955464807338835664177439581046951549624988323325236086146468602122568942612041648888559811948398787456865813451374310290296365436272831806857244595620395656110705826770416119189562335827090495499324182788244853860045625624412682529536419238140145162847871277029666978378556968845824374830829947158597108432020308398896747158227736309405189684490245015780387000902974672198565069010608478289253269874993823893206280535364572005537869316899718246096220897294705739224859546271610893800376935434571105735922791377490974125086724980444260880263901665601309130804180854153669276114761381940069470000684850249133056604701013891601865102070933016820548322245360029113726622750700874578694036025774797917390384385223199772839004539658611699376940826695555364017178872244120493730387368689368215730337162369481579773667954035972887700086488814196326307896333850875665205511912164237308102623325101602509910939042183386700690021059506551802389517913029168945886195067878867470002904286696796122921545065935916669868106018847701570472588546860058484475061040032464789549356701881063422938969634946802309475976970388190860467250794004575868949502952014844378565831188203763522074262951549316129455265257283642646904473384949896179726175130579472326422269752113189860249053165857112521376016757164645917467395661123539305970192750515813232451140960375193351175065821565316921953562612915935796722444399672282167402572819872510347137082296065441454825888887014319367456526455551232327462177574106813374688631967683304221207586838809966038572695507363682512739029501604033650872796661429397356429555195705091262380450709034659823309288679529333051746855137361848394233082170067861902271436833372356489500549543490822215031915237029038983275624796060241399864921603310770830302383115988562038903697933670678993768954510546288283274059476279919293659071316822573972916222213006790389985095626558753993958390921892397568724492892391658694213639624577653420227620432048622316572163000193243126240594770689821449895495388583315217647379470005179496373235327334090692069310434864090332186496156970046180027282252479536579972143785088981117237184249293465750944640566010725161030954246960165591793067532489126773054305115403057844180279309737968901535067852573383807737617225154892410769253400235946440152766793659323172001164768313821573241479575296942839735532198232183704130777737915793083929609864691311413669241321311681654350712799928110208040772719794538484908050246472256674289160657640606703844287755689206951871424712381440542315495154214858334641005131153101625129671282626875448998903689585745395625028289444140604764085600455111728885076036528334305541777229256447023168462984978760314255588768077119708165680065100605922856943994507912766557326780598244121066889298789592255849868165245035338337371102229585276576692628646693612811894165211952946265568980436633505393021244100355711629371411729886640673965866488829362711624094188242666276546834000187267823420975702785841427601852646396595790995002231911134805686347558907822066522783976103089352651370889334795850693327165991632774548629203357291310966666685226920619341675759159301206359505194660182113809171783606260206187868732842134082178494451087795791892021470967081916892176774518420642876757608985930985153382441146710220698313338227371054055329246978853843768129477127957255892643573314866606101912353390098570503224477382879261381722545315959762217978766104278915304227021475084460323256577198962217645871451786480116607789991234806910373216439662003563072945233920004351811704348475789713311430814224718246147073619593931830129122527352985417955124939991990209208522565664937011712946806397216748141626199915184179202016632691152638367668407495739557265875746768996746663580961328432943643115411278199963181118415656324041069736018451291499422701576629123861715332860125630512079432778943039668397704934251149409002077219349674459751329977882520919461581339848141620788022739451173418729497053949334467640394681138434276344064259702568819399692661043431302947256161013012295291925547425979016498845841323973411224539681177884445382449956719493388431042130516555097991715134723956880904463944036663909268524169242966491820957620694501535819087115636326279312179543965958161759801652878657312345386677096817323796838813120578211151435811313633918595745396976205086506461047512595057579280202694980908239009961788093136260978068097825319094233404363335850548940562779108879755952803166074994369993109256421197371980871454734679932625319563095609815653154513047851103575352629487474247180985014338489016530976924492463227186641149982222892824327941709614630358218419540608096482547882485712042351019879553879943980335434730587628395921983485399201635267436991427966915975764259627426244052467144875018307444761396539055208126633635039638586900318810373875471032695619771591631327913184836592763053235692728488565190382832665096378462762894927262605930088387550219758696787990755123998716723562766164321015071267627217874702793227968016133771616215241450239988077744259167648136496666583265465536015397341583594057084105652617958836648595280670238964114645162318191480616115344980620281363787033569951573311403392102616081468413013701602162996911365129149065157479959946424975337602750052999265076494809422169580322188148075231936543045759606544020452446749887142375691124311263009039515008225974093864399130458433855764166369311842790925749528239724961935628166126255307799556987287288181861432770943904277467303743412988146338959388277846409140290095987267774189572993814779054566863198980558241171619560036057976411216479997039046129398715609139307451208497829161771763182902784594621762108705449763825730700871672711438262092707698428770259678283643838709193165821656726714079885092935292789618711351337444766750412802483988235808805811701208988789160814052729195176837844186269979983928968661758697942976999189394581903482376796581154771205672454401773072713327348842674972308226197352908127009334749619105159374596205382928699137797143985009088515366709590647976872070340224425538318106950144216734681138080724170678309483944803307872045191628564767161670980624339287417810658700682805686225170151909164159328769746898459615489318671065420371478635783211300684554172192588658001355347894003835840295748420156916203245011719152058054495726104108208981429914136340849321841268618390318875960162667379411358547494484970682704559967289190487615623933702245034081899286713273503413965873928674347353089709086197560891067893329154732986878468381884407399406521048441706890150656883866761794998333560739371988026950794585248154439343184472937850856632624652455061096580103703921806102385622103821295102440000448558480193501530391000551526725467231928163754311366014514112305986289445616627482792997227120896394299303583800733015982662083822369374545903513945706346811309830100756055043099981364086280431456991872848732604753089138952805045287762176563712719074227227053543541817201729225745189934572405316891374795988997037583972200994643413671343576938488467428236905356278023362035582993242337767174053463174697843020499800112748937815618277938387688978453068031914194062327436222772614390126193136741143382695849039260256924739161376355627287295389401210992884874912407952978218766841251765487725193258607016341641074566480492020728486828289347405672204671575956558120926465484111971187952950903908612741623190010619808973172308423944913194854131769371350527512093340128063286899900110434255718328825613581439508116376077052682713274376711947363841145404027195501686302617727457107682016266352350827286630922782574535433063290603087419952007836099152217011877543685317656749906991346965714173794028157593344597747090935055512830423054261768633708485560181848642602433657004007776385392282995167549953313657085998037394393970808502365342718929932510190538818274432239612573195132231996717624637352970861023794775533757971828538009891985425066968505545852035481443833183668184057585106443970716352142063960381369561347670037502976136931903812835074388139195815091535356889546295229786242545669351953769941551987961633316833894668540844136527177567772858704024820074818414281394089347245882463625421873187559194931163567393245900478407736446308658303418070472805290337533322655167604431334496872193945796029897442024377460619890450746151673261416673598140608980555007884736706572323649953104488382901171914045088682309524540698444162620709492555117987103349812370920408633659020543854540414047741883443208353713618667674497879128814392173770884653531770119572779846115028395560050924394462746828977006298366403801562251823777361394483969197978169785917102827532208956658948146093596436238059579676018998643459567149491747923233204250775782486957745768580198018877302871732677231723636106856305530997609857319723595668385247529017882900069194857145639038635689977733819964147495148507487537765882690824827492532562115453306459766579497194107292812523134250128533462820654189297019605928146937020589766714448110156844536938064923035306137787173366670626255974540483741511023129016710099149349748271132209855557927141577684928182831893705705193503815668342617729698613714117518022254178017969557033312917961717209280845431754919683890681274130516779513949768661320343383532909678456946988637347649433417453115640247013708527148268654938258120060310721951945106715783814797659957637568177775805492288464156839700243989145500260962689587406043878752727412046629513247871177923060970908526018510715547056896187413850395089212979357035365343446270398287108581411020070465236438793449289246992239084813820511974584515294412956624798750844456164456937617001420534305474467912322291632194080107320331482813261177489783827357730421241284515464879309301595830148048167286884680803256880865457280757926345364347967876774187897665207121276832004653593351460610785584811225430123102085625599645070527893470882956647222724852204500620291785274509689948121679695950851349440460076402643872739337036010579457056683584402575550825266985553339267523765000594241089508243016263006537266014209820002904318664935736542140315541589339812958641925213856559671968773766445933730058567899478941121064834315835032373153032928386935291508189416764676157175130176345254499641829107366686438147179266386756232529768801288995157898807908189733945251007541221837597821616099428288872279167406388021236019943939586791123153269795180251145488408111849136954367923009885240527405357345308184639627822199938641618346884421007783052203545437104317748808419635284574410037608160830293894920686822131106176710201510009029196190027734465427704154198026473062127654304239117395978010537557075791802163863526143359224733666670673587637566358167458312365620512307060843271316163662927926146575871285940066879827087494429422462359660777913428430003500993770445784685878767940014589967236792365571213562821203798268102025153127898940866076855919426323093765364006736607650790339829288546723372951789322830079603198964912766977407187352061994095337755235523635671600938187370029317112924902443592643280762502828730357571033250603615041174683411802794972076683586325932083489901794326251393684835128628740339074730226188187030391367376368738998793312029880334514140120942932240399160002224152261619941060279174068126964841960846968412363918364309185138297201275761828654128037495177197451221457103283766623398970144135167685353144191434303397424382767012836812066664518031677116897266140360304924943925639418108428262698037262800980341146884478575500985462910788800417059330764087699278435836104800709321529262607402499666336434399969459203874576896990320020168963800340512001306316387790350887719003938408471477441058787762405618182448093641683587872492285519289235545750473015624816665393265682964169033836519789685532438970076303020934164307058693716258063193769229925035739940296699955812978608834750922538116616585170666147032889773462466058663766780417340725547087181954062872941586544508995585936975638120636555863085188166934560360274908795275697759144223237273994851660456799486373476678838856591695420305807054388455079850103048413918485124408618259190047771261956218802508685144015369304210130160843026215901169362155083953078219625458961853163019500697326945843164002221606623455574655084096490248245730289151571359967795932091930077261159794368463179732327479405353006344854251132174072946744926479016173121460386734207447621004659933237474786642426086519150244868186755531550116108668001540636233726742259827621100800370663179533293179453170535001469129055925641090628704543078954570295382103795647564142027531387572573804698931365861253289024645582936499495021239056974325550371811576736803469776561225127981492463479860824654468248272567005719717275977910498595852583887846390593281898529922726594382076604612532613762326208259699463700860164473746792042190174499606007448573185236302059848824898894410028246144677247695919831103223174009275653306274766675252401451316256013033711418165642072143701477672712286171775456929612244208274526115959768555054727242286670997661489684433706577372413335155048618904986310551266806394536876556390890717959547601516652095632660003555840502223891278283009628680268677992429041595864998833635548260832589171297565373620681329821295187054672573474782672748570447029923827168250219013514607837045734042130900825714801565059168446204737696861918513356663761933593117472605902705601435960483756993796763155284047591570300523112663793465857193228674491823023394567227452186048570268167677055556971198608249784790734248902282599098909971037756049732265736862644405706299218828233732737631455609240005688727348410623668663521271283310382314846992771323979390058684643255212274622689718560321452420999035785594119150480411351954643202053822181760774928484665350893314520114248290007589147287444748840236164308503028927957995620935373542611516602830902232956667975392114070075455802162000204641201910243545705838712120942563895250280376801685161497357561158250584667561023829959669677830249957521027121038385257003385885414217925805503449543342794498106486214920752551456466633893369961418621311325484553156805484133552573811584271494000988847235898163972354285896225563465274896900245747091500899978886672829974248338802665897718415303291862580673633597642235409695476522939147898944788024288439822933306275456593834562652674304377154123367640220484933267223327712531668714439729772586139697050914769289867349434514846013039415930232466256603014597947630485607486132634475400613771960546223747795811352675309113307519028535582454150484710582445621350730288123271944300953137315411703092405442892295975272883283608492730119374675647416124789662940097702511354330468733677150396307651579471608926770529974577545049692027032034036398686867907376155584282959684053468266236107848072465801585346206021073961900125723932763710261596495193186731956607438694236214411798035033869929930897226503382739323791733637509779313632179364779044355566516154717501116268601775594003921704980845082929253060860321702818028930118361903329165046253886312994592801118681736597538440763759564223581639246523086917834272622642284204309039579567740413307414379370761360146302244897802233705391722650833358713742472927584356220796763867246130436505556712098998219543517485389778809578103221626954012869293143544542705800530259316931003374977335072997783764352316630981707370268962281685806304157377120763593600667472339600484048824347089622616802936213275259409672309921567323568185559377609097215765856010376354373887477162064401004609279757431624434121876126498006415054661067779842493879888775255558250255860740853594984572261666062677489321499523127529292338702967585000271601150401677611257752473553656669626391439306574259953900351038866501069880007706628287451862517679729986029850849857472750685302813386600781383290409821042952915268055707043206496054073960703114483417072924424631419799995494455555015163404698507558361326889048971974853657575080658250953341412391704486566104358979746275430323195377527891658491459223162278817887082190174900919397227387821276128935177796017262843129038495694132739749595968021758805837630846033373329170434805568467300715999687610725412606817863395142502442551030835025732694313890149168989946064939974645222741700866628102405714961085933759991104212439773298055507721583472436103210034182088042769127253475131513852856480881780351876029820246409849918024920657197813779322941870783901679715247752795068461695663766283370575845248976146914285824279092968193116881485706996466525085458754166998261171227858053882709703024708279971336646614487178256259042376912930271320159838656134047785501471643945323987011020943809638593873797037222100770340415584487656807789269607573992449645929725169710154801472951310321892083134576694036080437458395992704544150846423604869521769665254804812491491728372053674372663162199840288611385977316620748960565622941230406046486851125785676513370364339594989166274723921998459509085090642874404602569997982318138443757901372869874390626213582509396008360530707417281925118948950894007829430340773869117453260344759864668006006851805849632239978214993937580997095319514816579020693637744500082648269768331437012825529096899082111484259862929920271902240051491225203298859442302698507579113201281016075848967853716046145534085982035999120915904794382155083904654758273533764389970923441839970831190560869354285540063441018836512769747732880862852005034350491885616627626185038420000573246888317421295134925911111957453221593785185205096170659446777635290898100527489339461104093810229311706447941529740318330559662726205399784340890652415270711595594878173134400401117880233935521652473616107230182563448721316819400215758251265365428319446128916666640567880166573575854573715417580453689247641845496608086942006911105627372028749674893884707556604560134585382191312369843245571076726373327328930421138712405174535824798964406905971443796229246168590722001210835159002740417318937027424280985698345372441661524861896699848220212396971828035727150423875130663266293775283067363367577126670455376630970007056725547240047913460577867954785777630413709007378877529202918465771516147714454486562504618620601560175592844446858395406052046525230505921513685900220930627659284049583114522854025775488986219798698234135390690258574013229900916613553806415688681944917340265769116201778131806247511431199877808563515095739036054941969339802707295046899331315114531202566544480140770504419199508429935632589611049771289177536780872602334676912434849933514557409030188609728532603966082440944217276801390696720755539017329779642689213183212428079627330399349051695508181476296065269665260950266125761702996544601786876968048203005284123814495265137341882025318988685514032790642778076572463467672924443647408946626730900446214977740577949799657284616355097064027870436860584770862772987995698617940427773526703932539467666307445082119256969257041255104372521651655187340912070178506270666252191109392705225275099349443257728788214907523168773235281363275926438722711602411439714283163713466090953874050065491990904474230058595290305396151645920810611151289233377015178914147273425250171407372200543704797896788245478232635698613278283472899484521293227336547598578531661467203290427203640234420496743433227074308143272595708833861207697378161856140223549853708070830745084849031547192210480791710543661107920364634624177253121600240983802090508252152497104697099611998814518895074479739913299795758346515295805143122749786002547071158250933989824724220024392086906463044248985356525184671920864304313173160937624779343612945509787717706695110648588103058024544585328303155941587120795696111873378740911122497424547086959839190826922267185584654673478913857356375644203927461029445454503316055652222452193922630631405662264315099817781928227608881404585852795969515685027553445794190724929019678949739970196160083092188686435053479031300611157628306750311524701609539730371387567891330769715162855035668349359765429274407360298342745782263020748818256612638842397542583577416618635966281871429298859918647492898543825414723057060899603159018605729423816330099435600000285531349998041932993575561903554971548774669115021513643334347796691698314004885051295473334392538035830032647933239690054227003103161857011681025765409829642358704477008338636958476710466136034257794262662527542036075086190853880216216992869257291217506737015295017794875923784846769504039835789084157014619405117745752456279118709597645597540352744544599484170350346418227997063088246326897398185057533381203897783310932886626399432660295118256026855355274863320294718531505355665113078055679633756532557673560539849693454548582161936042314108491833430098251271908240492997526496171533382056734842928631629486261358935802149436542741528493849432553847397263751838317455372929462644944277441220727215799627861761028800184840784583836268944814486263345629774777439694230263589327619524323261052679979109953823954431897739608440635465485383615783348929866918275728094295502531374867913412099244920649623419355341860574711938085722207054068338545389876081822975712036948941444769432130598060550956884761232886464992864976344998253516352796031530050677891297468243939155630831866826658894160304628305958369835080301788941247972514237204133382713250065706803951057705885262574246903023783313345332537095385077391028415500348095460415278183801334680517822949948566679218333659197817002623206180605718212624375974044001333949311540615726966151218061522746807998370057606547993881043155750452101955018336193007610032656880083746908992290095129893479032762569032813324232439382810548061244340420365720830999973020814872226016025958859320028012418199103982419419743927406307158333256124236042483998657273593281333535860449437191200180561889959629227364275873229546917680950011247173223057990998063718830153391023322255460870680312256571030605560494841572334549883670481631387942217459574664745723446067312500835100673684941328205325701351414086666668611749020042701682375502142492202772361259065570028654383485266897544167655770675267653384226989917619659537903255970280869130620606447359406650978826866282614144544243945047775496769684717404081634286217214368060003254478430001851495523396081497811731713491565845807894462284732717428014199138490186200277818667007061975428020806561325683130289830314746130906601125006070729605013792042554242086276436110683471072205486662422838588118832148551744179893507400847188713028126259827375274249540269408145901613544303145897207301637070810084364945896947153256691888278541322204563748444440019306375568943149873424355630558741735166070354536341467701847333362373148609160785454419911548624525027299135264504340609093750693472875144946931202884170679302821726305519656394131262258212580666263654514174486713988379826579417364833923175903440447088638670860583660038742985733734617119010219780482384415561131969725422900294298604455145606378995575997287403131390699188375410221484983755395346619651972218926659256728551090649863869816565081081517644582558616428520496339123503360129902686144070275762869451586461713069042412690174202621246300017532806304310340412703445138023530573723043814457583486612717112324447005300982633394094551680989697080802673964904314513455441911443915929496985180856763015927568881411531507569688226613646124515961784327761031287651471091555683815054889002943612814634476096816698919865776016225372939047133810446428216523529870405101657789311245801855256673272750889522849828194512760678266076807156888129204662522134839866009639434855189052304221397290809771023078217239203817162019683542682471719016983280963358612412333413924375240227794112895870212740812858769876043888458745560707542282242623519602653405865331331603736004289395933965854410666024567256609486673676745219552920976588850053875761533709856880981802060440647358043630153544056925126177613871200828970664102133863527407177634475405626013038710887960339608890691300292460302833759794912348983120727272903521080933914637467344377188100572802039333858343606955851850170606287959236470735384223632437974018188477853001776818698401607505156661161346465516121705143290364285416930225063888664157943257944027989814524265247366786744532532147647607261386294831228390724569357659590519617532958084028834097843130033195455045461456243698104636092167090239070982650287093812985458279989402273724267023005077590487331826149660599629585203184243441919044550772838595967928199458212617057487270210725126884590264226566305923561574095926858069238928929364015284629184461209450179316111892828043076472441259249551003627348590730539463835672738344639261170288907108345915074421800510538609858004019550501370513013697771355582115168379677093963488372160322682940101065143934846970869441112782745782736552516685328737316346444715116974820645439271645556539044329058011337987630222742252585937583812914518832224972628810232379360210359653074175627524719023211188647281125040363650921039912063434350679716641217653846104355869538346564005720903752018362081030172340179068753784502763745296674115390814569141274943240770481294669358433381811598632334049950848473490884373677607286540649025729514064461605019431240900340912058030598654840552800256568511698722021246393685669149314845539198272667398376721199354875004925639367731484441234117985248066151973253792787523029629009302004093440604223010131869450250011440098918323651632436923911584253711622038697654982390398357211756492882936340575531795141865163940023051489226268145014633935701517907558881294295292707339244002806808268776248926488827338794875865455581906605386612469985326777935004368205850073546851177429405987373147019397293425235485160213790640590043284333829862535265994639600926468392011710070341266331441802421695632873359149554171809068952164327808666979397361157658953160503491447141676524708645325981817398057259914625574365657012741979983950935732399471476187194040919106804449732136141339824092957962117405841762530885690262806616476209373886673616034362364958015884543899609499902437648406618149575846870987497694028177845796913668731166288695489555047008395495277395980678521550502570637694043147271487690600270073267798612791962318525095025723762122048448955624734513020872872533441737058188792616304770396826635221445997891656029957873179507281655788981494914485139754535897382700073528288868091447320473758734015894138512502918789467736210215763121505933837321271760891223439250299992728619851883717047721875608470690080715092612830464451456155951143554937073185407443628404660102246228785557534718932684978801031357650976524304417556649577791385598989509713381956814128095488651736352250015230794367580274331002241468682355386129437239101101538301075839883888653946161045147101437723086006995861497924178965949523235008529223088876699981445287148626508181026003313811969345395053260950950177385401199366636287924239872660001347751051560768610205188291650666756868255370278865095619745649513819712234788266320943354422142758246724590406201139857545508672268133254728696887042215629740556747206876191384933740739952691111347346356261124206781775043047835230093255275244854455080513360267384095431579345843582744627565395774954621540062302127146396128905491664615363975803578824627066811898210663990733781999489152682400593195822822033488617563111424980983035655907434538076914243673145862345872728837432583950000382563406306478454758400968517295242277699819560770283499118914532453999023551657296681107794336267463405771560299163343867000647480796975175518203032126175466998142218412278555003906839063038607574653547631051224678636675163430176659459546389579690987780518450691145156655967246656727901959300479678563932660701799699137064715398728508863221463781458734947440582888095503730162524081968146076136364914112110233427531530975056050486447953126158084691411689022132034243073816431943695005504256439491537996651725492678320119589273209956288269472836332736788381675781358381344608455697046485872775860624157329686829653353082234912521069000467010354260817831030642345728217789528434684005687921502745788950776019973189273721413462845851047132495501247942368299694489710401346664320834162158069210507966399634256713356232094691953956204961614938234855753350275741834062879294311677028596673911325154836978542338358438702285697356009891032932919188249143743301553943051176874185892395406940505712794212443814917430383598440537745613585061535048135340143288666634402287525018500305649786438419509765760222103082607084192292938490295284362906522525981795786748771557935936106769279760783596799432521118136085877323403672921416037853789617304767531608310408375110191369092380742209253638182232093585040521620101675099834168910002852083900781903448538479246370803392183596826599330758637749497290596352568751096068259473046457140692746385979315015523078976700832489070243529413194388679476552166263662658074656860880075372454951422025574926003582371936821168330849717804718697905071179902202357529802689382962809449504057071252564363615934929092647969981911697323330652891999510847131628895129869416991756856051956961163969488544818989948688231206423333166787479383150113060085721436925085274951962578791461569441534594158896649190832988037336813346353372216481587815971954651454500163224765605715210014378354571769035358468261430395184185132493325402855205639342528935353166821225877972479784790503539908005933955030946043253963767671600814506120132377848968461325969883313643560118222324546758721180107119999175893526914199431761320920023111794564602816022473367510716737308017520172710037577685541420568585227230002286087709150285789096287019734521311213675890916180383308309778686427760795349454856966322874565326328264074035589993109804409297766860076226187274463800760463909164212270227752679067677611717865867713632148252702693958899210811838886352663940281006441295300578574856932943292804617032017606138224145613781802554020150940489494749018820497057165293092599647653434309521918692062188731025738353512911371705156572454351754971300824938802259230857026015939199724596467401447626689168104770152754234031021703805444282263601700319765476221183671368732482490541679204868142615586556352645450656194805439606397017811206250475164349785972362692119345503349977053855503084328728226558705740823742492960722405190062102230552410779244923124358476549165369611022803213317855258764419265591163349258173241932743664459272432278963286798918999403134943989219821977486948879464504678378945069783993553605188273706466991800207096045062587617682535648508596752058695282326955192662995611099948773173273925114505540434636913138381818085788238470978177145382313017908349790128234610787775604537749400311383895565384785297168634054731063925552309309012605923667142291426479938392826332341569493693622794355848544972404585244857558484564502583830704655812641731382619522941645802248606246916884813964228883806240055960745421942812634714998645365812832601804003137865947998277306659741788194674251152778219591869341387015328083427438925013346774958608883184023751417363209751094864879689331561343779097418412004263203759678155103632808492568871141836525067637215185966446972481163718776270960319918503412611797689138034739282652765204279363474911164956081854244427188334903496725948593542811775626963363811284475712873056802495107731526646717092817588122895636083806533453313124541451395168121339544637830568613153158577456197702384399765611444429119147478301603474304114949411922895126196942460500756637243800344910234550355587026611508926563999078624147642451395191092688140589402319533188630544293622575456900335396404544937672101810718534304099796813730797127757442169624706669328999440152132966731805609628110346573067019547242316671500929432647412411213891087651118272463910165773347338625833617596182655178079148010818514734359149635634254404485271076064524738889185186468662045626943524769262640424879272863531403812002099084531114128267568445566630312404693817386137644422961729953520192623865361389826779261273482999535294817333577945854526366000236020042628645902259544307102901119761973653054708624000074682753741910009821901012110367664818637465047518012635724386339193505763466644678397205783352147597769678975184118485885724633291930523831365866195600857883314911526139361994543006530688887958786659827092960010818447365947602731130791271336135059861090182333641332007208145201873592448683810667505230356204826119047563306910888180887368883268367593653805833191001895093545021333430413586157263998925390839407207516739630671868096608966221786560073219459359094797593768291286015407023875006653168664727314602036668542962244681782425892812263952005247978423325131943275986022709666166627554756324939254279640404504081033483296970588574815223422609168017652645474110608437149598834390173913204820204212680497900404873007098511586762970408016560105060083066019570638383121002107828562079281956072251550897760908458696956077283850863746160645952377458836642068875961398107819617625385838450802199424731150533027937182483353294379803973445915179675410380305820365499423908820867467222828026739387226514164564739761783836781592373963007692013973081308594590439797405830148320025223223357305829136755995704143244328280564314705098049905557312905745754430620139027960215526924386648913640045455084783914113609142606998095276556981088332138361580451818230552034405620237521788930652375254771055800069238979348926805828713036940300349165000191066290404424732587138951769270559820578833746566636807258706738256441614625477716867444623932295880968261910791258653749332860432196066037792513691910700143875489498882946565463300926554676658950422562922937015372405970478814573968087798074910070968099524705905849961464756463654724159718572849011394978165415836680116571467414773521772816475561403955873131919319718590435290444240960734736787135016803819498488938816127893413964301485618159522848657936273132595483655200212747270223421562874893011741891016027300581222898528110925064856184429460801885743905750818590536940498688781662841016474454450907635859671939876696085530008304500548820427171220723231251260055488156124608987459746661041198199281386573056904538939578356799553722693923258060208394480702890583856915272692608473541682882669973813936108018341160092802817392680764325212790614794439970749285634148484213082227858241559067832957822871160593860727332755722767202121845826894828333002509909953921591505127978992391252829344049611721589762203552873270453163034106868355692529918431522041682672135983436122883526034831239729494600353834233098540666250200971753209365092156106649425435009318108292310994641456277389908224227200732468125763314972449961836672233791406718506445954673021923710867516667484576205219801932679779339305279155136542361638360042220770693381478635939432646471731676835300516738352410872510957030494914454166225945652179131987327802270259327098935060558855939092580609437600476095805420992748236033302441889355388528482035122631492368512115156530892968319755876433495107561586170012705806801846656466058626578979692517906166418747561853529498874523306486615894389211093036715447363685743628740488800052604994087889511415786453183729436359516062379933635569792307315074403427496337304521953780842409982339071848859601173944336020224183829142062509428736801905912195225359117170332470080891973851411876288918050601955520833850818321001453942169577973876540787168281802500026240656134018275337215739690988496444404235925230355937884673491709251222321866219006316517701788149746812176488200564103801637708299059124813166699466054151263019066444313049952832793206572495142308415143032414500413845819260066560561707401330232421375555130785323596455776912152349237089906831775997667441593556407992301291795878678040240619393161122765850411672968980304427649293989028828383946093728958673469941757414486396649236413834678887211814387288351020679219109650257802621050673402955780470113622069631334140767525164797776308443100694079639173783381043904601121215994773333836186226835755097889705618709645852653689182533609737917102488058384557469653163238364443216546062741330474871430451236902426529756728130449657837176548111972414375327122265138939871883874509309977750257878591981003449000345025802913470403703273881161725919290553266121168404995749481210731505185419588282277084611017388330111265304749239925285371199634501183526623606362117114525713199475964674810658909536168055294980528283257693111727210039194672593362235702076429202528433738034491956573816462496271752698876547632045237920373570118013224195655659265327728729957959939937586680193535043573635298707129178439267110344165144445194567395697825757042663735388255032960853164990425784354184618279711877427735068201595367083460079938072987629156541838462916168107461547099669207959235938493431949559541306443998206288176992268840134450221550132156171379007266837917998719624098882265443721479229131184811914404576181650312795521737732749646721058024289721117918417241245578392919127028285051963261871383768932748597124117437944392624797543658846306888807421953716029877737174047351748899645912306795188908362062369126386806279782937658774686980248289994595571627651697673232453954388096507341135818035860817346658214871581851132064648040346978984223639601789419503671588243625702124604480551566896991903013955451582683229837244337938682953565681965992475516656421959131526685003992529476429120626918031187277757544517279286362776137880292066279457642507862443025052784519456632481380648037871839344825792603284125535310157317819250131013200934918476575672580854034762308646734091201746818916418186663787226682520820275968108444123959644753284809324508618913276739507936898330980547921311677923073223215249357073188674487523645410995723858696977050736479361653435061260032087487623863747573344071550055475814663613745689609906534703351579855685627648485642094713941783421872538793619660950739971148028434143842969968441945515965379719658825063545332977420832842113957598842880301533001255321687358789119410082794856988681432220672589495638109980342187794001194870404983749516676102670451771635063263482179718599865465181632408295280232941665976612908378082116414293307989933007440670518294734101922789413653131602601890294390367447906764876602111968933116133170218684021285260421128876551161509150724409899124247919997387912852760916902159088643826895862774239414893958857297749803877249953586012652654782699521535552359055184206967499752665939898642558421105881629981260752341643745315069044412014526162796752078586150508754975574289323364540910189656671700573627696579917910915789575557003270224671855324067616569883718789686303668839205402224607395242865466945880252288652883877492180027950696841753541046912996420531928642841500393434685256023118732835566068822309287272249796213680451502894956864567104280419039783660275218752276084606223699481293883481178609236792119204207299069437591727860475403026794481026814345559514272658523552814590283424564436165881541252056539268018996015427140534880347280246282128450542139754513788298531177854307330695961461208362909072916692720696266396638129341730337958498541794135171418617609291707647851747881502168877735793033090265180697424150456544125449936691922739247065636498457003488503562566376785029253601018191386433858334876968277925153558343089880916267464603792192541462337157706279501949846322928357342469934948780350582966135541024354751582597783330841029612036719308153523785859649033795530835030784359044060161961671128935891452430411679823726177499448660336257065329779274677803270694652150102398663714407417848694022183620057663192491163981864577453998128422787184275290819831408082210641554565171584178937859496366700748030767009382058208977870069380221893251486622616883181759828545992837948724646209150004388473766415612703194662708835103894198074193955118106237670088180310406467246411579210889214229804568738280856663846391793377691196258615231695411857152406200669089170127392028785243741240393710180437530827214324584754894507324223213455973723945307064854994966809370911476893478214634351552496555744346491446137600516838929871709962452226782385878881266610087520702950627121099658049438559104820839409139633784952995509694798565809697291742816769294885074821792936000276640062794657287276929043643602183410577531843593828765264174232810521502631677004950208683267202210477614694652802189318416307341086278305375839120725425853493072121384293532076603396338647690923420935298607402598495659673722454222765727766411661419060335725886590204792964856886927082219986795698717490375004600684051814898195921632345668391765755335040555622319731761861009885471824679115838446838610537041399817342582734008914546163638440005565204199707394055247615857873449707637370992914855264119985953799839430907658361661887083744026135020727879068020707674810100210393350864902846859528209118428392674296837405383542141115547535680183898834467667665671897527035080700627927111339158749409563985748344454580773985994526734826603694940681846879662088450779530364107421563370855814251745808403725068692867917596669967531111997437482406437764149103856460467733917089493663686362062703884196489811848931887470112838923254233690162320947138764483403249912962074615215872537078749040434734784110385162999614052454737332784981196930371974555438705906846505091762378359759843263429079831790175516567485561802119583482593003203684749842470687364226742166813873463884252065784242974492213948356119091908469533198963832564331600064333841981434224661509352782472760672015481192129160166558455827607315581040641689410748394204477586890620503530425596444794257598198759813055016770753872156650771940585539624862166674275337562729767598971196626926639866626155554240125523890264993214111490236437568142689239502134334146725633231243290083002101829704369451324783720003347426548627726918152042915904044293686009088493366868687895673967128069181525143036226582329864496828872171609309696780654291559321716698902328863374745014991424658382874438489438032549401361226196416255008506123949760021130621581162038754309701363923525118302419976043030421142841507793063362512034297390959909912426845324265104697717773812631070434856652590456109895302087297497800020179283141548479888091985226845828728581884410850757555317298029545240289967699243767265987016316059512989019765530953907549340551292003037817859596560585278039195646479911990116452832640399389481893352712643387272910960420330128765572195231095770144203111337310785038106519792877285843360042720116744371476447106067552901246818406179971645541788354139253286306973159794796930024155316927721362792851127424373884493245263394482075396039745318004301967265810463170977503476668478086008845938605039376934262280854991680371051882586484133030649052516128875709176240666994637932257477054019764099208450852277723792525085227467756714943787687491335621718665442752949308293621562988297087738196965987135917673319945901446721047467782521750896920060588761228627839531971980855298110894526316338551884444339918259039376464525835428792207960318532227983272710359130878984345723925430116437663215829541660392460178577147988728412309602463673831065453823486914444060295703903255287694537264826633127252439093793426788566557559054083660030640477396370523786508995764376571852526122720295133531307150592925539030565629611935875008845756395174661396508918017554568048956264783040587942874891177445363613618464476574971119042959792453927819740121452385143014784974693830318510177517569059154464596914263341442817292712437664810113380667798154978732732690699109839450137944074134891843302606160138853308721284685406005649862840143435898032143936062283355786697382974562604012637588856369990352517268793389514293805122224919815936720681362708381039300356309072026423188292077882330494325445686030907758203614799189428853322989595721493329983466316823877410775935401204534087355188549980732623029200147861169370524573627592200072013116429342265235474303615214959780101470973214398525540620304100743319955585353041908410249770551777908831110256168888380844954669753824355509521782675871311692151990701683661411830710348378099033706531206089452865948089579449627375375114161965149991637302378545847585815915678534230842476987143909292027343504027764271254691453257177729922821718436966008946896550344590173823314813341825060933668775648011703626852699933113874168285699391008927800313304494381419335921580748634576411958014853227376199484784324561390589214688257809662491114308948734467023373234172677088791675621879057542114792116561873350891743674926936692219281700673458009517548822020101882955210330109778300378343472190342720222152652935136206426585250040386800418759347628593020251688094747007680205076536616199842540464677553211907793275399918833596598398395481282444198655071602600761166109638151482664645216991709827293652951955418006528308056955241715967784976632218414781782131637933738202597614720372139709449446986138283253201990760828924240078456154182675874723427912494116325159079846805811751709606701397959891453360854836497772786971895735237135353125534455053805803287847888095214348201922663505685865623909448238795592120672172536099605201422383982635883185529506171000453349868939060122546374364225109379707710068471437554369977266056711630290075523811349833530765647821105631443270059247182380163674561748076054125680581193852671685023221628216755803649423772353974302751518672426696231023346409204699820658828197876421550995729056999599164021045886068321459682390359128416694443536931630595389266031139388042606914904495296197771200150274871712582862771877124157538860764305844532073646138067110679398380920296118682357999897374309669480956431061524263068476021376864676078760498426265471104733337120204720506061300018577647448413185065545753364296518345674438346577648779177997501796946551138921369834284001523309502159456121485332701765050861661001648425410188840141013326896688088013147246722784403256153364040241782327720747257941654741794046081500028606516584965253629186059679412477279661525954421837873765593476107896792753847459775511663492258964439279726919772501802076429357600607424986643209103963928238621713544412309762252275682672472143118087827433665754194296309942057995318019350075628608118185288855079601325348835420208668095634356567430482040424005305421383423893473783202971223186279047974518675204182373716985468892556810147304933506378804520152009285220201183638101687914517394860912909900479424345064981551835599769216872350456482753321624801229527410947099858520809669162737253893149737903593374251368111463100026959788589910779056497668712279842092062764684478853101924861595632165890787852455643556331490300748729630061542554078901411986805652974243970777953916197901064153952351994192883703113511443401955101374919723930287381631062228687894653541423995294859986212413484845331761812658099125368291037774157057561955330533532555713127044047109332423391345415589989178139764755172166715485199533248550762460042995778449576868052058207701859927276013462533078383339278941717159772153944716608493886421488423702380611946064423140270030630650493333706109875578986532881103031516840784086745859404224079598945506251853052771945323950772423459446084732465638986351380789703125364007337018987114224159330281128868776835158136384496878026509884283444561993891561940958309799289827753893829995818924132922067918429976907939666463115957616891395587787426109032741960970699481844135827135673574492820979976932608574659708661344193587439305343668630401424251622869715046300510249490210132483205413244906818287921554668025012561614698896513705293607489452104625935168339977951675788541792480332774378503638095000624378687841895035281392622754133767026704919914183856512985104212112732867760857425436999851108791738708800607666772161144004545316866807612249776715874392708425242185821970442084249248754093707464032448054529725973074624741208757879242541811767689778119379318334536615357588172315248443392208085658330182228944558557642738260987007248886204864880643494215445487881447574427070265292778400811724312683101120644619276774685371120354224426683859701768154287954444216091929393244110490223757505798113927447491792981786856453150106967000288845082270972228159666755248555444045877873321236268713361269149681935432954759609601180457223314916401511848957061809109329855373721444098941603452829534845110469950036788664076470073444385942438851053561222556731151601893294203516320717787821229135295660861620952406360215111654591059163327949066983355030825582692794459357018650443946675887000607253623422917656524441266815579089082526823940610593637064896995763762453538683792825881052277438201824986043978529709581594536411860742069822911314714246305343196652719420655389144951509275928238501757371388956844159238649181295220978488496745591800670730514560921281226260134876904903532194002427952756756823439808578829461811661803822298137080448205339421261736554255393656594973584872829418595690911012034777258881960298277589563360800506400887555717605918780452254598238249333489605187066803201287171925061350081144529024425890925411305298658341801208163712388051320062982628147509351749560593811127529930970962463657142404595121484169053301304620311131375607740488764096004316036154748036439799146638326814294678041466179400385835831553246830985658152993649272919479248425942809626935224043400145725458487211075150630118082224504417940825653808646258720125952226503033234357202563376246812726834427770425569106109149615514542338719378940496725193049380828604305005010354906882033160357071493433864741198731739876468973003917715203978824661779232995499559196140744097330744807211882802653319844132564971918075540277219664453896974282773878713520027386718082612447523750325009400743394264160629046116835121241104900795079887322570191309907486484126208908782214692972685709872637102942335109217861160204519498259308773485608744765503325706580067891973144980886920136782170427011185133973980961973837245175411319141973158019137424063872989188331078446477224359360358458100194394046351867253382817203180717719072689403050248207067392100865547136946428404004639957237547165079241702668946246350000605956831213624127046049273747642041285146076104888867662474257849439590710981289741043552355857544307808899419781246808137802919538985223833164167081652331118775542104587386424716099273584617667500499005948646907980230676164842957452457568578330925840330161384232648996605341432673216062434507631061103739525614163960155869515799172530732334596639832663581895640044268293974186277799902650686070937572677494460294999391364196624928318414405059952283625756912699200705197834131134398773940520146924197242386262600480522511299546388602316027078722233965436072144868003825582925003850649867069861713408682134877222479316095068749209227484992854295794628159918132754712275461614756193127009022622823683636707289014737038690112462785872538549145323006367133299162865716705784781279313730387740489308358624148195806937757539145042884690286891724486219569847820891102249341874481433081459661691990343812600205954428967350827770040569207552401195042540886815661025560266318826427532701574128353155618482809479518748795414264722610196472876641463723697980273122544721659874795885976898989018912908411231372249754760756307282946414211260309336461499890611241320158130554869505527672069461415762512955764596870086813162837746218265690285589389004611605714165330741367253281583840306654054249652534907862155459995854048087934462845410370302970887797833173177539385173216317498217449844385858547718123427413470714430602132119653410494066295960223785337887864416058066223548137779730923379350370224131394054450294642645536227376490857999750048985141797321180936137089174000616723035939882593734460840765799196870753913493480033395839464291361954798482978038369784058279545962751671709327639498465226687530089915941349276129279255761422377447828631855494852534019925120825512740782328950544232121686937113445681835266961313988337514772415280870595391466226586040011423186509249429267962372377204597433266949977271617581995764883100381935064056514176108515785445560934458119110986011476292933442672217848226324588179062258264409526960672946457227504637361484192603636465754807459847439515543727532584112197969360865300181954972623574774634391920405004202053466446736684383652084997193550372124514057388560518082485133239204008206498742485924875919468143902520276439459438141929081807467792312278833784075233345770992270553921803930730382562361627323032796126081845870050873778246903919133128249942983595068645303491215624088658449626441799546792511633067888986991329667485785032370389123041410236638181492659992861572319069826320990218399921807210531500626131430360809129021957383053567201732059828582667572152395332403813353580213111765925810234457605751595848924826590528637501060015911780094534773765460912535986443527814629269785928681768423205221458084312648118044057453075878187380875583368368731211265897269950357758898059957662381194464760726230592526952900042849775529073574022571348974068969490978705596279244682901614056542950941007550333110578301011515783713256867745792112678051188567252411536135629789556874537466933761141550983831450824400708827106410599046252372098937027186481947143967655361457005099973874396082327081701328175883859724633706750134794327731956356303077390344595967556066515649760645519796821524805340058888798998004741167149950217596491161484437528868872537336659366302590554248935381435658886326600191061614830975637886655893479739889722033910452305264966596104329179627953010233641967901799099733898868202932920793745477267192507566483504743918116830956336672022215388212183302208611398454621955913826916066038968113510936920801988566116602880303053293276180149859114413267828269684676330338437651986057020698961310343990296335167683689793070540399306145162384363044409694174584133176423261625568348395337538961751679342874844884194642482780097281898421791248488278352913362109803303391243579959893605436164118875418403438398015898263250289960843743293842658336065491286385930977831725080789482383160281052902157379616554045636810905314377356560258747494481421307118899877327179696686927960911809986657018015271256412242594282296245444781173001530101259159536096885816851866879780048576167053321988569990140356462213763907562739787879196454358885515229493424082352966072590953172401299804551366059033314272330471782575936910938186621119789450736433352001792838905459073095998416056914664265512215172321907196710903347464028974083052009720475734616037740327405655895146067441398598444679083743429720598959464879607101985995417535166257521360738271561928803550976144158158227654007848748282061016831145794339485826488859751423794724267737276061232958398696770430509723890454954360031991385946643684907050942191151723529894237935658708687881575246421737039972004790879351750833700639562108542966669625429865427646250166028096620282702227050908900739517634401315850530085709220761819179699783502115598240007787495379388368324420560312744022139233654445528227001939097873770404777938263830285438664041270160916040401719886612593956457891694384608354724303129917544821169783782641655218764949974414619505186297775242686875892737763211620410487581799330002630099699257532453216681926615328651161595924910532725340218437186131942804393992857698349808433028357794365911763434721584646087957764415256397643478169826527464924450017614635461827896580672148324380704214301677070018825490829965994064438162024763062880867592986759509708179945741854570892384617002552898923884911262789985510416746906417368873375994810631776932351707397545454084397149311394947683626221680382510390050010729410630126692024350212172076622521058731495119900337556620901134069669201403073016933249627218567099879172153382874130958670607870842269606651403909231508692822969796969521205435550945988658594827820753949483354528866279120056103491977008894056643888552641658145376044676154785763086918299599264050444767940850965245501206854574668591056861625680484907915620733421895651833060031177090818288093825645693316115522246638275527959295542860282034302174510193253026443124866969812065257932757596894386111730851928100867000792647707280403543034049382082449092059542643918110326752174922099953583991169098024387165958180360074079748211314750721022990094676804716289440256352807709460626770093470859225453178805800690798359694475700528408347609473438348358846932106796495412643552399535558327343291928673580997904215749258554033815866867492312226447143717199580891944041574310255358590917141536381249136495510258868379615058763270329743074340874174055501506597291259563336221753403223025049709348080332760713052689879398760136260007764246106694103435266651769862118325023095783780025450227343849763614190532432918756248462897737445232896464379054693698538889585726412143547855618713249539453962854975142143951350099470050447439349926063982192187296587824612329258737156823927464762782591231425988261299905120289067498195688948606989226281221262454969580076590411047865183672578764850183266314434706964899499848732678004876321817053875484535182487141052458953004752863332667665025738450495537531730758474980827792805295806379782808735098430513263436243917769416199563591577337386551469346351572366037466546020945373172654424812869898076077481300915824260495491899207180254779684608269133370564945266385550139665617882953010682546768568165132795285963372828516811300651255184000135937160787447861104041948392889577530716300735661406226994190203094804275818292912087127349371638644467148161348269154105128482910779343247800679651071198073279947800422294903161261899761832953192900941771843445491492877514000176858880764156123895932256169117136002458564323589413177411759985056080865121095809307847412602901381964630276338953315750080765819648744107914877257824003073031792797662616645443415055445317594835860605428623248658543563257883266438030151444540556236222336173539139960623401393442049913609847359728681204477982737599998065739798263587104637623977854431621397723694380079267032529562043261504114442647191814961301641140585531635958246522960400159839074287877373210518525003796797709993938623046202592891510814343810617672014148635401778430223790013170303958247180982783025861345097544434142119836809304338410390237756110885575987415539546663229290365589752794412027715672299388937751167410678241635449485621315999564987051472450341097788431554279416089572791194618787543436554074265766362615626762819341876889641780749783173543942552725826863916679312218761442623262900297815909355323415598628122748775796590563895868305428588840431601195001946067159752546688623741070407151560711507812974292379506445600773494780161518295217608867343234628330848785976124692071422482300217472507942692710266058671318347591520046433194823099811781832185175677921217256195239494190818277263631259527983021114296436318349938368861282309448329121025653699901632263997108523501360616043835188121086319879012644418120384832160732567892028299643678615131601075250887224377063583968018291211180422652458379649815828199198975401332591407247867364012749919487611787751529330686231092608931861046822727920258310783709858929045203453294831058674769760138740731446176654441816628792618718611482832219947713202840180827717278920982659862290402734991761763402093593446040800565465273804381168045414244256043037936411619355311222781737832931080922949897629118494156729119364501258483477213490179087547089712336375089110184592631714442062692517496224414278910562657283729245314569261348740906829048482335497117116436876632900135755079429893584137784483000310377675503720528058437019566146683779016189469813983222623837895644865400981280416904134570727471877835334424746500179915061076251932338451651361581872387126574764174935262131384672989349322266085579127670406261029062656678989937028211408403530152046973593883694264612245972313161365282173998846749585898904001154642871520789909271206521957419303079585767406988016027591680342915849678944118895049597361056749682691571172802380864471785425308148291184954599310657440995860103885420849450098292745530150091057296381840661306263767161804873423759862771580341852280810135196390943849826630766380656849729722046700116691115560909979080857258681061674765976632345634877935057230758813051678836866090498817787816569729063668203668211539463614290412115282157440897320067032509438100686043979618855490079183331651324013025731173152946867829453547173885891525444559669355580786980569589066822118648406203921251200519964428696595432594315980905065836766371359573836420909345976018812526343848407825607154115026113366099970988739523540043811597973843621920538580915731291106937890696386012632907645416131837845201452075024026365181804712645378469194046671832317304965363399630594167938277525269707827768852285325849128497559529906338762876026939288719651990792383999605369221385955390609639296490968513155213868590048288133293868283389748174720721853527234394731183390886878914822794847863744895246338317350879032084176315241095356893734876299295188903770998498618219962097265786104140228635875740120428599615925411080368261136643629171018329051215426718459924175854574083320635433241241185123948038051667703777216463817683945902450790587702571357102861038908514856441080812308482813199239463422079567450272167537599944784191263318514360474157598313050529660397837142992181543641674379260023750763332649067861165117025848220714472306221600855092677474020550985696939911158358860241489701091200356661833340351972244481818902653979393268143205066927608274080032309477204779320104815923047370935421997652263153973542802761370287962843163375502770495657415869647599512774312347912767221052835148336704659828779361078229598201314519236200254461904617037020075706844727033271740444999669047693412321316291786096187834338712545179166888729385028497463107885068143003777260249163844398565159121035220309854740933439799670002219325477316326518741544404654542348587419871037529736816120752473547834643309703388352497982062837657037326905439578359122819448741533323838660462424585516000371333567220568685754044945930000452200319820946003643868325551051401527792623825948074915946496150842433145801011796999810601154416603078529408797921939587699509894500025891537791202419476236684472448222923799880831489842985199725687912881089151719251061919707668284659602214054222753753685801547963742619255016621866458851490980028985760108738961705597547702360987791022746256081555158332363500563483461581732368969121368620177337077301051063726113311309856757544013020715800676282232188275478176158533141007634249831491486438404632871454731245038538671845550674524329182289369489952422946812087301625320889067507199914858236538379186791414671740127205773184736974690373754211999930382199120471728714350762732815728764495804978736955832744955518724283766109755615046927336967916366405397720088380244863658595685321578024802198845740313858267303892656762653239893169850809255754542379132970722278614108389442889241475335400217204828605382909863340933689101138650069752973685499909152414661473674323755161544454854482054060221449430206289342029595506904325415164313184958336989761900844818336263362093440432271117951762626358901538764885944730673633883732377682645456848404476247924876522926363954308726033810220032539380005066971313930610639247043918800538472230072533052000203582215599937277099790541445301641866693933209744023063473259094394429658122421437007867059862015277045549123268822866691105498463853179064109703231031835914262528572289155375087379961941534507194695852487576584185557105351097593214274052003284505800434523644998715548253672843592599565156706244464820614876218232085606613893665242277006334282721335916871987465973560446556019742039067863784209175835087597374377345077807015702771158163981229721710829587160983052473243902195063743157745510918756544959559153009092232464891798573142481002734096421380334600726014296042904883376429769222524341070393263353307466749797451750164582992361410837231029531671693289144327225552658036892406635636218392602229671467423292879685252437462933186827986843835545767744521826362250049153338268831851710801169615219354764610690154286693173479125823397240184402610099333667469437866879316861252811368363742055935294941712467381125787722642278361611756851714383149028669540446382881773418184740424438384256548032826406221890501078374874102560899279964882930345071194862573775623710961664756698644826941336672474891255552052707391160857309039523635517274081550059814497296517826243559706560288330786881789180834316917769966253576967277555889701306862668014326385926537318208416383349169517872055711780531515304617730533315907572214575837765413029817870250201554400514720929659033823436199035544185069179446255769531958768787005822341982461093439820292512923085850406551674376559933166106710438671600820669083719808142357975445057116652405456781894475115235253130341324563882747957219649594332243008410541481051486821424551512432387284072037835427666803216243439116412919005606190147788432202749100540421147488560307677936932296034993160249959209197563784281454797404111868479456081829838859345071449863804518423797180510994944975635292269892978453061381385560343903726130725526223463825096203385059520874949470854134490017989417509010258535166943874920261162833944506425427007931298892385255125646758406823019799383788216247363691572299145057567507883882978556081718041630001250989657787590437780481486751210402627305419304915839703270587158143356023172600851149630118167580174078120304253898469211702957936857424845535808536492278898040639606230930842551964466349044653922973558081230414015319485823862420362790314039735809847527116533306549564341387153431866847536182774559514825604387725138506793884633736865883854480479900825673964503398279369932508443345470602265206424388721346372813377566959870217700524574217083768701751791708099089071648257936570489891685596826148211273129516842903815632869501117254906941766159407652520206568786111849292523723298134034691070683679021834789224011798058571793793875680297786443003008936438805154280393471184303410554252079050215682456794695541881635037255841173588838657684648746940837255551951723677849405102148723023891832302150764695914947089855061811540263511724452645132970314802823598354836959388083901305866601533203608078977447896629147661751664492080444898831671727395261834259018126073642480849172875380734666739508507281760363403641432420063221586642743472425713710382791396833124651862176203966834694019017880331746596941120993278541240288648878563307636009831203374124780961952626422672620010438920859648748851165811825395194131740363150328582229665366917931310739549750425897827615052236616397457503263975854977784360732902567774304916485427247920122520554355085059088883239061490869226887759754431547163573041573837131506580551215992839160453414288006676217781634809345081760355256479904896427654987512073437410539815937495268796100759862211189978890380037556936687598103046988103157690213645855921509158300161551328308868900326715103442196543496516149462601741526563932087154689364454448381186143071726159578597625216707534365853478434458971434957736431338030057222366570912516661898371513966309552516912302164982563387752238750840164720185161472693611318364439464800242840800309185629703689712722773494083142534650468896898583494663007371723891888458445001802726989075228831266218644789962002166256705380387921917209357248030076304647560621275845741107918739861352180740392734301058330944314189441358118092562291473097167234511251801553586752895800269555494794819333705032953687457730425912169557302684342230325762262494783419571719771224831287063397894036361835012457561853973576100419067465147012394638108996976776880292042988301684901109824799368827831138085642175551607550938697516551736113788267469267126315063752823004388262419246861169505587061727735531341445044219736748061597073876620509474456925815144191971147551879190706041566078829647999965706042419355448469293374493683522489671692610067029713929565531178982938121336936684281319619569674957254916150695723352455251261329839710585654082196978065315949509954217664439041980859252172413591741165861429260242045732226762345167719369728617277688754966450647556526286620338438878104332410427395419413205536767326820077102944097043695694216048056914983547738089066480703572781584104147091317975029052006348375853994303571933637141322602937282660882671054159269927902611757523331693832756178801213238072622330461280463806703878750403099638412639610502212954795819393726898062108033358276743727160880005609628106398980896263980929178695483276336135250413488634623049810519468613317007370670193230103213115304682443667165248574704602409189805804530150290490783428089787572415785122531752069851667951700420338132833418375079829022651387954468963858982736770624190136022140070718216126259927523191299642358870170700485082250920092187419076291241939665541101768103180016262703160259804795753815051521831132816104974832021826288003137290650168923253265194869906833068035402060806131461211414486351426819298724962005598362171456658820084171893646149548606144495507481804301214491915505935255515057104936063823880570320861208703560063558133115789830607393682920072175712159622896949380552145166570023888864643177337821129879529506807623164663273325109864607104895380308716659124071030131563313940198648842817776024624683461391844865643312796874172919576817377448597987177484540058165739929078784466585637901048237870622008569845233937418159928748360488588559186117107710739717397400265376517373359138141144607230394485809791888889488975922386326567256232361517864456005008004325012824788575990954942084665762567570573012534750182170941539227771039540569212970745025195752519101687506636979351788233116130014422273000818361470391431526253135258098607278596946931578683827042250138665077178844668138296319468944327618854940120558237754577443535797039185383052905007565538448421449829084377206854721809278832348476630700410401663503284622592190610400132201805402240565201768233325630394182111125660170499377080524343871391562069070275269400457080033180832199006591084035154944622849607521681922641540456870490274471121648488926302269364014872940899844195207766039614377254285885427553682747985510508497564671319402716982639572239506517222562817566755751758832644379646277800469487942263015620331121818501888458004666689463674793640530089068610897991151217076324957734079458732703499443125319685287241314035718577168623552771528432812623699135397848669943442292362708643068229173592223381807241872633806050313854057705486762505650066788119610458215798935140667139089186396507932296036128855130899720753021758394366857146781562591274991491763743674513390342306603691121674375826814968032713425949505306334102424509431681330670676613085225867561431861134715335016776232112820839320944652608823586525138307252317100260988284405818798726504797848265020528803768238104924011643925896219297633853746523119532987930499898339182440607556209059268975826453802323603789743403339555207906137625423645413876331542291852177999100398876071719687143962797008636163621409262300592689247962887860307031811820605334781569607538649613133505930665236339391194777718933570267660750271546958053839098898584595122476496209309041224285765840714704164555033010974467503096340150041374580409943726969413582615431829716603829586984275419004265844756162925353306825901533667221810147908053833106115965021532372671717661378571894923318571951439707254388937466135011263993264911779887071673134801373256533749728781146277597248480992328645845471998437067515301669447080576952584803265190738052899184377503251260097208309084033697303332295728008737730243968029834334056894080449515463093654895920018955588172396171161604549146232109395537970962311884467736628254377820634479140045964126700728812117401335068315235697415461452418454450700231606135844892702132798454520691624022769109616972749748174561790595551716522489585965567324777089246405466212634321200670597097160224338081381321973263221031495767587066915348549454618577810960447988865767459297542596652476103778718959577699266331023196550215005387743740715560203301784507504311662367294152401731149685755242205296620255792999848554967999320942932347274841533871015695064587403429931323643300394288994280063784481721910672667141472025995168280814685841432651664847044241793172286137675549699846297127141956879006401879709301665591095779514048887550585812887755163234311393723672301231654489029908215007832926773054036028072037801241687658373453056307348580499590314593770285041299055223154455996145728628885494979408578619815087847708122396395359436695563028228943653617650556095958825455449437384926372422174575203923283502091213215630800116614753175632772213044933945643244337677694254981130401597203502558930645150540450583317061851759120290329990894434199929604376099093796300208636781474661653604269452762608836808404623129458815267353248671853995242773713437221375445623012640932266371161623226584696755814726739025650314750083663091383970529441188840953471904383348135153054792147651449112413148668128826906366569899501900419948041418049723654936558333528945628810528805714374949539853584455419649013774268019488429073578509638758924829482896333659877692472698230436748569133637585107761742147406381412147862864218578767974931951382488594603395101296581591006395860171204042777463443682045310683632971308696804741623635432067153365682753092170679190477138047867542184968826888236052303194778515872786502980217096646257049729168406017585874475110359212736835387037131378503671415862494709917437623428186084664345823348366222271630916040009728772307180758593460010217878275364556827339994637551793458138019822180069323326835543610472595130654878737497109974196741736010220569845919951367053050849455775781432369941892167447894381271317373719035467043299361922448821687470527185281456162951461317842941362101592124015749209712444023928217753470210623580594099306287933487339300714294362288696268561806340697771168106123136996209764276066724915772485777595066876489015681805576566049506281739867081777979133170700124964824259160261797279606336036994298209521646114552538739893450334813051990067786557730015905818336250136373459384299637091852567471739527704766094705168122680752477789684153385014353828681165009725004315018556688304465769587212614731444721022760117296544891276954528281772564466094145811882955281788874811645746567284996889144540992132089173644299916023500369463771484530732258973425993128314678418346360366189461170857474914258801050874223940846157784343295257391993680163784808526232717300446928667154596530812616125592631482209270059553819678821582559475285359176946708812615976743338574767531338266473235747210518968434204726912791319708655260261901900244049020744241257023766896610696593479767065047370781115300942167246042506138772830076871534919696255504230224481813911221750625645881920271035771442160592053152905329110914245406412683777135722552386699075860587951619838486321562913309353386606922280426484085648586322512209531740612663053731947765607566235999373053059585440993192093360391132338042996920653873938413226127606774157891252279494054141413065715645802691142499112139700814586236767863997889414901361122140113013675617600340543415758922394633218119070359386250180363113954743837709609630163502909327737781095905271574043192654373467575550557200237005415637481614947039606204777553784069469144146217402071993309216694531118216717865704445220452863427090427809087648565501903062779611429798015782099155339199664651756571904192039955473423324378870330284042988391773323029330429071355639915943461148583583455191049535842128014884079448251157554619077529776505801868208157265957129968388618698442259541569748010732210104981954188082244097123918732741953642575329084552918097830892653981120548504127929076086046720884056911983343521026615754108249352956555847815913782915948537873611559161004352580976643422911268995987201268983853399455449627662946804943164147235902870633493033277818681794729910494064060840366330476592815709458150071504745627655445108353625038179808300277594629695447180609150077239202753901808294474496566870147661366419002858571913726346926494510000626961256445931567922335424397811636172047326296353959360964540692510083847782110564806202595733117484133999127076080005186372350571710194879087001521947874225862957285313175066200857258731666755122304734687393879881133378123402389069021255976974367059698872059319390384573017928575061949529564127618728594719087409942884178283856952551968792568393615965961257533740853321270920989112811427409462839639470194324854815503451578730642312755861805299181800764136451320676852766778900095483343795509407205581154728913893064973839875950626021713116939805961950917936523026275291887312103509730390320180291878667093987571790724985399677758585016556235472329227982084199943056847829117780864786822492612132226738704481146764166829412226755483951273791464057423356986785867772719128201026712785386629856420245628068300946125363544060100398766358767467919201946934230739357337547829716751708095215510715662785507989255219627846486512350253757701104255535887934215951962474377732090821721471156195550234333689765672639218190338182105215008282635641614569147140665177696881809469237841328422372850417496488164486850319322683327670793097149554067354045172368221465949977232699812470608234288283057942708105797215013473942375005327228761539768177485468096025867809362296459295204284396781383590600350871185631509664840830042308329021836411106808033991549014425928761900044181862585616956364921071015728587967027504320551668698688084111577126412500656113926962025668968211721466026275675201700248353660383167436615596649879019238006957123108182344614311785209352145249174573781089038513040446902748003538046527082225015297034109567426357113501919929412456446741648474836367279497044123745896639297687227823624572380314118381086133285512378665742765591789954390559553106240722368962867980920405624348130669183690090914446668720771396883862278641512515737814307819573223953681387374341676145599728490481979240602243227476110748245948701333409727836009051120165924349430756537398619933667924532059325244256767642055352909797330136266442237713364522664644063875867334889754807523284880047813881702652036870562737254951076769465341724049234818641091836604766369534538805597030173611474742874427374816742800746391269139476116038860038853702772879729240342216517040312728834696596683328312573898119757557384607015252442824128381879214538009246546662774408780494952611883363456710391556929006015122897078085906292763254828035783795268622618196943750742348978196805850162384196793158000759463422289035962573286758887334599490047890965852805504066564957381456969950113858436798580027116013051220737418386527236334646281673969643484692120774069473679452578492783880605807219021342559206501855099249333043357413947259879033141400312624376700284353592005519003246322465492145914327095803141879120419204422810303484750055174347166079669890569727659152621136686849338748011576205883836256878424819288543953214872812461089266897037543414385247059056014026448996686392316984435915569948132822673628446187820124495588073262446949679587788600908803411563359700759105169072560742965477960424694065148700825407295809033843427102199035667912641532389371884875165397288065848092679629621619677621079522847029331048401668507686762755901308132790527046015950595103827589747598395406617640075592990139746403750796906043646689725644573875681960784753788825694792448279690608948258243584767723705429597208902572744463055529608744256558611260123266659053180532026573373287748845287786391134612000755589423021472662836131529347283954189819690987412655627166516365572131571154985131300428899149258629247145641856771076146837142794909272975856130370701106373370109899635149480136755745451150289266571442586481128753083907918952906159449241686827619374201427057625758194858460476920129896266520500858783134858979702128362805551735250233767238623755362188909133954998888988341351630767246204120200248161005528208533948718005759742972253194185786206916263591922350897243708846484292372359123333617543591485973651262861865914416009947960219285662688304003973738552310013989246774684096366499951953252476014842624988542641603448787021695046875686959625388494530910918715382682741031019869438150364022480868753719755994098158591389035518448044228145472070912588754635965525232586081330635780128426319449739748232635551066692424066778517835241969520961187338242671718597898628032594098775543477349002420071575219838585421227755264685871331802957835582080379655869560421970037505562726825982572193302712305110420366990798613069834463412415783538155339242222888896398621968360169580603136121883407368541986900093925210331124112727254023272817215521490111665588257538594968813499203850000325470240632520328319667610798412785645436975159737327439426339812000613116079101869595919008103973454823237187556348088369647497379287674800246538035032914780574593616707343026539060178239455848511515773934835913190994479691444658808227853831063801395617204192211632736340780341706580738821538969179674679559854271465081426924440427621679563631660166646855316577899536927245066032288345814794786169546995220311452836627214327328882867976557734182879115526709849737428655036134567863024621981139958213783407662239280479037075722436809181227065850644498209377293242356468591301154425670722700420697569642515328605621309747768671503135398522031187353822785792259393231321021175217131436629911822907215153513376268700844646140730824986739492976587357860755042839348162333843160633126859011193740015724056785489785664730666732438416211013713513861020452534053612039648091805985520468383311347155717933978172137021503930619262531085099948032914047669410827322277135081712566740382281123559209330380626683528863928864387983769733904314260915364042941501164585776163089620383646100050228508933649483554937519298764519376826474776599330916791679319583854401423776438638635316368864738998157801562443932383690378601951548397822131824767003337946687281485246497790029186884670268111380228808915760015447016415055860834614633171574852492566951782102410585679117188697489268386525665655735058639922152650447492916987515527321285606014346060195464515263175242086723934879836177979493849968623048592115699806689438351833729725658750919076148262541404727237507227917109617843991465664856911179635713533971312043751196648633802498604999443565545040543251221697764599644309532547986417821522469016915656814457210768145658662055282649846327372013458835563444586302201922200187805126466309414945959724325589067144274255865090353784134559023827790032125129002952363308473328803857330919980080977617819160406359852011388940124923148529410461633885024271301384039988190746227925661756609607717182543555313997406231892821767219223676490860417848741875141992122857820684680835034929023286761157545547402970176171908397518228516601822644871326350462372183581476731341659412735230000369592014294741472194214467948259614415389003945196910572164728286411717680347763259485146944389728378643237879858414907214017728023213510841573683871997129283584432725391718101686981125147878812463149617098893811614586799510022038038845183024669045758211102679203450847979046173851875205219802903154300909374494278854151712657521704287888476838203120132743767336363953594882422494706864484297729480885845297117941403437973957969799652326071604427238330136168623114011388260917471925691860789801294888920016889508792865265805587575656255894893535354423572681514190614348763300909283773768950191893450378104860593492733000994532674732290972754805883147623612584859192388701932349260515015420555436625427273712071540788745234439677166692666362448530633594073066250801790120820343893082013226596675830446124231094381882873178836255721609730286595313249935848932419714915801425880995452256455558672536217377588190885951305149119693461300941621196357885908031827830589374741473476084199018930031877960978164285572949891419776832911393734160580598986056945925295228307689141072752017936596261570614535898606924673412389182705066231924817983964379969385806699400616856976050442361294801468921844400856594029950839004621620619348399283327330072472967275542550764147534659069180263425971312872333855164526337763113966842084825625315282932597030050944549343236142533574769080678293885226668366737168713838874136463503546321998203769600401396285003207670762225774179848354309338000304820235494527159377620358192395747234111422661438653077877490717258447575936534990361383123922351216069183150867189155992612960428296499639648896166352999602973192663612754699536149931135834584280409588863958416975404700273724408245275016878468340434985555022593397873382097702034446259647124049530664042115226375562279452313012354086437715169216948701174181006155145673223469819440499313735171280444075820321072260927594678423080551209828130814102875138015788266925062970858884773274905384486503715338909604837161079862167237283230839584677823585730656364102291250414516686987224875483363034418690671490619110234268073439547682533412283202543407405365039548917306548025262784979733532479515187330390002178744443965829420529330865993537801974194505350058410659930999558019462523566220339778056230147046091904837491407446529840035497998771734720605892577562702663896335882060034415863328039000297860553127553846087099976134511660035065292589949861219495946765567808354608999705554479650110449190756254629885091831355281242819832783836846215074103101073394952107305087211289546961835694596620643200018234777561090683921685003708482362032455036494167621630428481395977076624400203840004826148746168989015820860874837266955639633361800136052482538432758289203654964236765850950594316264134919536780957929600682867808207813590451550935509894118926793567564871603559488460051928654452077901122030799252921298557431431661335432501536069146616808175828853595139545716943846528601920227262953689651037738319367323777237986916533923750746932888347827611646452729365176411009196785936883549320253880936278223054491228062972720586796879594343776213884768986348973297475326081182420411822970929618492259013208008401235688904125745714133029422316676348234675328807119077482176772587250775748158345304292005792168724386782425269677272586942856393699199607581289529009220406303591057300567768384645963039643924565435036854975010821209824694692313176861060331045550833598809923036372598357587282782953812067649131067153371915489722335402590169133523492272641615754059104642941619332373585759970819663024862836700964784838266840603513545851908440977123647515383247363502324165206588384175417967440273004970061024057456133551221431966663784773946688972034411454034679914629827878239612773912300582946013715653323212182624917299058580248654011751518556756825196966103521706498470489297681566174373567529084199821551803885264834614169253664195536374484111039087494273334240794319375182744593701417523161384301761566741573647798937678528729796070557391016422516888329041378723454730686660894917736769293059201271726183620218816950491374313288279698369737217105757971228749320800186712806464956217106816993776148307157331991303512301122352950545190696018128956559491177248717419043691791680161431845728319319516466786802844862302677838899873740841009274868793036972289112043068367501991473814976707034886700015054606638855487916678520285905431251448146575512705597600854725665696929699145224142759742551621460884597222203379304604766102677105197820717055637862803495540438529788079470036580318293421878932622360886734195499972764250967122684540450479233666899244768397061331657685717553607861733725529098199395539202388116323255043938884659616758702372315471632456099217323557029778839966593076159534963943451188135887842958210454685860868305968416149467274010041246554542089598118128801952468991977598728840678451758276207018314058540379269165494549119553341185814664238516577522561666276796334419264748954834674579876941462935701522797584830041400736573980138305179743046581605037669973815405173633980926924254685386611438928843434730582448435567734292743279221119139361695151602543787216886102229190214719409220022569500960296636651268893277581487400906850082411316610963429837520246489725358495576800437282159442701510905281544032728906036722673595325871069574735068364561627633173945143607073163178347576739676839009782903467636725990605833413088646452626550791318920323067019661868319024811212242160924287028592332994398848702995788774782008414737485580112954666386830035875595813774017871545128151160743608086520011744780137535613668244000809273392856597769177196656545632750985214726679857761299215141944803145593889111346226560760884142449560418426860301227841527242255640900488435624828963506691033350619209455745852642792661835682944920243811513216380123861075130202081252161262227325414643809890049248432215958453829658735267249366372386969716176658139808479725570705302294131128252783614275845982688448580238271942523103749891185256028095512507747420081487843595528762486273523717537228376330468490501533963359437386033429832376013893086601642080352266369371484450175307063073295194504058179909917495272755476186258695826305062386446624213274106956105513404752550826132002738016665936654115341926295946740988738411278035731120117424605600211766883281182986652525140825080483026994091437798586818212566057171898688191309786215051423377570911353547508743856161029413318940201857134988740500988379919651897596537117062624749705116497629860366148263188604674838274128260477179415202975692765249340217077566462773693379723215861857664166829075511314306756218903035828648071197543160797897953122641625140177748087144491352188784822534027838458990912050205067384925408434706767510083284585904789090360538052168137531496281252180030074867139338034194119997015210183921138887176692473341621395664483980262702942119832158375775198000780935155687472935922521333546517652339911565212963518084694025933395571212190565613494383257595485162115324007251604015356403876513953321004555248327604545742217620694638855194354078667456711642823085658731534258736984372667529370235203724350517922094869957769185525415636268512975532656694908185115582779893957469162400710457438755610118558214065656965935240425832725287570551606811967510800397230295756232292355006906353062203091256475962681235933470236545930591568022167358377799869431258845830161033166328521410002476419803211879187590365397689917878078827224674359385778229779885756664795285918425577375203983165735265658075275661595712133007305040887077314269615239819372203116892055733018476424736485204110662248390692853350643999559186345476730332902883146875879117844813077938984022497143035453247609567806702572194488104053545718838700537406158208733050278762202312929883286482120543441495970764942347281035131781630585275387035171682298549987516042290088440763052348941131648130280366570936329233824249802121704631727493690917249069148405340010295026639191932671210222290888203185232249144233290677476928622690694545952949684440033624093815000102424763653382382025968456835645731370332210495591602851171788829466851016906789150649109111852247567555325790739043705611141534056467947516992826399295452905404956500824485381711175380145118505684642823196478384445835422423004748246527874035800228292510321246677227752933550440644361944186646998929293968113629084270806958224234639742214542765660628978897955132543223797116339843036814425327279533574473760592135921246823646611944741415734986914119369660349072878618807746535752160585100684014467200260843549768059124475966430940654962621283908573945964007548352293646447701235811462375049222851658695642871894863864737395941282309132398096657950209662750665664244336513350351498421760812082306486776661767267409272438910906495607491392867474102046186653696888734596931192676556577242388717465361051377090567065548269167481638221430431489869890048839416665497678921836413755333835774226581118664108170852290012994717734080428880255998565588788317696458889441239326847547154011962408190049881907717976365577439274554682965110338600458355234795814549958601781260550189798434646136722413726252368229992935534323420281395113156237878649883073252850694357552871373251455479620975354376593291210925943207850495927557474998695235678753633578784281652617354124288644338300131909652262772938231748821324467533412045090613582566505366590135871842257179613905871599813699187492554472743020617276243774314409250546164864859725875637148575659116477676137671258983579751143534661211784424636166918807864713096954462114214787335784138702201626078513204220295897549032266536918939073556806761135258409062592837901117510447753545873668557520755193991252249136159575743969832287358106871305400176685232720082733950513307060020963405771632774178864516723975653457478140678001443567692302953172815791878399015102479880765399054532544535675188949361308795082075987977830401030542372973895041491920790408325562833130657628870330535317263225124518123582829000769126193029729485655279458001561396633292770632896453993155420729240932485425299089661123606572142410889374506200227601681255188882559648327080979143851571064547104452735689027356784424050262805332115976340687299562631449654946833767221306967073756543646372398691934202997719575917925998965342148738667960933919826227639887218565110518459792472542864424335849725487561160489488494282769240497495776982001918680154761639819582741631484136077739523893950348368372366551709863539752649776426036184108031779831473937200796103448868244019897162648409782455543989624479420833515370316772401788146307843613344277484962773847485095340362498177426004164402806909982662139000333867461531556523225142074147767318891411130200917514864690259225443319838257959889992301587203368491240271570070500675148661500060632214056628546580886516591610413444465898938699684052326034233482498997778750305536505383913230308999057235723373060814757894148647653554848512310029591692783257815870811894798285384326511446136826356548664385350000207325168613813864484046610566296904980155608566225694663149966635749315297297256503841685639413270340288595816982284480818199230065989315695774053369275113616305939417378952526464258315532312700194753223612483321643779740051920955914577831269866415728862789321137867404498972408591768552494890758157239589086558478120081109192264078756419777857596690630002140649054978775720288300368842997155892110752557229400228280716491257040576349230967271800530435332624821724948302592332885503744523844516985374019295107213793310073175925012815727187863041326245391588359374958989046983612255981791361881236208642046336699490411243905333718949894734811433169254576176225702613746061081501665860833311689672067227799491402355707815632743852563310039738805398854292208398805894734889984217398307852809315232005520480017336193827172128425758269098896488001169169060330372314760905495872239943345198876678898903846372347952947872167619632852736210396780100885495658761185369002928781775840703715315569424138206755851934560976471948758361096899757631168340672240818332848085223780142959061772844229108207680958326635362647552943304264791680885756572990388800131229112771286165842715838346043411007791740346469961529128595342429286520646868959666243211282890217508854102626772477249789849861889468642883711820269278157549058098437213487272388360909015858788192158445970617432937364808957540733137991882142646740381474091701829025522461306368738047830893851028404312783993811371128928443337822662922294620157123004025515599162004727862055518670945157244711253647547169789119532110065581594189804942220490712657638699799535430034356339978105869766614325991729348543386761811557484401499533970672585362263746821713170756462439465785129913333209081732826547247061019859261538795045130131902439057767951710070844426748390281836930231797046376736671822826930294738231969835659744165192765618996773357569413648356388744050514128812802113780751160953737333989438811520947871798231919661534616512675925850812620431394381905061128443326912704756407232790935832336020756153862935632251809953632778174197626536194980748199009357042446042771168164667581263580015040421168213200485493608963563662983694882874703588508504309493482373942934028091764993854370630971575686194681052282929846197343232278470979253086637000855250898953079532381958478275867546334261167051877805949616166966243518301397656064372119246998956716833972979141281122678908875255310949632560603565493310303040156208199877787309023003896854104075689881629882931666219626829088051466408232446051700235789385163739560536850000647675755504429099065926379752308070864472942722490430245651361410304952198599078007893319811249330207827864450827664482327548741204557777568862369079360599759106439741393128639242633929183054564956358853110354291214850906604828565901042658076577366213757983824087377501189850027079027375532466992145869302783330909865560115799589720023384184890527061369323767662936534739627910247597456572473820388628031667822122183945694720873153534757677998731562266279258395633490570213006272769185223677884098746149831607706674599146791272716177793655265225820373125615465916960619281868739986537501431092101525726628620274983281934849628930886075070091840305743147738551492171196938088944997764980928203532481746686142813565352861607058327056715271558566760145784192532044834946395185384518133881712364691310821378696451969077880882919766250826529876686772753772362281988389852066869603811064996533477929741339611946835018554513545499694400866524023046204470390773968701314363634015430385849070380581363352247086560153097201090281821036018443230769320754457941987735234989058180204822915193962525635506156446492672333824237944206065636359798389208804285231259130705572735501084363120555355227264874543078963442889297687007169613356471195246242551371513904114082461607090509543051895951419544819352263713994959506435766625890556904441525186191273009007414056462813498223712389526612325086381522457611079604554333575336900441657968809111583359490519136623914267352936442234637156837854113745666208942622599319669026231479915840659878696229350883512610474524170098756947644775162143828457908252548853786272685842401569646841453650048035476624760632635501068782130717319540211971249177152142672700070934824377413064091063238622012140055671404586533407495203324335687860145241415991526672438636815800066056908206554651916331105125431204169367691544612828903619725788431907315813071228083360186183625844085837927913345657019027417796292231577293885112802104148622199142666619448736271611033294561703230331219628537469302662727458658858223647561453299418021365702809330178741885630954374512061116161391141111577465705349486714406013058363747216490216181979050615742418648878650776467496653412774734478476868405757270799403656609333670524535357543182698716622838160238364495387079375184041984298401328248626742934274268960920244024460533790021819714302465325986838008858345202754935295867167527587821289805977221353341753907790274820670859327590789242679444552474940228360627414573785352954803403712063171431074092888193212144374572133259368869688281973445559891602413248579574508080706951191222873597405212183210212584534906186564735282159842810814871571143379692482110260310414679921909367490666471098619395266986358226452174415287495318971973867234472545166591990588695576451573852948385744590807045561280984561786152511104919951570442529789448054543197505194650196388814686312964177023287733090298133689389181705441825314404805749346892679789094612021078594605067830584554414954438330645188903392318837200670609968691115248540868736215597641222582043632278735748765796201618257509661399343293518397081949899130362424105143655581654375718075682997306559972743902706188819046798712176318722838162378174878663780707130505952157480865168142393084662580201968916607336324316447377480056871135019766742673456683878180136723439892799911070818160583168480937163589624655236062414851142432493643887915672357127181205293689151314386793779763126933801460333314096366339515004030112773825833970557197673817640207927212437881348785622868641793272871038278227298185401961213885429537559857992609828255846497077036522840354488103029930734871750643154575832853060694227514807131265244446435001437112160583670162247089629514172996983016428494452566431866218823818136214043570507146730517733399103248486346154768061266118935551668657996855868190977267254634137951778512340273663337252407274452122875334779084245091855561143065636915260197886534770499500265682922058085994343026059775492067327670499890254159043592194067241898235737826804914406097879930440286175591277047538757921946146081704811640357136755124767577412056373210668461868283814201877421454531472750925599222875283354164147579856481389727307598381003147842051743222691968758879914807680478454033922957478795974491358967592360562799951546386386196604689316788976316878827429792266121020381674459305392303262764184832151075365757235646192989092404609888328959251140176185677430874317738639814923498837779736858988009783845775649084964690604051175303652538418485478126664211226471926446734151089804144310676503421308320222148719806549677521392312855018286270019674814399404203470219079685809319548943355539770940761865512901514743621775116516684464446155216142252712329116111483125027838344776019959267067034293756901390012516332630251941092600629754588613957008752482782453649555825749402553125149409911823794202041052585816983570290569900851420509741897063522345547480919806105533540947095310635141400629652212369649227968538450472615744596787867580165909446407812697298185767275719712097784200226324135279825581546575730213481801387690702985031097597890374357941561293719995398872128531476020227327442891598568310592290898825596991671710755852741784121940880022352445239643536962791726960452618310836598513204224654039097507302661982759317322369442978383830227768595880992858032358704815216246665845817756770873315857258387738774518631678634909305493922290445899105268461784754918772021062295195760290642155234005094967937514589719256780546011013751906110242444178542309945688771765502160722407620665661198196681495069321519670122698048776611280445651184717477778440153945413893577742047229631669771697766497477417288200248001217838180777562824906451791817935089590822596511242552054736540693190035779218995367328393787531356656381348545461477696409931342974651506829649756337437940876735688768040780357656651915977995372876125660385387920199860362329700321244941578122241793175770193521165613953177519768678042015501374118732367667224795465657322722457166192583463860262817229056484580435823146114215893396259318565876680750820246949068674857590838187892168827347489176288274440034807842764768555113692923771494236091827548712483188430567845572632432133074796317295327641223588573912768288409962592099096275102598490525159292560177639989881901432333830710678577390921441704749475730226481251355656425973489977847603163276879349035945588786119747867084875375584336401532799349003691312090425521319876396508710843384740990011484403176237989902732281349104846392699739826812058415250810766965629246529933814012532033938234151237372061630046101709368651678978906476353755359101702963682691591840087285952157750087408839455207713438188620281696430107794144499044707647806281916302089284044165112187532699494234517641568434293364398513561073609116254453811202417433142526338018458380138910360716118540357466045575772938703852441124419386834267674363460355697596749280775774657321954375246390142719020302372890946526538215785266873433288051944167698252652432172195041702366219268600597435720583690231942821295725095201966835000591469972943797322655912279208834065366757606448468967578055834538681334786984346195413857623994615249282610661806990372008499995425751707978335474448032499774798197559036442570072029627660134174651740637224022998029686924399304929391802128078589986749330640530582227274882874591781074082786146922012007808218389804807134640096693631568835191595011301560775299451797772178689066627366391598636451613489203947780565069831376475895163009039855063681833955165491529775936905549990421263955079528220921566641198016387776142080452028259652686677286726064788822627379905182630222279280522309834306696766880541690698913323733108247493515974743948431245036784458760232615369419117111321307428466551931046979717793583254709436319313017099156043692240503571650945609772939448278466864133633459328339716171207660555290921876017410616624214819098787300668190925126433165192908420936062762729261656582931743315017629467370924932783112046504923258245793507059106402902947459518178344598461335844125939443644247350229364738776903633808099396383502073597183283190360035192378103729169192127688120471494835635546955192221008059344871036235840101000599586760336111814525110760922290620970895751621619915757449985957314242717786781615332112538855674931181386575499669413549065261329718008685891679910955507222479262202887396771942028093389191223002240077458220178460882142049829109311483496727842463913002526308588328500383153339569276304259602606354022510432252530818048736264219847506144145363452972013548378248842415143058563145084129116878768980954072892047494621640434851337012649707140994332787797951087806599943292204008941456096124550471548404901089315106221224169757786708339925359767779602785760868497059541742736966985265602975353115431462171937231898812756366846535709798633571989936784301081822189078889208686340700850043539844991395955006155325626795862787454195732321000354065380942118875383183042827726379461214576668065979392230430612699445443837329765334964222295648188301830450623686522722403344736077385241489224234407990065807565338429654752273160721629357177477885332813205071043991697662168415965401655239978671324685519202568999005131812097789280102457393697068621182949317920823568421047387449793858368010844757733104606808773611138530367239378852845289925375654413649744031645486670509179183124223680747105451334418858651808181599241320530510262476224778059718042512668900571060240945483406819723368577407460274769553684953577934839715844680179212906068855807363894884848138600517777631597393978202148268696555558896109984764738232628401084095646574397845296082298640383563115050215391470983083934732607307383722585438455434410390033049002064715208265341332302551954149715926953128582580775822661184117717894023774588900526690301005463937795847931180753311726948643343600900152462270295198926678112856288496608709403479397045603215706013691163932295345041089880422653351446443701005164145733160906416896166272089723825704393070095509433842119382598057342968175209388857252275412446805243851162868945861352679570459481478468356676223544768943736557376985589277207061249393239302120110025287501258135589241091217130454174949234862402346715318788498417537685763861062558809010391064104897020767048173799619432958024611245755653766380971264949478129745809521431967303932488382690983414901970002155429277200786567855279441099115889419658675341159049790593084253614004529797528589459127575550226046997521402383551532854843924966256081850960907572097733955836129370874668338507905680709842195301354540327077386456751593053827355019925597109666571011890996455624238391002009725132832219802000096104537059921027125669306704168561634179258546651439771950915172482266288001896483321596408587086398219877696005499028099601226732921015012629039985104221714398026147684967950361636260992041072660221069455161193104760216394744310094949253176861121320303917751263441275204800950095991333656303323771959193232617602359642982385271378142235775513270474957261502132382042985202113061964260775707980016118360041811416441334498004109083145360913547376338611685667469780883345835707222419614373444559789559039468449765311963213872838113448248141823581392358588865933848418880031243690320836395716438496181657117985921205562198299756841467753061633737266271985753406257673501657358547362285126333546148372590104848121160106062078935667007169863919777224953784099313224712442306360408045699037070625766156169779059623746506497856966421569235459952736493892291185013344414866053145951854915519420209976130821929649320024625387423897318615279848263662391210823334908003775395680536163123028261697908410132440798091696606638449691074220276834106238546105263037831962210305200930882758817578480616072583019118555232076713373953827127290170438345069670972990774153442142079005251755963780823216508229669712290682398186506290344703092044169669876328884880671148992112698526400756385416482426379299457983657768347095281685021975567887390993464443198810362809050699264048338146535327073955103943021747226339909256801653590730268449541015701019188610860844450253035348478528291433609648879304040180437746763136328903599239438487124891024843647489664532077666304886747437805575512374687038292343290332660513285359422809252380459332711583025952143786339322947940504493112732025763128304419462489495789066126122384552871241316479847602973383605000099249357244800411072688501062819815384154057686718650611884047073510976840347935211556648281544418026514946770170589873877822868829554520267279202330835184177480871247146216604372904327860524421386209267991846665535726681165530835562359556206096167970835515408595309954256449282830045760581993760163925298385348234787734442960838690654078342122952880461385359149112062128616576723641880089142507069910570006161854205941722941545567619781240879908111383800290100758250536353112896939499980615493551034891884875799024169607115032065862272950089785871125688711598189265440865507084692223100923270785029030369101853387196090580573716534453004622457466522284510430275008837098165375994323112838898073233881873751045625550084986867709088803587126807423541596342683837786629217380559970369476623056286556721554950768167625074300688654021401280429855928819589558109019697426490472613390364615830307967581889791701496106808011724732967833533821336481512380398914923152742782107707763616145253766335766167267511573420928947459832276460448855676481351886215729254125698574824135862889869679850938424695401699976987434820102899251376822198611796314656743526603370988558289401660550962446880262611424833250866383231693222586029674800424959278489722888871608162466341160610845241832695206172685949489580202753928872380327749169582463343196432740718339533329643306506573986589802610013726452518671370112024999479377327704070650622414640408697013679058613642888908808804548445406226784963275015289585629252688116249619429271095875321862201490075039576826880128172256755978873349348948354830564649727910901829431925184336049740982132061088875667311562682823119244894641145625126027393480925807416106915922653873291577571888720461028433839386710292095452425583338815316191580638601132990066045612012192537335289899029740848267361716758220408582341092006773105614282055822393674423925363878309881567764320993755474779809341071797575597799091068039116744360876363637766964284761734915054437330049881519901247048432228785618590905429101842869868590052022256825658148592812490667588752858046239174938777317790829739068776537269826846558130035264319298956266514610308935100064153209404827516835657540086154860886079732926771336252240007225969657580764887789347968430642984059042341676188806942107285316135724042113220455926197293990208093884359715755196126912553866514308708338296277819171464226946306727645271604371293956938030421869438043101359475914048959668695173811781015529661605821939807340335324787743572779933898899256450989260108003610291040025144865231167302686783637671786354150164793305492670421193544418891168517629182181285263178460031674588660970783107904275168340904496629866649600101148524742590557836034448779792246653781564721824121923378069245288289951963531392590105148818819205658248638736133525496168132500066803638511408311017163703548980509986149614164334195493979714855395527788968727009671599695111562728344283614321196706070403439213245212526532203779591629538713451280266798518230154533105397171469922995780761037529576664018202330567548695587334772117272489127983283109506489919123851688663565426291452372149019896009170893284085411114546474679836914717998570046213145175374514261793171034060585432402639056498512428824799932746061886906342755400384206802723473406891324452576072044549316708540744265046943237894546532232847507676706474847157352511484737033412327895152927118531444630102290375437697642718294254223561150544986359606162512055051372510182093247121788473842138261817883748202516430815262840453059683663638838710875085870983927357939879324137351390983550219464725709674968076605787712432942815753526842432928242018104418882642928435573709282811289041281735016837654270425090934890991829656867820462928888735103243233796457314257093828276964171131025132424573450183399767802441038981198106339177384853950103309579451970002117245059078441131339977637047331463118254172514345708943476378944672116462310957447663640376095853167390275755185552769977031804233679076703192128247648207085138290795826583629755847120513140957676696238755080229358982648124667293350886238161646034948279755783177155260102420235775931522292652168630682365465269168884132591077954355216771300437257364736998155749509019246089577988699174741018677441216466643868721291972533331712062840648823597482270082977394322842760665590482313224908038597457459718150876029062526468971186211274079997519973584685755301697668385503982167834892280036790093765556024591573146902033159610347019864962135859653110544703693628909585636129337518398968291034542050492234901357707977637975969822630612624622948798381743584473642825165412749647161660384432415813550950856453872045635457461183575350034836677551819045606296963233510144772167443529714714604167638808283988343162742995013221515523864140416148526290299174380037956314453882596392731701017221889634224668283439815820966661918832283698713001482873320375954448054446788458561477307765698685250087093835482558137068859014947516594040150595661624352384825179070729012828407637822959945247527723300442836683074350532393257589030757960744768867254934435618035733707030107741641324302060126721226512243326926167002240374254911876682085313261722951484882654604910991783738007312129097084710329518971252702500382221770032513706570265211383431364144563048934043645339557411571988329944290755048719328396815081947846963261387451667580592950974400662813762395168424472374922616543694638992338156861265876966250271651900366106751407233487910746090696702164359679278336003253082382335884013228509366438854089167327935984705262586754100384486809238506814735956883993753401019583500947425637601944444569337938093659876865804576951362309306072356334792401737574585290081924915632305194370447187727239070702562954147585296689695909840991506087690191650870315457432955665677779425465793488514801361062973976375767977101552319914165552767479237688831343937730183081224180878533083095267182323933327830576072959105407988703675131730806815463583057825485011196272878897846156998283699176273297942468000012316353800644976308365121754346581740848798269205249236872752233518346449891444555875199452917888314463829669464220499931631411249936050700218284759253777394953098711385910511743857751976363078529903300961097149710565392047045256003478836720801795310842602086105118349293326320481770658497183739516177036701477068516092334157298847564737030879579808825535692946584637247886734597465255299895182881514652944087287308527247916822075460207692735453673052836627740390344436607546350910805131410622739047692543377135247170287959161800252485884526226909176155229836631644282725268318808605778754470038093566850232347239771897650514534082047282314874056055856861495687584383400754295379351682921232403741461673275745916302380501353657686999208351866746542352569836548448229014544157162005212348549308920358653889420488929476231593946297843455748715027299343844089849470529645169792866567952134503739917997619709433789117339435352441471256356327360842443445292759038223510160921560860081632871075501921282400804669238987670474837265033394159965320093935102591969350417860000958617629462857435470950627831859828121888574547976176567883373884023430559884451001704211909185943600591717726343071365702794898171102905591131328154688646115647562317659272558382436129975577747760453172380172278325888630137770104811132657242818387358959532893674493461374116215081452598342748102199975106181520663897888454957568771167491944920831883165917617218224758924889417903191083757008226630983562850626415177415070330458566777433244709132785568190233080680295299123539986446954702238872851314121584551613277979615120448732925283744599952037363574132035434192305777741270015526075529741523549044104648974588035469727202332240751554215460071748364293313004209156507986713658624762620537764991857492194655619686593987738586749935264303767310696336408739640560790890261041284903805044846782894331655794721908810593180592478312498950905511957477114131150586688939431887227440403582068470412156089739393559371074227340214783063270522748850229205802123656863877550409516686444360743386627994681579704850327750351439081709860433113181695933062929696403359455349830865129847240918629408867213583526615049674809221071541007471656749827866811742594324324260006046319019920516535067229439522765174163376707039424571116649815789466466198373943691752046415280192060907689161076059775041973613018711231610320037733664935479543214375935661215743015679319835339095834765017806363159656812382065984456686626419222077980518665994234743764877013500862582456470904133479707936627919752045544276770257348460748610350619620726233981337998661523608897396070861889474623481274697072330134188553174953568585304898402626161885489418680371173197690363808204988300900924362686864098974719743845144094953340888355748161940915167102681498782165466975830653848962580571909463654267260734502107082161112237075945643631686165783929752915775053156431083991958430197369392294116611142470543574531095048277229001470655539540569793738666501489010681765215431320987924809900666961059136902636015153107573081265682041983046009984442840173032233963120806909706857029976731678723286150718188976554954087076583689345831314223716553405724060508216991304695775369211040446279180234829572794466637849404663362700967769619073136570748283207803808604068839651221319542394527837509790906228722632707708715920970299822198124100003454326137717843390472856130950282639632497811299573338429482622768088766044554027843906213993966608099269887133769056544016633333103856784192278016532493918353358298895470135908436526848690791928704500059160175777775658407406621997351353257113776737577331170739327713171475408991214043140673550906764455030555134522844090345595112850507515922382855043016282185410221381260829734309850703660926999273030136772957860686186908178498018561547938313964625993062546700450701253759699698265014086852678962427135597572048637352242687393133427530735453705041122137005324393809869981142698067685555197080304319576275616015763933526798042990552054772625034483258229531383171706958596742504329787696056072640953407724801094933896056304221476585938309212083845894668469711763725084466307035891228517015413618206545040911370707818715952773814030880091785126704234153735338950733568321986612674698604012965411375701544631516876892554022745408215865826550979384100241920525028926018854576056755872753190833323329052791152037089419709558084540866386806426290187229792694182344183164462027533815198723451095959841404015408040532744386591699202311959534697241596048140032540821729047929436583123603841931518299151557847035133042835747458339450825390262614120326577980627388531165461245621449594597182835680456402018842435779035366781233040490098856380101834982835947835578245192420445976766783392220131738633797858771871887958198755998134917398535407831610042740457841173836232569220212722425815388346754413988864858687355331676775325054611423534156935458067146492055049533065407972897658593804499938300985657139130228388004910994544065103647598928311831838739675233201467083632218095817854751626988923597952133325802236736242445464526302750297926116128292583289328616117228411127092990093128983402630005480098267359815789716538933902107787556912160301816437890057664852018649645897043999194375735351970576392377374181333243175207506043204526459894411445334545194542088447814245681144823981375738794604811208896945557661514741903882813447659612951492043477404615763892408062320970141749468649192787095222984076713250322584300274425055091460994053389590865088142933377416970119501425554093147649487425527204315081506569883818564902100005275786302845668843151939217642451211831342683741174545466497428094376862730850316956586964123627924504905770321290520118161354861663181700196935785198224672981215284563287204551200007147618539008408787505231337846805718258565843419257159579389554028722072751593264942023687033247483119251005464977368325572730870451961006381788467372089121001015385624477895799767217151106493627157492561471545127331363065663708543404764142137265688566857447444426480787632848895639988701744670683149681933776948579680539897455829383888222292632510427063732680632249979963804396495435977298120289984103210957634510819643769542708001144239146741860139913616456082689852580385058836115696801947063305955660817474428759433628823859432983226949088176526557565720548520750149249551010719313260695612644214623932444473433991937376072874952494959883867169864692038720068511817643058692593520069637656030036038433627291998312568340901845324310797195503218101058865063693594169352351571753230753968034538718555674630237088724493012799229150895192338070037143005538345396670509125087813601602422990669452773574937794020701615374221538016589301105161253170085659065441488395073009296000685518732445916869325974550912356464771042290055562090539233328663141337030474215641421832399993913857739679811147593601736762854139788307392063433996006041143362371654088638021314358545622973333770009649158214831145534180316718113251979921458299533838947891941099240358087354669386060076294772303602993187452032599234833446086647778151966694855617287004362882903690574069076429253252719592288689082865234967809759450548733032455359147960113554144094754805859279199373886968115861514475301529784713014163508702481748978188394392135308894204490277325482577070754824626209227687896977260765026726959297201286604420091141904956607633937680754467506215080941766402671774052675555206670126582935992817647877502678208346337411520785833233919949904140516559865661058211053904521736687537837011854783312209971454895797028035403092833881179593829685879680086097483076651062954076823536186711001454942358674086251647937702757810542138793640000460660968067932413561954080327140289455142252473206994091375011251755305303047897296738191174577520528424306697862568548555288232077948369532223749799129235614008373812952215197252105742544437749443049213590385031913197149937283670782828289640044051452579737195859329230656942706435910189907421173737072188806022100778614403838703434362682773939862668379637232018689706613406803745857939874189763049166916180954479973331254146981898874916431685160021431097751161937606081417906846044570113805459953089935617109681556992119580677528605571253501361340906171555933919742212334774792732574085481086949420811761035396168589130286983522401921801779811885234968613361986138726088444830918435514542559622356317407894571944622112867408854459719069386231653344201117590548338051619017535802886180717064284998501114876190331325079871962607400886957368907583655506467143574923683729411400353018329165965214824806407901545706985006574172019532866968640132967806225788129892846353763610665112013933868689546137156405108580437987934656570514359736304500570004058840963158941920600634166832242067524067158762770023797612205664025310287834180714761165417755549167521075361100349086434473486988388965091187234881849157076937153433691022754832250247898615168414651579053957709967789525490917690445255783686179224052134216006530265713279781932912596117018059664335866989125731028591221436953285210490420190292107013188348709063503748787611124252178541973543215921061121281133333630295105875616032425925508861541912309284506093547982264367854151926159085827172296928208957481003588586180276784056258255068101840123544843959207020278418493523020672481958104302128184221770935182308555698604370276230355464726741871435897791616199399072762836290545870485918215586159440234257397250436383102314710294242453182521362817864729079702190362029231538805628560098163869534663359549672298075233116970080993572510719569326055121741512232238093196681534726079305291187265794901919766544737675396310484813359254061953778164479624579284659205054669415230928384129078876952449123637685714373519979228294166195211273496218131485671495105422541444846474910039395741383476443122460401808134908185389058815968194361256776400972122593904205949026878965959654690329088115049893997082020086817056407222961362512433111927700307838486118064552208806238499967679016538445699798697373993688509403852372476793191475411073602495869299641674673030211432708027253291748626621590478516337465387874653125552878723049563823100287314131329988687266110308292931123177652132465267302249445075412230101839336206125278466476904814456004774475762882896655370231559038995377441036826422358559119566978542612017169924891240909982744633641187944871835623913700997711455633123390937234539886396060304985939452577263876893759732869775845549060585509302140415111846741907909765752847657319800475864343417097964381034993159947043190877013316386886254082469395826935995065340819115960418591956133411017005554241116097139688283732092870845410074855663962528728573441279476899349694239491258547899560210202172034023868707657808679531731229954603128850512105655116861625198690625972716239057794424339104471086954596931670265642798199078359143029142667133839871330431883598648484390215020627607731644392444370829595783901433522343243364111085251699455330080896728181877696119434118331507609413589808464354547597152167228153854226470288503362539186151998777672879397527221047882258776632391923351797070512074830270400273463982224874185919360965739047831255603372945141864640812935003290403268164596173679535095888462029362243587702803681230453851693083602722177750667923443888550797605576166243344018875677052042168081477571777958303853987771056672378715187794818368912039116350781030322233547602700344592800354576056024534399225439972952711271615815898452036336235234604278863104554975537564930512164738169073464229508998924925344243931784285719611798796968313402327810791318816089095874544565812137199626341764759793420310049544720049261212157228611997900863451188004198820654956211823986254452091705732839103474253992985845562610969773942755578742367140469764306128734045330536022454808166739044828300851173268366412508129050781963400372645599512974882817609859865845681146747819563098256792274843247122825412331001713539788986447452839474802770209492659424841774000362421058758608541882872359663937971297773518552712111749533996602261348612104435800893775162187068133369515887353697892124491280702608255030903123120149178776820440187238625459433003528181097663753966452006981507078410030269333804745692893034848373230357162043212134714044395535016897218361213949110913620068642582497790004407442130456470952309920198615379051650191928484158933960441410072906634272457933462114999725450512444514644856058834705523215580305039166659155701185568671787500898189061568282530477288133718345595963153590985363519281677130642260220733457741706034736461318987887647204698992245328815263457377591912788239489698922876235822355191814116054166302155758293894698908396181078482099077667986330677296160031711556207688610563967209854745842746768540368085730429137410784041513270586969966087052690811258177001124596027540849840364959896422083365044143996857103659236113734587594718052188693756766923195010402780951587795281233354928872202464988903603116936373703702548701901232737328793241105160663723713897931521656404485305504670897381700859682049545085474889482796795642424028379412812345141328306127547451837997521848922991475289770042534802683594633197500141966602748201594516358105009432593594943982743233939307274080117833060601889701888643584502656991524388052408159841616214462466651576531715721352732063287806595788779167599242286973931645131950843626433580002659764905355740974375806521476565909987582375250557509211019233670718692373698941754134340646471421855395299194364850890725151374910066360992276876865675376799616073219240361237618113940744463701146479693609002554162034351393632289265137209379161173348909469926634625262239268223410571442394298213504265923038997980956338613053238271575794215448434778569369294354769675777262752602617491024135866616093848652333262636427419693300961981907377017978818869446681203634460467507065392389349825528919015387374426171716260072478978826783561095454673546075314249808781285817489469404244684415739773567195738234468775517936333905279416274120665796428050827466876389036207555434411264564298719010286303977432944943464557195337436292776592836669550490509070236724660945652834443574187223507008475760929013699388228452877225237214128172243868164705326488365308284877774216650583875057271631302673534255329803252694454005334897103527525155060569075766581836985003795781750589634265804656966269136563536060487382258061732397903413347590855917775895900690390726757625439209835416726961676409784366253558167851455444132074257530951466260964720128029896317566588811775134230373220490488893418020603666859558210218086326530723061499582439230582260851970247966062205225063452651759442901493599837118999019854696096491551330232159662238222146878503137938328250405429734083375912845415467219578523285830449936723794864091760764147907872141554738187578086263166734778689568400467608155436701365280625865143091926729123133849003143764438157224710399100893556091572303991583141960084331326065986528222569280122297808922266533875045406742466238514784149332958831380566762241259269620017451260058119048390825097455491453978259781785492394478505446275023017380618244775612503526543437173518978413593946978424485016871870005894417151031202825303179565781303292389900073280572602507700493558412637590962105312720840079541713734891522306083985647390877381329917416962160197415518124585322328972757387655841513391366442830424009683731623635123095712876608616262502099139341795538080107501451498085044799469342333066854806769464334010261100888915365408745481361272082874571756775859264545257129336950403500228950392605324471259966708970485028785166218963079991726537452012249869503196817361976510647935326813879570848333294686516827195287799166334995003825066085945473935430789296725500842672033647630242362300733174692372571113556945774505420317569580924706163209796881253446696940069321594699862045424798060635937601629981803983659665987879408685635302296780670463266250154250417436413950254367467408495647974327425675635405752483401735141961480608713594994061743832474774826829896384416719227666968543752696420995344978021253845445263084525283674755984756522560827012808691620175574606937806670510432701658733783032101734804234345188771108027824610747394377045112144359375255890393051337390162747632540281901488715053236112500449783412946971439629208403880235026054550512486894227083576462874926030384455814921553668409274167661060606241730760229237962663295185249622866749581610945471027168966414882598368948348290193637881300673089075082230297216090031478649747809840573896879756234792304864238861220464089191910919066880369032073715693430841328643459387925593325915899984921637372471217556855321996829544270893547515796158799168495198909575778937948660673635851643657794649229821046052313498689322869515981750498109613555304941317134753116811332425797241506992188496061054658603457010761031397010377013649862399146018464483369013478874655452453720363354561780739164530074446016457866829909710938503873909974483912441073057735089053465613631616648773982070584762164264880742865944402904901340227450820870873746128455001698859022880200915066192054596304702503865468804466170247501528889194592200278335478228043476459746875153572013786733068269953184090229497428667747996686756446387175463066906383919686632869327432190083368050857022316943113966279415569805394642047934592591071909451168206314709306441972497217974585484356169365429460359755997820875267174144616500437798656350845992627176135129961228662356242564714371440585476384456206379533687452415412605222580621825092949245442183439510016640251238911702939749256007938976299062263250135301923175992415592042817887099488977810272008353329946941838704395493035180660233759960385145972409536841582191985716506378450259245397741867691955194155249110852900649556436472822084927102150745166018304009841785066478395308736418910276826004199101380442022998337735725681209305353682383675724166395053404533569348789582768974701449668470218031508774732961489379810701109883656064174871879064025023979434938206514267386624153147432513463069529090717465975161863411534639691777433775966752097184598634056451802496087293982885543385545821638043936795939752008038971478632593124151448836175170559505409242099728641663140661676786071441535467743157056268140303418834579649500157445493441023236284958170465303171526018627536962523988713938667795089466509355126363504744874948528195822635565950617046940170798916929464668341787439168638255674915823530584189680182449959551944939712541659892184624931679217675929902309159325729546527208359933192394490905012008108910653348472189006488989019032536574979312279547302375646608496543086901922553135411522563646369859813858556017925487912857212449590783211960394523490734140902331451116010939172183812499171939904639705383980425072574837376486494266886243736137615825094521735696007085213190671981565318269208674719004906090432467001110767203525184335581918582371996256928774917261300373441854377888237869746487941693494578638493332567418720901817553966242900652962130665054472767072588759740234631002907930534594487772297651216380395265864301635497004761601614423120021507202647896471634011219326398627091385922649010586335553198823855274567609837482199683382796519625880394914052846845604363980081657433828811278673169554128699550606901467357839353597143910093445171806058926431391425172402090741932424737840001645647131359818805839960066519100673824337341443259972193775957874097607614628645288093930896547544837283714613655781408039735767198498872720578924294417701882952545524613673052448155105234116296018188408001664623739829161794092641661969400705653923037975077685293103883545528420459946422060601764647023069932720140126307042188270783492052661388953443462636448563644301474485444990690902181041727232747112179312904981298076432246591412132940898548470319163794052418341269767831446532000263373763525659320253046772613372634349502124293064961943522996013161653468734538250764849372365263566090450692958271302108277768434153009024303016856582188083831017000759977958675767670727822077856988966167392336971063442967289420071236026143703019611452779372517411503610001235727511911615593016878029810237907035686036910801853133752745488687547625040411213151910771615686356631946463553519160256336516921969170438018652599166173427352612560879562685610177221105290263712179394239933783684634349236718104756471266763932672837388937754341027271598121598405731887202341076327563188385792394970482586295323895731915534439222321316185645491016236660647029867544025651461120219707497346785032597732537431364183439543049271729113411948206897868216860158377721383838084832581451276380493533126278515762092271605842811705044327597808907886868312643361503234632148365593777992633209014086623742804843478044716545672091545056052434089111684036388018649203733019010913116909121832889721580241538179499959168983720617380293756758799877509006328835220928467779467166500656263767626400713068177405871822123193526043874987161778368700935526269614955797329844303864153738639476460475050719750735579112614721798152516418986553769412114470683542390735258731030924901916205554544106309946022561010173154241432621468491347458242746825109974361098668116197749227901159676720489271649443292187086453435775342851415905310691187207214100651821929747391148699339419096186352777389408855455340819313165581051467184648672662847778047610572737596916425300373236163845953521487331392796848648309674661819767166058095912870793600162017153170288884518888529873793095296407356000267378305180346661062440123392963953334959405831190837153343273357209250489176240650778694843099406833241168798262515071630077293278499201196784220890894918200521592764385517141140843701573538174419111909502594286002445276915261613853319755968547519283917573020957949077284680840940318440941398200084558658088568910434320981123926454818163215698689777873129364952357414621179509273501526802773245229074282456775714822848310470008096809195540374308401773859999155285137993347331415364471223263900455809484334170701861797449713945059476451546075577119288312851472776490375934870514060335003250584031846555937119317686489782211686421131497731954702393384701627153558020105870694606638823265800830456904405025258560968499177263903585560723345823312687602187735903315540095717120196610647054183650563052952587430838331999308090028136575455655441135950318968982520825669672125875839761949063819394288982112238478980602503559885923095162650058554365831109983405841481295391156569185497145851053324197286684424598087541694398823337127630118626299232141171726799383080659760163724776829992602686870934808936482869568674186333759592563687480486837779432069577363546635875862900106171398814483746371992256732231644532730120373820721872014099911469622964781246003087675572914253913962043304749220540804452367187805351442651461412593001649067407849160619556706238510783158044778002989922033951720821109908132415405733352658207971978301768754584118791269011505510453173378992021069405613389323148050905272861630025283604971943761248305766585523686554368942789287776988341484443459650867799156236452636285769120235590687103053569019864334604050579618129395018551794424222388655886841597510596268041178813770507735589738784978526476942371579808972534186463166213601010902734030511735881569685836921948638263578452761085389597995298334002497769258608281322949680884364746077534332896466590585546106774455991750824134245109919245821348565567895623927264664925365917796024209976231740543900789287094322911089841146620300658625543327505460084556663478392449854710448224771478121865082556543731402846771481201996326681555694454809532654118188809266003537572428583356299299102717279446049878947735282883584464400075777313617916633434531489263361305084647202401730917326512042627890838340295117893453222917783202346674411547832984305875500904287565635465650641121558657103745232540475023714744276142635948241879199115920043707968012252871196745892295518771479123463493629224680621401639028538792454013053528822803337494163180864566117536830319177139915312929153193987610693582580643071003422720707665772580300012676931630735473132705412018643083692533207719807866005107334857167467015324705561505222951515744881965228724488045916304600197947419121931798576958361318542576285854682881823512713106310913657851277295116486601919993526644049906578502830947593217418857956863644553102834326148398114899241696014186168684447619960443792393242988357447088284636925430483666043407511576060879304402799118783218740926332642210542481928698122785035795080361127840175988478519622418690377208259332821198382112285902282660689760215692137855834691153470463803029409204057098882925123106812884588461610497856854375621626412740196058087165467935772455160096551531392590110697556881259595883260564761627194807690753233311399554068289587076249587625922340336068238329306164971704467365143906068531195277138249728710530572997318649940687925851248619440420504335335109144239818108064502996154991418583677833534415966537943648284724900100901880426609032550103576195216957571341453082251345663684555757874913448166367742542628649155834879608245282327994854725036215711037148166742320172064760551841894404653268666174268298850009127777656958135873449605749028239958069538677183424991096087518296076513963066108196790214286604058460106029057930176529475959793237823546246002794467388695455562169167368110520363723911499427111961886731774655387151924841932189995814557151730021717533470480266491373235500574696598699796531664122523460966211715910566405473679319948405436926095471147475501811274519565238970290732430316082573422077527058896917620305667840405746741662113788232918719019815600449141080556385667180646008828044553749562919654040166757172438040303909149198930480259655625128289345836272130206346959136896445434365979023335381403690504389570623999305807076034238912770320565188813884462967491944309202219515205981423348704857633119532674527646091750859301843035681524573488415047643327344187543394532628611673923165847933754733739040030691209931848099487642701027437931196441328579838041365818396215230823184440654959181773225625328855544523288219840751042699204237522157795048059214173562892080331246750418039797021720203185239289845233319636970016694775258903242301909825977928734287719136644811496000543216361667941961785060933395060698628708308188154943103854343692797402937318769301414765014646118042887412296132282005958017003349573813611428619980042897999243608664672914135558077687245304470069430314385020825733476072264599477718339560754434517705954403036789548192528413573875549747208636383521441238007084331044760314122206803970765417825222099658542966904561066321382822135156805991268263915928694566052516718752019857667535885262828197554012787562071765729487699644482451533792485335062066946405605384914784714180980735738223350533258859245783308250784124698154786952414355300840571374616202209153889054169820037160027352131545860590066490266407432910421044455342528104189660750605547893976436609625589097309366127306521046868931543573230226148922982808968080672372255100153736492030426920538320116130136079891514245016749848868832363760902205117199662223005377941756083764242405242468000135407405236214727120362703930209370580073658804741309092380257101201465689882764652105921451064071840999905020443382994720800769044915638172541566936249917700953198995291450951082746095560151066689183768767870400512292816450557270611536770127539103223766758998973188883581670138739956932553211079348772313363027217058289934103097594864291607754778992887269916802170056816414775775448482981333902716954583155667871119876663229598765689996629987495924685592333188925252907354614226457555033170151214183962044300231024319796035561106234951790299483831360529098820230128218561767374828304676281583717898036527121763957977437569572448760706287841181516992934449876421605128005921642350935199712948479876028711704335988100873301324245772721203779878434821659542575722815215794476949992645890156859906522075616089152370558379722395234262890159517773634731200149347838435513044092136166799324703500376449866850830420652772772282513679101849570995813906565898131487889943909408642168392442335438298362286572800496288858002900922708624130994606616738434485045784954070352925623493335834214775773297898928349118835092327646498733431223080313949794684563180043072823718610325389822685369415637625702164446844932186599523615478354945078989834192834189532617791879662665401089847329716738618908873138527282659962792385875606356698102981459137166337657829963617274870291079411248702759795322268415326809204352080919948944473977232261760200656981898208178208832361393349904784674192127569049530373537498881987451711858571061632720734313465373841394244631915101032700108561319429680441794773119655478263863680954351190938876788513720831803167591839969147184017887176615445947798899298175588581115417651007771921659435546269625181312500987075951570768966182025981657946507794227642359110983806435672379231071601982725080765706992754178921021780871130425202882232884139854700618835992762828894404307325651808055378062753746142511084630152946505756800215850398819320055466045638000965679704262665727173389434207910177257392951609170923264372628928113398721945206659809120686408181034949645553146285542824989208762083670407135890825986549367248369264041333313364490191802066358614253780758852438355290592944108460546480879435767870414393714717487950838708059846801449200847733147557294829114530025092349543601276982527462512995360925135953846609223539430627165410368505327274116845833642663361645668537201353925587362908257682205125532345938226524355154074687095822960027560713874192972870981746498344571956246633263399570658426687971918928137858304613310861427256796948308471511955139551169372425405170233033551439152562719855452313203368054281169138984029880572067791746356923864209730642774071622384035142996712298571375133316767258194333283782804126132390034133339238865326257823949646458056481239327197235690045163813488591658518863279512153314009532908046118451015359664965666665521182068148537066021453091066136470968678197427166887611660350989067838096318209774481943800197149366328099043569090793646453505922321293707282589218562519364705701968464116811752046367785226066498155479024977148351644331326520236750731711342873948030478334600126148306224030941066057717057762258038785903456090391459353177569022780461963372199629297765487172238274946725172461547900557357370517688365867038376921277854261653047883425949024310394092962032669964986858407752339702473115491154590080919962076058030139770686229607240238807840425633060308885889373099308129767580776216387131131333125198237118039922822888248753944659659940728913335828913559658103374780543354299993347593801228776827981230292021109289853587167170357400586172270705585240412458893720210038418064007215871275710711254074876509462578896610236502715252986775962227396551754133099601064612846551037783893434800911561559897180993392160975662503480196335938099279484669410170291704369841592308260662586882245029383510926070044864970137753733118643599142463004358617436449018340568877608474680965921237074566533987714659722240365518083819946552207837049983109235688379654549211329657380816077687981178898570154168824733338116978208703617182507705043789175450904144773153396975364164435139911997207427456451290983169541892866999057796179976178480350196958180454723209089849637261043352377128086243553575731848584439235753320272094170493109392272936479983373642868003238082444292367066690754700512964675861277577117508755994805336866384657815450632047428218178867104212465849788162364431978366725366659025170648774225317133073450953546983553319261103386530923942166408428697761011488081459177661415911535830454233173080241524454474004511770865464002890634418661684562386907591653255793101249718826998330175901227825317539206676893829534287191145172366890167679441162390554738004881196650499309069661514714926072594586557239607107383670354320511928606458564133968369414758167599508169433177679095701139236704450268962601398391938991358781137005153893325552792040095390683197446833604282302392154912013490734512433202250403590393631846881212654302147798874788838263515871987854912252047315138254881741961010489101182998146647848807668675893600184072028535784086451320127733038155676947182737786937473179348649351455402443874465969723977788317572334594056879117324483668908134261810004786535739974133416278382497978288934844421656791927218860606875834075212428139885917984404632716692504473833786065088066932878430143404612496195599734613474963176308817516249374126086258779689315243492405019360872464145590032991751020283008971361735769049755626879935755662165231955116223331647783913838545424925116302152432992676819703249882662136773023279965648364922003694399266363253822136935280546205875032685383006691346204894854930316844071567293191061545080419104410658854609035555124533970840502491084865126060474170598972724783720945472084218858883947056031455203540249862773970094659972455672397570221035214777242538661106908191947123289356613301045152025317367615237602325477171425245127091244666247593786486167522354809256370914130743669256809113702096477839864564805785026474495366351834582381033699321786108343859765339449173809821692742912097074798714149844555632054053362175813710192868093160400430359189846134206125443955288740045009261612371977473050320690102645619879686340955632834356177899085730302303620578197578697694402738738699572305135274995534537527902497427966845228472282565098099317131914108368744838783904317706742625813487521775054097227910341595338180392241288687413739142526415317143032717011199035840030838598608884373718005703112609344231245889375473097118033094613225642756781625763327451109384144600633857092412118341945400185563126780960481635098973326803179511933440440600396081677911550402710305122413104401488665765846845371868862483042655212075678979673084996195080637963357164418987415798603386492954009789198289276161349214397380721888463929711662584011229350915765787714283470812873814894634402685686160520671919066024808444887544744708631563330927769137755919792507541623806751525562709452253721309436736667183852492046129828390201834720028660901145508808993422189720859902021696634499502617990156720645302623209030016123548127859088535013871057302118082639500082869781551774164050322422667165609656863095813325536713699960563377231726344833616029189539563903159241766595226946200753178320533109940189843949225599766387949480901241088337682721400308767885015121595907025846818113793445604935363296887925210937257145040374068443438506594230043332741151738522657405009232866817933295530309659311087879741907399842962873460864345130336090263014434830548189255015994334297030584868259901114405469755564413880093042892325347268314963965396894460151874252437133093633732839715413393411380666219352579364709077187471293025973990494124750235651439949141270209387649719769885908003510562165918585976211667861813144863782552330327988109672372476234303005225790386762535324445286981120004404719177290606253461118498017930142953169788700825980771876179703736546997646108974098021568514487869667088107156675245248562564758180383636528375026890931898027512549761640418119442696189007717470308140812118051892646341075690988494027545032097005869823542993841076717410909015140098780803949148829147197201175464895375852739192705150025175652223234388398258251899199847882614264873633808363274911745585511751828304166237384162592145590749649143150897908573128310799367118868476381745950821337177881103808964157121310498807177591441398962097162134367980658060896582807574000435222890555063198332897034301484833030325234490286956220516968193568663144717216563339747755390664284526150013438967637640796092193992256957216342380863263288730428821131374510810622878472039085807387511655410013502156486710009892772115236051437422887743300129922587744311408778590509452464955649711781974182584972741066077051862477784492406892406205260039970822974027650604348578811584843184365084447545205647099870183012261709687610018200828795089239729092149680926460799524024834114997881017783419846861336205450493740044169324150817469152984391799715681779211108929431758502214084634082917924248422398415437470401318958924283805864991522777740875979963907407398487592314123807086396589543969850536564158351646816833458492968094591206451114806320524356360554211561520803299592738729220703796795572287899092920022724380325082265467880703545544769282618362720344854510767308800771731168827169426603868673724565593270242493742367036136748077463661691110952046295327519919698994505955280006353293951475339800757495707533232798836387168915612798324305832905723916275588936207542396444283651330363255654556291154994288629472324820920912570346400137959962517485803647914966540450593397622082737536203960533660717441528700961232891425329095828896154968664470061690460076375063172668109878470262825812145693651207622074287578016990468033027808658950075721051617461053125999930330493821688904999790239277840216156300936601321069436574150326646848594867640281339328976684040786846363163746999534288068473496205499125832445563801551260210324697145366034466561104301279941764692981292864819619820750321479121506405857450011722667816264106666588737807190638569531459141779756394562660096838196863010336153794804492660503122050162098548900539699065679228055214214969278738237930629604341085278697411298891990449611389647770524174982854457998358117138014324015628684210694725012899484955638086872353497527340318771958952830440663487334453239707595668943587105926879641554445135801611369988151574098996609114156413125558653329058931449121034138768187940845568990717327321281839115347830201218886474418734396857364581100643506975730959835108329230654454177482367903415246630174567325470246055119736973550595426151250447525738329694041514694217895760466234741608241245951524392955603670140197520260777162426544940786160948444416431823867822615105367622279772274330505869784956489436141121088837911494542239601160396572845010658481312977891788591228671672685153940231943935635506625036953356030865888831663440214615810939930664011066038157774196086724757267670887793005897297960472709269893955772873639996113063773338192669220223518071412468653245006450726493098848600866573709386733625969268711969352275970438959954346724834673098285531519548537497740195896482392282273969602951069059074569064883618162510319084729686358768619283570514740136193375206321567929213180234886513252302774158806688001887410171849368008653312930704536472508287500983431855543954747812085698601677076463215446709054601615394490219290278653251349008419753774932419293893065929163204195255493465685492199705595985779272573722554078729247088712114584230227359582715065840609489970692408167062704267113933772971080086417594471268463101278229904142504750428022839999532981784012274628360478846900730559363130408459017388178573966116458396482372729390287436897580412421355108706727870681217447127028090202718950465380460183004457656898314539740823889235477615770004984913543773872349490404605686236664447242316161857195242995507518149369497634844425043259671280134639392866317533157519109994534546921468807450137567634133271453553956771964835538588083923798549138219966668557389456910519873024324827694788558754851209085098893388731710078410122636885151160470211554725974488214536917593217787158370832630737326443317673288969986014374507307037438824297657459452005178338857543928502826945492024544796646571687852998798977337400437090261810765031936870569671157514941982273012219540287111517407356987640960625091704414918593963553254851024347179337242776277018549829279418790869675149360960154457358467242488038620563980478445844868343266217191874039098238699762233928411751394069306497131693413702618657377938970908945620335813423118125248344716706671901383179574009563428280393799872157269550729521509583454934416402984097950188805900411713084024308044920007433634464500427938473677653899811740595336833463780131665897860121085572620482447862720925036409625305934148901155795524900751461446839964428373781903427057638419022656876021439363072651119703197850738568005827906046526949948449984479636341483176645844111998564001597268662094868781914747184221764339412524037856668093768037907306215631176049034169415491700823557742977435051668757483957109404076738774894992635155749626144693143281581265935718904375074018895463496023072670398148739239343994340765635053561410768475326331297335872401298441664168201563889766092361356519243368201842559017846438267589044564638061537122736759466231086814723315831863653433357802678943109647040881463101028160430801112458515445786037989822417211735908868334992015207431627651890905741861819019850413777873248357404802172847314402955972835568120809083542954621440472891771543937902606320269815743664782152191221034593783681257778497093159979628659826837347300018911593915814476305047203135064430484495233407883762980585635094268091599576966974291498094595682421011697101455683953674282211666934972422852457695607721416926213054986916060327982501847097379558680792984782105121323723587997223097057178728768267311578857410864126412589950685581809769265538186854933692102906116875433000424245066836543139415806707281985697608764693129021236645037770053139912537113676515177332677542132183407081034277582385281174936219208111249486527065009528921931137633751459214029506646621264188285618435432259033121322084836124494261221663574184715874760257971429009568501359253683587783531813107583631117033037461630372894671488013397913979608954212993382335811733428342811201085336234553468196798681017274651474756489611564558721173208022663563263754467340639937093027786840686944141113934230999578023208101060832785914948232610868364828841333642381138688741731085684623715956082344884285158336980454363122379835443393390242343694323336889791316022619327078751760448312118967710952570334037250992365024852719710468339108024389696065601047138608131201693349371814745721072983925078447483180321405989021016515645745199985834987037709984108930942558596754110870051718111046278238496631309966372744511830457790423973544625017573929049686625986165971543678582650161208359093287290320815995692165722931922487591927378790322474270944020778862655865688422983551797270070683980759120988084604991311838104435432555752518763945590150127281358370316481138289191275828022299209130806855145698762707709728250303951593176241507366709053719584596515881684422063410588957876814966743535770072966335694574285013477525395253305500600375008017562035738001027892588099778428972434702630964293569512500405042905349389005519401958442324469119189277343126729257386708755160065770592278470146937642097843120079197367942159147760032735074571174531888997564484049238155311964191227257544586392909200234387825250264561071754568756090264415824696396144799139629017113015672861758940890054888657576377653438198189422185973204817955856620402847012594492633968730534762071216801638226548127665310768958171925198749013142528998328172962976997826295954293987259491469098060093475622689429284586424239407254766146871176412024748499831812956514015636715257199503021532482468497071717818388758103038272694727708618958000075257408162997902068021438291457971171357953856632518294853971596385973178956826980113324219974132378677690181355466362235981850806202280255193493516526582205488903987414058657758210680260802575448493328243281696718252141654495093066446897849882995101580254860184484564289064723595176433978114736415754932268848768365891204860851913766607793395096365504847415422185192139650642930857162225716367846556968464671464908457657134666108464803694705218423847908013699924116562621714515007478725595191749912242601879967293484088789895939419626814143337041472430854551248942948560170035148997227173990661085644289839971073753700773521584996822979128354662240868157681852110997287769477855797468507784094881714919515625705967682626058211829298232750559786015304582170287985889179741308730672186495704189592924002488863456835814071771841251298185624509949024938384086219263613685487278715881914294077197572911995550265970253520165802461684626366114326697880052327444580485807057178057827512240677662242024230271759526212599420020417092911212079422123432508936589339742392213815466037408362150781968198204168126668710561253589309000761636469857026076330429780619372531502306021598819463572581807349164875061702143366177267983739821564957731862558678857154889365624468608102119089705813051506618623940887188476049198981001250834812185336303877312418633917466233948535342933499714449005731152496384753682923528795648521175101897884019450156780885628124061681018546398949460843327891543402875903542541965986425732216897837749174393311781228577712535915146416183336980002410487159612689893875260032162340339997110833862482994042842768369173533590980649655107147986828544067244660234822564819268156268713518695832310288842222833188169962381298273494505269812142223408493373544732426482085353008018196143980159301770577111753996979675449606173054545825266991983890106712032488025942565909414513332139750430086745993078774422575564669509378644912188739806220758856668192099498318467407627801874399720857594525718481760880767335891905088941010675498587324567250669891203703383461957624425286800220746137861302187252626781626847798792219331719571200958420389655144392070878885244385219933363295808805551889760543665139448232926106215315705719086243285198583209053394753371330233020969210981246659427378189468488197574356854020978036777072833452270001695176356392893186140344253614267893199243436884043581025582603725339329706825142884226853687409787243509827566255146731477464285724735558744742385571771562549492224147205184217768268043980597737446025104973787222450282354354441057601975985688925291913132876698296439775754828865000706787716019818806954901858227969003010816016228077535284274651792900855148125843976786338974330266588870719082559097030102579423619405988396453492573548474696429184693910446001215699059124605417054411255495529655456295360539770866227347815706295833497440075636849655917178390704525960916059307185646589280465809784270009722352673736662677467714409303286424547955517630164484263215575672357255068512167998444899254557702457016651269785302634963558393938906507873152428749291153937252915247576619098137610555687259517272785249653766301355167074252275092614129397971340788421803094029300461240898251856828168660506606815708581670081961851875534737713166670496274913518024864716653333759181300920510348458848373752523875692637437087324320471100196625673773332787463128585933330573109082499467031071157470915062882794038030464665279422639824894068152485281257963532601101052013473716415329861414390509837131452627073619579088437723270976651795527167916264755191175576214273636412021162870341327202055406364924655476487863303383575437436133525550155987081837260787288701630416443430383275796240670169821214200048870614579467738309842074491174213522028564264635010649215173410283817341169477356253218476906892923137025279215834393479955183686007077830221247501294751670281769573903387644586155631364077695667353354999969318816647044303681359155566508694110343673970610656750878285703191980481241121948349045823431527310370410801759438351582581995192416085813057135685368855604287711976212182536093227649054917912115209456767903688373725963036786429248723307501171312504196638840433463674841545262364383597088067665692140709830411875691448384658587990409443351951393178381763133627738197351921939978396811200979862226954851404608562339215228228601346215902354899734165913741370557135754231932138645397416276300709818354877066895243052106306058211565828522397319543204703462316720504033188966515569464488288949617959452780639835952263656973340411561697088392566318215854112215620439060572139335476693603922915586472906462904667414258612018756167006323730338975741293697896347456641525481691383481131290176176567529448594502180523666879590302240791826481765756509907311972395035335407056874447714669007882815014736569631377283113548373392989722616173775655472771443744046138930491029609135623215453571059831978881201209129552021986943856161301838029597702358111554059490722435692247400013268660056803664066265201743669680094967037096516526545618292956899896338102613745592013373914369295105512556944006636119079197693226904468339657662108448724484382527584957421783908851063086791231326626810852489975109036884384474239820135912386089180364219760640309049222721483475634360921924791071605942627453981748277113673261243762041007973184647020583153586592907551785867252027110708942744229545074628791222294385785530200336536141698304232812226524258329651141451660822845550868150726891248071460228633795367245281374321583583623924567471276120135830412531409138077110021354664896126686139475420729659381679158623438023993600609774896691314884774251471377737048676591007508651473311993331623090933182787520113485116260612577276232750924673684208650568722012607159772625757325942841882251743913345565127892379150402716956719310597227043619685557434206427511825585327861305417127159724297914094563476964817929854181749847318159581965782541432675197570415458567011467373497120223537271601000867263138672755138217725681033965902768586603269647441269651699163209632869522021569449752996740771238294802107804716064678955721588466320287694565835224802359155827438422576507841942780424941496828021103069672613037430645311421998705472907032554007205681351643058570213759288987386083716779184609774540347609113035619319523482064275262905169757728540920408032452152729908793474021050174438945522675828602314539430318095167453335235799773339260682287709822367057278508510212204799441475595669987387849097318445155762681303226119955433656861949730053532713971457831673415985484841246675977748796527585334228264320467479549668397239175920406253385976898868158541099098726180882409532624278482074913031067881001861657259508797876279371136289271675024015877584955380532901069873377489592969066207863857313685481004238999544498207709742886270830247156175236968270213392625783888125509493455351366196944825034927654749130391830639219520962371966324517366169351810486956243538272321918280164710129205531955271816630476537361108850981856199921884886227310156804184477240126808089996225750560216742350501732278652916521666171536634840983139028553037771190357074928989880795261514688711576298394545559449667053667205693030864729989148939998212836675240775661648984029710766034229048391220766698180031161482869491627321712279127035244316484963173311549177307901917716203227886299487131534807048623892410177235068328361336549164571146052353703535236130805957875747019168086097292858436279338064729939151530659601304168877526263618604747828979297773198799550763646939853359455240672779505156364047197909217461000308443270832260245414627551455994870978086452134651934345467838737791585837548148847154880970719266888987538662262765291666747693759173327070349298906256507224564110891895489746379395570093053106658749210348738420938964691095724503372894301751340458103775666919537388994773367819657979858752930201576586322310158812380859208058904928443052831840107046670923468699166201898799061477294559926770112770342753540030499728270380498300798795666969931909689349092487793813825105033298153633802644342727460903333225037705962835416877247503249742578474982217214183455509318024728377819813518371359870409879418728010216177950851234646557684975686523711288008388403242669352161330796029427935946676571183080234631878659811892272449850654440489044821598824849365866946321616287262178018663132016754002028185638185208786303405023094071072867520599189480281600955320201765928908165276008648278779342877878780732037538436089198851115704443777271494516673505108189334058279997056611362487596771840816754478614255909645092925133435607508624087026733493761989230675459265838300149715386187452990207877035420295771688726397340201523220855276725878198220009889994938366001557482828470248258866651925640898193566918711732334569706231586478204746800578000374325745090134578831141255683919811041744841590195784186140716893338931860609637000529326095436478441902911871093218206324256593974515663712017737844075765245570813876439651916187216102405280062814109088032553780902813677931094448505018855396325743358157422399221468012302591583328648537701589169961934554168217155120428947595792021642708777003630989854988358193471187918396699914189740283890496548938452448297071535818580043974210407307464158106008549057571012146562058524209271671933675654959902237941000707735805733992036110967876667061099972125062481264438896200336344749268106676381598834902168388512276233751319033146363129884918968252406300203111246051908318294575371932902047863850508361365535274591265495780439289969491915860273917387537716167436883119388075072054289733158820038590071330467878067265620032818618967255306546295589329874894767909293995435949533698553124748529784146323375603106018778498601597676588433215210820994309786086267115548900073127677681380531914136283669032024125067386660542440579291023801971612212083430167016066813959095711012737602475450633287320785671324282935422244500746746459458598822363779913256821431111270818892045212273166101384053513759847041942177918569031687557408279955686841793388334031628654621332065117770198395613737018958946990742503333267935226561020697600714095492812546014252997430628359530431391863221478107229292844892796384083422428379643605528100476850637324943381823607102080902871993466510223025693173957613690413334882411692019093016865362802753299272888812084072551826023986624796181864725119127990840927839098885873498660378645745648235777739316149287232174817957482523657544237074835186769790834532820583910041102446546540730535843511826747472565587043751015736118994886336457487204854992519251964556485891733410118888077832209338132307468951776977015787092435266036420925814706775564529770277578386089062231001026516595580983123716484357595093094409945407621992311853995919531369782391631133475037504202249658001767171177725514213136753626845939755085757260020371933011866831089849136718499354270441585526876420285246314620354439455643119724294141602280464982039926333130935886623538258120509920786988323062229085090656213418678026905592530228379807666016256711206592280464744653088250943676411178040932370029618229027883343511398861296266259109630454256769324743467089011989314927569299019731053815526265011384309271749205992274813634149909564029640800393381654388635190327656874591697132143564444888215455812965373603705626154047429040207990393457461319445935473691120603744418048290374898187262510391470408091980305263690998991284824361263681213671680242419074083880320992209174236127962224256266974947942115246463466324051594690019770969470012926975894182417047416294636565052100439358468187866659799972551199654223558652541188113441798574472549978731072313999342433486902528831455482570228123907053568289925552766931431577098826778272484864904593462411447118542563467768827129824934817394078757257753336098419439440172366910900148864754071969957895858727159911014630837104774986576690911345583651871651077130787080390695931241565962552080308607723196522225773833852560675036281164166505913864009647122953395015745060755781526279787544629181288523763974741949376201604918902582652580765034079995453755910833791907924603978297239768010022894998932894622785579951862900172849094131648694917932467869354171883474290352610669932788578705889195752039767573819806979614422408343266831292228568428758370243920964855952098824378636625171963058672903583279144933003504419656337992332316670839624339373715178634436867376112472101814958015192975760294711665884742510936877390090834117656630571258482656817047972384777510925140505435381965828864355866690548136839363636954079552451925873130188052476314756187091352864898988798086938041269053904868163537351644736849751934034306211336112261831807456714082611777843375967522007309486392722716437079555637203141878610776316667548335128683199374045789892938756969977238134711171319765237362324945780324213286032638875401644265986347279306505758549277943820499793099234712114107008018352807895026160233440985369803825216658265183882111509174739672724224524696226288780180245433443603254198158480568241480485890332587930951569800563612528268240567441947858767906541154457247652807450887298014890317205525200646069803637218118820300201527564947309459811171229931363623073857942083777756363300204478212452682635100006156310512464574438754520296303671816993811331147987636765401379688631688987694297550008699310876438444331569859644894151160864143439850825704564827699381310104378858363407443623043862281224198619536929359778035693865358739640479897943191553221380905277138127787852440019129331289137894962601863795998933012128941035219962760647378233657961619743440733207500333685291682156399575125839891443558727802944244148912316884645258232310932438283052431958933613755190413549435797604239611396214581679978347139781187452570251926080282283273809740969749977089409936774430056875533020588258060335519082623616955540528443926797836374720797674118363012777696370412386945507861512465731748826345645096120131714131209812320690789439614549716653143778649642467960223494203865825995887916942392444281800744754248017083830359325828581045574589222680296784665115137356182602603353692151019731253833493020913002418679377605642135435549775836161165792641237758704741942891477529312354216639003250188244487393129112032742862657571226028469046763203178607979994394240860851732963424853383253208686674171255152828863420937093948227391087786161370519201227273180680151504393456068951808490202872449071792482805410278235663814618276075153492934355977061251257752883344637505789558925221793804905591379800734279721121108146394850825363358523518713599674466118877495392469966514609314147371232149105989321821600368094174264118322801356641456074644731603680474153153903432050482901456952960741469643416441113104767373998677627848277597178803955261106848500280541679520251122266223725717401628118892735541707552975650430222710999337941174566210906918602427534931697821350500770649866770395703113846191007695524250038042255096402872935860750898823773788326305291435611085506456609613458599657638209287934595801243645004529407028572491388377597971287116324551685421223927869883427612336025379500574542726419388293120453122477330493059843657815201000962691753107414329682173344851931379680013656104021591016564799601375814648808312283321682221213558459098741263009259543319864809444972985625372711476244198548580366838478593156798388164192783131111400754908526402562651668640140756402608804029439025501904702491684465026168648347494781272148659400461465737130826530429987469412867989745425558533861147347532731052564937420511224742695038513131403972992682847518107381598994063094969294640335799000583483403155377763558477455620119284876398209028576564101799109223520901291526093702079020768297672465653368105945555663429336971289527274319879652243302156679358635743849000670542228879170717283336615361439102154901781509780772195823554915013862015593886340591764371590585116691606854065220352899108672667897460658975308657088532854787930350067423013051770190236952542210055855236300702565494998590025144071202467529657525764313256118207248645110757541877794786899259456285195786105061465048173991032103651996459484082259187873101283439017570712424805607965157548814702057324841902581109240929581685783958624122016293493184088801114752706744513623747288536787410771434936357234333488220142597711825506067028862462050896602141782672668912425219087476826443618232226771358146931710457304566322684707302725899968428537067371212408471770430315865863122547092321430683066457679510436286181808661028313982725246145264493294166622699952214368669569293668435755258222181485091149114908348260590119735297523028260064070431065573132183107644177533890763728676885757992319543596022401934504444411429422377174468925793062381096853918544287967894968280328911065943547205465395516085457240605722406963644071912218228887268822450925127068130115348988916300938132218071117372529634065750686065261363912660489663197487829940298903930651212155124918369495558253155269299786217009690061840708318590354537712436289722447917704573341171108339630317614869634441103965928419026730491725775578624243797887202761260068873354386376078735818811523097467880144411472033788959244107353597883276382218559144894471921512293441657011446365537659741831561479951398247321794548243535543508782205901621095165491372003051293049613117220399765791453158833686586350041446277107185461016417402668360686133640000090634562309682179367210397317480208397532738089739057222017285856631572353132974568249581538081807817294681065519108583623517609808891389824280794638719920333814261539256556211501102381402571630156354386180821066476555828490800792636357577361246537088511603454569262908173503838065680192683141051199473463780800833373017659946042988042409867162581739198470359226457438757492262800524917422899285568646024180473617304875253063091131176880535974542913622407228106568568881101897275087629885869858810506945041159626698504501467524269504357364966452759878384193808039419313794862413563936388721266825874633876164378209371357575071214008954393055190244605701446808761942947608616344772808828786922894290366222077247444220829449660627182806240104234783153363863722086881931087489755466882599385034233230711075550872969039038377912441914225546058873365461874611463053165840359000976610576058560369808845784981183939095340896598288540188080836584508486982169792492874005628294072212218055602948259793909545369234278896470505654278782682047964731627286136135104465869144129945261084444552703499419243600877912945008849472164464789324789349716917258587200071042149860105117725569516092459835347352048698153820218258409383219707677829338501160861914536528954643259787663807101458977569712050384019917186612908234076201498023845757024233352743632934373466285063408763821026613022953769786214809783227586884530252397747408039557306739728223589169634003237456406839511620924592688855426258076414069047780177949121160588886827402390917225274931797452829724636666543701523116187406390128908477888979632808758192572395152540244401890811129324507801575982747706345135542688642222539106461826473456833088621383294566050328939142651514003581969974649872480147440328957598171879157706494557215337501194411887193289743794565821592367614293514193455361807860253234464702474252526354716712285844884220081834922311268509794502093695629453571269680185533194277528711046858208643473657946609630605940205290766791477368373461321646518331723163597491580681419036015165783245293077298240214861198664855384195858671553070129872731330049688876631000935714058460683357522755331261928372770701040148002999763454725748934270359548853900154447836899405194699532573870457487510149865029178018448129445993379726780589538394393583319239891382689790306537534903571227325275367423368573659073902199009319287722783563355006159593867806747413631903780209327277687137023154266374255097063418680656202700025571067388306101940268182329199512910828481990060566969752833648640590152186963646686381532731222408498443795089336743728476159247392107976991568784507299839415541053268356419683681873611997260947377982200989893892315842052880355973209547124508555243888871855570705593170478951143384134332172660706195261009699560038764846558853434232911653074755780717024290809637607786795070009261640106782727411370220731585487902618987473253431431389070237976480727951735596980503586471341829140314950057921850198728659014496314672389278585136572726432749533784148863312245056599470905206156882973187972242566286765958705414943306643526222834673014767093981698305043469838325136734342794761667934844832829531243098302326325926104477605703575275104815778237865969115260094165319552206091993862297196328803784595846018042733380029981183971142820257267296611789877927385403653392159350971981002711150311594984622189953583672432003258638952163488893335931974696529332915448624657576263821189976185404627791054548660804512992431901621644917816453714546353773595862869493847928603760325209922950991943324363064316158995918291313041089382303592616675472469821834935232926769108696980032898599225746868694326990861944054495807881493867424698087035370244420412940219194557102144136038163069573516023251940058312573114092597200988591410998825842737819497792001815034507427419902427088218877299268288526405445348464935897818584195754751924260934756491172469656277657208589719793339519655050283040826098527966453139935732301004501449326371870419163145843534219279022441586669460312766564582007799328649729508894287553867644563640730729493527186953922668350878963484129421736799670405614074210004883696534486426403495543344488208083486485390826815276720032152791498051698021463654046970840078516777022318745422075607282913012560197152593844483025913733014799146349357495703930531341986372848899829205555739393215723589770351012181021944295705193109858798650757044879832662423701117330878709865439229818580760613853045582036048516268229609057384805531634304227196081844609479606963033997094522271925626816954952208599941693431674846613908946010582755874001800258558378846216777094156740867600564806529487921289056400712118156003946923908614131795797334395322159499743582715638761303635346016596034418069786371470363378318021484763977144253296550914681957170129298417601453342469994007382408120048086082596204178369379279841367426942340751993553411603313990498733863931611373154452052010391864473256732810907787493903825641674307480942876215596571743359584077312494680399818660892342639567265425121790291062704334542410250879919039960099047235116753833623199164776118667314354109365379861494781849004945848479550805759644446444185551117223211781572026223924008577112423082210061416832113133794349059654621870141594381261000906231925110554607187742481083855469542036872810530998630242711545719490079933919786772170246633469181028401721239478406434624262158387614706865207890009524987833503597810718287471418373504166419692817911431155147246506211375507474338189192937308673403922139702008678777853950817191032694632813744059184790562976730097658571106512411985712787550917113413633286731866054713324682674655583369515042387112778179775432831516948138650839635230950308091529044056114601106174583717378966457557607382046907489055405480316428019380184702591973744285923729044473040141570812599908341996447865804434500825519004984688977848475053610622859309546437417531148313307279387991196218434142318070318916244366795255408364989302587754206893304261996766363001150349272053681763198085246854326542789907681979656627174435492105757109628261353461484409366633531985120542501173561453742948848925959623369712483598907906242991022277744985305618202566590034545597641730916051175074746147427374826620975195685453111332732078262826456383870386864376321846483662182940157061140439896366208259764922579153131090956432339019446137710984760344797740010346784166257486776041133193324276532308295120933677098989000210644224355657319746240216510607509356171997415874225281158094673498479167853964792916130785817567081315460677209987420658508927716437876821389011893845782352074658342064381360638449300994484731674334266414622794414656823429806126550426212554674102619459958463552689955339919069607530034785886439911229323535883956935702542059216332793293113975295155528591713500702177086437805761900522720351683251687724988756845831803245654170463753686034299292074658407142844780057441641344568549783454152633348220115876109561316492416326249663273238807281667340865180716610226884082279283179498448710425788016587693110361116516580612575274293777074519728208766366110246255817731714660129612674936963027369037208228153644656721574074152154314805665683001620409208447088271526303780107526391551283833107216394629734679877366435615684157883401682847682792989175587555423889036852464723892200548458297539025168751381856916852810692637490834828864037659933340345951787734143441230568917619395376022652027127335853932379260310660295333115235952991130970558526071637252440375504751496481549745447444232351540573979894858945215885555784446839368668486757880406119327402731565481891026889080007968112210006037967771116360666582647404879980666147399087491778158721200971168657947404463638012220939769183897873292237367304250625347314586221764814525640383855057634747411809925358899538706413316872520146820407226731490732331921554762016409489885948018096213572368412582033057298956204956219744504233802434896607066983267605071350715000085642008799655849332170007840534548444520091916809812262323096655629535088597963867678373138563200985654654087764018087862046427893773563763207641909436813826297448551945338708773585877637757701514701354881870508429949830522258040183804070037849661748993533231879699390886652499556135697607396078322228258358253253575333696202990915880500054509540024030487420244101723590237873649080154916627612491885498656045787152758300112040711442773021095416537776539742197160808088089585686988084722908035996652311079379095788388354124020000467594408007170203160087385639522748862211411736322224143424027550639064340557933812185723651655458067641723270979167876167018493817710957375308396523346104606177209854470248595661027101163774679597025909409108978202669782154792960981932039445682169443617495186220969915093212111985545844055018158455107515083457826152472666744136471324430793229659892819720367921358538162826100642712906648325222993791584420923879322995149320805426030584715452938978034469082246660666883180711233008263024812889442708596771955672144160736414593522701740756826674188324106416605001864980770123014607499268148444221971329174624970574950320661741390344452200081748650490962407464896758312713176533072035073516339098583865833064032203956296920744898882763344030835111849798999937775741776193989440932913012508543579551827654393039357991230940178477803954451785094175611041469024508415181186175927246155490206246949833552816807945590230165511085356117170417608249983037107849020261303095009981941001739654814051527398117760882783010606753936446505143327154758955953423383193013673334404289257978923865234169938923446103983505199734331946353101428917004390710414604152179582032992142645594759445800934649097932278472594038345979044195904186588006075995420160209051019987524469538483209339805378985179619168566935886497911476996224713978440265991707347857467639358861725931780582382925176899601517540587899631766625454458639203013705433965672821510436077134726879137708503270015073585751081358430372752288364087792060769340758471860847825503801760093521325112283190291594907829623323057186889983413804574819860819225356235186184344956868337183799272946027905786607367402987014488396007193289214359290864154633009218822182010876849679531341619865292371746065907370572461207578283186150694505041907846447673692122342288622311100136299865473521003763746404552586723804534571891715129614461693552354417906673924157175021980361471873671242582491364781760782893743599606972346706915073020071364450175402295498665137030168754797168014053332320792969567680106297574912356314506881334896653647355235461391328759731515724046778141291200756775034097281422936552287187090386419274212841276041049282969429239418205610819204232738376053808296440576008883699941289080369675912593510629395491857424165168220633105152201449153433644674666422737591282327052677649672071689462774612057906610218225035095569823081929221110857154144504944119454472825525246204970839726012259657565552381127354652555515862488622450519439855261919569155690683220791995879008811253569780963299216955906344697357593256217722518494844544555653977842756370063504504645099227931307439413332533656547767935695657919994519631599678008786635168941349036446711746747213504884107805083823564935456239398532688118332391146686995545472560339655236339313873941011868658729494457664581854673157087889160042977318882747177814833276140891105110613013128454973725999056596136872568016264571647540414940832575319427935104148182365571049539193840545627144568605660346284486906367970562676550019763634018494061748672630169028785595054018322796880638011681339391825244111942994529929277205999774502397365730822771432428900895931128666856420408127479877438560386795111875867165244813078805943775468571714431047441156638413012638789610121028289759171519411029565133737097821812815666106246600035242334527863690361870505350791867523917102042873589777489022137465564842926444391392499167645621594749733893199448726206423405793402878747047226385623752105653226558218281568958715458149420339522000504341828328770750271701593826950512338897096502943081631729022979911376084364806148761928970523412707301369768699349541380509121513578541434648729355576829476002822528703404516192359968440673690165545285779773762259714924549637992145931872186613868201396394820317923111799015380667103280107554166944004319619678724571577971205371678360783346436099581440532328994986563690257261879661442038556097990324343056442969355842849072870625530499437647006112774497190296817920771329988739115448013613114637419045207028798198343864383233132011349218155366349600909193404369114841431134147981695681205134490088557031669248114228883975297983348200405408867829470549799555214418640905956880548439768244645379334765103237472281288096862712834197116961490313935086115455029905072987077185573879357262130944086646876986189262397291090464470828845608750308300999675077224704112482306211023654418926024406796917832352828610078189458838546384037914588386554553431432464672082714233368862838639178655355000204205877039388366936015138193315365136888978774344610197772517450099009615791426797819704660498575287162882982509639983756685348515338821053693912300661278780179506631913032347447055432525202950326206916102345012592790589874188402328711911069255571384330229177605423464153335348364886927682913224320459223088981372114578742174159515416809680268895439697676893031724912585084125834080263478704418217012952490435572412086537161077600708752064920932810539012096525109206191128456878880186369579738733851561398295153877268050245112415046732008174496406928720552086046636111217394888523871523560155477009389137558982125205468102616871674586736878195886206632592703007415321673588090386608479873700922852144502171909251936714365483335983053390417985337317652541905870024930938668597591742364057329022216402904082529385123704919756719842451458918490362830797856653415429777974317695813570924547193091167206470841534274326847367999318595219352201502959728393521459665094891581649195779341870958927301616416221660741269076033666220429975231122142777011743443657261955770692623005439987609497296313272497497734023279194490132769958660868790485077504452848161677264731554855480382365455854824197097829311771783711240773261164902759611574818470562681369706733486999420023473649539756241687910938612598845208226883448226023967268295536839514406036975211171001704947250760894371617596309067181050287040307457392018341608362482389634716834210473804460851448104793453203554646288216388150028854559112764361685089556893622944392011043766995189812103349999255891462772874148588320813815801834951324714336840704507484594770779353501218098609485255818604022615750577420191208797917595715780485391636942706066916729056577934293076241779448571951456884036123516425442013379797135208352173069226122125386253847879041350284214012559973087420587560235419014473541603974542648242831973898540134106374082494140429539847414451495385983740840831504304125056157140987318709293949941262183586998920356149925203682886356218981980413537289864309743973051306730582849653862288826322301036872327403384966213151640435732623011546548374443551957400467055145291901584081498126947752357983180054126580989545421487270093646508970952200934200724892135245155438876196140221845786023599225234656709699206191839442836519950502634463362500691848225365576811092479395605392285207082437330347599227454133746546621834027013383305080785134693987211124458777763743193648977712248373220480940273864314178413424668131645234758482857848963969620391737675064605755441702284506832652328524250901789929052034368995938448161068821225207630707846702642309992297242520439819504490529152535863968835447847452371145032063665243031577135855755193501143591576882756764384854335121105218564729040714698395191386759600178228671096312893130411027913779066832713603604207168847487690241101353627991904053345354962234205098021383263261264779851599163179810788706278281353263134673746602438440137217103084036208646132064255714286995844561727575429817403104592886751224637699030912234733064507148382251912126975238799904466207397598996097990087843401954267010683172755831404458000728513850341915592817588363586434716120436899193644540172586812009180510106289178512225311449632030905505058695023155966703155671933565158958691683509083286528868157416298126960494292121728005873716142741060630538210355645046333276994375005162759163872792772167562222911608113620457114344743892845462116314580680186282257604692213180281365452882238325461344392451899092869654830317618639345887587261895953754040107775041388121425245591230897702988159319482502735144883688625071374876626965591769524317804212211938181140590035757148307182306496233222417428965923985333219843189702917429741726440868107746253382137560302175336969412016010380247208147239990665555463806579456708787364433463534336282727062066622353897260505482023283059035977980983414182916703324268211755892921696741948405170628395006652152654302190215550911008562045487366255634837089241095072125268952178312568605650160987347848380169484839936557466265211735410627641226990069235600174052419298576722863028875602123185208057463142412224145906262023281496080461362765710509317179582464531663722476982708842615066985142037514213906816066928449508232516438508552399715719836556236026698455822407635586681883281801930151556695800992883462957761367392358794992561730053623500282602214611666563361049665616431095421695482961460822179522392066135576832981810172101697502818351411738250407863488524256034715923581898864032418174535978362982799286729465903783848300674099753625422293358295014220189637756354608537111376843832246128162607923735221270436879901425568490967179370147216392580217048776887009417868933841551768235264346866305198162787183357206329744347073512518581803852909244254967100501555602856650218311637660906398937689231988368374596636096662915522202929705538741297969940406003611635018224680426360063784863342782315439035673793429523755452639269455895766004219355981324398159789393374484347115620635558742074169355710475982037710073003807817762793192709485424817097676734868336181721726071092859954840841996877137156399187833579173293992146351644642826634812932797911293259956314474383377844594649029569833930617929876973889326302722687586479741329486004750044291321787968793798716747617131757585180400504986734961588922546728790487315476743364229942342094306136123513360783888992269255546692561768237502755953939491941345879224073302001675774791526979198696408453806839544435230557725989075390782552987265192920459793973147717113677430517446892630659177715189212111405609682276336515345840840041119825477975487888084308255425613870043214905418865777815349262054616418684897618124777767003430712096816383471832524007934974692320167675125731474420831017630247648362160345744038884297516982201510178543655962701121041260365209176970349280540462251539142553996494652716041886441951210408024408115479687260578570395501896203516196938207044628891966283352664109988871420722618439490170673670557140601251533839301848447888964016980068213345381135505257889117863691550470723133760973590579698847399749392110988935081243541791710214144701766990317853916662090481534003629030674404493084884109519128181097445520713136970522583707362418474238335543675158163282744684262842898426879146828138269979793811467457764647776466680050179201684510492540309544209401135804251725380506075364701184984957351668742054274480649113360881289829641555951263074621651515573868742129217569751812921015659491422130863675736774659500565015810975646751570565587669126043384715700657152531775023331628146024344349762526738938376352537365327463717228452266116318754614056210332309274553554817375277145277091327962975532202472064886935414318367657589075366904661746606497430578060653425118948802582542345991778968635973354817016221506281597275405914802518190606767699550614540752983990777512077786722881776792486302100698975725927428631876725680495068257796920229582319558212748274087126979288142506481684141985275252473958478540291041897964894124591343878178797873242998752203381086830319279097033554925375561598750352630986582446073482340191789235061103715023033871393614443907874334534980448643534546272492839235690540719278027098283421063678243285400141301110612832614327859985180945277258205530952783668153574749429443336039814013485711183201500703749069603431221864614364208979280678747655908492994022873591944981745871786510319583540394439866822419650086743086324242859354568377748258248029297070141070244408173530522590081198153613054449052960036561477564027502258444710972588528180573399267325380573379722585644757064581677035375719590896139322674048767113012139617544955767010907481343116926285933655518410640719826238782570539778344937954321243351847446606353055443541238912452040092096996725371605849998868892049233288698052715609710855450039078015746662376660475485545087349264293597764906635146760043858251214692898023234614603991153767051449655421715990084300617089584267738489379207474998576390219187518701298826976891149923409848608181378508949844216017264276032774209043578244072056618008320700617525079828575517514128970189789054603224547147427128556134824681220546959657002348718627585982585989170983164684911475224064037801441291644511179388338524741956194044288848038072601123638183602718683279089379327319089840162589401952391768215539409689112004129362088860940934553854596434615567104948350076760354371363628865257353444906866218976833880286131873017659346478404253962052912152794034381392102803675714751957989396654532932428301223863658824120969077546586725271611851734077299863243754720397969380958687188882701379196861872219979783292511044192979556272495273824073627667761504547072230333800826341023894619636689357973374768472286684202734533603714903842199992053549254705680951285788337415482143449612027356208583497654884343706114497781158342224901035645611248545232216544605592822248704559173146756978356969412401926554957571470080829364322465139176305398824140578637402669539049775779678131649570360462506509586122312893941778481764430783716114456097247099718817074688636392863685065586917017720066363505885701655899283500248969004781020081948552884842704712811429156233382105750735819046385631927891274620237728552968038093789041866538749259691773791043090057121234487948402151468225754089461579620892250783509395515277649560645885421241637691393405179089863873945410893332530704827276130319948262639847780753748374571831099032098953958495473253720493576898413407638434009016504602485418786506110171611889503674653243872537390296084377048398629198248576956505123917129667336601502902658661176379426456993739266049067480714601095832266484961408743417639889836284849439917355092891072676204174057795346213425217116397567976694863264718643670711779072249022627860828849537134175202505086155144324293703757116293106727967149279959820149237279131353212858806987302196075785088578345050778215506163358004897964368910836563891378110677662343065023741045820245835164041885985127840188486081045838578894358809697986887925227417264440087686554645125271056636148704821718848197221167193750670090891403235348443657210210792972722316454740675449727315094576448506176832675238340184277177428041324440626429062250438452780579907055494885890972953851584270546859245511133510628229026809276168658646846831880925884661818673176895249492411666268403653179020381181423841130549183270796491284911092860539052300289401854190824895703456400194936524305170128976228595603850504627479647100314230229894365554026102021222611472175579674967599403778017049198901318427473091052380485873104204720471881049460873228128806305568106594171878660465911383971075882838097541342988033839546556073274311442474450508492935025335146456228828660169271223087795682248758880353477426734735744387541429655699564621665657900030799129432157805511904433854148601202880320696536133326310380036599583663788784471485611569022788910857522436374823099255713437542744530331649268631805626224731440891371320647376237912198677247795155616239186571079658828494565378612514115150235364096733897286025354873112571796985637794328090078645350435954093654835477803522890980889008032864322438302040603131228831382548418780820816262504135055176450718365684812441776990153420707512278163608213282760103073544467587842760898949291802447790137057840496536987517423242093944901820247982738946523209552972432962446499656348054444474964762235213201023722986758291020061352816684415286865733891641053848714605146572063849999012513049537829621723380290911168637859538211566397779383703028787223506949079663245158578004777641092450044353475872809424096379258208460310653539292907550963694867114617851535346199240606777003159626996258660633509225466869341063529045214810573745944805058956866673930102291712142325697879693188363497924167738268912615298568782465608702576227169704778005441694700466871210312090851057004042219117040918702778872013620014729706392382645246886159237401047783964743291621695849792858263392577666495490715822143690961286670787244549736538287855538205060479595424003958431539225315621673538080196582914036736800789720401711068191600764139963504607920128103378345862625113916153555484217683260598445845436718315461896512649279053188051403272283709875238141113126081129544251727146777929179794267734028750008515930036249508233238919679718846025475775956372280000546710634968690588157012479943002673902966372319468350102259400205441704410808598949677810762136451970819625211136803066146824140824201851024075254269205459478681236156894459347815851039785378578349853904251972741488871330117895369449551466814277123576878229080749876214584496587441196028797049784439397228757157086741939550072384117002293450119941666490169683348851594673083248352368508373544355635146359068728964228365030430854291382419438399047291491085678637912259670232735262614213400242295220687757800932741916328195130068239261432800412483518112994224022491756880793150866525322744024282010387804212351430493248498830392429451089932292712267482318336148410323855996122112707287228950868451404956812758406271202582101799961891937109793539586123640187996578467041318110637942211783232119405439765469789927612173461835698090827413258701988673225965243647890936140328628625633852475615245677889800906486242707840728801740835385244473275492858564654633411437533101025456757242451457292813149048402533680158426558485435176278569664220595822239243352428314442701508477425185313623262397551468806363364633886452054758724007679849946386508507642286948872346563792243673977166164716446210930740411306987322808748146406835328167333591436697612315085898923866291857598174331424248054480713795348600667336550089172571001554030399228375879938250390529767148388724722308102080703055902666618006616312048505544462260876688001852364995935346011597919803187122635556915811939817617225571178694198394195102179795782910343156012942862600070137593672648569225288237577559069620611463944119574116157437388595162355361700756356892101018436313862915864621751741433071312946600183093845737760776352920692992136609286971940476077711556239358094411447634334029077413969075156596516455871609857793966019362119059980851669014171087200055666297130349541068937880483562667727718859131540813832459208998904543296009697718661029850037440380250728040495767878178676659790776097621594028310863490242018076899962405584945427742730688146800221027932540314679144067413870979352543481991127613228197366580558052779098684960864246504217893925028330344558674925697538500901387410186507018429458272264961723230162594684337544894027994059241725856383732596138340279660371896357119164088011041255489687845976479868648152084212436939617806849597743821785441738247086052956309522585714259633928110755452096883595314235012104591159513025222613495884147163642402847760878829737964692118140520530290453079558767066001416658978044942086673813391684583621805898463328448888598751867369200603571252514456150317538169793780808268165124756881522831984733643855001512758605832557620557520211574299626838186402921824996549816452107624688117141630553597058472885711831190838544711596816010165172285410138961462854907444751816609977946546646805248064834238302516088488431987872785875420676884861344203802529034275915094099199361931629616374399898694457938778295230396669073263136864420557283812616557069457633727482928687407067091054345932035076164224621025059764578651494686952621856266842486277829802864238965630190782267604114839347235049317629522615283139303805972009809685268563019381725812307629309127589417014628326073208440738768253712894616456787775238623298342160454018359306664527463371320305665919623314643726382587433670553492552202104765922743790885370619654808328505590605139180322263242258935655408215671364402593225342335324230104348345867075785389107729389868676797418824268683190544511284464658060709478684275057521861061162785089907051842193205100480803318690659433542671820872346146338283918989718640581417509842270781801074324713233954827498738777768191421100701280262794715278232389917766003091924938185926318275688309778641977367221066195231958881356108678976779320972375538628365727308663823656198149475960482128013635615092413987157291909695938111190755173815271340334362402478091051988521671083919167872102500877418862687939604612038678258948459856818517615045549190577181523627912559542620713716053668260371623017010010537536147094306618093344857072995529780196287833481688477725446636608683964010461254567994261468772585570658306418797033456445396254679431273822597776077580775961328085310467728663219083924188820002031629037144315226322410167609889426756276614117118237708767300583432506949545769781221530686815871615569731740939811701788498529529339120046119676357652551872946979053719621479659643095305257891398583210996960038794218265519732392297701975171332810787546255892947461710348015061202429166943459562231756826774228110024327895139918890624723009364522277767969998875298993183204398061121942090373697607145129468086675358957351479432060805700811305160726487942748421816070328703139424107449121497233688769316334442918625031129409008115816343073814491019296080069286006399405178136099157176089808865983632277054879424219130943687793457778566114773566074905102404165762735073424075052627572840208274589054475905755919746927780537071653418181764800401481507611684692309617341692662358694999609190087054426144111683937062145572420335968446409151107663739133669369770744499978767729327808291233376135852029886896042738203991248152194235276963120144838251068719960498694488993910016533519302097974229654891669028071262838122291068756962804859805968214785919805942638748749234773997522455440051082044611681779522812650319633073403359920252150195025429668680708154959978833034696817621128994614676528509263264468709906610742405458581576144417395164994314042401330268623319394083674201182593490751606536844049372424182360038884741244499920737121352597655810844274183571734140771307385147277828834437389587850083713768362708743769170098239227462903950425733130892466225206320793860671186040689754720352791876583605393396603409272925155313156417970761030676368866589375976262286620352003741876146700667341978796753382697216954633417297394236212693992384792333867874223456906928900996393561582754940600549303789246649763293716272128186202277748818635568911043263459751898178405747899298479778807471189924270931635484158602012793458548731843705627879294221027687333359057025457384569091060582045678024017280180970411694709729389810381706950077943364422620067037706335595272632733836502843487804240356054264529533308317435841444255768002169380805535118358872324159335013075996414611587919458475532766800536527607158805813935450429709148514749716429978883993392680719683438057312218491920578863817021074796282294061360765027061666721437371874805860797221061580157651822498434081144944839340482069475536498700568077384156589721641085806418776008379884431119116560553432767734044484663606958931197047821714544148084553550843905762862178557229403836853631076301970963190082914844365734526623822371661729498998313230069918387757802412818570393930856192283726775841894325128185572101977759857883189653984417672494066807411309558877603854967771843151695823214690274183482647466360855774023350507096207185380541771062511969117744051302532323792049524279304255905320017776723552119259563809235273981949837871749265399329601985162278301838510236190729762311645457164263316788723201220864351891328500152356876963457162103546365374624884021793753311420229247073596967935050731083148424249621694026820495513894652079257091470599231709080647832688055866067422737653334819069032407551330323631266526777128565550895244746196094410762999739350791769315498136450280925859969158382620809431169960086523680469210711691791888111350513233493785679333915928600375333999953862640825297896798528872576118969472969981644007783963059400734531658055973562259210880063790123967048371346762467391877724925314524940053449145979818071793378779440598647885303247140029377409706588379928524199699636544810638556627756350788085086797880794769715777124047117273163228423957032992132700602991399166593328812233749130347664009941742018487001043261657765345835234568309881276424890682635606643697549271710294727084622839718436361884075764856608097821773132392229500285023768837058208967602751470123194724602366796075961823586544658793375627542184561697941246152446354893886121311729421920507548989226859281214006387356684078679968035507714093987283339806963166245315310943815387740771071832530525282907111682289786409867187061625636074640616537715695840787641924219655030920362990346180210477930536283477731470873041162682457571615801703145321433166374239561595769838554058303023796729678614878740783205787849298467486821634128274065507959735301740874515443099571277381533094128057368706533984045406913255821149287076915411847515176367301566413167717661439083442841112056048729052602459380039313091304213276471752989420333149864396126097599005051866254949281713652357753088223012491307713890635350754834615145322310972125149179558413509695614650356945941934309817697328174636437309219014884617496963033336408125471033620907595435322095399167403094678066142036033362185129142966428844169807953813790778027381574135399484110570388718353750495830191206392382160666544080671964450692872022798417909371608672523845564500914270701541583168635172141057446932511758947596132685869032988007932959459758600088212478730770109609406056899329724813069766608354937664572100561483640112082299827402290016298332883850074462941107259423102735417190899644946439524559510023761570320602605835467592810339642697308345163846851678621632111357302955676581707482592258445791332886161982723406858970044397517368749359427850702156255262716695942744525766452571521983667993184924012801524683225761370538682466005180140007761896245091419186834822307752278804200244557883108285258796590802809975159817437757977934070993796896478735334816725981571597025182038183392644029598719741094870444370145710307467057687985949430219260571465152553870648496493260028967111582135581570318340037536872778916487875352799435667904835987640594505248297601224810435038851366860754218225491767719640157015241138382226219521160007575893439105877032807119168092849783012925724385498064831945450637657338583863679481215763082212931492500737453110860950986559572990119144821523740293033465682800811620077709104728173043063866116606133042150792754418213506377752933748225553178767716384487691869183444594402203436403832364106514589258438370056710911632345180261140221198818432080401750253765491778136819858583785199851681825699856248823310723779694613276901214498580154574623536138763120560196142092377035574450135645372585850068284269354407359847278810990954431053142903396964725997144151008373720378379486921721009135207157931859414380817075363602991544371994435914254052218570796427222344091780365902175879202961769254697316643230517927976972296897116201839852849376045645952918223543042569816938614963671433119276758053578662522328537821549563828471356706111551184391147963691725330020158255446524957257903351797658049232592452405286157396789289146041997741143669889833246281338797076386070661565904888479417885050377231879931022285443332968575663612659364432180785822609189222108174186558045677308508187298433112105800574110121472769873560062904350615058455687212499125993896440579277963980362821345575733669844548102830308187620608446001786750099705785411321905903378698052176127789656775872385559571986808415858295468214638939541030462463488971914459860889539599260378617280083150423206035893336399005750820343985097979129127604940306570563336116839907186392506141602056492246822793642540912173437781256993992500103872459191580681458919202360132066008303556548985897126834818213908417578146667069372301024988201518696995526731952574120834741916615872311228817878037753058460272024601301215486265933289931385443683651929299874447941362970922049519587583732785222494673052714986379077494847528392859213947912364322178402667898363897014153529147600390851012205573005851496816724826946323693895717594691806829583705510704825413393599080471915755006147674498538033285789548697689232598327172874065684920631233696531894847877111614979586425260506574630120075809258873960551643198743325208253506514625669445742109964504455246386875599846650800222532679128668330713817905371579628739968162471225593316209063363661137832826769141411283724316069828911860075878444945176125636654799035876778704725085668968293883955307617653502875143627956293393009981339252509146961545170525602873851051107430877630991450847308881916141953801913038331164257972079165028532387797785988414030192620006835650906224483169044214253843194396201935286180877656695496073274616336034893601823544744627172933231176706358897660828084612403656046102137812014501829237736137288331347786141385990081510240899781267579507599012152766638211730596112637112196156986212372755062259837936342417791037409226285173262768978917752649030759904196897465816172566951708545718267492366900322621281081139933975499373539552086010886132405976921537172063853613652558293282374443128944684638097773615622463553394464598790836313476072548413596544897236003681351176280201009148862138203415285203396092797240928091989577509319996475258492849775985550772301723566157494177220212705658144817143336860936965850874589723075655623030415984294112261412784105844163477323643845691590947263058780960547599301406389047698629090964987447360765802467577431239741009742644880547039364090379177081615178483090327312773666373900171219883147683301470976854739176933834339922399631808642177903088867231749175948196121253768034771092178958719024282105851670943855962486281763693733051660439111373302339365690078319055063164103391857061826271148603704566967249266099263020539566460318697913988988888348775076510447425600157492049988960450107541973847420760554499611163954054924483644615376844845503627530925924403312384231070616489353771771112084532455111982564794874067169231958421519588199386760924092338466053046946604308522666066273385470671214290149544944237582546570607835238692062397574818922895874186316597337273534894429023986597848525679651428251401721374764585015478646493871149610668966579062913669455572003678770572811997811750128439028025259026437113612482521091545297238270021552341532607706377026722002075313053258612194328312315806043797331787905684838274000085581683615114561831623591393600385027140221012671632593587454549001500596006891364482881987031246271335742260129180554732452364440199877076311804517083185187760787599649370876429654834221697266022509633127898584914501840483538920713027579474594906007209950268543201048427223265615109898820050817342350510279206621470643340885498615203982410972127056825228213767453699898520505106519512665529772401492948171664275647343311007962567450058295021330282354540858000702879438694345059692732994687515057010406309460105531004015409611746006468722030269210957298348541438853409695328480879265084004271078791656930914233103155287451114158613463706116594326648656592052357980249695686976559251826839274685017379489194962943386180360559754000001025323279637832322955300282935623323132958320782376267395287171437578275853497142221669531947374885545591461510738440563920198032112416006546669880046509443942791851403377515070424001494461119177321575431559438909736062763117574010489717965309668389597135731898888157045308492345045154500466877443338967444555967744460934873320890988695660376155720396250213033645524155849859060045249979326612557301331827264852389734086797421979458914503552114873172660080486003271650125090183283402663457742506048971436267026834433538193590666667848445192992707944392610136677415111060311291797760103712030231259297015991732051759494898352178844050561068942999006961627603037271921915658999561117764828452903398821737448993431721683439760744310218800142751928283221093958062613253502270335829556263561136151075618577451362918542114313132306239485405761093416036850281658790569813900119496726641502984835034699868924902508141718360815348040652979758514951132575093768072599141490400823821867196214185637430575277215542290207720827660087014199147501356352060392027441417667547886371803223762675100779044169016049727096190862981360308684720746080217096681627830508377583757069287331271678564737557233987979659215600904760028816984577264753766828727624299068660728109133609454411458112546783032094414660070319471141136309347370209253641406805905984182063287680159705441341337552488900273865089897465290101881529143369665948059382049265770830386269998761696616217256282234449383087590157548757661658378817990454522249621476467330396399091907924380991168094465497184717929487667148906849762345506981568375989093148425394920495373012902266194536257560120380524851367969534448104427969903943205747031239516018917883524840535093407859270034693503797774692957435139937722326383441942930121690359179293026242990839658261272599253784234804994973470971627039339205376274576226456532687334318502535838630295472550984432854300286120531594255851187913379849394487614788546288285081363290332602580970963488749692207401889822015692759236717827181082645842165361710737570153759936022108420695409783383976663072777988450834621117232528629138898379917896563518112048414383577480202165074763400582240973678449954161908778517093714191612829788625347659640596152669485636333272635069983743155028739857356390510335501843363446547211824436413152905274559092454961387176598325670450905108893171413240559929277870532775049112483975772205642299043747198364349701308409769435804151610227799125427887368984786627427186114103209663968075088924386321456384074215914826094428629893142774485869171144556988277395891308859478224259173210161087314853853927426877833993948499526648527644552742202607071010267622364684248578395463370247745366569601984293938675716016673944926796180179929531476313888907925480156361042493794624926241639126450199601211126655612268228398558210471853455976305446627819302627562400275020372876111752621262612518721563509687459967368796127664837512184287465676381796683752838597323571351665710870218310163229997552863287756054143136457878560759284609179721685517990771386713883669216452701954091542748440293712553216006911213153925269843312570139540247896925164213744215835034276929047741761091565994309889349254197886542489335810115329524306909858708658287568967316482971069502757127689036927443082231598843015076407774815885834473324954423045840381031555492374208360808907261384053598119329174044680438053433679696547969514395628363948588445567604558812853669245693399511842555622942482759994938340074903163880487046021792882400583020983554614861447784439620274555579412262150189562261816232182154461306079867373437710287301330207284927776813794242390510302730567483898730707252212552579987027229736192067912126149501198145573017861995863832102306236966817651452188248707573432741685345198570155545881926240192401270639669210029805879129343274970653337806985499632643865202224949563045376475330372001430929606333249570915533191374603354082012220786879106679050583096677517631371338720447360718215600438624976771453521507846490027455715555981178842001380551554083334251291369117812748704301222060180498157435764863666034073637329679210836409714292557227291243872403767026876154837556189653392960447476763110760255935146442299656434135234521576655594104781781420439108902015790851666316770148239540510905601071061713416726596862807937804588671484626155606870252631508777533096953994267634431045804679953018900638093186458940767356445420570386335836664781031612446414794865276261162044605116036572020968116518799190143699918854248288502584642870409185164513875008072379190283317123711953017803705920635847037585345472831227471859279221631346718547094676938135985595626095370817060542072445676361125042959505346149264635431183838666646878070923296771736362472688537340041006202441975542485033397998411650838636485784050070940118779761954159783031436734509021358109782116270970696077539049066212633893801163569150503369533463523516226288817640679001412207351545555657275967917549798474965984110860690235788977989977084016346002311457850669637761586302601240238892475417400934586127738876266959015440378683804584577502183610245549083219756840297282091521523700519509143232671538304380870262978636105589865300567094654020029948305159977954635416208190891876114222684472836674520597411816702520542766260855997970427771006948870008378715366052400996025011307856509926929763270668149424417558660817695629190371387274899107578125420358633423251645940453508742009466718577386727177195842498199002440530153191243696634241945943664197138187516252623995571313314866126051835783943598497384856246126023598161500962154657661348197786590831235997891312028772176884800736688421617147560928748956557318512590889462626400229288484451653816403748411962828737043937109515339297698839333687018322716094099620349576977371124608872720170761440814600976641152361013658321867386897449437135075142102717061146275897694716257762322793472809030278707978434276305143456491037771453104479999673472123559383715823945958942894576566544275061022990859357770430630541661543396143632288454977332320525742252831828334903406474858570468584105684306367533880137694830023665501180649912425216239136257725374029428055908435198242159376270259613472644186440200529636579838807810435723246802927844448222596735753982766305900141996333188080544807667220870560377319081843170864396788032489623865895072430872376164511308472955066022614726989577414546680397299543967875571863158359705499272583405592689912420919301733161728824716815144658923888138127669098907538731257526154171794628685349158335610387935976121076930462115174809503026191485057386613889226879619774187356897683564070115279261989142408505979496256071971424470787047495617179683734044954230361989546281676244626349598614928703836432020808958484689392647772426974329208235896129932201322077322562618906039136944901786910550596107994075666811364384796213027073608090276873871591064272251897507537323202724321781778660416419658728911740561868772274639534278705046761590451294440358706942667277276145182273628767494901810924799269720476050352763476663959850663560163562703559589387444769376977107528388466011674359845147167614322293741689672105767161465946966939670402019637765005931048311390850520839405896911798765733670938597767441374292735863519094660486701818359922887076793492727283558177414496035860268961084001963810157305804713566062701797322596651014957065834684697405037030463351701720418752467651910119394098011015902422254703233378537458932117070325335292717118563738370865092870523268078479227568234092198507807203485011253715816385673127244454034096074108036340333610240356806603450918378113744257693364722000861600596476587816997523103128192161854973293255214781793208381740216232720311530720812525915925727060074228381949547002797356196008481999327410093410059368479233969985190360287377715496210590869185048413674446304554613216267365415757521033680990221282044590167641831498944415795411774186251649588657718977191497779467610887507323313666957233274050219735728616402958851707278401235163107881487074962567840058279645382327543503363883938543013339650009373671107957645759499325008120352256810988795213907988846638441860189292092269269323009667371787837605319705820103719641871749570811052326175409053440050262102926421301149137138083351657651667576675597119547325429233207996230840629174078871158730148332447068148681081816294067259619073413890445113958973660916688753314878663136677187346012190182414742780301900490369484833841044495279285797841152053895318685249872455536707569646861964128867721134820370583506272490482163260490235842019153520685963608171470356618246637155624114253180996305345278424668270199831681152550820839263090762311030274620208021959695505800850311277840862967911432267819277002182453876605288538739528251205176600580371119541837086809838848301290027306070916337217196230388653547860627267220902169804428380730040550083475032253497016861173956802618861422391501100785019973891994384753777667549049685256708827121797382317977875046038802957954726985859499313558370329256882242900014199084054336141192508685310214733104346383362441067671535204621674687364964181956458121051109366039456926837542803628088704820143174680823360620356775063191349490362766147067363526507538744207381708340862826197803907933733803172109205016174431731920833584151073263863334041317260401196989117561637688406043901124657350603872118793395011380162229156740897871767129670372146106167093854384341933801876626762925967399650828884889514763293882597857769972131072785121428033846640729323581610331267118685406942146944366537618081413432972629269365574279214329237530021247864624058318860857098198558079449674782221820756966291012370656201543339016997260960092648230019855153095355453628065522731715993676706673365129107136926098869249844371866680315971178620861007487755593581228140768311712816310160934871484991798993216952847605885677696848515811177718599670224287842491564693961876430984407223425521360600168155941815186237900236462178302333754371660602419230198772765871075497668445304185822861820337314433775140284566011197548592934290646371993165237013894035484477714099386030319067820368563249116390955978995975698644981588580513193161473888961582116319461343484453022145388766084050258018610851504256501634386088576734842200040309929815840017552386214559983918324688477794734918480342516892220094117939553416027881566008569051103573415428111645168482036314136589966881095935219522225735663301976547630189842151920634567064572872065267756896966106352192661648118354182828819064477196196093749027206547537775340547848573672536254451132743004035319497261378851543453560060313009772718259460739864045591473051419543871368496454075346209348888757430490180159144976519639570593192961357273057785878016038284215372808871015048051836219419894793398254192488034583745234668174742724598038081622668325969641571256980376518481105486500143084733314044484879391910201113732091109514535955505164883528730850399275622697829771471323935167738775272105407174151447995392924089025635580483369134864826413724515622279496101001805759665780260262623624994573454976772422258306880980443889743952824223606800398523372223608007301149662196452280483118259541056382577626327983961517917286045866532620704748997370657833905506452864014973473007202229698759588638643629195039980999571239785544560930227800862738656446009818076582537621793412966934746377441506582993219741650852340435683723547624350873980551511397400926288668003781578851634861037531941777904403352457882757381018774902200572686284977718834671296125168662735365794479682435812564248977223410185319430277391527472724991102880989926660690483380326028701273609816997578482186897774705504305364671053954062164817955404346708996948868546958267655207115815456039969084007726956060128031410055119084973230795266063296697872638146739623302393278478435692279535966412101554230051803472065351009075941111681596072579992758958895802519567690391212347969466057679930460082903601397659249525692573224312651910727226096239319584512526462169498761155477909155202514100458083704433869529118140594655960251173457039824265410613590630796413247110518254181040757493516326021003211691326032433542045886572502294802234364216656674335249830207829755570811619261740056158078874800180041346704598388403303429596228081749681165577656414712235294983118708326604985834702612527081489919333360373899115930360418977090620080983380542833238537869187523214806232083057532779653649095427423475993575998584908912338948721928884699328646319349717697213769680539632587178476299974460383229915187653632251937927752861850761019096348257795270132989813018209189471296741077133730282638126790852233643636830826079576149358310387410399842677446430860425128373317897824723041854350824325603097616083938748892647023543135449287460832752471947183141246273030900961429985820479302180952083230580362753188956362666817467130709955276099597846082083694572012231419284934756541574490894517173190967270749503722657121963392240628221171148653916882059559679663216708608845576906343104183273168280772401635064920387977322420424486303816763826297855532057781364161825266727572303612718088792402975716516979711606546935753110600700924864123092201121499387299129085969598678297877344419343440551693323404607156635433006286260671613611386753340408760977308758907399578513922744437698893372569127327572833324518708069267394645600644582218157702952259450638117069638629761283800978751801821028791754056500712842996699142088679144013369046801144093020543838631243602078055113623115696610433175645093865655976392153846507265916431468141580737594892576655603786604246576286516965836740562507898044672314292637479528910796092456560212670464409675729475996957974803899732872959940239119039559585487810704674420583258728146577252197392153970714953508222803194542874661816690641196099823804626184092798001260461976242223382870015736901688493129070520890757844473127125044569979685285857700778080513291541706046667849632192939119039660633309273537395906018942754353168443148314663689901610477709594567223658650621380861626044538217747430120330061719792984225744415346767994278851277234109015020160940177234360193161388801222968936353299726149589827452466372211323713115186446371920408098313018213376751435337741805129495109738615661916997433474202364370134688267906972056167458473720648960862891629223463222263191302254289010706536168268253546877828363271451309758267280918377200801292351364006279021246632013896673136713371193212862242106363990518975683071991100620099941292127129205933880648411682372841879664488031780843039274030136891327491973004411149482057537296137335634651293689506652188288049623288431652398620677700656185428790000106122613755703452653734638755529640452744526062762849057179001968480163979459240363589789046846870526014167902654955249488473140859647090048189343271170333108760865980832277514594740240332146279195768414776986012823200391936370244749203619474578363335443217945817908622379994712411346458796229267391346130187059153161087796885742203762255050684344997326788202780735532223407495840077049594501023111140652891194131838954714639720625185307641103410677851753923916323924359193656443213699361156526355788500097960014757613145344005633763069292836552991739918189831992455971454249216887523893552389656703095770433731455917665374615078922851697867387714090531357338406033920743309142410335286837340764697578104830910846763148104698464431203344728025214092430275618974779625696225732731689433200591592454074210719737125163601785890940621080369135348857012404340596778086189658487055102967441801044464105679667850589267165824714475383952434537106867274191208179632337063473620924078924592088569030340119716870311212583075798336940294161393867956987261876292025216549382691749673686084751249810561691715470889414722152356779088982013285494278537506806660320568332742847450646292028073768938173767824629058949060249831747318427217793639964946469978457046736326416800473644619989334951768574209594693483452767049377756239866216918318267346921099173223462054776702151217733281890140182609421935856591722496882466098438845311840717701041031751315796455523304115809737482702708341179584515595958198224902277805056082861574772227550991623157061642003709554266299073342235921295550563609731822508678878435912757143237911653109554574963553742287348532963357053551077115256407853586356131061368973254590288332463848011671100033327670830146425725180891811276848620441508590481229790449110511022165589858447406701427710563003728343414218642702262943277461388542273254741122090606927982138745956263308026020904805969763873303174275517228213233157726239910128757785644815891940797589860574034352107911076894343549308545761744897429049085541802772083395276400493111846173775898482675668518608147536670893888174008980005698597824990700284938535667955500593426793523609870151564786242558826028379897824519859588778822503315127368920229319561609354193037523642429270517834018321617425362493618081308081737271915703622000678789351045535201628694733533001275753630704980106174262643153152460637800332478942014143149269826839780624175443509062219574414853907093578345259282013877625802377333056279440110644903206406458098833407892052077752564293883489156386908789032125680081810842825511794773575079651499040946729689374609979823020698192415730329546435050451188878987888722745522963809435331559281960573703275802139666606252744069179389613815119560468599281442118161938244460478669429509181396974819183295592085372921539682723803295798345402930638050899620465326582132747040908679548894907329540945579506643592843550418949831448305019915128111462694420588915909106839205193257244482105262769816433004197832175777493773620580629641166360533358029801362037490023121727875926040978255887842034731397007143571264042437217880341522942979513210864492879525130837709069476001291257951467794917979236776647398308480688041171824121702036224024340922546160620639295129170349891724769637788470617251203132585904367046440113284850342378351849444314928472497705862823070089653591028578600256281389475160057711408649033189001479412110213064868538347074455946103433874398644148869858316611863270136801215938843856491227760673888432503166739816489194551817519583734833996521546826602975142801329191449907755974720637442506460007720844247280749740953445869279401855157988321937858713443206646415437225926916109952467092160686932793991260309220396987476068271491479424703344274833237315407303323307448088557838873607460544364470217420585299069717483856997765044343779318657986562567880110276496084653173659420474738734072249788467244047090379710081774224470061722795433106015939063818159163038392789448025746871813757439093371797018703247127883882318024613780431629654529655549067131470414620658143195343161282228665287117928738704468251033278220498502104654527853961916141767408969031938678478896827842066611226791113150402757717418536072077078110815882519867680507460371389295285446558954277562182741041215635629591634669416915774893864956870063542705575087234374344721121149040203162496175604830627824074326347606952533222039810267762320448874334127030331585347501016794201539716527646026465785959172015372492408531711943889502815892040099099163526719101233915905457824908317064578779231623272264957662722236464104984730198763102909730546732872741508750771351077211106642462307438321183369491253027788870860969684710477921275832164432851318611474645793252831940123108125388242731677763423460447328244711587473533665397812309351338193782271227056147991675592388874543366173714627245482899908141301055336120952184243298054698804004874143237586156928721529679349688738425924218179293366702286617012722010938717637685861319476875702601811082289496021502716401237475605746292893160533379967670711015503796151034205510265259812257641419099657588521322125042577572227661840732799019852019904649652145637836560114291771080611705797577121376547540796198259152485158464792213609026457554416000839484139729715089779807270664647558551639013185307118697946443077580196390021131775204386564905934251611552215484523217374825872245271481850397834506833931820563238743984951063135353488397222646352804494869597283659983988291986550628731691846687138820223731038638871120374122313915510836537349542734432106496399058985470530429478106582038573119585415290693627348294694926971901798389351768191348568523139776205652910084966491992626820566264242286435991701126009686966038131202830833449938301706701589731196586031050984308604394041272268472832799289122866326479575406239610697223954959145321458849725052583677124119185440739805071671753488160236806598523656748144689707422530832352390294162117169594564336318532482118805235614884322085191683230587431445694467019912949972254958767594580689527550310170758470320379955255033394029136424311647529176674791334504768082111770696282222344804758665208722981047118776099109168494161435044213816596505900000144905522011382870860149026635633837065370228845971605190763642529058241758966836128695735629458623065411084609807584394181890555893803414539740871422924161002078872613785237573794884749122790424043354948950118564685686632562617516317881536129312615505850467385863141169593213052583634289533445629804769176493923500984840309231520246666295188248248929193844516938145338181613024384825503603393781794566340862053604167159630320841713364906554099059525858660034038987885838029240188354500776384156451568645494216951391593259354476415147360757591380210467502458877849499637787497795675279086307283902906197226534967696102780811373483581300262014805987110547366262927148268761666719746731510336041611010759710846239060043660556893790537745369605172074240242444206558399319687173544536848586300132741920979113831422471105019819378459961424539797180109556533327586548210892566911081095071845731764618696979305094229754311336344249371717063229741917487625944210124477003560957487152954864177162762194071604074102450038086743076318611460809756141524596895229020609098515407834486666945828293670746425387548980651423157459346379032127288001490802899721104149051768863796923869706959811780509640324911763607204141903329314834922444533144932548619044247087630337955211926948510323414431933963664545035161424110716028801074803306899771810639448160549375583467704190050697306788695149604245174567110082714575534444639061041481374014183903060422691176836045940272168635077126311519339176144223125927437073925179524941112816169531390478392604584006127241977368833826924575900765030258854765443845355595924605582697272200201680765359229003496584320984373193663381786928091173686870170740857775926453633979825930422410093464303359681663858132049572108900317749865034895377329686049471039303743296139872732969290912993320977430321273342000957149027480824074882202658440168937468548646168934769199006121645970031356179570204782109250925424863837483792319625753649156131120338795540958014315862092041233705590852726849006065789480616506268834792794955253342316912911783203439494266597632697739972031899647967757126075089334817020173026037136949909396284313427142409012352962212609581308959030410656289043625102138258921056761525925022425538115225173638392796054216499979653499559056625779781438866417014649996573939128540395073387462153538912997862363925809617442347049424396946947306029309135600294288590024658875085466997088422351350504481474850909489627465711955172126742010923701249702733863753797891586615306672338526176601600138207441315480683234124932364078490542855947653019065229421140497337873359267343464766229973196084828355558267958798836384909624523066650537041686915994402827097122300561880682544063230631622963698442362971098519982063571007156529423818819667076781017635518491670875625793289353759507698334903760333269352497867404894218684834161149654607553658152306523524476565776517321612852201643882369407194071758783845081153445160465836742126096619510636579093444292080009692376233394190522240854329624717548225417464525207940933386398624650774956757951456473185796328930985442236879912583844121853776200356848797835595954913793633249552244001917132168629929309544482997513454357594904096904794790039372622514693189891849092531594335188609796655660540576493422931540095839382622731434058059949268363572532011982155748373210975385424956192030052256272138771512617275850849436648003879937176738251525918901721726193504409641653480620556575384773060811699722420136490514973946112472271807659002684533346969788741532841537799445724277681257573304488485701949074859258637732743703278716397919650095098446835061156572361886969339613327696219644527971565805149735492133261080430214332840751990046458769709776731389988399674415717471613903588552278574192450163130848896900934482397169667866188965690537445174136693083772241265129283550164827245138662088364745782665186113229295100288237926997084452949966832013339051956790349001689755253040196835320831370776460083263798319137765404638766937290157546377714594111078740765852722360433110457835433134966424251560571783204267038547459607098454883790611983142847021300602295572103942346659413850557940267433064836831340610710113987643753117340600544000417329985273677685381623339283955306708171158446114811225269262275932141210917618000897559485372688069077324716873240018771187288647177302669070075807737807295465709860916311443506060406494570004174279469338569114782110746468818940883300127336503193992254954133181394444853092767592890922973790622735385416584765487053123257691259485424550143055174311620969261950051554418168879953692774441945171592787597393759375428867849522134459685889015560894506797059839355646729456681607270708927392480794449654860392411893684483853633656692814824073126538962376778599691678406394572174173902168125335752794041719383720530091099034611988363344059247846072006881856084289718276994718647070319817734399866429451358427217605141232288380207321258405074882014564433893528598389035964885139179699807073906381326197817171520938185139348279490136600563666967242356752898752464697894434320823553382886292745312819915126843280486845257161042772858667270781073799993641883120553163553524089397327081867248292181483904058882707532031739409681070164267976128940708426616514028255480444795040859255817553506427566046746076614676594778256295975551308663608200352930070741990048360673054056148217016651345224076559190310159306808476175150075972317257122460872922172862096145369549906664323335595094107821610493672736148102732683422851166352247759008430509969168421068106450509117375549622781283360275144954185604303701701700340916253633144971054143295112790316376610824865748529524752612233108563727807922651199286824117727352589699636949602651718396747560582127658630365326975307348334321412802233158211705981579983769580929468059182088062493545960946251135007089570272332117355431892429915715835067780134693278782397791622371030935962246595259119102780444213000071991459640532428245821495980562158910374594010757870888764039143252004248630524764275704512570066719967952181859461512378051977913953347884426950399379750682340757833564997009847015413332238592013174532988204878096782805377030216230964084287002506153677271499801085385989731501285816954303938449647218496057512214057307316973166521974382761077043632058185496214400386571977943919419266041855813001720783900818583448491147192599573241074915970352422562201098625909909532804957439136267056069687093269612398065267082300525606424408939880069864089885489388024158839994976396028048614421946912218229278806924587669400892417028146896536465998687645585622978451551952148914985877301019748993467962656387554319317670037501914713016344786928994354190858143717489429052294250483316593432834590371553401644009528507990993289165084154197787863488348655263122181734192019087287727568867668676411319718167036871025379544366921810258941841503044389210098906594143050860590600405289602088606838101073440823821314059347803448235826986642560151339710548040797028847161191801828881220280720909217785596424507825665897189890248223624262008203991874915988821671002330345347872826554580901717399783695902754975924811466904740371962568345992604081202666483327506730100115022096835630958965716663221502953716539373012040178790080655525424108623856261542386759859988922917125993655441859172127270155377177004902978091614550730980208930965365023475487569652681369789129609100024940483748615514252415396822153868898459464631681989600136156080863825908250103987688115450406448075338385916379135425285944867656455947895910455617527359225381582932405437256872343417574230706186353737863541226471871352908071383105642738036899349900460682965801447478590062252832560741823638808940956473593640642483889644603459043581765674722398722065916041117844020177985784927127629767898888668468934876826989202761290289575353418858739752547997941852839943227339197894481801055836886104892237351401981173101161025206533914816290435902242070331431144352854213642571262653776399788679185948829822018402793887293289014956786481537529365909862240366263023384585002661265837068321972897403480618501208421706860296517538270073046170576538351177269907836436667537536881324319736638320380821930910634302835963338046103000950150545939443501694167892941758989668973433905421288679612068371314826974409947359613643532373275365644704712845685227379310080752827757016261110512882741209261485309172836155092432442673799094637068806397239402568397373106622365033581014626840486183256560934166747125492311636170515718868223161798683003894343477444957528927453526353866253251429260004189260232937334018036996279840495655403823904306020228752002335722151368432804617465229200108424446767692301754603112752483082460512283022022887182164588079601563916184582892500715021701467980077036134700105570291309979556294819636895501902746214057507848091630382924284157592315613476809930943455143362174761750611534719722742219937347728387754349525138781903372749571679608881086818893357867561043560185661027020848139411420403749335892806053288420120755302567637134324091712357953127236302248897188347940371528318281241390427522852964633512476206023631297449292726329442678498199488786998817892053151836993573036978054982176910077032774863381969342178142207502165546963081664783402659577988323356957460932920058473325175456975614123608126596783796552780227607694872860178955874058265748640889189808654629589104504473702342538079988708294110617263781069761942635384858073705059778164147135846974492913781631164975616919797006945548882195758593743084233409139764648388628938598201895164532061563396280323349952319989824984284394886063972449119772799458514571911878441117948601449060419107245725962676300260339922504986390402476719468563250340782889249000175510826967668513507964951120484673894044173589998060580801470551715585159364281946302875893386682366425927588035482848829018237385087879551368696572063729263563458928681161678401354904844710435361192878607341864303176196747373783669024101775057541495216879506341801299655566247505867515622378982537772838193609256839200817150798447835881141215398529313336398754007595716170878714715131564305211102081791497916308252846083251369161083240716577347613384174407899471291231323200618253793323434978719773687410453951065067536705914696330182298728734766988895598529541103180781225343716176869511439915389482180977434328197852783391929124659347771511665244727511059025612756567895773805451890293162328679725877288776794059093431034850799809612582678973809770450390598886829419982066045292929521848269805471585934073632675578302657626944800063312188689838273516664356879060785020489708080067087394541656391019074385240044710731731635798674691743175181934924181554909012768344108562196181501536527170555074314145405944581978318569075523628943466629196096837455125441123626584487410719813694743466976589905941530730845234683444407063489054407816713004379220573480595692492867023768530559046761129926691529595643515674915575308492270319326094743746011743279032748739910449632032034600902497792155040628990566027513128801240574477780421866489426250619478866071584290831697443936287042065429912700634420678278747479076989804562877922895141855902591731141155590526481627470090141652817314143853034064036362785136150543003145601421772633979352652912146064293351100919524048640349755963582961905541157839140048680645379638700910058910323923133955018919512801964277639710839587126954345069910857403186706745403930889708131039965393636022637975565678710386621105662946884394122660315924683709077021152807952973757377294044635730337236464737462178186594766143930495521134974380671400335112511616100049393996981694517301976373153922899833639225848887839075956540658158682433152149185003906887011365027566174379420175160753778543679419422703650540026163648683727229838456099262475756796422742175256131611908379654928309832630791408559017073614686363890695491384450055453107049951358987037419434981659144750820576664092394917859704144857639475979414046693295995284025563507555074132788163961199917788898929845602521449036839711917262114273328341547992151495401783868066523930024078606111175570604748048800921447648072634501716175206871834179796737912109587128134283777717722321955621051042198274840799743028890250502463361726583203942310721199451084999564469172846575443057856519070923045766836588182357900832132466098662495767721508854401552546780894191016353257915739574775886788751038464435676583948164960210230137199129709566649637529152698391434554330606801286533523543350265532868026080113857548665465725897229199708549044447119805434204591218564979089419499073651317099773046387660220277031884512022531957646033383377626243978358525912070439564061632523230592561814332556151099628793845529150685356001577267776690817271420142977577306888380714342585701274295623565059856063596517175877720432366792759795398070518768235421688266395397720712645529553602143964351892430343017155029787701428408842867036693487423527994346857782018998288053699323740036150416093898615719824925231430438154418532554519797201159363873580328859341697333354616067932867034106637569880471890802527852664440121007466693406271550895975532359330356133313061158054404977348870190269708390079979722584445510293772448902849867932405804368094976585022688243171668483534435118695269291588008552528081051626934816930218890178576786021155681297250397987257406963814526212863797680202852919131172118875414655726997506326427948619517828538565724206765851785213268073264290090382338926367308276605005554546784767532789920066000778653414131666646675368336522897262832197354585406740710481810337621055937770258280486322611444737955910901129533966492787486778030158852103489379148387926912125203061481272686253375821378431004846817480450687294520868364656441211925890573546309432574624985366897255703862167594629316266587059678713912588078071956851956993954308217420172778973146236733325199308636540893273869338502605666927374592726722366889584839732925019183985747074489093582845191076699599837023664715890444337113034109124986098192224141084619936200859142940155331350089361188507782976694129430499962301848174510631297697923530254391748120140821633489574876556408801424808184453184084697638809851307940114727930299682976277815189246087284246860317236714816729105773371562335514633068778913323420043368790296699471648208841600623393358431568404080236686706495276370028606751209499637222740681380228454357050111249436415636100013107574661873994255196104205782252727083650457127561791923297120630540939777764758263965660545946257209561953427217026917686912798828725263481996482175125290430998705732594569326077337826982869052175358915344001250118403567766106731334263838601369221074284122116816956913918433482347059260449555468676453325789988100764838283062694922882518816505929069122022941023452208159657102098963191786920934219357138560989690443647892414054044199481357048650828625463577982153171723791871951602244988822875821938290546142954681027747077507696065570020794482579927557237595786738065619599850647135221125429334634233025978862308474242856593288177829466376097947423385442529656629059540688845130960228332359314364698138796620081068451676688125636206802973666621289026220632473863339883930351754795127179890875813252868750941515769158292120912144286338839290202913401508901601766278063286946860451023890074402908068566913931694411157045247505440098453652604214351495500243423698789759559419132511612179659896949955692761907433766446150079629775071965033470697745558365496018373730333987775102181817684468597375565462668326665714409151216657965724654422675792767408344341211797418338948892712783127347764454655477282696867787021844363542419448808125884520018745237218084351886677723190277987769414058134834806625000681669536657339981189244764602536363895441229198169236646726071453208464978687151434366292175762862094271181235873652314195323998706687297957864857271624739947482021360397927384956491083728205993814969251304325735278528182117396533379673837320256376044808267344161328824657309996060924077672069185770795150424543277193775200980605557245404395134177962282910705603870040519502885047345937264759279857334973722274562802688265269639564909132257098920092984214318319248648857580063817924105887293647592234035801386938039130054559111898216084809768297940812350744483086543313066300229279080671246904174939014126324390584116951486798930492685152564656691736261297695575610897716323365473397650335852524505210209472590969474659197201497583761427262115414970759573809503912572847091895356272484189365281043356933515728863028169267394319654913243719108306061496781380309714157257835668686788412364119849946673731642430711240855088646589481919780148401107084313149892153279788268370422926835799377101890604652566369303443605416226996546827709127928696944948345082155749392741903801281273404632117976455236299171443812851843599007504264801193087347334802044755058098311360933545918146475844827180357002837092718953381514508720663307409475372652939833792935967407110726689494612677977756838068365792967847181949086817242465884726213977379289599445824962882987356039951303762811007614917681054876625729823965230061980443159758142647065214767527640879628557522345035364134865945117030679027936255575741612058506349825238036478805172842876989023526325504708167085018670497720319177176432554281731256851709357569060775393070054129886190940449680515133742914638608795950689812453896076996467644246078659054278403585645524719034492714855250029024348858619619553585770571302959027162599761284775350499199851762257187192196405281033953725184358048492424690901525847884034392828853233561127539618297403738150377131233340794744349662434557549938018441683575619686435003756049573123348737448149976302115035986721203749365087600023089954443814454862300925140197260754445934621956877124061907458133782447008774158136411116611195641317335154335828840710157308061058380333489153028710668916056378574281241564768057968175393603071400961701716615777007183540773530582989366666666850459257836716726996280163963804921008863826520353155183189328749845137385054531617870866181193774742475279526636838070835894181586966787898821111685091948315998756078649470137767703535327972853570048058891393967104083701908149315231577673402156418173497446377863634003428699073180985925838208838349058351119286050326624336092140775482930900408321376281860830000467092981268619487081667285423180017249391627838260031054909839155828045014933258167802347441780113693329059843098122766225340107562170581245214962475239264939412225594228481409218567524144969993043129991837992323384889844639821526742260561140355156608100658115483855536742294236915879590849649557584151924289133869103909878314868977744933467797116770003842316169253563935284474525145184088153858334991256354729877736082302074181657489999386149651282667370152746348009068491285780908853688166077356737177173510961557103298114731163849583419000123264300677700642654275972419122685265855552947375150876691412209032570251909920484042947458053916596449213018765982875109671893560016732538069703898682668052736914508218845665055189186031210437515135830910812311991665150333852702787817195034156736437230598112910921162852613803509283703147164023409503422363159619259997956750261067250791473308562063950628709754872503853012310775034178127388744793774591480360726149600442745567613012309641022846993733621731683677620615779859193269204899973591831486054641733020496316493049520738926337957090406835399663410843287078016231771603237429815188374244831580143389521448200230007338951089301433456146524908569701020350123453457234324002937254406518843508077765749871480575025033730053903169649516109855906392112990080226683538032716623306966939824363832807118223336317735071793073352907424653617589594262299867838141248496326510484004104208422630341607451616969882015888789095802375191511516950206356958385337215466331899983107519804270418252734242765115063547730208551778244632689646961669392603767212458387162938679445227020220086301936080858441031165449541870977714316433965384829325754622087328951961149900337243654333684006632299453457111943280092242468115614601939538675791141061392421659328050238806064158477077991631355847893604834832813396549054466937666703313654652060887392710837949576366130161534654655739308934189969830104560121269386082450926173357544214846062669332392346672606098675941269096709692002129983392385769312565660321045615665105331215984616146977155452776188195512895077748008146476114870470136433563825667984207348781108457398178185041559324418421011676261540122306796138851561051347386829197103222507383342661048557732275390621181473889647018656309132182000834213303548394519083468247775951656274293976355196928555725844050402214782588431250484617290665343009777958329945900308459541406122289928780089846373898574754409872972132076493011698948036694355549374994073152510543948765212520011221150756143224301982267738333094387535576824900141462155024138144353530070964961873672971514151830596153715516320843478952378348289244749649181112190276202599353302459410314913603312529342744678875878847875472870390692568940050653988776039681944543016406366057622285253520293725897781807062538786022050643393338546991414781264261471761574022835915258945702161925586922938965339491200227595474163184717965798589775031357614298142342925797700041495366998147896177393574114603433063910466495227069964781159665642360673349295100309541388799888682429932018609062336649191189164865923858636174696935764349042262245248521354901298115100225100447816329650869104024951140411773451519522151838280773496208562642155854213850937308976691478588959426204408794794699291298005904140788096539838162565974586684048344336715872128780169110118132312198052115002763057959879904183833189520093638178065609671975296628042128672694160584514582503715022379527312697012059626759938754723675722541923408627247384419108889133918898279139265052459295117891563804338071731480599134476235180863153149529479116492847418443621362754257083755173717335758624357206678804684137962676692031075048840042428977381934968935805881307738505838026309862963149063147962451784418299539506745164541144886310986077365160049186541982235569671191628955136219105386778140516285837101499860522884789561384808282215795563934879677437794235714640342951223177980502737394412470334936673869960809752359653221643823096382069944170100173803629294209056773165559441794009444825078703591597928566140189032779235681844105844512071065560821557202981506169564002461927122342876483676294218717741204825277450116753646307634768685772800515679726298727333808399783871177353765646955411509841118497524989683983348083078761853717339996651476801064959466237918713372391775016721799183480768898668607692736689440825587579063817797158897206565846325722454495210250326517257744600807538235026218809485962310766287011628814337606842412043020864262950177229770345819987358225309011662820247692016668732813944666685231720733722865393286352978922309931590011274683019179987460191677325779044208976408777622135045613231490757693476497529273056940785143705432167089617100857287279948756449558304125325730673025523780228908045734359360081808295945447927051908929656599110431205052210879495063250566077486426061819717114044894680200278276221581976575514416285664809147701506745183739403837590026092362724679607023194500451282244349100437388554547269076241549885440000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000

 

 

1 hour ago, ДОБРЯК said:

Так какая максимальная степень для двойки в программе Mathematica? )

3fktnfH.png

Ссылка на сообщение
Поделиться на других сайтах
28 минут назад, piden сказал:

100500! =

Это очень много цифр. Лень сегодня.

А вот 300000!=

147739153173803909 ..........................

0000000000000000000000000000 

 

))))

 

Ссылка на сообщение
Поделиться на других сайтах
5 minutes ago, ДОБРЯК said:

А вот 300000!=

147739153173803909 ..........................

0000000000000000000000000000 

Ну надо же  :rolleyes:

8 minutes ago, ДОБРЯК said:

Это очень много цифр. Лень сегодня.

А ты вручную это делаешь?? :doh:

OUOqINm.png

 

 

Ссылка на сообщение
Поделиться на других сайтах
  • MFS закрыл это тему
  • MFS разблокировал тему

Присоединяйтесь к обсуждению

Вы можете опубликовать сообщение сейчас, а зарегистрироваться позже. Если у вас есть аккаунт, войдите в него для написания от своего имени.
Примечание: вашему сообщению потребуется утверждение модератора, прежде чем оно станет доступным.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

  • Сейчас на странице   0 пользователей

    Нет пользователей, просматривающих эту страницу.



×
×
  • Создать...