1.2020569031595942853997381615114499907649862923404988817922715553418382057863130901864558736093352581461991577952607194184919959986732832137763968372079001614539417829493600667191915755222424942439615639096641032911590957809655146512799184051057152559880154371097811020398275325667876035223369849416618110570147157786394997375237852779370309560257018531827900030765471075630488433208697115737423807934450316076253177145354444118311781822497185263570918244899879620350833575617202260339378587032813126780799005417734869115253706562370574409662217129026273207323614922429130405285553723410330775777980642420243048828152100091460265382206962715520208227433500101529480119869011762595167636699817183557523488070371955574234729408359520886166620257285375581307928258648728217370556619689895266201877681062920081779233813587682842641243243148028217367450672069350762689530434593937503296636377575062473323992348288310773390527680200757984356793711505090050273660471140085335034364672248565315181177661810922279191022488396800266606568705190627597387735357444478775379164142738132256957319602018748847471046993365661400806930325618537188600727185359482884788624504185554640857155630071250902713863468937416826654665772926111718246036305660465300475221703265136391058698857884245041340007617472791371842774108750867905018896539635695864308196137299023274934970241622645433923929267278367865571555817773966377191281418224664126866345281105514013167325366841827929537266050341518527048802890268315833479592038755984988617867005963731015727172000114334767351541882552524663262972025386614259375933490112495445188844587988365323760500686216425928461880113716666635035656010025131275200124346538178852251664505673955057386315263765954302814622423017747501167684457149670488034402130730241278731540290425115091994087834862014280140407162144654788748177582604206667340250532107702583018381329938669733199458406232903960570319092726406838808560840747389568335052094151491733048363304771434582553921221820451656004277872284312593157496270267304159187882844808613877768225616229637413137570424559948913295258584021479358378231977711727847817204824366665712233037329594100572611980138230258805920629613317793764510957120026578048806093055343632850973613180076093526414330221782797856481792788603312337356928896592742526047886788415664262199137166941109468248113231383018176762836385435090555860122593212536293095784104529009458893596918985301197730725042459471429010571182651185684483171262930537094250359470178961704677361236854736935502847458619835295713597321630746583008740347017107460006100439012858363763160751662717695571706509879187894838668780959217203483131914040549191376306285239996361170125553271770779153656145814857053682260433185195901714535346972264639307321412037516079871346483108139881311788903459138832073160960610026741465441141544678199046462871182657177549836773678551049586037861558275339882493735245692433875918043566496264742386629024451305246025863179480168019326347584217645714646906364128639612816315698647574003169670514700712425041721468910016162338980106201679112210015737046542560759957025969830610067925707538397665577058220101748180714779401466752322431614572684197067817338675361752984217201931314477235681966403938164900201528293091972769899039911891518355722405787334437857499022403139300779492496042621805745602278124602157450225405723396266294459302450152198339305005536135307137154779307328834045706449961358507221438630930727396441463746364890568996657709964552685348551534347970752239101404337653818064860947973869958914336860549003740396493697286267999888932262754489642625893401613327534523446818624640873695071940103268916939623216605195480366172270059432480808228029002882550680281231515143831480620150431882417182672063962265276576168533242061975370296534957924757105522684230474387983453231920441976821781724076791729146256786601324599404822567058719364794201310291864363078009131237289712552632198250697838333677954387190138395315514651417845195385723793165112682575508412481658394741889055166987387906101718783016520416941824128550417182225504054299104819263280414863334802699627759877373029311023887323849837854697145693411928312494773729679541243164191461393315808692683575233391614259776653520425957200603286673514673267379776789843556850849245246369790745339591587071180107159160899423974312948074966756454749515234412774380539164936674995813834057753760835692187165300125405002346411649918381761695400141636182787573722582235597549439662309511092124869370733207281624159520660984814444579288900455710931505233956350188672127973279095609030941788277269338999127363897916881100136267716086394611000591972764043416337673817827384985149999813823199561879111770543480452533156329659260524837121410745134131922487232264611962350028814882469685753932945080233030911251410281702699619622565411635242651321034169720343085178487621528781191177912966824290184331811248537436470741975212781681145764781295522335246860151514195150137051891288462333516109424488268630970948578601576345443466939876341751075809184078247837583763877342774777543515086631166782213996775802412988787330699036852227358144340532913767827386068408563408049677091869230625018030526372715487630416614863468147560189799723972996710815761866163327287497453360249275650150154093435226296928754492997981840435724912098429580091292459468942677326456178078867183956615729215050883038891104104856296135235847472029960563310231570834530790476873450580685285643236239733904059106449673746383069975500315296406484568791879477799768148805561528918092959238036406019845236246427536896328866823888035635356964461265747097017807510956123992589550182897497568635283952863729667116655365847455798567334999925269859462105101033471957012151014353422517481657384737190649686321535935441849671396416421458065477537968378088865543025981029078135745751894303004748727688672469270394250281787859613623914815205864165947780150392712955326782395074471110122547982687295875593379900492674240709740739848216695084191404130223176898360277108478140562224423660775963727964569611687281388000645444162086285309338317877944835720792404366961380170161246306791696534826753823851083345439520514218409463343577761965801465207416260489270060579718730680781253469022833318714013024195179046076611489436658523810254506463868243668112750721342106815030595828568937647721408675191867200233128554097780643591709472412914542136485277973568288117076845816830651549095199058233623987615692774435254242193792159036852608265680134021973082363740127364403968496179803126623879929668114336518333702126718458718148295508218874624371071072622923806575430201109890871643838123972573267390967627442695462277049880608777284401554052021883291373114482008725915059699871152835947478828443973952226448233893510676997284078328038437123695597093692963924577094157984810270067694542518337504706673618737182937095913073104459083109604069724472340835961016703865496597040499435802867304015896352789977928640323959554704218328348188539956127974197079219228850066352456903153119283796883111977067898420262769284544623072677497533237060403833054226814572417360189654937587920566977137352945837845824764169446476798987468055028839925093742654879212233297179919685036007341216196927488043912843058085069673674416564318700003330475976018406523672087511519181434845609285642865406771814544139670339072301592615868763105635427832726468991300383498424155394140210983287067802952968635010478740915993572897722363997371832034715265780455096130111146310117985236275628496795462690804609479518855793159125048273820775287222755141429572008683606423124282848081289067471998183681419329738763359603725959771406347299966492475079294714560147019540733434740490959922746529089625246232054077548433725404063935301219144533546377987471151724241434882482226599525114791191346927972612789372056406394508913005218507028713321130369711073903858496150425123657725229486899837581826427227388347325673534161086949809041948517078119981443825591807147594722446301108050571629137304099197584598014499479731534630347305105825605245268370026689658676629785519645759670955758545982819507209601175366483188439291330111607597176977619480752403906601171988225967302084543302230175933928024987436310205816657853453490882982294200805486183049048389104640476695695631056685020721815576624972019252048562001952539095467127317606889001350073768764673887900831235837829077786738455213859356845824384330664208454602229070278989367333997334226057901019111269663167438609743522041865674052857980558668202601387189558675025481536906814993616909123950813641769999766620100404611599961591305369423430027292362929601157148694790499474359083770233171044915608359023935944487114573733164088578985089806185929245088672118007691371577762470747076826390699308125837273311309312129840029161543692028488866736554088635628553678368488161344477147711141772779538859117826873871603552027987354878209670955926339572311882270242121601043531077702614067248853447317073760527361731472728192511277238916050584917728981898526961834594247014960216724147785589555461927795867842297580150506102190556604704266636382960023599588321095188752830842115946032948801253578737828385215962774510361538755566110040369490672024629362477042682035564056693193775598640669629966117409286685530806587647091520945826999871718656920302688534657789143207947010564001951371535146032597486628462412178501003793713599757245355441739718284799584548439589474514197209305119808758783516262383015187058443044936586753748027024660823215050204456634649144904000024429946842377762428304723879154250639059157635935215670400725561403623860535453153963266319375620261645999765047904652608555791373122436419508539793276764788735649759790770819424984115325655809663489931243598035008611554810097335587984119677779787560609311872657139206552939794612569581017270531215094673921087342635228542048145259502431222731902698102799966475345034816220013229202482221387201537608783977208859220951262594561279091136798842338154939021292677196352930251480235627292231895042350650839169740614355584385763810559403988929283214276643928623063057414558836227365177639225280269169322765200061670688044923365194502875911745214839915101470849401158981578727467187806170420735856947603119046816048986990000036974996691505487790550036436117164680658553386155310376586678530625786795219456990632932352378078989626959354963108436168541537325081619730084557850247695675494499285422414029562671587098898369297085092303998055749618227833860738315227951497560037532066095794843105386716854177227129033381600586460708361854985565627567933273879888323130840559531416044887427106507775375535628509962462707836989093137176467842064606785699561109461728917510695654489462445499979147675438588074569610187605248674961818333475531798600370515824172043786369323672892880950786825291345364081340599319973318459329979381355878987940081402677815388744998320766632894746640433502875210741455462664865099937165360554202096220653677372784113401425675425767486640166980929945715900925218751525243494479088042517418678651988012574712960470778638861053173951579128990671082981013544448164639022170448528006112300567221808097986153147815556830307499534049770885325653659871343230939990342638098500972536956594358613656419016660116070441531517633134180812248926265282076599622931583713473962249021772449008743780907270735876539815275020210929121198429334555634199115791310892287214323874941400873594147222527246255350426878068728249442478386540489126230707724131199894058838134211185732597755234506208276646680482208065067144024288476234374958531981024521892124583712629352533480825545422667175681022367044608661119731226843722968476828934869062991536502227714842847621998639714330342895904729207300396134036047912754480041595800173985891047014144464620239413976929761554447237842260264010570703000706094293475905755617556138632772310548708029930086555396201253616168335839952334727194178264146850616326444059071687455779502784519532807510635766951704210566533997655497102360989101304025511268466378259038557321513926873504798855363172010444548024159421773652983095752190780831326003251245789807877998118865159094998071661984869126505273627127149411504778552602362340558795342488471862442699929683728878668068197904279892198378195024347507952879118183618480532791505550633888370888397437158899434262439142750165135868039056483924138853303145776075206205888357758963090355583073152006135037855362272061789583025401620393925536605918619422003003103354854429622727927894474566294204797360332015546838764455421009657345387307828938989177868152936408181607543408238462409171516861308342517533649228072644586223331169387767254267387186148454493771075676546110437594503945367588161608969581399229234702710223542629492845150043765143963038059493307092283797084389007608729273270981632895819694485697528955440551957776661846966195270819464402770552772897727293487031037998253892574501876886729692014824524453062567081841691250676940636962219804082098108363810475109338833570750243805492836423777208346748120052999056421986904783805804012880238741301207186988959913144094760876909878024296011233274155002642460220538586588345796507997640459832420944077868981551823081681271840720397874799565333337974229104408141614208672673452722589461585309962791885951334643645000065032275953821305543320676625164796481538590697981600536082815482876190433799014241026687319540460810557795876697316148809919018196537245331193873543480836368165009039761170910431779758765596247767672728213186397807895178175957779016151093344432612383293195619775195075564040413851022251839652563182013921629110501972042052716967903974344504290520406007793127761768946965446959088914422926583279813301801768859922526698086207402144264240129386626973595614199941010446746679675379604760235839305815595643469150473023905377218669831262145651902257581257318241472865268183470271269603258593842173424898026741284539794939606736330080761980688628717113622752731061494157091728502297638013093756210877178181529729859911850721879438819557291379423473651513036785691277707129771126429314007228008222525832576717733586122020658373511404081732745270501406803653890965452295083935462750259672041851199964170779502188649889123099388576417475159680784970853749167053817711287830396882099732585844149114752202288510740765169837647025234042499611809224116619672393747158272719616155885503978590022844240168720345832611484856278631595501612568118459100760868569737837611609532527887401617537089189654903785631913742346847666949117225978425207253996837391997836134695766397702206366377094259379654249623484951844664734820573248144376254321417230507899919055568646764823809010791815646365853518883479612105680098821189432571808175827626223703340849603271173275485668659282240724363751247453884721399862559838579803058425452530490934002949111513121634482276923259832129429332128017860639530025311549945190187089168920208443836708995663779104251527781310661078367619465088757985625445422235909480393079910482187927870201382756290159779841586518567105233889870420808454064156574883203140773294915423714974233844125823119762858952953692454501598918890991872782194213864484238679240932229083134060006951489861905736951403178852067117550837242800948196540108823245610098801458684648229103926191531113074018877205158802765675353221282806485193774155797666871853771946339374285521463252307858283336618778752326411964319851545236923215260357297719701767994175068822033648480847577748057555539787073633311829210510659043002156409260115577979384799980119022808516991077579859444820842362556208772166779158907874881631228753573922797499826544798554546754577789203361001614908054545817726754629520474820374498297620510964707108164064082925961359357689719124687324428333710676775559971723349663362382063057320728111849504069011487426300071930820190694079016851646335566692187355809739330360327245247857899234414802377001322342426793973664058255210280932611587014970932771569278575134953441458265478163313221045220629613679009604108555753026110616443037364859372300114743251716341680542215472808837031572269070430810821208819578466564981063726472052924969325098442414256279330174742637357249386001850079890429688476224112830044635845941066640962521954189373232634707216331480821229508020639217228809376152667787485915904297997244528783030226948619705415555390360767527841328457248496195399444651775990274585862331862989127738396989448804620420596841665326682702920790616835628976161004742685073296022992248657237362335755839872489796697971064300562629760084024142621326033142848684229409652614561406059106901074169104022485019335519093560519579267190646660622532440924560684166775639586353066565282534797368748882498251162844201764047353334313403290444183816937555641390148550410854177329638797738990982047175631104061558556276542318608204791742196754539733204178819749737390189753717169147585628950674813384495444493657099236040397885220870120598111109671866377483740604394359654361748623055538108377744516940540937666654282784043547204458920907515639263249128642180323440859573174510595239125945606121753885837776234971777105760673207377146129166545062928524277550493800053990565865252332205291855863810593455798246721940909761317711791227385828773866635287925184108450289041807903806320467042802391635505588135444841492648238039696343728501055930551777197533190285419536046764820989078255906556494269800599453724702179436999018466846449525834111641282758928337980159522694821257661843980156043859793333918585456774223930147095529606367170334403961893047724518349779787628392837023900538979054354451681653676544535200897100660451537584917291825403959012732786693576700138661543162924301183408606252160977693453238048040987704407030369476874963871251978771155614461997022838204596478110074608564352295845580465212019345985587761950649004900078235862150661650578541644886859220801513786358269797939945771086445434835056729012084391884558061673198269270465491819608035769894360062583420251360356912598327526627379541471416112219840079854129270545565212580310695872224888819614970181973864389628491327469998322696821125835387126231731607244498434911167423891119876957249859235671826705961049968910536111862188845884809227981338381717234599166074632263346116537273464823902608266862288046565349334274431457658968817269570020810727081644409019216537590605770300077040173546984154965521950069269586912571607388729268086735576178660962789685440742051768524727911861549077660630408050540158326849218302506840551772644233103499443257517338736093328163071788315466565320734922946550058088067932752521345787295827853454079994737403763525934264583174448236181714161479791217279141154744185724980828470962263005578720975325969929775109312359110615917939996102180773763314699579970924654407435571728531718435465261430171218102083081944306471916806683281785404354881217062931915933251992784780922252651052865242326761354619493500450354114385486626356483644049624110119558775748165914442877587131036614661069489505935491054730941327027636533644837420591766715260752158564114677586543036148435408288746417248120408585506861429507526725771388499357464261932664825896548627750153021221261451969660817471507156698234145004818054097636761949088311527773326668467810495588734174335108440793016511445610376989887400107761068019086014207103726788529614621116236429784188165230369299549389638613978222017717601521117618908345312935388479032593015706166387517813621536319720101077055320634103164100698996887065083072835376366159463681637845317735575873994520780334256401909983429695370168401289867811006309975072847593046883837514532443336537995480685252025376477430539652466354740237792990437135071159575622554016025047346725837523007295381986994877841602037872144983714144496376480811989423737121866106287427801998660055350996094429278793843730443687776590320875983631352038328983888867751906327380111334140695108997632330273175671307655531752538498232658848404596050490110861787078004316681946640165445277779764826957179227973256074933827197875674328563030317898408705286825141217192266761637166504627943237231941841442152729469919465305151290675669113590267961769935975188347643781529785556027728385514600680474483443878908732063421186425499468206417170047678402656165481980177735640155963896931824547596922815258094735658282957334017199421890216684980642432389514647915988056798058952580619367162320678281841079900798658197746121984850575490848702295032775295456331344011863624757751771187038628410990262384051921870068618377065480911927872968818383351062516979912618583907273827700218383125993424199912367163919170121962055973834917407135613475607933595503342610716958787998939271238596920465342326333814077109114310718380622609788016692731958088136827613315790297267262178758132691920686365286420303787577108962329933072723883358337382816844459530170885033889935637596509145207101675121193359713584121655687092071476531063943560413636422602977704188716702185201999269059421961748354534443776731636105911223893088071726607887564837446650485385873656831150207445628331238744181424025956145643231236495215322026747595929132505455862457163391206403905528410781980156149915890527151547746364327728244773083268101334656195372294314227327516423016516056025046558658831702704845301209423683003189044316353652331894480505993272394392376863134172891654454244506445212795868232599309591662351316840858434224394535727742206609111110739321850845928474470184100410058258119838192859498149659993500258730105804650762808442581674014891553279072828325967227886556617447678076311670446304836907077095206850376112298385889923891029100469994060370515595206318650375418398088966405811572948189818176374267625894567254509387763841772959339369857612753145093446637806246765478560322562726979886944308364916914608500608726356117256117294147522531365682104017965978291553355085048097264608073170873534889045272816524842904844677352672383738877461379922190961751081449507262760248260057450022741636675870093289804562470363449260249857054994471273104171860680691668471479357935541840994074410783338401905972853088839343292753858797841978875267301212218920480697041587749257581713233971379525033267322947621529241083810049706765018335183625836083914532877405008217368935259035229789367499040651436746157513886894799689531490291272190424199141209033530884565831819149115552320988798894097814951103949856769533653906850910490594613924454797967882078227510834715789246022114552755909787639786903738007266756187693310093012239574926392897507536097786872347636990801783471837755260458674587408741870583281616464536586823895125150667270736219261137095379503389137564139330678008748479849142002509103522011333767265004332495569654802194656602778865029995394060241502264420841737675493372125377666121548168974285972855027184103025614351066713140124466162034797296117580961858091752453168278334410980388660836556484732864285729876392201694086117244002127589102477383120870374915188961218615805561155815804638882240476491664432019412319504924536351079535845751554512080855250893103742719480677864326732770367714674143437291444345288728330710231053144109421254126667838154931737142699680197220257055060631432998731067397502014672787232473319322123905925215649042490699456814802290780405834280731350465316912435468518831462437036843195296940793793552320291105235816541061311945062269011763347614557395472461620620114175546794900033794323204783717732307964501350433062953906940198900968088715350234908732312419939299107559125518237215070390313655208311649914171041770994881111594618231755484055422813694661761789989174078041183637432142195610221937844554300384739741397618493023040815139006447190785285573283409752841767817722202836110537227907904402772966568533985155451140320710744304808532637179388021409496339465639366171735762069513571965998054585367566086090592188575297349949903494397829783215077658369115692162901249971915112140835428554718211093537041579102179451406582657301248087301211431001398739437341566141685464653124081353320145506529212266665863523537998865986919380348927099542136333682104013521961895171605803970227353999879739010823597239204970654681028605194321538099489407811171383011588689969356783524106217989436176928290333185746532986948768407572639427991320062834713127522967409046629643749877720114105949041482586222221164645156820762804568169060003481659731995916878717377038507258451753631559961959725082762797067722476745481138487451164617976678965870260823702854099528849853122118075028308450248757295024568224422598847006124715511210684249942776566925341668961438385769020641547066665466449006235021127275287614198008348277081132593217056091029141387015087011531176509625057517693731101358325538737078489479128544450810867848709421233951223230118519083603950467455049530471768221569280386915393839249376414608390791732427589828638655700447798186140149652797949302956633374528390470788009865528898734666533553588969683070086647945306111807733496655845174038578957968724277472485886923051261128114259811392403931514156299619154287512857588744223626527675164025744177558629119970639543829392728449964423307735015032992003321707841701800485683387049801637926020206445395074794800637624377590720171305547594477621377055142003954418188175686789473028150263031547875811685496423650064131376014566657252703137358293327932444992893087252418274786101140703277035874356039060145936644714078858035414166382216807001295265335318174067895610166579821993517981093771224586764175615466216628201328700318586599600508890712465176830252616392941687013876434700442124952814074368757218667894710227558809790750040300180489169852121574507913825659476264586432944894119327830259208233310110304821345363344847588805948774630919604546159343382738203993781000650011445984223570726901702150453925938461080929581641208274320171714620600192803671768477933568151780165352969836778654929486512230275883226374060912936990038088175067052602262363450721175296483891112296670007498027793092874996400805229770694221237424603526947604014723004083040483954218005761943817025526821447481631770221469750181571218044899854522768155091459223313184660047703766457887872740412651330022242985351667270270926989418318912796632093635883973816608974575922373206999835422726720950588696466130825041639289899794030363137421513653598372378867330595030880654269506236554475795607831214934991097235463442647564237752322156831470839338579893704363318428508322265389143508714548148629249982120120103305645714314558044793240773251818665618981371121525471552531129803441408079587418268259557934979926698761821528422789805398782483471190783751915379411562028139352094599380651884880420707310008065445958591030102110191443182862034686797800909906043512948919991490901831524879455962297033322040303164501312925178651668686379717789456272768545891305022577289327424567629205059797917158009778413637824337559679359756793908814635012207950223826056834589815950525219798807818706042119819355075570707523921155747168160410628073388958334075028391663665640534680016675737158940621399541546578699805602485213314708985121802460361550595643374028752597074729011651382594837457665022025079359151620728138308062215514234558408444705899269082958428754246559507906348540061874797325389340757441327915324201490813682430852195637085920193534253854675858612581057965991407952131704769825709352959551435455770072108614760581553324846539861264988885493589877650903077325489210690316813646863425488121995472652463900709004983374491826400371158759401493896137120669924861066426643217862993563835354250802513536380305739647779921771436970698095399001885321789046386400454010576454914019272989529329091674713281254395559470687881339588662489014325537650745147924568409631335006400866675230522271206247296897183367388913698608117501311725643129403133282595762190208972932479877719974655039584571976731216547615741152831986236111390150633299338500307235022765114182369473120552042744316543115978811933050447905256948318606050395423818150396188478021405138425361156086009625219259173862552903401481896305268075210750777597763004966616823241854366248382590739048877841667665284879693823731798595406508933268759825027536919539755936037510632082430622283940656662888481508690378061599468744299248639338062329488461604287366271397457538945645297096499530272858181742391352621071937903024886483884088694601756417171172363303596252296069682589244935563544187939234745539802340745477441815959932250204662842451422006042816061595036889563409529063916465378885995384213262422932188624944343167239170318097619759008389058118696749449357763601942821246424971362750825954916196982516435606159241332716403094568262283904045660914694037447717943047772027842569560353966754456708822555341699925037832897755305740671232581849931441741761105021114247778890822831689459581324942989356485140294014307577347027702674279528835625309905823948286245462038196158027671030933584989785270780908079359989794664761755369745663390527259530469442192274451441359158430794513037232457098988968491558651511661168519996609775051395412373449804548129319792472901829131015550780310439239517065005696930102844458362587116624192758757232707580930718186627878639818953836905330475283275940311279950797129416147210899829401552714945943529948990797137233024578731126326321916823714456187368448680586477567505380405791440614298177067415556566543846722561805234797041917516292371611879618953590777291620070270810156021076259945918361264919485446313655327261212305891573273023788246114838579454590634068285047573587577314403526923798682690046497952616104168442510351209845722887477336228308812439119368876847140221337253592128898577621750812958653543197090412341032922661429947085702182886948445569085788446005283307876962551393255060693455892289330484899478565446018425384583515301806988086708838909488187719987557286880510950974789636096919014813995681320822182633125328320087441418774867768706913466120581272307860350253256790957265601119150644607662071442717720083000097741610907177850835352263180482925920342222629917653113255958433057836400973224709434546993299059908522349715808625053945609138727303074470080374615283367554967789808648097136217384682105568536503405015938485192721170097988765401761760849243854447229458817350926930460029628984193829834106341526878099366993645481250457144736452645414483334132618153528063959804344926426968652120151016510342618397561606217387236927123926598754303809186737382858768003763034512880152449414450092793931737083549845567216914599866962717245110930154393494655912243173104287354111801912017780963551149934849024200264233388204079440613194957899607880821624379633619211014371078055143454737736324589795523402688487968047609298353276006079758537628410578130342667297078449990309358263201083866317735247091621248129337598122865642225661273143244417947584536214108726834759327155519622200370262878591253156189670109726932674366638282629872527187222922071972148943198311586857280081920099774571767213270480795801599931926502320108082961534895513175304678747776287697362605314901063324429321888561961841251291951719978459863960491876250027386480848296030770022346424124551956781515124505849869897310112865739300178356632660630598609872662474697185647183463361716878880972327331399993015545733233744997995803334380842276840633107718099854246153381455658399154286793180146056198683564512080598358746175519341807187630678092152354510582995073797423589703354640499377448899126341839259318959148170870357327062333882106628342804970852421601622490351067301044290312879872919456805345186372919587925634789847273229048778649656110412627365231700410089014622931879941969447500429727055814911660362306774362502406861787913567107912793744063938017126580713932670024005484296735084432070229024426197469654102386162950324198461010306615212874758993478921115257965440390373103314529785523847340330250031493783728860343453739231468283840120164276049036305624278831561735339474256928459263519045522021062751472131383783264629710685861029603189827330933147331850294993683051336985693372654994726523268758048384234894975012525400057433614144760706861197896082514061770544484415203403935376985447368099233549136787533823648276934765539237021087684670895952368106460574079187563498655288311296565818356308026697113956097185885573192128270030768526946266875690396867041779147671463835413590627599672118471598690351413991603689018052261511279609709403750958622331290299544484954035859360830544771780766844122072251373171439744755193685226292996022447977454659701610223644506794392904561941576478369926727796150648153212567439942655362749098145677108943142399274175170118011887294072154267714730590806965541669157317368136807426952649732559952643473017273421334572878838273558767565702857721206360810115162494067565398181152746726488142292982862014211517008735846189324219985220242224060541355717821647162702864974779028038615116977041392181327409814144578319349671672063712131717266819199332336099756618674826425845851045488387600166167893888257196561879890867631089931575768389647345276886484668180241538868802645430005686868717728981634290431549462425910373813390961029869285358406053341042776624088578231897475952876588393058942463108215668558417731564220457623729832094643659193389668876487054843556235211405161451169588789626774041888181981782314163043060722637332895527024592212345355442671307973577776970263894653621511397366334399559624791449721666926302560397244804233930930400450484732276291057098596240813302522815576719873581974395108905381688968564543324124856322093197819033173386344197311105483348355488323605115532594540563847953817826653941420567946412731506453437252004291807729836802080258385873671387832447116512496119899086049414365414866423875963730625286358242140371088454302690220576607774336012597363678223774467302893312983019757171473109025455406323851382892624235248975958686891615461930774230262658345600857510865402308785979425285073377564630311063434960641758864111461914186738945355839609025382247747088041935833292895831970576416611054257336478395541404114840986250005762705678666766692652816201536138715234401847556709462034437480185009913151500722990202093481711159466534393082208341515911729076100700335937875076141673807146121944949260627292951286974903033176242939734995240926470867022735144484065389312900183477738648050607113541949779892142424068426575943656303150097447560337132305161864298662192426866711222334327699364863820964542160392631888914102375272094108454096359040763562650923299507283216535511678161300231426665483211550982267287769317219454127289956946423918843100812150735351312279079803778367529325149893514316527276350406497722629377761695306608863918463629258081783087029430634066112478042421376145564142747186418906336948114101583300818107753470987337471887644545964782174479784005062874123602427003399614154056281533274628973287665711932618766477559129982824768014799498275663317440434818270453805775314559180238918506955690588766896293532540770498319487648164078109050121540065897823009282866216650049980161406986944432667911608053552721196069063762921429696481211835039246721117409831997571747498641748369023914233109565884991402547938624414044983736930416015783709261651255932851418956989348609202764085041205743848636682387740412657837371993512235335574928121270655958829527448316925895958878058044050576429946303303806865270741616539886487281307230594260556951437478364930958035170737698954747686523969482153001248400099332089287481277153509961860064125495906354843396935152185542266548062135796146017618343541364662870120677508652223717735730291163066890257214370386038786415423327458729393119861438906740316715338249381580129908212573205525265446014038685648533085702228418577468193611767565115453585507782579160436836566038416814868449042799234825384085899260978581314490764332170799499093272320943139026411519109665599660802187874477071477679489958513682775174044773115190266701267511097783049633348379757768782045998988502263001523719404974098634130016533863281675869862071245417577957701228921129486607329803927075513027057843614603709796507248323427341189984097523562838203713446479054920768961608360756439891115182057644228584795377550593998488588898140907878846613135987748379257374729902728198214631041936184971598208802737702851262328721765503537354893195980347960741183281634045245644286621439196618087481875180178105173082185213487469982692666702881030592246091488791745789379235068779335121574059638430272902385455510226166331532486169572366666458800241491487679079122886331941026680899552976634801501025104875062201394680519513461917416215515850819293948062632696309478142784732750409317315726582707930610332298814161478392833850459487200934333715707522539522155820857044159240453436902827276137331923486350006310597041102386932585265821027728110362511902949729482884273900922524764689069667873790662536841499152709070343797272952993068142221146138644101086516085692720269769774126562536184260083796912486561104881929678206257574934090931762584451475395772493101696515722242530012474516297455317895041987904548176007311907971762041907810729080201874671536679291081074906003020656129501326861881291303037924121666834483587934899677067562826718824886331591825642653715456422688210110562619184220544555857373477213481818647581806359680974223192430827216301234267888822429455779646853035440455894799684485593512811829535201147684104699351298035879530938172197442751047001693083114381994791755056378159951955127224211090327916467774789142719703333005778992101628290825036642591004229866201567106285937179594592202941545707414191178764923990327411825871668057258972440999760956415947789091364921881621390780575277537606485225369613398306123905373077584915096029307699987748947383128516562532502676447770984078966573097754673312869582803408791678300402517556664509693647074892142187918174724568766096511480210417892259170824235601552574358602652745632700533339473492170987550510743485913189509243196654230138551320135667044931673428013128107907593427288478242240100339779152675538594720544027990404663448981780838948515769529045613970439517775111989109872496544636014892640777298621673495205065228770479082387448953908631403282260910774558157280637874870043582549268984279877726094121647975755078086002335872275378472117663152447950584626517242021828421015833418787642597941809393871064123639212558847631256947019541823623594762755752278978707815194281320261865699739610492077735460271861000157837940874330299047575952909783370762980940878707851643571647256998995654332962238643012207407465149724236317814265433387267278366752276121296223763708621075959263968587255436810177089065484360906181415103954201433147511127346248587233765571964242792196164211373067050833603932047015713136738378783158857327929573440128912534507003486393406191733236618891189516628762131119503965917202545438524884886721959730160809833571535105331551080738788363036669628061162366232849116070534064888743792079896269502605631887265809539419301518419023950544752313441848877696662518935806393268071010648149950250378865861971804920619302038064167610417431332671059538294667222369585142793848141600184165283417977603140668193064791123858330831078384478227186619046164330536425446174620473023261066845148369380404331399279696651147380686761026300621455881391137386400004617021132027727364514816511245785025212420423259101021878305609670124345180050400509154072825347673887266079226671206083131888097372051238389780118474305577947374854987157540512887204475223160400502738334445159827694099123792910613685972505751007400939221857710947579776192147106686830472125467984857425530672636752279794346416671621583036756126116993465781080064081363686953300346538866143908855429655073754213632412407963071186444515122300492940854787039501513634632139624934474716593345603995710072137037759557863778156904433119226962373772727603591270514340720561661673947327230092475926046394040999249243520356182814690592916373907484022026666463259317849003285048571807753467259313720870608184856777194256670441717287284909180856630317534864217521541219277356461115068763628972654352444558173508545395812211965361602544047958205653420992436003112263844338583314878358003019824078292755560655973603659691665025936193243830119668343681288849059432896125359426252200465051352350018680800666731066064432067094254073305842562000108990965974580245651999743857120252089971898362743767512043431086387875764747829624573680958815060809716906813323444979983933140919254879105283279866232554149907322302458564457212700492050062497081653571468633598051715138912882208719102189805876789930931051397441973908653128192824516943038015371065781246459565015058358437399851110920747596054739499257231858100896241668248034201726348305038736071227306650859951095836952837437210734320206051725190759294061783318086750153893842552674440408314853418863409754842277033771763022055355089039953359456569418817461775013716614679422292126608329528669202083479560600902561128860731070846461379784602647276501536196324536707802748031364880874506384612576017817006499363064951365722737144734217823024367693377330771513545218822804420992299475329641084823542611364922830172145708595266319900840373985866210398295933761774811324302664403707365879151540212701891467856211029136072713162353137681278392773003352006341631821631012909071867130044076322569565431046062102901956592148679303804306007728359201135567000882043469556813622284730872105329241564769331502360001412952304466308142722829853991124142158525747096070342266100509437176305473656459695964206080781876120642513490873549123503695233568270565600723665973557137407665174977064765892206764197944593346087805540900511643676343147727203658901747471020639383566796701069567943627362106485841137610657905028275480575244673101356940261956553227270713076217670805510531209113220483293400296996682501720984904065782984220985009053133635502069595409198598748878269974331650234052428340262830378836614255739452219006509869020265999933624548305869481270147196771487193134427385956955450518768373555555242073307760739959515722404068558627432891012449040956139056535816691658279418064373369515300720260513862875678939182897095186689674432142838702199109819700825043951469116137159916705862878225710605870996585934693507934719413016644044262937055965747031151588848870744719483968292722663204015300644828027013621308785332910000711429762491312819247078619992887617636192117797672174400369951217448615050270238059478403700097577793145783673324733072493328459910902042789430003872993475693515027652740412031767660554314824657283531451080509384764945331733255188295905830859955465345304031409778326157639628852341216518491242813743171310775135041142322529990554576639637679077623988159999722375184374964464996379417783076797053501679515148709688300041442264920429239116032633234075435005766851369265163459168413117831507906266116173269631966966001703763076263147508829547290919028835298370206602779467689701191466887783167421204630127153831327120756808795608508199938115597690154201468135379172650604275056925065696143444417028740000120950453846204911398654757127988795841778417958732642523984872931748234940493160264018492215972372593284842253447405829922447570173491817001727528027679709013962948368768660250364537220768133497443726373203315425328969965435847003187605508480226711577319317838739225931141706829408726628500705180485704856566378235118734183381317360050807417176997579782219172082973927772593410631365704405074925248072995283784737867180370801109588344975314507699280347364778245344917581320179638195385046125099129121345451054473270776398431725888634363155653971861807322636518331139591987710437398149088341393020380472862864005954839869222575752257328911141577875537518469674631715442086570684922516211583406799665263850345417915666000327322643854178856174263505486798572474326636020522318541580119561136800479792724981399226681194324539653358252374032973335224728035796366876183735282180978827484945301997031512384646029272570129776418565837878135278839215587652001770909548594070938850689527035840672438887982726977830711418564254129962352886239408526123849178009660691354504578471765811318573644869529080611820882488850362915724649425765800124422481943754267760085800157206203146295885295572389488211002110740577494360822799394458297915494356977088579139067680363480999040342174641350568487830524357594297134807093430098101175084030867377768822740967154871796746773261512395292039494413797695121605070061277039908583616511815593993362442085452309000241330098159099455210491602434197879466699215719769611058040146389123607240584116851372538263422432541201533856328358293571267697784356895385856920681023642814271290358759719691971682034662452591800972654339643206822777280598330005226779593994947137009528084079605484816221673751655294684046968001907021355858829978652360722500542683156575090274494194764814055874306563744116778767491403269475263722695139994020850468499226017455040348697360254503359097205542326058172037243190643638967291435320243147489163224258362687872842383020837787562219191179116157044262292183340077137054322548869977622345206931013112507913869446194850000865005396286653546619474350155194189626998059560922501875086346880499075896324264402263188508389520897111917842677488274109876129399694406961881581465196931881016412936944757281381008960046516513844740905056738479053723755919403700421847569422709104005442047451681006692159792785023153975670530232162957924342862204886438452318436930131356396293886562294001078758259691089005935313755697278285709656968821613039463673958419862883902866782439961715736022860944438957780297996384425719083050314054413226649870421681848661302753271957244697988674637417543568745581838891278511800230010124196795439260571883126696774113747721563221082236069479287189509342519437877065926133127331706447343735444238504488131456250149303552675459249904714931629388953089822531365246214004026076566727003359518763963380246880889196366817388639208945978106343588619323791197526853984437169983286227340102650583476679338645293823106308880324041085796602613186517744847448042902262367327006502825607816704469110041142267917569041101553386911493631887004538833490972862725193314993465791787767019631559196054904988438907656952085996962642413595166947355583148360913630097196402877436248400990966403143275219884575517456363889860241500797777467378611116948438601114128964377954784491906371244234422028279310990231008681044940936338858774578448249583227727505064197441193868825130558048367250729158330630470869446299308195322390509442488439245874872376478257531316134755185247504898329363547922797767855703978728345764242873828687463371351269080831829362445181747460208425482154071300299821215195283340775566129524180292066966830553431950929971158048661052847810526680959547653093010330103017635574289994937519890938853514375897492214012975189094822109577077951704030698013074427205159589125467835965524926422765758349459107265519202193910457376206224920177587221097234973232973377922702533657716401620770994616868928762198612313357750039135657288838500404369697803724699624503514842059359044796399940598526282913871608945494221767455724568303936786186845392191461746244340431412480898283650444379053783609301086020650921188183977778386222666461892154875155029860104753430301400469113676340446436992313341293387444478386395179713251618564682942737765467066852334707293675836660764777607861230280234862712192171210980154879950569668187257770871256208146638684264230778200975954974122458589438897584015733784765817297351005391788897763709700697654394644385929736689718952621013849156169125139235498216599650716205422833659309053856046837379080348539038657710076381254238601146278085106402044011980380700347570896818178979209007020432555694886329860180082407507389076782461219284890297203050630393572722923575374769264627766307431174069988380253413459456245470511554941909550551297403371911546346201243016879166265312047079901209195824193451989476846361018576574894449758291403404062099346586490564761380110894874908246244887372570798065019504064298697701163407139609289475230803645471776969559122986915239681930092492561886910711815630291846593203817393024627815487597214486427772434120162405068686029821146592304572982565862276074716533984715391539925617848937685647686737706655062631351618864498366340346104276084570388633846329733402985335605266189050942398487581257148094416924682013116642291637937023705203698602611142292972625059217006271659314831208425277096076176483749227109132233756179971442727185367121348269678372485059373274133812957128017095534282220056943492220228853723080963134407360763044164299930876361683933778303026524202274575241200807515746823556198766427489065042993512283682046127376580249155990227155798596239865939208578115170746968252953225323647977940476682123617707959975156335598634050719824056288843341880518138155657079193857207647327840858195519922852421848390811331241059783116897612881665885827359946497435924050990999846870611422975467018426879595181166820391101139525667810240557713998963863767359310704252962840932051947848865901898299159983405358115133208903485172992167297680865488897767127484158274880221670178166927546956436684029985127905069595714559315143243152252362773717097884614009749653645937988038110995950568576392697870595228771130831275266074610900413536507591015640066055430799506253517040809817299950967349387067735201127451484821692130705722809050463025592375503481263115466137209639457705712658981572529192955951589826346842410262491914959626788508514649927380451616265227206851148053711544307006267834129516036466810314672265609175700628523002234914569901272401227224284618201777679744885317340717010416681075108909906938057666365138648518337780639247054887178815241738402107947319883967053970139610618446342784324186276362305414528684864723393022400469952481884108228405402592308037600878799749992067314735235666170693035532644363019982508262015011782465888245838862186518987913970455153059079658838567654631703703062560345448863650026140041854817872496921180935352634377195658189476975473837272489148319224178889377169623278400668385414854846185161641424083309604920036414676350710957934699281822879507041250489039911560157567181314242376073706558940843159984494409795387338621408256773477829398078629030944469306099699645973756585625218423839355763920316632770170927226482046009804995224123974955510034727584583414194964021640127942420645782120347924684394715049904864917968626578450296286855007755800656298220376001000115698534253770087167132219545870217110513199580255909112420558383400741541496122279424700429239567562099441464076811044201032869249853891129405562665823487631273795130499592102019952517596435006961190902980251547364930850746521021741487134279530873862730761933362801844708319744479386482649860174135173193963446307483885135975864523074326028570544686870709710619540999440797312273588735080868596583047723858994560888386705368120266148209952462406081651991825370640265179728522274786751553549391385010325573976277091105057483186917657529120706847425438493695055318057680185865309502934388398429705280010669012292044018438568932649975125593590762873149911387475550614674982849229857527602227372336386481483579492889036421395882352122723597975707670105084285911926413724994005057740507953784726349658511989345446664335528875927344052384104840363702449756104733636470919558347104796209390888940306138892140170369048841017289672768599273960920287418257983992322362727466672832720031852655642761307225181570693768712120420188254107181451611758063457925467539000689121216199324006118400947616935693181130846730874514109100653273094423119046842293307548005337535554826550763258231950222518795862749277732819324861720952298309224905598695901376901924892673734365464494778465153057593008714158025074635913868223229464121459976819468002308377895769548148406343032473689235241778646392911408223915430677117910407932023625256101617384814693935389029176991379637257663086037393048300429328696248543299041899809388265439182351427856714037789137907835466256166403983160849427982177698328351590317983013091774545926930445924260566328455331691158198208695414396211642711262626630205091279112562124196669677537108634924852343833106632282285180230227705238192844200562072773754701891491643899412961035801811371403613142270816022546023213869103174760385952824457745992285672126074228905489191604711478843833535372304530915509597791957890088705969195163766316016235099757967351713866477549619980406987359455982802319500914107495171493765290307440801139955950276453391777802504760436014418733300351913754607836768458659570717789878517612124205212276866755723450959500260191157128928177777632191193716609437532146793535095805323551214088904141559398069033280226995230116230186014652436024383329930658368254375667147525125461950573354416237441853715806236403253621487142734177675025843233188923231336307577017596258798142436449780032280379420608138126564164801599185495304752735280637521047924942509375084927867948422552732174534985489497489214129915304928150433859698540637622973967803061425527331830899066289961538457664323391558121288245501544944110327425432540336357104763213215430296137422089509251949535639905131033943179272355010604403875270487172027022017407065190382927394679716298863534160132244151708257958905789257655929062469135537027470674852117428926679225808385598823426321207849852135163517554970876422568757214338979493267251966682777817045379226653190053049218664418406032843647272939876206406123472173978951999850887561265279718993644505848397329340035700200731048616115109571194473770980249125761439634336717544780610346601777127617634834377612558862473510558574828063516674941693060588677226895762176246569066275500088468895686362567339861775327322968869818952695295970453030816805150235989928957915382259862339003457331119709121638833835363388477599916283548567552223367816947959394356699892935758535064679777787444210757771285850732321533229618276969798130522104278166802411028124411458209933102924529871972652653286686515524257674338050769847200165488667527847816938402596334748433460689734895403553156862575931761734141097633485767807197929046590325511214786465072034798236341782613733691077697149765210223706811368309940944602631280065253368188232918114750876588476561096528958743339990795908281375629512302301184498388097623642350981116264374916293576490058034829338571061145362316359656198822405056844146528407242448902148310616963614734712612728148450077281050316732942746947847473829310705067134957510650926956450119502056023624104145626595592441882547462819849477953592210904955254086411943913856447176263644281896717245692693568187221358303748976018165089669715875263086202458815920994775198847769722736548261903309147856506342389693693627647747671477616241508872508093735985756241451483024027895853401512596944042315018041323526882349509930724223293735787319705284444423664520922375025008633951407290141257861279921142581284595069086471467185686510330286234836667274841994913159653261441473996812991907103191712690436836676778946821708754965999573373366258768087531991145679531317582971934118983721251143832255418813971436777836109870772501948055893074771422281460656026124847675698289864399652887306345870697789457705518903634976440161881741973655659791322479212679106252423207060803475354016306272829577199756341461231941628359633471471664994649881251045922265036254677363973820091381788957636053898539528774515703125933216145308261596074762227447564860011295898438155676131731009628855641485515215142063961033162849849921348295781332096273236967411744327973080332704151224737057540993161690714647078224094828076847459733232752309106054581993532746521705087616339715474971776337671383093780999196749381993493713188698804833223579415292924887668175973600922288474269906799052978211060991855789568231401129488500104307733182487272025636648031122093098331262780399137246950806711716007956937039302888896712347440142897996864668356387377056913644198216173384291314374375855239771567189069016827031184541101149951581920464367184817768293774002232309685899832506384471329867301608278266509192087824581462431287517446632806378825628147886006320114660835056455465844696895309868085559359740056034152736763996744289235466364304875793559520094786069832713115946215115979249356890128606640987109429349819461675417860941992832757427005722375758811324531734664595671323839991397474420711952228293094152169135577469396528167838471364820827273167023968787846275275105586071998217941117361054896381943147977484998486701643825606870024639520623787407821058369817008428937818781364220735487143260930470788347744875805596784548673007510001403385752369343189163387234950276909018430317260375478139377930682238928834254090316915565085088326292159548113339776060611443713997244924515544112131970431110827528645712922390030327199332575998832322075867109285853414639947203527221214393884686209061033456632822440183104146429054692587657941248932978135374017431752458200524173286895362746770383937021522412435093114724566630677889419783215552334506152714587373804271737472944300754811684329573515450068872872018340812079658342237451310633888037375863454819802547083685052679033669359264698585656629745476326881648352933794333781248670225790444902721529825501470300921342077331722399206954573852448524698851743416550760940311631873755211529867139405927221972313371310647174625348915272612081013308322135544752312920692295121375668495766769539255561853218063106736490715499067206988386970835929848586588393196920402321409898123265044299794016285493557354681703458844956304687261568684961396032655180233396879660330457370080469494428260494733232487482669346163927066635632211234143540675779276566100088123426224005980416729972406630289104732730148209604960349776997712179103128178114802331838486915897838114213749627845923658279847976140321018268760741964346453789557594687325615128426199102257760946847269762218118048942703043518479552040444247563014219189399711823655792513058330048140336921311664130592110875528562960698230937547314611008810447299129371359164172586949154519317473204322383809672241552080149761937446387109931707232931032001472907136358571029869093136295845425358429379071573437248815589040489003875063471918673885210521619065731853099630609603811137981076794877916516518375520451842072608767444929743094763048287294914754872846293224907912989867140687651961928556859760992714015301397285457313757154977571953219456353687299620216339503441047416781279306349569419723037757236619947447560844036332365857961349573526879661696389354792058581735241281834237525407272246368173438808319622460864040756671137993553401461236846440838720880327489682647932663699933471592669637799275592608057124312704550008060670692172732982438866264519793284144985108552242391339188016751264076663979985780219677702197127274884260103861637690015390709194782761722816547854105608684708993640956937183517982434857994151111580779540947189323458152001553916270269810198765131457383709411807090926406105521863235188207912493759514464897141716452408901840221212909450968198953945909850615458852381993111262897636251184956950141809644412506225848837189091357485594837954138733514793402054368497377293757966185850116166464373657752488433004118979944203861241449250597552431428378191211236633286533739438379899907344258576589747907308392739006174962857006766842639894970429374296981631198971677083015411896607289922371068497559813090055713479802240985471957308012240183703496447819489650845980019868663084764739536621848508413832442074953668013434360449892611565092958911779736851214039048537340770617460622196482050948526419737370552526053668257511009215739668018494543529615356848048318282038509077783514105943774467840391795132784391162636786588645559453994805374517138666519979594420803914174113878445603382021365947815604138118911381375605465940317569639176724993381342778770283553200612890757038389257940922760192090202414425074909901396277798862536665527298890200927512245246332765231089272783838016722215412094097744502314667314721300190655967235477198526664806016904876523004793173686850115474622424728948637225976678771977728028921968105176068443683526907747116059653413811330569722224181776732779047452420197766635916997027202698888372129724217321370367247676308447391085427937630299116271418436526606115949753669453452068387214580468549648881688741805777069945867213445509694154917692693009997227342916731095270930587761190614287218698243041035202452990987801849726914183729677387810005146534686454549821970803217152393808313045471485615687172907213810444900473452439197018963303921427365387443735607434752170859739751739115064368501979093781162242518121849754664958565429017156876295715921658637625359572448505433465664729106822744505403713249921100647690350716445893501530225325616408373470479497680151084870676809448377599182718450048242617387118824871339455326636492422739081070610962136825544196714169388761777832841028975785975533766636988173256433161779135088476456516907906646273803560528338793109977198377962159624596551847278760915530242411789912982733746361170224191976250563708102672331788018776285997325889744462236903153035671310577345432002533265006050150835759129085241191303290027929334492622274576310416906921286404618141029025391952751287762545145731147951412724922067612843041894977280571738836562484398788551193676452223120897804542772706466934262688590633110290665509058026117340103429150985485269103136832681240054709393285062321413430233005602227497474541684770131535044995635078234368719730141575057894804631519060814902127388599452807152481468507408774245057118833230348672948339661372298747588528232595675548843265464517663870046010426391069234223893949155375536574152908015507029323073622951396088775422606901123284702379654274489973007492371322014303639710424136294312902740296196908700002869034989801770961761232579225147670537391467394432178381367131157381014435827914075450424378429617926660726335310410336025824207068224692311783856932179967233993964908902076673812926459535025287507064568803200406044693552737787665777476743325741914198332627311782892437138603102693985162709267222318183697837342975674852941790428967319519038421008375199316062565604909184561394944761164743515934513569238770331607037619218573232581860867373475023618226839369426897578971233116314967519417581554053517116156490087159417969852594409550766173159021075573682085271894334619862005421350469030754949183757349092226183543539583600778574850008743116487976202211301744538088816089490825704186574609576149615161982408975197029520211507005846848920508728919832652177512144449954484829562440506532067368533332022848051608003519015461764508398258798554982778631621838369867570602639074643854782302762561248991215425534560781707847387090352137880620775784303137305923719228889544154396994705059377434328460913047427537943208179883840535657455600483797298095936279365463976746536580011667713061965298065464878362599186046768555699631985205609388144137789275159046264382470872218783576483494071690700890659335213549536868246473943167030539554367996904847733930432323902901233145333125205890098691126306542707840410019316307226980428028408708976192978106309184899642477154615339348081066407840350325636387656110698391707198140145449672885621486390908326964948652836029266977783511700864445830306128816940602028438500599194811945288997124770136035990861325982463938729112633740382453615839632789189710087248429601235722905866799787864741179877790876612796162857562533894560020288764129739591840633480892183035858851164084257894219632396676511119948913015239293892960853846063114112466407538844870651580656990082942119002669085390871535197667109236502944737914249170753444445447019503157789544315488293494705262930860579543374616007325840935753692817571866250350233298661002086833143279559032656830501236402960324399606438994843340451339356952717786878297087088074888061803954240680324592214784294233124586830197426923142698923455209666604258902095546996766263831224736985502823725783686180009700041441477531658489834606032501562758976587608699415306744198648371498912612376675123832685082418504577153254233538086493837089255849656673395850582999573618551190452246218039160461596725095875863173150323202741391793992850950424278913609455137437463946720583325110753393612377068705812009806999982616448395906829514226404894893968134620199753714388276684182856881032954559962731991644739719318643689932488553609909875036595980746168668006264936391533390383977623258359654452146917662003321747965610753519695365626040237242967689512412826455289182884900619325953874831152125637248021402566169207397371394264409081966577713175625713767386593973233017150680813436424258354477895068593106105812701836685434616501229598831310624194501797923152839718697805259178025497163726509494591478098334406966146765747414384729366055650654043325582327680151333748377035567078153514683820701698251720308611784751234222671914784168500077781434258959349005612766720415793542846664350237990130395839982680229963241498369232677260854242630866568699278598936285968287334144983217578176769889616262467421715062543258052755308329096838134235523071323620462443672150149369657459635542697045706792764927763171652768484044598223733476390565003061697444945740349348139529847003258401410124980510543702203900380567622352362720234662459124839870706475405992154650351004957323385807055492715253823098756786119403137235792828010743612819882262628284938444574775996666317819557631833095405583107938038646949586748581858202236337759437275742547621662206978925486439280903124922168941687689286770107879406678878952940017037680808251387333721094259751850471726833066177397012334607490505673664543999239978561926035299777870050923566429276694304191283547861112325732808751891954787170443890947808235381476601095125198285798574536527057656524415473246654971575307907619672490262385915164966714386284279310688966711011329815093567538508508717600053677412684523514753337435679754211264715032278614603784597409530994212277390122643482261520384797601327081632393182547137659916552271846731166402679408708429824227080481896461106844252321416157021337172719300122903751723541583124652922568536202256565018518979881333381018798373711999415046309916087622719581895277747421266645924099574817249297241249000954948773109001670844982528691939091123460117287739625293526970373600619989534630685660427566171241015961786890687819506286813762558390149421326274867951193178952163441747750301187517802816503878873270509191879202685829673554373785203911617587870514005435639721948536971451698019201016998863065968114077226184264914018294581017658010218082362257954421681776830250072100962234070814093073546665649688732762175321399771332517611353687041751135814293060477289863497559276054610628227321312313976174739063898413282099634658194000218494681290350287300809088340940888300834334681993645900301296492215296737443424438489864028461972199200861435000396750601357075366368089386651587030065853636713119160255049103891106487944807639274381468504393248255523851294180508432550985081508436131483117814606800988231585631958667737537831799134857616291265422039921300864982268228601154672460624587064025082275231853551358546646188283693931933376861188659847874349286073693695157730256378553143166737231975609410635019927271185323626136061927730004078691842240257482048143603661750877172628698966250386491060600495266909422305615198755726202991432592948203861685276722260792395556782307239341332447475633246012198041034013181127042358233317246008255890806513047948086478891015193843915961863137894156218117693889962646509309390004531317706533923094056314602658603527411202851881057759666475414369591062067565722786027626095593298277933489867522105397753829602774842015350046878257282786318444165907957964938353270040722430293633672528828644305447716379186733668646450768135143212579699405330220992799698596486225234737607842212332800691041406622815437806308712425805404409119727933279934181081186290341648098650448895773131393137530499822460580141717952658290733320182171271241082144973678390407465621997613918867109675309790835290930600541025365574272537936324825687730782041352081471196850312976308720613865285604214249799316867421737532325916158880303001469444156977635432460413796447564113845133570938959055422234198097535421050750328202972562419169541514519029050271287307778083384403382418090505996993678086667751060770315918955918950543774592498198808002982398311803945341931123089236210179009108881026265932875735280877799685636390614154946831968049881263075916186200857158681496391336136129956196631686141997878681410574595672926872201265670340300195427519785690755865471198889267194429678838769090608499628851167763579355289215502118702442104001674720665891791506478299263865821927666731614033100375271440138842648863997942247831606521766399571225654466127328652828439689071298957820054974142005021607920135393958728276264437338618902184932311593742093186738236973210135945453115458674156709105938192464653187923566554313773556496665478665800769863206366752452370806394841279907416553567342009646093162772389085052409844455006540923494795296051372461614874908025335028777670651124670289351340678560480783419594190381091320268978831647320428911918427529365122755309115207605208805872832291747105006770992702952513732334731005231031380355392854884811392624207444697155989376903786245595875961441864422129941524188380351727047898742285581996322234880623023832230356495383791713319813247521478514670206503623549433870240498769696162125242248048630397628774039386132250886262474645593007023470979389389373206713669779564692927554160236891022345561114401747545543401833447112556414573993332783614249259700328952421663382800030800851254580172901639455952023111476075094254943801871983644569711207561047888339525672672157686374637149485093930139075862965474346359861012938517029913625922111600567922797754157501739081218942124455428847659256428958961326996660696344070493921752567441281184128446206061322498497249858947948100703049612161061923695475178910781645754682813273572598742946610799608970728217675690419948384078726661767669636308322543048586960320277635729340025827254659317813270049355108861525850065926997676023029737668328218489713481794726151051216393379958683857173469008155993135164684135655094162286738368711450006327598032960824905679346778342791257619822859296213820281459743541615862014916212731308556817703539626083633540091319111360772434671620387353720191371068613386469419937034035876619780894815846604602321252543723013876600924001271345231076856380725496957575752971204618646887324203499664508981347152580927964649507218865018842124267202493024254564817903006270781177441046945973195471170269368114879478311607830770052376544979227097577007850689787766863197186894291555438091296699500295682187257397027474295016370688835952397021484548306870210629303518021403845498124985594138191528220764658723187202560232825778550763042940470991722467831388080955719862194914304712478474327091112052482785193038827004117244420067040078093185445520463426985945878838949026792299545652437057358296332999684081608477423094927790633028992394082945921616291905803247977295477155880101187961566629907311973216587900003944731733656541081883591012258058810810478091581950188944292621349439988132843808845771397985968477957479809100713258426539170920009732497200518888273563952372482592808714858873654687603110323837936744272794529165610266244924856671614275797309758783869632450582305900847707664082961287748980416823173601550555014846271579711435398675832124375823681265535016003538249697548817736573086924245684969936638249705734911284784110987624552364322631124345925169307207440742337587290390554720100548732057705521554020537264120726054485733450334810159583438726288086664121493724365972074344093247074102489422553421662095314539046821842625961195333973458599978823718744425199247113562750920640353469623309372474738805799377090049374310743787037055251455853399323723527472867948069177310685102385554213428092031150251934916097684144005632794921762025757946284595005062991453596645741218134741922986046285898434026040809736970210579889762336806357999154373484972412908763799265279250777095029845630252661731025277842009261515340602462304705551055312445150786501880097764999243427677380363288317782152866194527098147752883529782259858382527489500745875545466524353625382600815283454581767868962680631909960642989198924826147160100754889093014107951319216039595479580730131210072750465110253864140746773119836599412106326462311154597145010010453864051385371456251544461298278305673393430842715222983991839769975458189496549882124927120186144612810652457150679412547236898974354760273366380279924256199748850163406148341944982181395719914859659741510162569265098233628909237045239630785445060039727394295252383793272216428807629098453808403995630736810821405607293282044471554532058711409474277595455256118617131039610629065461909767143457297404102951058655675805120810552594524655328062995301986083064541205417615922730195079904741487045893396518110037635576894015466908619557834491731315695840461134568449577798171818072581812437420799178684500518081256560189725738981254316827948369245635977269770967368912014269112927623891291258730144771473914254653047828137330972349999304059758180181374618951305770429171191841953304725370584679193415167049709596855652166954632366639491856429691545656020039043260857884283767405450689288885221409952948109192079075192414536017715213274145676518494926947662288526982712285294336877364395486906223934736893254482233259145614585685840594346415602830540389551540384213538988285750304362594009488604380276120868975647660416357484103706762431659936868545259810783788067483091450313440852029226921724321804121121319654355808057862369336585270355906630350643788846160397478095393447775857236570559038817949199100290024166856505404505825571467909674394921493412641973736963919075300864623205769602660608732487517991548298140316916221383875229022298549243151596872584818567184067257959318855655807126182160623653009992804687140297315413142369156838546433032280225919031621234464100299242921072075089264998200806933547033130888826407068594723334881489339469624508286460273841129611989468703208734688982605344485356410143460156296998422156102213405450147427890532672470968205245474718618434146056912517668970901290226517443690251076956177793314421538098031157754999624459281375095852058034682455555010955823433912748674378256372031433671316031440522303159605409742941722758546528976433431599436763539321987785493059516648531269940925669675942007617983698051564996509026235620025757714251152182010550924358003946562782847110629639155052154144945731257112981283520645304907398633130942209118959298414747120095278048413301952294084661101180265288116981547858694632929487198644887388357845711175925414120498003366530496887960394276218473603705009337246846063473383887132199446667586813709954916164022382644569323486994595169140101963544076674069664993855420808620138140619057082340801597663576252162389729325432408009157068332203282140365744165273347829653383933318042534610696781872953225197107302343073198370111985849457331809749563188551335237929735858111120036796883350781025656644687991259898754370042776990862594458354403175716408511324140045451167382294041393947369766241994650236766274778819474658440494617073159675882776572729373660375256080775878931007715973954796851508065439661408019126638186068074736482517075070663204373705662927211981626167813165283538345924660575996424193245584220591347130216462343384137300660509882818430669756707559134631703714557799575115123846693277563314824498111411252581907564854987631602564864985057811774346609046032216843074872052307175928385631935723661992635940753229603594670248462357304500991977560161017696925602624278548949190621128973536427855684905566290907150676010944511903641270925559092327057364885505461885588073746350468249867920187048411468058202206582945347415170159094408794692504065437676648225224474474524072834928156638244920690935694356552761697894172176964168576448302567866633372561362114203568456069024620909264813726731958073125491586305692970196743719479308536640111027830955753674651544760196565764597867290396374179188999136134190686078023261301826349727079591484501744921634007634326808672629250640953695322476212002761376083059851662625025167579257405498460299902271249916951995465441794197270639468630911970694950222717804067939920615330270480829192760693834410424569202731067644017032344566793481555632007123562453621323252543301396656605098758302888536979983962164692025775263944511958260316700009044732187236415102779123569615485027743005780766730475272480439774850464584485972030325700214531577904461372333544218936912977948022916295091023643428369072576450215833880703639744486051270579834550204802661239191090361170973037761389791273188740790425414206188391803136191703252689586348539244294307783670177686746275514617642764125290077100168855685798606156740551144893917049955264486353919413958021789155199032007449939909289134753789433537808748774121148190276252523000146084545242591135923972333539771363989392119120755562000206819243126177799256960488820459072713114551622546385124606185607053202332646934172690735163610291050022410394021467143863675783024705869941602927404203729453894709124164317989913265711762736211614700244096968586246784040884423802573713477319425730413902250246787740878271527917004719194096642017499210481171961073355222160171066745375181030088366292385759034074324251694330924663622674525414591279268898640172749501685655084026931317601521329698646617399116031409680908031946022111023693789997831155651057442966198561289565563553120363878520521695889642685734386914506871831438457475196139105071292309219611481268235328448176520872945773094514020399302052479724723660288150783778171925582525087783056710161063246281324101706758192384392314169403075991801065183545118947256524704254946863523011539548504699673858494330456007975048316688422968028033969799511780081443736547854817161555033537918410282193565713781939920434024494656987025761550642550286755064557354781822347234777043324757076115943493502907150867562405114042366101343428388743728163248153972970860838803932531486353561708222884849017707356158580427340139561093886908461528317354337177107708601421820527648601266955673510248646760358067063327442662357398755213495811482881080763424139013294921005985560507451880375694641384053962128578481944364614572534473599820946618241291081508969437258258443562952852257910899915154049075734267383593520098705025074084703134332460581846293317290959219617430380833785332349270200449414191108636709476153350349535559892389423811972144230925927667823265970605246290437372848213960144197477156732925663917106829703587798594161690949101473556683137722865007793838367550106478876749232840759721755095077903664656358403536349179459808750835340305038534281937417937063492731786982617068858215869370971388930048596925564426912114924005797691013564255000624133908074187722675221915525498440019328891706718917946822393860240609132015132761343313616058356490465230748519569333107770214015974916428065466199633600038735642335410078679200975861372666890344729386272805530468231534201695602361930127521946300533650918861478271431423809828024592787517157257083376607289225989439825887285226702348419303119816426792201023050882648636421972747714422670675367512838213250145366099505086162370364678847564093098372926950946471930108128643840360097851941616525105786264493702829739820732604625336909985284341086623333363353634998482490457692628493249803289727791456617328628294023973013578154328879230469220709553398394629862126066482377857733691517181644279861281531342962078784151075883274468750582045190066486243459065306991879100333111447517715157122186686874912754805143502739113552920662735904419937262822520589774112492702350295703045386083569810716074143482548011876505856869278582846317037639534725684792355018479906938114517209364904212167241423297439690047377691412239843765042743124438375776568988658136130782157666932007618242849508004051029168180488674462126623431438456907541039110095914020779428180927389164614216247867143267440921707088109240264676315233891643963501745827603331556750299381987736789041457500172655912219519434060030012899667172897301224397996494672983702977473086860226563910149931925254472613909785467385723224931391833598771891166571777623061164090786035860441701967400993130854124278972647080635841184485172617208128106782604982712214984132233235153696948080393326159304406685599981613954889016617629535836358436865847206307168440142764454672487374773738285250660986371007182009691549417083182701804518065214720224426247460019723844435405879480989204769250639999958250914623114798863170001015757205097055573218514737303613631873164140539453971538871843851921960562733054004118306938126231845889669849682170202971244783336172793612679436336055220705913398307113881681010364898634003369507642444659827255202239035400518111659938955222404076296707097640864543514356842827633691705626641278404815606248900997923879310435185895475219169735670345069867590900848574231263023219062225602031283455472430373684747433289106780021014005968108757939317895109760794043403093004756108068023557957465572507655601627811173648658165084492933900042700300742478405901173309157321329523803498872858732693363118752067607793981307667671250138385294755401921906331545764550837285588215489774137985983936818932189832191030700351946794375977380768002843357414469128264002689915049731694287375986190200225069560513971176596866069246885326214484024561977641803728628735115082124651834145317535951311326564563786794758086529515681675635992849558251201187274828208409456412746806251110807518676343685671645831734023641426654510431096324300902151329578224535826498415385338562718779878294611847781019988367741319332170594272102343713327595284654692548315920333094402826929320198830600840738033083190264225482410374675008521998148126570758148656086204812699945567388521371343607251258483738921867504905506653697378062634534171908052239098457530523995289791063427261969514123455096545854177750095237503668151901183754372182294489942765305877027109280539812851533317216221878375817680088311655958054351045370719393649705796623158501937492925322769916996503581923248328124158107989181320783520599221219686861021875777271275151406381726793478561285831365772882021797990173179562224755867194057969509966314838124731886031176122756511678967786983393165431230731647790533828032416337133764381768239817216279507769912222616538679416423130352491957842282357547182196366984582558852223390400081200752614950641776326749905771762906990912992304807227241436929837577288309615931155047034360598366807263365611190477549300038999183141647336406524985518407490736680652567475869539725484829848716556507274142596904378897898152960012458773084357133351915274872568315346809542206198258027899111509994850623335284650472942141609056824359955638810215097933077977418738948045194608138582299725052672773123589346237178998081166640601986636865467700785233759498155133760195798713523854593806062858643876844935206024055217446315001371566745260841045495377987065636614322554872381158598634583365085240568054851002668725285942984167014153623389802179424463490808091652752750708569564484267213946880368344766416843736548855018841996680754170897599904297215939533393266358588962861334264752105419499280511581660168221962421515275038411095359428297848865676649797586259326628386193361869092655722144181273341746943340619622320348589886305392742044682016168021265883158411368383852369779285349369706470420797269935434520812997984511654117873368748143296567819203218912254183885424390350400809750241163888377380955736858340651152549223773393773624426791264641905804419164916850335344504551269769885965178658614510380227721451784962161255741990694521360572792327177778909753103189320029814295753406521012606219628059051427716945481264315078346745251827859656419972282880072127212024372009831978575194276861756106896233043369697515940496593113629498976970425477259412764083292618860827179079931665910817207627024704924804392217302896664039849027852767330155322231197591447182346466770797236424784170615213239690364581366012038797387055956155038923082025390584259645245883564124244443224352850412070044069301432943412739686229949976600196859916053135858636237543708739206910782099018321313068616517464441947687809305716626606549348404966072258406345074104771152839467436093232512296411961507074147006361556271399546041440561590876625608133265544451270830020270913087580043287577433361807155118552799852957729201497131660557274269546060579218052265566368572040106765659051373808357389756610843186089580631569277610760654618224244532520142426470504721374051399101282409659123192705892755248759693087215523711920880401261436771496409663898811784138723997108552921718467422345637261546706943344675531948599469275360000659898749199989369391525356401330267133888632322687175834666779309216737169192004868437200846575230202973971418781311859503152338071789359203624628056232972875186850934730662550366346006905567601708826604500970944397517428894780304414041690506519995614095772125400420666052990187557818599981834454269165606627731079605164577974043762378957155143960464569553221635221343979210720394388374790881538854962279981367332392790573993647059684352092449788003844216742802789635707410186962275783422747135374455470311143281666331794931756188347574182187180812419709598463669386701213224071922505277439213083719031198997813346379972710492016093627393353509377267577458760725885066466222718011917989591080613185245184431075520382264549629017296755950317065992954507559548270689988978412826762294346421979537792036014882445501133562342700318259496295046021048687242332983548019998486251639305688343776508252345742108989674469141348275577220579948261689843000807371342696398736263080092501175720139593724878833290116123496288977046908656396991580232645573220309003986404949308844924349055398840078885815335104889508480444987261535076372327544970376599584180802708010675108315401684513624834013689625491792465148770333054690204607894222145272013339297303812870749575678943398142737111418130700502834645461200034123335629113189074630801663163832483714137237183973453843463897395581484371847734530658089560597873555903485420795458460361086435266726041352001854091665298527336709468695514678103612247901102739268751623156943416269970399861410896630361761760216778397363609108794227651118138111723081331486305276291370136309450913956317625066918023199778852387556642375199861926933567583507408839223606970466275986773699212602276095994076788939706939983198128255854030333482078102557745145489784268741294638833405377625242961908920873678943739375127692543748886034166874401966091911068471919611105604196550369089768664727481410287090773065524148652084606604170054874233306540398189847939351633802626660673996603034384392980280744505742843998262826891650278135384681129482483331235290225093303075930193518282180440411648162394146728041181427737384700624878274355884810682066297962371773843348950252079775242184306503868379292211486648380427539802493439327401485830988722826937772910908209183554807547779563412376088310536202768287751931535621271836451140834462051534334794648743468412641412568950976402693874357496133260745226030723033216979175431101632441692425122484329846214876314714900904286594693249165103390342109046086843348539728635280188102074642594979205208939191403788442282120302604516114998855682559101831238936424101973907285179916538155574575774951722345859819594061577285797582675064337147838175913516028521931204864470371923706334953556533862153237067756385877826670129763836375521937145989971784909436613433457934211710202499998118261793238371632904399768742194839853576079785155273893293398343173411151732410762981995369651743910682438893560873519725923718781775936843612013700592712947181741985058283059644971676478531938581416178643694967344384234137236929485541695981904096484904814829026753356663804812474996508125549811880441962230957172690143085819884869170251462173275588119572595253790622442718216357693396212383816998031884012422691626465710201492648314698927719633479204147534964718005279587817012548232177598378805513180172258990867791328517913461446569110077752294215826028660203808600880740551274985851806452325967770447985365252811340818675520429409864832436706743233950165635170744789391247106508794111381419848624634939359212026694491240359352082048986719551064156035935023686904646016046424172647724514643697102626398178215704354321222829382576539692284052310051375319086784622373749388126540319253032151941876838173063809873074367294313465248888178604257423765428578632789623090785646946385854733888212847317545493203138266005263949601273633837205180293718282431964638369285260577480057427198866019781738145821670011078599443377736188660985969032251994561977379018196063290054302523244961472304743551052818318320744857277959408523657125792633019897338051543184614006728745990065177124288255548587639874201535753657223487215442010237506514183719550726431177674758875379279248100248165803970771238349692085781410657197521160255256717601481254399064955450186386904493327919075532723551236872422374591921873954984522665751602477607705474237692669743055441841310705134189157142447872176416121269318456852081214533395678945928621649487914169983467055275046610592924792788741212997104063746376430689616695438682323253383300483170703566744621181197281897651579792734590478097339055224622407987112211182587990852748269873997033459827425050592692069668363831855179429184826515217107135985887094753315956422004498419408582651383059148430496923682260777500691107353066577691272384118756375124192345191655227286418337964190256103885162614141413163227142736691269679184008189349117396623851304364807447298728516975232814596751787586363078051292028921478424844097779590662563310444912423247442772135286264710875065052091790171320294816541655198026928640119377632026923791227624913374491340187417041726248288805865865239388102521629540426771894534608699607801586790215399877261484342995963591198650425000064260708240680796724216160877900281685930753619103525502029782433091884741088145561450506541034869658464070053533546947502720775155620034537864636456876448945017289145024701775207519763546490544715303418538692679081886215630543518763514036559502740363417227886197781509820555638420433001290308839662055037431536910218092261866762362679549967714509677032601407471062594206329589845387128922534788208741619341580542384985098562809382747575188924476457653707098723068307418117771159580986342268137542079134190629298524856823863414812544156786482700474929530482593616243130353531892837290719268967326960420896619605170918946131636839110528194575057499152759012544655271867137848785713150529152733530877431788694599568503702365415694487640647216414271541046276176852289208199323503867409961762134178821158350202397368656943951864695655625214521866519572968000214835325197505472023020193937103385069915493412943948088658795454022377773435086537843665682464211557076827590588173947271922908352701145038002316815545425890136416929356883723711942986373252925917872291643400691396994537574618651947513787575716609039926620062176749882257656970091913599019529833716629277057365252311788828969992114111133612429372063647643267420960204047863609597203847076576645521591245203775849149547296990562586087624129379774844545618226071764977129439456001535867255317118575137748887745660131408549307821518555873320157783739936226103323889082671676743682400536099800877597231380099083985514815228519264100472605674533357412738825376032955037311796880543279664700167421696523616986555311582849106150900115478510709292098744940678817115208813226820776895775220754111751999683926534340194809388799736154947240603427133843872414058595279040011810395287120576942144638091794032397047022954753639566221846957539264070846801488390400095105134947058157154626852397980347576106792383634302595570443579415403009765959250726149549723027221522661158422062181296338106359007756879367166297570562668055995740174749684680916446190025705336089351102793068760298195854711897036748588877152984399980957110774605206659024014315079850110613430078846962330435258597226158698672314997332233864545423838339605040042870103810866786411509566289744668455727426772005317885608374966963087456560528276439299322874588767591515180417882543474789279777021202331458704629681005246032177612425825220663886068514043697259919109181629616190526158193719297541104998472466143124554710521725233497393334436340515259271556297521332782094446391827799994296684436542987926195390858165851773428396657901141622315095389789250321990452693397024211867569806342393936526470496723210910526348046747994943147368745228890512946488164636359880003715225177574294863943642641344592673797765882721258976708496951432767530928746250065434867992879676449099835363945099371791058892824519772376217566063226363601969244119950089538235749687803539752822721450073679834160861738114464806154453731917427022488446414023695276690083326870177683320769317372803111637498403570754366504488312984342084765086120243412645596614411563803565258245846731451814800673616359407956167365400652491476785554362410917932084116190438864160960760132633755333854653258377042430287935498447169698353684838884632850517209976560972042708235494535709611634807104125735217737358960600590252533068383191593168398574955159897448811527977149261513115668633574730402310429715205836605316741369330399484871886159091383634114480270039467076234274982184733454631466400014236411498440289957192190425362938567080423025658928686446994970436287354474606436896759454933250696160773530511325936764233059043450355241744780408914643742721515831618359315193473572651516610629340469990143562930418089365056722998617817896357901919730256576951780851346429255254320302493665392775957258169044478554333281016187254671321071913041541528957551560289588807227133300466581398103068254802378001587433756957148862493845008754674142806925186991362395582683714037385005131163537258647418452023338231108971187989149112862387487352039997202995027498977282622399255999212295786354215188038041346783988131001106998329205913255999440595754571440268900883216340233220483413748548801986072453995334685024167990050865506802706030700834992862580807298247661440836694066044467157643360023692009791707094416918778176660209811182334454713494041964252207912720508144170756897813017628556042028144675123359136305855990108943065988404394835650079589430525638201156412119874979126272931634372823635387082622275607669317610388819621398916168488308123598525403305154776136894570708816578126848487826198344407264528792790148352902926442985268225576636660065150818159730712638722221512546621587995829105489123911896254623848576653963585412279278875243632037710720423150485302931825480982216992840977483060397304462588491750678160944920151094936004936417711445327029996945134741017950596879631533804277387425362732720809841385994038430993823603912137793084780563017659179678603322843118548373279527303873175623014083528953156430319947407329518554329532952825732318346316241013909990630418504954902302134114150506965051699942947109894689347188835990000241690785433157336623679491858563760621686973070490137867051461452166479788796915908876414767627675005082720406184425083910867130068428034500288233854985796876218382402020722759187458810363320080719703921014560210714827754309885738331720465260468869987341753661241585261319091699372443987615389394989169858712535189084700186643317734096610388977852796718477682152308198814518691165502016343708881293345159657492614827142204768719594980480174878061801646035446553101068412556782766443266815739444491003666526432440164325840590986384021240510932079214103465942121247579767424783082899019291446956269940563614418554844851316061510710371518091623996085427113651686975926120856193105667911409766840614646524461354405308911497675942276009995113704641209389909286297151021740499118904528211222122044946511925665223855144368271640106255792380200233646311367602352321577996748685754095024545634373785051525865475624728590498487756624108578520991953540911069669198008604335465173064720488794369054257848282920891834585160895917131367140766048699672968705610848898111811547758879516504525928019430071388405317889695603904959281442416140097633441423711177006437756893542776235477983749440697269652319312546780488383719843011401828454643628766858258866927327330465171600471435761231873550872041598035877187888182910492783799512174622956265938786261268323670508148402687773907681185292725753447584312344765101517221845591121307120051982918552963419400297105757011389223544884365002974616646763280638905520903252961490692480841172277487006883360151079439053763197293167442017131271437278785873477018097565658015615797686699885680444897582293193639115471923530617077488916200683712685081209681006920733045293579661579825218365438024563312286254209408245353346535557382215052596953319354016660174384123262370281672949911251410288588811464883610907719362590224415499297523073868635959668477744059870087578485798168192774389189738649135242317141699509554603966228747690875932810757279627997058611622896965113731605549812446774191296775142742376646807685609661556392096298366651787842391702698097560181605898462909294852454328687572656823116232309364964547177067779509540119572668732489887615237447122340097757407131658927860729817587148761948496203323054018595678508988830863575408753154493911955506146784446597407075978247854290295364218440358825627875847897567010369948098445361529084712128847880158294789682707606950407166531100383598968744460104460056665593568933808347467858343387575825187985719360166382844589024665607577641731176451704624730849363938595562199789954565428637340473989050171810700085550806685866417115690328395494713471704890399225940440647984298413193579681604797264286809597310868924463966825463211125346833934568147351691324716310842963372664787968919688818072631233217818680261895052815353701498576443325790034897215985586801772720978561942791413784203294693577048520257461449619880509244412737587297678381444941563606417092746893827248726647823645951984778536239509512944908770754212668573002305914128011472103250107476445376350352896457630209817042643234715208582246748723158490126821831359205257287838847977262943239729257782881464610198369284423401345809781198726157468756069063743124000330056340360237739523842638007223882002270280852348976562874891748995737986709106857077489109223929748896039022284510982554788748758604871974373033859335066685777911644461717640022755568252241940833322418188737957920148337870302345271585891153908348043811497999589056919940489135150467855824813479109966095134436538528803193693942877174508986010512639802069499843325390024468625613818695070731994257296328178189496842465814628902464459074462821558578201086634071818092235915901060092777292664013648663603551094207148977811044646463337062499570177718240210565649607033335784172946429336855388532576755029547062712899645649446562986630322480804758335184713312793488304566387197767913393486551812238938676244330823067247803264665912039732192548210458949665320712069672497264563489628527217818634862258057899586322967347589576708316056813957184503525394274629482545968304430611959042486683325191760852159759992401231178509571026457634101249895725692496260964369174356607092924954367245299232782829242130231721587060371943671305961726262440710759827619392617544863611613099841585512007510035485701419939226225564945066696192099775636035792309153540141545106666942338041287154374903015810084706328441964969822445886594160594191176586367375932522159932714780638660331231163942833170963000815450850775107498342929343668459276586260701059868733023330230395598998024515699711744864617025248340261939019778267051679215113072529781701288794929345871007378384876583349438457259840885030949903797643571633004164213799203242389815814531132358237592834112239626317907544493655940722398728528743446891397812483542737986219689419912819660721586906848360896917785700702112797004949155785394052820505615920023328923728878259767921510799417952128929068536340198115192859936217453410600929576727380773226503261092320787239021800295749678093574187683282122403948219165031364381033088578948071765698298620910546671053033732610581654605937250931