i1 : m = mutableMatrix map(ZZ^5,ZZ^6, (i,j) -> 100*i+j) o1 = | . . . . . . | | 1 157536965537041165175488513 79221136326288413549090453617582214988603149380032775393045753873679347103737428810698791647263113706575282689198477135930652137291317188670030006057926509831856472550143054466006425134587034426949120010210832597783143689081004098970652114673282224426184172485773967049733965817226715156969648131835381010189470025770375559444559659305270898952170617343578663720139463438305206193729450577009951868047317341521679722886752217921827822705466305632297648679105292595306982225729633137305184703173136534319068330149229142960259210328722455601450057473003629441834416962669954405564521304502500726298911194393554191501157954017925309977598836623748100506311537547090223313424323313673085311409323919977212070953990949404412305207140907616619412378270976434206887105501661848469182736298770557698748104969475842500166345456724876246803841548685455561851856586967869889986216391448174596518073583228454703935275996041071738034755239225816281721293011288588359444337681021846829274952700086230836341401062887321604178406708278357480439226036171803414304571700770050264769130291420603534822495795966981715612394351588510056912232508637273573895372779156159436797233748213294951636931736322625278881149941049169682180025310119656903852664689348405476728233436921288688205034751242856813863451202798101231235894933014025474654357904163264189792879110990531247061528782494741231885291482973616690359904394443018958369073484128300703937149692838128916254439952768266768999800895221352172804608885628145520829329108509888656265795056847497582709463200002373315731960683089450281141672128908771066872542843950397795050900482861371828770525181267955544208230938560999841196913163882946371552828126583680248944964520944418180558701521838650855170095150234372062727397690674991347946365752214498420657007149585319909260780872426315558079608099072865828174703417406185318728278145026184310672633645641700732291542811057990742838365066341014265183949971790930431087121056345347741501667746148234688653065189269356885872908647581204650438736957716528711548574555583977239301969823515430537595181395319473570033411789209713074292228145962019286962544117035974563318921268241513986555088394502711032433789248734183877010959345104750102614262227563661010217640141350231316347211768763385670337883433049195056061300162041862964241528184097908283230852906666992480893473206747006312106694438401261591124362380788902882710265313013071263115504159140550179707220633782158597940373880726872858838789886163551228708805088540541574505134133745949431125107024728689987177439066224173647204385151471810845156172459609697201263898819372465925856032821983943945509201296896112993390414319772317613998628115011584901662481020736975231857679558573639533120123760882987807897148264001476729480741158503008405824181375825684426593602078107066384305742314153383784825815001170364503279303283157714730965700730790958163526085614077255893030881612578737162635171062435305862363661501175783671862584712802832632731639923317926092501167046294294878922434436385815597766578254085927198853219424480746368612964091254086956730350365974846418411767133289280026522101904776721397535481072023153960396155426365282526318432948840966649466716318812335304612541684202901596339076117983534399558629308180937552570931412127563964839611720473046765641026358839977096301838517860717992220124429055320994261412222457829626748188314831526678529121257451724121669436757611557692716596947663821034873517375372433749628434475153359120061495211777091719559441963916844642691242108239222713715540944215042751815205832903182816602051553000809853471087600226541940973229542173962641860015572714026730877762563780111880467244618055586935195897209646109126685288690235443479134420307287200865787784854857681194140932834097813623138157320433948668365280904196167520730495552269155400544459597418276177569668057444229387270850059959177577695113400939572251098823419194625556857107173746511343007800181920881221537624681494893301655822089723344553388000429323171176866004751029713971505534118999127107434111180853160547174861752751626348577776330731649967976997705926985766161797485058129327581956292771787829660210103007587578438303364646280346294247633981629844834860981910926589933525586410278385574288166108654586815838726812632990143066979317344762104354343375257570333883689617990419862704229988727473561686512974943917017701629021694931065627383970151448161079270422835544949285326099262830853904796892448341901343021226214704238492700377380756779821477303617108015181033663888382907694701687086758887917099855028808021759693299993928761037883200478548527383654940830627162960534839519753768771304564445702228660676511638525909100219792667017787855759149034626623398581454820469088953474304671180584117170375107299218857538863644099680063025446314779087962590928803576169825639877210091913953351078907222584306551857008399547716236951520432306368855405563331758063509346439969963192969308936226062923426688246041671272845075445462096707328610949341325449158353742604022908568946203933963643988238016251082863396042138900397422551647696827175988389556639458939949446524753736368453580244135105014317368938795421424241169688445192369547807720902472510058532210500190676908416490365999594117212594539752865691344940629371386945400149172429767490208830567907361799732482813964175917940399926984637762837734833459842745195607883737248217715147010664746624865860107174027680587247982043006696208521522681495053640549260909058244066831466386395550275703967451187984628361840304549620598007584604056652075292109056084955460757631045962710468974190271314358635494727254653928324003353839691189913153372830283101267409306943828090830937214893815925580078330686328742776609556460072981273554977224301651716046982335341896599200489741066102393484018972841466743047289295775671416546171942449273730018102329884754306147198475343597045689433842671468209541017943478180739831881650778966557553896529865161244407229829547727716931459459359559840553017703654746156616071691286614296466768069668800344909496623755249308151433068017415932042402097203261108808555885215825105468494713684598721648229183118676788358693974111182614492214872927357569277835129060640219341798931965723310239741977694394948416720292490078649040773942984422921245511852420706674819914354346020104887798142515274317061947997836595134419034230582330000240717127925526964112060319439249076892237808670839725453914016230218699443944340117528267723797972780319883977386476469029456738893211705543189528568137121573530047359055999267493785987462058075025437911796049705063581773663851013087176643772751648150048981936401280117985710232762186707399038083284214490009351252797025675234031663328726764953673595105495179812315052867907929540377789168697586451635338020604541532555456767223921372800748040195290633117401248117419768580554561920679552566002835202485597492704090494964420701053820178654505444932328959627731270218760735536157010176515686945610256645425466090751077063124240264202269417785796090050755625809976411130855080982514771006405019239084453063860469309363801560732448786594182631965426855620770324661738005715385915570566785767487246135064276153153759997114083896415651122260662526196811934588460728906851527212560414251230489996405218070314736073129676329566820684536684171651336809291777117985968335713633891342587678051190608132314213884936083558677694435789223952611566992819476705878074764002787217694166299949376281231412882322206987374652542436733768892535513131102546959338123452241057528223073307768102485716978811877380836416402793916906204056848362602583858587799671063183493736976342561580071402353708559999242811554741824392329109504518229810589936161848694495394989078505170054301833167574488999685417558644273661508773537637981961957984792817571894810151022150547618198149075642735541126296201993828633364656909410149851951595803219323557352758303156050734384212094939255739820941934884266839134997303995322823215069858545696315120342019702518376737457847075422833609547002365123843075643015383498457754484535198820719152172552391062084109456195267364880915037694355867535475716959456974814296043410930981650961631016607387504592652367302782535421937637661372747413198635813871372955291153837003764892214570085570425957184949391279047951885927105994402548962365475639942412116192038687450221895241768677287554938141140104080214294382146803429298709644350336820810077286914588926227332794609803525379770309789366482715491677332422658938068884123176801629354440421212341249014134107326180610680159589007947653882219813134645968624107250575125766006962591815762470229495361601560447159368208493962780049186984228166796792953581542749324663701473984707525536374661479614593173052043467258730505397958757517048679043709555117136847520835937727846034818459509505968569561640501633538002951685677658453700780995472650097844105771121176542567666472915935659895363457036650495500315381213781656630651058193300564850194107824559354050907613263433447134245936110081294087980183901841868569834102951605113985102702574503134563661489803117882501774544796411708510598634828765358263065954367069982829061211021319154234231505020565550265511430978433260352023923242725444468300700379120792896552063867819454509409847360220160225898163469405630937816664742083227109521241191459649627059244503802064886747666586992067262537932482591511828983160758903941627135177441671297217952186909720765757172069021248609888042204884148250442720829914829566064531716170835027008348907733533199583767922956828037492979711527925747153139364500573829531580750159815842766777948133435121844659456337848260159990186320354013431173770018894243132189838566288123058659669603088143868118546664490074354240051579825260190932977319065953785372139716567573294527268103825314263684763355326490530706394742429719766894118537850347739213350481304400991206260374884728430342569941156073036720381921215037764474384167946687650854838413496688263808658128622126405042347278636920072686075794168093150348990814812843596864619140305297198950566391285496038929258759391060652097864480694083354601317794438332337379458327425272558604296034920828942395797704350760545713242712650295620720480266695027666991950244529279313359307184545911652854607987807652986645496026716947536417215612871365512578375754072529384924508720861219936489809211203818311944253049677116385442579755323008904791994012496568602105634936557602112891222255815968208726460763908935319398537462319222352255330284191400510937420961175564065290566834839984065131575926030604764559525484870734749719528714771458256355741055774645543217420803544635560577601086392076222338719457169263398772048976940974467070861441289928116114822379840108596537462836610078114384265222441942194716220604610140785522209755139397733927411986230276978703634852253352842022242600934585431160196716177947048411252481870275891670108929136226858123842466618635286446211546416170022232310277708477106741642518964712784286913799970144671504373724583892442112497876502732662490966289876004595235484314466115186871841219982663670004329696331736833210973276693373847197155177400173404324040554503800043998543964753167354301398443594022081940824816410044369039158042339692563911582839710484722124067650472244306310825431696389062650108246970517592940351132396721382185326792077105099924715887893343594565171565538863544092477718216102419627260239221503871283929077578430077879552461168013575739019074659261015668694109748101523463971688743384750132252193744487530010432140663448060994862324221352177117091692094628128298303362593459421987497960525231874745909583672472115107069268107174241116087881881019570656894743427112230837464729747697287904400461590825567248163889426860244245125160649191818265856685696552603720649580279665210466735030772562224321647428767632205792907103522857500975846124533794485829388172460541838137807012917830058830599361560898689070941180492898899260714003360024425748810372423730833791663083240112960927403701290646454922124827245129489426572579849373823425089687526885449333112091199298595114972391533749953602866527716710260124896795530978681337873050346765409250024915767233853701372846694845302647660951562615461568624145939053205986352780877785504030782975749829320672131639847922952281937687807201663461521327704240311694177696896118243268002366769685019056410577468389387982304047935418402259740514853027590036741912357709317665544120419882073293232311077044681467068692078887192123162368975908397824952247513326863502917499638855245220253501440282089710886902088110314515119921897082899269502687200926510126785605589389971953891466571940655793341267576712702044221565301601582038054280635622775053891017862578168874712354569122595424188041364748533014273541620996902412317659304369126274940673760282393297296303605167965899360908473162497377625185238410611118623494106245618536249893057276554911179490509343490281569326320305727171387833588485502972865577590967716357968488698688366623916015925132522948757655665068523523398272426656763846601941044889777084329092351207003832111593986978874097826082333661521108604410795481934991712378889677120921380733180630953797228124436925901747310315082957987070479333014629016302597871979321110212016441175718117901992216429519562311775794723637051256769505374760360763420681191684281565703673512787503060410833524367577637189186127532357886671122588818257749537642741987311408806312149471966994444684490304692708403471108110071013861762043913009486567909615925856915111145157587139482174798470731364948860152215731708795013958641768504540907285026130803275489526748381597866585764901884965780165679560003859916511155593093937941342191408690570473464773303722588426369819739204909387442499777940226401837163549251666274278346270313040476274971039622891624000180029613725006476509403364326406391246489782009042296085561666625021390407234492476625340898666542026879772764965458833327273469640863858589506881152715997066880840404844786136002429799197513670678167918505711408986264171415473963739819897153319682352157242436699086438293839144783613290126856940433221400089631527568339999647274484053449187231193586513478553961120261523697898522345257679117226529948644856349013870383469132183523948228011112847641996718199985854240080628919802362640399110051898162724824317818261364212713700489111597445034735841096791394327255793144058953195735979255500681924093541926831189788447649230578028685481620774124541447986887063371215612828737445504126792126668657148857503236683061009031834227894258415429287921589180511143738996435527799620992980171024451696472280596148440944281496867205466579292102064584627624844059750272925405354554066059151128068182475799175855368825868213358066934288301931674983194054960742317651833552973708808881910338838345542145264765898053131702059650549357606838287325340289387338408913385535893886714355696265487136313792844870657000048778550907660131170169196949772576143001970534269000129551652259270309414085916988259345450654231755769332790515097058768942990226930104365502416860783560820200449893859249931234806018277040296124168962543112148860257600688481559980411497683432824145220164517165997579803724329970568624171534145108295351525433823042298431240998007285783230419554891207375060543510607394601686931260481820447969808335093135230669556458848965869216999961109987701112341252207144256371116432373965527211436350745655394591331150598252972160705044878744871484910228534957910691064403852977804710244538481813699138213659653339275611648406229737886328767423865117681369432536215587083995492330210172798442889637226014994625989561574588601421333274595463797104992474629991099861932756621419495495405765208499233572353593074733868425972830020452653663067369023435701144923013403871827289068250977517639522789409484077694583144041361237711090957468634825318848551379966508312723990041493498719791130622004598057867576567891051883296321947920861036378636514729735231907303987404597374703868956022462415212420325789494042626505281612735220986653006048888511362581717435371039913631944528291501460608923648672914601585921967188124757125344317703937649230821850636384448223099780953302579796292677875257778468851126567553581469246021319544960826644051968402591744261588513164445657965940717705558704258543335633128183315746790982000579813647720549072223968993467989917673879678844548251906676970220926428362511759391433703233215176039199632190524844308724816272160410355481266901628572919459868565657438503339416812514250438463084983815421620914256549502324908884424934281168435532138447015535715258297609688709054569383439820034828472582159644295823055633074416746134770655298623034719278834188231734114668743179725352295989446697073069344857563690739037049278316557475927738737681615158535249690255061642416434817023661768107174850685406019298384505190453044613097813590727922659746647738899719913130078946719179339660677075127986395537833954042452806489362197558359643104252387826497603162973481018827096019804523724847046688868192045410082616697235007542285962639924253707390612116240434441128291157335037012457182213272323708616452296731042970711067461280235134236002858695531753968175124106320804135459390446109669966478159704060563506181403707688416868169080661314791585974728406832300399643607846142866759087084590577784096852079432351131369102485504601677190773665981596065166223880159006138833851025029096120377258906541252850745008188127036411317045308617234517024191126160909495821392377088832022548449894577662876483116921024078485949495409554495373495342331917477879119788799596739500183434179302468595903421937323444849480084360269472353307468717718324397712922859675816461109527533295943034070618257615723009907252469916924132617353375481761656902869750293808179968810011071675793631491498202932853353566516816423433918862843554287031198832855618499602506805287176016649369215789890209536064208600299226402676290909335792544450683179984564175134283121125758322544949509592831146666893048765624758182653764547093317030848875054728160083041033955938506957214728755847197703863949529294238725901458427019571541623715494653907889611441813969368000790463246411446431612340939543700411453292046585461493875828909795573096183585506418067409568180875736564414832338668331010627615504854843089346893755163833451735521144821679317100077865644161621459010971475120902250653433175408238659413990812927762654519947486032244327033609530661696819666182904798969057257159838286801225648457403349080630224156335329835097790128341827772842174452235131580908267793413885002412433428838679896127481621195870437484369662997180833944686342545797784003038703979723571373495536057069761720595719041278445778799489897746446520345342478328878903751407576597082237518665984288008565417253531990495082105349693279251597485400990563279583001346515382963172126274274114228977154850317654739075510341877812142049033709248540431649349360454171857279928430256433966733013145456436453374034071420668530658148198819133094346791079393090741343442016940729023666239019286151408400528278839425013509128101259022884440623796360287654020200398177094670039707457235174332024124664337320742741655828930693357264662990969423972123852010156171341704035136486958408893037771544412995248384536236789986239406135570529193547736751446652499020231458367257939760308331544450404960904624836354605802843544426212322102471702025143190694498888762614176508081383535052117726124871948968682776384901642196308919729933511513745488301542286919679720534843903454266552533755270812908449558914765990354332642432924466305706697502528535953499313358853960861654521896826198605022852758763642332092119002664068009912423678833331096877705597367614868450431587131210782133750039973358248976763116711215345617569037540747557335948726717873946853790465773286983503448015325903130697706427689220182977510925119060478031366272210173341177509911802513214873693482766601743162906664500711129089 79221136326288413549090453617582214988603149380032775393045753873679347103737428810698791647263113706575282689198477135930652137291317188670030006057926509831856472550143054466006425134587034426949120010210832597783143689081004098970652114673282224426184172485773967049733965817226715156969648131835381010189470025770375559444559659305270898952170617343578663720139463438305206193729450577009951868047317341521679722886752217921827822705466305632297648679105292595306982225729633137305184703173136534319068330149229142960259210328722455601450057473003629441834416962669954405564521304502500726298911194393554191501157954017925309977598836623748100506311537547090223313424323313673085311409323919977212070953990949404412305207140907616619412378270976434206887105501661848469182736298770557698748104969475842500166345456724876246803841548685455561851856586967869889986216391448174596518073583228454703935275996041071738034755239225816281721293011288588359444337681021846829274952700086230836341401062887321604178406708278357480439226036171803414304571700770050264769130291420603534822495795966981715612394351588510056912232508637273573895372779156159436797233748213294951636931736322625278881149941049169682180025310119656903852664689348405476728233436921288688205034751242856813863451202798101231235894933014025474654357904163264189792879110990531247061528782494741231885291482973616690359904394443018958369073484128300703937149692838128916254439952768266768999800895221352172804608885628145520829329108509888656265795056847497582709463200002373315731960683089450281141672128908771066872542843950397795050900482861371828770525181267955544208230938560999841196913163882946371552828126583680248944964520944418180558701521838650855170095150234372062727397690674991347946365752214498420657007149585319909260780872426315558079608099072865828174703417406185318728278145026184310672633645641700732291542811057990742838365066341014265183949971790930431087121056345347741501667746148234688653065189269356885872908647581204650438736957716528711548574555583977239301969823515430537595181395319473570033411789209713074292228145962019286962544117035974563318921268241513986555088394502711032433789248734183877010959345104750102614262227563661010217640141350231316347211768763385670337883433049195056061300162041862964241528184097908283230852906666992480893473206747006312106694438401261591124362380788902882710265313013071263115504159140550179707220633782158597940373880726872858838789886163551228708805088540541574505134133745949431125107024728689987177439066224173647204385151471810845156172459609697201263898819372465925856032821983943945509201296896112993390414319772317613998628115011584901662481020736975231857679558573639533120123760882987807897148264001476729480741158503008405824181375825684426593602078107066384305742314153383784825815001170364503279303283157714730965700730790958163526085614077255893030881612578737162635171062435305862363661501175783671862584712802832632731639923317926092501167046294294878922434436385815597766578254085927198853219424480746368612964091254086956730350365974846418411767133289280026522101904776721397535481072023153960396155426365282526318432948840966649466716318812335304612541684202901596339076117983534399558629308180937552570931412127563964839611720473046765641026358839977096301838517860717992220124429055320994261412222457829626748188314831526678529121257451724121669436757611557692716596947663821034873517375372433749628434475153359120061495211777091719559441963916844642691242108239222713715540944215042751815205832903182816602051553000809853471087600226541940973229542173962641860015572714026730877762563780111880467244618055586935195897209646109126685288690235443479134420307287200865787784854857681194140932834097813623138157320433948668365280904196167520730495552269155400544459597418276177569668057444229387270850059959177577695113400939572251098823419194625556857107173746511343007800181920881221537624681494893301655822089723344553388000429323171176866004751029713971505534118999127107434111180853160547174861752751626348577776330731649967976997705926985766161797485058129327581956292771787829660210103007587578438303364646280346294247633981629844834860981910926589933525586410278385574288166108654586815838726812632990143066979317344762104354343375257570333883689617990419862704229988727473561686512974943917017701629021694931065627383970151448161079270422835544949285326099262830853904796892448341901343021226214704238492700377380756779821477303617108015181033663888382907694701687086758887917099855028808021759693299993928761037883200478548527383654940830627162960534839519753768771304564445702228660676511638525909100219792667017787855759149034626623398581454820469088953474304671180584117170375107299218857538863644099680063025446314779087962590928803576169825639877210091913953351078907222584306551857008399547716236951520432306368855405563331758063509346439969963192969308936226062923426688246041671272845075445462096707328610949341325449158353742604022908568946203933963643988238016251082863396042138900397422551647696827175988389556639458939949446524753736368453580244135105014317368938795421424241169688445192369547807720902472510058532210500190676908416490365999594117212594539752865691344940629371386945400149172429767490208830567907361799732482813964175917940399926984637762837734833459842745195607883737248217715147010664746624865860107174027680587247982043006696208521522681495053640549260909058244066831466386395550275703967451187984628361840304549620598007584604056652075292109056084955460757631045962710468974190271314358635494727254653928324003353839691189913153372830283101267409306943828090830937214893815925580078330686328742776609556460072981273554977224301651716046982335341896599200489741066102393484018972841466743047289295775671416546171942449273730018102329884754306147198475343597045689433842671468209541017943478180739831881650778966557553896529865161244407229829547727716931459459359559840553017703654746156616071691286614296466768069668800344909496623755249308151433068017415932042402097203261108808555885215825105468494713684598721648229183118676788358693974111182614492214872927357569277835129060640219341798931965723310239741977694394948416720292490078649040773942984422921245511852420706674819914354346020104887798142515274317061947997836595134419034230582330000240717127925526964112060319439249076892237808670839725453914016230218699443944340117528267723797972780319883977386476469029456738893211705543189528568137121573530047359055999267493785987462058075025437911796049705063581773663851013087176643772751648150048981936401280117985710232762186707399038083284214490009351252797025675234031663328726764953673595105495179812315052867907929540377789168697586451635338020604541532555456767223921372800748040195290633117401248117419768580554561920679552566002835202485597492704090494964420701053820178654505444932328959627731270218760735536157010176515686945610256645425466090751077063124240264202269417785796090050755625809976411130855080982514771006405019239084453063860469309363801560732448786594182631965426855620770324661738005715385915570566785767487246135064276153153759997114083896415651122260662526196811934588460728906851527212560414251230489996405218070314736073129676329566820684536684171651336809291777117985968335713633891342587678051190608132314213884936083558677694435789223952611566992819476705878074764002787217694166299949376281231412882322206987374652542436733768892535513131102546959338123452241057528223073307768102485716978811877380836416402793916906204056848362602583858587799671063183493736976342561580071402353708559999242811554741824392329109504518229810589936161848694495394989078505170054301833167574488999685417558644273661508773537637981961957984792817571894810151022150547618198149075642735541126296201993828633364656909410149851951595803219323557352758303156050734384212094939255739820941934884266839134997303995322823215069858545696315120342019702518376737457847075422833609547002365123843075643015383498457754484535198820719152172552391062084109456195267364880915037694355867535475716959456974814296043410930981650961631016607387504592652367302782535421937637661372747413198635813871372955291153837003764892214570085570425957184949391279047951885927105994402548962365475639942412116192038687450221895241768677287554938141140104080214294382146803429298709644350336820810077286914588926227332794609803525379770309789366482715491677332422658938068884123176801629354440421212341249014134107326180610680159589007947653882219813134645968624107250575125766006962591815762470229495361601560447159368208493962780049186984228166796792953581542749324663701473984707525536374661479614593173052043467258730505397958757517048679043709555117136847520835937727846034818459509505968569561640501633538002951685677658453700780995472650097844105771121176542567666472915935659895363457036650495500315381213781656630651058193300564850194107824559354050907613263433447134245936110081294087980183901841868569834102951605113985102702574503134563661489803117882501774544796411708510598634828765358263065954367069982829061211021319154234231505020565550265511430978433260352023923242725444468300700379120792896552063867819454509409847360220160225898163469405630937816664742083227109521241191459649627059244503802064886747666586992067262537932482591511828983160758903941627135177441671297217952186909720765757172069021248609888042204884148250442720829914829566064531716170835027008348907733533199583767922956828037492979711527925747153139364500573829531580750159815842766777948133435121844659456337848260159990186320354013431173770018894243132189838566288123058659669603088143868118546664490074354240051579825260190932977319065953785372139716567573294527268103825314263684763355326490530706394742429719766894118537850347739213350481304400991206260374884728430342569941156073036720381921215037764474384167946687650854838413496688263808658128622126405042347278636920072686075794168093150348990814812843596864619140305297198950566391285496038929258759391060652097864480694083354601317794438332337379458327425272558604296034920828942395797704350760545713242712650295620720480266695027666991950244529279313359307184545911652854607987807652986645496026716947536417215612871365512578375754072529384924508720861219936489809211203818311944253049677116385442579755323008904791994012496568602105634936557602112891222255815968208726460763908935319398537462319222352255330284191400510937420961175564065290566834839984065131575926030604764559525484870734749719528714771458256355741055774645543217420803544635560577601086392076222338719457169263398772048976940974467070861441289928116114822379840108596537462836610078114384265222441942194716220604610140785522209755139397733927411986230276978703634852253352842022242600934585431160196716177947048411252481870275891670108929136226858123842466618635286446211546416170022232310277708477106741642518964712784286913799970144671504373724583892442112497876502732662490966289876004595235484314466115186871841219982663670004329696331736833210973276693373847197155177400173404324040554503800043998543964753167354301398443594022081940824816410044369039158042339692563911582839710484722124067650472244306310825431696389062650108246970517592940351132396721382185326792077105099924715887893343594565171565538863544092477718216102419627260239221503871283929077578430077879552461168013575739019074659261015668694109748101523463971688743384750132252193744487530010432140663448060994862324221352177117091692094628128298303362593459421987497960525231874745909583672472115107069268107174241116087881881019570656894743427112230837464729747697287904400461590825567248163889426860244245125160649191818265856685696552603720649580279665210466735030772562224321647428767632205792907103522857500975846124533794485829388172460541838137807012917830058830599361560898689070941180492898899260714003360024425748810372423730833791663083240112960927403701290646454922124827245129489426572579849373823425089687526885449333112091199298595114972391533749953602866527716710260124896795530978681337873050346765409250024915767233853701372846694845302647660951562615461568624145939053205986352780877785504030782975749829320672131639847922952281937687807201663461521327704240311694177696896118243268002366769685019056410577468389387982304047935418402259740514853027590036741912357709317665544120419882073293232311077044681467068692078887192123162368975908397824952247513326863502917499638855245220253501440282089710886902088110314515119921897082899269502687200926510126785605589389971953891466571940655793341267576712702044221565301601582038054280635622775053891017862578168874712354569122595424188041364748533014273541620996902412317659304369126274940673760282393297296303605167965899360908473162497377625185238410611118623494106245618536249893057276554911179490509343490281569326320305727171387833588485502972865577590967716357968488698688366623916015925132522948757655665068523523398272426656763846601941044889777084329092351207003832111593986978874097826082333661521108604410795481934991712378889677120921380733180630953797228124436925901747310315082957987070479333014629016302597871979321110212016441175718117901992216429519562311775794723637051256769505374760360763420681191684281565703673512787503060410833524367577637189186127532357886671122588818257749537642741987311408806312149471966994444684490304692708403471108110071013861762043913009486567909615925856915111145157587139482174798470731364948860152215731708795013958641768504540907285026130803275489526748381597866585764901884965780165679560003859916511155593093937941342191408690570473464773303722588426369819739204909387442499777940226401837163549251666274278346270313040476274971039622891624000180029613725006476509403364326406391246489782009042296085561666625021390407234492476625340898666542026879772764965458833327273469640863858589506881152715997066880840404844786136002429799197513670678167918505711408986264171415473963739819897153319682352157242436699086438293839144783613290126856940433221400089631527568339999647274484053449187231193586513478553961120261523697898522345257679117226529948644856349013870383469132183523948228011112847641996718199985854240080628919802362640399110051898162724824317818261364212713700489111597445034735841096791394327255793144058953195735979255500681924093541926831189788447649230578028685481620774124541447986887063371215612828737445504126792126668657148857503236683061009031834227894258415429287921589180511143738996435527799620992980171024451696472280596148440944281496867205466579292102064584627624844059750272925405354554066059151128068182475799175855368825868213358066934288301931674983194054960742317651833552973708808881910338838345542145264765898053131702059650549357606838287325340289387338408913385535893886714355696265487136313792844870657000048778550907660131170169196949772576143001970534269000129551652259270309414085916988259345450654231755769332790515097058768942990226930104365502416860783560820200449893859249931234806018277040296124168962543112148860257600688481559980411497683432824145220164517165997579803724329970568624171534145108295351525433823042298431240998007285783230419554891207375060543510607394601686931260481820447969808335093135230669556458848965869216999961109987701112341252207144256371116432373965527211436350745655394591331150598252972160705044878744871484910228534957910691064403852977804710244538481813699138213659653339275611648406229737886328767423865117681369432536215587083995492330210172798442889637226014994625989561574588601421333274595463797104992474629991099861932756621419495495405765208499233572353593074733868425972830020452653663067369023435701144923013403871827289068250977517639522789409484077694583144041361237711090957468634825318848551379966508312723990041493498719791130622004598057867576567891051883296321947920861036378636514729735231907303987404597374703868956022462415212420325789494042626505281612735220986653006048888511362581717435371039913631944528291501460608923648672914601585921967188124757125344317703937649230821850636384448223099780953302579796292677875257778468851126567553581469246021319544960826644051968402591744261588513164445657965940717705558704258543335633128183315746790982000579813647720549072223968993467989917673879678844548251906676970220926428362511759391433703233215176039199632190524844308724816272160410355481266901628572919459868565657438503339416812514250438463084983815421620914256549502324908884424934281168435532138447015535715258297609688709054569383439820034828472582159644295823055633074416746134770655298623034719278834188231734114668743179725352295989446697073069344857563690739037049278316557475927738737681615158535249690255061642416434817023661768107174850685406019298384505190453044613097813590727922659746647738899719913130078946719179339660677075127986395537833954042452806489362197558359643104252387826497603162973481018827096019804523724847046688868192045410082616697235007542285962639924253707390612116240434441128291157335037012457182213272323708616452296731042970711067461280235134236002858695531753968175124106320804135459390446109669966478159704060563506181403707688416868169080661314791585974728406832300399643607846142866759087084590577784096852079432351131369102485504601677190773665981596065166223880159006138833851025029096120377258906541252850745008188127036411317045308617234517024191126160909495821392377088832022548449894577662876483116921024078485949495409554495373495342331917477879119788799596739500183434179302468595903421937323444849480084360269472353307468717718324397712922859675816461109527533295943034070618257615723009907252469916924132617353375481761656902869750293808179968810011071675793631491498202932853353566516816423433918862843554287031198832855618499602506805287176016649369215789890209536064208600299226402676290909335792544450683179984564175134283121125758322544949509592831146666893048765624758182653764547093317030848875054728160083041033955938506957214728755847197703863949529294238725901458427019571541623715494653907889611441813969368000790463246411446431612340939543700411453292046585461493875828909795573096183585506418067409568180875736564414832338668331010627615504854843089346893755163833451735521144821679317100077865644161621459010971475120902250653433175408238659413990812927762654519947486032244327033609530661696819666182904798969057257159838286801225648457403349080630224156335329835097790128341827772842174452235131580908267793413885002412433428838679896127481621195870437484369662997180833944686342545797784003038703979723571373495536057069761720595719041278445778799489897746446520345342478328878903751407576597082237518665984288008565417253531990495082105349693279251597485400990563279583001346515382963172126274274114228977154850317654739075510341877812142049033709248540431649349360454171857279928430256433966733013145456436453374034071420668530658148198819133094346791079393090741343442016940729023666239019286151408400528278839425013509128101259022884440623796360287654020200398177094670039707457235174332024124664337320742741655828930693357264662990969423972123852010156171341704035136486958408893037771544412995248384536236789986239406135570529193547736751446652499020231458367257939760308331544450404960904624836354605802843544426212322102471702025143190694498888762614176508081383535052117726124871948968682776384901642196308919729933511513745488301542286919679720534843903454266552533755270812908449558914765990354332642432924466305706697502528535953499313358853960861654521896826198605022852758763642332092119002664068009912423678833331096877705597367614868450431587131210782133750039973358248976763116711215345617569037540747557335948726717873946853790465773286983503448015325903130697706427689220182977510925119060478031366272210173341177509911802513214873693482766601743162906664500711129089 79221136326288413549090453617582214988603149380032775393045753873679347103737428810698791647263113706575282689198477135930652137291317188670030006057926509831856472550143054466006425134587034426949120010210832597783143689081004098970652114673282224426184172485773967049733965817226715156969648131835381010189470025770375559444559659305270898952170617343578663720139463438305206193729450577009951868047317341521679722886752217921827822705466305632297648679105292595306982225729633137305184703173136534319068330149229142960259210328722455601450057473003629441834416962669954405564521304502500726298911194393554191501157954017925309977598836623748100506311537547090223313424323313673085311409323919977212070953990949404412305207140907616619412378270976434206887105501661848469182736298770557698748104969475842500166345456724876246803841548685455561851856586967869889986216391448174596518073583228454703935275996041071738034755239225816281721293011288588359444337681021846829274952700086230836341401062887321604178406708278357480439226036171803414304571700770050264769130291420603534822495795966981715612394351588510056912232508637273573895372779156159436797233748213294951636931736322625278881149941049169682180025310119656903852664689348405476728233436921288688205034751242856813863451202798101231235894933014025474654357904163264189792879110990531247061528782494741231885291482973616690359904394443018958369073484128300703937149692838128916254439952768266768999800895221352172804608885628145520829329108509888656265795056847497582709463200002373315731960683089450281141672128908771066872542843950397795050900482861371828770525181267955544208230938560999841196913163882946371552828126583680248944964520944418180558701521838650855170095150234372062727397690674991347946365752214498420657007149585319909260780872426315558079608099072865828174703417406185318728278145026184310672633645641700732291542811057990742838365066341014265183949971790930431087121056345347741501667746148234688653065189269356885872908647581204650438736957716528711548574555583977239301969823515430537595181395319473570033411789209713074292228145962019286962544117035974563318921268241513986555088394502711032433789248734183877010959345104750102614262227563661010217640141350231316347211768763385670337883433049195056061300162041862964241528184097908283230852906666992480893473206747006312106694438401261591124362380788902882710265313013071263115504159140550179707220633782158597940373880726872858838789886163551228708805088540541574505134133745949431125107024728689987177439066224173647204385151471810845156172459609697201263898819372465925856032821983943945509201296896112993390414319772317613998628115011584901662481020736975231857679558573639533120123760882987807897148264001476729480741158503008405824181375825684426593602078107066384305742314153383784825815001170364503279303283157714730965700730790958163526085614077255893030881612578737162635171062435305862363661501175783671862584712802832632731639923317926092501167046294294878922434436385815597766578254085927198853219424480746368612964091254086956730350365974846418411767133289280026522101904776721397535481072023153960396155426365282526318432948840966649466716318812335304612541684202901596339076117983534399558629308180937552570931412127563964839611720473046765641026358839977096301838517860717992220124429055320994261412222457829626748188314831526678529121257451724121669436757611557692716596947663821034873517375372433749628434475153359120061495211777091719559441963916844642691242108239222713715540944215042751815205832903182816602051553000809853471087600226541940973229542173962641860015572714026730877762563780111880467244618055586935195897209646109126685288690235443479134420307287200865787784854857681194140932834097813623138157320433948668365280904196167520730495552269155400544459597418276177569668057444229387270850059959177577695113400939572251098823419194625556857107173746511343007800181920881221537624681494893301655822089723344553388000429323171176866004751029713971505534118999127107434111180853160547174861752751626348577776330731649967976997705926985766161797485058129327581956292771787829660210103007587578438303364646280346294247633981629844834860981910926589933525586410278385574288166108654586815838726812632990143066979317344762104354343375257570333883689617990419862704229988727473561686512974943917017701629021694931065627383970151448161079270422835544949285326099262830853904796892448341901343021226214704238492700377380756779821477303617108015181033663888382907694701687086758887917099855028808021759693299993928761037883200478548527383654940830627162960534839519753768771304564445702228660676511638525909100219792667017787855759149034626623398581454820469088953474304671180584117170375107299218857538863644099680063025446314779087962590928803576169825639877210091913953351078907222584306551857008399547716236951520432306368855405563331758063509346439969963192969308936226062923426688246041671272845075445462096707328610949341325449158353742604022908568946203933963643988238016251082863396042138900397422551647696827175988389556639458939949446524753736368453580244135105014317368938795421424241169688445192369547807720902472510058532210500190676908416490365999594117212594539752865691344940629371386945400149172429767490208830567907361799732482813964175917940399926984637762837734833459842745195607883737248217715147010664746624865860107174027680587247982043006696208521522681495053640549260909058244066831466386395550275703967451187984628361840304549620598007584604056652075292109056084955460757631045962710468974190271314358635494727254653928324003353839691189913153372830283101267409306943828090830937214893815925580078330686328742776609556460072981273554977224301651716046982335341896599200489741066102393484018972841466743047289295775671416546171942449273730018102329884754306147198475343597045689433842671468209541017943478180739831881650778966557553896529865161244407229829547727716931459459359559840553017703654746156616071691286614296466768069668800344909496623755249308151433068017415932042402097203261108808555885215825105468494713684598721648229183118676788358693974111182614492214872927357569277835129060640219341798931965723310239741977694394948416720292490078649040773942984422921245511852420706674819914354346020104887798142515274317061947997836595134419034230582330000240717127925526964112060319439249076892237808670839725453914016230218699443944340117528267723797972780319883977386476469029456738893211705543189528568137121573530047359055999267493785987462058075025437911796049705063581773663851013087176643772751648150048981936401280117985710232762186707399038083284214490009351252797025675234031663328726764953673595105495179812315052867907929540377789168697586451635338020604541532555456767223921372800748040195290633117401248117419768580554561920679552566002835202485597492704090494964420701053820178654505444932328959627731270218760735536157010176515686945610256645425466090751077063124240264202269417785796090050755625809976411130855080982514771006405019239084453063860469309363801560732448786594182631965426855620770324661738005715385915570566785767487246135064276153153759997114083896415651122260662526196811934588460728906851527212560414251230489996405218070314736073129676329566820684536684171651336809291777117985968335713633891342587678051190608132314213884936083558677694435789223952611566992819476705878074764002787217694166299949376281231412882322206987374652542436733768892535513131102546959338123452241057528223073307768102485716978811877380836416402793916906204056848362602583858587799671063183493736976342561580071402353708559999242811554741824392329109504518229810589936161848694495394989078505170054301833167574488999685417558644273661508773537637981961957984792817571894810151022150547618198149075642735541126296201993828633364656909410149851951595803219323557352758303156050734384212094939255739820941934884266839134997303995322823215069858545696315120342019702518376737457847075422833609547002365123843075643015383498457754484535198820719152172552391062084109456195267364880915037694355867535475716959456974814296043410930981650961631016607387504592652367302782535421937637661372747413198635813871372955291153837003764892214570085570425957184949391279047951885927105994402548962365475639942412116192038687450221895241768677287554938141140104080214294382146803429298709644350336820810077286914588926227332794609803525379770309789366482715491677332422658938068884123176801629354440421212341249014134107326180610680159589007947653882219813134645968624107250575125766006962591815762470229495361601560447159368208493962780049186984228166796792953581542749324663701473984707525536374661479614593173052043467258730505397958757517048679043709555117136847520835937727846034818459509505968569561640501633538002951685677658453700780995472650097844105771121176542567666472915935659895363457036650495500315381213781656630651058193300564850194107824559354050907613263433447134245936110081294087980183901841868569834102951605113985102702574503134563661489803117882501774544796411708510598634828765358263065954367069982829061211021319154234231505020565550265511430978433260352023923242725444468300700379120792896552063867819454509409847360220160225898163469405630937816664742083227109521241191459649627059244503802064886747666586992067262537932482591511828983160758903941627135177441671297217952186909720765757172069021248609888042204884148250442720829914829566064531716170835027008348907733533199583767922956828037492979711527925747153139364500573829531580750159815842766777948133435121844659456337848260159990186320354013431173770018894243132189838566288123058659669603088143868118546664490074354240051579825260190932977319065953785372139716567573294527268103825314263684763355326490530706394742429719766894118537850347739213350481304400991206260374884728430342569941156073036720381921215037764474384167946687650854838413496688263808658128622126405042347278636920072686075794168093150348990814812843596864619140305297198950566391285496038929258759391060652097864480694083354601317794438332337379458327425272558604296034920828942395797704350760545713242712650295620720480266695027666991950244529279313359307184545911652854607987807652986645496026716947536417215612871365512578375754072529384924508720861219936489809211203818311944253049677116385442579755323008904791994012496568602105634936557602112891222255815968208726460763908935319398537462319222352255330284191400510937420961175564065290566834839984065131575926030604764559525484870734749719528714771458256355741055774645543217420803544635560577601086392076222338719457169263398772048976940974467070861441289928116114822379840108596537462836610078114384265222441942194716220604610140785522209755139397733927411986230276978703634852253352842022242600934585431160196716177947048411252481870275891670108929136226858123842466618635286446211546416170022232310277708477106741642518964712784286913799970144671504373724583892442112497876502732662490966289876004595235484314466115186871841219982663670004329696331736833210973276693373847197155177400173404324040554503800043998543964753167354301398443594022081940824816410044369039158042339692563911582839710484722124067650472244306310825431696389062650108246970517592940351132396721382185326792077105099924715887893343594565171565538863544092477718216102419627260239221503871283929077578430077879552461168013575739019074659261015668694109748101523463971688743384750132252193744487530010432140663448060994862324221352177117091692094628128298303362593459421987497960525231874745909583672472115107069268107174241116087881881019570656894743427112230837464729747697287904400461590825567248163889426860244245125160649191818265856685696552603720649580279665210466735030772562224321647428767632205792907103522857500975846124533794485829388172460541838137807012917830058830599361560898689070941180492898899260714003360024425748810372423730833791663083240112960927403701290646454922124827245129489426572579849373823425089687526885449333112091199298595114972391533749953602866527716710260124896795530978681337873050346765409250024915767233853701372846694845302647660951562615461568624145939053205986352780877785504030782975749829320672131639847922952281937687807201663461521327704240311694177696896118243268002366769685019056410577468389387982304047935418402259740514853027590036741912357709317665544120419882073293232311077044681467068692078887192123162368975908397824952247513326863502917499638855245220253501440282089710886902088110314515119921897082899269502687200926510126785605589389971953891466571940655793341267576712702044221565301601582038054280635622775053891017862578168874712354569122595424188041364748533014273541620996902412317659304369126274940673760282393297296303605167965899360908473162497377625185238410611118623494106245618536249893057276554911179490509343490281569326320305727171387833588485502972865577590967716357968488698688366623916015925132522948757655665068523523398272426656763846601941044889777084329092351207003832111593986978874097826082333661521108604410795481934991712378889677120921380733180630953797228124436925901747310315082957987070479333014629016302597871979321110212016441175718117901992216429519562311775794723637051256769505374760360763420681191684281565703673512787503060410833524367577637189186127532357886671122588818257749537642741987311408806312149471966994444684490304692708403471108110071013861762043913009486567909615925856915111145157587139482174798470731364948860152215731708795013958641768504540907285026130803275489526748381597866585764901884965780165679560003859916511155593093937941342191408690570473464773303722588426369819739204909387442499777940226401837163549251666274278346270313040476274971039622891624000180029613725006476509403364326406391246489782009042296085561666625021390407234492476625340898666542026879772764965458833327273469640863858589506881152715997066880840404844786136002429799197513670678167918505711408986264171415473963739819897153319682352157242436699086438293839144783613290126856940433221400089631527568339999647274484053449187231193586513478553961120261523697898522345257679117226529948644856349013870383469132183523948228011112847641996718199985854240080628919802362640399110051898162724824317818261364212713700489111597445034735841096791394327255793144058953195735979255500681924093541926831189788447649230578028685481620774124541447986887063371215612828737445504126792126668657148857503236683061009031834227894258415429287921589180511143738996435527799620992980171024451696472280596148440944281496867205466579292102064584627624844059750272925405354554066059151128068182475799175855368825868213358066934288301931674983194054960742317651833552973708808881910338838345542145264765898053131702059650549357606838287325340289387338408913385535893886714355696265487136313792844870657000048778550907660131170169196949772576143001970534269000129551652259270309414085916988259345450654231755769332790515097058768942990226930104365502416860783560820200449893859249931234806018277040296124168962543112148860257600688481559980411497683432824145220164517165997579803724329970568624171534145108295351525433823042298431240998007285783230419554891207375060543510607394601686931260481820447969808335093135230669556458848965869216999961109987701112341252207144256371116432373965527211436350745655394591331150598252972160705044878744871484910228534957910691064403852977804710244538481813699138213659653339275611648406229737886328767423865117681369432536215587083995492330210172798442889637226014994625989561574588601421333274595463797104992474629991099861932756621419495495405765208499233572353593074733868425972830020452653663067369023435701144923013403871827289068250977517639522789409484077694583144041361237711090957468634825318848551379966508312723990041493498719791130622004598057867576567891051883296321947920861036378636514729735231907303987404597374703868956022462415212420325789494042626505281612735220986653006048888511362581717435371039913631944528291501460608923648672914601585921967188124757125344317703937649230821850636384448223099780953302579796292677875257778468851126567553581469246021319544960826644051968402591744261588513164445657965940717705558704258543335633128183315746790982000579813647720549072223968993467989917673879678844548251906676970220926428362511759391433703233215176039199632190524844308724816272160410355481266901628572919459868565657438503339416812514250438463084983815421620914256549502324908884424934281168435532138447015535715258297609688709054569383439820034828472582159644295823055633074416746134770655298623034719278834188231734114668743179725352295989446697073069344857563690739037049278316557475927738737681615158535249690255061642416434817023661768107174850685406019298384505190453044613097813590727922659746647738899719913130078946719179339660677075127986395537833954042452806489362197558359643104252387826497603162973481018827096019804523724847046688868192045410082616697235007542285962639924253707390612116240434441128291157335037012457182213272323708616452296731042970711067461280235134236002858695531753968175124106320804135459390446109669966478159704060563506181403707688416868169080661314791585974728406832300399643607846142866759087084590577784096852079432351131369102485504601677190773665981596065166223880159006138833851025029096120377258906541252850745008188127036411317045308617234517024191126160909495821392377088832022548449894577662876483116921024078485949495409554495373495342331917477879119788799596739500183434179302468595903421937323444849480084360269472353307468717718324397712922859675816461109527533295943034070618257615723009907252469916924132617353375481761656902869750293808179968810011071675793631491498202932853353566516816423433918862843554287031198832855618499602506805287176016649369215789890209536064208600299226402676290909335792544450683179984564175134283121125758322544949509592831146666893048765624758182653764547093317030848875054728160083041033955938506957214728755847197703863949529294238725901458427019571541623715494653907889611441813969368000790463246411446431612340939543700411453292046585461493875828909795573096183585506418067409568180875736564414832338668331010627615504854843089346893755163833451735521144821679317100077865644161621459010971475120902250653433175408238659413990812927762654519947486032244327033609530661696819666182904798969057257159838286801225648457403349080630224156335329835097790128341827772842174452235131580908267793413885002412433428838679896127481621195870437484369662997180833944686342545797784003038703979723571373495536057069761720595719041278445778799489897746446520345342478328878903751407576597082237518665984288008565417253531990495082105349693279251597485400990563279583001346515382963172126274274114228977154850317654739075510341877812142049033709248540431649349360454171857279928430256433966733013145456436453374034071420668530658148198819133094346791079393090741343442016940729023666239019286151408400528278839425013509128101259022884440623796360287654020200398177094670039707457235174332024124664337320742741655828930693357264662990969423972123852010156171341704035136486958408893037771544412995248384536236789986239406135570529193547736751446652499020231458367257939760308331544450404960904624836354605802843544426212322102471702025143190694498888762614176508081383535052117726124871948968682776384901642196308919729933511513745488301542286919679720534843903454266552533755270812908449558914765990354332642432924466305706697502528535953499313358853960861654521896826198605022852758763642332092119002664068009912423678833331096877705597367614868450431587131210782133750039973358248976763116711215345617569037540747557335948726717873946853790465773286983503448015325903130697706427689220182977510925119060478031366272210173341177509911802513214873693482766601743162906664500711129089 79221136326288413549090453617582214988603149380032775393045753873679347103737428810698791647263113706575282689198477135930652137291317188670030006057926509831856472550143054466006425134587034426949120010210832597783143689081004098970652114673282224426184172485773967049733965817226715156969648131835381010189470025770375559444559659305270898952170617343578663720139463438305206193729450577009951868047317341521679722886752217921827822705466305632297648679105292595306982225729633137305184703173136534319068330149229142960259210328722455601450057473003629441834416962669954405564521304502500726298911194393554191501157954017925309977598836623748100506311537547090223313424323313673085311409323919977212070953990949404412305207140907616619412378270976434206887105501661848469182736298770557698748104969475842500166345456724876246803841548685455561851856586967869889986216391448174596518073583228454703935275996041071738034755239225816281721293011288588359444337681021846829274952700086230836341401062887321604178406708278357480439226036171803414304571700770050264769130291420603534822495795966981715612394351588510056912232508637273573895372779156159436797233748213294951636931736322625278881149941049169682180025310119656903852664689348405476728233436921288688205034751242856813863451202798101231235894933014025474654357904163264189792879110990531247061528782494741231885291482973616690359904394443018958369073484128300703937149692838128916254439952768266768999800895221352172804608885628145520829329108509888656265795056847497582709463200002373315731960683089450281141672128908771066872542843950397795050900482861371828770525181267955544208230938560999841196913163882946371552828126583680248944964520944418180558701521838650855170095150234372062727397690674991347946365752214498420657007149585319909260780872426315558079608099072865828174703417406185318728278145026184310672633645641700732291542811057990742838365066341014265183949971790930431087121056345347741501667746148234688653065189269356885872908647581204650438736957716528711548574555583977239301969823515430537595181395319473570033411789209713074292228145962019286962544117035974563318921268241513986555088394502711032433789248734183877010959345104750102614262227563661010217640141350231316347211768763385670337883433049195056061300162041862964241528184097908283230852906666992480893473206747006312106694438401261591124362380788902882710265313013071263115504159140550179707220633782158597940373880726872858838789886163551228708805088540541574505134133745949431125107024728689987177439066224173647204385151471810845156172459609697201263898819372465925856032821983943945509201296896112993390414319772317613998628115011584901662481020736975231857679558573639533120123760882987807897148264001476729480741158503008405824181375825684426593602078107066384305742314153383784825815001170364503279303283157714730965700730790958163526085614077255893030881612578737162635171062435305862363661501175783671862584712802832632731639923317926092501167046294294878922434436385815597766578254085927198853219424480746368612964091254086956730350365974846418411767133289280026522101904776721397535481072023153960396155426365282526318432948840966649466716318812335304612541684202901596339076117983534399558629308180937552570931412127563964839611720473046765641026358839977096301838517860717992220124429055320994261412222457829626748188314831526678529121257451724121669436757611557692716596947663821034873517375372433749628434475153359120061495211777091719559441963916844642691242108239222713715540944215042751815205832903182816602051553000809853471087600226541940973229542173962641860015572714026730877762563780111880467244618055586935195897209646109126685288690235443479134420307287200865787784854857681194140932834097813623138157320433948668365280904196167520730495552269155400544459597418276177569668057444229387270850059959177577695113400939572251098823419194625556857107173746511343007800181920881221537624681494893301655822089723344553388000429323171176866004751029713971505534118999127107434111180853160547174861752751626348577776330731649967976997705926985766161797485058129327581956292771787829660210103007587578438303364646280346294247633981629844834860981910926589933525586410278385574288166108654586815838726812632990143066979317344762104354343375257570333883689617990419862704229988727473561686512974943917017701629021694931065627383970151448161079270422835544949285326099262830853904796892448341901343021226214704238492700377380756779821477303617108015181033663888382907694701687086758887917099855028808021759693299993928761037883200478548527383654940830627162960534839519753768771304564445702228660676511638525909100219792667017787855759149034626623398581454820469088953474304671180584117170375107299218857538863644099680063025446314779087962590928803576169825639877210091913953351078907222584306551857008399547716236951520432306368855405563331758063509346439969963192969308936226062923426688246041671272845075445462096707328610949341325449158353742604022908568946203933963643988238016251082863396042138900397422551647696827175988389556639458939949446524753736368453580244135105014317368938795421424241169688445192369547807720902472510058532210500190676908416490365999594117212594539752865691344940629371386945400149172429767490208830567907361799732482813964175917940399926984637762837734833459842745195607883737248217715147010664746624865860107174027680587247982043006696208521522681495053640549260909058244066831466386395550275703967451187984628361840304549620598007584604056652075292109056084955460757631045962710468974190271314358635494727254653928324003353839691189913153372830283101267409306943828090830937214893815925580078330686328742776609556460072981273554977224301651716046982335341896599200489741066102393484018972841466743047289295775671416546171942449273730018102329884754306147198475343597045689433842671468209541017943478180739831881650778966557553896529865161244407229829547727716931459459359559840553017703654746156616071691286614296466768069668800344909496623755249308151433068017415932042402097203261108808555885215825105468494713684598721648229183118676788358693974111182614492214872927357569277835129060640219341798931965723310239741977694394948416720292490078649040773942984422921245511852420706674819914354346020104887798142515274317061947997836595134419034230582330000240717127925526964112060319439249076892237808670839725453914016230218699443944340117528267723797972780319883977386476469029456738893211705543189528568137121573530047359055999267493785987462058075025437911796049705063581773663851013087176643772751648150048981936401280117985710232762186707399038083284214490009351252797025675234031663328726764953673595105495179812315052867907929540377789168697586451635338020604541532555456767223921372800748040195290633117401248117419768580554561920679552566002835202485597492704090494964420701053820178654505444932328959627731270218760735536157010176515686945610256645425466090751077063124240264202269417785796090050755625809976411130855080982514771006405019239084453063860469309363801560732448786594182631965426855620770324661738005715385915570566785767487246135064276153153759997114083896415651122260662526196811934588460728906851527212560414251230489996405218070314736073129676329566820684536684171651336809291777117985968335713633891342587678051190608132314213884936083558677694435789223952611566992819476705878074764002787217694166299949376281231412882322206987374652542436733768892535513131102546959338123452241057528223073307768102485716978811877380836416402793916906204056848362602583858587799671063183493736976342561580071402353708559999242811554741824392329109504518229810589936161848694495394989078505170054301833167574488999685417558644273661508773537637981961957984792817571894810151022150547618198149075642735541126296201993828633364656909410149851951595803219323557352758303156050734384212094939255739820941934884266839134997303995322823215069858545696315120342019702518376737457847075422833609547002365123843075643015383498457754484535198820719152172552391062084109456195267364880915037694355867535475716959456974814296043410930981650961631016607387504592652367302782535421937637661372747413198635813871372955291153837003764892214570085570425957184949391279047951885927105994402548962365475639942412116192038687450221895241768677287554938141140104080214294382146803429298709644350336820810077286914588926227332794609803525379770309789366482715491677332422658938068884123176801629354440421212341249014134107326180610680159589007947653882219813134645968624107250575125766006962591815762470229495361601560447159368208493962780049186984228166796792953581542749324663701473984707525536374661479614593173052043467258730505397958757517048679043709555117136847520835937727846034818459509505968569561640501633538002951685677658453700780995472650097844105771121176542567666472915935659895363457036650495500315381213781656630651058193300564850194107824559354050907613263433447134245936110081294087980183901841868569834102951605113985102702574503134563661489803117882501774544796411708510598634828765358263065954367069982829061211021319154234231505020565550265511430978433260352023923242725444468300700379120792896552063867819454509409847360220160225898163469405630937816664742083227109521241191459649627059244503802064886747666586992067262537932482591511828983160758903941627135177441671297217952186909720765757172069021248609888042204884148250442720829914829566064531716170835027008348907733533199583767922956828037492979711527925747153139364500573829531580750159815842766777948133435121844659456337848260159990186320354013431173770018894243132189838566288123058659669603088143868118546664490074354240051579825260190932977319065953785372139716567573294527268103825314263684763355326490530706394742429719766894118537850347739213350481304400991206260374884728430342569941156073036720381921215037764474384167946687650854838413496688263808658128622126405042347278636920072686075794168093150348990814812843596864619140305297198950566391285496038929258759391060652097864480694083354601317794438332337379458327425272558604296034920828942395797704350760545713242712650295620720480266695027666991950244529279313359307184545911652854607987807652986645496026716947536417215612871365512578375754072529384924508720861219936489809211203818311944253049677116385442579755323008904791994012496568602105634936557602112891222255815968208726460763908935319398537462319222352255330284191400510937420961175564065290566834839984065131575926030604764559525484870734749719528714771458256355741055774645543217420803544635560577601086392076222338719457169263398772048976940974467070861441289928116114822379840108596537462836610078114384265222441942194716220604610140785522209755139397733927411986230276978703634852253352842022242600934585431160196716177947048411252481870275891670108929136226858123842466618635286446211546416170022232310277708477106741642518964712784286913799970144671504373724583892442112497876502732662490966289876004595235484314466115186871841219982663670004329696331736833210973276693373847197155177400173404324040554503800043998543964753167354301398443594022081940824816410044369039158042339692563911582839710484722124067650472244306310825431696389062650108246970517592940351132396721382185326792077105099924715887893343594565171565538863544092477718216102419627260239221503871283929077578430077879552461168013575739019074659261015668694109748101523463971688743384750132252193744487530010432140663448060994862324221352177117091692094628128298303362593459421987497960525231874745909583672472115107069268107174241116087881881019570656894743427112230837464729747697287904400461590825567248163889426860244245125160649191818265856685696552603720649580279665210466735030772562224321647428767632205792907103522857500975846124533794485829388172460541838137807012917830058830599361560898689070941180492898899260714003360024425748810372423730833791663083240112960927403701290646454922124827245129489426572579849373823425089687526885449333112091199298595114972391533749953602866527716710260124896795530978681337873050346765409250024915767233853701372846694845302647660951562615461568624145939053205986352780877785504030782975749829320672131639847922952281937687807201663461521327704240311694177696896118243268002366769685019056410577468389387982304047935418402259740514853027590036741912357709317665544120419882073293232311077044681467068692078887192123162368975908397824952247513326863502917499638855245220253501440282089710886902088110314515119921897082899269502687200926510126785605589389971953891466571940655793341267576712702044221565301601582038054280635622775053891017862578168874712354569122595424188041364748533014273541620996902412317659304369126274940673760282393297296303605167965899360908473162497377625185238410611118623494106245618536249893057276554911179490509343490281569326320305727171387833588485502972865577590967716357968488698688366623916015925132522948757655665068523523398272426656763846601941044889777084329092351207003832111593986978874097826082333661521108604410795481934991712378889677120921380733180630953797228124436925901747310315082957987070479333014629016302597871979321110212016441175718117901992216429519562311775794723637051256769505374760360763420681191684281565703673512787503060410833524367577637189186127532357886671122588818257749537642741987311408806312149471966994444684490304692708403471108110071013861762043913009486567909615925856915111145157587139482174798470731364948860152215731708795013958641768504540907285026130803275489526748381597866585764901884965780165679560003859916511155593093937941342191408690570473464773303722588426369819739204909387442499777940226401837163549251666274278346270313040476274971039622891624000180029613725006476509403364326406391246489782009042296085561666625021390407234492476625340898666542026879772764965458833327273469640863858589506881152715997066880840404844786136002429799197513670678167918505711408986264171415473963739819897153319682352157242436699086438293839144783613290126856940433221400089631527568339999647274484053449187231193586513478553961120261523697898522345257679117226529948644856349013870383469132183523948228011112847641996718199985854240080628919802362640399110051898162724824317818261364212713700489111597445034735841096791394327255793144058953195735979255500681924093541926831189788447649230578028685481620774124541447986887063371215612828737445504126792126668657148857503236683061009031834227894258415429287921589180511143738996435527799620992980171024451696472280596148440944281496867205466579292102064584627624844059750272925405354554066059151128068182475799175855368825868213358066934288301931674983194054960742317651833552973708808881910338838345542145264765898053131702059650549357606838287325340289387338408913385535893886714355696265487136313792844870657000048778550907660131170169196949772576143001970534269000129551652259270309414085916988259345450654231755769332790515097058768942990226930104365502416860783560820200449893859249931234806018277040296124168962543112148860257600688481559980411497683432824145220164517165997579803724329970568624171534145108295351525433823042298431240998007285783230419554891207375060543510607394601686931260481820447969808335093135230669556458848965869216999961109987701112341252207144256371116432373965527211436350745655394591331150598252972160705044878744871484910228534957910691064403852977804710244538481813699138213659653339275611648406229737886328767423865117681369432536215587083995492330210172798442889637226014994625989561574588601421333274595463797104992474629991099861932756621419495495405765208499233572353593074733868425972830020452653663067369023435701144923013403871827289068250977517639522789409484077694583144041361237711090957468634825318848551379966508312723990041493498719791130622004598057867576567891051883296321947920861036378636514729735231907303987404597374703868956022462415212420325789494042626505281612735220986653006048888511362581717435371039913631944528291501460608923648672914601585921967188124757125344317703937649230821850636384448223099780953302579796292677875257778468851126567553581469246021319544960826644051968402591744261588513164445657965940717705558704258543335633128183315746790982000579813647720549072223968993467989917673879678844548251906676970220926428362511759391433703233215176039199632190524844308724816272160410355481266901628572919459868565657438503339416812514250438463084983815421620914256549502324908884424934281168435532138447015535715258297609688709054569383439820034828472582159644295823055633074416746134770655298623034719278834188231734114668743179725352295989446697073069344857563690739037049278316557475927738737681615158535249690255061642416434817023661768107174850685406019298384505190453044613097813590727922659746647738899719913130078946719179339660677075127986395537833954042452806489362197558359643104252387826497603162973481018827096019804523724847046688868192045410082616697235007542285962639924253707390612116240434441128291157335037012457182213272323708616452296731042970711067461280235134236002858695531753968175124106320804135459390446109669966478159704060563506181403707688416868169080661314791585974728406832300399643607846142866759087084590577784096852079432351131369102485504601677190773665981596065166223880159006138833851025029096120377258906541252850745008188127036411317045308617234517024191126160909495821392377088832022548449894577662876483116921024078485949495409554495373495342331917477879119788799596739500183434179302468595903421937323444849480084360269472353307468717718324397712922859675816461109527533295943034070618257615723009907252469916924132617353375481761656902869750293808179968810011071675793631491498202932853353566516816423433918862843554287031198832855618499602506805287176016649369215789890209536064208600299226402676290909335792544450683179984564175134283121125758322544949509592831146666893048765624758182653764547093317030848875054728160083041033955938506957214728755847197703863949529294238725901458427019571541623715494653907889611441813969368000790463246411446431612340939543700411453292046585461493875828909795573096183585506418067409568180875736564414832338668331010627615504854843089346893755163833451735521144821679317100077865644161621459010971475120902250653433175408238659413990812927762654519947486032244327033609530661696819666182904798969057257159838286801225648457403349080630224156335329835097790128341827772842174452235131580908267793413885002412433428838679896127481621195870437484369662997180833944686342545797784003038703979723571373495536057069761720595719041278445778799489897746446520345342478328878903751407576597082237518665984288008565417253531990495082105349693279251597485400990563279583001346515382963172126274274114228977154850317654739075510341877812142049033709248540431649349360454171857279928430256433966733013145456436453374034071420668530658148198819133094346791079393090741343442016940729023666239019286151408400528278839425013509128101259022884440623796360287654020200398177094670039707457235174332024124664337320742741655828930693357264662990969423972123852010156171341704035136486958408893037771544412995248384536236789986239406135570529193547736751446652499020231458367257939760308331544450404960904624836354605802843544426212322102471702025143190694498888762614176508081383535052117726124871948968682776384901642196308919729933511513745488301542286919679720534843903454266552533755270812908449558914765990354332642432924466305706697502528535953499313358853960861654521896826198605022852758763642332092119002664068009912423678833331096877705597367614868450431587131210782133750039973358248976763116711215345617569037540747557335948726717873946853790465773286983503448015325903130697706427689220182977510925119060478031366272210173341177509911802513214873693482766601743162906664500711129089 | | 2 967295832633945845834869185800307047105609422308414810645746398046370042262531207870656004029659873312418481789313649470391957047504299505728009633830699111355018426918079920832148853706789411558461993308975264326547024001026577137249483012835166386113514128000679938 79221136326288413549090453617582214988603149380032775393045753873679347103737428810698791647263113706575282689198477135930652137291317188670030006057926509831856472550143054466006425134587034426949120010210832597783143689081004098970652114673282224426184172485773967049733965817226715156969648131835381010189470025770375559444559659305270898952170617343578663720139463438305206193729450577009951868047317341521679722886752217921827822705466305632297648679105292595306982225729633137305184703173136534319068330149229142960259210328722455601450057473003629441834416962669954405564521304502500726298911194393554191501157954017925309977598836623748100506311537547090223313424323313673085311409323919977212070953990949404412305207140907616619412378270976434206887105501661848469182736298770557698748104969475842500166345456724876246803841548685455561851856586967869889986216391448174596518073583228454703935275996041071738034755239225816281721293011288588359444337681021846829274952700086230836341401062887321604178406708278357480439226036171803414304571700770050264769130291420603534822495795966981715612394351588510056912232508637273573895372779156159436797233748213294951636931736322625278881149941049169682180025310119656903852664689348405476728233436921288688205034751242856813863451202798101231235894933014025474654357904163264189792879110990531247061528782494741231885291482973616690359904394443018958369073484128300703937149692838128916254439952768266768999800895221352172804608885628145520829329108509888656265795056847497582709463200002373315731960683089450281141672128908771066872542843950397795050900482861371828770525181267955544208230938560999841196913163882946371552828126583680248944964520944418180558701521838650855170095150234372062727397690674991347946365752214498420657007149585319909260780872426315558079608099072865828174703417406185318728278145026184310672633645641700732291542811057990742838365066341014265183949971790930431087121056345347741501667746148234688653065189269356885872908647581204650438736957716528711548574555583977239301969823515430537595181395319473570033411789209713074292228145962019286962544117035974563318921268241513986555088394502711032433789248734183877010959345104750102614262227563661010217640141350231316347211768763385670337883433049195056061300162041862964241528184097908283230852906666992480893473206747006312106694438401261591124362380788902882710265313013071263115504159140550179707220633782158597940373880726872858838789886163551228708805088540541574505134133745949431125107024728689987177439066224173647204385151471810845156172459609697201263898819372465925856032821983943945509201296896112993390414319772317613998628115011584901662481020736975231857679558573639533120123760882987807897148264001476729480741158503008405824181375825684426593602078107066384305742314153383784825815001170364503279303283157714730965700730790958163526085614077255893030881612578737162635171062435305862363661501175783671862584712802832632731639923317926092501167046294294878922434436385815597766578254085927198853219424480746368612964091254086956730350365974846418411767133289280026522101904776721397535481072023153960396155426365282526318432948840966649466716318812335304612541684202901596339076117983534399558629308180937552570931412127563964839611720473046765641026358839977096301838517860717992220124429055320994261412222457829626748188314831526678529121257451724121669436757611557692716596947663821034873517375372433749628434475153359120061495211777091719559441963916844642691242108239222713715540944215042751815205832903182816602051553000809853471087600226541940973229542173962641860015572714026730877762563780111880467244618055586935195897209646109126685288690235443479134420307287200865787784854857681194140932834097813623138157320433948668365280904196167520730495552269155400544459597418276177569668057444229387270850059959177577695113400939572251098823419194625556857107173746511343007800181920881221537624681494893301655822089723344553388000429323171176866004751029713971505534118999127107434111180853160547174861752751626348577776330731649967976997705926985766161797485058129327581956292771787829660210103007587578438303364646280346294247633981629844834860981910926589933525586410278385574288166108654586815838726812632990143066979317344762104354343375257570333883689617990419862704229988727473561686512974943917017701629021694931065627383970151448161079270422835544949285326099262830853904796892448341901343021226214704238492700377380756779821477303617108015181033663888382907694701687086758887917099855028808021759693299993928761037883200478548527383654940830627162960534839519753768771304564445702228660676511638525909100219792667017787855759149034626623398581454820469088953474304671180584117170375107299218857538863644099680063025446314779087962590928803576169825639877210091913953351078907222584306551857008399547716236951520432306368855405563331758063509346439969963192969308936226062923426688246041671272845075445462096707328610949341325449158353742604022908568946203933963643988238016251082863396042138900397422551647696827175988389556639458939949446524753736368453580244135105014317368938795421424241169688445192369547807720902472510058532210500190676908416490365999594117212594539752865691344940629371386945400149172429767490208830567907361799732482813964175917940399926984637762837734833459842745195607883737248217715147010664746624865860107174027680587247982043006696208521522681495053640549260909058244066831466386395550275703967451187984628361840304549620598007584604056652075292109056084955460757631045962710468974190271314358635494727254653928324003353839691189913153372830283101267409306943828090830937214893815925580078330686328742776609556460072981273554977224301651716046982335341896599200489741066102393484018972841466743047289295775671416546171942449273730018102329884754306147198475343597045689433842671468209541017943478180739831881650778966557553896529865161244407229829547727716931459459359559840553017703654746156616071691286614296466768069668800344909496623755249308151433068017415932042402097203261108808555885215825105468494713684598721648229183118676788358693974111182614492214872927357569277835129060640219341798931965723310239741977694394948416720292490078649040773942984422921245511852420706674819914354346020104887798142515274317061947997836595134419034230582330000240717127925526964112060319439249076892237808670839725453914016230218699443944340117528267723797972780319883977386476469029456738893211705543189528568137121573530047359055999267493785987462058075025437911796049705063581773663851013087176643772751648150048981936401280117985710232762186707399038083284214490009351252797025675234031663328726764953673595105495179812315052867907929540377789168697586451635338020604541532555456767223921372800748040195290633117401248117419768580554561920679552566002835202485597492704090494964420701053820178654505444932328959627731270218760735536157010176515686945610256645425466090751077063124240264202269417785796090050755625809976411130855080982514771006405019239084453063860469309363801560732448786594182631965426855620770324661738005715385915570566785767487246135064276153153759997114083896415651122260662526196811934588460728906851527212560414251230489996405218070314736073129676329566820684536684171651336809291777117985968335713633891342587678051190608132314213884936083558677694435789223952611566992819476705878074764002787217694166299949376281231412882322206987374652542436733768892535513131102546959338123452241057528223073307768102485716978811877380836416402793916906204056848362602583858587799671063183493736976342561580071402353708559999242811554741824392329109504518229810589936161848694495394989078505170054301833167574488999685417558644273661508773537637981961957984792817571894810151022150547618198149075642735541126296201993828633364656909410149851951595803219323557352758303156050734384212094939255739820941934884266839134997303995322823215069858545696315120342019702518376737457847075422833609547002365123843075643015383498457754484535198820719152172552391062084109456195267364880915037694355867535475716959456974814296043410930981650961631016607387504592652367302782535421937637661372747413198635813871372955291153837003764892214570085570425957184949391279047951885927105994402548962365475639942412116192038687450221895241768677287554938141140104080214294382146803429298709644350336820810077286914588926227332794609803525379770309789366482715491677332422658938068884123176801629354440421212341249014134107326180610680159589007947653882219813134645968624107250575125766006962591815762470229495361601560447159368208493962780049186984228166796792953581542749324663701473984707525536374661479614593173052043467258730505397958757517048679043709555117136847520835937727846034818459509505968569561640501633538002951685677658453700780995472650097844105771121176542567666472915935659895363457036650495500315381213781656630651058193300564850194107824559354050907613263433447134245936110081294087980183901841868569834102951605113985102702574503134563661489803117882501774544796411708510598634828765358263065954367069982829061211021319154234231505020565550265511430978433260352023923242725444468300700379120792896552063867819454509409847360220160225898163469405630937816664742083227109521241191459649627059244503802064886747666586992067262537932482591511828983160758903941627135177441671297217952186909720765757172069021248609888042204884148250442720829914829566064531716170835027008348907733533199583767922956828037492979711527925747153139364500573829531580750159815842766777948133435121844659456337848260159990186320354013431173770018894243132189838566288123058659669603088143868118546664490074354240051579825260190932977319065953785372139716567573294527268103825314263684763355326490530706394742429719766894118537850347739213350481304400991206260374884728430342569941156073036720381921215037764474384167946687650854838413496688263808658128622126405042347278636920072686075794168093150348990814812843596864619140305297198950566391285496038929258759391060652097864480694083354601317794438332337379458327425272558604296034920828942395797704350760545713242712650295620720480266695027666991950244529279313359307184545911652854607987807652986645496026716947536417215612871365512578375754072529384924508720861219936489809211203818311944253049677116385442579755323008904791994012496568602105634936557602112891222255815968208726460763908935319398537462319222352255330284191400510937420961175564065290566834839984065131575926030604764559525484870734749719528714771458256355741055774645543217420803544635560577601086392076222338719457169263398772048976940974467070861441289928116114822379840108596537462836610078114384265222441942194716220604610140785522209755139397733927411986230276978703634852253352842022242600934585431160196716177947048411252481870275891670108929136226858123842466618635286446211546416170022232310277708477106741642518964712784286913799970144671504373724583892442112497876502732662490966289876004595235484314466115186871841219982663670004329696331736833210973276693373847197155177400173404324040554503800043998543964753167354301398443594022081940824816410044369039158042339692563911582839710484722124067650472244306310825431696389062650108246970517592940351132396721382185326792077105099924715887893343594565171565538863544092477718216102419627260239221503871283929077578430077879552461168013575739019074659261015668694109748101523463971688743384750132252193744487530010432140663448060994862324221352177117091692094628128298303362593459421987497960525231874745909583672472115107069268107174241116087881881019570656894743427112230837464729747697287904400461590825567248163889426860244245125160649191818265856685696552603720649580279665210466735030772562224321647428767632205792907103522857500975846124533794485829388172460541838137807012917830058830599361560898689070941180492898899260714003360024425748810372423730833791663083240112960927403701290646454922124827245129489426572579849373823425089687526885449333112091199298595114972391533749953602866527716710260124896795530978681337873050346765409250024915767233853701372846694845302647660951562615461568624145939053205986352780877785504030782975749829320672131639847922952281937687807201663461521327704240311694177696896118243268002366769685019056410577468389387982304047935418402259740514853027590036741912357709317665544120419882073293232311077044681467068692078887192123162368975908397824952247513326863502917499638855245220253501440282089710886902088110314515119921897082899269502687200926510126785605589389971953891466571940655793341267576712702044221565301601582038054280635622775053891017862578168874712354569122595424188041364748533014273541620996902412317659304369126274940673760282393297296303605167965899360908473162497377625185238410611118623494106245618536249893057276554911179490509343490281569326320305727171387833588485502972865577590967716357968488698688366623916015925132522948757655665068523523398272426656763846601941044889777084329092351207003832111593986978874097826082333661521108604410795481934991712378889677120921380733180630953797228124436925901747310315082957987070479333014629016302597871979321110212016441175718117901992216429519562311775794723637051256769505374760360763420681191684281565703673512787503060410833524367577637189186127532357886671122588818257749537642741987311408806312149471966994444684490304692708403471108110071013861762043913009486567909615925856915111145157587139482174798470731364948860152215731708795013958641768504540907285026130803275489526748381597866585764901884965780165679560003859916511155593093937941342191408690570473464773303722588426369819739204909387442499777940226401837163549251666274278346270313040476274971039622891624000180029613725006476509403364326406391246489782009042296085561666625021390407234492476625340898666542026879772764965458833327273469640863858589506881152715997066880840404844786136002429799197513670678167918505711408986264171415473963739819897153319682352157242436699086438293839144783613290126856940433221400089631527568339999647274484053449187231193586513478553961120261523697898522345257679117226529948644856349013870383469132183523948228011112847641996718199985854240080628919802362640399110051898162724824317818261364212713700489111597445034735841096791394327255793144058953195735979255500681924093541926831189788447649230578028685481620774124541447986887063371215612828737445504126792126668657148857503236683061009031834227894258415429287921589180511143738996435527799620992980171024451696472280596148440944281496867205466579292102064584627624844059750272925405354554066059151128068182475799175855368825868213358066934288301931674983194054960742317651833552973708808881910338838345542145264765898053131702059650549357606838287325340289387338408913385535893886714355696265487136313792844870657000048778550907660131170169196949772576143001970534269000129551652259270309414085916988259345450654231755769332790515097058768942990226930104365502416860783560820200449893859249931234806018277040296124168962543112148860257600688481559980411497683432824145220164517165997579803724329970568624171534145108295351525433823042298431240998007285783230419554891207375060543510607394601686931260481820447969808335093135230669556458848965869216999961109987701112341252207144256371116432373965527211436350745655394591331150598252972160705044878744871484910228534957910691064403852977804710244538481813699138213659653339275611648406229737886328767423865117681369432536215587083995492330210172798442889637226014994625989561574588601421333274595463797104992474629991099861932756621419495495405765208499233572353593074733868425972830020452653663067369023435701144923013403871827289068250977517639522789409484077694583144041361237711090957468634825318848551379966508312723990041493498719791130622004598057867576567891051883296321947920861036378636514729735231907303987404597374703868956022462415212420325789494042626505281612735220986653006048888511362581717435371039913631944528291501460608923648672914601585921967188124757125344317703937649230821850636384448223099780953302579796292677875257778468851126567553581469246021319544960826644051968402591744261588513164445657965940717705558704258543335633128183315746790982000579813647720549072223968993467989917673879678844548251906676970220926428362511759391433703233215176039199632190524844308724816272160410355481266901628572919459868565657438503339416812514250438463084983815421620914256549502324908884424934281168435532138447015535715258297609688709054569383439820034828472582159644295823055633074416746134770655298623034719278834188231734114668743179725352295989446697073069344857563690739037049278316557475927738737681615158535249690255061642416434817023661768107174850685406019298384505190453044613097813590727922659746647738899719913130078946719179339660677075127986395537833954042452806489362197558359643104252387826497603162973481018827096019804523724847046688868192045410082616697235007542285962639924253707390612116240434441128291157335037012457182213272323708616452296731042970711067461280235134236002858695531753968175124106320804135459390446109669966478159704060563506181403707688416868169080661314791585974728406832300399643607846142866759087084590577784096852079432351131369102485504601677190773665981596065166223880159006138833851025029096120377258906541252850745008188127036411317045308617234517024191126160909495821392377088832022548449894577662876483116921024078485949495409554495373495342331917477879119788799596739500183434179302468595903421937323444849480084360269472353307468717718324397712922859675816461109527533295943034070618257615723009907252469916924132617353375481761656902869750293808179968810011071675793631491498202932853353566516816423433918862843554287031198832855618499602506805287176016649369215789890209536064208600299226402676290909335792544450683179984564175134283121125758322544949509592831146666893048765624758182653764547093317030848875054728160083041033955938506957214728755847197703863949529294238725901458427019571541623715494653907889611441813969368000790463246411446431612340939543700411453292046585461493875828909795573096183585506418067409568180875736564414832338668331010627615504854843089346893755163833451735521144821679317100077865644161621459010971475120902250653433175408238659413990812927762654519947486032244327033609530661696819666182904798969057257159838286801225648457403349080630224156335329835097790128341827772842174452235131580908267793413885002412433428838679896127481621195870437484369662997180833944686342545797784003038703979723571373495536057069761720595719041278445778799489897746446520345342478328878903751407576597082237518665984288008565417253531990495082105349693279251597485400990563279583001346515382963172126274274114228977154850317654739075510341877812142049033709248540431649349360454171857279928430256433966733013145456436453374034071420668530658148198819133094346791079393090741343442016940729023666239019286151408400528278839425013509128101259022884440623796360287654020200398177094670039707457235174332024124664337320742741655828930693357264662990969423972123852010156171341704035136486958408893037771544412995248384536236789986239406135570529193547736751446652499020231458367257939760308331544450404960904624836354605802843544426212322102471702025143190694498888762614176508081383535052117726124871948968682776384901642196308919729933511513745488301542286919679720534843903454266552533755270812908449558914765990354332642432924466305706697502528535953499313358853960861654521896826198605022852758763642332092119002664068009912423678833331096877705597367614868450431587131210782133750039973358248976763116711215345617569037540747557335948726717873946853790465773286983503448015325903130697706427689220182977510925119060478031366272210173341177509911802513214873693482766601743162906664552250736642 79221136326288413549090453617582214988603149380032775393045753873679347103737428810698791647263113706575282689198477135930652137291317188670030006057926509831856472550143054466006425134587034426949120010210832597783143689081004098970652114673282224426184172485773967049733965817226715156969648131835381010189470025770375559444559659305270898952170617343578663720139463438305206193729450577009951868047317341521679722886752217921827822705466305632297648679105292595306982225729633137305184703173136534319068330149229142960259210328722455601450057473003629441834416962669954405564521304502500726298911194393554191501157954017925309977598836623748100506311537547090223313424323313673085311409323919977212070953990949404412305207140907616619412378270976434206887105501661848469182736298770557698748104969475842500166345456724876246803841548685455561851856586967869889986216391448174596518073583228454703935275996041071738034755239225816281721293011288588359444337681021846829274952700086230836341401062887321604178406708278357480439226036171803414304571700770050264769130291420603534822495795966981715612394351588510056912232508637273573895372779156159436797233748213294951636931736322625278881149941049169682180025310119656903852664689348405476728233436921288688205034751242856813863451202798101231235894933014025474654357904163264189792879110990531247061528782494741231885291482973616690359904394443018958369073484128300703937149692838128916254439952768266768999800895221352172804608885628145520829329108509888656265795056847497582709463200002373315731960683089450281141672128908771066872542843950397795050900482861371828770525181267955544208230938560999841196913163882946371552828126583680248944964520944418180558701521838650855170095150234372062727397690674991347946365752214498420657007149585319909260780872426315558079608099072865828174703417406185318728278145026184310672633645641700732291542811057990742838365066341014265183949971790930431087121056345347741501667746148234688653065189269356885872908647581204650438736957716528711548574555583977239301969823515430537595181395319473570033411789209713074292228145962019286962544117035974563318921268241513986555088394502711032433789248734183877010959345104750102614262227563661010217640141350231316347211768763385670337883433049195056061300162041862964241528184097908283230852906666992480893473206747006312106694438401261591124362380788902882710265313013071263115504159140550179707220633782158597940373880726872858838789886163551228708805088540541574505134133745949431125107024728689987177439066224173647204385151471810845156172459609697201263898819372465925856032821983943945509201296896112993390414319772317613998628115011584901662481020736975231857679558573639533120123760882987807897148264001476729480741158503008405824181375825684426593602078107066384305742314153383784825815001170364503279303283157714730965700730790958163526085614077255893030881612578737162635171062435305862363661501175783671862584712802832632731639923317926092501167046294294878922434436385815597766578254085927198853219424480746368612964091254086956730350365974846418411767133289280026522101904776721397535481072023153960396155426365282526318432948840966649466716318812335304612541684202901596339076117983534399558629308180937552570931412127563964839611720473046765641026358839977096301838517860717992220124429055320994261412222457829626748188314831526678529121257451724121669436757611557692716596947663821034873517375372433749628434475153359120061495211777091719559441963916844642691242108239222713715540944215042751815205832903182816602051553000809853471087600226541940973229542173962641860015572714026730877762563780111880467244618055586935195897209646109126685288690235443479134420307287200865787784854857681194140932834097813623138157320433948668365280904196167520730495552269155400544459597418276177569668057444229387270850059959177577695113400939572251098823419194625556857107173746511343007800181920881221537624681494893301655822089723344553388000429323171176866004751029713971505534118999127107434111180853160547174861752751626348577776330731649967976997705926985766161797485058129327581956292771787829660210103007587578438303364646280346294247633981629844834860981910926589933525586410278385574288166108654586815838726812632990143066979317344762104354343375257570333883689617990419862704229988727473561686512974943917017701629021694931065627383970151448161079270422835544949285326099262830853904796892448341901343021226214704238492700377380756779821477303617108015181033663888382907694701687086758887917099855028808021759693299993928761037883200478548527383654940830627162960534839519753768771304564445702228660676511638525909100219792667017787855759149034626623398581454820469088953474304671180584117170375107299218857538863644099680063025446314779087962590928803576169825639877210091913953351078907222584306551857008399547716236951520432306368855405563331758063509346439969963192969308936226062923426688246041671272845075445462096707328610949341325449158353742604022908568946203933963643988238016251082863396042138900397422551647696827175988389556639458939949446524753736368453580244135105014317368938795421424241169688445192369547807720902472510058532210500190676908416490365999594117212594539752865691344940629371386945400149172429767490208830567907361799732482813964175917940399926984637762837734833459842745195607883737248217715147010664746624865860107174027680587247982043006696208521522681495053640549260909058244066831466386395550275703967451187984628361840304549620598007584604056652075292109056084955460757631045962710468974190271314358635494727254653928324003353839691189913153372830283101267409306943828090830937214893815925580078330686328742776609556460072981273554977224301651716046982335341896599200489741066102393484018972841466743047289295775671416546171942449273730018102329884754306147198475343597045689433842671468209541017943478180739831881650778966557553896529865161244407229829547727716931459459359559840553017703654746156616071691286614296466768069668800344909496623755249308151433068017415932042402097203261108808555885215825105468494713684598721648229183118676788358693974111182614492214872927357569277835129060640219341798931965723310239741977694394948416720292490078649040773942984422921245511852420706674819914354346020104887798142515274317061947997836595134419034230582330000240717127925526964112060319439249076892237808670839725453914016230218699443944340117528267723797972780319883977386476469029456738893211705543189528568137121573530047359055999267493785987462058075025437911796049705063581773663851013087176643772751648150048981936401280117985710232762186707399038083284214490009351252797025675234031663328726764953673595105495179812315052867907929540377789168697586451635338020604541532555456767223921372800748040195290633117401248117419768580554561920679552566002835202485597492704090494964420701053820178654505444932328959627731270218760735536157010176515686945610256645425466090751077063124240264202269417785796090050755625809976411130855080982514771006405019239084453063860469309363801560732448786594182631965426855620770324661738005715385915570566785767487246135064276153153759997114083896415651122260662526196811934588460728906851527212560414251230489996405218070314736073129676329566820684536684171651336809291777117985968335713633891342587678051190608132314213884936083558677694435789223952611566992819476705878074764002787217694166299949376281231412882322206987374652542436733768892535513131102546959338123452241057528223073307768102485716978811877380836416402793916906204056848362602583858587799671063183493736976342561580071402353708559999242811554741824392329109504518229810589936161848694495394989078505170054301833167574488999685417558644273661508773537637981961957984792817571894810151022150547618198149075642735541126296201993828633364656909410149851951595803219323557352758303156050734384212094939255739820941934884266839134997303995322823215069858545696315120342019702518376737457847075422833609547002365123843075643015383498457754484535198820719152172552391062084109456195267364880915037694355867535475716959456974814296043410930981650961631016607387504592652367302782535421937637661372747413198635813871372955291153837003764892214570085570425957184949391279047951885927105994402548962365475639942412116192038687450221895241768677287554938141140104080214294382146803429298709644350336820810077286914588926227332794609803525379770309789366482715491677332422658938068884123176801629354440421212341249014134107326180610680159589007947653882219813134645968624107250575125766006962591815762470229495361601560447159368208493962780049186984228166796792953581542749324663701473984707525536374661479614593173052043467258730505397958757517048679043709555117136847520835937727846034818459509505968569561640501633538002951685677658453700780995472650097844105771121176542567666472915935659895363457036650495500315381213781656630651058193300564850194107824559354050907613263433447134245936110081294087980183901841868569834102951605113985102702574503134563661489803117882501774544796411708510598634828765358263065954367069982829061211021319154234231505020565550265511430978433260352023923242725444468300700379120792896552063867819454509409847360220160225898163469405630937816664742083227109521241191459649627059244503802064886747666586992067262537932482591511828983160758903941627135177441671297217952186909720765757172069021248609888042204884148250442720829914829566064531716170835027008348907733533199583767922956828037492979711527925747153139364500573829531580750159815842766777948133435121844659456337848260159990186320354013431173770018894243132189838566288123058659669603088143868118546664490074354240051579825260190932977319065953785372139716567573294527268103825314263684763355326490530706394742429719766894118537850347739213350481304400991206260374884728430342569941156073036720381921215037764474384167946687650854838413496688263808658128622126405042347278636920072686075794168093150348990814812843596864619140305297198950566391285496038929258759391060652097864480694083354601317794438332337379458327425272558604296034920828942395797704350760545713242712650295620720480266695027666991950244529279313359307184545911652854607987807652986645496026716947536417215612871365512578375754072529384924508720861219936489809211203818311944253049677116385442579755323008904791994012496568602105634936557602112891222255815968208726460763908935319398537462319222352255330284191400510937420961175564065290566834839984065131575926030604764559525484870734749719528714771458256355741055774645543217420803544635560577601086392076222338719457169263398772048976940974467070861441289928116114822379840108596537462836610078114384265222441942194716220604610140785522209755139397733927411986230276978703634852253352842022242600934585431160196716177947048411252481870275891670108929136226858123842466618635286446211546416170022232310277708477106741642518964712784286913799970144671504373724583892442112497876502732662490966289876004595235484314466115186871841219982663670004329696331736833210973276693373847197155177400173404324040554503800043998543964753167354301398443594022081940824816410044369039158042339692563911582839710484722124067650472244306310825431696389062650108246970517592940351132396721382185326792077105099924715887893343594565171565538863544092477718216102419627260239221503871283929077578430077879552461168013575739019074659261015668694109748101523463971688743384750132252193744487530010432140663448060994862324221352177117091692094628128298303362593459421987497960525231874745909583672472115107069268107174241116087881881019570656894743427112230837464729747697287904400461590825567248163889426860244245125160649191818265856685696552603720649580279665210466735030772562224321647428767632205792907103522857500975846124533794485829388172460541838137807012917830058830599361560898689070941180492898899260714003360024425748810372423730833791663083240112960927403701290646454922124827245129489426572579849373823425089687526885449333112091199298595114972391533749953602866527716710260124896795530978681337873050346765409250024915767233853701372846694845302647660951562615461568624145939053205986352780877785504030782975749829320672131639847922952281937687807201663461521327704240311694177696896118243268002366769685019056410577468389387982304047935418402259740514853027590036741912357709317665544120419882073293232311077044681467068692078887192123162368975908397824952247513326863502917499638855245220253501440282089710886902088110314515119921897082899269502687200926510126785605589389971953891466571940655793341267576712702044221565301601582038054280635622775053891017862578168874712354569122595424188041364748533014273541620996902412317659304369126274940673760282393297296303605167965899360908473162497377625185238410611118623494106245618536249893057276554911179490509343490281569326320305727171387833588485502972865577590967716357968488698688366623916015925132522948757655665068523523398272426656763846601941044889777084329092351207003832111593986978874097826082333661521108604410795481934991712378889677120921380733180630953797228124436925901747310315082957987070479333014629016302597871979321110212016441175718117901992216429519562311775794723637051256769505374760360763420681191684281565703673512787503060410833524367577637189186127532357886671122588818257749537642741987311408806312149471966994444684490304692708403471108110071013861762043913009486567909615925856915111145157587139482174798470731364948860152215731708795013958641768504540907285026130803275489526748381597866585764901884965780165679560003859916511155593093937941342191408690570473464773303722588426369819739204909387442499777940226401837163549251666274278346270313040476274971039622891624000180029613725006476509403364326406391246489782009042296085561666625021390407234492476625340898666542026879772764965458833327273469640863858589506881152715997066880840404844786136002429799197513670678167918505711408986264171415473963739819897153319682352157242436699086438293839144783613290126856940433221400089631527568339999647274484053449187231193586513478553961120261523697898522345257679117226529948644856349013870383469132183523948228011112847641996718199985854240080628919802362640399110051898162724824317818261364212713700489111597445034735841096791394327255793144058953195735979255500681924093541926831189788447649230578028685481620774124541447986887063371215612828737445504126792126668657148857503236683061009031834227894258415429287921589180511143738996435527799620992980171024451696472280596148440944281496867205466579292102064584627624844059750272925405354554066059151128068182475799175855368825868213358066934288301931674983194054960742317651833552973708808881910338838345542145264765898053131702059650549357606838287325340289387338408913385535893886714355696265487136313792844870657000048778550907660131170169196949772576143001970534269000129551652259270309414085916988259345450654231755769332790515097058768942990226930104365502416860783560820200449893859249931234806018277040296124168962543112148860257600688481559980411497683432824145220164517165997579803724329970568624171534145108295351525433823042298431240998007285783230419554891207375060543510607394601686931260481820447969808335093135230669556458848965869216999961109987701112341252207144256371116432373965527211436350745655394591331150598252972160705044878744871484910228534957910691064403852977804710244538481813699138213659653339275611648406229737886328767423865117681369432536215587083995492330210172798442889637226014994625989561574588601421333274595463797104992474629991099861932756621419495495405765208499233572353593074733868425972830020452653663067369023435701144923013403871827289068250977517639522789409484077694583144041361237711090957468634825318848551379966508312723990041493498719791130622004598057867576567891051883296321947920861036378636514729735231907303987404597374703868956022462415212420325789494042626505281612735220986653006048888511362581717435371039913631944528291501460608923648672914601585921967188124757125344317703937649230821850636384448223099780953302579796292677875257778468851126567553581469246021319544960826644051968402591744261588513164445657965940717705558704258543335633128183315746790982000579813647720549072223968993467989917673879678844548251906676970220926428362511759391433703233215176039199632190524844308724816272160410355481266901628572919459868565657438503339416812514250438463084983815421620914256549502324908884424934281168435532138447015535715258297609688709054569383439820034828472582159644295823055633074416746134770655298623034719278834188231734114668743179725352295989446697073069344857563690739037049278316557475927738737681615158535249690255061642416434817023661768107174850685406019298384505190453044613097813590727922659746647738899719913130078946719179339660677075127986395537833954042452806489362197558359643104252387826497603162973481018827096019804523724847046688868192045410082616697235007542285962639924253707390612116240434441128291157335037012457182213272323708616452296731042970711067461280235134236002858695531753968175124106320804135459390446109669966478159704060563506181403707688416868169080661314791585974728406832300399643607846142866759087084590577784096852079432351131369102485504601677190773665981596065166223880159006138833851025029096120377258906541252850745008188127036411317045308617234517024191126160909495821392377088832022548449894577662876483116921024078485949495409554495373495342331917477879119788799596739500183434179302468595903421937323444849480084360269472353307468717718324397712922859675816461109527533295943034070618257615723009907252469916924132617353375481761656902869750293808179968810011071675793631491498202932853353566516816423433918862843554287031198832855618499602506805287176016649369215789890209536064208600299226402676290909335792544450683179984564175134283121125758322544949509592831146666893048765624758182653764547093317030848875054728160083041033955938506957214728755847197703863949529294238725901458427019571541623715494653907889611441813969368000790463246411446431612340939543700411453292046585461493875828909795573096183585506418067409568180875736564414832338668331010627615504854843089346893755163833451735521144821679317100077865644161621459010971475120902250653433175408238659413990812927762654519947486032244327033609530661696819666182904798969057257159838286801225648457403349080630224156335329835097790128341827772842174452235131580908267793413885002412433428838679896127481621195870437484369662997180833944686342545797784003038703979723571373495536057069761720595719041278445778799489897746446520345342478328878903751407576597082237518665984288008565417253531990495082105349693279251597485400990563279583001346515382963172126274274114228977154850317654739075510341877812142049033709248540431649349360454171857279928430256433966733013145456436453374034071420668530658148198819133094346791079393090741343442016940729023666239019286151408400528278839425013509128101259022884440623796360287654020200398177094670039707457235174332024124664337320742741655828930693357264662990969423972123852010156171341704035136486958408893037771544412995248384536236789986239406135570529193547736751446652499020231458367257939760308331544450404960904624836354605802843544426212322102471702025143190694498888762614176508081383535052117726124871948968682776384901642196308919729933511513745488301542286919679720534843903454266552533755270812908449558914765990354332642432924466305706697502528535953499313358853960861654521896826198605022852758763642332092119002664068009912423678833331096877705597367614868450431587131210782133750039973358248976763116711215345617569037540747557335948726717873946853790465773286983503448015325903130697706427689220182977510925119060478031366272210173341177509911802513214873693482766601743162906664552250736642 79221136326288413549090453617582214988603149380032775393045753873679347103737428810698791647263113706575282689198477135930652137291317188670030006057926509831856472550143054466006425134587034426949120010210832597783143689081004098970652114673282224426184172485773967049733965817226715156969648131835381010189470025770375559444559659305270898952170617343578663720139463438305206193729450577009951868047317341521679722886752217921827822705466305632297648679105292595306982225729633137305184703173136534319068330149229142960259210328722455601450057473003629441834416962669954405564521304502500726298911194393554191501157954017925309977598836623748100506311537547090223313424323313673085311409323919977212070953990949404412305207140907616619412378270976434206887105501661848469182736298770557698748104969475842500166345456724876246803841548685455561851856586967869889986216391448174596518073583228454703935275996041071738034755239225816281721293011288588359444337681021846829274952700086230836341401062887321604178406708278357480439226036171803414304571700770050264769130291420603534822495795966981715612394351588510056912232508637273573895372779156159436797233748213294951636931736322625278881149941049169682180025310119656903852664689348405476728233436921288688205034751242856813863451202798101231235894933014025474654357904163264189792879110990531247061528782494741231885291482973616690359904394443018958369073484128300703937149692838128916254439952768266768999800895221352172804608885628145520829329108509888656265795056847497582709463200002373315731960683089450281141672128908771066872542843950397795050900482861371828770525181267955544208230938560999841196913163882946371552828126583680248944964520944418180558701521838650855170095150234372062727397690674991347946365752214498420657007149585319909260780872426315558079608099072865828174703417406185318728278145026184310672633645641700732291542811057990742838365066341014265183949971790930431087121056345347741501667746148234688653065189269356885872908647581204650438736957716528711548574555583977239301969823515430537595181395319473570033411789209713074292228145962019286962544117035974563318921268241513986555088394502711032433789248734183877010959345104750102614262227563661010217640141350231316347211768763385670337883433049195056061300162041862964241528184097908283230852906666992480893473206747006312106694438401261591124362380788902882710265313013071263115504159140550179707220633782158597940373880726872858838789886163551228708805088540541574505134133745949431125107024728689987177439066224173647204385151471810845156172459609697201263898819372465925856032821983943945509201296896112993390414319772317613998628115011584901662481020736975231857679558573639533120123760882987807897148264001476729480741158503008405824181375825684426593602078107066384305742314153383784825815001170364503279303283157714730965700730790958163526085614077255893030881612578737162635171062435305862363661501175783671862584712802832632731639923317926092501167046294294878922434436385815597766578254085927198853219424480746368612964091254086956730350365974846418411767133289280026522101904776721397535481072023153960396155426365282526318432948840966649466716318812335304612541684202901596339076117983534399558629308180937552570931412127563964839611720473046765641026358839977096301838517860717992220124429055320994261412222457829626748188314831526678529121257451724121669436757611557692716596947663821034873517375372433749628434475153359120061495211777091719559441963916844642691242108239222713715540944215042751815205832903182816602051553000809853471087600226541940973229542173962641860015572714026730877762563780111880467244618055586935195897209646109126685288690235443479134420307287200865787784854857681194140932834097813623138157320433948668365280904196167520730495552269155400544459597418276177569668057444229387270850059959177577695113400939572251098823419194625556857107173746511343007800181920881221537624681494893301655822089723344553388000429323171176866004751029713971505534118999127107434111180853160547174861752751626348577776330731649967976997705926985766161797485058129327581956292771787829660210103007587578438303364646280346294247633981629844834860981910926589933525586410278385574288166108654586815838726812632990143066979317344762104354343375257570333883689617990419862704229988727473561686512974943917017701629021694931065627383970151448161079270422835544949285326099262830853904796892448341901343021226214704238492700377380756779821477303617108015181033663888382907694701687086758887917099855028808021759693299993928761037883200478548527383654940830627162960534839519753768771304564445702228660676511638525909100219792667017787855759149034626623398581454820469088953474304671180584117170375107299218857538863644099680063025446314779087962590928803576169825639877210091913953351078907222584306551857008399547716236951520432306368855405563331758063509346439969963192969308936226062923426688246041671272845075445462096707328610949341325449158353742604022908568946203933963643988238016251082863396042138900397422551647696827175988389556639458939949446524753736368453580244135105014317368938795421424241169688445192369547807720902472510058532210500190676908416490365999594117212594539752865691344940629371386945400149172429767490208830567907361799732482813964175917940399926984637762837734833459842745195607883737248217715147010664746624865860107174027680587247982043006696208521522681495053640549260909058244066831466386395550275703967451187984628361840304549620598007584604056652075292109056084955460757631045962710468974190271314358635494727254653928324003353839691189913153372830283101267409306943828090830937214893815925580078330686328742776609556460072981273554977224301651716046982335341896599200489741066102393484018972841466743047289295775671416546171942449273730018102329884754306147198475343597045689433842671468209541017943478180739831881650778966557553896529865161244407229829547727716931459459359559840553017703654746156616071691286614296466768069668800344909496623755249308151433068017415932042402097203261108808555885215825105468494713684598721648229183118676788358693974111182614492214872927357569277835129060640219341798931965723310239741977694394948416720292490078649040773942984422921245511852420706674819914354346020104887798142515274317061947997836595134419034230582330000240717127925526964112060319439249076892237808670839725453914016230218699443944340117528267723797972780319883977386476469029456738893211705543189528568137121573530047359055999267493785987462058075025437911796049705063581773663851013087176643772751648150048981936401280117985710232762186707399038083284214490009351252797025675234031663328726764953673595105495179812315052867907929540377789168697586451635338020604541532555456767223921372800748040195290633117401248117419768580554561920679552566002835202485597492704090494964420701053820178654505444932328959627731270218760735536157010176515686945610256645425466090751077063124240264202269417785796090050755625809976411130855080982514771006405019239084453063860469309363801560732448786594182631965426855620770324661738005715385915570566785767487246135064276153153759997114083896415651122260662526196811934588460728906851527212560414251230489996405218070314736073129676329566820684536684171651336809291777117985968335713633891342587678051190608132314213884936083558677694435789223952611566992819476705878074764002787217694166299949376281231412882322206987374652542436733768892535513131102546959338123452241057528223073307768102485716978811877380836416402793916906204056848362602583858587799671063183493736976342561580071402353708559999242811554741824392329109504518229810589936161848694495394989078505170054301833167574488999685417558644273661508773537637981961957984792817571894810151022150547618198149075642735541126296201993828633364656909410149851951595803219323557352758303156050734384212094939255739820941934884266839134997303995322823215069858545696315120342019702518376737457847075422833609547002365123843075643015383498457754484535198820719152172552391062084109456195267364880915037694355867535475716959456974814296043410930981650961631016607387504592652367302782535421937637661372747413198635813871372955291153837003764892214570085570425957184949391279047951885927105994402548962365475639942412116192038687450221895241768677287554938141140104080214294382146803429298709644350336820810077286914588926227332794609803525379770309789366482715491677332422658938068884123176801629354440421212341249014134107326180610680159589007947653882219813134645968624107250575125766006962591815762470229495361601560447159368208493962780049186984228166796792953581542749324663701473984707525536374661479614593173052043467258730505397958757517048679043709555117136847520835937727846034818459509505968569561640501633538002951685677658453700780995472650097844105771121176542567666472915935659895363457036650495500315381213781656630651058193300564850194107824559354050907613263433447134245936110081294087980183901841868569834102951605113985102702574503134563661489803117882501774544796411708510598634828765358263065954367069982829061211021319154234231505020565550265511430978433260352023923242725444468300700379120792896552063867819454509409847360220160225898163469405630937816664742083227109521241191459649627059244503802064886747666586992067262537932482591511828983160758903941627135177441671297217952186909720765757172069021248609888042204884148250442720829914829566064531716170835027008348907733533199583767922956828037492979711527925747153139364500573829531580750159815842766777948133435121844659456337848260159990186320354013431173770018894243132189838566288123058659669603088143868118546664490074354240051579825260190932977319065953785372139716567573294527268103825314263684763355326490530706394742429719766894118537850347739213350481304400991206260374884728430342569941156073036720381921215037764474384167946687650854838413496688263808658128622126405042347278636920072686075794168093150348990814812843596864619140305297198950566391285496038929258759391060652097864480694083354601317794438332337379458327425272558604296034920828942395797704350760545713242712650295620720480266695027666991950244529279313359307184545911652854607987807652986645496026716947536417215612871365512578375754072529384924508720861219936489809211203818311944253049677116385442579755323008904791994012496568602105634936557602112891222255815968208726460763908935319398537462319222352255330284191400510937420961175564065290566834839984065131575926030604764559525484870734749719528714771458256355741055774645543217420803544635560577601086392076222338719457169263398772048976940974467070861441289928116114822379840108596537462836610078114384265222441942194716220604610140785522209755139397733927411986230276978703634852253352842022242600934585431160196716177947048411252481870275891670108929136226858123842466618635286446211546416170022232310277708477106741642518964712784286913799970144671504373724583892442112497876502732662490966289876004595235484314466115186871841219982663670004329696331736833210973276693373847197155177400173404324040554503800043998543964753167354301398443594022081940824816410044369039158042339692563911582839710484722124067650472244306310825431696389062650108246970517592940351132396721382185326792077105099924715887893343594565171565538863544092477718216102419627260239221503871283929077578430077879552461168013575739019074659261015668694109748101523463971688743384750132252193744487530010432140663448060994862324221352177117091692094628128298303362593459421987497960525231874745909583672472115107069268107174241116087881881019570656894743427112230837464729747697287904400461590825567248163889426860244245125160649191818265856685696552603720649580279665210466735030772562224321647428767632205792907103522857500975846124533794485829388172460541838137807012917830058830599361560898689070941180492898899260714003360024425748810372423730833791663083240112960927403701290646454922124827245129489426572579849373823425089687526885449333112091199298595114972391533749953602866527716710260124896795530978681337873050346765409250024915767233853701372846694845302647660951562615461568624145939053205986352780877785504030782975749829320672131639847922952281937687807201663461521327704240311694177696896118243268002366769685019056410577468389387982304047935418402259740514853027590036741912357709317665544120419882073293232311077044681467068692078887192123162368975908397824952247513326863502917499638855245220253501440282089710886902088110314515119921897082899269502687200926510126785605589389971953891466571940655793341267576712702044221565301601582038054280635622775053891017862578168874712354569122595424188041364748533014273541620996902412317659304369126274940673760282393297296303605167965899360908473162497377625185238410611118623494106245618536249893057276554911179490509343490281569326320305727171387833588485502972865577590967716357968488698688366623916015925132522948757655665068523523398272426656763846601941044889777084329092351207003832111593986978874097826082333661521108604410795481934991712378889677120921380733180630953797228124436925901747310315082957987070479333014629016302597871979321110212016441175718117901992216429519562311775794723637051256769505374760360763420681191684281565703673512787503060410833524367577637189186127532357886671122588818257749537642741987311408806312149471966994444684490304692708403471108110071013861762043913009486567909615925856915111145157587139482174798470731364948860152215731708795013958641768504540907285026130803275489526748381597866585764901884965780165679560003859916511155593093937941342191408690570473464773303722588426369819739204909387442499777940226401837163549251666274278346270313040476274971039622891624000180029613725006476509403364326406391246489782009042296085561666625021390407234492476625340898666542026879772764965458833327273469640863858589506881152715997066880840404844786136002429799197513670678167918505711408986264171415473963739819897153319682352157242436699086438293839144783613290126856940433221400089631527568339999647274484053449187231193586513478553961120261523697898522345257679117226529948644856349013870383469132183523948228011112847641996718199985854240080628919802362640399110051898162724824317818261364212713700489111597445034735841096791394327255793144058953195735979255500681924093541926831189788447649230578028685481620774124541447986887063371215612828737445504126792126668657148857503236683061009031834227894258415429287921589180511143738996435527799620992980171024451696472280596148440944281496867205466579292102064584627624844059750272925405354554066059151128068182475799175855368825868213358066934288301931674983194054960742317651833552973708808881910338838345542145264765898053131702059650549357606838287325340289387338408913385535893886714355696265487136313792844870657000048778550907660131170169196949772576143001970534269000129551652259270309414085916988259345450654231755769332790515097058768942990226930104365502416860783560820200449893859249931234806018277040296124168962543112148860257600688481559980411497683432824145220164517165997579803724329970568624171534145108295351525433823042298431240998007285783230419554891207375060543510607394601686931260481820447969808335093135230669556458848965869216999961109987701112341252207144256371116432373965527211436350745655394591331150598252972160705044878744871484910228534957910691064403852977804710244538481813699138213659653339275611648406229737886328767423865117681369432536215587083995492330210172798442889637226014994625989561574588601421333274595463797104992474629991099861932756621419495495405765208499233572353593074733868425972830020452653663067369023435701144923013403871827289068250977517639522789409484077694583144041361237711090957468634825318848551379966508312723990041493498719791130622004598057867576567891051883296321947920861036378636514729735231907303987404597374703868956022462415212420325789494042626505281612735220986653006048888511362581717435371039913631944528291501460608923648672914601585921967188124757125344317703937649230821850636384448223099780953302579796292677875257778468851126567553581469246021319544960826644051968402591744261588513164445657965940717705558704258543335633128183315746790982000579813647720549072223968993467989917673879678844548251906676970220926428362511759391433703233215176039199632190524844308724816272160410355481266901628572919459868565657438503339416812514250438463084983815421620914256549502324908884424934281168435532138447015535715258297609688709054569383439820034828472582159644295823055633074416746134770655298623034719278834188231734114668743179725352295989446697073069344857563690739037049278316557475927738737681615158535249690255061642416434817023661768107174850685406019298384505190453044613097813590727922659746647738899719913130078946719179339660677075127986395537833954042452806489362197558359643104252387826497603162973481018827096019804523724847046688868192045410082616697235007542285962639924253707390612116240434441128291157335037012457182213272323708616452296731042970711067461280235134236002858695531753968175124106320804135459390446109669966478159704060563506181403707688416868169080661314791585974728406832300399643607846142866759087084590577784096852079432351131369102485504601677190773665981596065166223880159006138833851025029096120377258906541252850745008188127036411317045308617234517024191126160909495821392377088832022548449894577662876483116921024078485949495409554495373495342331917477879119788799596739500183434179302468595903421937323444849480084360269472353307468717718324397712922859675816461109527533295943034070618257615723009907252469916924132617353375481761656902869750293808179968810011071675793631491498202932853353566516816423433918862843554287031198832855618499602506805287176016649369215789890209536064208600299226402676290909335792544450683179984564175134283121125758322544949509592831146666893048765624758182653764547093317030848875054728160083041033955938506957214728755847197703863949529294238725901458427019571541623715494653907889611441813969368000790463246411446431612340939543700411453292046585461493875828909795573096183585506418067409568180875736564414832338668331010627615504854843089346893755163833451735521144821679317100077865644161621459010971475120902250653433175408238659413990812927762654519947486032244327033609530661696819666182904798969057257159838286801225648457403349080630224156335329835097790128341827772842174452235131580908267793413885002412433428838679896127481621195870437484369662997180833944686342545797784003038703979723571373495536057069761720595719041278445778799489897746446520345342478328878903751407576597082237518665984288008565417253531990495082105349693279251597485400990563279583001346515382963172126274274114228977154850317654739075510341877812142049033709248540431649349360454171857279928430256433966733013145456436453374034071420668530658148198819133094346791079393090741343442016940729023666239019286151408400528278839425013509128101259022884440623796360287654020200398177094670039707457235174332024124664337320742741655828930693357264662990969423972123852010156171341704035136486958408893037771544412995248384536236789986239406135570529193547736751446652499020231458367257939760308331544450404960904624836354605802843544426212322102471702025143190694498888762614176508081383535052117726124871948968682776384901642196308919729933511513745488301542286919679720534843903454266552533755270812908449558914765990354332642432924466305706697502528535953499313358853960861654521896826198605022852758763642332092119002664068009912423678833331096877705597367614868450431587131210782133750039973358248976763116711215345617569037540747557335948726717873946853790465773286983503448015325903130697706427689220182977510925119060478031366272210173341177509911802513214873693482766601743162906664552250736642 79221136326288413549090453617582214988603149380032775393045753873679347103737428810698791647263113706575282689198477135930652137291317188670030006057926509831856472550143054466006425134587034426949120010210832597783143689081004098970652114673282224426184172485773967049733965817226715156969648131835381010189470025770375559444559659305270898952170617343578663720139463438305206193729450577009951868047317341521679722886752217921827822705466305632297648679105292595306982225729633137305184703173136534319068330149229142960259210328722455601450057473003629441834416962669954405564521304502500726298911194393554191501157954017925309977598836623748100506311537547090223313424323313673085311409323919977212070953990949404412305207140907616619412378270976434206887105501661848469182736298770557698748104969475842500166345456724876246803841548685455561851856586967869889986216391448174596518073583228454703935275996041071738034755239225816281721293011288588359444337681021846829274952700086230836341401062887321604178406708278357480439226036171803414304571700770050264769130291420603534822495795966981715612394351588510056912232508637273573895372779156159436797233748213294951636931736322625278881149941049169682180025310119656903852664689348405476728233436921288688205034751242856813863451202798101231235894933014025474654357904163264189792879110990531247061528782494741231885291482973616690359904394443018958369073484128300703937149692838128916254439952768266768999800895221352172804608885628145520829329108509888656265795056847497582709463200002373315731960683089450281141672128908771066872542843950397795050900482861371828770525181267955544208230938560999841196913163882946371552828126583680248944964520944418180558701521838650855170095150234372062727397690674991347946365752214498420657007149585319909260780872426315558079608099072865828174703417406185318728278145026184310672633645641700732291542811057990742838365066341014265183949971790930431087121056345347741501667746148234688653065189269356885872908647581204650438736957716528711548574555583977239301969823515430537595181395319473570033411789209713074292228145962019286962544117035974563318921268241513986555088394502711032433789248734183877010959345104750102614262227563661010217640141350231316347211768763385670337883433049195056061300162041862964241528184097908283230852906666992480893473206747006312106694438401261591124362380788902882710265313013071263115504159140550179707220633782158597940373880726872858838789886163551228708805088540541574505134133745949431125107024728689987177439066224173647204385151471810845156172459609697201263898819372465925856032821983943945509201296896112993390414319772317613998628115011584901662481020736975231857679558573639533120123760882987807897148264001476729480741158503008405824181375825684426593602078107066384305742314153383784825815001170364503279303283157714730965700730790958163526085614077255893030881612578737162635171062435305862363661501175783671862584712802832632731639923317926092501167046294294878922434436385815597766578254085927198853219424480746368612964091254086956730350365974846418411767133289280026522101904776721397535481072023153960396155426365282526318432948840966649466716318812335304612541684202901596339076117983534399558629308180937552570931412127563964839611720473046765641026358839977096301838517860717992220124429055320994261412222457829626748188314831526678529121257451724121669436757611557692716596947663821034873517375372433749628434475153359120061495211777091719559441963916844642691242108239222713715540944215042751815205832903182816602051553000809853471087600226541940973229542173962641860015572714026730877762563780111880467244618055586935195897209646109126685288690235443479134420307287200865787784854857681194140932834097813623138157320433948668365280904196167520730495552269155400544459597418276177569668057444229387270850059959177577695113400939572251098823419194625556857107173746511343007800181920881221537624681494893301655822089723344553388000429323171176866004751029713971505534118999127107434111180853160547174861752751626348577776330731649967976997705926985766161797485058129327581956292771787829660210103007587578438303364646280346294247633981629844834860981910926589933525586410278385574288166108654586815838726812632990143066979317344762104354343375257570333883689617990419862704229988727473561686512974943917017701629021694931065627383970151448161079270422835544949285326099262830853904796892448341901343021226214704238492700377380756779821477303617108015181033663888382907694701687086758887917099855028808021759693299993928761037883200478548527383654940830627162960534839519753768771304564445702228660676511638525909100219792667017787855759149034626623398581454820469088953474304671180584117170375107299218857538863644099680063025446314779087962590928803576169825639877210091913953351078907222584306551857008399547716236951520432306368855405563331758063509346439969963192969308936226062923426688246041671272845075445462096707328610949341325449158353742604022908568946203933963643988238016251082863396042138900397422551647696827175988389556639458939949446524753736368453580244135105014317368938795421424241169688445192369547807720902472510058532210500190676908416490365999594117212594539752865691344940629371386945400149172429767490208830567907361799732482813964175917940399926984637762837734833459842745195607883737248217715147010664746624865860107174027680587247982043006696208521522681495053640549260909058244066831466386395550275703967451187984628361840304549620598007584604056652075292109056084955460757631045962710468974190271314358635494727254653928324003353839691189913153372830283101267409306943828090830937214893815925580078330686328742776609556460072981273554977224301651716046982335341896599200489741066102393484018972841466743047289295775671416546171942449273730018102329884754306147198475343597045689433842671468209541017943478180739831881650778966557553896529865161244407229829547727716931459459359559840553017703654746156616071691286614296466768069668800344909496623755249308151433068017415932042402097203261108808555885215825105468494713684598721648229183118676788358693974111182614492214872927357569277835129060640219341798931965723310239741977694394948416720292490078649040773942984422921245511852420706674819914354346020104887798142515274317061947997836595134419034230582330000240717127925526964112060319439249076892237808670839725453914016230218699443944340117528267723797972780319883977386476469029456738893211705543189528568137121573530047359055999267493785987462058075025437911796049705063581773663851013087176643772751648150048981936401280117985710232762186707399038083284214490009351252797025675234031663328726764953673595105495179812315052867907929540377789168697586451635338020604541532555456767223921372800748040195290633117401248117419768580554561920679552566002835202485597492704090494964420701053820178654505444932328959627731270218760735536157010176515686945610256645425466090751077063124240264202269417785796090050755625809976411130855080982514771006405019239084453063860469309363801560732448786594182631965426855620770324661738005715385915570566785767487246135064276153153759997114083896415651122260662526196811934588460728906851527212560414251230489996405218070314736073129676329566820684536684171651336809291777117985968335713633891342587678051190608132314213884936083558677694435789223952611566992819476705878074764002787217694166299949376281231412882322206987374652542436733768892535513131102546959338123452241057528223073307768102485716978811877380836416402793916906204056848362602583858587799671063183493736976342561580071402353708559999242811554741824392329109504518229810589936161848694495394989078505170054301833167574488999685417558644273661508773537637981961957984792817571894810151022150547618198149075642735541126296201993828633364656909410149851951595803219323557352758303156050734384212094939255739820941934884266839134997303995322823215069858545696315120342019702518376737457847075422833609547002365123843075643015383498457754484535198820719152172552391062084109456195267364880915037694355867535475716959456974814296043410930981650961631016607387504592652367302782535421937637661372747413198635813871372955291153837003764892214570085570425957184949391279047951885927105994402548962365475639942412116192038687450221895241768677287554938141140104080214294382146803429298709644350336820810077286914588926227332794609803525379770309789366482715491677332422658938068884123176801629354440421212341249014134107326180610680159589007947653882219813134645968624107250575125766006962591815762470229495361601560447159368208493962780049186984228166796792953581542749324663701473984707525536374661479614593173052043467258730505397958757517048679043709555117136847520835937727846034818459509505968569561640501633538002951685677658453700780995472650097844105771121176542567666472915935659895363457036650495500315381213781656630651058193300564850194107824559354050907613263433447134245936110081294087980183901841868569834102951605113985102702574503134563661489803117882501774544796411708510598634828765358263065954367069982829061211021319154234231505020565550265511430978433260352023923242725444468300700379120792896552063867819454509409847360220160225898163469405630937816664742083227109521241191459649627059244503802064886747666586992067262537932482591511828983160758903941627135177441671297217952186909720765757172069021248609888042204884148250442720829914829566064531716170835027008348907733533199583767922956828037492979711527925747153139364500573829531580750159815842766777948133435121844659456337848260159990186320354013431173770018894243132189838566288123058659669603088143868118546664490074354240051579825260190932977319065953785372139716567573294527268103825314263684763355326490530706394742429719766894118537850347739213350481304400991206260374884728430342569941156073036720381921215037764474384167946687650854838413496688263808658128622126405042347278636920072686075794168093150348990814812843596864619140305297198950566391285496038929258759391060652097864480694083354601317794438332337379458327425272558604296034920828942395797704350760545713242712650295620720480266695027666991950244529279313359307184545911652854607987807652986645496026716947536417215612871365512578375754072529384924508720861219936489809211203818311944253049677116385442579755323008904791994012496568602105634936557602112891222255815968208726460763908935319398537462319222352255330284191400510937420961175564065290566834839984065131575926030604764559525484870734749719528714771458256355741055774645543217420803544635560577601086392076222338719457169263398772048976940974467070861441289928116114822379840108596537462836610078114384265222441942194716220604610140785522209755139397733927411986230276978703634852253352842022242600934585431160196716177947048411252481870275891670108929136226858123842466618635286446211546416170022232310277708477106741642518964712784286913799970144671504373724583892442112497876502732662490966289876004595235484314466115186871841219982663670004329696331736833210973276693373847197155177400173404324040554503800043998543964753167354301398443594022081940824816410044369039158042339692563911582839710484722124067650472244306310825431696389062650108246970517592940351132396721382185326792077105099924715887893343594565171565538863544092477718216102419627260239221503871283929077578430077879552461168013575739019074659261015668694109748101523463971688743384750132252193744487530010432140663448060994862324221352177117091692094628128298303362593459421987497960525231874745909583672472115107069268107174241116087881881019570656894743427112230837464729747697287904400461590825567248163889426860244245125160649191818265856685696552603720649580279665210466735030772562224321647428767632205792907103522857500975846124533794485829388172460541838137807012917830058830599361560898689070941180492898899260714003360024425748810372423730833791663083240112960927403701290646454922124827245129489426572579849373823425089687526885449333112091199298595114972391533749953602866527716710260124896795530978681337873050346765409250024915767233853701372846694845302647660951562615461568624145939053205986352780877785504030782975749829320672131639847922952281937687807201663461521327704240311694177696896118243268002366769685019056410577468389387982304047935418402259740514853027590036741912357709317665544120419882073293232311077044681467068692078887192123162368975908397824952247513326863502917499638855245220253501440282089710886902088110314515119921897082899269502687200926510126785605589389971953891466571940655793341267576712702044221565301601582038054280635622775053891017862578168874712354569122595424188041364748533014273541620996902412317659304369126274940673760282393297296303605167965899360908473162497377625185238410611118623494106245618536249893057276554911179490509343490281569326320305727171387833588485502972865577590967716357968488698688366623916015925132522948757655665068523523398272426656763846601941044889777084329092351207003832111593986978874097826082333661521108604410795481934991712378889677120921380733180630953797228124436925901747310315082957987070479333014629016302597871979321110212016441175718117901992216429519562311775794723637051256769505374760360763420681191684281565703673512787503060410833524367577637189186127532357886671122588818257749537642741987311408806312149471966994444684490304692708403471108110071013861762043913009486567909615925856915111145157587139482174798470731364948860152215731708795013958641768504540907285026130803275489526748381597866585764901884965780165679560003859916511155593093937941342191408690570473464773303722588426369819739204909387442499777940226401837163549251666274278346270313040476274971039622891624000180029613725006476509403364326406391246489782009042296085561666625021390407234492476625340898666542026879772764965458833327273469640863858589506881152715997066880840404844786136002429799197513670678167918505711408986264171415473963739819897153319682352157242436699086438293839144783613290126856940433221400089631527568339999647274484053449187231193586513478553961120261523697898522345257679117226529948644856349013870383469132183523948228011112847641996718199985854240080628919802362640399110051898162724824317818261364212713700489111597445034735841096791394327255793144058953195735979255500681924093541926831189788447649230578028685481620774124541447986887063371215612828737445504126792126668657148857503236683061009031834227894258415429287921589180511143738996435527799620992980171024451696472280596148440944281496867205466579292102064584627624844059750272925405354554066059151128068182475799175855368825868213358066934288301931674983194054960742317651833552973708808881910338838345542145264765898053131702059650549357606838287325340289387338408913385535893886714355696265487136313792844870657000048778550907660131170169196949772576143001970534269000129551652259270309414085916988259345450654231755769332790515097058768942990226930104365502416860783560820200449893859249931234806018277040296124168962543112148860257600688481559980411497683432824145220164517165997579803724329970568624171534145108295351525433823042298431240998007285783230419554891207375060543510607394601686931260481820447969808335093135230669556458848965869216999961109987701112341252207144256371116432373965527211436350745655394591331150598252972160705044878744871484910228534957910691064403852977804710244538481813699138213659653339275611648406229737886328767423865117681369432536215587083995492330210172798442889637226014994625989561574588601421333274595463797104992474629991099861932756621419495495405765208499233572353593074733868425972830020452653663067369023435701144923013403871827289068250977517639522789409484077694583144041361237711090957468634825318848551379966508312723990041493498719791130622004598057867576567891051883296321947920861036378636514729735231907303987404597374703868956022462415212420325789494042626505281612735220986653006048888511362581717435371039913631944528291501460608923648672914601585921967188124757125344317703937649230821850636384448223099780953302579796292677875257778468851126567553581469246021319544960826644051968402591744261588513164445657965940717705558704258543335633128183315746790982000579813647720549072223968993467989917673879678844548251906676970220926428362511759391433703233215176039199632190524844308724816272160410355481266901628572919459868565657438503339416812514250438463084983815421620914256549502324908884424934281168435532138447015535715258297609688709054569383439820034828472582159644295823055633074416746134770655298623034719278834188231734114668743179725352295989446697073069344857563690739037049278316557475927738737681615158535249690255061642416434817023661768107174850685406019298384505190453044613097813590727922659746647738899719913130078946719179339660677075127986395537833954042452806489362197558359643104252387826497603162973481018827096019804523724847046688868192045410082616697235007542285962639924253707390612116240434441128291157335037012457182213272323708616452296731042970711067461280235134236002858695531753968175124106320804135459390446109669966478159704060563506181403707688416868169080661314791585974728406832300399643607846142866759087084590577784096852079432351131369102485504601677190773665981596065166223880159006138833851025029096120377258906541252850745008188127036411317045308617234517024191126160909495821392377088832022548449894577662876483116921024078485949495409554495373495342331917477879119788799596739500183434179302468595903421937323444849480084360269472353307468717718324397712922859675816461109527533295943034070618257615723009907252469916924132617353375481761656902869750293808179968810011071675793631491498202932853353566516816423433918862843554287031198832855618499602506805287176016649369215789890209536064208600299226402676290909335792544450683179984564175134283121125758322544949509592831146666893048765624758182653764547093317030848875054728160083041033955938506957214728755847197703863949529294238725901458427019571541623715494653907889611441813969368000790463246411446431612340939543700411453292046585461493875828909795573096183585506418067409568180875736564414832338668331010627615504854843089346893755163833451735521144821679317100077865644161621459010971475120902250653433175408238659413990812927762654519947486032244327033609530661696819666182904798969057257159838286801225648457403349080630224156335329835097790128341827772842174452235131580908267793413885002412433428838679896127481621195870437484369662997180833944686342545797784003038703979723571373495536057069761720595719041278445778799489897746446520345342478328878903751407576597082237518665984288008565417253531990495082105349693279251597485400990563279583001346515382963172126274274114228977154850317654739075510341877812142049033709248540431649349360454171857279928430256433966733013145456436453374034071420668530658148198819133094346791079393090741343442016940729023666239019286151408400528278839425013509128101259022884440623796360287654020200398177094670039707457235174332024124664337320742741655828930693357264662990969423972123852010156171341704035136486958408893037771544412995248384536236789986239406135570529193547736751446652499020231458367257939760308331544450404960904624836354605802843544426212322102471702025143190694498888762614176508081383535052117726124871948968682776384901642196308919729933511513745488301542286919679720534843903454266552533755270812908449558914765990354332642432924466305706697502528535953499313358853960861654521896826198605022852758763642332092119002664068009912423678833331096877705597367614868450431587131210782133750039973358248976763116711215345617569037540747557335948726717873946853790465773286983503448015325903130697706427689220182977510925119060478031366272210173341177509911802513214873693482766601743162906664552250736642 | | 3 12383115491759593336353448778379443964747069532690831330280979580098339279790775242870055942037175182167694828630408385835175875367053447190075428867422552264390617730682204059152964954990436318320066452696273806924709017982508044079009837847400529770389578424189117183088087480824101224256058609149553476190710547446897844182028392366333307487865784713519314588490477817179043620210043028950398122011224596426889970399178340895356293289007965768159511777393133377446385175122996269338177433677421308960413087551096814482662548354346246858969757310348675789712294927261335717881049445949486482662504108816265621544578181600284422176496172308392462276574675565303527177360659765353027377486869078195903079205231308477660611980462430034802014102098182501771697118115602379850958690162608255533538768591965428342068226113736386719934945356202596593900817217755747321259865221369864995825759742201040930043241511643171678356445126920249177613171029077212712093309967156788875411419402722295933670734688896741512247918234685527915708781272988686433764604129914194970929787214584490838135220521430625819676767401319937903230133084064114039174361988618695782405360166205673240293621613980609349475147401997864732399255038565586575788726652072018194511096147381101805566009842353235105883866850267280696249522178045986257596416726180828361148349691211526937431835938258272119062171188772121412577237203776863014878700731892332492543579793355282497485378686731699609064685692087849279692448043166555128773569910728711789922382497619652814411987460235792426821685143207992887527205821901619575125572159353507432247617618220550878119250132416517232644159417681914435391429088803255109592472472721302812360839883587864710854172888710493206195985293881278488209827058503490166967473784377002944081673848298703088765141483503233277741328017134962860420143952106258610808183710595190032913003113075991598292385996581328340241353472709140383795252651911150425463336794058775686859284757220123699182462129675815525956422643741159813265584402266765146835561102423933207261138275766093236276824501365763568423060630009169084345234764318407830848922305312061982419912571980071495802762965257301349604350501523904225453440266193716905570937353403079236650988621404913426923585259529559250919871827934726425906244391588883078558220858328982224470038563404566231463624237683901305047155252661464042031047076029942734330007215988937806730181125848221848414380432453383439071102781865559579731865638052076944051142659 79221136326288413549090453617582214988603149380032775393045753873679347103737428810698791647263113706575282689198477135930652137291317188670030006057926509831856472550143054466006425134587034426949120010210832597783143689081004098970652114673282224426184172485773967049733965817226715156969648131835381010189470025770375559444559659305270898952170617343578663720139463438305206193729450577009951868047317341521679722886752217921827822705466305632297648679105292595306982225729633137305184703173136534319068330149229142960259210328722455601450057473003629441834416962669954405564521304502500726298911194393554191501157954017925309977598836623748100506311537547090223313424323313673085311409323919977212070953990949404412305207140907616619412378270976434206887105501661848469182736298770557698748104969475842500166345456724876246803841548685455561851856586967869889986216391448174596518073583228454703935275996041071738034755239225816281721293011288588359444337681021846829274952700086230836341401062887321604178406708278357480439226036171803414304571700770050264769130291420603534822495795966981715612394351588510056912232508637273573895372779156159436797233748213294951636931736322625278881149941049169682180025310119656903852664689348405476728233436921288688205034751242856813863451202798101231235894933014025474654357904163264189792879110990531247061528782494741231885291482973616690359904394443018958369073484128300703937149692838128916254439952768266768999800895221352172804608885628145520829329108509888656265795056847497582709463200002373315731960683089450281141672128908771066872542843950397795050900482861371828770525181267955544208230938560999841196913163882946371552828126583680248944964520944418180558701521838650855170095150234372062727397690674991347946365752214498420657007149585319909260780872426315558079608099072865828174703417406185318728278145026184310672633645641700732291542811057990742838365066341014265183949971790930431087121056345347741501667746148234688653065189269356885872908647581204650438736957716528711548574555583977239301969823515430537595181395319473570033411789209713074292228145962019286962544117035974563318921268241513986555088394502711032433789248734183877010959345104750102614262227563661010217640141350231316347211768763385670337883433049195056061300162041862964241528184097908283230852906666992480893473206747006312106694438401261591124362380788902882710265313013071263115504159140550179707220633782158597940373880726872858838789886163551228708805088540541574505134133745949431125107024728689987177439066224173647204385151471810845156172459609697201263898819372465925856032821983943945509201296896112993390414319772317613998628115011584901662481020736975231857679558573639533120123760882987807897148264001476729480741158503008405824181375825684426593602078107066384305742314153383784825815001170364503279303283157714730965700730790958163526085614077255893030881612578737162635171062435305862363661501175783671862584712802832632731639923317926092501167046294294878922434436385815597766578254085927198853219424480746368612964091254086956730350365974846418411767133289280026522101904776721397535481072023153960396155426365282526318432948840966649466716318812335304612541684202901596339076117983534399558629308180937552570931412127563964839611720473046765641026358839977096301838517860717992220124429055320994261412222457829626748188314831526678529121257451724121669436757611557692716596947663821034873517375372433749628434475153359120061495211777091719559441963916844642691242108239222713715540944215042751815205832903182816602051553000809853471087600226541940973229542173962641860015572714026730877762563780111880467244618055586935195897209646109126685288690235443479134420307287200865787784854857681194140932834097813623138157320433948668365280904196167520730495552269155400544459597418276177569668057444229387270850059959177577695113400939572251098823419194625556857107173746511343007800181920881221537624681494893301655822089723344553388000429323171176866004751029713971505534118999127107434111180853160547174861752751626348577776330731649967976997705926985766161797485058129327581956292771787829660210103007587578438303364646280346294247633981629844834860981910926589933525586410278385574288166108654586815838726812632990143066979317344762104354343375257570333883689617990419862704229988727473561686512974943917017701629021694931065627383970151448161079270422835544949285326099262830853904796892448341901343021226214704238492700377380756779821477303617108015181033663888382907694701687086758887917099855028808021759693299993928761037883200478548527383654940830627162960534839519753768771304564445702228660676511638525909100219792667017787855759149034626623398581454820469088953474304671180584117170375107299218857538863644099680063025446314779087962590928803576169825639877210091913953351078907222584306551857008399547716236951520432306368855405563331758063509346439969963192969308936226062923426688246041671272845075445462096707328610949341325449158353742604022908568946203933963643988238016251082863396042138900397422551647696827175988389556639458939949446524753736368453580244135105014317368938795421424241169688445192369547807720902472510058532210500190676908416490365999594117212594539752865691344940629371386945400149172429767490208830567907361799732482813964175917940399926984637762837734833459842745195607883737248217715147010664746624865860107174027680587247982043006696208521522681495053640549260909058244066831466386395550275703967451187984628361840304549620598007584604056652075292109056084955460757631045962710468974190271314358635494727254653928324003353839691189913153372830283101267409306943828090830937214893815925580078330686328742776609556460072981273554977224301651716046982335341896599200489741066102393484018972841466743047289295775671416546171942449273730018102329884754306147198475343597045689433842671468209541017943478180739831881650778966557553896529865161244407229829547727716931459459359559840553017703654746156616071691286614296466768069668800344909496623755249308151433068017415932042402097203261108808555885215825105468494713684598721648229183118676788358693974111182614492214872927357569277835129060640219341798931965723310239741977694394948416720292490078649040773942984422921245511852420706674819914354346020104887798142515274317061947997836595134419034230582330000240717127925526964112060319439249076892237808670839725453914016230218699443944340117528267723797972780319883977386476469029456738893211705543189528568137121573530047359055999267493785987462058075025437911796049705063581773663851013087176643772751648150048981936401280117985710232762186707399038083284214490009351252797025675234031663328726764953673595105495179812315052867907929540377789168697586451635338020604541532555456767223921372800748040195290633117401248117419768580554561920679552566002835202485597492704090494964420701053820178654505444932328959627731270218760735536157010176515686945610256645425466090751077063124240264202269417785796090050755625809976411130855080982514771006405019239084453063860469309363801560732448786594182631965426855620770324661738005715385915570566785767487246135064276153153759997114083896415651122260662526196811934588460728906851527212560414251230489996405218070314736073129676329566820684536684171651336809291777117985968335713633891342587678051190608132314213884936083558677694435789223952611566992819476705878074764002787217694166299949376281231412882322206987374652542436733768892535513131102546959338123452241057528223073307768102485716978811877380836416402793916906204056848362602583858587799671063183493736976342561580071402353708559999242811554741824392329109504518229810589936161848694495394989078505170054301833167574488999685417558644273661508773537637981961957984792817571894810151022150547618198149075642735541126296201993828633364656909410149851951595803219323557352758303156050734384212094939255739820941934884266839134997303995322823215069858545696315120342019702518376737457847075422833609547002365123843075643015383498457754484535198820719152172552391062084109456195267364880915037694355867535475716959456974814296043410930981650961631016607387504592652367302782535421937637661372747413198635813871372955291153837003764892214570085570425957184949391279047951885927105994402548962365475639942412116192038687450221895241768677287554938141140104080214294382146803429298709644350336820810077286914588926227332794609803525379770309789366482715491677332422658938068884123176801629354440421212341249014134107326180610680159589007947653882219813134645968624107250575125766006962591815762470229495361601560447159368208493962780049186984228166796792953581542749324663701473984707525536374661479614593173052043467258730505397958757517048679043709555117136847520835937727846034818459509505968569561640501633538002951685677658453700780995472650097844105771121176542567666472915935659895363457036650495500315381213781656630651058193300564850194107824559354050907613263433447134245936110081294087980183901841868569834102951605113985102702574503134563661489803117882501774544796411708510598634828765358263065954367069982829061211021319154234231505020565550265511430978433260352023923242725444468300700379120792896552063867819454509409847360220160225898163469405630937816664742083227109521241191459649627059244503802064886747666586992067262537932482591511828983160758903941627135177441671297217952186909720765757172069021248609888042204884148250442720829914829566064531716170835027008348907733533199583767922956828037492979711527925747153139364500573829531580750159815842766777948133435121844659456337848260159990186320354013431173770018894243132189838566288123058659669603088143868118546664490074354240051579825260190932977319065953785372139716567573294527268103825314263684763355326490530706394742429719766894118537850347739213350481304400991206260374884728430342569941156073036720381921215037764474384167946687650854838413496688263808658128622126405042347278636920072686075794168093150348990814812843596864619140305297198950566391285496038929258759391060652097864480694083354601317794438332337379458327425272558604296034920828942395797704350760545713242712650295620720480266695027666991950244529279313359307184545911652854607987807652986645496026716947536417215612871365512578375754072529384924508720861219936489809211203818311944253049677116385442579755323008904791994012496568602105634936557602112891222255815968208726460763908935319398537462319222352255330284191400510937420961175564065290566834839984065131575926030604764559525484870734749719528714771458256355741055774645543217420803544635560577601086392076222338719457169263398772048976940974467070861441289928116114822379840108596537462836610078114384265222441942194716220604610140785522209755139397733927411986230276978703634852253352842022242600934585431160196716177947048411252481870275891670108929136226858123842466618635286446211546416170022232310277708477106741642518964712784286913799970144671504373724583892442112497876502732662490966289876004595235484314466115186871841219982663670004329696331736833210973276693373847197155177400173404324040554503800043998543964753167354301398443594022081940824816410044369039158042339692563911582839710484722124067650472244306310825431696389062650108246970517592940351132396721382185326792077105099924715887893343594565171565538863544092477718216102419627260239221503871283929077578430077879552461168013575739019074659261015668694109748101523463971688743384750132252193744487530010432140663448060994862324221352177117091692094628128298303362593459421987497960525231874745909583672472115107069268107174241116087881881019570656894743427112230837464729747697287904400461590825567248163889426860244245125160649191818265856685696552603720649580279665210466735030772562224321647428767632205792907103522857500975846124533794485829388172460541838137807012917830058830599361560898689070941180492898899260714003360024425748810372423730833791663083240112960927403701290646454922124827245129489426572579849373823425089687526885449333112091199298595114972391533749953602866527716710260124896795530978681337873050346765409250024915767233853701372846694845302647660951562615461568624145939053205986352780877785504030782975749829320672131639847922952281937687807201663461521327704240311694177696896118243268002366769685019056410577468389387982304047935418402259740514853027590036741912357709317665544120419882073293232311077044681467068692078887192123162368975908397824952247513326863502917499638855245220253501440282089710886902088110314515119921897082899269502687200926510126785605589389971953891466571940655793341267576712702044221565301601582038054280635622775053891017862578168874712354569122595424188041364748533014273541620996902412317659304369126274940673760282393297296303605167965899360908473162497377625185238410611118623494106245618536249893057276554911179490509343490281569326320305727171387833588485502972865577590967716357968488698688366623916015925132522948757655665068523523398272426656763846601941044889777084329092351207003832111593986978874097826082333661521108604410795481934991712378889677120921380733180630953797228124436925901747310315082957987070479333014629016302597871979321110212016441175718117901992216429519562311775794723637051256769505374760360763420681191684281565703673512787503060410833524367577637189186127532357886671122588818257749537642741987311408806312149471966994444684490304692708403471108110071013861762043913009486567909615925856915111145157587139482174798470731364948860152215731708795013958641768504540907285026130803275489526748381597866585764901884965780165679560003859916511155593093937941342191408690570473464773303722588426369819739204909387442499777940226401837163549251666274278346270313040476274971039622891624000180029613725006476509403364326406391246489782009042296085561666625021390407234492476625340898666542026879772764965458833327273469640863858589506881152715997066880840404844786136002429799197513670678167918505711408986264171415473963739819897153319682352157242436699086438293839144783613290126856940433221400089631527568339999647274484053449187231193586513478553961120261523697898522345257679117226529948644856349013870383469132183523948228011112847641996718199985854240080628919802362640399110051898162724824317818261364212713700489111597445034735841096791394327255793144058953195735979255500681924093541926831189788447649230578028685481620774124541447986887063371215612828737445504126792126668657148857503236683061009031834227894258415429287921589180511143738996435527799620992980171024451696472280596148440944281496867205466579292102064584627624844059750272925405354554066059151128068182475799175855368825868213358066934288301931674983194054960742317651833552973708808881910338838345542145264765898053131702059650549357606838287325340289387338408913385535893886714355696265487136313792844870657000048778550907660131170169196949772576143001970534269000129551652259270309414085916988259345450654231755769332790515097058768942990226930104365502416860783560820200449893859249931234806018277040296124168962543112148860257600688481559980411497683432824145220164517165997579803724329970568624171534145108295351525433823042298431240998007285783230419554891207375060543510607394601686931260481820447969808335093135230669556458848965869216999961109987701112341252207144256371116432373965527211436350745655394591331150598252972160705044878744871484910228534957910691064403852977804710244538481813699138213659653339275611648406229737886328767423865117681369432536215587083995492330210172798442889637226014994625989561574588601421333274595463797104992474629991099861932756621419495495405765208499233572353593074733868425972830020452653663067369023435701144923013403871827289068250977517639522789409484077694583144041361237711090957468634825318848551379966508312723990041493498719791130622004598057867576567891051883296321947920861036378636514729735231907303987404597374703868956022462415212420325789494042626505281612735220986653006048888511362581717435371039913631944528291501460608923648672914601585921967188124757125344317703937649230821850636384448223099780953302579796292677875257778468851126567553581469246021319544960826644051968402591744261588513164445657965940717705558704258543335633128183315746790982000579813647720549072223968993467989917673879678844548251906676970220926428362511759391433703233215176039199632190524844308724816272160410355481266901628572919459868565657438503339416812514250438463084983815421620914256549502324908884424934281168435532138447015535715258297609688709054569383439820034828472582159644295823055633074416746134770655298623034719278834188231734114668743179725352295989446697073069344857563690739037049278316557475927738737681615158535249690255061642416434817023661768107174850685406019298384505190453044613097813590727922659746647738899719913130078946719179339660677075127986395537833954042452806489362197558359643104252387826497603162973481018827096019804523724847046688868192045410082616697235007542285962639924253707390612116240434441128291157335037012457182213272323708616452296731042970711067461280235134236002858695531753968175124106320804135459390446109669966478159704060563506181403707688416868169080661314791585974728406832300399643607846142866759087084590577784096852079432351131369102485504601677190773665981596065166223880159006138833851025029096120377258906541252850745008188127036411317045308617234517024191126160909495821392377088832022548449894577662876483116921024078485949495409554495373495342331917477879119788799596739500183434179302468595903421937323444849480084360269472353307468717718324397712922859675816461109527533295943034070618257615723009907252469916924132617353375481761656902869750293808179968810011071675793631491498202932853353566516816423433918862843554287031198832855618499602506805287176016649369215789890209536064208600299226402676290909335792544450683179984564175134283121125758322544949509592831146666893048765624758182653764547093317030848875054728160083041033955938506957214728755847197703863949529294238725901458427019571541623715494653907889611441813969368000790463246411446431612340939543700411453292046585461493875828909795573096183585506418067409568180875736564414832338668331010627615504854843089346893755163833451735521144821679317100077865644161621459010971475120902250653433175408238659413990812927762654519947486032244327033609530661696819666182904798969057257159838286801225648457403349080630224156335329835097790128341827772842174452235131580908267793413885002412433428838679896127481621195870437484369662997180833944686342545797784003038703979723571373495536057069761720595719041278445778799489897746446520345342478328878903751407576597082237518665984288008565417253531990495082105349693279251597485400990563279583001346515382963172126274274114228977154850317654739075510341877812142049033709248540431649349360454171857279928430256433966733013145456436453374034071420668530658148198819133094346791079393090741343442016940729023666239019286151408400528278839425013509128101259022884440623796360287654020200398177094670039707457235174332024124664337320742741655828930693357264662990969423972123852010156171341704035136486958408893037771544412995248384536236789986239406135570529193547736751446652499020231458367257939760308331544450404960904624836354605802843544426212322102471702025143190694498888762614176508081383535052117726124871948968682776384901642196308919729933511513745488301542286919679720534843903454266552533755270812908449558914765990354332642432924466305706697502528535953499313358853960861654521896826198605022852758763642332092119002664068009912423678833331096877705597367614868450431587131210782133750039973358248976763116711215345617569037540747557335948726717873946853790465773286983503448015325903130697706427689220182977510925119060478031366272210173341177509911802513214873693482766601743162906664603790344195 79221136326288413549090453617582214988603149380032775393045753873679347103737428810698791647263113706575282689198477135930652137291317188670030006057926509831856472550143054466006425134587034426949120010210832597783143689081004098970652114673282224426184172485773967049733965817226715156969648131835381010189470025770375559444559659305270898952170617343578663720139463438305206193729450577009951868047317341521679722886752217921827822705466305632297648679105292595306982225729633137305184703173136534319068330149229142960259210328722455601450057473003629441834416962669954405564521304502500726298911194393554191501157954017925309977598836623748100506311537547090223313424323313673085311409323919977212070953990949404412305207140907616619412378270976434206887105501661848469182736298770557698748104969475842500166345456724876246803841548685455561851856586967869889986216391448174596518073583228454703935275996041071738034755239225816281721293011288588359444337681021846829274952700086230836341401062887321604178406708278357480439226036171803414304571700770050264769130291420603534822495795966981715612394351588510056912232508637273573895372779156159436797233748213294951636931736322625278881149941049169682180025310119656903852664689348405476728233436921288688205034751242856813863451202798101231235894933014025474654357904163264189792879110990531247061528782494741231885291482973616690359904394443018958369073484128300703937149692838128916254439952768266768999800895221352172804608885628145520829329108509888656265795056847497582709463200002373315731960683089450281141672128908771066872542843950397795050900482861371828770525181267955544208230938560999841196913163882946371552828126583680248944964520944418180558701521838650855170095150234372062727397690674991347946365752214498420657007149585319909260780872426315558079608099072865828174703417406185318728278145026184310672633645641700732291542811057990742838365066341014265183949971790930431087121056345347741501667746148234688653065189269356885872908647581204650438736957716528711548574555583977239301969823515430537595181395319473570033411789209713074292228145962019286962544117035974563318921268241513986555088394502711032433789248734183877010959345104750102614262227563661010217640141350231316347211768763385670337883433049195056061300162041862964241528184097908283230852906666992480893473206747006312106694438401261591124362380788902882710265313013071263115504159140550179707220633782158597940373880726872858838789886163551228708805088540541574505134133745949431125107024728689987177439066224173647204385151471810845156172459609697201263898819372465925856032821983943945509201296896112993390414319772317613998628115011584901662481020736975231857679558573639533120123760882987807897148264001476729480741158503008405824181375825684426593602078107066384305742314153383784825815001170364503279303283157714730965700730790958163526085614077255893030881612578737162635171062435305862363661501175783671862584712802832632731639923317926092501167046294294878922434436385815597766578254085927198853219424480746368612964091254086956730350365974846418411767133289280026522101904776721397535481072023153960396155426365282526318432948840966649466716318812335304612541684202901596339076117983534399558629308180937552570931412127563964839611720473046765641026358839977096301838517860717992220124429055320994261412222457829626748188314831526678529121257451724121669436757611557692716596947663821034873517375372433749628434475153359120061495211777091719559441963916844642691242108239222713715540944215042751815205832903182816602051553000809853471087600226541940973229542173962641860015572714026730877762563780111880467244618055586935195897209646109126685288690235443479134420307287200865787784854857681194140932834097813623138157320433948668365280904196167520730495552269155400544459597418276177569668057444229387270850059959177577695113400939572251098823419194625556857107173746511343007800181920881221537624681494893301655822089723344553388000429323171176866004751029713971505534118999127107434111180853160547174861752751626348577776330731649967976997705926985766161797485058129327581956292771787829660210103007587578438303364646280346294247633981629844834860981910926589933525586410278385574288166108654586815838726812632990143066979317344762104354343375257570333883689617990419862704229988727473561686512974943917017701629021694931065627383970151448161079270422835544949285326099262830853904796892448341901343021226214704238492700377380756779821477303617108015181033663888382907694701687086758887917099855028808021759693299993928761037883200478548527383654940830627162960534839519753768771304564445702228660676511638525909100219792667017787855759149034626623398581454820469088953474304671180584117170375107299218857538863644099680063025446314779087962590928803576169825639877210091913953351078907222584306551857008399547716236951520432306368855405563331758063509346439969963192969308936226062923426688246041671272845075445462096707328610949341325449158353742604022908568946203933963643988238016251082863396042138900397422551647696827175988389556639458939949446524753736368453580244135105014317368938795421424241169688445192369547807720902472510058532210500190676908416490365999594117212594539752865691344940629371386945400149172429767490208830567907361799732482813964175917940399926984637762837734833459842745195607883737248217715147010664746624865860107174027680587247982043006696208521522681495053640549260909058244066831466386395550275703967451187984628361840304549620598007584604056652075292109056084955460757631045962710468974190271314358635494727254653928324003353839691189913153372830283101267409306943828090830937214893815925580078330686328742776609556460072981273554977224301651716046982335341896599200489741066102393484018972841466743047289295775671416546171942449273730018102329884754306147198475343597045689433842671468209541017943478180739831881650778966557553896529865161244407229829547727716931459459359559840553017703654746156616071691286614296466768069668800344909496623755249308151433068017415932042402097203261108808555885215825105468494713684598721648229183118676788358693974111182614492214872927357569277835129060640219341798931965723310239741977694394948416720292490078649040773942984422921245511852420706674819914354346020104887798142515274317061947997836595134419034230582330000240717127925526964112060319439249076892237808670839725453914016230218699443944340117528267723797972780319883977386476469029456738893211705543189528568137121573530047359055999267493785987462058075025437911796049705063581773663851013087176643772751648150048981936401280117985710232762186707399038083284214490009351252797025675234031663328726764953673595105495179812315052867907929540377789168697586451635338020604541532555456767223921372800748040195290633117401248117419768580554561920679552566002835202485597492704090494964420701053820178654505444932328959627731270218760735536157010176515686945610256645425466090751077063124240264202269417785796090050755625809976411130855080982514771006405019239084453063860469309363801560732448786594182631965426855620770324661738005715385915570566785767487246135064276153153759997114083896415651122260662526196811934588460728906851527212560414251230489996405218070314736073129676329566820684536684171651336809291777117985968335713633891342587678051190608132314213884936083558677694435789223952611566992819476705878074764002787217694166299949376281231412882322206987374652542436733768892535513131102546959338123452241057528223073307768102485716978811877380836416402793916906204056848362602583858587799671063183493736976342561580071402353708559999242811554741824392329109504518229810589936161848694495394989078505170054301833167574488999685417558644273661508773537637981961957984792817571894810151022150547618198149075642735541126296201993828633364656909410149851951595803219323557352758303156050734384212094939255739820941934884266839134997303995322823215069858545696315120342019702518376737457847075422833609547002365123843075643015383498457754484535198820719152172552391062084109456195267364880915037694355867535475716959456974814296043410930981650961631016607387504592652367302782535421937637661372747413198635813871372955291153837003764892214570085570425957184949391279047951885927105994402548962365475639942412116192038687450221895241768677287554938141140104080214294382146803429298709644350336820810077286914588926227332794609803525379770309789366482715491677332422658938068884123176801629354440421212341249014134107326180610680159589007947653882219813134645968624107250575125766006962591815762470229495361601560447159368208493962780049186984228166796792953581542749324663701473984707525536374661479614593173052043467258730505397958757517048679043709555117136847520835937727846034818459509505968569561640501633538002951685677658453700780995472650097844105771121176542567666472915935659895363457036650495500315381213781656630651058193300564850194107824559354050907613263433447134245936110081294087980183901841868569834102951605113985102702574503134563661489803117882501774544796411708510598634828765358263065954367069982829061211021319154234231505020565550265511430978433260352023923242725444468300700379120792896552063867819454509409847360220160225898163469405630937816664742083227109521241191459649627059244503802064886747666586992067262537932482591511828983160758903941627135177441671297217952186909720765757172069021248609888042204884148250442720829914829566064531716170835027008348907733533199583767922956828037492979711527925747153139364500573829531580750159815842766777948133435121844659456337848260159990186320354013431173770018894243132189838566288123058659669603088143868118546664490074354240051579825260190932977319065953785372139716567573294527268103825314263684763355326490530706394742429719766894118537850347739213350481304400991206260374884728430342569941156073036720381921215037764474384167946687650854838413496688263808658128622126405042347278636920072686075794168093150348990814812843596864619140305297198950566391285496038929258759391060652097864480694083354601317794438332337379458327425272558604296034920828942395797704350760545713242712650295620720480266695027666991950244529279313359307184545911652854607987807652986645496026716947536417215612871365512578375754072529384924508720861219936489809211203818311944253049677116385442579755323008904791994012496568602105634936557602112891222255815968208726460763908935319398537462319222352255330284191400510937420961175564065290566834839984065131575926030604764559525484870734749719528714771458256355741055774645543217420803544635560577601086392076222338719457169263398772048976940974467070861441289928116114822379840108596537462836610078114384265222441942194716220604610140785522209755139397733927411986230276978703634852253352842022242600934585431160196716177947048411252481870275891670108929136226858123842466618635286446211546416170022232310277708477106741642518964712784286913799970144671504373724583892442112497876502732662490966289876004595235484314466115186871841219982663670004329696331736833210973276693373847197155177400173404324040554503800043998543964753167354301398443594022081940824816410044369039158042339692563911582839710484722124067650472244306310825431696389062650108246970517592940351132396721382185326792077105099924715887893343594565171565538863544092477718216102419627260239221503871283929077578430077879552461168013575739019074659261015668694109748101523463971688743384750132252193744487530010432140663448060994862324221352177117091692094628128298303362593459421987497960525231874745909583672472115107069268107174241116087881881019570656894743427112230837464729747697287904400461590825567248163889426860244245125160649191818265856685696552603720649580279665210466735030772562224321647428767632205792907103522857500975846124533794485829388172460541838137807012917830058830599361560898689070941180492898899260714003360024425748810372423730833791663083240112960927403701290646454922124827245129489426572579849373823425089687526885449333112091199298595114972391533749953602866527716710260124896795530978681337873050346765409250024915767233853701372846694845302647660951562615461568624145939053205986352780877785504030782975749829320672131639847922952281937687807201663461521327704240311694177696896118243268002366769685019056410577468389387982304047935418402259740514853027590036741912357709317665544120419882073293232311077044681467068692078887192123162368975908397824952247513326863502917499638855245220253501440282089710886902088110314515119921897082899269502687200926510126785605589389971953891466571940655793341267576712702044221565301601582038054280635622775053891017862578168874712354569122595424188041364748533014273541620996902412317659304369126274940673760282393297296303605167965899360908473162497377625185238410611118623494106245618536249893057276554911179490509343490281569326320305727171387833588485502972865577590967716357968488698688366623916015925132522948757655665068523523398272426656763846601941044889777084329092351207003832111593986978874097826082333661521108604410795481934991712378889677120921380733180630953797228124436925901747310315082957987070479333014629016302597871979321110212016441175718117901992216429519562311775794723637051256769505374760360763420681191684281565703673512787503060410833524367577637189186127532357886671122588818257749537642741987311408806312149471966994444684490304692708403471108110071013861762043913009486567909615925856915111145157587139482174798470731364948860152215731708795013958641768504540907285026130803275489526748381597866585764901884965780165679560003859916511155593093937941342191408690570473464773303722588426369819739204909387442499777940226401837163549251666274278346270313040476274971039622891624000180029613725006476509403364326406391246489782009042296085561666625021390407234492476625340898666542026879772764965458833327273469640863858589506881152715997066880840404844786136002429799197513670678167918505711408986264171415473963739819897153319682352157242436699086438293839144783613290126856940433221400089631527568339999647274484053449187231193586513478553961120261523697898522345257679117226529948644856349013870383469132183523948228011112847641996718199985854240080628919802362640399110051898162724824317818261364212713700489111597445034735841096791394327255793144058953195735979255500681924093541926831189788447649230578028685481620774124541447986887063371215612828737445504126792126668657148857503236683061009031834227894258415429287921589180511143738996435527799620992980171024451696472280596148440944281496867205466579292102064584627624844059750272925405354554066059151128068182475799175855368825868213358066934288301931674983194054960742317651833552973708808881910338838345542145264765898053131702059650549357606838287325340289387338408913385535893886714355696265487136313792844870657000048778550907660131170169196949772576143001970534269000129551652259270309414085916988259345450654231755769332790515097058768942990226930104365502416860783560820200449893859249931234806018277040296124168962543112148860257600688481559980411497683432824145220164517165997579803724329970568624171534145108295351525433823042298431240998007285783230419554891207375060543510607394601686931260481820447969808335093135230669556458848965869216999961109987701112341252207144256371116432373965527211436350745655394591331150598252972160705044878744871484910228534957910691064403852977804710244538481813699138213659653339275611648406229737886328767423865117681369432536215587083995492330210172798442889637226014994625989561574588601421333274595463797104992474629991099861932756621419495495405765208499233572353593074733868425972830020452653663067369023435701144923013403871827289068250977517639522789409484077694583144041361237711090957468634825318848551379966508312723990041493498719791130622004598057867576567891051883296321947920861036378636514729735231907303987404597374703868956022462415212420325789494042626505281612735220986653006048888511362581717435371039913631944528291501460608923648672914601585921967188124757125344317703937649230821850636384448223099780953302579796292677875257778468851126567553581469246021319544960826644051968402591744261588513164445657965940717705558704258543335633128183315746790982000579813647720549072223968993467989917673879678844548251906676970220926428362511759391433703233215176039199632190524844308724816272160410355481266901628572919459868565657438503339416812514250438463084983815421620914256549502324908884424934281168435532138447015535715258297609688709054569383439820034828472582159644295823055633074416746134770655298623034719278834188231734114668743179725352295989446697073069344857563690739037049278316557475927738737681615158535249690255061642416434817023661768107174850685406019298384505190453044613097813590727922659746647738899719913130078946719179339660677075127986395537833954042452806489362197558359643104252387826497603162973481018827096019804523724847046688868192045410082616697235007542285962639924253707390612116240434441128291157335037012457182213272323708616452296731042970711067461280235134236002858695531753968175124106320804135459390446109669966478159704060563506181403707688416868169080661314791585974728406832300399643607846142866759087084590577784096852079432351131369102485504601677190773665981596065166223880159006138833851025029096120377258906541252850745008188127036411317045308617234517024191126160909495821392377088832022548449894577662876483116921024078485949495409554495373495342331917477879119788799596739500183434179302468595903421937323444849480084360269472353307468717718324397712922859675816461109527533295943034070618257615723009907252469916924132617353375481761656902869750293808179968810011071675793631491498202932853353566516816423433918862843554287031198832855618499602506805287176016649369215789890209536064208600299226402676290909335792544450683179984564175134283121125758322544949509592831146666893048765624758182653764547093317030848875054728160083041033955938506957214728755847197703863949529294238725901458427019571541623715494653907889611441813969368000790463246411446431612340939543700411453292046585461493875828909795573096183585506418067409568180875736564414832338668331010627615504854843089346893755163833451735521144821679317100077865644161621459010971475120902250653433175408238659413990812927762654519947486032244327033609530661696819666182904798969057257159838286801225648457403349080630224156335329835097790128341827772842174452235131580908267793413885002412433428838679896127481621195870437484369662997180833944686342545797784003038703979723571373495536057069761720595719041278445778799489897746446520345342478328878903751407576597082237518665984288008565417253531990495082105349693279251597485400990563279583001346515382963172126274274114228977154850317654739075510341877812142049033709248540431649349360454171857279928430256433966733013145456436453374034071420668530658148198819133094346791079393090741343442016940729023666239019286151408400528278839425013509128101259022884440623796360287654020200398177094670039707457235174332024124664337320742741655828930693357264662990969423972123852010156171341704035136486958408893037771544412995248384536236789986239406135570529193547736751446652499020231458367257939760308331544450404960904624836354605802843544426212322102471702025143190694498888762614176508081383535052117726124871948968682776384901642196308919729933511513745488301542286919679720534843903454266552533755270812908449558914765990354332642432924466305706697502528535953499313358853960861654521896826198605022852758763642332092119002664068009912423678833331096877705597367614868450431587131210782133750039973358248976763116711215345617569037540747557335948726717873946853790465773286983503448015325903130697706427689220182977510925119060478031366272210173341177509911802513214873693482766601743162906664603790344195 79221136326288413549090453617582214988603149380032775393045753873679347103737428810698791647263113706575282689198477135930652137291317188670030006057926509831856472550143054466006425134587034426949120010210832597783143689081004098970652114673282224426184172485773967049733965817226715156969648131835381010189470025770375559444559659305270898952170617343578663720139463438305206193729450577009951868047317341521679722886752217921827822705466305632297648679105292595306982225729633137305184703173136534319068330149229142960259210328722455601450057473003629441834416962669954405564521304502500726298911194393554191501157954017925309977598836623748100506311537547090223313424323313673085311409323919977212070953990949404412305207140907616619412378270976434206887105501661848469182736298770557698748104969475842500166345456724876246803841548685455561851856586967869889986216391448174596518073583228454703935275996041071738034755239225816281721293011288588359444337681021846829274952700086230836341401062887321604178406708278357480439226036171803414304571700770050264769130291420603534822495795966981715612394351588510056912232508637273573895372779156159436797233748213294951636931736322625278881149941049169682180025310119656903852664689348405476728233436921288688205034751242856813863451202798101231235894933014025474654357904163264189792879110990531247061528782494741231885291482973616690359904394443018958369073484128300703937149692838128916254439952768266768999800895221352172804608885628145520829329108509888656265795056847497582709463200002373315731960683089450281141672128908771066872542843950397795050900482861371828770525181267955544208230938560999841196913163882946371552828126583680248944964520944418180558701521838650855170095150234372062727397690674991347946365752214498420657007149585319909260780872426315558079608099072865828174703417406185318728278145026184310672633645641700732291542811057990742838365066341014265183949971790930431087121056345347741501667746148234688653065189269356885872908647581204650438736957716528711548574555583977239301969823515430537595181395319473570033411789209713074292228145962019286962544117035974563318921268241513986555088394502711032433789248734183877010959345104750102614262227563661010217640141350231316347211768763385670337883433049195056061300162041862964241528184097908283230852906666992480893473206747006312106694438401261591124362380788902882710265313013071263115504159140550179707220633782158597940373880726872858838789886163551228708805088540541574505134133745949431125107024728689987177439066224173647204385151471810845156172459609697201263898819372465925856032821983943945509201296896112993390414319772317613998628115011584901662481020736975231857679558573639533120123760882987807897148264001476729480741158503008405824181375825684426593602078107066384305742314153383784825815001170364503279303283157714730965700730790958163526085614077255893030881612578737162635171062435305862363661501175783671862584712802832632731639923317926092501167046294294878922434436385815597766578254085927198853219424480746368612964091254086956730350365974846418411767133289280026522101904776721397535481072023153960396155426365282526318432948840966649466716318812335304612541684202901596339076117983534399558629308180937552570931412127563964839611720473046765641026358839977096301838517860717992220124429055320994261412222457829626748188314831526678529121257451724121669436757611557692716596947663821034873517375372433749628434475153359120061495211777091719559441963916844642691242108239222713715540944215042751815205832903182816602051553000809853471087600226541940973229542173962641860015572714026730877762563780111880467244618055586935195897209646109126685288690235443479134420307287200865787784854857681194140932834097813623138157320433948668365280904196167520730495552269155400544459597418276177569668057444229387270850059959177577695113400939572251098823419194625556857107173746511343007800181920881221537624681494893301655822089723344553388000429323171176866004751029713971505534118999127107434111180853160547174861752751626348577776330731649967976997705926985766161797485058129327581956292771787829660210103007587578438303364646280346294247633981629844834860981910926589933525586410278385574288166108654586815838726812632990143066979317344762104354343375257570333883689617990419862704229988727473561686512974943917017701629021694931065627383970151448161079270422835544949285326099262830853904796892448341901343021226214704238492700377380756779821477303617108015181033663888382907694701687086758887917099855028808021759693299993928761037883200478548527383654940830627162960534839519753768771304564445702228660676511638525909100219792667017787855759149034626623398581454820469088953474304671180584117170375107299218857538863644099680063025446314779087962590928803576169825639877210091913953351078907222584306551857008399547716236951520432306368855405563331758063509346439969963192969308936226062923426688246041671272845075445462096707328610949341325449158353742604022908568946203933963643988238016251082863396042138900397422551647696827175988389556639458939949446524753736368453580244135105014317368938795421424241169688445192369547807720902472510058532210500190676908416490365999594117212594539752865691344940629371386945400149172429767490208830567907361799732482813964175917940399926984637762837734833459842745195607883737248217715147010664746624865860107174027680587247982043006696208521522681495053640549260909058244066831466386395550275703967451187984628361840304549620598007584604056652075292109056084955460757631045962710468974190271314358635494727254653928324003353839691189913153372830283101267409306943828090830937214893815925580078330686328742776609556460072981273554977224301651716046982335341896599200489741066102393484018972841466743047289295775671416546171942449273730018102329884754306147198475343597045689433842671468209541017943478180739831881650778966557553896529865161244407229829547727716931459459359559840553017703654746156616071691286614296466768069668800344909496623755249308151433068017415932042402097203261108808555885215825105468494713684598721648229183118676788358693974111182614492214872927357569277835129060640219341798931965723310239741977694394948416720292490078649040773942984422921245511852420706674819914354346020104887798142515274317061947997836595134419034230582330000240717127925526964112060319439249076892237808670839725453914016230218699443944340117528267723797972780319883977386476469029456738893211705543189528568137121573530047359055999267493785987462058075025437911796049705063581773663851013087176643772751648150048981936401280117985710232762186707399038083284214490009351252797025675234031663328726764953673595105495179812315052867907929540377789168697586451635338020604541532555456767223921372800748040195290633117401248117419768580554561920679552566002835202485597492704090494964420701053820178654505444932328959627731270218760735536157010176515686945610256645425466090751077063124240264202269417785796090050755625809976411130855080982514771006405019239084453063860469309363801560732448786594182631965426855620770324661738005715385915570566785767487246135064276153153759997114083896415651122260662526196811934588460728906851527212560414251230489996405218070314736073129676329566820684536684171651336809291777117985968335713633891342587678051190608132314213884936083558677694435789223952611566992819476705878074764002787217694166299949376281231412882322206987374652542436733768892535513131102546959338123452241057528223073307768102485716978811877380836416402793916906204056848362602583858587799671063183493736976342561580071402353708559999242811554741824392329109504518229810589936161848694495394989078505170054301833167574488999685417558644273661508773537637981961957984792817571894810151022150547618198149075642735541126296201993828633364656909410149851951595803219323557352758303156050734384212094939255739820941934884266839134997303995322823215069858545696315120342019702518376737457847075422833609547002365123843075643015383498457754484535198820719152172552391062084109456195267364880915037694355867535475716959456974814296043410930981650961631016607387504592652367302782535421937637661372747413198635813871372955291153837003764892214570085570425957184949391279047951885927105994402548962365475639942412116192038687450221895241768677287554938141140104080214294382146803429298709644350336820810077286914588926227332794609803525379770309789366482715491677332422658938068884123176801629354440421212341249014134107326180610680159589007947653882219813134645968624107250575125766006962591815762470229495361601560447159368208493962780049186984228166796792953581542749324663701473984707525536374661479614593173052043467258730505397958757517048679043709555117136847520835937727846034818459509505968569561640501633538002951685677658453700780995472650097844105771121176542567666472915935659895363457036650495500315381213781656630651058193300564850194107824559354050907613263433447134245936110081294087980183901841868569834102951605113985102702574503134563661489803117882501774544796411708510598634828765358263065954367069982829061211021319154234231505020565550265511430978433260352023923242725444468300700379120792896552063867819454509409847360220160225898163469405630937816664742083227109521241191459649627059244503802064886747666586992067262537932482591511828983160758903941627135177441671297217952186909720765757172069021248609888042204884148250442720829914829566064531716170835027008348907733533199583767922956828037492979711527925747153139364500573829531580750159815842766777948133435121844659456337848260159990186320354013431173770018894243132189838566288123058659669603088143868118546664490074354240051579825260190932977319065953785372139716567573294527268103825314263684763355326490530706394742429719766894118537850347739213350481304400991206260374884728430342569941156073036720381921215037764474384167946687650854838413496688263808658128622126405042347278636920072686075794168093150348990814812843596864619140305297198950566391285496038929258759391060652097864480694083354601317794438332337379458327425272558604296034920828942395797704350760545713242712650295620720480266695027666991950244529279313359307184545911652854607987807652986645496026716947536417215612871365512578375754072529384924508720861219936489809211203818311944253049677116385442579755323008904791994012496568602105634936557602112891222255815968208726460763908935319398537462319222352255330284191400510937420961175564065290566834839984065131575926030604764559525484870734749719528714771458256355741055774645543217420803544635560577601086392076222338719457169263398772048976940974467070861441289928116114822379840108596537462836610078114384265222441942194716220604610140785522209755139397733927411986230276978703634852253352842022242600934585431160196716177947048411252481870275891670108929136226858123842466618635286446211546416170022232310277708477106741642518964712784286913799970144671504373724583892442112497876502732662490966289876004595235484314466115186871841219982663670004329696331736833210973276693373847197155177400173404324040554503800043998543964753167354301398443594022081940824816410044369039158042339692563911582839710484722124067650472244306310825431696389062650108246970517592940351132396721382185326792077105099924715887893343594565171565538863544092477718216102419627260239221503871283929077578430077879552461168013575739019074659261015668694109748101523463971688743384750132252193744487530010432140663448060994862324221352177117091692094628128298303362593459421987497960525231874745909583672472115107069268107174241116087881881019570656894743427112230837464729747697287904400461590825567248163889426860244245125160649191818265856685696552603720649580279665210466735030772562224321647428767632205792907103522857500975846124533794485829388172460541838137807012917830058830599361560898689070941180492898899260714003360024425748810372423730833791663083240112960927403701290646454922124827245129489426572579849373823425089687526885449333112091199298595114972391533749953602866527716710260124896795530978681337873050346765409250024915767233853701372846694845302647660951562615461568624145939053205986352780877785504030782975749829320672131639847922952281937687807201663461521327704240311694177696896118243268002366769685019056410577468389387982304047935418402259740514853027590036741912357709317665544120419882073293232311077044681467068692078887192123162368975908397824952247513326863502917499638855245220253501440282089710886902088110314515119921897082899269502687200926510126785605589389971953891466571940655793341267576712702044221565301601582038054280635622775053891017862578168874712354569122595424188041364748533014273541620996902412317659304369126274940673760282393297296303605167965899360908473162497377625185238410611118623494106245618536249893057276554911179490509343490281569326320305727171387833588485502972865577590967716357968488698688366623916015925132522948757655665068523523398272426656763846601941044889777084329092351207003832111593986978874097826082333661521108604410795481934991712378889677120921380733180630953797228124436925901747310315082957987070479333014629016302597871979321110212016441175718117901992216429519562311775794723637051256769505374760360763420681191684281565703673512787503060410833524367577637189186127532357886671122588818257749537642741987311408806312149471966994444684490304692708403471108110071013861762043913009486567909615925856915111145157587139482174798470731364948860152215731708795013958641768504540907285026130803275489526748381597866585764901884965780165679560003859916511155593093937941342191408690570473464773303722588426369819739204909387442499777940226401837163549251666274278346270313040476274971039622891624000180029613725006476509403364326406391246489782009042296085561666625021390407234492476625340898666542026879772764965458833327273469640863858589506881152715997066880840404844786136002429799197513670678167918505711408986264171415473963739819897153319682352157242436699086438293839144783613290126856940433221400089631527568339999647274484053449187231193586513478553961120261523697898522345257679117226529948644856349013870383469132183523948228011112847641996718199985854240080628919802362640399110051898162724824317818261364212713700489111597445034735841096791394327255793144058953195735979255500681924093541926831189788447649230578028685481620774124541447986887063371215612828737445504126792126668657148857503236683061009031834227894258415429287921589180511143738996435527799620992980171024451696472280596148440944281496867205466579292102064584627624844059750272925405354554066059151128068182475799175855368825868213358066934288301931674983194054960742317651833552973708808881910338838345542145264765898053131702059650549357606838287325340289387338408913385535893886714355696265487136313792844870657000048778550907660131170169196949772576143001970534269000129551652259270309414085916988259345450654231755769332790515097058768942990226930104365502416860783560820200449893859249931234806018277040296124168962543112148860257600688481559980411497683432824145220164517165997579803724329970568624171534145108295351525433823042298431240998007285783230419554891207375060543510607394601686931260481820447969808335093135230669556458848965869216999961109987701112341252207144256371116432373965527211436350745655394591331150598252972160705044878744871484910228534957910691064403852977804710244538481813699138213659653339275611648406229737886328767423865117681369432536215587083995492330210172798442889637226014994625989561574588601421333274595463797104992474629991099861932756621419495495405765208499233572353593074733868425972830020452653663067369023435701144923013403871827289068250977517639522789409484077694583144041361237711090957468634825318848551379966508312723990041493498719791130622004598057867576567891051883296321947920861036378636514729735231907303987404597374703868956022462415212420325789494042626505281612735220986653006048888511362581717435371039913631944528291501460608923648672914601585921967188124757125344317703937649230821850636384448223099780953302579796292677875257778468851126567553581469246021319544960826644051968402591744261588513164445657965940717705558704258543335633128183315746790982000579813647720549072223968993467989917673879678844548251906676970220926428362511759391433703233215176039199632190524844308724816272160410355481266901628572919459868565657438503339416812514250438463084983815421620914256549502324908884424934281168435532138447015535715258297609688709054569383439820034828472582159644295823055633074416746134770655298623034719278834188231734114668743179725352295989446697073069344857563690739037049278316557475927738737681615158535249690255061642416434817023661768107174850685406019298384505190453044613097813590727922659746647738899719913130078946719179339660677075127986395537833954042452806489362197558359643104252387826497603162973481018827096019804523724847046688868192045410082616697235007542285962639924253707390612116240434441128291157335037012457182213272323708616452296731042970711067461280235134236002858695531753968175124106320804135459390446109669966478159704060563506181403707688416868169080661314791585974728406832300399643607846142866759087084590577784096852079432351131369102485504601677190773665981596065166223880159006138833851025029096120377258906541252850745008188127036411317045308617234517024191126160909495821392377088832022548449894577662876483116921024078485949495409554495373495342331917477879119788799596739500183434179302468595903421937323444849480084360269472353307468717718324397712922859675816461109527533295943034070618257615723009907252469916924132617353375481761656902869750293808179968810011071675793631491498202932853353566516816423433918862843554287031198832855618499602506805287176016649369215789890209536064208600299226402676290909335792544450683179984564175134283121125758322544949509592831146666893048765624758182653764547093317030848875054728160083041033955938506957214728755847197703863949529294238725901458427019571541623715494653907889611441813969368000790463246411446431612340939543700411453292046585461493875828909795573096183585506418067409568180875736564414832338668331010627615504854843089346893755163833451735521144821679317100077865644161621459010971475120902250653433175408238659413990812927762654519947486032244327033609530661696819666182904798969057257159838286801225648457403349080630224156335329835097790128341827772842174452235131580908267793413885002412433428838679896127481621195870437484369662997180833944686342545797784003038703979723571373495536057069761720595719041278445778799489897746446520345342478328878903751407576597082237518665984288008565417253531990495082105349693279251597485400990563279583001346515382963172126274274114228977154850317654739075510341877812142049033709248540431649349360454171857279928430256433966733013145456436453374034071420668530658148198819133094346791079393090741343442016940729023666239019286151408400528278839425013509128101259022884440623796360287654020200398177094670039707457235174332024124664337320742741655828930693357264662990969423972123852010156171341704035136486958408893037771544412995248384536236789986239406135570529193547736751446652499020231458367257939760308331544450404960904624836354605802843544426212322102471702025143190694498888762614176508081383535052117726124871948968682776384901642196308919729933511513745488301542286919679720534843903454266552533755270812908449558914765990354332642432924466305706697502528535953499313358853960861654521896826198605022852758763642332092119002664068009912423678833331096877705597367614868450431587131210782133750039973358248976763116711215345617569037540747557335948726717873946853790465773286983503448015325903130697706427689220182977510925119060478031366272210173341177509911802513214873693482766601743162906664603790344195 79221136326288413549090453617582214988603149380032775393045753873679347103737428810698791647263113706575282689198477135930652137291317188670030006057926509831856472550143054466006425134587034426949120010210832597783143689081004098970652114673282224426184172485773967049733965817226715156969648131835381010189470025770375559444559659305270898952170617343578663720139463438305206193729450577009951868047317341521679722886752217921827822705466305632297648679105292595306982225729633137305184703173136534319068330149229142960259210328722455601450057473003629441834416962669954405564521304502500726298911194393554191501157954017925309977598836623748100506311537547090223313424323313673085311409323919977212070953990949404412305207140907616619412378270976434206887105501661848469182736298770557698748104969475842500166345456724876246803841548685455561851856586967869889986216391448174596518073583228454703935275996041071738034755239225816281721293011288588359444337681021846829274952700086230836341401062887321604178406708278357480439226036171803414304571700770050264769130291420603534822495795966981715612394351588510056912232508637273573895372779156159436797233748213294951636931736322625278881149941049169682180025310119656903852664689348405476728233436921288688205034751242856813863451202798101231235894933014025474654357904163264189792879110990531247061528782494741231885291482973616690359904394443018958369073484128300703937149692838128916254439952768266768999800895221352172804608885628145520829329108509888656265795056847497582709463200002373315731960683089450281141672128908771066872542843950397795050900482861371828770525181267955544208230938560999841196913163882946371552828126583680248944964520944418180558701521838650855170095150234372062727397690674991347946365752214498420657007149585319909260780872426315558079608099072865828174703417406185318728278145026184310672633645641700732291542811057990742838365066341014265183949971790930431087121056345347741501667746148234688653065189269356885872908647581204650438736957716528711548574555583977239301969823515430537595181395319473570033411789209713074292228145962019286962544117035974563318921268241513986555088394502711032433789248734183877010959345104750102614262227563661010217640141350231316347211768763385670337883433049195056061300162041862964241528184097908283230852906666992480893473206747006312106694438401261591124362380788902882710265313013071263115504159140550179707220633782158597940373880726872858838789886163551228708805088540541574505134133745949431125107024728689987177439066224173647204385151471810845156172459609697201263898819372465925856032821983943945509201296896112993390414319772317613998628115011584901662481020736975231857679558573639533120123760882987807897148264001476729480741158503008405824181375825684426593602078107066384305742314153383784825815001170364503279303283157714730965700730790958163526085614077255893030881612578737162635171062435305862363661501175783671862584712802832632731639923317926092501167046294294878922434436385815597766578254085927198853219424480746368612964091254086956730350365974846418411767133289280026522101904776721397535481072023153960396155426365282526318432948840966649466716318812335304612541684202901596339076117983534399558629308180937552570931412127563964839611720473046765641026358839977096301838517860717992220124429055320994261412222457829626748188314831526678529121257451724121669436757611557692716596947663821034873517375372433749628434475153359120061495211777091719559441963916844642691242108239222713715540944215042751815205832903182816602051553000809853471087600226541940973229542173962641860015572714026730877762563780111880467244618055586935195897209646109126685288690235443479134420307287200865787784854857681194140932834097813623138157320433948668365280904196167520730495552269155400544459597418276177569668057444229387270850059959177577695113400939572251098823419194625556857107173746511343007800181920881221537624681494893301655822089723344553388000429323171176866004751029713971505534118999127107434111180853160547174861752751626348577776330731649967976997705926985766161797485058129327581956292771787829660210103007587578438303364646280346294247633981629844834860981910926589933525586410278385574288166108654586815838726812632990143066979317344762104354343375257570333883689617990419862704229988727473561686512974943917017701629021694931065627383970151448161079270422835544949285326099262830853904796892448341901343021226214704238492700377380756779821477303617108015181033663888382907694701687086758887917099855028808021759693299993928761037883200478548527383654940830627162960534839519753768771304564445702228660676511638525909100219792667017787855759149034626623398581454820469088953474304671180584117170375107299218857538863644099680063025446314779087962590928803576169825639877210091913953351078907222584306551857008399547716236951520432306368855405563331758063509346439969963192969308936226062923426688246041671272845075445462096707328610949341325449158353742604022908568946203933963643988238016251082863396042138900397422551647696827175988389556639458939949446524753736368453580244135105014317368938795421424241169688445192369547807720902472510058532210500190676908416490365999594117212594539752865691344940629371386945400149172429767490208830567907361799732482813964175917940399926984637762837734833459842745195607883737248217715147010664746624865860107174027680587247982043006696208521522681495053640549260909058244066831466386395550275703967451187984628361840304549620598007584604056652075292109056084955460757631045962710468974190271314358635494727254653928324003353839691189913153372830283101267409306943828090830937214893815925580078330686328742776609556460072981273554977224301651716046982335341896599200489741066102393484018972841466743047289295775671416546171942449273730018102329884754306147198475343597045689433842671468209541017943478180739831881650778966557553896529865161244407229829547727716931459459359559840553017703654746156616071691286614296466768069668800344909496623755249308151433068017415932042402097203261108808555885215825105468494713684598721648229183118676788358693974111182614492214872927357569277835129060640219341798931965723310239741977694394948416720292490078649040773942984422921245511852420706674819914354346020104887798142515274317061947997836595134419034230582330000240717127925526964112060319439249076892237808670839725453914016230218699443944340117528267723797972780319883977386476469029456738893211705543189528568137121573530047359055999267493785987462058075025437911796049705063581773663851013087176643772751648150048981936401280117985710232762186707399038083284214490009351252797025675234031663328726764953673595105495179812315052867907929540377789168697586451635338020604541532555456767223921372800748040195290633117401248117419768580554561920679552566002835202485597492704090494964420701053820178654505444932328959627731270218760735536157010176515686945610256645425466090751077063124240264202269417785796090050755625809976411130855080982514771006405019239084453063860469309363801560732448786594182631965426855620770324661738005715385915570566785767487246135064276153153759997114083896415651122260662526196811934588460728906851527212560414251230489996405218070314736073129676329566820684536684171651336809291777117985968335713633891342587678051190608132314213884936083558677694435789223952611566992819476705878074764002787217694166299949376281231412882322206987374652542436733768892535513131102546959338123452241057528223073307768102485716978811877380836416402793916906204056848362602583858587799671063183493736976342561580071402353708559999242811554741824392329109504518229810589936161848694495394989078505170054301833167574488999685417558644273661508773537637981961957984792817571894810151022150547618198149075642735541126296201993828633364656909410149851951595803219323557352758303156050734384212094939255739820941934884266839134997303995322823215069858545696315120342019702518376737457847075422833609547002365123843075643015383498457754484535198820719152172552391062084109456195267364880915037694355867535475716959456974814296043410930981650961631016607387504592652367302782535421937637661372747413198635813871372955291153837003764892214570085570425957184949391279047951885927105994402548962365475639942412116192038687450221895241768677287554938141140104080214294382146803429298709644350336820810077286914588926227332794609803525379770309789366482715491677332422658938068884123176801629354440421212341249014134107326180610680159589007947653882219813134645968624107250575125766006962591815762470229495361601560447159368208493962780049186984228166796792953581542749324663701473984707525536374661479614593173052043467258730505397958757517048679043709555117136847520835937727846034818459509505968569561640501633538002951685677658453700780995472650097844105771121176542567666472915935659895363457036650495500315381213781656630651058193300564850194107824559354050907613263433447134245936110081294087980183901841868569834102951605113985102702574503134563661489803117882501774544796411708510598634828765358263065954367069982829061211021319154234231505020565550265511430978433260352023923242725444468300700379120792896552063867819454509409847360220160225898163469405630937816664742083227109521241191459649627059244503802064886747666586992067262537932482591511828983160758903941627135177441671297217952186909720765757172069021248609888042204884148250442720829914829566064531716170835027008348907733533199583767922956828037492979711527925747153139364500573829531580750159815842766777948133435121844659456337848260159990186320354013431173770018894243132189838566288123058659669603088143868118546664490074354240051579825260190932977319065953785372139716567573294527268103825314263684763355326490530706394742429719766894118537850347739213350481304400991206260374884728430342569941156073036720381921215037764474384167946687650854838413496688263808658128622126405042347278636920072686075794168093150348990814812843596864619140305297198950566391285496038929258759391060652097864480694083354601317794438332337379458327425272558604296034920828942395797704350760545713242712650295620720480266695027666991950244529279313359307184545911652854607987807652986645496026716947536417215612871365512578375754072529384924508720861219936489809211203818311944253049677116385442579755323008904791994012496568602105634936557602112891222255815968208726460763908935319398537462319222352255330284191400510937420961175564065290566834839984065131575926030604764559525484870734749719528714771458256355741055774645543217420803544635560577601086392076222338719457169263398772048976940974467070861441289928116114822379840108596537462836610078114384265222441942194716220604610140785522209755139397733927411986230276978703634852253352842022242600934585431160196716177947048411252481870275891670108929136226858123842466618635286446211546416170022232310277708477106741642518964712784286913799970144671504373724583892442112497876502732662490966289876004595235484314466115186871841219982663670004329696331736833210973276693373847197155177400173404324040554503800043998543964753167354301398443594022081940824816410044369039158042339692563911582839710484722124067650472244306310825431696389062650108246970517592940351132396721382185326792077105099924715887893343594565171565538863544092477718216102419627260239221503871283929077578430077879552461168013575739019074659261015668694109748101523463971688743384750132252193744487530010432140663448060994862324221352177117091692094628128298303362593459421987497960525231874745909583672472115107069268107174241116087881881019570656894743427112230837464729747697287904400461590825567248163889426860244245125160649191818265856685696552603720649580279665210466735030772562224321647428767632205792907103522857500975846124533794485829388172460541838137807012917830058830599361560898689070941180492898899260714003360024425748810372423730833791663083240112960927403701290646454922124827245129489426572579849373823425089687526885449333112091199298595114972391533749953602866527716710260124896795530978681337873050346765409250024915767233853701372846694845302647660951562615461568624145939053205986352780877785504030782975749829320672131639847922952281937687807201663461521327704240311694177696896118243268002366769685019056410577468389387982304047935418402259740514853027590036741912357709317665544120419882073293232311077044681467068692078887192123162368975908397824952247513326863502917499638855245220253501440282089710886902088110314515119921897082899269502687200926510126785605589389971953891466571940655793341267576712702044221565301601582038054280635622775053891017862578168874712354569122595424188041364748533014273541620996902412317659304369126274940673760282393297296303605167965899360908473162497377625185238410611118623494106245618536249893057276554911179490509343490281569326320305727171387833588485502972865577590967716357968488698688366623916015925132522948757655665068523523398272426656763846601941044889777084329092351207003832111593986978874097826082333661521108604410795481934991712378889677120921380733180630953797228124436925901747310315082957987070479333014629016302597871979321110212016441175718117901992216429519562311775794723637051256769505374760360763420681191684281565703673512787503060410833524367577637189186127532357886671122588818257749537642741987311408806312149471966994444684490304692708403471108110071013861762043913009486567909615925856915111145157587139482174798470731364948860152215731708795013958641768504540907285026130803275489526748381597866585764901884965780165679560003859916511155593093937941342191408690570473464773303722588426369819739204909387442499777940226401837163549251666274278346270313040476274971039622891624000180029613725006476509403364326406391246489782009042296085561666625021390407234492476625340898666542026879772764965458833327273469640863858589506881152715997066880840404844786136002429799197513670678167918505711408986264171415473963739819897153319682352157242436699086438293839144783613290126856940433221400089631527568339999647274484053449187231193586513478553961120261523697898522345257679117226529948644856349013870383469132183523948228011112847641996718199985854240080628919802362640399110051898162724824317818261364212713700489111597445034735841096791394327255793144058953195735979255500681924093541926831189788447649230578028685481620774124541447986887063371215612828737445504126792126668657148857503236683061009031834227894258415429287921589180511143738996435527799620992980171024451696472280596148440944281496867205466579292102064584627624844059750272925405354554066059151128068182475799175855368825868213358066934288301931674983194054960742317651833552973708808881910338838345542145264765898053131702059650549357606838287325340289387338408913385535893886714355696265487136313792844870657000048778550907660131170169196949772576143001970534269000129551652259270309414085916988259345450654231755769332790515097058768942990226930104365502416860783560820200449893859249931234806018277040296124168962543112148860257600688481559980411497683432824145220164517165997579803724329970568624171534145108295351525433823042298431240998007285783230419554891207375060543510607394601686931260481820447969808335093135230669556458848965869216999961109987701112341252207144256371116432373965527211436350745655394591331150598252972160705044878744871484910228534957910691064403852977804710244538481813699138213659653339275611648406229737886328767423865117681369432536215587083995492330210172798442889637226014994625989561574588601421333274595463797104992474629991099861932756621419495495405765208499233572353593074733868425972830020452653663067369023435701144923013403871827289068250977517639522789409484077694583144041361237711090957468634825318848551379966508312723990041493498719791130622004598057867576567891051883296321947920861036378636514729735231907303987404597374703868956022462415212420325789494042626505281612735220986653006048888511362581717435371039913631944528291501460608923648672914601585921967188124757125344317703937649230821850636384448223099780953302579796292677875257778468851126567553581469246021319544960826644051968402591744261588513164445657965940717705558704258543335633128183315746790982000579813647720549072223968993467989917673879678844548251906676970220926428362511759391433703233215176039199632190524844308724816272160410355481266901628572919459868565657438503339416812514250438463084983815421620914256549502324908884424934281168435532138447015535715258297609688709054569383439820034828472582159644295823055633074416746134770655298623034719278834188231734114668743179725352295989446697073069344857563690739037049278316557475927738737681615158535249690255061642416434817023661768107174850685406019298384505190453044613097813590727922659746647738899719913130078946719179339660677075127986395537833954042452806489362197558359643104252387826497603162973481018827096019804523724847046688868192045410082616697235007542285962639924253707390612116240434441128291157335037012457182213272323708616452296731042970711067461280235134236002858695531753968175124106320804135459390446109669966478159704060563506181403707688416868169080661314791585974728406832300399643607846142866759087084590577784096852079432351131369102485504601677190773665981596065166223880159006138833851025029096120377258906541252850745008188127036411317045308617234517024191126160909495821392377088832022548449894577662876483116921024078485949495409554495373495342331917477879119788799596739500183434179302468595903421937323444849480084360269472353307468717718324397712922859675816461109527533295943034070618257615723009907252469916924132617353375481761656902869750293808179968810011071675793631491498202932853353566516816423433918862843554287031198832855618499602506805287176016649369215789890209536064208600299226402676290909335792544450683179984564175134283121125758322544949509592831146666893048765624758182653764547093317030848875054728160083041033955938506957214728755847197703863949529294238725901458427019571541623715494653907889611441813969368000790463246411446431612340939543700411453292046585461493875828909795573096183585506418067409568180875736564414832338668331010627615504854843089346893755163833451735521144821679317100077865644161621459010971475120902250653433175408238659413990812927762654519947486032244327033609530661696819666182904798969057257159838286801225648457403349080630224156335329835097790128341827772842174452235131580908267793413885002412433428838679896127481621195870437484369662997180833944686342545797784003038703979723571373495536057069761720595719041278445778799489897746446520345342478328878903751407576597082237518665984288008565417253531990495082105349693279251597485400990563279583001346515382963172126274274114228977154850317654739075510341877812142049033709248540431649349360454171857279928430256433966733013145456436453374034071420668530658148198819133094346791079393090741343442016940729023666239019286151408400528278839425013509128101259022884440623796360287654020200398177094670039707457235174332024124664337320742741655828930693357264662990969423972123852010156171341704035136486958408893037771544412995248384536236789986239406135570529193547736751446652499020231458367257939760308331544450404960904624836354605802843544426212322102471702025143190694498888762614176508081383535052117726124871948968682776384901642196308919729933511513745488301542286919679720534843903454266552533755270812908449558914765990354332642432924466305706697502528535953499313358853960861654521896826198605022852758763642332092119002664068009912423678833331096877705597367614868450431587131210782133750039973358248976763116711215345617569037540747557335948726717873946853790465773286983503448015325903130697706427689220182977510925119060478031366272210173341177509911802513214873693482766601743162906664603790344195 | | 4 79221136326288413549090453617582214988603149380032775393045753873679347103737428810698791647263113706575282689198477135930652137291317188670030006057926509831856472550143054466006425134587034426949120010210832597783143689081004098970652114673282224426184172485773967049733965817226715156969648131835381010189470025770375559444559659305270898952170617343578663720139463438305206193729450577009951868047317341521679722886752217921827822705466305632297648679105292595306982225729633137305184703173136534319068330149229142960259210328722455601450057473003629441834416962669954405564521304502500726298911194393554191501157954017925309977598836623748100506311537547090223313424323313673085311409323919977212070953990949404412305207140907616619412378270976434206887105501661848469182736298770557698748104969475842500166345456724876246803841548685455561851856586967869889986216391448174596518073583228454703935275996041071738034755239225816281721293011288588359444337681021846829274952700086230836341401062887321604178406708278357480439226036171803414304571700770050264769130291420603534822495795966981715612394351588510056912232508637273573895372779156159436797233748213294951636931736322625278881149941049169682180025310119656903852664689348405476728233436921288688205034751242856813863451202798101231235894933014025474654357904163264189792879110990531247061528782494741231885291482973616690359904394443018958369073484128300703937149692838128916254439952768266768999800895221352172804608885628145520829329108509888656265795056847497582709463200002373315731960683089450281141672128908771066872542843950397795050900482861371828770525181267955544208230938560999841196913163882946371552828126583680248944964520944418180558701521838650855170095150234372062727397690674991347946365752214498420657007149585319909260780872426315558079608099072865828174703417406185318728278145026184310672633645641700732291542811057990742838365066341014265183949971790930431087121056345347741501667746148234688653065189269356885872908647581204650438736957716528711548574555583977239301969823515430537595181395319473570033411789209713074292228145962019286962544117035974563318921268241513986555088394502711032433789248734183877010959345104750102614262227563661010217640141350231316347211768763385670337883433049195056061300162041862964241528184097908283230852906666992480893473206747006312106694438401261591124362380788902882710265313013071263115504159140550179707220633782158597940373880726872858838789886163551228708805088540541574505134133745949431125107024728689987177439066224173647204385151471810845156172459609697201263898819372465925856032821983943945509201296896112993390414319772317613998628115011584901662481020736975231857679558573639533120123760882987807897148264001476729480741158503008405824181375825684426593602078107066384305742314153383784825815001170364503279303283157714730965700730790958163526085614077255893030881612578737162635171062435305862363661501175783671862584712802832632731639923317926092501167046294294878922434436385815597766578254085927198853219424480746368612964091254086956730350365974846418411767133289280026522101904776721397535481072023153960396155426365282526318432948840966649466716318812335304612541684202901596339076117983534399558629308180937552570931412127563964839611720473046765641026358839977096301838517860717992220124429055320994261412222457829626748188314831526678529121257451724121669436757611557692716596947663821034873517375372433749628434475153359120061495211777091719559441963916844642691242108239222713715540944215042751815205832903182816602051553000809853471087600226541940973229542173962641860015572714026730877762563780111880467244618055586935195897209646109126685288690235443479134420307287200865787784854857681194140932834097813623138157320433948668365280904196167520730495552269155400544459597418276177569668057444229387270850059959177577695113400939572251098823419194625556857107173746511343007800181920881221537624681494893301655822089723344553388000429323171176866004751029713971505534118999127107434111180853160547174861752751626348577776330731649967976997705926985766161797485058129327581956292771787829660210103007587578438303364646280346294247633981629844834860981910926589933525586410278385574288166108654586815838726812632990143066979317344762104354343375257570333883689617990419862704229988727473561686512974943917017701629021694931065627383970151448161079270422835544949285326099262830853904796892448341901343021226214704238492700377380756779821477303617108015181033663888382907694701687086758887917099855028808021759693299993928761037883200478548527383654940830627162960534839519753768771304564445702228660676511638525909100219792667017787855759149034626623398581454820469088953474304671180584117170375107299218857538863644099680063025446314779087962590928803576169825639877210091913953351078907222584306551857008399547716236951520432306368855405563331758063509346439969963192969308936226062923426688246041671272845075445462096707328610949341325449158353742604022908568946203933963643988238016251082863396042138900397422551647696827175988389556639458939949446524753736368453580244135105014317368938795421424241169688445192369547807720902472510058532210500190676908416490365999594117212594539752865691344940629371386945400149172429767490208830567907361799732482813964175917940399926984637762837734833459842745195607883737248217715147010664746624865860107174027680587247982043006696208521522681495053640549260909058244066831466386395550275703967451187984628361840304549620598007584604056652075292109056084955460757631045962710468974190271314358635494727254653928324003353839691189913153372830283101267409306943828090830937214893815925580078330686328742776609556460072981273554977224301651716046982335341896599200489741066102393484018972841466743047289295775671416546171942449273730018102329884754306147198475343597045689433842671468209541017943478180739831881650778966557553896529865161244407229829547727716931459459359559840553017703654746156616071691286614296466768069668800344909496623755249308151433068017415932042402097203261108808555885215825105468494713684598721648229183118676788358693974111182614492214872927357569277835129060640219341798931965723310239741977694394948416720292490078649040773942984422921245511852420706674819914354346020104887798142515274317061947997836595134419034230582330000240717127925526964112060319439249076892237808670839725453914016230218699443944340117528267723797972780319883977386476469029456738893211705543189528568137121573530047359055999267493785987462058075025437911796049705063581773663851013087176643772751648150048981936401280117985710232762186707399038083284214490009351252797025675234031663328726764953673595105495179812315052867907929540377789168697586451635338020604541532555456767223921372800748040195290633117401248117419768580554561920679552566002835202485597492704090494964420701053820178654505444932328959627731270218760735536157010176515686945610256645425466090751077063124240264202269417785796090050755625809976411130855080982514771006405019239084453063860469309363801560732448786594182631965426855620770324661738005715385915570566785767487246135064276153153759997114083896415651122260662526196811934588460728906851527212560414251230489996405218070314736073129676329566820684536684171651336809291777117985968335713633891342587678051190608132314213884936083558677694435789223952611566992819476705878074764002787217694166299949376281231412882322206987374652542436733768892535513131102546959338123452241057528223073307768102485716978811877380836416402793916906204056848362602583858587799671063183493736976342561580071402353708559999242811554741824392329109504518229810589936161848694495394989078505170054301833167574488999685417558644273661508773537637981961957984792817571894810151022150547618198149075642735541126296201993828633364656909410149851951595803219323557352758303156050734384212094939255739820941934884266839134997303995322823215069858545696315120342019702518376737457847075422833609547002365123843075643015383498457754484535198820719152172552391062084109456195267364880915037694355867535475716959456974814296043410930981650961631016607387504592652367302782535421937637661372747413198635813871372955291153837003764892214570085570425957184949391279047951885927105994402548962365475639942412116192038687450221895241768677287554938141140104080214294382146803429298709644350336820810077286914588926227332794609803525379770309789366482715491677332422658938068884123176801629354440421212341249014134107326180610680159589007947653882219813134645968624107250575125766006962591815762470229495361601560447159368208493962780049186984228166796792953581542749324663701473984707525536374661479614593173052043467258730505397958757517048679043709555117136847520835937727846034818459509505968569561640501633538002951685677658453700780995472650097844105771121176542567666472915935659895363457036650495500315381213781656630651058193300564850194107824559354050907613263433447134245936110081294087980183901841868569834102951605113985102702574503134563661489803117882501774544796411708510598634828765358263065954367069982829061211021319154234231505020565550265511430978433260352023923242725444468300700379120792896552063867819454509409847360220160225898163469405630937816664742083227109521241191459649627059244503802064886747666586992067262537932482591511828983160758903941627135177441671297217952186909720765757172069021248609888042204884148250442720829914829566064531716170835027008348907733533199583767922956828037492979711527925747153139364500573829531580750159815842766777948133435121844659456337848260159990186320354013431173770018894243132189838566288123058659669603088143868118546664490074354240051579825260190932977319065953785372139716567573294527268103825314263684763355326490530706394742429719766894118537850347739213350481304400991206260374884728430342569941156073036720381921215037764474384167946687650854838413496688263808658128622126405042347278636920072686075794168093150348990814812843596864619140305297198950566391285496038929258759391060652097864480694083354601317794438332337379458327425272558604296034920828942395797704350760545713242712650295620720480266695027666991950244529279313359307184545911652854607987807652986645496026716947536417215612871365512578375754072529384924508720861219936489809211203818311944253049677116385442579755323008904791994012496568602105634936557602112891222255815968208726460763908935319398537462319222352255330284191400510937420961175564065290566834839984065131575926030604764559525484870734749719528714771458256355741055774645543217420803544635560577601086392076222338719457169263398772048976940974467070861441289928116114822379840108596537462836610078114384265222441942194716220604610140785522209755139397733927411986230276978703634852253352842022242600934585431160196716177947048411252481870275891670108929136226858123842466618635286446211546416170022232310277708477106741642518964712784286913799970144671504373724583892442112497876502732662490966289876004595235484314466115186871841219982663670004329696331736833210973276693373847197155177400173404324040554503800043998543964753167354301398443594022081940824816410044369039158042339692563911582839710484722124067650472244306310825431696389062650108246970517592940351132396721382185326792077105099924715887893343594565171565538863544092477718216102419627260239221503871283929077578430077879552461168013575739019074659261015668694109748101523463971688743384750132252193744487530010432140663448060994862324221352177117091692094628128298303362593459421987497960525231874745909583672472115107069268107174241116087881881019570656894743427112230837464729747697287904400461590825567248163889426860244245125160649191818265856685696552603720649580279665210466735030772562224321647428767632205792907103522857500975846124533794485829388172460541838137807012917830058830599361560898689070941180492898899260714003360024425748810372423730833791663083240112960927403701290646454922124827245129489426572579849373823425089687526885449333112091199298595114972391533749953602866527716710260124896795530978681337873050346765409250024915767233853701372846694845302647660951562615461568624145939053205986352780877785504030782975749829320672131639847922952281937687807201663461521327704240311694177696896118243268002366769685019056410577468389387982304047935418402259740514853027590036741912357709317665544120419882073293232311077044681467068692078887192123162368975908397824952247513326863502917499638855245220253501440282089710886902088110314515119921897082899269502687200926510126785605589389971953891466571940655793341267576712702044221565301601582038054280635622775053891017862578168874712354569122595424188041364748533014273541620996902412317659304369126274940673760282393297296303605167965899360908473162497377625185238410611118623494106245618536249893057276554911179490509343490281569326320305727171387833588485502972865577590967716357968488698688366623916015925132522948757655665068523523398272426656763846601941044889777084329092351207003832111593986978874097826082333661521108604410795481934991712378889677120921380733180630953797228124436925901747310315082957987070479333014629016302597871979321110212016441175718117901992216429519562311775794723637051256769505374760360763420681191684281565703673512787503060410833524367577637189186127532357886671122588818257749537642741987311408806312149471966994444684490304692708403471108110071013861762043913009486567909615925856915111145157587139482174798470731364948860152215731708795013958641768504540907285026130803275489526748381597866585764901884965780165679560003859916511155593093937941342191408690570473464773303722588426369819739204909387442499777940226401837163549251666274278346270313040476274971039622891624000180029613725006476509403364326406391246489782009042296085561666625021390407234492476625340898666542026879772764965458833327273469640863858589506881152715997066880840404844786136002429799197513670678167918505711408986264171415473963739819897153319682352157242436699086438293839144783613290126856940433221400089631527568339999647274484053449187231193586513478553961120261523697898522345257679117226529948644856349013870383469132183523948228011112847641996718199985854240080628919802362640399110051898162724824317818261364212713700489111597445034735841096791394327255793144058953195735979255500681924093541926831189788447649230578028685481620774124541447986887063371215612828737445504126792126668657148857503236683061009031834227894258415429287921589180511143738996435527799620992980171024451696472280596148440944281496867205466579292102064584627624844059750272925405354554066059151128068182475799175855368825868213358066934288301931674983194054960742317651833552973708808881910338838345542145264765898053131702059650549357606838287325340289387338408913385535893886714355696265487136313792844870657000048778550907660131170169196949772576143001970534269000129551652259270309414085916988259345450654231755769332790515097058768942990226930104365502416860783560820200449893859249931234806018277040296124168962543112148860257600688481559980411497683432824145220164517165997579803724329970568624171534145108295351525433823042298431240998007285783230419554891207375060543510607394601686931260481820447969808335093135230669556458848965869216999961109987701112341252207144256371116432373965527211436350745655394591331150598252972160705044878744871484910228534957910691064403852977804710244538481813699138213659653339275611648406229737886328767423865117681369432536215587083995492330210172798442889637226014994625989561574588601421333274595463797104992474629991099861932756621419495495405765208499233572353593074733868425972830020452653663067369023435701144923013403871827289068250977517639522789409484077694583144041361237711090957468634825318848551379966508312723990041493498719791130622004598057867576567891051883296321947920861036378636514729735231907303987404597374703868956022462415212420325789494042626505281612735220986653006048888511362581717435371039913631944528291501460608923648672914601585921967188124757125344317703937649230821850636384448223099780953302579796292677875257778468851126567553581469246021319544960826644051968402591744261588513164445657965940717705558704258543335633128183315746790982000579813647720549072223968993467989917673879678844548251906676970220926428362511759391433703233215176039199632190524844308724816272160410355481266901628572919459868565657438503339416812514250438463084983815421620914256549502324908884424934281168435532138447015535715258297609688709054569383439820034828472582159644295823055633074416746134770655298623034719278834188231734114668743179725352295989446697073069344857563690739037049278316557475927738737681615158535249690255061642416434817023661768107174850685406019298384505190453044613097813590727922659746647738899719913130078946719179339660677075127986395537833954042452806489362197558359643104252387826497603162973481018827096019804523724847046688868192045410082616697235007542285962639924253707390612116240434441128291157335037012457182213272323708616452296731042970711067461280235134236002858695531753968175124106320804135459390446109669966478159704060563506181403707688416868169080661314791585974728406832300399643607846142866759087084590577784096852079432351131369102485504601677190773665981596065166223880159006138833851025029096120377258906541252850745008188127036411317045308617234517024191126160909495821392377088832022548449894577662876483116921024078485949495409554495373495342331917477879119788799596739500183434179302468595903421937323444849480084360269472353307468717718324397712922859675816461109527533295943034070618257615723009907252469916924132617353375481761656902869750293808179968810011071675793631491498202932853353566516816423433918862843554287031198832855618499602506805287176016649369215789890209536064208600299226402676290909335792544450683179984564175134283121125758322544949509592831146666893048765624758182653764547093317030848875054728160083041033955938506957214728755847197703863949529294238725901458427019571541623715494653907889611441813969368000790463246411446431612340939543700411453292046585461493875828909795573096183585506418067409568180875736564414832338668331010627615504854843089346893755163833451735521144821679317100077865644161621459010971475120902250653433175408238659413990812927762654519947486032244327033609530661696819666182904798969057257159838286801225648457403349080630224156335329835097790128341827772842174452235131580908267793413885002412433428838679896127481621195870437484369662997180833944686342545797784003038703979723571373495536057069761720595719041278445778799489897746446520345342478328878903751407576597082237518665984288008565417253531990495082105349693279251597485400990563279583001346515382963172126274274114228977154850317654739075510341877812142049033709248540431649349360454171857279928430256433966733013145456436453374034071420668530658148198819133094346791079393090741343442016940729023666239019286151408400528278839425013509128101259022884440623796360287654020200398177094670039707457235174332024124664337320742741655828930693357264662990969423972123852010156171341704035136486958408893037771544412995248384536236789986239406135570529193547736751446652499020231458367257939760308331544450404960904624836354605802843544426212322102471702025143190694498888762614176508081383535052117726124871948968682776384901642196308919729933511513745488301542286919679720534843903454266552533755270812908449558914765990354332642432924466305706697502528535953499313358853960861654521896826198605022852758763642332092119002664068009912423678833331096877705597367614868450431587131210782133750039973358248976763116711215345617569037540747557335948726717873946853790465773286983503448015325903130697706427689220182977510925119060478031366272210173341177509911802513214873693482766601743162906664655329951748 79221136326288413549090453617582214988603149380032775393045753873679347103737428810698791647263113706575282689198477135930652137291317188670030006057926509831856472550143054466006425134587034426949120010210832597783143689081004098970652114673282224426184172485773967049733965817226715156969648131835381010189470025770375559444559659305270898952170617343578663720139463438305206193729450577009951868047317341521679722886752217921827822705466305632297648679105292595306982225729633137305184703173136534319068330149229142960259210328722455601450057473003629441834416962669954405564521304502500726298911194393554191501157954017925309977598836623748100506311537547090223313424323313673085311409323919977212070953990949404412305207140907616619412378270976434206887105501661848469182736298770557698748104969475842500166345456724876246803841548685455561851856586967869889986216391448174596518073583228454703935275996041071738034755239225816281721293011288588359444337681021846829274952700086230836341401062887321604178406708278357480439226036171803414304571700770050264769130291420603534822495795966981715612394351588510056912232508637273573895372779156159436797233748213294951636931736322625278881149941049169682180025310119656903852664689348405476728233436921288688205034751242856813863451202798101231235894933014025474654357904163264189792879110990531247061528782494741231885291482973616690359904394443018958369073484128300703937149692838128916254439952768266768999800895221352172804608885628145520829329108509888656265795056847497582709463200002373315731960683089450281141672128908771066872542843950397795050900482861371828770525181267955544208230938560999841196913163882946371552828126583680248944964520944418180558701521838650855170095150234372062727397690674991347946365752214498420657007149585319909260780872426315558079608099072865828174703417406185318728278145026184310672633645641700732291542811057990742838365066341014265183949971790930431087121056345347741501667746148234688653065189269356885872908647581204650438736957716528711548574555583977239301969823515430537595181395319473570033411789209713074292228145962019286962544117035974563318921268241513986555088394502711032433789248734183877010959345104750102614262227563661010217640141350231316347211768763385670337883433049195056061300162041862964241528184097908283230852906666992480893473206747006312106694438401261591124362380788902882710265313013071263115504159140550179707220633782158597940373880726872858838789886163551228708805088540541574505134133745949431125107024728689987177439066224173647204385151471810845156172459609697201263898819372465925856032821983943945509201296896112993390414319772317613998628115011584901662481020736975231857679558573639533120123760882987807897148264001476729480741158503008405824181375825684426593602078107066384305742314153383784825815001170364503279303283157714730965700730790958163526085614077255893030881612578737162635171062435305862363661501175783671862584712802832632731639923317926092501167046294294878922434436385815597766578254085927198853219424480746368612964091254086956730350365974846418411767133289280026522101904776721397535481072023153960396155426365282526318432948840966649466716318812335304612541684202901596339076117983534399558629308180937552570931412127563964839611720473046765641026358839977096301838517860717992220124429055320994261412222457829626748188314831526678529121257451724121669436757611557692716596947663821034873517375372433749628434475153359120061495211777091719559441963916844642691242108239222713715540944215042751815205832903182816602051553000809853471087600226541940973229542173962641860015572714026730877762563780111880467244618055586935195897209646109126685288690235443479134420307287200865787784854857681194140932834097813623138157320433948668365280904196167520730495552269155400544459597418276177569668057444229387270850059959177577695113400939572251098823419194625556857107173746511343007800181920881221537624681494893301655822089723344553388000429323171176866004751029713971505534118999127107434111180853160547174861752751626348577776330731649967976997705926985766161797485058129327581956292771787829660210103007587578438303364646280346294247633981629844834860981910926589933525586410278385574288166108654586815838726812632990143066979317344762104354343375257570333883689617990419862704229988727473561686512974943917017701629021694931065627383970151448161079270422835544949285326099262830853904796892448341901343021226214704238492700377380756779821477303617108015181033663888382907694701687086758887917099855028808021759693299993928761037883200478548527383654940830627162960534839519753768771304564445702228660676511638525909100219792667017787855759149034626623398581454820469088953474304671180584117170375107299218857538863644099680063025446314779087962590928803576169825639877210091913953351078907222584306551857008399547716236951520432306368855405563331758063509346439969963192969308936226062923426688246041671272845075445462096707328610949341325449158353742604022908568946203933963643988238016251082863396042138900397422551647696827175988389556639458939949446524753736368453580244135105014317368938795421424241169688445192369547807720902472510058532210500190676908416490365999594117212594539752865691344940629371386945400149172429767490208830567907361799732482813964175917940399926984637762837734833459842745195607883737248217715147010664746624865860107174027680587247982043006696208521522681495053640549260909058244066831466386395550275703967451187984628361840304549620598007584604056652075292109056084955460757631045962710468974190271314358635494727254653928324003353839691189913153372830283101267409306943828090830937214893815925580078330686328742776609556460072981273554977224301651716046982335341896599200489741066102393484018972841466743047289295775671416546171942449273730018102329884754306147198475343597045689433842671468209541017943478180739831881650778966557553896529865161244407229829547727716931459459359559840553017703654746156616071691286614296466768069668800344909496623755249308151433068017415932042402097203261108808555885215825105468494713684598721648229183118676788358693974111182614492214872927357569277835129060640219341798931965723310239741977694394948416720292490078649040773942984422921245511852420706674819914354346020104887798142515274317061947997836595134419034230582330000240717127925526964112060319439249076892237808670839725453914016230218699443944340117528267723797972780319883977386476469029456738893211705543189528568137121573530047359055999267493785987462058075025437911796049705063581773663851013087176643772751648150048981936401280117985710232762186707399038083284214490009351252797025675234031663328726764953673595105495179812315052867907929540377789168697586451635338020604541532555456767223921372800748040195290633117401248117419768580554561920679552566002835202485597492704090494964420701053820178654505444932328959627731270218760735536157010176515686945610256645425466090751077063124240264202269417785796090050755625809976411130855080982514771006405019239084453063860469309363801560732448786594182631965426855620770324661738005715385915570566785767487246135064276153153759997114083896415651122260662526196811934588460728906851527212560414251230489996405218070314736073129676329566820684536684171651336809291777117985968335713633891342587678051190608132314213884936083558677694435789223952611566992819476705878074764002787217694166299949376281231412882322206987374652542436733768892535513131102546959338123452241057528223073307768102485716978811877380836416402793916906204056848362602583858587799671063183493736976342561580071402353708559999242811554741824392329109504518229810589936161848694495394989078505170054301833167574488999685417558644273661508773537637981961957984792817571894810151022150547618198149075642735541126296201993828633364656909410149851951595803219323557352758303156050734384212094939255739820941934884266839134997303995322823215069858545696315120342019702518376737457847075422833609547002365123843075643015383498457754484535198820719152172552391062084109456195267364880915037694355867535475716959456974814296043410930981650961631016607387504592652367302782535421937637661372747413198635813871372955291153837003764892214570085570425957184949391279047951885927105994402548962365475639942412116192038687450221895241768677287554938141140104080214294382146803429298709644350336820810077286914588926227332794609803525379770309789366482715491677332422658938068884123176801629354440421212341249014134107326180610680159589007947653882219813134645968624107250575125766006962591815762470229495361601560447159368208493962780049186984228166796792953581542749324663701473984707525536374661479614593173052043467258730505397958757517048679043709555117136847520835937727846034818459509505968569561640501633538002951685677658453700780995472650097844105771121176542567666472915935659895363457036650495500315381213781656630651058193300564850194107824559354050907613263433447134245936110081294087980183901841868569834102951605113985102702574503134563661489803117882501774544796411708510598634828765358263065954367069982829061211021319154234231505020565550265511430978433260352023923242725444468300700379120792896552063867819454509409847360220160225898163469405630937816664742083227109521241191459649627059244503802064886747666586992067262537932482591511828983160758903941627135177441671297217952186909720765757172069021248609888042204884148250442720829914829566064531716170835027008348907733533199583767922956828037492979711527925747153139364500573829531580750159815842766777948133435121844659456337848260159990186320354013431173770018894243132189838566288123058659669603088143868118546664490074354240051579825260190932977319065953785372139716567573294527268103825314263684763355326490530706394742429719766894118537850347739213350481304400991206260374884728430342569941156073036720381921215037764474384167946687650854838413496688263808658128622126405042347278636920072686075794168093150348990814812843596864619140305297198950566391285496038929258759391060652097864480694083354601317794438332337379458327425272558604296034920828942395797704350760545713242712650295620720480266695027666991950244529279313359307184545911652854607987807652986645496026716947536417215612871365512578375754072529384924508720861219936489809211203818311944253049677116385442579755323008904791994012496568602105634936557602112891222255815968208726460763908935319398537462319222352255330284191400510937420961175564065290566834839984065131575926030604764559525484870734749719528714771458256355741055774645543217420803544635560577601086392076222338719457169263398772048976940974467070861441289928116114822379840108596537462836610078114384265222441942194716220604610140785522209755139397733927411986230276978703634852253352842022242600934585431160196716177947048411252481870275891670108929136226858123842466618635286446211546416170022232310277708477106741642518964712784286913799970144671504373724583892442112497876502732662490966289876004595235484314466115186871841219982663670004329696331736833210973276693373847197155177400173404324040554503800043998543964753167354301398443594022081940824816410044369039158042339692563911582839710484722124067650472244306310825431696389062650108246970517592940351132396721382185326792077105099924715887893343594565171565538863544092477718216102419627260239221503871283929077578430077879552461168013575739019074659261015668694109748101523463971688743384750132252193744487530010432140663448060994862324221352177117091692094628128298303362593459421987497960525231874745909583672472115107069268107174241116087881881019570656894743427112230837464729747697287904400461590825567248163889426860244245125160649191818265856685696552603720649580279665210466735030772562224321647428767632205792907103522857500975846124533794485829388172460541838137807012917830058830599361560898689070941180492898899260714003360024425748810372423730833791663083240112960927403701290646454922124827245129489426572579849373823425089687526885449333112091199298595114972391533749953602866527716710260124896795530978681337873050346765409250024915767233853701372846694845302647660951562615461568624145939053205986352780877785504030782975749829320672131639847922952281937687807201663461521327704240311694177696896118243268002366769685019056410577468389387982304047935418402259740514853027590036741912357709317665544120419882073293232311077044681467068692078887192123162368975908397824952247513326863502917499638855245220253501440282089710886902088110314515119921897082899269502687200926510126785605589389971953891466571940655793341267576712702044221565301601582038054280635622775053891017862578168874712354569122595424188041364748533014273541620996902412317659304369126274940673760282393297296303605167965899360908473162497377625185238410611118623494106245618536249893057276554911179490509343490281569326320305727171387833588485502972865577590967716357968488698688366623916015925132522948757655665068523523398272426656763846601941044889777084329092351207003832111593986978874097826082333661521108604410795481934991712378889677120921380733180630953797228124436925901747310315082957987070479333014629016302597871979321110212016441175718117901992216429519562311775794723637051256769505374760360763420681191684281565703673512787503060410833524367577637189186127532357886671122588818257749537642741987311408806312149471966994444684490304692708403471108110071013861762043913009486567909615925856915111145157587139482174798470731364948860152215731708795013958641768504540907285026130803275489526748381597866585764901884965780165679560003859916511155593093937941342191408690570473464773303722588426369819739204909387442499777940226401837163549251666274278346270313040476274971039622891624000180029613725006476509403364326406391246489782009042296085561666625021390407234492476625340898666542026879772764965458833327273469640863858589506881152715997066880840404844786136002429799197513670678167918505711408986264171415473963739819897153319682352157242436699086438293839144783613290126856940433221400089631527568339999647274484053449187231193586513478553961120261523697898522345257679117226529948644856349013870383469132183523948228011112847641996718199985854240080628919802362640399110051898162724824317818261364212713700489111597445034735841096791394327255793144058953195735979255500681924093541926831189788447649230578028685481620774124541447986887063371215612828737445504126792126668657148857503236683061009031834227894258415429287921589180511143738996435527799620992980171024451696472280596148440944281496867205466579292102064584627624844059750272925405354554066059151128068182475799175855368825868213358066934288301931674983194054960742317651833552973708808881910338838345542145264765898053131702059650549357606838287325340289387338408913385535893886714355696265487136313792844870657000048778550907660131170169196949772576143001970534269000129551652259270309414085916988259345450654231755769332790515097058768942990226930104365502416860783560820200449893859249931234806018277040296124168962543112148860257600688481559980411497683432824145220164517165997579803724329970568624171534145108295351525433823042298431240998007285783230419554891207375060543510607394601686931260481820447969808335093135230669556458848965869216999961109987701112341252207144256371116432373965527211436350745655394591331150598252972160705044878744871484910228534957910691064403852977804710244538481813699138213659653339275611648406229737886328767423865117681369432536215587083995492330210172798442889637226014994625989561574588601421333274595463797104992474629991099861932756621419495495405765208499233572353593074733868425972830020452653663067369023435701144923013403871827289068250977517639522789409484077694583144041361237711090957468634825318848551379966508312723990041493498719791130622004598057867576567891051883296321947920861036378636514729735231907303987404597374703868956022462415212420325789494042626505281612735220986653006048888511362581717435371039913631944528291501460608923648672914601585921967188124757125344317703937649230821850636384448223099780953302579796292677875257778468851126567553581469246021319544960826644051968402591744261588513164445657965940717705558704258543335633128183315746790982000579813647720549072223968993467989917673879678844548251906676970220926428362511759391433703233215176039199632190524844308724816272160410355481266901628572919459868565657438503339416812514250438463084983815421620914256549502324908884424934281168435532138447015535715258297609688709054569383439820034828472582159644295823055633074416746134770655298623034719278834188231734114668743179725352295989446697073069344857563690739037049278316557475927738737681615158535249690255061642416434817023661768107174850685406019298384505190453044613097813590727922659746647738899719913130078946719179339660677075127986395537833954042452806489362197558359643104252387826497603162973481018827096019804523724847046688868192045410082616697235007542285962639924253707390612116240434441128291157335037012457182213272323708616452296731042970711067461280235134236002858695531753968175124106320804135459390446109669966478159704060563506181403707688416868169080661314791585974728406832300399643607846142866759087084590577784096852079432351131369102485504601677190773665981596065166223880159006138833851025029096120377258906541252850745008188127036411317045308617234517024191126160909495821392377088832022548449894577662876483116921024078485949495409554495373495342331917477879119788799596739500183434179302468595903421937323444849480084360269472353307468717718324397712922859675816461109527533295943034070618257615723009907252469916924132617353375481761656902869750293808179968810011071675793631491498202932853353566516816423433918862843554287031198832855618499602506805287176016649369215789890209536064208600299226402676290909335792544450683179984564175134283121125758322544949509592831146666893048765624758182653764547093317030848875054728160083041033955938506957214728755847197703863949529294238725901458427019571541623715494653907889611441813969368000790463246411446431612340939543700411453292046585461493875828909795573096183585506418067409568180875736564414832338668331010627615504854843089346893755163833451735521144821679317100077865644161621459010971475120902250653433175408238659413990812927762654519947486032244327033609530661696819666182904798969057257159838286801225648457403349080630224156335329835097790128341827772842174452235131580908267793413885002412433428838679896127481621195870437484369662997180833944686342545797784003038703979723571373495536057069761720595719041278445778799489897746446520345342478328878903751407576597082237518665984288008565417253531990495082105349693279251597485400990563279583001346515382963172126274274114228977154850317654739075510341877812142049033709248540431649349360454171857279928430256433966733013145456436453374034071420668530658148198819133094346791079393090741343442016940729023666239019286151408400528278839425013509128101259022884440623796360287654020200398177094670039707457235174332024124664337320742741655828930693357264662990969423972123852010156171341704035136486958408893037771544412995248384536236789986239406135570529193547736751446652499020231458367257939760308331544450404960904624836354605802843544426212322102471702025143190694498888762614176508081383535052117726124871948968682776384901642196308919729933511513745488301542286919679720534843903454266552533755270812908449558914765990354332642432924466305706697502528535953499313358853960861654521896826198605022852758763642332092119002664068009912423678833331096877705597367614868450431587131210782133750039973358248976763116711215345617569037540747557335948726717873946853790465773286983503448015325903130697706427689220182977510925119060478031366272210173341177509911802513214873693482766601743162906664655329951748 79221136326288413549090453617582214988603149380032775393045753873679347103737428810698791647263113706575282689198477135930652137291317188670030006057926509831856472550143054466006425134587034426949120010210832597783143689081004098970652114673282224426184172485773967049733965817226715156969648131835381010189470025770375559444559659305270898952170617343578663720139463438305206193729450577009951868047317341521679722886752217921827822705466305632297648679105292595306982225729633137305184703173136534319068330149229142960259210328722455601450057473003629441834416962669954405564521304502500726298911194393554191501157954017925309977598836623748100506311537547090223313424323313673085311409323919977212070953990949404412305207140907616619412378270976434206887105501661848469182736298770557698748104969475842500166345456724876246803841548685455561851856586967869889986216391448174596518073583228454703935275996041071738034755239225816281721293011288588359444337681021846829274952700086230836341401062887321604178406708278357480439226036171803414304571700770050264769130291420603534822495795966981715612394351588510056912232508637273573895372779156159436797233748213294951636931736322625278881149941049169682180025310119656903852664689348405476728233436921288688205034751242856813863451202798101231235894933014025474654357904163264189792879110990531247061528782494741231885291482973616690359904394443018958369073484128300703937149692838128916254439952768266768999800895221352172804608885628145520829329108509888656265795056847497582709463200002373315731960683089450281141672128908771066872542843950397795050900482861371828770525181267955544208230938560999841196913163882946371552828126583680248944964520944418180558701521838650855170095150234372062727397690674991347946365752214498420657007149585319909260780872426315558079608099072865828174703417406185318728278145026184310672633645641700732291542811057990742838365066341014265183949971790930431087121056345347741501667746148234688653065189269356885872908647581204650438736957716528711548574555583977239301969823515430537595181395319473570033411789209713074292228145962019286962544117035974563318921268241513986555088394502711032433789248734183877010959345104750102614262227563661010217640141350231316347211768763385670337883433049195056061300162041862964241528184097908283230852906666992480893473206747006312106694438401261591124362380788902882710265313013071263115504159140550179707220633782158597940373880726872858838789886163551228708805088540541574505134133745949431125107024728689987177439066224173647204385151471810845156172459609697201263898819372465925856032821983943945509201296896112993390414319772317613998628115011584901662481020736975231857679558573639533120123760882987807897148264001476729480741158503008405824181375825684426593602078107066384305742314153383784825815001170364503279303283157714730965700730790958163526085614077255893030881612578737162635171062435305862363661501175783671862584712802832632731639923317926092501167046294294878922434436385815597766578254085927198853219424480746368612964091254086956730350365974846418411767133289280026522101904776721397535481072023153960396155426365282526318432948840966649466716318812335304612541684202901596339076117983534399558629308180937552570931412127563964839611720473046765641026358839977096301838517860717992220124429055320994261412222457829626748188314831526678529121257451724121669436757611557692716596947663821034873517375372433749628434475153359120061495211777091719559441963916844642691242108239222713715540944215042751815205832903182816602051553000809853471087600226541940973229542173962641860015572714026730877762563780111880467244618055586935195897209646109126685288690235443479134420307287200865787784854857681194140932834097813623138157320433948668365280904196167520730495552269155400544459597418276177569668057444229387270850059959177577695113400939572251098823419194625556857107173746511343007800181920881221537624681494893301655822089723344553388000429323171176866004751029713971505534118999127107434111180853160547174861752751626348577776330731649967976997705926985766161797485058129327581956292771787829660210103007587578438303364646280346294247633981629844834860981910926589933525586410278385574288166108654586815838726812632990143066979317344762104354343375257570333883689617990419862704229988727473561686512974943917017701629021694931065627383970151448161079270422835544949285326099262830853904796892448341901343021226214704238492700377380756779821477303617108015181033663888382907694701687086758887917099855028808021759693299993928761037883200478548527383654940830627162960534839519753768771304564445702228660676511638525909100219792667017787855759149034626623398581454820469088953474304671180584117170375107299218857538863644099680063025446314779087962590928803576169825639877210091913953351078907222584306551857008399547716236951520432306368855405563331758063509346439969963192969308936226062923426688246041671272845075445462096707328610949341325449158353742604022908568946203933963643988238016251082863396042138900397422551647696827175988389556639458939949446524753736368453580244135105014317368938795421424241169688445192369547807720902472510058532210500190676908416490365999594117212594539752865691344940629371386945400149172429767490208830567907361799732482813964175917940399926984637762837734833459842745195607883737248217715147010664746624865860107174027680587247982043006696208521522681495053640549260909058244066831466386395550275703967451187984628361840304549620598007584604056652075292109056084955460757631045962710468974190271314358635494727254653928324003353839691189913153372830283101267409306943828090830937214893815925580078330686328742776609556460072981273554977224301651716046982335341896599200489741066102393484018972841466743047289295775671416546171942449273730018102329884754306147198475343597045689433842671468209541017943478180739831881650778966557553896529865161244407229829547727716931459459359559840553017703654746156616071691286614296466768069668800344909496623755249308151433068017415932042402097203261108808555885215825105468494713684598721648229183118676788358693974111182614492214872927357569277835129060640219341798931965723310239741977694394948416720292490078649040773942984422921245511852420706674819914354346020104887798142515274317061947997836595134419034230582330000240717127925526964112060319439249076892237808670839725453914016230218699443944340117528267723797972780319883977386476469029456738893211705543189528568137121573530047359055999267493785987462058075025437911796049705063581773663851013087176643772751648150048981936401280117985710232762186707399038083284214490009351252797025675234031663328726764953673595105495179812315052867907929540377789168697586451635338020604541532555456767223921372800748040195290633117401248117419768580554561920679552566002835202485597492704090494964420701053820178654505444932328959627731270218760735536157010176515686945610256645425466090751077063124240264202269417785796090050755625809976411130855080982514771006405019239084453063860469309363801560732448786594182631965426855620770324661738005715385915570566785767487246135064276153153759997114083896415651122260662526196811934588460728906851527212560414251230489996405218070314736073129676329566820684536684171651336809291777117985968335713633891342587678051190608132314213884936083558677694435789223952611566992819476705878074764002787217694166299949376281231412882322206987374652542436733768892535513131102546959338123452241057528223073307768102485716978811877380836416402793916906204056848362602583858587799671063183493736976342561580071402353708559999242811554741824392329109504518229810589936161848694495394989078505170054301833167574488999685417558644273661508773537637981961957984792817571894810151022150547618198149075642735541126296201993828633364656909410149851951595803219323557352758303156050734384212094939255739820941934884266839134997303995322823215069858545696315120342019702518376737457847075422833609547002365123843075643015383498457754484535198820719152172552391062084109456195267364880915037694355867535475716959456974814296043410930981650961631016607387504592652367302782535421937637661372747413198635813871372955291153837003764892214570085570425957184949391279047951885927105994402548962365475639942412116192038687450221895241768677287554938141140104080214294382146803429298709644350336820810077286914588926227332794609803525379770309789366482715491677332422658938068884123176801629354440421212341249014134107326180610680159589007947653882219813134645968624107250575125766006962591815762470229495361601560447159368208493962780049186984228166796792953581542749324663701473984707525536374661479614593173052043467258730505397958757517048679043709555117136847520835937727846034818459509505968569561640501633538002951685677658453700780995472650097844105771121176542567666472915935659895363457036650495500315381213781656630651058193300564850194107824559354050907613263433447134245936110081294087980183901841868569834102951605113985102702574503134563661489803117882501774544796411708510598634828765358263065954367069982829061211021319154234231505020565550265511430978433260352023923242725444468300700379120792896552063867819454509409847360220160225898163469405630937816664742083227109521241191459649627059244503802064886747666586992067262537932482591511828983160758903941627135177441671297217952186909720765757172069021248609888042204884148250442720829914829566064531716170835027008348907733533199583767922956828037492979711527925747153139364500573829531580750159815842766777948133435121844659456337848260159990186320354013431173770018894243132189838566288123058659669603088143868118546664490074354240051579825260190932977319065953785372139716567573294527268103825314263684763355326490530706394742429719766894118537850347739213350481304400991206260374884728430342569941156073036720381921215037764474384167946687650854838413496688263808658128622126405042347278636920072686075794168093150348990814812843596864619140305297198950566391285496038929258759391060652097864480694083354601317794438332337379458327425272558604296034920828942395797704350760545713242712650295620720480266695027666991950244529279313359307184545911652854607987807652986645496026716947536417215612871365512578375754072529384924508720861219936489809211203818311944253049677116385442579755323008904791994012496568602105634936557602112891222255815968208726460763908935319398537462319222352255330284191400510937420961175564065290566834839984065131575926030604764559525484870734749719528714771458256355741055774645543217420803544635560577601086392076222338719457169263398772048976940974467070861441289928116114822379840108596537462836610078114384265222441942194716220604610140785522209755139397733927411986230276978703634852253352842022242600934585431160196716177947048411252481870275891670108929136226858123842466618635286446211546416170022232310277708477106741642518964712784286913799970144671504373724583892442112497876502732662490966289876004595235484314466115186871841219982663670004329696331736833210973276693373847197155177400173404324040554503800043998543964753167354301398443594022081940824816410044369039158042339692563911582839710484722124067650472244306310825431696389062650108246970517592940351132396721382185326792077105099924715887893343594565171565538863544092477718216102419627260239221503871283929077578430077879552461168013575739019074659261015668694109748101523463971688743384750132252193744487530010432140663448060994862324221352177117091692094628128298303362593459421987497960525231874745909583672472115107069268107174241116087881881019570656894743427112230837464729747697287904400461590825567248163889426860244245125160649191818265856685696552603720649580279665210466735030772562224321647428767632205792907103522857500975846124533794485829388172460541838137807012917830058830599361560898689070941180492898899260714003360024425748810372423730833791663083240112960927403701290646454922124827245129489426572579849373823425089687526885449333112091199298595114972391533749953602866527716710260124896795530978681337873050346765409250024915767233853701372846694845302647660951562615461568624145939053205986352780877785504030782975749829320672131639847922952281937687807201663461521327704240311694177696896118243268002366769685019056410577468389387982304047935418402259740514853027590036741912357709317665544120419882073293232311077044681467068692078887192123162368975908397824952247513326863502917499638855245220253501440282089710886902088110314515119921897082899269502687200926510126785605589389971953891466571940655793341267576712702044221565301601582038054280635622775053891017862578168874712354569122595424188041364748533014273541620996902412317659304369126274940673760282393297296303605167965899360908473162497377625185238410611118623494106245618536249893057276554911179490509343490281569326320305727171387833588485502972865577590967716357968488698688366623916015925132522948757655665068523523398272426656763846601941044889777084329092351207003832111593986978874097826082333661521108604410795481934991712378889677120921380733180630953797228124436925901747310315082957987070479333014629016302597871979321110212016441175718117901992216429519562311775794723637051256769505374760360763420681191684281565703673512787503060410833524367577637189186127532357886671122588818257749537642741987311408806312149471966994444684490304692708403471108110071013861762043913009486567909615925856915111145157587139482174798470731364948860152215731708795013958641768504540907285026130803275489526748381597866585764901884965780165679560003859916511155593093937941342191408690570473464773303722588426369819739204909387442499777940226401837163549251666274278346270313040476274971039622891624000180029613725006476509403364326406391246489782009042296085561666625021390407234492476625340898666542026879772764965458833327273469640863858589506881152715997066880840404844786136002429799197513670678167918505711408986264171415473963739819897153319682352157242436699086438293839144783613290126856940433221400089631527568339999647274484053449187231193586513478553961120261523697898522345257679117226529948644856349013870383469132183523948228011112847641996718199985854240080628919802362640399110051898162724824317818261364212713700489111597445034735841096791394327255793144058953195735979255500681924093541926831189788447649230578028685481620774124541447986887063371215612828737445504126792126668657148857503236683061009031834227894258415429287921589180511143738996435527799620992980171024451696472280596148440944281496867205466579292102064584627624844059750272925405354554066059151128068182475799175855368825868213358066934288301931674983194054960742317651833552973708808881910338838345542145264765898053131702059650549357606838287325340289387338408913385535893886714355696265487136313792844870657000048778550907660131170169196949772576143001970534269000129551652259270309414085916988259345450654231755769332790515097058768942990226930104365502416860783560820200449893859249931234806018277040296124168962543112148860257600688481559980411497683432824145220164517165997579803724329970568624171534145108295351525433823042298431240998007285783230419554891207375060543510607394601686931260481820447969808335093135230669556458848965869216999961109987701112341252207144256371116432373965527211436350745655394591331150598252972160705044878744871484910228534957910691064403852977804710244538481813699138213659653339275611648406229737886328767423865117681369432536215587083995492330210172798442889637226014994625989561574588601421333274595463797104992474629991099861932756621419495495405765208499233572353593074733868425972830020452653663067369023435701144923013403871827289068250977517639522789409484077694583144041361237711090957468634825318848551379966508312723990041493498719791130622004598057867576567891051883296321947920861036378636514729735231907303987404597374703868956022462415212420325789494042626505281612735220986653006048888511362581717435371039913631944528291501460608923648672914601585921967188124757125344317703937649230821850636384448223099780953302579796292677875257778468851126567553581469246021319544960826644051968402591744261588513164445657965940717705558704258543335633128183315746790982000579813647720549072223968993467989917673879678844548251906676970220926428362511759391433703233215176039199632190524844308724816272160410355481266901628572919459868565657438503339416812514250438463084983815421620914256549502324908884424934281168435532138447015535715258297609688709054569383439820034828472582159644295823055633074416746134770655298623034719278834188231734114668743179725352295989446697073069344857563690739037049278316557475927738737681615158535249690255061642416434817023661768107174850685406019298384505190453044613097813590727922659746647738899719913130078946719179339660677075127986395537833954042452806489362197558359643104252387826497603162973481018827096019804523724847046688868192045410082616697235007542285962639924253707390612116240434441128291157335037012457182213272323708616452296731042970711067461280235134236002858695531753968175124106320804135459390446109669966478159704060563506181403707688416868169080661314791585974728406832300399643607846142866759087084590577784096852079432351131369102485504601677190773665981596065166223880159006138833851025029096120377258906541252850745008188127036411317045308617234517024191126160909495821392377088832022548449894577662876483116921024078485949495409554495373495342331917477879119788799596739500183434179302468595903421937323444849480084360269472353307468717718324397712922859675816461109527533295943034070618257615723009907252469916924132617353375481761656902869750293808179968810011071675793631491498202932853353566516816423433918862843554287031198832855618499602506805287176016649369215789890209536064208600299226402676290909335792544450683179984564175134283121125758322544949509592831146666893048765624758182653764547093317030848875054728160083041033955938506957214728755847197703863949529294238725901458427019571541623715494653907889611441813969368000790463246411446431612340939543700411453292046585461493875828909795573096183585506418067409568180875736564414832338668331010627615504854843089346893755163833451735521144821679317100077865644161621459010971475120902250653433175408238659413990812927762654519947486032244327033609530661696819666182904798969057257159838286801225648457403349080630224156335329835097790128341827772842174452235131580908267793413885002412433428838679896127481621195870437484369662997180833944686342545797784003038703979723571373495536057069761720595719041278445778799489897746446520345342478328878903751407576597082237518665984288008565417253531990495082105349693279251597485400990563279583001346515382963172126274274114228977154850317654739075510341877812142049033709248540431649349360454171857279928430256433966733013145456436453374034071420668530658148198819133094346791079393090741343442016940729023666239019286151408400528278839425013509128101259022884440623796360287654020200398177094670039707457235174332024124664337320742741655828930693357264662990969423972123852010156171341704035136486958408893037771544412995248384536236789986239406135570529193547736751446652499020231458367257939760308331544450404960904624836354605802843544426212322102471702025143190694498888762614176508081383535052117726124871948968682776384901642196308919729933511513745488301542286919679720534843903454266552533755270812908449558914765990354332642432924466305706697502528535953499313358853960861654521896826198605022852758763642332092119002664068009912423678833331096877705597367614868450431587131210782133750039973358248976763116711215345617569037540747557335948726717873946853790465773286983503448015325903130697706427689220182977510925119060478031366272210173341177509911802513214873693482766601743162906664655329951748 79221136326288413549090453617582214988603149380032775393045753873679347103737428810698791647263113706575282689198477135930652137291317188670030006057926509831856472550143054466006425134587034426949120010210832597783143689081004098970652114673282224426184172485773967049733965817226715156969648131835381010189470025770375559444559659305270898952170617343578663720139463438305206193729450577009951868047317341521679722886752217921827822705466305632297648679105292595306982225729633137305184703173136534319068330149229142960259210328722455601450057473003629441834416962669954405564521304502500726298911194393554191501157954017925309977598836623748100506311537547090223313424323313673085311409323919977212070953990949404412305207140907616619412378270976434206887105501661848469182736298770557698748104969475842500166345456724876246803841548685455561851856586967869889986216391448174596518073583228454703935275996041071738034755239225816281721293011288588359444337681021846829274952700086230836341401062887321604178406708278357480439226036171803414304571700770050264769130291420603534822495795966981715612394351588510056912232508637273573895372779156159436797233748213294951636931736322625278881149941049169682180025310119656903852664689348405476728233436921288688205034751242856813863451202798101231235894933014025474654357904163264189792879110990531247061528782494741231885291482973616690359904394443018958369073484128300703937149692838128916254439952768266768999800895221352172804608885628145520829329108509888656265795056847497582709463200002373315731960683089450281141672128908771066872542843950397795050900482861371828770525181267955544208230938560999841196913163882946371552828126583680248944964520944418180558701521838650855170095150234372062727397690674991347946365752214498420657007149585319909260780872426315558079608099072865828174703417406185318728278145026184310672633645641700732291542811057990742838365066341014265183949971790930431087121056345347741501667746148234688653065189269356885872908647581204650438736957716528711548574555583977239301969823515430537595181395319473570033411789209713074292228145962019286962544117035974563318921268241513986555088394502711032433789248734183877010959345104750102614262227563661010217640141350231316347211768763385670337883433049195056061300162041862964241528184097908283230852906666992480893473206747006312106694438401261591124362380788902882710265313013071263115504159140550179707220633782158597940373880726872858838789886163551228708805088540541574505134133745949431125107024728689987177439066224173647204385151471810845156172459609697201263898819372465925856032821983943945509201296896112993390414319772317613998628115011584901662481020736975231857679558573639533120123760882987807897148264001476729480741158503008405824181375825684426593602078107066384305742314153383784825815001170364503279303283157714730965700730790958163526085614077255893030881612578737162635171062435305862363661501175783671862584712802832632731639923317926092501167046294294878922434436385815597766578254085927198853219424480746368612964091254086956730350365974846418411767133289280026522101904776721397535481072023153960396155426365282526318432948840966649466716318812335304612541684202901596339076117983534399558629308180937552570931412127563964839611720473046765641026358839977096301838517860717992220124429055320994261412222457829626748188314831526678529121257451724121669436757611557692716596947663821034873517375372433749628434475153359120061495211777091719559441963916844642691242108239222713715540944215042751815205832903182816602051553000809853471087600226541940973229542173962641860015572714026730877762563780111880467244618055586935195897209646109126685288690235443479134420307287200865787784854857681194140932834097813623138157320433948668365280904196167520730495552269155400544459597418276177569668057444229387270850059959177577695113400939572251098823419194625556857107173746511343007800181920881221537624681494893301655822089723344553388000429323171176866004751029713971505534118999127107434111180853160547174861752751626348577776330731649967976997705926985766161797485058129327581956292771787829660210103007587578438303364646280346294247633981629844834860981910926589933525586410278385574288166108654586815838726812632990143066979317344762104354343375257570333883689617990419862704229988727473561686512974943917017701629021694931065627383970151448161079270422835544949285326099262830853904796892448341901343021226214704238492700377380756779821477303617108015181033663888382907694701687086758887917099855028808021759693299993928761037883200478548527383654940830627162960534839519753768771304564445702228660676511638525909100219792667017787855759149034626623398581454820469088953474304671180584117170375107299218857538863644099680063025446314779087962590928803576169825639877210091913953351078907222584306551857008399547716236951520432306368855405563331758063509346439969963192969308936226062923426688246041671272845075445462096707328610949341325449158353742604022908568946203933963643988238016251082863396042138900397422551647696827175988389556639458939949446524753736368453580244135105014317368938795421424241169688445192369547807720902472510058532210500190676908416490365999594117212594539752865691344940629371386945400149172429767490208830567907361799732482813964175917940399926984637762837734833459842745195607883737248217715147010664746624865860107174027680587247982043006696208521522681495053640549260909058244066831466386395550275703967451187984628361840304549620598007584604056652075292109056084955460757631045962710468974190271314358635494727254653928324003353839691189913153372830283101267409306943828090830937214893815925580078330686328742776609556460072981273554977224301651716046982335341896599200489741066102393484018972841466743047289295775671416546171942449273730018102329884754306147198475343597045689433842671468209541017943478180739831881650778966557553896529865161244407229829547727716931459459359559840553017703654746156616071691286614296466768069668800344909496623755249308151433068017415932042402097203261108808555885215825105468494713684598721648229183118676788358693974111182614492214872927357569277835129060640219341798931965723310239741977694394948416720292490078649040773942984422921245511852420706674819914354346020104887798142515274317061947997836595134419034230582330000240717127925526964112060319439249076892237808670839725453914016230218699443944340117528267723797972780319883977386476469029456738893211705543189528568137121573530047359055999267493785987462058075025437911796049705063581773663851013087176643772751648150048981936401280117985710232762186707399038083284214490009351252797025675234031663328726764953673595105495179812315052867907929540377789168697586451635338020604541532555456767223921372800748040195290633117401248117419768580554561920679552566002835202485597492704090494964420701053820178654505444932328959627731270218760735536157010176515686945610256645425466090751077063124240264202269417785796090050755625809976411130855080982514771006405019239084453063860469309363801560732448786594182631965426855620770324661738005715385915570566785767487246135064276153153759997114083896415651122260662526196811934588460728906851527212560414251230489996405218070314736073129676329566820684536684171651336809291777117985968335713633891342587678051190608132314213884936083558677694435789223952611566992819476705878074764002787217694166299949376281231412882322206987374652542436733768892535513131102546959338123452241057528223073307768102485716978811877380836416402793916906204056848362602583858587799671063183493736976342561580071402353708559999242811554741824392329109504518229810589936161848694495394989078505170054301833167574488999685417558644273661508773537637981961957984792817571894810151022150547618198149075642735541126296201993828633364656909410149851951595803219323557352758303156050734384212094939255739820941934884266839134997303995322823215069858545696315120342019702518376737457847075422833609547002365123843075643015383498457754484535198820719152172552391062084109456195267364880915037694355867535475716959456974814296043410930981650961631016607387504592652367302782535421937637661372747413198635813871372955291153837003764892214570085570425957184949391279047951885927105994402548962365475639942412116192038687450221895241768677287554938141140104080214294382146803429298709644350336820810077286914588926227332794609803525379770309789366482715491677332422658938068884123176801629354440421212341249014134107326180610680159589007947653882219813134645968624107250575125766006962591815762470229495361601560447159368208493962780049186984228166796792953581542749324663701473984707525536374661479614593173052043467258730505397958757517048679043709555117136847520835937727846034818459509505968569561640501633538002951685677658453700780995472650097844105771121176542567666472915935659895363457036650495500315381213781656630651058193300564850194107824559354050907613263433447134245936110081294087980183901841868569834102951605113985102702574503134563661489803117882501774544796411708510598634828765358263065954367069982829061211021319154234231505020565550265511430978433260352023923242725444468300700379120792896552063867819454509409847360220160225898163469405630937816664742083227109521241191459649627059244503802064886747666586992067262537932482591511828983160758903941627135177441671297217952186909720765757172069021248609888042204884148250442720829914829566064531716170835027008348907733533199583767922956828037492979711527925747153139364500573829531580750159815842766777948133435121844659456337848260159990186320354013431173770018894243132189838566288123058659669603088143868118546664490074354240051579825260190932977319065953785372139716567573294527268103825314263684763355326490530706394742429719766894118537850347739213350481304400991206260374884728430342569941156073036720381921215037764474384167946687650854838413496688263808658128622126405042347278636920072686075794168093150348990814812843596864619140305297198950566391285496038929258759391060652097864480694083354601317794438332337379458327425272558604296034920828942395797704350760545713242712650295620720480266695027666991950244529279313359307184545911652854607987807652986645496026716947536417215612871365512578375754072529384924508720861219936489809211203818311944253049677116385442579755323008904791994012496568602105634936557602112891222255815968208726460763908935319398537462319222352255330284191400510937420961175564065290566834839984065131575926030604764559525484870734749719528714771458256355741055774645543217420803544635560577601086392076222338719457169263398772048976940974467070861441289928116114822379840108596537462836610078114384265222441942194716220604610140785522209755139397733927411986230276978703634852253352842022242600934585431160196716177947048411252481870275891670108929136226858123842466618635286446211546416170022232310277708477106741642518964712784286913799970144671504373724583892442112497876502732662490966289876004595235484314466115186871841219982663670004329696331736833210973276693373847197155177400173404324040554503800043998543964753167354301398443594022081940824816410044369039158042339692563911582839710484722124067650472244306310825431696389062650108246970517592940351132396721382185326792077105099924715887893343594565171565538863544092477718216102419627260239221503871283929077578430077879552461168013575739019074659261015668694109748101523463971688743384750132252193744487530010432140663448060994862324221352177117091692094628128298303362593459421987497960525231874745909583672472115107069268107174241116087881881019570656894743427112230837464729747697287904400461590825567248163889426860244245125160649191818265856685696552603720649580279665210466735030772562224321647428767632205792907103522857500975846124533794485829388172460541838137807012917830058830599361560898689070941180492898899260714003360024425748810372423730833791663083240112960927403701290646454922124827245129489426572579849373823425089687526885449333112091199298595114972391533749953602866527716710260124896795530978681337873050346765409250024915767233853701372846694845302647660951562615461568624145939053205986352780877785504030782975749829320672131639847922952281937687807201663461521327704240311694177696896118243268002366769685019056410577468389387982304047935418402259740514853027590036741912357709317665544120419882073293232311077044681467068692078887192123162368975908397824952247513326863502917499638855245220253501440282089710886902088110314515119921897082899269502687200926510126785605589389971953891466571940655793341267576712702044221565301601582038054280635622775053891017862578168874712354569122595424188041364748533014273541620996902412317659304369126274940673760282393297296303605167965899360908473162497377625185238410611118623494106245618536249893057276554911179490509343490281569326320305727171387833588485502972865577590967716357968488698688366623916015925132522948757655665068523523398272426656763846601941044889777084329092351207003832111593986978874097826082333661521108604410795481934991712378889677120921380733180630953797228124436925901747310315082957987070479333014629016302597871979321110212016441175718117901992216429519562311775794723637051256769505374760360763420681191684281565703673512787503060410833524367577637189186127532357886671122588818257749537642741987311408806312149471966994444684490304692708403471108110071013861762043913009486567909615925856915111145157587139482174798470731364948860152215731708795013958641768504540907285026130803275489526748381597866585764901884965780165679560003859916511155593093937941342191408690570473464773303722588426369819739204909387442499777940226401837163549251666274278346270313040476274971039622891624000180029613725006476509403364326406391246489782009042296085561666625021390407234492476625340898666542026879772764965458833327273469640863858589506881152715997066880840404844786136002429799197513670678167918505711408986264171415473963739819897153319682352157242436699086438293839144783613290126856940433221400089631527568339999647274484053449187231193586513478553961120261523697898522345257679117226529948644856349013870383469132183523948228011112847641996718199985854240080628919802362640399110051898162724824317818261364212713700489111597445034735841096791394327255793144058953195735979255500681924093541926831189788447649230578028685481620774124541447986887063371215612828737445504126792126668657148857503236683061009031834227894258415429287921589180511143738996435527799620992980171024451696472280596148440944281496867205466579292102064584627624844059750272925405354554066059151128068182475799175855368825868213358066934288301931674983194054960742317651833552973708808881910338838345542145264765898053131702059650549357606838287325340289387338408913385535893886714355696265487136313792844870657000048778550907660131170169196949772576143001970534269000129551652259270309414085916988259345450654231755769332790515097058768942990226930104365502416860783560820200449893859249931234806018277040296124168962543112148860257600688481559980411497683432824145220164517165997579803724329970568624171534145108295351525433823042298431240998007285783230419554891207375060543510607394601686931260481820447969808335093135230669556458848965869216999961109987701112341252207144256371116432373965527211436350745655394591331150598252972160705044878744871484910228534957910691064403852977804710244538481813699138213659653339275611648406229737886328767423865117681369432536215587083995492330210172798442889637226014994625989561574588601421333274595463797104992474629991099861932756621419495495405765208499233572353593074733868425972830020452653663067369023435701144923013403871827289068250977517639522789409484077694583144041361237711090957468634825318848551379966508312723990041493498719791130622004598057867576567891051883296321947920861036378636514729735231907303987404597374703868956022462415212420325789494042626505281612735220986653006048888511362581717435371039913631944528291501460608923648672914601585921967188124757125344317703937649230821850636384448223099780953302579796292677875257778468851126567553581469246021319544960826644051968402591744261588513164445657965940717705558704258543335633128183315746790982000579813647720549072223968993467989917673879678844548251906676970220926428362511759391433703233215176039199632190524844308724816272160410355481266901628572919459868565657438503339416812514250438463084983815421620914256549502324908884424934281168435532138447015535715258297609688709054569383439820034828472582159644295823055633074416746134770655298623034719278834188231734114668743179725352295989446697073069344857563690739037049278316557475927738737681615158535249690255061642416434817023661768107174850685406019298384505190453044613097813590727922659746647738899719913130078946719179339660677075127986395537833954042452806489362197558359643104252387826497603162973481018827096019804523724847046688868192045410082616697235007542285962639924253707390612116240434441128291157335037012457182213272323708616452296731042970711067461280235134236002858695531753968175124106320804135459390446109669966478159704060563506181403707688416868169080661314791585974728406832300399643607846142866759087084590577784096852079432351131369102485504601677190773665981596065166223880159006138833851025029096120377258906541252850745008188127036411317045308617234517024191126160909495821392377088832022548449894577662876483116921024078485949495409554495373495342331917477879119788799596739500183434179302468595903421937323444849480084360269472353307468717718324397712922859675816461109527533295943034070618257615723009907252469916924132617353375481761656902869750293808179968810011071675793631491498202932853353566516816423433918862843554287031198832855618499602506805287176016649369215789890209536064208600299226402676290909335792544450683179984564175134283121125758322544949509592831146666893048765624758182653764547093317030848875054728160083041033955938506957214728755847197703863949529294238725901458427019571541623715494653907889611441813969368000790463246411446431612340939543700411453292046585461493875828909795573096183585506418067409568180875736564414832338668331010627615504854843089346893755163833451735521144821679317100077865644161621459010971475120902250653433175408238659413990812927762654519947486032244327033609530661696819666182904798969057257159838286801225648457403349080630224156335329835097790128341827772842174452235131580908267793413885002412433428838679896127481621195870437484369662997180833944686342545797784003038703979723571373495536057069761720595719041278445778799489897746446520345342478328878903751407576597082237518665984288008565417253531990495082105349693279251597485400990563279583001346515382963172126274274114228977154850317654739075510341877812142049033709248540431649349360454171857279928430256433966733013145456436453374034071420668530658148198819133094346791079393090741343442016940729023666239019286151408400528278839425013509128101259022884440623796360287654020200398177094670039707457235174332024124664337320742741655828930693357264662990969423972123852010156171341704035136486958408893037771544412995248384536236789986239406135570529193547736751446652499020231458367257939760308331544450404960904624836354605802843544426212322102471702025143190694498888762614176508081383535052117726124871948968682776384901642196308919729933511513745488301542286919679720534843903454266552533755270812908449558914765990354332642432924466305706697502528535953499313358853960861654521896826198605022852758763642332092119002664068009912423678833331096877705597367614868450431587131210782133750039973358248976763116711215345617569037540747557335948726717873946853790465773286983503448015325903130697706427689220182977510925119060478031366272210173341177509911802513214873693482766601743162906664655329951748 79221136326288413549090453617582214988603149380032775393045753873679347103737428810698791647263113706575282689198477135930652137291317188670030006057926509831856472550143054466006425134587034426949120010210832597783143689081004098970652114673282224426184172485773967049733965817226715156969648131835381010189470025770375559444559659305270898952170617343578663720139463438305206193729450577009951868047317341521679722886752217921827822705466305632297648679105292595306982225729633137305184703173136534319068330149229142960259210328722455601450057473003629441834416962669954405564521304502500726298911194393554191501157954017925309977598836623748100506311537547090223313424323313673085311409323919977212070953990949404412305207140907616619412378270976434206887105501661848469182736298770557698748104969475842500166345456724876246803841548685455561851856586967869889986216391448174596518073583228454703935275996041071738034755239225816281721293011288588359444337681021846829274952700086230836341401062887321604178406708278357480439226036171803414304571700770050264769130291420603534822495795966981715612394351588510056912232508637273573895372779156159436797233748213294951636931736322625278881149941049169682180025310119656903852664689348405476728233436921288688205034751242856813863451202798101231235894933014025474654357904163264189792879110990531247061528782494741231885291482973616690359904394443018958369073484128300703937149692838128916254439952768266768999800895221352172804608885628145520829329108509888656265795056847497582709463200002373315731960683089450281141672128908771066872542843950397795050900482861371828770525181267955544208230938560999841196913163882946371552828126583680248944964520944418180558701521838650855170095150234372062727397690674991347946365752214498420657007149585319909260780872426315558079608099072865828174703417406185318728278145026184310672633645641700732291542811057990742838365066341014265183949971790930431087121056345347741501667746148234688653065189269356885872908647581204650438736957716528711548574555583977239301969823515430537595181395319473570033411789209713074292228145962019286962544117035974563318921268241513986555088394502711032433789248734183877010959345104750102614262227563661010217640141350231316347211768763385670337883433049195056061300162041862964241528184097908283230852906666992480893473206747006312106694438401261591124362380788902882710265313013071263115504159140550179707220633782158597940373880726872858838789886163551228708805088540541574505134133745949431125107024728689987177439066224173647204385151471810845156172459609697201263898819372465925856032821983943945509201296896112993390414319772317613998628115011584901662481020736975231857679558573639533120123760882987807897148264001476729480741158503008405824181375825684426593602078107066384305742314153383784825815001170364503279303283157714730965700730790958163526085614077255893030881612578737162635171062435305862363661501175783671862584712802832632731639923317926092501167046294294878922434436385815597766578254085927198853219424480746368612964091254086956730350365974846418411767133289280026522101904776721397535481072023153960396155426365282526318432948840966649466716318812335304612541684202901596339076117983534399558629308180937552570931412127563964839611720473046765641026358839977096301838517860717992220124429055320994261412222457829626748188314831526678529121257451724121669436757611557692716596947663821034873517375372433749628434475153359120061495211777091719559441963916844642691242108239222713715540944215042751815205832903182816602051553000809853471087600226541940973229542173962641860015572714026730877762563780111880467244618055586935195897209646109126685288690235443479134420307287200865787784854857681194140932834097813623138157320433948668365280904196167520730495552269155400544459597418276177569668057444229387270850059959177577695113400939572251098823419194625556857107173746511343007800181920881221537624681494893301655822089723344553388000429323171176866004751029713971505534118999127107434111180853160547174861752751626348577776330731649967976997705926985766161797485058129327581956292771787829660210103007587578438303364646280346294247633981629844834860981910926589933525586410278385574288166108654586815838726812632990143066979317344762104354343375257570333883689617990419862704229988727473561686512974943917017701629021694931065627383970151448161079270422835544949285326099262830853904796892448341901343021226214704238492700377380756779821477303617108015181033663888382907694701687086758887917099855028808021759693299993928761037883200478548527383654940830627162960534839519753768771304564445702228660676511638525909100219792667017787855759149034626623398581454820469088953474304671180584117170375107299218857538863644099680063025446314779087962590928803576169825639877210091913953351078907222584306551857008399547716236951520432306368855405563331758063509346439969963192969308936226062923426688246041671272845075445462096707328610949341325449158353742604022908568946203933963643988238016251082863396042138900397422551647696827175988389556639458939949446524753736368453580244135105014317368938795421424241169688445192369547807720902472510058532210500190676908416490365999594117212594539752865691344940629371386945400149172429767490208830567907361799732482813964175917940399926984637762837734833459842745195607883737248217715147010664746624865860107174027680587247982043006696208521522681495053640549260909058244066831466386395550275703967451187984628361840304549620598007584604056652075292109056084955460757631045962710468974190271314358635494727254653928324003353839691189913153372830283101267409306943828090830937214893815925580078330686328742776609556460072981273554977224301651716046982335341896599200489741066102393484018972841466743047289295775671416546171942449273730018102329884754306147198475343597045689433842671468209541017943478180739831881650778966557553896529865161244407229829547727716931459459359559840553017703654746156616071691286614296466768069668800344909496623755249308151433068017415932042402097203261108808555885215825105468494713684598721648229183118676788358693974111182614492214872927357569277835129060640219341798931965723310239741977694394948416720292490078649040773942984422921245511852420706674819914354346020104887798142515274317061947997836595134419034230582330000240717127925526964112060319439249076892237808670839725453914016230218699443944340117528267723797972780319883977386476469029456738893211705543189528568137121573530047359055999267493785987462058075025437911796049705063581773663851013087176643772751648150048981936401280117985710232762186707399038083284214490009351252797025675234031663328726764953673595105495179812315052867907929540377789168697586451635338020604541532555456767223921372800748040195290633117401248117419768580554561920679552566002835202485597492704090494964420701053820178654505444932328959627731270218760735536157010176515686945610256645425466090751077063124240264202269417785796090050755625809976411130855080982514771006405019239084453063860469309363801560732448786594182631965426855620770324661738005715385915570566785767487246135064276153153759997114083896415651122260662526196811934588460728906851527212560414251230489996405218070314736073129676329566820684536684171651336809291777117985968335713633891342587678051190608132314213884936083558677694435789223952611566992819476705878074764002787217694166299949376281231412882322206987374652542436733768892535513131102546959338123452241057528223073307768102485716978811877380836416402793916906204056848362602583858587799671063183493736976342561580071402353708559999242811554741824392329109504518229810589936161848694495394989078505170054301833167574488999685417558644273661508773537637981961957984792817571894810151022150547618198149075642735541126296201993828633364656909410149851951595803219323557352758303156050734384212094939255739820941934884266839134997303995322823215069858545696315120342019702518376737457847075422833609547002365123843075643015383498457754484535198820719152172552391062084109456195267364880915037694355867535475716959456974814296043410930981650961631016607387504592652367302782535421937637661372747413198635813871372955291153837003764892214570085570425957184949391279047951885927105994402548962365475639942412116192038687450221895241768677287554938141140104080214294382146803429298709644350336820810077286914588926227332794609803525379770309789366482715491677332422658938068884123176801629354440421212341249014134107326180610680159589007947653882219813134645968624107250575125766006962591815762470229495361601560447159368208493962780049186984228166796792953581542749324663701473984707525536374661479614593173052043467258730505397958757517048679043709555117136847520835937727846034818459509505968569561640501633538002951685677658453700780995472650097844105771121176542567666472915935659895363457036650495500315381213781656630651058193300564850194107824559354050907613263433447134245936110081294087980183901841868569834102951605113985102702574503134563661489803117882501774544796411708510598634828765358263065954367069982829061211021319154234231505020565550265511430978433260352023923242725444468300700379120792896552063867819454509409847360220160225898163469405630937816664742083227109521241191459649627059244503802064886747666586992067262537932482591511828983160758903941627135177441671297217952186909720765757172069021248609888042204884148250442720829914829566064531716170835027008348907733533199583767922956828037492979711527925747153139364500573829531580750159815842766777948133435121844659456337848260159990186320354013431173770018894243132189838566288123058659669603088143868118546664490074354240051579825260190932977319065953785372139716567573294527268103825314263684763355326490530706394742429719766894118537850347739213350481304400991206260374884728430342569941156073036720381921215037764474384167946687650854838413496688263808658128622126405042347278636920072686075794168093150348990814812843596864619140305297198950566391285496038929258759391060652097864480694083354601317794438332337379458327425272558604296034920828942395797704350760545713242712650295620720480266695027666991950244529279313359307184545911652854607987807652986645496026716947536417215612871365512578375754072529384924508720861219936489809211203818311944253049677116385442579755323008904791994012496568602105634936557602112891222255815968208726460763908935319398537462319222352255330284191400510937420961175564065290566834839984065131575926030604764559525484870734749719528714771458256355741055774645543217420803544635560577601086392076222338719457169263398772048976940974467070861441289928116114822379840108596537462836610078114384265222441942194716220604610140785522209755139397733927411986230276978703634852253352842022242600934585431160196716177947048411252481870275891670108929136226858123842466618635286446211546416170022232310277708477106741642518964712784286913799970144671504373724583892442112497876502732662490966289876004595235484314466115186871841219982663670004329696331736833210973276693373847197155177400173404324040554503800043998543964753167354301398443594022081940824816410044369039158042339692563911582839710484722124067650472244306310825431696389062650108246970517592940351132396721382185326792077105099924715887893343594565171565538863544092477718216102419627260239221503871283929077578430077879552461168013575739019074659261015668694109748101523463971688743384750132252193744487530010432140663448060994862324221352177117091692094628128298303362593459421987497960525231874745909583672472115107069268107174241116087881881019570656894743427112230837464729747697287904400461590825567248163889426860244245125160649191818265856685696552603720649580279665210466735030772562224321647428767632205792907103522857500975846124533794485829388172460541838137807012917830058830599361560898689070941180492898899260714003360024425748810372423730833791663083240112960927403701290646454922124827245129489426572579849373823425089687526885449333112091199298595114972391533749953602866527716710260124896795530978681337873050346765409250024915767233853701372846694845302647660951562615461568624145939053205986352780877785504030782975749829320672131639847922952281937687807201663461521327704240311694177696896118243268002366769685019056410577468389387982304047935418402259740514853027590036741912357709317665544120419882073293232311077044681467068692078887192123162368975908397824952247513326863502917499638855245220253501440282089710886902088110314515119921897082899269502687200926510126785605589389971953891466571940655793341267576712702044221565301601582038054280635622775053891017862578168874712354569122595424188041364748533014273541620996902412317659304369126274940673760282393297296303605167965899360908473162497377625185238410611118623494106245618536249893057276554911179490509343490281569326320305727171387833588485502972865577590967716357968488698688366623916015925132522948757655665068523523398272426656763846601941044889777084329092351207003832111593986978874097826082333661521108604410795481934991712378889677120921380733180630953797228124436925901747310315082957987070479333014629016302597871979321110212016441175718117901992216429519562311775794723637051256769505374760360763420681191684281565703673512787503060410833524367577637189186127532357886671122588818257749537642741987311408806312149471966994444684490304692708403471108110071013861762043913009486567909615925856915111145157587139482174798470731364948860152215731708795013958641768504540907285026130803275489526748381597866585764901884965780165679560003859916511155593093937941342191408690570473464773303722588426369819739204909387442499777940226401837163549251666274278346270313040476274971039622891624000180029613725006476509403364326406391246489782009042296085561666625021390407234492476625340898666542026879772764965458833327273469640863858589506881152715997066880840404844786136002429799197513670678167918505711408986264171415473963739819897153319682352157242436699086438293839144783613290126856940433221400089631527568339999647274484053449187231193586513478553961120261523697898522345257679117226529948644856349013870383469132183523948228011112847641996718199985854240080628919802362640399110051898162724824317818261364212713700489111597445034735841096791394327255793144058953195735979255500681924093541926831189788447649230578028685481620774124541447986887063371215612828737445504126792126668657148857503236683061009031834227894258415429287921589180511143738996435527799620992980171024451696472280596148440944281496867205466579292102064584627624844059750272925405354554066059151128068182475799175855368825868213358066934288301931674983194054960742317651833552973708808881910338838345542145264765898053131702059650549357606838287325340289387338408913385535893886714355696265487136313792844870657000048778550907660131170169196949772576143001970534269000129551652259270309414085916988259345450654231755769332790515097058768942990226930104365502416860783560820200449893859249931234806018277040296124168962543112148860257600688481559980411497683432824145220164517165997579803724329970568624171534145108295351525433823042298431240998007285783230419554891207375060543510607394601686931260481820447969808335093135230669556458848965869216999961109987701112341252207144256371116432373965527211436350745655394591331150598252972160705044878744871484910228534957910691064403852977804710244538481813699138213659653339275611648406229737886328767423865117681369432536215587083995492330210172798442889637226014994625989561574588601421333274595463797104992474629991099861932756621419495495405765208499233572353593074733868425972830020452653663067369023435701144923013403871827289068250977517639522789409484077694583144041361237711090957468634825318848551379966508312723990041493498719791130622004598057867576567891051883296321947920861036378636514729735231907303987404597374703868956022462415212420325789494042626505281612735220986653006048888511362581717435371039913631944528291501460608923648672914601585921967188124757125344317703937649230821850636384448223099780953302579796292677875257778468851126567553581469246021319544960826644051968402591744261588513164445657965940717705558704258543335633128183315746790982000579813647720549072223968993467989917673879678844548251906676970220926428362511759391433703233215176039199632190524844308724816272160410355481266901628572919459868565657438503339416812514250438463084983815421620914256549502324908884424934281168435532138447015535715258297609688709054569383439820034828472582159644295823055633074416746134770655298623034719278834188231734114668743179725352295989446697073069344857563690739037049278316557475927738737681615158535249690255061642416434817023661768107174850685406019298384505190453044613097813590727922659746647738899719913130078946719179339660677075127986395537833954042452806489362197558359643104252387826497603162973481018827096019804523724847046688868192045410082616697235007542285962639924253707390612116240434441128291157335037012457182213272323708616452296731042970711067461280235134236002858695531753968175124106320804135459390446109669966478159704060563506181403707688416868169080661314791585974728406832300399643607846142866759087084590577784096852079432351131369102485504601677190773665981596065166223880159006138833851025029096120377258906541252850745008188127036411317045308617234517024191126160909495821392377088832022548449894577662876483116921024078485949495409554495373495342331917477879119788799596739500183434179302468595903421937323444849480084360269472353307468717718324397712922859675816461109527533295943034070618257615723009907252469916924132617353375481761656902869750293808179968810011071675793631491498202932853353566516816423433918862843554287031198832855618499602506805287176016649369215789890209536064208600299226402676290909335792544450683179984564175134283121125758322544949509592831146666893048765624758182653764547093317030848875054728160083041033955938506957214728755847197703863949529294238725901458427019571541623715494653907889611441813969368000790463246411446431612340939543700411453292046585461493875828909795573096183585506418067409568180875736564414832338668331010627615504854843089346893755163833451735521144821679317100077865644161621459010971475120902250653433175408238659413990812927762654519947486032244327033609530661696819666182904798969057257159838286801225648457403349080630224156335329835097790128341827772842174452235131580908267793413885002412433428838679896127481621195870437484369662997180833944686342545797784003038703979723571373495536057069761720595719041278445778799489897746446520345342478328878903751407576597082237518665984288008565417253531990495082105349693279251597485400990563279583001346515382963172126274274114228977154850317654739075510341877812142049033709248540431649349360454171857279928430256433966733013145456436453374034071420668530658148198819133094346791079393090741343442016940729023666239019286151408400528278839425013509128101259022884440623796360287654020200398177094670039707457235174332024124664337320742741655828930693357264662990969423972123852010156171341704035136486958408893037771544412995248384536236789986239406135570529193547736751446652499020231458367257939760308331544450404960904624836354605802843544426212322102471702025143190694498888762614176508081383535052117726124871948968682776384901642196308919729933511513745488301542286919679720534843903454266552533755270812908449558914765990354332642432924466305706697502528535953499313358853960861654521896826198605022852758763642332092119002664068009912423678833331096877705597367614868450431587131210782133750039973358248976763116711215345617569037540747557335948726717873946853790465773286983503448015325903130697706427689220182977510925119060478031366272210173341177509911802513214873693482766601743162906664655329951748 | o1 : MutableMatrix |
i2 : rowPermute(m,1,{2,0,1}) o2 = | . . . . . . | | 1 157536965537041165175488513 79221136326288413549090453617582214988603149380032775393045753873679347103737428810698791647263113706575282689198477135930652137291317188670030006057926509831856472550143054466006425134587034426949120010210832597783143689081004098970652114673282224426184172485773967049733965817226715156969648131835381010189470025770375559444559659305270898952170617343578663720139463438305206193729450577009951868047317341521679722886752217921827822705466305632297648679105292595306982225729633137305184703173136534319068330149229142960259210328722455601450057473003629441834416962669954405564521304502500726298911194393554191501157954017925309977598836623748100506311537547090223313424323313673085311409323919977212070953990949404412305207140907616619412378270976434206887105501661848469182736298770557698748104969475842500166345456724876246803841548685455561851856586967869889986216391448174596518073583228454703935275996041071738034755239225816281721293011288588359444337681021846829274952700086230836341401062887321604178406708278357480439226036171803414304571700770050264769130291420603534822495795966981715612394351588510056912232508637273573895372779156159436797233748213294951636931736322625278881149941049169682180025310119656903852664689348405476728233436921288688205034751242856813863451202798101231235894933014025474654357904163264189792879110990531247061528782494741231885291482973616690359904394443018958369073484128300703937149692838128916254439952768266768999800895221352172804608885628145520829329108509888656265795056847497582709463200002373315731960683089450281141672128908771066872542843950397795050900482861371828770525181267955544208230938560999841196913163882946371552828126583680248944964520944418180558701521838650855170095150234372062727397690674991347946365752214498420657007149585319909260780872426315558079608099072865828174703417406185318728278145026184310672633645641700732291542811057990742838365066341014265183949971790930431087121056345347741501667746148234688653065189269356885872908647581204650438736957716528711548574555583977239301969823515430537595181395319473570033411789209713074292228145962019286962544117035974563318921268241513986555088394502711032433789248734183877010959345104750102614262227563661010217640141350231316347211768763385670337883433049195056061300162041862964241528184097908283230852906666992480893473206747006312106694438401261591124362380788902882710265313013071263115504159140550179707220633782158597940373880726872858838789886163551228708805088540541574505134133745949431125107024728689987177439066224173647204385151471810845156172459609697201263898819372465925856032821983943945509201296896112993390414319772317613998628115011584901662481020736975231857679558573639533120123760882987807897148264001476729480741158503008405824181375825684426593602078107066384305742314153383784825815001170364503279303283157714730965700730790958163526085614077255893030881612578737162635171062435305862363661501175783671862584712802832632731639923317926092501167046294294878922434436385815597766578254085927198853219424480746368612964091254086956730350365974846418411767133289280026522101904776721397535481072023153960396155426365282526318432948840966649466716318812335304612541684202901596339076117983534399558629308180937552570931412127563964839611720473046765641026358839977096301838517860717992220124429055320994261412222457829626748188314831526678529121257451724121669436757611557692716596947663821034873517375372433749628434475153359120061495211777091719559441963916844642691242108239222713715540944215042751815205832903182816602051553000809853471087600226541940973229542173962641860015572714026730877762563780111880467244618055586935195897209646109126685288690235443479134420307287200865787784854857681194140932834097813623138157320433948668365280904196167520730495552269155400544459597418276177569668057444229387270850059959177577695113400939572251098823419194625556857107173746511343007800181920881221537624681494893301655822089723344553388000429323171176866004751029713971505534118999127107434111180853160547174861752751626348577776330731649967976997705926985766161797485058129327581956292771787829660210103007587578438303364646280346294247633981629844834860981910926589933525586410278385574288166108654586815838726812632990143066979317344762104354343375257570333883689617990419862704229988727473561686512974943917017701629021694931065627383970151448161079270422835544949285326099262830853904796892448341901343021226214704238492700377380756779821477303617108015181033663888382907694701687086758887917099855028808021759693299993928761037883200478548527383654940830627162960534839519753768771304564445702228660676511638525909100219792667017787855759149034626623398581454820469088953474304671180584117170375107299218857538863644099680063025446314779087962590928803576169825639877210091913953351078907222584306551857008399547716236951520432306368855405563331758063509346439969963192969308936226062923426688246041671272845075445462096707328610949341325449158353742604022908568946203933963643988238016251082863396042138900397422551647696827175988389556639458939949446524753736368453580244135105014317368938795421424241169688445192369547807720902472510058532210500190676908416490365999594117212594539752865691344940629371386945400149172429767490208830567907361799732482813964175917940399926984637762837734833459842745195607883737248217715147010664746624865860107174027680587247982043006696208521522681495053640549260909058244066831466386395550275703967451187984628361840304549620598007584604056652075292109056084955460757631045962710468974190271314358635494727254653928324003353839691189913153372830283101267409306943828090830937214893815925580078330686328742776609556460072981273554977224301651716046982335341896599200489741066102393484018972841466743047289295775671416546171942449273730018102329884754306147198475343597045689433842671468209541017943478180739831881650778966557553896529865161244407229829547727716931459459359559840553017703654746156616071691286614296466768069668800344909496623755249308151433068017415932042402097203261108808555885215825105468494713684598721648229183118676788358693974111182614492214872927357569277835129060640219341798931965723310239741977694394948416720292490078649040773942984422921245511852420706674819914354346020104887798142515274317061947997836595134419034230582330000240717127925526964112060319439249076892237808670839725453914016230218699443944340117528267723797972780319883977386476469029456738893211705543189528568137121573530047359055999267493785987462058075025437911796049705063581773663851013087176643772751648150048981936401280117985710232762186707399038083284214490009351252797025675234031663328726764953673595105495179812315052867907929540377789168697586451635338020604541532555456767223921372800748040195290633117401248117419768580554561920679552566002835202485597492704090494964420701053820178654505444932328959627731270218760735536157010176515686945610256645425466090751077063124240264202269417785796090050755625809976411130855080982514771006405019239084453063860469309363801560732448786594182631965426855620770324661738005715385915570566785767487246135064276153153759997114083896415651122260662526196811934588460728906851527212560414251230489996405218070314736073129676329566820684536684171651336809291777117985968335713633891342587678051190608132314213884936083558677694435789223952611566992819476705878074764002787217694166299949376281231412882322206987374652542436733768892535513131102546959338123452241057528223073307768102485716978811877380836416402793916906204056848362602583858587799671063183493736976342561580071402353708559999242811554741824392329109504518229810589936161848694495394989078505170054301833167574488999685417558644273661508773537637981961957984792817571894810151022150547618198149075642735541126296201993828633364656909410149851951595803219323557352758303156050734384212094939255739820941934884266839134997303995322823215069858545696315120342019702518376737457847075422833609547002365123843075643015383498457754484535198820719152172552391062084109456195267364880915037694355867535475716959456974814296043410930981650961631016607387504592652367302782535421937637661372747413198635813871372955291153837003764892214570085570425957184949391279047951885927105994402548962365475639942412116192038687450221895241768677287554938141140104080214294382146803429298709644350336820810077286914588926227332794609803525379770309789366482715491677332422658938068884123176801629354440421212341249014134107326180610680159589007947653882219813134645968624107250575125766006962591815762470229495361601560447159368208493962780049186984228166796792953581542749324663701473984707525536374661479614593173052043467258730505397958757517048679043709555117136847520835937727846034818459509505968569561640501633538002951685677658453700780995472650097844105771121176542567666472915935659895363457036650495500315381213781656630651058193300564850194107824559354050907613263433447134245936110081294087980183901841868569834102951605113985102702574503134563661489803117882501774544796411708510598634828765358263065954367069982829061211021319154234231505020565550265511430978433260352023923242725444468300700379120792896552063867819454509409847360220160225898163469405630937816664742083227109521241191459649627059244503802064886747666586992067262537932482591511828983160758903941627135177441671297217952186909720765757172069021248609888042204884148250442720829914829566064531716170835027008348907733533199583767922956828037492979711527925747153139364500573829531580750159815842766777948133435121844659456337848260159990186320354013431173770018894243132189838566288123058659669603088143868118546664490074354240051579825260190932977319065953785372139716567573294527268103825314263684763355326490530706394742429719766894118537850347739213350481304400991206260374884728430342569941156073036720381921215037764474384167946687650854838413496688263808658128622126405042347278636920072686075794168093150348990814812843596864619140305297198950566391285496038929258759391060652097864480694083354601317794438332337379458327425272558604296034920828942395797704350760545713242712650295620720480266695027666991950244529279313359307184545911652854607987807652986645496026716947536417215612871365512578375754072529384924508720861219936489809211203818311944253049677116385442579755323008904791994012496568602105634936557602112891222255815968208726460763908935319398537462319222352255330284191400510937420961175564065290566834839984065131575926030604764559525484870734749719528714771458256355741055774645543217420803544635560577601086392076222338719457169263398772048976940974467070861441289928116114822379840108596537462836610078114384265222441942194716220604610140785522209755139397733927411986230276978703634852253352842022242600934585431160196716177947048411252481870275891670108929136226858123842466618635286446211546416170022232310277708477106741642518964712784286913799970144671504373724583892442112497876502732662490966289876004595235484314466115186871841219982663670004329696331736833210973276693373847197155177400173404324040554503800043998543964753167354301398443594022081940824816410044369039158042339692563911582839710484722124067650472244306310825431696389062650108246970517592940351132396721382185326792077105099924715887893343594565171565538863544092477718216102419627260239221503871283929077578430077879552461168013575739019074659261015668694109748101523463971688743384750132252193744487530010432140663448060994862324221352177117091692094628128298303362593459421987497960525231874745909583672472115107069268107174241116087881881019570656894743427112230837464729747697287904400461590825567248163889426860244245125160649191818265856685696552603720649580279665210466735030772562224321647428767632205792907103522857500975846124533794485829388172460541838137807012917830058830599361560898689070941180492898899260714003360024425748810372423730833791663083240112960927403701290646454922124827245129489426572579849373823425089687526885449333112091199298595114972391533749953602866527716710260124896795530978681337873050346765409250024915767233853701372846694845302647660951562615461568624145939053205986352780877785504030782975749829320672131639847922952281937687807201663461521327704240311694177696896118243268002366769685019056410577468389387982304047935418402259740514853027590036741912357709317665544120419882073293232311077044681467068692078887192123162368975908397824952247513326863502917499638855245220253501440282089710886902088110314515119921897082899269502687200926510126785605589389971953891466571940655793341267576712702044221565301601582038054280635622775053891017862578168874712354569122595424188041364748533014273541620996902412317659304369126274940673760282393297296303605167965899360908473162497377625185238410611118623494106245618536249893057276554911179490509343490281569326320305727171387833588485502972865577590967716357968488698688366623916015925132522948757655665068523523398272426656763846601941044889777084329092351207003832111593986978874097826082333661521108604410795481934991712378889677120921380733180630953797228124436925901747310315082957987070479333014629016302597871979321110212016441175718117901992216429519562311775794723637051256769505374760360763420681191684281565703673512787503060410833524367577637189186127532357886671122588818257749537642741987311408806312149471966994444684490304692708403471108110071013861762043913009486567909615925856915111145157587139482174798470731364948860152215731708795013958641768504540907285026130803275489526748381597866585764901884965780165679560003859916511155593093937941342191408690570473464773303722588426369819739204909387442499777940226401837163549251666274278346270313040476274971039622891624000180029613725006476509403364326406391246489782009042296085561666625021390407234492476625340898666542026879772764965458833327273469640863858589506881152715997066880840404844786136002429799197513670678167918505711408986264171415473963739819897153319682352157242436699086438293839144783613290126856940433221400089631527568339999647274484053449187231193586513478553961120261523697898522345257679117226529948644856349013870383469132183523948228011112847641996718199985854240080628919802362640399110051898162724824317818261364212713700489111597445034735841096791394327255793144058953195735979255500681924093541926831189788447649230578028685481620774124541447986887063371215612828737445504126792126668657148857503236683061009031834227894258415429287921589180511143738996435527799620992980171024451696472280596148440944281496867205466579292102064584627624844059750272925405354554066059151128068182475799175855368825868213358066934288301931674983194054960742317651833552973708808910321754754451139528248078310202517126658109239950627632628002403402303204555932481640988841313955305273710453870429885784241368000702185028555886967873716908042084439218126624507204911476259917005635215249592060307682632721210835878975389545065247921116683215404853004476451191273876793271903667197783882101506178542400722613261464260949021726831613791344666040134495620404055624304941339072181639471059170315227776695541598363205861260484056231424090749958981239731737081453567208585884268618602499788210382610334325400796426473236413847772831984197608673332841201259173247859294961176015598951929460166372622829088090000801497334335463239353927254797639365578054600006059482717867423563421255314036396068406314478675478352712443982795286361311889002904552691626255056018425268121312539682167203281653428699071653723463525177392245639845991016504183382083473993161305916283849286134872301037542999811887687202649143002173358503079563577184841475801686644378449504201888996396223893158479338313481123794456129279150259937072231776955299954637140266723136555673580194323296706910304462780156307978980663439064039098269076544395312530798514649195866969063861109982085162066515444568559660996484416103399571168835978913088511815116082595596894530575125805550674817777865638975936876164479865645056484096655637836278193818173398039377107638828279162206955925150280459235849772630256657633274681282914772059201052299510432801433624862697187350046973777249899631826415540356311525488878291953625806964957470535568669124320496258928589841167816633208060264638679100626865894089997332408881024562594843957165427993194923608529530571971351730082665347173688497873232135949326115969708557877795111385096239768109901304666080748515308309480170339942475853221636041635588430654788881088164915277913377115795772316907743107970942011724896340689520876841285668801824515371463219406246454388402271398689380890085308726651337456593985869002828203530676837552433915773299120577136912237198547941591642672954884785546529796460436746805569916011540574600137868989482697479292056237842678162257456307377063735977525637965298099883940251280149234667246584860660586985989625489078557016966119917556659251594349310805996406350698861096294564927361999733806925340993774513734167246521328696778535467729828372738404712243512030585943821792281473636712029502535543983258698641855312414596645503467353059136364487616184999250900929062361191032528702828208912251221020420620183777654588987551037457227388378864059730306966053966974789365259790704673292936289025690003183908057009583543816876579592608306750071162489138499981643853189308534628522832483994227522132577255569356715695537472844311600498583539066255372550122189054262113855482300288494910076316667923763354259397394652975332424638193017896652669114158184252346031063758626118363495661355967904673398680730491401458528379625568086035953965519274241903896046912253816831343566454161687186166107115078556083087356229548262156338941120415722821688736407971114326333225522789412168452698289253352156491066645595689853484574486469485006035988708144292509817107358834163652952256842524678828748643598837306485872336171797109158435841248595351990803644038522372092391822206137329785671262831546666417994370139235553816170137808390952920176152923308586051910605740899645078510835999942823411776601479796423782505991408561964289459772181161505963699285628396311668216677890147515387044588501001445478371861504451157643068350763957331604357060385484254216468306507829300922227851776755739299037066530661497068242253118756369543584880535697331191350672248958685950131756429800723278651606916976215922907971045714570593961788922993509517853758202223290600867459577746499993105866959543095051185657448708859447139209610955090770459863842257330582151437357225585514188989076744659158997406584418006809470160565025395876310463251263308715525565322177372854264007970924005850109764066184326077268070199676963507790250798138339125308556628866188249183169817819430440797366575030346027674834620413570083909553369933358628443927642520787152176774607789574400350821684270190644993270567533538602526603945992367781173459921610044810066788121294673626418660151038869810898304153656974062929418042685580586973719991723497469008667673213059184674811809970576942774173424542193765606473544835541378480142113356922720037529473549738321713039313239094479967073940487759793658679186398348239622308084600745754064513809608028038682779196745617529798553169416394453294803860317780537944359172889311680676986550298669497717024291592350518862395651342942460483284178345338095445358136503683448348929118227515419998633851854351110736123427304770632664038793651508415951162568323067305892342690979572387887032352771914232110915415151580978478587183338164971866076771321958882883658699163290316562009491699367658139998512676989512704777296097246311257161564272376550771771132207341063939977191092691503680518837413061556204335614606187917571137757428850903884460946966131584775454193208785938191502807115478596005971222465555361134731570680184561578582757082265259422231730654646232247082968651724464303818479115059472250849885678122771152897 79221136326288413549090453617582214988603149380032775393045753873679347103737428810698791647263113706575282689198477135930652137291317188670030006057926509831856472550143054466006425134587034426949120010210832597783143689081004098970652114673282224426184172485773967049733965817226715156969648131835381010189470025770375559444559659305270898952170617343578663720139463438305206193729450577009951868047317341521679722886752217921827822705466305632297648679105292595306982225729633137305184703173136534319068330149229142960259210328722455601450057473003629441834416962669954405564521304502500726298911194393554191501157954017925309977598836623748100506311537547090223313424323313673085311409323919977212070953990949404412305207140907616619412378270976434206887105501661848469182736298770557698748104969475842500166345456724876246803841548685455561851856586967869889986216391448174596518073583228454703935275996041071738034755239225816281721293011288588359444337681021846829274952700086230836341401062887321604178406708278357480439226036171803414304571700770050264769130291420603534822495795966981715612394351588510056912232508637273573895372779156159436797233748213294951636931736322625278881149941049169682180025310119656903852664689348405476728233436921288688205034751242856813863451202798101231235894933014025474654357904163264189792879110990531247061528782494741231885291482973616690359904394443018958369073484128300703937149692838128916254439952768266768999800895221352172804608885628145520829329108509888656265795056847497582709463200002373315731960683089450281141672128908771066872542843950397795050900482861371828770525181267955544208230938560999841196913163882946371552828126583680248944964520944418180558701521838650855170095150234372062727397690674991347946365752214498420657007149585319909260780872426315558079608099072865828174703417406185318728278145026184310672633645641700732291542811057990742838365066341014265183949971790930431087121056345347741501667746148234688653065189269356885872908647581204650438736957716528711548574555583977239301969823515430537595181395319473570033411789209713074292228145962019286962544117035974563318921268241513986555088394502711032433789248734183877010959345104750102614262227563661010217640141350231316347211768763385670337883433049195056061300162041862964241528184097908283230852906666992480893473206747006312106694438401261591124362380788902882710265313013071263115504159140550179707220633782158597940373880726872858838789886163551228708805088540541574505134133745949431125107024728689987177439066224173647204385151471810845156172459609697201263898819372465925856032821983943945509201296896112993390414319772317613998628115011584901662481020736975231857679558573639533120123760882987807897148264001476729480741158503008405824181375825684426593602078107066384305742314153383784825815001170364503279303283157714730965700730790958163526085614077255893030881612578737162635171062435305862363661501175783671862584712802832632731639923317926092501167046294294878922434436385815597766578254085927198853219424480746368612964091254086956730350365974846418411767133289280026522101904776721397535481072023153960396155426365282526318432948840966649466716318812335304612541684202901596339076117983534399558629308180937552570931412127563964839611720473046765641026358839977096301838517860717992220124429055320994261412222457829626748188314831526678529121257451724121669436757611557692716596947663821034873517375372433749628434475153359120061495211777091719559441963916844642691242108239222713715540944215042751815205832903182816602051553000809853471087600226541940973229542173962641860015572714026730877762563780111880467244618055586935195897209646109126685288690235443479134420307287200865787784854857681194140932834097813623138157320433948668365280904196167520730495552269155400544459597418276177569668057444229387270850059959177577695113400939572251098823419194625556857107173746511343007800181920881221537624681494893301655822089723344553388000429323171176866004751029713971505534118999127107434111180853160547174861752751626348577776330731649967976997705926985766161797485058129327581956292771787829660210103007587578438303364646280346294247633981629844834860981910926589933525586410278385574288166108654586815838726812632990143066979317344762104354343375257570333883689617990419862704229988727473561686512974943917017701629021694931065627383970151448161079270422835544949285326099262830853904796892448341901343021226214704238492700377380756779821477303617108015181033663888382907694701687086758887917099855028808021759693299993928761037883200478548527383654940830627162960534839519753768771304564445702228660676511638525909100219792667017787855759149034626623398581454820469088953474304671180584117170375107299218857538863644099680063025446314779087962590928803576169825639877210091913953351078907222584306551857008399547716236951520432306368855405563331758063509346439969963192969308936226062923426688246041671272845075445462096707328610949341325449158353742604022908568946203933963643988238016251082863396042138900397422551647696827175988389556639458939949446524753736368453580244135105014317368938795421424241169688445192369547807720902472510058532210500190676908416490365999594117212594539752865691344940629371386945400149172429767490208830567907361799732482813964175917940399926984637762837734833459842745195607883737248217715147010664746624865860107174027680587247982043006696208521522681495053640549260909058244066831466386395550275703967451187984628361840304549620598007584604056652075292109056084955460757631045962710468974190271314358635494727254653928324003353839691189913153372830283101267409306943828090830937214893815925580078330686328742776609556460072981273554977224301651716046982335341896599200489741066102393484018972841466743047289295775671416546171942449273730018102329884754306147198475343597045689433842671468209541017943478180739831881650778966557553896529865161244407229829547727716931459459359559840553017703654746156616071691286614296466768069668800344909496623755249308151433068017415932042402097203261108808555885215825105468494713684598721648229183118676788358693974111182614492214872927357569277835129060640219341798931965723310239741977694394948416720292490078649040773942984422921245511852420706674819914354346020104887798142515274317061947997836595134419034230582330000240717127925526964112060319439249076892237808670839725453914016230218699443944340117528267723797972780319883977386476469029456738893211705543189528568137121573530047359055999267493785987462058075025437911796049705063581773663851013087176643772751648150048981936401280117985710232762186707399038083284214490009351252797025675234031663328726764953673595105495179812315052867907929540377789168697586451635338020604541532555456767223921372800748040195290633117401248117419768580554561920679552566002835202485597492704090494964420701053820178654505444932328959627731270218760735536157010176515686945610256645425466090751077063124240264202269417785796090050755625809976411130855080982514771006405019239084453063860469309363801560732448786594182631965426855620770324661738005715385915570566785767487246135064276153153759997114083896415651122260662526196811934588460728906851527212560414251230489996405218070314736073129676329566820684536684171651336809291777117985968335713633891342587678051190608132314213884936083558677694435789223952611566992819476705878074764002787217694166299949376281231412882322206987374652542436733768892535513131102546959338123452241057528223073307768102485716978811877380836416402793916906204056848362602583858587799671063183493736976342561580071402353708559999242811554741824392329109504518229810589936161848694495394989078505170054301833167574488999685417558644273661508773537637981961957984792817571894810151022150547618198149075642735541126296201993828633364656909410149851951595803219323557352758303156050734384212094939255739820941934884266839134997303995322823215069858545696315120342019702518376737457847075422833609547002365123843075643015383498457754484535198820719152172552391062084109456195267364880915037694355867535475716959456974814296043410930981650961631016607387504592652367302782535421937637661372747413198635813871372955291153837003764892214570085570425957184949391279047951885927105994402548962365475639942412116192038687450221895241768677287554938141140104080214294382146803429298709644350336820810077286914588926227332794609803525379770309789366482715491677332422658938068884123176801629354440421212341249014134107326180610680159589007947653882219813134645968624107250575125766006962591815762470229495361601560447159368208493962780049186984228166796792953581542749324663701473984707525536374661479614593173052043467258730505397958757517048679043709555117136847520835937727846034818459509505968569561640501633538002951685677658453700780995472650097844105771121176542567666472915935659895363457036650495500315381213781656630651058193300564850194107824559354050907613263433447134245936110081294087980183901841868569834102951605113985102702574503134563661489803117882501774544796411708510598634828765358263065954367069982829061211021319154234231505020565550265511430978433260352023923242725444468300700379120792896552063867819454509409847360220160225898163469405630937816664742083227109521241191459649627059244503802064886747666586992067262537932482591511828983160758903941627135177441671297217952186909720765757172069021248609888042204884148250442720829914829566064531716170835027008348907733533199583767922956828037492979711527925747153139364500573829531580750159815842766777948133435121844659456337848260159990186320354013431173770018894243132189838566288123058659669603088143868118546664490074354240051579825260190932977319065953785372139716567573294527268103825314263684763355326490530706394742429719766894118537850347739213350481304400991206260374884728430342569941156073036720381921215037764474384167946687650854838413496688263808658128622126405042347278636920072686075794168093150348990814812843596864619140305297198950566391285496038929258759391060652097864480694083354601317794438332337379458327425272558604296034920828942395797704350760545713242712650295620720480266695027666991950244529279313359307184545911652854607987807652986645496026716947536417215612871365512578375754072529384924508720861219936489809211203818311944253049677116385442579755323008904791994012496568602105634936557602112891222255815968208726460763908935319398537462319222352255330284191400510937420961175564065290566834839984065131575926030604764559525484870734749719528714771458256355741055774645543217420803544635560577601086392076222338719457169263398772048976940974467070861441289928116114822379840108596537462836610078114384265222441942194716220604610140785522209755139397733927411986230276978703634852253352842022242600934585431160196716177947048411252481870275891670108929136226858123842466618635286446211546416170022232310277708477106741642518964712784286913799970144671504373724583892442112497876502732662490966289876004595235484314466115186871841219982663670004329696331736833210973276693373847197155177400173404324040554503800043998543964753167354301398443594022081940824816410044369039158042339692563911582839710484722124067650472244306310825431696389062650108246970517592940351132396721382185326792077105099924715887893343594565171565538863544092477718216102419627260239221503871283929077578430077879552461168013575739019074659261015668694109748101523463971688743384750132252193744487530010432140663448060994862324221352177117091692094628128298303362593459421987497960525231874745909583672472115107069268107174241116087881881019570656894743427112230837464729747697287904400461590825567248163889426860244245125160649191818265856685696552603720649580279665210466735030772562224321647428767632205792907103522857500975846124533794485829388172460541838137807012917830058830599361560898689070941180492898899260714003360024425748810372423730833791663083240112960927403701290646454922124827245129489426572579849373823425089687526885449333112091199298595114972391533749953602866527716710260124896795530978681337873050346765409250024915767233853701372846694845302647660951562615461568624145939053205986352780877785504030782975749829320672131639847922952281937687807201663461521327704240311694177696896118243268002366769685019056410577468389387982304047935418402259740514853027590036741912357709317665544120419882073293232311077044681467068692078887192123162368975908397824952247513326863502917499638855245220253501440282089710886902088110314515119921897082899269502687200926510126785605589389971953891466571940655793341267576712702044221565301601582038054280635622775053891017862578168874712354569122595424188041364748533014273541620996902412317659304369126274940673760282393297296303605167965899360908473162497377625185238410611118623494106245618536249893057276554911179490509343490281569326320305727171387833588485502972865577590967716357968488698688366623916015925132522948757655665068523523398272426656763846601941044889777084329092351207003832111593986978874097826082333661521108604410795481934991712378889677120921380733180630953797228124436925901747310315082957987070479333014629016302597871979321110212016441175718117901992216429519562311775794723637051256769505374760360763420681191684281565703673512787503060410833524367577637189186127532357886671122588818257749537642741987311408806312149471966994444684490304692708403471108110071013861762043913009486567909615925856915111145157587139482174798470731364948860152215731708795013958641768504540907285026130803275489526748381597866585764901884965780165679560003859916511155593093937941342191408690570473464773303722588426369819739204909387442499777940226401837163549251666274278346270313040476274971039622891624000180029613725006476509403364326406391246489782009042296085561666625021390407234492476625340898666542026879772764965458833327273469640863858589506881152715997066880840404844786136002429799197513670678167918505711408986264171415473963739819897153319682352157242436699086438293839144783613290126856940433221400089631527568339999647274484053449187231193586513478553961120261523697898522345257679117226529948644856349013870383469132183523948228011112847641996718199985854240080628919802362640399110051898162724824317818261364212713700489111597445034735841096791394327255793144058953195735979255500681924093541926831189788447649230578028685481620774124541447986887063371215612828737445504126792126668657148857503236683061009031834227894258415429287921589180511143738996435527799620992980171024451696472280596148440944281496867205466579292102064584627624844059750272925405354554066059151128068182475799175855368825868213358066934288301931674983194054960742317651833552973708808910321754754451139528248078310202517126658109239950627632628002403402303204555932481640988841313955305273710453870429885784241368000702185028555886967873716908042084439218126624507204911476259917005635215249592060307682632721210835878975389545065247921116683215404853004476451191273876793271903667197783882101506178542400722613261464260949021726831613791344666040134495620404055624304941339072181639471059170315227776695541598363205861260484056231424090749958981239731737081453567208585884268618602499788210382610334325400796426473236413847772831984197608673332841201259173247859294961176015598951929460166372622829088090000801497334335463239353927254797639365578054600006059482717867423563421255314036396068406314478675478352712443982795286361311889002904552691626255056018425268121312539682167203281653428699071653723463525177392245639845991016504183382083473993161305916283849286134872301037542999811887687202649143002173358503079563577184841475801686644378449504201888996396223893158479338313481123794456129279150259937072231776955299954637140266723136555673580194323296706910304462780156307978980663439064039098269076544395312530798514649195866969063861109982085162066515444568559660996484416103399571168835978913088511815116082595596894530575125805550674817777865638975936876164479865645056484096655637836278193818173398039377107638828279162206955925150280459235849772630256657633274681282914772059201052299510432801433624862697187350046973777249899631826415540356311525488878291953625806964957470535568669124320496258928589841167816633208060264638679100626865894089997332408881024562594843957165427993194923608529530571971351730082665347173688497873232135949326115969708557877795111385096239768109901304666080748515308309480170339942475853221636041635588430654788881088164915277913377115795772316907743107970942011724896340689520876841285668801824515371463219406246454388402271398689380890085308726651337456593985869002828203530676837552433915773299120577136912237198547941591642672954884785546529796460436746805569916011540574600137868989482697479292056237842678162257456307377063735977525637965298099883940251280149234667246584860660586985989625489078557016966119917556659251594349310805996406350698861096294564927361999733806925340993774513734167246521328696778535467729828372738404712243512030585943821792281473636712029502535543983258698641855312414596645503467353059136364487616184999250900929062361191032528702828208912251221020420620183777654588987551037457227388378864059730306966053966974789365259790704673292936289025690003183908057009583543816876579592608306750071162489138499981643853189308534628522832483994227522132577255569356715695537472844311600498583539066255372550122189054262113855482300288494910076316667923763354259397394652975332424638193017896652669114158184252346031063758626118363495661355967904673398680730491401458528379625568086035953965519274241903896046912253816831343566454161687186166107115078556083087356229548262156338941120415722821688736407971114326333225522789412168452698289253352156491066645595689853484574486469485006035988708144292509817107358834163652952256842524678828748643598837306485872336171797109158435841248595351990803644038522372092391822206137329785671262831546666417994370139235553816170137808390952920176152923308586051910605740899645078510835999942823411776601479796423782505991408561964289459772181161505963699285628396311668216677890147515387044588501001445478371861504451157643068350763957331604357060385484254216468306507829300922227851776755739299037066530661497068242253118756369543584880535697331191350672248958685950131756429800723278651606916976215922907971045714570593961788922993509517853758202223290600867459577746499993105866959543095051185657448708859447139209610955090770459863842257330582151437357225585514188989076744659158997406584418006809470160565025395876310463251263308715525565322177372854264007970924005850109764066184326077268070199676963507790250798138339125308556628866188249183169817819430440797366575030346027674834620413570083909553369933358628443927642520787152176774607789574400350821684270190644993270567533538602526603945992367781173459921610044810066788121294673626418660151038869810898304153656974062929418042685580586973719991723497469008667673213059184674811809970576942774173424542193765606473544835541378480142113356922720037529473549738321713039313239094479967073940487759793658679186398348239622308084600745754064513809608028038682779196745617529798553169416394453294803860317780537944359172889311680676986550298669497717024291592350518862395651342942460483284178345338095445358136503683448348929118227515419998633851854351110736123427304770632664038793651508415951162568323067305892342690979572387887032352771914232110915415151580978478587183338164971866076771321958882883658699163290316562009491699367658139998512676989512704777296097246311257161564272376550771771132207341063939977191092691503680518837413061556204335614606187917571137757428850903884460946966131584775454193208785938191502807115478596005971222465555361134731570680184561578582757082265259422231730654646232247082968651724464303818479115059472250849885678122771152897 79221136326288413549090453617582214988603149380032775393045753873679347103737428810698791647263113706575282689198477135930652137291317188670030006057926509831856472550143054466006425134587034426949120010210832597783143689081004098970652114673282224426184172485773967049733965817226715156969648131835381010189470025770375559444559659305270898952170617343578663720139463438305206193729450577009951868047317341521679722886752217921827822705466305632297648679105292595306982225729633137305184703173136534319068330149229142960259210328722455601450057473003629441834416962669954405564521304502500726298911194393554191501157954017925309977598836623748100506311537547090223313424323313673085311409323919977212070953990949404412305207140907616619412378270976434206887105501661848469182736298770557698748104969475842500166345456724876246803841548685455561851856586967869889986216391448174596518073583228454703935275996041071738034755239225816281721293011288588359444337681021846829274952700086230836341401062887321604178406708278357480439226036171803414304571700770050264769130291420603534822495795966981715612394351588510056912232508637273573895372779156159436797233748213294951636931736322625278881149941049169682180025310119656903852664689348405476728233436921288688205034751242856813863451202798101231235894933014025474654357904163264189792879110990531247061528782494741231885291482973616690359904394443018958369073484128300703937149692838128916254439952768266768999800895221352172804608885628145520829329108509888656265795056847497582709463200002373315731960683089450281141672128908771066872542843950397795050900482861371828770525181267955544208230938560999841196913163882946371552828126583680248944964520944418180558701521838650855170095150234372062727397690674991347946365752214498420657007149585319909260780872426315558079608099072865828174703417406185318728278145026184310672633645641700732291542811057990742838365066341014265183949971790930431087121056345347741501667746148234688653065189269356885872908647581204650438736957716528711548574555583977239301969823515430537595181395319473570033411789209713074292228145962019286962544117035974563318921268241513986555088394502711032433789248734183877010959345104750102614262227563661010217640141350231316347211768763385670337883433049195056061300162041862964241528184097908283230852906666992480893473206747006312106694438401261591124362380788902882710265313013071263115504159140550179707220633782158597940373880726872858838789886163551228708805088540541574505134133745949431125107024728689987177439066224173647204385151471810845156172459609697201263898819372465925856032821983943945509201296896112993390414319772317613998628115011584901662481020736975231857679558573639533120123760882987807897148264001476729480741158503008405824181375825684426593602078107066384305742314153383784825815001170364503279303283157714730965700730790958163526085614077255893030881612578737162635171062435305862363661501175783671862584712802832632731639923317926092501167046294294878922434436385815597766578254085927198853219424480746368612964091254086956730350365974846418411767133289280026522101904776721397535481072023153960396155426365282526318432948840966649466716318812335304612541684202901596339076117983534399558629308180937552570931412127563964839611720473046765641026358839977096301838517860717992220124429055320994261412222457829626748188314831526678529121257451724121669436757611557692716596947663821034873517375372433749628434475153359120061495211777091719559441963916844642691242108239222713715540944215042751815205832903182816602051553000809853471087600226541940973229542173962641860015572714026730877762563780111880467244618055586935195897209646109126685288690235443479134420307287200865787784854857681194140932834097813623138157320433948668365280904196167520730495552269155400544459597418276177569668057444229387270850059959177577695113400939572251098823419194625556857107173746511343007800181920881221537624681494893301655822089723344553388000429323171176866004751029713971505534118999127107434111180853160547174861752751626348577776330731649967976997705926985766161797485058129327581956292771787829660210103007587578438303364646280346294247633981629844834860981910926589933525586410278385574288166108654586815838726812632990143066979317344762104354343375257570333883689617990419862704229988727473561686512974943917017701629021694931065627383970151448161079270422835544949285326099262830853904796892448341901343021226214704238492700377380756779821477303617108015181033663888382907694701687086758887917099855028808021759693299993928761037883200478548527383654940830627162960534839519753768771304564445702228660676511638525909100219792667017787855759149034626623398581454820469088953474304671180584117170375107299218857538863644099680063025446314779087962590928803576169825639877210091913953351078907222584306551857008399547716236951520432306368855405563331758063509346439969963192969308936226062923426688246041671272845075445462096707328610949341325449158353742604022908568946203933963643988238016251082863396042138900397422551647696827175988389556639458939949446524753736368453580244135105014317368938795421424241169688445192369547807720902472510058532210500190676908416490365999594117212594539752865691344940629371386945400149172429767490208830567907361799732482813964175917940399926984637762837734833459842745195607883737248217715147010664746624865860107174027680587247982043006696208521522681495053640549260909058244066831466386395550275703967451187984628361840304549620598007584604056652075292109056084955460757631045962710468974190271314358635494727254653928324003353839691189913153372830283101267409306943828090830937214893815925580078330686328742776609556460072981273554977224301651716046982335341896599200489741066102393484018972841466743047289295775671416546171942449273730018102329884754306147198475343597045689433842671468209541017943478180739831881650778966557553896529865161244407229829547727716931459459359559840553017703654746156616071691286614296466768069668800344909496623755249308151433068017415932042402097203261108808555885215825105468494713684598721648229183118676788358693974111182614492214872927357569277835129060640219341798931965723310239741977694394948416720292490078649040773942984422921245511852420706674819914354346020104887798142515274317061947997836595134419034230582330000240717127925526964112060319439249076892237808670839725453914016230218699443944340117528267723797972780319883977386476469029456738893211705543189528568137121573530047359055999267493785987462058075025437911796049705063581773663851013087176643772751648150048981936401280117985710232762186707399038083284214490009351252797025675234031663328726764953673595105495179812315052867907929540377789168697586451635338020604541532555456767223921372800748040195290633117401248117419768580554561920679552566002835202485597492704090494964420701053820178654505444932328959627731270218760735536157010176515686945610256645425466090751077063124240264202269417785796090050755625809976411130855080982514771006405019239084453063860469309363801560732448786594182631965426855620770324661738005715385915570566785767487246135064276153153759997114083896415651122260662526196811934588460728906851527212560414251230489996405218070314736073129676329566820684536684171651336809291777117985968335713633891342587678051190608132314213884936083558677694435789223952611566992819476705878074764002787217694166299949376281231412882322206987374652542436733768892535513131102546959338123452241057528223073307768102485716978811877380836416402793916906204056848362602583858587799671063183493736976342561580071402353708559999242811554741824392329109504518229810589936161848694495394989078505170054301833167574488999685417558644273661508773537637981961957984792817571894810151022150547618198149075642735541126296201993828633364656909410149851951595803219323557352758303156050734384212094939255739820941934884266839134997303995322823215069858545696315120342019702518376737457847075422833609547002365123843075643015383498457754484535198820719152172552391062084109456195267364880915037694355867535475716959456974814296043410930981650961631016607387504592652367302782535421937637661372747413198635813871372955291153837003764892214570085570425957184949391279047951885927105994402548962365475639942412116192038687450221895241768677287554938141140104080214294382146803429298709644350336820810077286914588926227332794609803525379770309789366482715491677332422658938068884123176801629354440421212341249014134107326180610680159589007947653882219813134645968624107250575125766006962591815762470229495361601560447159368208493962780049186984228166796792953581542749324663701473984707525536374661479614593173052043467258730505397958757517048679043709555117136847520835937727846034818459509505968569561640501633538002951685677658453700780995472650097844105771121176542567666472915935659895363457036650495500315381213781656630651058193300564850194107824559354050907613263433447134245936110081294087980183901841868569834102951605113985102702574503134563661489803117882501774544796411708510598634828765358263065954367069982829061211021319154234231505020565550265511430978433260352023923242725444468300700379120792896552063867819454509409847360220160225898163469405630937816664742083227109521241191459649627059244503802064886747666586992067262537932482591511828983160758903941627135177441671297217952186909720765757172069021248609888042204884148250442720829914829566064531716170835027008348907733533199583767922956828037492979711527925747153139364500573829531580750159815842766777948133435121844659456337848260159990186320354013431173770018894243132189838566288123058659669603088143868118546664490074354240051579825260190932977319065953785372139716567573294527268103825314263684763355326490530706394742429719766894118537850347739213350481304400991206260374884728430342569941156073036720381921215037764474384167946687650854838413496688263808658128622126405042347278636920072686075794168093150348990814812843596864619140305297198950566391285496038929258759391060652097864480694083354601317794438332337379458327425272558604296034920828942395797704350760545713242712650295620720480266695027666991950244529279313359307184545911652854607987807652986645496026716947536417215612871365512578375754072529384924508720861219936489809211203818311944253049677116385442579755323008904791994012496568602105634936557602112891222255815968208726460763908935319398537462319222352255330284191400510937420961175564065290566834839984065131575926030604764559525484870734749719528714771458256355741055774645543217420803544635560577601086392076222338719457169263398772048976940974467070861441289928116114822379840108596537462836610078114384265222441942194716220604610140785522209755139397733927411986230276978703634852253352842022242600934585431160196716177947048411252481870275891670108929136226858123842466618635286446211546416170022232310277708477106741642518964712784286913799970144671504373724583892442112497876502732662490966289876004595235484314466115186871841219982663670004329696331736833210973276693373847197155177400173404324040554503800043998543964753167354301398443594022081940824816410044369039158042339692563911582839710484722124067650472244306310825431696389062650108246970517592940351132396721382185326792077105099924715887893343594565171565538863544092477718216102419627260239221503871283929077578430077879552461168013575739019074659261015668694109748101523463971688743384750132252193744487530010432140663448060994862324221352177117091692094628128298303362593459421987497960525231874745909583672472115107069268107174241116087881881019570656894743427112230837464729747697287904400461590825567248163889426860244245125160649191818265856685696552603720649580279665210466735030772562224321647428767632205792907103522857500975846124533794485829388172460541838137807012917830058830599361560898689070941180492898899260714003360024425748810372423730833791663083240112960927403701290646454922124827245129489426572579849373823425089687526885449333112091199298595114972391533749953602866527716710260124896795530978681337873050346765409250024915767233853701372846694845302647660951562615461568624145939053205986352780877785504030782975749829320672131639847922952281937687807201663461521327704240311694177696896118243268002366769685019056410577468389387982304047935418402259740514853027590036741912357709317665544120419882073293232311077044681467068692078887192123162368975908397824952247513326863502917499638855245220253501440282089710886902088110314515119921897082899269502687200926510126785605589389971953891466571940655793341267576712702044221565301601582038054280635622775053891017862578168874712354569122595424188041364748533014273541620996902412317659304369126274940673760282393297296303605167965899360908473162497377625185238410611118623494106245618536249893057276554911179490509343490281569326320305727171387833588485502972865577590967716357968488698688366623916015925132522948757655665068523523398272426656763846601941044889777084329092351207003832111593986978874097826082333661521108604410795481934991712378889677120921380733180630953797228124436925901747310315082957987070479333014629016302597871979321110212016441175718117901992216429519562311775794723637051256769505374760360763420681191684281565703673512787503060410833524367577637189186127532357886671122588818257749537642741987311408806312149471966994444684490304692708403471108110071013861762043913009486567909615925856915111145157587139482174798470731364948860152215731708795013958641768504540907285026130803275489526748381597866585764901884965780165679560003859916511155593093937941342191408690570473464773303722588426369819739204909387442499777940226401837163549251666274278346270313040476274971039622891624000180029613725006476509403364326406391246489782009042296085561666625021390407234492476625340898666542026879772764965458833327273469640863858589506881152715997066880840404844786136002429799197513670678167918505711408986264171415473963739819897153319682352157242436699086438293839144783613290126856940433221400089631527568339999647274484053449187231193586513478553961120261523697898522345257679117226529948644856349013870383469132183523948228011112847641996718199985854240080628919802362640399110051898162724824317818261364212713700489111597445034735841096791394327255793144058953195735979255500681924093541926831189788447649230578028685481620774124541447986887063371215612828737445504126792126668657148857503236683061009031834227894258415429287921589180511143738996435527799620992980171024451696472280596148440944281496867205466579292102064584627624844059750272925405354554066059151128068182475799175855368825868213358066934288301931674983194054960742317651833552973708808910321754754451139528248078310202517126658109239950627632628002403402303204555932481640988841313955305273710453870429885784241368000702185028555886967873716908042084439218126624507204911476259917005635215249592060307682632721210835878975389545065247921116683215404853004476451191273876793271903667197783882101506178542400722613261464260949021726831613791344666040134495620404055624304941339072181639471059170315227776695541598363205861260484056231424090749958981239731737081453567208585884268618602499788210382610334325400796426473236413847772831984197608673332841201259173247859294961176015598951929460166372622829088090000801497334335463239353927254797639365578054600006059482717867423563421255314036396068406314478675478352712443982795286361311889002904552691626255056018425268121312539682167203281653428699071653723463525177392245639845991016504183382083473993161305916283849286134872301037542999811887687202649143002173358503079563577184841475801686644378449504201888996396223893158479338313481123794456129279150259937072231776955299954637140266723136555673580194323296706910304462780156307978980663439064039098269076544395312530798514649195866969063861109982085162066515444568559660996484416103399571168835978913088511815116082595596894530575125805550674817777865638975936876164479865645056484096655637836278193818173398039377107638828279162206955925150280459235849772630256657633274681282914772059201052299510432801433624862697187350046973777249899631826415540356311525488878291953625806964957470535568669124320496258928589841167816633208060264638679100626865894089997332408881024562594843957165427993194923608529530571971351730082665347173688497873232135949326115969708557877795111385096239768109901304666080748515308309480170339942475853221636041635588430654788881088164915277913377115795772316907743107970942011724896340689520876841285668801824515371463219406246454388402271398689380890085308726651337456593985869002828203530676837552433915773299120577136912237198547941591642672954884785546529796460436746805569916011540574600137868989482697479292056237842678162257456307377063735977525637965298099883940251280149234667246584860660586985989625489078557016966119917556659251594349310805996406350698861096294564927361999733806925340993774513734167246521328696778535467729828372738404712243512030585943821792281473636712029502535543983258698641855312414596645503467353059136364487616184999250900929062361191032528702828208912251221020420620183777654588987551037457227388378864059730306966053966974789365259790704673292936289025690003183908057009583543816876579592608306750071162489138499981643853189308534628522832483994227522132577255569356715695537472844311600498583539066255372550122189054262113855482300288494910076316667923763354259397394652975332424638193017896652669114158184252346031063758626118363495661355967904673398680730491401458528379625568086035953965519274241903896046912253816831343566454161687186166107115078556083087356229548262156338941120415722821688736407971114326333225522789412168452698289253352156491066645595689853484574486469485006035988708144292509817107358834163652952256842524678828748643598837306485872336171797109158435841248595351990803644038522372092391822206137329785671262831546666417994370139235553816170137808390952920176152923308586051910605740899645078510835999942823411776601479796423782505991408561964289459772181161505963699285628396311668216677890147515387044588501001445478371861504451157643068350763957331604357060385484254216468306507829300922227851776755739299037066530661497068242253118756369543584880535697331191350672248958685950131756429800723278651606916976215922907971045714570593961788922993509517853758202223290600867459577746499993105866959543095051185657448708859447139209610955090770459863842257330582151437357225585514188989076744659158997406584418006809470160565025395876310463251263308715525565322177372854264007970924005850109764066184326077268070199676963507790250798138339125308556628866188249183169817819430440797366575030346027674834620413570083909553369933358628443927642520787152176774607789574400350821684270190644993270567533538602526603945992367781173459921610044810066788121294673626418660151038869810898304153656974062929418042685580586973719991723497469008667673213059184674811809970576942774173424542193765606473544835541378480142113356922720037529473549738321713039313239094479967073940487759793658679186398348239622308084600745754064513809608028038682779196745617529798553169416394453294803860317780537944359172889311680676986550298669497717024291592350518862395651342942460483284178345338095445358136503683448348929118227515419998633851854351110736123427304770632664038793651508415951162568323067305892342690979572387887032352771914232110915415151580978478587183338164971866076771321958882883658699163290316562009491699367658139998512676989512704777296097246311257161564272376550771771132207341063939977191092691503680518837413061556204335614606187917571137757428850903884460946966131584775454193208785938191502807115478596005971222465555361134731570680184561578582757082265259422231730654646232247082968651724464303818479115059472250849885678122771152897 79221136326288413549090453617582214988603149380032775393045753873679347103737428810698791647263113706575282689198477135930652137291317188670030006057926509831856472550143054466006425134587034426949120010210832597783143689081004098970652114673282224426184172485773967049733965817226715156969648131835381010189470025770375559444559659305270898952170617343578663720139463438305206193729450577009951868047317341521679722886752217921827822705466305632297648679105292595306982225729633137305184703173136534319068330149229142960259210328722455601450057473003629441834416962669954405564521304502500726298911194393554191501157954017925309977598836623748100506311537547090223313424323313673085311409323919977212070953990949404412305207140907616619412378270976434206887105501661848469182736298770557698748104969475842500166345456724876246803841548685455561851856586967869889986216391448174596518073583228454703935275996041071738034755239225816281721293011288588359444337681021846829274952700086230836341401062887321604178406708278357480439226036171803414304571700770050264769130291420603534822495795966981715612394351588510056912232508637273573895372779156159436797233748213294951636931736322625278881149941049169682180025310119656903852664689348405476728233436921288688205034751242856813863451202798101231235894933014025474654357904163264189792879110990531247061528782494741231885291482973616690359904394443018958369073484128300703937149692838128916254439952768266768999800895221352172804608885628145520829329108509888656265795056847497582709463200002373315731960683089450281141672128908771066872542843950397795050900482861371828770525181267955544208230938560999841196913163882946371552828126583680248944964520944418180558701521838650855170095150234372062727397690674991347946365752214498420657007149585319909260780872426315558079608099072865828174703417406185318728278145026184310672633645641700732291542811057990742838365066341014265183949971790930431087121056345347741501667746148234688653065189269356885872908647581204650438736957716528711548574555583977239301969823515430537595181395319473570033411789209713074292228145962019286962544117035974563318921268241513986555088394502711032433789248734183877010959345104750102614262227563661010217640141350231316347211768763385670337883433049195056061300162041862964241528184097908283230852906666992480893473206747006312106694438401261591124362380788902882710265313013071263115504159140550179707220633782158597940373880726872858838789886163551228708805088540541574505134133745949431125107024728689987177439066224173647204385151471810845156172459609697201263898819372465925856032821983943945509201296896112993390414319772317613998628115011584901662481020736975231857679558573639533120123760882987807897148264001476729480741158503008405824181375825684426593602078107066384305742314153383784825815001170364503279303283157714730965700730790958163526085614077255893030881612578737162635171062435305862363661501175783671862584712802832632731639923317926092501167046294294878922434436385815597766578254085927198853219424480746368612964091254086956730350365974846418411767133289280026522101904776721397535481072023153960396155426365282526318432948840966649466716318812335304612541684202901596339076117983534399558629308180937552570931412127563964839611720473046765641026358839977096301838517860717992220124429055320994261412222457829626748188314831526678529121257451724121669436757611557692716596947663821034873517375372433749628434475153359120061495211777091719559441963916844642691242108239222713715540944215042751815205832903182816602051553000809853471087600226541940973229542173962641860015572714026730877762563780111880467244618055586935195897209646109126685288690235443479134420307287200865787784854857681194140932834097813623138157320433948668365280904196167520730495552269155400544459597418276177569668057444229387270850059959177577695113400939572251098823419194625556857107173746511343007800181920881221537624681494893301655822089723344553388000429323171176866004751029713971505534118999127107434111180853160547174861752751626348577776330731649967976997705926985766161797485058129327581956292771787829660210103007587578438303364646280346294247633981629844834860981910926589933525586410278385574288166108654586815838726812632990143066979317344762104354343375257570333883689617990419862704229988727473561686512974943917017701629021694931065627383970151448161079270422835544949285326099262830853904796892448341901343021226214704238492700377380756779821477303617108015181033663888382907694701687086758887917099855028808021759693299993928761037883200478548527383654940830627162960534839519753768771304564445702228660676511638525909100219792667017787855759149034626623398581454820469088953474304671180584117170375107299218857538863644099680063025446314779087962590928803576169825639877210091913953351078907222584306551857008399547716236951520432306368855405563331758063509346439969963192969308936226062923426688246041671272845075445462096707328610949341325449158353742604022908568946203933963643988238016251082863396042138900397422551647696827175988389556639458939949446524753736368453580244135105014317368938795421424241169688445192369547807720902472510058532210500190676908416490365999594117212594539752865691344940629371386945400149172429767490208830567907361799732482813964175917940399926984637762837734833459842745195607883737248217715147010664746624865860107174027680587247982043006696208521522681495053640549260909058244066831466386395550275703967451187984628361840304549620598007584604056652075292109056084955460757631045962710468974190271314358635494727254653928324003353839691189913153372830283101267409306943828090830937214893815925580078330686328742776609556460072981273554977224301651716046982335341896599200489741066102393484018972841466743047289295775671416546171942449273730018102329884754306147198475343597045689433842671468209541017943478180739831881650778966557553896529865161244407229829547727716931459459359559840553017703654746156616071691286614296466768069668800344909496623755249308151433068017415932042402097203261108808555885215825105468494713684598721648229183118676788358693974111182614492214872927357569277835129060640219341798931965723310239741977694394948416720292490078649040773942984422921245511852420706674819914354346020104887798142515274317061947997836595134419034230582330000240717127925526964112060319439249076892237808670839725453914016230218699443944340117528267723797972780319883977386476469029456738893211705543189528568137121573530047359055999267493785987462058075025437911796049705063581773663851013087176643772751648150048981936401280117985710232762186707399038083284214490009351252797025675234031663328726764953673595105495179812315052867907929540377789168697586451635338020604541532555456767223921372800748040195290633117401248117419768580554561920679552566002835202485597492704090494964420701053820178654505444932328959627731270218760735536157010176515686945610256645425466090751077063124240264202269417785796090050755625809976411130855080982514771006405019239084453063860469309363801560732448786594182631965426855620770324661738005715385915570566785767487246135064276153153759997114083896415651122260662526196811934588460728906851527212560414251230489996405218070314736073129676329566820684536684171651336809291777117985968335713633891342587678051190608132314213884936083558677694435789223952611566992819476705878074764002787217694166299949376281231412882322206987374652542436733768892535513131102546959338123452241057528223073307768102485716978811877380836416402793916906204056848362602583858587799671063183493736976342561580071402353708559999242811554741824392329109504518229810589936161848694495394989078505170054301833167574488999685417558644273661508773537637981961957984792817571894810151022150547618198149075642735541126296201993828633364656909410149851951595803219323557352758303156050734384212094939255739820941934884266839134997303995322823215069858545696315120342019702518376737457847075422833609547002365123843075643015383498457754484535198820719152172552391062084109456195267364880915037694355867535475716959456974814296043410930981650961631016607387504592652367302782535421937637661372747413198635813871372955291153837003764892214570085570425957184949391279047951885927105994402548962365475639942412116192038687450221895241768677287554938141140104080214294382146803429298709644350336820810077286914588926227332794609803525379770309789366482715491677332422658938068884123176801629354440421212341249014134107326180610680159589007947653882219813134645968624107250575125766006962591815762470229495361601560447159368208493962780049186984228166796792953581542749324663701473984707525536374661479614593173052043467258730505397958757517048679043709555117136847520835937727846034818459509505968569561640501633538002951685677658453700780995472650097844105771121176542567666472915935659895363457036650495500315381213781656630651058193300564850194107824559354050907613263433447134245936110081294087980183901841868569834102951605113985102702574503134563661489803117882501774544796411708510598634828765358263065954367069982829061211021319154234231505020565550265511430978433260352023923242725444468300700379120792896552063867819454509409847360220160225898163469405630937816664742083227109521241191459649627059244503802064886747666586992067262537932482591511828983160758903941627135177441671297217952186909720765757172069021248609888042204884148250442720829914829566064531716170835027008348907733533199583767922956828037492979711527925747153139364500573829531580750159815842766777948133435121844659456337848260159990186320354013431173770018894243132189838566288123058659669603088143868118546664490074354240051579825260190932977319065953785372139716567573294527268103825314263684763355326490530706394742429719766894118537850347739213350481304400991206260374884728430342569941156073036720381921215037764474384167946687650854838413496688263808658128622126405042347278636920072686075794168093150348990814812843596864619140305297198950566391285496038929258759391060652097864480694083354601317794438332337379458327425272558604296034920828942395797704350760545713242712650295620720480266695027666991950244529279313359307184545911652854607987807652986645496026716947536417215612871365512578375754072529384924508720861219936489809211203818311944253049677116385442579755323008904791994012496568602105634936557602112891222255815968208726460763908935319398537462319222352255330284191400510937420961175564065290566834839984065131575926030604764559525484870734749719528714771458256355741055774645543217420803544635560577601086392076222338719457169263398772048976940974467070861441289928116114822379840108596537462836610078114384265222441942194716220604610140785522209755139397733927411986230276978703634852253352842022242600934585431160196716177947048411252481870275891670108929136226858123842466618635286446211546416170022232310277708477106741642518964712784286913799970144671504373724583892442112497876502732662490966289876004595235484314466115186871841219982663670004329696331736833210973276693373847197155177400173404324040554503800043998543964753167354301398443594022081940824816410044369039158042339692563911582839710484722124067650472244306310825431696389062650108246970517592940351132396721382185326792077105099924715887893343594565171565538863544092477718216102419627260239221503871283929077578430077879552461168013575739019074659261015668694109748101523463971688743384750132252193744487530010432140663448060994862324221352177117091692094628128298303362593459421987497960525231874745909583672472115107069268107174241116087881881019570656894743427112230837464729747697287904400461590825567248163889426860244245125160649191818265856685696552603720649580279665210466735030772562224321647428767632205792907103522857500975846124533794485829388172460541838137807012917830058830599361560898689070941180492898899260714003360024425748810372423730833791663083240112960927403701290646454922124827245129489426572579849373823425089687526885449333112091199298595114972391533749953602866527716710260124896795530978681337873050346765409250024915767233853701372846694845302647660951562615461568624145939053205986352780877785504030782975749829320672131639847922952281937687807201663461521327704240311694177696896118243268002366769685019056410577468389387982304047935418402259740514853027590036741912357709317665544120419882073293232311077044681467068692078887192123162368975908397824952247513326863502917499638855245220253501440282089710886902088110314515119921897082899269502687200926510126785605589389971953891466571940655793341267576712702044221565301601582038054280635622775053891017862578168874712354569122595424188041364748533014273541620996902412317659304369126274940673760282393297296303605167965899360908473162497377625185238410611118623494106245618536249893057276554911179490509343490281569326320305727171387833588485502972865577590967716357968488698688366623916015925132522948757655665068523523398272426656763846601941044889777084329092351207003832111593986978874097826082333661521108604410795481934991712378889677120921380733180630953797228124436925901747310315082957987070479333014629016302597871979321110212016441175718117901992216429519562311775794723637051256769505374760360763420681191684281565703673512787503060410833524367577637189186127532357886671122588818257749537642741987311408806312149471966994444684490304692708403471108110071013861762043913009486567909615925856915111145157587139482174798470731364948860152215731708795013958641768504540907285026130803275489526748381597866585764901884965780165679560003859916511155593093937941342191408690570473464773303722588426369819739204909387442499777940226401837163549251666274278346270313040476274971039622891624000180029613725006476509403364326406391246489782009042296085561666625021390407234492476625340898666542026879772764965458833327273469640863858589506881152715997066880840404844786136002429799197513670678167918505711408986264171415473963739819897153319682352157242436699086438293839144783613290126856940433221400089631527568339999647274484053449187231193586513478553961120261523697898522345257679117226529948644856349013870383469132183523948228011112847641996718199985854240080628919802362640399110051898162724824317818261364212713700489111597445034735841096791394327255793144058953195735979255500681924093541926831189788447649230578028685481620774124541447986887063371215612828737445504126792126668657148857503236683061009031834227894258415429287921589180511143738996435527799620992980171024451696472280596148440944281496867205466579292102064584627624844059750272925405354554066059151128068182475799175855368825868213358066934288301931674983194054960742317651833552973708808910321754754451139528248078310202517126658109239950627632628002403402303204555932481640988841313955305273710453870429885784241368000702185028555886967873716908042084439218126624507204911476259917005635215249592060307682632721210835878975389545065247921116683215404853004476451191273876793271903667197783882101506178542400722613261464260949021726831613791344666040134495620404055624304941339072181639471059170315227776695541598363205861260484056231424090749958981239731737081453567208585884268618602499788210382610334325400796426473236413847772831984197608673332841201259173247859294961176015598951929460166372622829088090000801497334335463239353927254797639365578054600006059482717867423563421255314036396068406314478675478352712443982795286361311889002904552691626255056018425268121312539682167203281653428699071653723463525177392245639845991016504183382083473993161305916283849286134872301037542999811887687202649143002173358503079563577184841475801686644378449504201888996396223893158479338313481123794456129279150259937072231776955299954637140266723136555673580194323296706910304462780156307978980663439064039098269076544395312530798514649195866969063861109982085162066515444568559660996484416103399571168835978913088511815116082595596894530575125805550674817777865638975936876164479865645056484096655637836278193818173398039377107638828279162206955925150280459235849772630256657633274681282914772059201052299510432801433624862697187350046973777249899631826415540356311525488878291953625806964957470535568669124320496258928589841167816633208060264638679100626865894089997332408881024562594843957165427993194923608529530571971351730082665347173688497873232135949326115969708557877795111385096239768109901304666080748515308309480170339942475853221636041635588430654788881088164915277913377115795772316907743107970942011724896340689520876841285668801824515371463219406246454388402271398689380890085308726651337456593985869002828203530676837552433915773299120577136912237198547941591642672954884785546529796460436746805569916011540574600137868989482697479292056237842678162257456307377063735977525637965298099883940251280149234667246584860660586985989625489078557016966119917556659251594349310805996406350698861096294564927361999733806925340993774513734167246521328696778535467729828372738404712243512030585943821792281473636712029502535543983258698641855312414596645503467353059136364487616184999250900929062361191032528702828208912251221020420620183777654588987551037457227388378864059730306966053966974789365259790704673292936289025690003183908057009583543816876579592608306750071162489138499981643853189308534628522832483994227522132577255569356715695537472844311600498583539066255372550122189054262113855482300288494910076316667923763354259397394652975332424638193017896652669114158184252346031063758626118363495661355967904673398680730491401458528379625568086035953965519274241903896046912253816831343566454161687186166107115078556083087356229548262156338941120415722821688736407971114326333225522789412168452698289253352156491066645595689853484574486469485006035988708144292509817107358834163652952256842524678828748643598837306485872336171797109158435841248595351990803644038522372092391822206137329785671262831546666417994370139235553816170137808390952920176152923308586051910605740899645078510835999942823411776601479796423782505991408561964289459772181161505963699285628396311668216677890147515387044588501001445478371861504451157643068350763957331604357060385484254216468306507829300922227851776755739299037066530661497068242253118756369543584880535697331191350672248958685950131756429800723278651606916976215922907971045714570593961788922993509517853758202223290600867459577746499993105866959543095051185657448708859447139209610955090770459863842257330582151437357225585514188989076744659158997406584418006809470160565025395876310463251263308715525565322177372854264007970924005850109764066184326077268070199676963507790250798138339125308556628866188249183169817819430440797366575030346027674834620413570083909553369933358628443927642520787152176774607789574400350821684270190644993270567533538602526603945992367781173459921610044810066788121294673626418660151038869810898304153656974062929418042685580586973719991723497469008667673213059184674811809970576942774173424542193765606473544835541378480142113356922720037529473549738321713039313239094479967073940487759793658679186398348239622308084600745754064513809608028038682779196745617529798553169416394453294803860317780537944359172889311680676986550298669497717024291592350518862395651342942460483284178345338095445358136503683448348929118227515419998633851854351110736123427304770632664038793651508415951162568323067305892342690979572387887032352771914232110915415151580978478587183338164971866076771321958882883658699163290316562009491699367658139998512676989512704777296097246311257161564272376550771771132207341063939977191092691503680518837413061556204335614606187917571137757428850903884460946966131584775454193208785938191502807115478596005971222465555361134731570680184561578582757082265259422231730654646232247082968651724464303818479115059472250849885678122771152897 | | 2 967295832633945845834869185800307047105609422308414810645746398046370042262531207870656004029659867643643135423451310363960669327212120076853228559801724639866595782427405756281430494560374525638028294288787280527208428047369243884116714468332259544164584008521351170 79221136326288413549090453617582214988603149380032775393045753873679347103737428810698791647263113706575282689198477135930652137291317188670030006057926509831856472550143054466006425134587034426949120010210832597783143689081004098970652114673282224426184172485773967049733965817226715156969648131835381010189470025770375559444559659305270898952170617343578663720139463438305206193729450577009951868047317341521679722886752217921827822705466305632297648679105292595306982225729633137305184703173136534319068330149229142960259210328722455601450057473003629441834416962669954405564521304502500726298911194393554191501157954017925309977598836623748100506311537547090223313424323313673085311409323919977212070953990949404412305207140907616619412378270976434206887105501661848469182736298770557698748104969475842500166345456724876246803841548685455561851856586967869889986216391448174596518073583228454703935275996041071738034755239225816281721293011288588359444337681021846829274952700086230836341401062887321604178406708278357480439226036171803414304571700770050264769130291420603534822495795966981715612394351588510056912232508637273573895372779156159436797233748213294951636931736322625278881149941049169682180025310119656903852664689348405476728233436921288688205034751242856813863451202798101231235894933014025474654357904163264189792879110990531247061528782494741231885291482973616690359904394443018958369073484128300703937149692838128916254439952768266768999800895221352172804608885628145520829329108509888656265795056847497582709463200002373315731960683089450281141672128908771066872542843950397795050900482861371828770525181267955544208230938560999841196913163882946371552828126583680248944964520944418180558701521838650855170095150234372062727397690674991347946365752214498420657007149585319909260780872426315558079608099072865828174703417406185318728278145026184310672633645641700732291542811057990742838365066341014265183949971790930431087121056345347741501667746148234688653065189269356885872908647581204650438736957716528711548574555583977239301969823515430537595181395319473570033411789209713074292228145962019286962544117035974563318921268241513986555088394502711032433789248734183877010959345104750102614262227563661010217640141350231316347211768763385670337883433049195056061300162041862964241528184097908283230852906666992480893473206747006312106694438401261591124362380788902882710265313013071263115504159140550179707220633782158597940373880726872858838789886163551228708805088540541574505134133745949431125107024728689987177439066224173647204385151471810845156172459609697201263898819372465925856032821983943945509201296896112993390414319772317613998628115011584901662481020736975231857679558573639533120123760882987807897148264001476729480741158503008405824181375825684426593602078107066384305742314153383784825815001170364503279303283157714730965700730790958163526085614077255893030881612578737162635171062435305862363661501175783671862584712802832632731639923317926092501167046294294878922434436385815597766578254085927198853219424480746368612964091254086956730350365974846418411767133289280026522101904776721397535481072023153960396155426365282526318432948840966649466716318812335304612541684202901596339076117983534399558629308180937552570931412127563964839611720473046765641026358839977096301838517860717992220124429055320994261412222457829626748188314831526678529121257451724121669436757611557692716596947663821034873517375372433749628434475153359120061495211777091719559441963916844642691242108239222713715540944215042751815205832903182816602051553000809853471087600226541940973229542173962641860015572714026730877762563780111880467244618055586935195897209646109126685288690235443479134420307287200865787784854857681194140932834097813623138157320433948668365280904196167520730495552269155400544459597418276177569668057444229387270850059959177577695113400939572251098823419194625556857107173746511343007800181920881221537624681494893301655822089723344553388000429323171176866004751029713971505534118999127107434111180853160547174861752751626348577776330731649967976997705926985766161797485058129327581956292771787829660210103007587578438303364646280346294247633981629844834860981910926589933525586410278385574288166108654586815838726812632990143066979317344762104354343375257570333883689617990419862704229988727473561686512974943917017701629021694931065627383970151448161079270422835544949285326099262830853904796892448341901343021226214704238492700377380756779821477303617108015181033663888382907694701687086758887917099855028808021759693299993928761037883200478548527383654940830627162960534839519753768771304564445702228660676511638525909100219792667017787855759149034626623398581454820469088953474304671180584117170375107299218857538863644099680063025446314779087962590928803576169825639877210091913953351078907222584306551857008399547716236951520432306368855405563331758063509346439969963192969308936226062923426688246041671272845075445462096707328610949341325449158353742604022908568946203933963643988238016251082863396042138900397422551647696827175988389556639458939949446524753736368453580244135105014317368938795421424241169688445192369547807720902472510058532210500190676908416490365999594117212594539752865691344940629371386945400149172429767490208830567907361799732482813964175917940399926984637762837734833459842745195607883737248217715147010664746624865860107174027680587247982043006696208521522681495053640549260909058244066831466386395550275703967451187984628361840304549620598007584604056652075292109056084955460757631045962710468974190271314358635494727254653928324003353839691189913153372830283101267409306943828090830937214893815925580078330686328742776609556460072981273554977224301651716046982335341896599200489741066102393484018972841466743047289295775671416546171942449273730018102329884754306147198475343597045689433842671468209541017943478180739831881650778966557553896529865161244407229829547727716931459459359559840553017703654746156616071691286614296466768069668800344909496623755249308151433068017415932042402097203261108808555885215825105468494713684598721648229183118676788358693974111182614492214872927357569277835129060640219341798931965723310239741977694394948416720292490078649040773942984422921245511852420706674819914354346020104887798142515274317061947997836595134419034230582330000240717127925526964112060319439249076892237808670839725453914016230218699443944340117528267723797972780319883977386476469029456738893211705543189528568137121573530047359055999267493785987462058075025437911796049705063581773663851013087176643772751648150048981936401280117985710232762186707399038083284214490009351252797025675234031663328726764953673595105495179812315052867907929540377789168697586451635338020604541532555456767223921372800748040195290633117401248117419768580554561920679552566002835202485597492704090494964420701053820178654505444932328959627731270218760735536157010176515686945610256645425466090751077063124240264202269417785796090050755625809976411130855080982514771006405019239084453063860469309363801560732448786594182631965426855620770324661738005715385915570566785767487246135064276153153759997114083896415651122260662526196811934588460728906851527212560414251230489996405218070314736073129676329566820684536684171651336809291777117985968335713633891342587678051190608132314213884936083558677694435789223952611566992819476705878074764002787217694166299949376281231412882322206987374652542436733768892535513131102546959338123452241057528223073307768102485716978811877380836416402793916906204056848362602583858587799671063183493736976342561580071402353708559999242811554741824392329109504518229810589936161848694495394989078505170054301833167574488999685417558644273661508773537637981961957984792817571894810151022150547618198149075642735541126296201993828633364656909410149851951595803219323557352758303156050734384212094939255739820941934884266839134997303995322823215069858545696315120342019702518376737457847075422833609547002365123843075643015383498457754484535198820719152172552391062084109456195267364880915037694355867535475716959456974814296043410930981650961631016607387504592652367302782535421937637661372747413198635813871372955291153837003764892214570085570425957184949391279047951885927105994402548962365475639942412116192038687450221895241768677287554938141140104080214294382146803429298709644350336820810077286914588926227332794609803525379770309789366482715491677332422658938068884123176801629354440421212341249014134107326180610680159589007947653882219813134645968624107250575125766006962591815762470229495361601560447159368208493962780049186984228166796792953581542749324663701473984707525536374661479614593173052043467258730505397958757517048679043709555117136847520835937727846034818459509505968569561640501633538002951685677658453700780995472650097844105771121176542567666472915935659895363457036650495500315381213781656630651058193300564850194107824559354050907613263433447134245936110081294087980183901841868569834102951605113985102702574503134563661489803117882501774544796411708510598634828765358263065954367069982829061211021319154234231505020565550265511430978433260352023923242725444468300700379120792896552063867819454509409847360220160225898163469405630937816664742083227109521241191459649627059244503802064886747666586992067262537932482591511828983160758903941627135177441671297217952186909720765757172069021248609888042204884148250442720829914829566064531716170835027008348907733533199583767922956828037492979711527925747153139364500573829531580750159815842766777948133435121844659456337848260159990186320354013431173770018894243132189838566288123058659669603088143868118546664490074354240051579825260190932977319065953785372139716567573294527268103825314263684763355326490530706394742429719766894118537850347739213350481304400991206260374884728430342569941156073036720381921215037764474384167946687650854838413496688263808658128622126405042347278636920072686075794168093150348990814812843596864619140305297198950566391285496038929258759391060652097864480694083354601317794438332337379458327425272558604296034920828942395797704350760545713242712650295620720480266695027666991950244529279313359307184545911652854607987807652986645496026716947536417215612871365512578375754072529384924508720861219936489809211203818311944253049677116385442579755323008904791994012496568602105634936557602112891222255815968208726460763908935319398537462319222352255330284191400510937420961175564065290566834839984065131575926030604764559525484870734749719528714771458256355741055774645543217420803544635560577601086392076222338719457169263398772048976940974467070861441289928116114822379840108596537462836610078114384265222441942194716220604610140785522209755139397733927411986230276978703634852253352842022242600934585431160196716177947048411252481870275891670108929136226858123842466618635286446211546416170022232310277708477106741642518964712784286913799970144671504373724583892442112497876502732662490966289876004595235484314466115186871841219982663670004329696331736833210973276693373847197155177400173404324040554503800043998543964753167354301398443594022081940824816410044369039158042339692563911582839710484722124067650472244306310825431696389062650108246970517592940351132396721382185326792077105099924715887893343594565171565538863544092477718216102419627260239221503871283929077578430077879552461168013575739019074659261015668694109748101523463971688743384750132252193744487530010432140663448060994862324221352177117091692094628128298303362593459421987497960525231874745909583672472115107069268107174241116087881881019570656894743427112230837464729747697287904400461590825567248163889426860244245125160649191818265856685696552603720649580279665210466735030772562224321647428767632205792907103522857500975846124533794485829388172460541838137807012917830058830599361560898689070941180492898899260714003360024425748810372423730833791663083240112960927403701290646454922124827245129489426572579849373823425089687526885449333112091199298595114972391533749953602866527716710260124896795530978681337873050346765409250024915767233853701372846694845302647660951562615461568624145939053205986352780877785504030782975749829320672131639847922952281937687807201663461521327704240311694177696896118243268002366769685019056410577468389387982304047935418402259740514853027590036741912357709317665544120419882073293232311077044681467068692078887192123162368975908397824952247513326863502917499638855245220253501440282089710886902088110314515119921897082899269502687200926510126785605589389971953891466571940655793341267576712702044221565301601582038054280635622775053891017862578168874712354569122595424188041364748533014273541620996902412317659304369126274940673760282393297296303605167965899360908473162497377625185238410611118623494106245618536249893057276554911179490509343490281569326320305727171387833588485502972865577590967716357968488698688366623916015925132522948757655665068523523398272426656763846601941044889777084329092351207003832111593986978874097826082333661521108604410795481934991712378889677120921380733180630953797228124436925901747310315082957987070479333014629016302597871979321110212016441175718117901992216429519562311775794723637051256769505374760360763420681191684281565703673512787503060410833524367577637189186127532357886671122588818257749537642741987311408806312149471966994444684490304692708403471108110071013861762043913009486567909615925856915111145157587139482174798470731364948860152215731708795013958641768504540907285026130803275489526748381597866585764901884965780165679560003859916511155593093937941342191408690570473464773303722588426369819739204909387442499777940226401837163549251666274278346270313040476274971039622891624000180029613725006476509403364326406391246489782009042296085561666625021390407234492476625340898666542026879772764965458833327273469640863858589506881152715997066880840404844786136002429799197513670678167918505711408986264171415473963739819897153319682352157242436699086438293839144783613290126856940433221400089631527568339999647274484053449187231193586513478553961120261523697898522345257679117226529948644856349013870383469132183523948228011112847641996718199985854240080628919802362640399110051898162724824317818261364212713700489111597445034735841096791394327255793144058953195735979255500681924093541926831189788447649230578028685481620774124541447986887063371215612828737445504126792126668657148857503236683061009031834227894258415429287921589180511143738996435527799620992980171024451696472280596148440944281496867205466579292102064584627624844059750272925405354554066059151128068182475799175855368825868213358066934288301931674983194054960742317651833552973708808910321754754451139528248078310202517126658109239950627632628002403402303204555932481640988841313955305273710453870429885784241368000702185028555886967873716908042084439218126624507204911476259917005635215249592060307682632721210835878975389545065247921116683215404853004476451191273876793271903667197783882101506178542400722613261464260949021726831613791344666040134495620404055624304941339072181639471059170315227776695541598363205861260484056231424090749958981239731737081453567208585884268618602499788210382610334325400796426473236413847772831984197608673332841201259173247859294961176015598951929460166372622829088090000801497334335463239353927254797639365578054600006059482717867423563421255314036396068406314478675478352712443982795286361311889002904552691626255056018425268121312539682167203281653428699071653723463525177392245639845991016504183382083473993161305916283849286134872301037542999811887687202649143002173358503079563577184841475801686644378449504201888996396223893158479338313481123794456129279150259937072231776955299954637140266723136555673580194323296706910304462780156307978980663439064039098269076544395312530798514649195866969063861109982085162066515444568559660996484416103399571168835978913088511815116082595596894530575125805550674817777865638975936876164479865645056484096655637836278193818173398039377107638828279162206955925150280459235849772630256657633274681282914772059201052299510432801433624862697187350046973777249899631826415540356311525488878291953625806964957470535568669124320496258928589841167816633208060264638679100626865894089997332408881024562594843957165427993194923608529530571971351730082665347173688497873232135949326115969708557877795111385096239768109901304666080748515308309480170339942475853221636041635588430654788881088164915277913377115795772316907743107970942011724896340689520876841285668801824515371463219406246454388402271398689380890085308726651337456593985869002828203530676837552433915773299120577136912237198547941591642672954884785546529796460436746805569916011540574600137868989482697479292056237842678162257456307377063735977525637965298099883940251280149234667246584860660586985989625489078557016966119917556659251594349310805996406350698861096294564927361999733806925340993774513734167246521328696778535467729828372738404712243512030585943821792281473636712029502535543983258698641855312414596645503467353059136364487616184999250900929062361191032528702828208912251221020420620183777654588987551037457227388378864059730306966053966974789365259790704673292936289025690003183908057009583543816876579592608306750071162489138499981643853189308534628522832483994227522132577255569356715695537472844311600498583539066255372550122189054262113855482300288494910076316667923763354259397394652975332424638193017896652669114158184252346031063758626118363495661355967904673398680730491401458528379625568086035953965519274241903896046912253816831343566454161687186166107115078556083087356229548262156338941120415722821688736407971114326333225522789412168452698289253352156491066645595689853484574486469485006035988708144292509817107358834163652952256842524678828748643598837306485872336171797109158435841248595351990803644038522372092391822206137329785671262831546666417994370139235553816170137808390952920176152923308586051910605740899645078510835999942823411776601479796423782505991408561964289459772181161505963699285628396311668216677890147515387044588501001445478371861504451157643068350763957331604357060385484254216468306507829300922227851776755739299037066530661497068242253118756369543584880535697331191350672248958685950131756429800723278651606916976215922907971045714570593961788922993509517853758202223290600867459577746499993105866959543095051185657448708859447139209610955090770459863842257330582151437357225585514188989076744659158997406584418006809470160565025395876310463251263308715525565322177372854264007970924005850109764066184326077268070199676963507790250798138339125308556628866188249183169817819430440797366575030346027674834620413570083909553369933358628443927642520787152176774607789574400350821684270190644993270567533538602526603945992367781173459921610044810066788121294673626418660151038869810898304153656974062929418042685580586973719991723497469008667673213059184674811809970576942774173424542193765606473544835541378480142113356922720037529473549738321713039313239094479967073940487759793658679186398348239622308084600745754064513809608028038682779196745617529798553169416394453294803860317780537944359172889311680676986550298669497717024291592350518862395651342942460483284178345338095445358136503683448348929118227515419998633851854351110736123427304770632664038793651508415951162568323067305892342690979572387887032352771914232110915415151580978478587183338164971866076771321958882883658699163290316562009491699367658139998512676989512704777296097246311257161564272376550771771132207341063939977191092691503680518837413061556204335614606187917571137757428850903884460946966131584775454193208785938191502807115478596005971222465555361134731570680184561578582757082265259422231730654646232247082968651724464303818479115059472250849885678174310760450 79221136326288413549090453617582214988603149380032775393045753873679347103737428810698791647263113706575282689198477135930652137291317188670030006057926509831856472550143054466006425134587034426949120010210832597783143689081004098970652114673282224426184172485773967049733965817226715156969648131835381010189470025770375559444559659305270898952170617343578663720139463438305206193729450577009951868047317341521679722886752217921827822705466305632297648679105292595306982225729633137305184703173136534319068330149229142960259210328722455601450057473003629441834416962669954405564521304502500726298911194393554191501157954017925309977598836623748100506311537547090223313424323313673085311409323919977212070953990949404412305207140907616619412378270976434206887105501661848469182736298770557698748104969475842500166345456724876246803841548685455561851856586967869889986216391448174596518073583228454703935275996041071738034755239225816281721293011288588359444337681021846829274952700086230836341401062887321604178406708278357480439226036171803414304571700770050264769130291420603534822495795966981715612394351588510056912232508637273573895372779156159436797233748213294951636931736322625278881149941049169682180025310119656903852664689348405476728233436921288688205034751242856813863451202798101231235894933014025474654357904163264189792879110990531247061528782494741231885291482973616690359904394443018958369073484128300703937149692838128916254439952768266768999800895221352172804608885628145520829329108509888656265795056847497582709463200002373315731960683089450281141672128908771066872542843950397795050900482861371828770525181267955544208230938560999841196913163882946371552828126583680248944964520944418180558701521838650855170095150234372062727397690674991347946365752214498420657007149585319909260780872426315558079608099072865828174703417406185318728278145026184310672633645641700732291542811057990742838365066341014265183949971790930431087121056345347741501667746148234688653065189269356885872908647581204650438736957716528711548574555583977239301969823515430537595181395319473570033411789209713074292228145962019286962544117035974563318921268241513986555088394502711032433789248734183877010959345104750102614262227563661010217640141350231316347211768763385670337883433049195056061300162041862964241528184097908283230852906666992480893473206747006312106694438401261591124362380788902882710265313013071263115504159140550179707220633782158597940373880726872858838789886163551228708805088540541574505134133745949431125107024728689987177439066224173647204385151471810845156172459609697201263898819372465925856032821983943945509201296896112993390414319772317613998628115011584901662481020736975231857679558573639533120123760882987807897148264001476729480741158503008405824181375825684426593602078107066384305742314153383784825815001170364503279303283157714730965700730790958163526085614077255893030881612578737162635171062435305862363661501175783671862584712802832632731639923317926092501167046294294878922434436385815597766578254085927198853219424480746368612964091254086956730350365974846418411767133289280026522101904776721397535481072023153960396155426365282526318432948840966649466716318812335304612541684202901596339076117983534399558629308180937552570931412127563964839611720473046765641026358839977096301838517860717992220124429055320994261412222457829626748188314831526678529121257451724121669436757611557692716596947663821034873517375372433749628434475153359120061495211777091719559441963916844642691242108239222713715540944215042751815205832903182816602051553000809853471087600226541940973229542173962641860015572714026730877762563780111880467244618055586935195897209646109126685288690235443479134420307287200865787784854857681194140932834097813623138157320433948668365280904196167520730495552269155400544459597418276177569668057444229387270850059959177577695113400939572251098823419194625556857107173746511343007800181920881221537624681494893301655822089723344553388000429323171176866004751029713971505534118999127107434111180853160547174861752751626348577776330731649967976997705926985766161797485058129327581956292771787829660210103007587578438303364646280346294247633981629844834860981910926589933525586410278385574288166108654586815838726812632990143066979317344762104354343375257570333883689617990419862704229988727473561686512974943917017701629021694931065627383970151448161079270422835544949285326099262830853904796892448341901343021226214704238492700377380756779821477303617108015181033663888382907694701687086758887917099855028808021759693299993928761037883200478548527383654940830627162960534839519753768771304564445702228660676511638525909100219792667017787855759149034626623398581454820469088953474304671180584117170375107299218857538863644099680063025446314779087962590928803576169825639877210091913953351078907222584306551857008399547716236951520432306368855405563331758063509346439969963192969308936226062923426688246041671272845075445462096707328610949341325449158353742604022908568946203933963643988238016251082863396042138900397422551647696827175988389556639458939949446524753736368453580244135105014317368938795421424241169688445192369547807720902472510058532210500190676908416490365999594117212594539752865691344940629371386945400149172429767490208830567907361799732482813964175917940399926984637762837734833459842745195607883737248217715147010664746624865860107174027680587247982043006696208521522681495053640549260909058244066831466386395550275703967451187984628361840304549620598007584604056652075292109056084955460757631045962710468974190271314358635494727254653928324003353839691189913153372830283101267409306943828090830937214893815925580078330686328742776609556460072981273554977224301651716046982335341896599200489741066102393484018972841466743047289295775671416546171942449273730018102329884754306147198475343597045689433842671468209541017943478180739831881650778966557553896529865161244407229829547727716931459459359559840553017703654746156616071691286614296466768069668800344909496623755249308151433068017415932042402097203261108808555885215825105468494713684598721648229183118676788358693974111182614492214872927357569277835129060640219341798931965723310239741977694394948416720292490078649040773942984422921245511852420706674819914354346020104887798142515274317061947997836595134419034230582330000240717127925526964112060319439249076892237808670839725453914016230218699443944340117528267723797972780319883977386476469029456738893211705543189528568137121573530047359055999267493785987462058075025437911796049705063581773663851013087176643772751648150048981936401280117985710232762186707399038083284214490009351252797025675234031663328726764953673595105495179812315052867907929540377789168697586451635338020604541532555456767223921372800748040195290633117401248117419768580554561920679552566002835202485597492704090494964420701053820178654505444932328959627731270218760735536157010176515686945610256645425466090751077063124240264202269417785796090050755625809976411130855080982514771006405019239084453063860469309363801560732448786594182631965426855620770324661738005715385915570566785767487246135064276153153759997114083896415651122260662526196811934588460728906851527212560414251230489996405218070314736073129676329566820684536684171651336809291777117985968335713633891342587678051190608132314213884936083558677694435789223952611566992819476705878074764002787217694166299949376281231412882322206987374652542436733768892535513131102546959338123452241057528223073307768102485716978811877380836416402793916906204056848362602583858587799671063183493736976342561580071402353708559999242811554741824392329109504518229810589936161848694495394989078505170054301833167574488999685417558644273661508773537637981961957984792817571894810151022150547618198149075642735541126296201993828633364656909410149851951595803219323557352758303156050734384212094939255739820941934884266839134997303995322823215069858545696315120342019702518376737457847075422833609547002365123843075643015383498457754484535198820719152172552391062084109456195267364880915037694355867535475716959456974814296043410930981650961631016607387504592652367302782535421937637661372747413198635813871372955291153837003764892214570085570425957184949391279047951885927105994402548962365475639942412116192038687450221895241768677287554938141140104080214294382146803429298709644350336820810077286914588926227332794609803525379770309789366482715491677332422658938068884123176801629354440421212341249014134107326180610680159589007947653882219813134645968624107250575125766006962591815762470229495361601560447159368208493962780049186984228166796792953581542749324663701473984707525536374661479614593173052043467258730505397958757517048679043709555117136847520835937727846034818459509505968569561640501633538002951685677658453700780995472650097844105771121176542567666472915935659895363457036650495500315381213781656630651058193300564850194107824559354050907613263433447134245936110081294087980183901841868569834102951605113985102702574503134563661489803117882501774544796411708510598634828765358263065954367069982829061211021319154234231505020565550265511430978433260352023923242725444468300700379120792896552063867819454509409847360220160225898163469405630937816664742083227109521241191459649627059244503802064886747666586992067262537932482591511828983160758903941627135177441671297217952186909720765757172069021248609888042204884148250442720829914829566064531716170835027008348907733533199583767922956828037492979711527925747153139364500573829531580750159815842766777948133435121844659456337848260159990186320354013431173770018894243132189838566288123058659669603088143868118546664490074354240051579825260190932977319065953785372139716567573294527268103825314263684763355326490530706394742429719766894118537850347739213350481304400991206260374884728430342569941156073036720381921215037764474384167946687650854838413496688263808658128622126405042347278636920072686075794168093150348990814812843596864619140305297198950566391285496038929258759391060652097864480694083354601317794438332337379458327425272558604296034920828942395797704350760545713242712650295620720480266695027666991950244529279313359307184545911652854607987807652986645496026716947536417215612871365512578375754072529384924508720861219936489809211203818311944253049677116385442579755323008904791994012496568602105634936557602112891222255815968208726460763908935319398537462319222352255330284191400510937420961175564065290566834839984065131575926030604764559525484870734749719528714771458256355741055774645543217420803544635560577601086392076222338719457169263398772048976940974467070861441289928116114822379840108596537462836610078114384265222441942194716220604610140785522209755139397733927411986230276978703634852253352842022242600934585431160196716177947048411252481870275891670108929136226858123842466618635286446211546416170022232310277708477106741642518964712784286913799970144671504373724583892442112497876502732662490966289876004595235484314466115186871841219982663670004329696331736833210973276693373847197155177400173404324040554503800043998543964753167354301398443594022081940824816410044369039158042339692563911582839710484722124067650472244306310825431696389062650108246970517592940351132396721382185326792077105099924715887893343594565171565538863544092477718216102419627260239221503871283929077578430077879552461168013575739019074659261015668694109748101523463971688743384750132252193744487530010432140663448060994862324221352177117091692094628128298303362593459421987497960525231874745909583672472115107069268107174241116087881881019570656894743427112230837464729747697287904400461590825567248163889426860244245125160649191818265856685696552603720649580279665210466735030772562224321647428767632205792907103522857500975846124533794485829388172460541838137807012917830058830599361560898689070941180492898899260714003360024425748810372423730833791663083240112960927403701290646454922124827245129489426572579849373823425089687526885449333112091199298595114972391533749953602866527716710260124896795530978681337873050346765409250024915767233853701372846694845302647660951562615461568624145939053205986352780877785504030782975749829320672131639847922952281937687807201663461521327704240311694177696896118243268002366769685019056410577468389387982304047935418402259740514853027590036741912357709317665544120419882073293232311077044681467068692078887192123162368975908397824952247513326863502917499638855245220253501440282089710886902088110314515119921897082899269502687200926510126785605589389971953891466571940655793341267576712702044221565301601582038054280635622775053891017862578168874712354569122595424188041364748533014273541620996902412317659304369126274940673760282393297296303605167965899360908473162497377625185238410611118623494106245618536249893057276554911179490509343490281569326320305727171387833588485502972865577590967716357968488698688366623916015925132522948757655665068523523398272426656763846601941044889777084329092351207003832111593986978874097826082333661521108604410795481934991712378889677120921380733180630953797228124436925901747310315082957987070479333014629016302597871979321110212016441175718117901992216429519562311775794723637051256769505374760360763420681191684281565703673512787503060410833524367577637189186127532357886671122588818257749537642741987311408806312149471966994444684490304692708403471108110071013861762043913009486567909615925856915111145157587139482174798470731364948860152215731708795013958641768504540907285026130803275489526748381597866585764901884965780165679560003859916511155593093937941342191408690570473464773303722588426369819739204909387442499777940226401837163549251666274278346270313040476274971039622891624000180029613725006476509403364326406391246489782009042296085561666625021390407234492476625340898666542026879772764965458833327273469640863858589506881152715997066880840404844786136002429799197513670678167918505711408986264171415473963739819897153319682352157242436699086438293839144783613290126856940433221400089631527568339999647274484053449187231193586513478553961120261523697898522345257679117226529948644856349013870383469132183523948228011112847641996718199985854240080628919802362640399110051898162724824317818261364212713700489111597445034735841096791394327255793144058953195735979255500681924093541926831189788447649230578028685481620774124541447986887063371215612828737445504126792126668657148857503236683061009031834227894258415429287921589180511143738996435527799620992980171024451696472280596148440944281496867205466579292102064584627624844059750272925405354554066059151128068182475799175855368825868213358066934288301931674983194054960742317651833552973708808910321754754451139528248078310202517126658109239950627632628002403402303204555932481640988841313955305273710453870429885784241368000702185028555886967873716908042084439218126624507204911476259917005635215249592060307682632721210835878975389545065247921116683215404853004476451191273876793271903667197783882101506178542400722613261464260949021726831613791344666040134495620404055624304941339072181639471059170315227776695541598363205861260484056231424090749958981239731737081453567208585884268618602499788210382610334325400796426473236413847772831984197608673332841201259173247859294961176015598951929460166372622829088090000801497334335463239353927254797639365578054600006059482717867423563421255314036396068406314478675478352712443982795286361311889002904552691626255056018425268121312539682167203281653428699071653723463525177392245639845991016504183382083473993161305916283849286134872301037542999811887687202649143002173358503079563577184841475801686644378449504201888996396223893158479338313481123794456129279150259937072231776955299954637140266723136555673580194323296706910304462780156307978980663439064039098269076544395312530798514649195866969063861109982085162066515444568559660996484416103399571168835978913088511815116082595596894530575125805550674817777865638975936876164479865645056484096655637836278193818173398039377107638828279162206955925150280459235849772630256657633274681282914772059201052299510432801433624862697187350046973777249899631826415540356311525488878291953625806964957470535568669124320496258928589841167816633208060264638679100626865894089997332408881024562594843957165427993194923608529530571971351730082665347173688497873232135949326115969708557877795111385096239768109901304666080748515308309480170339942475853221636041635588430654788881088164915277913377115795772316907743107970942011724896340689520876841285668801824515371463219406246454388402271398689380890085308726651337456593985869002828203530676837552433915773299120577136912237198547941591642672954884785546529796460436746805569916011540574600137868989482697479292056237842678162257456307377063735977525637965298099883940251280149234667246584860660586985989625489078557016966119917556659251594349310805996406350698861096294564927361999733806925340993774513734167246521328696778535467729828372738404712243512030585943821792281473636712029502535543983258698641855312414596645503467353059136364487616184999250900929062361191032528702828208912251221020420620183777654588987551037457227388378864059730306966053966974789365259790704673292936289025690003183908057009583543816876579592608306750071162489138499981643853189308534628522832483994227522132577255569356715695537472844311600498583539066255372550122189054262113855482300288494910076316667923763354259397394652975332424638193017896652669114158184252346031063758626118363495661355967904673398680730491401458528379625568086035953965519274241903896046912253816831343566454161687186166107115078556083087356229548262156338941120415722821688736407971114326333225522789412168452698289253352156491066645595689853484574486469485006035988708144292509817107358834163652952256842524678828748643598837306485872336171797109158435841248595351990803644038522372092391822206137329785671262831546666417994370139235553816170137808390952920176152923308586051910605740899645078510835999942823411776601479796423782505991408561964289459772181161505963699285628396311668216677890147515387044588501001445478371861504451157643068350763957331604357060385484254216468306507829300922227851776755739299037066530661497068242253118756369543584880535697331191350672248958685950131756429800723278651606916976215922907971045714570593961788922993509517853758202223290600867459577746499993105866959543095051185657448708859447139209610955090770459863842257330582151437357225585514188989076744659158997406584418006809470160565025395876310463251263308715525565322177372854264007970924005850109764066184326077268070199676963507790250798138339125308556628866188249183169817819430440797366575030346027674834620413570083909553369933358628443927642520787152176774607789574400350821684270190644993270567533538602526603945992367781173459921610044810066788121294673626418660151038869810898304153656974062929418042685580586973719991723497469008667673213059184674811809970576942774173424542193765606473544835541378480142113356922720037529473549738321713039313239094479967073940487759793658679186398348239622308084600745754064513809608028038682779196745617529798553169416394453294803860317780537944359172889311680676986550298669497717024291592350518862395651342942460483284178345338095445358136503683448348929118227515419998633851854351110736123427304770632664038793651508415951162568323067305892342690979572387887032352771914232110915415151580978478587183338164971866076771321958882883658699163290316562009491699367658139998512676989512704777296097246311257161564272376550771771132207341063939977191092691503680518837413061556204335614606187917571137757428850903884460946966131584775454193208785938191502807115478596005971222465555361134731570680184561578582757082265259422231730654646232247082968651724464303818479115059472250849885678174310760450 79221136326288413549090453617582214988603149380032775393045753873679347103737428810698791647263113706575282689198477135930652137291317188670030006057926509831856472550143054466006425134587034426949120010210832597783143689081004098970652114673282224426184172485773967049733965817226715156969648131835381010189470025770375559444559659305270898952170617343578663720139463438305206193729450577009951868047317341521679722886752217921827822705466305632297648679105292595306982225729633137305184703173136534319068330149229142960259210328722455601450057473003629441834416962669954405564521304502500726298911194393554191501157954017925309977598836623748100506311537547090223313424323313673085311409323919977212070953990949404412305207140907616619412378270976434206887105501661848469182736298770557698748104969475842500166345456724876246803841548685455561851856586967869889986216391448174596518073583228454703935275996041071738034755239225816281721293011288588359444337681021846829274952700086230836341401062887321604178406708278357480439226036171803414304571700770050264769130291420603534822495795966981715612394351588510056912232508637273573895372779156159436797233748213294951636931736322625278881149941049169682180025310119656903852664689348405476728233436921288688205034751242856813863451202798101231235894933014025474654357904163264189792879110990531247061528782494741231885291482973616690359904394443018958369073484128300703937149692838128916254439952768266768999800895221352172804608885628145520829329108509888656265795056847497582709463200002373315731960683089450281141672128908771066872542843950397795050900482861371828770525181267955544208230938560999841196913163882946371552828126583680248944964520944418180558701521838650855170095150234372062727397690674991347946365752214498420657007149585319909260780872426315558079608099072865828174703417406185318728278145026184310672633645641700732291542811057990742838365066341014265183949971790930431087121056345347741501667746148234688653065189269356885872908647581204650438736957716528711548574555583977239301969823515430537595181395319473570033411789209713074292228145962019286962544117035974563318921268241513986555088394502711032433789248734183877010959345104750102614262227563661010217640141350231316347211768763385670337883433049195056061300162041862964241528184097908283230852906666992480893473206747006312106694438401261591124362380788902882710265313013071263115504159140550179707220633782158597940373880726872858838789886163551228708805088540541574505134133745949431125107024728689987177439066224173647204385151471810845156172459609697201263898819372465925856032821983943945509201296896112993390414319772317613998628115011584901662481020736975231857679558573639533120123760882987807897148264001476729480741158503008405824181375825684426593602078107066384305742314153383784825815001170364503279303283157714730965700730790958163526085614077255893030881612578737162635171062435305862363661501175783671862584712802832632731639923317926092501167046294294878922434436385815597766578254085927198853219424480746368612964091254086956730350365974846418411767133289280026522101904776721397535481072023153960396155426365282526318432948840966649466716318812335304612541684202901596339076117983534399558629308180937552570931412127563964839611720473046765641026358839977096301838517860717992220124429055320994261412222457829626748188314831526678529121257451724121669436757611557692716596947663821034873517375372433749628434475153359120061495211777091719559441963916844642691242108239222713715540944215042751815205832903182816602051553000809853471087600226541940973229542173962641860015572714026730877762563780111880467244618055586935195897209646109126685288690235443479134420307287200865787784854857681194140932834097813623138157320433948668365280904196167520730495552269155400544459597418276177569668057444229387270850059959177577695113400939572251098823419194625556857107173746511343007800181920881221537624681494893301655822089723344553388000429323171176866004751029713971505534118999127107434111180853160547174861752751626348577776330731649967976997705926985766161797485058129327581956292771787829660210103007587578438303364646280346294247633981629844834860981910926589933525586410278385574288166108654586815838726812632990143066979317344762104354343375257570333883689617990419862704229988727473561686512974943917017701629021694931065627383970151448161079270422835544949285326099262830853904796892448341901343021226214704238492700377380756779821477303617108015181033663888382907694701687086758887917099855028808021759693299993928761037883200478548527383654940830627162960534839519753768771304564445702228660676511638525909100219792667017787855759149034626623398581454820469088953474304671180584117170375107299218857538863644099680063025446314779087962590928803576169825639877210091913953351078907222584306551857008399547716236951520432306368855405563331758063509346439969963192969308936226062923426688246041671272845075445462096707328610949341325449158353742604022908568946203933963643988238016251082863396042138900397422551647696827175988389556639458939949446524753736368453580244135105014317368938795421424241169688445192369547807720902472510058532210500190676908416490365999594117212594539752865691344940629371386945400149172429767490208830567907361799732482813964175917940399926984637762837734833459842745195607883737248217715147010664746624865860107174027680587247982043006696208521522681495053640549260909058244066831466386395550275703967451187984628361840304549620598007584604056652075292109056084955460757631045962710468974190271314358635494727254653928324003353839691189913153372830283101267409306943828090830937214893815925580078330686328742776609556460072981273554977224301651716046982335341896599200489741066102393484018972841466743047289295775671416546171942449273730018102329884754306147198475343597045689433842671468209541017943478180739831881650778966557553896529865161244407229829547727716931459459359559840553017703654746156616071691286614296466768069668800344909496623755249308151433068017415932042402097203261108808555885215825105468494713684598721648229183118676788358693974111182614492214872927357569277835129060640219341798931965723310239741977694394948416720292490078649040773942984422921245511852420706674819914354346020104887798142515274317061947997836595134419034230582330000240717127925526964112060319439249076892237808670839725453914016230218699443944340117528267723797972780319883977386476469029456738893211705543189528568137121573530047359055999267493785987462058075025437911796049705063581773663851013087176643772751648150048981936401280117985710232762186707399038083284214490009351252797025675234031663328726764953673595105495179812315052867907929540377789168697586451635338020604541532555456767223921372800748040195290633117401248117419768580554561920679552566002835202485597492704090494964420701053820178654505444932328959627731270218760735536157010176515686945610256645425466090751077063124240264202269417785796090050755625809976411130855080982514771006405019239084453063860469309363801560732448786594182631965426855620770324661738005715385915570566785767487246135064276153153759997114083896415651122260662526196811934588460728906851527212560414251230489996405218070314736073129676329566820684536684171651336809291777117985968335713633891342587678051190608132314213884936083558677694435789223952611566992819476705878074764002787217694166299949376281231412882322206987374652542436733768892535513131102546959338123452241057528223073307768102485716978811877380836416402793916906204056848362602583858587799671063183493736976342561580071402353708559999242811554741824392329109504518229810589936161848694495394989078505170054301833167574488999685417558644273661508773537637981961957984792817571894810151022150547618198149075642735541126296201993828633364656909410149851951595803219323557352758303156050734384212094939255739820941934884266839134997303995322823215069858545696315120342019702518376737457847075422833609547002365123843075643015383498457754484535198820719152172552391062084109456195267364880915037694355867535475716959456974814296043410930981650961631016607387504592652367302782535421937637661372747413198635813871372955291153837003764892214570085570425957184949391279047951885927105994402548962365475639942412116192038687450221895241768677287554938141140104080214294382146803429298709644350336820810077286914588926227332794609803525379770309789366482715491677332422658938068884123176801629354440421212341249014134107326180610680159589007947653882219813134645968624107250575125766006962591815762470229495361601560447159368208493962780049186984228166796792953581542749324663701473984707525536374661479614593173052043467258730505397958757517048679043709555117136847520835937727846034818459509505968569561640501633538002951685677658453700780995472650097844105771121176542567666472915935659895363457036650495500315381213781656630651058193300564850194107824559354050907613263433447134245936110081294087980183901841868569834102951605113985102702574503134563661489803117882501774544796411708510598634828765358263065954367069982829061211021319154234231505020565550265511430978433260352023923242725444468300700379120792896552063867819454509409847360220160225898163469405630937816664742083227109521241191459649627059244503802064886747666586992067262537932482591511828983160758903941627135177441671297217952186909720765757172069021248609888042204884148250442720829914829566064531716170835027008348907733533199583767922956828037492979711527925747153139364500573829531580750159815842766777948133435121844659456337848260159990186320354013431173770018894243132189838566288123058659669603088143868118546664490074354240051579825260190932977319065953785372139716567573294527268103825314263684763355326490530706394742429719766894118537850347739213350481304400991206260374884728430342569941156073036720381921215037764474384167946687650854838413496688263808658128622126405042347278636920072686075794168093150348990814812843596864619140305297198950566391285496038929258759391060652097864480694083354601317794438332337379458327425272558604296034920828942395797704350760545713242712650295620720480266695027666991950244529279313359307184545911652854607987807652986645496026716947536417215612871365512578375754072529384924508720861219936489809211203818311944253049677116385442579755323008904791994012496568602105634936557602112891222255815968208726460763908935319398537462319222352255330284191400510937420961175564065290566834839984065131575926030604764559525484870734749719528714771458256355741055774645543217420803544635560577601086392076222338719457169263398772048976940974467070861441289928116114822379840108596537462836610078114384265222441942194716220604610140785522209755139397733927411986230276978703634852253352842022242600934585431160196716177947048411252481870275891670108929136226858123842466618635286446211546416170022232310277708477106741642518964712784286913799970144671504373724583892442112497876502732662490966289876004595235484314466115186871841219982663670004329696331736833210973276693373847197155177400173404324040554503800043998543964753167354301398443594022081940824816410044369039158042339692563911582839710484722124067650472244306310825431696389062650108246970517592940351132396721382185326792077105099924715887893343594565171565538863544092477718216102419627260239221503871283929077578430077879552461168013575739019074659261015668694109748101523463971688743384750132252193744487530010432140663448060994862324221352177117091692094628128298303362593459421987497960525231874745909583672472115107069268107174241116087881881019570656894743427112230837464729747697287904400461590825567248163889426860244245125160649191818265856685696552603720649580279665210466735030772562224321647428767632205792907103522857500975846124533794485829388172460541838137807012917830058830599361560898689070941180492898899260714003360024425748810372423730833791663083240112960927403701290646454922124827245129489426572579849373823425089687526885449333112091199298595114972391533749953602866527716710260124896795530978681337873050346765409250024915767233853701372846694845302647660951562615461568624145939053205986352780877785504030782975749829320672131639847922952281937687807201663461521327704240311694177696896118243268002366769685019056410577468389387982304047935418402259740514853027590036741912357709317665544120419882073293232311077044681467068692078887192123162368975908397824952247513326863502917499638855245220253501440282089710886902088110314515119921897082899269502687200926510126785605589389971953891466571940655793341267576712702044221565301601582038054280635622775053891017862578168874712354569122595424188041364748533014273541620996902412317659304369126274940673760282393297296303605167965899360908473162497377625185238410611118623494106245618536249893057276554911179490509343490281569326320305727171387833588485502972865577590967716357968488698688366623916015925132522948757655665068523523398272426656763846601941044889777084329092351207003832111593986978874097826082333661521108604410795481934991712378889677120921380733180630953797228124436925901747310315082957987070479333014629016302597871979321110212016441175718117901992216429519562311775794723637051256769505374760360763420681191684281565703673512787503060410833524367577637189186127532357886671122588818257749537642741987311408806312149471966994444684490304692708403471108110071013861762043913009486567909615925856915111145157587139482174798470731364948860152215731708795013958641768504540907285026130803275489526748381597866585764901884965780165679560003859916511155593093937941342191408690570473464773303722588426369819739204909387442499777940226401837163549251666274278346270313040476274971039622891624000180029613725006476509403364326406391246489782009042296085561666625021390407234492476625340898666542026879772764965458833327273469640863858589506881152715997066880840404844786136002429799197513670678167918505711408986264171415473963739819897153319682352157242436699086438293839144783613290126856940433221400089631527568339999647274484053449187231193586513478553961120261523697898522345257679117226529948644856349013870383469132183523948228011112847641996718199985854240080628919802362640399110051898162724824317818261364212713700489111597445034735841096791394327255793144058953195735979255500681924093541926831189788447649230578028685481620774124541447986887063371215612828737445504126792126668657148857503236683061009031834227894258415429287921589180511143738996435527799620992980171024451696472280596148440944281496867205466579292102064584627624844059750272925405354554066059151128068182475799175855368825868213358066934288301931674983194054960742317651833552973708808910321754754451139528248078310202517126658109239950627632628002403402303204555932481640988841313955305273710453870429885784241368000702185028555886967873716908042084439218126624507204911476259917005635215249592060307682632721210835878975389545065247921116683215404853004476451191273876793271903667197783882101506178542400722613261464260949021726831613791344666040134495620404055624304941339072181639471059170315227776695541598363205861260484056231424090749958981239731737081453567208585884268618602499788210382610334325400796426473236413847772831984197608673332841201259173247859294961176015598951929460166372622829088090000801497334335463239353927254797639365578054600006059482717867423563421255314036396068406314478675478352712443982795286361311889002904552691626255056018425268121312539682167203281653428699071653723463525177392245639845991016504183382083473993161305916283849286134872301037542999811887687202649143002173358503079563577184841475801686644378449504201888996396223893158479338313481123794456129279150259937072231776955299954637140266723136555673580194323296706910304462780156307978980663439064039098269076544395312530798514649195866969063861109982085162066515444568559660996484416103399571168835978913088511815116082595596894530575125805550674817777865638975936876164479865645056484096655637836278193818173398039377107638828279162206955925150280459235849772630256657633274681282914772059201052299510432801433624862697187350046973777249899631826415540356311525488878291953625806964957470535568669124320496258928589841167816633208060264638679100626865894089997332408881024562594843957165427993194923608529530571971351730082665347173688497873232135949326115969708557877795111385096239768109901304666080748515308309480170339942475853221636041635588430654788881088164915277913377115795772316907743107970942011724896340689520876841285668801824515371463219406246454388402271398689380890085308726651337456593985869002828203530676837552433915773299120577136912237198547941591642672954884785546529796460436746805569916011540574600137868989482697479292056237842678162257456307377063735977525637965298099883940251280149234667246584860660586985989625489078557016966119917556659251594349310805996406350698861096294564927361999733806925340993774513734167246521328696778535467729828372738404712243512030585943821792281473636712029502535543983258698641855312414596645503467353059136364487616184999250900929062361191032528702828208912251221020420620183777654588987551037457227388378864059730306966053966974789365259790704673292936289025690003183908057009583543816876579592608306750071162489138499981643853189308534628522832483994227522132577255569356715695537472844311600498583539066255372550122189054262113855482300288494910076316667923763354259397394652975332424638193017896652669114158184252346031063758626118363495661355967904673398680730491401458528379625568086035953965519274241903896046912253816831343566454161687186166107115078556083087356229548262156338941120415722821688736407971114326333225522789412168452698289253352156491066645595689853484574486469485006035988708144292509817107358834163652952256842524678828748643598837306485872336171797109158435841248595351990803644038522372092391822206137329785671262831546666417994370139235553816170137808390952920176152923308586051910605740899645078510835999942823411776601479796423782505991408561964289459772181161505963699285628396311668216677890147515387044588501001445478371861504451157643068350763957331604357060385484254216468306507829300922227851776755739299037066530661497068242253118756369543584880535697331191350672248958685950131756429800723278651606916976215922907971045714570593961788922993509517853758202223290600867459577746499993105866959543095051185657448708859447139209610955090770459863842257330582151437357225585514188989076744659158997406584418006809470160565025395876310463251263308715525565322177372854264007970924005850109764066184326077268070199676963507790250798138339125308556628866188249183169817819430440797366575030346027674834620413570083909553369933358628443927642520787152176774607789574400350821684270190644993270567533538602526603945992367781173459921610044810066788121294673626418660151038869810898304153656974062929418042685580586973719991723497469008667673213059184674811809970576942774173424542193765606473544835541378480142113356922720037529473549738321713039313239094479967073940487759793658679186398348239622308084600745754064513809608028038682779196745617529798553169416394453294803860317780537944359172889311680676986550298669497717024291592350518862395651342942460483284178345338095445358136503683448348929118227515419998633851854351110736123427304770632664038793651508415951162568323067305892342690979572387887032352771914232110915415151580978478587183338164971866076771321958882883658699163290316562009491699367658139998512676989512704777296097246311257161564272376550771771132207341063939977191092691503680518837413061556204335614606187917571137757428850903884460946966131584775454193208785938191502807115478596005971222465555361134731570680184561578582757082265259422231730654646232247082968651724464303818479115059472250849885678174310760450 79221136326288413549090453617582214988603149380032775393045753873679347103737428810698791647263113706575282689198477135930652137291317188670030006057926509831856472550143054466006425134587034426949120010210832597783143689081004098970652114673282224426184172485773967049733965817226715156969648131835381010189470025770375559444559659305270898952170617343578663720139463438305206193729450577009951868047317341521679722886752217921827822705466305632297648679105292595306982225729633137305184703173136534319068330149229142960259210328722455601450057473003629441834416962669954405564521304502500726298911194393554191501157954017925309977598836623748100506311537547090223313424323313673085311409323919977212070953990949404412305207140907616619412378270976434206887105501661848469182736298770557698748104969475842500166345456724876246803841548685455561851856586967869889986216391448174596518073583228454703935275996041071738034755239225816281721293011288588359444337681021846829274952700086230836341401062887321604178406708278357480439226036171803414304571700770050264769130291420603534822495795966981715612394351588510056912232508637273573895372779156159436797233748213294951636931736322625278881149941049169682180025310119656903852664689348405476728233436921288688205034751242856813863451202798101231235894933014025474654357904163264189792879110990531247061528782494741231885291482973616690359904394443018958369073484128300703937149692838128916254439952768266768999800895221352172804608885628145520829329108509888656265795056847497582709463200002373315731960683089450281141672128908771066872542843950397795050900482861371828770525181267955544208230938560999841196913163882946371552828126583680248944964520944418180558701521838650855170095150234372062727397690674991347946365752214498420657007149585319909260780872426315558079608099072865828174703417406185318728278145026184310672633645641700732291542811057990742838365066341014265183949971790930431087121056345347741501667746148234688653065189269356885872908647581204650438736957716528711548574555583977239301969823515430537595181395319473570033411789209713074292228145962019286962544117035974563318921268241513986555088394502711032433789248734183877010959345104750102614262227563661010217640141350231316347211768763385670337883433049195056061300162041862964241528184097908283230852906666992480893473206747006312106694438401261591124362380788902882710265313013071263115504159140550179707220633782158597940373880726872858838789886163551228708805088540541574505134133745949431125107024728689987177439066224173647204385151471810845156172459609697201263898819372465925856032821983943945509201296896112993390414319772317613998628115011584901662481020736975231857679558573639533120123760882987807897148264001476729480741158503008405824181375825684426593602078107066384305742314153383784825815001170364503279303283157714730965700730790958163526085614077255893030881612578737162635171062435305862363661501175783671862584712802832632731639923317926092501167046294294878922434436385815597766578254085927198853219424480746368612964091254086956730350365974846418411767133289280026522101904776721397535481072023153960396155426365282526318432948840966649466716318812335304612541684202901596339076117983534399558629308180937552570931412127563964839611720473046765641026358839977096301838517860717992220124429055320994261412222457829626748188314831526678529121257451724121669436757611557692716596947663821034873517375372433749628434475153359120061495211777091719559441963916844642691242108239222713715540944215042751815205832903182816602051553000809853471087600226541940973229542173962641860015572714026730877762563780111880467244618055586935195897209646109126685288690235443479134420307287200865787784854857681194140932834097813623138157320433948668365280904196167520730495552269155400544459597418276177569668057444229387270850059959177577695113400939572251098823419194625556857107173746511343007800181920881221537624681494893301655822089723344553388000429323171176866004751029713971505534118999127107434111180853160547174861752751626348577776330731649967976997705926985766161797485058129327581956292771787829660210103007587578438303364646280346294247633981629844834860981910926589933525586410278385574288166108654586815838726812632990143066979317344762104354343375257570333883689617990419862704229988727473561686512974943917017701629021694931065627383970151448161079270422835544949285326099262830853904796892448341901343021226214704238492700377380756779821477303617108015181033663888382907694701687086758887917099855028808021759693299993928761037883200478548527383654940830627162960534839519753768771304564445702228660676511638525909100219792667017787855759149034626623398581454820469088953474304671180584117170375107299218857538863644099680063025446314779087962590928803576169825639877210091913953351078907222584306551857008399547716236951520432306368855405563331758063509346439969963192969308936226062923426688246041671272845075445462096707328610949341325449158353742604022908568946203933963643988238016251082863396042138900397422551647696827175988389556639458939949446524753736368453580244135105014317368938795421424241169688445192369547807720902472510058532210500190676908416490365999594117212594539752865691344940629371386945400149172429767490208830567907361799732482813964175917940399926984637762837734833459842745195607883737248217715147010664746624865860107174027680587247982043006696208521522681495053640549260909058244066831466386395550275703967451187984628361840304549620598007584604056652075292109056084955460757631045962710468974190271314358635494727254653928324003353839691189913153372830283101267409306943828090830937214893815925580078330686328742776609556460072981273554977224301651716046982335341896599200489741066102393484018972841466743047289295775671416546171942449273730018102329884754306147198475343597045689433842671468209541017943478180739831881650778966557553896529865161244407229829547727716931459459359559840553017703654746156616071691286614296466768069668800344909496623755249308151433068017415932042402097203261108808555885215825105468494713684598721648229183118676788358693974111182614492214872927357569277835129060640219341798931965723310239741977694394948416720292490078649040773942984422921245511852420706674819914354346020104887798142515274317061947997836595134419034230582330000240717127925526964112060319439249076892237808670839725453914016230218699443944340117528267723797972780319883977386476469029456738893211705543189528568137121573530047359055999267493785987462058075025437911796049705063581773663851013087176643772751648150048981936401280117985710232762186707399038083284214490009351252797025675234031663328726764953673595105495179812315052867907929540377789168697586451635338020604541532555456767223921372800748040195290633117401248117419768580554561920679552566002835202485597492704090494964420701053820178654505444932328959627731270218760735536157010176515686945610256645425466090751077063124240264202269417785796090050755625809976411130855080982514771006405019239084453063860469309363801560732448786594182631965426855620770324661738005715385915570566785767487246135064276153153759997114083896415651122260662526196811934588460728906851527212560414251230489996405218070314736073129676329566820684536684171651336809291777117985968335713633891342587678051190608132314213884936083558677694435789223952611566992819476705878074764002787217694166299949376281231412882322206987374652542436733768892535513131102546959338123452241057528223073307768102485716978811877380836416402793916906204056848362602583858587799671063183493736976342561580071402353708559999242811554741824392329109504518229810589936161848694495394989078505170054301833167574488999685417558644273661508773537637981961957984792817571894810151022150547618198149075642735541126296201993828633364656909410149851951595803219323557352758303156050734384212094939255739820941934884266839134997303995322823215069858545696315120342019702518376737457847075422833609547002365123843075643015383498457754484535198820719152172552391062084109456195267364880915037694355867535475716959456974814296043410930981650961631016607387504592652367302782535421937637661372747413198635813871372955291153837003764892214570085570425957184949391279047951885927105994402548962365475639942412116192038687450221895241768677287554938141140104080214294382146803429298709644350336820810077286914588926227332794609803525379770309789366482715491677332422658938068884123176801629354440421212341249014134107326180610680159589007947653882219813134645968624107250575125766006962591815762470229495361601560447159368208493962780049186984228166796792953581542749324663701473984707525536374661479614593173052043467258730505397958757517048679043709555117136847520835937727846034818459509505968569561640501633538002951685677658453700780995472650097844105771121176542567666472915935659895363457036650495500315381213781656630651058193300564850194107824559354050907613263433447134245936110081294087980183901841868569834102951605113985102702574503134563661489803117882501774544796411708510598634828765358263065954367069982829061211021319154234231505020565550265511430978433260352023923242725444468300700379120792896552063867819454509409847360220160225898163469405630937816664742083227109521241191459649627059244503802064886747666586992067262537932482591511828983160758903941627135177441671297217952186909720765757172069021248609888042204884148250442720829914829566064531716170835027008348907733533199583767922956828037492979711527925747153139364500573829531580750159815842766777948133435121844659456337848260159990186320354013431173770018894243132189838566288123058659669603088143868118546664490074354240051579825260190932977319065953785372139716567573294527268103825314263684763355326490530706394742429719766894118537850347739213350481304400991206260374884728430342569941156073036720381921215037764474384167946687650854838413496688263808658128622126405042347278636920072686075794168093150348990814812843596864619140305297198950566391285496038929258759391060652097864480694083354601317794438332337379458327425272558604296034920828942395797704350760545713242712650295620720480266695027666991950244529279313359307184545911652854607987807652986645496026716947536417215612871365512578375754072529384924508720861219936489809211203818311944253049677116385442579755323008904791994012496568602105634936557602112891222255815968208726460763908935319398537462319222352255330284191400510937420961175564065290566834839984065131575926030604764559525484870734749719528714771458256355741055774645543217420803544635560577601086392076222338719457169263398772048976940974467070861441289928116114822379840108596537462836610078114384265222441942194716220604610140785522209755139397733927411986230276978703634852253352842022242600934585431160196716177947048411252481870275891670108929136226858123842466618635286446211546416170022232310277708477106741642518964712784286913799970144671504373724583892442112497876502732662490966289876004595235484314466115186871841219982663670004329696331736833210973276693373847197155177400173404324040554503800043998543964753167354301398443594022081940824816410044369039158042339692563911582839710484722124067650472244306310825431696389062650108246970517592940351132396721382185326792077105099924715887893343594565171565538863544092477718216102419627260239221503871283929077578430077879552461168013575739019074659261015668694109748101523463971688743384750132252193744487530010432140663448060994862324221352177117091692094628128298303362593459421987497960525231874745909583672472115107069268107174241116087881881019570656894743427112230837464729747697287904400461590825567248163889426860244245125160649191818265856685696552603720649580279665210466735030772562224321647428767632205792907103522857500975846124533794485829388172460541838137807012917830058830599361560898689070941180492898899260714003360024425748810372423730833791663083240112960927403701290646454922124827245129489426572579849373823425089687526885449333112091199298595114972391533749953602866527716710260124896795530978681337873050346765409250024915767233853701372846694845302647660951562615461568624145939053205986352780877785504030782975749829320672131639847922952281937687807201663461521327704240311694177696896118243268002366769685019056410577468389387982304047935418402259740514853027590036741912357709317665544120419882073293232311077044681467068692078887192123162368975908397824952247513326863502917499638855245220253501440282089710886902088110314515119921897082899269502687200926510126785605589389971953891466571940655793341267576712702044221565301601582038054280635622775053891017862578168874712354569122595424188041364748533014273541620996902412317659304369126274940673760282393297296303605167965899360908473162497377625185238410611118623494106245618536249893057276554911179490509343490281569326320305727171387833588485502972865577590967716357968488698688366623916015925132522948757655665068523523398272426656763846601941044889777084329092351207003832111593986978874097826082333661521108604410795481934991712378889677120921380733180630953797228124436925901747310315082957987070479333014629016302597871979321110212016441175718117901992216429519562311775794723637051256769505374760360763420681191684281565703673512787503060410833524367577637189186127532357886671122588818257749537642741987311408806312149471966994444684490304692708403471108110071013861762043913009486567909615925856915111145157587139482174798470731364948860152215731708795013958641768504540907285026130803275489526748381597866585764901884965780165679560003859916511155593093937941342191408690570473464773303722588426369819739204909387442499777940226401837163549251666274278346270313040476274971039622891624000180029613725006476509403364326406391246489782009042296085561666625021390407234492476625340898666542026879772764965458833327273469640863858589506881152715997066880840404844786136002429799197513670678167918505711408986264171415473963739819897153319682352157242436699086438293839144783613290126856940433221400089631527568339999647274484053449187231193586513478553961120261523697898522345257679117226529948644856349013870383469132183523948228011112847641996718199985854240080628919802362640399110051898162724824317818261364212713700489111597445034735841096791394327255793144058953195735979255500681924093541926831189788447649230578028685481620774124541447986887063371215612828737445504126792126668657148857503236683061009031834227894258415429287921589180511143738996435527799620992980171024451696472280596148440944281496867205466579292102064584627624844059750272925405354554066059151128068182475799175855368825868213358066934288301931674983194054960742317651833552973708808910321754754451139528248078310202517126658109239950627632628002403402303204555932481640988841313955305273710453870429885784241368000702185028555886967873716908042084439218126624507204911476259917005635215249592060307682632721210835878975389545065247921116683215404853004476451191273876793271903667197783882101506178542400722613261464260949021726831613791344666040134495620404055624304941339072181639471059170315227776695541598363205861260484056231424090749958981239731737081453567208585884268618602499788210382610334325400796426473236413847772831984197608673332841201259173247859294961176015598951929460166372622829088090000801497334335463239353927254797639365578054600006059482717867423563421255314036396068406314478675478352712443982795286361311889002904552691626255056018425268121312539682167203281653428699071653723463525177392245639845991016504183382083473993161305916283849286134872301037542999811887687202649143002173358503079563577184841475801686644378449504201888996396223893158479338313481123794456129279150259937072231776955299954637140266723136555673580194323296706910304462780156307978980663439064039098269076544395312530798514649195866969063861109982085162066515444568559660996484416103399571168835978913088511815116082595596894530575125805550674817777865638975936876164479865645056484096655637836278193818173398039377107638828279162206955925150280459235849772630256657633274681282914772059201052299510432801433624862697187350046973777249899631826415540356311525488878291953625806964957470535568669124320496258928589841167816633208060264638679100626865894089997332408881024562594843957165427993194923608529530571971351730082665347173688497873232135949326115969708557877795111385096239768109901304666080748515308309480170339942475853221636041635588430654788881088164915277913377115795772316907743107970942011724896340689520876841285668801824515371463219406246454388402271398689380890085308726651337456593985869002828203530676837552433915773299120577136912237198547941591642672954884785546529796460436746805569916011540574600137868989482697479292056237842678162257456307377063735977525637965298099883940251280149234667246584860660586985989625489078557016966119917556659251594349310805996406350698861096294564927361999733806925340993774513734167246521328696778535467729828372738404712243512030585943821792281473636712029502535543983258698641855312414596645503467353059136364487616184999250900929062361191032528702828208912251221020420620183777654588987551037457227388378864059730306966053966974789365259790704673292936289025690003183908057009583543816876579592608306750071162489138499981643853189308534628522832483994227522132577255569356715695537472844311600498583539066255372550122189054262113855482300288494910076316667923763354259397394652975332424638193017896652669114158184252346031063758626118363495661355967904673398680730491401458528379625568086035953965519274241903896046912253816831343566454161687186166107115078556083087356229548262156338941120415722821688736407971114326333225522789412168452698289253352156491066645595689853484574486469485006035988708144292509817107358834163652952256842524678828748643598837306485872336171797109158435841248595351990803644038522372092391822206137329785671262831546666417994370139235553816170137808390952920176152923308586051910605740899645078510835999942823411776601479796423782505991408561964289459772181161505963699285628396311668216677890147515387044588501001445478371861504451157643068350763957331604357060385484254216468306507829300922227851776755739299037066530661497068242253118756369543584880535697331191350672248958685950131756429800723278651606916976215922907971045714570593961788922993509517853758202223290600867459577746499993105866959543095051185657448708859447139209610955090770459863842257330582151437357225585514188989076744659158997406584418006809470160565025395876310463251263308715525565322177372854264007970924005850109764066184326077268070199676963507790250798138339125308556628866188249183169817819430440797366575030346027674834620413570083909553369933358628443927642520787152176774607789574400350821684270190644993270567533538602526603945992367781173459921610044810066788121294673626418660151038869810898304153656974062929418042685580586973719991723497469008667673213059184674811809970576942774173424542193765606473544835541378480142113356922720037529473549738321713039313239094479967073940487759793658679186398348239622308084600745754064513809608028038682779196745617529798553169416394453294803860317780537944359172889311680676986550298669497717024291592350518862395651342942460483284178345338095445358136503683448348929118227515419998633851854351110736123427304770632664038793651508415951162568323067305892342690979572387887032352771914232110915415151580978478587183338164971866076771321958882883658699163290316562009491699367658139998512676989512704777296097246311257161564272376550771771132207341063939977191092691503680518837413061556204335614606187917571137757428850903884460946966131584775454193208785938191502807115478596005971222465555361134731570680184561578582757082265259422231730654646232247082968651724464303818479115059472250849885678174310760450 | | 3 131320522667450157025014260926434774716195847451632054705472093552882657937224227764793673195138276328372816899776734130388737434818690167331124365840014622782803706159845123550740412921007087553502380120695904417147970951537507206651907127467183161573779723178248263074187395885724110758149710061534193709853106342689965050959679915725374559915797776841674811262895475772752192186796407999901239797329138540841100687452317370204422685244564766575465339689963006989105940793437609494935421352868357948938560930816050684017233894979440221880116465093602735473118966546439285627021737850907147159056115095547222622389600382636305433978537453708363550680044552778307854478715904795887293000618873330950159907064634024667597920704725645191753237971947018376345767362567069071425947868001151369353768724402915660943386666954040621655786034195877759072808406413312541054444997832101848898307139180775031860766186984005321157886422251530262245980838451869512231095440663073156790670066092805497094844963038902076049033115948206900828345746535325613390035364261625579481210367466657492465675554690895467444703679009901171538013169218879836089647962843609019832974582769225926146128996499938379497881894386192303721640577131458645130084944756723029266437102263564244339382088803976591516713227376089495271502906041107375500349669191785650768431630908662054426767410536351445906139203613627806134859199012517830382669533419033337076400470080714822924351401083697031914166971007801601005562405133378862089422503432760399781129278498950831051025881450168383251210191706329894591234844253745786351018836510478592767233346164562670055467345165767963264447262115184429767969374176795974819280404708792290264668669908198419711100140979802270384519844592538279632908892170110138933176529806555199400257056027465062603957871124217392321499853390366360383718127463853978294390866544709828424930121868074531193956250101332639771073952970135714809582120412201234542934676304507252842427207905635333047870305435007620177349461286210248753163430164984457116035636383490596641307551513905364327099018320652986467875073071207764227891443980881151219721061954289823041844025198306556385734690207244044207246277368438966524684417756228560662027619625712113901410289090296936343894290700638540817214895788129649980827843647418192933975324249008977855598124668956268669350021154125572237531013597563177468078090678028515446918182671860831185409460339772496455261291625622888682423508373765139489743605701323676102150135315815087728303335721329262291351929551215863570545746215515934574797294324199962071360554278412353539 79221136326288413549090453617582214988603149380032775393045753873679347103737428810698791647263113706575282689198477135930652137291317188670030006057926509831856472550143054466006425134587034426949120010210832597783143689081004098970652114673282224426184172485773967049733965817226715156969648131835381010189470025770375559444559659305270898952170617343578663720139463438305206193729450577009951868047317341521679722886752217921827822705466305632297648679105292595306982225729633137305184703173136534319068330149229142960259210328722455601450057473003629441834416962669954405564521304502500726298911194393554191501157954017925309977598836623748100506311537547090223313424323313673085311409323919977212070953990949404412305207140907616619412378270976434206887105501661848469182736298770557698748104969475842500166345456724876246803841548685455561851856586967869889986216391448174596518073583228454703935275996041071738034755239225816281721293011288588359444337681021846829274952700086230836341401062887321604178406708278357480439226036171803414304571700770050264769130291420603534822495795966981715612394351588510056912232508637273573895372779156159436797233748213294951636931736322625278881149941049169682180025310119656903852664689348405476728233436921288688205034751242856813863451202798101231235894933014025474654357904163264189792879110990531247061528782494741231885291482973616690359904394443018958369073484128300703937149692838128916254439952768266768999800895221352172804608885628145520829329108509888656265795056847497582709463200002373315731960683089450281141672128908771066872542843950397795050900482861371828770525181267955544208230938560999841196913163882946371552828126583680248944964520944418180558701521838650855170095150234372062727397690674991347946365752214498420657007149585319909260780872426315558079608099072865828174703417406185318728278145026184310672633645641700732291542811057990742838365066341014265183949971790930431087121056345347741501667746148234688653065189269356885872908647581204650438736957716528711548574555583977239301969823515430537595181395319473570033411789209713074292228145962019286962544117035974563318921268241513986555088394502711032433789248734183877010959345104750102614262227563661010217640141350231316347211768763385670337883433049195056061300162041862964241528184097908283230852906666992480893473206747006312106694438401261591124362380788902882710265313013071263115504159140550179707220633782158597940373880726872858838789886163551228708805088540541574505134133745949431125107024728689987177439066224173647204385151471810845156172459609697201263898819372465925856032821983943945509201296896112993390414319772317613998628115011584901662481020736975231857679558573639533120123760882987807897148264001476729480741158503008405824181375825684426593602078107066384305742314153383784825815001170364503279303283157714730965700730790958163526085614077255893030881612578737162635171062435305862363661501175783671862584712802832632731639923317926092501167046294294878922434436385815597766578254085927198853219424480746368612964091254086956730350365974846418411767133289280026522101904776721397535481072023153960396155426365282526318432948840966649466716318812335304612541684202901596339076117983534399558629308180937552570931412127563964839611720473046765641026358839977096301838517860717992220124429055320994261412222457829626748188314831526678529121257451724121669436757611557692716596947663821034873517375372433749628434475153359120061495211777091719559441963916844642691242108239222713715540944215042751815205832903182816602051553000809853471087600226541940973229542173962641860015572714026730877762563780111880467244618055586935195897209646109126685288690235443479134420307287200865787784854857681194140932834097813623138157320433948668365280904196167520730495552269155400544459597418276177569668057444229387270850059959177577695113400939572251098823419194625556857107173746511343007800181920881221537624681494893301655822089723344553388000429323171176866004751029713971505534118999127107434111180853160547174861752751626348577776330731649967976997705926985766161797485058129327581956292771787829660210103007587578438303364646280346294247633981629844834860981910926589933525586410278385574288166108654586815838726812632990143066979317344762104354343375257570333883689617990419862704229988727473561686512974943917017701629021694931065627383970151448161079270422835544949285326099262830853904796892448341901343021226214704238492700377380756779821477303617108015181033663888382907694701687086758887917099855028808021759693299993928761037883200478548527383654940830627162960534839519753768771304564445702228660676511638525909100219792667017787855759149034626623398581454820469088953474304671180584117170375107299218857538863644099680063025446314779087962590928803576169825639877210091913953351078907222584306551857008399547716236951520432306368855405563331758063509346439969963192969308936226062923426688246041671272845075445462096707328610949341325449158353742604022908568946203933963643988238016251082863396042138900397422551647696827175988389556639458939949446524753736368453580244135105014317368938795421424241169688445192369547807720902472510058532210500190676908416490365999594117212594539752865691344940629371386945400149172429767490208830567907361799732482813964175917940399926984637762837734833459842745195607883737248217715147010664746624865860107174027680587247982043006696208521522681495053640549260909058244066831466386395550275703967451187984628361840304549620598007584604056652075292109056084955460757631045962710468974190271314358635494727254653928324003353839691189913153372830283101267409306943828090830937214893815925580078330686328742776609556460072981273554977224301651716046982335341896599200489741066102393484018972841466743047289295775671416546171942449273730018102329884754306147198475343597045689433842671468209541017943478180739831881650778966557553896529865161244407229829547727716931459459359559840553017703654746156616071691286614296466768069668800344909496623755249308151433068017415932042402097203261108808555885215825105468494713684598721648229183118676788358693974111182614492214872927357569277835129060640219341798931965723310239741977694394948416720292490078649040773942984422921245511852420706674819914354346020104887798142515274317061947997836595134419034230582330000240717127925526964112060319439249076892237808670839725453914016230218699443944340117528267723797972780319883977386476469029456738893211705543189528568137121573530047359055999267493785987462058075025437911796049705063581773663851013087176643772751648150048981936401280117985710232762186707399038083284214490009351252797025675234031663328726764953673595105495179812315052867907929540377789168697586451635338020604541532555456767223921372800748040195290633117401248117419768580554561920679552566002835202485597492704090494964420701053820178654505444932328959627731270218760735536157010176515686945610256645425466090751077063124240264202269417785796090050755625809976411130855080982514771006405019239084453063860469309363801560732448786594182631965426855620770324661738005715385915570566785767487246135064276153153759997114083896415651122260662526196811934588460728906851527212560414251230489996405218070314736073129676329566820684536684171651336809291777117985968335713633891342587678051190608132314213884936083558677694435789223952611566992819476705878074764002787217694166299949376281231412882322206987374652542436733768892535513131102546959338123452241057528223073307768102485716978811877380836416402793916906204056848362602583858587799671063183493736976342561580071402353708559999242811554741824392329109504518229810589936161848694495394989078505170054301833167574488999685417558644273661508773537637981961957984792817571894810151022150547618198149075642735541126296201993828633364656909410149851951595803219323557352758303156050734384212094939255739820941934884266839134997303995322823215069858545696315120342019702518376737457847075422833609547002365123843075643015383498457754484535198820719152172552391062084109456195267364880915037694355867535475716959456974814296043410930981650961631016607387504592652367302782535421937637661372747413198635813871372955291153837003764892214570085570425957184949391279047951885927105994402548962365475639942412116192038687450221895241768677287554938141140104080214294382146803429298709644350336820810077286914588926227332794609803525379770309789366482715491677332422658938068884123176801629354440421212341249014134107326180610680159589007947653882219813134645968624107250575125766006962591815762470229495361601560447159368208493962780049186984228166796792953581542749324663701473984707525536374661479614593173052043467258730505397958757517048679043709555117136847520835937727846034818459509505968569561640501633538002951685677658453700780995472650097844105771121176542567666472915935659895363457036650495500315381213781656630651058193300564850194107824559354050907613263433447134245936110081294087980183901841868569834102951605113985102702574503134563661489803117882501774544796411708510598634828765358263065954367069982829061211021319154234231505020565550265511430978433260352023923242725444468300700379120792896552063867819454509409847360220160225898163469405630937816664742083227109521241191459649627059244503802064886747666586992067262537932482591511828983160758903941627135177441671297217952186909720765757172069021248609888042204884148250442720829914829566064531716170835027008348907733533199583767922956828037492979711527925747153139364500573829531580750159815842766777948133435121844659456337848260159990186320354013431173770018894243132189838566288123058659669603088143868118546664490074354240051579825260190932977319065953785372139716567573294527268103825314263684763355326490530706394742429719766894118537850347739213350481304400991206260374884728430342569941156073036720381921215037764474384167946687650854838413496688263808658128622126405042347278636920072686075794168093150348990814812843596864619140305297198950566391285496038929258759391060652097864480694083354601317794438332337379458327425272558604296034920828942395797704350760545713242712650295620720480266695027666991950244529279313359307184545911652854607987807652986645496026716947536417215612871365512578375754072529384924508720861219936489809211203818311944253049677116385442579755323008904791994012496568602105634936557602112891222255815968208726460763908935319398537462319222352255330284191400510937420961175564065290566834839984065131575926030604764559525484870734749719528714771458256355741055774645543217420803544635560577601086392076222338719457169263398772048976940974467070861441289928116114822379840108596537462836610078114384265222441942194716220604610140785522209755139397733927411986230276978703634852253352842022242600934585431160196716177947048411252481870275891670108929136226858123842466618635286446211546416170022232310277708477106741642518964712784286913799970144671504373724583892442112497876502732662490966289876004595235484314466115186871841219982663670004329696331736833210973276693373847197155177400173404324040554503800043998543964753167354301398443594022081940824816410044369039158042339692563911582839710484722124067650472244306310825431696389062650108246970517592940351132396721382185326792077105099924715887893343594565171565538863544092477718216102419627260239221503871283929077578430077879552461168013575739019074659261015668694109748101523463971688743384750132252193744487530010432140663448060994862324221352177117091692094628128298303362593459421987497960525231874745909583672472115107069268107174241116087881881019570656894743427112230837464729747697287904400461590825567248163889426860244245125160649191818265856685696552603720649580279665210466735030772562224321647428767632205792907103522857500975846124533794485829388172460541838137807012917830058830599361560898689070941180492898899260714003360024425748810372423730833791663083240112960927403701290646454922124827245129489426572579849373823425089687526885449333112091199298595114972391533749953602866527716710260124896795530978681337873050346765409250024915767233853701372846694845302647660951562615461568624145939053205986352780877785504030782975749829320672131639847922952281937687807201663461521327704240311694177696896118243268002366769685019056410577468389387982304047935418402259740514853027590036741912357709317665544120419882073293232311077044681467068692078887192123162368975908397824952247513326863502917499638855245220253501440282089710886902088110314515119921897082899269502687200926510126785605589389971953891466571940655793341267576712702044221565301601582038054280635622775053891017862578168874712354569122595424188041364748533014273541620996902412317659304369126274940673760282393297296303605167965899360908473162497377625185238410611118623494106245618536249893057276554911179490509343490281569326320305727171387833588485502972865577590967716357968488698688366623916015925132522948757655665068523523398272426656763846601941044889777084329092351207003832111593986978874097826082333661521108604410795481934991712378889677120921380733180630953797228124436925901747310315082957987070479333014629016302597871979321110212016441175718117901992216429519562311775794723637051256769505374760360763420681191684281565703673512787503060410833524367577637189186127532357886671122588818257749537642741987311408806312149471966994444684490304692708403471108110071013861762043913009486567909615925856915111145157587139482174798470731364948860152215731708795013958641768504540907285026130803275489526748381597866585764901884965780165679560003859916511155593093937941342191408690570473464773303722588426369819739204909387442499777940226401837163549251666274278346270313040476274971039622891624000180029613725006476509403364326406391246489782009042296085561666625021390407234492476625340898666542026879772764965458833327273469640863858589506881152715997066880840404844786136002429799197513670678167918505711408986264171415473963739819897153319682352157242436699086438293839144783613290126856940433221400089631527568339999647274484053449187231193586513478553961120261523697898522345257679117226529948644856349013870383469132183523948228011112847641996718199985854240080628919802362640399110051898162724824317818261364212713700489111597445034735841096791394327255793144058953195735979255500681924093541926831189788447649230578028685481620774124541447986887063371215612828737445504126792126668657148857503236683061009031834227894258415429287921589180511143738996435527799620992980171024451696472280596148440944281496867205466579292102064584627624844059750272925405354554066059151128068182475799175855368825868213358066934288301931674983194054960742317651833552973708808910321754754451139528248078310202517126658109239950627632628002403402303204555932481640988841313955305273710453870429885784241368000702185028555886967873716908042084439218126624507204911476259917005635215249592060307682632721210835878975389545065247921116683215404853004476451191273876793271903667197783882101506178542400722613261464260949021726831613791344666040134495620404055624304941339072181639471059170315227776695541598363205861260484056231424090749958981239731737081453567208585884268618602499788210382610334325400796426473236413847772831984197608673332841201259173247859294961176015598951929460166372622829088090000801497334335463239353927254797639365578054600006059482717867423563421255314036396068406314478675478352712443982795286361311889002904552691626255056018425268121312539682167203281653428699071653723463525177392245639845991016504183382083473993161305916283849286134872301037542999811887687202649143002173358503079563577184841475801686644378449504201888996396223893158479338313481123794456129279150259937072231776955299954637140266723136555673580194323296706910304462780156307978980663439064039098269076544395312530798514649195866969063861109982085162066515444568559660996484416103399571168835978913088511815116082595596894530575125805550674817777865638975936876164479865645056484096655637836278193818173398039377107638828279162206955925150280459235849772630256657633274681282914772059201052299510432801433624862697187350046973777249899631826415540356311525488878291953625806964957470535568669124320496258928589841167816633208060264638679100626865894089997332408881024562594843957165427993194923608529530571971351730082665347173688497873232135949326115969708557877795111385096239768109901304666080748515308309480170339942475853221636041635588430654788881088164915277913377115795772316907743107970942011724896340689520876841285668801824515371463219406246454388402271398689380890085308726651337456593985869002828203530676837552433915773299120577136912237198547941591642672954884785546529796460436746805569916011540574600137868989482697479292056237842678162257456307377063735977525637965298099883940251280149234667246584860660586985989625489078557016966119917556659251594349310805996406350698861096294564927361999733806925340993774513734167246521328696778535467729828372738404712243512030585943821792281473636712029502535543983258698641855312414596645503467353059136364487616184999250900929062361191032528702828208912251221020420620183777654588987551037457227388378864059730306966053966974789365259790704673292936289025690003183908057009583543816876579592608306750071162489138499981643853189308534628522832483994227522132577255569356715695537472844311600498583539066255372550122189054262113855482300288494910076316667923763354259397394652975332424638193017896652669114158184252346031063758626118363495661355967904673398680730491401458528379625568086035953965519274241903896046912253816831343566454161687186166107115078556083087356229548262156338941120415722821688736407971114326333225522789412168452698289253352156491066645595689853484574486469485006035988708144292509817107358834163652952256842524678828748643598837306485872336171797109158435841248595351990803644038522372092391822206137329785671262831546666417994370139235553816170137808390952920176152923308586051910605740899645078510835999942823411776601479796423782505991408561964289459772181161505963699285628396311668216677890147515387044588501001445478371861504451157643068350763957331604357060385484254216468306507829300922227851776755739299037066530661497068242253118756369543584880535697331191350672248958685950131756429800723278651606916976215922907971045714570593961788922993509517853758202223290600867459577746499993105866959543095051185657448708859447139209610955090770459863842257330582151437357225585514188989076744659158997406584418006809470160565025395876310463251263308715525565322177372854264007970924005850109764066184326077268070199676963507790250798138339125308556628866188249183169817819430440797366575030346027674834620413570083909553369933358628443927642520787152176774607789574400350821684270190644993270567533538602526603945992367781173459921610044810066788121294673626418660151038869810898304153656974062929418042685580586973719991723497469008667673213059184674811809970576942774173424542193765606473544835541378480142113356922720037529473549738321713039313239094479967073940487759793658679186398348239622308084600745754064513809608028038682779196745617529798553169416394453294803860317780537944359172889311680676986550298669497717024291592350518862395651342942460483284178345338095445358136503683448348929118227515419998633851854351110736123427304770632664038793651508415951162568323067305892342690979572387887032352771914232110915415151580978478587183338164971866076771321958882883658699163290316562009491699367658139998512676989512704777296097246311257161564272376550771771132207341063939977191092691503680518837413061556204335614606187917571137757428850903884460946966131584775454193208785938191502807115478596005971222465555361134731570680184561578582757082265259422231730654646232247082968651724464303818479115059472250849885678225850368003 79221136326288413549090453617582214988603149380032775393045753873679347103737428810698791647263113706575282689198477135930652137291317188670030006057926509831856472550143054466006425134587034426949120010210832597783143689081004098970652114673282224426184172485773967049733965817226715156969648131835381010189470025770375559444559659305270898952170617343578663720139463438305206193729450577009951868047317341521679722886752217921827822705466305632297648679105292595306982225729633137305184703173136534319068330149229142960259210328722455601450057473003629441834416962669954405564521304502500726298911194393554191501157954017925309977598836623748100506311537547090223313424323313673085311409323919977212070953990949404412305207140907616619412378270976434206887105501661848469182736298770557698748104969475842500166345456724876246803841548685455561851856586967869889986216391448174596518073583228454703935275996041071738034755239225816281721293011288588359444337681021846829274952700086230836341401062887321604178406708278357480439226036171803414304571700770050264769130291420603534822495795966981715612394351588510056912232508637273573895372779156159436797233748213294951636931736322625278881149941049169682180025310119656903852664689348405476728233436921288688205034751242856813863451202798101231235894933014025474654357904163264189792879110990531247061528782494741231885291482973616690359904394443018958369073484128300703937149692838128916254439952768266768999800895221352172804608885628145520829329108509888656265795056847497582709463200002373315731960683089450281141672128908771066872542843950397795050900482861371828770525181267955544208230938560999841196913163882946371552828126583680248944964520944418180558701521838650855170095150234372062727397690674991347946365752214498420657007149585319909260780872426315558079608099072865828174703417406185318728278145026184310672633645641700732291542811057990742838365066341014265183949971790930431087121056345347741501667746148234688653065189269356885872908647581204650438736957716528711548574555583977239301969823515430537595181395319473570033411789209713074292228145962019286962544117035974563318921268241513986555088394502711032433789248734183877010959345104750102614262227563661010217640141350231316347211768763385670337883433049195056061300162041862964241528184097908283230852906666992480893473206747006312106694438401261591124362380788902882710265313013071263115504159140550179707220633782158597940373880726872858838789886163551228708805088540541574505134133745949431125107024728689987177439066224173647204385151471810845156172459609697201263898819372465925856032821983943945509201296896112993390414319772317613998628115011584901662481020736975231857679558573639533120123760882987807897148264001476729480741158503008405824181375825684426593602078107066384305742314153383784825815001170364503279303283157714730965700730790958163526085614077255893030881612578737162635171062435305862363661501175783671862584712802832632731639923317926092501167046294294878922434436385815597766578254085927198853219424480746368612964091254086956730350365974846418411767133289280026522101904776721397535481072023153960396155426365282526318432948840966649466716318812335304612541684202901596339076117983534399558629308180937552570931412127563964839611720473046765641026358839977096301838517860717992220124429055320994261412222457829626748188314831526678529121257451724121669436757611557692716596947663821034873517375372433749628434475153359120061495211777091719559441963916844642691242108239222713715540944215042751815205832903182816602051553000809853471087600226541940973229542173962641860015572714026730877762563780111880467244618055586935195897209646109126685288690235443479134420307287200865787784854857681194140932834097813623138157320433948668365280904196167520730495552269155400544459597418276177569668057444229387270850059959177577695113400939572251098823419194625556857107173746511343007800181920881221537624681494893301655822089723344553388000429323171176866004751029713971505534118999127107434111180853160547174861752751626348577776330731649967976997705926985766161797485058129327581956292771787829660210103007587578438303364646280346294247633981629844834860981910926589933525586410278385574288166108654586815838726812632990143066979317344762104354343375257570333883689617990419862704229988727473561686512974943917017701629021694931065627383970151448161079270422835544949285326099262830853904796892448341901343021226214704238492700377380756779821477303617108015181033663888382907694701687086758887917099855028808021759693299993928761037883200478548527383654940830627162960534839519753768771304564445702228660676511638525909100219792667017787855759149034626623398581454820469088953474304671180584117170375107299218857538863644099680063025446314779087962590928803576169825639877210091913953351078907222584306551857008399547716236951520432306368855405563331758063509346439969963192969308936226062923426688246041671272845075445462096707328610949341325449158353742604022908568946203933963643988238016251082863396042138900397422551647696827175988389556639458939949446524753736368453580244135105014317368938795421424241169688445192369547807720902472510058532210500190676908416490365999594117212594539752865691344940629371386945400149172429767490208830567907361799732482813964175917940399926984637762837734833459842745195607883737248217715147010664746624865860107174027680587247982043006696208521522681495053640549260909058244066831466386395550275703967451187984628361840304549620598007584604056652075292109056084955460757631045962710468974190271314358635494727254653928324003353839691189913153372830283101267409306943828090830937214893815925580078330686328742776609556460072981273554977224301651716046982335341896599200489741066102393484018972841466743047289295775671416546171942449273730018102329884754306147198475343597045689433842671468209541017943478180739831881650778966557553896529865161244407229829547727716931459459359559840553017703654746156616071691286614296466768069668800344909496623755249308151433068017415932042402097203261108808555885215825105468494713684598721648229183118676788358693974111182614492214872927357569277835129060640219341798931965723310239741977694394948416720292490078649040773942984422921245511852420706674819914354346020104887798142515274317061947997836595134419034230582330000240717127925526964112060319439249076892237808670839725453914016230218699443944340117528267723797972780319883977386476469029456738893211705543189528568137121573530047359055999267493785987462058075025437911796049705063581773663851013087176643772751648150048981936401280117985710232762186707399038083284214490009351252797025675234031663328726764953673595105495179812315052867907929540377789168697586451635338020604541532555456767223921372800748040195290633117401248117419768580554561920679552566002835202485597492704090494964420701053820178654505444932328959627731270218760735536157010176515686945610256645425466090751077063124240264202269417785796090050755625809976411130855080982514771006405019239084453063860469309363801560732448786594182631965426855620770324661738005715385915570566785767487246135064276153153759997114083896415651122260662526196811934588460728906851527212560414251230489996405218070314736073129676329566820684536684171651336809291777117985968335713633891342587678051190608132314213884936083558677694435789223952611566992819476705878074764002787217694166299949376281231412882322206987374652542436733768892535513131102546959338123452241057528223073307768102485716978811877380836416402793916906204056848362602583858587799671063183493736976342561580071402353708559999242811554741824392329109504518229810589936161848694495394989078505170054301833167574488999685417558644273661508773537637981961957984792817571894810151022150547618198149075642735541126296201993828633364656909410149851951595803219323557352758303156050734384212094939255739820941934884266839134997303995322823215069858545696315120342019702518376737457847075422833609547002365123843075643015383498457754484535198820719152172552391062084109456195267364880915037694355867535475716959456974814296043410930981650961631016607387504592652367302782535421937637661372747413198635813871372955291153837003764892214570085570425957184949391279047951885927105994402548962365475639942412116192038687450221895241768677287554938141140104080214294382146803429298709644350336820810077286914588926227332794609803525379770309789366482715491677332422658938068884123176801629354440421212341249014134107326180610680159589007947653882219813134645968624107250575125766006962591815762470229495361601560447159368208493962780049186984228166796792953581542749324663701473984707525536374661479614593173052043467258730505397958757517048679043709555117136847520835937727846034818459509505968569561640501633538002951685677658453700780995472650097844105771121176542567666472915935659895363457036650495500315381213781656630651058193300564850194107824559354050907613263433447134245936110081294087980183901841868569834102951605113985102702574503134563661489803117882501774544796411708510598634828765358263065954367069982829061211021319154234231505020565550265511430978433260352023923242725444468300700379120792896552063867819454509409847360220160225898163469405630937816664742083227109521241191459649627059244503802064886747666586992067262537932482591511828983160758903941627135177441671297217952186909720765757172069021248609888042204884148250442720829914829566064531716170835027008348907733533199583767922956828037492979711527925747153139364500573829531580750159815842766777948133435121844659456337848260159990186320354013431173770018894243132189838566288123058659669603088143868118546664490074354240051579825260190932977319065953785372139716567573294527268103825314263684763355326490530706394742429719766894118537850347739213350481304400991206260374884728430342569941156073036720381921215037764474384167946687650854838413496688263808658128622126405042347278636920072686075794168093150348990814812843596864619140305297198950566391285496038929258759391060652097864480694083354601317794438332337379458327425272558604296034920828942395797704350760545713242712650295620720480266695027666991950244529279313359307184545911652854607987807652986645496026716947536417215612871365512578375754072529384924508720861219936489809211203818311944253049677116385442579755323008904791994012496568602105634936557602112891222255815968208726460763908935319398537462319222352255330284191400510937420961175564065290566834839984065131575926030604764559525484870734749719528714771458256355741055774645543217420803544635560577601086392076222338719457169263398772048976940974467070861441289928116114822379840108596537462836610078114384265222441942194716220604610140785522209755139397733927411986230276978703634852253352842022242600934585431160196716177947048411252481870275891670108929136226858123842466618635286446211546416170022232310277708477106741642518964712784286913799970144671504373724583892442112497876502732662490966289876004595235484314466115186871841219982663670004329696331736833210973276693373847197155177400173404324040554503800043998543964753167354301398443594022081940824816410044369039158042339692563911582839710484722124067650472244306310825431696389062650108246970517592940351132396721382185326792077105099924715887893343594565171565538863544092477718216102419627260239221503871283929077578430077879552461168013575739019074659261015668694109748101523463971688743384750132252193744487530010432140663448060994862324221352177117091692094628128298303362593459421987497960525231874745909583672472115107069268107174241116087881881019570656894743427112230837464729747697287904400461590825567248163889426860244245125160649191818265856685696552603720649580279665210466735030772562224321647428767632205792907103522857500975846124533794485829388172460541838137807012917830058830599361560898689070941180492898899260714003360024425748810372423730833791663083240112960927403701290646454922124827245129489426572579849373823425089687526885449333112091199298595114972391533749953602866527716710260124896795530978681337873050346765409250024915767233853701372846694845302647660951562615461568624145939053205986352780877785504030782975749829320672131639847922952281937687807201663461521327704240311694177696896118243268002366769685019056410577468389387982304047935418402259740514853027590036741912357709317665544120419882073293232311077044681467068692078887192123162368975908397824952247513326863502917499638855245220253501440282089710886902088110314515119921897082899269502687200926510126785605589389971953891466571940655793341267576712702044221565301601582038054280635622775053891017862578168874712354569122595424188041364748533014273541620996902412317659304369126274940673760282393297296303605167965899360908473162497377625185238410611118623494106245618536249893057276554911179490509343490281569326320305727171387833588485502972865577590967716357968488698688366623916015925132522948757655665068523523398272426656763846601941044889777084329092351207003832111593986978874097826082333661521108604410795481934991712378889677120921380733180630953797228124436925901747310315082957987070479333014629016302597871979321110212016441175718117901992216429519562311775794723637051256769505374760360763420681191684281565703673512787503060410833524367577637189186127532357886671122588818257749537642741987311408806312149471966994444684490304692708403471108110071013861762043913009486567909615925856915111145157587139482174798470731364948860152215731708795013958641768504540907285026130803275489526748381597866585764901884965780165679560003859916511155593093937941342191408690570473464773303722588426369819739204909387442499777940226401837163549251666274278346270313040476274971039622891624000180029613725006476509403364326406391246489782009042296085561666625021390407234492476625340898666542026879772764965458833327273469640863858589506881152715997066880840404844786136002429799197513670678167918505711408986264171415473963739819897153319682352157242436699086438293839144783613290126856940433221400089631527568339999647274484053449187231193586513478553961120261523697898522345257679117226529948644856349013870383469132183523948228011112847641996718199985854240080628919802362640399110051898162724824317818261364212713700489111597445034735841096791394327255793144058953195735979255500681924093541926831189788447649230578028685481620774124541447986887063371215612828737445504126792126668657148857503236683061009031834227894258415429287921589180511143738996435527799620992980171024451696472280596148440944281496867205466579292102064584627624844059750272925405354554066059151128068182475799175855368825868213358066934288301931674983194054960742317651833552973708808910321754754451139528248078310202517126658109239950627632628002403402303204555932481640988841313955305273710453870429885784241368000702185028555886967873716908042084439218126624507204911476259917005635215249592060307682632721210835878975389545065247921116683215404853004476451191273876793271903667197783882101506178542400722613261464260949021726831613791344666040134495620404055624304941339072181639471059170315227776695541598363205861260484056231424090749958981239731737081453567208585884268618602499788210382610334325400796426473236413847772831984197608673332841201259173247859294961176015598951929460166372622829088090000801497334335463239353927254797639365578054600006059482717867423563421255314036396068406314478675478352712443982795286361311889002904552691626255056018425268121312539682167203281653428699071653723463525177392245639845991016504183382083473993161305916283849286134872301037542999811887687202649143002173358503079563577184841475801686644378449504201888996396223893158479338313481123794456129279150259937072231776955299954637140266723136555673580194323296706910304462780156307978980663439064039098269076544395312530798514649195866969063861109982085162066515444568559660996484416103399571168835978913088511815116082595596894530575125805550674817777865638975936876164479865645056484096655637836278193818173398039377107638828279162206955925150280459235849772630256657633274681282914772059201052299510432801433624862697187350046973777249899631826415540356311525488878291953625806964957470535568669124320496258928589841167816633208060264638679100626865894089997332408881024562594843957165427993194923608529530571971351730082665347173688497873232135949326115969708557877795111385096239768109901304666080748515308309480170339942475853221636041635588430654788881088164915277913377115795772316907743107970942011724896340689520876841285668801824515371463219406246454388402271398689380890085308726651337456593985869002828203530676837552433915773299120577136912237198547941591642672954884785546529796460436746805569916011540574600137868989482697479292056237842678162257456307377063735977525637965298099883940251280149234667246584860660586985989625489078557016966119917556659251594349310805996406350698861096294564927361999733806925340993774513734167246521328696778535467729828372738404712243512030585943821792281473636712029502535543983258698641855312414596645503467353059136364487616184999250900929062361191032528702828208912251221020420620183777654588987551037457227388378864059730306966053966974789365259790704673292936289025690003183908057009583543816876579592608306750071162489138499981643853189308534628522832483994227522132577255569356715695537472844311600498583539066255372550122189054262113855482300288494910076316667923763354259397394652975332424638193017896652669114158184252346031063758626118363495661355967904673398680730491401458528379625568086035953965519274241903896046912253816831343566454161687186166107115078556083087356229548262156338941120415722821688736407971114326333225522789412168452698289253352156491066645595689853484574486469485006035988708144292509817107358834163652952256842524678828748643598837306485872336171797109158435841248595351990803644038522372092391822206137329785671262831546666417994370139235553816170137808390952920176152923308586051910605740899645078510835999942823411776601479796423782505991408561964289459772181161505963699285628396311668216677890147515387044588501001445478371861504451157643068350763957331604357060385484254216468306507829300922227851776755739299037066530661497068242253118756369543584880535697331191350672248958685950131756429800723278651606916976215922907971045714570593961788922993509517853758202223290600867459577746499993105866959543095051185657448708859447139209610955090770459863842257330582151437357225585514188989076744659158997406584418006809470160565025395876310463251263308715525565322177372854264007970924005850109764066184326077268070199676963507790250798138339125308556628866188249183169817819430440797366575030346027674834620413570083909553369933358628443927642520787152176774607789574400350821684270190644993270567533538602526603945992367781173459921610044810066788121294673626418660151038869810898304153656974062929418042685580586973719991723497469008667673213059184674811809970576942774173424542193765606473544835541378480142113356922720037529473549738321713039313239094479967073940487759793658679186398348239622308084600745754064513809608028038682779196745617529798553169416394453294803860317780537944359172889311680676986550298669497717024291592350518862395651342942460483284178345338095445358136503683448348929118227515419998633851854351110736123427304770632664038793651508415951162568323067305892342690979572387887032352771914232110915415151580978478587183338164971866076771321958882883658699163290316562009491699367658139998512676989512704777296097246311257161564272376550771771132207341063939977191092691503680518837413061556204335614606187917571137757428850903884460946966131584775454193208785938191502807115478596005971222465555361134731570680184561578582757082265259422231730654646232247082968651724464303818479115059472250849885678225850368003 79221136326288413549090453617582214988603149380032775393045753873679347103737428810698791647263113706575282689198477135930652137291317188670030006057926509831856472550143054466006425134587034426949120010210832597783143689081004098970652114673282224426184172485773967049733965817226715156969648131835381010189470025770375559444559659305270898952170617343578663720139463438305206193729450577009951868047317341521679722886752217921827822705466305632297648679105292595306982225729633137305184703173136534319068330149229142960259210328722455601450057473003629441834416962669954405564521304502500726298911194393554191501157954017925309977598836623748100506311537547090223313424323313673085311409323919977212070953990949404412305207140907616619412378270976434206887105501661848469182736298770557698748104969475842500166345456724876246803841548685455561851856586967869889986216391448174596518073583228454703935275996041071738034755239225816281721293011288588359444337681021846829274952700086230836341401062887321604178406708278357480439226036171803414304571700770050264769130291420603534822495795966981715612394351588510056912232508637273573895372779156159436797233748213294951636931736322625278881149941049169682180025310119656903852664689348405476728233436921288688205034751242856813863451202798101231235894933014025474654357904163264189792879110990531247061528782494741231885291482973616690359904394443018958369073484128300703937149692838128916254439952768266768999800895221352172804608885628145520829329108509888656265795056847497582709463200002373315731960683089450281141672128908771066872542843950397795050900482861371828770525181267955544208230938560999841196913163882946371552828126583680248944964520944418180558701521838650855170095150234372062727397690674991347946365752214498420657007149585319909260780872426315558079608099072865828174703417406185318728278145026184310672633645641700732291542811057990742838365066341014265183949971790930431087121056345347741501667746148234688653065189269356885872908647581204650438736957716528711548574555583977239301969823515430537595181395319473570033411789209713074292228145962019286962544117035974563318921268241513986555088394502711032433789248734183877010959345104750102614262227563661010217640141350231316347211768763385670337883433049195056061300162041862964241528184097908283230852906666992480893473206747006312106694438401261591124362380788902882710265313013071263115504159140550179707220633782158597940373880726872858838789886163551228708805088540541574505134133745949431125107024728689987177439066224173647204385151471810845156172459609697201263898819372465925856032821983943945509201296896112993390414319772317613998628115011584901662481020736975231857679558573639533120123760882987807897148264001476729480741158503008405824181375825684426593602078107066384305742314153383784825815001170364503279303283157714730965700730790958163526085614077255893030881612578737162635171062435305862363661501175783671862584712802832632731639923317926092501167046294294878922434436385815597766578254085927198853219424480746368612964091254086956730350365974846418411767133289280026522101904776721397535481072023153960396155426365282526318432948840966649466716318812335304612541684202901596339076117983534399558629308180937552570931412127563964839611720473046765641026358839977096301838517860717992220124429055320994261412222457829626748188314831526678529121257451724121669436757611557692716596947663821034873517375372433749628434475153359120061495211777091719559441963916844642691242108239222713715540944215042751815205832903182816602051553000809853471087600226541940973229542173962641860015572714026730877762563780111880467244618055586935195897209646109126685288690235443479134420307287200865787784854857681194140932834097813623138157320433948668365280904196167520730495552269155400544459597418276177569668057444229387270850059959177577695113400939572251098823419194625556857107173746511343007800181920881221537624681494893301655822089723344553388000429323171176866004751029713971505534118999127107434111180853160547174861752751626348577776330731649967976997705926985766161797485058129327581956292771787829660210103007587578438303364646280346294247633981629844834860981910926589933525586410278385574288166108654586815838726812632990143066979317344762104354343375257570333883689617990419862704229988727473561686512974943917017701629021694931065627383970151448161079270422835544949285326099262830853904796892448341901343021226214704238492700377380756779821477303617108015181033663888382907694701687086758887917099855028808021759693299993928761037883200478548527383654940830627162960534839519753768771304564445702228660676511638525909100219792667017787855759149034626623398581454820469088953474304671180584117170375107299218857538863644099680063025446314779087962590928803576169825639877210091913953351078907222584306551857008399547716236951520432306368855405563331758063509346439969963192969308936226062923426688246041671272845075445462096707328610949341325449158353742604022908568946203933963643988238016251082863396042138900397422551647696827175988389556639458939949446524753736368453580244135105014317368938795421424241169688445192369547807720902472510058532210500190676908416490365999594117212594539752865691344940629371386945400149172429767490208830567907361799732482813964175917940399926984637762837734833459842745195607883737248217715147010664746624865860107174027680587247982043006696208521522681495053640549260909058244066831466386395550275703967451187984628361840304549620598007584604056652075292109056084955460757631045962710468974190271314358635494727254653928324003353839691189913153372830283101267409306943828090830937214893815925580078330686328742776609556460072981273554977224301651716046982335341896599200489741066102393484018972841466743047289295775671416546171942449273730018102329884754306147198475343597045689433842671468209541017943478180739831881650778966557553896529865161244407229829547727716931459459359559840553017703654746156616071691286614296466768069668800344909496623755249308151433068017415932042402097203261108808555885215825105468494713684598721648229183118676788358693974111182614492214872927357569277835129060640219341798931965723310239741977694394948416720292490078649040773942984422921245511852420706674819914354346020104887798142515274317061947997836595134419034230582330000240717127925526964112060319439249076892237808670839725453914016230218699443944340117528267723797972780319883977386476469029456738893211705543189528568137121573530047359055999267493785987462058075025437911796049705063581773663851013087176643772751648150048981936401280117985710232762186707399038083284214490009351252797025675234031663328726764953673595105495179812315052867907929540377789168697586451635338020604541532555456767223921372800748040195290633117401248117419768580554561920679552566002835202485597492704090494964420701053820178654505444932328959627731270218760735536157010176515686945610256645425466090751077063124240264202269417785796090050755625809976411130855080982514771006405019239084453063860469309363801560732448786594182631965426855620770324661738005715385915570566785767487246135064276153153759997114083896415651122260662526196811934588460728906851527212560414251230489996405218070314736073129676329566820684536684171651336809291777117985968335713633891342587678051190608132314213884936083558677694435789223952611566992819476705878074764002787217694166299949376281231412882322206987374652542436733768892535513131102546959338123452241057528223073307768102485716978811877380836416402793916906204056848362602583858587799671063183493736976342561580071402353708559999242811554741824392329109504518229810589936161848694495394989078505170054301833167574488999685417558644273661508773537637981961957984792817571894810151022150547618198149075642735541126296201993828633364656909410149851951595803219323557352758303156050734384212094939255739820941934884266839134997303995322823215069858545696315120342019702518376737457847075422833609547002365123843075643015383498457754484535198820719152172552391062084109456195267364880915037694355867535475716959456974814296043410930981650961631016607387504592652367302782535421937637661372747413198635813871372955291153837003764892214570085570425957184949391279047951885927105994402548962365475639942412116192038687450221895241768677287554938141140104080214294382146803429298709644350336820810077286914588926227332794609803525379770309789366482715491677332422658938068884123176801629354440421212341249014134107326180610680159589007947653882219813134645968624107250575125766006962591815762470229495361601560447159368208493962780049186984228166796792953581542749324663701473984707525536374661479614593173052043467258730505397958757517048679043709555117136847520835937727846034818459509505968569561640501633538002951685677658453700780995472650097844105771121176542567666472915935659895363457036650495500315381213781656630651058193300564850194107824559354050907613263433447134245936110081294087980183901841868569834102951605113985102702574503134563661489803117882501774544796411708510598634828765358263065954367069982829061211021319154234231505020565550265511430978433260352023923242725444468300700379120792896552063867819454509409847360220160225898163469405630937816664742083227109521241191459649627059244503802064886747666586992067262537932482591511828983160758903941627135177441671297217952186909720765757172069021248609888042204884148250442720829914829566064531716170835027008348907733533199583767922956828037492979711527925747153139364500573829531580750159815842766777948133435121844659456337848260159990186320354013431173770018894243132189838566288123058659669603088143868118546664490074354240051579825260190932977319065953785372139716567573294527268103825314263684763355326490530706394742429719766894118537850347739213350481304400991206260374884728430342569941156073036720381921215037764474384167946687650854838413496688263808658128622126405042347278636920072686075794168093150348990814812843596864619140305297198950566391285496038929258759391060652097864480694083354601317794438332337379458327425272558604296034920828942395797704350760545713242712650295620720480266695027666991950244529279313359307184545911652854607987807652986645496026716947536417215612871365512578375754072529384924508720861219936489809211203818311944253049677116385442579755323008904791994012496568602105634936557602112891222255815968208726460763908935319398537462319222352255330284191400510937420961175564065290566834839984065131575926030604764559525484870734749719528714771458256355741055774645543217420803544635560577601086392076222338719457169263398772048976940974467070861441289928116114822379840108596537462836610078114384265222441942194716220604610140785522209755139397733927411986230276978703634852253352842022242600934585431160196716177947048411252481870275891670108929136226858123842466618635286446211546416170022232310277708477106741642518964712784286913799970144671504373724583892442112497876502732662490966289876004595235484314466115186871841219982663670004329696331736833210973276693373847197155177400173404324040554503800043998543964753167354301398443594022081940824816410044369039158042339692563911582839710484722124067650472244306310825431696389062650108246970517592940351132396721382185326792077105099924715887893343594565171565538863544092477718216102419627260239221503871283929077578430077879552461168013575739019074659261015668694109748101523463971688743384750132252193744487530010432140663448060994862324221352177117091692094628128298303362593459421987497960525231874745909583672472115107069268107174241116087881881019570656894743427112230837464729747697287904400461590825567248163889426860244245125160649191818265856685696552603720649580279665210466735030772562224321647428767632205792907103522857500975846124533794485829388172460541838137807012917830058830599361560898689070941180492898899260714003360024425748810372423730833791663083240112960927403701290646454922124827245129489426572579849373823425089687526885449333112091199298595114972391533749953602866527716710260124896795530978681337873050346765409250024915767233853701372846694845302647660951562615461568624145939053205986352780877785504030782975749829320672131639847922952281937687807201663461521327704240311694177696896118243268002366769685019056410577468389387982304047935418402259740514853027590036741912357709317665544120419882073293232311077044681467068692078887192123162368975908397824952247513326863502917499638855245220253501440282089710886902088110314515119921897082899269502687200926510126785605589389971953891466571940655793341267576712702044221565301601582038054280635622775053891017862578168874712354569122595424188041364748533014273541620996902412317659304369126274940673760282393297296303605167965899360908473162497377625185238410611118623494106245618536249893057276554911179490509343490281569326320305727171387833588485502972865577590967716357968488698688366623916015925132522948757655665068523523398272426656763846601941044889777084329092351207003832111593986978874097826082333661521108604410795481934991712378889677120921380733180630953797228124436925901747310315082957987070479333014629016302597871979321110212016441175718117901992216429519562311775794723637051256769505374760360763420681191684281565703673512787503060410833524367577637189186127532357886671122588818257749537642741987311408806312149471966994444684490304692708403471108110071013861762043913009486567909615925856915111145157587139482174798470731364948860152215731708795013958641768504540907285026130803275489526748381597866585764901884965780165679560003859916511155593093937941342191408690570473464773303722588426369819739204909387442499777940226401837163549251666274278346270313040476274971039622891624000180029613725006476509403364326406391246489782009042296085561666625021390407234492476625340898666542026879772764965458833327273469640863858589506881152715997066880840404844786136002429799197513670678167918505711408986264171415473963739819897153319682352157242436699086438293839144783613290126856940433221400089631527568339999647274484053449187231193586513478553961120261523697898522345257679117226529948644856349013870383469132183523948228011112847641996718199985854240080628919802362640399110051898162724824317818261364212713700489111597445034735841096791394327255793144058953195735979255500681924093541926831189788447649230578028685481620774124541447986887063371215612828737445504126792126668657148857503236683061009031834227894258415429287921589180511143738996435527799620992980171024451696472280596148440944281496867205466579292102064584627624844059750272925405354554066059151128068182475799175855368825868213358066934288301931674983194054960742317651833552973708808910321754754451139528248078310202517126658109239950627632628002403402303204555932481640988841313955305273710453870429885784241368000702185028555886967873716908042084439218126624507204911476259917005635215249592060307682632721210835878975389545065247921116683215404853004476451191273876793271903667197783882101506178542400722613261464260949021726831613791344666040134495620404055624304941339072181639471059170315227776695541598363205861260484056231424090749958981239731737081453567208585884268618602499788210382610334325400796426473236413847772831984197608673332841201259173247859294961176015598951929460166372622829088090000801497334335463239353927254797639365578054600006059482717867423563421255314036396068406314478675478352712443982795286361311889002904552691626255056018425268121312539682167203281653428699071653723463525177392245639845991016504183382083473993161305916283849286134872301037542999811887687202649143002173358503079563577184841475801686644378449504201888996396223893158479338313481123794456129279150259937072231776955299954637140266723136555673580194323296706910304462780156307978980663439064039098269076544395312530798514649195866969063861109982085162066515444568559660996484416103399571168835978913088511815116082595596894530575125805550674817777865638975936876164479865645056484096655637836278193818173398039377107638828279162206955925150280459235849772630256657633274681282914772059201052299510432801433624862697187350046973777249899631826415540356311525488878291953625806964957470535568669124320496258928589841167816633208060264638679100626865894089997332408881024562594843957165427993194923608529530571971351730082665347173688497873232135949326115969708557877795111385096239768109901304666080748515308309480170339942475853221636041635588430654788881088164915277913377115795772316907743107970942011724896340689520876841285668801824515371463219406246454388402271398689380890085308726651337456593985869002828203530676837552433915773299120577136912237198547941591642672954884785546529796460436746805569916011540574600137868989482697479292056237842678162257456307377063735977525637965298099883940251280149234667246584860660586985989625489078557016966119917556659251594349310805996406350698861096294564927361999733806925340993774513734167246521328696778535467729828372738404712243512030585943821792281473636712029502535543983258698641855312414596645503467353059136364487616184999250900929062361191032528702828208912251221020420620183777654588987551037457227388378864059730306966053966974789365259790704673292936289025690003183908057009583543816876579592608306750071162489138499981643853189308534628522832483994227522132577255569356715695537472844311600498583539066255372550122189054262113855482300288494910076316667923763354259397394652975332424638193017896652669114158184252346031063758626118363495661355967904673398680730491401458528379625568086035953965519274241903896046912253816831343566454161687186166107115078556083087356229548262156338941120415722821688736407971114326333225522789412168452698289253352156491066645595689853484574486469485006035988708144292509817107358834163652952256842524678828748643598837306485872336171797109158435841248595351990803644038522372092391822206137329785671262831546666417994370139235553816170137808390952920176152923308586051910605740899645078510835999942823411776601479796423782505991408561964289459772181161505963699285628396311668216677890147515387044588501001445478371861504451157643068350763957331604357060385484254216468306507829300922227851776755739299037066530661497068242253118756369543584880535697331191350672248958685950131756429800723278651606916976215922907971045714570593961788922993509517853758202223290600867459577746499993105866959543095051185657448708859447139209610955090770459863842257330582151437357225585514188989076744659158997406584418006809470160565025395876310463251263308715525565322177372854264007970924005850109764066184326077268070199676963507790250798138339125308556628866188249183169817819430440797366575030346027674834620413570083909553369933358628443927642520787152176774607789574400350821684270190644993270567533538602526603945992367781173459921610044810066788121294673626418660151038869810898304153656974062929418042685580586973719991723497469008667673213059184674811809970576942774173424542193765606473544835541378480142113356922720037529473549738321713039313239094479967073940487759793658679186398348239622308084600745754064513809608028038682779196745617529798553169416394453294803860317780537944359172889311680676986550298669497717024291592350518862395651342942460483284178345338095445358136503683448348929118227515419998633851854351110736123427304770632664038793651508415951162568323067305892342690979572387887032352771914232110915415151580978478587183338164971866076771321958882883658699163290316562009491699367658139998512676989512704777296097246311257161564272376550771771132207341063939977191092691503680518837413061556204335614606187917571137757428850903884460946966131584775454193208785938191502807115478596005971222465555361134731570680184561578582757082265259422231730654646232247082968651724464303818479115059472250849885678225850368003 79221136326288413549090453617582214988603149380032775393045753873679347103737428810698791647263113706575282689198477135930652137291317188670030006057926509831856472550143054466006425134587034426949120010210832597783143689081004098970652114673282224426184172485773967049733965817226715156969648131835381010189470025770375559444559659305270898952170617343578663720139463438305206193729450577009951868047317341521679722886752217921827822705466305632297648679105292595306982225729633137305184703173136534319068330149229142960259210328722455601450057473003629441834416962669954405564521304502500726298911194393554191501157954017925309977598836623748100506311537547090223313424323313673085311409323919977212070953990949404412305207140907616619412378270976434206887105501661848469182736298770557698748104969475842500166345456724876246803841548685455561851856586967869889986216391448174596518073583228454703935275996041071738034755239225816281721293011288588359444337681021846829274952700086230836341401062887321604178406708278357480439226036171803414304571700770050264769130291420603534822495795966981715612394351588510056912232508637273573895372779156159436797233748213294951636931736322625278881149941049169682180025310119656903852664689348405476728233436921288688205034751242856813863451202798101231235894933014025474654357904163264189792879110990531247061528782494741231885291482973616690359904394443018958369073484128300703937149692838128916254439952768266768999800895221352172804608885628145520829329108509888656265795056847497582709463200002373315731960683089450281141672128908771066872542843950397795050900482861371828770525181267955544208230938560999841196913163882946371552828126583680248944964520944418180558701521838650855170095150234372062727397690674991347946365752214498420657007149585319909260780872426315558079608099072865828174703417406185318728278145026184310672633645641700732291542811057990742838365066341014265183949971790930431087121056345347741501667746148234688653065189269356885872908647581204650438736957716528711548574555583977239301969823515430537595181395319473570033411789209713074292228145962019286962544117035974563318921268241513986555088394502711032433789248734183877010959345104750102614262227563661010217640141350231316347211768763385670337883433049195056061300162041862964241528184097908283230852906666992480893473206747006312106694438401261591124362380788902882710265313013071263115504159140550179707220633782158597940373880726872858838789886163551228708805088540541574505134133745949431125107024728689987177439066224173647204385151471810845156172459609697201263898819372465925856032821983943945509201296896112993390414319772317613998628115011584901662481020736975231857679558573639533120123760882987807897148264001476729480741158503008405824181375825684426593602078107066384305742314153383784825815001170364503279303283157714730965700730790958163526085614077255893030881612578737162635171062435305862363661501175783671862584712802832632731639923317926092501167046294294878922434436385815597766578254085927198853219424480746368612964091254086956730350365974846418411767133289280026522101904776721397535481072023153960396155426365282526318432948840966649466716318812335304612541684202901596339076117983534399558629308180937552570931412127563964839611720473046765641026358839977096301838517860717992220124429055320994261412222457829626748188314831526678529121257451724121669436757611557692716596947663821034873517375372433749628434475153359120061495211777091719559441963916844642691242108239222713715540944215042751815205832903182816602051553000809853471087600226541940973229542173962641860015572714026730877762563780111880467244618055586935195897209646109126685288690235443479134420307287200865787784854857681194140932834097813623138157320433948668365280904196167520730495552269155400544459597418276177569668057444229387270850059959177577695113400939572251098823419194625556857107173746511343007800181920881221537624681494893301655822089723344553388000429323171176866004751029713971505534118999127107434111180853160547174861752751626348577776330731649967976997705926985766161797485058129327581956292771787829660210103007587578438303364646280346294247633981629844834860981910926589933525586410278385574288166108654586815838726812632990143066979317344762104354343375257570333883689617990419862704229988727473561686512974943917017701629021694931065627383970151448161079270422835544949285326099262830853904796892448341901343021226214704238492700377380756779821477303617108015181033663888382907694701687086758887917099855028808021759693299993928761037883200478548527383654940830627162960534839519753768771304564445702228660676511638525909100219792667017787855759149034626623398581454820469088953474304671180584117170375107299218857538863644099680063025446314779087962590928803576169825639877210091913953351078907222584306551857008399547716236951520432306368855405563331758063509346439969963192969308936226062923426688246041671272845075445462096707328610949341325449158353742604022908568946203933963643988238016251082863396042138900397422551647696827175988389556639458939949446524753736368453580244135105014317368938795421424241169688445192369547807720902472510058532210500190676908416490365999594117212594539752865691344940629371386945400149172429767490208830567907361799732482813964175917940399926984637762837734833459842745195607883737248217715147010664746624865860107174027680587247982043006696208521522681495053640549260909058244066831466386395550275703967451187984628361840304549620598007584604056652075292109056084955460757631045962710468974190271314358635494727254653928324003353839691189913153372830283101267409306943828090830937214893815925580078330686328742776609556460072981273554977224301651716046982335341896599200489741066102393484018972841466743047289295775671416546171942449273730018102329884754306147198475343597045689433842671468209541017943478180739831881650778966557553896529865161244407229829547727716931459459359559840553017703654746156616071691286614296466768069668800344909496623755249308151433068017415932042402097203261108808555885215825105468494713684598721648229183118676788358693974111182614492214872927357569277835129060640219341798931965723310239741977694394948416720292490078649040773942984422921245511852420706674819914354346020104887798142515274317061947997836595134419034230582330000240717127925526964112060319439249076892237808670839725453914016230218699443944340117528267723797972780319883977386476469029456738893211705543189528568137121573530047359055999267493785987462058075025437911796049705063581773663851013087176643772751648150048981936401280117985710232762186707399038083284214490009351252797025675234031663328726764953673595105495179812315052867907929540377789168697586451635338020604541532555456767223921372800748040195290633117401248117419768580554561920679552566002835202485597492704090494964420701053820178654505444932328959627731270218760735536157010176515686945610256645425466090751077063124240264202269417785796090050755625809976411130855080982514771006405019239084453063860469309363801560732448786594182631965426855620770324661738005715385915570566785767487246135064276153153759997114083896415651122260662526196811934588460728906851527212560414251230489996405218070314736073129676329566820684536684171651336809291777117985968335713633891342587678051190608132314213884936083558677694435789223952611566992819476705878074764002787217694166299949376281231412882322206987374652542436733768892535513131102546959338123452241057528223073307768102485716978811877380836416402793916906204056848362602583858587799671063183493736976342561580071402353708559999242811554741824392329109504518229810589936161848694495394989078505170054301833167574488999685417558644273661508773537637981961957984792817571894810151022150547618198149075642735541126296201993828633364656909410149851951595803219323557352758303156050734384212094939255739820941934884266839134997303995322823215069858545696315120342019702518376737457847075422833609547002365123843075643015383498457754484535198820719152172552391062084109456195267364880915037694355867535475716959456974814296043410930981650961631016607387504592652367302782535421937637661372747413198635813871372955291153837003764892214570085570425957184949391279047951885927105994402548962365475639942412116192038687450221895241768677287554938141140104080214294382146803429298709644350336820810077286914588926227332794609803525379770309789366482715491677332422658938068884123176801629354440421212341249014134107326180610680159589007947653882219813134645968624107250575125766006962591815762470229495361601560447159368208493962780049186984228166796792953581542749324663701473984707525536374661479614593173052043467258730505397958757517048679043709555117136847520835937727846034818459509505968569561640501633538002951685677658453700780995472650097844105771121176542567666472915935659895363457036650495500315381213781656630651058193300564850194107824559354050907613263433447134245936110081294087980183901841868569834102951605113985102702574503134563661489803117882501774544796411708510598634828765358263065954367069982829061211021319154234231505020565550265511430978433260352023923242725444468300700379120792896552063867819454509409847360220160225898163469405630937816664742083227109521241191459649627059244503802064886747666586992067262537932482591511828983160758903941627135177441671297217952186909720765757172069021248609888042204884148250442720829914829566064531716170835027008348907733533199583767922956828037492979711527925747153139364500573829531580750159815842766777948133435121844659456337848260159990186320354013431173770018894243132189838566288123058659669603088143868118546664490074354240051579825260190932977319065953785372139716567573294527268103825314263684763355326490530706394742429719766894118537850347739213350481304400991206260374884728430342569941156073036720381921215037764474384167946687650854838413496688263808658128622126405042347278636920072686075794168093150348990814812843596864619140305297198950566391285496038929258759391060652097864480694083354601317794438332337379458327425272558604296034920828942395797704350760545713242712650295620720480266695027666991950244529279313359307184545911652854607987807652986645496026716947536417215612871365512578375754072529384924508720861219936489809211203818311944253049677116385442579755323008904791994012496568602105634936557602112891222255815968208726460763908935319398537462319222352255330284191400510937420961175564065290566834839984065131575926030604764559525484870734749719528714771458256355741055774645543217420803544635560577601086392076222338719457169263398772048976940974467070861441289928116114822379840108596537462836610078114384265222441942194716220604610140785522209755139397733927411986230276978703634852253352842022242600934585431160196716177947048411252481870275891670108929136226858123842466618635286446211546416170022232310277708477106741642518964712784286913799970144671504373724583892442112497876502732662490966289876004595235484314466115186871841219982663670004329696331736833210973276693373847197155177400173404324040554503800043998543964753167354301398443594022081940824816410044369039158042339692563911582839710484722124067650472244306310825431696389062650108246970517592940351132396721382185326792077105099924715887893343594565171565538863544092477718216102419627260239221503871283929077578430077879552461168013575739019074659261015668694109748101523463971688743384750132252193744487530010432140663448060994862324221352177117091692094628128298303362593459421987497960525231874745909583672472115107069268107174241116087881881019570656894743427112230837464729747697287904400461590825567248163889426860244245125160649191818265856685696552603720649580279665210466735030772562224321647428767632205792907103522857500975846124533794485829388172460541838137807012917830058830599361560898689070941180492898899260714003360024425748810372423730833791663083240112960927403701290646454922124827245129489426572579849373823425089687526885449333112091199298595114972391533749953602866527716710260124896795530978681337873050346765409250024915767233853701372846694845302647660951562615461568624145939053205986352780877785504030782975749829320672131639847922952281937687807201663461521327704240311694177696896118243268002366769685019056410577468389387982304047935418402259740514853027590036741912357709317665544120419882073293232311077044681467068692078887192123162368975908397824952247513326863502917499638855245220253501440282089710886902088110314515119921897082899269502687200926510126785605589389971953891466571940655793341267576712702044221565301601582038054280635622775053891017862578168874712354569122595424188041364748533014273541620996902412317659304369126274940673760282393297296303605167965899360908473162497377625185238410611118623494106245618536249893057276554911179490509343490281569326320305727171387833588485502972865577590967716357968488698688366623916015925132522948757655665068523523398272426656763846601941044889777084329092351207003832111593986978874097826082333661521108604410795481934991712378889677120921380733180630953797228124436925901747310315082957987070479333014629016302597871979321110212016441175718117901992216429519562311775794723637051256769505374760360763420681191684281565703673512787503060410833524367577637189186127532357886671122588818257749537642741987311408806312149471966994444684490304692708403471108110071013861762043913009486567909615925856915111145157587139482174798470731364948860152215731708795013958641768504540907285026130803275489526748381597866585764901884965780165679560003859916511155593093937941342191408690570473464773303722588426369819739204909387442499777940226401837163549251666274278346270313040476274971039622891624000180029613725006476509403364326406391246489782009042296085561666625021390407234492476625340898666542026879772764965458833327273469640863858589506881152715997066880840404844786136002429799197513670678167918505711408986264171415473963739819897153319682352157242436699086438293839144783613290126856940433221400089631527568339999647274484053449187231193586513478553961120261523697898522345257679117226529948644856349013870383469132183523948228011112847641996718199985854240080628919802362640399110051898162724824317818261364212713700489111597445034735841096791394327255793144058953195735979255500681924093541926831189788447649230578028685481620774124541447986887063371215612828737445504126792126668657148857503236683061009031834227894258415429287921589180511143738996435527799620992980171024451696472280596148440944281496867205466579292102064584627624844059750272925405354554066059151128068182475799175855368825868213358066934288301931674983194054960742317651833552973708808910321754754451139528248078310202517126658109239950627632628002403402303204555932481640988841313955305273710453870429885784241368000702185028555886967873716908042084439218126624507204911476259917005635215249592060307682632721210835878975389545065247921116683215404853004476451191273876793271903667197783882101506178542400722613261464260949021726831613791344666040134495620404055624304941339072181639471059170315227776695541598363205861260484056231424090749958981239731737081453567208585884268618602499788210382610334325400796426473236413847772831984197608673332841201259173247859294961176015598951929460166372622829088090000801497334335463239353927254797639365578054600006059482717867423563421255314036396068406314478675478352712443982795286361311889002904552691626255056018425268121312539682167203281653428699071653723463525177392245639845991016504183382083473993161305916283849286134872301037542999811887687202649143002173358503079563577184841475801686644378449504201888996396223893158479338313481123794456129279150259937072231776955299954637140266723136555673580194323296706910304462780156307978980663439064039098269076544395312530798514649195866969063861109982085162066515444568559660996484416103399571168835978913088511815116082595596894530575125805550674817777865638975936876164479865645056484096655637836278193818173398039377107638828279162206955925150280459235849772630256657633274681282914772059201052299510432801433624862697187350046973777249899631826415540356311525488878291953625806964957470535568669124320496258928589841167816633208060264638679100626865894089997332408881024562594843957165427993194923608529530571971351730082665347173688497873232135949326115969708557877795111385096239768109901304666080748515308309480170339942475853221636041635588430654788881088164915277913377115795772316907743107970942011724896340689520876841285668801824515371463219406246454388402271398689380890085308726651337456593985869002828203530676837552433915773299120577136912237198547941591642672954884785546529796460436746805569916011540574600137868989482697479292056237842678162257456307377063735977525637965298099883940251280149234667246584860660586985989625489078557016966119917556659251594349310805996406350698861096294564927361999733806925340993774513734167246521328696778535467729828372738404712243512030585943821792281473636712029502535543983258698641855312414596645503467353059136364487616184999250900929062361191032528702828208912251221020420620183777654588987551037457227388378864059730306966053966974789365259790704673292936289025690003183908057009583543816876579592608306750071162489138499981643853189308534628522832483994227522132577255569356715695537472844311600498583539066255372550122189054262113855482300288494910076316667923763354259397394652975332424638193017896652669114158184252346031063758626118363495661355967904673398680730491401458528379625568086035953965519274241903896046912253816831343566454161687186166107115078556083087356229548262156338941120415722821688736407971114326333225522789412168452698289253352156491066645595689853484574486469485006035988708144292509817107358834163652952256842524678828748643598837306485872336171797109158435841248595351990803644038522372092391822206137329785671262831546666417994370139235553816170137808390952920176152923308586051910605740899645078510835999942823411776601479796423782505991408561964289459772181161505963699285628396311668216677890147515387044588501001445478371861504451157643068350763957331604357060385484254216468306507829300922227851776755739299037066530661497068242253118756369543584880535697331191350672248958685950131756429800723278651606916976215922907971045714570593961788922993509517853758202223290600867459577746499993105866959543095051185657448708859447139209610955090770459863842257330582151437357225585514188989076744659158997406584418006809470160565025395876310463251263308715525565322177372854264007970924005850109764066184326077268070199676963507790250798138339125308556628866188249183169817819430440797366575030346027674834620413570083909553369933358628443927642520787152176774607789574400350821684270190644993270567533538602526603945992367781173459921610044810066788121294673626418660151038869810898304153656974062929418042685580586973719991723497469008667673213059184674811809970576942774173424542193765606473544835541378480142113356922720037529473549738321713039313239094479967073940487759793658679186398348239622308084600745754064513809608028038682779196745617529798553169416394453294803860317780537944359172889311680676986550298669497717024291592350518862395651342942460483284178345338095445358136503683448348929118227515419998633851854351110736123427304770632664038793651508415951162568323067305892342690979572387887032352771914232110915415151580978478587183338164971866076771321958882883658699163290316562009491699367658139998512676989512704777296097246311257161564272376550771771132207341063939977191092691503680518837413061556204335614606187917571137757428850903884460946966131584775454193208785938191502807115478596005971222465555361134731570680184561578582757082265259422231730654646232247082968651724464303818479115059472250849885678225850368003 | | 4 79221136326288413549090453617582214988603149380032775393045753873679347103737428810698791647263113706575282689198477135930652137291317188670030006057926509831856472550143054466006425134587034426949120010210832597783143689081004098970652114673282224426184172485773967049733965817226715156969648131835381010189470025770375559444559659305270898952170617343578663720139463438305206193729450577009951868047317341521679722886752217921827822705466305632297648679105292595306982225729633137305184703173136534319068330149229142960259210328722455601450057473003629441834416962669954405564521304502500726298911194393554191501157954017925309977598836623748100506311537547090223313424323313673085311409323919977212070953990949404412305207140907616619412378270976434206887105501661848469182736298770557698748104969475842500166345456724876246803841548685455561851856586967869889986216391448174596518073583228454703935275996041071738034755239225816281721293011288588359444337681021846829274952700086230836341401062887321604178406708278357480439226036171803414304571700770050264769130291420603534822495795966981715612394351588510056912232508637273573895372779156159436797233748213294951636931736322625278881149941049169682180025310119656903852664689348405476728233436921288688205034751242856813863451202798101231235894933014025474654357904163264189792879110990531247061528782494741231885291482973616690359904394443018958369073484128300703937149692838128916254439952768266768999800895221352172804608885628145520829329108509888656265795056847497582709463200002373315731960683089450281141672128908771066872542843950397795050900482861371828770525181267955544208230938560999841196913163882946371552828126583680248944964520944418180558701521838650855170095150234372062727397690674991347946365752214498420657007149585319909260780872426315558079608099072865828174703417406185318728278145026184310672633645641700732291542811057990742838365066341014265183949971790930431087121056345347741501667746148234688653065189269356885872908647581204650438736957716528711548574555583977239301969823515430537595181395319473570033411789209713074292228145962019286962544117035974563318921268241513986555088394502711032433789248734183877010959345104750102614262227563661010217640141350231316347211768763385670337883433049195056061300162041862964241528184097908283230852906666992480893473206747006312106694438401261591124362380788902882710265313013071263115504159140550179707220633782158597940373880726872858838789886163551228708805088540541574505134133745949431125107024728689987177439066224173647204385151471810845156172459609697201263898819372465925856032821983943945509201296896112993390414319772317613998628115011584901662481020736975231857679558573639533120123760882987807897148264001476729480741158503008405824181375825684426593602078107066384305742314153383784825815001170364503279303283157714730965700730790958163526085614077255893030881612578737162635171062435305862363661501175783671862584712802832632731639923317926092501167046294294878922434436385815597766578254085927198853219424480746368612964091254086956730350365974846418411767133289280026522101904776721397535481072023153960396155426365282526318432948840966649466716318812335304612541684202901596339076117983534399558629308180937552570931412127563964839611720473046765641026358839977096301838517860717992220124429055320994261412222457829626748188314831526678529121257451724121669436757611557692716596947663821034873517375372433749628434475153359120061495211777091719559441963916844642691242108239222713715540944215042751815205832903182816602051553000809853471087600226541940973229542173962641860015572714026730877762563780111880467244618055586935195897209646109126685288690235443479134420307287200865787784854857681194140932834097813623138157320433948668365280904196167520730495552269155400544459597418276177569668057444229387270850059959177577695113400939572251098823419194625556857107173746511343007800181920881221537624681494893301655822089723344553388000429323171176866004751029713971505534118999127107434111180853160547174861752751626348577776330731649967976997705926985766161797485058129327581956292771787829660210103007587578438303364646280346294247633981629844834860981910926589933525586410278385574288166108654586815838726812632990143066979317344762104354343375257570333883689617990419862704229988727473561686512974943917017701629021694931065627383970151448161079270422835544949285326099262830853904796892448341901343021226214704238492700377380756779821477303617108015181033663888382907694701687086758887917099855028808021759693299993928761037883200478548527383654940830627162960534839519753768771304564445702228660676511638525909100219792667017787855759149034626623398581454820469088953474304671180584117170375107299218857538863644099680063025446314779087962590928803576169825639877210091913953351078907222584306551857008399547716236951520432306368855405563331758063509346439969963192969308936226062923426688246041671272845075445462096707328610949341325449158353742604022908568946203933963643988238016251082863396042138900397422551647696827175988389556639458939949446524753736368453580244135105014317368938795421424241169688445192369547807720902472510058532210500190676908416490365999594117212594539752865691344940629371386945400149172429767490208830567907361799732482813964175917940399926984637762837734833459842745195607883737248217715147010664746624865860107174027680587247982043006696208521522681495053640549260909058244066831466386395550275703967451187984628361840304549620598007584604056652075292109056084955460757631045962710468974190271314358635494727254653928324003353839691189913153372830283101267409306943828090830937214893815925580078330686328742776609556460072981273554977224301651716046982335341896599200489741066102393484018972841466743047289295775671416546171942449273730018102329884754306147198475343597045689433842671468209541017943478180739831881650778966557553896529865161244407229829547727716931459459359559840553017703654746156616071691286614296466768069668800344909496623755249308151433068017415932042402097203261108808555885215825105468494713684598721648229183118676788358693974111182614492214872927357569277835129060640219341798931965723310239741977694394948416720292490078649040773942984422921245511852420706674819914354346020104887798142515274317061947997836595134419034230582330000240717127925526964112060319439249076892237808670839725453914016230218699443944340117528267723797972780319883977386476469029456738893211705543189528568137121573530047359055999267493785987462058075025437911796049705063581773663851013087176643772751648150048981936401280117985710232762186707399038083284214490009351252797025675234031663328726764953673595105495179812315052867907929540377789168697586451635338020604541532555456767223921372800748040195290633117401248117419768580554561920679552566002835202485597492704090494964420701053820178654505444932328959627731270218760735536157010176515686945610256645425466090751077063124240264202269417785796090050755625809976411130855080982514771006405019239084453063860469309363801560732448786594182631965426855620770324661738005715385915570566785767487246135064276153153759997114083896415651122260662526196811934588460728906851527212560414251230489996405218070314736073129676329566820684536684171651336809291777117985968335713633891342587678051190608132314213884936083558677694435789223952611566992819476705878074764002787217694166299949376281231412882322206987374652542436733768892535513131102546959338123452241057528223073307768102485716978811877380836416402793916906204056848362602583858587799671063183493736976342561580071402353708559999242811554741824392329109504518229810589936161848694495394989078505170054301833167574488999685417558644273661508773537637981961957984792817571894810151022150547618198149075642735541126296201993828633364656909410149851951595803219323557352758303156050734384212094939255739820941934884266839134997303995322823215069858545696315120342019702518376737457847075422833609547002365123843075643015383498457754484535198820719152172552391062084109456195267364880915037694355867535475716959456974814296043410930981650961631016607387504592652367302782535421937637661372747413198635813871372955291153837003764892214570085570425957184949391279047951885927105994402548962365475639942412116192038687450221895241768677287554938141140104080214294382146803429298709644350336820810077286914588926227332794609803525379770309789366482715491677332422658938068884123176801629354440421212341249014134107326180610680159589007947653882219813134645968624107250575125766006962591815762470229495361601560447159368208493962780049186984228166796792953581542749324663701473984707525536374661479614593173052043467258730505397958757517048679043709555117136847520835937727846034818459509505968569561640501633538002951685677658453700780995472650097844105771121176542567666472915935659895363457036650495500315381213781656630651058193300564850194107824559354050907613263433447134245936110081294087980183901841868569834102951605113985102702574503134563661489803117882501774544796411708510598634828765358263065954367069982829061211021319154234231505020565550265511430978433260352023923242725444468300700379120792896552063867819454509409847360220160225898163469405630937816664742083227109521241191459649627059244503802064886747666586992067262537932482591511828983160758903941627135177441671297217952186909720765757172069021248609888042204884148250442720829914829566064531716170835027008348907733533199583767922956828037492979711527925747153139364500573829531580750159815842766777948133435121844659456337848260159990186320354013431173770018894243132189838566288123058659669603088143868118546664490074354240051579825260190932977319065953785372139716567573294527268103825314263684763355326490530706394742429719766894118537850347739213350481304400991206260374884728430342569941156073036720381921215037764474384167946687650854838413496688263808658128622126405042347278636920072686075794168093150348990814812843596864619140305297198950566391285496038929258759391060652097864480694083354601317794438332337379458327425272558604296034920828942395797704350760545713242712650295620720480266695027666991950244529279313359307184545911652854607987807652986645496026716947536417215612871365512578375754072529384924508720861219936489809211203818311944253049677116385442579755323008904791994012496568602105634936557602112891222255815968208726460763908935319398537462319222352255330284191400510937420961175564065290566834839984065131575926030604764559525484870734749719528714771458256355741055774645543217420803544635560577601086392076222338719457169263398772048976940974467070861441289928116114822379840108596537462836610078114384265222441942194716220604610140785522209755139397733927411986230276978703634852253352842022242600934585431160196716177947048411252481870275891670108929136226858123842466618635286446211546416170022232310277708477106741642518964712784286913799970144671504373724583892442112497876502732662490966289876004595235484314466115186871841219982663670004329696331736833210973276693373847197155177400173404324040554503800043998543964753167354301398443594022081940824816410044369039158042339692563911582839710484722124067650472244306310825431696389062650108246970517592940351132396721382185326792077105099924715887893343594565171565538863544092477718216102419627260239221503871283929077578430077879552461168013575739019074659261015668694109748101523463971688743384750132252193744487530010432140663448060994862324221352177117091692094628128298303362593459421987497960525231874745909583672472115107069268107174241116087881881019570656894743427112230837464729747697287904400461590825567248163889426860244245125160649191818265856685696552603720649580279665210466735030772562224321647428767632205792907103522857500975846124533794485829388172460541838137807012917830058830599361560898689070941180492898899260714003360024425748810372423730833791663083240112960927403701290646454922124827245129489426572579849373823425089687526885449333112091199298595114972391533749953602866527716710260124896795530978681337873050346765409250024915767233853701372846694845302647660951562615461568624145939053205986352780877785504030782975749829320672131639847922952281937687807201663461521327704240311694177696896118243268002366769685019056410577468389387982304047935418402259740514853027590036741912357709317665544120419882073293232311077044681467068692078887192123162368975908397824952247513326863502917499638855245220253501440282089710886902088110314515119921897082899269502687200926510126785605589389971953891466571940655793341267576712702044221565301601582038054280635622775053891017862578168874712354569122595424188041364748533014273541620996902412317659304369126274940673760282393297296303605167965899360908473162497377625185238410611118623494106245618536249893057276554911179490509343490281569326320305727171387833588485502972865577590967716357968488698688366623916015925132522948757655665068523523398272426656763846601941044889777084329092351207003832111593986978874097826082333661521108604410795481934991712378889677120921380733180630953797228124436925901747310315082957987070479333014629016302597871979321110212016441175718117901992216429519562311775794723637051256769505374760360763420681191684281565703673512787503060410833524367577637189186127532357886671122588818257749537642741987311408806312149471966994444684490304692708403471108110071013861762043913009486567909615925856915111145157587139482174798470731364948860152215731708795013958641768504540907285026130803275489526748381597866585764901884965780165679560003859916511155593093937941342191408690570473464773303722588426369819739204909387442499777940226401837163549251666274278346270313040476274971039622891624000180029613725006476509403364326406391246489782009042296085561666625021390407234492476625340898666542026879772764965458833327273469640863858589506881152715997066880840404844786136002429799197513670678167918505711408986264171415473963739819897153319682352157242436699086438293839144783613290126856940433221400089631527568339999647274484053449187231193586513478553961120261523697898522345257679117226529948644856349013870383469132183523948228011112847641996718199985854240080628919802362640399110051898162724824317818261364212713700489111597445034735841096791394327255793144058953195735979255500681924093541926831189788447649230578028685481620774124541447986887063371215612828737445504126792126668657148857503236683061009031834227894258415429287921589180511143738996435527799620992980171024451696472280596148440944281496867205466579292102064584627624844059750272925405354554066059151128068182475799175855368825868213358066934288301931674983194054960742317651833552973708808910321754754451139528248078310202517126658109239950627632628002403402303204555932481640988841313955305273710453870429885784241368000702185028555886967873716908042084439218126624507204911476259917005635215249592060307682632721210835878975389545065247921116683215404853004476451191273876793271903667197783882101506178542400722613261464260949021726831613791344666040134495620404055624304941339072181639471059170315227776695541598363205861260484056231424090749958981239731737081453567208585884268618602499788210382610334325400796426473236413847772831984197608673332841201259173247859294961176015598951929460166372622829088090000801497334335463239353927254797639365578054600006059482717867423563421255314036396068406314478675478352712443982795286361311889002904552691626255056018425268121312539682167203281653428699071653723463525177392245639845991016504183382083473993161305916283849286134872301037542999811887687202649143002173358503079563577184841475801686644378449504201888996396223893158479338313481123794456129279150259937072231776955299954637140266723136555673580194323296706910304462780156307978980663439064039098269076544395312530798514649195866969063861109982085162066515444568559660996484416103399571168835978913088511815116082595596894530575125805550674817777865638975936876164479865645056484096655637836278193818173398039377107638828279162206955925150280459235849772630256657633274681282914772059201052299510432801433624862697187350046973777249899631826415540356311525488878291953625806964957470535568669124320496258928589841167816633208060264638679100626865894089997332408881024562594843957165427993194923608529530571971351730082665347173688497873232135949326115969708557877795111385096239768109901304666080748515308309480170339942475853221636041635588430654788881088164915277913377115795772316907743107970942011724896340689520876841285668801824515371463219406246454388402271398689380890085308726651337456593985869002828203530676837552433915773299120577136912237198547941591642672954884785546529796460436746805569916011540574600137868989482697479292056237842678162257456307377063735977525637965298099883940251280149234667246584860660586985989625489078557016966119917556659251594349310805996406350698861096294564927361999733806925340993774513734167246521328696778535467729828372738404712243512030585943821792281473636712029502535543983258698641855312414596645503467353059136364487616184999250900929062361191032528702828208912251221020420620183777654588987551037457227388378864059730306966053966974789365259790704673292936289025690003183908057009583543816876579592608306750071162489138499981643853189308534628522832483994227522132577255569356715695537472844311600498583539066255372550122189054262113855482300288494910076316667923763354259397394652975332424638193017896652669114158184252346031063758626118363495661355967904673398680730491401458528379625568086035953965519274241903896046912253816831343566454161687186166107115078556083087356229548262156338941120415722821688736407971114326333225522789412168452698289253352156491066645595689853484574486469485006035988708144292509817107358834163652952256842524678828748643598837306485872336171797109158435841248595351990803644038522372092391822206137329785671262831546666417994370139235553816170137808390952920176152923308586051910605740899645078510835999942823411776601479796423782505991408561964289459772181161505963699285628396311668216677890147515387044588501001445478371861504451157643068350763957331604357060385484254216468306507829300922227851776755739299037066530661497068242253118756369543584880535697331191350672248958685950131756429800723278651606916976215922907971045714570593961788922993509517853758202223290600867459577746499993105866959543095051185657448708859447139209610955090770459863842257330582151437357225585514188989076744659158997406584418006809470160565025395876310463251263308715525565322177372854264007970924005850109764066184326077268070199676963507790250798138339125308556628866188249183169817819430440797366575030346027674834620413570083909553369933358628443927642520787152176774607789574400350821684270190644993270567533538602526603945992367781173459921610044810066788121294673626418660151038869810898304153656974062929418042685580586973719991723497469008667673213059184674811809970576942774173424542193765606473544835541378480142113356922720037529473549738321713039313239094479967073940487759793658679186398348239622308084600745754064513809608028038682779196745617529798553169416394453294803860317780537944359172889311680676986550298669497717024291592350518862395651342942460483284178345338095445358136503683448348929118227515419998633851854351110736123427304770632664038793651508415951162568323067305892342690979572387887032352771914232110915415151580978478587183338164971866076771321958882883658699163290316562009491699367658139998512676989512704777296097246311257161564272376550771771132207341063939977191092691503680518837413061556204335614606187917571137757428850903884460946966131584775454193208785938191502807115478596005971222465555361134731570680184561578582757082265259422231730654646232247082968651724464303818479115059472250849885678277389975556 79221136326288413549090453617582214988603149380032775393045753873679347103737428810698791647263113706575282689198477135930652137291317188670030006057926509831856472550143054466006425134587034426949120010210832597783143689081004098970652114673282224426184172485773967049733965817226715156969648131835381010189470025770375559444559659305270898952170617343578663720139463438305206193729450577009951868047317341521679722886752217921827822705466305632297648679105292595306982225729633137305184703173136534319068330149229142960259210328722455601450057473003629441834416962669954405564521304502500726298911194393554191501157954017925309977598836623748100506311537547090223313424323313673085311409323919977212070953990949404412305207140907616619412378270976434206887105501661848469182736298770557698748104969475842500166345456724876246803841548685455561851856586967869889986216391448174596518073583228454703935275996041071738034755239225816281721293011288588359444337681021846829274952700086230836341401062887321604178406708278357480439226036171803414304571700770050264769130291420603534822495795966981715612394351588510056912232508637273573895372779156159436797233748213294951636931736322625278881149941049169682180025310119656903852664689348405476728233436921288688205034751242856813863451202798101231235894933014025474654357904163264189792879110990531247061528782494741231885291482973616690359904394443018958369073484128300703937149692838128916254439952768266768999800895221352172804608885628145520829329108509888656265795056847497582709463200002373315731960683089450281141672128908771066872542843950397795050900482861371828770525181267955544208230938560999841196913163882946371552828126583680248944964520944418180558701521838650855170095150234372062727397690674991347946365752214498420657007149585319909260780872426315558079608099072865828174703417406185318728278145026184310672633645641700732291542811057990742838365066341014265183949971790930431087121056345347741501667746148234688653065189269356885872908647581204650438736957716528711548574555583977239301969823515430537595181395319473570033411789209713074292228145962019286962544117035974563318921268241513986555088394502711032433789248734183877010959345104750102614262227563661010217640141350231316347211768763385670337883433049195056061300162041862964241528184097908283230852906666992480893473206747006312106694438401261591124362380788902882710265313013071263115504159140550179707220633782158597940373880726872858838789886163551228708805088540541574505134133745949431125107024728689987177439066224173647204385151471810845156172459609697201263898819372465925856032821983943945509201296896112993390414319772317613998628115011584901662481020736975231857679558573639533120123760882987807897148264001476729480741158503008405824181375825684426593602078107066384305742314153383784825815001170364503279303283157714730965700730790958163526085614077255893030881612578737162635171062435305862363661501175783671862584712802832632731639923317926092501167046294294878922434436385815597766578254085927198853219424480746368612964091254086956730350365974846418411767133289280026522101904776721397535481072023153960396155426365282526318432948840966649466716318812335304612541684202901596339076117983534399558629308180937552570931412127563964839611720473046765641026358839977096301838517860717992220124429055320994261412222457829626748188314831526678529121257451724121669436757611557692716596947663821034873517375372433749628434475153359120061495211777091719559441963916844642691242108239222713715540944215042751815205832903182816602051553000809853471087600226541940973229542173962641860015572714026730877762563780111880467244618055586935195897209646109126685288690235443479134420307287200865787784854857681194140932834097813623138157320433948668365280904196167520730495552269155400544459597418276177569668057444229387270850059959177577695113400939572251098823419194625556857107173746511343007800181920881221537624681494893301655822089723344553388000429323171176866004751029713971505534118999127107434111180853160547174861752751626348577776330731649967976997705926985766161797485058129327581956292771787829660210103007587578438303364646280346294247633981629844834860981910926589933525586410278385574288166108654586815838726812632990143066979317344762104354343375257570333883689617990419862704229988727473561686512974943917017701629021694931065627383970151448161079270422835544949285326099262830853904796892448341901343021226214704238492700377380756779821477303617108015181033663888382907694701687086758887917099855028808021759693299993928761037883200478548527383654940830627162960534839519753768771304564445702228660676511638525909100219792667017787855759149034626623398581454820469088953474304671180584117170375107299218857538863644099680063025446314779087962590928803576169825639877210091913953351078907222584306551857008399547716236951520432306368855405563331758063509346439969963192969308936226062923426688246041671272845075445462096707328610949341325449158353742604022908568946203933963643988238016251082863396042138900397422551647696827175988389556639458939949446524753736368453580244135105014317368938795421424241169688445192369547807720902472510058532210500190676908416490365999594117212594539752865691344940629371386945400149172429767490208830567907361799732482813964175917940399926984637762837734833459842745195607883737248217715147010664746624865860107174027680587247982043006696208521522681495053640549260909058244066831466386395550275703967451187984628361840304549620598007584604056652075292109056084955460757631045962710468974190271314358635494727254653928324003353839691189913153372830283101267409306943828090830937214893815925580078330686328742776609556460072981273554977224301651716046982335341896599200489741066102393484018972841466743047289295775671416546171942449273730018102329884754306147198475343597045689433842671468209541017943478180739831881650778966557553896529865161244407229829547727716931459459359559840553017703654746156616071691286614296466768069668800344909496623755249308151433068017415932042402097203261108808555885215825105468494713684598721648229183118676788358693974111182614492214872927357569277835129060640219341798931965723310239741977694394948416720292490078649040773942984422921245511852420706674819914354346020104887798142515274317061947997836595134419034230582330000240717127925526964112060319439249076892237808670839725453914016230218699443944340117528267723797972780319883977386476469029456738893211705543189528568137121573530047359055999267493785987462058075025437911796049705063581773663851013087176643772751648150048981936401280117985710232762186707399038083284214490009351252797025675234031663328726764953673595105495179812315052867907929540377789168697586451635338020604541532555456767223921372800748040195290633117401248117419768580554561920679552566002835202485597492704090494964420701053820178654505444932328959627731270218760735536157010176515686945610256645425466090751077063124240264202269417785796090050755625809976411130855080982514771006405019239084453063860469309363801560732448786594182631965426855620770324661738005715385915570566785767487246135064276153153759997114083896415651122260662526196811934588460728906851527212560414251230489996405218070314736073129676329566820684536684171651336809291777117985968335713633891342587678051190608132314213884936083558677694435789223952611566992819476705878074764002787217694166299949376281231412882322206987374652542436733768892535513131102546959338123452241057528223073307768102485716978811877380836416402793916906204056848362602583858587799671063183493736976342561580071402353708559999242811554741824392329109504518229810589936161848694495394989078505170054301833167574488999685417558644273661508773537637981961957984792817571894810151022150547618198149075642735541126296201993828633364656909410149851951595803219323557352758303156050734384212094939255739820941934884266839134997303995322823215069858545696315120342019702518376737457847075422833609547002365123843075643015383498457754484535198820719152172552391062084109456195267364880915037694355867535475716959456974814296043410930981650961631016607387504592652367302782535421937637661372747413198635813871372955291153837003764892214570085570425957184949391279047951885927105994402548962365475639942412116192038687450221895241768677287554938141140104080214294382146803429298709644350336820810077286914588926227332794609803525379770309789366482715491677332422658938068884123176801629354440421212341249014134107326180610680159589007947653882219813134645968624107250575125766006962591815762470229495361601560447159368208493962780049186984228166796792953581542749324663701473984707525536374661479614593173052043467258730505397958757517048679043709555117136847520835937727846034818459509505968569561640501633538002951685677658453700780995472650097844105771121176542567666472915935659895363457036650495500315381213781656630651058193300564850194107824559354050907613263433447134245936110081294087980183901841868569834102951605113985102702574503134563661489803117882501774544796411708510598634828765358263065954367069982829061211021319154234231505020565550265511430978433260352023923242725444468300700379120792896552063867819454509409847360220160225898163469405630937816664742083227109521241191459649627059244503802064886747666586992067262537932482591511828983160758903941627135177441671297217952186909720765757172069021248609888042204884148250442720829914829566064531716170835027008348907733533199583767922956828037492979711527925747153139364500573829531580750159815842766777948133435121844659456337848260159990186320354013431173770018894243132189838566288123058659669603088143868118546664490074354240051579825260190932977319065953785372139716567573294527268103825314263684763355326490530706394742429719766894118537850347739213350481304400991206260374884728430342569941156073036720381921215037764474384167946687650854838413496688263808658128622126405042347278636920072686075794168093150348990814812843596864619140305297198950566391285496038929258759391060652097864480694083354601317794438332337379458327425272558604296034920828942395797704350760545713242712650295620720480266695027666991950244529279313359307184545911652854607987807652986645496026716947536417215612871365512578375754072529384924508720861219936489809211203818311944253049677116385442579755323008904791994012496568602105634936557602112891222255815968208726460763908935319398537462319222352255330284191400510937420961175564065290566834839984065131575926030604764559525484870734749719528714771458256355741055774645543217420803544635560577601086392076222338719457169263398772048976940974467070861441289928116114822379840108596537462836610078114384265222441942194716220604610140785522209755139397733927411986230276978703634852253352842022242600934585431160196716177947048411252481870275891670108929136226858123842466618635286446211546416170022232310277708477106741642518964712784286913799970144671504373724583892442112497876502732662490966289876004595235484314466115186871841219982663670004329696331736833210973276693373847197155177400173404324040554503800043998543964753167354301398443594022081940824816410044369039158042339692563911582839710484722124067650472244306310825431696389062650108246970517592940351132396721382185326792077105099924715887893343594565171565538863544092477718216102419627260239221503871283929077578430077879552461168013575739019074659261015668694109748101523463971688743384750132252193744487530010432140663448060994862324221352177117091692094628128298303362593459421987497960525231874745909583672472115107069268107174241116087881881019570656894743427112230837464729747697287904400461590825567248163889426860244245125160649191818265856685696552603720649580279665210466735030772562224321647428767632205792907103522857500975846124533794485829388172460541838137807012917830058830599361560898689070941180492898899260714003360024425748810372423730833791663083240112960927403701290646454922124827245129489426572579849373823425089687526885449333112091199298595114972391533749953602866527716710260124896795530978681337873050346765409250024915767233853701372846694845302647660951562615461568624145939053205986352780877785504030782975749829320672131639847922952281937687807201663461521327704240311694177696896118243268002366769685019056410577468389387982304047935418402259740514853027590036741912357709317665544120419882073293232311077044681467068692078887192123162368975908397824952247513326863502917499638855245220253501440282089710886902088110314515119921897082899269502687200926510126785605589389971953891466571940655793341267576712702044221565301601582038054280635622775053891017862578168874712354569122595424188041364748533014273541620996902412317659304369126274940673760282393297296303605167965899360908473162497377625185238410611118623494106245618536249893057276554911179490509343490281569326320305727171387833588485502972865577590967716357968488698688366623916015925132522948757655665068523523398272426656763846601941044889777084329092351207003832111593986978874097826082333661521108604410795481934991712378889677120921380733180630953797228124436925901747310315082957987070479333014629016302597871979321110212016441175718117901992216429519562311775794723637051256769505374760360763420681191684281565703673512787503060410833524367577637189186127532357886671122588818257749537642741987311408806312149471966994444684490304692708403471108110071013861762043913009486567909615925856915111145157587139482174798470731364948860152215731708795013958641768504540907285026130803275489526748381597866585764901884965780165679560003859916511155593093937941342191408690570473464773303722588426369819739204909387442499777940226401837163549251666274278346270313040476274971039622891624000180029613725006476509403364326406391246489782009042296085561666625021390407234492476625340898666542026879772764965458833327273469640863858589506881152715997066880840404844786136002429799197513670678167918505711408986264171415473963739819897153319682352157242436699086438293839144783613290126856940433221400089631527568339999647274484053449187231193586513478553961120261523697898522345257679117226529948644856349013870383469132183523948228011112847641996718199985854240080628919802362640399110051898162724824317818261364212713700489111597445034735841096791394327255793144058953195735979255500681924093541926831189788447649230578028685481620774124541447986887063371215612828737445504126792126668657148857503236683061009031834227894258415429287921589180511143738996435527799620992980171024451696472280596148440944281496867205466579292102064584627624844059750272925405354554066059151128068182475799175855368825868213358066934288301931674983194054960742317651833552973708808910321754754451139528248078310202517126658109239950627632628002403402303204555932481640988841313955305273710453870429885784241368000702185028555886967873716908042084439218126624507204911476259917005635215249592060307682632721210835878975389545065247921116683215404853004476451191273876793271903667197783882101506178542400722613261464260949021726831613791344666040134495620404055624304941339072181639471059170315227776695541598363205861260484056231424090749958981239731737081453567208585884268618602499788210382610334325400796426473236413847772831984197608673332841201259173247859294961176015598951929460166372622829088090000801497334335463239353927254797639365578054600006059482717867423563421255314036396068406314478675478352712443982795286361311889002904552691626255056018425268121312539682167203281653428699071653723463525177392245639845991016504183382083473993161305916283849286134872301037542999811887687202649143002173358503079563577184841475801686644378449504201888996396223893158479338313481123794456129279150259937072231776955299954637140266723136555673580194323296706910304462780156307978980663439064039098269076544395312530798514649195866969063861109982085162066515444568559660996484416103399571168835978913088511815116082595596894530575125805550674817777865638975936876164479865645056484096655637836278193818173398039377107638828279162206955925150280459235849772630256657633274681282914772059201052299510432801433624862697187350046973777249899631826415540356311525488878291953625806964957470535568669124320496258928589841167816633208060264638679100626865894089997332408881024562594843957165427993194923608529530571971351730082665347173688497873232135949326115969708557877795111385096239768109901304666080748515308309480170339942475853221636041635588430654788881088164915277913377115795772316907743107970942011724896340689520876841285668801824515371463219406246454388402271398689380890085308726651337456593985869002828203530676837552433915773299120577136912237198547941591642672954884785546529796460436746805569916011540574600137868989482697479292056237842678162257456307377063735977525637965298099883940251280149234667246584860660586985989625489078557016966119917556659251594349310805996406350698861096294564927361999733806925340993774513734167246521328696778535467729828372738404712243512030585943821792281473636712029502535543983258698641855312414596645503467353059136364487616184999250900929062361191032528702828208912251221020420620183777654588987551037457227388378864059730306966053966974789365259790704673292936289025690003183908057009583543816876579592608306750071162489138499981643853189308534628522832483994227522132577255569356715695537472844311600498583539066255372550122189054262113855482300288494910076316667923763354259397394652975332424638193017896652669114158184252346031063758626118363495661355967904673398680730491401458528379625568086035953965519274241903896046912253816831343566454161687186166107115078556083087356229548262156338941120415722821688736407971114326333225522789412168452698289253352156491066645595689853484574486469485006035988708144292509817107358834163652952256842524678828748643598837306485872336171797109158435841248595351990803644038522372092391822206137329785671262831546666417994370139235553816170137808390952920176152923308586051910605740899645078510835999942823411776601479796423782505991408561964289459772181161505963699285628396311668216677890147515387044588501001445478371861504451157643068350763957331604357060385484254216468306507829300922227851776755739299037066530661497068242253118756369543584880535697331191350672248958685950131756429800723278651606916976215922907971045714570593961788922993509517853758202223290600867459577746499993105866959543095051185657448708859447139209610955090770459863842257330582151437357225585514188989076744659158997406584418006809470160565025395876310463251263308715525565322177372854264007970924005850109764066184326077268070199676963507790250798138339125308556628866188249183169817819430440797366575030346027674834620413570083909553369933358628443927642520787152176774607789574400350821684270190644993270567533538602526603945992367781173459921610044810066788121294673626418660151038869810898304153656974062929418042685580586973719991723497469008667673213059184674811809970576942774173424542193765606473544835541378480142113356922720037529473549738321713039313239094479967073940487759793658679186398348239622308084600745754064513809608028038682779196745617529798553169416394453294803860317780537944359172889311680676986550298669497717024291592350518862395651342942460483284178345338095445358136503683448348929118227515419998633851854351110736123427304770632664038793651508415951162568323067305892342690979572387887032352771914232110915415151580978478587183338164971866076771321958882883658699163290316562009491699367658139998512676989512704777296097246311257161564272376550771771132207341063939977191092691503680518837413061556204335614606187917571137757428850903884460946966131584775454193208785938191502807115478596005971222465555361134731570680184561578582757082265259422231730654646232247082968651724464303818479115059472250849885678277389975556 79221136326288413549090453617582214988603149380032775393045753873679347103737428810698791647263113706575282689198477135930652137291317188670030006057926509831856472550143054466006425134587034426949120010210832597783143689081004098970652114673282224426184172485773967049733965817226715156969648131835381010189470025770375559444559659305270898952170617343578663720139463438305206193729450577009951868047317341521679722886752217921827822705466305632297648679105292595306982225729633137305184703173136534319068330149229142960259210328722455601450057473003629441834416962669954405564521304502500726298911194393554191501157954017925309977598836623748100506311537547090223313424323313673085311409323919977212070953990949404412305207140907616619412378270976434206887105501661848469182736298770557698748104969475842500166345456724876246803841548685455561851856586967869889986216391448174596518073583228454703935275996041071738034755239225816281721293011288588359444337681021846829274952700086230836341401062887321604178406708278357480439226036171803414304571700770050264769130291420603534822495795966981715612394351588510056912232508637273573895372779156159436797233748213294951636931736322625278881149941049169682180025310119656903852664689348405476728233436921288688205034751242856813863451202798101231235894933014025474654357904163264189792879110990531247061528782494741231885291482973616690359904394443018958369073484128300703937149692838128916254439952768266768999800895221352172804608885628145520829329108509888656265795056847497582709463200002373315731960683089450281141672128908771066872542843950397795050900482861371828770525181267955544208230938560999841196913163882946371552828126583680248944964520944418180558701521838650855170095150234372062727397690674991347946365752214498420657007149585319909260780872426315558079608099072865828174703417406185318728278145026184310672633645641700732291542811057990742838365066341014265183949971790930431087121056345347741501667746148234688653065189269356885872908647581204650438736957716528711548574555583977239301969823515430537595181395319473570033411789209713074292228145962019286962544117035974563318921268241513986555088394502711032433789248734183877010959345104750102614262227563661010217640141350231316347211768763385670337883433049195056061300162041862964241528184097908283230852906666992480893473206747006312106694438401261591124362380788902882710265313013071263115504159140550179707220633782158597940373880726872858838789886163551228708805088540541574505134133745949431125107024728689987177439066224173647204385151471810845156172459609697201263898819372465925856032821983943945509201296896112993390414319772317613998628115011584901662481020736975231857679558573639533120123760882987807897148264001476729480741158503008405824181375825684426593602078107066384305742314153383784825815001170364503279303283157714730965700730790958163526085614077255893030881612578737162635171062435305862363661501175783671862584712802832632731639923317926092501167046294294878922434436385815597766578254085927198853219424480746368612964091254086956730350365974846418411767133289280026522101904776721397535481072023153960396155426365282526318432948840966649466716318812335304612541684202901596339076117983534399558629308180937552570931412127563964839611720473046765641026358839977096301838517860717992220124429055320994261412222457829626748188314831526678529121257451724121669436757611557692716596947663821034873517375372433749628434475153359120061495211777091719559441963916844642691242108239222713715540944215042751815205832903182816602051553000809853471087600226541940973229542173962641860015572714026730877762563780111880467244618055586935195897209646109126685288690235443479134420307287200865787784854857681194140932834097813623138157320433948668365280904196167520730495552269155400544459597418276177569668057444229387270850059959177577695113400939572251098823419194625556857107173746511343007800181920881221537624681494893301655822089723344553388000429323171176866004751029713971505534118999127107434111180853160547174861752751626348577776330731649967976997705926985766161797485058129327581956292771787829660210103007587578438303364646280346294247633981629844834860981910926589933525586410278385574288166108654586815838726812632990143066979317344762104354343375257570333883689617990419862704229988727473561686512974943917017701629021694931065627383970151448161079270422835544949285326099262830853904796892448341901343021226214704238492700377380756779821477303617108015181033663888382907694701687086758887917099855028808021759693299993928761037883200478548527383654940830627162960534839519753768771304564445702228660676511638525909100219792667017787855759149034626623398581454820469088953474304671180584117170375107299218857538863644099680063025446314779087962590928803576169825639877210091913953351078907222584306551857008399547716236951520432306368855405563331758063509346439969963192969308936226062923426688246041671272845075445462096707328610949341325449158353742604022908568946203933963643988238016251082863396042138900397422551647696827175988389556639458939949446524753736368453580244135105014317368938795421424241169688445192369547807720902472510058532210500190676908416490365999594117212594539752865691344940629371386945400149172429767490208830567907361799732482813964175917940399926984637762837734833459842745195607883737248217715147010664746624865860107174027680587247982043006696208521522681495053640549260909058244066831466386395550275703967451187984628361840304549620598007584604056652075292109056084955460757631045962710468974190271314358635494727254653928324003353839691189913153372830283101267409306943828090830937214893815925580078330686328742776609556460072981273554977224301651716046982335341896599200489741066102393484018972841466743047289295775671416546171942449273730018102329884754306147198475343597045689433842671468209541017943478180739831881650778966557553896529865161244407229829547727716931459459359559840553017703654746156616071691286614296466768069668800344909496623755249308151433068017415932042402097203261108808555885215825105468494713684598721648229183118676788358693974111182614492214872927357569277835129060640219341798931965723310239741977694394948416720292490078649040773942984422921245511852420706674819914354346020104887798142515274317061947997836595134419034230582330000240717127925526964112060319439249076892237808670839725453914016230218699443944340117528267723797972780319883977386476469029456738893211705543189528568137121573530047359055999267493785987462058075025437911796049705063581773663851013087176643772751648150048981936401280117985710232762186707399038083284214490009351252797025675234031663328726764953673595105495179812315052867907929540377789168697586451635338020604541532555456767223921372800748040195290633117401248117419768580554561920679552566002835202485597492704090494964420701053820178654505444932328959627731270218760735536157010176515686945610256645425466090751077063124240264202269417785796090050755625809976411130855080982514771006405019239084453063860469309363801560732448786594182631965426855620770324661738005715385915570566785767487246135064276153153759997114083896415651122260662526196811934588460728906851527212560414251230489996405218070314736073129676329566820684536684171651336809291777117985968335713633891342587678051190608132314213884936083558677694435789223952611566992819476705878074764002787217694166299949376281231412882322206987374652542436733768892535513131102546959338123452241057528223073307768102485716978811877380836416402793916906204056848362602583858587799671063183493736976342561580071402353708559999242811554741824392329109504518229810589936161848694495394989078505170054301833167574488999685417558644273661508773537637981961957984792817571894810151022150547618198149075642735541126296201993828633364656909410149851951595803219323557352758303156050734384212094939255739820941934884266839134997303995322823215069858545696315120342019702518376737457847075422833609547002365123843075643015383498457754484535198820719152172552391062084109456195267364880915037694355867535475716959456974814296043410930981650961631016607387504592652367302782535421937637661372747413198635813871372955291153837003764892214570085570425957184949391279047951885927105994402548962365475639942412116192038687450221895241768677287554938141140104080214294382146803429298709644350336820810077286914588926227332794609803525379770309789366482715491677332422658938068884123176801629354440421212341249014134107326180610680159589007947653882219813134645968624107250575125766006962591815762470229495361601560447159368208493962780049186984228166796792953581542749324663701473984707525536374661479614593173052043467258730505397958757517048679043709555117136847520835937727846034818459509505968569561640501633538002951685677658453700780995472650097844105771121176542567666472915935659895363457036650495500315381213781656630651058193300564850194107824559354050907613263433447134245936110081294087980183901841868569834102951605113985102702574503134563661489803117882501774544796411708510598634828765358263065954367069982829061211021319154234231505020565550265511430978433260352023923242725444468300700379120792896552063867819454509409847360220160225898163469405630937816664742083227109521241191459649627059244503802064886747666586992067262537932482591511828983160758903941627135177441671297217952186909720765757172069021248609888042204884148250442720829914829566064531716170835027008348907733533199583767922956828037492979711527925747153139364500573829531580750159815842766777948133435121844659456337848260159990186320354013431173770018894243132189838566288123058659669603088143868118546664490074354240051579825260190932977319065953785372139716567573294527268103825314263684763355326490530706394742429719766894118537850347739213350481304400991206260374884728430342569941156073036720381921215037764474384167946687650854838413496688263808658128622126405042347278636920072686075794168093150348990814812843596864619140305297198950566391285496038929258759391060652097864480694083354601317794438332337379458327425272558604296034920828942395797704350760545713242712650295620720480266695027666991950244529279313359307184545911652854607987807652986645496026716947536417215612871365512578375754072529384924508720861219936489809211203818311944253049677116385442579755323008904791994012496568602105634936557602112891222255815968208726460763908935319398537462319222352255330284191400510937420961175564065290566834839984065131575926030604764559525484870734749719528714771458256355741055774645543217420803544635560577601086392076222338719457169263398772048976940974467070861441289928116114822379840108596537462836610078114384265222441942194716220604610140785522209755139397733927411986230276978703634852253352842022242600934585431160196716177947048411252481870275891670108929136226858123842466618635286446211546416170022232310277708477106741642518964712784286913799970144671504373724583892442112497876502732662490966289876004595235484314466115186871841219982663670004329696331736833210973276693373847197155177400173404324040554503800043998543964753167354301398443594022081940824816410044369039158042339692563911582839710484722124067650472244306310825431696389062650108246970517592940351132396721382185326792077105099924715887893343594565171565538863544092477718216102419627260239221503871283929077578430077879552461168013575739019074659261015668694109748101523463971688743384750132252193744487530010432140663448060994862324221352177117091692094628128298303362593459421987497960525231874745909583672472115107069268107174241116087881881019570656894743427112230837464729747697287904400461590825567248163889426860244245125160649191818265856685696552603720649580279665210466735030772562224321647428767632205792907103522857500975846124533794485829388172460541838137807012917830058830599361560898689070941180492898899260714003360024425748810372423730833791663083240112960927403701290646454922124827245129489426572579849373823425089687526885449333112091199298595114972391533749953602866527716710260124896795530978681337873050346765409250024915767233853701372846694845302647660951562615461568624145939053205986352780877785504030782975749829320672131639847922952281937687807201663461521327704240311694177696896118243268002366769685019056410577468389387982304047935418402259740514853027590036741912357709317665544120419882073293232311077044681467068692078887192123162368975908397824952247513326863502917499638855245220253501440282089710886902088110314515119921897082899269502687200926510126785605589389971953891466571940655793341267576712702044221565301601582038054280635622775053891017862578168874712354569122595424188041364748533014273541620996902412317659304369126274940673760282393297296303605167965899360908473162497377625185238410611118623494106245618536249893057276554911179490509343490281569326320305727171387833588485502972865577590967716357968488698688366623916015925132522948757655665068523523398272426656763846601941044889777084329092351207003832111593986978874097826082333661521108604410795481934991712378889677120921380733180630953797228124436925901747310315082957987070479333014629016302597871979321110212016441175718117901992216429519562311775794723637051256769505374760360763420681191684281565703673512787503060410833524367577637189186127532357886671122588818257749537642741987311408806312149471966994444684490304692708403471108110071013861762043913009486567909615925856915111145157587139482174798470731364948860152215731708795013958641768504540907285026130803275489526748381597866585764901884965780165679560003859916511155593093937941342191408690570473464773303722588426369819739204909387442499777940226401837163549251666274278346270313040476274971039622891624000180029613725006476509403364326406391246489782009042296085561666625021390407234492476625340898666542026879772764965458833327273469640863858589506881152715997066880840404844786136002429799197513670678167918505711408986264171415473963739819897153319682352157242436699086438293839144783613290126856940433221400089631527568339999647274484053449187231193586513478553961120261523697898522345257679117226529948644856349013870383469132183523948228011112847641996718199985854240080628919802362640399110051898162724824317818261364212713700489111597445034735841096791394327255793144058953195735979255500681924093541926831189788447649230578028685481620774124541447986887063371215612828737445504126792126668657148857503236683061009031834227894258415429287921589180511143738996435527799620992980171024451696472280596148440944281496867205466579292102064584627624844059750272925405354554066059151128068182475799175855368825868213358066934288301931674983194054960742317651833552973708808910321754754451139528248078310202517126658109239950627632628002403402303204555932481640988841313955305273710453870429885784241368000702185028555886967873716908042084439218126624507204911476259917005635215249592060307682632721210835878975389545065247921116683215404853004476451191273876793271903667197783882101506178542400722613261464260949021726831613791344666040134495620404055624304941339072181639471059170315227776695541598363205861260484056231424090749958981239731737081453567208585884268618602499788210382610334325400796426473236413847772831984197608673332841201259173247859294961176015598951929460166372622829088090000801497334335463239353927254797639365578054600006059482717867423563421255314036396068406314478675478352712443982795286361311889002904552691626255056018425268121312539682167203281653428699071653723463525177392245639845991016504183382083473993161305916283849286134872301037542999811887687202649143002173358503079563577184841475801686644378449504201888996396223893158479338313481123794456129279150259937072231776955299954637140266723136555673580194323296706910304462780156307978980663439064039098269076544395312530798514649195866969063861109982085162066515444568559660996484416103399571168835978913088511815116082595596894530575125805550674817777865638975936876164479865645056484096655637836278193818173398039377107638828279162206955925150280459235849772630256657633274681282914772059201052299510432801433624862697187350046973777249899631826415540356311525488878291953625806964957470535568669124320496258928589841167816633208060264638679100626865894089997332408881024562594843957165427993194923608529530571971351730082665347173688497873232135949326115969708557877795111385096239768109901304666080748515308309480170339942475853221636041635588430654788881088164915277913377115795772316907743107970942011724896340689520876841285668801824515371463219406246454388402271398689380890085308726651337456593985869002828203530676837552433915773299120577136912237198547941591642672954884785546529796460436746805569916011540574600137868989482697479292056237842678162257456307377063735977525637965298099883940251280149234667246584860660586985989625489078557016966119917556659251594349310805996406350698861096294564927361999733806925340993774513734167246521328696778535467729828372738404712243512030585943821792281473636712029502535543983258698641855312414596645503467353059136364487616184999250900929062361191032528702828208912251221020420620183777654588987551037457227388378864059730306966053966974789365259790704673292936289025690003183908057009583543816876579592608306750071162489138499981643853189308534628522832483994227522132577255569356715695537472844311600498583539066255372550122189054262113855482300288494910076316667923763354259397394652975332424638193017896652669114158184252346031063758626118363495661355967904673398680730491401458528379625568086035953965519274241903896046912253816831343566454161687186166107115078556083087356229548262156338941120415722821688736407971114326333225522789412168452698289253352156491066645595689853484574486469485006035988708144292509817107358834163652952256842524678828748643598837306485872336171797109158435841248595351990803644038522372092391822206137329785671262831546666417994370139235553816170137808390952920176152923308586051910605740899645078510835999942823411776601479796423782505991408561964289459772181161505963699285628396311668216677890147515387044588501001445478371861504451157643068350763957331604357060385484254216468306507829300922227851776755739299037066530661497068242253118756369543584880535697331191350672248958685950131756429800723278651606916976215922907971045714570593961788922993509517853758202223290600867459577746499993105866959543095051185657448708859447139209610955090770459863842257330582151437357225585514188989076744659158997406584418006809470160565025395876310463251263308715525565322177372854264007970924005850109764066184326077268070199676963507790250798138339125308556628866188249183169817819430440797366575030346027674834620413570083909553369933358628443927642520787152176774607789574400350821684270190644993270567533538602526603945992367781173459921610044810066788121294673626418660151038869810898304153656974062929418042685580586973719991723497469008667673213059184674811809970576942774173424542193765606473544835541378480142113356922720037529473549738321713039313239094479967073940487759793658679186398348239622308084600745754064513809608028038682779196745617529798553169416394453294803860317780537944359172889311680676986550298669497717024291592350518862395651342942460483284178345338095445358136503683448348929118227515419998633851854351110736123427304770632664038793651508415951162568323067305892342690979572387887032352771914232110915415151580978478587183338164971866076771321958882883658699163290316562009491699367658139998512676989512704777296097246311257161564272376550771771132207341063939977191092691503680518837413061556204335614606187917571137757428850903884460946966131584775454193208785938191502807115478596005971222465555361134731570680184561578582757082265259422231730654646232247082968651724464303818479115059472250849885678277389975556 79221136326288413549090453617582214988603149380032775393045753873679347103737428810698791647263113706575282689198477135930652137291317188670030006057926509831856472550143054466006425134587034426949120010210832597783143689081004098970652114673282224426184172485773967049733965817226715156969648131835381010189470025770375559444559659305270898952170617343578663720139463438305206193729450577009951868047317341521679722886752217921827822705466305632297648679105292595306982225729633137305184703173136534319068330149229142960259210328722455601450057473003629441834416962669954405564521304502500726298911194393554191501157954017925309977598836623748100506311537547090223313424323313673085311409323919977212070953990949404412305207140907616619412378270976434206887105501661848469182736298770557698748104969475842500166345456724876246803841548685455561851856586967869889986216391448174596518073583228454703935275996041071738034755239225816281721293011288588359444337681021846829274952700086230836341401062887321604178406708278357480439226036171803414304571700770050264769130291420603534822495795966981715612394351588510056912232508637273573895372779156159436797233748213294951636931736322625278881149941049169682180025310119656903852664689348405476728233436921288688205034751242856813863451202798101231235894933014025474654357904163264189792879110990531247061528782494741231885291482973616690359904394443018958369073484128300703937149692838128916254439952768266768999800895221352172804608885628145520829329108509888656265795056847497582709463200002373315731960683089450281141672128908771066872542843950397795050900482861371828770525181267955544208230938560999841196913163882946371552828126583680248944964520944418180558701521838650855170095150234372062727397690674991347946365752214498420657007149585319909260780872426315558079608099072865828174703417406185318728278145026184310672633645641700732291542811057990742838365066341014265183949971790930431087121056345347741501667746148234688653065189269356885872908647581204650438736957716528711548574555583977239301969823515430537595181395319473570033411789209713074292228145962019286962544117035974563318921268241513986555088394502711032433789248734183877010959345104750102614262227563661010217640141350231316347211768763385670337883433049195056061300162041862964241528184097908283230852906666992480893473206747006312106694438401261591124362380788902882710265313013071263115504159140550179707220633782158597940373880726872858838789886163551228708805088540541574505134133745949431125107024728689987177439066224173647204385151471810845156172459609697201263898819372465925856032821983943945509201296896112993390414319772317613998628115011584901662481020736975231857679558573639533120123760882987807897148264001476729480741158503008405824181375825684426593602078107066384305742314153383784825815001170364503279303283157714730965700730790958163526085614077255893030881612578737162635171062435305862363661501175783671862584712802832632731639923317926092501167046294294878922434436385815597766578254085927198853219424480746368612964091254086956730350365974846418411767133289280026522101904776721397535481072023153960396155426365282526318432948840966649466716318812335304612541684202901596339076117983534399558629308180937552570931412127563964839611720473046765641026358839977096301838517860717992220124429055320994261412222457829626748188314831526678529121257451724121669436757611557692716596947663821034873517375372433749628434475153359120061495211777091719559441963916844642691242108239222713715540944215042751815205832903182816602051553000809853471087600226541940973229542173962641860015572714026730877762563780111880467244618055586935195897209646109126685288690235443479134420307287200865787784854857681194140932834097813623138157320433948668365280904196167520730495552269155400544459597418276177569668057444229387270850059959177577695113400939572251098823419194625556857107173746511343007800181920881221537624681494893301655822089723344553388000429323171176866004751029713971505534118999127107434111180853160547174861752751626348577776330731649967976997705926985766161797485058129327581956292771787829660210103007587578438303364646280346294247633981629844834860981910926589933525586410278385574288166108654586815838726812632990143066979317344762104354343375257570333883689617990419862704229988727473561686512974943917017701629021694931065627383970151448161079270422835544949285326099262830853904796892448341901343021226214704238492700377380756779821477303617108015181033663888382907694701687086758887917099855028808021759693299993928761037883200478548527383654940830627162960534839519753768771304564445702228660676511638525909100219792667017787855759149034626623398581454820469088953474304671180584117170375107299218857538863644099680063025446314779087962590928803576169825639877210091913953351078907222584306551857008399547716236951520432306368855405563331758063509346439969963192969308936226062923426688246041671272845075445462096707328610949341325449158353742604022908568946203933963643988238016251082863396042138900397422551647696827175988389556639458939949446524753736368453580244135105014317368938795421424241169688445192369547807720902472510058532210500190676908416490365999594117212594539752865691344940629371386945400149172429767490208830567907361799732482813964175917940399926984637762837734833459842745195607883737248217715147010664746624865860107174027680587247982043006696208521522681495053640549260909058244066831466386395550275703967451187984628361840304549620598007584604056652075292109056084955460757631045962710468974190271314358635494727254653928324003353839691189913153372830283101267409306943828090830937214893815925580078330686328742776609556460072981273554977224301651716046982335341896599200489741066102393484018972841466743047289295775671416546171942449273730018102329884754306147198475343597045689433842671468209541017943478180739831881650778966557553896529865161244407229829547727716931459459359559840553017703654746156616071691286614296466768069668800344909496623755249308151433068017415932042402097203261108808555885215825105468494713684598721648229183118676788358693974111182614492214872927357569277835129060640219341798931965723310239741977694394948416720292490078649040773942984422921245511852420706674819914354346020104887798142515274317061947997836595134419034230582330000240717127925526964112060319439249076892237808670839725453914016230218699443944340117528267723797972780319883977386476469029456738893211705543189528568137121573530047359055999267493785987462058075025437911796049705063581773663851013087176643772751648150048981936401280117985710232762186707399038083284214490009351252797025675234031663328726764953673595105495179812315052867907929540377789168697586451635338020604541532555456767223921372800748040195290633117401248117419768580554561920679552566002835202485597492704090494964420701053820178654505444932328959627731270218760735536157010176515686945610256645425466090751077063124240264202269417785796090050755625809976411130855080982514771006405019239084453063860469309363801560732448786594182631965426855620770324661738005715385915570566785767487246135064276153153759997114083896415651122260662526196811934588460728906851527212560414251230489996405218070314736073129676329566820684536684171651336809291777117985968335713633891342587678051190608132314213884936083558677694435789223952611566992819476705878074764002787217694166299949376281231412882322206987374652542436733768892535513131102546959338123452241057528223073307768102485716978811877380836416402793916906204056848362602583858587799671063183493736976342561580071402353708559999242811554741824392329109504518229810589936161848694495394989078505170054301833167574488999685417558644273661508773537637981961957984792817571894810151022150547618198149075642735541126296201993828633364656909410149851951595803219323557352758303156050734384212094939255739820941934884266839134997303995322823215069858545696315120342019702518376737457847075422833609547002365123843075643015383498457754484535198820719152172552391062084109456195267364880915037694355867535475716959456974814296043410930981650961631016607387504592652367302782535421937637661372747413198635813871372955291153837003764892214570085570425957184949391279047951885927105994402548962365475639942412116192038687450221895241768677287554938141140104080214294382146803429298709644350336820810077286914588926227332794609803525379770309789366482715491677332422658938068884123176801629354440421212341249014134107326180610680159589007947653882219813134645968624107250575125766006962591815762470229495361601560447159368208493962780049186984228166796792953581542749324663701473984707525536374661479614593173052043467258730505397958757517048679043709555117136847520835937727846034818459509505968569561640501633538002951685677658453700780995472650097844105771121176542567666472915935659895363457036650495500315381213781656630651058193300564850194107824559354050907613263433447134245936110081294087980183901841868569834102951605113985102702574503134563661489803117882501774544796411708510598634828765358263065954367069982829061211021319154234231505020565550265511430978433260352023923242725444468300700379120792896552063867819454509409847360220160225898163469405630937816664742083227109521241191459649627059244503802064886747666586992067262537932482591511828983160758903941627135177441671297217952186909720765757172069021248609888042204884148250442720829914829566064531716170835027008348907733533199583767922956828037492979711527925747153139364500573829531580750159815842766777948133435121844659456337848260159990186320354013431173770018894243132189838566288123058659669603088143868118546664490074354240051579825260190932977319065953785372139716567573294527268103825314263684763355326490530706394742429719766894118537850347739213350481304400991206260374884728430342569941156073036720381921215037764474384167946687650854838413496688263808658128622126405042347278636920072686075794168093150348990814812843596864619140305297198950566391285496038929258759391060652097864480694083354601317794438332337379458327425272558604296034920828942395797704350760545713242712650295620720480266695027666991950244529279313359307184545911652854607987807652986645496026716947536417215612871365512578375754072529384924508720861219936489809211203818311944253049677116385442579755323008904791994012496568602105634936557602112891222255815968208726460763908935319398537462319222352255330284191400510937420961175564065290566834839984065131575926030604764559525484870734749719528714771458256355741055774645543217420803544635560577601086392076222338719457169263398772048976940974467070861441289928116114822379840108596537462836610078114384265222441942194716220604610140785522209755139397733927411986230276978703634852253352842022242600934585431160196716177947048411252481870275891670108929136226858123842466618635286446211546416170022232310277708477106741642518964712784286913799970144671504373724583892442112497876502732662490966289876004595235484314466115186871841219982663670004329696331736833210973276693373847197155177400173404324040554503800043998543964753167354301398443594022081940824816410044369039158042339692563911582839710484722124067650472244306310825431696389062650108246970517592940351132396721382185326792077105099924715887893343594565171565538863544092477718216102419627260239221503871283929077578430077879552461168013575739019074659261015668694109748101523463971688743384750132252193744487530010432140663448060994862324221352177117091692094628128298303362593459421987497960525231874745909583672472115107069268107174241116087881881019570656894743427112230837464729747697287904400461590825567248163889426860244245125160649191818265856685696552603720649580279665210466735030772562224321647428767632205792907103522857500975846124533794485829388172460541838137807012917830058830599361560898689070941180492898899260714003360024425748810372423730833791663083240112960927403701290646454922124827245129489426572579849373823425089687526885449333112091199298595114972391533749953602866527716710260124896795530978681337873050346765409250024915767233853701372846694845302647660951562615461568624145939053205986352780877785504030782975749829320672131639847922952281937687807201663461521327704240311694177696896118243268002366769685019056410577468389387982304047935418402259740514853027590036741912357709317665544120419882073293232311077044681467068692078887192123162368975908397824952247513326863502917499638855245220253501440282089710886902088110314515119921897082899269502687200926510126785605589389971953891466571940655793341267576712702044221565301601582038054280635622775053891017862578168874712354569122595424188041364748533014273541620996902412317659304369126274940673760282393297296303605167965899360908473162497377625185238410611118623494106245618536249893057276554911179490509343490281569326320305727171387833588485502972865577590967716357968488698688366623916015925132522948757655665068523523398272426656763846601941044889777084329092351207003832111593986978874097826082333661521108604410795481934991712378889677120921380733180630953797228124436925901747310315082957987070479333014629016302597871979321110212016441175718117901992216429519562311775794723637051256769505374760360763420681191684281565703673512787503060410833524367577637189186127532357886671122588818257749537642741987311408806312149471966994444684490304692708403471108110071013861762043913009486567909615925856915111145157587139482174798470731364948860152215731708795013958641768504540907285026130803275489526748381597866585764901884965780165679560003859916511155593093937941342191408690570473464773303722588426369819739204909387442499777940226401837163549251666274278346270313040476274971039622891624000180029613725006476509403364326406391246489782009042296085561666625021390407234492476625340898666542026879772764965458833327273469640863858589506881152715997066880840404844786136002429799197513670678167918505711408986264171415473963739819897153319682352157242436699086438293839144783613290126856940433221400089631527568339999647274484053449187231193586513478553961120261523697898522345257679117226529948644856349013870383469132183523948228011112847641996718199985854240080628919802362640399110051898162724824317818261364212713700489111597445034735841096791394327255793144058953195735979255500681924093541926831189788447649230578028685481620774124541447986887063371215612828737445504126792126668657148857503236683061009031834227894258415429287921589180511143738996435527799620992980171024451696472280596148440944281496867205466579292102064584627624844059750272925405354554066059151128068182475799175855368825868213358066934288301931674983194054960742317651833552973708808910321754754451139528248078310202517126658109239950627632628002403402303204555932481640988841313955305273710453870429885784241368000702185028555886967873716908042084439218126624507204911476259917005635215249592060307682632721210835878975389545065247921116683215404853004476451191273876793271903667197783882101506178542400722613261464260949021726831613791344666040134495620404055624304941339072181639471059170315227776695541598363205861260484056231424090749958981239731737081453567208585884268618602499788210382610334325400796426473236413847772831984197608673332841201259173247859294961176015598951929460166372622829088090000801497334335463239353927254797639365578054600006059482717867423563421255314036396068406314478675478352712443982795286361311889002904552691626255056018425268121312539682167203281653428699071653723463525177392245639845991016504183382083473993161305916283849286134872301037542999811887687202649143002173358503079563577184841475801686644378449504201888996396223893158479338313481123794456129279150259937072231776955299954637140266723136555673580194323296706910304462780156307978980663439064039098269076544395312530798514649195866969063861109982085162066515444568559660996484416103399571168835978913088511815116082595596894530575125805550674817777865638975936876164479865645056484096655637836278193818173398039377107638828279162206955925150280459235849772630256657633274681282914772059201052299510432801433624862697187350046973777249899631826415540356311525488878291953625806964957470535568669124320496258928589841167816633208060264638679100626865894089997332408881024562594843957165427993194923608529530571971351730082665347173688497873232135949326115969708557877795111385096239768109901304666080748515308309480170339942475853221636041635588430654788881088164915277913377115795772316907743107970942011724896340689520876841285668801824515371463219406246454388402271398689380890085308726651337456593985869002828203530676837552433915773299120577136912237198547941591642672954884785546529796460436746805569916011540574600137868989482697479292056237842678162257456307377063735977525637965298099883940251280149234667246584860660586985989625489078557016966119917556659251594349310805996406350698861096294564927361999733806925340993774513734167246521328696778535467729828372738404712243512030585943821792281473636712029502535543983258698641855312414596645503467353059136364487616184999250900929062361191032528702828208912251221020420620183777654588987551037457227388378864059730306966053966974789365259790704673292936289025690003183908057009583543816876579592608306750071162489138499981643853189308534628522832483994227522132577255569356715695537472844311600498583539066255372550122189054262113855482300288494910076316667923763354259397394652975332424638193017896652669114158184252346031063758626118363495661355967904673398680730491401458528379625568086035953965519274241903896046912253816831343566454161687186166107115078556083087356229548262156338941120415722821688736407971114326333225522789412168452698289253352156491066645595689853484574486469485006035988708144292509817107358834163652952256842524678828748643598837306485872336171797109158435841248595351990803644038522372092391822206137329785671262831546666417994370139235553816170137808390952920176152923308586051910605740899645078510835999942823411776601479796423782505991408561964289459772181161505963699285628396311668216677890147515387044588501001445478371861504451157643068350763957331604357060385484254216468306507829300922227851776755739299037066530661497068242253118756369543584880535697331191350672248958685950131756429800723278651606916976215922907971045714570593961788922993509517853758202223290600867459577746499993105866959543095051185657448708859447139209610955090770459863842257330582151437357225585514188989076744659158997406584418006809470160565025395876310463251263308715525565322177372854264007970924005850109764066184326077268070199676963507790250798138339125308556628866188249183169817819430440797366575030346027674834620413570083909553369933358628443927642520787152176774607789574400350821684270190644993270567533538602526603945992367781173459921610044810066788121294673626418660151038869810898304153656974062929418042685580586973719991723497469008667673213059184674811809970576942774173424542193765606473544835541378480142113356922720037529473549738321713039313239094479967073940487759793658679186398348239622308084600745754064513809608028038682779196745617529798553169416394453294803860317780537944359172889311680676986550298669497717024291592350518862395651342942460483284178345338095445358136503683448348929118227515419998633851854351110736123427304770632664038793651508415951162568323067305892342690979572387887032352771914232110915415151580978478587183338164971866076771321958882883658699163290316562009491699367658139998512676989512704777296097246311257161564272376550771771132207341063939977191092691503680518837413061556204335614606187917571137757428850903884460946966131584775454193208785938191502807115478596005971222465555361134731570680184561578582757082265259422231730654646232247082968651724464303818479115059472250849885678277389975556 79221136326288413549090453617582214988603149380032775393045753873679347103737428810698791647263113706575282689198477135930652137291317188670030006057926509831856472550143054466006425134587034426949120010210832597783143689081004098970652114673282224426184172485773967049733965817226715156969648131835381010189470025770375559444559659305270898952170617343578663720139463438305206193729450577009951868047317341521679722886752217921827822705466305632297648679105292595306982225729633137305184703173136534319068330149229142960259210328722455601450057473003629441834416962669954405564521304502500726298911194393554191501157954017925309977598836623748100506311537547090223313424323313673085311409323919977212070953990949404412305207140907616619412378270976434206887105501661848469182736298770557698748104969475842500166345456724876246803841548685455561851856586967869889986216391448174596518073583228454703935275996041071738034755239225816281721293011288588359444337681021846829274952700086230836341401062887321604178406708278357480439226036171803414304571700770050264769130291420603534822495795966981715612394351588510056912232508637273573895372779156159436797233748213294951636931736322625278881149941049169682180025310119656903852664689348405476728233436921288688205034751242856813863451202798101231235894933014025474654357904163264189792879110990531247061528782494741231885291482973616690359904394443018958369073484128300703937149692838128916254439952768266768999800895221352172804608885628145520829329108509888656265795056847497582709463200002373315731960683089450281141672128908771066872542843950397795050900482861371828770525181267955544208230938560999841196913163882946371552828126583680248944964520944418180558701521838650855170095150234372062727397690674991347946365752214498420657007149585319909260780872426315558079608099072865828174703417406185318728278145026184310672633645641700732291542811057990742838365066341014265183949971790930431087121056345347741501667746148234688653065189269356885872908647581204650438736957716528711548574555583977239301969823515430537595181395319473570033411789209713074292228145962019286962544117035974563318921268241513986555088394502711032433789248734183877010959345104750102614262227563661010217640141350231316347211768763385670337883433049195056061300162041862964241528184097908283230852906666992480893473206747006312106694438401261591124362380788902882710265313013071263115504159140550179707220633782158597940373880726872858838789886163551228708805088540541574505134133745949431125107024728689987177439066224173647204385151471810845156172459609697201263898819372465925856032821983943945509201296896112993390414319772317613998628115011584901662481020736975231857679558573639533120123760882987807897148264001476729480741158503008405824181375825684426593602078107066384305742314153383784825815001170364503279303283157714730965700730790958163526085614077255893030881612578737162635171062435305862363661501175783671862584712802832632731639923317926092501167046294294878922434436385815597766578254085927198853219424480746368612964091254086956730350365974846418411767133289280026522101904776721397535481072023153960396155426365282526318432948840966649466716318812335304612541684202901596339076117983534399558629308180937552570931412127563964839611720473046765641026358839977096301838517860717992220124429055320994261412222457829626748188314831526678529121257451724121669436757611557692716596947663821034873517375372433749628434475153359120061495211777091719559441963916844642691242108239222713715540944215042751815205832903182816602051553000809853471087600226541940973229542173962641860015572714026730877762563780111880467244618055586935195897209646109126685288690235443479134420307287200865787784854857681194140932834097813623138157320433948668365280904196167520730495552269155400544459597418276177569668057444229387270850059959177577695113400939572251098823419194625556857107173746511343007800181920881221537624681494893301655822089723344553388000429323171176866004751029713971505534118999127107434111180853160547174861752751626348577776330731649967976997705926985766161797485058129327581956292771787829660210103007587578438303364646280346294247633981629844834860981910926589933525586410278385574288166108654586815838726812632990143066979317344762104354343375257570333883689617990419862704229988727473561686512974943917017701629021694931065627383970151448161079270422835544949285326099262830853904796892448341901343021226214704238492700377380756779821477303617108015181033663888382907694701687086758887917099855028808021759693299993928761037883200478548527383654940830627162960534839519753768771304564445702228660676511638525909100219792667017787855759149034626623398581454820469088953474304671180584117170375107299218857538863644099680063025446314779087962590928803576169825639877210091913953351078907222584306551857008399547716236951520432306368855405563331758063509346439969963192969308936226062923426688246041671272845075445462096707328610949341325449158353742604022908568946203933963643988238016251082863396042138900397422551647696827175988389556639458939949446524753736368453580244135105014317368938795421424241169688445192369547807720902472510058532210500190676908416490365999594117212594539752865691344940629371386945400149172429767490208830567907361799732482813964175917940399926984637762837734833459842745195607883737248217715147010664746624865860107174027680587247982043006696208521522681495053640549260909058244066831466386395550275703967451187984628361840304549620598007584604056652075292109056084955460757631045962710468974190271314358635494727254653928324003353839691189913153372830283101267409306943828090830937214893815925580078330686328742776609556460072981273554977224301651716046982335341896599200489741066102393484018972841466743047289295775671416546171942449273730018102329884754306147198475343597045689433842671468209541017943478180739831881650778966557553896529865161244407229829547727716931459459359559840553017703654746156616071691286614296466768069668800344909496623755249308151433068017415932042402097203261108808555885215825105468494713684598721648229183118676788358693974111182614492214872927357569277835129060640219341798931965723310239741977694394948416720292490078649040773942984422921245511852420706674819914354346020104887798142515274317061947997836595134419034230582330000240717127925526964112060319439249076892237808670839725453914016230218699443944340117528267723797972780319883977386476469029456738893211705543189528568137121573530047359055999267493785987462058075025437911796049705063581773663851013087176643772751648150048981936401280117985710232762186707399038083284214490009351252797025675234031663328726764953673595105495179812315052867907929540377789168697586451635338020604541532555456767223921372800748040195290633117401248117419768580554561920679552566002835202485597492704090494964420701053820178654505444932328959627731270218760735536157010176515686945610256645425466090751077063124240264202269417785796090050755625809976411130855080982514771006405019239084453063860469309363801560732448786594182631965426855620770324661738005715385915570566785767487246135064276153153759997114083896415651122260662526196811934588460728906851527212560414251230489996405218070314736073129676329566820684536684171651336809291777117985968335713633891342587678051190608132314213884936083558677694435789223952611566992819476705878074764002787217694166299949376281231412882322206987374652542436733768892535513131102546959338123452241057528223073307768102485716978811877380836416402793916906204056848362602583858587799671063183493736976342561580071402353708559999242811554741824392329109504518229810589936161848694495394989078505170054301833167574488999685417558644273661508773537637981961957984792817571894810151022150547618198149075642735541126296201993828633364656909410149851951595803219323557352758303156050734384212094939255739820941934884266839134997303995322823215069858545696315120342019702518376737457847075422833609547002365123843075643015383498457754484535198820719152172552391062084109456195267364880915037694355867535475716959456974814296043410930981650961631016607387504592652367302782535421937637661372747413198635813871372955291153837003764892214570085570425957184949391279047951885927105994402548962365475639942412116192038687450221895241768677287554938141140104080214294382146803429298709644350336820810077286914588926227332794609803525379770309789366482715491677332422658938068884123176801629354440421212341249014134107326180610680159589007947653882219813134645968624107250575125766006962591815762470229495361601560447159368208493962780049186984228166796792953581542749324663701473984707525536374661479614593173052043467258730505397958757517048679043709555117136847520835937727846034818459509505968569561640501633538002951685677658453700780995472650097844105771121176542567666472915935659895363457036650495500315381213781656630651058193300564850194107824559354050907613263433447134245936110081294087980183901841868569834102951605113985102702574503134563661489803117882501774544796411708510598634828765358263065954367069982829061211021319154234231505020565550265511430978433260352023923242725444468300700379120792896552063867819454509409847360220160225898163469405630937816664742083227109521241191459649627059244503802064886747666586992067262537932482591511828983160758903941627135177441671297217952186909720765757172069021248609888042204884148250442720829914829566064531716170835027008348907733533199583767922956828037492979711527925747153139364500573829531580750159815842766777948133435121844659456337848260159990186320354013431173770018894243132189838566288123058659669603088143868118546664490074354240051579825260190932977319065953785372139716567573294527268103825314263684763355326490530706394742429719766894118537850347739213350481304400991206260374884728430342569941156073036720381921215037764474384167946687650854838413496688263808658128622126405042347278636920072686075794168093150348990814812843596864619140305297198950566391285496038929258759391060652097864480694083354601317794438332337379458327425272558604296034920828942395797704350760545713242712650295620720480266695027666991950244529279313359307184545911652854607987807652986645496026716947536417215612871365512578375754072529384924508720861219936489809211203818311944253049677116385442579755323008904791994012496568602105634936557602112891222255815968208726460763908935319398537462319222352255330284191400510937420961175564065290566834839984065131575926030604764559525484870734749719528714771458256355741055774645543217420803544635560577601086392076222338719457169263398772048976940974467070861441289928116114822379840108596537462836610078114384265222441942194716220604610140785522209755139397733927411986230276978703634852253352842022242600934585431160196716177947048411252481870275891670108929136226858123842466618635286446211546416170022232310277708477106741642518964712784286913799970144671504373724583892442112497876502732662490966289876004595235484314466115186871841219982663670004329696331736833210973276693373847197155177400173404324040554503800043998543964753167354301398443594022081940824816410044369039158042339692563911582839710484722124067650472244306310825431696389062650108246970517592940351132396721382185326792077105099924715887893343594565171565538863544092477718216102419627260239221503871283929077578430077879552461168013575739019074659261015668694109748101523463971688743384750132252193744487530010432140663448060994862324221352177117091692094628128298303362593459421987497960525231874745909583672472115107069268107174241116087881881019570656894743427112230837464729747697287904400461590825567248163889426860244245125160649191818265856685696552603720649580279665210466735030772562224321647428767632205792907103522857500975846124533794485829388172460541838137807012917830058830599361560898689070941180492898899260714003360024425748810372423730833791663083240112960927403701290646454922124827245129489426572579849373823425089687526885449333112091199298595114972391533749953602866527716710260124896795530978681337873050346765409250024915767233853701372846694845302647660951562615461568624145939053205986352780877785504030782975749829320672131639847922952281937687807201663461521327704240311694177696896118243268002366769685019056410577468389387982304047935418402259740514853027590036741912357709317665544120419882073293232311077044681467068692078887192123162368975908397824952247513326863502917499638855245220253501440282089710886902088110314515119921897082899269502687200926510126785605589389971953891466571940655793341267576712702044221565301601582038054280635622775053891017862578168874712354569122595424188041364748533014273541620996902412317659304369126274940673760282393297296303605167965899360908473162497377625185238410611118623494106245618536249893057276554911179490509343490281569326320305727171387833588485502972865577590967716357968488698688366623916015925132522948757655665068523523398272426656763846601941044889777084329092351207003832111593986978874097826082333661521108604410795481934991712378889677120921380733180630953797228124436925901747310315082957987070479333014629016302597871979321110212016441175718117901992216429519562311775794723637051256769505374760360763420681191684281565703673512787503060410833524367577637189186127532357886671122588818257749537642741987311408806312149471966994444684490304692708403471108110071013861762043913009486567909615925856915111145157587139482174798470731364948860152215731708795013958641768504540907285026130803275489526748381597866585764901884965780165679560003859916511155593093937941342191408690570473464773303722588426369819739204909387442499777940226401837163549251666274278346270313040476274971039622891624000180029613725006476509403364326406391246489782009042296085561666625021390407234492476625340898666542026879772764965458833327273469640863858589506881152715997066880840404844786136002429799197513670678167918505711408986264171415473963739819897153319682352157242436699086438293839144783613290126856940433221400089631527568339999647274484053449187231193586513478553961120261523697898522345257679117226529948644856349013870383469132183523948228011112847641996718199985854240080628919802362640399110051898162724824317818261364212713700489111597445034735841096791394327255793144058953195735979255500681924093541926831189788447649230578028685481620774124541447986887063371215612828737445504126792126668657148857503236683061009031834227894258415429287921589180511143738996435527799620992980171024451696472280596148440944281496867205466579292102064584627624844059750272925405354554066059151128068182475799175855368825868213358066934288301931674983194054960742317651833552973708808910321754754451139528248078310202517126658109239950627632628002403402303204555932481640988841313955305273710453870429885784241368000702185028555886967873716908042084439218126624507204911476259917005635215249592060307682632721210835878975389545065247921116683215404853004476451191273876793271903667197783882101506178542400722613261464260949021726831613791344666040134495620404055624304941339072181639471059170315227776695541598363205861260484056231424090749958981239731737081453567208585884268618602499788210382610334325400796426473236413847772831984197608673332841201259173247859294961176015598951929460166372622829088090000801497334335463239353927254797639365578054600006059482717867423563421255314036396068406314478675478352712443982795286361311889002904552691626255056018425268121312539682167203281653428699071653723463525177392245639845991016504183382083473993161305916283849286134872301037542999811887687202649143002173358503079563577184841475801686644378449504201888996396223893158479338313481123794456129279150259937072231776955299954637140266723136555673580194323296706910304462780156307978980663439064039098269076544395312530798514649195866969063861109982085162066515444568559660996484416103399571168835978913088511815116082595596894530575125805550674817777865638975936876164479865645056484096655637836278193818173398039377107638828279162206955925150280459235849772630256657633274681282914772059201052299510432801433624862697187350046973777249899631826415540356311525488878291953625806964957470535568669124320496258928589841167816633208060264638679100626865894089997332408881024562594843957165427993194923608529530571971351730082665347173688497873232135949326115969708557877795111385096239768109901304666080748515308309480170339942475853221636041635588430654788881088164915277913377115795772316907743107970942011724896340689520876841285668801824515371463219406246454388402271398689380890085308726651337456593985869002828203530676837552433915773299120577136912237198547941591642672954884785546529796460436746805569916011540574600137868989482697479292056237842678162257456307377063735977525637965298099883940251280149234667246584860660586985989625489078557016966119917556659251594349310805996406350698861096294564927361999733806925340993774513734167246521328696778535467729828372738404712243512030585943821792281473636712029502535543983258698641855312414596645503467353059136364487616184999250900929062361191032528702828208912251221020420620183777654588987551037457227388378864059730306966053966974789365259790704673292936289025690003183908057009583543816876579592608306750071162489138499981643853189308534628522832483994227522132577255569356715695537472844311600498583539066255372550122189054262113855482300288494910076316667923763354259397394652975332424638193017896652669114158184252346031063758626118363495661355967904673398680730491401458528379625568086035953965519274241903896046912253816831343566454161687186166107115078556083087356229548262156338941120415722821688736407971114326333225522789412168452698289253352156491066645595689853484574486469485006035988708144292509817107358834163652952256842524678828748643598837306485872336171797109158435841248595351990803644038522372092391822206137329785671262831546666417994370139235553816170137808390952920176152923308586051910605740899645078510835999942823411776601479796423782505991408561964289459772181161505963699285628396311668216677890147515387044588501001445478371861504451157643068350763957331604357060385484254216468306507829300922227851776755739299037066530661497068242253118756369543584880535697331191350672248958685950131756429800723278651606916976215922907971045714570593961788922993509517853758202223290600867459577746499993105866959543095051185657448708859447139209610955090770459863842257330582151437357225585514188989076744659158997406584418006809470160565025395876310463251263308715525565322177372854264007970924005850109764066184326077268070199676963507790250798138339125308556628866188249183169817819430440797366575030346027674834620413570083909553369933358628443927642520787152176774607789574400350821684270190644993270567533538602526603945992367781173459921610044810066788121294673626418660151038869810898304153656974062929418042685580586973719991723497469008667673213059184674811809970576942774173424542193765606473544835541378480142113356922720037529473549738321713039313239094479967073940487759793658679186398348239622308084600745754064513809608028038682779196745617529798553169416394453294803860317780537944359172889311680676986550298669497717024291592350518862395651342942460483284178345338095445358136503683448348929118227515419998633851854351110736123427304770632664038793651508415951162568323067305892342690979572387887032352771914232110915415151580978478587183338164971866076771321958882883658699163290316562009491699367658139998512676989512704777296097246311257161564272376550771771132207341063939977191092691503680518837413061556204335614606187917571137757428850903884460946966131584775454193208785938191502807115478596005971222465555361134731570680184561578582757082265259422231730654646232247082968651724464303818479115059472250849885678277389975556 | o2 : MutableMatrix |