i1 : printingPrecision = 2 o1 = 2 |
i2 : fillMatrix(mutableMatrix(RR,5,10)) o2 = | .66 .18 .62 .26 .64 .38 .31 .43 .32 .46 | | .54 .49 .63 .32 .51 .66 .69 .75 .57 .26 | | .5 .82 .14 .59 .81 .89 .56 .72 .86 .38 | | .42 .52 .1 .74 .75 1 .29 .85 .1 .41 | | .014 .77 .68 .82 .56 .59 .54 .46 .15 .44 | o2 : MutableMatrix |
i3 : fillMatrix(mutableMatrix(ZZ,5,10),UpperTriangular=>true) o3 = | . . . . . . . . . . | | . . 337184441168008266330537031550457637905629185 51761065233841124715876367462405555685573655825035843281791624297814146190082136453200228681998760420292149745263866930622825922051275619150293572301910958682781748318027657532761069324234028924223994703464289515852702425761153974281550393723639914571221054663522734120402192912302840690076906275617173357802721648713048097528262380868113623497334337591429234666497002556576104574669807859326997547732608143740494235514064360252553293767550509941379657058822983681767899137 79221136326288413549090453617582214988603149380032775393045753873679347103737428810698791647263113706575282689198477135930652137291317188670030006057926509831856472550143054466006425134587034426949120010210832597783143689081004098970652114673282224426184172485773967049733965817226715156969648131835381010189470025770375559444559659305270898952170617343578663720139463438305206193729450577009951868047317341521679722886752217921827822705466305632297648679105292595306982225729633137305184703173136534319068330149229142960259210328722455601450057473003629441834416962669954405564521304502500726298911194393554191501157954017925309977598836623748100506311537547090223313424323313673085311409323919977212070953990949404412305207140907616619412378270976434206887105501661848469182736298770557698748104969475842500166345456724876246803841548685455561851856586967869889986216391448174596518073583228454703935275996041071738034755239225816281721293011288588359444337681021846829274952700086230836341401062887321604178406708278357480439226036171803414304571700770050264769130291420603534822495795966981715612394351588510056912232508637273573895372779156159436797233748213294951636931736322625278881149941049169682180025310119656903852664689348405476728233436921288688205034751242856813863451202798101231235894933014025474654357904163264189792879110990531247061528782494741231885291482973616690359904394443018958369073484128300703937149692838128916254439952768266768999800895221352172804608885628145520829329108509888656265795056847497582709463200002373315731960683089450281141672128908771066872542843950397795050900482861371828770525181267955544208230938560999841196913163882946371552828126583680248944964520944418180558701521838650855170095150234372062727397690674991347946365752214498420657007149585319909260780872426315558079608099072865828174703417406185318728278145026184310672633645641700732291542811057990742838365066341014265183949971790930431087121056345347741501667746148234688653065189269356885872908647581204650438736957716528711548574555583977239301969823515430537595181395319473570033411789209713074292228145962019286962544117035974563318921268241513986555088394502711032433789248734183877010959345104750102614262227563661010217640141350231316347211768763385670337883433049195056061300162041862964241528184097908283230852906666992480893473206747006312106694438401261591124362380788902882710265313013071263115504159140550179707220633782158597940373880726872858838789886163551228708805088540541574505134133745949431125107024728689987177439066224173647204385151471810845156172459609697201263898819372465925856032821983943945509201296896112993390414319772317613998628115011584901662481020736975231857679558573639533120123760882987807897148264001476729480741158503008405824181375825684426593602078107066384305742314153383784825815001170364503279303283157714730965700730790958163526085614077255893030881612578737162635171062435305862363661501175783671862584712802832632731639923317926092501167046294294878922434436385815597766578254085927198853219424480746368612964091254086956730350365974846418411767133289280026522101904776721397535481072023153960396155426365282526318432948840966649466716318812335304612541684202901596339076117983534399558629308180937552570931412127563964839611720473046765641026358839977096301838517860717992220124429055320994261412222457829626748188314831526678529121257451724121669436757611557692716596947663821034873517375372433749628434475153359120061495211777091719559441963916844642691242108239222713715540944215042751815205832903182816602051553000809853471087600226541940973229542173962641860015572714026730877762563780111880467244618055586935195897209646109126685288690235443479134420307287200865787784854857681194140932834097813623138157320433948668365280904196167520730495552269155400544459597418276177569668057444229387270850059959177577695113400939572251098823419194625556857107173746511343007800181920881221537624681494893301655822089723344553388000429323171176866004751029713971505534118999127107434111180853160547174861752751626348577776330731649967976997705926985766161797485058129299093471507452375539795559192778297669346728516427619455250496404870474371468200079265657822190324253008657280022070822577899305872108909461787244531453423119105988731060885667270673906364763727364896807710566881055215730830049911805272377486610061004335421869816885849669495243455855042551121024488255660795663819648501724149284790298092093372482653444084141453024908635847938874074697818854837695253972630804930011048531224322683145833842458520248412423153952435022528345724977763280584053398449746120516553508775326815255194777552247568789127161127121523667078092192754147983382483439483110519687390499526362703620317546913529048991244723833568395254652779389245457001074904459611968988017810125634688718594557512726477640828469923085023078927441553690015369298834217415908971293929662509893318732156287214572953717271547294454739080159480184708525419270198385219963884877884002278754278750609561959567609573219604469598655354749579234218685586373052244170384013165767049118076193618533398406013188209001235766656057471022713158458115640722513614902460046359982042188094125956149263515692514917141235851596188317125234698698143445430710086862519687007887491677593147363567434012996511611208264524292392041796094719104232814767772523351970722422038548274955882602506325735217927052884736197570933812826973727984393449854685360152304385913054039591824514239463064574006576447070168308785658334189143136583726277476279484040055265195370002967927103157598498988314064461158492527567235388273093138250126070907284091661168961258085026365164006756510037480113146444863049857410441189627990753392734989779344967229909893545831260919205642629882485159098157638129076046041748514665632636070142935578386099836275589388930926240584371164648614330272952273803821934246410548896732021483600216257876390203223583811752097414977367601275058587892151481717977645237081174997478084219478623660424162752880192868685884668880148643205675563808348487798702434249814028000489387319267434376798624197140709588473161705863149798376475260131435650698866424963700821352635427311875603754398568456694493029785421376982682568805861337391799580504924932794556653379358767208890415958085613545957157879585738485216752347809889677342570960091355021080407464763338564493970911651840304968787953757264726616132058769535451536129440982464344457257409571874631344070375729511782691987208945139373059377362044678441485767885356392625676743825088107696059578436822101089587320629680572375297507439230177389257372694401026822808373497528093968027287143301629103846534858625188325762033439196480397732997628503014649621121690269155702957775533169864904892182237683246347572084245365191125792238162832968930393778486311914591336488816372341376522067036860976397292954319050636670890190881862580303324718499511813664256650581668171314625522576463828792300817636790551747752178963893094026368249871063740051957677459820923123398315939696748427420043893707187931413132194983048121141633208572619318118682144503976902886475074725995927488015931697855547875567877957092844564972845868112467386799220810631963984802801245465491999492342994359330345557818309230549781190666893419855523650310406258181966733177334063917199888119119548767752141086258162376401893740900149055101692383716437730051535448970252369139807831334212981351808475128436325511506521306376541098272413318178788027577886741756988051386311777882287391881862854060744982292039961563494441320610172547471281354491811089427667941553096792539866778533112339401492150191478610168187813943366146939613944255787812295363788871264558245650366272976585990903261089635305905742282528531617124236257160918684087656849837574980709007634462794039027502516932254792552278738094881287976286091303833032328709898177754381747211550369182625253816956570895415702356703647970398979022104775855650022923491671389932150050238130342993219290079594357803961156906483525731193515143667409605342655206986539810441729034123792850051347539305704207486216981192413978602284363056867626486373038246244839413072201313630754273638937315123889266770682128882430762690059836369951715002691645372943891194536056518939393483536344089949823186946555884678988010580615983982479704610187475910957396703374352600973214429895438876454557725931764099504166221965567851477778524080688479039673549688608223453815640594482798578256595213089270083559888919481365699489637100462903261695502194644348626336709527606095941785695581152441637033674790821685888023791364256305622601762475611441750013106178994593770221066022071023423181155633034817805122802161398524935744545943741207082734764334825940768852393487409193252192043890560912706601726987758753067561041148319622385097614386639073680669427818858042442429654858229935977397707681836665668775740641201467318749912966028972169793293390466868251643453919856849649464322290493048735341721271287419107657917313905525324948586326718627816214107076707368817487170052506253995767034921526007809581573945253151822834749452099415021388971615151747053427766692853648240012116610723886125081342994287489545235725721142914067970761305543646806858970499351876132153368421770237795532592261530517822610356843765148217108907994757920134143467540976888459223968533993602900377353953544172817792180535262936919969492569469436153458748985127294759494223048694113803447594333559542494170015852179431982487558567762644873232582846206118354511361889465074082198622487687130683064905826980365281361526563926662405093323369953815510290733148417577099131665373904594606446101445456737906257234215611047930895015327467213852058204569126364764390657202470807122594170585907633466485519524155064808028487628723708474385722676764531471034749556194317090053532721523949569733293990221599435614437855978142064057941350647248869502882171365376482071435295878341415878631076359405882902371556731407341889179961545506866186248441345259419590661969374361882364592061478559916225955206538184816386679967482441838049310905079233609878397934734816175948993752695074814067593455911713281951234584719671148856291994006466814477367850543107690771346327489500529747440674930090756702297261679187551872345086063837394259531898709135941627900148238103139796982138624016618320937655921765263711024009874698746369080375567901724255684972797468157046157244471404374772222761078870327589465169246896223399414535889927524097257658342338819602157586456758679350724006766498955644886341578770464217114532766965311558328771842477936179644154648725549016964555717358267421129406002607793307439153514126492562540286438784812980066800677318313791389822961787325992391015069754823380173916313596635123798266301750265370600068685480969393442609603956119372421591853151722808583669735059915582753550715486399760012328047281867317279176872125198538864086215345171359356062618339888269196615849878341009901174366182431568400817312255199337667870427164058252046691141588462611695798445898455666744650148543174273924084039433899774435857949430043993897554400048319814689695862859159318872535204748251144962702162463499737891432877223121909129098344855891760814617089321319951062904551654895337306129805913025944180906927502044419375620970439904558408425976746524919577422744604678047700295341856552182095320586852500585625664834503585589269368741216930474755189870268950484900669276439820744731551861384605719817230677305424393562608012347282106616739326341508184942013244631726891106292405240644550509393873680228562272071533052382956340446417148097972501997474543615397475518262648869520545135690881661356943350133932565706608146399718351491507472986333577842853498178674984672051322972654996461950987550865292528553620054954224913858166192474882035352357899732655030712160385609277387607740567177899255072891211576698669315915614623365514450273883629476310746756716923977433973982778866537623583659452653953536594305635259113791810456916740095328527216763001938091607108120211956569098947525776967516508899548558888706022782856287399631190569717979133974265816248963278960898161685096058601377782895534213136701479149191550214315794162212015792405661422845597673653182274714618069931744594221634105470177540427769803623211699582705445596866405927037514309107234351370362467425928846073566742931409335261734131864994298347945260635001131311920283905394751792800521660850627916150640677023274911592637202999772417492767266475033477116987488225402321678196203896707838129488510806857661805566699304194033908269506749978952496681544507895148734468513239756888440769289103653460242590706209377481163424447150937201817016411428938761225411412620391654920682653706041198253530963973664372010391746854260916537511407841070178312591009192581586245994250160312207757539666759964652436749624695710006526932049227367011260245836155602924015442624367872349380151723114491536701108462789811468407784363983688570272618639641206165586158836058493189251526501711694316986861847410525231500364251300122350716668571836339732659545049424088047941506679023857361785213178069306989586118887798676812702536322297205577220215669860213928976137767561270063683142657573175784228191236008498180382859203465059664323543054771844757547132314130392776344494173588299702326738416717900532663451394215114634754233027407799698068426715198497878488914782118398612098302405748157704352559685379793070036590846251648673361720445850857158040299680815524702003811717351151130675016102049780631424453367454840976211353451658442534353695502030234100441279085017434696680873502985153330640183412929532516173899867364725712657697298871021769976008801576464527000641600740268937101666222895652566156284601337220279359261104594072445817458590580761247693556209444191579981147963874551394904047417056078912565880591658060975546392462311882416441222311791167990180680463988443570241217782392857011867069680884244666593050092653665365976989558026022470608210613618754008458873824007001387382830148126034290344824191155415782018993342382704401188799702402584222440549094763577598172796167234130544210531502303550183844221220741663302428474645529415233450782908000520186885350457480593709781632911073809060760282828755283843146949436685051247670110734191688391328421684820072278551527252247123400889675092676047061214900279455779580400780351440717718674778598620334958799748366441005751435862051719573393022638455265338173691749329829929778792927209252299363226699669304396453808682352906829063954982628241054392382727084233234617853880930580558610693644662670411726208797563897182971330720340719082906323101468841115426963546938445791225705353254787304946539733594898724141144239697760300827426052047546961517686499286157967359499839068369711093213559834093305661759832640340481518447830683201238037573073034923371654932505878872286450948560812402475945000187368127335451061374922239755912496374931537669807313507757327703393109679583412696113635024212973064274613866852932449186237465546438109670833043105716515186564273683749679196522660307441709803046192255881017538101925341711174906379489848946543183123073850704626033418160529505869092989263318726560205879718746710875014131947022384457383962499831547580471246712917216156469789553191725652376211491125995382650530239607253861346335167367006691659966028436923879658028234167339264725812588477235925297234946767436813208967088950289371556162445134041599336856405446555784427112197397096142354676371339318021852771023427520971147023370996712955808700964370952675608644549934107066115121542769188598526262118995492677970580930459374737773107457949272307186334991083320194701617060222448587218509668328671651886238926306221826871145721997295311452888663168600722995588557783323760647463273077854230440154213720457216737087525982652611465497495713509174157083705468833373013337016415301982765023565706273266008704617324972753192632117961594037665018004375853454904736629326885577001853263670959707179272526044720607302590542747596167329895801318010550294881949223256213411400071462361369097478818385742424692728771718912318234303492676110785585739857570888109161990160017692865060183371987768567018136294489362027824589233399076038416442405520151811644763440205702650680025924476610505028745688504247111678762224045221283096030107602175893024030459033747969960600443330998917435797697383440847520855882734028891054039283180622802306687316484472671191764170740047114602134544535641844189889350023046074789812124132332044995315682443311940131237405896121697516399290661444783920628389485361936617903271547246578586588213410236767354269988120357660566929203939444570114524798976752515218892046013824072470089741792712786458082533243339059588785186650352493604709184193892983514025539509616376413891859366013242240080250264810939658861895357096614826904672377530270910959237339630961600122762109741659179671379165605488670056747427195521661418156357992518033406601044885914675963132267191743621957740870131565200569814713941503376525665160558639143193925098588395597155080257670477129797124530700682326208118090805806565184069973068574441850966345354706260447908923069673295013426213294385861485283045526462538910735239460168488142702069095056571491196157747662650853217993014174291374613139589188363417133144936382540619731804232898205864880307208087840884848876477489295453300504999568595984028183835344409608947613554429811290658673416210997385846311057382995622227388628383002600925807935364764753805536473373042553523506494464273041118615605223474159050130879162551582336724424932137833056232399437260930621307664984546268959827054796391535053320424643046532913633160819503216272678658014010706235559062809831299809686238564680790862469449505263443747498977606156134542922058983751515164157048624030293978121341128177071253985686147852533802848547775086695679833627111462536654859577282475780846461565189536035166955634705171744938300758779944594645916609102224507570136382682628523270787623779589768607029522318485609540598020592940946392546384543280354584125916264777139172068918782670931067827455266383649518823913525239503517274250021483671296305694299466787403911632714464796411593102671583803660425009005339500056862810182600815001757735456392819092858686950678352253153456271742089833433030555766787058325010699947395021193671748759569098245507987499499130291494435775798740205225920307409292271104005670294370337410921036724331843314258158403913990805229275378559782413717928224042367417709599302966953490270238694661112359496953830498606784086438372332141905196621252608484903687514985520273710106772313187568996928678292720413797110285934416720410111115601235526412384798791063347220588956009736331231453902124956053151113367239913266090823848247117856982320160551433853975201313806565148854695076651889074976978199892903962068904016329525573490958346004760162715233725757803465309718186604184926868685525872993179978915754421084594607974740535017537734343543579643137591692664653905427908699436038065818151075562435695890155000609557516570170141099008287634733300449818188760610410712309733549085797495398813231519514139193077136152360715650093377121558543922877012926393674012695988637131930545948422722030271950551217705562608957920201803558894740225517435374934100595243786738844056747849807712873958505622744117603938633362313174420777198023964122480866427151095280237830022202126847305191925763944293750271166321136479408816411259706704707176798921240927206212979330109057027342875662697738866593403733239051077371447772514786787039513896399353047080330466797586473780207556952745462127653719377851265838514878004295243121869736481925289075648718207159851359469162601942518250494617918043717238852062671205512961102844180890636998724726401640761659927208881766930562262234984630179192439049148406276986493553948259214647576621498217749240555076085542414395891641401827725290139788395782142333684468030484773879148913868787831351017473 79221136326288413549090453617582214988603149380032775393045753873679347103737428810698791647263113706575282689198477135930652137291317188670030006057926509831856472550143054466006425134587034426949120010210832597783143689081004098970652114673282224426184172485773967049733965817226715156969648131835381010189470025770375559444559659305270898952170617343578663720139463438305206193729450577009951868047317341521679722886752217921827822705466305632297648679105292595306982225729633137305184703173136534319068330149229142960259210328722455601450057473003629441834416962669954405564521304502500726298911194393554191501157954017925309977598836623748100506311537547090223313424323313673085311409323919977212070953990949404412305207140907616619412378270976434206887105501661848469182736298770557698748104969475842500166345456724876246803841548685455561851856586967869889986216391448174596518073583228454703935275996041071738034755239225816281721293011288588359444337681021846829274952700086230836341401062887321604178406708278357480439226036171803414304571700770050264769130291420603534822495795966981715612394351588510056912232508637273573895372779156159436797233748213294951636931736322625278881149941049169682180025310119656903852664689348405476728233436921288688205034751242856813863451202798101231235894933014025474654357904163264189792879110990531247061528782494741231885291482973616690359904394443018958369073484128300703937149692838128916254439952768266768999800895221352172804608885628145520829329108509888656265795056847497582709463200002373315731960683089450281141672128908771066872542843950397795050900482861371828770525181267955544208230938560999841196913163882946371552828126583680248944964520944418180558701521838650855170095150234372062727397690674991347946365752214498420657007149585319909260780872426315558079608099072865828174703417406185318728278145026184310672633645641700732291542811057990742838365066341014265183949971790930431087121056345347741501667746148234688653065189269356885872908647581204650438736957716528711548574555583977239301969823515430537595181395319473570033411789209713074292228145962019286962544117035974563318921268241513986555088394502711032433789248734183877010959345104750102614262227563661010217640141350231316347211768763385670337883433049195056061300162041862964241528184097908283230852906666992480893473206747006312106694438401261591124362380788902882710265313013071263115504159140550179707220633782158597940373880726872858838789886163551228708805088540541574505134133745949431125107024728689987177439066224173647204385151471810845156172459609697201263898819372465925856032821983943945509201296896112993390414319772317613998628115011584901662481020736975231857679558573639533120123760882987807897148264001476729480741158503008405824181375825684426593602078107066384305742314153383784825815001170364503279303283157714730965700730790958163526085614077255893030881612578737162635171062435305862363661501175783671862584712802832632731639923317926092501167046294294878922434436385815597766578254085927198853219424480746368612964091254086956730350365974846418411767133289280026522101904776721397535481072023153960396155426365282526318432948840966649466716318812335304612541684202901596339076117983534399558629308180937552570931412127563964839611720473046765641026358839977096301838517860717992220124429055320994261412222457829626748188314831526678529121257451724121669436757611557692716596947663821034873517375372433749628434475153359120061495211777091719559441963916844642691242108239222713715540944215042751815205832903182816602051553000809853471087600226541940973229542173962641860015572714026730877762563780111880467244618055586935195897209646109126685288690235443479134420307287200865787784854857681194140932834097813623138157320433948668365280904196167520730495552269155400544459597418276177569668057444229387270850059959177577695113400939572251098823419194625556857107173746511343007800181920881221537624681494893301655822089723344553388000429323171176866004751029713971505534118999127107434111180853160547174861752751626348577776330731649967976997705926985766161797485058129299093471507452375539795559192778297669346728516427619455250496404870474371468200079265657822190324253008657280022070822577899305872108909461787244531453423119105988731060885667270673906364763727364896807710566881055215730830049911805272377486610061004335421869816885849669495243455855042551121024488255660795663819648501724149284790298092093372482653444084141453024908635847938874074697818854837695253972630804930011048531224322683145833842458520248412423153952435022528345724977763280584053398449746120516553508775326815255194777552247568789127161127121523667078092192754147983382483439483110519687390499526362703620317546913529048991244723833568395254652779389245457001074904459611968988017810125634688718594557512726477640828469923085023078927441553690015369298834217415908971293929662509893318732156287214572953717271547294454739080159480184708525419270198385219963884877884002278754278750609561959567609573219604469598655354749579234218685586373052244170384013165767049118076193618533398406013188209001235766656057471022713158458115640722513614902460046359982042188094125956149263515692514917141235851596188317125234698698143445430710086862519687007887491677593147363567434012996511611208264524292392041796094719104232814767772523351970722422038548274955882602506325735217927052884736197570933812826973727984393449854685360152304385913054039591824514239463064574006576447070168308785658334189143136583726277476279484040055265195370002967927103157598498988314064461158492527567235388273093138250126070907284091661168961258085026365164006756510037480113146444863049857410441189627990753392734989779344967229909893545831260919205642629882485159098157638129076046041748514665632636070142935578386099836275589388930926240584371164648614330272952273803821934246410548896732021483600216257876390203223583811752097414977367601275058587892151481717977645237081174997478084219478623660424162752880192868685884668880148643205675563808348487798702434249814028000489387319267434376798624197140709588473161705863149798376475260131435650698866424963700821352635427311875603754398568456694493029785421376982682568805861337391799580504924932794556653379358767208890415958085613545957157879585738485216752347809889677342570960091355021080407464763338564493970911651840304968787953757264726616132058769535451536129440982464344457257409571874631344070375729511782691987208945139373059377362044678441485767885356392625676743825088107696059578436822101089587320629680572375297507439230177389257372694401026822808373497528093968027287143301629103846534858625188325762033439196480397732997628503014649621121690269155702957775533169864904892182237683246347572084245365191125792238162832968930393778486311914591336488816372341376522067036860976397292954319050636670890190881862580303324718499511813664256650581668171314625522576463828792300817636790551747752178963893094026368249871063740051957677459820923123398315939696748427420043893707187931413132194983048121141633208572619318118682144503976902886475074725995927488015931697855547875567877957092844564972845868112467386799220810631963984802801245465491999492342994359330345557818309230549781190666893419855523650310406258181966733177334063917199888119119548767752141086258162376401893740900149055101692383716437730051535448970252369139807831334212981351808475128436325511506521306376541098272413318178788027577886741756988051386311777882287391881862854060744982292039961563494441320610172547471281354491811089427667941553096792539866778533112339401492150191478610168187813943366146939613944255787812295363788871264558245650366272976585990903261089635305905742282528531617124236257160918684087656849837574980709007634462794039027502516932254792552278738094881287976286091303833032328709898177754381747211550369182625253816956570895415702356703647970398979022104775855650022923491671389932150050238130342993219290079594357803961156906483525731193515143667409605342655206986539810441729034123792850051347539305704207486216981192413978602284363056867626486373038246244839413072201313630754273638937315123889266770682128882430762690059836369951715002691645372943891194536056518939393483536344089949823186946555884678988010580615983982479704610187475910957396703374352600973214429895438876454557725931764099504166221965567851477778524080688479039673549688608223453815640594482798578256595213089270083559888919481365699489637100462903261695502194644348626336709527606095941785695581152441637033674790821685888023791364256305622601762475611441750013106178994593770221066022071023423181155633034817805122802161398524935744545943741207082734764334825940768852393487409193252192043890560912706601726987758753067561041148319622385097614386639073680669427818858042442429654858229935977397707681836665668775740641201467318749912966028972169793293390466868251643453919856849649464322290493048735341721271287419107657917313905525324948586326718627816214107076707368817487170052506253995767034921526007809581573945253151822834749452099415021388971615151747053427766692853648240012116610723886125081342994287489545235725721142914067970761305543646806858970499351876132153368421770237795532592261530517822610356843765148217108907994757920134143467540976888459223968533993602900377353953544172817792180535262936919969492569469436153458748985127294759494223048694113803447594333559542494170015852179431982487558567762644873232582846206118354511361889465074082198622487687130683064905826980365281361526563926662405093323369953815510290733148417577099131665373904594606446101445456737906257234215611047930895015327467213852058204569126364764390657202470807122594170585907633466485519524155064808028487628723708474385722676764531471034749556194317090053532721523949569733293990221599435614437855978142064057941350647248869502882171365376482071435295878341415878631076359405882902371556731407341889179961545506866186248441345259419590661969374361882364592061478559916225955206538184816386679967482441838049310905079233609878397934734816175948993752695074814067593455911713281951234584719671148856291994006466814477367850543107690771346327489500529747440674930090756702297261679187551872345086063837394259531898709135941627900148238103139796982138624016618320937655921765263711024009874698746369080375567901724255684972797468157046157244471404374772222761078870327589465169246896223399414535889927524097257658342338819602157586456758679350724006766498955644886341578770464217114532766965311558328771842477936179644154648725549016964555717358267421129406002607793307439153514126492562540286438784812980066800677318313791389822961787325992391015069754823380173916313596635123798266301750265370600068685480969393442609603956119372421591853151722808583669735059915582753550715486399760012328047281867317279176872125198538864086215345171359356062618339888269196615849878341009901174366182431568400817312255199337667870427164058252046691141588462611695798445898455666744650148543174273924084039433899774435857949430043993897554400048319814689695862859159318872535204748251144962702162463499737891432877223121909129098344855891760814617089321319951062904551654895337306129805913025944180906927502044419375620970439904558408425976746524919577422744604678047700295341856552182095320586852500585625664834503585589269368741216930474755189870268950484900669276439820744731551861384605719817230677305424393562608012347282106616739326341508184942013244631726891106292405240644550509393873680228562272071533052382956340446417148097972501997474543615397475518262648869520545135690881661356943350133932565706608146399718351491507472986333577842853498178674984672051322972654996461950987550865292528553620054954224913858166192474882035352357899732655030712160385609277387607740567177899255072891211576698669315915614623365514450273883629476310746756716923977433973982778866537623583659452653953536594305635259113791810456916740095328527216763001938091607108120211956569098947525776967516508899548558888706022782856287399631190569717979133974265816248963278960898161685096058601377782895534213136701479149191550214315794162212015792405661422845597673653182274714618069931744594221634105470177540427769803623211699582705445596866405927037514309107234351370362467425928846073566742931409335261734131864994298347945260635001131311920283905394751792800521660850627916150640677023274911592637202999772417492767266475033477116987488225402321678196203896707838129488510806857661805566699304194033908269506749978952496681544507895148734468513239756888440769289103653460242590706209377481163424447150937201817016411428938761225411412620391654920682653706041198253530963973664372010391746854260916537511407841070178312591009192581586245994250160312207757539666759964652436749624695710006526932049227367011260245836155602924015442624367872349380151723114491536701108462789811468407784363983688570272618639641206165586158836058493189251526501711694316986861847410525231500364251300122350716668571836339732659545049424088047941506679023857361785213178069306989586118887798676812702536322297205577220215669860213928976137767561270063683142657573175784228191236008498180382859203465059664323543054771844757547132314130392776344494173588299702326738416717900532663451394215114634754233027407799698068426715198497878488914782118398612098302405748157704352559685379793070036590846251648673361720445850857158040299680815524702003811717351151130675016102049780631424453367454840976211353451658442534353695502030234100441279085017434696680873502985153330640183412929532516173899867364725712657697298871021769976008801576464527000641600740268937101666222895652566156284601337220279359261104594072445817458590580761247693556209444191579981147963874551394904047417056078912565880591658060975546392462311882416441222311791167990180680463988443570241217782392857011867069680884244666593050092653665365976989558026022470608210613618754008458873824007001387382830148126034290344824191155415782018993342382704401188799702402584222440549094763577598172796167234130544210531502303550183844221220741663302428474645529415233450782908000520186885350457480593709781632911073809060760282828755283843146949436685051247670110734191688391328421684820072278551527252247123400889675092676047061214900279455779580400780351440717718674778598620334958799748366441005751435862051719573393022638455265338173691749329829929778792927209252299363226699669304396453808682352906829063954982628241054392382727084233234617853880930580558610693644662670411726208797563897182971330720340719082906323101468841115426963546938445791225705353254787304946539733594898724141144239697760300827426052047546961517686499286157967359499839068369711093213559834093305661759832640340481518447830683201238037573073034923371654932505878872286450948560812402475945000187368127335451061374922239755912496374931537669807313507757327703393109679583412696113635024212973064274613866852932449186237465546438109670833043105716515186564273683749679196522660307441709803046192255881017538101925341711174906379489848946543183123073850704626033418160529505869092989263318726560205879718746710875014131947022384457383962499831547580471246712917216156469789553191725652376211491125995382650530239607253861346335167367006691659966028436923879658028234167339264725812588477235925297234946767436813208967088950289371556162445134041599336856405446555784427112197397096142354676371339318021852771023427520971147023370996712955808700964370952675608644549934107066115121542769188598526262118995492677970580930459374737773107457949272307186334991083320194701617060222448587218509668328671651886238926306221826871145721997295311452888663168600722995588557783323760647463273077854230440154213720457216737087525982652611465497495713509174157083705468833373013337016415301982765023565706273266008704617324972753192632117961594037665018004375853454904736629326885577001853263670959707179272526044720607302590542747596167329895801318010550294881949223256213411400071462361369097478818385742424692728771718912318234303492676110785585739857570888109161990160017692865060183371987768567018136294489362027824589233399076038416442405520151811644763440205702650680025924476610505028745688504247111678762224045221283096030107602175893024030459033747969960600443330998917435797697383440847520855882734028891054039283180622802306687316484472671191764170740047114602134544535641844189889350023046074789812124132332044995315682443311940131237405896121697516399290661444783920628389485361936617903271547246578586588213410236767354269988120357660566929203939444570114524798976752515218892046013824072470089741792712786458082533243339059588785186650352493604709184193892983514025539509616376413891859366013242240080250264810939658861895357096614826904672377530270910959237339630961600122762109741659179671379165605488670056747427195521661418156357992518033406601044885914675963132267191743621957740870131565200569814713941503376525665160558639143193925098588395597155080257670477129797124530700682326208118090805806565184069973068574441850966345354706260447908923069673295013426213294385861485283045526462538910735239460168488142702069095056571491196157747662650853217993014174291374613139589188363417133144936382540619731804232898205864880307208087840884848876477489295453300504999568595984028183835344409608947613554429811290658673416210997385846311057382995622227388628383002600925807935364764753805536473373042553523506494464273041118615605223474159050130879162551582336724424932137833056232399437260930621307664984546268959827054796391535053320424643046532913633160819503216272678658014010706235559062809831299809686238564680790862469449505263443747498977606156134542922058983751515164157048624030293978121341128177071253985686147852533802848547775086695679833627111462536654859577282475780846461565189536035166955634705171744938300758779944594645916609102224507570136382682628523270787623779589768607029522318485609540598020592940946392546384543280354584125916264777139172068918782670931067827455266383649518823913525239503517274250021483671296305694299466787403911632714464796411593102671583803660425009005339500056862810182600815001757735456392819092858686950678352253153456271742089833433030555766787058325010699947395021193671748759569098245507987499499130291494435775798740205225920307409292271104005670294370337410921036724331843314258158403913990805229275378559782413717928224042367417709599302966953490270238694661112359496953830498606784086438372332141905196621252608484903687514985520273710106772313187568996928678292720413797110285934416720410111115601235526412384798791063347220588956009736331231453902124956053151113367239913266090823848247117856982320160551433853975201313806565148854695076651889074976978199892903962068904016329525573490958346004760162715233725757803465309718186604184926868685525872993179978915754421084594607974740535017537734343543579643137591692664653905427908699436038065818151075562435695890155000609557516570170141099008287634733300449818188760610410712309733549085797495398813231519514139193077136152360715650093377121558543922877012926393674012695988637131930545948422722030271950551217705562608957920201803558894740225517435374934100595243786738844056747849807712873958505622744117603938633362313174420777198023964122480866427151095280237830022202126847305191925763944293750271166321136479408816411259706704707176798921240927206212979330109057027342875662697738866593403733239051077371447772514786787039513896399353047080330466797586473780207556952745462127653719377851265838514878004295243121869736481925289075648718207159851359469162601942518250494617918043717238852062671205512961102844180890636998724726401640761659927208881766930562262234984630179192439049148406276986493553948259214647576621498217749240555076085542414395891641401827725290139788395782142333684468030484773879148913868787831351017473 79221136326288413549090453617582214988603149380032775393045753873679347103737428810698791647263113706575282689198477135930652137291317188670030006057926509831856472550143054466006425134587034426949120010210832597783143689081004098970652114673282224426184172485773967049733965817226715156969648131835381010189470025770375559444559659305270898952170617343578663720139463438305206193729450577009951868047317341521679722886752217921827822705466305632297648679105292595306982225729633137305184703173136534319068330149229142960259210328722455601450057473003629441834416962669954405564521304502500726298911194393554191501157954017925309977598836623748100506311537547090223313424323313673085311409323919977212070953990949404412305207140907616619412378270976434206887105501661848469182736298770557698748104969475842500166345456724876246803841548685455561851856586967869889986216391448174596518073583228454703935275996041071738034755239225816281721293011288588359444337681021846829274952700086230836341401062887321604178406708278357480439226036171803414304571700770050264769130291420603534822495795966981715612394351588510056912232508637273573895372779156159436797233748213294951636931736322625278881149941049169682180025310119656903852664689348405476728233436921288688205034751242856813863451202798101231235894933014025474654357904163264189792879110990531247061528782494741231885291482973616690359904394443018958369073484128300703937149692838128916254439952768266768999800895221352172804608885628145520829329108509888656265795056847497582709463200002373315731960683089450281141672128908771066872542843950397795050900482861371828770525181267955544208230938560999841196913163882946371552828126583680248944964520944418180558701521838650855170095150234372062727397690674991347946365752214498420657007149585319909260780872426315558079608099072865828174703417406185318728278145026184310672633645641700732291542811057990742838365066341014265183949971790930431087121056345347741501667746148234688653065189269356885872908647581204650438736957716528711548574555583977239301969823515430537595181395319473570033411789209713074292228145962019286962544117035974563318921268241513986555088394502711032433789248734183877010959345104750102614262227563661010217640141350231316347211768763385670337883433049195056061300162041862964241528184097908283230852906666992480893473206747006312106694438401261591124362380788902882710265313013071263115504159140550179707220633782158597940373880726872858838789886163551228708805088540541574505134133745949431125107024728689987177439066224173647204385151471810845156172459609697201263898819372465925856032821983943945509201296896112993390414319772317613998628115011584901662481020736975231857679558573639533120123760882987807897148264001476729480741158503008405824181375825684426593602078107066384305742314153383784825815001170364503279303283157714730965700730790958163526085614077255893030881612578737162635171062435305862363661501175783671862584712802832632731639923317926092501167046294294878922434436385815597766578254085927198853219424480746368612964091254086956730350365974846418411767133289280026522101904776721397535481072023153960396155426365282526318432948840966649466716318812335304612541684202901596339076117983534399558629308180937552570931412127563964839611720473046765641026358839977096301838517860717992220124429055320994261412222457829626748188314831526678529121257451724121669436757611557692716596947663821034873517375372433749628434475153359120061495211777091719559441963916844642691242108239222713715540944215042751815205832903182816602051553000809853471087600226541940973229542173962641860015572714026730877762563780111880467244618055586935195897209646109126685288690235443479134420307287200865787784854857681194140932834097813623138157320433948668365280904196167520730495552269155400544459597418276177569668057444229387270850059959177577695113400939572251098823419194625556857107173746511343007800181920881221537624681494893301655822089723344553388000429323171176866004751029713971505534118999127107434111180853160547174861752751626348577776330731649967976997705926985766161797485058129299093471507452375539795559192778297669346728516427619455250496404870474371468200079265657822190324253008657280022070822577899305872108909461787244531453423119105988731060885667270673906364763727364896807710566881055215730830049911805272377486610061004335421869816885849669495243455855042551121024488255660795663819648501724149284790298092093372482653444084141453024908635847938874074697818854837695253972630804930011048531224322683145833842458520248412423153952435022528345724977763280584053398449746120516553508775326815255194777552247568789127161127121523667078092192754147983382483439483110519687390499526362703620317546913529048991244723833568395254652779389245457001074904459611968988017810125634688718594557512726477640828469923085023078927441553690015369298834217415908971293929662509893318732156287214572953717271547294454739080159480184708525419270198385219963884877884002278754278750609561959567609573219604469598655354749579234218685586373052244170384013165767049118076193618533398406013188209001235766656057471022713158458115640722513614902460046359982042188094125956149263515692514917141235851596188317125234698698143445430710086862519687007887491677593147363567434012996511611208264524292392041796094719104232814767772523351970722422038548274955882602506325735217927052884736197570933812826973727984393449854685360152304385913054039591824514239463064574006576447070168308785658334189143136583726277476279484040055265195370002967927103157598498988314064461158492527567235388273093138250126070907284091661168961258085026365164006756510037480113146444863049857410441189627990753392734989779344967229909893545831260919205642629882485159098157638129076046041748514665632636070142935578386099836275589388930926240584371164648614330272952273803821934246410548896732021483600216257876390203223583811752097414977367601275058587892151481717977645237081174997478084219478623660424162752880192868685884668880148643205675563808348487798702434249814028000489387319267434376798624197140709588473161705863149798376475260131435650698866424963700821352635427311875603754398568456694493029785421376982682568805861337391799580504924932794556653379358767208890415958085613545957157879585738485216752347809889677342570960091355021080407464763338564493970911651840304968787953757264726616132058769535451536129440982464344457257409571874631344070375729511782691987208945139373059377362044678441485767885356392625676743825088107696059578436822101089587320629680572375297507439230177389257372694401026822808373497528093968027287143301629103846534858625188325762033439196480397732997628503014649621121690269155702957775533169864904892182237683246347572084245365191125792238162832968930393778486311914591336488816372341376522067036860976397292954319050636670890190881862580303324718499511813664256650581668171314625522576463828792300817636790551747752178963893094026368249871063740051957677459820923123398315939696748427420043893707187931413132194983048121141633208572619318118682144503976902886475074725995927488015931697855547875567877957092844564972845868112467386799220810631963984802801245465491999492342994359330345557818309230549781190666893419855523650310406258181966733177334063917199888119119548767752141086258162376401893740900149055101692383716437730051535448970252369139807831334212981351808475128436325511506521306376541098272413318178788027577886741756988051386311777882287391881862854060744982292039961563494441320610172547471281354491811089427667941553096792539866778533112339401492150191478610168187813943366146939613944255787812295363788871264558245650366272976585990903261089635305905742282528531617124236257160918684087656849837574980709007634462794039027502516932254792552278738094881287976286091303833032328709898177754381747211550369182625253816956570895415702356703647970398979022104775855650022923491671389932150050238130342993219290079594357803961156906483525731193515143667409605342655206986539810441729034123792850051347539305704207486216981192413978602284363056867626486373038246244839413072201313630754273638937315123889266770682128882430762690059836369951715002691645372943891194536056518939393483536344089949823186946555884678988010580615983982479704610187475910957396703374352600973214429895438876454557725931764099504166221965567851477778524080688479039673549688608223453815640594482798578256595213089270083559888919481365699489637100462903261695502194644348626336709527606095941785695581152441637033674790821685888023791364256305622601762475611441750013106178994593770221066022071023423181155633034817805122802161398524935744545943741207082734764334825940768852393487409193252192043890560912706601726987758753067561041148319622385097614386639073680669427818858042442429654858229935977397707681836665668775740641201467318749912966028972169793293390466868251643453919856849649464322290493048735341721271287419107657917313905525324948586326718627816214107076707368817487170052506253995767034921526007809581573945253151822834749452099415021388971615151747053427766692853648240012116610723886125081342994287489545235725721142914067970761305543646806858970499351876132153368421770237795532592261530517822610356843765148217108907994757920134143467540976888459223968533993602900377353953544172817792180535262936919969492569469436153458748985127294759494223048694113803447594333559542494170015852179431982487558567762644873232582846206118354511361889465074082198622487687130683064905826980365281361526563926662405093323369953815510290733148417577099131665373904594606446101445456737906257234215611047930895015327467213852058204569126364764390657202470807122594170585907633466485519524155064808028487628723708474385722676764531471034749556194317090053532721523949569733293990221599435614437855978142064057941350647248869502882171365376482071435295878341415878631076359405882902371556731407341889179961545506866186248441345259419590661969374361882364592061478559916225955206538184816386679967482441838049310905079233609878397934734816175948993752695074814067593455911713281951234584719671148856291994006466814477367850543107690771346327489500529747440674930090756702297261679187551872345086063837394259531898709135941627900148238103139796982138624016618320937655921765263711024009874698746369080375567901724255684972797468157046157244471404374772222761078870327589465169246896223399414535889927524097257658342338819602157586456758679350724006766498955644886341578770464217114532766965311558328771842477936179644154648725549016964555717358267421129406002607793307439153514126492562540286438784812980066800677318313791389822961787325992391015069754823380173916313596635123798266301750265370600068685480969393442609603956119372421591853151722808583669735059915582753550715486399760012328047281867317279176872125198538864086215345171359356062618339888269196615849878341009901174366182431568400817312255199337667870427164058252046691141588462611695798445898455666744650148543174273924084039433899774435857949430043993897554400048319814689695862859159318872535204748251144962702162463499737891432877223121909129098344855891760814617089321319951062904551654895337306129805913025944180906927502044419375620970439904558408425976746524919577422744604678047700295341856552182095320586852500585625664834503585589269368741216930474755189870268950484900669276439820744731551861384605719817230677305424393562608012347282106616739326341508184942013244631726891106292405240644550509393873680228562272071533052382956340446417148097972501997474543615397475518262648869520545135690881661356943350133932565706608146399718351491507472986333577842853498178674984672051322972654996461950987550865292528553620054954224913858166192474882035352357899732655030712160385609277387607740567177899255072891211576698669315915614623365514450273883629476310746756716923977433973982778866537623583659452653953536594305635259113791810456916740095328527216763001938091607108120211956569098947525776967516508899548558888706022782856287399631190569717979133974265816248963278960898161685096058601377782895534213136701479149191550214315794162212015792405661422845597673653182274714618069931744594221634105470177540427769803623211699582705445596866405927037514309107234351370362467425928846073566742931409335261734131864994298347945260635001131311920283905394751792800521660850627916150640677023274911592637202999772417492767266475033477116987488225402321678196203896707838129488510806857661805566699304194033908269506749978952496681544507895148734468513239756888440769289103653460242590706209377481163424447150937201817016411428938761225411412620391654920682653706041198253530963973664372010391746854260916537511407841070178312591009192581586245994250160312207757539666759964652436749624695710006526932049227367011260245836155602924015442624367872349380151723114491536701108462789811468407784363983688570272618639641206165586158836058493189251526501711694316986861847410525231500364251300122350716668571836339732659545049424088047941506679023857361785213178069306989586118887798676812702536322297205577220215669860213928976137767561270063683142657573175784228191236008498180382859203465059664323543054771844757547132314130392776344494173588299702326738416717900532663451394215114634754233027407799698068426715198497878488914782118398612098302405748157704352559685379793070036590846251648673361720445850857158040299680815524702003811717351151130675016102049780631424453367454840976211353451658442534353695502030234100441279085017434696680873502985153330640183412929532516173899867364725712657697298871021769976008801576464527000641600740268937101666222895652566156284601337220279359261104594072445817458590580761247693556209444191579981147963874551394904047417056078912565880591658060975546392462311882416441222311791167990180680463988443570241217782392857011867069680884244666593050092653665365976989558026022470608210613618754008458873824007001387382830148126034290344824191155415782018993342382704401188799702402584222440549094763577598172796167234130544210531502303550183844221220741663302428474645529415233450782908000520186885350457480593709781632911073809060760282828755283843146949436685051247670110734191688391328421684820072278551527252247123400889675092676047061214900279455779580400780351440717718674778598620334958799748366441005751435862051719573393022638455265338173691749329829929778792927209252299363226699669304396453808682352906829063954982628241054392382727084233234617853880930580558610693644662670411726208797563897182971330720340719082906323101468841115426963546938445791225705353254787304946539733594898724141144239697760300827426052047546961517686499286157967359499839068369711093213559834093305661759832640340481518447830683201238037573073034923371654932505878872286450948560812402475945000187368127335451061374922239755912496374931537669807313507757327703393109679583412696113635024212973064274613866852932449186237465546438109670833043105716515186564273683749679196522660307441709803046192255881017538101925341711174906379489848946543183123073850704626033418160529505869092989263318726560205879718746710875014131947022384457383962499831547580471246712917216156469789553191725652376211491125995382650530239607253861346335167367006691659966028436923879658028234167339264725812588477235925297234946767436813208967088950289371556162445134041599336856405446555784427112197397096142354676371339318021852771023427520971147023370996712955808700964370952675608644549934107066115121542769188598526262118995492677970580930459374737773107457949272307186334991083320194701617060222448587218509668328671651886238926306221826871145721997295311452888663168600722995588557783323760647463273077854230440154213720457216737087525982652611465497495713509174157083705468833373013337016415301982765023565706273266008704617324972753192632117961594037665018004375853454904736629326885577001853263670959707179272526044720607302590542747596167329895801318010550294881949223256213411400071462361369097478818385742424692728771718912318234303492676110785585739857570888109161990160017692865060183371987768567018136294489362027824589233399076038416442405520151811644763440205702650680025924476610505028745688504247111678762224045221283096030107602175893024030459033747969960600443330998917435797697383440847520855882734028891054039283180622802306687316484472671191764170740047114602134544535641844189889350023046074789812124132332044995315682443311940131237405896121697516399290661444783920628389485361936617903271547246578586588213410236767354269988120357660566929203939444570114524798976752515218892046013824072470089741792712786458082533243339059588785186650352493604709184193892983514025539509616376413891859366013242240080250264810939658861895357096614826904672377530270910959237339630961600122762109741659179671379165605488670056747427195521661418156357992518033406601044885914675963132267191743621957740870131565200569814713941503376525665160558639143193925098588395597155080257670477129797124530700682326208118090805806565184069973068574441850966345354706260447908923069673295013426213294385861485283045526462538910735239460168488142702069095056571491196157747662650853217993014174291374613139589188363417133144936382540619731804232898205864880307208087840884848876477489295453300504999568595984028183835344409608947613554429811290658673416210997385846311057382995622227388628383002600925807935364764753805536473373042553523506494464273041118615605223474159050130879162551582336724424932137833056232399437260930621307664984546268959827054796391535053320424643046532913633160819503216272678658014010706235559062809831299809686238564680790862469449505263443747498977606156134542922058983751515164157048624030293978121341128177071253985686147852533802848547775086695679833627111462536654859577282475780846461565189536035166955634705171744938300758779944594645916609102224507570136382682628523270787623779589768607029522318485609540598020592940946392546384543280354584125916264777139172068918782670931067827455266383649518823913525239503517274250021483671296305694299466787403911632714464796411593102671583803660425009005339500056862810182600815001757735456392819092858686950678352253153456271742089833433030555766787058325010699947395021193671748759569098245507987499499130291494435775798740205225920307409292271104005670294370337410921036724331843314258158403913990805229275378559782413717928224042367417709599302966953490270238694661112359496953830498606784086438372332141905196621252608484903687514985520273710106772313187568996928678292720413797110285934416720410111115601235526412384798791063347220588956009736331231453902124956053151113367239913266090823848247117856982320160551433853975201313806565148854695076651889074976978199892903962068904016329525573490958346004760162715233725757803465309718186604184926868685525872993179978915754421084594607974740535017537734343543579643137591692664653905427908699436038065818151075562435695890155000609557516570170141099008287634733300449818188760610410712309733549085797495398813231519514139193077136152360715650093377121558543922877012926393674012695988637131930545948422722030271950551217705562608957920201803558894740225517435374934100595243786738844056747849807712873958505622744117603938633362313174420777198023964122480866427151095280237830022202126847305191925763944293750271166321136479408816411259706704707176798921240927206212979330109057027342875662697738866593403733239051077371447772514786787039513896399353047080330466797586473780207556952745462127653719377851265838514878004295243121869736481925289075648718207159851359469162601942518250494617918043717238852062671205512961102844180890636998724726401640761659927208881766930562262234984630179192439049148406276986493553948259214647576621498217749240555076085542414395891641401827725290139788395782142333684468030484773879148913868787831351017473 79221136326288413549090453617582214988603149380032775393045753873679347103737428810698791647263113706575282689198477135930652137291317188670030006057926509831856472550143054466006425134587034426949120010210832597783143689081004098970652114673282224426184172485773967049733965817226715156969648131835381010189470025770375559444559659305270898952170617343578663720139463438305206193729450577009951868047317341521679722886752217921827822705466305632297648679105292595306982225729633137305184703173136534319068330149229142960259210328722455601450057473003629441834416962669954405564521304502500726298911194393554191501157954017925309977598836623748100506311537547090223313424323313673085311409323919977212070953990949404412305207140907616619412378270976434206887105501661848469182736298770557698748104969475842500166345456724876246803841548685455561851856586967869889986216391448174596518073583228454703935275996041071738034755239225816281721293011288588359444337681021846829274952700086230836341401062887321604178406708278357480439226036171803414304571700770050264769130291420603534822495795966981715612394351588510056912232508637273573895372779156159436797233748213294951636931736322625278881149941049169682180025310119656903852664689348405476728233436921288688205034751242856813863451202798101231235894933014025474654357904163264189792879110990531247061528782494741231885291482973616690359904394443018958369073484128300703937149692838128916254439952768266768999800895221352172804608885628145520829329108509888656265795056847497582709463200002373315731960683089450281141672128908771066872542843950397795050900482861371828770525181267955544208230938560999841196913163882946371552828126583680248944964520944418180558701521838650855170095150234372062727397690674991347946365752214498420657007149585319909260780872426315558079608099072865828174703417406185318728278145026184310672633645641700732291542811057990742838365066341014265183949971790930431087121056345347741501667746148234688653065189269356885872908647581204650438736957716528711548574555583977239301969823515430537595181395319473570033411789209713074292228145962019286962544117035974563318921268241513986555088394502711032433789248734183877010959345104750102614262227563661010217640141350231316347211768763385670337883433049195056061300162041862964241528184097908283230852906666992480893473206747006312106694438401261591124362380788902882710265313013071263115504159140550179707220633782158597940373880726872858838789886163551228708805088540541574505134133745949431125107024728689987177439066224173647204385151471810845156172459609697201263898819372465925856032821983943945509201296896112993390414319772317613998628115011584901662481020736975231857679558573639533120123760882987807897148264001476729480741158503008405824181375825684426593602078107066384305742314153383784825815001170364503279303283157714730965700730790958163526085614077255893030881612578737162635171062435305862363661501175783671862584712802832632731639923317926092501167046294294878922434436385815597766578254085927198853219424480746368612964091254086956730350365974846418411767133289280026522101904776721397535481072023153960396155426365282526318432948840966649466716318812335304612541684202901596339076117983534399558629308180937552570931412127563964839611720473046765641026358839977096301838517860717992220124429055320994261412222457829626748188314831526678529121257451724121669436757611557692716596947663821034873517375372433749628434475153359120061495211777091719559441963916844642691242108239222713715540944215042751815205832903182816602051553000809853471087600226541940973229542173962641860015572714026730877762563780111880467244618055586935195897209646109126685288690235443479134420307287200865787784854857681194140932834097813623138157320433948668365280904196167520730495552269155400544459597418276177569668057444229387270850059959177577695113400939572251098823419194625556857107173746511343007800181920881221537624681494893301655822089723344553388000429323171176866004751029713971505534118999127107434111180853160547174861752751626348577776330731649967976997705926985766161797485058129299093471507452375539795559192778297669346728516427619455250496404870474371468200079265657822190324253008657280022070822577899305872108909461787244531453423119105988731060885667270673906364763727364896807710566881055215730830049911805272377486610061004335421869816885849669495243455855042551121024488255660795663819648501724149284790298092093372482653444084141453024908635847938874074697818854837695253972630804930011048531224322683145833842458520248412423153952435022528345724977763280584053398449746120516553508775326815255194777552247568789127161127121523667078092192754147983382483439483110519687390499526362703620317546913529048991244723833568395254652779389245457001074904459611968988017810125634688718594557512726477640828469923085023078927441553690015369298834217415908971293929662509893318732156287214572953717271547294454739080159480184708525419270198385219963884877884002278754278750609561959567609573219604469598655354749579234218685586373052244170384013165767049118076193618533398406013188209001235766656057471022713158458115640722513614902460046359982042188094125956149263515692514917141235851596188317125234698698143445430710086862519687007887491677593147363567434012996511611208264524292392041796094719104232814767772523351970722422038548274955882602506325735217927052884736197570933812826973727984393449854685360152304385913054039591824514239463064574006576447070168308785658334189143136583726277476279484040055265195370002967927103157598498988314064461158492527567235388273093138250126070907284091661168961258085026365164006756510037480113146444863049857410441189627990753392734989779344967229909893545831260919205642629882485159098157638129076046041748514665632636070142935578386099836275589388930926240584371164648614330272952273803821934246410548896732021483600216257876390203223583811752097414977367601275058587892151481717977645237081174997478084219478623660424162752880192868685884668880148643205675563808348487798702434249814028000489387319267434376798624197140709588473161705863149798376475260131435650698866424963700821352635427311875603754398568456694493029785421376982682568805861337391799580504924932794556653379358767208890415958085613545957157879585738485216752347809889677342570960091355021080407464763338564493970911651840304968787953757264726616132058769535451536129440982464344457257409571874631344070375729511782691987208945139373059377362044678441485767885356392625676743825088107696059578436822101089587320629680572375297507439230177389257372694401026822808373497528093968027287143301629103846534858625188325762033439196480397732997628503014649621121690269155702957775533169864904892182237683246347572084245365191125792238162832968930393778486311914591336488816372341376522067036860976397292954319050636670890190881862580303324718499511813664256650581668171314625522576463828792300817636790551747752178963893094026368249871063740051957677459820923123398315939696748427420043893707187931413132194983048121141633208572619318118682144503976902886475074725995927488015931697855547875567877957092844564972845868112467386799220810631963984802801245465491999492342994359330345557818309230549781190666893419855523650310406258181966733177334063917199888119119548767752141086258162376401893740900149055101692383716437730051535448970252369139807831334212981351808475128436325511506521306376541098272413318178788027577886741756988051386311777882287391881862854060744982292039961563494441320610172547471281354491811089427667941553096792539866778533112339401492150191478610168187813943366146939613944255787812295363788871264558245650366272976585990903261089635305905742282528531617124236257160918684087656849837574980709007634462794039027502516932254792552278738094881287976286091303833032328709898177754381747211550369182625253816956570895415702356703647970398979022104775855650022923491671389932150050238130342993219290079594357803961156906483525731193515143667409605342655206986539810441729034123792850051347539305704207486216981192413978602284363056867626486373038246244839413072201313630754273638937315123889266770682128882430762690059836369951715002691645372943891194536056518939393483536344089949823186946555884678988010580615983982479704610187475910957396703374352600973214429895438876454557725931764099504166221965567851477778524080688479039673549688608223453815640594482798578256595213089270083559888919481365699489637100462903261695502194644348626336709527606095941785695581152441637033674790821685888023791364256305622601762475611441750013106178994593770221066022071023423181155633034817805122802161398524935744545943741207082734764334825940768852393487409193252192043890560912706601726987758753067561041148319622385097614386639073680669427818858042442429654858229935977397707681836665668775740641201467318749912966028972169793293390466868251643453919856849649464322290493048735341721271287419107657917313905525324948586326718627816214107076707368817487170052506253995767034921526007809581573945253151822834749452099415021388971615151747053427766692853648240012116610723886125081342994287489545235725721142914067970761305543646806858970499351876132153368421770237795532592261530517822610356843765148217108907994757920134143467540976888459223968533993602900377353953544172817792180535262936919969492569469436153458748985127294759494223048694113803447594333559542494170015852179431982487558567762644873232582846206118354511361889465074082198622487687130683064905826980365281361526563926662405093323369953815510290733148417577099131665373904594606446101445456737906257234215611047930895015327467213852058204569126364764390657202470807122594170585907633466485519524155064808028487628723708474385722676764531471034749556194317090053532721523949569733293990221599435614437855978142064057941350647248869502882171365376482071435295878341415878631076359405882902371556731407341889179961545506866186248441345259419590661969374361882364592061478559916225955206538184816386679967482441838049310905079233609878397934734816175948993752695074814067593455911713281951234584719671148856291994006466814477367850543107690771346327489500529747440674930090756702297261679187551872345086063837394259531898709135941627900148238103139796982138624016618320937655921765263711024009874698746369080375567901724255684972797468157046157244471404374772222761078870327589465169246896223399414535889927524097257658342338819602157586456758679350724006766498955644886341578770464217114532766965311558328771842477936179644154648725549016964555717358267421129406002607793307439153514126492562540286438784812980066800677318313791389822961787325992391015069754823380173916313596635123798266301750265370600068685480969393442609603956119372421591853151722808583669735059915582753550715486399760012328047281867317279176872125198538864086215345171359356062618339888269196615849878341009901174366182431568400817312255199337667870427164058252046691141588462611695798445898455666744650148543174273924084039433899774435857949430043993897554400048319814689695862859159318872535204748251144962702162463499737891432877223121909129098344855891760814617089321319951062904551654895337306129805913025944180906927502044419375620970439904558408425976746524919577422744604678047700295341856552182095320586852500585625664834503585589269368741216930474755189870268950484900669276439820744731551861384605719817230677305424393562608012347282106616739326341508184942013244631726891106292405240644550509393873680228562272071533052382956340446417148097972501997474543615397475518262648869520545135690881661356943350133932565706608146399718351491507472986333577842853498178674984672051322972654996461950987550865292528553620054954224913858166192474882035352357899732655030712160385609277387607740567177899255072891211576698669315915614623365514450273883629476310746756716923977433973982778866537623583659452653953536594305635259113791810456916740095328527216763001938091607108120211956569098947525776967516508899548558888706022782856287399631190569717979133974265816248963278960898161685096058601377782895534213136701479149191550214315794162212015792405661422845597673653182274714618069931744594221634105470177540427769803623211699582705445596866405927037514309107234351370362467425928846073566742931409335261734131864994298347945260635001131311920283905394751792800521660850627916150640677023274911592637202999772417492767266475033477116987488225402321678196203896707838129488510806857661805566699304194033908269506749978952496681544507895148734468513239756888440769289103653460242590706209377481163424447150937201817016411428938761225411412620391654920682653706041198253530963973664372010391746854260916537511407841070178312591009192581586245994250160312207757539666759964652436749624695710006526932049227367011260245836155602924015442624367872349380151723114491536701108462789811468407784363983688570272618639641206165586158836058493189251526501711694316986861847410525231500364251300122350716668571836339732659545049424088047941506679023857361785213178069306989586118887798676812702536322297205577220215669860213928976137767561270063683142657573175784228191236008498180382859203465059664323543054771844757547132314130392776344494173588299702326738416717900532663451394215114634754233027407799698068426715198497878488914782118398612098302405748157704352559685379793070036590846251648673361720445850857158040299680815524702003811717351151130675016102049780631424453367454840976211353451658442534353695502030234100441279085017434696680873502985153330640183412929532516173899867364725712657697298871021769976008801576464527000641600740268937101666222895652566156284601337220279359261104594072445817458590580761247693556209444191579981147963874551394904047417056078912565880591658060975546392462311882416441222311791167990180680463988443570241217782392857011867069680884244666593050092653665365976989558026022470608210613618754008458873824007001387382830148126034290344824191155415782018993342382704401188799702402584222440549094763577598172796167234130544210531502303550183844221220741663302428474645529415233450782908000520186885350457480593709781632911073809060760282828755283843146949436685051247670110734191688391328421684820072278551527252247123400889675092676047061214900279455779580400780351440717718674778598620334958799748366441005751435862051719573393022638455265338173691749329829929778792927209252299363226699669304396453808682352906829063954982628241054392382727084233234617853880930580558610693644662670411726208797563897182971330720340719082906323101468841115426963546938445791225705353254787304946539733594898724141144239697760300827426052047546961517686499286157967359499839068369711093213559834093305661759832640340481518447830683201238037573073034923371654932505878872286450948560812402475945000187368127335451061374922239755912496374931537669807313507757327703393109679583412696113635024212973064274613866852932449186237465546438109670833043105716515186564273683749679196522660307441709803046192255881017538101925341711174906379489848946543183123073850704626033418160529505869092989263318726560205879718746710875014131947022384457383962499831547580471246712917216156469789553191725652376211491125995382650530239607253861346335167367006691659966028436923879658028234167339264725812588477235925297234946767436813208967088950289371556162445134041599336856405446555784427112197397096142354676371339318021852771023427520971147023370996712955808700964370952675608644549934107066115121542769188598526262118995492677970580930459374737773107457949272307186334991083320194701617060222448587218509668328671651886238926306221826871145721997295311452888663168600722995588557783323760647463273077854230440154213720457216737087525982652611465497495713509174157083705468833373013337016415301982765023565706273266008704617324972753192632117961594037665018004375853454904736629326885577001853263670959707179272526044720607302590542747596167329895801318010550294881949223256213411400071462361369097478818385742424692728771718912318234303492676110785585739857570888109161990160017692865060183371987768567018136294489362027824589233399076038416442405520151811644763440205702650680025924476610505028745688504247111678762224045221283096030107602175893024030459033747969960600443330998917435797697383440847520855882734028891054039283180622802306687316484472671191764170740047114602134544535641844189889350023046074789812124132332044995315682443311940131237405896121697516399290661444783920628389485361936617903271547246578586588213410236767354269988120357660566929203939444570114524798976752515218892046013824072470089741792712786458082533243339059588785186650352493604709184193892983514025539509616376413891859366013242240080250264810939658861895357096614826904672377530270910959237339630961600122762109741659179671379165605488670056747427195521661418156357992518033406601044885914675963132267191743621957740870131565200569814713941503376525665160558639143193925098588395597155080257670477129797124530700682326208118090805806565184069973068574441850966345354706260447908923069673295013426213294385861485283045526462538910735239460168488142702069095056571491196157747662650853217993014174291374613139589188363417133144936382540619731804232898205864880307208087840884848876477489295453300504999568595984028183835344409608947613554429811290658673416210997385846311057382995622227388628383002600925807935364764753805536473373042553523506494464273041118615605223474159050130879162551582336724424932137833056232399437260930621307664984546268959827054796391535053320424643046532913633160819503216272678658014010706235559062809831299809686238564680790862469449505263443747498977606156134542922058983751515164157048624030293978121341128177071253985686147852533802848547775086695679833627111462536654859577282475780846461565189536035166955634705171744938300758779944594645916609102224507570136382682628523270787623779589768607029522318485609540598020592940946392546384543280354584125916264777139172068918782670931067827455266383649518823913525239503517274250021483671296305694299466787403911632714464796411593102671583803660425009005339500056862810182600815001757735456392819092858686950678352253153456271742089833433030555766787058325010699947395021193671748759569098245507987499499130291494435775798740205225920307409292271104005670294370337410921036724331843314258158403913990805229275378559782413717928224042367417709599302966953490270238694661112359496953830498606784086438372332141905196621252608484903687514985520273710106772313187568996928678292720413797110285934416720410111115601235526412384798791063347220588956009736331231453902124956053151113367239913266090823848247117856982320160551433853975201313806565148854695076651889074976978199892903962068904016329525573490958346004760162715233725757803465309718186604184926868685525872993179978915754421084594607974740535017537734343543579643137591692664653905427908699436038065818151075562435695890155000609557516570170141099008287634733300449818188760610410712309733549085797495398813231519514139193077136152360715650093377121558543922877012926393674012695988637131930545948422722030271950551217705562608957920201803558894740225517435374934100595243786738844056747849807712873958505622744117603938633362313174420777198023964122480866427151095280237830022202126847305191925763944293750271166321136479408816411259706704707176798921240927206212979330109057027342875662697738866593403733239051077371447772514786787039513896399353047080330466797586473780207556952745462127653719377851265838514878004295243121869736481925289075648718207159851359469162601942518250494617918043717238852062671205512961102844180890636998724726401640761659927208881766930562262234984630179192439049148406276986493553948259214647576621498217749240555076085542414395891641401827725290139788395782142333684468030484773879148913868787831351017473 79221136326288413549090453617582214988603149380032775393045753873679347103737428810698791647263113706575282689198477135930652137291317188670030006057926509831856472550143054466006425134587034426949120010210832597783143689081004098970652114673282224426184172485773967049733965817226715156969648131835381010189470025770375559444559659305270898952170617343578663720139463438305206193729450577009951868047317341521679722886752217921827822705466305632297648679105292595306982225729633137305184703173136534319068330149229142960259210328722455601450057473003629441834416962669954405564521304502500726298911194393554191501157954017925309977598836623748100506311537547090223313424323313673085311409323919977212070953990949404412305207140907616619412378270976434206887105501661848469182736298770557698748104969475842500166345456724876246803841548685455561851856586967869889986216391448174596518073583228454703935275996041071738034755239225816281721293011288588359444337681021846829274952700086230836341401062887321604178406708278357480439226036171803414304571700770050264769130291420603534822495795966981715612394351588510056912232508637273573895372779156159436797233748213294951636931736322625278881149941049169682180025310119656903852664689348405476728233436921288688205034751242856813863451202798101231235894933014025474654357904163264189792879110990531247061528782494741231885291482973616690359904394443018958369073484128300703937149692838128916254439952768266768999800895221352172804608885628145520829329108509888656265795056847497582709463200002373315731960683089450281141672128908771066872542843950397795050900482861371828770525181267955544208230938560999841196913163882946371552828126583680248944964520944418180558701521838650855170095150234372062727397690674991347946365752214498420657007149585319909260780872426315558079608099072865828174703417406185318728278145026184310672633645641700732291542811057990742838365066341014265183949971790930431087121056345347741501667746148234688653065189269356885872908647581204650438736957716528711548574555583977239301969823515430537595181395319473570033411789209713074292228145962019286962544117035974563318921268241513986555088394502711032433789248734183877010959345104750102614262227563661010217640141350231316347211768763385670337883433049195056061300162041862964241528184097908283230852906666992480893473206747006312106694438401261591124362380788902882710265313013071263115504159140550179707220633782158597940373880726872858838789886163551228708805088540541574505134133745949431125107024728689987177439066224173647204385151471810845156172459609697201263898819372465925856032821983943945509201296896112993390414319772317613998628115011584901662481020736975231857679558573639533120123760882987807897148264001476729480741158503008405824181375825684426593602078107066384305742314153383784825815001170364503279303283157714730965700730790958163526085614077255893030881612578737162635171062435305862363661501175783671862584712802832632731639923317926092501167046294294878922434436385815597766578254085927198853219424480746368612964091254086956730350365974846418411767133289280026522101904776721397535481072023153960396155426365282526318432948840966649466716318812335304612541684202901596339076117983534399558629308180937552570931412127563964839611720473046765641026358839977096301838517860717992220124429055320994261412222457829626748188314831526678529121257451724121669436757611557692716596947663821034873517375372433749628434475153359120061495211777091719559441963916844642691242108239222713715540944215042751815205832903182816602051553000809853471087600226541940973229542173962641860015572714026730877762563780111880467244618055586935195897209646109126685288690235443479134420307287200865787784854857681194140932834097813623138157320433948668365280904196167520730495552269155400544459597418276177569668057444229387270850059959177577695113400939572251098823419194625556857107173746511343007800181920881221537624681494893301655822089723344553388000429323171176866004751029713971505534118999127107434111180853160547174861752751626348577776330731649967976997705926985766161797485058129299093471507452375539795559192778297669346728516427619455250496404870474371468200079265657822190324253008657280022070822577899305872108909461787244531453423119105988731060885667270673906364763727364896807710566881055215730830049911805272377486610061004335421869816885849669495243455855042551121024488255660795663819648501724149284790298092093372482653444084141453024908635847938874074697818854837695253972630804930011048531224322683145833842458520248412423153952435022528345724977763280584053398449746120516553508775326815255194777552247568789127161127121523667078092192754147983382483439483110519687390499526362703620317546913529048991244723833568395254652779389245457001074904459611968988017810125634688718594557512726477640828469923085023078927441553690015369298834217415908971293929662509893318732156287214572953717271547294454739080159480184708525419270198385219963884877884002278754278750609561959567609573219604469598655354749579234218685586373052244170384013165767049118076193618533398406013188209001235766656057471022713158458115640722513614902460046359982042188094125956149263515692514917141235851596188317125234698698143445430710086862519687007887491677593147363567434012996511611208264524292392041796094719104232814767772523351970722422038548274955882602506325735217927052884736197570933812826973727984393449854685360152304385913054039591824514239463064574006576447070168308785658334189143136583726277476279484040055265195370002967927103157598498988314064461158492527567235388273093138250126070907284091661168961258085026365164006756510037480113146444863049857410441189627990753392734989779344967229909893545831260919205642629882485159098157638129076046041748514665632636070142935578386099836275589388930926240584371164648614330272952273803821934246410548896732021483600216257876390203223583811752097414977367601275058587892151481717977645237081174997478084219478623660424162752880192868685884668880148643205675563808348487798702434249814028000489387319267434376798624197140709588473161705863149798376475260131435650698866424963700821352635427311875603754398568456694493029785421376982682568805861337391799580504924932794556653379358767208890415958085613545957157879585738485216752347809889677342570960091355021080407464763338564493970911651840304968787953757264726616132058769535451536129440982464344457257409571874631344070375729511782691987208945139373059377362044678441485767885356392625676743825088107696059578436822101089587320629680572375297507439230177389257372694401026822808373497528093968027287143301629103846534858625188325762033439196480397732997628503014649621121690269155702957775533169864904892182237683246347572084245365191125792238162832968930393778486311914591336488816372341376522067036860976397292954319050636670890190881862580303324718499511813664256650581668171314625522576463828792300817636790551747752178963893094026368249871063740051957677459820923123398315939696748427420043893707187931413132194983048121141633208572619318118682144503976902886475074725995927488015931697855547875567877957092844564972845868112467386799220810631963984802801245465491999492342994359330345557818309230549781190666893419855523650310406258181966733177334063917199888119119548767752141086258162376401893740900149055101692383716437730051535448970252369139807831334212981351808475128436325511506521306376541098272413318178788027577886741756988051386311777882287391881862854060744982292039961563494441320610172547471281354491811089427667941553096792539866778533112339401492150191478610168187813943366146939613944255787812295363788871264558245650366272976585990903261089635305905742282528531617124236257160918684087656849837574980709007634462794039027502516932254792552278738094881287976286091303833032328709898177754381747211550369182625253816956570895415702356703647970398979022104775855650022923491671389932150050238130342993219290079594357803961156906483525731193515143667409605342655206986539810441729034123792850051347539305704207486216981192413978602284363056867626486373038246244839413072201313630754273638937315123889266770682128882430762690059836369951715002691645372943891194536056518939393483536344089949823186946555884678988010580615983982479704610187475910957396703374352600973214429895438876454557725931764099504166221965567851477778524080688479039673549688608223453815640594482798578256595213089270083559888919481365699489637100462903261695502194644348626336709527606095941785695581152441637033674790821685888023791364256305622601762475611441750013106178994593770221066022071023423181155633034817805122802161398524935744545943741207082734764334825940768852393487409193252192043890560912706601726987758753067561041148319622385097614386639073680669427818858042442429654858229935977397707681836665668775740641201467318749912966028972169793293390466868251643453919856849649464322290493048735341721271287419107657917313905525324948586326718627816214107076707368817487170052506253995767034921526007809581573945253151822834749452099415021388971615151747053427766692853648240012116610723886125081342994287489545235725721142914067970761305543646806858970499351876132153368421770237795532592261530517822610356843765148217108907994757920134143467540976888459223968533993602900377353953544172817792180535262936919969492569469436153458748985127294759494223048694113803447594333559542494170015852179431982487558567762644873232582846206118354511361889465074082198622487687130683064905826980365281361526563926662405093323369953815510290733148417577099131665373904594606446101445456737906257234215611047930895015327467213852058204569126364764390657202470807122594170585907633466485519524155064808028487628723708474385722676764531471034749556194317090053532721523949569733293990221599435614437855978142064057941350647248869502882171365376482071435295878341415878631076359405882902371556731407341889179961545506866186248441345259419590661969374361882364592061478559916225955206538184816386679967482441838049310905079233609878397934734816175948993752695074814067593455911713281951234584719671148856291994006466814477367850543107690771346327489500529747440674930090756702297261679187551872345086063837394259531898709135941627900148238103139796982138624016618320937655921765263711024009874698746369080375567901724255684972797468157046157244471404374772222761078870327589465169246896223399414535889927524097257658342338819602157586456758679350724006766498955644886341578770464217114532766965311558328771842477936179644154648725549016964555717358267421129406002607793307439153514126492562540286438784812980066800677318313791389822961787325992391015069754823380173916313596635123798266301750265370600068685480969393442609603956119372421591853151722808583669735059915582753550715486399760012328047281867317279176872125198538864086215345171359356062618339888269196615849878341009901174366182431568400817312255199337667870427164058252046691141588462611695798445898455666744650148543174273924084039433899774435857949430043993897554400048319814689695862859159318872535204748251144962702162463499737891432877223121909129098344855891760814617089321319951062904551654895337306129805913025944180906927502044419375620970439904558408425976746524919577422744604678047700295341856552182095320586852500585625664834503585589269368741216930474755189870268950484900669276439820744731551861384605719817230677305424393562608012347282106616739326341508184942013244631726891106292405240644550509393873680228562272071533052382956340446417148097972501997474543615397475518262648869520545135690881661356943350133932565706608146399718351491507472986333577842853498178674984672051322972654996461950987550865292528553620054954224913858166192474882035352357899732655030712160385609277387607740567177899255072891211576698669315915614623365514450273883629476310746756716923977433973982778866537623583659452653953536594305635259113791810456916740095328527216763001938091607108120211956569098947525776967516508899548558888706022782856287399631190569717979133974265816248963278960898161685096058601377782895534213136701479149191550214315794162212015792405661422845597673653182274714618069931744594221634105470177540427769803623211699582705445596866405927037514309107234351370362467425928846073566742931409335261734131864994298347945260635001131311920283905394751792800521660850627916150640677023274911592637202999772417492767266475033477116987488225402321678196203896707838129488510806857661805566699304194033908269506749978952496681544507895148734468513239756888440769289103653460242590706209377481163424447150937201817016411428938761225411412620391654920682653706041198253530963973664372010391746854260916537511407841070178312591009192581586245994250160312207757539666759964652436749624695710006526932049227367011260245836155602924015442624367872349380151723114491536701108462789811468407784363983688570272618639641206165586158836058493189251526501711694316986861847410525231500364251300122350716668571836339732659545049424088047941506679023857361785213178069306989586118887798676812702536322297205577220215669860213928976137767561270063683142657573175784228191236008498180382859203465059664323543054771844757547132314130392776344494173588299702326738416717900532663451394215114634754233027407799698068426715198497878488914782118398612098302405748157704352559685379793070036590846251648673361720445850857158040299680815524702003811717351151130675016102049780631424453367454840976211353451658442534353695502030234100441279085017434696680873502985153330640183412929532516173899867364725712657697298871021769976008801576464527000641600740268937101666222895652566156284601337220279359261104594072445817458590580761247693556209444191579981147963874551394904047417056078912565880591658060975546392462311882416441222311791167990180680463988443570241217782392857011867069680884244666593050092653665365976989558026022470608210613618754008458873824007001387382830148126034290344824191155415782018993342382704401188799702402584222440549094763577598172796167234130544210531502303550183844221220741663302428474645529415233450782908000520186885350457480593709781632911073809060760282828755283843146949436685051247670110734191688391328421684820072278551527252247123400889675092676047061214900279455779580400780351440717718674778598620334958799748366441005751435862051719573393022638455265338173691749329829929778792927209252299363226699669304396453808682352906829063954982628241054392382727084233234617853880930580558610693644662670411726208797563897182971330720340719082906323101468841115426963546938445791225705353254787304946539733594898724141144239697760300827426052047546961517686499286157967359499839068369711093213559834093305661759832640340481518447830683201238037573073034923371654932505878872286450948560812402475945000187368127335451061374922239755912496374931537669807313507757327703393109679583412696113635024212973064274613866852932449186237465546438109670833043105716515186564273683749679196522660307441709803046192255881017538101925341711174906379489848946543183123073850704626033418160529505869092989263318726560205879718746710875014131947022384457383962499831547580471246712917216156469789553191725652376211491125995382650530239607253861346335167367006691659966028436923879658028234167339264725812588477235925297234946767436813208967088950289371556162445134041599336856405446555784427112197397096142354676371339318021852771023427520971147023370996712955808700964370952675608644549934107066115121542769188598526262118995492677970580930459374737773107457949272307186334991083320194701617060222448587218509668328671651886238926306221826871145721997295311452888663168600722995588557783323760647463273077854230440154213720457216737087525982652611465497495713509174157083705468833373013337016415301982765023565706273266008704617324972753192632117961594037665018004375853454904736629326885577001853263670959707179272526044720607302590542747596167329895801318010550294881949223256213411400071462361369097478818385742424692728771718912318234303492676110785585739857570888109161990160017692865060183371987768567018136294489362027824589233399076038416442405520151811644763440205702650680025924476610505028745688504247111678762224045221283096030107602175893024030459033747969960600443330998917435797697383440847520855882734028891054039283180622802306687316484472671191764170740047114602134544535641844189889350023046074789812124132332044995315682443311940131237405896121697516399290661444783920628389485361936617903271547246578586588213410236767354269988120357660566929203939444570114524798976752515218892046013824072470089741792712786458082533243339059588785186650352493604709184193892983514025539509616376413891859366013242240080250264810939658861895357096614826904672377530270910959237339630961600122762109741659179671379165605488670056747427195521661418156357992518033406601044885914675963132267191743621957740870131565200569814713941503376525665160558639143193925098588395597155080257670477129797124530700682326208118090805806565184069973068574441850966345354706260447908923069673295013426213294385861485283045526462538910735239460168488142702069095056571491196157747662650853217993014174291374613139589188363417133144936382540619731804232898205864880307208087840884848876477489295453300504999568595984028183835344409608947613554429811290658673416210997385846311057382995622227388628383002600925807935364764753805536473373042553523506494464273041118615605223474159050130879162551582336724424932137833056232399437260930621307664984546268959827054796391535053320424643046532913633160819503216272678658014010706235559062809831299809686238564680790862469449505263443747498977606156134542922058983751515164157048624030293978121341128177071253985686147852533802848547775086695679833627111462536654859577282475780846461565189536035166955634705171744938300758779944594645916609102224507570136382682628523270787623779589768607029522318485609540598020592940946392546384543280354584125916264777139172068918782670931067827455266383649518823913525239503517274250021483671296305694299466787403911632714464796411593102671583803660425009005339500056862810182600815001757735456392819092858686950678352253153456271742089833433030555766787058325010699947395021193671748759569098245507987499499130291494435775798740205225920307409292271104005670294370337410921036724331843314258158403913990805229275378559782413717928224042367417709599302966953490270238694661112359496953830498606784086438372332141905196621252608484903687514985520273710106772313187568996928678292720413797110285934416720410111115601235526412384798791063347220588956009736331231453902124956053151113367239913266090823848247117856982320160551433853975201313806565148854695076651889074976978199892903962068904016329525573490958346004760162715233725757803465309718186604184926868685525872993179978915754421084594607974740535017537734343543579643137591692664653905427908699436038065818151075562435695890155000609557516570170141099008287634733300449818188760610410712309733549085797495398813231519514139193077136152360715650093377121558543922877012926393674012695988637131930545948422722030271950551217705562608957920201803558894740225517435374934100595243786738844056747849807712873958505622744117603938633362313174420777198023964122480866427151095280237830022202126847305191925763944293750271166321136479408816411259706704707176798921240927206212979330109057027342875662697738866593403733239051077371447772514786787039513896399353047080330466797586473780207556952745462127653719377851265838514878004295243121869736481925289075648718207159851359469162601942518250494617918043717238852062671205512961102844180890636998724726401640761659927208881766930562262234984630179192439049148406276986493553948259214647576621498217749240555076085542414395891641401827725290139788395782142333684468030484773879148913868787831351017473 79221136326288413549090453617582214988603149380032775393045753873679347103737428810698791647263113706575282689198477135930652137291317188670030006057926509831856472550143054466006425134587034426949120010210832597783143689081004098970652114673282224426184172485773967049733965817226715156969648131835381010189470025770375559444559659305270898952170617343578663720139463438305206193729450577009951868047317341521679722886752217921827822705466305632297648679105292595306982225729633137305184703173136534319068330149229142960259210328722455601450057473003629441834416962669954405564521304502500726298911194393554191501157954017925309977598836623748100506311537547090223313424323313673085311409323919977212070953990949404412305207140907616619412378270976434206887105501661848469182736298770557698748104969475842500166345456724876246803841548685455561851856586967869889986216391448174596518073583228454703935275996041071738034755239225816281721293011288588359444337681021846829274952700086230836341401062887321604178406708278357480439226036171803414304571700770050264769130291420603534822495795966981715612394351588510056912232508637273573895372779156159436797233748213294951636931736322625278881149941049169682180025310119656903852664689348405476728233436921288688205034751242856813863451202798101231235894933014025474654357904163264189792879110990531247061528782494741231885291482973616690359904394443018958369073484128300703937149692838128916254439952768266768999800895221352172804608885628145520829329108509888656265795056847497582709463200002373315731960683089450281141672128908771066872542843950397795050900482861371828770525181267955544208230938560999841196913163882946371552828126583680248944964520944418180558701521838650855170095150234372062727397690674991347946365752214498420657007149585319909260780872426315558079608099072865828174703417406185318728278145026184310672633645641700732291542811057990742838365066341014265183949971790930431087121056345347741501667746148234688653065189269356885872908647581204650438736957716528711548574555583977239301969823515430537595181395319473570033411789209713074292228145962019286962544117035974563318921268241513986555088394502711032433789248734183877010959345104750102614262227563661010217640141350231316347211768763385670337883433049195056061300162041862964241528184097908283230852906666992480893473206747006312106694438401261591124362380788902882710265313013071263115504159140550179707220633782158597940373880726872858838789886163551228708805088540541574505134133745949431125107024728689987177439066224173647204385151471810845156172459609697201263898819372465925856032821983943945509201296896112993390414319772317613998628115011584901662481020736975231857679558573639533120123760882987807897148264001476729480741158503008405824181375825684426593602078107066384305742314153383784825815001170364503279303283157714730965700730790958163526085614077255893030881612578737162635171062435305862363661501175783671862584712802832632731639923317926092501167046294294878922434436385815597766578254085927198853219424480746368612964091254086956730350365974846418411767133289280026522101904776721397535481072023153960396155426365282526318432948840966649466716318812335304612541684202901596339076117983534399558629308180937552570931412127563964839611720473046765641026358839977096301838517860717992220124429055320994261412222457829626748188314831526678529121257451724121669436757611557692716596947663821034873517375372433749628434475153359120061495211777091719559441963916844642691242108239222713715540944215042751815205832903182816602051553000809853471087600226541940973229542173962641860015572714026730877762563780111880467244618055586935195897209646109126685288690235443479134420307287200865787784854857681194140932834097813623138157320433948668365280904196167520730495552269155400544459597418276177569668057444229387270850059959177577695113400939572251098823419194625556857107173746511343007800181920881221537624681494893301655822089723344553388000429323171176866004751029713971505534118999127107434111180853160547174861752751626348577776330731649967976997705926985766161797485058129299093471507452375539795559192778297669346728516427619455250496404870474371468200079265657822190324253008657280022070822577899305872108909461787244531453423119105988731060885667270673906364763727364896807710566881055215730830049911805272377486610061004335421869816885849669495243455855042551121024488255660795663819648501724149284790298092093372482653444084141453024908635847938874074697818854837695253972630804930011048531224322683145833842458520248412423153952435022528345724977763280584053398449746120516553508775326815255194777552247568789127161127121523667078092192754147983382483439483110519687390499526362703620317546913529048991244723833568395254652779389245457001074904459611968988017810125634688718594557512726477640828469923085023078927441553690015369298834217415908971293929662509893318732156287214572953717271547294454739080159480184708525419270198385219963884877884002278754278750609561959567609573219604469598655354749579234218685586373052244170384013165767049118076193618533398406013188209001235766656057471022713158458115640722513614902460046359982042188094125956149263515692514917141235851596188317125234698698143445430710086862519687007887491677593147363567434012996511611208264524292392041796094719104232814767772523351970722422038548274955882602506325735217927052884736197570933812826973727984393449854685360152304385913054039591824514239463064574006576447070168308785658334189143136583726277476279484040055265195370002967927103157598498988314064461158492527567235388273093138250126070907284091661168961258085026365164006756510037480113146444863049857410441189627990753392734989779344967229909893545831260919205642629882485159098157638129076046041748514665632636070142935578386099836275589388930926240584371164648614330272952273803821934246410548896732021483600216257876390203223583811752097414977367601275058587892151481717977645237081174997478084219478623660424162752880192868685884668880148643205675563808348487798702434249814028000489387319267434376798624197140709588473161705863149798376475260131435650698866424963700821352635427311875603754398568456694493029785421376982682568805861337391799580504924932794556653379358767208890415958085613545957157879585738485216752347809889677342570960091355021080407464763338564493970911651840304968787953757264726616132058769535451536129440982464344457257409571874631344070375729511782691987208945139373059377362044678441485767885356392625676743825088107696059578436822101089587320629680572375297507439230177389257372694401026822808373497528093968027287143301629103846534858625188325762033439196480397732997628503014649621121690269155702957775533169864904892182237683246347572084245365191125792238162832968930393778486311914591336488816372341376522067036860976397292954319050636670890190881862580303324718499511813664256650581668171314625522576463828792300817636790551747752178963893094026368249871063740051957677459820923123398315939696748427420043893707187931413132194983048121141633208572619318118682144503976902886475074725995927488015931697855547875567877957092844564972845868112467386799220810631963984802801245465491999492342994359330345557818309230549781190666893419855523650310406258181966733177334063917199888119119548767752141086258162376401893740900149055101692383716437730051535448970252369139807831334212981351808475128436325511506521306376541098272413318178788027577886741756988051386311777882287391881862854060744982292039961563494441320610172547471281354491811089427667941553096792539866778533112339401492150191478610168187813943366146939613944255787812295363788871264558245650366272976585990903261089635305905742282528531617124236257160918684087656849837574980709007634462794039027502516932254792552278738094881287976286091303833032328709898177754381747211550369182625253816956570895415702356703647970398979022104775855650022923491671389932150050238130342993219290079594357803961156906483525731193515143667409605342655206986539810441729034123792850051347539305704207486216981192413978602284363056867626486373038246244839413072201313630754273638937315123889266770682128882430762690059836369951715002691645372943891194536056518939393483536344089949823186946555884678988010580615983982479704610187475910957396703374352600973214429895438876454557725931764099504166221965567851477778524080688479039673549688608223453815640594482798578256595213089270083559888919481365699489637100462903261695502194644348626336709527606095941785695581152441637033674790821685888023791364256305622601762475611441750013106178994593770221066022071023423181155633034817805122802161398524935744545943741207082734764334825940768852393487409193252192043890560912706601726987758753067561041148319622385097614386639073680669427818858042442429654858229935977397707681836665668775740641201467318749912966028972169793293390466868251643453919856849649464322290493048735341721271287419107657917313905525324948586326718627816214107076707368817487170052506253995767034921526007809581573945253151822834749452099415021388971615151747053427766692853648240012116610723886125081342994287489545235725721142914067970761305543646806858970499351876132153368421770237795532592261530517822610356843765148217108907994757920134143467540976888459223968533993602900377353953544172817792180535262936919969492569469436153458748985127294759494223048694113803447594333559542494170015852179431982487558567762644873232582846206118354511361889465074082198622487687130683064905826980365281361526563926662405093323369953815510290733148417577099131665373904594606446101445456737906257234215611047930895015327467213852058204569126364764390657202470807122594170585907633466485519524155064808028487628723708474385722676764531471034749556194317090053532721523949569733293990221599435614437855978142064057941350647248869502882171365376482071435295878341415878631076359405882902371556731407341889179961545506866186248441345259419590661969374361882364592061478559916225955206538184816386679967482441838049310905079233609878397934734816175948993752695074814067593455911713281951234584719671148856291994006466814477367850543107690771346327489500529747440674930090756702297261679187551872345086063837394259531898709135941627900148238103139796982138624016618320937655921765263711024009874698746369080375567901724255684972797468157046157244471404374772222761078870327589465169246896223399414535889927524097257658342338819602157586456758679350724006766498955644886341578770464217114532766965311558328771842477936179644154648725549016964555717358267421129406002607793307439153514126492562540286438784812980066800677318313791389822961787325992391015069754823380173916313596635123798266301750265370600068685480969393442609603956119372421591853151722808583669735059915582753550715486399760012328047281867317279176872125198538864086215345171359356062618339888269196615849878341009901174366182431568400817312255199337667870427164058252046691141588462611695798445898455666744650148543174273924084039433899774435857949430043993897554400048319814689695862859159318872535204748251144962702162463499737891432877223121909129098344855891760814617089321319951062904551654895337306129805913025944180906927502044419375620970439904558408425976746524919577422744604678047700295341856552182095320586852500585625664834503585589269368741216930474755189870268950484900669276439820744731551861384605719817230677305424393562608012347282106616739326341508184942013244631726891106292405240644550509393873680228562272071533052382956340446417148097972501997474543615397475518262648869520545135690881661356943350133932565706608146399718351491507472986333577842853498178674984672051322972654996461950987550865292528553620054954224913858166192474882035352357899732655030712160385609277387607740567177899255072891211576698669315915614623365514450273883629476310746756716923977433973982778866537623583659452653953536594305635259113791810456916740095328527216763001938091607108120211956569098947525776967516508899548558888706022782856287399631190569717979133974265816248963278960898161685096058601377782895534213136701479149191550214315794162212015792405661422845597673653182274714618069931744594221634105470177540427769803623211699582705445596866405927037514309107234351370362467425928846073566742931409335261734131864994298347945260635001131311920283905394751792800521660850627916150640677023274911592637202999772417492767266475033477116987488225402321678196203896707838129488510806857661805566699304194033908269506749978952496681544507895148734468513239756888440769289103653460242590706209377481163424447150937201817016411428938761225411412620391654920682653706041198253530963973664372010391746854260916537511407841070178312591009192581586245994250160312207757539666759964652436749624695710006526932049227367011260245836155602924015442624367872349380151723114491536701108462789811468407784363983688570272618639641206165586158836058493189251526501711694316986861847410525231500364251300122350716668571836339732659545049424088047941506679023857361785213178069306989586118887798676812702536322297205577220215669860213928976137767561270063683142657573175784228191236008498180382859203465059664323543054771844757547132314130392776344494173588299702326738416717900532663451394215114634754233027407799698068426715198497878488914782118398612098302405748157704352559685379793070036590846251648673361720445850857158040299680815524702003811717351151130675016102049780631424453367454840976211353451658442534353695502030234100441279085017434696680873502985153330640183412929532516173899867364725712657697298871021769976008801576464527000641600740268937101666222895652566156284601337220279359261104594072445817458590580761247693556209444191579981147963874551394904047417056078912565880591658060975546392462311882416441222311791167990180680463988443570241217782392857011867069680884244666593050092653665365976989558026022470608210613618754008458873824007001387382830148126034290344824191155415782018993342382704401188799702402584222440549094763577598172796167234130544210531502303550183844221220741663302428474645529415233450782908000520186885350457480593709781632911073809060760282828755283843146949436685051247670110734191688391328421684820072278551527252247123400889675092676047061214900279455779580400780351440717718674778598620334958799748366441005751435862051719573393022638455265338173691749329829929778792927209252299363226699669304396453808682352906829063954982628241054392382727084233234617853880930580558610693644662670411726208797563897182971330720340719082906323101468841115426963546938445791225705353254787304946539733594898724141144239697760300827426052047546961517686499286157967359499839068369711093213559834093305661759832640340481518447830683201238037573073034923371654932505878872286450948560812402475945000187368127335451061374922239755912496374931537669807313507757327703393109679583412696113635024212973064274613866852932449186237465546438109670833043105716515186564273683749679196522660307441709803046192255881017538101925341711174906379489848946543183123073850704626033418160529505869092989263318726560205879718746710875014131947022384457383962499831547580471246712917216156469789553191725652376211491125995382650530239607253861346335167367006691659966028436923879658028234167339264725812588477235925297234946767436813208967088950289371556162445134041599336856405446555784427112197397096142354676371339318021852771023427520971147023370996712955808700964370952675608644549934107066115121542769188598526262118995492677970580930459374737773107457949272307186334991083320194701617060222448587218509668328671651886238926306221826871145721997295311452888663168600722995588557783323760647463273077854230440154213720457216737087525982652611465497495713509174157083705468833373013337016415301982765023565706273266008704617324972753192632117961594037665018004375853454904736629326885577001853263670959707179272526044720607302590542747596167329895801318010550294881949223256213411400071462361369097478818385742424692728771718912318234303492676110785585739857570888109161990160017692865060183371987768567018136294489362027824589233399076038416442405520151811644763440205702650680025924476610505028745688504247111678762224045221283096030107602175893024030459033747969960600443330998917435797697383440847520855882734028891054039283180622802306687316484472671191764170740047114602134544535641844189889350023046074789812124132332044995315682443311940131237405896121697516399290661444783920628389485361936617903271547246578586588213410236767354269988120357660566929203939444570114524798976752515218892046013824072470089741792712786458082533243339059588785186650352493604709184193892983514025539509616376413891859366013242240080250264810939658861895357096614826904672377530270910959237339630961600122762109741659179671379165605488670056747427195521661418156357992518033406601044885914675963132267191743621957740870131565200569814713941503376525665160558639143193925098588395597155080257670477129797124530700682326208118090805806565184069973068574441850966345354706260447908923069673295013426213294385861485283045526462538910735239460168488142702069095056571491196157747662650853217993014174291374613139589188363417133144936382540619731804232898205864880307208087840884848876477489295453300504999568595984028183835344409608947613554429811290658673416210997385846311057382995622227388628383002600925807935364764753805536473373042553523506494464273041118615605223474159050130879162551582336724424932137833056232399437260930621307664984546268959827054796391535053320424643046532913633160819503216272678658014010706235559062809831299809686238564680790862469449505263443747498977606156134542922058983751515164157048624030293978121341128177071253985686147852533802848547775086695679833627111462536654859577282475780846461565189536035166955634705171744938300758779944594645916609102224507570136382682628523270787623779589768607029522318485609540598020592940946392546384543280354584125916264777139172068918782670931067827455266383649518823913525239503517274250021483671296305694299466787403911632714464796411593102671583803660425009005339500056862810182600815001757735456392819092858686950678352253153456271742089833433030555766787058325010699947395021193671748759569098245507987499499130291494435775798740205225920307409292271104005670294370337410921036724331843314258158403913990805229275378559782413717928224042367417709599302966953490270238694661112359496953830498606784086438372332141905196621252608484903687514985520273710106772313187568996928678292720413797110285934416720410111115601235526412384798791063347220588956009736331231453902124956053151113367239913266090823848247117856982320160551433853975201313806565148854695076651889074976978199892903962068904016329525573490958346004760162715233725757803465309718186604184926868685525872993179978915754421084594607974740535017537734343543579643137591692664653905427908699436038065818151075562435695890155000609557516570170141099008287634733300449818188760610410712309733549085797495398813231519514139193077136152360715650093377121558543922877012926393674012695988637131930545948422722030271950551217705562608957920201803558894740225517435374934100595243786738844056747849807712873958505622744117603938633362313174420777198023964122480866427151095280237830022202126847305191925763944293750271166321136479408816411259706704707176798921240927206212979330109057027342875662697738866593403733239051077371447772514786787039513896399353047080330466797586473780207556952745462127653719377851265838514878004295243121869736481925289075648718207159851359469162601942518250494617918043717238852062671205512961102844180890636998724726401640761659927208881766930562262234984630179192439049148406276986493553948259214647576621498217749240555076085542414395891641401827725290139788395782142333684468030484773879148913868787831351017473 | | . . . 21746074844757461513681806724737514682261111483349196582682249451365090067707838190580626825777391117492535043721707439009771933641416174215768736609737566223364217833395624719109703528955696039608350209457906980034428239810853853236173057547869333449039253459568317713358832236537929373074811326919802563844668287503164424144435045141928686997649887383392649231934255552827619794387741980221134191245994814947064634497724292754860587604102428288173217895639227566713676889559990829435079605904616014396167317381428051213498457438892071092354720208997372220316019934558543853114972335332832092845074285086197701748518163896294452160203185014651585102826725587073030255678384701676964533520798600120066165261595839822170363690293383619724899053411793816220407686049901336087121036115865906503567524022605195156150987528225308776389754806929336150748881317566828789932460033329815987338748007999185681145010561606495470592443863781402437236489987581164580335063999989942895183838376066222612231819786371574248889358665283917060637788305014271731879547630182880403744270492807034749523782349143013170971710391390644977769319908429550066623494417483340365747168449516086881863937093461456989610457305285786022296771987673893014912956918219880011744157244200460734896967346867362731471400155193594985904958554673001207931779020852103134128412665250020970119697010218464163529878524128945836427038355546143766845579634539086322766066669469729139347413078531645415415882066450244521020698415497160016989217329199841422565748185976547241956746068254196239752480527257485887657613608097466042924955564552503978744888614991554770003639408016038130786792793845518822366096558919083562702691846420489536769250066890086000401649324307844864885820939561095266569230396731272181014533507070535274758669927805296355318464910244639517869253955415674734357582999366640314491714244158684185172151700085798586563157312267005083473810178133724166367872202957393668632690427389703831965481831878303662978085605270725570336055118026524859405064717878376426594381660841599879000841295097123844937043758634032436451888260529565225535685596300421493713852293116292856990215500773748263367243958028197295499411669689006708478054942728845252606777656017223947802928069948852210642016074364153083116774529193227803592585857342486719991151582180877171026254205647674621465861746968585200898474856766004497370834113352371596267299322533857417927863062479661105322348124656208792574974524888851674462237295126090765681037619645903802009106827358196697415840380950218314643597575694029442367745961277188672850199642733169632332443337757541945096641421478680118328853372321612625495395144269346211535459597222665789438825110298478056218410708557323860211982593466670803666387990626393046155555628418305800910539247538566022638670813618940564400135076362884989214312783280280626766990773103549397785221965373600840391966050578754998747992423509387197692077196541653209766823903821338789188604338126155168980746161095643636310143456944478609239030375553187056081046159222983247543756763308368230991083509466947265620028332129274349388407356647466271822017801550302745237727063965422974961719576878420968926387039512020376368018365029593180184808489636813830301035517690339059495316297786505091398971589920726973466219608010920389880799011158189793745771726224071611702922204100488413588907057392709715679832503164537924408059936490731395872153076454999469661210195942267344836512962013763685830308940808825256445921535224044305229967672757273535492778988592996833495454655866463598184627978840758708325829593628717639467581562395338856380387936954878228005817953238791752578656522284271155132735488363260131878456741182614363282216979279198662924217860979023546432869507160679240634799889409291369500221442654184725722108421920425157417629057128217656490398128346203493089449252615045306557850638328073307704022456439668896059750956041501327019664399184858305828885618454436734040695702016974580071689258647345943823171390677838341740961891537420846725535136695588161922698810693933282001219797533083574797429687345875522662421686075562741359210996688367640015987921722310314167293418505070187741079560695154097219788206734356504851574251226449522391049576396803834037662732165557985661158236734334591188698108474505198557392402044949091315599512537833252927990427571989112370560480237178903658116957773419965684867815726958552877337469595325626064189253476172215030400659416883124460431536470069909013583186183870618695014118381602377762018209848045837684016158164271909049206309455357997036000782033209509288715397752716826948274654432983020670661919981608269118842699150795773844319502269627934623519258410750443244523349880246229853820418088428795415381477337001027315545269457205115673342337516953251805780698768413652844627976489859411539258950197562217962819585279748082837684636581898462974515396099461666746018994403384041896954823890353998777311736686749998100860176513031643457351404653934985395179822924951147804769536064403380486938349316277138741569913880578 79221136326288413549090453617582214988603149380032775393045753873679347103737428810698791647263113706575282689198477135930652137291317188670030006057926509831856472550143054466006425134587034426949120010210832597783143689081004098970652114673282224426184172485773967049733965817226715156969648131835381010189470025770375559444559659305270898952170617343578663720139463438305206193729450577009951868047317341521679722886752217921827822705466305632297648679105292595306982225729633137305184703173136534319068330149229142960259210328722455601450057473003629441834416962669954405564521304502500726298911194393554191501157954017925309977598836623748100506311537547090223313424323313673085311409323919977212070953990949404412305207140907616619412378270976434206887105501661848469182736298770557698748104969475842500166345456724876246803841548685455561851856586967869889986216391448174596518073583228454703935275996041071738034755239225816281721293011288588359444337681021846829274952700086230836341401062887321604178406708278357480439226036171803414304571700770050264769130291420603534822495795966981715612394351588510056912232508637273573895372779156159436797233748213294951636931736322625278881149941049169682180025310119656903852664689348405476728233436921288688205034751242856813863451202798101231235894933014025474654357904163264189792879110990531247061528782494741231885291482973616690359904394443018958369073484128300703937149692838128916254439952768266768999800895221352172804608885628145520829329108509888656265795056847497582709463200002373315731960683089450281141672128908771066872542843950397795050900482861371828770525181267955544208230938560999841196913163882946371552828126583680248944964520944418180558701521838650855170095150234372062727397690674991347946365752214498420657007149585319909260780872426315558079608099072865828174703417406185318728278145026184310672633645641700732291542811057990742838365066341014265183949971790930431087121056345347741501667746148234688653065189269356885872908647581204650438736957716528711548574555583977239301969823515430537595181395319473570033411789209713074292228145962019286962544117035974563318921268241513986555088394502711032433789248734183877010959345104750102614262227563661010217640141350231316347211768763385670337883433049195056061300162041862964241528184097908283230852906666992480893473206747006312106694438401261591124362380788902882710265313013071263115504159140550179707220633782158597940373880726872858838789886163551228708805088540541574505134133745949431125107024728689987177439066224173647204385151471810845156172459609697201263898819372465925856032821983943945509201296896112993390414319772317613998628115011584901662481020736975231857679558573639533120123760882987807897148264001476729480741158503008405824181375825684426593602078107066384305742314153383784825815001170364503279303283157714730965700730790958163526085614077255893030881612578737162635171062435305862363661501175783671862584712802832632731639923317926092501167046294294878922434436385815597766578254085927198853219424480746368612964091254086956730350365974846418411767133289280026522101904776721397535481072023153960396155426365282526318432948840966649466716318812335304612541684202901596339076117983534399558629308180937552570931412127563964839611720473046765641026358839977096301838517860717992220124429055320994261412222457829626748188314831526678529121257451724121669436757611557692716596947663821034873517375372433749628434475153359120061495211777091719559441963916844642691242108239222713715540944215042751815205832903182816602051553000809853471087600226541940973229542173962641860015572714026730877762563780111880467244618055586935195897209646109126685288690235443479134420307287200865787784854857681194140932834097813623138157320433948668365280904196167520730495552269155400544459597418276177569668057444229387270850059959177577695113400939572251098823419194625556857107173746511343007800181920881221537624681494893301655822089723344553388000429323171176866004751029713971505534118999127107434111180853160547174861752751626348577776330731649967976997705926985766161797485058129299093471507452375539795559192778297669346728516427619455250496404870474371468200079265657822190324253008657280022070822577899305872108909461787244531453423119105988731060885667270673906364763727364896807710566881055215730830049911805272377486610061004335421869816885849669495243455855042551121024488255660795663819648501724149284790298092093372482653444084141453024908635847938874074697818854837695253972630804930011048531224322683145833842458520248412423153952435022528345724977763280584053398449746120516553508775326815255194777552247568789127161127121523667078092192754147983382483439483110519687390499526362703620317546913529048991244723833568395254652779389245457001074904459611968988017810125634688718594557512726477640828469923085023078927441553690015369298834217415908971293929662509893318732156287214572953717271547294454739080159480184708525419270198385219963884877884002278754278750609561959567609573219604469598655354749579234218685586373052244170384013165767049118076193618533398406013188209001235766656057471022713158458115640722513614902460046359982042188094125956149263515692514917141235851596188317125234698698143445430710086862519687007887491677593147363567434012996511611208264524292392041796094719104232814767772523351970722422038548274955882602506325735217927052884736197570933812826973727984393449854685360152304385913054039591824514239463064574006576447070168308785658334189143136583726277476279484040055265195370002967927103157598498988314064461158492527567235388273093138250126070907284091661168961258085026365164006756510037480113146444863049857410441189627990753392734989779344967229909893545831260919205642629882485159098157638129076046041748514665632636070142935578386099836275589388930926240584371164648614330272952273803821934246410548896732021483600216257876390203223583811752097414977367601275058587892151481717977645237081174997478084219478623660424162752880192868685884668880148643205675563808348487798702434249814028000489387319267434376798624197140709588473161705863149798376475260131435650698866424963700821352635427311875603754398568456694493029785421376982682568805861337391799580504924932794556653379358767208890415958085613545957157879585738485216752347809889677342570960091355021080407464763338564493970911651840304968787953757264726616132058769535451536129440982464344457257409571874631344070375729511782691987208945139373059377362044678441485767885356392625676743825088107696059578436822101089587320629680572375297507439230177389257372694401026822808373497528093968027287143301629103846534858625188325762033439196480397732997628503014649621121690269155702957775533169864904892182237683246347572084245365191125792238162832968930393778486311914591336488816372341376522067036860976397292954319050636670890190881862580303324718499511813664256650581668171314625522576463828792300817636790551747752178963893094026368249871063740051957677459820923123398315939696748427420043893707187931413132194983048121141633208572619318118682144503976902886475074725995927488015931697855547875567877957092844564972845868112467386799220810631963984802801245465491999492342994359330345557818309230549781190666893419855523650310406258181966733177334063917199888119119548767752141086258162376401893740900149055101692383716437730051535448970252369139807831334212981351808475128436325511506521306376541098272413318178788027577886741756988051386311777882287391881862854060744982292039961563494441320610172547471281354491811089427667941553096792539866778533112339401492150191478610168187813943366146939613944255787812295363788871264558245650366272976585990903261089635305905742282528531617124236257160918684087656849837574980709007634462794039027502516932254792552278738094881287976286091303833032328709898177754381747211550369182625253816956570895415702356703647970398979022104775855650022923491671389932150050238130342993219290079594357803961156906483525731193515143667409605342655206986539810441729034123792850051347539305704207486216981192413978602284363056867626486373038246244839413072201313630754273638937315123889266770682128882430762690059836369951715002691645372943891194536056518939393483536344089949823186946555884678988010580615983982479704610187475910957396703374352600973214429895438876454557725931764099504166221965567851477778524080688479039673549688608223453815640594482798578256595213089270083559888919481365699489637100462903261695502194644348626336709527606095941785695581152441637033674790821685888023791364256305622601762475611441750013106178994593770221066022071023423181155633034817805122802161398524935744545943741207082734764334825940768852393487409193252192043890560912706601726987758753067561041148319622385097614386639073680669427818858042442429654858229935977397707681836665668775740641201467318749912966028972169793293390466868251643453919856849649464322290493048735341721271287419107657917313905525324948586326718627816214107076707368817487170052506253995767034921526007809581573945253151822834749452099415021388971615151747053427766692853648240012116610723886125081342994287489545235725721142914067970761305543646806858970499351876132153368421770237795532592261530517822610356843765148217108907994757920134143467540976888459223968533993602900377353953544172817792180535262936919969492569469436153458748985127294759494223048694113803447594333559542494170015852179431982487558567762644873232582846206118354511361889465074082198622487687130683064905826980365281361526563926662405093323369953815510290733148417577099131665373904594606446101445456737906257234215611047930895015327467213852058204569126364764390657202470807122594170585907633466485519524155064808028487628723708474385722676764531471034749556194317090053532721523949569733293990221599435614437855978142064057941350647248869502882171365376482071435295878341415878631076359405882902371556731407341889179961545506866186248441345259419590661969374361882364592061478559916225955206538184816386679967482441838049310905079233609878397934734816175948993752695074814067593455911713281951234584719671148856291994006466814477367850543107690771346327489500529747440674930090756702297261679187551872345086063837394259531898709135941627900148238103139796982138624016618320937655921765263711024009874698746369080375567901724255684972797468157046157244471404374772222761078870327589465169246896223399414535889927524097257658342338819602157586456758679350724006766498955644886341578770464217114532766965311558328771842477936179644154648725549016964555717358267421129406002607793307439153514126492562540286438784812980066800677318313791389822961787325992391015069754823380173916313596635123798266301750265370600068685480969393442609603956119372421591853151722808583669735059915582753550715486399760012328047281867317279176872125198538864086215345171359356062618339888269196615849878341009901174366182431568400817312255199337667870427164058252046691141588462611695798445898455666744650148543174273924084039433899774435857949430043993897554400048319814689695862859159318872535204748251144962702162463499737891432877223121909129098344855891760814617089321319951062904551654895337306129805913025944180906927502044419375620970439904558408425976746524919577422744604678047700295341856552182095320586852500585625664834503585589269368741216930474755189870268950484900669276439820744731551861384605719817230677305424393562608012347282106616739326341508184942013244631726891106292405240644550509393873680228562272071533052382956340446417148097972501997474543615397475518262648869520545135690881661356943350133932565706608146399718351491507472986333577842853498178674984672051322972654996461950987550865292528553620054954224913858166192474882035352357899732655030712160385609277387607740567177899255072891211576698669315915614623365514450273883629476310746756716923977433973982778866537623583659452653953536594305635259113791810456916740095328527216763001938091607108120211956569098947525776967516508899548558888706022782856287399631190569717979133974265816248963278960898161685096058601377782895534213136701479149191550214315794162212015792405661422845597673653182274714618069931744594221634105470177540427769803623211699582705445596866405927037514309107234351370362467425928846073566742931409335261734131864994298347945260635001131311920283905394751792800521660850627916150640677023274911592637202999772417492767266475033477116987488225402321678196203896707838129488510806857661805566699304194033908269506749978952496681544507895148734468513239756888440769289103653460242590706209377481163424447150937201817016411428938761225411412620391654920682653706041198253530963973664372010391746854260916537511407841070178312591009192581586245994250160312207757539666759964652436749624695710006526932049227367011260245836155602924015442624367872349380151723114491536701108462789811468407784363983688570272618639641206165586158836058493189251526501711694316986861847410525231500364251300122350716668571836339732659545049424088047941506679023857361785213178069306989586118887798676812702536322297205577220215669860213928976137767561270063683142657573175784228191236008498180382859203465059664323543054771844757547132314130392776344494173588299702326738416717900532663451394215114634754233027407799698068426715198497878488914782118398612098302405748157704352559685379793070036590846251648673361720445850857158040299680815524702003811717351151130675016102049780631424453367454840976211353451658442534353695502030234100441279085017434696680873502985153330640183412929532516173899867364725712657697298871021769976008801576464527000641600740268937101666222895652566156284601337220279359261104594072445817458590580761247693556209444191579981147963874551394904047417056078912565880591658060975546392462311882416441222311791167990180680463988443570241217782392857011867069680884244666593050092653665365976989558026022470608210613618754008458873824007001387382830148126034290344824191155415782018993342382704401188799702402584222440549094763577598172796167234130544210531502303550183844221220741663302428474645529415233450782908000520186885350457480593709781632911073809060760282828755283843146949436685051247670110734191688391328421684820072278551527252247123400889675092676047061214900279455779580400780351440717718674778598620334958799748366441005751435862051719573393022638455265338173691749329829929778792927209252299363226699669304396453808682352906829063954982628241054392382727084233234617853880930580558610693644662670411726208797563897182971330720340719082906323101468841115426963546938445791225705353254787304946539733594898724141144239697760300827426052047546961517686499286157967359499839068369711093213559834093305661759832640340481518447830683201238037573073034923371654932505878872286450948560812402475945000187368127335451061374922239755912496374931537669807313507757327703393109679583412696113635024212973064274613866852932449186237465546438109670833043105716515186564273683749679196522660307441709803046192255881017538101925341711174906379489848946543183123073850704626033418160529505869092989263318726560205879718746710875014131947022384457383962499831547580471246712917216156469789553191725652376211491125995382650530239607253861346335167367006691659966028436923879658028234167339264725812588477235925297234946767436813208967088950289371556162445134041599336856405446555784427112197397096142354676371339318021852771023427520971147023370996712955808700964370952675608644549934107066115121542769188598526262118995492677970580930459374737773107457949272307186334991083320194701617060222448587218509668328671651886238926306221826871145721997295311452888663168600722995588557783323760647463273077854230440154213720457216737087525982652611465497495713509174157083705468833373013337016415301982765023565706273266008704617324972753192632117961594037665018004375853454904736629326885577001853263670959707179272526044720607302590542747596167329895801318010550294881949223256213411400071462361369097478818385742424692728771718912318234303492676110785585739857570888109161990160017692865060183371987768567018136294489362027824589233399076038416442405520151811644763440205702650680025924476610505028745688504247111678762224045221283096030107602175893024030459033747969960600443330998917435797697383440847520855882734028891054039283180622802306687316484472671191764170740047114602134544535641844189889350023046074789812124132332044995315682443311940131237405896121697516399290661444783920628389485361936617903271547246578586588213410236767354269988120357660566929203939444570114524798976752515218892046013824072470089741792712786458082533243339059588785186650352493604709184193892983514025539509616376413891859366013242240080250264810939658861895357096614826904672377530270910959237339630961600122762109741659179671379165605488670056747427195521661418156357992518033406601044885914675963132267191743621957740870131565200569814713941503376525665160558639143193925098588395597155080257670477129797124530700682326208118090805806565184069973068574441850966345354706260447908923069673295013426213294385861485283045526462538910735239460168488142702069095056571491196157747662650853217993014174291374613139589188363417133144936382540619731804232898205864880307208087840884848876477489295453300504999568595984028183835344409608947613554429811290658673416210997385846311057382995622227388628383002600925807935364764753805536473373042553523506494464273041118615605223474159050130879162551582336724424932137833056232399437260930621307664984546268959827054796391535053320424643046532913633160819503216272678658014010706235559062809831299809686238564680790862469449505263443747498977606156134542922058983751515164157048624030293978121341128177071253985686147852533802848547775086695679833627111462536654859577282475780846461565189536035166955634705171744938300758779944594645916609102224507570136382682628523270787623779589768607029522318485609540598020592940946392546384543280354584125916264777139172068918782670931067827455266383649518823913525239503517274250021483671296305694299466787403911632714464796411593102671583803660425009005339500056862810182600815001757735456392819092858686950678352253153456271742089833433030555766787058325010699947395021193671748759569098245507987499499130291494435775798740205225920307409292271104005670294370337410921036724331843314258158403913990805229275378559782413717928224042367417709599302966953490270238694661112359496953830498606784086438372332141905196621252608484903687514985520273710106772313187568996928678292720413797110285934416720410111115601235526412384798791063347220588956009736331231453902124956053151113367239913266090823848247117856982320160551433853975201313806565148854695076651889074976978199892903962068904016329525573490958346004760162715233725757803465309718186604184926868685525872993179978915754421084594607974740535017537734343543579643137591692664653905427908699436038065818151075562435695890155000609557516570170141099008287634733300449818188760610410712309733549085797495398813231519514139193077136152360715650093377121558543922877012926393674012695988637131930545948422722030271950551217705562608957920201803558894740225517435374934100595243786738844056747849807712873958505622744117603938633362313174420777198023964122480866427151095280237830022202126847305191925763944293750271166321136479408816411259706704707176798921240927206212979330109057027342875662697738866593403733239051077371447772514786787039513896399353047080330466797586473780207556952745462127653719377851265838514878004295243121869736481925289075648718207159851359469162601942518250494617918043717238852062671205512961102844180890636998724726401640761659927208881766930562262234984630179192439049148406276986493553948259214647576621498217749240555076085542414395891641401827725290139788395782142333684468030484773879148913868787882890625026 79221136326288413549090453617582214988603149380032775393045753873679347103737428810698791647263113706575282689198477135930652137291317188670030006057926509831856472550143054466006425134587034426949120010210832597783143689081004098970652114673282224426184172485773967049733965817226715156969648131835381010189470025770375559444559659305270898952170617343578663720139463438305206193729450577009951868047317341521679722886752217921827822705466305632297648679105292595306982225729633137305184703173136534319068330149229142960259210328722455601450057473003629441834416962669954405564521304502500726298911194393554191501157954017925309977598836623748100506311537547090223313424323313673085311409323919977212070953990949404412305207140907616619412378270976434206887105501661848469182736298770557698748104969475842500166345456724876246803841548685455561851856586967869889986216391448174596518073583228454703935275996041071738034755239225816281721293011288588359444337681021846829274952700086230836341401062887321604178406708278357480439226036171803414304571700770050264769130291420603534822495795966981715612394351588510056912232508637273573895372779156159436797233748213294951636931736322625278881149941049169682180025310119656903852664689348405476728233436921288688205034751242856813863451202798101231235894933014025474654357904163264189792879110990531247061528782494741231885291482973616690359904394443018958369073484128300703937149692838128916254439952768266768999800895221352172804608885628145520829329108509888656265795056847497582709463200002373315731960683089450281141672128908771066872542843950397795050900482861371828770525181267955544208230938560999841196913163882946371552828126583680248944964520944418180558701521838650855170095150234372062727397690674991347946365752214498420657007149585319909260780872426315558079608099072865828174703417406185318728278145026184310672633645641700732291542811057990742838365066341014265183949971790930431087121056345347741501667746148234688653065189269356885872908647581204650438736957716528711548574555583977239301969823515430537595181395319473570033411789209713074292228145962019286962544117035974563318921268241513986555088394502711032433789248734183877010959345104750102614262227563661010217640141350231316347211768763385670337883433049195056061300162041862964241528184097908283230852906666992480893473206747006312106694438401261591124362380788902882710265313013071263115504159140550179707220633782158597940373880726872858838789886163551228708805088540541574505134133745949431125107024728689987177439066224173647204385151471810845156172459609697201263898819372465925856032821983943945509201296896112993390414319772317613998628115011584901662481020736975231857679558573639533120123760882987807897148264001476729480741158503008405824181375825684426593602078107066384305742314153383784825815001170364503279303283157714730965700730790958163526085614077255893030881612578737162635171062435305862363661501175783671862584712802832632731639923317926092501167046294294878922434436385815597766578254085927198853219424480746368612964091254086956730350365974846418411767133289280026522101904776721397535481072023153960396155426365282526318432948840966649466716318812335304612541684202901596339076117983534399558629308180937552570931412127563964839611720473046765641026358839977096301838517860717992220124429055320994261412222457829626748188314831526678529121257451724121669436757611557692716596947663821034873517375372433749628434475153359120061495211777091719559441963916844642691242108239222713715540944215042751815205832903182816602051553000809853471087600226541940973229542173962641860015572714026730877762563780111880467244618055586935195897209646109126685288690235443479134420307287200865787784854857681194140932834097813623138157320433948668365280904196167520730495552269155400544459597418276177569668057444229387270850059959177577695113400939572251098823419194625556857107173746511343007800181920881221537624681494893301655822089723344553388000429323171176866004751029713971505534118999127107434111180853160547174861752751626348577776330731649967976997705926985766161797485058129299093471507452375539795559192778297669346728516427619455250496404870474371468200079265657822190324253008657280022070822577899305872108909461787244531453423119105988731060885667270673906364763727364896807710566881055215730830049911805272377486610061004335421869816885849669495243455855042551121024488255660795663819648501724149284790298092093372482653444084141453024908635847938874074697818854837695253972630804930011048531224322683145833842458520248412423153952435022528345724977763280584053398449746120516553508775326815255194777552247568789127161127121523667078092192754147983382483439483110519687390499526362703620317546913529048991244723833568395254652779389245457001074904459611968988017810125634688718594557512726477640828469923085023078927441553690015369298834217415908971293929662509893318732156287214572953717271547294454739080159480184708525419270198385219963884877884002278754278750609561959567609573219604469598655354749579234218685586373052244170384013165767049118076193618533398406013188209001235766656057471022713158458115640722513614902460046359982042188094125956149263515692514917141235851596188317125234698698143445430710086862519687007887491677593147363567434012996511611208264524292392041796094719104232814767772523351970722422038548274955882602506325735217927052884736197570933812826973727984393449854685360152304385913054039591824514239463064574006576447070168308785658334189143136583726277476279484040055265195370002967927103157598498988314064461158492527567235388273093138250126070907284091661168961258085026365164006756510037480113146444863049857410441189627990753392734989779344967229909893545831260919205642629882485159098157638129076046041748514665632636070142935578386099836275589388930926240584371164648614330272952273803821934246410548896732021483600216257876390203223583811752097414977367601275058587892151481717977645237081174997478084219478623660424162752880192868685884668880148643205675563808348487798702434249814028000489387319267434376798624197140709588473161705863149798376475260131435650698866424963700821352635427311875603754398568456694493029785421376982682568805861337391799580504924932794556653379358767208890415958085613545957157879585738485216752347809889677342570960091355021080407464763338564493970911651840304968787953757264726616132058769535451536129440982464344457257409571874631344070375729511782691987208945139373059377362044678441485767885356392625676743825088107696059578436822101089587320629680572375297507439230177389257372694401026822808373497528093968027287143301629103846534858625188325762033439196480397732997628503014649621121690269155702957775533169864904892182237683246347572084245365191125792238162832968930393778486311914591336488816372341376522067036860976397292954319050636670890190881862580303324718499511813664256650581668171314625522576463828792300817636790551747752178963893094026368249871063740051957677459820923123398315939696748427420043893707187931413132194983048121141633208572619318118682144503976902886475074725995927488015931697855547875567877957092844564972845868112467386799220810631963984802801245465491999492342994359330345557818309230549781190666893419855523650310406258181966733177334063917199888119119548767752141086258162376401893740900149055101692383716437730051535448970252369139807831334212981351808475128436325511506521306376541098272413318178788027577886741756988051386311777882287391881862854060744982292039961563494441320610172547471281354491811089427667941553096792539866778533112339401492150191478610168187813943366146939613944255787812295363788871264558245650366272976585990903261089635305905742282528531617124236257160918684087656849837574980709007634462794039027502516932254792552278738094881287976286091303833032328709898177754381747211550369182625253816956570895415702356703647970398979022104775855650022923491671389932150050238130342993219290079594357803961156906483525731193515143667409605342655206986539810441729034123792850051347539305704207486216981192413978602284363056867626486373038246244839413072201313630754273638937315123889266770682128882430762690059836369951715002691645372943891194536056518939393483536344089949823186946555884678988010580615983982479704610187475910957396703374352600973214429895438876454557725931764099504166221965567851477778524080688479039673549688608223453815640594482798578256595213089270083559888919481365699489637100462903261695502194644348626336709527606095941785695581152441637033674790821685888023791364256305622601762475611441750013106178994593770221066022071023423181155633034817805122802161398524935744545943741207082734764334825940768852393487409193252192043890560912706601726987758753067561041148319622385097614386639073680669427818858042442429654858229935977397707681836665668775740641201467318749912966028972169793293390466868251643453919856849649464322290493048735341721271287419107657917313905525324948586326718627816214107076707368817487170052506253995767034921526007809581573945253151822834749452099415021388971615151747053427766692853648240012116610723886125081342994287489545235725721142914067970761305543646806858970499351876132153368421770237795532592261530517822610356843765148217108907994757920134143467540976888459223968533993602900377353953544172817792180535262936919969492569469436153458748985127294759494223048694113803447594333559542494170015852179431982487558567762644873232582846206118354511361889465074082198622487687130683064905826980365281361526563926662405093323369953815510290733148417577099131665373904594606446101445456737906257234215611047930895015327467213852058204569126364764390657202470807122594170585907633466485519524155064808028487628723708474385722676764531471034749556194317090053532721523949569733293990221599435614437855978142064057941350647248869502882171365376482071435295878341415878631076359405882902371556731407341889179961545506866186248441345259419590661969374361882364592061478559916225955206538184816386679967482441838049310905079233609878397934734816175948993752695074814067593455911713281951234584719671148856291994006466814477367850543107690771346327489500529747440674930090756702297261679187551872345086063837394259531898709135941627900148238103139796982138624016618320937655921765263711024009874698746369080375567901724255684972797468157046157244471404374772222761078870327589465169246896223399414535889927524097257658342338819602157586456758679350724006766498955644886341578770464217114532766965311558328771842477936179644154648725549016964555717358267421129406002607793307439153514126492562540286438784812980066800677318313791389822961787325992391015069754823380173916313596635123798266301750265370600068685480969393442609603956119372421591853151722808583669735059915582753550715486399760012328047281867317279176872125198538864086215345171359356062618339888269196615849878341009901174366182431568400817312255199337667870427164058252046691141588462611695798445898455666744650148543174273924084039433899774435857949430043993897554400048319814689695862859159318872535204748251144962702162463499737891432877223121909129098344855891760814617089321319951062904551654895337306129805913025944180906927502044419375620970439904558408425976746524919577422744604678047700295341856552182095320586852500585625664834503585589269368741216930474755189870268950484900669276439820744731551861384605719817230677305424393562608012347282106616739326341508184942013244631726891106292405240644550509393873680228562272071533052382956340446417148097972501997474543615397475518262648869520545135690881661356943350133932565706608146399718351491507472986333577842853498178674984672051322972654996461950987550865292528553620054954224913858166192474882035352357899732655030712160385609277387607740567177899255072891211576698669315915614623365514450273883629476310746756716923977433973982778866537623583659452653953536594305635259113791810456916740095328527216763001938091607108120211956569098947525776967516508899548558888706022782856287399631190569717979133974265816248963278960898161685096058601377782895534213136701479149191550214315794162212015792405661422845597673653182274714618069931744594221634105470177540427769803623211699582705445596866405927037514309107234351370362467425928846073566742931409335261734131864994298347945260635001131311920283905394751792800521660850627916150640677023274911592637202999772417492767266475033477116987488225402321678196203896707838129488510806857661805566699304194033908269506749978952496681544507895148734468513239756888440769289103653460242590706209377481163424447150937201817016411428938761225411412620391654920682653706041198253530963973664372010391746854260916537511407841070178312591009192581586245994250160312207757539666759964652436749624695710006526932049227367011260245836155602924015442624367872349380151723114491536701108462789811468407784363983688570272618639641206165586158836058493189251526501711694316986861847410525231500364251300122350716668571836339732659545049424088047941506679023857361785213178069306989586118887798676812702536322297205577220215669860213928976137767561270063683142657573175784228191236008498180382859203465059664323543054771844757547132314130392776344494173588299702326738416717900532663451394215114634754233027407799698068426715198497878488914782118398612098302405748157704352559685379793070036590846251648673361720445850857158040299680815524702003811717351151130675016102049780631424453367454840976211353451658442534353695502030234100441279085017434696680873502985153330640183412929532516173899867364725712657697298871021769976008801576464527000641600740268937101666222895652566156284601337220279359261104594072445817458590580761247693556209444191579981147963874551394904047417056078912565880591658060975546392462311882416441222311791167990180680463988443570241217782392857011867069680884244666593050092653665365976989558026022470608210613618754008458873824007001387382830148126034290344824191155415782018993342382704401188799702402584222440549094763577598172796167234130544210531502303550183844221220741663302428474645529415233450782908000520186885350457480593709781632911073809060760282828755283843146949436685051247670110734191688391328421684820072278551527252247123400889675092676047061214900279455779580400780351440717718674778598620334958799748366441005751435862051719573393022638455265338173691749329829929778792927209252299363226699669304396453808682352906829063954982628241054392382727084233234617853880930580558610693644662670411726208797563897182971330720340719082906323101468841115426963546938445791225705353254787304946539733594898724141144239697760300827426052047546961517686499286157967359499839068369711093213559834093305661759832640340481518447830683201238037573073034923371654932505878872286450948560812402475945000187368127335451061374922239755912496374931537669807313507757327703393109679583412696113635024212973064274613866852932449186237465546438109670833043105716515186564273683749679196522660307441709803046192255881017538101925341711174906379489848946543183123073850704626033418160529505869092989263318726560205879718746710875014131947022384457383962499831547580471246712917216156469789553191725652376211491125995382650530239607253861346335167367006691659966028436923879658028234167339264725812588477235925297234946767436813208967088950289371556162445134041599336856405446555784427112197397096142354676371339318021852771023427520971147023370996712955808700964370952675608644549934107066115121542769188598526262118995492677970580930459374737773107457949272307186334991083320194701617060222448587218509668328671651886238926306221826871145721997295311452888663168600722995588557783323760647463273077854230440154213720457216737087525982652611465497495713509174157083705468833373013337016415301982765023565706273266008704617324972753192632117961594037665018004375853454904736629326885577001853263670959707179272526044720607302590542747596167329895801318010550294881949223256213411400071462361369097478818385742424692728771718912318234303492676110785585739857570888109161990160017692865060183371987768567018136294489362027824589233399076038416442405520151811644763440205702650680025924476610505028745688504247111678762224045221283096030107602175893024030459033747969960600443330998917435797697383440847520855882734028891054039283180622802306687316484472671191764170740047114602134544535641844189889350023046074789812124132332044995315682443311940131237405896121697516399290661444783920628389485361936617903271547246578586588213410236767354269988120357660566929203939444570114524798976752515218892046013824072470089741792712786458082533243339059588785186650352493604709184193892983514025539509616376413891859366013242240080250264810939658861895357096614826904672377530270910959237339630961600122762109741659179671379165605488670056747427195521661418156357992518033406601044885914675963132267191743621957740870131565200569814713941503376525665160558639143193925098588395597155080257670477129797124530700682326208118090805806565184069973068574441850966345354706260447908923069673295013426213294385861485283045526462538910735239460168488142702069095056571491196157747662650853217993014174291374613139589188363417133144936382540619731804232898205864880307208087840884848876477489295453300504999568595984028183835344409608947613554429811290658673416210997385846311057382995622227388628383002600925807935364764753805536473373042553523506494464273041118615605223474159050130879162551582336724424932137833056232399437260930621307664984546268959827054796391535053320424643046532913633160819503216272678658014010706235559062809831299809686238564680790862469449505263443747498977606156134542922058983751515164157048624030293978121341128177071253985686147852533802848547775086695679833627111462536654859577282475780846461565189536035166955634705171744938300758779944594645916609102224507570136382682628523270787623779589768607029522318485609540598020592940946392546384543280354584125916264777139172068918782670931067827455266383649518823913525239503517274250021483671296305694299466787403911632714464796411593102671583803660425009005339500056862810182600815001757735456392819092858686950678352253153456271742089833433030555766787058325010699947395021193671748759569098245507987499499130291494435775798740205225920307409292271104005670294370337410921036724331843314258158403913990805229275378559782413717928224042367417709599302966953490270238694661112359496953830498606784086438372332141905196621252608484903687514985520273710106772313187568996928678292720413797110285934416720410111115601235526412384798791063347220588956009736331231453902124956053151113367239913266090823848247117856982320160551433853975201313806565148854695076651889074976978199892903962068904016329525573490958346004760162715233725757803465309718186604184926868685525872993179978915754421084594607974740535017537734343543579643137591692664653905427908699436038065818151075562435695890155000609557516570170141099008287634733300449818188760610410712309733549085797495398813231519514139193077136152360715650093377121558543922877012926393674012695988637131930545948422722030271950551217705562608957920201803558894740225517435374934100595243786738844056747849807712873958505622744117603938633362313174420777198023964122480866427151095280237830022202126847305191925763944293750271166321136479408816411259706704707176798921240927206212979330109057027342875662697738866593403733239051077371447772514786787039513896399353047080330466797586473780207556952745462127653719377851265838514878004295243121869736481925289075648718207159851359469162601942518250494617918043717238852062671205512961102844180890636998724726401640761659927208881766930562262234984630179192439049148406276986493553948259214647576621498217749240555076085542414395891641401827725290139788395782142333684468030484773879148913868787882890625026 79221136326288413549090453617582214988603149380032775393045753873679347103737428810698791647263113706575282689198477135930652137291317188670030006057926509831856472550143054466006425134587034426949120010210832597783143689081004098970652114673282224426184172485773967049733965817226715156969648131835381010189470025770375559444559659305270898952170617343578663720139463438305206193729450577009951868047317341521679722886752217921827822705466305632297648679105292595306982225729633137305184703173136534319068330149229142960259210328722455601450057473003629441834416962669954405564521304502500726298911194393554191501157954017925309977598836623748100506311537547090223313424323313673085311409323919977212070953990949404412305207140907616619412378270976434206887105501661848469182736298770557698748104969475842500166345456724876246803841548685455561851856586967869889986216391448174596518073583228454703935275996041071738034755239225816281721293011288588359444337681021846829274952700086230836341401062887321604178406708278357480439226036171803414304571700770050264769130291420603534822495795966981715612394351588510056912232508637273573895372779156159436797233748213294951636931736322625278881149941049169682180025310119656903852664689348405476728233436921288688205034751242856813863451202798101231235894933014025474654357904163264189792879110990531247061528782494741231885291482973616690359904394443018958369073484128300703937149692838128916254439952768266768999800895221352172804608885628145520829329108509888656265795056847497582709463200002373315731960683089450281141672128908771066872542843950397795050900482861371828770525181267955544208230938560999841196913163882946371552828126583680248944964520944418180558701521838650855170095150234372062727397690674991347946365752214498420657007149585319909260780872426315558079608099072865828174703417406185318728278145026184310672633645641700732291542811057990742838365066341014265183949971790930431087121056345347741501667746148234688653065189269356885872908647581204650438736957716528711548574555583977239301969823515430537595181395319473570033411789209713074292228145962019286962544117035974563318921268241513986555088394502711032433789248734183877010959345104750102614262227563661010217640141350231316347211768763385670337883433049195056061300162041862964241528184097908283230852906666992480893473206747006312106694438401261591124362380788902882710265313013071263115504159140550179707220633782158597940373880726872858838789886163551228708805088540541574505134133745949431125107024728689987177439066224173647204385151471810845156172459609697201263898819372465925856032821983943945509201296896112993390414319772317613998628115011584901662481020736975231857679558573639533120123760882987807897148264001476729480741158503008405824181375825684426593602078107066384305742314153383784825815001170364503279303283157714730965700730790958163526085614077255893030881612578737162635171062435305862363661501175783671862584712802832632731639923317926092501167046294294878922434436385815597766578254085927198853219424480746368612964091254086956730350365974846418411767133289280026522101904776721397535481072023153960396155426365282526318432948840966649466716318812335304612541684202901596339076117983534399558629308180937552570931412127563964839611720473046765641026358839977096301838517860717992220124429055320994261412222457829626748188314831526678529121257451724121669436757611557692716596947663821034873517375372433749628434475153359120061495211777091719559441963916844642691242108239222713715540944215042751815205832903182816602051553000809853471087600226541940973229542173962641860015572714026730877762563780111880467244618055586935195897209646109126685288690235443479134420307287200865787784854857681194140932834097813623138157320433948668365280904196167520730495552269155400544459597418276177569668057444229387270850059959177577695113400939572251098823419194625556857107173746511343007800181920881221537624681494893301655822089723344553388000429323171176866004751029713971505534118999127107434111180853160547174861752751626348577776330731649967976997705926985766161797485058129299093471507452375539795559192778297669346728516427619455250496404870474371468200079265657822190324253008657280022070822577899305872108909461787244531453423119105988731060885667270673906364763727364896807710566881055215730830049911805272377486610061004335421869816885849669495243455855042551121024488255660795663819648501724149284790298092093372482653444084141453024908635847938874074697818854837695253972630804930011048531224322683145833842458520248412423153952435022528345724977763280584053398449746120516553508775326815255194777552247568789127161127121523667078092192754147983382483439483110519687390499526362703620317546913529048991244723833568395254652779389245457001074904459611968988017810125634688718594557512726477640828469923085023078927441553690015369298834217415908971293929662509893318732156287214572953717271547294454739080159480184708525419270198385219963884877884002278754278750609561959567609573219604469598655354749579234218685586373052244170384013165767049118076193618533398406013188209001235766656057471022713158458115640722513614902460046359982042188094125956149263515692514917141235851596188317125234698698143445430710086862519687007887491677593147363567434012996511611208264524292392041796094719104232814767772523351970722422038548274955882602506325735217927052884736197570933812826973727984393449854685360152304385913054039591824514239463064574006576447070168308785658334189143136583726277476279484040055265195370002967927103157598498988314064461158492527567235388273093138250126070907284091661168961258085026365164006756510037480113146444863049857410441189627990753392734989779344967229909893545831260919205642629882485159098157638129076046041748514665632636070142935578386099836275589388930926240584371164648614330272952273803821934246410548896732021483600216257876390203223583811752097414977367601275058587892151481717977645237081174997478084219478623660424162752880192868685884668880148643205675563808348487798702434249814028000489387319267434376798624197140709588473161705863149798376475260131435650698866424963700821352635427311875603754398568456694493029785421376982682568805861337391799580504924932794556653379358767208890415958085613545957157879585738485216752347809889677342570960091355021080407464763338564493970911651840304968787953757264726616132058769535451536129440982464344457257409571874631344070375729511782691987208945139373059377362044678441485767885356392625676743825088107696059578436822101089587320629680572375297507439230177389257372694401026822808373497528093968027287143301629103846534858625188325762033439196480397732997628503014649621121690269155702957775533169864904892182237683246347572084245365191125792238162832968930393778486311914591336488816372341376522067036860976397292954319050636670890190881862580303324718499511813664256650581668171314625522576463828792300817636790551747752178963893094026368249871063740051957677459820923123398315939696748427420043893707187931413132194983048121141633208572619318118682144503976902886475074725995927488015931697855547875567877957092844564972845868112467386799220810631963984802801245465491999492342994359330345557818309230549781190666893419855523650310406258181966733177334063917199888119119548767752141086258162376401893740900149055101692383716437730051535448970252369139807831334212981351808475128436325511506521306376541098272413318178788027577886741756988051386311777882287391881862854060744982292039961563494441320610172547471281354491811089427667941553096792539866778533112339401492150191478610168187813943366146939613944255787812295363788871264558245650366272976585990903261089635305905742282528531617124236257160918684087656849837574980709007634462794039027502516932254792552278738094881287976286091303833032328709898177754381747211550369182625253816956570895415702356703647970398979022104775855650022923491671389932150050238130342993219290079594357803961156906483525731193515143667409605342655206986539810441729034123792850051347539305704207486216981192413978602284363056867626486373038246244839413072201313630754273638937315123889266770682128882430762690059836369951715002691645372943891194536056518939393483536344089949823186946555884678988010580615983982479704610187475910957396703374352600973214429895438876454557725931764099504166221965567851477778524080688479039673549688608223453815640594482798578256595213089270083559888919481365699489637100462903261695502194644348626336709527606095941785695581152441637033674790821685888023791364256305622601762475611441750013106178994593770221066022071023423181155633034817805122802161398524935744545943741207082734764334825940768852393487409193252192043890560912706601726987758753067561041148319622385097614386639073680669427818858042442429654858229935977397707681836665668775740641201467318749912966028972169793293390466868251643453919856849649464322290493048735341721271287419107657917313905525324948586326718627816214107076707368817487170052506253995767034921526007809581573945253151822834749452099415021388971615151747053427766692853648240012116610723886125081342994287489545235725721142914067970761305543646806858970499351876132153368421770237795532592261530517822610356843765148217108907994757920134143467540976888459223968533993602900377353953544172817792180535262936919969492569469436153458748985127294759494223048694113803447594333559542494170015852179431982487558567762644873232582846206118354511361889465074082198622487687130683064905826980365281361526563926662405093323369953815510290733148417577099131665373904594606446101445456737906257234215611047930895015327467213852058204569126364764390657202470807122594170585907633466485519524155064808028487628723708474385722676764531471034749556194317090053532721523949569733293990221599435614437855978142064057941350647248869502882171365376482071435295878341415878631076359405882902371556731407341889179961545506866186248441345259419590661969374361882364592061478559916225955206538184816386679967482441838049310905079233609878397934734816175948993752695074814067593455911713281951234584719671148856291994006466814477367850543107690771346327489500529747440674930090756702297261679187551872345086063837394259531898709135941627900148238103139796982138624016618320937655921765263711024009874698746369080375567901724255684972797468157046157244471404374772222761078870327589465169246896223399414535889927524097257658342338819602157586456758679350724006766498955644886341578770464217114532766965311558328771842477936179644154648725549016964555717358267421129406002607793307439153514126492562540286438784812980066800677318313791389822961787325992391015069754823380173916313596635123798266301750265370600068685480969393442609603956119372421591853151722808583669735059915582753550715486399760012328047281867317279176872125198538864086215345171359356062618339888269196615849878341009901174366182431568400817312255199337667870427164058252046691141588462611695798445898455666744650148543174273924084039433899774435857949430043993897554400048319814689695862859159318872535204748251144962702162463499737891432877223121909129098344855891760814617089321319951062904551654895337306129805913025944180906927502044419375620970439904558408425976746524919577422744604678047700295341856552182095320586852500585625664834503585589269368741216930474755189870268950484900669276439820744731551861384605719817230677305424393562608012347282106616739326341508184942013244631726891106292405240644550509393873680228562272071533052382956340446417148097972501997474543615397475518262648869520545135690881661356943350133932565706608146399718351491507472986333577842853498178674984672051322972654996461950987550865292528553620054954224913858166192474882035352357899732655030712160385609277387607740567177899255072891211576698669315915614623365514450273883629476310746756716923977433973982778866537623583659452653953536594305635259113791810456916740095328527216763001938091607108120211956569098947525776967516508899548558888706022782856287399631190569717979133974265816248963278960898161685096058601377782895534213136701479149191550214315794162212015792405661422845597673653182274714618069931744594221634105470177540427769803623211699582705445596866405927037514309107234351370362467425928846073566742931409335261734131864994298347945260635001131311920283905394751792800521660850627916150640677023274911592637202999772417492767266475033477116987488225402321678196203896707838129488510806857661805566699304194033908269506749978952496681544507895148734468513239756888440769289103653460242590706209377481163424447150937201817016411428938761225411412620391654920682653706041198253530963973664372010391746854260916537511407841070178312591009192581586245994250160312207757539666759964652436749624695710006526932049227367011260245836155602924015442624367872349380151723114491536701108462789811468407784363983688570272618639641206165586158836058493189251526501711694316986861847410525231500364251300122350716668571836339732659545049424088047941506679023857361785213178069306989586118887798676812702536322297205577220215669860213928976137767561270063683142657573175784228191236008498180382859203465059664323543054771844757547132314130392776344494173588299702326738416717900532663451394215114634754233027407799698068426715198497878488914782118398612098302405748157704352559685379793070036590846251648673361720445850857158040299680815524702003811717351151130675016102049780631424453367454840976211353451658442534353695502030234100441279085017434696680873502985153330640183412929532516173899867364725712657697298871021769976008801576464527000641600740268937101666222895652566156284601337220279359261104594072445817458590580761247693556209444191579981147963874551394904047417056078912565880591658060975546392462311882416441222311791167990180680463988443570241217782392857011867069680884244666593050092653665365976989558026022470608210613618754008458873824007001387382830148126034290344824191155415782018993342382704401188799702402584222440549094763577598172796167234130544210531502303550183844221220741663302428474645529415233450782908000520186885350457480593709781632911073809060760282828755283843146949436685051247670110734191688391328421684820072278551527252247123400889675092676047061214900279455779580400780351440717718674778598620334958799748366441005751435862051719573393022638455265338173691749329829929778792927209252299363226699669304396453808682352906829063954982628241054392382727084233234617853880930580558610693644662670411726208797563897182971330720340719082906323101468841115426963546938445791225705353254787304946539733594898724141144239697760300827426052047546961517686499286157967359499839068369711093213559834093305661759832640340481518447830683201238037573073034923371654932505878872286450948560812402475945000187368127335451061374922239755912496374931537669807313507757327703393109679583412696113635024212973064274613866852932449186237465546438109670833043105716515186564273683749679196522660307441709803046192255881017538101925341711174906379489848946543183123073850704626033418160529505869092989263318726560205879718746710875014131947022384457383962499831547580471246712917216156469789553191725652376211491125995382650530239607253861346335167367006691659966028436923879658028234167339264725812588477235925297234946767436813208967088950289371556162445134041599336856405446555784427112197397096142354676371339318021852771023427520971147023370996712955808700964370952675608644549934107066115121542769188598526262118995492677970580930459374737773107457949272307186334991083320194701617060222448587218509668328671651886238926306221826871145721997295311452888663168600722995588557783323760647463273077854230440154213720457216737087525982652611465497495713509174157083705468833373013337016415301982765023565706273266008704617324972753192632117961594037665018004375853454904736629326885577001853263670959707179272526044720607302590542747596167329895801318010550294881949223256213411400071462361369097478818385742424692728771718912318234303492676110785585739857570888109161990160017692865060183371987768567018136294489362027824589233399076038416442405520151811644763440205702650680025924476610505028745688504247111678762224045221283096030107602175893024030459033747969960600443330998917435797697383440847520855882734028891054039283180622802306687316484472671191764170740047114602134544535641844189889350023046074789812124132332044995315682443311940131237405896121697516399290661444783920628389485361936617903271547246578586588213410236767354269988120357660566929203939444570114524798976752515218892046013824072470089741792712786458082533243339059588785186650352493604709184193892983514025539509616376413891859366013242240080250264810939658861895357096614826904672377530270910959237339630961600122762109741659179671379165605488670056747427195521661418156357992518033406601044885914675963132267191743621957740870131565200569814713941503376525665160558639143193925098588395597155080257670477129797124530700682326208118090805806565184069973068574441850966345354706260447908923069673295013426213294385861485283045526462538910735239460168488142702069095056571491196157747662650853217993014174291374613139589188363417133144936382540619731804232898205864880307208087840884848876477489295453300504999568595984028183835344409608947613554429811290658673416210997385846311057382995622227388628383002600925807935364764753805536473373042553523506494464273041118615605223474159050130879162551582336724424932137833056232399437260930621307664984546268959827054796391535053320424643046532913633160819503216272678658014010706235559062809831299809686238564680790862469449505263443747498977606156134542922058983751515164157048624030293978121341128177071253985686147852533802848547775086695679833627111462536654859577282475780846461565189536035166955634705171744938300758779944594645916609102224507570136382682628523270787623779589768607029522318485609540598020592940946392546384543280354584125916264777139172068918782670931067827455266383649518823913525239503517274250021483671296305694299466787403911632714464796411593102671583803660425009005339500056862810182600815001757735456392819092858686950678352253153456271742089833433030555766787058325010699947395021193671748759569098245507987499499130291494435775798740205225920307409292271104005670294370337410921036724331843314258158403913990805229275378559782413717928224042367417709599302966953490270238694661112359496953830498606784086438372332141905196621252608484903687514985520273710106772313187568996928678292720413797110285934416720410111115601235526412384798791063347220588956009736331231453902124956053151113367239913266090823848247117856982320160551433853975201313806565148854695076651889074976978199892903962068904016329525573490958346004760162715233725757803465309718186604184926868685525872993179978915754421084594607974740535017537734343543579643137591692664653905427908699436038065818151075562435695890155000609557516570170141099008287634733300449818188760610410712309733549085797495398813231519514139193077136152360715650093377121558543922877012926393674012695988637131930545948422722030271950551217705562608957920201803558894740225517435374934100595243786738844056747849807712873958505622744117603938633362313174420777198023964122480866427151095280237830022202126847305191925763944293750271166321136479408816411259706704707176798921240927206212979330109057027342875662697738866593403733239051077371447772514786787039513896399353047080330466797586473780207556952745462127653719377851265838514878004295243121869736481925289075648718207159851359469162601942518250494617918043717238852062671205512961102844180890636998724726401640761659927208881766930562262234984630179192439049148406276986493553948259214647576621498217749240555076085542414395891641401827725290139788395782142333684468030484773879148913868787882890625026 79221136326288413549090453617582214988603149380032775393045753873679347103737428810698791647263113706575282689198477135930652137291317188670030006057926509831856472550143054466006425134587034426949120010210832597783143689081004098970652114673282224426184172485773967049733965817226715156969648131835381010189470025770375559444559659305270898952170617343578663720139463438305206193729450577009951868047317341521679722886752217921827822705466305632297648679105292595306982225729633137305184703173136534319068330149229142960259210328722455601450057473003629441834416962669954405564521304502500726298911194393554191501157954017925309977598836623748100506311537547090223313424323313673085311409323919977212070953990949404412305207140907616619412378270976434206887105501661848469182736298770557698748104969475842500166345456724876246803841548685455561851856586967869889986216391448174596518073583228454703935275996041071738034755239225816281721293011288588359444337681021846829274952700086230836341401062887321604178406708278357480439226036171803414304571700770050264769130291420603534822495795966981715612394351588510056912232508637273573895372779156159436797233748213294951636931736322625278881149941049169682180025310119656903852664689348405476728233436921288688205034751242856813863451202798101231235894933014025474654357904163264189792879110990531247061528782494741231885291482973616690359904394443018958369073484128300703937149692838128916254439952768266768999800895221352172804608885628145520829329108509888656265795056847497582709463200002373315731960683089450281141672128908771066872542843950397795050900482861371828770525181267955544208230938560999841196913163882946371552828126583680248944964520944418180558701521838650855170095150234372062727397690674991347946365752214498420657007149585319909260780872426315558079608099072865828174703417406185318728278145026184310672633645641700732291542811057990742838365066341014265183949971790930431087121056345347741501667746148234688653065189269356885872908647581204650438736957716528711548574555583977239301969823515430537595181395319473570033411789209713074292228145962019286962544117035974563318921268241513986555088394502711032433789248734183877010959345104750102614262227563661010217640141350231316347211768763385670337883433049195056061300162041862964241528184097908283230852906666992480893473206747006312106694438401261591124362380788902882710265313013071263115504159140550179707220633782158597940373880726872858838789886163551228708805088540541574505134133745949431125107024728689987177439066224173647204385151471810845156172459609697201263898819372465925856032821983943945509201296896112993390414319772317613998628115011584901662481020736975231857679558573639533120123760882987807897148264001476729480741158503008405824181375825684426593602078107066384305742314153383784825815001170364503279303283157714730965700730790958163526085614077255893030881612578737162635171062435305862363661501175783671862584712802832632731639923317926092501167046294294878922434436385815597766578254085927198853219424480746368612964091254086956730350365974846418411767133289280026522101904776721397535481072023153960396155426365282526318432948840966649466716318812335304612541684202901596339076117983534399558629308180937552570931412127563964839611720473046765641026358839977096301838517860717992220124429055320994261412222457829626748188314831526678529121257451724121669436757611557692716596947663821034873517375372433749628434475153359120061495211777091719559441963916844642691242108239222713715540944215042751815205832903182816602051553000809853471087600226541940973229542173962641860015572714026730877762563780111880467244618055586935195897209646109126685288690235443479134420307287200865787784854857681194140932834097813623138157320433948668365280904196167520730495552269155400544459597418276177569668057444229387270850059959177577695113400939572251098823419194625556857107173746511343007800181920881221537624681494893301655822089723344553388000429323171176866004751029713971505534118999127107434111180853160547174861752751626348577776330731649967976997705926985766161797485058129299093471507452375539795559192778297669346728516427619455250496404870474371468200079265657822190324253008657280022070822577899305872108909461787244531453423119105988731060885667270673906364763727364896807710566881055215730830049911805272377486610061004335421869816885849669495243455855042551121024488255660795663819648501724149284790298092093372482653444084141453024908635847938874074697818854837695253972630804930011048531224322683145833842458520248412423153952435022528345724977763280584053398449746120516553508775326815255194777552247568789127161127121523667078092192754147983382483439483110519687390499526362703620317546913529048991244723833568395254652779389245457001074904459611968988017810125634688718594557512726477640828469923085023078927441553690015369298834217415908971293929662509893318732156287214572953717271547294454739080159480184708525419270198385219963884877884002278754278750609561959567609573219604469598655354749579234218685586373052244170384013165767049118076193618533398406013188209001235766656057471022713158458115640722513614902460046359982042188094125956149263515692514917141235851596188317125234698698143445430710086862519687007887491677593147363567434012996511611208264524292392041796094719104232814767772523351970722422038548274955882602506325735217927052884736197570933812826973727984393449854685360152304385913054039591824514239463064574006576447070168308785658334189143136583726277476279484040055265195370002967927103157598498988314064461158492527567235388273093138250126070907284091661168961258085026365164006756510037480113146444863049857410441189627990753392734989779344967229909893545831260919205642629882485159098157638129076046041748514665632636070142935578386099836275589388930926240584371164648614330272952273803821934246410548896732021483600216257876390203223583811752097414977367601275058587892151481717977645237081174997478084219478623660424162752880192868685884668880148643205675563808348487798702434249814028000489387319267434376798624197140709588473161705863149798376475260131435650698866424963700821352635427311875603754398568456694493029785421376982682568805861337391799580504924932794556653379358767208890415958085613545957157879585738485216752347809889677342570960091355021080407464763338564493970911651840304968787953757264726616132058769535451536129440982464344457257409571874631344070375729511782691987208945139373059377362044678441485767885356392625676743825088107696059578436822101089587320629680572375297507439230177389257372694401026822808373497528093968027287143301629103846534858625188325762033439196480397732997628503014649621121690269155702957775533169864904892182237683246347572084245365191125792238162832968930393778486311914591336488816372341376522067036860976397292954319050636670890190881862580303324718499511813664256650581668171314625522576463828792300817636790551747752178963893094026368249871063740051957677459820923123398315939696748427420043893707187931413132194983048121141633208572619318118682144503976902886475074725995927488015931697855547875567877957092844564972845868112467386799220810631963984802801245465491999492342994359330345557818309230549781190666893419855523650310406258181966733177334063917199888119119548767752141086258162376401893740900149055101692383716437730051535448970252369139807831334212981351808475128436325511506521306376541098272413318178788027577886741756988051386311777882287391881862854060744982292039961563494441320610172547471281354491811089427667941553096792539866778533112339401492150191478610168187813943366146939613944255787812295363788871264558245650366272976585990903261089635305905742282528531617124236257160918684087656849837574980709007634462794039027502516932254792552278738094881287976286091303833032328709898177754381747211550369182625253816956570895415702356703647970398979022104775855650022923491671389932150050238130342993219290079594357803961156906483525731193515143667409605342655206986539810441729034123792850051347539305704207486216981192413978602284363056867626486373038246244839413072201313630754273638937315123889266770682128882430762690059836369951715002691645372943891194536056518939393483536344089949823186946555884678988010580615983982479704610187475910957396703374352600973214429895438876454557725931764099504166221965567851477778524080688479039673549688608223453815640594482798578256595213089270083559888919481365699489637100462903261695502194644348626336709527606095941785695581152441637033674790821685888023791364256305622601762475611441750013106178994593770221066022071023423181155633034817805122802161398524935744545943741207082734764334825940768852393487409193252192043890560912706601726987758753067561041148319622385097614386639073680669427818858042442429654858229935977397707681836665668775740641201467318749912966028972169793293390466868251643453919856849649464322290493048735341721271287419107657917313905525324948586326718627816214107076707368817487170052506253995767034921526007809581573945253151822834749452099415021388971615151747053427766692853648240012116610723886125081342994287489545235725721142914067970761305543646806858970499351876132153368421770237795532592261530517822610356843765148217108907994757920134143467540976888459223968533993602900377353953544172817792180535262936919969492569469436153458748985127294759494223048694113803447594333559542494170015852179431982487558567762644873232582846206118354511361889465074082198622487687130683064905826980365281361526563926662405093323369953815510290733148417577099131665373904594606446101445456737906257234215611047930895015327467213852058204569126364764390657202470807122594170585907633466485519524155064808028487628723708474385722676764531471034749556194317090053532721523949569733293990221599435614437855978142064057941350647248869502882171365376482071435295878341415878631076359405882902371556731407341889179961545506866186248441345259419590661969374361882364592061478559916225955206538184816386679967482441838049310905079233609878397934734816175948993752695074814067593455911713281951234584719671148856291994006466814477367850543107690771346327489500529747440674930090756702297261679187551872345086063837394259531898709135941627900148238103139796982138624016618320937655921765263711024009874698746369080375567901724255684972797468157046157244471404374772222761078870327589465169246896223399414535889927524097257658342338819602157586456758679350724006766498955644886341578770464217114532766965311558328771842477936179644154648725549016964555717358267421129406002607793307439153514126492562540286438784812980066800677318313791389822961787325992391015069754823380173916313596635123798266301750265370600068685480969393442609603956119372421591853151722808583669735059915582753550715486399760012328047281867317279176872125198538864086215345171359356062618339888269196615849878341009901174366182431568400817312255199337667870427164058252046691141588462611695798445898455666744650148543174273924084039433899774435857949430043993897554400048319814689695862859159318872535204748251144962702162463499737891432877223121909129098344855891760814617089321319951062904551654895337306129805913025944180906927502044419375620970439904558408425976746524919577422744604678047700295341856552182095320586852500585625664834503585589269368741216930474755189870268950484900669276439820744731551861384605719817230677305424393562608012347282106616739326341508184942013244631726891106292405240644550509393873680228562272071533052382956340446417148097972501997474543615397475518262648869520545135690881661356943350133932565706608146399718351491507472986333577842853498178674984672051322972654996461950987550865292528553620054954224913858166192474882035352357899732655030712160385609277387607740567177899255072891211576698669315915614623365514450273883629476310746756716923977433973982778866537623583659452653953536594305635259113791810456916740095328527216763001938091607108120211956569098947525776967516508899548558888706022782856287399631190569717979133974265816248963278960898161685096058601377782895534213136701479149191550214315794162212015792405661422845597673653182274714618069931744594221634105470177540427769803623211699582705445596866405927037514309107234351370362467425928846073566742931409335261734131864994298347945260635001131311920283905394751792800521660850627916150640677023274911592637202999772417492767266475033477116987488225402321678196203896707838129488510806857661805566699304194033908269506749978952496681544507895148734468513239756888440769289103653460242590706209377481163424447150937201817016411428938761225411412620391654920682653706041198253530963973664372010391746854260916537511407841070178312591009192581586245994250160312207757539666759964652436749624695710006526932049227367011260245836155602924015442624367872349380151723114491536701108462789811468407784363983688570272618639641206165586158836058493189251526501711694316986861847410525231500364251300122350716668571836339732659545049424088047941506679023857361785213178069306989586118887798676812702536322297205577220215669860213928976137767561270063683142657573175784228191236008498180382859203465059664323543054771844757547132314130392776344494173588299702326738416717900532663451394215114634754233027407799698068426715198497878488914782118398612098302405748157704352559685379793070036590846251648673361720445850857158040299680815524702003811717351151130675016102049780631424453367454840976211353451658442534353695502030234100441279085017434696680873502985153330640183412929532516173899867364725712657697298871021769976008801576464527000641600740268937101666222895652566156284601337220279359261104594072445817458590580761247693556209444191579981147963874551394904047417056078912565880591658060975546392462311882416441222311791167990180680463988443570241217782392857011867069680884244666593050092653665365976989558026022470608210613618754008458873824007001387382830148126034290344824191155415782018993342382704401188799702402584222440549094763577598172796167234130544210531502303550183844221220741663302428474645529415233450782908000520186885350457480593709781632911073809060760282828755283843146949436685051247670110734191688391328421684820072278551527252247123400889675092676047061214900279455779580400780351440717718674778598620334958799748366441005751435862051719573393022638455265338173691749329829929778792927209252299363226699669304396453808682352906829063954982628241054392382727084233234617853880930580558610693644662670411726208797563897182971330720340719082906323101468841115426963546938445791225705353254787304946539733594898724141144239697760300827426052047546961517686499286157967359499839068369711093213559834093305661759832640340481518447830683201238037573073034923371654932505878872286450948560812402475945000187368127335451061374922239755912496374931537669807313507757327703393109679583412696113635024212973064274613866852932449186237465546438109670833043105716515186564273683749679196522660307441709803046192255881017538101925341711174906379489848946543183123073850704626033418160529505869092989263318726560205879718746710875014131947022384457383962499831547580471246712917216156469789553191725652376211491125995382650530239607253861346335167367006691659966028436923879658028234167339264725812588477235925297234946767436813208967088950289371556162445134041599336856405446555784427112197397096142354676371339318021852771023427520971147023370996712955808700964370952675608644549934107066115121542769188598526262118995492677970580930459374737773107457949272307186334991083320194701617060222448587218509668328671651886238926306221826871145721997295311452888663168600722995588557783323760647463273077854230440154213720457216737087525982652611465497495713509174157083705468833373013337016415301982765023565706273266008704617324972753192632117961594037665018004375853454904736629326885577001853263670959707179272526044720607302590542747596167329895801318010550294881949223256213411400071462361369097478818385742424692728771718912318234303492676110785585739857570888109161990160017692865060183371987768567018136294489362027824589233399076038416442405520151811644763440205702650680025924476610505028745688504247111678762224045221283096030107602175893024030459033747969960600443330998917435797697383440847520855882734028891054039283180622802306687316484472671191764170740047114602134544535641844189889350023046074789812124132332044995315682443311940131237405896121697516399290661444783920628389485361936617903271547246578586588213410236767354269988120357660566929203939444570114524798976752515218892046013824072470089741792712786458082533243339059588785186650352493604709184193892983514025539509616376413891859366013242240080250264810939658861895357096614826904672377530270910959237339630961600122762109741659179671379165605488670056747427195521661418156357992518033406601044885914675963132267191743621957740870131565200569814713941503376525665160558639143193925098588395597155080257670477129797124530700682326208118090805806565184069973068574441850966345354706260447908923069673295013426213294385861485283045526462538910735239460168488142702069095056571491196157747662650853217993014174291374613139589188363417133144936382540619731804232898205864880307208087840884848876477489295453300504999568595984028183835344409608947613554429811290658673416210997385846311057382995622227388628383002600925807935364764753805536473373042553523506494464273041118615605223474159050130879162551582336724424932137833056232399437260930621307664984546268959827054796391535053320424643046532913633160819503216272678658014010706235559062809831299809686238564680790862469449505263443747498977606156134542922058983751515164157048624030293978121341128177071253985686147852533802848547775086695679833627111462536654859577282475780846461565189536035166955634705171744938300758779944594645916609102224507570136382682628523270787623779589768607029522318485609540598020592940946392546384543280354584125916264777139172068918782670931067827455266383649518823913525239503517274250021483671296305694299466787403911632714464796411593102671583803660425009005339500056862810182600815001757735456392819092858686950678352253153456271742089833433030555766787058325010699947395021193671748759569098245507987499499130291494435775798740205225920307409292271104005670294370337410921036724331843314258158403913990805229275378559782413717928224042367417709599302966953490270238694661112359496953830498606784086438372332141905196621252608484903687514985520273710106772313187568996928678292720413797110285934416720410111115601235526412384798791063347220588956009736331231453902124956053151113367239913266090823848247117856982320160551433853975201313806565148854695076651889074976978199892903962068904016329525573490958346004760162715233725757803465309718186604184926868685525872993179978915754421084594607974740535017537734343543579643137591692664653905427908699436038065818151075562435695890155000609557516570170141099008287634733300449818188760610410712309733549085797495398813231519514139193077136152360715650093377121558543922877012926393674012695988637131930545948422722030271950551217705562608957920201803558894740225517435374934100595243786738844056747849807712873958505622744117603938633362313174420777198023964122480866427151095280237830022202126847305191925763944293750271166321136479408816411259706704707176798921240927206212979330109057027342875662697738866593403733239051077371447772514786787039513896399353047080330466797586473780207556952745462127653719377851265838514878004295243121869736481925289075648718207159851359469162601942518250494617918043717238852062671205512961102844180890636998724726401640761659927208881766930562262234984630179192439049148406276986493553948259214647576621498217749240555076085542414395891641401827725290139788395782142333684468030484773879148913868787882890625026 79221136326288413549090453617582214988603149380032775393045753873679347103737428810698791647263113706575282689198477135930652137291317188670030006057926509831856472550143054466006425134587034426949120010210832597783143689081004098970652114673282224426184172485773967049733965817226715156969648131835381010189470025770375559444559659305270898952170617343578663720139463438305206193729450577009951868047317341521679722886752217921827822705466305632297648679105292595306982225729633137305184703173136534319068330149229142960259210328722455601450057473003629441834416962669954405564521304502500726298911194393554191501157954017925309977598836623748100506311537547090223313424323313673085311409323919977212070953990949404412305207140907616619412378270976434206887105501661848469182736298770557698748104969475842500166345456724876246803841548685455561851856586967869889986216391448174596518073583228454703935275996041071738034755239225816281721293011288588359444337681021846829274952700086230836341401062887321604178406708278357480439226036171803414304571700770050264769130291420603534822495795966981715612394351588510056912232508637273573895372779156159436797233748213294951636931736322625278881149941049169682180025310119656903852664689348405476728233436921288688205034751242856813863451202798101231235894933014025474654357904163264189792879110990531247061528782494741231885291482973616690359904394443018958369073484128300703937149692838128916254439952768266768999800895221352172804608885628145520829329108509888656265795056847497582709463200002373315731960683089450281141672128908771066872542843950397795050900482861371828770525181267955544208230938560999841196913163882946371552828126583680248944964520944418180558701521838650855170095150234372062727397690674991347946365752214498420657007149585319909260780872426315558079608099072865828174703417406185318728278145026184310672633645641700732291542811057990742838365066341014265183949971790930431087121056345347741501667746148234688653065189269356885872908647581204650438736957716528711548574555583977239301969823515430537595181395319473570033411789209713074292228145962019286962544117035974563318921268241513986555088394502711032433789248734183877010959345104750102614262227563661010217640141350231316347211768763385670337883433049195056061300162041862964241528184097908283230852906666992480893473206747006312106694438401261591124362380788902882710265313013071263115504159140550179707220633782158597940373880726872858838789886163551228708805088540541574505134133745949431125107024728689987177439066224173647204385151471810845156172459609697201263898819372465925856032821983943945509201296896112993390414319772317613998628115011584901662481020736975231857679558573639533120123760882987807897148264001476729480741158503008405824181375825684426593602078107066384305742314153383784825815001170364503279303283157714730965700730790958163526085614077255893030881612578737162635171062435305862363661501175783671862584712802832632731639923317926092501167046294294878922434436385815597766578254085927198853219424480746368612964091254086956730350365974846418411767133289280026522101904776721397535481072023153960396155426365282526318432948840966649466716318812335304612541684202901596339076117983534399558629308180937552570931412127563964839611720473046765641026358839977096301838517860717992220124429055320994261412222457829626748188314831526678529121257451724121669436757611557692716596947663821034873517375372433749628434475153359120061495211777091719559441963916844642691242108239222713715540944215042751815205832903182816602051553000809853471087600226541940973229542173962641860015572714026730877762563780111880467244618055586935195897209646109126685288690235443479134420307287200865787784854857681194140932834097813623138157320433948668365280904196167520730495552269155400544459597418276177569668057444229387270850059959177577695113400939572251098823419194625556857107173746511343007800181920881221537624681494893301655822089723344553388000429323171176866004751029713971505534118999127107434111180853160547174861752751626348577776330731649967976997705926985766161797485058129299093471507452375539795559192778297669346728516427619455250496404870474371468200079265657822190324253008657280022070822577899305872108909461787244531453423119105988731060885667270673906364763727364896807710566881055215730830049911805272377486610061004335421869816885849669495243455855042551121024488255660795663819648501724149284790298092093372482653444084141453024908635847938874074697818854837695253972630804930011048531224322683145833842458520248412423153952435022528345724977763280584053398449746120516553508775326815255194777552247568789127161127121523667078092192754147983382483439483110519687390499526362703620317546913529048991244723833568395254652779389245457001074904459611968988017810125634688718594557512726477640828469923085023078927441553690015369298834217415908971293929662509893318732156287214572953717271547294454739080159480184708525419270198385219963884877884002278754278750609561959567609573219604469598655354749579234218685586373052244170384013165767049118076193618533398406013188209001235766656057471022713158458115640722513614902460046359982042188094125956149263515692514917141235851596188317125234698698143445430710086862519687007887491677593147363567434012996511611208264524292392041796094719104232814767772523351970722422038548274955882602506325735217927052884736197570933812826973727984393449854685360152304385913054039591824514239463064574006576447070168308785658334189143136583726277476279484040055265195370002967927103157598498988314064461158492527567235388273093138250126070907284091661168961258085026365164006756510037480113146444863049857410441189627990753392734989779344967229909893545831260919205642629882485159098157638129076046041748514665632636070142935578386099836275589388930926240584371164648614330272952273803821934246410548896732021483600216257876390203223583811752097414977367601275058587892151481717977645237081174997478084219478623660424162752880192868685884668880148643205675563808348487798702434249814028000489387319267434376798624197140709588473161705863149798376475260131435650698866424963700821352635427311875603754398568456694493029785421376982682568805861337391799580504924932794556653379358767208890415958085613545957157879585738485216752347809889677342570960091355021080407464763338564493970911651840304968787953757264726616132058769535451536129440982464344457257409571874631344070375729511782691987208945139373059377362044678441485767885356392625676743825088107696059578436822101089587320629680572375297507439230177389257372694401026822808373497528093968027287143301629103846534858625188325762033439196480397732997628503014649621121690269155702957775533169864904892182237683246347572084245365191125792238162832968930393778486311914591336488816372341376522067036860976397292954319050636670890190881862580303324718499511813664256650581668171314625522576463828792300817636790551747752178963893094026368249871063740051957677459820923123398315939696748427420043893707187931413132194983048121141633208572619318118682144503976902886475074725995927488015931697855547875567877957092844564972845868112467386799220810631963984802801245465491999492342994359330345557818309230549781190666893419855523650310406258181966733177334063917199888119119548767752141086258162376401893740900149055101692383716437730051535448970252369139807831334212981351808475128436325511506521306376541098272413318178788027577886741756988051386311777882287391881862854060744982292039961563494441320610172547471281354491811089427667941553096792539866778533112339401492150191478610168187813943366146939613944255787812295363788871264558245650366272976585990903261089635305905742282528531617124236257160918684087656849837574980709007634462794039027502516932254792552278738094881287976286091303833032328709898177754381747211550369182625253816956570895415702356703647970398979022104775855650022923491671389932150050238130342993219290079594357803961156906483525731193515143667409605342655206986539810441729034123792850051347539305704207486216981192413978602284363056867626486373038246244839413072201313630754273638937315123889266770682128882430762690059836369951715002691645372943891194536056518939393483536344089949823186946555884678988010580615983982479704610187475910957396703374352600973214429895438876454557725931764099504166221965567851477778524080688479039673549688608223453815640594482798578256595213089270083559888919481365699489637100462903261695502194644348626336709527606095941785695581152441637033674790821685888023791364256305622601762475611441750013106178994593770221066022071023423181155633034817805122802161398524935744545943741207082734764334825940768852393487409193252192043890560912706601726987758753067561041148319622385097614386639073680669427818858042442429654858229935977397707681836665668775740641201467318749912966028972169793293390466868251643453919856849649464322290493048735341721271287419107657917313905525324948586326718627816214107076707368817487170052506253995767034921526007809581573945253151822834749452099415021388971615151747053427766692853648240012116610723886125081342994287489545235725721142914067970761305543646806858970499351876132153368421770237795532592261530517822610356843765148217108907994757920134143467540976888459223968533993602900377353953544172817792180535262936919969492569469436153458748985127294759494223048694113803447594333559542494170015852179431982487558567762644873232582846206118354511361889465074082198622487687130683064905826980365281361526563926662405093323369953815510290733148417577099131665373904594606446101445456737906257234215611047930895015327467213852058204569126364764390657202470807122594170585907633466485519524155064808028487628723708474385722676764531471034749556194317090053532721523949569733293990221599435614437855978142064057941350647248869502882171365376482071435295878341415878631076359405882902371556731407341889179961545506866186248441345259419590661969374361882364592061478559916225955206538184816386679967482441838049310905079233609878397934734816175948993752695074814067593455911713281951234584719671148856291994006466814477367850543107690771346327489500529747440674930090756702297261679187551872345086063837394259531898709135941627900148238103139796982138624016618320937655921765263711024009874698746369080375567901724255684972797468157046157244471404374772222761078870327589465169246896223399414535889927524097257658342338819602157586456758679350724006766498955644886341578770464217114532766965311558328771842477936179644154648725549016964555717358267421129406002607793307439153514126492562540286438784812980066800677318313791389822961787325992391015069754823380173916313596635123798266301750265370600068685480969393442609603956119372421591853151722808583669735059915582753550715486399760012328047281867317279176872125198538864086215345171359356062618339888269196615849878341009901174366182431568400817312255199337667870427164058252046691141588462611695798445898455666744650148543174273924084039433899774435857949430043993897554400048319814689695862859159318872535204748251144962702162463499737891432877223121909129098344855891760814617089321319951062904551654895337306129805913025944180906927502044419375620970439904558408425976746524919577422744604678047700295341856552182095320586852500585625664834503585589269368741216930474755189870268950484900669276439820744731551861384605719817230677305424393562608012347282106616739326341508184942013244631726891106292405240644550509393873680228562272071533052382956340446417148097972501997474543615397475518262648869520545135690881661356943350133932565706608146399718351491507472986333577842853498178674984672051322972654996461950987550865292528553620054954224913858166192474882035352357899732655030712160385609277387607740567177899255072891211576698669315915614623365514450273883629476310746756716923977433973982778866537623583659452653953536594305635259113791810456916740095328527216763001938091607108120211956569098947525776967516508899548558888706022782856287399631190569717979133974265816248963278960898161685096058601377782895534213136701479149191550214315794162212015792405661422845597673653182274714618069931744594221634105470177540427769803623211699582705445596866405927037514309107234351370362467425928846073566742931409335261734131864994298347945260635001131311920283905394751792800521660850627916150640677023274911592637202999772417492767266475033477116987488225402321678196203896707838129488510806857661805566699304194033908269506749978952496681544507895148734468513239756888440769289103653460242590706209377481163424447150937201817016411428938761225411412620391654920682653706041198253530963973664372010391746854260916537511407841070178312591009192581586245994250160312207757539666759964652436749624695710006526932049227367011260245836155602924015442624367872349380151723114491536701108462789811468407784363983688570272618639641206165586158836058493189251526501711694316986861847410525231500364251300122350716668571836339732659545049424088047941506679023857361785213178069306989586118887798676812702536322297205577220215669860213928976137767561270063683142657573175784228191236008498180382859203465059664323543054771844757547132314130392776344494173588299702326738416717900532663451394215114634754233027407799698068426715198497878488914782118398612098302405748157704352559685379793070036590846251648673361720445850857158040299680815524702003811717351151130675016102049780631424453367454840976211353451658442534353695502030234100441279085017434696680873502985153330640183412929532516173899867364725712657697298871021769976008801576464527000641600740268937101666222895652566156284601337220279359261104594072445817458590580761247693556209444191579981147963874551394904047417056078912565880591658060975546392462311882416441222311791167990180680463988443570241217782392857011867069680884244666593050092653665365976989558026022470608210613618754008458873824007001387382830148126034290344824191155415782018993342382704401188799702402584222440549094763577598172796167234130544210531502303550183844221220741663302428474645529415233450782908000520186885350457480593709781632911073809060760282828755283843146949436685051247670110734191688391328421684820072278551527252247123400889675092676047061214900279455779580400780351440717718674778598620334958799748366441005751435862051719573393022638455265338173691749329829929778792927209252299363226699669304396453808682352906829063954982628241054392382727084233234617853880930580558610693644662670411726208797563897182971330720340719082906323101468841115426963546938445791225705353254787304946539733594898724141144239697760300827426052047546961517686499286157967359499839068369711093213559834093305661759832640340481518447830683201238037573073034923371654932505878872286450948560812402475945000187368127335451061374922239755912496374931537669807313507757327703393109679583412696113635024212973064274613866852932449186237465546438109670833043105716515186564273683749679196522660307441709803046192255881017538101925341711174906379489848946543183123073850704626033418160529505869092989263318726560205879718746710875014131947022384457383962499831547580471246712917216156469789553191725652376211491125995382650530239607253861346335167367006691659966028436923879658028234167339264725812588477235925297234946767436813208967088950289371556162445134041599336856405446555784427112197397096142354676371339318021852771023427520971147023370996712955808700964370952675608644549934107066115121542769188598526262118995492677970580930459374737773107457949272307186334991083320194701617060222448587218509668328671651886238926306221826871145721997295311452888663168600722995588557783323760647463273077854230440154213720457216737087525982652611465497495713509174157083705468833373013337016415301982765023565706273266008704617324972753192632117961594037665018004375853454904736629326885577001853263670959707179272526044720607302590542747596167329895801318010550294881949223256213411400071462361369097478818385742424692728771718912318234303492676110785585739857570888109161990160017692865060183371987768567018136294489362027824589233399076038416442405520151811644763440205702650680025924476610505028745688504247111678762224045221283096030107602175893024030459033747969960600443330998917435797697383440847520855882734028891054039283180622802306687316484472671191764170740047114602134544535641844189889350023046074789812124132332044995315682443311940131237405896121697516399290661444783920628389485361936617903271547246578586588213410236767354269988120357660566929203939444570114524798976752515218892046013824072470089741792712786458082533243339059588785186650352493604709184193892983514025539509616376413891859366013242240080250264810939658861895357096614826904672377530270910959237339630961600122762109741659179671379165605488670056747427195521661418156357992518033406601044885914675963132267191743621957740870131565200569814713941503376525665160558639143193925098588395597155080257670477129797124530700682326208118090805806565184069973068574441850966345354706260447908923069673295013426213294385861485283045526462538910735239460168488142702069095056571491196157747662650853217993014174291374613139589188363417133144936382540619731804232898205864880307208087840884848876477489295453300504999568595984028183835344409608947613554429811290658673416210997385846311057382995622227388628383002600925807935364764753805536473373042553523506494464273041118615605223474159050130879162551582336724424932137833056232399437260930621307664984546268959827054796391535053320424643046532913633160819503216272678658014010706235559062809831299809686238564680790862469449505263443747498977606156134542922058983751515164157048624030293978121341128177071253985686147852533802848547775086695679833627111462536654859577282475780846461565189536035166955634705171744938300758779944594645916609102224507570136382682628523270787623779589768607029522318485609540598020592940946392546384543280354584125916264777139172068918782670931067827455266383649518823913525239503517274250021483671296305694299466787403911632714464796411593102671583803660425009005339500056862810182600815001757735456392819092858686950678352253153456271742089833433030555766787058325010699947395021193671748759569098245507987499499130291494435775798740205225920307409292271104005670294370337410921036724331843314258158403913990805229275378559782413717928224042367417709599302966953490270238694661112359496953830498606784086438372332141905196621252608484903687514985520273710106772313187568996928678292720413797110285934416720410111115601235526412384798791063347220588956009736331231453902124956053151113367239913266090823848247117856982320160551433853975201313806565148854695076651889074976978199892903962068904016329525573490958346004760162715233725757803465309718186604184926868685525872993179978915754421084594607974740535017537734343543579643137591692664653905427908699436038065818151075562435695890155000609557516570170141099008287634733300449818188760610410712309733549085797495398813231519514139193077136152360715650093377121558543922877012926393674012695988637131930545948422722030271950551217705562608957920201803558894740225517435374934100595243786738844056747849807712873958505622744117603938633362313174420777198023964122480866427151095280237830022202126847305191925763944293750271166321136479408816411259706704707176798921240927206212979330109057027342875662697738866593403733239051077371447772514786787039513896399353047080330466797586473780207556952745462127653719377851265838514878004295243121869736481925289075648718207159851359469162601942518250494617918043717238852062671205512961102844180890636998724726401640761659927208881766930562262234984630179192439049148406276986493553948259214647576621498217749240555076085542414395891641401827725290139788395782142333684468030484773879148913868787882890625026 79221136326288413549090453617582214988603149380032775393045753873679347103737428810698791647263113706575282689198477135930652137291317188670030006057926509831856472550143054466006425134587034426949120010210832597783143689081004098970652114673282224426184172485773967049733965817226715156969648131835381010189470025770375559444559659305270898952170617343578663720139463438305206193729450577009951868047317341521679722886752217921827822705466305632297648679105292595306982225729633137305184703173136534319068330149229142960259210328722455601450057473003629441834416962669954405564521304502500726298911194393554191501157954017925309977598836623748100506311537547090223313424323313673085311409323919977212070953990949404412305207140907616619412378270976434206887105501661848469182736298770557698748104969475842500166345456724876246803841548685455561851856586967869889986216391448174596518073583228454703935275996041071738034755239225816281721293011288588359444337681021846829274952700086230836341401062887321604178406708278357480439226036171803414304571700770050264769130291420603534822495795966981715612394351588510056912232508637273573895372779156159436797233748213294951636931736322625278881149941049169682180025310119656903852664689348405476728233436921288688205034751242856813863451202798101231235894933014025474654357904163264189792879110990531247061528782494741231885291482973616690359904394443018958369073484128300703937149692838128916254439952768266768999800895221352172804608885628145520829329108509888656265795056847497582709463200002373315731960683089450281141672128908771066872542843950397795050900482861371828770525181267955544208230938560999841196913163882946371552828126583680248944964520944418180558701521838650855170095150234372062727397690674991347946365752214498420657007149585319909260780872426315558079608099072865828174703417406185318728278145026184310672633645641700732291542811057990742838365066341014265183949971790930431087121056345347741501667746148234688653065189269356885872908647581204650438736957716528711548574555583977239301969823515430537595181395319473570033411789209713074292228145962019286962544117035974563318921268241513986555088394502711032433789248734183877010959345104750102614262227563661010217640141350231316347211768763385670337883433049195056061300162041862964241528184097908283230852906666992480893473206747006312106694438401261591124362380788902882710265313013071263115504159140550179707220633782158597940373880726872858838789886163551228708805088540541574505134133745949431125107024728689987177439066224173647204385151471810845156172459609697201263898819372465925856032821983943945509201296896112993390414319772317613998628115011584901662481020736975231857679558573639533120123760882987807897148264001476729480741158503008405824181375825684426593602078107066384305742314153383784825815001170364503279303283157714730965700730790958163526085614077255893030881612578737162635171062435305862363661501175783671862584712802832632731639923317926092501167046294294878922434436385815597766578254085927198853219424480746368612964091254086956730350365974846418411767133289280026522101904776721397535481072023153960396155426365282526318432948840966649466716318812335304612541684202901596339076117983534399558629308180937552570931412127563964839611720473046765641026358839977096301838517860717992220124429055320994261412222457829626748188314831526678529121257451724121669436757611557692716596947663821034873517375372433749628434475153359120061495211777091719559441963916844642691242108239222713715540944215042751815205832903182816602051553000809853471087600226541940973229542173962641860015572714026730877762563780111880467244618055586935195897209646109126685288690235443479134420307287200865787784854857681194140932834097813623138157320433948668365280904196167520730495552269155400544459597418276177569668057444229387270850059959177577695113400939572251098823419194625556857107173746511343007800181920881221537624681494893301655822089723344553388000429323171176866004751029713971505534118999127107434111180853160547174861752751626348577776330731649967976997705926985766161797485058129299093471507452375539795559192778297669346728516427619455250496404870474371468200079265657822190324253008657280022070822577899305872108909461787244531453423119105988731060885667270673906364763727364896807710566881055215730830049911805272377486610061004335421869816885849669495243455855042551121024488255660795663819648501724149284790298092093372482653444084141453024908635847938874074697818854837695253972630804930011048531224322683145833842458520248412423153952435022528345724977763280584053398449746120516553508775326815255194777552247568789127161127121523667078092192754147983382483439483110519687390499526362703620317546913529048991244723833568395254652779389245457001074904459611968988017810125634688718594557512726477640828469923085023078927441553690015369298834217415908971293929662509893318732156287214572953717271547294454739080159480184708525419270198385219963884877884002278754278750609561959567609573219604469598655354749579234218685586373052244170384013165767049118076193618533398406013188209001235766656057471022713158458115640722513614902460046359982042188094125956149263515692514917141235851596188317125234698698143445430710086862519687007887491677593147363567434012996511611208264524292392041796094719104232814767772523351970722422038548274955882602506325735217927052884736197570933812826973727984393449854685360152304385913054039591824514239463064574006576447070168308785658334189143136583726277476279484040055265195370002967927103157598498988314064461158492527567235388273093138250126070907284091661168961258085026365164006756510037480113146444863049857410441189627990753392734989779344967229909893545831260919205642629882485159098157638129076046041748514665632636070142935578386099836275589388930926240584371164648614330272952273803821934246410548896732021483600216257876390203223583811752097414977367601275058587892151481717977645237081174997478084219478623660424162752880192868685884668880148643205675563808348487798702434249814028000489387319267434376798624197140709588473161705863149798376475260131435650698866424963700821352635427311875603754398568456694493029785421376982682568805861337391799580504924932794556653379358767208890415958085613545957157879585738485216752347809889677342570960091355021080407464763338564493970911651840304968787953757264726616132058769535451536129440982464344457257409571874631344070375729511782691987208945139373059377362044678441485767885356392625676743825088107696059578436822101089587320629680572375297507439230177389257372694401026822808373497528093968027287143301629103846534858625188325762033439196480397732997628503014649621121690269155702957775533169864904892182237683246347572084245365191125792238162832968930393778486311914591336488816372341376522067036860976397292954319050636670890190881862580303324718499511813664256650581668171314625522576463828792300817636790551747752178963893094026368249871063740051957677459820923123398315939696748427420043893707187931413132194983048121141633208572619318118682144503976902886475074725995927488015931697855547875567877957092844564972845868112467386799220810631963984802801245465491999492342994359330345557818309230549781190666893419855523650310406258181966733177334063917199888119119548767752141086258162376401893740900149055101692383716437730051535448970252369139807831334212981351808475128436325511506521306376541098272413318178788027577886741756988051386311777882287391881862854060744982292039961563494441320610172547471281354491811089427667941553096792539866778533112339401492150191478610168187813943366146939613944255787812295363788871264558245650366272976585990903261089635305905742282528531617124236257160918684087656849837574980709007634462794039027502516932254792552278738094881287976286091303833032328709898177754381747211550369182625253816956570895415702356703647970398979022104775855650022923491671389932150050238130342993219290079594357803961156906483525731193515143667409605342655206986539810441729034123792850051347539305704207486216981192413978602284363056867626486373038246244839413072201313630754273638937315123889266770682128882430762690059836369951715002691645372943891194536056518939393483536344089949823186946555884678988010580615983982479704610187475910957396703374352600973214429895438876454557725931764099504166221965567851477778524080688479039673549688608223453815640594482798578256595213089270083559888919481365699489637100462903261695502194644348626336709527606095941785695581152441637033674790821685888023791364256305622601762475611441750013106178994593770221066022071023423181155633034817805122802161398524935744545943741207082734764334825940768852393487409193252192043890560912706601726987758753067561041148319622385097614386639073680669427818858042442429654858229935977397707681836665668775740641201467318749912966028972169793293390466868251643453919856849649464322290493048735341721271287419107657917313905525324948586326718627816214107076707368817487170052506253995767034921526007809581573945253151822834749452099415021388971615151747053427766692853648240012116610723886125081342994287489545235725721142914067970761305543646806858970499351876132153368421770237795532592261530517822610356843765148217108907994757920134143467540976888459223968533993602900377353953544172817792180535262936919969492569469436153458748985127294759494223048694113803447594333559542494170015852179431982487558567762644873232582846206118354511361889465074082198622487687130683064905826980365281361526563926662405093323369953815510290733148417577099131665373904594606446101445456737906257234215611047930895015327467213852058204569126364764390657202470807122594170585907633466485519524155064808028487628723708474385722676764531471034749556194317090053532721523949569733293990221599435614437855978142064057941350647248869502882171365376482071435295878341415878631076359405882902371556731407341889179961545506866186248441345259419590661969374361882364592061478559916225955206538184816386679967482441838049310905079233609878397934734816175948993752695074814067593455911713281951234584719671148856291994006466814477367850543107690771346327489500529747440674930090756702297261679187551872345086063837394259531898709135941627900148238103139796982138624016618320937655921765263711024009874698746369080375567901724255684972797468157046157244471404374772222761078870327589465169246896223399414535889927524097257658342338819602157586456758679350724006766498955644886341578770464217114532766965311558328771842477936179644154648725549016964555717358267421129406002607793307439153514126492562540286438784812980066800677318313791389822961787325992391015069754823380173916313596635123798266301750265370600068685480969393442609603956119372421591853151722808583669735059915582753550715486399760012328047281867317279176872125198538864086215345171359356062618339888269196615849878341009901174366182431568400817312255199337667870427164058252046691141588462611695798445898455666744650148543174273924084039433899774435857949430043993897554400048319814689695862859159318872535204748251144962702162463499737891432877223121909129098344855891760814617089321319951062904551654895337306129805913025944180906927502044419375620970439904558408425976746524919577422744604678047700295341856552182095320586852500585625664834503585589269368741216930474755189870268950484900669276439820744731551861384605719817230677305424393562608012347282106616739326341508184942013244631726891106292405240644550509393873680228562272071533052382956340446417148097972501997474543615397475518262648869520545135690881661356943350133932565706608146399718351491507472986333577842853498178674984672051322972654996461950987550865292528553620054954224913858166192474882035352357899732655030712160385609277387607740567177899255072891211576698669315915614623365514450273883629476310746756716923977433973982778866537623583659452653953536594305635259113791810456916740095328527216763001938091607108120211956569098947525776967516508899548558888706022782856287399631190569717979133974265816248963278960898161685096058601377782895534213136701479149191550214315794162212015792405661422845597673653182274714618069931744594221634105470177540427769803623211699582705445596866405927037514309107234351370362467425928846073566742931409335261734131864994298347945260635001131311920283905394751792800521660850627916150640677023274911592637202999772417492767266475033477116987488225402321678196203896707838129488510806857661805566699304194033908269506749978952496681544507895148734468513239756888440769289103653460242590706209377481163424447150937201817016411428938761225411412620391654920682653706041198253530963973664372010391746854260916537511407841070178312591009192581586245994250160312207757539666759964652436749624695710006526932049227367011260245836155602924015442624367872349380151723114491536701108462789811468407784363983688570272618639641206165586158836058493189251526501711694316986861847410525231500364251300122350716668571836339732659545049424088047941506679023857361785213178069306989586118887798676812702536322297205577220215669860213928976137767561270063683142657573175784228191236008498180382859203465059664323543054771844757547132314130392776344494173588299702326738416717900532663451394215114634754233027407799698068426715198497878488914782118398612098302405748157704352559685379793070036590846251648673361720445850857158040299680815524702003811717351151130675016102049780631424453367454840976211353451658442534353695502030234100441279085017434696680873502985153330640183412929532516173899867364725712657697298871021769976008801576464527000641600740268937101666222895652566156284601337220279359261104594072445817458590580761247693556209444191579981147963874551394904047417056078912565880591658060975546392462311882416441222311791167990180680463988443570241217782392857011867069680884244666593050092653665365976989558026022470608210613618754008458873824007001387382830148126034290344824191155415782018993342382704401188799702402584222440549094763577598172796167234130544210531502303550183844221220741663302428474645529415233450782908000520186885350457480593709781632911073809060760282828755283843146949436685051247670110734191688391328421684820072278551527252247123400889675092676047061214900279455779580400780351440717718674778598620334958799748366441005751435862051719573393022638455265338173691749329829929778792927209252299363226699669304396453808682352906829063954982628241054392382727084233234617853880930580558610693644662670411726208797563897182971330720340719082906323101468841115426963546938445791225705353254787304946539733594898724141144239697760300827426052047546961517686499286157967359499839068369711093213559834093305661759832640340481518447830683201238037573073034923371654932505878872286450948560812402475945000187368127335451061374922239755912496374931537669807313507757327703393109679583412696113635024212973064274613866852932449186237465546438109670833043105716515186564273683749679196522660307441709803046192255881017538101925341711174906379489848946543183123073850704626033418160529505869092989263318726560205879718746710875014131947022384457383962499831547580471246712917216156469789553191725652376211491125995382650530239607253861346335167367006691659966028436923879658028234167339264725812588477235925297234946767436813208967088950289371556162445134041599336856405446555784427112197397096142354676371339318021852771023427520971147023370996712955808700964370952675608644549934107066115121542769188598526262118995492677970580930459374737773107457949272307186334991083320194701617060222448587218509668328671651886238926306221826871145721997295311452888663168600722995588557783323760647463273077854230440154213720457216737087525982652611465497495713509174157083705468833373013337016415301982765023565706273266008704617324972753192632117961594037665018004375853454904736629326885577001853263670959707179272526044720607302590542747596167329895801318010550294881949223256213411400071462361369097478818385742424692728771718912318234303492676110785585739857570888109161990160017692865060183371987768567018136294489362027824589233399076038416442405520151811644763440205702650680025924476610505028745688504247111678762224045221283096030107602175893024030459033747969960600443330998917435797697383440847520855882734028891054039283180622802306687316484472671191764170740047114602134544535641844189889350023046074789812124132332044995315682443311940131237405896121697516399290661444783920628389485361936617903271547246578586588213410236767354269988120357660566929203939444570114524798976752515218892046013824072470089741792712786458082533243339059588785186650352493604709184193892983514025539509616376413891859366013242240080250264810939658861895357096614826904672377530270910959237339630961600122762109741659179671379165605488670056747427195521661418156357992518033406601044885914675963132267191743621957740870131565200569814713941503376525665160558639143193925098588395597155080257670477129797124530700682326208118090805806565184069973068574441850966345354706260447908923069673295013426213294385861485283045526462538910735239460168488142702069095056571491196157747662650853217993014174291374613139589188363417133144936382540619731804232898205864880307208087840884848876477489295453300504999568595984028183835344409608947613554429811290658673416210997385846311057382995622227388628383002600925807935364764753805536473373042553523506494464273041118615605223474159050130879162551582336724424932137833056232399437260930621307664984546268959827054796391535053320424643046532913633160819503216272678658014010706235559062809831299809686238564680790862469449505263443747498977606156134542922058983751515164157048624030293978121341128177071253985686147852533802848547775086695679833627111462536654859577282475780846461565189536035166955634705171744938300758779944594645916609102224507570136382682628523270787623779589768607029522318485609540598020592940946392546384543280354584125916264777139172068918782670931067827455266383649518823913525239503517274250021483671296305694299466787403911632714464796411593102671583803660425009005339500056862810182600815001757735456392819092858686950678352253153456271742089833433030555766787058325010699947395021193671748759569098245507987499499130291494435775798740205225920307409292271104005670294370337410921036724331843314258158403913990805229275378559782413717928224042367417709599302966953490270238694661112359496953830498606784086438372332141905196621252608484903687514985520273710106772313187568996928678292720413797110285934416720410111115601235526412384798791063347220588956009736331231453902124956053151113367239913266090823848247117856982320160551433853975201313806565148854695076651889074976978199892903962068904016329525573490958346004760162715233725757803465309718186604184926868685525872993179978915754421084594607974740535017537734343543579643137591692664653905427908699436038065818151075562435695890155000609557516570170141099008287634733300449818188760610410712309733549085797495398813231519514139193077136152360715650093377121558543922877012926393674012695988637131930545948422722030271950551217705562608957920201803558894740225517435374934100595243786738844056747849807712873958505622744117603938633362313174420777198023964122480866427151095280237830022202126847305191925763944293750271166321136479408816411259706704707176798921240927206212979330109057027342875662697738866593403733239051077371447772514786787039513896399353047080330466797586473780207556952745462127653719377851265838514878004295243121869736481925289075648718207159851359469162601942518250494617918043717238852062671205512961102844180890636998724726401640761659927208881766930562262234984630179192439049148406276986493553948259214647576621498217749240555076085542414395891641401827725290139788395782142333684468030484773879148913868787882890625026 | | . . . . 79221136326288413549090453617582214988603149380032775393045753873679347103737428810698791647263113706575282689198477135930652137291317188670030006057926509831856472550143054466006425134587034426949120010210832597783143689081004098970652114673282224426184172485773967049733965817226715156969648131835381010189470025770375559444559659305270898952170617343578663720139463438305206193729450577009951868047317341521679722886752217921827822705466305632297648679105292595306982225729633137305184703173136534319068330149229142960259210328722455601450057473003629441834416962669954405564521304502500726298911194393554191501157954017925309977598836623748100506311537547090223313424323313673085311409323919977212070953990949404412305207140907616619412378270976434206887105501661848469182736298770557698748104969475842500166345456724876246803841548685455561851856586967869889986216391448174596518073583228454703935275996041071738034755239225816281721293011288588359444337681021846829274952700086230836341401062887321604178406708278357480439226036171803414304571700770050264769130291420603534822495795966981715612394351588510056912232508637273573895372779156159436797233748213294951636931736322625278881149941049169682180025310119656903852664689348405476728233436921288688205034751242856813863451202798101231235894933014025474654357904163264189792879110990531247061528782494741231885291482973616690359904394443018958369073484128300703937149692838128916254439952768266768999800895221352172804608885628145520829329108509888656265795056847497582709463200002373315731960683089450281141672128908771066872542843950397795050900482861371828770525181267955544208230938560999841196913163882946371552828126583680248944964520944418180558701521838650855170095150234372062727397690674991347946365752214498420657007149585319909260780872426315558079608099072865828174703417406185318728278145026184310672633645641700732291542811057990742838365066341014265183949971790930431087121056345347741501667746148234688653065189269356885872908647581204650438736957716528711548574555583977239301969823515430537595181395319473570033411789209713074292228145962019286962544117035974563318921268241513986555088394502711032433789248734183877010959345104750102614262227563661010217640141350231316347211768763385670337883433049195056061300162041862964241528184097908283230852906666992480893473206747006312106694438401261591124362380788902882710265313013071263115504159140550179707220633782158597940373880726872858838789886163551228708805088540541574505134133745949431125107024728689987177439066224173647204385151471810845156172459609697201263898819372465925856032821983943945509201296896112993390414319772317613998628115011584901662481020736975231857679558573639533120123760882987807897148264001476729480741158503008405824181375825684426593602078107066384305742314153383784825815001170364503279303283157714730965700730790958163526085614077255893030881612578737162635171062435305862363661501175783671862584712802832632731639923317926092501167046294294878922434436385815597766578254085927198853219424480746368612964091254086956730350365974846418411767133289280026522101904776721397535481072023153960396155426365282526318432948840966649466716318812335304612541684202901596339076117983534399558629308180937552570931412127563964839611720473046765641026358839977096301838517860717992220124429055320994261412222457829626748188314831526678529121257451724121669436757611557692716596947663821034873517375372433749628434475153359120061495211777091719559441963916844642691242108239222713715540944215042751815205832903182816602051553000809853471087600226541940973229542173962641860015572714026730877762563780111880467244618055586935195897209646109126685288690235443479134420307287200865787784854857681194140932834097813623138157320433948668365280904196167520730495552269155400544459597418276177569668057444229387270850059959177577695113400939572251098823419194625556857107173746511343007800181920881221537624681494893301655822089723344553388000429323171176866004751029713971505534118999127107434111180853160547174861752751626348577776330731649967976997705926985766161797485058129299093471507452375539795559192778297669346728516427619455250496404870474371468200079265657822190324253008657280022070822577899305872108909461787244531453423119105988731060885667270673906364763727364896807710566881055215730830049911805272377486610061004335421869816885849669495243455855042551121024488255660795663819648501724149284790298092093372482653444084141453024908635847938874074697818854837695253972630804930011048531224322683145833842458520248412423153952435022528345724977763280584053398449746120516553508775326815255194777552247568789127161127121523667078092192754147983382483439483110519687390499526362703620317546913529048991244723833568395254652779389245457001074904459611968988017810125634688718594557512726477640828469923085023078927441553690015369298834217415908971293929662509893318732156287214572953717271547294454739080159480184708525419270198385219963884877884002278754278750609561959567609573219604469598655354749579234218685586373052244170384013165767049118076193618533398406013188209001235766656057471022713158458115640722513614902460046359982042188094125956149263515692514917141235851596188317125234698698143445430710086862519687007887491677593147363567434012996511611208264524292392041796094719104232814767772523351970722422038548274955882602506325735217927052884736197570933812826973727984393449854685360152304385913054039591824514239463064574006576447070168308785658334189143136583726277476279484040055265195370002967927103157598498988314064461158492527567235388273093138250126070907284091661168961258085026365164006756510037480113146444863049857410441189627990753392734989779344967229909893545831260919205642629882485159098157638129076046041748514665632636070142935578386099836275589388930926240584371164648614330272952273803821934246410548896732021483600216257876390203223583811752097414977367601275058587892151481717977645237081174997478084219478623660424162752880192868685884668880148643205675563808348487798702434249814028000489387319267434376798624197140709588473161705863149798376475260131435650698866424963700821352635427311875603754398568456694493029785421376982682568805861337391799580504924932794556653379358767208890415958085613545957157879585738485216752347809889677342570960091355021080407464763338564493970911651840304968787953757264726616132058769535451536129440982464344457257409571874631344070375729511782691987208945139373059377362044678441485767885356392625676743825088107696059578436822101089587320629680572375297507439230177389257372694401026822808373497528093968027287143301629103846534858625188325762033439196480397732997628503014649621121690269155702957775533169864904892182237683246347572084245365191125792238162832968930393778486311914591336488816372341376522067036860976397292954319050636670890190881862580303324718499511813664256650581668171314625522576463828792300817636790551747752178963893094026368249871063740051957677459820923123398315939696748427420043893707187931413132194983048121141633208572619318118682144503976902886475074725995927488015931697855547875567877957092844564972845868112467386799220810631963984802801245465491999492342994359330345557818309230549781190666893419855523650310406258181966733177334063917199888119119548767752141086258162376401893740900149055101692383716437730051535448970252369139807831334212981351808475128436325511506521306376541098272413318178788027577886741756988051386311777882287391881862854060744982292039961563494441320610172547471281354491811089427667941553096792539866778533112339401492150191478610168187813943366146939613944255787812295363788871264558245650366272976585990903261089635305905742282528531617124236257160918684087656849837574980709007634462794039027502516932254792552278738094881287976286091303833032328709898177754381747211550369182625253816956570895415702356703647970398979022104775855650022923491671389932150050238130342993219290079594357803961156906483525731193515143667409605342655206986539810441729034123792850051347539305704207486216981192413978602284363056867626486373038246244839413072201313630754273638937315123889266770682128882430762690059836369951715002691645372943891194536056518939393483536344089949823186946555884678988010580615983982479704610187475910957396703374352600973214429895438876454557725931764099504166221965567851477778524080688479039673549688608223453815640594482798578256595213089270083559888919481365699489637100462903261695502194644348626336709527606095941785695581152441637033674790821685888023791364256305622601762475611441750013106178994593770221066022071023423181155633034817805122802161398524935744545943741207082734764334825940768852393487409193252192043890560912706601726987758753067561041148319622385097614386639073680669427818858042442429654858229935977397707681836665668775740641201467318749912966028972169793293390466868251643453919856849649464322290493048735341721271287419107657917313905525324948586326718627816214107076707368817487170052506253995767034921526007809581573945253151822834749452099415021388971615151747053427766692853648240012116610723886125081342994287489545235725721142914067970761305543646806858970499351876132153368421770237795532592261530517822610356843765148217108907994757920134143467540976888459223968533993602900377353953544172817792180535262936919969492569469436153458748985127294759494223048694113803447594333559542494170015852179431982487558567762644873232582846206118354511361889465074082198622487687130683064905826980365281361526563926662405093323369953815510290733148417577099131665373904594606446101445456737906257234215611047930895015327467213852058204569126364764390657202470807122594170585907633466485519524155064808028487628723708474385722676764531471034749556194317090053532721523949569733293990221599435614437855978142064057941350647248869502882171365376482071435295878341415878631076359405882902371556731407341889179961545506866186248441345259419590661969374361882364592061478559916225955206538184816386679967482441838049310905079233609878397934734816175948993752695074814067593455911713281951234584719671148856291994006466814477367850543107690771346327489500529747440674930090756702297261679187551872345086063837394259531898709135941627900148238103139796982138624016618320937655921765263711024009874698746369080375567901724255684972797468157046157244471404374772222761078870327589465169246896223399414535889927524097257658342338819602157586456758679350724006766498955644886341578770464217114532766965311558328771842477936179644154648725549016964555717358267421129406002607793307439153514126492562540286438784812980066800677318313791389822961787325992391015069754823380173916313596635123798266301750265370600068685480969393442609603956119372421591853151722808583669735059915582753550715486399760012328047281867317279176872125198538864086215345171359356062618339888269196615849878341009901174366182431568400817312255199337667870427164058252046691141588462611695798445898455666744650148543174273924084039433899774435857949430043993897554400048319814689695862859159318872535204748251144962702162463499737891432877223121909129098344855891760814617089321319951062904551654895337306129805913025944180906927502044419375620970439904558408425976746524919577422744604678047700295341856552182095320586852500585625664834503585589269368741216930474755189870268950484900669276439820744731551861384605719817230677305424393562608012347282106616739326341508184942013244631726891106292405240644550509393873680228562272071533052382956340446417148097972501997474543615397475518262648869520545135690881661356943350133932565706608146399718351491507472986333577842853498178674984672051322972654996461950987550865292528553620054954224913858166192474882035352357899732655030712160385609277387607740567177899255072891211576698669315915614623365514450273883629476310746756716923977433973982778866537623583659452653953536594305635259113791810456916740095328527216763001938091607108120211956569098947525776967516508899548558888706022782856287399631190569717979133974265816248963278960898161685096058601377782895534213136701479149191550214315794162212015792405661422845597673653182274714618069931744594221634105470177540427769803623211699582705445596866405927037514309107234351370362467425928846073566742931409335261734131864994298347945260635001131311920283905394751792800521660850627916150640677023274911592637202999772417492767266475033477116987488225402321678196203896707838129488510806857661805566699304194033908269506749978952496681544507895148734468513239756888440769289103653460242590706209377481163424447150937201817016411428938761225411412620391654920682653706041198253530963973664372010391746854260916537511407841070178312591009192581586245994250160312207757539666759964652436749624695710006526932049227367011260245836155602924015442624367872349380151723114491536701108462789811468407784363983688570272618639641206165586158836058493189251526501711694316986861847410525231500364251300122350716668571836339732659545049424088047941506679023857361785213178069306989586118887798676812702536322297205577220215669860213928976137767561270063683142657573175784228191236008498180382859203465059664323543054771844757547132314130392776344494173588299702326738416717900532663451394215114634754233027407799698068426715198497878488914782118398612098302405748157704352559685379793070036590846251648673361720445850857158040299680815524702003811717351151130675016102049780631424453367454840976211353451658442534353695502030234100441279085017434696680873502985153330640183412929532516173899867364725712657697298871021769976008801576464527000641600740268937101666222895652566156284601337220279359261104594072445817458590580761247693556209444191579981147963874551394904047417056078912565880591658060975546392462311882416441222311791167990180680463988443570241217782392857011867069680884244666593050092653665365976989558026022470608210613618754008458873824007001387382830148126034290344824191155415782018993342382704401188799702402584222440549094763577598172796167234130544210531502303550183844221220741663302428474645529415233450782908000520186885350457480593709781632911073809060760282828755283843146949436685051247670110734191688391328421684820072278551527252247123400889675092676047061214900279455779580400780351440717718674778598620334958799748366441005751435862051719573393022638455265338173691749329829929778792927209252299363226699669304396453808682352906829063954982628241054392382727084233234617853880930580558610693644662670411726208797563897182971330720340719082906323101468841115426963546938445791225705353254787304946539733594898724141144239697760300827426052047546961517686499286157967359499839068369711093213559834093305661759832640340481518447830683201238037573073034923371654932505878872286450948560812402475945000187368127335451061374922239755912496374931537669807313507757327703393109679583412696113635024212973064274613866852932449186237465546438109670833043105716515186564273683749679196522660307441709803046192255881017538101925341711174906379489848946543183123073850704626033418160529505869092989263318726560205879718746710875014131947022384457383962499831547580471246712917216156469789553191725652376211491125995382650530239607253861346335167367006691659966028436923879658028234167339264725812588477235925297234946767436813208967088950289371556162445134041599336856405446555784427112197397096142354676371339318021852771023427520971147023370996712955808700964370952675608644549934107066115121542769188598526262118995492677970580930459374737773107457949272307186334991083320194701617060222448587218509668328671651886238926306221826871145721997295311452888663168600722995588557783323760647463273077854230440154213720457216737087525982652611465497495713509174157083705468833373013337016415301982765023565706273266008704617324972753192632117961594037665018004375853454904736629326885577001853263670959707179272526044720607302590542747596167329895801318010550294881949223256213411400071462361369097478818385742424692728771718912318234303492676110785585739857570888109161990160017692865060183371987768567018136294489362027824589233399076038416442405520151811644763440205702650680025924476610505028745688504247111678762224045221283096030107602175893024030459033747969960600443330998917435797697383440847520855882734028891054039283180622802306687316484472671191764170740047114602134544535641844189889350023046074789812124132332044995315682443311940131237405896121697516399290661444783920628389485361936617903271547246578586588213410236767354269988120357660566929203939444570114524798976752515218892046013824072470089741792712786458082533243339059588785186650352493604709184193892983514025539509616376413891859366013242240080250264810939658861895357096614826904672377530270910959237339630961600122762109741659179671379165605488670056747427195521661418156357992518033406601044885914675963132267191743621957740870131565200569814713941503376525665160558639143193925098588395597155080257670477129797124530700682326208118090805806565184069973068574441850966345354706260447908923069673295013426213294385861485283045526462538910735239460168488142702069095056571491196157747662650853217993014174291374613139589188363417133144936382540619731804232898205864880307208087840884848876477489295453300504999568595984028183835344409608947613554429811290658673416210997385846311057382995622227388628383002600925807935364764753805536473373042553523506494464273041118615605223474159050130879162551582336724424932137833056232399437260930621307664984546268959827054796391535053320424643046532913633160819503216272678658014010706235559062809831299809686238564680790862469449505263443747498977606156134542922058983751515164157048624030293978121341128177071253985686147852533802848547775086695679833627111462536654859577282475780846461565189536035166955634705171744938300758779944594645916609102224507570136382682628523270787623779589768607029522318485609540598020592940946392546384543280354584125916264777139172068918782670931067827455266383649518823913525239503517274250021483671296305694299466787403911632714464796411593102671583803660425009005339500056862810182600815001757735456392819092858686950678352253153456271742089833433030555766787058325010699947395021193671748759569098245507987499499130291494435775798740205225920307409292271104005670294370337410921036724331843314258158403913990805229275378559782413717928224042367417709599302966953490270238694661112359496953830498606784086438372332141905196621252608484903687514985520273710106772313187568996928678292720413797110285934416720410111115601235526412384798791063347220588956009736331231453902124956053151113367239913266090823848247117856982320160551433853975201313806565148854695076651889074976978199892903962068904016329525573490958346004760162715233725757803465309718186604184926868685525872993179978915754421084594607974740535017537734343543579643137591692664653905427908699436038065818151075562435695890155000609557516570170141099008287634733300449818188760610410712309733549085797495398813231519514139193077136152360715650093377121558543922877012926393674012695988637131930545948422722030271950551217705562608957920201803558894740225517435374934100595243786738844056747849807712873958505622744117603938633362313174420777198023964122480866427151095280237830022202126847305191925763944293750271166321136479408816411259706704707176798921240927206212979330109057027342875662697738866593403733239051077371447772514786787039513896399353047080330466797586473780207556952745462127653719377851265838514878004295243121869736481925289075648718207159851359469162601942518250494617918043717238852062671205512961102844180890636998724726401640761659927208881766930562262234984630179192439049148406276986493553948259214647576621498217749240555076085542414395891641401827725290139788395782142333684468030484773879148913868787934430232579 79221136326288413549090453617582214988603149380032775393045753873679347103737428810698791647263113706575282689198477135930652137291317188670030006057926509831856472550143054466006425134587034426949120010210832597783143689081004098970652114673282224426184172485773967049733965817226715156969648131835381010189470025770375559444559659305270898952170617343578663720139463438305206193729450577009951868047317341521679722886752217921827822705466305632297648679105292595306982225729633137305184703173136534319068330149229142960259210328722455601450057473003629441834416962669954405564521304502500726298911194393554191501157954017925309977598836623748100506311537547090223313424323313673085311409323919977212070953990949404412305207140907616619412378270976434206887105501661848469182736298770557698748104969475842500166345456724876246803841548685455561851856586967869889986216391448174596518073583228454703935275996041071738034755239225816281721293011288588359444337681021846829274952700086230836341401062887321604178406708278357480439226036171803414304571700770050264769130291420603534822495795966981715612394351588510056912232508637273573895372779156159436797233748213294951636931736322625278881149941049169682180025310119656903852664689348405476728233436921288688205034751242856813863451202798101231235894933014025474654357904163264189792879110990531247061528782494741231885291482973616690359904394443018958369073484128300703937149692838128916254439952768266768999800895221352172804608885628145520829329108509888656265795056847497582709463200002373315731960683089450281141672128908771066872542843950397795050900482861371828770525181267955544208230938560999841196913163882946371552828126583680248944964520944418180558701521838650855170095150234372062727397690674991347946365752214498420657007149585319909260780872426315558079608099072865828174703417406185318728278145026184310672633645641700732291542811057990742838365066341014265183949971790930431087121056345347741501667746148234688653065189269356885872908647581204650438736957716528711548574555583977239301969823515430537595181395319473570033411789209713074292228145962019286962544117035974563318921268241513986555088394502711032433789248734183877010959345104750102614262227563661010217640141350231316347211768763385670337883433049195056061300162041862964241528184097908283230852906666992480893473206747006312106694438401261591124362380788902882710265313013071263115504159140550179707220633782158597940373880726872858838789886163551228708805088540541574505134133745949431125107024728689987177439066224173647204385151471810845156172459609697201263898819372465925856032821983943945509201296896112993390414319772317613998628115011584901662481020736975231857679558573639533120123760882987807897148264001476729480741158503008405824181375825684426593602078107066384305742314153383784825815001170364503279303283157714730965700730790958163526085614077255893030881612578737162635171062435305862363661501175783671862584712802832632731639923317926092501167046294294878922434436385815597766578254085927198853219424480746368612964091254086956730350365974846418411767133289280026522101904776721397535481072023153960396155426365282526318432948840966649466716318812335304612541684202901596339076117983534399558629308180937552570931412127563964839611720473046765641026358839977096301838517860717992220124429055320994261412222457829626748188314831526678529121257451724121669436757611557692716596947663821034873517375372433749628434475153359120061495211777091719559441963916844642691242108239222713715540944215042751815205832903182816602051553000809853471087600226541940973229542173962641860015572714026730877762563780111880467244618055586935195897209646109126685288690235443479134420307287200865787784854857681194140932834097813623138157320433948668365280904196167520730495552269155400544459597418276177569668057444229387270850059959177577695113400939572251098823419194625556857107173746511343007800181920881221537624681494893301655822089723344553388000429323171176866004751029713971505534118999127107434111180853160547174861752751626348577776330731649967976997705926985766161797485058129299093471507452375539795559192778297669346728516427619455250496404870474371468200079265657822190324253008657280022070822577899305872108909461787244531453423119105988731060885667270673906364763727364896807710566881055215730830049911805272377486610061004335421869816885849669495243455855042551121024488255660795663819648501724149284790298092093372482653444084141453024908635847938874074697818854837695253972630804930011048531224322683145833842458520248412423153952435022528345724977763280584053398449746120516553508775326815255194777552247568789127161127121523667078092192754147983382483439483110519687390499526362703620317546913529048991244723833568395254652779389245457001074904459611968988017810125634688718594557512726477640828469923085023078927441553690015369298834217415908971293929662509893318732156287214572953717271547294454739080159480184708525419270198385219963884877884002278754278750609561959567609573219604469598655354749579234218685586373052244170384013165767049118076193618533398406013188209001235766656057471022713158458115640722513614902460046359982042188094125956149263515692514917141235851596188317125234698698143445430710086862519687007887491677593147363567434012996511611208264524292392041796094719104232814767772523351970722422038548274955882602506325735217927052884736197570933812826973727984393449854685360152304385913054039591824514239463064574006576447070168308785658334189143136583726277476279484040055265195370002967927103157598498988314064461158492527567235388273093138250126070907284091661168961258085026365164006756510037480113146444863049857410441189627990753392734989779344967229909893545831260919205642629882485159098157638129076046041748514665632636070142935578386099836275589388930926240584371164648614330272952273803821934246410548896732021483600216257876390203223583811752097414977367601275058587892151481717977645237081174997478084219478623660424162752880192868685884668880148643205675563808348487798702434249814028000489387319267434376798624197140709588473161705863149798376475260131435650698866424963700821352635427311875603754398568456694493029785421376982682568805861337391799580504924932794556653379358767208890415958085613545957157879585738485216752347809889677342570960091355021080407464763338564493970911651840304968787953757264726616132058769535451536129440982464344457257409571874631344070375729511782691987208945139373059377362044678441485767885356392625676743825088107696059578436822101089587320629680572375297507439230177389257372694401026822808373497528093968027287143301629103846534858625188325762033439196480397732997628503014649621121690269155702957775533169864904892182237683246347572084245365191125792238162832968930393778486311914591336488816372341376522067036860976397292954319050636670890190881862580303324718499511813664256650581668171314625522576463828792300817636790551747752178963893094026368249871063740051957677459820923123398315939696748427420043893707187931413132194983048121141633208572619318118682144503976902886475074725995927488015931697855547875567877957092844564972845868112467386799220810631963984802801245465491999492342994359330345557818309230549781190666893419855523650310406258181966733177334063917199888119119548767752141086258162376401893740900149055101692383716437730051535448970252369139807831334212981351808475128436325511506521306376541098272413318178788027577886741756988051386311777882287391881862854060744982292039961563494441320610172547471281354491811089427667941553096792539866778533112339401492150191478610168187813943366146939613944255787812295363788871264558245650366272976585990903261089635305905742282528531617124236257160918684087656849837574980709007634462794039027502516932254792552278738094881287976286091303833032328709898177754381747211550369182625253816956570895415702356703647970398979022104775855650022923491671389932150050238130342993219290079594357803961156906483525731193515143667409605342655206986539810441729034123792850051347539305704207486216981192413978602284363056867626486373038246244839413072201313630754273638937315123889266770682128882430762690059836369951715002691645372943891194536056518939393483536344089949823186946555884678988010580615983982479704610187475910957396703374352600973214429895438876454557725931764099504166221965567851477778524080688479039673549688608223453815640594482798578256595213089270083559888919481365699489637100462903261695502194644348626336709527606095941785695581152441637033674790821685888023791364256305622601762475611441750013106178994593770221066022071023423181155633034817805122802161398524935744545943741207082734764334825940768852393487409193252192043890560912706601726987758753067561041148319622385097614386639073680669427818858042442429654858229935977397707681836665668775740641201467318749912966028972169793293390466868251643453919856849649464322290493048735341721271287419107657917313905525324948586326718627816214107076707368817487170052506253995767034921526007809581573945253151822834749452099415021388971615151747053427766692853648240012116610723886125081342994287489545235725721142914067970761305543646806858970499351876132153368421770237795532592261530517822610356843765148217108907994757920134143467540976888459223968533993602900377353953544172817792180535262936919969492569469436153458748985127294759494223048694113803447594333559542494170015852179431982487558567762644873232582846206118354511361889465074082198622487687130683064905826980365281361526563926662405093323369953815510290733148417577099131665373904594606446101445456737906257234215611047930895015327467213852058204569126364764390657202470807122594170585907633466485519524155064808028487628723708474385722676764531471034749556194317090053532721523949569733293990221599435614437855978142064057941350647248869502882171365376482071435295878341415878631076359405882902371556731407341889179961545506866186248441345259419590661969374361882364592061478559916225955206538184816386679967482441838049310905079233609878397934734816175948993752695074814067593455911713281951234584719671148856291994006466814477367850543107690771346327489500529747440674930090756702297261679187551872345086063837394259531898709135941627900148238103139796982138624016618320937655921765263711024009874698746369080375567901724255684972797468157046157244471404374772222761078870327589465169246896223399414535889927524097257658342338819602157586456758679350724006766498955644886341578770464217114532766965311558328771842477936179644154648725549016964555717358267421129406002607793307439153514126492562540286438784812980066800677318313791389822961787325992391015069754823380173916313596635123798266301750265370600068685480969393442609603956119372421591853151722808583669735059915582753550715486399760012328047281867317279176872125198538864086215345171359356062618339888269196615849878341009901174366182431568400817312255199337667870427164058252046691141588462611695798445898455666744650148543174273924084039433899774435857949430043993897554400048319814689695862859159318872535204748251144962702162463499737891432877223121909129098344855891760814617089321319951062904551654895337306129805913025944180906927502044419375620970439904558408425976746524919577422744604678047700295341856552182095320586852500585625664834503585589269368741216930474755189870268950484900669276439820744731551861384605719817230677305424393562608012347282106616739326341508184942013244631726891106292405240644550509393873680228562272071533052382956340446417148097972501997474543615397475518262648869520545135690881661356943350133932565706608146399718351491507472986333577842853498178674984672051322972654996461950987550865292528553620054954224913858166192474882035352357899732655030712160385609277387607740567177899255072891211576698669315915614623365514450273883629476310746756716923977433973982778866537623583659452653953536594305635259113791810456916740095328527216763001938091607108120211956569098947525776967516508899548558888706022782856287399631190569717979133974265816248963278960898161685096058601377782895534213136701479149191550214315794162212015792405661422845597673653182274714618069931744594221634105470177540427769803623211699582705445596866405927037514309107234351370362467425928846073566742931409335261734131864994298347945260635001131311920283905394751792800521660850627916150640677023274911592637202999772417492767266475033477116987488225402321678196203896707838129488510806857661805566699304194033908269506749978952496681544507895148734468513239756888440769289103653460242590706209377481163424447150937201817016411428938761225411412620391654920682653706041198253530963973664372010391746854260916537511407841070178312591009192581586245994250160312207757539666759964652436749624695710006526932049227367011260245836155602924015442624367872349380151723114491536701108462789811468407784363983688570272618639641206165586158836058493189251526501711694316986861847410525231500364251300122350716668571836339732659545049424088047941506679023857361785213178069306989586118887798676812702536322297205577220215669860213928976137767561270063683142657573175784228191236008498180382859203465059664323543054771844757547132314130392776344494173588299702326738416717900532663451394215114634754233027407799698068426715198497878488914782118398612098302405748157704352559685379793070036590846251648673361720445850857158040299680815524702003811717351151130675016102049780631424453367454840976211353451658442534353695502030234100441279085017434696680873502985153330640183412929532516173899867364725712657697298871021769976008801576464527000641600740268937101666222895652566156284601337220279359261104594072445817458590580761247693556209444191579981147963874551394904047417056078912565880591658060975546392462311882416441222311791167990180680463988443570241217782392857011867069680884244666593050092653665365976989558026022470608210613618754008458873824007001387382830148126034290344824191155415782018993342382704401188799702402584222440549094763577598172796167234130544210531502303550183844221220741663302428474645529415233450782908000520186885350457480593709781632911073809060760282828755283843146949436685051247670110734191688391328421684820072278551527252247123400889675092676047061214900279455779580400780351440717718674778598620334958799748366441005751435862051719573393022638455265338173691749329829929778792927209252299363226699669304396453808682352906829063954982628241054392382727084233234617853880930580558610693644662670411726208797563897182971330720340719082906323101468841115426963546938445791225705353254787304946539733594898724141144239697760300827426052047546961517686499286157967359499839068369711093213559834093305661759832640340481518447830683201238037573073034923371654932505878872286450948560812402475945000187368127335451061374922239755912496374931537669807313507757327703393109679583412696113635024212973064274613866852932449186237465546438109670833043105716515186564273683749679196522660307441709803046192255881017538101925341711174906379489848946543183123073850704626033418160529505869092989263318726560205879718746710875014131947022384457383962499831547580471246712917216156469789553191725652376211491125995382650530239607253861346335167367006691659966028436923879658028234167339264725812588477235925297234946767436813208967088950289371556162445134041599336856405446555784427112197397096142354676371339318021852771023427520971147023370996712955808700964370952675608644549934107066115121542769188598526262118995492677970580930459374737773107457949272307186334991083320194701617060222448587218509668328671651886238926306221826871145721997295311452888663168600722995588557783323760647463273077854230440154213720457216737087525982652611465497495713509174157083705468833373013337016415301982765023565706273266008704617324972753192632117961594037665018004375853454904736629326885577001853263670959707179272526044720607302590542747596167329895801318010550294881949223256213411400071462361369097478818385742424692728771718912318234303492676110785585739857570888109161990160017692865060183371987768567018136294489362027824589233399076038416442405520151811644763440205702650680025924476610505028745688504247111678762224045221283096030107602175893024030459033747969960600443330998917435797697383440847520855882734028891054039283180622802306687316484472671191764170740047114602134544535641844189889350023046074789812124132332044995315682443311940131237405896121697516399290661444783920628389485361936617903271547246578586588213410236767354269988120357660566929203939444570114524798976752515218892046013824072470089741792712786458082533243339059588785186650352493604709184193892983514025539509616376413891859366013242240080250264810939658861895357096614826904672377530270910959237339630961600122762109741659179671379165605488670056747427195521661418156357992518033406601044885914675963132267191743621957740870131565200569814713941503376525665160558639143193925098588395597155080257670477129797124530700682326208118090805806565184069973068574441850966345354706260447908923069673295013426213294385861485283045526462538910735239460168488142702069095056571491196157747662650853217993014174291374613139589188363417133144936382540619731804232898205864880307208087840884848876477489295453300504999568595984028183835344409608947613554429811290658673416210997385846311057382995622227388628383002600925807935364764753805536473373042553523506494464273041118615605223474159050130879162551582336724424932137833056232399437260930621307664984546268959827054796391535053320424643046532913633160819503216272678658014010706235559062809831299809686238564680790862469449505263443747498977606156134542922058983751515164157048624030293978121341128177071253985686147852533802848547775086695679833627111462536654859577282475780846461565189536035166955634705171744938300758779944594645916609102224507570136382682628523270787623779589768607029522318485609540598020592940946392546384543280354584125916264777139172068918782670931067827455266383649518823913525239503517274250021483671296305694299466787403911632714464796411593102671583803660425009005339500056862810182600815001757735456392819092858686950678352253153456271742089833433030555766787058325010699947395021193671748759569098245507987499499130291494435775798740205225920307409292271104005670294370337410921036724331843314258158403913990805229275378559782413717928224042367417709599302966953490270238694661112359496953830498606784086438372332141905196621252608484903687514985520273710106772313187568996928678292720413797110285934416720410111115601235526412384798791063347220588956009736331231453902124956053151113367239913266090823848247117856982320160551433853975201313806565148854695076651889074976978199892903962068904016329525573490958346004760162715233725757803465309718186604184926868685525872993179978915754421084594607974740535017537734343543579643137591692664653905427908699436038065818151075562435695890155000609557516570170141099008287634733300449818188760610410712309733549085797495398813231519514139193077136152360715650093377121558543922877012926393674012695988637131930545948422722030271950551217705562608957920201803558894740225517435374934100595243786738844056747849807712873958505622744117603938633362313174420777198023964122480866427151095280237830022202126847305191925763944293750271166321136479408816411259706704707176798921240927206212979330109057027342875662697738866593403733239051077371447772514786787039513896399353047080330466797586473780207556952745462127653719377851265838514878004295243121869736481925289075648718207159851359469162601942518250494617918043717238852062671205512961102844180890636998724726401640761659927208881766930562262234984630179192439049148406276986493553948259214647576621498217749240555076085542414395891641401827725290139788395782142333684468030484773879148913868787934430232579 79221136326288413549090453617582214988603149380032775393045753873679347103737428810698791647263113706575282689198477135930652137291317188670030006057926509831856472550143054466006425134587034426949120010210832597783143689081004098970652114673282224426184172485773967049733965817226715156969648131835381010189470025770375559444559659305270898952170617343578663720139463438305206193729450577009951868047317341521679722886752217921827822705466305632297648679105292595306982225729633137305184703173136534319068330149229142960259210328722455601450057473003629441834416962669954405564521304502500726298911194393554191501157954017925309977598836623748100506311537547090223313424323313673085311409323919977212070953990949404412305207140907616619412378270976434206887105501661848469182736298770557698748104969475842500166345456724876246803841548685455561851856586967869889986216391448174596518073583228454703935275996041071738034755239225816281721293011288588359444337681021846829274952700086230836341401062887321604178406708278357480439226036171803414304571700770050264769130291420603534822495795966981715612394351588510056912232508637273573895372779156159436797233748213294951636931736322625278881149941049169682180025310119656903852664689348405476728233436921288688205034751242856813863451202798101231235894933014025474654357904163264189792879110990531247061528782494741231885291482973616690359904394443018958369073484128300703937149692838128916254439952768266768999800895221352172804608885628145520829329108509888656265795056847497582709463200002373315731960683089450281141672128908771066872542843950397795050900482861371828770525181267955544208230938560999841196913163882946371552828126583680248944964520944418180558701521838650855170095150234372062727397690674991347946365752214498420657007149585319909260780872426315558079608099072865828174703417406185318728278145026184310672633645641700732291542811057990742838365066341014265183949971790930431087121056345347741501667746148234688653065189269356885872908647581204650438736957716528711548574555583977239301969823515430537595181395319473570033411789209713074292228145962019286962544117035974563318921268241513986555088394502711032433789248734183877010959345104750102614262227563661010217640141350231316347211768763385670337883433049195056061300162041862964241528184097908283230852906666992480893473206747006312106694438401261591124362380788902882710265313013071263115504159140550179707220633782158597940373880726872858838789886163551228708805088540541574505134133745949431125107024728689987177439066224173647204385151471810845156172459609697201263898819372465925856032821983943945509201296896112993390414319772317613998628115011584901662481020736975231857679558573639533120123760882987807897148264001476729480741158503008405824181375825684426593602078107066384305742314153383784825815001170364503279303283157714730965700730790958163526085614077255893030881612578737162635171062435305862363661501175783671862584712802832632731639923317926092501167046294294878922434436385815597766578254085927198853219424480746368612964091254086956730350365974846418411767133289280026522101904776721397535481072023153960396155426365282526318432948840966649466716318812335304612541684202901596339076117983534399558629308180937552570931412127563964839611720473046765641026358839977096301838517860717992220124429055320994261412222457829626748188314831526678529121257451724121669436757611557692716596947663821034873517375372433749628434475153359120061495211777091719559441963916844642691242108239222713715540944215042751815205832903182816602051553000809853471087600226541940973229542173962641860015572714026730877762563780111880467244618055586935195897209646109126685288690235443479134420307287200865787784854857681194140932834097813623138157320433948668365280904196167520730495552269155400544459597418276177569668057444229387270850059959177577695113400939572251098823419194625556857107173746511343007800181920881221537624681494893301655822089723344553388000429323171176866004751029713971505534118999127107434111180853160547174861752751626348577776330731649967976997705926985766161797485058129299093471507452375539795559192778297669346728516427619455250496404870474371468200079265657822190324253008657280022070822577899305872108909461787244531453423119105988731060885667270673906364763727364896807710566881055215730830049911805272377486610061004335421869816885849669495243455855042551121024488255660795663819648501724149284790298092093372482653444084141453024908635847938874074697818854837695253972630804930011048531224322683145833842458520248412423153952435022528345724977763280584053398449746120516553508775326815255194777552247568789127161127121523667078092192754147983382483439483110519687390499526362703620317546913529048991244723833568395254652779389245457001074904459611968988017810125634688718594557512726477640828469923085023078927441553690015369298834217415908971293929662509893318732156287214572953717271547294454739080159480184708525419270198385219963884877884002278754278750609561959567609573219604469598655354749579234218685586373052244170384013165767049118076193618533398406013188209001235766656057471022713158458115640722513614902460046359982042188094125956149263515692514917141235851596188317125234698698143445430710086862519687007887491677593147363567434012996511611208264524292392041796094719104232814767772523351970722422038548274955882602506325735217927052884736197570933812826973727984393449854685360152304385913054039591824514239463064574006576447070168308785658334189143136583726277476279484040055265195370002967927103157598498988314064461158492527567235388273093138250126070907284091661168961258085026365164006756510037480113146444863049857410441189627990753392734989779344967229909893545831260919205642629882485159098157638129076046041748514665632636070142935578386099836275589388930926240584371164648614330272952273803821934246410548896732021483600216257876390203223583811752097414977367601275058587892151481717977645237081174997478084219478623660424162752880192868685884668880148643205675563808348487798702434249814028000489387319267434376798624197140709588473161705863149798376475260131435650698866424963700821352635427311875603754398568456694493029785421376982682568805861337391799580504924932794556653379358767208890415958085613545957157879585738485216752347809889677342570960091355021080407464763338564493970911651840304968787953757264726616132058769535451536129440982464344457257409571874631344070375729511782691987208945139373059377362044678441485767885356392625676743825088107696059578436822101089587320629680572375297507439230177389257372694401026822808373497528093968027287143301629103846534858625188325762033439196480397732997628503014649621121690269155702957775533169864904892182237683246347572084245365191125792238162832968930393778486311914591336488816372341376522067036860976397292954319050636670890190881862580303324718499511813664256650581668171314625522576463828792300817636790551747752178963893094026368249871063740051957677459820923123398315939696748427420043893707187931413132194983048121141633208572619318118682144503976902886475074725995927488015931697855547875567877957092844564972845868112467386799220810631963984802801245465491999492342994359330345557818309230549781190666893419855523650310406258181966733177334063917199888119119548767752141086258162376401893740900149055101692383716437730051535448970252369139807831334212981351808475128436325511506521306376541098272413318178788027577886741756988051386311777882287391881862854060744982292039961563494441320610172547471281354491811089427667941553096792539866778533112339401492150191478610168187813943366146939613944255787812295363788871264558245650366272976585990903261089635305905742282528531617124236257160918684087656849837574980709007634462794039027502516932254792552278738094881287976286091303833032328709898177754381747211550369182625253816956570895415702356703647970398979022104775855650022923491671389932150050238130342993219290079594357803961156906483525731193515143667409605342655206986539810441729034123792850051347539305704207486216981192413978602284363056867626486373038246244839413072201313630754273638937315123889266770682128882430762690059836369951715002691645372943891194536056518939393483536344089949823186946555884678988010580615983982479704610187475910957396703374352600973214429895438876454557725931764099504166221965567851477778524080688479039673549688608223453815640594482798578256595213089270083559888919481365699489637100462903261695502194644348626336709527606095941785695581152441637033674790821685888023791364256305622601762475611441750013106178994593770221066022071023423181155633034817805122802161398524935744545943741207082734764334825940768852393487409193252192043890560912706601726987758753067561041148319622385097614386639073680669427818858042442429654858229935977397707681836665668775740641201467318749912966028972169793293390466868251643453919856849649464322290493048735341721271287419107657917313905525324948586326718627816214107076707368817487170052506253995767034921526007809581573945253151822834749452099415021388971615151747053427766692853648240012116610723886125081342994287489545235725721142914067970761305543646806858970499351876132153368421770237795532592261530517822610356843765148217108907994757920134143467540976888459223968533993602900377353953544172817792180535262936919969492569469436153458748985127294759494223048694113803447594333559542494170015852179431982487558567762644873232582846206118354511361889465074082198622487687130683064905826980365281361526563926662405093323369953815510290733148417577099131665373904594606446101445456737906257234215611047930895015327467213852058204569126364764390657202470807122594170585907633466485519524155064808028487628723708474385722676764531471034749556194317090053532721523949569733293990221599435614437855978142064057941350647248869502882171365376482071435295878341415878631076359405882902371556731407341889179961545506866186248441345259419590661969374361882364592061478559916225955206538184816386679967482441838049310905079233609878397934734816175948993752695074814067593455911713281951234584719671148856291994006466814477367850543107690771346327489500529747440674930090756702297261679187551872345086063837394259531898709135941627900148238103139796982138624016618320937655921765263711024009874698746369080375567901724255684972797468157046157244471404374772222761078870327589465169246896223399414535889927524097257658342338819602157586456758679350724006766498955644886341578770464217114532766965311558328771842477936179644154648725549016964555717358267421129406002607793307439153514126492562540286438784812980066800677318313791389822961787325992391015069754823380173916313596635123798266301750265370600068685480969393442609603956119372421591853151722808583669735059915582753550715486399760012328047281867317279176872125198538864086215345171359356062618339888269196615849878341009901174366182431568400817312255199337667870427164058252046691141588462611695798445898455666744650148543174273924084039433899774435857949430043993897554400048319814689695862859159318872535204748251144962702162463499737891432877223121909129098344855891760814617089321319951062904551654895337306129805913025944180906927502044419375620970439904558408425976746524919577422744604678047700295341856552182095320586852500585625664834503585589269368741216930474755189870268950484900669276439820744731551861384605719817230677305424393562608012347282106616739326341508184942013244631726891106292405240644550509393873680228562272071533052382956340446417148097972501997474543615397475518262648869520545135690881661356943350133932565706608146399718351491507472986333577842853498178674984672051322972654996461950987550865292528553620054954224913858166192474882035352357899732655030712160385609277387607740567177899255072891211576698669315915614623365514450273883629476310746756716923977433973982778866537623583659452653953536594305635259113791810456916740095328527216763001938091607108120211956569098947525776967516508899548558888706022782856287399631190569717979133974265816248963278960898161685096058601377782895534213136701479149191550214315794162212015792405661422845597673653182274714618069931744594221634105470177540427769803623211699582705445596866405927037514309107234351370362467425928846073566742931409335261734131864994298347945260635001131311920283905394751792800521660850627916150640677023274911592637202999772417492767266475033477116987488225402321678196203896707838129488510806857661805566699304194033908269506749978952496681544507895148734468513239756888440769289103653460242590706209377481163424447150937201817016411428938761225411412620391654920682653706041198253530963973664372010391746854260916537511407841070178312591009192581586245994250160312207757539666759964652436749624695710006526932049227367011260245836155602924015442624367872349380151723114491536701108462789811468407784363983688570272618639641206165586158836058493189251526501711694316986861847410525231500364251300122350716668571836339732659545049424088047941506679023857361785213178069306989586118887798676812702536322297205577220215669860213928976137767561270063683142657573175784228191236008498180382859203465059664323543054771844757547132314130392776344494173588299702326738416717900532663451394215114634754233027407799698068426715198497878488914782118398612098302405748157704352559685379793070036590846251648673361720445850857158040299680815524702003811717351151130675016102049780631424453367454840976211353451658442534353695502030234100441279085017434696680873502985153330640183412929532516173899867364725712657697298871021769976008801576464527000641600740268937101666222895652566156284601337220279359261104594072445817458590580761247693556209444191579981147963874551394904047417056078912565880591658060975546392462311882416441222311791167990180680463988443570241217782392857011867069680884244666593050092653665365976989558026022470608210613618754008458873824007001387382830148126034290344824191155415782018993342382704401188799702402584222440549094763577598172796167234130544210531502303550183844221220741663302428474645529415233450782908000520186885350457480593709781632911073809060760282828755283843146949436685051247670110734191688391328421684820072278551527252247123400889675092676047061214900279455779580400780351440717718674778598620334958799748366441005751435862051719573393022638455265338173691749329829929778792927209252299363226699669304396453808682352906829063954982628241054392382727084233234617853880930580558610693644662670411726208797563897182971330720340719082906323101468841115426963546938445791225705353254787304946539733594898724141144239697760300827426052047546961517686499286157967359499839068369711093213559834093305661759832640340481518447830683201238037573073034923371654932505878872286450948560812402475945000187368127335451061374922239755912496374931537669807313507757327703393109679583412696113635024212973064274613866852932449186237465546438109670833043105716515186564273683749679196522660307441709803046192255881017538101925341711174906379489848946543183123073850704626033418160529505869092989263318726560205879718746710875014131947022384457383962499831547580471246712917216156469789553191725652376211491125995382650530239607253861346335167367006691659966028436923879658028234167339264725812588477235925297234946767436813208967088950289371556162445134041599336856405446555784427112197397096142354676371339318021852771023427520971147023370996712955808700964370952675608644549934107066115121542769188598526262118995492677970580930459374737773107457949272307186334991083320194701617060222448587218509668328671651886238926306221826871145721997295311452888663168600722995588557783323760647463273077854230440154213720457216737087525982652611465497495713509174157083705468833373013337016415301982765023565706273266008704617324972753192632117961594037665018004375853454904736629326885577001853263670959707179272526044720607302590542747596167329895801318010550294881949223256213411400071462361369097478818385742424692728771718912318234303492676110785585739857570888109161990160017692865060183371987768567018136294489362027824589233399076038416442405520151811644763440205702650680025924476610505028745688504247111678762224045221283096030107602175893024030459033747969960600443330998917435797697383440847520855882734028891054039283180622802306687316484472671191764170740047114602134544535641844189889350023046074789812124132332044995315682443311940131237405896121697516399290661444783920628389485361936617903271547246578586588213410236767354269988120357660566929203939444570114524798976752515218892046013824072470089741792712786458082533243339059588785186650352493604709184193892983514025539509616376413891859366013242240080250264810939658861895357096614826904672377530270910959237339630961600122762109741659179671379165605488670056747427195521661418156357992518033406601044885914675963132267191743621957740870131565200569814713941503376525665160558639143193925098588395597155080257670477129797124530700682326208118090805806565184069973068574441850966345354706260447908923069673295013426213294385861485283045526462538910735239460168488142702069095056571491196157747662650853217993014174291374613139589188363417133144936382540619731804232898205864880307208087840884848876477489295453300504999568595984028183835344409608947613554429811290658673416210997385846311057382995622227388628383002600925807935364764753805536473373042553523506494464273041118615605223474159050130879162551582336724424932137833056232399437260930621307664984546268959827054796391535053320424643046532913633160819503216272678658014010706235559062809831299809686238564680790862469449505263443747498977606156134542922058983751515164157048624030293978121341128177071253985686147852533802848547775086695679833627111462536654859577282475780846461565189536035166955634705171744938300758779944594645916609102224507570136382682628523270787623779589768607029522318485609540598020592940946392546384543280354584125916264777139172068918782670931067827455266383649518823913525239503517274250021483671296305694299466787403911632714464796411593102671583803660425009005339500056862810182600815001757735456392819092858686950678352253153456271742089833433030555766787058325010699947395021193671748759569098245507987499499130291494435775798740205225920307409292271104005670294370337410921036724331843314258158403913990805229275378559782413717928224042367417709599302966953490270238694661112359496953830498606784086438372332141905196621252608484903687514985520273710106772313187568996928678292720413797110285934416720410111115601235526412384798791063347220588956009736331231453902124956053151113367239913266090823848247117856982320160551433853975201313806565148854695076651889074976978199892903962068904016329525573490958346004760162715233725757803465309718186604184926868685525872993179978915754421084594607974740535017537734343543579643137591692664653905427908699436038065818151075562435695890155000609557516570170141099008287634733300449818188760610410712309733549085797495398813231519514139193077136152360715650093377121558543922877012926393674012695988637131930545948422722030271950551217705562608957920201803558894740225517435374934100595243786738844056747849807712873958505622744117603938633362313174420777198023964122480866427151095280237830022202126847305191925763944293750271166321136479408816411259706704707176798921240927206212979330109057027342875662697738866593403733239051077371447772514786787039513896399353047080330466797586473780207556952745462127653719377851265838514878004295243121869736481925289075648718207159851359469162601942518250494617918043717238852062671205512961102844180890636998724726401640761659927208881766930562262234984630179192439049148406276986493553948259214647576621498217749240555076085542414395891641401827725290139788395782142333684468030484773879148913868787934430232579 79221136326288413549090453617582214988603149380032775393045753873679347103737428810698791647263113706575282689198477135930652137291317188670030006057926509831856472550143054466006425134587034426949120010210832597783143689081004098970652114673282224426184172485773967049733965817226715156969648131835381010189470025770375559444559659305270898952170617343578663720139463438305206193729450577009951868047317341521679722886752217921827822705466305632297648679105292595306982225729633137305184703173136534319068330149229142960259210328722455601450057473003629441834416962669954405564521304502500726298911194393554191501157954017925309977598836623748100506311537547090223313424323313673085311409323919977212070953990949404412305207140907616619412378270976434206887105501661848469182736298770557698748104969475842500166345456724876246803841548685455561851856586967869889986216391448174596518073583228454703935275996041071738034755239225816281721293011288588359444337681021846829274952700086230836341401062887321604178406708278357480439226036171803414304571700770050264769130291420603534822495795966981715612394351588510056912232508637273573895372779156159436797233748213294951636931736322625278881149941049169682180025310119656903852664689348405476728233436921288688205034751242856813863451202798101231235894933014025474654357904163264189792879110990531247061528782494741231885291482973616690359904394443018958369073484128300703937149692838128916254439952768266768999800895221352172804608885628145520829329108509888656265795056847497582709463200002373315731960683089450281141672128908771066872542843950397795050900482861371828770525181267955544208230938560999841196913163882946371552828126583680248944964520944418180558701521838650855170095150234372062727397690674991347946365752214498420657007149585319909260780872426315558079608099072865828174703417406185318728278145026184310672633645641700732291542811057990742838365066341014265183949971790930431087121056345347741501667746148234688653065189269356885872908647581204650438736957716528711548574555583977239301969823515430537595181395319473570033411789209713074292228145962019286962544117035974563318921268241513986555088394502711032433789248734183877010959345104750102614262227563661010217640141350231316347211768763385670337883433049195056061300162041862964241528184097908283230852906666992480893473206747006312106694438401261591124362380788902882710265313013071263115504159140550179707220633782158597940373880726872858838789886163551228708805088540541574505134133745949431125107024728689987177439066224173647204385151471810845156172459609697201263898819372465925856032821983943945509201296896112993390414319772317613998628115011584901662481020736975231857679558573639533120123760882987807897148264001476729480741158503008405824181375825684426593602078107066384305742314153383784825815001170364503279303283157714730965700730790958163526085614077255893030881612578737162635171062435305862363661501175783671862584712802832632731639923317926092501167046294294878922434436385815597766578254085927198853219424480746368612964091254086956730350365974846418411767133289280026522101904776721397535481072023153960396155426365282526318432948840966649466716318812335304612541684202901596339076117983534399558629308180937552570931412127563964839611720473046765641026358839977096301838517860717992220124429055320994261412222457829626748188314831526678529121257451724121669436757611557692716596947663821034873517375372433749628434475153359120061495211777091719559441963916844642691242108239222713715540944215042751815205832903182816602051553000809853471087600226541940973229542173962641860015572714026730877762563780111880467244618055586935195897209646109126685288690235443479134420307287200865787784854857681194140932834097813623138157320433948668365280904196167520730495552269155400544459597418276177569668057444229387270850059959177577695113400939572251098823419194625556857107173746511343007800181920881221537624681494893301655822089723344553388000429323171176866004751029713971505534118999127107434111180853160547174861752751626348577776330731649967976997705926985766161797485058129299093471507452375539795559192778297669346728516427619455250496404870474371468200079265657822190324253008657280022070822577899305872108909461787244531453423119105988731060885667270673906364763727364896807710566881055215730830049911805272377486610061004335421869816885849669495243455855042551121024488255660795663819648501724149284790298092093372482653444084141453024908635847938874074697818854837695253972630804930011048531224322683145833842458520248412423153952435022528345724977763280584053398449746120516553508775326815255194777552247568789127161127121523667078092192754147983382483439483110519687390499526362703620317546913529048991244723833568395254652779389245457001074904459611968988017810125634688718594557512726477640828469923085023078927441553690015369298834217415908971293929662509893318732156287214572953717271547294454739080159480184708525419270198385219963884877884002278754278750609561959567609573219604469598655354749579234218685586373052244170384013165767049118076193618533398406013188209001235766656057471022713158458115640722513614902460046359982042188094125956149263515692514917141235851596188317125234698698143445430710086862519687007887491677593147363567434012996511611208264524292392041796094719104232814767772523351970722422038548274955882602506325735217927052884736197570933812826973727984393449854685360152304385913054039591824514239463064574006576447070168308785658334189143136583726277476279484040055265195370002967927103157598498988314064461158492527567235388273093138250126070907284091661168961258085026365164006756510037480113146444863049857410441189627990753392734989779344967229909893545831260919205642629882485159098157638129076046041748514665632636070142935578386099836275589388930926240584371164648614330272952273803821934246410548896732021483600216257876390203223583811752097414977367601275058587892151481717977645237081174997478084219478623660424162752880192868685884668880148643205675563808348487798702434249814028000489387319267434376798624197140709588473161705863149798376475260131435650698866424963700821352635427311875603754398568456694493029785421376982682568805861337391799580504924932794556653379358767208890415958085613545957157879585738485216752347809889677342570960091355021080407464763338564493970911651840304968787953757264726616132058769535451536129440982464344457257409571874631344070375729511782691987208945139373059377362044678441485767885356392625676743825088107696059578436822101089587320629680572375297507439230177389257372694401026822808373497528093968027287143301629103846534858625188325762033439196480397732997628503014649621121690269155702957775533169864904892182237683246347572084245365191125792238162832968930393778486311914591336488816372341376522067036860976397292954319050636670890190881862580303324718499511813664256650581668171314625522576463828792300817636790551747752178963893094026368249871063740051957677459820923123398315939696748427420043893707187931413132194983048121141633208572619318118682144503976902886475074725995927488015931697855547875567877957092844564972845868112467386799220810631963984802801245465491999492342994359330345557818309230549781190666893419855523650310406258181966733177334063917199888119119548767752141086258162376401893740900149055101692383716437730051535448970252369139807831334212981351808475128436325511506521306376541098272413318178788027577886741756988051386311777882287391881862854060744982292039961563494441320610172547471281354491811089427667941553096792539866778533112339401492150191478610168187813943366146939613944255787812295363788871264558245650366272976585990903261089635305905742282528531617124236257160918684087656849837574980709007634462794039027502516932254792552278738094881287976286091303833032328709898177754381747211550369182625253816956570895415702356703647970398979022104775855650022923491671389932150050238130342993219290079594357803961156906483525731193515143667409605342655206986539810441729034123792850051347539305704207486216981192413978602284363056867626486373038246244839413072201313630754273638937315123889266770682128882430762690059836369951715002691645372943891194536056518939393483536344089949823186946555884678988010580615983982479704610187475910957396703374352600973214429895438876454557725931764099504166221965567851477778524080688479039673549688608223453815640594482798578256595213089270083559888919481365699489637100462903261695502194644348626336709527606095941785695581152441637033674790821685888023791364256305622601762475611441750013106178994593770221066022071023423181155633034817805122802161398524935744545943741207082734764334825940768852393487409193252192043890560912706601726987758753067561041148319622385097614386639073680669427818858042442429654858229935977397707681836665668775740641201467318749912966028972169793293390466868251643453919856849649464322290493048735341721271287419107657917313905525324948586326718627816214107076707368817487170052506253995767034921526007809581573945253151822834749452099415021388971615151747053427766692853648240012116610723886125081342994287489545235725721142914067970761305543646806858970499351876132153368421770237795532592261530517822610356843765148217108907994757920134143467540976888459223968533993602900377353953544172817792180535262936919969492569469436153458748985127294759494223048694113803447594333559542494170015852179431982487558567762644873232582846206118354511361889465074082198622487687130683064905826980365281361526563926662405093323369953815510290733148417577099131665373904594606446101445456737906257234215611047930895015327467213852058204569126364764390657202470807122594170585907633466485519524155064808028487628723708474385722676764531471034749556194317090053532721523949569733293990221599435614437855978142064057941350647248869502882171365376482071435295878341415878631076359405882902371556731407341889179961545506866186248441345259419590661969374361882364592061478559916225955206538184816386679967482441838049310905079233609878397934734816175948993752695074814067593455911713281951234584719671148856291994006466814477367850543107690771346327489500529747440674930090756702297261679187551872345086063837394259531898709135941627900148238103139796982138624016618320937655921765263711024009874698746369080375567901724255684972797468157046157244471404374772222761078870327589465169246896223399414535889927524097257658342338819602157586456758679350724006766498955644886341578770464217114532766965311558328771842477936179644154648725549016964555717358267421129406002607793307439153514126492562540286438784812980066800677318313791389822961787325992391015069754823380173916313596635123798266301750265370600068685480969393442609603956119372421591853151722808583669735059915582753550715486399760012328047281867317279176872125198538864086215345171359356062618339888269196615849878341009901174366182431568400817312255199337667870427164058252046691141588462611695798445898455666744650148543174273924084039433899774435857949430043993897554400048319814689695862859159318872535204748251144962702162463499737891432877223121909129098344855891760814617089321319951062904551654895337306129805913025944180906927502044419375620970439904558408425976746524919577422744604678047700295341856552182095320586852500585625664834503585589269368741216930474755189870268950484900669276439820744731551861384605719817230677305424393562608012347282106616739326341508184942013244631726891106292405240644550509393873680228562272071533052382956340446417148097972501997474543615397475518262648869520545135690881661356943350133932565706608146399718351491507472986333577842853498178674984672051322972654996461950987550865292528553620054954224913858166192474882035352357899732655030712160385609277387607740567177899255072891211576698669315915614623365514450273883629476310746756716923977433973982778866537623583659452653953536594305635259113791810456916740095328527216763001938091607108120211956569098947525776967516508899548558888706022782856287399631190569717979133974265816248963278960898161685096058601377782895534213136701479149191550214315794162212015792405661422845597673653182274714618069931744594221634105470177540427769803623211699582705445596866405927037514309107234351370362467425928846073566742931409335261734131864994298347945260635001131311920283905394751792800521660850627916150640677023274911592637202999772417492767266475033477116987488225402321678196203896707838129488510806857661805566699304194033908269506749978952496681544507895148734468513239756888440769289103653460242590706209377481163424447150937201817016411428938761225411412620391654920682653706041198253530963973664372010391746854260916537511407841070178312591009192581586245994250160312207757539666759964652436749624695710006526932049227367011260245836155602924015442624367872349380151723114491536701108462789811468407784363983688570272618639641206165586158836058493189251526501711694316986861847410525231500364251300122350716668571836339732659545049424088047941506679023857361785213178069306989586118887798676812702536322297205577220215669860213928976137767561270063683142657573175784228191236008498180382859203465059664323543054771844757547132314130392776344494173588299702326738416717900532663451394215114634754233027407799698068426715198497878488914782118398612098302405748157704352559685379793070036590846251648673361720445850857158040299680815524702003811717351151130675016102049780631424453367454840976211353451658442534353695502030234100441279085017434696680873502985153330640183412929532516173899867364725712657697298871021769976008801576464527000641600740268937101666222895652566156284601337220279359261104594072445817458590580761247693556209444191579981147963874551394904047417056078912565880591658060975546392462311882416441222311791167990180680463988443570241217782392857011867069680884244666593050092653665365976989558026022470608210613618754008458873824007001387382830148126034290344824191155415782018993342382704401188799702402584222440549094763577598172796167234130544210531502303550183844221220741663302428474645529415233450782908000520186885350457480593709781632911073809060760282828755283843146949436685051247670110734191688391328421684820072278551527252247123400889675092676047061214900279455779580400780351440717718674778598620334958799748366441005751435862051719573393022638455265338173691749329829929778792927209252299363226699669304396453808682352906829063954982628241054392382727084233234617853880930580558610693644662670411726208797563897182971330720340719082906323101468841115426963546938445791225705353254787304946539733594898724141144239697760300827426052047546961517686499286157967359499839068369711093213559834093305661759832640340481518447830683201238037573073034923371654932505878872286450948560812402475945000187368127335451061374922239755912496374931537669807313507757327703393109679583412696113635024212973064274613866852932449186237465546438109670833043105716515186564273683749679196522660307441709803046192255881017538101925341711174906379489848946543183123073850704626033418160529505869092989263318726560205879718746710875014131947022384457383962499831547580471246712917216156469789553191725652376211491125995382650530239607253861346335167367006691659966028436923879658028234167339264725812588477235925297234946767436813208967088950289371556162445134041599336856405446555784427112197397096142354676371339318021852771023427520971147023370996712955808700964370952675608644549934107066115121542769188598526262118995492677970580930459374737773107457949272307186334991083320194701617060222448587218509668328671651886238926306221826871145721997295311452888663168600722995588557783323760647463273077854230440154213720457216737087525982652611465497495713509174157083705468833373013337016415301982765023565706273266008704617324972753192632117961594037665018004375853454904736629326885577001853263670959707179272526044720607302590542747596167329895801318010550294881949223256213411400071462361369097478818385742424692728771718912318234303492676110785585739857570888109161990160017692865060183371987768567018136294489362027824589233399076038416442405520151811644763440205702650680025924476610505028745688504247111678762224045221283096030107602175893024030459033747969960600443330998917435797697383440847520855882734028891054039283180622802306687316484472671191764170740047114602134544535641844189889350023046074789812124132332044995315682443311940131237405896121697516399290661444783920628389485361936617903271547246578586588213410236767354269988120357660566929203939444570114524798976752515218892046013824072470089741792712786458082533243339059588785186650352493604709184193892983514025539509616376413891859366013242240080250264810939658861895357096614826904672377530270910959237339630961600122762109741659179671379165605488670056747427195521661418156357992518033406601044885914675963132267191743621957740870131565200569814713941503376525665160558639143193925098588395597155080257670477129797124530700682326208118090805806565184069973068574441850966345354706260447908923069673295013426213294385861485283045526462538910735239460168488142702069095056571491196157747662650853217993014174291374613139589188363417133144936382540619731804232898205864880307208087840884848876477489295453300504999568595984028183835344409608947613554429811290658673416210997385846311057382995622227388628383002600925807935364764753805536473373042553523506494464273041118615605223474159050130879162551582336724424932137833056232399437260930621307664984546268959827054796391535053320424643046532913633160819503216272678658014010706235559062809831299809686238564680790862469449505263443747498977606156134542922058983751515164157048624030293978121341128177071253985686147852533802848547775086695679833627111462536654859577282475780846461565189536035166955634705171744938300758779944594645916609102224507570136382682628523270787623779589768607029522318485609540598020592940946392546384543280354584125916264777139172068918782670931067827455266383649518823913525239503517274250021483671296305694299466787403911632714464796411593102671583803660425009005339500056862810182600815001757735456392819092858686950678352253153456271742089833433030555766787058325010699947395021193671748759569098245507987499499130291494435775798740205225920307409292271104005670294370337410921036724331843314258158403913990805229275378559782413717928224042367417709599302966953490270238694661112359496953830498606784086438372332141905196621252608484903687514985520273710106772313187568996928678292720413797110285934416720410111115601235526412384798791063347220588956009736331231453902124956053151113367239913266090823848247117856982320160551433853975201313806565148854695076651889074976978199892903962068904016329525573490958346004760162715233725757803465309718186604184926868685525872993179978915754421084594607974740535017537734343543579643137591692664653905427908699436038065818151075562435695890155000609557516570170141099008287634733300449818188760610410712309733549085797495398813231519514139193077136152360715650093377121558543922877012926393674012695988637131930545948422722030271950551217705562608957920201803558894740225517435374934100595243786738844056747849807712873958505622744117603938633362313174420777198023964122480866427151095280237830022202126847305191925763944293750271166321136479408816411259706704707176798921240927206212979330109057027342875662697738866593403733239051077371447772514786787039513896399353047080330466797586473780207556952745462127653719377851265838514878004295243121869736481925289075648718207159851359469162601942518250494617918043717238852062671205512961102844180890636998724726401640761659927208881766930562262234984630179192439049148406276986493553948259214647576621498217749240555076085542414395891641401827725290139788395782142333684468030484773879148913868787934430232579 79221136326288413549090453617582214988603149380032775393045753873679347103737428810698791647263113706575282689198477135930652137291317188670030006057926509831856472550143054466006425134587034426949120010210832597783143689081004098970652114673282224426184172485773967049733965817226715156969648131835381010189470025770375559444559659305270898952170617343578663720139463438305206193729450577009951868047317341521679722886752217921827822705466305632297648679105292595306982225729633137305184703173136534319068330149229142960259210328722455601450057473003629441834416962669954405564521304502500726298911194393554191501157954017925309977598836623748100506311537547090223313424323313673085311409323919977212070953990949404412305207140907616619412378270976434206887105501661848469182736298770557698748104969475842500166345456724876246803841548685455561851856586967869889986216391448174596518073583228454703935275996041071738034755239225816281721293011288588359444337681021846829274952700086230836341401062887321604178406708278357480439226036171803414304571700770050264769130291420603534822495795966981715612394351588510056912232508637273573895372779156159436797233748213294951636931736322625278881149941049169682180025310119656903852664689348405476728233436921288688205034751242856813863451202798101231235894933014025474654357904163264189792879110990531247061528782494741231885291482973616690359904394443018958369073484128300703937149692838128916254439952768266768999800895221352172804608885628145520829329108509888656265795056847497582709463200002373315731960683089450281141672128908771066872542843950397795050900482861371828770525181267955544208230938560999841196913163882946371552828126583680248944964520944418180558701521838650855170095150234372062727397690674991347946365752214498420657007149585319909260780872426315558079608099072865828174703417406185318728278145026184310672633645641700732291542811057990742838365066341014265183949971790930431087121056345347741501667746148234688653065189269356885872908647581204650438736957716528711548574555583977239301969823515430537595181395319473570033411789209713074292228145962019286962544117035974563318921268241513986555088394502711032433789248734183877010959345104750102614262227563661010217640141350231316347211768763385670337883433049195056061300162041862964241528184097908283230852906666992480893473206747006312106694438401261591124362380788902882710265313013071263115504159140550179707220633782158597940373880726872858838789886163551228708805088540541574505134133745949431125107024728689987177439066224173647204385151471810845156172459609697201263898819372465925856032821983943945509201296896112993390414319772317613998628115011584901662481020736975231857679558573639533120123760882987807897148264001476729480741158503008405824181375825684426593602078107066384305742314153383784825815001170364503279303283157714730965700730790958163526085614077255893030881612578737162635171062435305862363661501175783671862584712802832632731639923317926092501167046294294878922434436385815597766578254085927198853219424480746368612964091254086956730350365974846418411767133289280026522101904776721397535481072023153960396155426365282526318432948840966649466716318812335304612541684202901596339076117983534399558629308180937552570931412127563964839611720473046765641026358839977096301838517860717992220124429055320994261412222457829626748188314831526678529121257451724121669436757611557692716596947663821034873517375372433749628434475153359120061495211777091719559441963916844642691242108239222713715540944215042751815205832903182816602051553000809853471087600226541940973229542173962641860015572714026730877762563780111880467244618055586935195897209646109126685288690235443479134420307287200865787784854857681194140932834097813623138157320433948668365280904196167520730495552269155400544459597418276177569668057444229387270850059959177577695113400939572251098823419194625556857107173746511343007800181920881221537624681494893301655822089723344553388000429323171176866004751029713971505534118999127107434111180853160547174861752751626348577776330731649967976997705926985766161797485058129299093471507452375539795559192778297669346728516427619455250496404870474371468200079265657822190324253008657280022070822577899305872108909461787244531453423119105988731060885667270673906364763727364896807710566881055215730830049911805272377486610061004335421869816885849669495243455855042551121024488255660795663819648501724149284790298092093372482653444084141453024908635847938874074697818854837695253972630804930011048531224322683145833842458520248412423153952435022528345724977763280584053398449746120516553508775326815255194777552247568789127161127121523667078092192754147983382483439483110519687390499526362703620317546913529048991244723833568395254652779389245457001074904459611968988017810125634688718594557512726477640828469923085023078927441553690015369298834217415908971293929662509893318732156287214572953717271547294454739080159480184708525419270198385219963884877884002278754278750609561959567609573219604469598655354749579234218685586373052244170384013165767049118076193618533398406013188209001235766656057471022713158458115640722513614902460046359982042188094125956149263515692514917141235851596188317125234698698143445430710086862519687007887491677593147363567434012996511611208264524292392041796094719104232814767772523351970722422038548274955882602506325735217927052884736197570933812826973727984393449854685360152304385913054039591824514239463064574006576447070168308785658334189143136583726277476279484040055265195370002967927103157598498988314064461158492527567235388273093138250126070907284091661168961258085026365164006756510037480113146444863049857410441189627990753392734989779344967229909893545831260919205642629882485159098157638129076046041748514665632636070142935578386099836275589388930926240584371164648614330272952273803821934246410548896732021483600216257876390203223583811752097414977367601275058587892151481717977645237081174997478084219478623660424162752880192868685884668880148643205675563808348487798702434249814028000489387319267434376798624197140709588473161705863149798376475260131435650698866424963700821352635427311875603754398568456694493029785421376982682568805861337391799580504924932794556653379358767208890415958085613545957157879585738485216752347809889677342570960091355021080407464763338564493970911651840304968787953757264726616132058769535451536129440982464344457257409571874631344070375729511782691987208945139373059377362044678441485767885356392625676743825088107696059578436822101089587320629680572375297507439230177389257372694401026822808373497528093968027287143301629103846534858625188325762033439196480397732997628503014649621121690269155702957775533169864904892182237683246347572084245365191125792238162832968930393778486311914591336488816372341376522067036860976397292954319050636670890190881862580303324718499511813664256650581668171314625522576463828792300817636790551747752178963893094026368249871063740051957677459820923123398315939696748427420043893707187931413132194983048121141633208572619318118682144503976902886475074725995927488015931697855547875567877957092844564972845868112467386799220810631963984802801245465491999492342994359330345557818309230549781190666893419855523650310406258181966733177334063917199888119119548767752141086258162376401893740900149055101692383716437730051535448970252369139807831334212981351808475128436325511506521306376541098272413318178788027577886741756988051386311777882287391881862854060744982292039961563494441320610172547471281354491811089427667941553096792539866778533112339401492150191478610168187813943366146939613944255787812295363788871264558245650366272976585990903261089635305905742282528531617124236257160918684087656849837574980709007634462794039027502516932254792552278738094881287976286091303833032328709898177754381747211550369182625253816956570895415702356703647970398979022104775855650022923491671389932150050238130342993219290079594357803961156906483525731193515143667409605342655206986539810441729034123792850051347539305704207486216981192413978602284363056867626486373038246244839413072201313630754273638937315123889266770682128882430762690059836369951715002691645372943891194536056518939393483536344089949823186946555884678988010580615983982479704610187475910957396703374352600973214429895438876454557725931764099504166221965567851477778524080688479039673549688608223453815640594482798578256595213089270083559888919481365699489637100462903261695502194644348626336709527606095941785695581152441637033674790821685888023791364256305622601762475611441750013106178994593770221066022071023423181155633034817805122802161398524935744545943741207082734764334825940768852393487409193252192043890560912706601726987758753067561041148319622385097614386639073680669427818858042442429654858229935977397707681836665668775740641201467318749912966028972169793293390466868251643453919856849649464322290493048735341721271287419107657917313905525324948586326718627816214107076707368817487170052506253995767034921526007809581573945253151822834749452099415021388971615151747053427766692853648240012116610723886125081342994287489545235725721142914067970761305543646806858970499351876132153368421770237795532592261530517822610356843765148217108907994757920134143467540976888459223968533993602900377353953544172817792180535262936919969492569469436153458748985127294759494223048694113803447594333559542494170015852179431982487558567762644873232582846206118354511361889465074082198622487687130683064905826980365281361526563926662405093323369953815510290733148417577099131665373904594606446101445456737906257234215611047930895015327467213852058204569126364764390657202470807122594170585907633466485519524155064808028487628723708474385722676764531471034749556194317090053532721523949569733293990221599435614437855978142064057941350647248869502882171365376482071435295878341415878631076359405882902371556731407341889179961545506866186248441345259419590661969374361882364592061478559916225955206538184816386679967482441838049310905079233609878397934734816175948993752695074814067593455911713281951234584719671148856291994006466814477367850543107690771346327489500529747440674930090756702297261679187551872345086063837394259531898709135941627900148238103139796982138624016618320937655921765263711024009874698746369080375567901724255684972797468157046157244471404374772222761078870327589465169246896223399414535889927524097257658342338819602157586456758679350724006766498955644886341578770464217114532766965311558328771842477936179644154648725549016964555717358267421129406002607793307439153514126492562540286438784812980066800677318313791389822961787325992391015069754823380173916313596635123798266301750265370600068685480969393442609603956119372421591853151722808583669735059915582753550715486399760012328047281867317279176872125198538864086215345171359356062618339888269196615849878341009901174366182431568400817312255199337667870427164058252046691141588462611695798445898455666744650148543174273924084039433899774435857949430043993897554400048319814689695862859159318872535204748251144962702162463499737891432877223121909129098344855891760814617089321319951062904551654895337306129805913025944180906927502044419375620970439904558408425976746524919577422744604678047700295341856552182095320586852500585625664834503585589269368741216930474755189870268950484900669276439820744731551861384605719817230677305424393562608012347282106616739326341508184942013244631726891106292405240644550509393873680228562272071533052382956340446417148097972501997474543615397475518262648869520545135690881661356943350133932565706608146399718351491507472986333577842853498178674984672051322972654996461950987550865292528553620054954224913858166192474882035352357899732655030712160385609277387607740567177899255072891211576698669315915614623365514450273883629476310746756716923977433973982778866537623583659452653953536594305635259113791810456916740095328527216763001938091607108120211956569098947525776967516508899548558888706022782856287399631190569717979133974265816248963278960898161685096058601377782895534213136701479149191550214315794162212015792405661422845597673653182274714618069931744594221634105470177540427769803623211699582705445596866405927037514309107234351370362467425928846073566742931409335261734131864994298347945260635001131311920283905394751792800521660850627916150640677023274911592637202999772417492767266475033477116987488225402321678196203896707838129488510806857661805566699304194033908269506749978952496681544507895148734468513239756888440769289103653460242590706209377481163424447150937201817016411428938761225411412620391654920682653706041198253530963973664372010391746854260916537511407841070178312591009192581586245994250160312207757539666759964652436749624695710006526932049227367011260245836155602924015442624367872349380151723114491536701108462789811468407784363983688570272618639641206165586158836058493189251526501711694316986861847410525231500364251300122350716668571836339732659545049424088047941506679023857361785213178069306989586118887798676812702536322297205577220215669860213928976137767561270063683142657573175784228191236008498180382859203465059664323543054771844757547132314130392776344494173588299702326738416717900532663451394215114634754233027407799698068426715198497878488914782118398612098302405748157704352559685379793070036590846251648673361720445850857158040299680815524702003811717351151130675016102049780631424453367454840976211353451658442534353695502030234100441279085017434696680873502985153330640183412929532516173899867364725712657697298871021769976008801576464527000641600740268937101666222895652566156284601337220279359261104594072445817458590580761247693556209444191579981147963874551394904047417056078912565880591658060975546392462311882416441222311791167990180680463988443570241217782392857011867069680884244666593050092653665365976989558026022470608210613618754008458873824007001387382830148126034290344824191155415782018993342382704401188799702402584222440549094763577598172796167234130544210531502303550183844221220741663302428474645529415233450782908000520186885350457480593709781632911073809060760282828755283843146949436685051247670110734191688391328421684820072278551527252247123400889675092676047061214900279455779580400780351440717718674778598620334958799748366441005751435862051719573393022638455265338173691749329829929778792927209252299363226699669304396453808682352906829063954982628241054392382727084233234617853880930580558610693644662670411726208797563897182971330720340719082906323101468841115426963546938445791225705353254787304946539733594898724141144239697760300827426052047546961517686499286157967359499839068369711093213559834093305661759832640340481518447830683201238037573073034923371654932505878872286450948560812402475945000187368127335451061374922239755912496374931537669807313507757327703393109679583412696113635024212973064274613866852932449186237465546438109670833043105716515186564273683749679196522660307441709803046192255881017538101925341711174906379489848946543183123073850704626033418160529505869092989263318726560205879718746710875014131947022384457383962499831547580471246712917216156469789553191725652376211491125995382650530239607253861346335167367006691659966028436923879658028234167339264725812588477235925297234946767436813208967088950289371556162445134041599336856405446555784427112197397096142354676371339318021852771023427520971147023370996712955808700964370952675608644549934107066115121542769188598526262118995492677970580930459374737773107457949272307186334991083320194701617060222448587218509668328671651886238926306221826871145721997295311452888663168600722995588557783323760647463273077854230440154213720457216737087525982652611465497495713509174157083705468833373013337016415301982765023565706273266008704617324972753192632117961594037665018004375853454904736629326885577001853263670959707179272526044720607302590542747596167329895801318010550294881949223256213411400071462361369097478818385742424692728771718912318234303492676110785585739857570888109161990160017692865060183371987768567018136294489362027824589233399076038416442405520151811644763440205702650680025924476610505028745688504247111678762224045221283096030107602175893024030459033747969960600443330998917435797697383440847520855882734028891054039283180622802306687316484472671191764170740047114602134544535641844189889350023046074789812124132332044995315682443311940131237405896121697516399290661444783920628389485361936617903271547246578586588213410236767354269988120357660566929203939444570114524798976752515218892046013824072470089741792712786458082533243339059588785186650352493604709184193892983514025539509616376413891859366013242240080250264810939658861895357096614826904672377530270910959237339630961600122762109741659179671379165605488670056747427195521661418156357992518033406601044885914675963132267191743621957740870131565200569814713941503376525665160558639143193925098588395597155080257670477129797124530700682326208118090805806565184069973068574441850966345354706260447908923069673295013426213294385861485283045526462538910735239460168488142702069095056571491196157747662650853217993014174291374613139589188363417133144936382540619731804232898205864880307208087840884848876477489295453300504999568595984028183835344409608947613554429811290658673416210997385846311057382995622227388628383002600925807935364764753805536473373042553523506494464273041118615605223474159050130879162551582336724424932137833056232399437260930621307664984546268959827054796391535053320424643046532913633160819503216272678658014010706235559062809831299809686238564680790862469449505263443747498977606156134542922058983751515164157048624030293978121341128177071253985686147852533802848547775086695679833627111462536654859577282475780846461565189536035166955634705171744938300758779944594645916609102224507570136382682628523270787623779589768607029522318485609540598020592940946392546384543280354584125916264777139172068918782670931067827455266383649518823913525239503517274250021483671296305694299466787403911632714464796411593102671583803660425009005339500056862810182600815001757735456392819092858686950678352253153456271742089833433030555766787058325010699947395021193671748759569098245507987499499130291494435775798740205225920307409292271104005670294370337410921036724331843314258158403913990805229275378559782413717928224042367417709599302966953490270238694661112359496953830498606784086438372332141905196621252608484903687514985520273710106772313187568996928678292720413797110285934416720410111115601235526412384798791063347220588956009736331231453902124956053151113367239913266090823848247117856982320160551433853975201313806565148854695076651889074976978199892903962068904016329525573490958346004760162715233725757803465309718186604184926868685525872993179978915754421084594607974740535017537734343543579643137591692664653905427908699436038065818151075562435695890155000609557516570170141099008287634733300449818188760610410712309733549085797495398813231519514139193077136152360715650093377121558543922877012926393674012695988637131930545948422722030271950551217705562608957920201803558894740225517435374934100595243786738844056747849807712873958505622744117603938633362313174420777198023964122480866427151095280237830022202126847305191925763944293750271166321136479408816411259706704707176798921240927206212979330109057027342875662697738866593403733239051077371447772514786787039513896399353047080330466797586473780207556952745462127653719377851265838514878004295243121869736481925289075648718207159851359469162601942518250494617918043717238852062671205512961102844180890636998724726401640761659927208881766930562262234984630179192439049148406276986493553948259214647576621498217749240555076085542414395891641401827725290139788395782142333684468030484773879148913868787934430232579 79221136326288413549090453617582214988603149380032775393045753873679347103737428810698791647263113706575282689198477135930652137291317188670030006057926509831856472550143054466006425134587034426949120010210832597783143689081004098970652114673282224426184172485773967049733965817226715156969648131835381010189470025770375559444559659305270898952170617343578663720139463438305206193729450577009951868047317341521679722886752217921827822705466305632297648679105292595306982225729633137305184703173136534319068330149229142960259210328722455601450057473003629441834416962669954405564521304502500726298911194393554191501157954017925309977598836623748100506311537547090223313424323313673085311409323919977212070953990949404412305207140907616619412378270976434206887105501661848469182736298770557698748104969475842500166345456724876246803841548685455561851856586967869889986216391448174596518073583228454703935275996041071738034755239225816281721293011288588359444337681021846829274952700086230836341401062887321604178406708278357480439226036171803414304571700770050264769130291420603534822495795966981715612394351588510056912232508637273573895372779156159436797233748213294951636931736322625278881149941049169682180025310119656903852664689348405476728233436921288688205034751242856813863451202798101231235894933014025474654357904163264189792879110990531247061528782494741231885291482973616690359904394443018958369073484128300703937149692838128916254439952768266768999800895221352172804608885628145520829329108509888656265795056847497582709463200002373315731960683089450281141672128908771066872542843950397795050900482861371828770525181267955544208230938560999841196913163882946371552828126583680248944964520944418180558701521838650855170095150234372062727397690674991347946365752214498420657007149585319909260780872426315558079608099072865828174703417406185318728278145026184310672633645641700732291542811057990742838365066341014265183949971790930431087121056345347741501667746148234688653065189269356885872908647581204650438736957716528711548574555583977239301969823515430537595181395319473570033411789209713074292228145962019286962544117035974563318921268241513986555088394502711032433789248734183877010959345104750102614262227563661010217640141350231316347211768763385670337883433049195056061300162041862964241528184097908283230852906666992480893473206747006312106694438401261591124362380788902882710265313013071263115504159140550179707220633782158597940373880726872858838789886163551228708805088540541574505134133745949431125107024728689987177439066224173647204385151471810845156172459609697201263898819372465925856032821983943945509201296896112993390414319772317613998628115011584901662481020736975231857679558573639533120123760882987807897148264001476729480741158503008405824181375825684426593602078107066384305742314153383784825815001170364503279303283157714730965700730790958163526085614077255893030881612578737162635171062435305862363661501175783671862584712802832632731639923317926092501167046294294878922434436385815597766578254085927198853219424480746368612964091254086956730350365974846418411767133289280026522101904776721397535481072023153960396155426365282526318432948840966649466716318812335304612541684202901596339076117983534399558629308180937552570931412127563964839611720473046765641026358839977096301838517860717992220124429055320994261412222457829626748188314831526678529121257451724121669436757611557692716596947663821034873517375372433749628434475153359120061495211777091719559441963916844642691242108239222713715540944215042751815205832903182816602051553000809853471087600226541940973229542173962641860015572714026730877762563780111880467244618055586935195897209646109126685288690235443479134420307287200865787784854857681194140932834097813623138157320433948668365280904196167520730495552269155400544459597418276177569668057444229387270850059959177577695113400939572251098823419194625556857107173746511343007800181920881221537624681494893301655822089723344553388000429323171176866004751029713971505534118999127107434111180853160547174861752751626348577776330731649967976997705926985766161797485058129299093471507452375539795559192778297669346728516427619455250496404870474371468200079265657822190324253008657280022070822577899305872108909461787244531453423119105988731060885667270673906364763727364896807710566881055215730830049911805272377486610061004335421869816885849669495243455855042551121024488255660795663819648501724149284790298092093372482653444084141453024908635847938874074697818854837695253972630804930011048531224322683145833842458520248412423153952435022528345724977763280584053398449746120516553508775326815255194777552247568789127161127121523667078092192754147983382483439483110519687390499526362703620317546913529048991244723833568395254652779389245457001074904459611968988017810125634688718594557512726477640828469923085023078927441553690015369298834217415908971293929662509893318732156287214572953717271547294454739080159480184708525419270198385219963884877884002278754278750609561959567609573219604469598655354749579234218685586373052244170384013165767049118076193618533398406013188209001235766656057471022713158458115640722513614902460046359982042188094125956149263515692514917141235851596188317125234698698143445430710086862519687007887491677593147363567434012996511611208264524292392041796094719104232814767772523351970722422038548274955882602506325735217927052884736197570933812826973727984393449854685360152304385913054039591824514239463064574006576447070168308785658334189143136583726277476279484040055265195370002967927103157598498988314064461158492527567235388273093138250126070907284091661168961258085026365164006756510037480113146444863049857410441189627990753392734989779344967229909893545831260919205642629882485159098157638129076046041748514665632636070142935578386099836275589388930926240584371164648614330272952273803821934246410548896732021483600216257876390203223583811752097414977367601275058587892151481717977645237081174997478084219478623660424162752880192868685884668880148643205675563808348487798702434249814028000489387319267434376798624197140709588473161705863149798376475260131435650698866424963700821352635427311875603754398568456694493029785421376982682568805861337391799580504924932794556653379358767208890415958085613545957157879585738485216752347809889677342570960091355021080407464763338564493970911651840304968787953757264726616132058769535451536129440982464344457257409571874631344070375729511782691987208945139373059377362044678441485767885356392625676743825088107696059578436822101089587320629680572375297507439230177389257372694401026822808373497528093968027287143301629103846534858625188325762033439196480397732997628503014649621121690269155702957775533169864904892182237683246347572084245365191125792238162832968930393778486311914591336488816372341376522067036860976397292954319050636670890190881862580303324718499511813664256650581668171314625522576463828792300817636790551747752178963893094026368249871063740051957677459820923123398315939696748427420043893707187931413132194983048121141633208572619318118682144503976902886475074725995927488015931697855547875567877957092844564972845868112467386799220810631963984802801245465491999492342994359330345557818309230549781190666893419855523650310406258181966733177334063917199888119119548767752141086258162376401893740900149055101692383716437730051535448970252369139807831334212981351808475128436325511506521306376541098272413318178788027577886741756988051386311777882287391881862854060744982292039961563494441320610172547471281354491811089427667941553096792539866778533112339401492150191478610168187813943366146939613944255787812295363788871264558245650366272976585990903261089635305905742282528531617124236257160918684087656849837574980709007634462794039027502516932254792552278738094881287976286091303833032328709898177754381747211550369182625253816956570895415702356703647970398979022104775855650022923491671389932150050238130342993219290079594357803961156906483525731193515143667409605342655206986539810441729034123792850051347539305704207486216981192413978602284363056867626486373038246244839413072201313630754273638937315123889266770682128882430762690059836369951715002691645372943891194536056518939393483536344089949823186946555884678988010580615983982479704610187475910957396703374352600973214429895438876454557725931764099504166221965567851477778524080688479039673549688608223453815640594482798578256595213089270083559888919481365699489637100462903261695502194644348626336709527606095941785695581152441637033674790821685888023791364256305622601762475611441750013106178994593770221066022071023423181155633034817805122802161398524935744545943741207082734764334825940768852393487409193252192043890560912706601726987758753067561041148319622385097614386639073680669427818858042442429654858229935977397707681836665668775740641201467318749912966028972169793293390466868251643453919856849649464322290493048735341721271287419107657917313905525324948586326718627816214107076707368817487170052506253995767034921526007809581573945253151822834749452099415021388971615151747053427766692853648240012116610723886125081342994287489545235725721142914067970761305543646806858970499351876132153368421770237795532592261530517822610356843765148217108907994757920134143467540976888459223968533993602900377353953544172817792180535262936919969492569469436153458748985127294759494223048694113803447594333559542494170015852179431982487558567762644873232582846206118354511361889465074082198622487687130683064905826980365281361526563926662405093323369953815510290733148417577099131665373904594606446101445456737906257234215611047930895015327467213852058204569126364764390657202470807122594170585907633466485519524155064808028487628723708474385722676764531471034749556194317090053532721523949569733293990221599435614437855978142064057941350647248869502882171365376482071435295878341415878631076359405882902371556731407341889179961545506866186248441345259419590661969374361882364592061478559916225955206538184816386679967482441838049310905079233609878397934734816175948993752695074814067593455911713281951234584719671148856291994006466814477367850543107690771346327489500529747440674930090756702297261679187551872345086063837394259531898709135941627900148238103139796982138624016618320937655921765263711024009874698746369080375567901724255684972797468157046157244471404374772222761078870327589465169246896223399414535889927524097257658342338819602157586456758679350724006766498955644886341578770464217114532766965311558328771842477936179644154648725549016964555717358267421129406002607793307439153514126492562540286438784812980066800677318313791389822961787325992391015069754823380173916313596635123798266301750265370600068685480969393442609603956119372421591853151722808583669735059915582753550715486399760012328047281867317279176872125198538864086215345171359356062618339888269196615849878341009901174366182431568400817312255199337667870427164058252046691141588462611695798445898455666744650148543174273924084039433899774435857949430043993897554400048319814689695862859159318872535204748251144962702162463499737891432877223121909129098344855891760814617089321319951062904551654895337306129805913025944180906927502044419375620970439904558408425976746524919577422744604678047700295341856552182095320586852500585625664834503585589269368741216930474755189870268950484900669276439820744731551861384605719817230677305424393562608012347282106616739326341508184942013244631726891106292405240644550509393873680228562272071533052382956340446417148097972501997474543615397475518262648869520545135690881661356943350133932565706608146399718351491507472986333577842853498178674984672051322972654996461950987550865292528553620054954224913858166192474882035352357899732655030712160385609277387607740567177899255072891211576698669315915614623365514450273883629476310746756716923977433973982778866537623583659452653953536594305635259113791810456916740095328527216763001938091607108120211956569098947525776967516508899548558888706022782856287399631190569717979133974265816248963278960898161685096058601377782895534213136701479149191550214315794162212015792405661422845597673653182274714618069931744594221634105470177540427769803623211699582705445596866405927037514309107234351370362467425928846073566742931409335261734131864994298347945260635001131311920283905394751792800521660850627916150640677023274911592637202999772417492767266475033477116987488225402321678196203896707838129488510806857661805566699304194033908269506749978952496681544507895148734468513239756888440769289103653460242590706209377481163424447150937201817016411428938761225411412620391654920682653706041198253530963973664372010391746854260916537511407841070178312591009192581586245994250160312207757539666759964652436749624695710006526932049227367011260245836155602924015442624367872349380151723114491536701108462789811468407784363983688570272618639641206165586158836058493189251526501711694316986861847410525231500364251300122350716668571836339732659545049424088047941506679023857361785213178069306989586118887798676812702536322297205577220215669860213928976137767561270063683142657573175784228191236008498180382859203465059664323543054771844757547132314130392776344494173588299702326738416717900532663451394215114634754233027407799698068426715198497878488914782118398612098302405748157704352559685379793070036590846251648673361720445850857158040299680815524702003811717351151130675016102049780631424453367454840976211353451658442534353695502030234100441279085017434696680873502985153330640183412929532516173899867364725712657697298871021769976008801576464527000641600740268937101666222895652566156284601337220279359261104594072445817458590580761247693556209444191579981147963874551394904047417056078912565880591658060975546392462311882416441222311791167990180680463988443570241217782392857011867069680884244666593050092653665365976989558026022470608210613618754008458873824007001387382830148126034290344824191155415782018993342382704401188799702402584222440549094763577598172796167234130544210531502303550183844221220741663302428474645529415233450782908000520186885350457480593709781632911073809060760282828755283843146949436685051247670110734191688391328421684820072278551527252247123400889675092676047061214900279455779580400780351440717718674778598620334958799748366441005751435862051719573393022638455265338173691749329829929778792927209252299363226699669304396453808682352906829063954982628241054392382727084233234617853880930580558610693644662670411726208797563897182971330720340719082906323101468841115426963546938445791225705353254787304946539733594898724141144239697760300827426052047546961517686499286157967359499839068369711093213559834093305661759832640340481518447830683201238037573073034923371654932505878872286450948560812402475945000187368127335451061374922239755912496374931537669807313507757327703393109679583412696113635024212973064274613866852932449186237465546438109670833043105716515186564273683749679196522660307441709803046192255881017538101925341711174906379489848946543183123073850704626033418160529505869092989263318726560205879718746710875014131947022384457383962499831547580471246712917216156469789553191725652376211491125995382650530239607253861346335167367006691659966028436923879658028234167339264725812588477235925297234946767436813208967088950289371556162445134041599336856405446555784427112197397096142354676371339318021852771023427520971147023370996712955808700964370952675608644549934107066115121542769188598526262118995492677970580930459374737773107457949272307186334991083320194701617060222448587218509668328671651886238926306221826871145721997295311452888663168600722995588557783323760647463273077854230440154213720457216737087525982652611465497495713509174157083705468833373013337016415301982765023565706273266008704617324972753192632117961594037665018004375853454904736629326885577001853263670959707179272526044720607302590542747596167329895801318010550294881949223256213411400071462361369097478818385742424692728771718912318234303492676110785585739857570888109161990160017692865060183371987768567018136294489362027824589233399076038416442405520151811644763440205702650680025924476610505028745688504247111678762224045221283096030107602175893024030459033747969960600443330998917435797697383440847520855882734028891054039283180622802306687316484472671191764170740047114602134544535641844189889350023046074789812124132332044995315682443311940131237405896121697516399290661444783920628389485361936617903271547246578586588213410236767354269988120357660566929203939444570114524798976752515218892046013824072470089741792712786458082533243339059588785186650352493604709184193892983514025539509616376413891859366013242240080250264810939658861895357096614826904672377530270910959237339630961600122762109741659179671379165605488670056747427195521661418156357992518033406601044885914675963132267191743621957740870131565200569814713941503376525665160558639143193925098588395597155080257670477129797124530700682326208118090805806565184069973068574441850966345354706260447908923069673295013426213294385861485283045526462538910735239460168488142702069095056571491196157747662650853217993014174291374613139589188363417133144936382540619731804232898205864880307208087840884848876477489295453300504999568595984028183835344409608947613554429811290658673416210997385846311057382995622227388628383002600925807935364764753805536473373042553523506494464273041118615605223474159050130879162551582336724424932137833056232399437260930621307664984546268959827054796391535053320424643046532913633160819503216272678658014010706235559062809831299809686238564680790862469449505263443747498977606156134542922058983751515164157048624030293978121341128177071253985686147852533802848547775086695679833627111462536654859577282475780846461565189536035166955634705171744938300758779944594645916609102224507570136382682628523270787623779589768607029522318485609540598020592940946392546384543280354584125916264777139172068918782670931067827455266383649518823913525239503517274250021483671296305694299466787403911632714464796411593102671583803660425009005339500056862810182600815001757735456392819092858686950678352253153456271742089833433030555766787058325010699947395021193671748759569098245507987499499130291494435775798740205225920307409292271104005670294370337410921036724331843314258158403913990805229275378559782413717928224042367417709599302966953490270238694661112359496953830498606784086438372332141905196621252608484903687514985520273710106772313187568996928678292720413797110285934416720410111115601235526412384798791063347220588956009736331231453902124956053151113367239913266090823848247117856982320160551433853975201313806565148854695076651889074976978199892903962068904016329525573490958346004760162715233725757803465309718186604184926868685525872993179978915754421084594607974740535017537734343543579643137591692664653905427908699436038065818151075562435695890155000609557516570170141099008287634733300449818188760610410712309733549085797495398813231519514139193077136152360715650093377121558543922877012926393674012695988637131930545948422722030271950551217705562608957920201803558894740225517435374934100595243786738844056747849807712873958505622744117603938633362313174420777198023964122480866427151095280237830022202126847305191925763944293750271166321136479408816411259706704707176798921240927206212979330109057027342875662697738866593403733239051077371447772514786787039513896399353047080330466797586473780207556952745462127653719377851265838514878004295243121869736481925289075648718207159851359469162601942518250494617918043717238852062671205512961102844180890636998724726401640761659927208881766930562262234984630179192439049148406276986493553948259214647576621498217749240555076085542414395891641401827725290139788395782142333684468030484773879148913868787934430232579 | | . . . . . 79221136326288413549090453617582214988603149380032775393045753873679347103737428810698791647263113706575282689198477135930652137291317188670030006057926509831856472550143054466006425134587034426949120010210832597783143689081004098970652114673282224426184172485773967049733965817226715156969648131835381010189470025770375559444559659305270898952170617343578663720139463438305206193729450577009951868047317341521679722886752217921827822705466305632297648679105292595306982225729633137305184703173136534319068330149229142960259210328722455601450057473003629441834416962669954405564521304502500726298911194393554191501157954017925309977598836623748100506311537547090223313424323313673085311409323919977212070953990949404412305207140907616619412378270976434206887105501661848469182736298770557698748104969475842500166345456724876246803841548685455561851856586967869889986216391448174596518073583228454703935275996041071738034755239225816281721293011288588359444337681021846829274952700086230836341401062887321604178406708278357480439226036171803414304571700770050264769130291420603534822495795966981715612394351588510056912232508637273573895372779156159436797233748213294951636931736322625278881149941049169682180025310119656903852664689348405476728233436921288688205034751242856813863451202798101231235894933014025474654357904163264189792879110990531247061528782494741231885291482973616690359904394443018958369073484128300703937149692838128916254439952768266768999800895221352172804608885628145520829329108509888656265795056847497582709463200002373315731960683089450281141672128908771066872542843950397795050900482861371828770525181267955544208230938560999841196913163882946371552828126583680248944964520944418180558701521838650855170095150234372062727397690674991347946365752214498420657007149585319909260780872426315558079608099072865828174703417406185318728278145026184310672633645641700732291542811057990742838365066341014265183949971790930431087121056345347741501667746148234688653065189269356885872908647581204650438736957716528711548574555583977239301969823515430537595181395319473570033411789209713074292228145962019286962544117035974563318921268241513986555088394502711032433789248734183877010959345104750102614262227563661010217640141350231316347211768763385670337883433049195056061300162041862964241528184097908283230852906666992480893473206747006312106694438401261591124362380788902882710265313013071263115504159140550179707220633782158597940373880726872858838789886163551228708805088540541574505134133745949431125107024728689987177439066224173647204385151471810845156172459609697201263898819372465925856032821983943945509201296896112993390414319772317613998628115011584901662481020736975231857679558573639533120123760882987807897148264001476729480741158503008405824181375825684426593602078107066384305742314153383784825815001170364503279303283157714730965700730790958163526085614077255893030881612578737162635171062435305862363661501175783671862584712802832632731639923317926092501167046294294878922434436385815597766578254085927198853219424480746368612964091254086956730350365974846418411767133289280026522101904776721397535481072023153960396155426365282526318432948840966649466716318812335304612541684202901596339076117983534399558629308180937552570931412127563964839611720473046765641026358839977096301838517860717992220124429055320994261412222457829626748188314831526678529121257451724121669436757611557692716596947663821034873517375372433749628434475153359120061495211777091719559441963916844642691242108239222713715540944215042751815205832903182816602051553000809853471087600226541940973229542173962641860015572714026730877762563780111880467244618055586935195897209646109126685288690235443479134420307287200865787784854857681194140932834097813623138157320433948668365280904196167520730495552269155400544459597418276177569668057444229387270850059959177577695113400939572251098823419194625556857107173746511343007800181920881221537624681494893301655822089723344553388000429323171176866004751029713971505534118999127107434111180853160547174861752751626348577776330731649967976997705926985766161797485058129299093471507452375539795559192778297669346728516427619455250496404870474371468200079265657822190324253008657280022070822577899305872108909461787244531453423119105988731060885667270673906364763727364896807710566881055215730830049911805272377486610061004335421869816885849669495243455855042551121024488255660795663819648501724149284790298092093372482653444084141453024908635847938874074697818854837695253972630804930011048531224322683145833842458520248412423153952435022528345724977763280584053398449746120516553508775326815255194777552247568789127161127121523667078092192754147983382483439483110519687390499526362703620317546913529048991244723833568395254652779389245457001074904459611968988017810125634688718594557512726477640828469923085023078927441553690015369298834217415908971293929662509893318732156287214572953717271547294454739080159480184708525419270198385219963884877884002278754278750609561959567609573219604469598655354749579234218685586373052244170384013165767049118076193618533398406013188209001235766656057471022713158458115640722513614902460046359982042188094125956149263515692514917141235851596188317125234698698143445430710086862519687007887491677593147363567434012996511611208264524292392041796094719104232814767772523351970722422038548274955882602506325735217927052884736197570933812826973727984393449854685360152304385913054039591824514239463064574006576447070168308785658334189143136583726277476279484040055265195370002967927103157598498988314064461158492527567235388273093138250126070907284091661168961258085026365164006756510037480113146444863049857410441189627990753392734989779344967229909893545831260919205642629882485159098157638129076046041748514665632636070142935578386099836275589388930926240584371164648614330272952273803821934246410548896732021483600216257876390203223583811752097414977367601275058587892151481717977645237081174997478084219478623660424162752880192868685884668880148643205675563808348487798702434249814028000489387319267434376798624197140709588473161705863149798376475260131435650698866424963700821352635427311875603754398568456694493029785421376982682568805861337391799580504924932794556653379358767208890415958085613545957157879585738485216752347809889677342570960091355021080407464763338564493970911651840304968787953757264726616132058769535451536129440982464344457257409571874631344070375729511782691987208945139373059377362044678441485767885356392625676743825088107696059578436822101089587320629680572375297507439230177389257372694401026822808373497528093968027287143301629103846534858625188325762033439196480397732997628503014649621121690269155702957775533169864904892182237683246347572084245365191125792238162832968930393778486311914591336488816372341376522067036860976397292954319050636670890190881862580303324718499511813664256650581668171314625522576463828792300817636790551747752178963893094026368249871063740051957677459820923123398315939696748427420043893707187931413132194983048121141633208572619318118682144503976902886475074725995927488015931697855547875567877957092844564972845868112467386799220810631963984802801245465491999492342994359330345557818309230549781190666893419855523650310406258181966733177334063917199888119119548767752141086258162376401893740900149055101692383716437730051535448970252369139807831334212981351808475128436325511506521306376541098272413318178788027577886741756988051386311777882287391881862854060744982292039961563494441320610172547471281354491811089427667941553096792539866778533112339401492150191478610168187813943366146939613944255787812295363788871264558245650366272976585990903261089635305905742282528531617124236257160918684087656849837574980709007634462794039027502516932254792552278738094881287976286091303833032328709898177754381747211550369182625253816956570895415702356703647970398979022104775855650022923491671389932150050238130342993219290079594357803961156906483525731193515143667409605342655206986539810441729034123792850051347539305704207486216981192413978602284363056867626486373038246244839413072201313630754273638937315123889266770682128882430762690059836369951715002691645372943891194536056518939393483536344089949823186946555884678988010580615983982479704610187475910957396703374352600973214429895438876454557725931764099504166221965567851477778524080688479039673549688608223453815640594482798578256595213089270083559888919481365699489637100462903261695502194644348626336709527606095941785695581152441637033674790821685888023791364256305622601762475611441750013106178994593770221066022071023423181155633034817805122802161398524935744545943741207082734764334825940768852393487409193252192043890560912706601726987758753067561041148319622385097614386639073680669427818858042442429654858229935977397707681836665668775740641201467318749912966028972169793293390466868251643453919856849649464322290493048735341721271287419107657917313905525324948586326718627816214107076707368817487170052506253995767034921526007809581573945253151822834749452099415021388971615151747053427766692853648240012116610723886125081342994287489545235725721142914067970761305543646806858970499351876132153368421770237795532592261530517822610356843765148217108907994757920134143467540976888459223968533993602900377353953544172817792180535262936919969492569469436153458748985127294759494223048694113803447594333559542494170015852179431982487558567762644873232582846206118354511361889465074082198622487687130683064905826980365281361526563926662405093323369953815510290733148417577099131665373904594606446101445456737906257234215611047930895015327467213852058204569126364764390657202470807122594170585907633466485519524155064808028487628723708474385722676764531471034749556194317090053532721523949569733293990221599435614437855978142064057941350647248869502882171365376482071435295878341415878631076359405882902371556731407341889179961545506866186248441345259419590661969374361882364592061478559916225955206538184816386679967482441838049310905079233609878397934734816175948993752695074814067593455911713281951234584719671148856291994006466814477367850543107690771346327489500529747440674930090756702297261679187551872345086063837394259531898709135941627900148238103139796982138624016618320937655921765263711024009874698746369080375567901724255684972797468157046157244471404374772222761078870327589465169246896223399414535889927524097257658342338819602157586456758679350724006766498955644886341578770464217114532766965311558328771842477936179644154648725549016964555717358267421129406002607793307439153514126492562540286438784812980066800677318313791389822961787325992391015069754823380173916313596635123798266301750265370600068685480969393442609603956119372421591853151722808583669735059915582753550715486399760012328047281867317279176872125198538864086215345171359356062618339888269196615849878341009901174366182431568400817312255199337667870427164058252046691141588462611695798445898455666744650148543174273924084039433899774435857949430043993897554400048319814689695862859159318872535204748251144962702162463499737891432877223121909129098344855891760814617089321319951062904551654895337306129805913025944180906927502044419375620970439904558408425976746524919577422744604678047700295341856552182095320586852500585625664834503585589269368741216930474755189870268950484900669276439820744731551861384605719817230677305424393562608012347282106616739326341508184942013244631726891106292405240644550509393873680228562272071533052382956340446417148097972501997474543615397475518262648869520545135690881661356943350133932565706608146399718351491507472986333577842853498178674984672051322972654996461950987550865292528553620054954224913858166192474882035352357899732655030712160385609277387607740567177899255072891211576698669315915614623365514450273883629476310746756716923977433973982778866537623583659452653953536594305635259113791810456916740095328527216763001938091607108120211956569098947525776967516508899548558888706022782856287399631190569717979133974265816248963278960898161685096058601377782895534213136701479149191550214315794162212015792405661422845597673653182274714618069931744594221634105470177540427769803623211699582705445596866405927037514309107234351370362467425928846073566742931409335261734131864994298347945260635001131311920283905394751792800521660850627916150640677023274911592637202999772417492767266475033477116987488225402321678196203896707838129488510806857661805566699304194033908269506749978952496681544507895148734468513239756888440769289103653460242590706209377481163424447150937201817016411428938761225411412620391654920682653706041198253530963973664372010391746854260916537511407841070178312591009192581586245994250160312207757539666759964652436749624695710006526932049227367011260245836155602924015442624367872349380151723114491536701108462789811468407784363983688570272618639641206165586158836058493189251526501711694316986861847410525231500364251300122350716668571836339732659545049424088047941506679023857361785213178069306989586118887798676812702536322297205577220215669860213928976137767561270063683142657573175784228191236008498180382859203465059664323543054771844757547132314130392776344494173588299702326738416717900532663451394215114634754233027407799698068426715198497878488914782118398612098302405748157704352559685379793070036590846251648673361720445850857158040299680815524702003811717351151130675016102049780631424453367454840976211353451658442534353695502030234100441279085017434696680873502985153330640183412929532516173899867364725712657697298871021769976008801576464527000641600740268937101666222895652566156284601337220279359261104594072445817458590580761247693556209444191579981147963874551394904047417056078912565880591658060975546392462311882416441222311791167990180680463988443570241217782392857011867069680884244666593050092653665365976989558026022470608210613618754008458873824007001387382830148126034290344824191155415782018993342382704401188799702402584222440549094763577598172796167234130544210531502303550183844221220741663302428474645529415233450782908000520186885350457480593709781632911073809060760282828755283843146949436685051247670110734191688391328421684820072278551527252247123400889675092676047061214900279455779580400780351440717718674778598620334958799748366441005751435862051719573393022638455265338173691749329829929778792927209252299363226699669304396453808682352906829063954982628241054392382727084233234617853880930580558610693644662670411726208797563897182971330720340719082906323101468841115426963546938445791225705353254787304946539733594898724141144239697760300827426052047546961517686499286157967359499839068369711093213559834093305661759832640340481518447830683201238037573073034923371654932505878872286450948560812402475945000187368127335451061374922239755912496374931537669807313507757327703393109679583412696113635024212973064274613866852932449186237465546438109670833043105716515186564273683749679196522660307441709803046192255881017538101925341711174906379489848946543183123073850704626033418160529505869092989263318726560205879718746710875014131947022384457383962499831547580471246712917216156469789553191725652376211491125995382650530239607253861346335167367006691659966028436923879658028234167339264725812588477235925297234946767436813208967088950289371556162445134041599336856405446555784427112197397096142354676371339318021852771023427520971147023370996712955808700964370952675608644549934107066115121542769188598526262118995492677970580930459374737773107457949272307186334991083320194701617060222448587218509668328671651886238926306221826871145721997295311452888663168600722995588557783323760647463273077854230440154213720457216737087525982652611465497495713509174157083705468833373013337016415301982765023565706273266008704617324972753192632117961594037665018004375853454904736629326885577001853263670959707179272526044720607302590542747596167329895801318010550294881949223256213411400071462361369097478818385742424692728771718912318234303492676110785585739857570888109161990160017692865060183371987768567018136294489362027824589233399076038416442405520151811644763440205702650680025924476610505028745688504247111678762224045221283096030107602175893024030459033747969960600443330998917435797697383440847520855882734028891054039283180622802306687316484472671191764170740047114602134544535641844189889350023046074789812124132332044995315682443311940131237405896121697516399290661444783920628389485361936617903271547246578586588213410236767354269988120357660566929203939444570114524798976752515218892046013824072470089741792712786458082533243339059588785186650352493604709184193892983514025539509616376413891859366013242240080250264810939658861895357096614826904672377530270910959237339630961600122762109741659179671379165605488670056747427195521661418156357992518033406601044885914675963132267191743621957740870131565200569814713941503376525665160558639143193925098588395597155080257670477129797124530700682326208118090805806565184069973068574441850966345354706260447908923069673295013426213294385861485283045526462538910735239460168488142702069095056571491196157747662650853217993014174291374613139589188363417133144936382540619731804232898205864880307208087840884848876477489295453300504999568595984028183835344409608947613554429811290658673416210997385846311057382995622227388628383002600925807935364764753805536473373042553523506494464273041118615605223474159050130879162551582336724424932137833056232399437260930621307664984546268959827054796391535053320424643046532913633160819503216272678658014010706235559062809831299809686238564680790862469449505263443747498977606156134542922058983751515164157048624030293978121341128177071253985686147852533802848547775086695679833627111462536654859577282475780846461565189536035166955634705171744938300758779944594645916609102224507570136382682628523270787623779589768607029522318485609540598020592940946392546384543280354584125916264777139172068918782670931067827455266383649518823913525239503517274250021483671296305694299466787403911632714464796411593102671583803660425009005339500056862810182600815001757735456392819092858686950678352253153456271742089833433030555766787058325010699947395021193671748759569098245507987499499130291494435775798740205225920307409292271104005670294370337410921036724331843314258158403913990805229275378559782413717928224042367417709599302966953490270238694661112359496953830498606784086438372332141905196621252608484903687514985520273710106772313187568996928678292720413797110285934416720410111115601235526412384798791063347220588956009736331231453902124956053151113367239913266090823848247117856982320160551433853975201313806565148854695076651889074976978199892903962068904016329525573490958346004760162715233725757803465309718186604184926868685525872993179978915754421084594607974740535017537734343543579643137591692664653905427908699436038065818151075562435695890155000609557516570170141099008287634733300449818188760610410712309733549085797495398813231519514139193077136152360715650093377121558543922877012926393674012695988637131930545948422722030271950551217705562608957920201803558894740225517435374934100595243786738844056747849807712873958505622744117603938633362313174420777198023964122480866427151095280237830022202126847305191925763944293750271166321136479408816411259706704707176798921240927206212979330109057027342875662697738866593403733239051077371447772514786787039513896399353047080330466797586473780207556952745462127653719377851265838514878004295243121869736481925289075648718207159851359469162601942518250494617918043717238852062671205512961102844180890636998724726401640761659927208881766930562262234984630179192439049148406276986493553948259214647576621498217749240555076085542414395891641401827725290139788395782142333684468030484773879148913868787985969840132 . 79221136326288413549090453617582214988603149380032775393045753873679347103737428810698791647263113706575282689198477135930652137291317188670030006057926509831856472550143054466006425134587034426949120010210832597783143689081004098970652114673282224426184172485773967049733965817226715156969648131835381010189470025770375559444559659305270898952170617343578663720139463438305206193729450577009951868047317341521679722886752217921827822705466305632297648679105292595306982225729633137305184703173136534319068330149229142960259210328722455601450057473003629441834416962669954405564521304502500726298911194393554191501157954017925309977598836623748100506311537547090223313424323313673085311409323919977212070953990949404412305207140907616619412378270976434206887105501661848469182736298770557698748104969475842500166345456724876246803841548685455561851856586967869889986216391448174596518073583228454703935275996041071738034755239225816281721293011288588359444337681021846829274952700086230836341401062887321604178406708278357480439226036171803414304571700770050264769130291420603534822495795966981715612394351588510056912232508637273573895372779156159436797233748213294951636931736322625278881149941049169682180025310119656903852664689348405476728233436921288688205034751242856813863451202798101231235894933014025474654357904163264189792879110990531247061528782494741231885291482973616690359904394443018958369073484128300703937149692838128916254439952768266768999800895221352172804608885628145520829329108509888656265795056847497582709463200002373315731960683089450281141672128908771066872542843950397795050900482861371828770525181267955544208230938560999841196913163882946371552828126583680248944964520944418180558701521838650855170095150234372062727397690674991347946365752214498420657007149585319909260780872426315558079608099072865828174703417406185318728278145026184310672633645641700732291542811057990742838365066341014265183949971790930431087121056345347741501667746148234688653065189269356885872908647581204650438736957716528711548574555583977239301969823515430537595181395319473570033411789209713074292228145962019286962544117035974563318921268241513986555088394502711032433789248734183877010959345104750102614262227563661010217640141350231316347211768763385670337883433049195056061300162041862964241528184097908283230852906666992480893473206747006312106694438401261591124362380788902882710265313013071263115504159140550179707220633782158597940373880726872858838789886163551228708805088540541574505134133745949431125107024728689987177439066224173647204385151471810845156172459609697201263898819372465925856032821983943945509201296896112993390414319772317613998628115011584901662481020736975231857679558573639533120123760882987807897148264001476729480741158503008405824181375825684426593602078107066384305742314153383784825815001170364503279303283157714730965700730790958163526085614077255893030881612578737162635171062435305862363661501175783671862584712802832632731639923317926092501167046294294878922434436385815597766578254085927198853219424480746368612964091254086956730350365974846418411767133289280026522101904776721397535481072023153960396155426365282526318432948840966649466716318812335304612541684202901596339076117983534399558629308180937552570931412127563964839611720473046765641026358839977096301838517860717992220124429055320994261412222457829626748188314831526678529121257451724121669436757611557692716596947663821034873517375372433749628434475153359120061495211777091719559441963916844642691242108239222713715540944215042751815205832903182816602051553000809853471087600226541940973229542173962641860015572714026730877762563780111880467244618055586935195897209646109126685288690235443479134420307287200865787784854857681194140932834097813623138157320433948668365280904196167520730495552269155400544459597418276177569668057444229387270850059959177577695113400939572251098823419194625556857107173746511343007800181920881221537624681494893301655822089723344553388000429323171176866004751029713971505534118999127107434111180853160547174861752751626348577776330731649967976997705926985766161797485058129299093471507452375539795559192778297669346728516427619455250496404870474371468200079265657822190324253008657280022070822577899305872108909461787244531453423119105988731060885667270673906364763727364896807710566881055215730830049911805272377486610061004335421869816885849669495243455855042551121024488255660795663819648501724149284790298092093372482653444084141453024908635847938874074697818854837695253972630804930011048531224322683145833842458520248412423153952435022528345724977763280584053398449746120516553508775326815255194777552247568789127161127121523667078092192754147983382483439483110519687390499526362703620317546913529048991244723833568395254652779389245457001074904459611968988017810125634688718594557512726477640828469923085023078927441553690015369298834217415908971293929662509893318732156287214572953717271547294454739080159480184708525419270198385219963884877884002278754278750609561959567609573219604469598655354749579234218685586373052244170384013165767049118076193618533398406013188209001235766656057471022713158458115640722513614902460046359982042188094125956149263515692514917141235851596188317125234698698143445430710086862519687007887491677593147363567434012996511611208264524292392041796094719104232814767772523351970722422038548274955882602506325735217927052884736197570933812826973727984393449854685360152304385913054039591824514239463064574006576447070168308785658334189143136583726277476279484040055265195370002967927103157598498988314064461158492527567235388273093138250126070907284091661168961258085026365164006756510037480113146444863049857410441189627990753392734989779344967229909893545831260919205642629882485159098157638129076046041748514665632636070142935578386099836275589388930926240584371164648614330272952273803821934246410548896732021483600216257876390203223583811752097414977367601275058587892151481717977645237081174997478084219478623660424162752880192868685884668880148643205675563808348487798702434249814028000489387319267434376798624197140709588473161705863149798376475260131435650698866424963700821352635427311875603754398568456694493029785421376982682568805861337391799580504924932794556653379358767208890415958085613545957157879585738485216752347809889677342570960091355021080407464763338564493970911651840304968787953757264726616132058769535451536129440982464344457257409571874631344070375729511782691987208945139373059377362044678441485767885356392625676743825088107696059578436822101089587320629680572375297507439230177389257372694401026822808373497528093968027287143301629103846534858625188325762033439196480397732997628503014649621121690269155702957775533169864904892182237683246347572084245365191125792238162832968930393778486311914591336488816372341376522067036860976397292954319050636670890190881862580303324718499511813664256650581668171314625522576463828792300817636790551747752178963893094026368249871063740051957677459820923123398315939696748427420043893707187931413132194983048121141633208572619318118682144503976902886475074725995927488015931697855547875567877957092844564972845868112467386799220810631963984802801245465491999492342994359330345557818309230549781190666893419855523650310406258181966733177334063917199888119119548767752141086258162376401893740900149055101692383716437730051535448970252369139807831334212981351808475128436325511506521306376541098272413318178788027577886741756988051386311777882287391881862854060744982292039961563494441320610172547471281354491811089427667941553096792539866778533112339401492150191478610168187813943366146939613944255787812295363788871264558245650366272976585990903261089635305905742282528531617124236257160918684087656849837574980709007634462794039027502516932254792552278738094881287976286091303833032328709898177754381747211550369182625253816956570895415702356703647970398979022104775855650022923491671389932150050238130342993219290079594357803961156906483525731193515143667409605342655206986539810441729034123792850051347539305704207486216981192413978602284363056867626486373038246244839413072201313630754273638937315123889266770682128882430762690059836369951715002691645372943891194536056518939393483536344089949823186946555884678988010580615983982479704610187475910957396703374352600973214429895438876454557725931764099504166221965567851477778524080688479039673549688608223453815640594482798578256595213089270083559888919481365699489637100462903261695502194644348626336709527606095941785695581152441637033674790821685888023791364256305622601762475611441750013106178994593770221066022071023423181155633034817805122802161398524935744545943741207082734764334825940768852393487409193252192043890560912706601726987758753067561041148319622385097614386639073680669427818858042442429654858229935977397707681836665668775740641201467318749912966028972169793293390466868251643453919856849649464322290493048735341721271287419107657917313905525324948586326718627816214107076707368817487170052506253995767034921526007809581573945253151822834749452099415021388971615151747053427766692853648240012116610723886125081342994287489545235725721142914067970761305543646806858970499351876132153368421770237795532592261530517822610356843765148217108907994757920134143467540976888459223968533993602900377353953544172817792180535262936919969492569469436153458748985127294759494223048694113803447594333559542494170015852179431982487558567762644873232582846206118354511361889465074082198622487687130683064905826980365281361526563926662405093323369953815510290733148417577099131665373904594606446101445456737906257234215611047930895015327467213852058204569126364764390657202470807122594170585907633466485519524155064808028487628723708474385722676764531471034749556194317090053532721523949569733293990221599435614437855978142064057941350647248869502882171365376482071435295878341415878631076359405882902371556731407341889179961545506866186248441345259419590661969374361882364592061478559916225955206538184816386679967482441838049310905079233609878397934734816175948993752695074814067593455911713281951234584719671148856291994006466814477367850543107690771346327489500529747440674930090756702297261679187551872345086063837394259531898709135941627900148238103139796982138624016618320937655921765263711024009874698746369080375567901724255684972797468157046157244471404374772222761078870327589465169246896223399414535889927524097257658342338819602157586456758679350724006766498955644886341578770464217114532766965311558328771842477936179644154648725549016964555717358267421129406002607793307439153514126492562540286438784812980066800677318313791389822961787325992391015069754823380173916313596635123798266301750265370600068685480969393442609603956119372421591853151722808583669735059915582753550715486399760012328047281867317279176872125198538864086215345171359356062618339888269196615849878341009901174366182431568400817312255199337667870427164058252046691141588462611695798445898455666744650148543174273924084039433899774435857949430043993897554400048319814689695862859159318872535204748251144962702162463499737891432877223121909129098344855891760814617089321319951062904551654895337306129805913025944180906927502044419375620970439904558408425976746524919577422744604678047700295341856552182095320586852500585625664834503585589269368741216930474755189870268950484900669276439820744731551861384605719817230677305424393562608012347282106616739326341508184942013244631726891106292405240644550509393873680228562272071533052382956340446417148097972501997474543615397475518262648869520545135690881661356943350133932565706608146399718351491507472986333577842853498178674984672051322972654996461950987550865292528553620054954224913858166192474882035352357899732655030712160385609277387607740567177899255072891211576698669315915614623365514450273883629476310746756716923977433973982778866537623583659452653953536594305635259113791810456916740095328527216763001938091607108120211956569098947525776967516508899548558888706022782856287399631190569717979133974265816248963278960898161685096058601377782895534213136701479149191550214315794162212015792405661422845597673653182274714618069931744594221634105470177540427769803623211699582705445596866405927037514309107234351370362467425928846073566742931409335261734131864994298347945260635001131311920283905394751792800521660850627916150640677023274911592637202999772417492767266475033477116987488225402321678196203896707838129488510806857661805566699304194033908269506749978952496681544507895148734468513239756888440769289103653460242590706209377481163424447150937201817016411428938761225411412620391654920682653706041198253530963973664372010391746854260916537511407841070178312591009192581586245994250160312207757539666759964652436749624695710006526932049227367011260245836155602924015442624367872349380151723114491536701108462789811468407784363983688570272618639641206165586158836058493189251526501711694316986861847410525231500364251300122350716668571836339732659545049424088047941506679023857361785213178069306989586118887798676812702536322297205577220215669860213928976137767561270063683142657573175784228191236008498180382859203465059664323543054771844757547132314130392776344494173588299702326738416717900532663451394215114634754233027407799698068426715198497878488914782118398612098302405748157704352559685379793070036590846251648673361720445850857158040299680815524702003811717351151130675016102049780631424453367454840976211353451658442534353695502030234100441279085017434696680873502985153330640183412929532516173899867364725712657697298871021769976008801576464527000641600740268937101666222895652566156284601337220279359261104594072445817458590580761247693556209444191579981147963874551394904047417056078912565880591658060975546392462311882416441222311791167990180680463988443570241217782392857011867069680884244666593050092653665365976989558026022470608210613618754008458873824007001387382830148126034290344824191155415782018993342382704401188799702402584222440549094763577598172796167234130544210531502303550183844221220741663302428474645529415233450782908000520186885350457480593709781632911073809060760282828755283843146949436685051247670110734191688391328421684820072278551527252247123400889675092676047061214900279455779580400780351440717718674778598620334958799748366441005751435862051719573393022638455265338173691749329829929778792927209252299363226699669304396453808682352906829063954982628241054392382727084233234617853880930580558610693644662670411726208797563897182971330720340719082906323101468841115426963546938445791225705353254787304946539733594898724141144239697760300827426052047546961517686499286157967359499839068369711093213559834093305661759832640340481518447830683201238037573073034923371654932505878872286450948560812402475945000187368127335451061374922239755912496374931537669807313507757327703393109679583412696113635024212973064274613866852932449186237465546438109670833043105716515186564273683749679196522660307441709803046192255881017538101925341711174906379489848946543183123073850704626033418160529505869092989263318726560205879718746710875014131947022384457383962499831547580471246712917216156469789553191725652376211491125995382650530239607253861346335167367006691659966028436923879658028234167339264725812588477235925297234946767436813208967088950289371556162445134041599336856405446555784427112197397096142354676371339318021852771023427520971147023370996712955808700964370952675608644549934107066115121542769188598526262118995492677970580930459374737773107457949272307186334991083320194701617060222448587218509668328671651886238926306221826871145721997295311452888663168600722995588557783323760647463273077854230440154213720457216737087525982652611465497495713509174157083705468833373013337016415301982765023565706273266008704617324972753192632117961594037665018004375853454904736629326885577001853263670959707179272526044720607302590542747596167329895801318010550294881949223256213411400071462361369097478818385742424692728771718912318234303492676110785585739857570888109161990160017692865060183371987768567018136294489362027824589233399076038416442405520151811644763440205702650680025924476610505028745688504247111678762224045221283096030107602175893024030459033747969960600443330998917435797697383440847520855882734028891054039283180622802306687316484472671191764170740047114602134544535641844189889350023046074789812124132332044995315682443311940131237405896121697516399290661444783920628389485361936617903271547246578586588213410236767354269988120357660566929203939444570114524798976752515218892046013824072470089741792712786458082533243339059588785186650352493604709184193892983514025539509616376413891859366013242240080250264810939658861895357096614826904672377530270910959237339630961600122762109741659179671379165605488670056747427195521661418156357992518033406601044885914675963132267191743621957740870131565200569814713941503376525665160558639143193925098588395597155080257670477129797124530700682326208118090805806565184069973068574441850966345354706260447908923069673295013426213294385861485283045526462538910735239460168488142702069095056571491196157747662650853217993014174291374613139589188363417133144936382540619731804232898205864880307208087840884848876477489295453300504999568595984028183835344409608947613554429811290658673416210997385846311057382995622227388628383002600925807935364764753805536473373042553523506494464273041118615605223474159050130879162551582336724424932137833056232399437260930621307664984546268959827054796391535053320424643046532913633160819503216272678658014010706235559062809831299809686238564680790862469449505263443747498977606156134542922058983751515164157048624030293978121341128177071253985686147852533802848547775086695679833627111462536654859577282475780846461565189536035166955634705171744938300758779944594645916609102224507570136382682628523270787623779589768607029522318485609540598020592940946392546384543280354584125916264777139172068918782670931067827455266383649518823913525239503517274250021483671296305694299466787403911632714464796411593102671583803660425009005339500056862810182600815001757735456392819092858686950678352253153456271742089833433030555766787058325010699947395021193671748759569098245507987499499130291494435775798740205225920307409292271104005670294370337410921036724331843314258158403913990805229275378559782413717928224042367417709599302966953490270238694661112359496953830498606784086438372332141905196621252608484903687514985520273710106772313187568996928678292720413797110285934416720410111115601235526412384798791063347220588956009736331231453902124956053151113367239913266090823848247117856982320160551433853975201313806565148854695076651889074976978199892903962068904016329525573490958346004760162715233725757803465309718186604184926868685525872993179978915754421084594607974740535017537734343543579643137591692664653905427908699436038065818151075562435695890155000609557516570170141099008287634733300449818188760610410712309733549085797495398813231519514139193077136152360715650093377121558543922877012926393674012695988637131930545948422722030271950551217705562608957920201803558894740225517435374934100595243786738844056747849807712873958505622744117603938633362313174420777198023964122480866427151095280237830022202126847305191925763944293750271166321136479408816411259706704707176798921240927206212979330109057027342875662697738866593403733239051077371447772514786787039513896399353047080330466797586473780207556952745462127653719377851265838514878004295243121869736481925289075648718207159851359469162601942518250494617918043717238852062671205512961102844180890636998724726401640761659927208881766930562262234984630179192439049148406276986493553948259214647576621498217749240555076085542414395891641401827725290139788395782142333684468030484773879148913868787985969840132 79221136326288413549090453617582214988603149380032775393045753873679347103737428810698791647263113706575282689198477135930652137291317188670030006057926509831856472550143054466006425134587034426949120010210832597783143689081004098970652114673282224426184172485773967049733965817226715156969648131835381010189470025770375559444559659305270898952170617343578663720139463438305206193729450577009951868047317341521679722886752217921827822705466305632297648679105292595306982225729633137305184703173136534319068330149229142960259210328722455601450057473003629441834416962669954405564521304502500726298911194393554191501157954017925309977598836623748100506311537547090223313424323313673085311409323919977212070953990949404412305207140907616619412378270976434206887105501661848469182736298770557698748104969475842500166345456724876246803841548685455561851856586967869889986216391448174596518073583228454703935275996041071738034755239225816281721293011288588359444337681021846829274952700086230836341401062887321604178406708278357480439226036171803414304571700770050264769130291420603534822495795966981715612394351588510056912232508637273573895372779156159436797233748213294951636931736322625278881149941049169682180025310119656903852664689348405476728233436921288688205034751242856813863451202798101231235894933014025474654357904163264189792879110990531247061528782494741231885291482973616690359904394443018958369073484128300703937149692838128916254439952768266768999800895221352172804608885628145520829329108509888656265795056847497582709463200002373315731960683089450281141672128908771066872542843950397795050900482861371828770525181267955544208230938560999841196913163882946371552828126583680248944964520944418180558701521838650855170095150234372062727397690674991347946365752214498420657007149585319909260780872426315558079608099072865828174703417406185318728278145026184310672633645641700732291542811057990742838365066341014265183949971790930431087121056345347741501667746148234688653065189269356885872908647581204650438736957716528711548574555583977239301969823515430537595181395319473570033411789209713074292228145962019286962544117035974563318921268241513986555088394502711032433789248734183877010959345104750102614262227563661010217640141350231316347211768763385670337883433049195056061300162041862964241528184097908283230852906666992480893473206747006312106694438401261591124362380788902882710265313013071263115504159140550179707220633782158597940373880726872858838789886163551228708805088540541574505134133745949431125107024728689987177439066224173647204385151471810845156172459609697201263898819372465925856032821983943945509201296896112993390414319772317613998628115011584901662481020736975231857679558573639533120123760882987807897148264001476729480741158503008405824181375825684426593602078107066384305742314153383784825815001170364503279303283157714730965700730790958163526085614077255893030881612578737162635171062435305862363661501175783671862584712802832632731639923317926092501167046294294878922434436385815597766578254085927198853219424480746368612964091254086956730350365974846418411767133289280026522101904776721397535481072023153960396155426365282526318432948840966649466716318812335304612541684202901596339076117983534399558629308180937552570931412127563964839611720473046765641026358839977096301838517860717992220124429055320994261412222457829626748188314831526678529121257451724121669436757611557692716596947663821034873517375372433749628434475153359120061495211777091719559441963916844642691242108239222713715540944215042751815205832903182816602051553000809853471087600226541940973229542173962641860015572714026730877762563780111880467244618055586935195897209646109126685288690235443479134420307287200865787784854857681194140932834097813623138157320433948668365280904196167520730495552269155400544459597418276177569668057444229387270850059959177577695113400939572251098823419194625556857107173746511343007800181920881221537624681494893301655822089723344553388000429323171176866004751029713971505534118999127107434111180853160547174861752751626348577776330731649967976997705926985766161797485058129299093471507452375539795559192778297669346728516427619455250496404870474371468200079265657822190324253008657280022070822577899305872108909461787244531453423119105988731060885667270673906364763727364896807710566881055215730830049911805272377486610061004335421869816885849669495243455855042551121024488255660795663819648501724149284790298092093372482653444084141453024908635847938874074697818854837695253972630804930011048531224322683145833842458520248412423153952435022528345724977763280584053398449746120516553508775326815255194777552247568789127161127121523667078092192754147983382483439483110519687390499526362703620317546913529048991244723833568395254652779389245457001074904459611968988017810125634688718594557512726477640828469923085023078927441553690015369298834217415908971293929662509893318732156287214572953717271547294454739080159480184708525419270198385219963884877884002278754278750609561959567609573219604469598655354749579234218685586373052244170384013165767049118076193618533398406013188209001235766656057471022713158458115640722513614902460046359982042188094125956149263515692514917141235851596188317125234698698143445430710086862519687007887491677593147363567434012996511611208264524292392041796094719104232814767772523351970722422038548274955882602506325735217927052884736197570933812826973727984393449854685360152304385913054039591824514239463064574006576447070168308785658334189143136583726277476279484040055265195370002967927103157598498988314064461158492527567235388273093138250126070907284091661168961258085026365164006756510037480113146444863049857410441189627990753392734989779344967229909893545831260919205642629882485159098157638129076046041748514665632636070142935578386099836275589388930926240584371164648614330272952273803821934246410548896732021483600216257876390203223583811752097414977367601275058587892151481717977645237081174997478084219478623660424162752880192868685884668880148643205675563808348487798702434249814028000489387319267434376798624197140709588473161705863149798376475260131435650698866424963700821352635427311875603754398568456694493029785421376982682568805861337391799580504924932794556653379358767208890415958085613545957157879585738485216752347809889677342570960091355021080407464763338564493970911651840304968787953757264726616132058769535451536129440982464344457257409571874631344070375729511782691987208945139373059377362044678441485767885356392625676743825088107696059578436822101089587320629680572375297507439230177389257372694401026822808373497528093968027287143301629103846534858625188325762033439196480397732997628503014649621121690269155702957775533169864904892182237683246347572084245365191125792238162832968930393778486311914591336488816372341376522067036860976397292954319050636670890190881862580303324718499511813664256650581668171314625522576463828792300817636790551747752178963893094026368249871063740051957677459820923123398315939696748427420043893707187931413132194983048121141633208572619318118682144503976902886475074725995927488015931697855547875567877957092844564972845868112467386799220810631963984802801245465491999492342994359330345557818309230549781190666893419855523650310406258181966733177334063917199888119119548767752141086258162376401893740900149055101692383716437730051535448970252369139807831334212981351808475128436325511506521306376541098272413318178788027577886741756988051386311777882287391881862854060744982292039961563494441320610172547471281354491811089427667941553096792539866778533112339401492150191478610168187813943366146939613944255787812295363788871264558245650366272976585990903261089635305905742282528531617124236257160918684087656849837574980709007634462794039027502516932254792552278738094881287976286091303833032328709898177754381747211550369182625253816956570895415702356703647970398979022104775855650022923491671389932150050238130342993219290079594357803961156906483525731193515143667409605342655206986539810441729034123792850051347539305704207486216981192413978602284363056867626486373038246244839413072201313630754273638937315123889266770682128882430762690059836369951715002691645372943891194536056518939393483536344089949823186946555884678988010580615983982479704610187475910957396703374352600973214429895438876454557725931764099504166221965567851477778524080688479039673549688608223453815640594482798578256595213089270083559888919481365699489637100462903261695502194644348626336709527606095941785695581152441637033674790821685888023791364256305622601762475611441750013106178994593770221066022071023423181155633034817805122802161398524935744545943741207082734764334825940768852393487409193252192043890560912706601726987758753067561041148319622385097614386639073680669427818858042442429654858229935977397707681836665668775740641201467318749912966028972169793293390466868251643453919856849649464322290493048735341721271287419107657917313905525324948586326718627816214107076707368817487170052506253995767034921526007809581573945253151822834749452099415021388971615151747053427766692853648240012116610723886125081342994287489545235725721142914067970761305543646806858970499351876132153368421770237795532592261530517822610356843765148217108907994757920134143467540976888459223968533993602900377353953544172817792180535262936919969492569469436153458748985127294759494223048694113803447594333559542494170015852179431982487558567762644873232582846206118354511361889465074082198622487687130683064905826980365281361526563926662405093323369953815510290733148417577099131665373904594606446101445456737906257234215611047930895015327467213852058204569126364764390657202470807122594170585907633466485519524155064808028487628723708474385722676764531471034749556194317090053532721523949569733293990221599435614437855978142064057941350647248869502882171365376482071435295878341415878631076359405882902371556731407341889179961545506866186248441345259419590661969374361882364592061478559916225955206538184816386679967482441838049310905079233609878397934734816175948993752695074814067593455911713281951234584719671148856291994006466814477367850543107690771346327489500529747440674930090756702297261679187551872345086063837394259531898709135941627900148238103139796982138624016618320937655921765263711024009874698746369080375567901724255684972797468157046157244471404374772222761078870327589465169246896223399414535889927524097257658342338819602157586456758679350724006766498955644886341578770464217114532766965311558328771842477936179644154648725549016964555717358267421129406002607793307439153514126492562540286438784812980066800677318313791389822961787325992391015069754823380173916313596635123798266301750265370600068685480969393442609603956119372421591853151722808583669735059915582753550715486399760012328047281867317279176872125198538864086215345171359356062618339888269196615849878341009901174366182431568400817312255199337667870427164058252046691141588462611695798445898455666744650148543174273924084039433899774435857949430043993897554400048319814689695862859159318872535204748251144962702162463499737891432877223121909129098344855891760814617089321319951062904551654895337306129805913025944180906927502044419375620970439904558408425976746524919577422744604678047700295341856552182095320586852500585625664834503585589269368741216930474755189870268950484900669276439820744731551861384605719817230677305424393562608012347282106616739326341508184942013244631726891106292405240644550509393873680228562272071533052382956340446417148097972501997474543615397475518262648869520545135690881661356943350133932565706608146399718351491507472986333577842853498178674984672051322972654996461950987550865292528553620054954224913858166192474882035352357899732655030712160385609277387607740567177899255072891211576698669315915614623365514450273883629476310746756716923977433973982778866537623583659452653953536594305635259113791810456916740095328527216763001938091607108120211956569098947525776967516508899548558888706022782856287399631190569717979133974265816248963278960898161685096058601377782895534213136701479149191550214315794162212015792405661422845597673653182274714618069931744594221634105470177540427769803623211699582705445596866405927037514309107234351370362467425928846073566742931409335261734131864994298347945260635001131311920283905394751792800521660850627916150640677023274911592637202999772417492767266475033477116987488225402321678196203896707838129488510806857661805566699304194033908269506749978952496681544507895148734468513239756888440769289103653460242590706209377481163424447150937201817016411428938761225411412620391654920682653706041198253530963973664372010391746854260916537511407841070178312591009192581586245994250160312207757539666759964652436749624695710006526932049227367011260245836155602924015442624367872349380151723114491536701108462789811468407784363983688570272618639641206165586158836058493189251526501711694316986861847410525231500364251300122350716668571836339732659545049424088047941506679023857361785213178069306989586118887798676812702536322297205577220215669860213928976137767561270063683142657573175784228191236008498180382859203465059664323543054771844757547132314130392776344494173588299702326738416717900532663451394215114634754233027407799698068426715198497878488914782118398612098302405748157704352559685379793070036590846251648673361720445850857158040299680815524702003811717351151130675016102049780631424453367454840976211353451658442534353695502030234100441279085017434696680873502985153330640183412929532516173899867364725712657697298871021769976008801576464527000641600740268937101666222895652566156284601337220279359261104594072445817458590580761247693556209444191579981147963874551394904047417056078912565880591658060975546392462311882416441222311791167990180680463988443570241217782392857011867069680884244666593050092653665365976989558026022470608210613618754008458873824007001387382830148126034290344824191155415782018993342382704401188799702402584222440549094763577598172796167234130544210531502303550183844221220741663302428474645529415233450782908000520186885350457480593709781632911073809060760282828755283843146949436685051247670110734191688391328421684820072278551527252247123400889675092676047061214900279455779580400780351440717718674778598620334958799748366441005751435862051719573393022638455265338173691749329829929778792927209252299363226699669304396453808682352906829063954982628241054392382727084233234617853880930580558610693644662670411726208797563897182971330720340719082906323101468841115426963546938445791225705353254787304946539733594898724141144239697760300827426052047546961517686499286157967359499839068369711093213559834093305661759832640340481518447830683201238037573073034923371654932505878872286450948560812402475945000187368127335451061374922239755912496374931537669807313507757327703393109679583412696113635024212973064274613866852932449186237465546438109670833043105716515186564273683749679196522660307441709803046192255881017538101925341711174906379489848946543183123073850704626033418160529505869092989263318726560205879718746710875014131947022384457383962499831547580471246712917216156469789553191725652376211491125995382650530239607253861346335167367006691659966028436923879658028234167339264725812588477235925297234946767436813208967088950289371556162445134041599336856405446555784427112197397096142354676371339318021852771023427520971147023370996712955808700964370952675608644549934107066115121542769188598526262118995492677970580930459374737773107457949272307186334991083320194701617060222448587218509668328671651886238926306221826871145721997295311452888663168600722995588557783323760647463273077854230440154213720457216737087525982652611465497495713509174157083705468833373013337016415301982765023565706273266008704617324972753192632117961594037665018004375853454904736629326885577001853263670959707179272526044720607302590542747596167329895801318010550294881949223256213411400071462361369097478818385742424692728771718912318234303492676110785585739857570888109161990160017692865060183371987768567018136294489362027824589233399076038416442405520151811644763440205702650680025924476610505028745688504247111678762224045221283096030107602175893024030459033747969960600443330998917435797697383440847520855882734028891054039283180622802306687316484472671191764170740047114602134544535641844189889350023046074789812124132332044995315682443311940131237405896121697516399290661444783920628389485361936617903271547246578586588213410236767354269988120357660566929203939444570114524798976752515218892046013824072470089741792712786458082533243339059588785186650352493604709184193892983514025539509616376413891859366013242240080250264810939658861895357096614826904672377530270910959237339630961600122762109741659179671379165605488670056747427195521661418156357992518033406601044885914675963132267191743621957740870131565200569814713941503376525665160558639143193925098588395597155080257670477129797124530700682326208118090805806565184069973068574441850966345354706260447908923069673295013426213294385861485283045526462538910735239460168488142702069095056571491196157747662650853217993014174291374613139589188363417133144936382540619731804232898205864880307208087840884848876477489295453300504999568595984028183835344409608947613554429811290658673416210997385846311057382995622227388628383002600925807935364764753805536473373042553523506494464273041118615605223474159050130879162551582336724424932137833056232399437260930621307664984546268959827054796391535053320424643046532913633160819503216272678658014010706235559062809831299809686238564680790862469449505263443747498977606156134542922058983751515164157048624030293978121341128177071253985686147852533802848547775086695679833627111462536654859577282475780846461565189536035166955634705171744938300758779944594645916609102224507570136382682628523270787623779589768607029522318485609540598020592940946392546384543280354584125916264777139172068918782670931067827455266383649518823913525239503517274250021483671296305694299466787403911632714464796411593102671583803660425009005339500056862810182600815001757735456392819092858686950678352253153456271742089833433030555766787058325010699947395021193671748759569098245507987499499130291494435775798740205225920307409292271104005670294370337410921036724331843314258158403913990805229275378559782413717928224042367417709599302966953490270238694661112359496953830498606784086438372332141905196621252608484903687514985520273710106772313187568996928678292720413797110285934416720410111115601235526412384798791063347220588956009736331231453902124956053151113367239913266090823848247117856982320160551433853975201313806565148854695076651889074976978199892903962068904016329525573490958346004760162715233725757803465309718186604184926868685525872993179978915754421084594607974740535017537734343543579643137591692664653905427908699436038065818151075562435695890155000609557516570170141099008287634733300449818188760610410712309733549085797495398813231519514139193077136152360715650093377121558543922877012926393674012695988637131930545948422722030271950551217705562608957920201803558894740225517435374934100595243786738844056747849807712873958505622744117603938633362313174420777198023964122480866427151095280237830022202126847305191925763944293750271166321136479408816411259706704707176798921240927206212979330109057027342875662697738866593403733239051077371447772514786787039513896399353047080330466797586473780207556952745462127653719377851265838514878004295243121869736481925289075648718207159851359469162601942518250494617918043717238852062671205512961102844180890636998724726401640761659927208881766930562262234984630179192439049148406276986493553948259214647576621498217749240555076085542414395891641401827725290139788395782142333684468030484773879148913868787985969840132 79221136326288413549090453617582214988603149380032775393045753873679347103737428810698791647263113706575282689198477135930652137291317188670030006057926509831856472550143054466006425134587034426949120010210832597783143689081004098970652114673282224426184172485773967049733965817226715156969648131835381010189470025770375559444559659305270898952170617343578663720139463438305206193729450577009951868047317341521679722886752217921827822705466305632297648679105292595306982225729633137305184703173136534319068330149229142960259210328722455601450057473003629441834416962669954405564521304502500726298911194393554191501157954017925309977598836623748100506311537547090223313424323313673085311409323919977212070953990949404412305207140907616619412378270976434206887105501661848469182736298770557698748104969475842500166345456724876246803841548685455561851856586967869889986216391448174596518073583228454703935275996041071738034755239225816281721293011288588359444337681021846829274952700086230836341401062887321604178406708278357480439226036171803414304571700770050264769130291420603534822495795966981715612394351588510056912232508637273573895372779156159436797233748213294951636931736322625278881149941049169682180025310119656903852664689348405476728233436921288688205034751242856813863451202798101231235894933014025474654357904163264189792879110990531247061528782494741231885291482973616690359904394443018958369073484128300703937149692838128916254439952768266768999800895221352172804608885628145520829329108509888656265795056847497582709463200002373315731960683089450281141672128908771066872542843950397795050900482861371828770525181267955544208230938560999841196913163882946371552828126583680248944964520944418180558701521838650855170095150234372062727397690674991347946365752214498420657007149585319909260780872426315558079608099072865828174703417406185318728278145026184310672633645641700732291542811057990742838365066341014265183949971790930431087121056345347741501667746148234688653065189269356885872908647581204650438736957716528711548574555583977239301969823515430537595181395319473570033411789209713074292228145962019286962544117035974563318921268241513986555088394502711032433789248734183877010959345104750102614262227563661010217640141350231316347211768763385670337883433049195056061300162041862964241528184097908283230852906666992480893473206747006312106694438401261591124362380788902882710265313013071263115504159140550179707220633782158597940373880726872858838789886163551228708805088540541574505134133745949431125107024728689987177439066224173647204385151471810845156172459609697201263898819372465925856032821983943945509201296896112993390414319772317613998628115011584901662481020736975231857679558573639533120123760882987807897148264001476729480741158503008405824181375825684426593602078107066384305742314153383784825815001170364503279303283157714730965700730790958163526085614077255893030881612578737162635171062435305862363661501175783671862584712802832632731639923317926092501167046294294878922434436385815597766578254085927198853219424480746368612964091254086956730350365974846418411767133289280026522101904776721397535481072023153960396155426365282526318432948840966649466716318812335304612541684202901596339076117983534399558629308180937552570931412127563964839611720473046765641026358839977096301838517860717992220124429055320994261412222457829626748188314831526678529121257451724121669436757611557692716596947663821034873517375372433749628434475153359120061495211777091719559441963916844642691242108239222713715540944215042751815205832903182816602051553000809853471087600226541940973229542173962641860015572714026730877762563780111880467244618055586935195897209646109126685288690235443479134420307287200865787784854857681194140932834097813623138157320433948668365280904196167520730495552269155400544459597418276177569668057444229387270850059959177577695113400939572251098823419194625556857107173746511343007800181920881221537624681494893301655822089723344553388000429323171176866004751029713971505534118999127107434111180853160547174861752751626348577776330731649967976997705926985766161797485058129299093471507452375539795559192778297669346728516427619455250496404870474371468200079265657822190324253008657280022070822577899305872108909461787244531453423119105988731060885667270673906364763727364896807710566881055215730830049911805272377486610061004335421869816885849669495243455855042551121024488255660795663819648501724149284790298092093372482653444084141453024908635847938874074697818854837695253972630804930011048531224322683145833842458520248412423153952435022528345724977763280584053398449746120516553508775326815255194777552247568789127161127121523667078092192754147983382483439483110519687390499526362703620317546913529048991244723833568395254652779389245457001074904459611968988017810125634688718594557512726477640828469923085023078927441553690015369298834217415908971293929662509893318732156287214572953717271547294454739080159480184708525419270198385219963884877884002278754278750609561959567609573219604469598655354749579234218685586373052244170384013165767049118076193618533398406013188209001235766656057471022713158458115640722513614902460046359982042188094125956149263515692514917141235851596188317125234698698143445430710086862519687007887491677593147363567434012996511611208264524292392041796094719104232814767772523351970722422038548274955882602506325735217927052884736197570933812826973727984393449854685360152304385913054039591824514239463064574006576447070168308785658334189143136583726277476279484040055265195370002967927103157598498988314064461158492527567235388273093138250126070907284091661168961258085026365164006756510037480113146444863049857410441189627990753392734989779344967229909893545831260919205642629882485159098157638129076046041748514665632636070142935578386099836275589388930926240584371164648614330272952273803821934246410548896732021483600216257876390203223583811752097414977367601275058587892151481717977645237081174997478084219478623660424162752880192868685884668880148643205675563808348487798702434249814028000489387319267434376798624197140709588473161705863149798376475260131435650698866424963700821352635427311875603754398568456694493029785421376982682568805861337391799580504924932794556653379358767208890415958085613545957157879585738485216752347809889677342570960091355021080407464763338564493970911651840304968787953757264726616132058769535451536129440982464344457257409571874631344070375729511782691987208945139373059377362044678441485767885356392625676743825088107696059578436822101089587320629680572375297507439230177389257372694401026822808373497528093968027287143301629103846534858625188325762033439196480397732997628503014649621121690269155702957775533169864904892182237683246347572084245365191125792238162832968930393778486311914591336488816372341376522067036860976397292954319050636670890190881862580303324718499511813664256650581668171314625522576463828792300817636790551747752178963893094026368249871063740051957677459820923123398315939696748427420043893707187931413132194983048121141633208572619318118682144503976902886475074725995927488015931697855547875567877957092844564972845868112467386799220810631963984802801245465491999492342994359330345557818309230549781190666893419855523650310406258181966733177334063917199888119119548767752141086258162376401893740900149055101692383716437730051535448970252369139807831334212981351808475128436325511506521306376541098272413318178788027577886741756988051386311777882287391881862854060744982292039961563494441320610172547471281354491811089427667941553096792539866778533112339401492150191478610168187813943366146939613944255787812295363788871264558245650366272976585990903261089635305905742282528531617124236257160918684087656849837574980709007634462794039027502516932254792552278738094881287976286091303833032328709898177754381747211550369182625253816956570895415702356703647970398979022104775855650022923491671389932150050238130342993219290079594357803961156906483525731193515143667409605342655206986539810441729034123792850051347539305704207486216981192413978602284363056867626486373038246244839413072201313630754273638937315123889266770682128882430762690059836369951715002691645372943891194536056518939393483536344089949823186946555884678988010580615983982479704610187475910957396703374352600973214429895438876454557725931764099504166221965567851477778524080688479039673549688608223453815640594482798578256595213089270083559888919481365699489637100462903261695502194644348626336709527606095941785695581152441637033674790821685888023791364256305622601762475611441750013106178994593770221066022071023423181155633034817805122802161398524935744545943741207082734764334825940768852393487409193252192043890560912706601726987758753067561041148319622385097614386639073680669427818858042442429654858229935977397707681836665668775740641201467318749912966028972169793293390466868251643453919856849649464322290493048735341721271287419107657917313905525324948586326718627816214107076707368817487170052506253995767034921526007809581573945253151822834749452099415021388971615151747053427766692853648240012116610723886125081342994287489545235725721142914067970761305543646806858970499351876132153368421770237795532592261530517822610356843765148217108907994757920134143467540976888459223968533993602900377353953544172817792180535262936919969492569469436153458748985127294759494223048694113803447594333559542494170015852179431982487558567762644873232582846206118354511361889465074082198622487687130683064905826980365281361526563926662405093323369953815510290733148417577099131665373904594606446101445456737906257234215611047930895015327467213852058204569126364764390657202470807122594170585907633466485519524155064808028487628723708474385722676764531471034749556194317090053532721523949569733293990221599435614437855978142064057941350647248869502882171365376482071435295878341415878631076359405882902371556731407341889179961545506866186248441345259419590661969374361882364592061478559916225955206538184816386679967482441838049310905079233609878397934734816175948993752695074814067593455911713281951234584719671148856291994006466814477367850543107690771346327489500529747440674930090756702297261679187551872345086063837394259531898709135941627900148238103139796982138624016618320937655921765263711024009874698746369080375567901724255684972797468157046157244471404374772222761078870327589465169246896223399414535889927524097257658342338819602157586456758679350724006766498955644886341578770464217114532766965311558328771842477936179644154648725549016964555717358267421129406002607793307439153514126492562540286438784812980066800677318313791389822961787325992391015069754823380173916313596635123798266301750265370600068685480969393442609603956119372421591853151722808583669735059915582753550715486399760012328047281867317279176872125198538864086215345171359356062618339888269196615849878341009901174366182431568400817312255199337667870427164058252046691141588462611695798445898455666744650148543174273924084039433899774435857949430043993897554400048319814689695862859159318872535204748251144962702162463499737891432877223121909129098344855891760814617089321319951062904551654895337306129805913025944180906927502044419375620970439904558408425976746524919577422744604678047700295341856552182095320586852500585625664834503585589269368741216930474755189870268950484900669276439820744731551861384605719817230677305424393562608012347282106616739326341508184942013244631726891106292405240644550509393873680228562272071533052382956340446417148097972501997474543615397475518262648869520545135690881661356943350133932565706608146399718351491507472986333577842853498178674984672051322972654996461950987550865292528553620054954224913858166192474882035352357899732655030712160385609277387607740567177899255072891211576698669315915614623365514450273883629476310746756716923977433973982778866537623583659452653953536594305635259113791810456916740095328527216763001938091607108120211956569098947525776967516508899548558888706022782856287399631190569717979133974265816248963278960898161685096058601377782895534213136701479149191550214315794162212015792405661422845597673653182274714618069931744594221634105470177540427769803623211699582705445596866405927037514309107234351370362467425928846073566742931409335261734131864994298347945260635001131311920283905394751792800521660850627916150640677023274911592637202999772417492767266475033477116987488225402321678196203896707838129488510806857661805566699304194033908269506749978952496681544507895148734468513239756888440769289103653460242590706209377481163424447150937201817016411428938761225411412620391654920682653706041198253530963973664372010391746854260916537511407841070178312591009192581586245994250160312207757539666759964652436749624695710006526932049227367011260245836155602924015442624367872349380151723114491536701108462789811468407784363983688570272618639641206165586158836058493189251526501711694316986861847410525231500364251300122350716668571836339732659545049424088047941506679023857361785213178069306989586118887798676812702536322297205577220215669860213928976137767561270063683142657573175784228191236008498180382859203465059664323543054771844757547132314130392776344494173588299702326738416717900532663451394215114634754233027407799698068426715198497878488914782118398612098302405748157704352559685379793070036590846251648673361720445850857158040299680815524702003811717351151130675016102049780631424453367454840976211353451658442534353695502030234100441279085017434696680873502985153330640183412929532516173899867364725712657697298871021769976008801576464527000641600740268937101666222895652566156284601337220279359261104594072445817458590580761247693556209444191579981147963874551394904047417056078912565880591658060975546392462311882416441222311791167990180680463988443570241217782392857011867069680884244666593050092653665365976989558026022470608210613618754008458873824007001387382830148126034290344824191155415782018993342382704401188799702402584222440549094763577598172796167234130544210531502303550183844221220741663302428474645529415233450782908000520186885350457480593709781632911073809060760282828755283843146949436685051247670110734191688391328421684820072278551527252247123400889675092676047061214900279455779580400780351440717718674778598620334958799748366441005751435862051719573393022638455265338173691749329829929778792927209252299363226699669304396453808682352906829063954982628241054392382727084233234617853880930580558610693644662670411726208797563897182971330720340719082906323101468841115426963546938445791225705353254787304946539733594898724141144239697760300827426052047546961517686499286157967359499839068369711093213559834093305661759832640340481518447830683201238037573073034923371654932505878872286450948560812402475945000187368127335451061374922239755912496374931537669807313507757327703393109679583412696113635024212973064274613866852932449186237465546438109670833043105716515186564273683749679196522660307441709803046192255881017538101925341711174906379489848946543183123073850704626033418160529505869092989263318726560205879718746710875014131947022384457383962499831547580471246712917216156469789553191725652376211491125995382650530239607253861346335167367006691659966028436923879658028234167339264725812588477235925297234946767436813208967088950289371556162445134041599336856405446555784427112197397096142354676371339318021852771023427520971147023370996712955808700964370952675608644549934107066115121542769188598526262118995492677970580930459374737773107457949272307186334991083320194701617060222448587218509668328671651886238926306221826871145721997295311452888663168600722995588557783323760647463273077854230440154213720457216737087525982652611465497495713509174157083705468833373013337016415301982765023565706273266008704617324972753192632117961594037665018004375853454904736629326885577001853263670959707179272526044720607302590542747596167329895801318010550294881949223256213411400071462361369097478818385742424692728771718912318234303492676110785585739857570888109161990160017692865060183371987768567018136294489362027824589233399076038416442405520151811644763440205702650680025924476610505028745688504247111678762224045221283096030107602175893024030459033747969960600443330998917435797697383440847520855882734028891054039283180622802306687316484472671191764170740047114602134544535641844189889350023046074789812124132332044995315682443311940131237405896121697516399290661444783920628389485361936617903271547246578586588213410236767354269988120357660566929203939444570114524798976752515218892046013824072470089741792712786458082533243339059588785186650352493604709184193892983514025539509616376413891859366013242240080250264810939658861895357096614826904672377530270910959237339630961600122762109741659179671379165605488670056747427195521661418156357992518033406601044885914675963132267191743621957740870131565200569814713941503376525665160558639143193925098588395597155080257670477129797124530700682326208118090805806565184069973068574441850966345354706260447908923069673295013426213294385861485283045526462538910735239460168488142702069095056571491196157747662650853217993014174291374613139589188363417133144936382540619731804232898205864880307208087840884848876477489295453300504999568595984028183835344409608947613554429811290658673416210997385846311057382995622227388628383002600925807935364764753805536473373042553523506494464273041118615605223474159050130879162551582336724424932137833056232399437260930621307664984546268959827054796391535053320424643046532913633160819503216272678658014010706235559062809831299809686238564680790862469449505263443747498977606156134542922058983751515164157048624030293978121341128177071253985686147852533802848547775086695679833627111462536654859577282475780846461565189536035166955634705171744938300758779944594645916609102224507570136382682628523270787623779589768607029522318485609540598020592940946392546384543280354584125916264777139172068918782670931067827455266383649518823913525239503517274250021483671296305694299466787403911632714464796411593102671583803660425009005339500056862810182600815001757735456392819092858686950678352253153456271742089833433030555766787058325010699947395021193671748759569098245507987499499130291494435775798740205225920307409292271104005670294370337410921036724331843314258158403913990805229275378559782413717928224042367417709599302966953490270238694661112359496953830498606784086438372332141905196621252608484903687514985520273710106772313187568996928678292720413797110285934416720410111115601235526412384798791063347220588956009736331231453902124956053151113367239913266090823848247117856982320160551433853975201313806565148854695076651889074976978199892903962068904016329525573490958346004760162715233725757803465309718186604184926868685525872993179978915754421084594607974740535017537734343543579643137591692664653905427908699436038065818151075562435695890155000609557516570170141099008287634733300449818188760610410712309733549085797495398813231519514139193077136152360715650093377121558543922877012926393674012695988637131930545948422722030271950551217705562608957920201803558894740225517435374934100595243786738844056747849807712873958505622744117603938633362313174420777198023964122480866427151095280237830022202126847305191925763944293750271166321136479408816411259706704707176798921240927206212979330109057027342875662697738866593403733239051077371447772514786787039513896399353047080330466797586473780207556952745462127653719377851265838514878004295243121869736481925289075648718207159851359469162601942518250494617918043717238852062671205512961102844180890636998724726401640761659927208881766930562262234984630179192439049148406276986493553948259214647576621498217749240555076085542414395891641401827725290139788395782142333684468030484773879148913868787985969840132 | o3 : MutableMatrix |
i4 : fillMatrix(mutableMatrix(QQ,5,10),Density=>.2,Height=>1000) o4 = | . 190/463 434/201 34/455 . . . . . 977/668 | | . 385/563 . . . . 651/94 . 111/143 . | | 332/67 . . . 803/12 . . 212/535 . . | | 101/121 . 677/726 . . . 229/37 . . 54/179 | | . . . . . . . . . 991/549 | o4 : MutableMatrix |
i5 : fillMatrix(mutableMatrix(ZZ,5,10),25,Height=>1000) o5 = | . . . . . . . . . . | | . . . . . 79221136326288413549090453617582214988603149380032775393045753873679347103737428810698791647263113706575282689198477135930652137291317188670030006057926509831856472550143054466006425134587034426949120010210832597783143689081004098970652114673282224426184172485773967049733965817226715156969648131835381010189470025770375559444559659305270898952170617343578663720139463438305206193729450577009951868047317341521679722886752217921827822705466305632297648679105292595306982225729633137305184703173136534319068330149229142960259210328722455601450057473003629441834416962669954405564521304502500726298911194393554191501157954017925309977598836623748100506311537547090223313424323313673085311409323919977212070953990949404412305207140907616619412378270976434206887105501661848469182736298770557698748104969475842500166345456724876246803841548685455561851856586967869889986216391448174596518073583228454703935275996041071738034755239225816281721293011288588359444337681021846829274952700086230836341401062887321604178406708278357480439226036171803414304571700770050264769130291420603534822495795966981715612394351588510056912232508637273573895372779156159436797233748213294951636931736322625278881149941049169682180025310119656903852664689348405476728233436921288688205034751242856813863451202798101231235894933014025474654357904163264189792879110990531247061528782494741231885291482973616690359904394443018958369073484128300703937149692838128916254439952768266768999800895221352172804608885628145520829329108509888656265795056847497582709463200002373315731960683089450281141672128908771066872542843950397795050900482861371828770525181267955544208230938560999841196913163882946371552828126583680248944964520944418180558701521838650855170095150234372062727397690674991347946365752214498420657007149585319909260780872426315558079608099072865828174703417406185318728278145026184310672633645641700732291542811057990742838365066341014265183949971790930431087121056345347741501667746148234688653065189269356885872908647581204650438736957716528711548574555583977239301969823515430537595181395319473570033411789209713074292228145962019286962544117035974563318921268241513986555088394502711032433789248734183877010959345104750102614262227563661010217640141350231316347211768763385670337883433049195056061300162041862964241528184097908283230852906666992480893473206747006312106694438401261591124362380788902882710265313013071263115504159140550179707220633782158597940373880726872858838789886163551228708805088540541574505134133745949431125107024728689987177439066224173647204385151471810845156172459609697201263898819372465925856032821983943945509201296896112993390414319772317613998628115011584901662481020736975231857679558573639533120123760882987807897148264001476729480741158503008405824181375825684426593602078107066384305742314153383784825815001170364503279303283157714730965700730790958163526085614077255893030881612578737162635171062435305862363661501175783671862584712802832632731639923317926092501167046294294878922434436385815597766578254085927198853219424480746368612964091254086956730350365974846418411767133289280026522101904776721397535481072023153960396155426365282526318432948840966649466716318812335304612541684202901596339076117983534399558629308180937552570931412127563964839611720473046765641026358839977096301838517860717992220124429055320994261412222457829626748188314831526678529121257451724121669436757611557692716596947663821034873517375372433749628434475153359120061495211777091719559441963916844642691242108239222713715540944215042751815205832903182816602051553000809853471087600226541940973229542173962641860015572714026730877762563780111880467244618055586935195897209646109126685288690235443479134420307287200865787784854857681194140932834097813623138157320433948668365280904196167520730495552269155400544459597418276177569668057444229387270850059959177577695113400939572251098823419194625556857107173746511343007800181920881221537624681494893301655822089723344553388000429323171176866004751029713971505534118999127107434111180853160547174861752751626348577776330731649967976997705926985766161797485058129299093471507452375539795559192778297669346728516427619455250496404870474371468200079265657822190324253008657280022070822577899305872108909461787244531453423119105988731060885667270673906364763727364896807710566881055215730830049911805272377486610061004335421869816885849669495243455855042551121024488255660795663819648501724149284790298092093372482653444084141453024908635847938874074697818854837695253972630804930011048531224322683145833842458520248412423153952435022528345724977763280584053398449746120516553508775326815255194777552247568789127161127121523667078092192754147983382483439483110519687390499526362703620317546913529048991244723833568395254652779389245457001074904459611968988017810125634688718594557512726477640828469923085023078927441553690015369298834217415908971293929662509893318732156287214572953717271547294454739080159480184708525419270198385219963884877884002278754278750609561959567609573219604469598655354749579234218685586373052244170384013165767049118076193618533398406013188209001235766656057471022713158458115640722513614902460046359982042188094125956149263515692514917141235851596188317125234698698143445430710086862519687007887491677593147363567434012996511611208264524292392041796094719104232814767772523351970722422038548274955882602506325735217927052884736197570933812826973727984393449854685360152304385913054039591824514239463064574006576447070168308785658334189143136583726277476279484040055265195370002967927103157598498988314064461158492527567235388273093138250126070907284091661168961258085026365164006756510037480113146444863049857410441189627990753392734989779344967229909893545831260919205642629882485159098157638129076046041748514665632636070142935578386099836275589388930926240584371164648614330272952273803821934246410548896732021483600216257876390203223583811752097414977367601275058587892151481717977645237081174997478084219478623660424162752880192868685884668880148643205675563808348487798702434249814028000489387319267434376798624197140709588473161705863149798376475260131435650698866424963700821352635427311875603754398568456694493029785421376982682568805861337391799580504924932794556653379358767208890415958085613545957157879585738485216752347809889677342570960091355021080407464763338564493970911651840304968787953757264726616132058769535451536129440982464344457257409571874631344070375729511782691987208945139373059377362044678441485767885356392625676743825088107696059578436822101089587320629680572375297507439230177389257372694401026822808373497528093968027287143301629103846534858625188325762033439196480397732997628503014649621121690269155702957775533169864904892182237683246347572084245365191125792238162832968930393778486311914591336488816372341376522067036860976397292954319050636670890190881862580303324718499511813664256650581668171314625522576463828792300817636790551747752178963893094026368249871063740051957677459820923123398315939696748427420043893707187931413132194983048121141633208572619318118682144503976902886475074725995927488015931697855547875567877957092844564972845868112467386799220810631963984802801245465491999492342994359330345557818309230549781190666893419855523650310406258181966733177334063917199888119119548767752141086258162376401893740900149055101692383716437730051535448970252369139807831334212981351808475128436325511506521306376541098272413318178788027577886741756988051386311777882287391881862854060744982292039961563494441320610172547471281354491811089427667941553096792539866778533112339401492150191478610168187813943366146939613944255787812295363788871264558245650366272976585990903261089635305905742282528531617124236257160918684087656849837574980709007634462794039027502516932254792552278738094881287976286091303833032328709898177754381747211550369182625253816956570895415702356703647970398979022104775855650022923491671389932150050238130342993219290079594357803961156906483525731193515143667409605342655206986539810441729034123792850051347539305704207486216981192413978602284363056867626486373038246244839413072201313630754273638937315123889266770682128882430762690059836369951715002691645372943891194536056518939393483536344089949823186946555884678988010580615983982479704610187475910957396703374352600973214429895438876454557725931764099504166221965567851477778524080688479039673549688608223453815640594482798578256595213089270083559888919481365699489637100462903261695502194644348626336709527606095941785695581152441637033674790821685888023791364256305622601762475611441750013106178994593770221066022071023423181155633034817805122802161398524935744545943741207082734764334825940768852393487409193252192043890560912706601726987758753067561041148319622385097614386639073680669427818858042442429654858229935977397707681836665668775740641201467318749912966028972169793293390466868251643453919856849649464322290493048735341721271287419107657917313905525324948586326718627816214107076707368817487170052506253995767034921526007809581573945253151822834749452099415021388971615151747053427766692853648240012116610723886125081342994287489545235725721142914067970761305543646806858970499351876132153368421770237795532592261530517822610356843765148217108907994757920134143467540976888459223968533993602900377353953544172817792180535262936919969492569469436153458748985127294759494223048694113803447594333559542494170015852179431982487558567762644873232582846206118354511361889465074082198622487687130683064905826980365281361526563926662405093323369953815510290733148417577099131665373904594606446101445456737906257234215611047930895015327467213852058204569126364764390657202470807122594170585907633466485519524155064808028487628723708474385722676764531471034749556194317090053532721523949569733293990221599435614437855978142064057941350647248869502882171365376482071435295878341415878631076359405882902371556731407341889179961545506866186248441345259419590661969374361882364592061478559916225955206538184816386679967482441838049310905079233609878397934734816175948993752695074814067593455911713281951234584719671148856291994006466814477367850543107690771346327489500529747440674930090756702297261679187551872345086063837394259531898709135941627900148238103139796982138624016618320937655921765263711024009874698746369080375567901724255684972797468157046157244471404374772222761078870327589465169246896223399414535889927524097257658342338819602157586456758679350724006766498955644886341578770464217114532766965311558328771842477936179644154648725549016964555717358267421129406002607793307439153514126492562540286438784812980066800677318313791389822961787325992391015069754823380173916313596635123798266301750265370600068685480969393442609603956119372421591853151722808583669735059915582753550715486399760012328047281867317279176872125198538864086215345171359356062618339888269196615849878341009901174366182431568400817312255199337667870427164058252046691141588462611695798445898455666744650148543174273924084039433899774435857949430043993897554400048319814689695862859159318872535204748251144962702162463499737891432877223121909129098344855891760814617089321319951062904551654895337306129805913025944180906927502044419375620970439904558408425976746524919577422744604678047700295341856552182095320586852500585625664834503585589269368741216930474755189870268950484900669276439820744731551861384605719817230677305424393562608012347282106616739326341508184942013244631726891106292405240644550509393873680228562272071533052382956340446417148097972501997474543615397475518262648869520545135690881661356943350133932565706608146399718351491507472986333577842853498178674984672051322972654996461950987550865292528553620054954224913858166192474882035352357899732655030712160385609277387607740567177899255072891211576698669315915614623365514450273883629476310746756716923977433973982778866537623583659452653953536594305635259113791810456916740095328527216763001938091607108120211956569098947525776967516508899548558888706022782856287399631190569717979133974265816248963278960898161685096058601377782895534213136701479149191550214315794162212015792405661422845597673653182274714618069931744594221634105470177540427769803623211699582705445596866405927037514309107234351370362467425928846073566742931409335261734131864994298347945260635001131311920283905394751792800521660850627916150640677023274911592637202999772417492767266475033477116987488225402321678196203896707838129488510806857661805566699304194033908269506749978952496681544507895148734468513239756888440769289103653460242590706209377481163424447150937201817016411428938761225411412620391654920682653706041198253530963973664372010391746854260916537511407841070178312591009192581586245994250160312207757539666759964652436749624695710006526932049227367011260245836155602924015442624367872349380151723114491536701108462789811468407784363983688570272618639641206165586158836058493189251526501711694316986861847410525231500364251300122350716668571836339732659545049424088047941506679023857361785213178069306989586118887798676812702536322297205577220215669860213928976137767561270063683142657573175784228191236008498180382859203465059664323543054771844757547132314130392776344494173588299702326738416717900532663451394215114634754233027407799698068426715198497878488914782118398612098302405748157704352559685379793070036590846251648673361720445850857158040299680815524702003811717351151130675016102049780631424453367454840976211353451658442534353695502030234100441279085017434696680873502985153330640183412929532516173899867364725712657697298871021769976008801576464527000641600740268937101666222895652566156284601337220279359261104594072445817458590580761247693556209444191579981147963874551394904047417056078912565880591658060975546392462311882416441222311791167990180680463988443570241217782392857011867069680884244666593050092653665365976989558026022470608210613618754008458873824007001387382830148126034290344824191155415782018993342382704401188799702402584222440549094763577598172796167234130544210531502303550183844221220741663302428474645529415233450782908000520186885350457480593709781632911073809060760282828755283843146949436685051247670110734191688391328421684820072278551527252247123400889675092676047061214900279455779580400780351440717718674778598620334958799748366441005751435862051719573393022638455265338173691749329829929778792927209252299363226699669304396453808682352906829063954982628241054392382727084233234617853880930580558610693644662670411726208797563897182971330720340719082906323101468841115426963546938445791225705353254787304946539733594898724141144239697760300827426052047546961517686499215286946912115695254075355830259027832071884029702562735494425377483118322954331921903363250082500469425799174190443792378664442609668389809292715747442728261104057159403046029354348854081362210351403609213873516864619914940327376491482361257397018311601245104220160902827818656188475939462094686499829045336916823240369832468356579523561345523753188223264345478429094340851372771053067637475679342539408456903231828872799930817581833439870712917418826843067896199373130271288943225181644948436774089399904458030735906319863043957331156045424963770688947466084889307668288017861339842181172042726613883141351191946502032310801472904719851519010317205396742332805966529682346479711843615690813680991171119080478015996824605201884259938178327059778427705690165800093885783487243551848412563724052833048053938777061840016039880805180216862163933686912114440387470223690208188772552878220572738123602652179156338205514875086851896614251718730064421549242865868784336065175565809141232179316340986671299518880775846771213786359638973258526041876685988802771745035634109202610454676852913515809745013087114908255827341976713360684166599637471067502080846934028457279122877839953147357045264558228067858304748256702443186153813474105077004037127372084978590676194364870077372863919078432479541812484249945770665687097130554886703984565666761565719480729549387483082392079921320407529213030266573141965767725171518976692790264186777951789494714376261883476100674348793960698920132272895809728836718405181042042166200242323811773354781287658607460464937393102526985242181693805608728998782133113765675901089571688450387452224568913998059430283933149609176082594047129887966560502768716497149939249173319700327489816703037382235849113198295170552753317110482747894359723542152274078773075735521039335880820633518660952281569641483254588807056891467907403975535451264658845706717063340274159861090399237228705263492947884388137919060366304371107346923507223216802854555113422811002653740490373493497476771943744957618238912361105871123340508833843621052596734031115489003920587244237833937934001983626072771827255486635354412852569562139896110474978693951153800424314203240510799368562945909622503906047192266092977311177838217010086337895332739687855857456075811075019674752242664282266828418318547042165783866535637890643286413335353335891881495771340078383117541524707562854351863442581023044407055245102707695125739871176490477169459413368299650205335817378213809868568815478421197430887464542335850372139431553422467447189454265394776179863898613321197633024209811549877358838667487573122994707117760947479764573419702443288188230644661540996586391202121171949219271757199811165779448087702526937363803350087855103239322939923570314417130497148511409247660117551378514426292418595051729608160066848442069823980475068241862290180313840390185352018021242668325351636288393003367116866703550904449343499285632302295111529585478209620551612898101538493408749396488890365023615511802565090365307161314530438588827783932549385468670733396066873503607770084863801600878588766089518908296800339357496112164424762389270780348083382284704542764851908338308928828032225360110179983412930992687514765129195062580345868127350047320493330839930799613175442210878296447190459666744706660794229287089897706005184949640741138729638451585263614735646109431933940841084316841011554272748882673127269937977692547298751398536431024232723610377728277275795611631801969950682885606384130083660300664057543324421294428913146131349667509852259630236780862461739200294159665064666033931082227172941391807869652407232823289128876555186360849123516332791205462668515247400540029657026595166940795871298237057846887774365982183444365710858929739692758260032096111593014809445329433529000974420037599651234658917977788704159890422187728995645804510723716513974598515907928504440484859402651592981913439220633876664968668050187603193347613674753200734397443990506557282807148272672150255343956943283705706686688761914851900814138638095008214987208406637423849630749859560708340013151191988820908808739392817709365488480929905436754475767818927505249571307063016337629900762621744912109022326335905217097032402015200373383934005157635760710628671803217500061884422303491324208638461037779017987374996549290279594632044736801077292301589553318215977990209221962091983267162590498945810664261752136617905642138654318569065615124992835805577913141032563717097365002200065136887109671687271514222302834588219529238791986691965562147668607589093264400273210236389385097410895313325808448971072271685397152566764052845116833488200984237169953314971951274805069254811892178442584282908188407970998439719344803334854717530410685571350443330645839909275077761188884173249989176238565754483737534733464668209831308798007872581282236336744512987953524810476340020839228359432702008216246145988729596932070217319358378633624033773851779976333165011773042492213517762295600225475247571744078691395339520543875077598049016197394114616888863104617540358675004261267116252613111951875208377093174974839522748257694846613683506704919187448089924168782238067598392676486623311352608837637927059987842340264062149206271804744180733095557726209 79221136326288413549090453617582214988603149380032775393045753873679347103737428810698791647263113706575282689198477135930652137291317188670030006057926509831856472550143054466006425134587034426949120010210832597783143689081004098970652114673282224426184172485773967049733965817226715156969648131835381010189470025770375559444559659305270898952170617343578663720139463438305206193729450577009951868047317341521679722886752217921827822705466305632297648679105292595306982225729633137305184703173136534319068330149229142960259210328722455601450057473003629441834416962669954405564521304502500726298911194393554191501157954017925309977598836623748100506311537547090223313424323313673085311409323919977212070953990949404412305207140907616619412378270976434206887105501661848469182736298770557698748104969475842500166345456724876246803841548685455561851856586967869889986216391448174596518073583228454703935275996041071738034755239225816281721293011288588359444337681021846829274952700086230836341401062887321604178406708278357480439226036171803414304571700770050264769130291420603534822495795966981715612394351588510056912232508637273573895372779156159436797233748213294951636931736322625278881149941049169682180025310119656903852664689348405476728233436921288688205034751242856813863451202798101231235894933014025474654357904163264189792879110990531247061528782494741231885291482973616690359904394443018958369073484128300703937149692838128916254439952768266768999800895221352172804608885628145520829329108509888656265795056847497582709463200002373315731960683089450281141672128908771066872542843950397795050900482861371828770525181267955544208230938560999841196913163882946371552828126583680248944964520944418180558701521838650855170095150234372062727397690674991347946365752214498420657007149585319909260780872426315558079608099072865828174703417406185318728278145026184310672633645641700732291542811057990742838365066341014265183949971790930431087121056345347741501667746148234688653065189269356885872908647581204650438736957716528711548574555583977239301969823515430537595181395319473570033411789209713074292228145962019286962544117035974563318921268241513986555088394502711032433789248734183877010959345104750102614262227563661010217640141350231316347211768763385670337883433049195056061300162041862964241528184097908283230852906666992480893473206747006312106694438401261591124362380788902882710265313013071263115504159140550179707220633782158597940373880726872858838789886163551228708805088540541574505134133745949431125107024728689987177439066224173647204385151471810845156172459609697201263898819372465925856032821983943945509201296896112993390414319772317613998628115011584901662481020736975231857679558573639533120123760882987807897148264001476729480741158503008405824181375825684426593602078107066384305742314153383784825815001170364503279303283157714730965700730790958163526085614077255893030881612578737162635171062435305862363661501175783671862584712802832632731639923317926092501167046294294878922434436385815597766578254085927198853219424480746368612964091254086956730350365974846418411767133289280026522101904776721397535481072023153960396155426365282526318432948840966649466716318812335304612541684202901596339076117983534399558629308180937552570931412127563964839611720473046765641026358839977096301838517860717992220124429055320994261412222457829626748188314831526678529121257451724121669436757611557692716596947663821034873517375372433749628434475153359120061495211777091719559441963916844642691242108239222713715540944215042751815205832903182816602051553000809853471087600226541940973229542173962641860015572714026730877762563780111880467244618055586935195897209646109126685288690235443479134420307287200865787784854857681194140932834097813623138157320433948668365280904196167520730495552269155400544459597418276177569668057444229387270850059959177577695113400939572251098823419194625556857107173746511343007800181920881221537624681494893301655822089723344553388000429323171176866004751029713971505534118999127107434111180853160547174861752751626348577776330731649967976997705926985766161797485058129299093471507452375539795559192778297669346728516427619455250496404870474371468200079265657822190324253008657280022070822577899305872108909461787244531453423119105988731060885667270673906364763727364896807710566881055215730830049911805272377486610061004335421869816885849669495243455855042551121024488255660795663819648501724149284790298092093372482653444084141453024908635847938874074697818854837695253972630804930011048531224322683145833842458520248412423153952435022528345724977763280584053398449746120516553508775326815255194777552247568789127161127121523667078092192754147983382483439483110519687390499526362703620317546913529048991244723833568395254652779389245457001074904459611968988017810125634688718594557512726477640828469923085023078927441553690015369298834217415908971293929662509893318732156287214572953717271547294454739080159480184708525419270198385219963884877884002278754278750609561959567609573219604469598655354749579234218685586373052244170384013165767049118076193618533398406013188209001235766656057471022713158458115640722513614902460046359982042188094125956149263515692514917141235851596188317125234698698143445430710086862519687007887491677593147363567434012996511611208264524292392041796094719104232814767772523351970722422038548274955882602506325735217927052884736197570933812826973727984393449854685360152304385913054039591824514239463064574006576447070168308785658334189143136583726277476279484040055265195370002967927103157598498988314064461158492527567235388273093138250126070907284091661168961258085026365164006756510037480113146444863049857410441189627990753392734989779344967229909893545831260919205642629882485159098157638129076046041748514665632636070142935578386099836275589388930926240584371164648614330272952273803821934246410548896732021483600216257876390203223583811752097414977367601275058587892151481717977645237081174997478084219478623660424162752880192868685884668880148643205675563808348487798702434249814028000489387319267434376798624197140709588473161705863149798376475260131435650698866424963700821352635427311875603754398568456694493029785421376982682568805861337391799580504924932794556653379358767208890415958085613545957157879585738485216752347809889677342570960091355021080407464763338564493970911651840304968787953757264726616132058769535451536129440982464344457257409571874631344070375729511782691987208945139373059377362044678441485767885356392625676743825088107696059578436822101089587320629680572375297507439230177389257372694401026822808373497528093968027287143301629103846534858625188325762033439196480397732997628503014649621121690269155702957775533169864904892182237683246347572084245365191125792238162832968930393778486311914591336488816372341376522067036860976397292954319050636670890190881862580303324718499511813664256650581668171314625522576463828792300817636790551747752178963893094026368249871063740051957677459820923123398315939696748427420043893707187931413132194983048121141633208572619318118682144503976902886475074725995927488015931697855547875567877957092844564972845868112467386799220810631963984802801245465491999492342994359330345557818309230549781190666893419855523650310406258181966733177334063917199888119119548767752141086258162376401893740900149055101692383716437730051535448970252369139807831334212981351808475128436325511506521306376541098272413318178788027577886741756988051386311777882287391881862854060744982292039961563494441320610172547471281354491811089427667941553096792539866778533112339401492150191478610168187813943366146939613944255787812295363788871264558245650366272976585990903261089635305905742282528531617124236257160918684087656849837574980709007634462794039027502516932254792552278738094881287976286091303833032328709898177754381747211550369182625253816956570895415702356703647970398979022104775855650022923491671389932150050238130342993219290079594357803961156906483525731193515143667409605342655206986539810441729034123792850051347539305704207486216981192413978602284363056867626486373038246244839413072201313630754273638937315123889266770682128882430762690059836369951715002691645372943891194536056518939393483536344089949823186946555884678988010580615983982479704610187475910957396703374352600973214429895438876454557725931764099504166221965567851477778524080688479039673549688608223453815640594482798578256595213089270083559888919481365699489637100462903261695502194644348626336709527606095941785695581152441637033674790821685888023791364256305622601762475611441750013106178994593770221066022071023423181155633034817805122802161398524935744545943741207082734764334825940768852393487409193252192043890560912706601726987758753067561041148319622385097614386639073680669427818858042442429654858229935977397707681836665668775740641201467318749912966028972169793293390466868251643453919856849649464322290493048735341721271287419107657917313905525324948586326718627816214107076707368817487170052506253995767034921526007809581573945253151822834749452099415021388971615151747053427766692853648240012116610723886125081342994287489545235725721142914067970761305543646806858970499351876132153368421770237795532592261530517822610356843765148217108907994757920134143467540976888459223968533993602900377353953544172817792180535262936919969492569469436153458748985127294759494223048694113803447594333559542494170015852179431982487558567762644873232582846206118354511361889465074082198622487687130683064905826980365281361526563926662405093323369953815510290733148417577099131665373904594606446101445456737906257234215611047930895015327467213852058204569126364764390657202470807122594170585907633466485519524155064808028487628723708474385722676764531471034749556194317090053532721523949569733293990221599435614437855978142064057941350647248869502882171365376482071435295878341415878631076359405882902371556731407341889179961545506866186248441345259419590661969374361882364592061478559916225955206538184816386679967482441838049310905079233609878397934734816175948993752695074814067593455911713281951234584719671148856291994006466814477367850543107690771346327489500529747440674930090756702297261679187551872345086063837394259531898709135941627900148238103139796982138624016618320937655921765263711024009874698746369080375567901724255684972797468157046157244471404374772222761078870327589465169246896223399414535889927524097257658342338819602157586456758679350724006766498955644886341578770464217114532766965311558328771842477936179644154648725549016964555717358267421129406002607793307439153514126492562540286438784812980066800677318313791389822961787325992391015069754823380173916313596635123798266301750265370600068685480969393442609603956119372421591853151722808583669735059915582753550715486399760012328047281867317279176872125198538864086215345171359356062618339888269196615849878341009901174366182431568400817312255199337667870427164058252046691141588462611695798445898455666744650148543174273924084039433899774435857949430043993897554400048319814689695862859159318872535204748251144962702162463499737891432877223121909129098344855891760814617089321319951062904551654895337306129805913025944180906927502044419375620970439904558408425976746524919577422744604678047700295341856552182095320586852500585625664834503585589269368741216930474755189870268950484900669276439820744731551861384605719817230677305424393562608012347282106616739326341508184942013244631726891106292405240644550509393873680228562272071533052382956340446417148097972501997474543615397475518262648869520545135690881661356943350133932565706608146399718351491507472986333577842853498178674984672051322972654996461950987550865292528553620054954224913858166192474882035352357899732655030712160385609277387607740567177899255072891211576698669315915614623365514450273883629476310746756716923977433973982778866537623583659452653953536594305635259113791810456916740095328527216763001938091607108120211956569098947525776967516508899548558888706022782856287399631190569717979133974265816248963278960898161685096058601377782895534213136701479149191550214315794162212015792405661422845597673653182274714618069931744594221634105470177540427769803623211699582705445596866405927037514309107234351370362467425928846073566742931409335261734131864994298347945260635001131311920283905394751792800521660850627916150640677023274911592637202999772417492767266475033477116987488225402321678196203896707838129488510806857661805566699304194033908269506749978952496681544507895148734468513239756888440769289103653460242590706209377481163424447150937201817016411428938761225411412620391654920682653706041198253530963973664372010391746854260916537511407841070178312591009192581586245994250160312207757539666759964652436749624695710006526932049227367011260245836155602924015442624367872349380151723114491536701108462789811468407784363983688570272618639641206165586158836058493189251526501711694316986861847410525231500364251300122350716668571836339732659545049424088047941506679023857361785213178069306989586118887798676812702536322297205577220215669860213928976137767561270063683142657573175784228191236008498180382859203465059664323543054771844757547132314130392776344494173588299702326738416717900532663451394215114634754233027407799698068426715198497878488914782118398612098302405748157704352559685379793070036590846251648673361720445850857158040299680815524702003811717351151130675016102049780631424453367454840976211353451658442534353695502030234100441279085017434696680873502985153330640183412929532516173899867364725712657697298871021769976008801576464527000641600740268937101666222895652566156284601337220279359261104594072445817458590580761247693556209444191579981147963874551394904047417056078912565880591658060975546392462311882416441222311791167990180680463988443570241217782392857011867069680884244666593050092653665365976989558026022470608210613618754008458873824007001387382830148126034290344824191155415782018993342382704401188799702402584222440549094763577598172796167234130544210531502303550183844221220741663302428474645529415233450782908000520186885350457480593709781632911073809060760282828755283843146949436685051247670110734191688391328421684820072278551527252247123400889675092676047061214900279455779580400780351440717718674778598620334958799748366441005751435862051719573393022638455265338173691749329829929778792927209252299363226699669304396453808682352906829063954982628241054392382727084233234617853880930580558610693644662670411726208797563897182971330720340719082906323101468841115426963546938445791225705353254787304946539733594898724141144239697760300827426052047546961517686499215286946912115695254075355830259027832071884029702562735494425377483118322954331921903363250082500469425799174190443792378664442609668389809292715747442728261104057159403046029354348854081362210351403609213873516864619914940327376491482361257397018311601245104220160902827818656188475939462094686499829045336916823240369832468356579523561345523753188223264345478429094340851372771053067637475679342539408456903231828872799930817581833439870712917418826843067896199373130271288943225181644948436774089399904458030735906319863043957331156045424963770688947466084889307668288017861339842181172042726613883141351191946502032310801472904719851519010317205396742332805966529682346479711843615690813680991171119080478015996824605201884259938178327059778427705690165800093885783487243551848412563724052833048053938777061840016039880805180216862163933686912114440387470223690208188772552878220572738123602652179156338205514875086851896614251718730064421549242865868784336065175565809141232179316340986671299518880775846771213786359638973258526041876685988802771745035634109202610454676852913515809745013087114908255827341976713360684166599637471067502080846934028457279122877839953147357045264558228067858304748256702443186153813474105077004037127372084978590676194364870077372863919078432479541812484249945770665687097130554886703984565666761565719480729549387483082392079921320407529213030266573141965767725171518976692790264186777951789494714376261883476100674348793960698920132272895809728836718405181042042166200242323811773354781287658607460464937393102526985242181693805608728998782133113765675901089571688450387452224568913998059430283933149609176082594047129887966560502768716497149939249173319700327489816703037382235849113198295170552753317110482747894359723542152274078773075735521039335880820633518660952281569641483254588807056891467907403975535451264658845706717063340274159861090399237228705263492947884388137919060366304371107346923507223216802854555113422811002653740490373493497476771943744957618238912361105871123340508833843621052596734031115489003920587244237833937934001983626072771827255486635354412852569562139896110474978693951153800424314203240510799368562945909622503906047192266092977311177838217010086337895332739687855857456075811075019674752242664282266828418318547042165783866535637890643286413335353335891881495771340078383117541524707562854351863442581023044407055245102707695125739871176490477169459413368299650205335817378213809868568815478421197430887464542335850372139431553422467447189454265394776179863898613321197633024209811549877358838667487573122994707117760947479764573419702443288188230644661540996586391202121171949219271757199811165779448087702526937363803350087855103239322939923570314417130497148511409247660117551378514426292418595051729608160066848442069823980475068241862290180313840390185352018021242668325351636288393003367116866703550904449343499285632302295111529585478209620551612898101538493408749396488890365023615511802565090365307161314530438588827783932549385468670733396066873503607770084863801600878588766089518908296800339357496112164424762389270780348083382284704542764851908338308928828032225360110179983412930992687514765129195062580345868127350047320493330839930799613175442210878296447190459666744706660794229287089897706005184949640741138729638451585263614735646109431933940841084316841011554272748882673127269937977692547298751398536431024232723610377728277275795611631801969950682885606384130083660300664057543324421294428913146131349667509852259630236780862461739200294159665064666033931082227172941391807869652407232823289128876555186360849123516332791205462668515247400540029657026595166940795871298237057846887774365982183444365710858929739692758260032096111593014809445329433529000974420037599651234658917977788704159890422187728995645804510723716513974598515907928504440484859402651592981913439220633876664968668050187603193347613674753200734397443990506557282807148272672150255343956943283705706686688761914851900814138638095008214987208406637423849630749859560708340013151191988820908808739392817709365488480929905436754475767818927505249571307063016337629900762621744912109022326335905217097032402015200373383934005157635760710628671803217500061884422303491324208638461037779017987374996549290279594632044736801077292301589553318215977990209221962091983267162590498945810664261752136617905642138654318569065615124992835805577913141032563717097365002200065136887109671687271514222302834588219529238791986691965562147668607589093264400273210236389385097410895313325808448971072271685397152566764052845116833488200984237169953314971951274805069254811892178442584282908188407970998439719344803334854717530410685571350443330645839909275077761188884173249989176238565754483737534733464668209831308798007872581282236336744512987953524810476340020839228359432702008216246145988729596932070217319358378633624033773851779976333165011773042492213517762295600225475247571744078691395339520543875077598049016197394114616888863104617540358675004261267116252613111951875208377093174974839522748257694846613683506704919187448089924168782238067598392676486623311352608837637927059987842340264062149206271804744180733095557726209 . . . | | 2 . 6782075972946672120906113027972678629194189889776846524402100417185449123631063711991278129740344374314426844143638740710771306033813985524950843825754300707253199123827692769608223963608269299045916380939424591944429857360479884356420116788827039616133058271436303223579026559673843141817049685670775686005369230727247504506470343815854554836117301289738114482986867811971283519336533504416224035232098141340264101202367187726910459012595322956749550348882113458883281341615875746735922792953847550958108601100304999475333307838155262026330078645652956364958520764874812156910359901001592816130860610928863446378643439656195648102318347304668509107680289559508782439020728777084584943677609191146515347625119534592557575556220451617094691944386043349325613277664243365475715113177514202214148250210823544923383123068277360800073354508599063831111466195801961041638045017984044466630252505213055646864138345916667042929671613747124121700869668666894373110427866802757056678911640472613741999297696827933589048437241564304614046444626664905244590455285169254903378514423156777631800516792199938941679475037456219584994650288515574932613417900293833653378896772796196233307701704204658830269255550914332523247295398846608227560532529413028946381138154392763798770677621588143535016384867799929076569889990598155311432104496745839664371589777221207354082770034665212742605305920779860274968004505958443798787336792153273189293519512332116583045751296263828833124387156625994591492843797392797371267161595194822339032134147240327341884245911368350554570226954584878391555047542639018241602326792504619415362845615133476896104077612549737077138281926981714439278782369177875645326671750305063487915576724264090536133836500124297947728000523151267164115799677268531122913789300770032930317286174525505804082658966229352041918812297920544321882995413798326861542096560660105076714362869251596436774141534569690004808831267781694479822893287739464034481135828026422961761495664989371745192196839202387711782450782469089844443317719554316125920863262343796337458469267705039866928602247794085149089205213185705215843117364180185164139536828832088471903185807918265233619653298717436598683491011025405360787332715557185047284953907347893034583010129219412537066773363376200575552670414115465111462190103985839626705092494891711859718813163219488081608399505758151645990988671362196861595729729239296391640692455401169353539830752468203644662660716717759994476474312502204443488992211440356917500331654095242074025038089856594516979041734846894017408589077779067258175861880033336658685085422988055720724613644878348290 79221136326288413549090453617582214988603149380032775393045753873679347103737428810698791647263113706575282689198477135930652137291317188670030006057926509831856472550143054466006425134587034426949120010210832597783143689081004098970652114673282224426184172485773967049733965817226715156969648131835381010189470025770375559444559659305270898952170617343578663720139463438305206193729450577009951868047317341521679722886752217921827822705466305632297648679105292595306982225729633137305184703173136534319068330149229142960259210328722455601450057473003629441834416962669954405564521304502500726298911194393554191501157954017925309977598836623748100506311537547090223313424323313673085311409323919977212070953990949404412305207140907616619412378270976434206887105501661848469182736298770557698748104969475842500166345456724876246803841548685455561851856586967869889986216391448174596518073583228454703935275996041071738034755239225816281721293011288588359444337681021846829274952700086230836341401062887321604178406708278357480439226036171803414304571700770050264769130291420603534822495795966981715612394351588510056912232508637273573895372779156159436797233748213294951636931736322625278881149941049169682180025310119656903852664689348405476728233436921288688205034751242856813863451202798101231235894933014025474654357904163264189792879110990531247061528782494741231885291482973616690359904394443018958369073484128300703937149692838128916254439952768266768999800895221352172804608885628145520829329108509888656265795056847497582709463200002373315731960683089450281141672128908771066872542843950397795050900482861371828770525181267955544208230938560999841196913163882946371552828126583680248944964520944418180558701521838650855170095150234372062727397690674991347946365752214498420657007149585319909260780872426315558079608099072865828174703417406185318728278145026184310672633645641700732291542811057990742838365066341014265183949971790930431087121056345347741501667746148234688653065189269356885872908647581204650438736957716528711548574555583977239301969823515430537595181395319473570033411789209713074292228145962019286962544117035974563318921268241513986555088394502711032433789248734183877010959345104750102614262227563661010217640141350231316347211768763385670337883433049195056061300162041862964241528184097908283230852906666992480893473206747006312106694438401261591124362380788902882710265313013071263115504159140550179707220633782158597940373880726872858838789886163551228708805088540541574505134133745949431125107024728689987177439066224173647204385151471810845156172459609697201263898819372465925856032821983943945509201296896112993390414319772317613998628115011584901662481020736975231857679558573639533120123760882987807897148264001476729480741158503008405824181375825684426593602078107066384305742314153383784825815001170364503279303283157714730965700730790958163526085614077255893030881612578737162635171062435305862363661501175783671862584712802832632731639923317926092501167046294294878922434436385815597766578254085927198853219424480746368612964091254086956730350365974846418411767133289280026522101904776721397535481072023153960396155426365282526318432948840966649466716318812335304612541684202901596339076117983534399558629308180937552570931412127563964839611720473046765641026358839977096301838517860717992220124429055320994261412222457829626748188314831526678529121257451724121669436757611557692716596947663821034873517375372433749628434475153359120061495211777091719559441963916844642691242108239222713715540944215042751815205832903182816602051553000809853471087600226541940973229542173962641860015572714026730877762563780111880467244618055586935195897209646109126685288690235443479134420307287200865787784854857681194140932834097813623138157320433948668365280904196167520730495552269155400544459597418276177569668057444229387270850059959177577695113400939572251098823419194625556857107173746511343007800181920881221537624681494893301655822089723344553388000429323171176866004751029713971505534118999127107434111180853160547174861752751626348577776330731649967976997705926985766161797485058129299093471507452375539795559192778297669346728516427619455250496404870474371468200079265657822190324253008657280022070822577899305872108909461787244531453423119105988731060885667270673906364763727364896807710566881055215730830049911805272377486610061004335421869816885849669495243455855042551121024488255660795663819648501724149284790298092093372482653444084141453024908635847938874074697818854837695253972630804930011048531224322683145833842458520248412423153952435022528345724977763280584053398449746120516553508775326815255194777552247568789127161127121523667078092192754147983382483439483110519687390499526362703620317546913529048991244723833568395254652779389245457001074904459611968988017810125634688718594557512726477640828469923085023078927441553690015369298834217415908971293929662509893318732156287214572953717271547294454739080159480184708525419270198385219963884877884002278754278750609561959567609573219604469598655354749579234218685586373052244170384013165767049118076193618533398406013188209001235766656057471022713158458115640722513614902460046359982042188094125956149263515692514917141235851596188317125234698698143445430710086862519687007887491677593147363567434012996511611208264524292392041796094719104232814767772523351970722422038548274955882602506325735217927052884736197570933812826973727984393449854685360152304385913054039591824514239463064574006576447070168308785658334189143136583726277476279484040055265195370002967927103157598498988314064461158492527567235388273093138250126070907284091661168961258085026365164006756510037480113146444863049857410441189627990753392734989779344967229909893545831260919205642629882485159098157638129076046041748514665632636070142935578386099836275589388930926240584371164648614330272952273803821934246410548896732021483600216257876390203223583811752097414977367601275058587892151481717977645237081174997478084219478623660424162752880192868685884668880148643205675563808348487798702434249814028000489387319267434376798624197140709588473161705863149798376475260131435650698866424963700821352635427311875603754398568456694493029785421376982682568805861337391799580504924932794556653379358767208890415958085613545957157879585738485216752347809889677342570960091355021080407464763338564493970911651840304968787953757264726616132058769535451536129440982464344457257409571874631344070375729511782691987208945139373059377362044678441485767885356392625676743825088107696059578436822101089587320629680572375297507439230177389257372694401026822808373497528093968027287143301629103846534858625188325762033439196480397732997628503014649621121690269155702957775533169864904892182237683246347572084245365191125792238162832968930393778486311914591336488816372341376522067036860976397292954319050636670890190881862580303324718499511813664256650581668171314625522576463828792300817636790551747752178963893094026368249871063740051957677459820923123398315939696748427420043893707187931413132194983048121141633208572619318118682144503976902886475074725995927488015931697855547875567877957092844564972845868112467386799220810631963984802801245465491999492342994359330345557818309230549781190666893419855523650310406258181966733177334063917199888119119548767752141086258162376401893740900149055101692383716437730051535448970252369139807831334212981351808475128436325511506521306376541098272413318178788027577886741756988051386311777882287391881862854060744982292039961563494441320610172547471281354491811089427667941553096792539866778533112339401492150191478610168187813943366146939613944255787812295363788871264558245650366272976585990903261089635305905742282528531617124236257160918684087656849837574980709007634462794039027502516932254792552278738094881287976286091303833032328709898177754381747211550369182625253816956570895415702356703647970398979022104775855650022923491671389932150050238130342993219290079594357803961156906483525731193515143667409605342655206986539810441729034123792850051347539305704207486216981192413978602284363056867626486373038246244839413072201313630754273638937315123889266770682128882430762690059836369951715002691645372943891194536056518939393483536344089949823186946555884678988010580615983982479704610187475910957396703374352600973214429895438876454557725931764099504166221965567851477778524080688479039673549688608223453815640594482798578256595213089270083559888919481365699489637100462903261695502194644348626336709527606095941785695581152441637033674790821685888023791364256305622601762475611441750013106178994593770221066022071023423181155633034817805122802161398524935744545943741207082734764334825940768852393487409193252192043890560912706601726987758753067561041148319622385097614386639073680669427818858042442429654858229935977397707681836665668775740641201467318749912966028972169793293390466868251643453919856849649464322290493048735341721271287419107657917313905525324948586326718627816214107076707368817487170052506253995767034921526007809581573945253151822834749452099415021388971615151747053427766692853648240012116610723886125081342994287489545235725721142914067970761305543646806858970499351876132153368421770237795532592261530517822610356843765148217108907994757920134143467540976888459223968533993602900377353953544172817792180535262936919969492569469436153458748985127294759494223048694113803447594333559542494170015852179431982487558567762644873232582846206118354511361889465074082198622487687130683064905826980365281361526563926662405093323369953815510290733148417577099131665373904594606446101445456737906257234215611047930895015327467213852058204569126364764390657202470807122594170585907633466485519524155064808028487628723708474385722676764531471034749556194317090053532721523949569733293990221599435614437855978142064057941350647248869502882171365376482071435295878341415878631076359405882902371556731407341889179961545506866186248441345259419590661969374361882364592061478559916225955206538184816386679967482441838049310905079233609878397934734816175948993752695074814067593455911713281951234584719671148856291994006466814477367850543107690771346327489500529747440674930090756702297261679187551872345086063837394259531898709135941627900148238103139796982138624016618320937655921765263711024009874698746369080375567901724255684972797468157046157244471404374772222761078870327589465169246896223399414535889927524097257658342338819602157586456758679350724006766498955644886341578770464217114532766965311558328771842477936179644154648725549016964555717358267421129406002607793307439153514126492562540286438784812980066800677318313791389822961787325992391015069754823380173916313596635123798266301750265370600068685480969393442609603956119372421591853151722808583669735059915582753550715486399760012328047281867317279176872125198538864086215345171359356062618339888269196615849878341009901174366182431568400817312255199337667870427164058252046691141588462611695798445898455666744650148543174273924084039433899774435857949430043993897554400048319814689695862859159318872535204748251144962702162463499737891432877223121909129098344855891760814617089321319951062904551654895337306129805913025944180906927502044419375620970439904558408425976746524919577422744604678047700295341856552182095320586852500585625664834503585589269368741216930474755189870268950484900669276439820744731551861384605719817230677305424393562608012347282106616739326341508184942013244631726891106292405240644550509393873680228562272071533052382956340446417148097972501997474543615397475518262648869520545135690881661356943350133932565706608146399718351491507472986333577842853498178674984672051322972654996461950987550865292528553620054954224913858166192474882035352357899732655030712160385609277387607740567177899255072891211576698669315915614623365514450273883629476310746756716923977433973982778866537623583659452653953536594305635259113791810456916740095328527216763001938091607108120211956569098947525776967516508899548558888706022782856287399631190569717979133974265816248963278960898161685096058601377782895534213136701479149191550214315794162212015792405661422845597673653182274714618069931744594221634105470177540427769803623211699582705445596866405927037514309107234351370362467425928846073566742931409335261734131864994298347945260635001131311920283905394751792800521660850627916150640677023274911592637202999772417492767266475033477116987488225402321678196203896707838129488510806857661805566699304194033908269506749978952496681544507895148734468513239756888440769289103653460242590706209377481163424447150937201817016411428938761225411412620391654920682653706041198253530963973664372010391746854260916537511407841070178312591009192581586245994250160312207757539666759964652436749624695710006526932049227367011260245836155602924015442624367872349380151723114491536701108462789811468407784363983688570272618639641206165586158836058493189251526501711694316986861847410525231500364251300122350716668571836339732659545049424088047941506679023857361785213178069306989586118887798676812702536322297205577220215669860213928976137767561270063683142657573175784228191236008498180382859203465059664323543054771844757547132314130392776344494173588299702326738416717900532663451394215114634754233027407799698068426715198497878488914782118398612098302405748157704352559685379793070036590846251648673361720445850857158040299680815524702003811717351151130675016102049780631424453367454840976211353451658442534353695502030234100441279085017434696680873502985153330640183412929532516173899867364725712657697298871021769976008801576464527000641600740268937101666222895652566156284601337220279359261104594072445817458590580761247693556209444191579981147963874551394904047417056078912565880591658060975546392462311882416441222311791167990180680463988443570241217782392857011867069680884244666593050092653665365976989558026022470608210613618754008458873824007001387382830148126034290344824191155415782018993342382704401188799702402584222440549094763577598172796167234130544210531502303550183844221220741663302428474645529415233450782908000520186885350457480593709781632911073809060760282828755283843146949436685051247670110734191688391328421684820072278551527252247123400889675092676047061214900279455779580400780351440717718674778598620334958799748366441005751435862051719573393022638455265338173691749329829929778792927209252299363226699669304396453808682352906829063954982628241054392382727084233234617853880930580558610693644662670411726208797563897182971330720340719082906323101468841115426963546938445791225705353254787304946539733594898724141144239697760300827426052047546961517686499215286946912115695254075355830259027832071884029702562735494425377483118322954331921903363250082500469425799174190443792378664442609668389809292715747442728261104057159403046029354348854081362210351403609213873516864619914940327376491482361257397018311601245104220160902827818656188475939462094686499829045336916823240369832468356579523561345523753188223264345478429094340851372771053067637475679342539408456903231828872799930817581833439870712917418826843067896199373130271288943225181644948436774089399904458030735906319863043957331156045424963770688947466084889307668288017861339842181172042726613883141351191946502032310801472904719851519010317205396742332805966529682346479711843615690813680991171119080478015996824605201884259938178327059778427705690165800093885783487243551848412563724052833048053938777061840016039880805180216862163933686912114440387470223690208188772552878220572738123602652179156338205514875086851896614251718730064421549242865868784336065175565809141232179316340986671299518880775846771213786359638973258526041876685988802771745035634109202610454676852913515809745013087114908255827341976713360684166599637471067502080846934028457279122877839953147357045264558228067858304748256702443186153813474105077004037127372084978590676194364870077372863919078432479541812484249945770665687097130554886703984565666761565719480729549387483082392079921320407529213030266573141965767725171518976692790264186777951789494714376261883476100674348793960698920132272895809728836718405181042042166200242323811773354781287658607460464937393102526985242181693805608728998782133113765675901089571688450387452224568913998059430283933149609176082594047129887966560502768716497149939249173319700327489816703037382235849113198295170552753317110482747894359723542152274078773075735521039335880820633518660952281569641483254588807056891467907403975535451264658845706717063340274159861090399237228705263492947884388137919060366304371107346923507223216802854555113422811002653740490373493497476771943744957618238912361105871123340508833843621052596734031115489003920587244237833937934001983626072771827255486635354412852569562139896110474978693951153800424314203240510799368562945909622503906047192266092977311177838217010086337895332739687855857456075811075019674752242664282266828418318547042165783866535637890643286413335353335891881495771340078383117541524707562854351863442581023044407055245102707695125739871176490477169459413368299650205335817378213809868568815478421197430887464542335850372139431553422467447189454265394776179863898613321197633024209811549877358838667487573122994707117760947479764573419702443288188230644661540996586391202121171949219271757199811165779448087702526937363803350087855103239322939923570314417130497148511409247660117551378514426292418595051729608160066848442069823980475068241862290180313840390185352018021242668325351636288393003367116866703550904449343499285632302295111529585478209620551612898101538493408749396488890365023615511802565090365307161314530438588827783932549385468670733396066873503607770084863801600878588766089518908296800339357496112164424762389270780348083382284704542764851908338308928828032225360110179983412930992687514765129195062580345868127350047320493330839930799613175442210878296447190459666744706660794229287089897706005184949640741138729638451585263614735646109431933940841084316841011554272748882673127269937977692547298751398536431024232723610377728277275795611631801969950682885606384130083660300664057543324421294428913146131349667509852259630236780862461739200294159665064666033931082227172941391807869652407232823289128876555186360849123516332791205462668515247400540029657026595166940795871298237057846887774365982183444365710858929739692758260032096111593014809445329433529000974420037599651234658917977788704159890422187728995645804510723716513974598515907928504440484859402651592981913439220633876664968668050187603193347613674753200734397443990506557282807148272672150255343956943283705706686688761914851900814138638095008214987208406637423849630749859560708340013151191988820908808739392817709365488480929905436754475767818927505249571307063016337629900762621744912109022326335905217097032402015200373383934005157635760710628671803217500061884422303491324208638461037779017987374996549290279594632044736801077292301589553318215977990209221962091983267162590498945810664261752136617905642138654318569065615124992835805577913141032563717097365002200065136887109671687271514222302834588219529238791986691965562147668607589093264400273210236389385097410895313325808448971072271685397152566764052845116833488200984237169953314971951274805069254811892178442584282908188407970998439719344803334854717530410685571350443330645839909275077761188884173249989176238565754483737534733464668209831308798007872581282236336744512987953524810476340020839228359432702008216246145988729596932070217319358378633624033773851779976333165011773042492213517762295600225475247571744078691395339520543875077598049016197394114616888863104617540358675004261267116252613111951875208377093174974839522748257694846613683506704919187448089924168782238067598392676486623311352608837637927059987842340264062149206271804744180733147097333762 . . 79221136326288413549090453617582214988603149380032775393045753873679347103737428810698791647263113706575282689198477135930652137291317188670030006057926509831856472550143054466006425134587034426949120010210832597783143689081004098970652114673282224426184172485773967049733965817226715156969648131835381010189470025770375559444559659305270898952170617343578663720139463438305206193729450577009951868047317341521679722886752217921827822705466305632297648679105292595306982225729633137305184703173136534319068330149229142960259210328722455601450057473003629441834416962669954405564521304502500726298911194393554191501157954017925309977598836623748100506311537547090223313424323313673085311409323919977212070953990949404412305207140907616619412378270976434206887105501661848469182736298770557698748104969475842500166345456724876246803841548685455561851856586967869889986216391448174596518073583228454703935275996041071738034755239225816281721293011288588359444337681021846829274952700086230836341401062887321604178406708278357480439226036171803414304571700770050264769130291420603534822495795966981715612394351588510056912232508637273573895372779156159436797233748213294951636931736322625278881149941049169682180025310119656903852664689348405476728233436921288688205034751242856813863451202798101231235894933014025474654357904163264189792879110990531247061528782494741231885291482973616690359904394443018958369073484128300703937149692838128916254439952768266768999800895221352172804608885628145520829329108509888656265795056847497582709463200002373315731960683089450281141672128908771066872542843950397795050900482861371828770525181267955544208230938560999841196913163882946371552828126583680248944964520944418180558701521838650855170095150234372062727397690674991347946365752214498420657007149585319909260780872426315558079608099072865828174703417406185318728278145026184310672633645641700732291542811057990742838365066341014265183949971790930431087121056345347741501667746148234688653065189269356885872908647581204650438736957716528711548574555583977239301969823515430537595181395319473570033411789209713074292228145962019286962544117035974563318921268241513986555088394502711032433789248734183877010959345104750102614262227563661010217640141350231316347211768763385670337883433049195056061300162041862964241528184097908283230852906666992480893473206747006312106694438401261591124362380788902882710265313013071263115504159140550179707220633782158597940373880726872858838789886163551228708805088540541574505134133745949431125107024728689987177439066224173647204385151471810845156172459609697201263898819372465925856032821983943945509201296896112993390414319772317613998628115011584901662481020736975231857679558573639533120123760882987807897148264001476729480741158503008405824181375825684426593602078107066384305742314153383784825815001170364503279303283157714730965700730790958163526085614077255893030881612578737162635171062435305862363661501175783671862584712802832632731639923317926092501167046294294878922434436385815597766578254085927198853219424480746368612964091254086956730350365974846418411767133289280026522101904776721397535481072023153960396155426365282526318432948840966649466716318812335304612541684202901596339076117983534399558629308180937552570931412127563964839611720473046765641026358839977096301838517860717992220124429055320994261412222457829626748188314831526678529121257451724121669436757611557692716596947663821034873517375372433749628434475153359120061495211777091719559441963916844642691242108239222713715540944215042751815205832903182816602051553000809853471087600226541940973229542173962641860015572714026730877762563780111880467244618055586935195897209646109126685288690235443479134420307287200865787784854857681194140932834097813623138157320433948668365280904196167520730495552269155400544459597418276177569668057444229387270850059959177577695113400939572251098823419194625556857107173746511343007800181920881221537624681494893301655822089723344553388000429323171176866004751029713971505534118999127107434111180853160547174861752751626348577776330731649967976997705926985766161797485058129299093471507452375539795559192778297669346728516427619455250496404870474371468200079265657822190324253008657280022070822577899305872108909461787244531453423119105988731060885667270673906364763727364896807710566881055215730830049911805272377486610061004335421869816885849669495243455855042551121024488255660795663819648501724149284790298092093372482653444084141453024908635847938874074697818854837695253972630804930011048531224322683145833842458520248412423153952435022528345724977763280584053398449746120516553508775326815255194777552247568789127161127121523667078092192754147983382483439483110519687390499526362703620317546913529048991244723833568395254652779389245457001074904459611968988017810125634688718594557512726477640828469923085023078927441553690015369298834217415908971293929662509893318732156287214572953717271547294454739080159480184708525419270198385219963884877884002278754278750609561959567609573219604469598655354749579234218685586373052244170384013165767049118076193618533398406013188209001235766656057471022713158458115640722513614902460046359982042188094125956149263515692514917141235851596188317125234698698143445430710086862519687007887491677593147363567434012996511611208264524292392041796094719104232814767772523351970722422038548274955882602506325735217927052884736197570933812826973727984393449854685360152304385913054039591824514239463064574006576447070168308785658334189143136583726277476279484040055265195370002967927103157598498988314064461158492527567235388273093138250126070907284091661168961258085026365164006756510037480113146444863049857410441189627990753392734989779344967229909893545831260919205642629882485159098157638129076046041748514665632636070142935578386099836275589388930926240584371164648614330272952273803821934246410548896732021483600216257876390203223583811752097414977367601275058587892151481717977645237081174997478084219478623660424162752880192868685884668880148643205675563808348487798702434249814028000489387319267434376798624197140709588473161705863149798376475260131435650698866424963700821352635427311875603754398568456694493029785421376982682568805861337391799580504924932794556653379358767208890415958085613545957157879585738485216752347809889677342570960091355021080407464763338564493970911651840304968787953757264726616132058769535451536129440982464344457257409571874631344070375729511782691987208945139373059377362044678441485767885356392625676743825088107696059578436822101089587320629680572375297507439230177389257372694401026822808373497528093968027287143301629103846534858625188325762033439196480397732997628503014649621121690269155702957775533169864904892182237683246347572084245365191125792238162832968930393778486311914591336488816372341376522067036860976397292954319050636670890190881862580303324718499511813664256650581668171314625522576463828792300817636790551747752178963893094026368249871063740051957677459820923123398315939696748427420043893707187931413132194983048121141633208572619318118682144503976902886475074725995927488015931697855547875567877957092844564972845868112467386799220810631963984802801245465491999492342994359330345557818309230549781190666893419855523650310406258181966733177334063917199888119119548767752141086258162376401893740900149055101692383716437730051535448970252369139807831334212981351808475128436325511506521306376541098272413318178788027577886741756988051386311777882287391881862854060744982292039961563494441320610172547471281354491811089427667941553096792539866778533112339401492150191478610168187813943366146939613944255787812295363788871264558245650366272976585990903261089635305905742282528531617124236257160918684087656849837574980709007634462794039027502516932254792552278738094881287976286091303833032328709898177754381747211550369182625253816956570895415702356703647970398979022104775855650022923491671389932150050238130342993219290079594357803961156906483525731193515143667409605342655206986539810441729034123792850051347539305704207486216981192413978602284363056867626486373038246244839413072201313630754273638937315123889266770682128882430762690059836369951715002691645372943891194536056518939393483536344089949823186946555884678988010580615983982479704610187475910957396703374352600973214429895438876454557725931764099504166221965567851477778524080688479039673549688608223453815640594482798578256595213089270083559888919481365699489637100462903261695502194644348626336709527606095941785695581152441637033674790821685888023791364256305622601762475611441750013106178994593770221066022071023423181155633034817805122802161398524935744545943741207082734764334825940768852393487409193252192043890560912706601726987758753067561041148319622385097614386639073680669427818858042442429654858229935977397707681836665668775740641201467318749912966028972169793293390466868251643453919856849649464322290493048735341721271287419107657917313905525324948586326718627816214107076707368817487170052506253995767034921526007809581573945253151822834749452099415021388971615151747053427766692853648240012116610723886125081342994287489545235725721142914067970761305543646806858970499351876132153368421770237795532592261530517822610356843765148217108907994757920134143467540976888459223968533993602900377353953544172817792180535262936919969492569469436153458748985127294759494223048694113803447594333559542494170015852179431982487558567762644873232582846206118354511361889465074082198622487687130683064905826980365281361526563926662405093323369953815510290733148417577099131665373904594606446101445456737906257234215611047930895015327467213852058204569126364764390657202470807122594170585907633466485519524155064808028487628723708474385722676764531471034749556194317090053532721523949569733293990221599435614437855978142064057941350647248869502882171365376482071435295878341415878631076359405882902371556731407341889179961545506866186248441345259419590661969374361882364592061478559916225955206538184816386679967482441838049310905079233609878397934734816175948993752695074814067593455911713281951234584719671148856291994006466814477367850543107690771346327489500529747440674930090756702297261679187551872345086063837394259531898709135941627900148238103139796982138624016618320937655921765263711024009874698746369080375567901724255684972797468157046157244471404374772222761078870327589465169246896223399414535889927524097257658342338819602157586456758679350724006766498955644886341578770464217114532766965311558328771842477936179644154648725549016964555717358267421129406002607793307439153514126492562540286438784812980066800677318313791389822961787325992391015069754823380173916313596635123798266301750265370600068685480969393442609603956119372421591853151722808583669735059915582753550715486399760012328047281867317279176872125198538864086215345171359356062618339888269196615849878341009901174366182431568400817312255199337667870427164058252046691141588462611695798445898455666744650148543174273924084039433899774435857949430043993897554400048319814689695862859159318872535204748251144962702162463499737891432877223121909129098344855891760814617089321319951062904551654895337306129805913025944180906927502044419375620970439904558408425976746524919577422744604678047700295341856552182095320586852500585625664834503585589269368741216930474755189870268950484900669276439820744731551861384605719817230677305424393562608012347282106616739326341508184942013244631726891106292405240644550509393873680228562272071533052382956340446417148097972501997474543615397475518262648869520545135690881661356943350133932565706608146399718351491507472986333577842853498178674984672051322972654996461950987550865292528553620054954224913858166192474882035352357899732655030712160385609277387607740567177899255072891211576698669315915614623365514450273883629476310746756716923977433973982778866537623583659452653953536594305635259113791810456916740095328527216763001938091607108120211956569098947525776967516508899548558888706022782856287399631190569717979133974265816248963278960898161685096058601377782895534213136701479149191550214315794162212015792405661422845597673653182274714618069931744594221634105470177540427769803623211699582705445596866405927037514309107234351370362467425928846073566742931409335261734131864994298347945260635001131311920283905394751792800521660850627916150640677023274911592637202999772417492767266475033477116987488225402321678196203896707838129488510806857661805566699304194033908269506749978952496681544507895148734468513239756888440769289103653460242590706209377481163424447150937201817016411428938761225411412620391654920682653706041198253530963973664372010391746854260916537511407841070178312591009192581586245994250160312207757539666759964652436749624695710006526932049227367011260245836155602924015442624367872349380151723114491536701108462789811468407784363983688570272618639641206165586158836058493189251526501711694316986861847410525231500364251300122350716668571836339732659545049424088047941506679023857361785213178069306989586118887798676812702536322297205577220215669860213928976137767561270063683142657573175784228191236008498180382859203465059664323543054771844757547132314130392776344494173588299702326738416717900532663451394215114634754233027407799698068426715198497878488914782118398612098302405748157704352559685379793070036590846251648673361720445850857158040299680815524702003811717351151130675016102049780631424453367454840976211353451658442534353695502030234100441279085017434696680873502985153330640183412929532516173899867364725712657697298871021769976008801576464527000641600740268937101666222895652566156284601337220279359261104594072445817458590580761247693556209444191579981147963874551394904047417056078912565880591658060975546392462311882416441222311791167990180680463988443570241217782392857011867069680884244666593050092653665365976989558026022470608210613618754008458873824007001387382830148126034290344824191155415782018993342382704401188799702402584222440549094763577598172796167234130544210531502303550183844221220741663302428474645529415233450782908000520186885350457480593709781632911073809060760282828755283843146949436685051247670110734191688391328421684820072278551527252247123400889675092676047061214900279455779580400780351440717718674778598620334958799748366441005751435862051719573393022638455265338173691749329829929778792927209252299363226699669304396453808682352906829063954982628241054392382727084233234617853880930580558610693644662670411726208797563897182971330720340719082906323101468841115426963546938445791225705353254787304946539733594898724141144239697760300827426052047546961517686499215286946912115695254075355830259027832071884029702562735494425377483118322954331921903363250082500469425799174190443792378664442609668389809292715747442728261104057159403046029354348854081362210351403609213873516864619914940327376491482361257397018311601245104220160902827818656188475939462094686499829045336916823240369832468356579523561345523753188223264345478429094340851372771053067637475679342539408456903231828872799930817581833439870712917418826843067896199373130271288943225181644948436774089399904458030735906319863043957331156045424963770688947466084889307668288017861339842181172042726613883141351191946502032310801472904719851519010317205396742332805966529682346479711843615690813680991171119080478015996824605201884259938178327059778427705690165800093885783487243551848412563724052833048053938777061840016039880805180216862163933686912114440387470223690208188772552878220572738123602652179156338205514875086851896614251718730064421549242865868784336065175565809141232179316340986671299518880775846771213786359638973258526041876685988802771745035634109202610454676852913515809745013087114908255827341976713360684166599637471067502080846934028457279122877839953147357045264558228067858304748256702443186153813474105077004037127372084978590676194364870077372863919078432479541812484249945770665687097130554886703984565666761565719480729549387483082392079921320407529213030266573141965767725171518976692790264186777951789494714376261883476100674348793960698920132272895809728836718405181042042166200242323811773354781287658607460464937393102526985242181693805608728998782133113765675901089571688450387452224568913998059430283933149609176082594047129887966560502768716497149939249173319700327489816703037382235849113198295170552753317110482747894359723542152274078773075735521039335880820633518660952281569641483254588807056891467907403975535451264658845706717063340274159861090399237228705263492947884388137919060366304371107346923507223216802854555113422811002653740490373493497476771943744957618238912361105871123340508833843621052596734031115489003920587244237833937934001983626072771827255486635354412852569562139896110474978693951153800424314203240510799368562945909622503906047192266092977311177838217010086337895332739687855857456075811075019674752242664282266828418318547042165783866535637890643286413335353335891881495771340078383117541524707562854351863442581023044407055245102707695125739871176490477169459413368299650205335817378213809868568815478421197430887464542335850372139431553422467447189454265394776179863898613321197633024209811549877358838667487573122994707117760947479764573419702443288188230644661540996586391202121171949219271757199811165779448087702526937363803350087855103239322939923570314417130497148511409247660117551378514426292418595051729608160066848442069823980475068241862290180313840390185352018021242668325351636288393003367116866703550904449343499285632302295111529585478209620551612898101538493408749396488890365023615511802565090365307161314530438588827783932549385468670733396066873503607770084863801600878588766089518908296800339357496112164424762389270780348083382284704542764851908338308928828032225360110179983412930992687514765129195062580345868127350047320493330839930799613175442210878296447190459666744706660794229287089897706005184949640741138729638451585263614735646109431933940841084316841011554272748882673127269937977692547298751398536431024232723610377728277275795611631801969950682885606384130083660300664057543324421294428913146131349667509852259630236780862461739200294159665064666033931082227172941391807869652407232823289128876555186360849123516332791205462668515247400540029657026595166940795871298237057846887774365982183444365710858929739692758260032096111593014809445329433529000974420037599651234658917977788704159890422187728995645804510723716513974598515907928504440484859402651592981913439220633876664968668050187603193347613674753200734397443990506557282807148272672150255343956943283705706686688761914851900814138638095008214987208406637423849630749859560708340013151191988820908808739392817709365488480929905436754475767818927505249571307063016337629900762621744912109022326335905217097032402015200373383934005157635760710628671803217500061884422303491324208638461037779017987374996549290279594632044736801077292301589553318215977990209221962091983267162590498945810664261752136617905642138654318569065615124992835805577913141032563717097365002200065136887109671687271514222302834588219529238791986691965562147668607589093264400273210236389385097410895313325808448971072271685397152566764052845116833488200984237169953314971951274805069254811892178442584282908188407970998439719344803334854717530410685571350443330645839909275077761188884173249989176238565754483737534733464668209831308798007872581282236336744512987953524810476340020839228359432702008216246145988729596932070217319358378633624033773851779976333165011773042492213517762295600225475247571744078691395339520543875077598049016197394114616888863104617540358675004261267116252613111951875208377093174974839522748257694846613683506704919187448089924168782238067598392676486623311352608837637927059987842340264062149206271804744180733147097333762 79221136326288413549090453617582214988603149380032775393045753873679347103737428810698791647263113706575282689198477135930652137291317188670030006057926509831856472550143054466006425134587034426949120010210832597783143689081004098970652114673282224426184172485773967049733965817226715156969648131835381010189470025770375559444559659305270898952170617343578663720139463438305206193729450577009951868047317341521679722886752217921827822705466305632297648679105292595306982225729633137305184703173136534319068330149229142960259210328722455601450057473003629441834416962669954405564521304502500726298911194393554191501157954017925309977598836623748100506311537547090223313424323313673085311409323919977212070953990949404412305207140907616619412378270976434206887105501661848469182736298770557698748104969475842500166345456724876246803841548685455561851856586967869889986216391448174596518073583228454703935275996041071738034755239225816281721293011288588359444337681021846829274952700086230836341401062887321604178406708278357480439226036171803414304571700770050264769130291420603534822495795966981715612394351588510056912232508637273573895372779156159436797233748213294951636931736322625278881149941049169682180025310119656903852664689348405476728233436921288688205034751242856813863451202798101231235894933014025474654357904163264189792879110990531247061528782494741231885291482973616690359904394443018958369073484128300703937149692838128916254439952768266768999800895221352172804608885628145520829329108509888656265795056847497582709463200002373315731960683089450281141672128908771066872542843950397795050900482861371828770525181267955544208230938560999841196913163882946371552828126583680248944964520944418180558701521838650855170095150234372062727397690674991347946365752214498420657007149585319909260780872426315558079608099072865828174703417406185318728278145026184310672633645641700732291542811057990742838365066341014265183949971790930431087121056345347741501667746148234688653065189269356885872908647581204650438736957716528711548574555583977239301969823515430537595181395319473570033411789209713074292228145962019286962544117035974563318921268241513986555088394502711032433789248734183877010959345104750102614262227563661010217640141350231316347211768763385670337883433049195056061300162041862964241528184097908283230852906666992480893473206747006312106694438401261591124362380788902882710265313013071263115504159140550179707220633782158597940373880726872858838789886163551228708805088540541574505134133745949431125107024728689987177439066224173647204385151471810845156172459609697201263898819372465925856032821983943945509201296896112993390414319772317613998628115011584901662481020736975231857679558573639533120123760882987807897148264001476729480741158503008405824181375825684426593602078107066384305742314153383784825815001170364503279303283157714730965700730790958163526085614077255893030881612578737162635171062435305862363661501175783671862584712802832632731639923317926092501167046294294878922434436385815597766578254085927198853219424480746368612964091254086956730350365974846418411767133289280026522101904776721397535481072023153960396155426365282526318432948840966649466716318812335304612541684202901596339076117983534399558629308180937552570931412127563964839611720473046765641026358839977096301838517860717992220124429055320994261412222457829626748188314831526678529121257451724121669436757611557692716596947663821034873517375372433749628434475153359120061495211777091719559441963916844642691242108239222713715540944215042751815205832903182816602051553000809853471087600226541940973229542173962641860015572714026730877762563780111880467244618055586935195897209646109126685288690235443479134420307287200865787784854857681194140932834097813623138157320433948668365280904196167520730495552269155400544459597418276177569668057444229387270850059959177577695113400939572251098823419194625556857107173746511343007800181920881221537624681494893301655822089723344553388000429323171176866004751029713971505534118999127107434111180853160547174861752751626348577776330731649967976997705926985766161797485058129299093471507452375539795559192778297669346728516427619455250496404870474371468200079265657822190324253008657280022070822577899305872108909461787244531453423119105988731060885667270673906364763727364896807710566881055215730830049911805272377486610061004335421869816885849669495243455855042551121024488255660795663819648501724149284790298092093372482653444084141453024908635847938874074697818854837695253972630804930011048531224322683145833842458520248412423153952435022528345724977763280584053398449746120516553508775326815255194777552247568789127161127121523667078092192754147983382483439483110519687390499526362703620317546913529048991244723833568395254652779389245457001074904459611968988017810125634688718594557512726477640828469923085023078927441553690015369298834217415908971293929662509893318732156287214572953717271547294454739080159480184708525419270198385219963884877884002278754278750609561959567609573219604469598655354749579234218685586373052244170384013165767049118076193618533398406013188209001235766656057471022713158458115640722513614902460046359982042188094125956149263515692514917141235851596188317125234698698143445430710086862519687007887491677593147363567434012996511611208264524292392041796094719104232814767772523351970722422038548274955882602506325735217927052884736197570933812826973727984393449854685360152304385913054039591824514239463064574006576447070168308785658334189143136583726277476279484040055265195370002967927103157598498988314064461158492527567235388273093138250126070907284091661168961258085026365164006756510037480113146444863049857410441189627990753392734989779344967229909893545831260919205642629882485159098157638129076046041748514665632636070142935578386099836275589388930926240584371164648614330272952273803821934246410548896732021483600216257876390203223583811752097414977367601275058587892151481717977645237081174997478084219478623660424162752880192868685884668880148643205675563808348487798702434249814028000489387319267434376798624197140709588473161705863149798376475260131435650698866424963700821352635427311875603754398568456694493029785421376982682568805861337391799580504924932794556653379358767208890415958085613545957157879585738485216752347809889677342570960091355021080407464763338564493970911651840304968787953757264726616132058769535451536129440982464344457257409571874631344070375729511782691987208945139373059377362044678441485767885356392625676743825088107696059578436822101089587320629680572375297507439230177389257372694401026822808373497528093968027287143301629103846534858625188325762033439196480397732997628503014649621121690269155702957775533169864904892182237683246347572084245365191125792238162832968930393778486311914591336488816372341376522067036860976397292954319050636670890190881862580303324718499511813664256650581668171314625522576463828792300817636790551747752178963893094026368249871063740051957677459820923123398315939696748427420043893707187931413132194983048121141633208572619318118682144503976902886475074725995927488015931697855547875567877957092844564972845868112467386799220810631963984802801245465491999492342994359330345557818309230549781190666893419855523650310406258181966733177334063917199888119119548767752141086258162376401893740900149055101692383716437730051535448970252369139807831334212981351808475128436325511506521306376541098272413318178788027577886741756988051386311777882287391881862854060744982292039961563494441320610172547471281354491811089427667941553096792539866778533112339401492150191478610168187813943366146939613944255787812295363788871264558245650366272976585990903261089635305905742282528531617124236257160918684087656849837574980709007634462794039027502516932254792552278738094881287976286091303833032328709898177754381747211550369182625253816956570895415702356703647970398979022104775855650022923491671389932150050238130342993219290079594357803961156906483525731193515143667409605342655206986539810441729034123792850051347539305704207486216981192413978602284363056867626486373038246244839413072201313630754273638937315123889266770682128882430762690059836369951715002691645372943891194536056518939393483536344089949823186946555884678988010580615983982479704610187475910957396703374352600973214429895438876454557725931764099504166221965567851477778524080688479039673549688608223453815640594482798578256595213089270083559888919481365699489637100462903261695502194644348626336709527606095941785695581152441637033674790821685888023791364256305622601762475611441750013106178994593770221066022071023423181155633034817805122802161398524935744545943741207082734764334825940768852393487409193252192043890560912706601726987758753067561041148319622385097614386639073680669427818858042442429654858229935977397707681836665668775740641201467318749912966028972169793293390466868251643453919856849649464322290493048735341721271287419107657917313905525324948586326718627816214107076707368817487170052506253995767034921526007809581573945253151822834749452099415021388971615151747053427766692853648240012116610723886125081342994287489545235725721142914067970761305543646806858970499351876132153368421770237795532592261530517822610356843765148217108907994757920134143467540976888459223968533993602900377353953544172817792180535262936919969492569469436153458748985127294759494223048694113803447594333559542494170015852179431982487558567762644873232582846206118354511361889465074082198622487687130683064905826980365281361526563926662405093323369953815510290733148417577099131665373904594606446101445456737906257234215611047930895015327467213852058204569126364764390657202470807122594170585907633466485519524155064808028487628723708474385722676764531471034749556194317090053532721523949569733293990221599435614437855978142064057941350647248869502882171365376482071435295878341415878631076359405882902371556731407341889179961545506866186248441345259419590661969374361882364592061478559916225955206538184816386679967482441838049310905079233609878397934734816175948993752695074814067593455911713281951234584719671148856291994006466814477367850543107690771346327489500529747440674930090756702297261679187551872345086063837394259531898709135941627900148238103139796982138624016618320937655921765263711024009874698746369080375567901724255684972797468157046157244471404374772222761078870327589465169246896223399414535889927524097257658342338819602157586456758679350724006766498955644886341578770464217114532766965311558328771842477936179644154648725549016964555717358267421129406002607793307439153514126492562540286438784812980066800677318313791389822961787325992391015069754823380173916313596635123798266301750265370600068685480969393442609603956119372421591853151722808583669735059915582753550715486399760012328047281867317279176872125198538864086215345171359356062618339888269196615849878341009901174366182431568400817312255199337667870427164058252046691141588462611695798445898455666744650148543174273924084039433899774435857949430043993897554400048319814689695862859159318872535204748251144962702162463499737891432877223121909129098344855891760814617089321319951062904551654895337306129805913025944180906927502044419375620970439904558408425976746524919577422744604678047700295341856552182095320586852500585625664834503585589269368741216930474755189870268950484900669276439820744731551861384605719817230677305424393562608012347282106616739326341508184942013244631726891106292405240644550509393873680228562272071533052382956340446417148097972501997474543615397475518262648869520545135690881661356943350133932565706608146399718351491507472986333577842853498178674984672051322972654996461950987550865292528553620054954224913858166192474882035352357899732655030712160385609277387607740567177899255072891211576698669315915614623365514450273883629476310746756716923977433973982778866537623583659452653953536594305635259113791810456916740095328527216763001938091607108120211956569098947525776967516508899548558888706022782856287399631190569717979133974265816248963278960898161685096058601377782895534213136701479149191550214315794162212015792405661422845597673653182274714618069931744594221634105470177540427769803623211699582705445596866405927037514309107234351370362467425928846073566742931409335261734131864994298347945260635001131311920283905394751792800521660850627916150640677023274911592637202999772417492767266475033477116987488225402321678196203896707838129488510806857661805566699304194033908269506749978952496681544507895148734468513239756888440769289103653460242590706209377481163424447150937201817016411428938761225411412620391654920682653706041198253530963973664372010391746854260916537511407841070178312591009192581586245994250160312207757539666759964652436749624695710006526932049227367011260245836155602924015442624367872349380151723114491536701108462789811468407784363983688570272618639641206165586158836058493189251526501711694316986861847410525231500364251300122350716668571836339732659545049424088047941506679023857361785213178069306989586118887798676812702536322297205577220215669860213928976137767561270063683142657573175784228191236008498180382859203465059664323543054771844757547132314130392776344494173588299702326738416717900532663451394215114634754233027407799698068426715198497878488914782118398612098302405748157704352559685379793070036590846251648673361720445850857158040299680815524702003811717351151130675016102049780631424453367454840976211353451658442534353695502030234100441279085017434696680873502985153330640183412929532516173899867364725712657697298871021769976008801576464527000641600740268937101666222895652566156284601337220279359261104594072445817458590580761247693556209444191579981147963874551394904047417056078912565880591658060975546392462311882416441222311791167990180680463988443570241217782392857011867069680884244666593050092653665365976989558026022470608210613618754008458873824007001387382830148126034290344824191155415782018993342382704401188799702402584222440549094763577598172796167234130544210531502303550183844221220741663302428474645529415233450782908000520186885350457480593709781632911073809060760282828755283843146949436685051247670110734191688391328421684820072278551527252247123400889675092676047061214900279455779580400780351440717718674778598620334958799748366441005751435862051719573393022638455265338173691749329829929778792927209252299363226699669304396453808682352906829063954982628241054392382727084233234617853880930580558610693644662670411726208797563897182971330720340719082906323101468841115426963546938445791225705353254787304946539733594898724141144239697760300827426052047546961517686499215286946912115695254075355830259027832071884029702562735494425377483118322954331921903363250082500469425799174190443792378664442609668389809292715747442728261104057159403046029354348854081362210351403609213873516864619914940327376491482361257397018311601245104220160902827818656188475939462094686499829045336916823240369832468356579523561345523753188223264345478429094340851372771053067637475679342539408456903231828872799930817581833439870712917418826843067896199373130271288943225181644948436774089399904458030735906319863043957331156045424963770688947466084889307668288017861339842181172042726613883141351191946502032310801472904719851519010317205396742332805966529682346479711843615690813680991171119080478015996824605201884259938178327059778427705690165800093885783487243551848412563724052833048053938777061840016039880805180216862163933686912114440387470223690208188772552878220572738123602652179156338205514875086851896614251718730064421549242865868784336065175565809141232179316340986671299518880775846771213786359638973258526041876685988802771745035634109202610454676852913515809745013087114908255827341976713360684166599637471067502080846934028457279122877839953147357045264558228067858304748256702443186153813474105077004037127372084978590676194364870077372863919078432479541812484249945770665687097130554886703984565666761565719480729549387483082392079921320407529213030266573141965767725171518976692790264186777951789494714376261883476100674348793960698920132272895809728836718405181042042166200242323811773354781287658607460464937393102526985242181693805608728998782133113765675901089571688450387452224568913998059430283933149609176082594047129887966560502768716497149939249173319700327489816703037382235849113198295170552753317110482747894359723542152274078773075735521039335880820633518660952281569641483254588807056891467907403975535451264658845706717063340274159861090399237228705263492947884388137919060366304371107346923507223216802854555113422811002653740490373493497476771943744957618238912361105871123340508833843621052596734031115489003920587244237833937934001983626072771827255486635354412852569562139896110474978693951153800424314203240510799368562945909622503906047192266092977311177838217010086337895332739687855857456075811075019674752242664282266828418318547042165783866535637890643286413335353335891881495771340078383117541524707562854351863442581023044407055245102707695125739871176490477169459413368299650205335817378213809868568815478421197430887464542335850372139431553422467447189454265394776179863898613321197633024209811549877358838667487573122994707117760947479764573419702443288188230644661540996586391202121171949219271757199811165779448087702526937363803350087855103239322939923570314417130497148511409247660117551378514426292418595051729608160066848442069823980475068241862290180313840390185352018021242668325351636288393003367116866703550904449343499285632302295111529585478209620551612898101538493408749396488890365023615511802565090365307161314530438588827783932549385468670733396066873503607770084863801600878588766089518908296800339357496112164424762389270780348083382284704542764851908338308928828032225360110179983412930992687514765129195062580345868127350047320493330839930799613175442210878296447190459666744706660794229287089897706005184949640741138729638451585263614735646109431933940841084316841011554272748882673127269937977692547298751398536431024232723610377728277275795611631801969950682885606384130083660300664057543324421294428913146131349667509852259630236780862461739200294159665064666033931082227172941391807869652407232823289128876555186360849123516332791205462668515247400540029657026595166940795871298237057846887774365982183444365710858929739692758260032096111593014809445329433529000974420037599651234658917977788704159890422187728995645804510723716513974598515907928504440484859402651592981913439220633876664968668050187603193347613674753200734397443990506557282807148272672150255343956943283705706686688761914851900814138638095008214987208406637423849630749859560708340013151191988820908808739392817709365488480929905436754475767818927505249571307063016337629900762621744912109022326335905217097032402015200373383934005157635760710628671803217500061884422303491324208638461037779017987374996549290279594632044736801077292301589553318215977990209221962091983267162590498945810664261752136617905642138654318569065615124992835805577913141032563717097365002200065136887109671687271514222302834588219529238791986691965562147668607589093264400273210236389385097410895313325808448971072271685397152566764052845116833488200984237169953314971951274805069254811892178442584282908188407970998439719344803334854717530410685571350443330645839909275077761188884173249989176238565754483737534733464668209831308798007872581282236336744512987953524810476340020839228359432702008216246145988729596932070217319358378633624033773851779976333165011773042492213517762295600225475247571744078691395339520543875077598049016197394114616888863104617540358675004261267116252613111951875208377093174974839522748257694846613683506704919187448089924168782238067598392676486623311352608837637927059987842340264062149206271804744180733147097333762 79221136326288413549090453617582214988603149380032775393045753873679347103737428810698791647263113706575282689198477135930652137291317188670030006057926509831856472550143054466006425134587034426949120010210832597783143689081004098970652114673282224426184172485773967049733965817226715156969648131835381010189470025770375559444559659305270898952170617343578663720139463438305206193729450577009951868047317341521679722886752217921827822705466305632297648679105292595306982225729633137305184703173136534319068330149229142960259210328722455601450057473003629441834416962669954405564521304502500726298911194393554191501157954017925309977598836623748100506311537547090223313424323313673085311409323919977212070953990949404412305207140907616619412378270976434206887105501661848469182736298770557698748104969475842500166345456724876246803841548685455561851856586967869889986216391448174596518073583228454703935275996041071738034755239225816281721293011288588359444337681021846829274952700086230836341401062887321604178406708278357480439226036171803414304571700770050264769130291420603534822495795966981715612394351588510056912232508637273573895372779156159436797233748213294951636931736322625278881149941049169682180025310119656903852664689348405476728233436921288688205034751242856813863451202798101231235894933014025474654357904163264189792879110990531247061528782494741231885291482973616690359904394443018958369073484128300703937149692838128916254439952768266768999800895221352172804608885628145520829329108509888656265795056847497582709463200002373315731960683089450281141672128908771066872542843950397795050900482861371828770525181267955544208230938560999841196913163882946371552828126583680248944964520944418180558701521838650855170095150234372062727397690674991347946365752214498420657007149585319909260780872426315558079608099072865828174703417406185318728278145026184310672633645641700732291542811057990742838365066341014265183949971790930431087121056345347741501667746148234688653065189269356885872908647581204650438736957716528711548574555583977239301969823515430537595181395319473570033411789209713074292228145962019286962544117035974563318921268241513986555088394502711032433789248734183877010959345104750102614262227563661010217640141350231316347211768763385670337883433049195056061300162041862964241528184097908283230852906666992480893473206747006312106694438401261591124362380788902882710265313013071263115504159140550179707220633782158597940373880726872858838789886163551228708805088540541574505134133745949431125107024728689987177439066224173647204385151471810845156172459609697201263898819372465925856032821983943945509201296896112993390414319772317613998628115011584901662481020736975231857679558573639533120123760882987807897148264001476729480741158503008405824181375825684426593602078107066384305742314153383784825815001170364503279303283157714730965700730790958163526085614077255893030881612578737162635171062435305862363661501175783671862584712802832632731639923317926092501167046294294878922434436385815597766578254085927198853219424480746368612964091254086956730350365974846418411767133289280026522101904776721397535481072023153960396155426365282526318432948840966649466716318812335304612541684202901596339076117983534399558629308180937552570931412127563964839611720473046765641026358839977096301838517860717992220124429055320994261412222457829626748188314831526678529121257451724121669436757611557692716596947663821034873517375372433749628434475153359120061495211777091719559441963916844642691242108239222713715540944215042751815205832903182816602051553000809853471087600226541940973229542173962641860015572714026730877762563780111880467244618055586935195897209646109126685288690235443479134420307287200865787784854857681194140932834097813623138157320433948668365280904196167520730495552269155400544459597418276177569668057444229387270850059959177577695113400939572251098823419194625556857107173746511343007800181920881221537624681494893301655822089723344553388000429323171176866004751029713971505534118999127107434111180853160547174861752751626348577776330731649967976997705926985766161797485058129299093471507452375539795559192778297669346728516427619455250496404870474371468200079265657822190324253008657280022070822577899305872108909461787244531453423119105988731060885667270673906364763727364896807710566881055215730830049911805272377486610061004335421869816885849669495243455855042551121024488255660795663819648501724149284790298092093372482653444084141453024908635847938874074697818854837695253972630804930011048531224322683145833842458520248412423153952435022528345724977763280584053398449746120516553508775326815255194777552247568789127161127121523667078092192754147983382483439483110519687390499526362703620317546913529048991244723833568395254652779389245457001074904459611968988017810125634688718594557512726477640828469923085023078927441553690015369298834217415908971293929662509893318732156287214572953717271547294454739080159480184708525419270198385219963884877884002278754278750609561959567609573219604469598655354749579234218685586373052244170384013165767049118076193618533398406013188209001235766656057471022713158458115640722513614902460046359982042188094125956149263515692514917141235851596188317125234698698143445430710086862519687007887491677593147363567434012996511611208264524292392041796094719104232814767772523351970722422038548274955882602506325735217927052884736197570933812826973727984393449854685360152304385913054039591824514239463064574006576447070168308785658334189143136583726277476279484040055265195370002967927103157598498988314064461158492527567235388273093138250126070907284091661168961258085026365164006756510037480113146444863049857410441189627990753392734989779344967229909893545831260919205642629882485159098157638129076046041748514665632636070142935578386099836275589388930926240584371164648614330272952273803821934246410548896732021483600216257876390203223583811752097414977367601275058587892151481717977645237081174997478084219478623660424162752880192868685884668880148643205675563808348487798702434249814028000489387319267434376798624197140709588473161705863149798376475260131435650698866424963700821352635427311875603754398568456694493029785421376982682568805861337391799580504924932794556653379358767208890415958085613545957157879585738485216752347809889677342570960091355021080407464763338564493970911651840304968787953757264726616132058769535451536129440982464344457257409571874631344070375729511782691987208945139373059377362044678441485767885356392625676743825088107696059578436822101089587320629680572375297507439230177389257372694401026822808373497528093968027287143301629103846534858625188325762033439196480397732997628503014649621121690269155702957775533169864904892182237683246347572084245365191125792238162832968930393778486311914591336488816372341376522067036860976397292954319050636670890190881862580303324718499511813664256650581668171314625522576463828792300817636790551747752178963893094026368249871063740051957677459820923123398315939696748427420043893707187931413132194983048121141633208572619318118682144503976902886475074725995927488015931697855547875567877957092844564972845868112467386799220810631963984802801245465491999492342994359330345557818309230549781190666893419855523650310406258181966733177334063917199888119119548767752141086258162376401893740900149055101692383716437730051535448970252369139807831334212981351808475128436325511506521306376541098272413318178788027577886741756988051386311777882287391881862854060744982292039961563494441320610172547471281354491811089427667941553096792539866778533112339401492150191478610168187813943366146939613944255787812295363788871264558245650366272976585990903261089635305905742282528531617124236257160918684087656849837574980709007634462794039027502516932254792552278738094881287976286091303833032328709898177754381747211550369182625253816956570895415702356703647970398979022104775855650022923491671389932150050238130342993219290079594357803961156906483525731193515143667409605342655206986539810441729034123792850051347539305704207486216981192413978602284363056867626486373038246244839413072201313630754273638937315123889266770682128882430762690059836369951715002691645372943891194536056518939393483536344089949823186946555884678988010580615983982479704610187475910957396703374352600973214429895438876454557725931764099504166221965567851477778524080688479039673549688608223453815640594482798578256595213089270083559888919481365699489637100462903261695502194644348626336709527606095941785695581152441637033674790821685888023791364256305622601762475611441750013106178994593770221066022071023423181155633034817805122802161398524935744545943741207082734764334825940768852393487409193252192043890560912706601726987758753067561041148319622385097614386639073680669427818858042442429654858229935977397707681836665668775740641201467318749912966028972169793293390466868251643453919856849649464322290493048735341721271287419107657917313905525324948586326718627816214107076707368817487170052506253995767034921526007809581573945253151822834749452099415021388971615151747053427766692853648240012116610723886125081342994287489545235725721142914067970761305543646806858970499351876132153368421770237795532592261530517822610356843765148217108907994757920134143467540976888459223968533993602900377353953544172817792180535262936919969492569469436153458748985127294759494223048694113803447594333559542494170015852179431982487558567762644873232582846206118354511361889465074082198622487687130683064905826980365281361526563926662405093323369953815510290733148417577099131665373904594606446101445456737906257234215611047930895015327467213852058204569126364764390657202470807122594170585907633466485519524155064808028487628723708474385722676764531471034749556194317090053532721523949569733293990221599435614437855978142064057941350647248869502882171365376482071435295878341415878631076359405882902371556731407341889179961545506866186248441345259419590661969374361882364592061478559916225955206538184816386679967482441838049310905079233609878397934734816175948993752695074814067593455911713281951234584719671148856291994006466814477367850543107690771346327489500529747440674930090756702297261679187551872345086063837394259531898709135941627900148238103139796982138624016618320937655921765263711024009874698746369080375567901724255684972797468157046157244471404374772222761078870327589465169246896223399414535889927524097257658342338819602157586456758679350724006766498955644886341578770464217114532766965311558328771842477936179644154648725549016964555717358267421129406002607793307439153514126492562540286438784812980066800677318313791389822961787325992391015069754823380173916313596635123798266301750265370600068685480969393442609603956119372421591853151722808583669735059915582753550715486399760012328047281867317279176872125198538864086215345171359356062618339888269196615849878341009901174366182431568400817312255199337667870427164058252046691141588462611695798445898455666744650148543174273924084039433899774435857949430043993897554400048319814689695862859159318872535204748251144962702162463499737891432877223121909129098344855891760814617089321319951062904551654895337306129805913025944180906927502044419375620970439904558408425976746524919577422744604678047700295341856552182095320586852500585625664834503585589269368741216930474755189870268950484900669276439820744731551861384605719817230677305424393562608012347282106616739326341508184942013244631726891106292405240644550509393873680228562272071533052382956340446417148097972501997474543615397475518262648869520545135690881661356943350133932565706608146399718351491507472986333577842853498178674984672051322972654996461950987550865292528553620054954224913858166192474882035352357899732655030712160385609277387607740567177899255072891211576698669315915614623365514450273883629476310746756716923977433973982778866537623583659452653953536594305635259113791810456916740095328527216763001938091607108120211956569098947525776967516508899548558888706022782856287399631190569717979133974265816248963278960898161685096058601377782895534213136701479149191550214315794162212015792405661422845597673653182274714618069931744594221634105470177540427769803623211699582705445596866405927037514309107234351370362467425928846073566742931409335261734131864994298347945260635001131311920283905394751792800521660850627916150640677023274911592637202999772417492767266475033477116987488225402321678196203896707838129488510806857661805566699304194033908269506749978952496681544507895148734468513239756888440769289103653460242590706209377481163424447150937201817016411428938761225411412620391654920682653706041198253530963973664372010391746854260916537511407841070178312591009192581586245994250160312207757539666759964652436749624695710006526932049227367011260245836155602924015442624367872349380151723114491536701108462789811468407784363983688570272618639641206165586158836058493189251526501711694316986861847410525231500364251300122350716668571836339732659545049424088047941506679023857361785213178069306989586118887798676812702536322297205577220215669860213928976137767561270063683142657573175784228191236008498180382859203465059664323543054771844757547132314130392776344494173588299702326738416717900532663451394215114634754233027407799698068426715198497878488914782118398612098302405748157704352559685379793070036590846251648673361720445850857158040299680815524702003811717351151130675016102049780631424453367454840976211353451658442534353695502030234100441279085017434696680873502985153330640183412929532516173899867364725712657697298871021769976008801576464527000641600740268937101666222895652566156284601337220279359261104594072445817458590580761247693556209444191579981147963874551394904047417056078912565880591658060975546392462311882416441222311791167990180680463988443570241217782392857011867069680884244666593050092653665365976989558026022470608210613618754008458873824007001387382830148126034290344824191155415782018993342382704401188799702402584222440549094763577598172796167234130544210531502303550183844221220741663302428474645529415233450782908000520186885350457480593709781632911073809060760282828755283843146949436685051247670110734191688391328421684820072278551527252247123400889675092676047061214900279455779580400780351440717718674778598620334958799748366441005751435862051719573393022638455265338173691749329829929778792927209252299363226699669304396453808682352906829063954982628241054392382727084233234617853880930580558610693644662670411726208797563897182971330720340719082906323101468841115426963546938445791225705353254787304946539733594898724141144239697760300827426052047546961517686499215286946912115695254075355830259027832071884029702562735494425377483118322954331921903363250082500469425799174190443792378664442609668389809292715747442728261104057159403046029354348854081362210351403609213873516864619914940327376491482361257397018311601245104220160902827818656188475939462094686499829045336916823240369832468356579523561345523753188223264345478429094340851372771053067637475679342539408456903231828872799930817581833439870712917418826843067896199373130271288943225181644948436774089399904458030735906319863043957331156045424963770688947466084889307668288017861339842181172042726613883141351191946502032310801472904719851519010317205396742332805966529682346479711843615690813680991171119080478015996824605201884259938178327059778427705690165800093885783487243551848412563724052833048053938777061840016039880805180216862163933686912114440387470223690208188772552878220572738123602652179156338205514875086851896614251718730064421549242865868784336065175565809141232179316340986671299518880775846771213786359638973258526041876685988802771745035634109202610454676852913515809745013087114908255827341976713360684166599637471067502080846934028457279122877839953147357045264558228067858304748256702443186153813474105077004037127372084978590676194364870077372863919078432479541812484249945770665687097130554886703984565666761565719480729549387483082392079921320407529213030266573141965767725171518976692790264186777951789494714376261883476100674348793960698920132272895809728836718405181042042166200242323811773354781287658607460464937393102526985242181693805608728998782133113765675901089571688450387452224568913998059430283933149609176082594047129887966560502768716497149939249173319700327489816703037382235849113198295170552753317110482747894359723542152274078773075735521039335880820633518660952281569641483254588807056891467907403975535451264658845706717063340274159861090399237228705263492947884388137919060366304371107346923507223216802854555113422811002653740490373493497476771943744957618238912361105871123340508833843621052596734031115489003920587244237833937934001983626072771827255486635354412852569562139896110474978693951153800424314203240510799368562945909622503906047192266092977311177838217010086337895332739687855857456075811075019674752242664282266828418318547042165783866535637890643286413335353335891881495771340078383117541524707562854351863442581023044407055245102707695125739871176490477169459413368299650205335817378213809868568815478421197430887464542335850372139431553422467447189454265394776179863898613321197633024209811549877358838667487573122994707117760947479764573419702443288188230644661540996586391202121171949219271757199811165779448087702526937363803350087855103239322939923570314417130497148511409247660117551378514426292418595051729608160066848442069823980475068241862290180313840390185352018021242668325351636288393003367116866703550904449343499285632302295111529585478209620551612898101538493408749396488890365023615511802565090365307161314530438588827783932549385468670733396066873503607770084863801600878588766089518908296800339357496112164424762389270780348083382284704542764851908338308928828032225360110179983412930992687514765129195062580345868127350047320493330839930799613175442210878296447190459666744706660794229287089897706005184949640741138729638451585263614735646109431933940841084316841011554272748882673127269937977692547298751398536431024232723610377728277275795611631801969950682885606384130083660300664057543324421294428913146131349667509852259630236780862461739200294159665064666033931082227172941391807869652407232823289128876555186360849123516332791205462668515247400540029657026595166940795871298237057846887774365982183444365710858929739692758260032096111593014809445329433529000974420037599651234658917977788704159890422187728995645804510723716513974598515907928504440484859402651592981913439220633876664968668050187603193347613674753200734397443990506557282807148272672150255343956943283705706686688761914851900814138638095008214987208406637423849630749859560708340013151191988820908808739392817709365488480929905436754475767818927505249571307063016337629900762621744912109022326335905217097032402015200373383934005157635760710628671803217500061884422303491324208638461037779017987374996549290279594632044736801077292301589553318215977990209221962091983267162590498945810664261752136617905642138654318569065615124992835805577913141032563717097365002200065136887109671687271514222302834588219529238791986691965562147668607589093264400273210236389385097410895313325808448971072271685397152566764052845116833488200984237169953314971951274805069254811892178442584282908188407970998439719344803334854717530410685571350443330645839909275077761188884173249989176238565754483737534733464668209831308798007872581282236336744512987953524810476340020839228359432702008216246145988729596932070217319358378633624033773851779976333165011773042492213517762295600225475247571744078691395339520543875077598049016197394114616888863104617540358675004261267116252613111951875208377093174974839522748257694846613683506704919187448089924168782238067598392676486623311352608837637927059987842340264062149206271804744180733147097333762 . | | . 157536965537042195967639555 79221136326288413549090453617582214988603149380032775393045753873679347103737428810698791647263113706575282689198477135930652137291317188670030006057926509831856472550143054466006425134587034426949120010210832597783143689081004098970652114673282224426184172485773967049733965817226715156969648131835381010189470025770375559444559659305270898952170617343578663720139463438305206193729450577009951868047317341521679722886752217921827822705466305632297648679105292595306982225729633137305184703173136534319068330149229142960259210328722455601450057473003629441834416962669954405564521304502500726298911194393554191501157954017925309977598836623748100506311537547090223313424323313673085311409323919977212070953990949404412305207140907616619412378270976434206887105501661848469182736298770557698748104969475842500166345456724876246803841548685455561851856586967869889986216391448174596518073583228454703935275996041071738034755239225816281721293011288588359444337681021846829274952700086230836341401062887321604178406708278357480439226036171803414304571700770050264769130291420603534822495795966981715612394351588510056912232508637273573895372779156159436797233748213294951636931736322625278881149941049169682180025310119656903852664689348405476728233436921288688205034751242856813863451202798101231235894933014025474654357904163264189792879110990531247061528782494741231885291482973616690359904394443018958369073484128300703937149692838128916254439952768266768999800895221352172804608885628145520829329108509888656265795056847497582709463200002373315731960683089450281141672128908771066872542843950397795050900482861371828770525181267955544208230938560999841196913163882946371552828126583680248944964520944418180558701521838650855170095150234372062727397690674991347946365752214498420657007149585319909260780872426315558079608099072865828174703417406185318728278145026184310672633645641700732291542811057990742838365066341014265183949971790930431087121056345347741501667746148234688653065189269356885872908647581204650438736957716528711548574555583977239301969823515430537595181395319473570033411789209713074292228145962019286962544117035974563318921268241513986555088394502711032433789248734183877010959345104750102614262227563661010217640141350231316347211768763385670337883433049195056061300162041862964241528184097908283230852906666992480893473206747006312106694438401261591124362380788902882710265313013071263115504159140550179707220633782158597940373880726872858838789886163551228708805088540541574505134133745949431125107024728689987177439066224173647204385151471810845156172459609697201263898819372465925856032821983943945509201296896112993390414319772317613998628115011584901662481020736975231857679558573639533120123760882987807897148264001476729480741158503008405824181375825684426593602078107066384305742314153383784825815001170364503279303283157714730965700730790958163526085614077255893030881612578737162635171062435305862363661501175783671862584712802832632731639923317926092501167046294294878922434436385815597766578254085927198853219424480746368612964091254086956730350365974846418411767133289280026522101904776721397535481072023153960396155426365282526318432948840966649466716318812335304612541684202901596339076117983534399558629308180937552570931412127563964839611720473046765641026358839977096301838517860717992220124429055320994261412222457829626748188314831526678529121257451724121669436757611557692716596947663821034873517375372433749628434475153359120061495211777091719559441963916844642691242108239222713715540944215042751815205832903182816602051553000809853471087600226541940973229542173962641860015572714026730877762563780111880467244618055586935195897209646109126685288690235443479134420307287200865787784854857681194140932834097813623138157320433948668365280904196167520730495552269155400544459597418276177569668057444229387270850059959177577695113400939572251098823419194625556857107173746511343007800181920881221537624681494893301655822089723344553388000429323171176866004751029713971505534118999127107434111180853160547174861752751626348577776330731649967976997705926985766161797485058129299093471507452375539795559192778297669346728516427619455250496404870474371468200079265657822190324253008657280022070822577899305872108909461787244531453423119105988731060885667270673906364763727364896807710566881055215730830049911805272377486610061004335421869816885849669495243455855042551121024488255660795663819648501724149284790298092093372482653444084141453024908635847938874074697818854837695253972630804930011048531224322683145833842458520248412423153952435022528345724977763280584053398449746120516553508775326815255194777552247568789127161127121523667078092192754147983382483439483110519687390499526362703620317546913529048991244723833568395254652779389245457001074904459611968988017810125634688718594557512726477640828469923085023078927441553690015369298834217415908971293929662509893318732156287214572953717271547294454739080159480184708525419270198385219963884877884002278754278750609561959567609573219604469598655354749579234218685586373052244170384013165767049118076193618533398406013188209001235766656057471022713158458115640722513614902460046359982042188094125956149263515692514917141235851596188317125234698698143445430710086862519687007887491677593147363567434012996511611208264524292392041796094719104232814767772523351970722422038548274955882602506325735217927052884736197570933812826973727984393449854685360152304385913054039591824514239463064574006576447070168308785658334189143136583726277476279484040055265195370002967927103157598498988314064461158492527567235388273093138250126070907284091661168961258085026365164006756510037480113146444863049857410441189627990753392734989779344967229909893545831260919205642629882485159098157638129076046041748514665632636070142935578386099836275589388930926240584371164648614330272952273803821934246410548896732021483600216257876390203223583811752097414977367601275058587892151481717977645237081174997478084219478623660424162752880192868685884668880148643205675563808348487798702434249814028000489387319267434376798624197140709588473161705863149798376475260131435650698866424963700821352635427311875603754398568456694493029785421376982682568805861337391799580504924932794556653379358767208890415958085613545957157879585738485216752347809889677342570960091355021080407464763338564493970911651840304968787953757264726616132058769535451536129440982464344457257409571874631344070375729511782691987208945139373059377362044678441485767885356392625676743825088107696059578436822101089587320629680572375297507439230177389257372694401026822808373497528093968027287143301629103846534858625188325762033439196480397732997628503014649621121690269155702957775533169864904892182237683246347572084245365191125792238162832968930393778486311914591336488816372341376522067036860976397292954319050636670890190881862580303324718499511813664256650581668171314625522576463828792300817636790551747752178963893094026368249871063740051957677459820923123398315939696748427420043893707187931413132194983048121141633208572619318118682144503976902886475074725995927488015931697855547875567877957092844564972845868112467386799220810631963984802801245465491999492342994359330345557818309230549781190666893419855523650310406258181966733177334063917199888119119548767752141086258162376401893740900149055101692383716437730051535448970252369139807831334212981351808475128436325511506521306376541098272413318178788027577886741756988051386311777882287391881862854060744982292039961563494441320610172547471281354491811089427667941553096792539866778533112339401492150191478610168187813943366146939613944255787812295363788871264558245650366272976585990903261089635305905742282528531617124236257160918684087656849837574980709007634462794039027502516932254792552278738094881287976286091303833032328709898177754381747211550369182625253816956570895415702356703647970398979022104775855650022923491671389932150050238130342993219290079594357803961156906483525731193515143667409605342655206986539810441729034123792850051347539305704207486216981192413978602284363056867626486373038246244839413072201313630754273638937315123889266770682128882430762690059836369951715002691645372943891194536056518939393483536344089949823186946555884678988010580615983982479704610187475910957396703374352600973214429895438876454557725931764099504166221965567851477778524080688479039673549688608223453815640594482798578256595213089270083559888919481365699489637100462903261695502194644348626336709527606095941785695581152441637033674790821685888023791364256305622601762475611441750013106178994593770221066022071023423181155633034817805122802161398524935744545943741207082734764334825940768852393487409193252192043890560912706601726987758753067561041148319622385097614386639073680669427818858042442429654858229935977397707681836665668775740641201467318749912966028972169793293390466868251643453919856849649464322290493048735341721271287419107657917313905525324948586326718627816214107076707368817487170052506253995767034921526007809581573945253151822834749452099415021388971615151747053427766692853648240012116610723886125081342994287489545235725721142914067970761305543646806858970499351876132153368421770237795532592261530517822610356843765148217108907994757920134143467540976888459223968533993602900377353953544172817792180535262936919969492569469436153458748985127294759494223048694113803447594333559542494170015852179431982487558567762644873232582846206118354511361889465074082198622487687130683064905826980365281361526563926662405093323369953815510290733148417577099131665373904594606446101445456737906257234215611047930895015327467213852058204569126364764390657202470807122594170585907633466485519524155064808028487628723708474385722676764531471034749556194317090053532721523949569733293990221599435614437855978142064057941350647248869502882171365376482071435295878341415878631076359405882902371556731407341889179961545506866186248441345259419590661969374361882364592061478559916225955206538184816386679967482441838049310905079233609878397934734816175948993752695074814067593455911713281951234584719671148856291994006466814477367850543107690771346327489500529747440674930090756702297261679187551872345086063837394259531898709135941627900148238103139796982138624016618320937655921765263711024009874698746369080375567901724255684972797468157046157244471404374772222761078870327589465169246896223399414535889927524097257658342338819602157586456758679350724006766498955644886341578770464217114532766965311558328771842477936179644154648725549016964555717358267421129406002607793307439153514126492562540286438784812980066800677318313791389822961787325992391015069754823380173916313596635123798266301750265370600068685480969393442609603956119372421591853151722808583669735059915582753550715486399760012328047281867317279176872125198538864086215345171359356062618339888269196615849878341009901174366182431568400817312255199337667870427164058252046691141588462611695798445898455666744650148543174273924084039433899774435857949430043993897554400048319814689695862859159318872535204748251144962702162463499737891432877223121909129098344855891760814617089321319951062904551654895337306129805913025944180906927502044419375620970439904558408425976746524919577422744604678047700295341856552182095320586852500585625664834503585589269368741216930474755189870268950484900669276439820744731551861384605719817230677305424393562608012347282106616739326341508184942013244631726891106292405240644550509393873680228562272071533052382956340446417148097972501997474543615397475518262648869520545135690881661356943350133932565706608146399718351491507472986333577842853498178674984672051322972654996461950987550865292528553620054954224913858166192474882035352357899732655030712160385609277387607740567177899255072891211576698669315915614623365514450273883629476310746756716923977433973982778866537623583659452653953536594305635259113791810456916740095328527216763001938091607108120211956569098947525776967516508899548558888706022782856287399631190569717979133974265816248963278960898161685096058601377782895534213136701479149191550214315794162212015792405661422845597673653182274714618069931744594221634105470177540427769803623211699582705445596866405927037514309107234351370362467425928846073566742931409335261734131864994298347945260635001131311920283905394751792800521660850627916150640677023274911592637202999772417492767266475033477116987488225402321678196203896707838129488510806857661805566699304194033908269506749978952496681544507895148734468513239756888440769289103653460242590706209377481163424447150937201817016411428938761225411412620391654920682653706041198253530963973664372010391746854260916537511407841070178312591009192581586245994250160312207757539666759964652436749624695710006526932049227367011260245836155602924015442624367872349380151723114491536701108462789811468407784363983688570272618639641206165586158836058493189251526501711694316986861847410525231500364251300122350716668571836339732659545049424088047941506679023857361785213178069306989586118887798676812702536322297205577220215669860213928976137767561270063683142657573175784228191236008498180382859203465059664323543054771844757547132314130392776344494173588299702326738416717900532663451394215114634754233027407799698068426715198497878488914782118398612098302405748157704352559685379793070036590846251648673361720445850857158040299680815524702003811717351151130675016102049780631424453367454840976211353451658442534353695502030234100441279085017434696680873502985153330640183412929532516173899867364725712657697298871021769976008801576464527000641600740268937101666222895652566156284601337220279359261104594072445817458590580761247693556209444191579981147963874551394904047417056078912565880591658060975546392462311882416441222311791167990180680463988443570241217782392857011867069680884244666593050092653665365976989558026022470608210613618754008458873824007001387382830148126034290344824191155415782018993342382704401188799702402584222440549094763577598172796167234130544210531502303550183844221220741663302428474645529415233450782908000520186885350457480593709781632911073809060760282828755283843146949436685051247670110734191688391328421684820072278551527252247123400889675092676047061214900279455779580400780351440717718674778598620334958799748366441005751435862051719573393022638455265338173691749329829929778792927209252299363226699669304396453808682352906829063954982628241054392382727084233234617853880930580558610693644662670411726208797563897182971330720340719082906323101468841115426963546938445791225705353254787304946539733594898724141144239697760300827426052047546961517686499215286946912115695254075355830259027832071884029702562735494425377483118322954331921903363250082500469425799174190443792378664442609668389809292715747442728261104057159403046029354348854081362210351403609213873516864619914940327376491482361257397018311601245104220160902827818656188475939462094686499829045336916823240369832468356579523561345523753188223264345478429094340851372771053067637475679342539408456903231828872799930817581833439870712917418826843067896199373130271288943225181644948436774089399904458030735906319863043957331156045424963770688947466084889307668288017861339842181172042726613883141351191946502032310801472904719851519010317205396742332805966529682346479711843615690813680991171119080478015996824605201884259938178327059778427705690165800093885783487243551848412563724052833048053938777061840016039880805180216862163933686912114440387470223690208188772552878220572738123602652179156338205514875086851896614251718730064421549242865868784336065175565809141232179316340986671299518880775846771213786359638973258526041876685988802771745035634109202610454676852913515809745013087114908255827341976713360684166599637471067502080846934028457279122877839953147357045264558228067858304748256702443186153813474105077004037127372084978590676194364870077372863919078432479541812484249945770665687097130554886703984565666761565719480729549387483082392079921320407529213030266573141965767725171518976692790264186777951789494714376261883476100674348793960698920132272895809728836718405181042042166200242323811773354781287658607460464937393102526985242181693805608728998782133113765675901089571688450387452224568913998059430283933149609176082594047129887966560502768716497149939249173319700327489816703037382235849113198295170552753317110482747894359723542152274078773075735521039335880820633518660952281569641483254588807056891467907403975535451264658845706717063340274159861090399237228705263492947884388137919060366304371107346923507223216802854555113422811002653740490373493497476771943744957618238912361105871123340508833843621052596734031115489003920587244237833937934001983626072771827255486635354412852569562139896110474978693951153800424314203240510799368562945909622503906047192266092977311177838217010086337895332739687855857456075811075019674752242664282266828418318547042165783866535637890643286413335353335891881495771340078383117541524707562854351863442581023044407055245102707695125739871176490477169459413368299650205335817378213809868568815478421197430887464542335850372139431553422467447189454265394776179863898613321197633024209811549877358838667487573122994707117760947479764573419702443288188230644661540996586391202121171949219271757199811165779448087702526937363803350087855103239322939923570314417130497148511409247660117551378514426292418595051729608160066848442069823980475068241862290180313840390185352018021242668325351636288393003367116866703550904449343499285632302295111529585478209620551612898101538493408749396488890365023615511802565090365307161314530438588827783932549385468670733396066873503607770084863801600878588766089518908296800339357496112164424762389270780348083382284704542764851908338308928828032225360110179983412930992687514765129195062580345868127350047320493330839930799613175442210878296447190459666744706660794229287089897706005184949640741138729638451585263614735646109431933940841084316841011554272748882673127269937977692547298751398536431024232723610377728277275795611631801969950682885606384130083660300664057543324421294428913146131349667509852259630236780862461739200294159665064666033931082227172941391807869652407232823289128876555186360849123516332791205462668515247400540029657026595166940795871298237057846887774365982183444365710858929739692758260032096111593014809445329433529000974420037599651234658917977788704159890422187728995645804510723716513974598515907928504440484859402651592981913439220633876664968668050187603193347613674753200734397443990506557282807148272672150255343956943283705706686688761914851900814138638095008214987208406637423849630749859560708340013151191988820908808739392817709365488480929905436754475767818927505249571307063016337629900762621744912109022326335905217097032402015200373383934005157635760710628671803217500061884422303491324208638461037779017987374996549290279594632044736801077292301589553318215977990209221962091983267162590498945810664261752136617905642138654318569065615124992835805577913141032563717097365002200065136887109671687271514222302834588219529238791986691965562147668607589093264400273210236389385097410895313325808448971072271685397152566764052845116833488200984237169953314971951274805069254811892178442584282908188407970998439719344803334854717530410685571350443330645839909275077761188884173249989176238565754483737534733464668209831308798007872581282236336744512987953524810476340020839228359432702008216246145988729596932070217319358378633624033773851779976333165011773042492213517762295600225475247571744078691395339520543875077598049016197394114616888863104617540358675004261267116252613111951875208377093174974839522748257694846613683506704919187448089924168782238067598392676486623311352608837637927059987842340264062149206271804744180733198636941315 . . . . 79221136326288413549090453617582214988603149380032775393045753873679347103737428810698791647263113706575282689198477135930652137291317188670030006057926509831856472550143054466006425134587034426949120010210832597783143689081004098970652114673282224426184172485773967049733965817226715156969648131835381010189470025770375559444559659305270898952170617343578663720139463438305206193729450577009951868047317341521679722886752217921827822705466305632297648679105292595306982225729633137305184703173136534319068330149229142960259210328722455601450057473003629441834416962669954405564521304502500726298911194393554191501157954017925309977598836623748100506311537547090223313424323313673085311409323919977212070953990949404412305207140907616619412378270976434206887105501661848469182736298770557698748104969475842500166345456724876246803841548685455561851856586967869889986216391448174596518073583228454703935275996041071738034755239225816281721293011288588359444337681021846829274952700086230836341401062887321604178406708278357480439226036171803414304571700770050264769130291420603534822495795966981715612394351588510056912232508637273573895372779156159436797233748213294951636931736322625278881149941049169682180025310119656903852664689348405476728233436921288688205034751242856813863451202798101231235894933014025474654357904163264189792879110990531247061528782494741231885291482973616690359904394443018958369073484128300703937149692838128916254439952768266768999800895221352172804608885628145520829329108509888656265795056847497582709463200002373315731960683089450281141672128908771066872542843950397795050900482861371828770525181267955544208230938560999841196913163882946371552828126583680248944964520944418180558701521838650855170095150234372062727397690674991347946365752214498420657007149585319909260780872426315558079608099072865828174703417406185318728278145026184310672633645641700732291542811057990742838365066341014265183949971790930431087121056345347741501667746148234688653065189269356885872908647581204650438736957716528711548574555583977239301969823515430537595181395319473570033411789209713074292228145962019286962544117035974563318921268241513986555088394502711032433789248734183877010959345104750102614262227563661010217640141350231316347211768763385670337883433049195056061300162041862964241528184097908283230852906666992480893473206747006312106694438401261591124362380788902882710265313013071263115504159140550179707220633782158597940373880726872858838789886163551228708805088540541574505134133745949431125107024728689987177439066224173647204385151471810845156172459609697201263898819372465925856032821983943945509201296896112993390414319772317613998628115011584901662481020736975231857679558573639533120123760882987807897148264001476729480741158503008405824181375825684426593602078107066384305742314153383784825815001170364503279303283157714730965700730790958163526085614077255893030881612578737162635171062435305862363661501175783671862584712802832632731639923317926092501167046294294878922434436385815597766578254085927198853219424480746368612964091254086956730350365974846418411767133289280026522101904776721397535481072023153960396155426365282526318432948840966649466716318812335304612541684202901596339076117983534399558629308180937552570931412127563964839611720473046765641026358839977096301838517860717992220124429055320994261412222457829626748188314831526678529121257451724121669436757611557692716596947663821034873517375372433749628434475153359120061495211777091719559441963916844642691242108239222713715540944215042751815205832903182816602051553000809853471087600226541940973229542173962641860015572714026730877762563780111880467244618055586935195897209646109126685288690235443479134420307287200865787784854857681194140932834097813623138157320433948668365280904196167520730495552269155400544459597418276177569668057444229387270850059959177577695113400939572251098823419194625556857107173746511343007800181920881221537624681494893301655822089723344553388000429323171176866004751029713971505534118999127107434111180853160547174861752751626348577776330731649967976997705926985766161797485058129299093471507452375539795559192778297669346728516427619455250496404870474371468200079265657822190324253008657280022070822577899305872108909461787244531453423119105988731060885667270673906364763727364896807710566881055215730830049911805272377486610061004335421869816885849669495243455855042551121024488255660795663819648501724149284790298092093372482653444084141453024908635847938874074697818854837695253972630804930011048531224322683145833842458520248412423153952435022528345724977763280584053398449746120516553508775326815255194777552247568789127161127121523667078092192754147983382483439483110519687390499526362703620317546913529048991244723833568395254652779389245457001074904459611968988017810125634688718594557512726477640828469923085023078927441553690015369298834217415908971293929662509893318732156287214572953717271547294454739080159480184708525419270198385219963884877884002278754278750609561959567609573219604469598655354749579234218685586373052244170384013165767049118076193618533398406013188209001235766656057471022713158458115640722513614902460046359982042188094125956149263515692514917141235851596188317125234698698143445430710086862519687007887491677593147363567434012996511611208264524292392041796094719104232814767772523351970722422038548274955882602506325735217927052884736197570933812826973727984393449854685360152304385913054039591824514239463064574006576447070168308785658334189143136583726277476279484040055265195370002967927103157598498988314064461158492527567235388273093138250126070907284091661168961258085026365164006756510037480113146444863049857410441189627990753392734989779344967229909893545831260919205642629882485159098157638129076046041748514665632636070142935578386099836275589388930926240584371164648614330272952273803821934246410548896732021483600216257876390203223583811752097414977367601275058587892151481717977645237081174997478084219478623660424162752880192868685884668880148643205675563808348487798702434249814028000489387319267434376798624197140709588473161705863149798376475260131435650698866424963700821352635427311875603754398568456694493029785421376982682568805861337391799580504924932794556653379358767208890415958085613545957157879585738485216752347809889677342570960091355021080407464763338564493970911651840304968787953757264726616132058769535451536129440982464344457257409571874631344070375729511782691987208945139373059377362044678441485767885356392625676743825088107696059578436822101089587320629680572375297507439230177389257372694401026822808373497528093968027287143301629103846534858625188325762033439196480397732997628503014649621121690269155702957775533169864904892182237683246347572084245365191125792238162832968930393778486311914591336488816372341376522067036860976397292954319050636670890190881862580303324718499511813664256650581668171314625522576463828792300817636790551747752178963893094026368249871063740051957677459820923123398315939696748427420043893707187931413132194983048121141633208572619318118682144503976902886475074725995927488015931697855547875567877957092844564972845868112467386799220810631963984802801245465491999492342994359330345557818309230549781190666893419855523650310406258181966733177334063917199888119119548767752141086258162376401893740900149055101692383716437730051535448970252369139807831334212981351808475128436325511506521306376541098272413318178788027577886741756988051386311777882287391881862854060744982292039961563494441320610172547471281354491811089427667941553096792539866778533112339401492150191478610168187813943366146939613944255787812295363788871264558245650366272976585990903261089635305905742282528531617124236257160918684087656849837574980709007634462794039027502516932254792552278738094881287976286091303833032328709898177754381747211550369182625253816956570895415702356703647970398979022104775855650022923491671389932150050238130342993219290079594357803961156906483525731193515143667409605342655206986539810441729034123792850051347539305704207486216981192413978602284363056867626486373038246244839413072201313630754273638937315123889266770682128882430762690059836369951715002691645372943891194536056518939393483536344089949823186946555884678988010580615983982479704610187475910957396703374352600973214429895438876454557725931764099504166221965567851477778524080688479039673549688608223453815640594482798578256595213089270083559888919481365699489637100462903261695502194644348626336709527606095941785695581152441637033674790821685888023791364256305622601762475611441750013106178994593770221066022071023423181155633034817805122802161398524935744545943741207082734764334825940768852393487409193252192043890560912706601726987758753067561041148319622385097614386639073680669427818858042442429654858229935977397707681836665668775740641201467318749912966028972169793293390466868251643453919856849649464322290493048735341721271287419107657917313905525324948586326718627816214107076707368817487170052506253995767034921526007809581573945253151822834749452099415021388971615151747053427766692853648240012116610723886125081342994287489545235725721142914067970761305543646806858970499351876132153368421770237795532592261530517822610356843765148217108907994757920134143467540976888459223968533993602900377353953544172817792180535262936919969492569469436153458748985127294759494223048694113803447594333559542494170015852179431982487558567762644873232582846206118354511361889465074082198622487687130683064905826980365281361526563926662405093323369953815510290733148417577099131665373904594606446101445456737906257234215611047930895015327467213852058204569126364764390657202470807122594170585907633466485519524155064808028487628723708474385722676764531471034749556194317090053532721523949569733293990221599435614437855978142064057941350647248869502882171365376482071435295878341415878631076359405882902371556731407341889179961545506866186248441345259419590661969374361882364592061478559916225955206538184816386679967482441838049310905079233609878397934734816175948993752695074814067593455911713281951234584719671148856291994006466814477367850543107690771346327489500529747440674930090756702297261679187551872345086063837394259531898709135941627900148238103139796982138624016618320937655921765263711024009874698746369080375567901724255684972797468157046157244471404374772222761078870327589465169246896223399414535889927524097257658342338819602157586456758679350724006766498955644886341578770464217114532766965311558328771842477936179644154648725549016964555717358267421129406002607793307439153514126492562540286438784812980066800677318313791389822961787325992391015069754823380173916313596635123798266301750265370600068685480969393442609603956119372421591853151722808583669735059915582753550715486399760012328047281867317279176872125198538864086215345171359356062618339888269196615849878341009901174366182431568400817312255199337667870427164058252046691141588462611695798445898455666744650148543174273924084039433899774435857949430043993897554400048319814689695862859159318872535204748251144962702162463499737891432877223121909129098344855891760814617089321319951062904551654895337306129805913025944180906927502044419375620970439904558408425976746524919577422744604678047700295341856552182095320586852500585625664834503585589269368741216930474755189870268950484900669276439820744731551861384605719817230677305424393562608012347282106616739326341508184942013244631726891106292405240644550509393873680228562272071533052382956340446417148097972501997474543615397475518262648869520545135690881661356943350133932565706608146399718351491507472986333577842853498178674984672051322972654996461950987550865292528553620054954224913858166192474882035352357899732655030712160385609277387607740567177899255072891211576698669315915614623365514450273883629476310746756716923977433973982778866537623583659452653953536594305635259113791810456916740095328527216763001938091607108120211956569098947525776967516508899548558888706022782856287399631190569717979133974265816248963278960898161685096058601377782895534213136701479149191550214315794162212015792405661422845597673653182274714618069931744594221634105470177540427769803623211699582705445596866405927037514309107234351370362467425928846073566742931409335261734131864994298347945260635001131311920283905394751792800521660850627916150640677023274911592637202999772417492767266475033477116987488225402321678196203896707838129488510806857661805566699304194033908269506749978952496681544507895148734468513239756888440769289103653460242590706209377481163424447150937201817016411428938761225411412620391654920682653706041198253530963973664372010391746854260916537511407841070178312591009192581586245994250160312207757539666759964652436749624695710006526932049227367011260245836155602924015442624367872349380151723114491536701108462789811468407784363983688570272618639641206165586158836058493189251526501711694316986861847410525231500364251300122350716668571836339732659545049424088047941506679023857361785213178069306989586118887798676812702536322297205577220215669860213928976137767561270063683142657573175784228191236008498180382859203465059664323543054771844757547132314130392776344494173588299702326738416717900532663451394215114634754233027407799698068426715198497878488914782118398612098302405748157704352559685379793070036590846251648673361720445850857158040299680815524702003811717351151130675016102049780631424453367454840976211353451658442534353695502030234100441279085017434696680873502985153330640183412929532516173899867364725712657697298871021769976008801576464527000641600740268937101666222895652566156284601337220279359261104594072445817458590580761247693556209444191579981147963874551394904047417056078912565880591658060975546392462311882416441222311791167990180680463988443570241217782392857011867069680884244666593050092653665365976989558026022470608210613618754008458873824007001387382830148126034290344824191155415782018993342382704401188799702402584222440549094763577598172796167234130544210531502303550183844221220741663302428474645529415233450782908000520186885350457480593709781632911073809060760282828755283843146949436685051247670110734191688391328421684820072278551527252247123400889675092676047061214900279455779580400780351440717718674778598620334958799748366441005751435862051719573393022638455265338173691749329829929778792927209252299363226699669304396453808682352906829063954982628241054392382727084233234617853880930580558610693644662670411726208797563897182971330720340719082906323101468841115426963546938445791225705353254787304946539733594898724141144239697760300827426052047546961517686499215286946912115695254075355830259027832071884029702562735494425377483118322954331921903363250082500469425799174190443792378664442609668389809292715747442728261104057159403046029354348854081362210351403609213873516864619914940327376491482361257397018311601245104220160902827818656188475939462094686499829045336916823240369832468356579523561345523753188223264345478429094340851372771053067637475679342539408456903231828872799930817581833439870712917418826843067896199373130271288943225181644948436774089399904458030735906319863043957331156045424963770688947466084889307668288017861339842181172042726613883141351191946502032310801472904719851519010317205396742332805966529682346479711843615690813680991171119080478015996824605201884259938178327059778427705690165800093885783487243551848412563724052833048053938777061840016039880805180216862163933686912114440387470223690208188772552878220572738123602652179156338205514875086851896614251718730064421549242865868784336065175565809141232179316340986671299518880775846771213786359638973258526041876685988802771745035634109202610454676852913515809745013087114908255827341976713360684166599637471067502080846934028457279122877839953147357045264558228067858304748256702443186153813474105077004037127372084978590676194364870077372863919078432479541812484249945770665687097130554886703984565666761565719480729549387483082392079921320407529213030266573141965767725171518976692790264186777951789494714376261883476100674348793960698920132272895809728836718405181042042166200242323811773354781287658607460464937393102526985242181693805608728998782133113765675901089571688450387452224568913998059430283933149609176082594047129887966560502768716497149939249173319700327489816703037382235849113198295170552753317110482747894359723542152274078773075735521039335880820633518660952281569641483254588807056891467907403975535451264658845706717063340274159861090399237228705263492947884388137919060366304371107346923507223216802854555113422811002653740490373493497476771943744957618238912361105871123340508833843621052596734031115489003920587244237833937934001983626072771827255486635354412852569562139896110474978693951153800424314203240510799368562945909622503906047192266092977311177838217010086337895332739687855857456075811075019674752242664282266828418318547042165783866535637890643286413335353335891881495771340078383117541524707562854351863442581023044407055245102707695125739871176490477169459413368299650205335817378213809868568815478421197430887464542335850372139431553422467447189454265394776179863898613321197633024209811549877358838667487573122994707117760947479764573419702443288188230644661540996586391202121171949219271757199811165779448087702526937363803350087855103239322939923570314417130497148511409247660117551378514426292418595051729608160066848442069823980475068241862290180313840390185352018021242668325351636288393003367116866703550904449343499285632302295111529585478209620551612898101538493408749396488890365023615511802565090365307161314530438588827783932549385468670733396066873503607770084863801600878588766089518908296800339357496112164424762389270780348083382284704542764851908338308928828032225360110179983412930992687514765129195062580345868127350047320493330839930799613175442210878296447190459666744706660794229287089897706005184949640741138729638451585263614735646109431933940841084316841011554272748882673127269937977692547298751398536431024232723610377728277275795611631801969950682885606384130083660300664057543324421294428913146131349667509852259630236780862461739200294159665064666033931082227172941391807869652407232823289128876555186360849123516332791205462668515247400540029657026595166940795871298237057846887774365982183444365710858929739692758260032096111593014809445329433529000974420037599651234658917977788704159890422187728995645804510723716513974598515907928504440484859402651592981913439220633876664968668050187603193347613674753200734397443990506557282807148272672150255343956943283705706686688761914851900814138638095008214987208406637423849630749859560708340013151191988820908808739392817709365488480929905436754475767818927505249571307063016337629900762621744912109022326335905217097032402015200373383934005157635760710628671803217500061884422303491324208638461037779017987374996549290279594632044736801077292301589553318215977990209221962091983267162590498945810664261752136617905642138654318569065615124992835805577913141032563717097365002200065136887109671687271514222302834588219529238791986691965562147668607589093264400273210236389385097410895313325808448971072271685397152566764052845116833488200984237169953314971951274805069254811892178442584282908188407970998439719344803334854717530410685571350443330645839909275077761188884173249989176238565754483737534733464668209831308798007872581282236336744512987953524810476340020839228359432702008216246145988729596932070217319358378633624033773851779976333165011773042492213517762295600225475247571744078691395339520543875077598049016197394114616888863104617540358675004261267116252613111951875208377093174974839522748257694846613683506704919187448089924168782238067598392676486623311352608837637927059987842340264062149206271804744180733198636941315 79221136326288413549090453617582214988603149380032775393045753873679347103737428810698791647263113706575282689198477135930652137291317188670030006057926509831856472550143054466006425134587034426949120010210832597783143689081004098970652114673282224426184172485773967049733965817226715156969648131835381010189470025770375559444559659305270898952170617343578663720139463438305206193729450577009951868047317341521679722886752217921827822705466305632297648679105292595306982225729633137305184703173136534319068330149229142960259210328722455601450057473003629441834416962669954405564521304502500726298911194393554191501157954017925309977598836623748100506311537547090223313424323313673085311409323919977212070953990949404412305207140907616619412378270976434206887105501661848469182736298770557698748104969475842500166345456724876246803841548685455561851856586967869889986216391448174596518073583228454703935275996041071738034755239225816281721293011288588359444337681021846829274952700086230836341401062887321604178406708278357480439226036171803414304571700770050264769130291420603534822495795966981715612394351588510056912232508637273573895372779156159436797233748213294951636931736322625278881149941049169682180025310119656903852664689348405476728233436921288688205034751242856813863451202798101231235894933014025474654357904163264189792879110990531247061528782494741231885291482973616690359904394443018958369073484128300703937149692838128916254439952768266768999800895221352172804608885628145520829329108509888656265795056847497582709463200002373315731960683089450281141672128908771066872542843950397795050900482861371828770525181267955544208230938560999841196913163882946371552828126583680248944964520944418180558701521838650855170095150234372062727397690674991347946365752214498420657007149585319909260780872426315558079608099072865828174703417406185318728278145026184310672633645641700732291542811057990742838365066341014265183949971790930431087121056345347741501667746148234688653065189269356885872908647581204650438736957716528711548574555583977239301969823515430537595181395319473570033411789209713074292228145962019286962544117035974563318921268241513986555088394502711032433789248734183877010959345104750102614262227563661010217640141350231316347211768763385670337883433049195056061300162041862964241528184097908283230852906666992480893473206747006312106694438401261591124362380788902882710265313013071263115504159140550179707220633782158597940373880726872858838789886163551228708805088540541574505134133745949431125107024728689987177439066224173647204385151471810845156172459609697201263898819372465925856032821983943945509201296896112993390414319772317613998628115011584901662481020736975231857679558573639533120123760882987807897148264001476729480741158503008405824181375825684426593602078107066384305742314153383784825815001170364503279303283157714730965700730790958163526085614077255893030881612578737162635171062435305862363661501175783671862584712802832632731639923317926092501167046294294878922434436385815597766578254085927198853219424480746368612964091254086956730350365974846418411767133289280026522101904776721397535481072023153960396155426365282526318432948840966649466716318812335304612541684202901596339076117983534399558629308180937552570931412127563964839611720473046765641026358839977096301838517860717992220124429055320994261412222457829626748188314831526678529121257451724121669436757611557692716596947663821034873517375372433749628434475153359120061495211777091719559441963916844642691242108239222713715540944215042751815205832903182816602051553000809853471087600226541940973229542173962641860015572714026730877762563780111880467244618055586935195897209646109126685288690235443479134420307287200865787784854857681194140932834097813623138157320433948668365280904196167520730495552269155400544459597418276177569668057444229387270850059959177577695113400939572251098823419194625556857107173746511343007800181920881221537624681494893301655822089723344553388000429323171176866004751029713971505534118999127107434111180853160547174861752751626348577776330731649967976997705926985766161797485058129299093471507452375539795559192778297669346728516427619455250496404870474371468200079265657822190324253008657280022070822577899305872108909461787244531453423119105988731060885667270673906364763727364896807710566881055215730830049911805272377486610061004335421869816885849669495243455855042551121024488255660795663819648501724149284790298092093372482653444084141453024908635847938874074697818854837695253972630804930011048531224322683145833842458520248412423153952435022528345724977763280584053398449746120516553508775326815255194777552247568789127161127121523667078092192754147983382483439483110519687390499526362703620317546913529048991244723833568395254652779389245457001074904459611968988017810125634688718594557512726477640828469923085023078927441553690015369298834217415908971293929662509893318732156287214572953717271547294454739080159480184708525419270198385219963884877884002278754278750609561959567609573219604469598655354749579234218685586373052244170384013165767049118076193618533398406013188209001235766656057471022713158458115640722513614902460046359982042188094125956149263515692514917141235851596188317125234698698143445430710086862519687007887491677593147363567434012996511611208264524292392041796094719104232814767772523351970722422038548274955882602506325735217927052884736197570933812826973727984393449854685360152304385913054039591824514239463064574006576447070168308785658334189143136583726277476279484040055265195370002967927103157598498988314064461158492527567235388273093138250126070907284091661168961258085026365164006756510037480113146444863049857410441189627990753392734989779344967229909893545831260919205642629882485159098157638129076046041748514665632636070142935578386099836275589388930926240584371164648614330272952273803821934246410548896732021483600216257876390203223583811752097414977367601275058587892151481717977645237081174997478084219478623660424162752880192868685884668880148643205675563808348487798702434249814028000489387319267434376798624197140709588473161705863149798376475260131435650698866424963700821352635427311875603754398568456694493029785421376982682568805861337391799580504924932794556653379358767208890415958085613545957157879585738485216752347809889677342570960091355021080407464763338564493970911651840304968787953757264726616132058769535451536129440982464344457257409571874631344070375729511782691987208945139373059377362044678441485767885356392625676743825088107696059578436822101089587320629680572375297507439230177389257372694401026822808373497528093968027287143301629103846534858625188325762033439196480397732997628503014649621121690269155702957775533169864904892182237683246347572084245365191125792238162832968930393778486311914591336488816372341376522067036860976397292954319050636670890190881862580303324718499511813664256650581668171314625522576463828792300817636790551747752178963893094026368249871063740051957677459820923123398315939696748427420043893707187931413132194983048121141633208572619318118682144503976902886475074725995927488015931697855547875567877957092844564972845868112467386799220810631963984802801245465491999492342994359330345557818309230549781190666893419855523650310406258181966733177334063917199888119119548767752141086258162376401893740900149055101692383716437730051535448970252369139807831334212981351808475128436325511506521306376541098272413318178788027577886741756988051386311777882287391881862854060744982292039961563494441320610172547471281354491811089427667941553096792539866778533112339401492150191478610168187813943366146939613944255787812295363788871264558245650366272976585990903261089635305905742282528531617124236257160918684087656849837574980709007634462794039027502516932254792552278738094881287976286091303833032328709898177754381747211550369182625253816956570895415702356703647970398979022104775855650022923491671389932150050238130342993219290079594357803961156906483525731193515143667409605342655206986539810441729034123792850051347539305704207486216981192413978602284363056867626486373038246244839413072201313630754273638937315123889266770682128882430762690059836369951715002691645372943891194536056518939393483536344089949823186946555884678988010580615983982479704610187475910957396703374352600973214429895438876454557725931764099504166221965567851477778524080688479039673549688608223453815640594482798578256595213089270083559888919481365699489637100462903261695502194644348626336709527606095941785695581152441637033674790821685888023791364256305622601762475611441750013106178994593770221066022071023423181155633034817805122802161398524935744545943741207082734764334825940768852393487409193252192043890560912706601726987758753067561041148319622385097614386639073680669427818858042442429654858229935977397707681836665668775740641201467318749912966028972169793293390466868251643453919856849649464322290493048735341721271287419107657917313905525324948586326718627816214107076707368817487170052506253995767034921526007809581573945253151822834749452099415021388971615151747053427766692853648240012116610723886125081342994287489545235725721142914067970761305543646806858970499351876132153368421770237795532592261530517822610356843765148217108907994757920134143467540976888459223968533993602900377353953544172817792180535262936919969492569469436153458748985127294759494223048694113803447594333559542494170015852179431982487558567762644873232582846206118354511361889465074082198622487687130683064905826980365281361526563926662405093323369953815510290733148417577099131665373904594606446101445456737906257234215611047930895015327467213852058204569126364764390657202470807122594170585907633466485519524155064808028487628723708474385722676764531471034749556194317090053532721523949569733293990221599435614437855978142064057941350647248869502882171365376482071435295878341415878631076359405882902371556731407341889179961545506866186248441345259419590661969374361882364592061478559916225955206538184816386679967482441838049310905079233609878397934734816175948993752695074814067593455911713281951234584719671148856291994006466814477367850543107690771346327489500529747440674930090756702297261679187551872345086063837394259531898709135941627900148238103139796982138624016618320937655921765263711024009874698746369080375567901724255684972797468157046157244471404374772222761078870327589465169246896223399414535889927524097257658342338819602157586456758679350724006766498955644886341578770464217114532766965311558328771842477936179644154648725549016964555717358267421129406002607793307439153514126492562540286438784812980066800677318313791389822961787325992391015069754823380173916313596635123798266301750265370600068685480969393442609603956119372421591853151722808583669735059915582753550715486399760012328047281867317279176872125198538864086215345171359356062618339888269196615849878341009901174366182431568400817312255199337667870427164058252046691141588462611695798445898455666744650148543174273924084039433899774435857949430043993897554400048319814689695862859159318872535204748251144962702162463499737891432877223121909129098344855891760814617089321319951062904551654895337306129805913025944180906927502044419375620970439904558408425976746524919577422744604678047700295341856552182095320586852500585625664834503585589269368741216930474755189870268950484900669276439820744731551861384605719817230677305424393562608012347282106616739326341508184942013244631726891106292405240644550509393873680228562272071533052382956340446417148097972501997474543615397475518262648869520545135690881661356943350133932565706608146399718351491507472986333577842853498178674984672051322972654996461950987550865292528553620054954224913858166192474882035352357899732655030712160385609277387607740567177899255072891211576698669315915614623365514450273883629476310746756716923977433973982778866537623583659452653953536594305635259113791810456916740095328527216763001938091607108120211956569098947525776967516508899548558888706022782856287399631190569717979133974265816248963278960898161685096058601377782895534213136701479149191550214315794162212015792405661422845597673653182274714618069931744594221634105470177540427769803623211699582705445596866405927037514309107234351370362467425928846073566742931409335261734131864994298347945260635001131311920283905394751792800521660850627916150640677023274911592637202999772417492767266475033477116987488225402321678196203896707838129488510806857661805566699304194033908269506749978952496681544507895148734468513239756888440769289103653460242590706209377481163424447150937201817016411428938761225411412620391654920682653706041198253530963973664372010391746854260916537511407841070178312591009192581586245994250160312207757539666759964652436749624695710006526932049227367011260245836155602924015442624367872349380151723114491536701108462789811468407784363983688570272618639641206165586158836058493189251526501711694316986861847410525231500364251300122350716668571836339732659545049424088047941506679023857361785213178069306989586118887798676812702536322297205577220215669860213928976137767561270063683142657573175784228191236008498180382859203465059664323543054771844757547132314130392776344494173588299702326738416717900532663451394215114634754233027407799698068426715198497878488914782118398612098302405748157704352559685379793070036590846251648673361720445850857158040299680815524702003811717351151130675016102049780631424453367454840976211353451658442534353695502030234100441279085017434696680873502985153330640183412929532516173899867364725712657697298871021769976008801576464527000641600740268937101666222895652566156284601337220279359261104594072445817458590580761247693556209444191579981147963874551394904047417056078912565880591658060975546392462311882416441222311791167990180680463988443570241217782392857011867069680884244666593050092653665365976989558026022470608210613618754008458873824007001387382830148126034290344824191155415782018993342382704401188799702402584222440549094763577598172796167234130544210531502303550183844221220741663302428474645529415233450782908000520186885350457480593709781632911073809060760282828755283843146949436685051247670110734191688391328421684820072278551527252247123400889675092676047061214900279455779580400780351440717718674778598620334958799748366441005751435862051719573393022638455265338173691749329829929778792927209252299363226699669304396453808682352906829063954982628241054392382727084233234617853880930580558610693644662670411726208797563897182971330720340719082906323101468841115426963546938445791225705353254787304946539733594898724141144239697760300827426052047546961517686499215286946912115695254075355830259027832071884029702562735494425377483118322954331921903363250082500469425799174190443792378664442609668389809292715747442728261104057159403046029354348854081362210351403609213873516864619914940327376491482361257397018311601245104220160902827818656188475939462094686499829045336916823240369832468356579523561345523753188223264345478429094340851372771053067637475679342539408456903231828872799930817581833439870712917418826843067896199373130271288943225181644948436774089399904458030735906319863043957331156045424963770688947466084889307668288017861339842181172042726613883141351191946502032310801472904719851519010317205396742332805966529682346479711843615690813680991171119080478015996824605201884259938178327059778427705690165800093885783487243551848412563724052833048053938777061840016039880805180216862163933686912114440387470223690208188772552878220572738123602652179156338205514875086851896614251718730064421549242865868784336065175565809141232179316340986671299518880775846771213786359638973258526041876685988802771745035634109202610454676852913515809745013087114908255827341976713360684166599637471067502080846934028457279122877839953147357045264558228067858304748256702443186153813474105077004037127372084978590676194364870077372863919078432479541812484249945770665687097130554886703984565666761565719480729549387483082392079921320407529213030266573141965767725171518976692790264186777951789494714376261883476100674348793960698920132272895809728836718405181042042166200242323811773354781287658607460464937393102526985242181693805608728998782133113765675901089571688450387452224568913998059430283933149609176082594047129887966560502768716497149939249173319700327489816703037382235849113198295170552753317110482747894359723542152274078773075735521039335880820633518660952281569641483254588807056891467907403975535451264658845706717063340274159861090399237228705263492947884388137919060366304371107346923507223216802854555113422811002653740490373493497476771943744957618238912361105871123340508833843621052596734031115489003920587244237833937934001983626072771827255486635354412852569562139896110474978693951153800424314203240510799368562945909622503906047192266092977311177838217010086337895332739687855857456075811075019674752242664282266828418318547042165783866535637890643286413335353335891881495771340078383117541524707562854351863442581023044407055245102707695125739871176490477169459413368299650205335817378213809868568815478421197430887464542335850372139431553422467447189454265394776179863898613321197633024209811549877358838667487573122994707117760947479764573419702443288188230644661540996586391202121171949219271757199811165779448087702526937363803350087855103239322939923570314417130497148511409247660117551378514426292418595051729608160066848442069823980475068241862290180313840390185352018021242668325351636288393003367116866703550904449343499285632302295111529585478209620551612898101538493408749396488890365023615511802565090365307161314530438588827783932549385468670733396066873503607770084863801600878588766089518908296800339357496112164424762389270780348083382284704542764851908338308928828032225360110179983412930992687514765129195062580345868127350047320493330839930799613175442210878296447190459666744706660794229287089897706005184949640741138729638451585263614735646109431933940841084316841011554272748882673127269937977692547298751398536431024232723610377728277275795611631801969950682885606384130083660300664057543324421294428913146131349667509852259630236780862461739200294159665064666033931082227172941391807869652407232823289128876555186360849123516332791205462668515247400540029657026595166940795871298237057846887774365982183444365710858929739692758260032096111593014809445329433529000974420037599651234658917977788704159890422187728995645804510723716513974598515907928504440484859402651592981913439220633876664968668050187603193347613674753200734397443990506557282807148272672150255343956943283705706686688761914851900814138638095008214987208406637423849630749859560708340013151191988820908808739392817709365488480929905436754475767818927505249571307063016337629900762621744912109022326335905217097032402015200373383934005157635760710628671803217500061884422303491324208638461037779017987374996549290279594632044736801077292301589553318215977990209221962091983267162590498945810664261752136617905642138654318569065615124992835805577913141032563717097365002200065136887109671687271514222302834588219529238791986691965562147668607589093264400273210236389385097410895313325808448971072271685397152566764052845116833488200984237169953314971951274805069254811892178442584282908188407970998439719344803334854717530410685571350443330645839909275077761188884173249989176238565754483737534733464668209831308798007872581282236336744512987953524810476340020839228359432702008216246145988729596932070217319358378633624033773851779976333165011773042492213517762295600225475247571744078691395339520543875077598049016197394114616888863104617540358675004261267116252613111951875208377093174974839522748257694846613683506704919187448089924168782238067598392676486623311352608837637927059987842340264062149206271804744180733198636941315 79221136326288413549090453617582214988603149380032775393045753873679347103737428810698791647263113706575282689198477135930652137291317188670030006057926509831856472550143054466006425134587034426949120010210832597783143689081004098970652114673282224426184172485773967049733965817226715156969648131835381010189470025770375559444559659305270898952170617343578663720139463438305206193729450577009951868047317341521679722886752217921827822705466305632297648679105292595306982225729633137305184703173136534319068330149229142960259210328722455601450057473003629441834416962669954405564521304502500726298911194393554191501157954017925309977598836623748100506311537547090223313424323313673085311409323919977212070953990949404412305207140907616619412378270976434206887105501661848469182736298770557698748104969475842500166345456724876246803841548685455561851856586967869889986216391448174596518073583228454703935275996041071738034755239225816281721293011288588359444337681021846829274952700086230836341401062887321604178406708278357480439226036171803414304571700770050264769130291420603534822495795966981715612394351588510056912232508637273573895372779156159436797233748213294951636931736322625278881149941049169682180025310119656903852664689348405476728233436921288688205034751242856813863451202798101231235894933014025474654357904163264189792879110990531247061528782494741231885291482973616690359904394443018958369073484128300703937149692838128916254439952768266768999800895221352172804608885628145520829329108509888656265795056847497582709463200002373315731960683089450281141672128908771066872542843950397795050900482861371828770525181267955544208230938560999841196913163882946371552828126583680248944964520944418180558701521838650855170095150234372062727397690674991347946365752214498420657007149585319909260780872426315558079608099072865828174703417406185318728278145026184310672633645641700732291542811057990742838365066341014265183949971790930431087121056345347741501667746148234688653065189269356885872908647581204650438736957716528711548574555583977239301969823515430537595181395319473570033411789209713074292228145962019286962544117035974563318921268241513986555088394502711032433789248734183877010959345104750102614262227563661010217640141350231316347211768763385670337883433049195056061300162041862964241528184097908283230852906666992480893473206747006312106694438401261591124362380788902882710265313013071263115504159140550179707220633782158597940373880726872858838789886163551228708805088540541574505134133745949431125107024728689987177439066224173647204385151471810845156172459609697201263898819372465925856032821983943945509201296896112993390414319772317613998628115011584901662481020736975231857679558573639533120123760882987807897148264001476729480741158503008405824181375825684426593602078107066384305742314153383784825815001170364503279303283157714730965700730790958163526085614077255893030881612578737162635171062435305862363661501175783671862584712802832632731639923317926092501167046294294878922434436385815597766578254085927198853219424480746368612964091254086956730350365974846418411767133289280026522101904776721397535481072023153960396155426365282526318432948840966649466716318812335304612541684202901596339076117983534399558629308180937552570931412127563964839611720473046765641026358839977096301838517860717992220124429055320994261412222457829626748188314831526678529121257451724121669436757611557692716596947663821034873517375372433749628434475153359120061495211777091719559441963916844642691242108239222713715540944215042751815205832903182816602051553000809853471087600226541940973229542173962641860015572714026730877762563780111880467244618055586935195897209646109126685288690235443479134420307287200865787784854857681194140932834097813623138157320433948668365280904196167520730495552269155400544459597418276177569668057444229387270850059959177577695113400939572251098823419194625556857107173746511343007800181920881221537624681494893301655822089723344553388000429323171176866004751029713971505534118999127107434111180853160547174861752751626348577776330731649967976997705926985766161797485058129299093471507452375539795559192778297669346728516427619455250496404870474371468200079265657822190324253008657280022070822577899305872108909461787244531453423119105988731060885667270673906364763727364896807710566881055215730830049911805272377486610061004335421869816885849669495243455855042551121024488255660795663819648501724149284790298092093372482653444084141453024908635847938874074697818854837695253972630804930011048531224322683145833842458520248412423153952435022528345724977763280584053398449746120516553508775326815255194777552247568789127161127121523667078092192754147983382483439483110519687390499526362703620317546913529048991244723833568395254652779389245457001074904459611968988017810125634688718594557512726477640828469923085023078927441553690015369298834217415908971293929662509893318732156287214572953717271547294454739080159480184708525419270198385219963884877884002278754278750609561959567609573219604469598655354749579234218685586373052244170384013165767049118076193618533398406013188209001235766656057471022713158458115640722513614902460046359982042188094125956149263515692514917141235851596188317125234698698143445430710086862519687007887491677593147363567434012996511611208264524292392041796094719104232814767772523351970722422038548274955882602506325735217927052884736197570933812826973727984393449854685360152304385913054039591824514239463064574006576447070168308785658334189143136583726277476279484040055265195370002967927103157598498988314064461158492527567235388273093138250126070907284091661168961258085026365164006756510037480113146444863049857410441189627990753392734989779344967229909893545831260919205642629882485159098157638129076046041748514665632636070142935578386099836275589388930926240584371164648614330272952273803821934246410548896732021483600216257876390203223583811752097414977367601275058587892151481717977645237081174997478084219478623660424162752880192868685884668880148643205675563808348487798702434249814028000489387319267434376798624197140709588473161705863149798376475260131435650698866424963700821352635427311875603754398568456694493029785421376982682568805861337391799580504924932794556653379358767208890415958085613545957157879585738485216752347809889677342570960091355021080407464763338564493970911651840304968787953757264726616132058769535451536129440982464344457257409571874631344070375729511782691987208945139373059377362044678441485767885356392625676743825088107696059578436822101089587320629680572375297507439230177389257372694401026822808373497528093968027287143301629103846534858625188325762033439196480397732997628503014649621121690269155702957775533169864904892182237683246347572084245365191125792238162832968930393778486311914591336488816372341376522067036860976397292954319050636670890190881862580303324718499511813664256650581668171314625522576463828792300817636790551747752178963893094026368249871063740051957677459820923123398315939696748427420043893707187931413132194983048121141633208572619318118682144503976902886475074725995927488015931697855547875567877957092844564972845868112467386799220810631963984802801245465491999492342994359330345557818309230549781190666893419855523650310406258181966733177334063917199888119119548767752141086258162376401893740900149055101692383716437730051535448970252369139807831334212981351808475128436325511506521306376541098272413318178788027577886741756988051386311777882287391881862854060744982292039961563494441320610172547471281354491811089427667941553096792539866778533112339401492150191478610168187813943366146939613944255787812295363788871264558245650366272976585990903261089635305905742282528531617124236257160918684087656849837574980709007634462794039027502516932254792552278738094881287976286091303833032328709898177754381747211550369182625253816956570895415702356703647970398979022104775855650022923491671389932150050238130342993219290079594357803961156906483525731193515143667409605342655206986539810441729034123792850051347539305704207486216981192413978602284363056867626486373038246244839413072201313630754273638937315123889266770682128882430762690059836369951715002691645372943891194536056518939393483536344089949823186946555884678988010580615983982479704610187475910957396703374352600973214429895438876454557725931764099504166221965567851477778524080688479039673549688608223453815640594482798578256595213089270083559888919481365699489637100462903261695502194644348626336709527606095941785695581152441637033674790821685888023791364256305622601762475611441750013106178994593770221066022071023423181155633034817805122802161398524935744545943741207082734764334825940768852393487409193252192043890560912706601726987758753067561041148319622385097614386639073680669427818858042442429654858229935977397707681836665668775740641201467318749912966028972169793293390466868251643453919856849649464322290493048735341721271287419107657917313905525324948586326718627816214107076707368817487170052506253995767034921526007809581573945253151822834749452099415021388971615151747053427766692853648240012116610723886125081342994287489545235725721142914067970761305543646806858970499351876132153368421770237795532592261530517822610356843765148217108907994757920134143467540976888459223968533993602900377353953544172817792180535262936919969492569469436153458748985127294759494223048694113803447594333559542494170015852179431982487558567762644873232582846206118354511361889465074082198622487687130683064905826980365281361526563926662405093323369953815510290733148417577099131665373904594606446101445456737906257234215611047930895015327467213852058204569126364764390657202470807122594170585907633466485519524155064808028487628723708474385722676764531471034749556194317090053532721523949569733293990221599435614437855978142064057941350647248869502882171365376482071435295878341415878631076359405882902371556731407341889179961545506866186248441345259419590661969374361882364592061478559916225955206538184816386679967482441838049310905079233609878397934734816175948993752695074814067593455911713281951234584719671148856291994006466814477367850543107690771346327489500529747440674930090756702297261679187551872345086063837394259531898709135941627900148238103139796982138624016618320937655921765263711024009874698746369080375567901724255684972797468157046157244471404374772222761078870327589465169246896223399414535889927524097257658342338819602157586456758679350724006766498955644886341578770464217114532766965311558328771842477936179644154648725549016964555717358267421129406002607793307439153514126492562540286438784812980066800677318313791389822961787325992391015069754823380173916313596635123798266301750265370600068685480969393442609603956119372421591853151722808583669735059915582753550715486399760012328047281867317279176872125198538864086215345171359356062618339888269196615849878341009901174366182431568400817312255199337667870427164058252046691141588462611695798445898455666744650148543174273924084039433899774435857949430043993897554400048319814689695862859159318872535204748251144962702162463499737891432877223121909129098344855891760814617089321319951062904551654895337306129805913025944180906927502044419375620970439904558408425976746524919577422744604678047700295341856552182095320586852500585625664834503585589269368741216930474755189870268950484900669276439820744731551861384605719817230677305424393562608012347282106616739326341508184942013244631726891106292405240644550509393873680228562272071533052382956340446417148097972501997474543615397475518262648869520545135690881661356943350133932565706608146399718351491507472986333577842853498178674984672051322972654996461950987550865292528553620054954224913858166192474882035352357899732655030712160385609277387607740567177899255072891211576698669315915614623365514450273883629476310746756716923977433973982778866537623583659452653953536594305635259113791810456916740095328527216763001938091607108120211956569098947525776967516508899548558888706022782856287399631190569717979133974265816248963278960898161685096058601377782895534213136701479149191550214315794162212015792405661422845597673653182274714618069931744594221634105470177540427769803623211699582705445596866405927037514309107234351370362467425928846073566742931409335261734131864994298347945260635001131311920283905394751792800521660850627916150640677023274911592637202999772417492767266475033477116987488225402321678196203896707838129488510806857661805566699304194033908269506749978952496681544507895148734468513239756888440769289103653460242590706209377481163424447150937201817016411428938761225411412620391654920682653706041198253530963973664372010391746854260916537511407841070178312591009192581586245994250160312207757539666759964652436749624695710006526932049227367011260245836155602924015442624367872349380151723114491536701108462789811468407784363983688570272618639641206165586158836058493189251526501711694316986861847410525231500364251300122350716668571836339732659545049424088047941506679023857361785213178069306989586118887798676812702536322297205577220215669860213928976137767561270063683142657573175784228191236008498180382859203465059664323543054771844757547132314130392776344494173588299702326738416717900532663451394215114634754233027407799698068426715198497878488914782118398612098302405748157704352559685379793070036590846251648673361720445850857158040299680815524702003811717351151130675016102049780631424453367454840976211353451658442534353695502030234100441279085017434696680873502985153330640183412929532516173899867364725712657697298871021769976008801576464527000641600740268937101666222895652566156284601337220279359261104594072445817458590580761247693556209444191579981147963874551394904047417056078912565880591658060975546392462311882416441222311791167990180680463988443570241217782392857011867069680884244666593050092653665365976989558026022470608210613618754008458873824007001387382830148126034290344824191155415782018993342382704401188799702402584222440549094763577598172796167234130544210531502303550183844221220741663302428474645529415233450782908000520186885350457480593709781632911073809060760282828755283843146949436685051247670110734191688391328421684820072278551527252247123400889675092676047061214900279455779580400780351440717718674778598620334958799748366441005751435862051719573393022638455265338173691749329829929778792927209252299363226699669304396453808682352906829063954982628241054392382727084233234617853880930580558610693644662670411726208797563897182971330720340719082906323101468841115426963546938445791225705353254787304946539733594898724141144239697760300827426052047546961517686499215286946912115695254075355830259027832071884029702562735494425377483118322954331921903363250082500469425799174190443792378664442609668389809292715747442728261104057159403046029354348854081362210351403609213873516864619914940327376491482361257397018311601245104220160902827818656188475939462094686499829045336916823240369832468356579523561345523753188223264345478429094340851372771053067637475679342539408456903231828872799930817581833439870712917418826843067896199373130271288943225181644948436774089399904458030735906319863043957331156045424963770688947466084889307668288017861339842181172042726613883141351191946502032310801472904719851519010317205396742332805966529682346479711843615690813680991171119080478015996824605201884259938178327059778427705690165800093885783487243551848412563724052833048053938777061840016039880805180216862163933686912114440387470223690208188772552878220572738123602652179156338205514875086851896614251718730064421549242865868784336065175565809141232179316340986671299518880775846771213786359638973258526041876685988802771745035634109202610454676852913515809745013087114908255827341976713360684166599637471067502080846934028457279122877839953147357045264558228067858304748256702443186153813474105077004037127372084978590676194364870077372863919078432479541812484249945770665687097130554886703984565666761565719480729549387483082392079921320407529213030266573141965767725171518976692790264186777951789494714376261883476100674348793960698920132272895809728836718405181042042166200242323811773354781287658607460464937393102526985242181693805608728998782133113765675901089571688450387452224568913998059430283933149609176082594047129887966560502768716497149939249173319700327489816703037382235849113198295170552753317110482747894359723542152274078773075735521039335880820633518660952281569641483254588807056891467907403975535451264658845706717063340274159861090399237228705263492947884388137919060366304371107346923507223216802854555113422811002653740490373493497476771943744957618238912361105871123340508833843621052596734031115489003920587244237833937934001983626072771827255486635354412852569562139896110474978693951153800424314203240510799368562945909622503906047192266092977311177838217010086337895332739687855857456075811075019674752242664282266828418318547042165783866535637890643286413335353335891881495771340078383117541524707562854351863442581023044407055245102707695125739871176490477169459413368299650205335817378213809868568815478421197430887464542335850372139431553422467447189454265394776179863898613321197633024209811549877358838667487573122994707117760947479764573419702443288188230644661540996586391202121171949219271757199811165779448087702526937363803350087855103239322939923570314417130497148511409247660117551378514426292418595051729608160066848442069823980475068241862290180313840390185352018021242668325351636288393003367116866703550904449343499285632302295111529585478209620551612898101538493408749396488890365023615511802565090365307161314530438588827783932549385468670733396066873503607770084863801600878588766089518908296800339357496112164424762389270780348083382284704542764851908338308928828032225360110179983412930992687514765129195062580345868127350047320493330839930799613175442210878296447190459666744706660794229287089897706005184949640741138729638451585263614735646109431933940841084316841011554272748882673127269937977692547298751398536431024232723610377728277275795611631801969950682885606384130083660300664057543324421294428913146131349667509852259630236780862461739200294159665064666033931082227172941391807869652407232823289128876555186360849123516332791205462668515247400540029657026595166940795871298237057846887774365982183444365710858929739692758260032096111593014809445329433529000974420037599651234658917977788704159890422187728995645804510723716513974598515907928504440484859402651592981913439220633876664968668050187603193347613674753200734397443990506557282807148272672150255343956943283705706686688761914851900814138638095008214987208406637423849630749859560708340013151191988820908808739392817709365488480929905436754475767818927505249571307063016337629900762621744912109022326335905217097032402015200373383934005157635760710628671803217500061884422303491324208638461037779017987374996549290279594632044736801077292301589553318215977990209221962091983267162590498945810664261752136617905642138654318569065615124992835805577913141032563717097365002200065136887109671687271514222302834588219529238791986691965562147668607589093264400273210236389385097410895313325808448971072271685397152566764052845116833488200984237169953314971951274805069254811892178442584282908188407970998439719344803334854717530410685571350443330645839909275077761188884173249989176238565754483737534733464668209831308798007872581282236336744512987953524810476340020839228359432702008216246145988729596932070217319358378633624033773851779976333165011773042492213517762295600225475247571744078691395339520543875077598049016197394114616888863104617540358675004261267116252613111951875208377093174974839522748257694846613683506704919187448089924168782238067598392676486623311352608837637927059987842340264062149206271804744180733198636941315 | | . 967290912507640626346487654605751146518633483264324420012421384013021013008888206052661444222539271976864294768651220242910228172779565467185475398796492195057400641928351996076041980856686512566022307659781009510679288148998108187051266075875193297541226439196540932 . 79221136326288413549090453617582214988603149380032775393045753873679347103737428810698791647263113706575282689198477135930652137291317188670030006057926509831856472550143054466006425134587034426949120010210832597783143689081004098970652114673282224426184172485773967049733965817226715156969648131835381010189470025770375559444559659305270898952170617343578663720139463438305206193729450577009951868047317341521679722886752217921827822705466305632297648679105292595306982225729633137305184703173136534319068330149229142960259210328722455601450057473003629441834416962669954405564521304502500726298911194393554191501157954017925309977598836623748100506311537547090223313424323313673085311409323919977212070953990949404412305207140907616619412378270976434206887105501661848469182736298770557698748104969475842500166345456724876246803841548685455561851856586967869889986216391448174596518073583228454703935275996041071738034755239225816281721293011288588359444337681021846829274952700086230836341401062887321604178406708278357480439226036171803414304571700770050264769130291420603534822495795966981715612394351588510056912232508637273573895372779156159436797233748213294951636931736322625278881149941049169682180025310119656903852664689348405476728233436921288688205034751242856813863451202798101231235894933014025474654357904163264189792879110990531247061528782494741231885291482973616690359904394443018958369073484128300703937149692838128916254439952768266768999800895221352172804608885628145520829329108509888656265795056847497582709463200002373315731960683089450281141672128908771066872542843950397795050900482861371828770525181267955544208230938560999841196913163882946371552828126583680248944964520944418180558701521838650855170095150234372062727397690674991347946365752214498420657007149585319909260780872426315558079608099072865828174703417406185318728278145026184310672633645641700732291542811057990742838365066341014265183949971790930431087121056345347741501667746148234688653065189269356885872908647581204650438736957716528711548574555583977239301969823515430537595181395319473570033411789209713074292228145962019286962544117035974563318921268241513986555088394502711032433789248734183877010959345104750102614262227563661010217640141350231316347211768763385670337883433049195056061300162041862964241528184097908283230852906666992480893473206747006312106694438401261591124362380788902882710265313013071263115504159140550179707220633782158597940373880726872858838789886163551228708805088540541574505134133745949431125107024728689987177439066224173647204385151471810845156172459609697201263898819372465925856032821983943945509201296896112993390414319772317613998628115011584901662481020736975231857679558573639533120123760882987807897148264001476729480741158503008405824181375825684426593602078107066384305742314153383784825815001170364503279303283157714730965700730790958163526085614077255893030881612578737162635171062435305862363661501175783671862584712802832632731639923317926092501167046294294878922434436385815597766578254085927198853219424480746368612964091254086956730350365974846418411767133289280026522101904776721397535481072023153960396155426365282526318432948840966649466716318812335304612541684202901596339076117983534399558629308180937552570931412127563964839611720473046765641026358839977096301838517860717992220124429055320994261412222457829626748188314831526678529121257451724121669436757611557692716596947663821034873517375372433749628434475153359120061495211777091719559441963916844642691242108239222713715540944215042751815205832903182816602051553000809853471087600226541940973229542173962641860015572714026730877762563780111880467244618055586935195897209646109126685288690235443479134420307287200865787784854857681194140932834097813623138157320433948668365280904196167520730495552269155400544459597418276177569668057444229387270850059959177577695113400939572251098823419194625556857107173746511343007800181920881221537624681494893301655822089723344553388000429323171176866004751029713971505534118999127107434111180853160547174861752751626348577776330731649967976997705926985766161797485058129299093471507452375539795559192778297669346728516427619455250496404870474371468200079265657822190324253008657280022070822577899305872108909461787244531453423119105988731060885667270673906364763727364896807710566881055215730830049911805272377486610061004335421869816885849669495243455855042551121024488255660795663819648501724149284790298092093372482653444084141453024908635847938874074697818854837695253972630804930011048531224322683145833842458520248412423153952435022528345724977763280584053398449746120516553508775326815255194777552247568789127161127121523667078092192754147983382483439483110519687390499526362703620317546913529048991244723833568395254652779389245457001074904459611968988017810125634688718594557512726477640828469923085023078927441553690015369298834217415908971293929662509893318732156287214572953717271547294454739080159480184708525419270198385219963884877884002278754278750609561959567609573219604469598655354749579234218685586373052244170384013165767049118076193618533398406013188209001235766656057471022713158458115640722513614902460046359982042188094125956149263515692514917141235851596188317125234698698143445430710086862519687007887491677593147363567434012996511611208264524292392041796094719104232814767772523351970722422038548274955882602506325735217927052884736197570933812826973727984393449854685360152304385913054039591824514239463064574006576447070168308785658334189143136583726277476279484040055265195370002967927103157598498988314064461158492527567235388273093138250126070907284091661168961258085026365164006756510037480113146444863049857410441189627990753392734989779344967229909893545831260919205642629882485159098157638129076046041748514665632636070142935578386099836275589388930926240584371164648614330272952273803821934246410548896732021483600216257876390203223583811752097414977367601275058587892151481717977645237081174997478084219478623660424162752880192868685884668880148643205675563808348487798702434249814028000489387319267434376798624197140709588473161705863149798376475260131435650698866424963700821352635427311875603754398568456694493029785421376982682568805861337391799580504924932794556653379358767208890415958085613545957157879585738485216752347809889677342570960091355021080407464763338564493970911651840304968787953757264726616132058769535451536129440982464344457257409571874631344070375729511782691987208945139373059377362044678441485767885356392625676743825088107696059578436822101089587320629680572375297507439230177389257372694401026822808373497528093968027287143301629103846534858625188325762033439196480397732997628503014649621121690269155702957775533169864904892182237683246347572084245365191125792238162832968930393778486311914591336488816372341376522067036860976397292954319050636670890190881862580303324718499511813664256650581668171314625522576463828792300817636790551747752178963893094026368249871063740051957677459820923123398315939696748427420043893707187931413132194983048121141633208572619318118682144503976902886475074725995927488015931697855547875567877957092844564972845868112467386799220810631963984802801245465491999492342994359330345557818309230549781190666893419855523650310406258181966733177334063917199888119119548767752141086258162376401893740900149055101692383716437730051535448970252369139807831334212981351808475128436325511506521306376541098272413318178788027577886741756988051386311777882287391881862854060744982292039961563494441320610172547471281354491811089427667941553096792539866778533112339401492150191478610168187813943366146939613944255787812295363788871264558245650366272976585990903261089635305905742282528531617124236257160918684087656849837574980709007634462794039027502516932254792552278738094881287976286091303833032328709898177754381747211550369182625253816956570895415702356703647970398979022104775855650022923491671389932150050238130342993219290079594357803961156906483525731193515143667409605342655206986539810441729034123792850051347539305704207486216981192413978602284363056867626486373038246244839413072201313630754273638937315123889266770682128882430762690059836369951715002691645372943891194536056518939393483536344089949823186946555884678988010580615983982479704610187475910957396703374352600973214429895438876454557725931764099504166221965567851477778524080688479039673549688608223453815640594482798578256595213089270083559888919481365699489637100462903261695502194644348626336709527606095941785695581152441637033674790821685888023791364256305622601762475611441750013106178994593770221066022071023423181155633034817805122802161398524935744545943741207082734764334825940768852393487409193252192043890560912706601726987758753067561041148319622385097614386639073680669427818858042442429654858229935977397707681836665668775740641201467318749912966028972169793293390466868251643453919856849649464322290493048735341721271287419107657917313905525324948586326718627816214107076707368817487170052506253995767034921526007809581573945253151822834749452099415021388971615151747053427766692853648240012116610723886125081342994287489545235725721142914067970761305543646806858970499351876132153368421770237795532592261530517822610356843765148217108907994757920134143467540976888459223968533993602900377353953544172817792180535262936919969492569469436153458748985127294759494223048694113803447594333559542494170015852179431982487558567762644873232582846206118354511361889465074082198622487687130683064905826980365281361526563926662405093323369953815510290733148417577099131665373904594606446101445456737906257234215611047930895015327467213852058204569126364764390657202470807122594170585907633466485519524155064808028487628723708474385722676764531471034749556194317090053532721523949569733293990221599435614437855978142064057941350647248869502882171365376482071435295878341415878631076359405882902371556731407341889179961545506866186248441345259419590661969374361882364592061478559916225955206538184816386679967482441838049310905079233609878397934734816175948993752695074814067593455911713281951234584719671148856291994006466814477367850543107690771346327489500529747440674930090756702297261679187551872345086063837394259531898709135941627900148238103139796982138624016618320937655921765263711024009874698746369080375567901724255684972797468157046157244471404374772222761078870327589465169246896223399414535889927524097257658342338819602157586456758679350724006766498955644886341578770464217114532766965311558328771842477936179644154648725549016964555717358267421129406002607793307439153514126492562540286438784812980066800677318313791389822961787325992391015069754823380173916313596635123798266301750265370600068685480969393442609603956119372421591853151722808583669735059915582753550715486399760012328047281867317279176872125198538864086215345171359356062618339888269196615849878341009901174366182431568400817312255199337667870427164058252046691141588462611695798445898455666744650148543174273924084039433899774435857949430043993897554400048319814689695862859159318872535204748251144962702162463499737891432877223121909129098344855891760814617089321319951062904551654895337306129805913025944180906927502044419375620970439904558408425976746524919577422744604678047700295341856552182095320586852500585625664834503585589269368741216930474755189870268950484900669276439820744731551861384605719817230677305424393562608012347282106616739326341508184942013244631726891106292405240644550509393873680228562272071533052382956340446417148097972501997474543615397475518262648869520545135690881661356943350133932565706608146399718351491507472986333577842853498178674984672051322972654996461950987550865292528553620054954224913858166192474882035352357899732655030712160385609277387607740567177899255072891211576698669315915614623365514450273883629476310746756716923977433973982778866537623583659452653953536594305635259113791810456916740095328527216763001938091607108120211956569098947525776967516508899548558888706022782856287399631190569717979133974265816248963278960898161685096058601377782895534213136701479149191550214315794162212015792405661422845597673653182274714618069931744594221634105470177540427769803623211699582705445596866405927037514309107234351370362467425928846073566742931409335261734131864994298347945260635001131311920283905394751792800521660850627916150640677023274911592637202999772417492767266475033477116987488225402321678196203896707838129488510806857661805566699304194033908269506749978952496681544507895148734468513239756888440769289103653460242590706209377481163424447150937201817016411428938761225411412620391654920682653706041198253530963973664372010391746854260916537511407841070178312591009192581586245994250160312207757539666759964652436749624695710006526932049227367011260245836155602924015442624367872349380151723114491536701108462789811468407784363983688570272618639641206165586158836058493189251526501711694316986861847410525231500364251300122350716668571836339732659545049424088047941506679023857361785213178069306989586118887798676812702536322297205577220215669860213928976137767561270063683142657573175784228191236008498180382859203465059664323543054771844757547132314130392776344494173588299702326738416717900532663451394215114634754233027407799698068426715198497878488914782118398612098302405748157704352559685379793070036590846251648673361720445850857158040299680815524702003811717351151130675016102049780631424453367454840976211353451658442534353695502030234100441279085017434696680873502985153330640183412929532516173899867364725712657697298871021769976008801576464527000641600740268937101666222895652566156284601337220279359261104594072445817458590580761247693556209444191579981147963874551394904047417056078912565880591658060975546392462311882416441222311791167990180680463988443570241217782392857011867069680884244666593050092653665365976989558026022470608210613618754008458873824007001387382830148126034290344824191155415782018993342382704401188799702402584222440549094763577598172796167234130544210531502303550183844221220741663302428474645529415233450782908000520186885350457480593709781632911073809060760282828755283843146949436685051247670110734191688391328421684820072278551527252247123400889675092676047061214900279455779580400780351440717718674778598620334958799748366441005751435862051719573393022638455265338173691749329829929778792927209252299363226699669304396453808682352906829063954982628241054392382727084233234617853880930580558610693644662670411726208797563897182971330720340719082906323101468841115426963546938445791225705353254787304946539733594898724141144239697760300827426052047546961517686499215286946912115695254075355830259027832071884029702562735494425377483118322954331921903363250082500469425799174190443792378664442609668389809292715747442728261104057159403046029354348854081362210351403609213873516864619914940327376491482361257397018311601245104220160902827818656188475939462094686499829045336916823240369832468356579523561345523753188223264345478429094340851372771053067637475679342539408456903231828872799930817581833439870712917418826843067896199373130271288943225181644948436774089399904458030735906319863043957331156045424963770688947466084889307668288017861339842181172042726613883141351191946502032310801472904719851519010317205396742332805966529682346479711843615690813680991171119080478015996824605201884259938178327059778427705690165800093885783487243551848412563724052833048053938777061840016039880805180216862163933686912114440387470223690208188772552878220572738123602652179156338205514875086851896614251718730064421549242865868784336065175565809141232179316340986671299518880775846771213786359638973258526041876685988802771745035634109202610454676852913515809745013087114908255827341976713360684166599637471067502080846934028457279122877839953147357045264558228067858304748256702443186153813474105077004037127372084978590676194364870077372863919078432479541812484249945770665687097130554886703984565666761565719480729549387483082392079921320407529213030266573141965767725171518976692790264186777951789494714376261883476100674348793960698920132272895809728836718405181042042166200242323811773354781287658607460464937393102526985242181693805608728998782133113765675901089571688450387452224568913998059430283933149609176082594047129887966560502768716497149939249173319700327489816703037382235849113198295170552753317110482747894359723542152274078773075735521039335880820633518660952281569641483254588807056891467907403975535451264658845706717063340274159861090399237228705263492947884388137919060366304371107346923507223216802854555113422811002653740490373493497476771943744957618238912361105871123340508833843621052596734031115489003920587244237833937934001983626072771827255486635354412852569562139896110474978693951153800424314203240510799368562945909622503906047192266092977311177838217010086337895332739687855857456075811075019674752242664282266828418318547042165783866535637890643286413335353335891881495771340078383117541524707562854351863442581023044407055245102707695125739871176490477169459413368299650205335817378213809868568815478421197430887464542335850372139431553422467447189454265394776179863898613321197633024209811549877358838667487573122994707117760947479764573419702443288188230644661540996586391202121171949219271757199811165779448087702526937363803350087855103239322939923570314417130497148511409247660117551378514426292418595051729608160066848442069823980475068241862290180313840390185352018021242668325351636288393003367116866703550904449343499285632302295111529585478209620551612898101538493408749396488890365023615511802565090365307161314530438588827783932549385468670733396066873503607770084863801600878588766089518908296800339357496112164424762389270780348083382284704542764851908338308928828032225360110179983412930992687514765129195062580345868127350047320493330839930799613175442210878296447190459666744706660794229287089897706005184949640741138729638451585263614735646109431933940841084316841011554272748882673127269937977692547298751398536431024232723610377728277275795611631801969950682885606384130083660300664057543324421294428913146131349667509852259630236780862461739200294159665064666033931082227172941391807869652407232823289128876555186360849123516332791205462668515247400540029657026595166940795871298237057846887774365982183444365710858929739692758260032096111593014809445329433529000974420037599651234658917977788704159890422187728995645804510723716513974598515907928504440484859402651592981913439220633876664968668050187603193347613674753200734397443990506557282807148272672150255343956943283705706686688761914851900814138638095008214987208406637423849630749859560708340013151191988820908808739392817709365488480929905436754475767818927505249571307063016337629900762621744912109022326335905217097032402015200373383934005157635760710628671803217500061884422303491324208638461037779017987374996549290279594632044736801077292301589553318215977990209221962091983267162590498945810664261752136617905642138654318569065615124992835805577913141032563717097365002200065136887109671687271514222302834588219529238791986691965562147668607589093264400273210236389385097410895313325808448971072271685397152566764052845116833488200984237169953314971951274805069254811892178442584282908188407970998439719344803334854717530410685571350443330645839909275077761188884173249989176238565754483737534733464668209831308798007872581282236336744512987953524810476340020839228359432702008216246145988729596932070217319358378633624033773851779976333165011773042492213517762295600225475247571744078691395339520543875077598049016197394114616888863104617540358675004261267116252613111951875208377093174974839522748257694846613683506704919187448089924168782238067598392676486623311352608837637927059987842340264062149206271804744180733250176548868 79221136326288413549090453617582214988603149380032775393045753873679347103737428810698791647263113706575282689198477135930652137291317188670030006057926509831856472550143054466006425134587034426949120010210832597783143689081004098970652114673282224426184172485773967049733965817226715156969648131835381010189470025770375559444559659305270898952170617343578663720139463438305206193729450577009951868047317341521679722886752217921827822705466305632297648679105292595306982225729633137305184703173136534319068330149229142960259210328722455601450057473003629441834416962669954405564521304502500726298911194393554191501157954017925309977598836623748100506311537547090223313424323313673085311409323919977212070953990949404412305207140907616619412378270976434206887105501661848469182736298770557698748104969475842500166345456724876246803841548685455561851856586967869889986216391448174596518073583228454703935275996041071738034755239225816281721293011288588359444337681021846829274952700086230836341401062887321604178406708278357480439226036171803414304571700770050264769130291420603534822495795966981715612394351588510056912232508637273573895372779156159436797233748213294951636931736322625278881149941049169682180025310119656903852664689348405476728233436921288688205034751242856813863451202798101231235894933014025474654357904163264189792879110990531247061528782494741231885291482973616690359904394443018958369073484128300703937149692838128916254439952768266768999800895221352172804608885628145520829329108509888656265795056847497582709463200002373315731960683089450281141672128908771066872542843950397795050900482861371828770525181267955544208230938560999841196913163882946371552828126583680248944964520944418180558701521838650855170095150234372062727397690674991347946365752214498420657007149585319909260780872426315558079608099072865828174703417406185318728278145026184310672633645641700732291542811057990742838365066341014265183949971790930431087121056345347741501667746148234688653065189269356885872908647581204650438736957716528711548574555583977239301969823515430537595181395319473570033411789209713074292228145962019286962544117035974563318921268241513986555088394502711032433789248734183877010959345104750102614262227563661010217640141350231316347211768763385670337883433049195056061300162041862964241528184097908283230852906666992480893473206747006312106694438401261591124362380788902882710265313013071263115504159140550179707220633782158597940373880726872858838789886163551228708805088540541574505134133745949431125107024728689987177439066224173647204385151471810845156172459609697201263898819372465925856032821983943945509201296896112993390414319772317613998628115011584901662481020736975231857679558573639533120123760882987807897148264001476729480741158503008405824181375825684426593602078107066384305742314153383784825815001170364503279303283157714730965700730790958163526085614077255893030881612578737162635171062435305862363661501175783671862584712802832632731639923317926092501167046294294878922434436385815597766578254085927198853219424480746368612964091254086956730350365974846418411767133289280026522101904776721397535481072023153960396155426365282526318432948840966649466716318812335304612541684202901596339076117983534399558629308180937552570931412127563964839611720473046765641026358839977096301838517860717992220124429055320994261412222457829626748188314831526678529121257451724121669436757611557692716596947663821034873517375372433749628434475153359120061495211777091719559441963916844642691242108239222713715540944215042751815205832903182816602051553000809853471087600226541940973229542173962641860015572714026730877762563780111880467244618055586935195897209646109126685288690235443479134420307287200865787784854857681194140932834097813623138157320433948668365280904196167520730495552269155400544459597418276177569668057444229387270850059959177577695113400939572251098823419194625556857107173746511343007800181920881221537624681494893301655822089723344553388000429323171176866004751029713971505534118999127107434111180853160547174861752751626348577776330731649967976997705926985766161797485058129299093471507452375539795559192778297669346728516427619455250496404870474371468200079265657822190324253008657280022070822577899305872108909461787244531453423119105988731060885667270673906364763727364896807710566881055215730830049911805272377486610061004335421869816885849669495243455855042551121024488255660795663819648501724149284790298092093372482653444084141453024908635847938874074697818854837695253972630804930011048531224322683145833842458520248412423153952435022528345724977763280584053398449746120516553508775326815255194777552247568789127161127121523667078092192754147983382483439483110519687390499526362703620317546913529048991244723833568395254652779389245457001074904459611968988017810125634688718594557512726477640828469923085023078927441553690015369298834217415908971293929662509893318732156287214572953717271547294454739080159480184708525419270198385219963884877884002278754278750609561959567609573219604469598655354749579234218685586373052244170384013165767049118076193618533398406013188209001235766656057471022713158458115640722513614902460046359982042188094125956149263515692514917141235851596188317125234698698143445430710086862519687007887491677593147363567434012996511611208264524292392041796094719104232814767772523351970722422038548274955882602506325735217927052884736197570933812826973727984393449854685360152304385913054039591824514239463064574006576447070168308785658334189143136583726277476279484040055265195370002967927103157598498988314064461158492527567235388273093138250126070907284091661168961258085026365164006756510037480113146444863049857410441189627990753392734989779344967229909893545831260919205642629882485159098157638129076046041748514665632636070142935578386099836275589388930926240584371164648614330272952273803821934246410548896732021483600216257876390203223583811752097414977367601275058587892151481717977645237081174997478084219478623660424162752880192868685884668880148643205675563808348487798702434249814028000489387319267434376798624197140709588473161705863149798376475260131435650698866424963700821352635427311875603754398568456694493029785421376982682568805861337391799580504924932794556653379358767208890415958085613545957157879585738485216752347809889677342570960091355021080407464763338564493970911651840304968787953757264726616132058769535451536129440982464344457257409571874631344070375729511782691987208945139373059377362044678441485767885356392625676743825088107696059578436822101089587320629680572375297507439230177389257372694401026822808373497528093968027287143301629103846534858625188325762033439196480397732997628503014649621121690269155702957775533169864904892182237683246347572084245365191125792238162832968930393778486311914591336488816372341376522067036860976397292954319050636670890190881862580303324718499511813664256650581668171314625522576463828792300817636790551747752178963893094026368249871063740051957677459820923123398315939696748427420043893707187931413132194983048121141633208572619318118682144503976902886475074725995927488015931697855547875567877957092844564972845868112467386799220810631963984802801245465491999492342994359330345557818309230549781190666893419855523650310406258181966733177334063917199888119119548767752141086258162376401893740900149055101692383716437730051535448970252369139807831334212981351808475128436325511506521306376541098272413318178788027577886741756988051386311777882287391881862854060744982292039961563494441320610172547471281354491811089427667941553096792539866778533112339401492150191478610168187813943366146939613944255787812295363788871264558245650366272976585990903261089635305905742282528531617124236257160918684087656849837574980709007634462794039027502516932254792552278738094881287976286091303833032328709898177754381747211550369182625253816956570895415702356703647970398979022104775855650022923491671389932150050238130342993219290079594357803961156906483525731193515143667409605342655206986539810441729034123792850051347539305704207486216981192413978602284363056867626486373038246244839413072201313630754273638937315123889266770682128882430762690059836369951715002691645372943891194536056518939393483536344089949823186946555884678988010580615983982479704610187475910957396703374352600973214429895438876454557725931764099504166221965567851477778524080688479039673549688608223453815640594482798578256595213089270083559888919481365699489637100462903261695502194644348626336709527606095941785695581152441637033674790821685888023791364256305622601762475611441750013106178994593770221066022071023423181155633034817805122802161398524935744545943741207082734764334825940768852393487409193252192043890560912706601726987758753067561041148319622385097614386639073680669427818858042442429654858229935977397707681836665668775740641201467318749912966028972169793293390466868251643453919856849649464322290493048735341721271287419107657917313905525324948586326718627816214107076707368817487170052506253995767034921526007809581573945253151822834749452099415021388971615151747053427766692853648240012116610723886125081342994287489545235725721142914067970761305543646806858970499351876132153368421770237795532592261530517822610356843765148217108907994757920134143467540976888459223968533993602900377353953544172817792180535262936919969492569469436153458748985127294759494223048694113803447594333559542494170015852179431982487558567762644873232582846206118354511361889465074082198622487687130683064905826980365281361526563926662405093323369953815510290733148417577099131665373904594606446101445456737906257234215611047930895015327467213852058204569126364764390657202470807122594170585907633466485519524155064808028487628723708474385722676764531471034749556194317090053532721523949569733293990221599435614437855978142064057941350647248869502882171365376482071435295878341415878631076359405882902371556731407341889179961545506866186248441345259419590661969374361882364592061478559916225955206538184816386679967482441838049310905079233609878397934734816175948993752695074814067593455911713281951234584719671148856291994006466814477367850543107690771346327489500529747440674930090756702297261679187551872345086063837394259531898709135941627900148238103139796982138624016618320937655921765263711024009874698746369080375567901724255684972797468157046157244471404374772222761078870327589465169246896223399414535889927524097257658342338819602157586456758679350724006766498955644886341578770464217114532766965311558328771842477936179644154648725549016964555717358267421129406002607793307439153514126492562540286438784812980066800677318313791389822961787325992391015069754823380173916313596635123798266301750265370600068685480969393442609603956119372421591853151722808583669735059915582753550715486399760012328047281867317279176872125198538864086215345171359356062618339888269196615849878341009901174366182431568400817312255199337667870427164058252046691141588462611695798445898455666744650148543174273924084039433899774435857949430043993897554400048319814689695862859159318872535204748251144962702162463499737891432877223121909129098344855891760814617089321319951062904551654895337306129805913025944180906927502044419375620970439904558408425976746524919577422744604678047700295341856552182095320586852500585625664834503585589269368741216930474755189870268950484900669276439820744731551861384605719817230677305424393562608012347282106616739326341508184942013244631726891106292405240644550509393873680228562272071533052382956340446417148097972501997474543615397475518262648869520545135690881661356943350133932565706608146399718351491507472986333577842853498178674984672051322972654996461950987550865292528553620054954224913858166192474882035352357899732655030712160385609277387607740567177899255072891211576698669315915614623365514450273883629476310746756716923977433973982778866537623583659452653953536594305635259113791810456916740095328527216763001938091607108120211956569098947525776967516508899548558888706022782856287399631190569717979133974265816248963278960898161685096058601377782895534213136701479149191550214315794162212015792405661422845597673653182274714618069931744594221634105470177540427769803623211699582705445596866405927037514309107234351370362467425928846073566742931409335261734131864994298347945260635001131311920283905394751792800521660850627916150640677023274911592637202999772417492767266475033477116987488225402321678196203896707838129488510806857661805566699304194033908269506749978952496681544507895148734468513239756888440769289103653460242590706209377481163424447150937201817016411428938761225411412620391654920682653706041198253530963973664372010391746854260916537511407841070178312591009192581586245994250160312207757539666759964652436749624695710006526932049227367011260245836155602924015442624367872349380151723114491536701108462789811468407784363983688570272618639641206165586158836058493189251526501711694316986861847410525231500364251300122350716668571836339732659545049424088047941506679023857361785213178069306989586118887798676812702536322297205577220215669860213928976137767561270063683142657573175784228191236008498180382859203465059664323543054771844757547132314130392776344494173588299702326738416717900532663451394215114634754233027407799698068426715198497878488914782118398612098302405748157704352559685379793070036590846251648673361720445850857158040299680815524702003811717351151130675016102049780631424453367454840976211353451658442534353695502030234100441279085017434696680873502985153330640183412929532516173899867364725712657697298871021769976008801576464527000641600740268937101666222895652566156284601337220279359261104594072445817458590580761247693556209444191579981147963874551394904047417056078912565880591658060975546392462311882416441222311791167990180680463988443570241217782392857011867069680884244666593050092653665365976989558026022470608210613618754008458873824007001387382830148126034290344824191155415782018993342382704401188799702402584222440549094763577598172796167234130544210531502303550183844221220741663302428474645529415233450782908000520186885350457480593709781632911073809060760282828755283843146949436685051247670110734191688391328421684820072278551527252247123400889675092676047061214900279455779580400780351440717718674778598620334958799748366441005751435862051719573393022638455265338173691749329829929778792927209252299363226699669304396453808682352906829063954982628241054392382727084233234617853880930580558610693644662670411726208797563897182971330720340719082906323101468841115426963546938445791225705353254787304946539733594898724141144239697760300827426052047546961517686499215286946912115695254075355830259027832071884029702562735494425377483118322954331921903363250082500469425799174190443792378664442609668389809292715747442728261104057159403046029354348854081362210351403609213873516864619914940327376491482361257397018311601245104220160902827818656188475939462094686499829045336916823240369832468356579523561345523753188223264345478429094340851372771053067637475679342539408456903231828872799930817581833439870712917418826843067896199373130271288943225181644948436774089399904458030735906319863043957331156045424963770688947466084889307668288017861339842181172042726613883141351191946502032310801472904719851519010317205396742332805966529682346479711843615690813680991171119080478015996824605201884259938178327059778427705690165800093885783487243551848412563724052833048053938777061840016039880805180216862163933686912114440387470223690208188772552878220572738123602652179156338205514875086851896614251718730064421549242865868784336065175565809141232179316340986671299518880775846771213786359638973258526041876685988802771745035634109202610454676852913515809745013087114908255827341976713360684166599637471067502080846934028457279122877839953147357045264558228067858304748256702443186153813474105077004037127372084978590676194364870077372863919078432479541812484249945770665687097130554886703984565666761565719480729549387483082392079921320407529213030266573141965767725171518976692790264186777951789494714376261883476100674348793960698920132272895809728836718405181042042166200242323811773354781287658607460464937393102526985242181693805608728998782133113765675901089571688450387452224568913998059430283933149609176082594047129887966560502768716497149939249173319700327489816703037382235849113198295170552753317110482747894359723542152274078773075735521039335880820633518660952281569641483254588807056891467907403975535451264658845706717063340274159861090399237228705263492947884388137919060366304371107346923507223216802854555113422811002653740490373493497476771943744957618238912361105871123340508833843621052596734031115489003920587244237833937934001983626072771827255486635354412852569562139896110474978693951153800424314203240510799368562945909622503906047192266092977311177838217010086337895332739687855857456075811075019674752242664282266828418318547042165783866535637890643286413335353335891881495771340078383117541524707562854351863442581023044407055245102707695125739871176490477169459413368299650205335817378213809868568815478421197430887464542335850372139431553422467447189454265394776179863898613321197633024209811549877358838667487573122994707117760947479764573419702443288188230644661540996586391202121171949219271757199811165779448087702526937363803350087855103239322939923570314417130497148511409247660117551378514426292418595051729608160066848442069823980475068241862290180313840390185352018021242668325351636288393003367116866703550904449343499285632302295111529585478209620551612898101538493408749396488890365023615511802565090365307161314530438588827783932549385468670733396066873503607770084863801600878588766089518908296800339357496112164424762389270780348083382284704542764851908338308928828032225360110179983412930992687514765129195062580345868127350047320493330839930799613175442210878296447190459666744706660794229287089897706005184949640741138729638451585263614735646109431933940841084316841011554272748882673127269937977692547298751398536431024232723610377728277275795611631801969950682885606384130083660300664057543324421294428913146131349667509852259630236780862461739200294159665064666033931082227172941391807869652407232823289128876555186360849123516332791205462668515247400540029657026595166940795871298237057846887774365982183444365710858929739692758260032096111593014809445329433529000974420037599651234658917977788704159890422187728995645804510723716513974598515907928504440484859402651592981913439220633876664968668050187603193347613674753200734397443990506557282807148272672150255343956943283705706686688761914851900814138638095008214987208406637423849630749859560708340013151191988820908808739392817709365488480929905436754475767818927505249571307063016337629900762621744912109022326335905217097032402015200373383934005157635760710628671803217500061884422303491324208638461037779017987374996549290279594632044736801077292301589553318215977990209221962091983267162590498945810664261752136617905642138654318569065615124992835805577913141032563717097365002200065136887109671687271514222302834588219529238791986691965562147668607589093264400273210236389385097410895313325808448971072271685397152566764052845116833488200984237169953314971951274805069254811892178442584282908188407970998439719344803334854717530410685571350443330645839909275077761188884173249989176238565754483737534733464668209831308798007872581282236336744512987953524810476340020839228359432702008216246145988729596932070217319358378633624033773851779976333165011773042492213517762295600225475247571744078691395339520543875077598049016197394114616888863104617540358675004261267116252613111951875208377093174974839522748257694846613683506704919187448089924168782238067598392676486623311352608837637927059987842340264062149206271804744180733250176548868 79221136326288413549090453617582214988603149380032775393045753873679347103737428810698791647263113706575282689198477135930652137291317188670030006057926509831856472550143054466006425134587034426949120010210832597783143689081004098970652114673282224426184172485773967049733965817226715156969648131835381010189470025770375559444559659305270898952170617343578663720139463438305206193729450577009951868047317341521679722886752217921827822705466305632297648679105292595306982225729633137305184703173136534319068330149229142960259210328722455601450057473003629441834416962669954405564521304502500726298911194393554191501157954017925309977598836623748100506311537547090223313424323313673085311409323919977212070953990949404412305207140907616619412378270976434206887105501661848469182736298770557698748104969475842500166345456724876246803841548685455561851856586967869889986216391448174596518073583228454703935275996041071738034755239225816281721293011288588359444337681021846829274952700086230836341401062887321604178406708278357480439226036171803414304571700770050264769130291420603534822495795966981715612394351588510056912232508637273573895372779156159436797233748213294951636931736322625278881149941049169682180025310119656903852664689348405476728233436921288688205034751242856813863451202798101231235894933014025474654357904163264189792879110990531247061528782494741231885291482973616690359904394443018958369073484128300703937149692838128916254439952768266768999800895221352172804608885628145520829329108509888656265795056847497582709463200002373315731960683089450281141672128908771066872542843950397795050900482861371828770525181267955544208230938560999841196913163882946371552828126583680248944964520944418180558701521838650855170095150234372062727397690674991347946365752214498420657007149585319909260780872426315558079608099072865828174703417406185318728278145026184310672633645641700732291542811057990742838365066341014265183949971790930431087121056345347741501667746148234688653065189269356885872908647581204650438736957716528711548574555583977239301969823515430537595181395319473570033411789209713074292228145962019286962544117035974563318921268241513986555088394502711032433789248734183877010959345104750102614262227563661010217640141350231316347211768763385670337883433049195056061300162041862964241528184097908283230852906666992480893473206747006312106694438401261591124362380788902882710265313013071263115504159140550179707220633782158597940373880726872858838789886163551228708805088540541574505134133745949431125107024728689987177439066224173647204385151471810845156172459609697201263898819372465925856032821983943945509201296896112993390414319772317613998628115011584901662481020736975231857679558573639533120123760882987807897148264001476729480741158503008405824181375825684426593602078107066384305742314153383784825815001170364503279303283157714730965700730790958163526085614077255893030881612578737162635171062435305862363661501175783671862584712802832632731639923317926092501167046294294878922434436385815597766578254085927198853219424480746368612964091254086956730350365974846418411767133289280026522101904776721397535481072023153960396155426365282526318432948840966649466716318812335304612541684202901596339076117983534399558629308180937552570931412127563964839611720473046765641026358839977096301838517860717992220124429055320994261412222457829626748188314831526678529121257451724121669436757611557692716596947663821034873517375372433749628434475153359120061495211777091719559441963916844642691242108239222713715540944215042751815205832903182816602051553000809853471087600226541940973229542173962641860015572714026730877762563780111880467244618055586935195897209646109126685288690235443479134420307287200865787784854857681194140932834097813623138157320433948668365280904196167520730495552269155400544459597418276177569668057444229387270850059959177577695113400939572251098823419194625556857107173746511343007800181920881221537624681494893301655822089723344553388000429323171176866004751029713971505534118999127107434111180853160547174861752751626348577776330731649967976997705926985766161797485058129299093471507452375539795559192778297669346728516427619455250496404870474371468200079265657822190324253008657280022070822577899305872108909461787244531453423119105988731060885667270673906364763727364896807710566881055215730830049911805272377486610061004335421869816885849669495243455855042551121024488255660795663819648501724149284790298092093372482653444084141453024908635847938874074697818854837695253972630804930011048531224322683145833842458520248412423153952435022528345724977763280584053398449746120516553508775326815255194777552247568789127161127121523667078092192754147983382483439483110519687390499526362703620317546913529048991244723833568395254652779389245457001074904459611968988017810125634688718594557512726477640828469923085023078927441553690015369298834217415908971293929662509893318732156287214572953717271547294454739080159480184708525419270198385219963884877884002278754278750609561959567609573219604469598655354749579234218685586373052244170384013165767049118076193618533398406013188209001235766656057471022713158458115640722513614902460046359982042188094125956149263515692514917141235851596188317125234698698143445430710086862519687007887491677593147363567434012996511611208264524292392041796094719104232814767772523351970722422038548274955882602506325735217927052884736197570933812826973727984393449854685360152304385913054039591824514239463064574006576447070168308785658334189143136583726277476279484040055265195370002967927103157598498988314064461158492527567235388273093138250126070907284091661168961258085026365164006756510037480113146444863049857410441189627990753392734989779344967229909893545831260919205642629882485159098157638129076046041748514665632636070142935578386099836275589388930926240584371164648614330272952273803821934246410548896732021483600216257876390203223583811752097414977367601275058587892151481717977645237081174997478084219478623660424162752880192868685884668880148643205675563808348487798702434249814028000489387319267434376798624197140709588473161705863149798376475260131435650698866424963700821352635427311875603754398568456694493029785421376982682568805861337391799580504924932794556653379358767208890415958085613545957157879585738485216752347809889677342570960091355021080407464763338564493970911651840304968787953757264726616132058769535451536129440982464344457257409571874631344070375729511782691987208945139373059377362044678441485767885356392625676743825088107696059578436822101089587320629680572375297507439230177389257372694401026822808373497528093968027287143301629103846534858625188325762033439196480397732997628503014649621121690269155702957775533169864904892182237683246347572084245365191125792238162832968930393778486311914591336488816372341376522067036860976397292954319050636670890190881862580303324718499511813664256650581668171314625522576463828792300817636790551747752178963893094026368249871063740051957677459820923123398315939696748427420043893707187931413132194983048121141633208572619318118682144503976902886475074725995927488015931697855547875567877957092844564972845868112467386799220810631963984802801245465491999492342994359330345557818309230549781190666893419855523650310406258181966733177334063917199888119119548767752141086258162376401893740900149055101692383716437730051535448970252369139807831334212981351808475128436325511506521306376541098272413318178788027577886741756988051386311777882287391881862854060744982292039961563494441320610172547471281354491811089427667941553096792539866778533112339401492150191478610168187813943366146939613944255787812295363788871264558245650366272976585990903261089635305905742282528531617124236257160918684087656849837574980709007634462794039027502516932254792552278738094881287976286091303833032328709898177754381747211550369182625253816956570895415702356703647970398979022104775855650022923491671389932150050238130342993219290079594357803961156906483525731193515143667409605342655206986539810441729034123792850051347539305704207486216981192413978602284363056867626486373038246244839413072201313630754273638937315123889266770682128882430762690059836369951715002691645372943891194536056518939393483536344089949823186946555884678988010580615983982479704610187475910957396703374352600973214429895438876454557725931764099504166221965567851477778524080688479039673549688608223453815640594482798578256595213089270083559888919481365699489637100462903261695502194644348626336709527606095941785695581152441637033674790821685888023791364256305622601762475611441750013106178994593770221066022071023423181155633034817805122802161398524935744545943741207082734764334825940768852393487409193252192043890560912706601726987758753067561041148319622385097614386639073680669427818858042442429654858229935977397707681836665668775740641201467318749912966028972169793293390466868251643453919856849649464322290493048735341721271287419107657917313905525324948586326718627816214107076707368817487170052506253995767034921526007809581573945253151822834749452099415021388971615151747053427766692853648240012116610723886125081342994287489545235725721142914067970761305543646806858970499351876132153368421770237795532592261530517822610356843765148217108907994757920134143467540976888459223968533993602900377353953544172817792180535262936919969492569469436153458748985127294759494223048694113803447594333559542494170015852179431982487558567762644873232582846206118354511361889465074082198622487687130683064905826980365281361526563926662405093323369953815510290733148417577099131665373904594606446101445456737906257234215611047930895015327467213852058204569126364764390657202470807122594170585907633466485519524155064808028487628723708474385722676764531471034749556194317090053532721523949569733293990221599435614437855978142064057941350647248869502882171365376482071435295878341415878631076359405882902371556731407341889179961545506866186248441345259419590661969374361882364592061478559916225955206538184816386679967482441838049310905079233609878397934734816175948993752695074814067593455911713281951234584719671148856291994006466814477367850543107690771346327489500529747440674930090756702297261679187551872345086063837394259531898709135941627900148238103139796982138624016618320937655921765263711024009874698746369080375567901724255684972797468157046157244471404374772222761078870327589465169246896223399414535889927524097257658342338819602157586456758679350724006766498955644886341578770464217114532766965311558328771842477936179644154648725549016964555717358267421129406002607793307439153514126492562540286438784812980066800677318313791389822961787325992391015069754823380173916313596635123798266301750265370600068685480969393442609603956119372421591853151722808583669735059915582753550715486399760012328047281867317279176872125198538864086215345171359356062618339888269196615849878341009901174366182431568400817312255199337667870427164058252046691141588462611695798445898455666744650148543174273924084039433899774435857949430043993897554400048319814689695862859159318872535204748251144962702162463499737891432877223121909129098344855891760814617089321319951062904551654895337306129805913025944180906927502044419375620970439904558408425976746524919577422744604678047700295341856552182095320586852500585625664834503585589269368741216930474755189870268950484900669276439820744731551861384605719817230677305424393562608012347282106616739326341508184942013244631726891106292405240644550509393873680228562272071533052382956340446417148097972501997474543615397475518262648869520545135690881661356943350133932565706608146399718351491507472986333577842853498178674984672051322972654996461950987550865292528553620054954224913858166192474882035352357899732655030712160385609277387607740567177899255072891211576698669315915614623365514450273883629476310746756716923977433973982778866537623583659452653953536594305635259113791810456916740095328527216763001938091607108120211956569098947525776967516508899548558888706022782856287399631190569717979133974265816248963278960898161685096058601377782895534213136701479149191550214315794162212015792405661422845597673653182274714618069931744594221634105470177540427769803623211699582705445596866405927037514309107234351370362467425928846073566742931409335261734131864994298347945260635001131311920283905394751792800521660850627916150640677023274911592637202999772417492767266475033477116987488225402321678196203896707838129488510806857661805566699304194033908269506749978952496681544507895148734468513239756888440769289103653460242590706209377481163424447150937201817016411428938761225411412620391654920682653706041198253530963973664372010391746854260916537511407841070178312591009192581586245994250160312207757539666759964652436749624695710006526932049227367011260245836155602924015442624367872349380151723114491536701108462789811468407784363983688570272618639641206165586158836058493189251526501711694316986861847410525231500364251300122350716668571836339732659545049424088047941506679023857361785213178069306989586118887798676812702536322297205577220215669860213928976137767561270063683142657573175784228191236008498180382859203465059664323543054771844757547132314130392776344494173588299702326738416717900532663451394215114634754233027407799698068426715198497878488914782118398612098302405748157704352559685379793070036590846251648673361720445850857158040299680815524702003811717351151130675016102049780631424453367454840976211353451658442534353695502030234100441279085017434696680873502985153330640183412929532516173899867364725712657697298871021769976008801576464527000641600740268937101666222895652566156284601337220279359261104594072445817458590580761247693556209444191579981147963874551394904047417056078912565880591658060975546392462311882416441222311791167990180680463988443570241217782392857011867069680884244666593050092653665365976989558026022470608210613618754008458873824007001387382830148126034290344824191155415782018993342382704401188799702402584222440549094763577598172796167234130544210531502303550183844221220741663302428474645529415233450782908000520186885350457480593709781632911073809060760282828755283843146949436685051247670110734191688391328421684820072278551527252247123400889675092676047061214900279455779580400780351440717718674778598620334958799748366441005751435862051719573393022638455265338173691749329829929778792927209252299363226699669304396453808682352906829063954982628241054392382727084233234617853880930580558610693644662670411726208797563897182971330720340719082906323101468841115426963546938445791225705353254787304946539733594898724141144239697760300827426052047546961517686499215286946912115695254075355830259027832071884029702562735494425377483118322954331921903363250082500469425799174190443792378664442609668389809292715747442728261104057159403046029354348854081362210351403609213873516864619914940327376491482361257397018311601245104220160902827818656188475939462094686499829045336916823240369832468356579523561345523753188223264345478429094340851372771053067637475679342539408456903231828872799930817581833439870712917418826843067896199373130271288943225181644948436774089399904458030735906319863043957331156045424963770688947466084889307668288017861339842181172042726613883141351191946502032310801472904719851519010317205396742332805966529682346479711843615690813680991171119080478015996824605201884259938178327059778427705690165800093885783487243551848412563724052833048053938777061840016039880805180216862163933686912114440387470223690208188772552878220572738123602652179156338205514875086851896614251718730064421549242865868784336065175565809141232179316340986671299518880775846771213786359638973258526041876685988802771745035634109202610454676852913515809745013087114908255827341976713360684166599637471067502080846934028457279122877839953147357045264558228067858304748256702443186153813474105077004037127372084978590676194364870077372863919078432479541812484249945770665687097130554886703984565666761565719480729549387483082392079921320407529213030266573141965767725171518976692790264186777951789494714376261883476100674348793960698920132272895809728836718405181042042166200242323811773354781287658607460464937393102526985242181693805608728998782133113765675901089571688450387452224568913998059430283933149609176082594047129887966560502768716497149939249173319700327489816703037382235849113198295170552753317110482747894359723542152274078773075735521039335880820633518660952281569641483254588807056891467907403975535451264658845706717063340274159861090399237228705263492947884388137919060366304371107346923507223216802854555113422811002653740490373493497476771943744957618238912361105871123340508833843621052596734031115489003920587244237833937934001983626072771827255486635354412852569562139896110474978693951153800424314203240510799368562945909622503906047192266092977311177838217010086337895332739687855857456075811075019674752242664282266828418318547042165783866535637890643286413335353335891881495771340078383117541524707562854351863442581023044407055245102707695125739871176490477169459413368299650205335817378213809868568815478421197430887464542335850372139431553422467447189454265394776179863898613321197633024209811549877358838667487573122994707117760947479764573419702443288188230644661540996586391202121171949219271757199811165779448087702526937363803350087855103239322939923570314417130497148511409247660117551378514426292418595051729608160066848442069823980475068241862290180313840390185352018021242668325351636288393003367116866703550904449343499285632302295111529585478209620551612898101538493408749396488890365023615511802565090365307161314530438588827783932549385468670733396066873503607770084863801600878588766089518908296800339357496112164424762389270780348083382284704542764851908338308928828032225360110179983412930992687514765129195062580345868127350047320493330839930799613175442210878296447190459666744706660794229287089897706005184949640741138729638451585263614735646109431933940841084316841011554272748882673127269937977692547298751398536431024232723610377728277275795611631801969950682885606384130083660300664057543324421294428913146131349667509852259630236780862461739200294159665064666033931082227172941391807869652407232823289128876555186360849123516332791205462668515247400540029657026595166940795871298237057846887774365982183444365710858929739692758260032096111593014809445329433529000974420037599651234658917977788704159890422187728995645804510723716513974598515907928504440484859402651592981913439220633876664968668050187603193347613674753200734397443990506557282807148272672150255343956943283705706686688761914851900814138638095008214987208406637423849630749859560708340013151191988820908808739392817709365488480929905436754475767818927505249571307063016337629900762621744912109022326335905217097032402015200373383934005157635760710628671803217500061884422303491324208638461037779017987374996549290279594632044736801077292301589553318215977990209221962091983267162590498945810664261752136617905642138654318569065615124992835805577913141032563717097365002200065136887109671687271514222302834588219529238791986691965562147668607589093264400273210236389385097410895313325808448971072271685397152566764052845116833488200984237169953314971951274805069254811892178442584282908188407970998439719344803334854717530410685571350443330645839909275077761188884173249989176238565754483737534733464668209831308798007872581282236336744512987953524810476340020839228359432702008216246145988729596932070217319358378633624033773851779976333165011773042492213517762295600225475247571744078691395339520543875077598049016197394114616888863104617540358675004261267116252613111951875208377093174974839522748257694846613683506704919187448089924168782238067598392676486623311352608837637927059987842340264062149206271804744180733250176548868 79221136326288413549090453617582214988603149380032775393045753873679347103737428810698791647263113706575282689198477135930652137291317188670030006057926509831856472550143054466006425134587034426949120010210832597783143689081004098970652114673282224426184172485773967049733965817226715156969648131835381010189470025770375559444559659305270898952170617343578663720139463438305206193729450577009951868047317341521679722886752217921827822705466305632297648679105292595306982225729633137305184703173136534319068330149229142960259210328722455601450057473003629441834416962669954405564521304502500726298911194393554191501157954017925309977598836623748100506311537547090223313424323313673085311409323919977212070953990949404412305207140907616619412378270976434206887105501661848469182736298770557698748104969475842500166345456724876246803841548685455561851856586967869889986216391448174596518073583228454703935275996041071738034755239225816281721293011288588359444337681021846829274952700086230836341401062887321604178406708278357480439226036171803414304571700770050264769130291420603534822495795966981715612394351588510056912232508637273573895372779156159436797233748213294951636931736322625278881149941049169682180025310119656903852664689348405476728233436921288688205034751242856813863451202798101231235894933014025474654357904163264189792879110990531247061528782494741231885291482973616690359904394443018958369073484128300703937149692838128916254439952768266768999800895221352172804608885628145520829329108509888656265795056847497582709463200002373315731960683089450281141672128908771066872542843950397795050900482861371828770525181267955544208230938560999841196913163882946371552828126583680248944964520944418180558701521838650855170095150234372062727397690674991347946365752214498420657007149585319909260780872426315558079608099072865828174703417406185318728278145026184310672633645641700732291542811057990742838365066341014265183949971790930431087121056345347741501667746148234688653065189269356885872908647581204650438736957716528711548574555583977239301969823515430537595181395319473570033411789209713074292228145962019286962544117035974563318921268241513986555088394502711032433789248734183877010959345104750102614262227563661010217640141350231316347211768763385670337883433049195056061300162041862964241528184097908283230852906666992480893473206747006312106694438401261591124362380788902882710265313013071263115504159140550179707220633782158597940373880726872858838789886163551228708805088540541574505134133745949431125107024728689987177439066224173647204385151471810845156172459609697201263898819372465925856032821983943945509201296896112993390414319772317613998628115011584901662481020736975231857679558573639533120123760882987807897148264001476729480741158503008405824181375825684426593602078107066384305742314153383784825815001170364503279303283157714730965700730790958163526085614077255893030881612578737162635171062435305862363661501175783671862584712802832632731639923317926092501167046294294878922434436385815597766578254085927198853219424480746368612964091254086956730350365974846418411767133289280026522101904776721397535481072023153960396155426365282526318432948840966649466716318812335304612541684202901596339076117983534399558629308180937552570931412127563964839611720473046765641026358839977096301838517860717992220124429055320994261412222457829626748188314831526678529121257451724121669436757611557692716596947663821034873517375372433749628434475153359120061495211777091719559441963916844642691242108239222713715540944215042751815205832903182816602051553000809853471087600226541940973229542173962641860015572714026730877762563780111880467244618055586935195897209646109126685288690235443479134420307287200865787784854857681194140932834097813623138157320433948668365280904196167520730495552269155400544459597418276177569668057444229387270850059959177577695113400939572251098823419194625556857107173746511343007800181920881221537624681494893301655822089723344553388000429323171176866004751029713971505534118999127107434111180853160547174861752751626348577776330731649967976997705926985766161797485058129299093471507452375539795559192778297669346728516427619455250496404870474371468200079265657822190324253008657280022070822577899305872108909461787244531453423119105988731060885667270673906364763727364896807710566881055215730830049911805272377486610061004335421869816885849669495243455855042551121024488255660795663819648501724149284790298092093372482653444084141453024908635847938874074697818854837695253972630804930011048531224322683145833842458520248412423153952435022528345724977763280584053398449746120516553508775326815255194777552247568789127161127121523667078092192754147983382483439483110519687390499526362703620317546913529048991244723833568395254652779389245457001074904459611968988017810125634688718594557512726477640828469923085023078927441553690015369298834217415908971293929662509893318732156287214572953717271547294454739080159480184708525419270198385219963884877884002278754278750609561959567609573219604469598655354749579234218685586373052244170384013165767049118076193618533398406013188209001235766656057471022713158458115640722513614902460046359982042188094125956149263515692514917141235851596188317125234698698143445430710086862519687007887491677593147363567434012996511611208264524292392041796094719104232814767772523351970722422038548274955882602506325735217927052884736197570933812826973727984393449854685360152304385913054039591824514239463064574006576447070168308785658334189143136583726277476279484040055265195370002967927103157598498988314064461158492527567235388273093138250126070907284091661168961258085026365164006756510037480113146444863049857410441189627990753392734989779344967229909893545831260919205642629882485159098157638129076046041748514665632636070142935578386099836275589388930926240584371164648614330272952273803821934246410548896732021483600216257876390203223583811752097414977367601275058587892151481717977645237081174997478084219478623660424162752880192868685884668880148643205675563808348487798702434249814028000489387319267434376798624197140709588473161705863149798376475260131435650698866424963700821352635427311875603754398568456694493029785421376982682568805861337391799580504924932794556653379358767208890415958085613545957157879585738485216752347809889677342570960091355021080407464763338564493970911651840304968787953757264726616132058769535451536129440982464344457257409571874631344070375729511782691987208945139373059377362044678441485767885356392625676743825088107696059578436822101089587320629680572375297507439230177389257372694401026822808373497528093968027287143301629103846534858625188325762033439196480397732997628503014649621121690269155702957775533169864904892182237683246347572084245365191125792238162832968930393778486311914591336488816372341376522067036860976397292954319050636670890190881862580303324718499511813664256650581668171314625522576463828792300817636790551747752178963893094026368249871063740051957677459820923123398315939696748427420043893707187931413132194983048121141633208572619318118682144503976902886475074725995927488015931697855547875567877957092844564972845868112467386799220810631963984802801245465491999492342994359330345557818309230549781190666893419855523650310406258181966733177334063917199888119119548767752141086258162376401893740900149055101692383716437730051535448970252369139807831334212981351808475128436325511506521306376541098272413318178788027577886741756988051386311777882287391881862854060744982292039961563494441320610172547471281354491811089427667941553096792539866778533112339401492150191478610168187813943366146939613944255787812295363788871264558245650366272976585990903261089635305905742282528531617124236257160918684087656849837574980709007634462794039027502516932254792552278738094881287976286091303833032328709898177754381747211550369182625253816956570895415702356703647970398979022104775855650022923491671389932150050238130342993219290079594357803961156906483525731193515143667409605342655206986539810441729034123792850051347539305704207486216981192413978602284363056867626486373038246244839413072201313630754273638937315123889266770682128882430762690059836369951715002691645372943891194536056518939393483536344089949823186946555884678988010580615983982479704610187475910957396703374352600973214429895438876454557725931764099504166221965567851477778524080688479039673549688608223453815640594482798578256595213089270083559888919481365699489637100462903261695502194644348626336709527606095941785695581152441637033674790821685888023791364256305622601762475611441750013106178994593770221066022071023423181155633034817805122802161398524935744545943741207082734764334825940768852393487409193252192043890560912706601726987758753067561041148319622385097614386639073680669427818858042442429654858229935977397707681836665668775740641201467318749912966028972169793293390466868251643453919856849649464322290493048735341721271287419107657917313905525324948586326718627816214107076707368817487170052506253995767034921526007809581573945253151822834749452099415021388971615151747053427766692853648240012116610723886125081342994287489545235725721142914067970761305543646806858970499351876132153368421770237795532592261530517822610356843765148217108907994757920134143467540976888459223968533993602900377353953544172817792180535262936919969492569469436153458748985127294759494223048694113803447594333559542494170015852179431982487558567762644873232582846206118354511361889465074082198622487687130683064905826980365281361526563926662405093323369953815510290733148417577099131665373904594606446101445456737906257234215611047930895015327467213852058204569126364764390657202470807122594170585907633466485519524155064808028487628723708474385722676764531471034749556194317090053532721523949569733293990221599435614437855978142064057941350647248869502882171365376482071435295878341415878631076359405882902371556731407341889179961545506866186248441345259419590661969374361882364592061478559916225955206538184816386679967482441838049310905079233609878397934734816175948993752695074814067593455911713281951234584719671148856291994006466814477367850543107690771346327489500529747440674930090756702297261679187551872345086063837394259531898709135941627900148238103139796982138624016618320937655921765263711024009874698746369080375567901724255684972797468157046157244471404374772222761078870327589465169246896223399414535889927524097257658342338819602157586456758679350724006766498955644886341578770464217114532766965311558328771842477936179644154648725549016964555717358267421129406002607793307439153514126492562540286438784812980066800677318313791389822961787325992391015069754823380173916313596635123798266301750265370600068685480969393442609603956119372421591853151722808583669735059915582753550715486399760012328047281867317279176872125198538864086215345171359356062618339888269196615849878341009901174366182431568400817312255199337667870427164058252046691141588462611695798445898455666744650148543174273924084039433899774435857949430043993897554400048319814689695862859159318872535204748251144962702162463499737891432877223121909129098344855891760814617089321319951062904551654895337306129805913025944180906927502044419375620970439904558408425976746524919577422744604678047700295341856552182095320586852500585625664834503585589269368741216930474755189870268950484900669276439820744731551861384605719817230677305424393562608012347282106616739326341508184942013244631726891106292405240644550509393873680228562272071533052382956340446417148097972501997474543615397475518262648869520545135690881661356943350133932565706608146399718351491507472986333577842853498178674984672051322972654996461950987550865292528553620054954224913858166192474882035352357899732655030712160385609277387607740567177899255072891211576698669315915614623365514450273883629476310746756716923977433973982778866537623583659452653953536594305635259113791810456916740095328527216763001938091607108120211956569098947525776967516508899548558888706022782856287399631190569717979133974265816248963278960898161685096058601377782895534213136701479149191550214315794162212015792405661422845597673653182274714618069931744594221634105470177540427769803623211699582705445596866405927037514309107234351370362467425928846073566742931409335261734131864994298347945260635001131311920283905394751792800521660850627916150640677023274911592637202999772417492767266475033477116987488225402321678196203896707838129488510806857661805566699304194033908269506749978952496681544507895148734468513239756888440769289103653460242590706209377481163424447150937201817016411428938761225411412620391654920682653706041198253530963973664372010391746854260916537511407841070178312591009192581586245994250160312207757539666759964652436749624695710006526932049227367011260245836155602924015442624367872349380151723114491536701108462789811468407784363983688570272618639641206165586158836058493189251526501711694316986861847410525231500364251300122350716668571836339732659545049424088047941506679023857361785213178069306989586118887798676812702536322297205577220215669860213928976137767561270063683142657573175784228191236008498180382859203465059664323543054771844757547132314130392776344494173588299702326738416717900532663451394215114634754233027407799698068426715198497878488914782118398612098302405748157704352559685379793070036590846251648673361720445850857158040299680815524702003811717351151130675016102049780631424453367454840976211353451658442534353695502030234100441279085017434696680873502985153330640183412929532516173899867364725712657697298871021769976008801576464527000641600740268937101666222895652566156284601337220279359261104594072445817458590580761247693556209444191579981147963874551394904047417056078912565880591658060975546392462311882416441222311791167990180680463988443570241217782392857011867069680884244666593050092653665365976989558026022470608210613618754008458873824007001387382830148126034290344824191155415782018993342382704401188799702402584222440549094763577598172796167234130544210531502303550183844221220741663302428474645529415233450782908000520186885350457480593709781632911073809060760282828755283843146949436685051247670110734191688391328421684820072278551527252247123400889675092676047061214900279455779580400780351440717718674778598620334958799748366441005751435862051719573393022638455265338173691749329829929778792927209252299363226699669304396453808682352906829063954982628241054392382727084233234617853880930580558610693644662670411726208797563897182971330720340719082906323101468841115426963546938445791225705353254787304946539733594898724141144239697760300827426052047546961517686499215286946912115695254075355830259027832071884029702562735494425377483118322954331921903363250082500469425799174190443792378664442609668389809292715747442728261104057159403046029354348854081362210351403609213873516864619914940327376491482361257397018311601245104220160902827818656188475939462094686499829045336916823240369832468356579523561345523753188223264345478429094340851372771053067637475679342539408456903231828872799930817581833439870712917418826843067896199373130271288943225181644948436774089399904458030735906319863043957331156045424963770688947466084889307668288017861339842181172042726613883141351191946502032310801472904719851519010317205396742332805966529682346479711843615690813680991171119080478015996824605201884259938178327059778427705690165800093885783487243551848412563724052833048053938777061840016039880805180216862163933686912114440387470223690208188772552878220572738123602652179156338205514875086851896614251718730064421549242865868784336065175565809141232179316340986671299518880775846771213786359638973258526041876685988802771745035634109202610454676852913515809745013087114908255827341976713360684166599637471067502080846934028457279122877839953147357045264558228067858304748256702443186153813474105077004037127372084978590676194364870077372863919078432479541812484249945770665687097130554886703984565666761565719480729549387483082392079921320407529213030266573141965767725171518976692790264186777951789494714376261883476100674348793960698920132272895809728836718405181042042166200242323811773354781287658607460464937393102526985242181693805608728998782133113765675901089571688450387452224568913998059430283933149609176082594047129887966560502768716497149939249173319700327489816703037382235849113198295170552753317110482747894359723542152274078773075735521039335880820633518660952281569641483254588807056891467907403975535451264658845706717063340274159861090399237228705263492947884388137919060366304371107346923507223216802854555113422811002653740490373493497476771943744957618238912361105871123340508833843621052596734031115489003920587244237833937934001983626072771827255486635354412852569562139896110474978693951153800424314203240510799368562945909622503906047192266092977311177838217010086337895332739687855857456075811075019674752242664282266828418318547042165783866535637890643286413335353335891881495771340078383117541524707562854351863442581023044407055245102707695125739871176490477169459413368299650205335817378213809868568815478421197430887464542335850372139431553422467447189454265394776179863898613321197633024209811549877358838667487573122994707117760947479764573419702443288188230644661540996586391202121171949219271757199811165779448087702526937363803350087855103239322939923570314417130497148511409247660117551378514426292418595051729608160066848442069823980475068241862290180313840390185352018021242668325351636288393003367116866703550904449343499285632302295111529585478209620551612898101538493408749396488890365023615511802565090365307161314530438588827783932549385468670733396066873503607770084863801600878588766089518908296800339357496112164424762389270780348083382284704542764851908338308928828032225360110179983412930992687514765129195062580345868127350047320493330839930799613175442210878296447190459666744706660794229287089897706005184949640741138729638451585263614735646109431933940841084316841011554272748882673127269937977692547298751398536431024232723610377728277275795611631801969950682885606384130083660300664057543324421294428913146131349667509852259630236780862461739200294159665064666033931082227172941391807869652407232823289128876555186360849123516332791205462668515247400540029657026595166940795871298237057846887774365982183444365710858929739692758260032096111593014809445329433529000974420037599651234658917977788704159890422187728995645804510723716513974598515907928504440484859402651592981913439220633876664968668050187603193347613674753200734397443990506557282807148272672150255343956943283705706686688761914851900814138638095008214987208406637423849630749859560708340013151191988820908808739392817709365488480929905436754475767818927505249571307063016337629900762621744912109022326335905217097032402015200373383934005157635760710628671803217500061884422303491324208638461037779017987374996549290279594632044736801077292301589553318215977990209221962091983267162590498945810664261752136617905642138654318569065615124992835805577913141032563717097365002200065136887109671687271514222302834588219529238791986691965562147668607589093264400273210236389385097410895313325808448971072271685397152566764052845116833488200984237169953314971951274805069254811892178442584282908188407970998439719344803334854717530410685571350443330645839909275077761188884173249989176238565754483737534733464668209831308798007872581282236336744512987953524810476340020839228359432702008216246145988729596932070217319358378633624033773851779976333165011773042492213517762295600225475247571744078691395339520543875077598049016197394114616888863104617540358675004261267116252613111951875208377093174974839522748257694846613683506704919187448089924168782238067598392676486623311352608837637927059987842340264062149206271804744180733250176548868 . . 79221136326288413549090453617582214988603149380032775393045753873679347103737428810698791647263113706575282689198477135930652137291317188670030006057926509831856472550143054466006425134587034426949120010210832597783143689081004098970652114673282224426184172485773967049733965817226715156969648131835381010189470025770375559444559659305270898952170617343578663720139463438305206193729450577009951868047317341521679722886752217921827822705466305632297648679105292595306982225729633137305184703173136534319068330149229142960259210328722455601450057473003629441834416962669954405564521304502500726298911194393554191501157954017925309977598836623748100506311537547090223313424323313673085311409323919977212070953990949404412305207140907616619412378270976434206887105501661848469182736298770557698748104969475842500166345456724876246803841548685455561851856586967869889986216391448174596518073583228454703935275996041071738034755239225816281721293011288588359444337681021846829274952700086230836341401062887321604178406708278357480439226036171803414304571700770050264769130291420603534822495795966981715612394351588510056912232508637273573895372779156159436797233748213294951636931736322625278881149941049169682180025310119656903852664689348405476728233436921288688205034751242856813863451202798101231235894933014025474654357904163264189792879110990531247061528782494741231885291482973616690359904394443018958369073484128300703937149692838128916254439952768266768999800895221352172804608885628145520829329108509888656265795056847497582709463200002373315731960683089450281141672128908771066872542843950397795050900482861371828770525181267955544208230938560999841196913163882946371552828126583680248944964520944418180558701521838650855170095150234372062727397690674991347946365752214498420657007149585319909260780872426315558079608099072865828174703417406185318728278145026184310672633645641700732291542811057990742838365066341014265183949971790930431087121056345347741501667746148234688653065189269356885872908647581204650438736957716528711548574555583977239301969823515430537595181395319473570033411789209713074292228145962019286962544117035974563318921268241513986555088394502711032433789248734183877010959345104750102614262227563661010217640141350231316347211768763385670337883433049195056061300162041862964241528184097908283230852906666992480893473206747006312106694438401261591124362380788902882710265313013071263115504159140550179707220633782158597940373880726872858838789886163551228708805088540541574505134133745949431125107024728689987177439066224173647204385151471810845156172459609697201263898819372465925856032821983943945509201296896112993390414319772317613998628115011584901662481020736975231857679558573639533120123760882987807897148264001476729480741158503008405824181375825684426593602078107066384305742314153383784825815001170364503279303283157714730965700730790958163526085614077255893030881612578737162635171062435305862363661501175783671862584712802832632731639923317926092501167046294294878922434436385815597766578254085927198853219424480746368612964091254086956730350365974846418411767133289280026522101904776721397535481072023153960396155426365282526318432948840966649466716318812335304612541684202901596339076117983534399558629308180937552570931412127563964839611720473046765641026358839977096301838517860717992220124429055320994261412222457829626748188314831526678529121257451724121669436757611557692716596947663821034873517375372433749628434475153359120061495211777091719559441963916844642691242108239222713715540944215042751815205832903182816602051553000809853471087600226541940973229542173962641860015572714026730877762563780111880467244618055586935195897209646109126685288690235443479134420307287200865787784854857681194140932834097813623138157320433948668365280904196167520730495552269155400544459597418276177569668057444229387270850059959177577695113400939572251098823419194625556857107173746511343007800181920881221537624681494893301655822089723344553388000429323171176866004751029713971505534118999127107434111180853160547174861752751626348577776330731649967976997705926985766161797485058129299093471507452375539795559192778297669346728516427619455250496404870474371468200079265657822190324253008657280022070822577899305872108909461787244531453423119105988731060885667270673906364763727364896807710566881055215730830049911805272377486610061004335421869816885849669495243455855042551121024488255660795663819648501724149284790298092093372482653444084141453024908635847938874074697818854837695253972630804930011048531224322683145833842458520248412423153952435022528345724977763280584053398449746120516553508775326815255194777552247568789127161127121523667078092192754147983382483439483110519687390499526362703620317546913529048991244723833568395254652779389245457001074904459611968988017810125634688718594557512726477640828469923085023078927441553690015369298834217415908971293929662509893318732156287214572953717271547294454739080159480184708525419270198385219963884877884002278754278750609561959567609573219604469598655354749579234218685586373052244170384013165767049118076193618533398406013188209001235766656057471022713158458115640722513614902460046359982042188094125956149263515692514917141235851596188317125234698698143445430710086862519687007887491677593147363567434012996511611208264524292392041796094719104232814767772523351970722422038548274955882602506325735217927052884736197570933812826973727984393449854685360152304385913054039591824514239463064574006576447070168308785658334189143136583726277476279484040055265195370002967927103157598498988314064461158492527567235388273093138250126070907284091661168961258085026365164006756510037480113146444863049857410441189627990753392734989779344967229909893545831260919205642629882485159098157638129076046041748514665632636070142935578386099836275589388930926240584371164648614330272952273803821934246410548896732021483600216257876390203223583811752097414977367601275058587892151481717977645237081174997478084219478623660424162752880192868685884668880148643205675563808348487798702434249814028000489387319267434376798624197140709588473161705863149798376475260131435650698866424963700821352635427311875603754398568456694493029785421376982682568805861337391799580504924932794556653379358767208890415958085613545957157879585738485216752347809889677342570960091355021080407464763338564493970911651840304968787953757264726616132058769535451536129440982464344457257409571874631344070375729511782691987208945139373059377362044678441485767885356392625676743825088107696059578436822101089587320629680572375297507439230177389257372694401026822808373497528093968027287143301629103846534858625188325762033439196480397732997628503014649621121690269155702957775533169864904892182237683246347572084245365191125792238162832968930393778486311914591336488816372341376522067036860976397292954319050636670890190881862580303324718499511813664256650581668171314625522576463828792300817636790551747752178963893094026368249871063740051957677459820923123398315939696748427420043893707187931413132194983048121141633208572619318118682144503976902886475074725995927488015931697855547875567877957092844564972845868112467386799220810631963984802801245465491999492342994359330345557818309230549781190666893419855523650310406258181966733177334063917199888119119548767752141086258162376401893740900149055101692383716437730051535448970252369139807831334212981351808475128436325511506521306376541098272413318178788027577886741756988051386311777882287391881862854060744982292039961563494441320610172547471281354491811089427667941553096792539866778533112339401492150191478610168187813943366146939613944255787812295363788871264558245650366272976585990903261089635305905742282528531617124236257160918684087656849837574980709007634462794039027502516932254792552278738094881287976286091303833032328709898177754381747211550369182625253816956570895415702356703647970398979022104775855650022923491671389932150050238130342993219290079594357803961156906483525731193515143667409605342655206986539810441729034123792850051347539305704207486216981192413978602284363056867626486373038246244839413072201313630754273638937315123889266770682128882430762690059836369951715002691645372943891194536056518939393483536344089949823186946555884678988010580615983982479704610187475910957396703374352600973214429895438876454557725931764099504166221965567851477778524080688479039673549688608223453815640594482798578256595213089270083559888919481365699489637100462903261695502194644348626336709527606095941785695581152441637033674790821685888023791364256305622601762475611441750013106178994593770221066022071023423181155633034817805122802161398524935744545943741207082734764334825940768852393487409193252192043890560912706601726987758753067561041148319622385097614386639073680669427818858042442429654858229935977397707681836665668775740641201467318749912966028972169793293390466868251643453919856849649464322290493048735341721271287419107657917313905525324948586326718627816214107076707368817487170052506253995767034921526007809581573945253151822834749452099415021388971615151747053427766692853648240012116610723886125081342994287489545235725721142914067970761305543646806858970499351876132153368421770237795532592261530517822610356843765148217108907994757920134143467540976888459223968533993602900377353953544172817792180535262936919969492569469436153458748985127294759494223048694113803447594333559542494170015852179431982487558567762644873232582846206118354511361889465074082198622487687130683064905826980365281361526563926662405093323369953815510290733148417577099131665373904594606446101445456737906257234215611047930895015327467213852058204569126364764390657202470807122594170585907633466485519524155064808028487628723708474385722676764531471034749556194317090053532721523949569733293990221599435614437855978142064057941350647248869502882171365376482071435295878341415878631076359405882902371556731407341889179961545506866186248441345259419590661969374361882364592061478559916225955206538184816386679967482441838049310905079233609878397934734816175948993752695074814067593455911713281951234584719671148856291994006466814477367850543107690771346327489500529747440674930090756702297261679187551872345086063837394259531898709135941627900148238103139796982138624016618320937655921765263711024009874698746369080375567901724255684972797468157046157244471404374772222761078870327589465169246896223399414535889927524097257658342338819602157586456758679350724006766498955644886341578770464217114532766965311558328771842477936179644154648725549016964555717358267421129406002607793307439153514126492562540286438784812980066800677318313791389822961787325992391015069754823380173916313596635123798266301750265370600068685480969393442609603956119372421591853151722808583669735059915582753550715486399760012328047281867317279176872125198538864086215345171359356062618339888269196615849878341009901174366182431568400817312255199337667870427164058252046691141588462611695798445898455666744650148543174273924084039433899774435857949430043993897554400048319814689695862859159318872535204748251144962702162463499737891432877223121909129098344855891760814617089321319951062904551654895337306129805913025944180906927502044419375620970439904558408425976746524919577422744604678047700295341856552182095320586852500585625664834503585589269368741216930474755189870268950484900669276439820744731551861384605719817230677305424393562608012347282106616739326341508184942013244631726891106292405240644550509393873680228562272071533052382956340446417148097972501997474543615397475518262648869520545135690881661356943350133932565706608146399718351491507472986333577842853498178674984672051322972654996461950987550865292528553620054954224913858166192474882035352357899732655030712160385609277387607740567177899255072891211576698669315915614623365514450273883629476310746756716923977433973982778866537623583659452653953536594305635259113791810456916740095328527216763001938091607108120211956569098947525776967516508899548558888706022782856287399631190569717979133974265816248963278960898161685096058601377782895534213136701479149191550214315794162212015792405661422845597673653182274714618069931744594221634105470177540427769803623211699582705445596866405927037514309107234351370362467425928846073566742931409335261734131864994298347945260635001131311920283905394751792800521660850627916150640677023274911592637202999772417492767266475033477116987488225402321678196203896707838129488510806857661805566699304194033908269506749978952496681544507895148734468513239756888440769289103653460242590706209377481163424447150937201817016411428938761225411412620391654920682653706041198253530963973664372010391746854260916537511407841070178312591009192581586245994250160312207757539666759964652436749624695710006526932049227367011260245836155602924015442624367872349380151723114491536701108462789811468407784363983688570272618639641206165586158836058493189251526501711694316986861847410525231500364251300122350716668571836339732659545049424088047941506679023857361785213178069306989586118887798676812702536322297205577220215669860213928976137767561270063683142657573175784228191236008498180382859203465059664323543054771844757547132314130392776344494173588299702326738416717900532663451394215114634754233027407799698068426715198497878488914782118398612098302405748157704352559685379793070036590846251648673361720445850857158040299680815524702003811717351151130675016102049780631424453367454840976211353451658442534353695502030234100441279085017434696680873502985153330640183412929532516173899867364725712657697298871021769976008801576464527000641600740268937101666222895652566156284601337220279359261104594072445817458590580761247693556209444191579981147963874551394904047417056078912565880591658060975546392462311882416441222311791167990180680463988443570241217782392857011867069680884244666593050092653665365976989558026022470608210613618754008458873824007001387382830148126034290344824191155415782018993342382704401188799702402584222440549094763577598172796167234130544210531502303550183844221220741663302428474645529415233450782908000520186885350457480593709781632911073809060760282828755283843146949436685051247670110734191688391328421684820072278551527252247123400889675092676047061214900279455779580400780351440717718674778598620334958799748366441005751435862051719573393022638455265338173691749329829929778792927209252299363226699669304396453808682352906829063954982628241054392382727084233234617853880930580558610693644662670411726208797563897182971330720340719082906323101468841115426963546938445791225705353254787304946539733594898724141144239697760300827426052047546961517686499215286946912115695254075355830259027832071884029702562735494425377483118322954331921903363250082500469425799174190443792378664442609668389809292715747442728261104057159403046029354348854081362210351403609213873516864619914940327376491482361257397018311601245104220160902827818656188475939462094686499829045336916823240369832468356579523561345523753188223264345478429094340851372771053067637475679342539408456903231828872799930817581833439870712917418826843067896199373130271288943225181644948436774089399904458030735906319863043957331156045424963770688947466084889307668288017861339842181172042726613883141351191946502032310801472904719851519010317205396742332805966529682346479711843615690813680991171119080478015996824605201884259938178327059778427705690165800093885783487243551848412563724052833048053938777061840016039880805180216862163933686912114440387470223690208188772552878220572738123602652179156338205514875086851896614251718730064421549242865868784336065175565809141232179316340986671299518880775846771213786359638973258526041876685988802771745035634109202610454676852913515809745013087114908255827341976713360684166599637471067502080846934028457279122877839953147357045264558228067858304748256702443186153813474105077004037127372084978590676194364870077372863919078432479541812484249945770665687097130554886703984565666761565719480729549387483082392079921320407529213030266573141965767725171518976692790264186777951789494714376261883476100674348793960698920132272895809728836718405181042042166200242323811773354781287658607460464937393102526985242181693805608728998782133113765675901089571688450387452224568913998059430283933149609176082594047129887966560502768716497149939249173319700327489816703037382235849113198295170552753317110482747894359723542152274078773075735521039335880820633518660952281569641483254588807056891467907403975535451264658845706717063340274159861090399237228705263492947884388137919060366304371107346923507223216802854555113422811002653740490373493497476771943744957618238912361105871123340508833843621052596734031115489003920587244237833937934001983626072771827255486635354412852569562139896110474978693951153800424314203240510799368562945909622503906047192266092977311177838217010086337895332739687855857456075811075019674752242664282266828418318547042165783866535637890643286413335353335891881495771340078383117541524707562854351863442581023044407055245102707695125739871176490477169459413368299650205335817378213809868568815478421197430887464542335850372139431553422467447189454265394776179863898613321197633024209811549877358838667487573122994707117760947479764573419702443288188230644661540996586391202121171949219271757199811165779448087702526937363803350087855103239322939923570314417130497148511409247660117551378514426292418595051729608160066848442069823980475068241862290180313840390185352018021242668325351636288393003367116866703550904449343499285632302295111529585478209620551612898101538493408749396488890365023615511802565090365307161314530438588827783932549385468670733396066873503607770084863801600878588766089518908296800339357496112164424762389270780348083382284704542764851908338308928828032225360110179983412930992687514765129195062580345868127350047320493330839930799613175442210878296447190459666744706660794229287089897706005184949640741138729638451585263614735646109431933940841084316841011554272748882673127269937977692547298751398536431024232723610377728277275795611631801969950682885606384130083660300664057543324421294428913146131349667509852259630236780862461739200294159665064666033931082227172941391807869652407232823289128876555186360849123516332791205462668515247400540029657026595166940795871298237057846887774365982183444365710858929739692758260032096111593014809445329433529000974420037599651234658917977788704159890422187728995645804510723716513974598515907928504440484859402651592981913439220633876664968668050187603193347613674753200734397443990506557282807148272672150255343956943283705706686688761914851900814138638095008214987208406637423849630749859560708340013151191988820908808739392817709365488480929905436754475767818927505249571307063016337629900762621744912109022326335905217097032402015200373383934005157635760710628671803217500061884422303491324208638461037779017987374996549290279594632044736801077292301589553318215977990209221962091983267162590498945810664261752136617905642138654318569065615124992835805577913141032563717097365002200065136887109671687271514222302834588219529238791986691965562147668607589093264400273210236389385097410895313325808448971072271685397152566764052845116833488200984237169953314971951274805069254811892178442584282908188407970998439719344803334854717530410685571350443330645839909275077761188884173249989176238565754483737534733464668209831308798007872581282236336744512987953524810476340020839228359432702008216246145988729596932070217319358378633624033773851779976333165011773042492213517762295600225475247571744078691395339520543875077598049016197394114616888863104617540358675004261267116252613111951875208377093174974839522748257694846613683506704919187448089924168782238067598392676486623311352608837637927059987842340264062149206271804744180733250176548868 | o5 : MutableMatrix |