i1 : m = mutableMatrix map(ZZ^5,ZZ^6, (i,j) -> 100*i+j) o1 = | . . . . . . | | 1 157536965537041165175488513 79221136326288413549090453617582214988603149380032775393045753873679347103737428810698791647263113706575282689198477135930652137291317188670030006057926509831856472550143054466006425134587034426949120010210832597783143689081004098970652114673282224426184172485773967049733965817226715156969648131835381010189470025770375559444559659305270898952170617343578663720139463438305206193729450577009951868047317341521679722886752217921827822705466305632297648679105292595306982225729633137305184703173136534319068330149229142960259210328722455601450057473003629441834416962669954405564521304502500726298911194393554191501157954017925309977598836623748100506311537547090223313424323313673085311409323919977212070953990949404412305207140907616619412378270976434206887105501661848469182736298770557698748104969475842500166345456724876246803841548685455561851856586967869889986216391448174596518073583228454703935275996041071738034755239225816281721293011288588359444337681021846829274952700086230836341401062887321604178406708278357480439226036171803414304571700770050264769130291420603534822495795966981715612394351588510056912232508637273573895372779156159436797233748213294951636931736322625278881149941049169682180025310119656903852664689348405476728233436921288688205034751242856813863451202798101231235894933014025474654357904163264189792879110990531247061528782494741231885291482973616690359904394443018958369073484128300703937149692838128916254439952768266768999800895221352172804608885628145520829329108509888656265795056847497582709463200002373315731960683089450281141672128908771066872542843950397795050900482861371828770525181267955544208230938560999841196913163882946371552828126583680248944964520944418180558701521838650855170095150234372062727397690674991347946365752214498420657007149585319909260780872426315558079608099072865828174703417406185318728278145026184310672633645641700732291542811057990742838365066341014265183949971790930431087121056345347741501667746148234688653065189269356885872908647581204650438736957716528711548574555583977239301969823515430537595181395319473570033411789209713074292228145962019286962544117035974563318921268241513986555088394502711032433789248734183877010959345104750102614262227563661010217640141350231316347211768763385670337883433049195056061300162041862964241528184097908283230852906666992480893473206747006312106694438401261591124362380788902882710265313013071263115504159140550179707220633782158597940373880726872858838789886163551228708805088540541574505134133745949431125107024728689987177439066224173647204385151471810845156172459609697201263898819372465925856032821983943945509201296896112993390414319772317613998628115011584901662481020736975231857679558573639533120123760882987807897148264001476729480741158503008405824181375825684426593602078107066384305742314153383784825815001170364503279303283157714730965700730790958163526085614077255893030881612578737162635171062435305862363661501175783671862584712802832632731639923317926092501167046294294878922434436385815597766578254085927198853219424480746368612964091254086956730350365974846418411767133289280026522101904776721397535481072023153960396155426365282526318432948840966649466716318812335304612541684202901596339076117983534399558629308180937552570931412127563964839611720473046765641026358839977096301838517860717992220124429055320994261412222457829626748188314831526678529121257451724121669436757611557692716596947663821034873517375372433749628434475153359120061495211777091719559441963916844642691242108239222713715540944215042751815205832903182816602051553000809853471087600226541940973229542173962641860015572714026730877762563780111880467244618055586935195897209646109126685288690235443479134420307287200865787784854857681194140932834097813623138157320433948668365280904196167520730495552269155400544459597418276177569668057444229387270850059959177577695113400939572251098823419194625556857107173746511343007800181920881221537624681494893301655822089723344553388000429323171176866004751029713971505534118999127107434111180853160547174861752751626348577776330731649967976997705926985766161797485058129299093471507452375539795559192778297669346728398663209935467310249960415041458812552734910388740750185119204150326407565301155455130213015082150774995891695158121179129263515005175587602007309165752571455482494701985152058285071569163352124307190188600099648633956424637872070374433661282860434946347675030365936337518341250497939530670492049152682751595740299650777955876517336356201954238740449622894424782067167868473814849903355130288000808722848881716523423304369683278744797091680665929947282004599884742141903092455370441529688744167156179077360250483378518119247298849108528250294762208416407986167476148567175178874063800358086027457895630650648669396258429142206700367153305674783250866422661286263393363325796268275165731232739893184194968961403246730119774337399703422463459231675588482935858420765326421555448280339061724466310717136212252868177897932924653530049677696436162757662269366798190208071681769644893941942974134840361829280739998511129729526702298361645614792859833141153396637763978261364317262779683444024446799942602179506309308829708000706164362584967544123944262478613936873150629875606572943548220887109756073849240773353610522128256052318094523961849199416335892154957022886522856407858766221227733233769855803540797195843736795162918258589030898376105673396821691371141078048940078157513454368981977910858251016762020830161673450276912167612177864217402281884081697525964997122986657878537513893383684107209185434682030581611841138320769751165820198510744298727746999807978419121499753915601607922696176540527435469670341293526747506706526024530442810609168649651488186829417974713332892493843632020625662134700088384496204167242147258558309791277779399383749139370284867286168094886544821422737637802164641269558545701441664386153037171353886211403725205681597970913022628953115278573534601804694766770034985736868925734980630049997686944790517637071797350609058196799433236359876639015798606019522872255619522116052138570098167166266498733891031108802657143775059617458142604429165804720101056675638719316542457760009090061209984977397292885275149606401974049153909692505148219826918259844782109296960962668656427745596201014333963313980270250168486273994989481135537270723574107717244316660088927662936290431190977141636475102177302706274086655242143720376303626665531386214442689649201190586832460162739827248970951243047440330228206331631112497739878283020377893436493175592457922732266429291282308155450226625908735145243692396554905981224214276161473784801143286259695282125512040501344451566921615076695587270678352226833487853937549564212575401137028689407768946214072151854724602769103465475825754648083539620644496540756262476390723165771983841025405599650289140025146921553140992130744935601340339721606678745401623060593372384771360928037839290017553053687662881909325377632775454112253161089384150763856706709155478909949994753852927323817406887036600795067326371378788198824332878167341364967879877879238807231553439728369018467221599420820323413253492898108084906827199959825847516517138472194789248173159585268081314575918495931090240886524799021431864303823205292763974048397599206812537350644671886512896943549787393792013585758364951639015903806808257622062909142313231743480044638793538545919980650491431925030133693346821159087402194007666994942204762440475125178705040855041713359185302696287569744680604190515945891306060582731794814908843958353954702356548613096039147793243847008308977635561964476974997951064591650034486821018815827067440683467721305397279261255554886935728702038082522417061993386180239766246562722248573939589551463440216540148757382768091588138660292719477108563071144875031522670308447900691983255937682162468481877091121037630772727278138515616236001256623965847146632370258907566117444498723076761005067670267433967584124059982950527552684126829463945259162716865211890575671788315183102363107529308174560259235390303117426425526334200493809978331057159437911165295498631423603473319109300623522908911153779412709804961551139930617047949474361706760660471241914491395100667580257747629101647580790725836642955974210568542006096121792397082649454719102730385503190578335481925220951303611391214549703657189680455196346478377576648796225287534093375835944628560149537373180156497980646947482611425085448686655661776669311742295297814178013215311938924288491062998382097579430060278739035515872696978219934320562561595472608922323860525399884510982402005269156441982086483021029918558209724470491903799974743155409617616793047923689985178433315018756427849919071082417642288796404481615231515234452681159882921091503004550444101071092708811340514603382017663740887649084380236302609941981934458359114802326529287265867836586784975966554986634154342857441112067919515289522362798595615675285893464419458686422183504043133224290707533174576650932865938948401459027619947526422651202675898412812192885113849595817623488233557657324742800374393771493612612994490199832072720005221382391736290818088439567832190214526069759576939763059225294047689399842770969550271822493372060085246999178803887808375697715787460887952953376038287195940678828372114751832221735499728113180144886805780940960771191887792284320985144166141635393515416730908788312195300491807806540287070491481431962163136379543929660618181107758371359830272070710330540964244840736100126945150261956581967738136878967906151503477030589413476778396488056255128274618652814459320832933615142116047026707587220756919312766986953137529175073213247265939159691046998370580315251080657075929005601304731518695855137789275121205684896535005308306213389054064280969057885721542388986811077341891260041925887056878130127572583927539693499699113748046877120963906069001823409562788230808853853871882873439472647253434523002060852420272156695039139430549806321097367810917227205204247017367003229877344084778548555114682479336206900025536057463019980330999992904087435962707758338762003728511765178466640449320652612534210798892815867357916179819681928104828396478395978907986688587587211048028175297039898923093781251066820216389866502543454979385315466322731193630241277133766306683368683633769391462572687987584895042715635934566846009082053691659625628107925455524966171892172371347581776938133011946883355527792757280423901439843787718910514187571823733633970498290959128713803276395973214824695287254119656282385379882044684859740770770278952462807363972180867983716145726826403124279164669065683519737643851028582182178847409253790169102711752823675738101624258228757004430831589700933826769294222110208159503937943407859874680379804051887083961895061924782547582746137283942772401572559120470890618028176688321500424321999931090462064837742650236200746027254163561595334216630144019027040253177959675166099546895382119057589923150803302324507323848614026929585740973630842804613794984942817152682790916367496479469160062752291871555062959744198529261258320214197863335418932826502335611940388568414533543083903871787619265150316201237229731526540177347040557596914219634494593235084100440185902704961496894801815965828241488132952816404388213547139957096281106720657002724584983296567282421021887309645830545420849278973750640190607812610285157453521737441247551562739193013130693895523904297417282234702467824997650172419479439441255022332965189964811370036473464368552713455590919789499626730938265251068093725738139931895013962725859474556756480116280260627787935108686778592189332291505719726719077482505187732166430397583619665581803192980606593527468509467816727622815672436856982934841596850565981312553199365240177231983103452801762396781049408644396871558903699749565332207142811049048182624446587821028122603421082599612278424274067596446947245822830895127763586085330483630169076457504200909936850085672679490880916987771671515958792100086504441906166883057826386663807415827634696644519029381309240506884533527368051945982355761911196589505004453747172652632673455899462375061151550202616213923220708752452854045423726557808849891888030846969306960246896955191577509230349214673674304878671561397306240994072993825456945871524545215733592827655417488586747072957508855181351739836239516748037158449381239108123306523023110606298661963449674881082925925182603579867432015156377469556858305777174344856478521223612021292097541422140997855352914884173428175300104591711531080100684181580152409902546924543842486751409960437530742940467914808195608386244877173254708593769693062019878116577906713925284724212499272016326655687037805861084034663471955740078323831260597635073616757531455521508225492584632755110967542630950029824124804297778532120880397292269012808717272937581671062086187217594121399060707960164699001290114066485733674124975811987529304662145369009685503503483770721563379402675107892122876415605486214206297448754683781403239806537538455364899600384016511186109979196731136111559988652249109059056168727472084538886421222923955607805422086145083637022950060876062174197864672413969585040042931102016508335956544836945146914417495407775650762282977322790449733124545925755577597392025325814499788040984962636803160041576333869107365103345436520492842564340583591374847080571930935862552516625782779041355969495487938367307196905822099747825409940214053125418301400165599210384369057968532771267647066097632473841493894932527254594748261729799745997254470892900027688147535761266961443652943362375094153936457173896714510094804719288158533617491705759294008994214663249335906030635041546659193089468296514419227259898203401530859419267131796445278056911860935066219071490744507841265663013103787850917716560627115299079929392784960788169389639642636928919137356685242062618011173253577755634544111490406599834395070546417259533081499314590431851416924461990127281271831716927498057263894319433547964585821210845155248304759236791970527909858268437867701766293389873401707383634346559756025253932252491367163869671335498100759208907182013538637647569178546153448742518676269317521023308462569177659615016238936113642996885529852767731796138614878688638842877780137867406890031299172968241732920849371966149656357885139880539429124981550348376736331988147006833619266898444566345127300817815203823325335258988154621191945104250030742389547813660159656194923767664196606864222178844363071769368368051332677090360739802718679846255482242958502316724132148976527954515007040979214783062355493764535649115037845928939623351602345024659399232752828640899098978368318305161153868621362932589755079169515524194859219463128937037204633849923957302777896111420831376689781588431280682001562545944684869845462144566311444801767559873642961031556443638391255946035328870555250650417221780752317097102281493925577371969446917837148517499890255036064376103666695034118363337603533918649961271974933731178820689953982579782978686045781962524719543275212305258940319096448133103196574259967188364791973884067293653657458012240419579259498695348723660227162162879600188828395974312406437918773829123380992849233381182130924608249369085011631847329934590309873276981048132643736423523284570917759081109932019453093981709568753412303492659327511513055252167104627773758907205874287325364171752626827911326697463749124547857093206526587852527879135598610922629533413212015174092751262408925373488262777084550405929349340856800227517186982801591592047964240300863492840675696222269015534032883883102612025464939749833289352980177743079790494925259492559661385544338091000393837526808919607594334611698694542146092603361642919060372707931355592699681174253940818197050151577483458237083916924195192657367489754379603351486382750329675780720825158613498262029087250833484354260392362020895712776147445060604521436082457084469976080050692389689465283543921130443448298095398107825566860199629398748896558634135669864143450732344743347726354193183219523295001626134961221251050305892526894877131524442604245036881159959347590706933419346224961325627357047620358334747565687704087530634509582952699146315146241632097947649099467694106309600019033784242453324013187865105918676115216747368167375032767527872951123551917677181943460360492701073323126080435078584186660281332112992281709779232254000262554743826567951697151516924782351718790736476701475004630496945646669162802759598012617412322743979556583827356441484583471109522579319434904688140160750474988905412403124643600089818616377347442732452260880220388355823287959138902548669131560304064447464172401887665754344994720357204920178380081507231273620321711617161317384656200227990355796489172567824480266205719595875254103528486961913043321524629156056608754707419113027973815872514857999276293627463283866187794381513403912865832677603284970371197083600123401120380586322695158956245276596706214383721354558857089037562707130053260054742734744202988084763653927777474649994138780665077266033924672082527312880963714715258383886660433272009743757283283346401794277856170188873841285186632741415568044572464263721257183696545670831482985486703236554554321535899724642707035608336958752844522088031592564258373135456228062798490611400040099370078444247271837026218598406215450096826121949258558249898426360645241282588908412301836433334195102389455241965543224242494472686979181979185304746977166732425106470662847078319242300882404838882003974555160493326816676054673164365937940788859371740380695529222718176738168126230269972507468390326378262727058833827357095351876237870882699658902498016750024789502543983133998729309768155475011541898013582665402387614983778495523912681155437702760410327716367727980454934522001884214988828982116202928198877921387914576429831578536772403435353102345441407858655311197521698136753183283678392654226667415201660482169948818388798078587961359406962051924687055314266874539163706145943784192476811827392507217460179669237956663113931204102391823403491285138309159393613753459946786436434249408601354445219285260153705778873062401882489015155859181106130909087223388270132621053167735649791057516700969331050831767473915387634476821081996453578752909027898881306998085677010236964594100761809812674596745983016379007558263265902138532393141878173723343331166665618655850930452171869925784143562009610232240549822051232822897386348096887044829037744532775417507592735255736759028132203779236742796708787633759168281068935506928962696877287482149572576469226299733363296640700583260140668151131660903070634515265269207868533892946786164272400309255711460581796370748485810643597107508963888000599560396171175324300763410922537189977726411851056328568385573759407184709610640385738775590686048622728776066124108330638018888944800410216389682447055448045506959896420234279724741396928446483976999003379342636659226301636638934620324600669840013171950307928182391850298957910082285952313038330642697116563977763364052439314631881530856882361992472221274598232592241890576815217353791826922131313867530763529275579557853399025153416333305829343510750163381485372330447502536021151706314494817523464378447591164476901771795208090496696379306596793260016169486135540698009198585145228198445090647372504929301076363417644859887133064448794607215090348994305409486183720833501981974658894223358009282899971414827561727218338857611964071144272530464326052725056564607933593908898010914086885481916031506845910740986255670424632647146972780772000969920580745403229559628386278701474885773641123342129779563012920766032424173830238803850458383505331993101891601874667129393445351816988403766960826495486663605743905224024747323249708127688321718597344268664923016251445185749026225810724728051636481236825691021084841411394975750051642829246586337101865697930605013006383930123481539568547101184905853704362922639321504987417319279504061170306566168988076846930998831697441575265420776020276716496345463629962805249 79221136326288413549090453617582214988603149380032775393045753873679347103737428810698791647263113706575282689198477135930652137291317188670030006057926509831856472550143054466006425134587034426949120010210832597783143689081004098970652114673282224426184172485773967049733965817226715156969648131835381010189470025770375559444559659305270898952170617343578663720139463438305206193729450577009951868047317341521679722886752217921827822705466305632297648679105292595306982225729633137305184703173136534319068330149229142960259210328722455601450057473003629441834416962669954405564521304502500726298911194393554191501157954017925309977598836623748100506311537547090223313424323313673085311409323919977212070953990949404412305207140907616619412378270976434206887105501661848469182736298770557698748104969475842500166345456724876246803841548685455561851856586967869889986216391448174596518073583228454703935275996041071738034755239225816281721293011288588359444337681021846829274952700086230836341401062887321604178406708278357480439226036171803414304571700770050264769130291420603534822495795966981715612394351588510056912232508637273573895372779156159436797233748213294951636931736322625278881149941049169682180025310119656903852664689348405476728233436921288688205034751242856813863451202798101231235894933014025474654357904163264189792879110990531247061528782494741231885291482973616690359904394443018958369073484128300703937149692838128916254439952768266768999800895221352172804608885628145520829329108509888656265795056847497582709463200002373315731960683089450281141672128908771066872542843950397795050900482861371828770525181267955544208230938560999841196913163882946371552828126583680248944964520944418180558701521838650855170095150234372062727397690674991347946365752214498420657007149585319909260780872426315558079608099072865828174703417406185318728278145026184310672633645641700732291542811057990742838365066341014265183949971790930431087121056345347741501667746148234688653065189269356885872908647581204650438736957716528711548574555583977239301969823515430537595181395319473570033411789209713074292228145962019286962544117035974563318921268241513986555088394502711032433789248734183877010959345104750102614262227563661010217640141350231316347211768763385670337883433049195056061300162041862964241528184097908283230852906666992480893473206747006312106694438401261591124362380788902882710265313013071263115504159140550179707220633782158597940373880726872858838789886163551228708805088540541574505134133745949431125107024728689987177439066224173647204385151471810845156172459609697201263898819372465925856032821983943945509201296896112993390414319772317613998628115011584901662481020736975231857679558573639533120123760882987807897148264001476729480741158503008405824181375825684426593602078107066384305742314153383784825815001170364503279303283157714730965700730790958163526085614077255893030881612578737162635171062435305862363661501175783671862584712802832632731639923317926092501167046294294878922434436385815597766578254085927198853219424480746368612964091254086956730350365974846418411767133289280026522101904776721397535481072023153960396155426365282526318432948840966649466716318812335304612541684202901596339076117983534399558629308180937552570931412127563964839611720473046765641026358839977096301838517860717992220124429055320994261412222457829626748188314831526678529121257451724121669436757611557692716596947663821034873517375372433749628434475153359120061495211777091719559441963916844642691242108239222713715540944215042751815205832903182816602051553000809853471087600226541940973229542173962641860015572714026730877762563780111880467244618055586935195897209646109126685288690235443479134420307287200865787784854857681194140932834097813623138157320433948668365280904196167520730495552269155400544459597418276177569668057444229387270850059959177577695113400939572251098823419194625556857107173746511343007800181920881221537624681494893301655822089723344553388000429323171176866004751029713971505534118999127107434111180853160547174861752751626348577776330731649967976997705926985766161797485058129299093471507452375539795559192778297669346728398663209935467310249960415041458812552734910388740750185119204150326407565301155455130213015082150774995891695158121179129263515005175587602007309165752571455482494701985152058285071569163352124307190188600099648633956424637872070374433661282860434946347675030365936337518341250497939530670492049152682751595740299650777955876517336356201954238740449622894424782067167868473814849903355130288000808722848881716523423304369683278744797091680665929947282004599884742141903092455370441529688744167156179077360250483378518119247298849108528250294762208416407986167476148567175178874063800358086027457895630650648669396258429142206700367153305674783250866422661286263393363325796268275165731232739893184194968961403246730119774337399703422463459231675588482935858420765326421555448280339061724466310717136212252868177897932924653530049677696436162757662269366798190208071681769644893941942974134840361829280739998511129729526702298361645614792859833141153396637763978261364317262779683444024446799942602179506309308829708000706164362584967544123944262478613936873150629875606572943548220887109756073849240773353610522128256052318094523961849199416335892154957022886522856407858766221227733233769855803540797195843736795162918258589030898376105673396821691371141078048940078157513454368981977910858251016762020830161673450276912167612177864217402281884081697525964997122986657878537513893383684107209185434682030581611841138320769751165820198510744298727746999807978419121499753915601607922696176540527435469670341293526747506706526024530442810609168649651488186829417974713332892493843632020625662134700088384496204167242147258558309791277779399383749139370284867286168094886544821422737637802164641269558545701441664386153037171353886211403725205681597970913022628953115278573534601804694766770034985736868925734980630049997686944790517637071797350609058196799433236359876639015798606019522872255619522116052138570098167166266498733891031108802657143775059617458142604429165804720101056675638719316542457760009090061209984977397292885275149606401974049153909692505148219826918259844782109296960962668656427745596201014333963313980270250168486273994989481135537270723574107717244316660088927662936290431190977141636475102177302706274086655242143720376303626665531386214442689649201190586832460162739827248970951243047440330228206331631112497739878283020377893436493175592457922732266429291282308155450226625908735145243692396554905981224214276161473784801143286259695282125512040501344451566921615076695587270678352226833487853937549564212575401137028689407768946214072151854724602769103465475825754648083539620644496540756262476390723165771983841025405599650289140025146921553140992130744935601340339721606678745401623060593372384771360928037839290017553053687662881909325377632775454112253161089384150763856706709155478909949994753852927323817406887036600795067326371378788198824332878167341364967879877879238807231553439728369018467221599420820323413253492898108084906827199959825847516517138472194789248173159585268081314575918495931090240886524799021431864303823205292763974048397599206812537350644671886512896943549787393792013585758364951639015903806808257622062909142313231743480044638793538545919980650491431925030133693346821159087402194007666994942204762440475125178705040855041713359185302696287569744680604190515945891306060582731794814908843958353954702356548613096039147793243847008308977635561964476974997951064591650034486821018815827067440683467721305397279261255554886935728702038082522417061993386180239766246562722248573939589551463440216540148757382768091588138660292719477108563071144875031522670308447900691983255937682162468481877091121037630772727278138515616236001256623965847146632370258907566117444498723076761005067670267433967584124059982950527552684126829463945259162716865211890575671788315183102363107529308174560259235390303117426425526334200493809978331057159437911165295498631423603473319109300623522908911153779412709804961551139930617047949474361706760660471241914491395100667580257747629101647580790725836642955974210568542006096121792397082649454719102730385503190578335481925220951303611391214549703657189680455196346478377576648796225287534093375835944628560149537373180156497980646947482611425085448686655661776669311742295297814178013215311938924288491062998382097579430060278739035515872696978219934320562561595472608922323860525399884510982402005269156441982086483021029918558209724470491903799974743155409617616793047923689985178433315018756427849919071082417642288796404481615231515234452681159882921091503004550444101071092708811340514603382017663740887649084380236302609941981934458359114802326529287265867836586784975966554986634154342857441112067919515289522362798595615675285893464419458686422183504043133224290707533174576650932865938948401459027619947526422651202675898412812192885113849595817623488233557657324742800374393771493612612994490199832072720005221382391736290818088439567832190214526069759576939763059225294047689399842770969550271822493372060085246999178803887808375697715787460887952953376038287195940678828372114751832221735499728113180144886805780940960771191887792284320985144166141635393515416730908788312195300491807806540287070491481431962163136379543929660618181107758371359830272070710330540964244840736100126945150261956581967738136878967906151503477030589413476778396488056255128274618652814459320832933615142116047026707587220756919312766986953137529175073213247265939159691046998370580315251080657075929005601304731518695855137789275121205684896535005308306213389054064280969057885721542388986811077341891260041925887056878130127572583927539693499699113748046877120963906069001823409562788230808853853871882873439472647253434523002060852420272156695039139430549806321097367810917227205204247017367003229877344084778548555114682479336206900025536057463019980330999992904087435962707758338762003728511765178466640449320652612534210798892815867357916179819681928104828396478395978907986688587587211048028175297039898923093781251066820216389866502543454979385315466322731193630241277133766306683368683633769391462572687987584895042715635934566846009082053691659625628107925455524966171892172371347581776938133011946883355527792757280423901439843787718910514187571823733633970498290959128713803276395973214824695287254119656282385379882044684859740770770278952462807363972180867983716145726826403124279164669065683519737643851028582182178847409253790169102711752823675738101624258228757004430831589700933826769294222110208159503937943407859874680379804051887083961895061924782547582746137283942772401572559120470890618028176688321500424321999931090462064837742650236200746027254163561595334216630144019027040253177959675166099546895382119057589923150803302324507323848614026929585740973630842804613794984942817152682790916367496479469160062752291871555062959744198529261258320214197863335418932826502335611940388568414533543083903871787619265150316201237229731526540177347040557596914219634494593235084100440185902704961496894801815965828241488132952816404388213547139957096281106720657002724584983296567282421021887309645830545420849278973750640190607812610285157453521737441247551562739193013130693895523904297417282234702467824997650172419479439441255022332965189964811370036473464368552713455590919789499626730938265251068093725738139931895013962725859474556756480116280260627787935108686778592189332291505719726719077482505187732166430397583619665581803192980606593527468509467816727622815672436856982934841596850565981312553199365240177231983103452801762396781049408644396871558903699749565332207142811049048182624446587821028122603421082599612278424274067596446947245822830895127763586085330483630169076457504200909936850085672679490880916987771671515958792100086504441906166883057826386663807415827634696644519029381309240506884533527368051945982355761911196589505004453747172652632673455899462375061151550202616213923220708752452854045423726557808849891888030846969306960246896955191577509230349214673674304878671561397306240994072993825456945871524545215733592827655417488586747072957508855181351739836239516748037158449381239108123306523023110606298661963449674881082925925182603579867432015156377469556858305777174344856478521223612021292097541422140997855352914884173428175300104591711531080100684181580152409902546924543842486751409960437530742940467914808195608386244877173254708593769693062019878116577906713925284724212499272016326655687037805861084034663471955740078323831260597635073616757531455521508225492584632755110967542630950029824124804297778532120880397292269012808717272937581671062086187217594121399060707960164699001290114066485733674124975811987529304662145369009685503503483770721563379402675107892122876415605486214206297448754683781403239806537538455364899600384016511186109979196731136111559988652249109059056168727472084538886421222923955607805422086145083637022950060876062174197864672413969585040042931102016508335956544836945146914417495407775650762282977322790449733124545925755577597392025325814499788040984962636803160041576333869107365103345436520492842564340583591374847080571930935862552516625782779041355969495487938367307196905822099747825409940214053125418301400165599210384369057968532771267647066097632473841493894932527254594748261729799745997254470892900027688147535761266961443652943362375094153936457173896714510094804719288158533617491705759294008994214663249335906030635041546659193089468296514419227259898203401530859419267131796445278056911860935066219071490744507841265663013103787850917716560627115299079929392784960788169389639642636928919137356685242062618011173253577755634544111490406599834395070546417259533081499314590431851416924461990127281271831716927498057263894319433547964585821210845155248304759236791970527909858268437867701766293389873401707383634346559756025253932252491367163869671335498100759208907182013538637647569178546153448742518676269317521023308462569177659615016238936113642996885529852767731796138614878688638842877780137867406890031299172968241732920849371966149656357885139880539429124981550348376736331988147006833619266898444566345127300817815203823325335258988154621191945104250030742389547813660159656194923767664196606864222178844363071769368368051332677090360739802718679846255482242958502316724132148976527954515007040979214783062355493764535649115037845928939623351602345024659399232752828640899098978368318305161153868621362932589755079169515524194859219463128937037204633849923957302777896111420831376689781588431280682001562545944684869845462144566311444801767559873642961031556443638391255946035328870555250650417221780752317097102281493925577371969446917837148517499890255036064376103666695034118363337603533918649961271974933731178820689953982579782978686045781962524719543275212305258940319096448133103196574259967188364791973884067293653657458012240419579259498695348723660227162162879600188828395974312406437918773829123380992849233381182130924608249369085011631847329934590309873276981048132643736423523284570917759081109932019453093981709568753412303492659327511513055252167104627773758907205874287325364171752626827911326697463749124547857093206526587852527879135598610922629533413212015174092751262408925373488262777084550405929349340856800227517186982801591592047964240300863492840675696222269015534032883883102612025464939749833289352980177743079790494925259492559661385544338091000393837526808919607594334611698694542146092603361642919060372707931355592699681174253940818197050151577483458237083916924195192657367489754379603351486382750329675780720825158613498262029087250833484354260392362020895712776147445060604521436082457084469976080050692389689465283543921130443448298095398107825566860199629398748896558634135669864143450732344743347726354193183219523295001626134961221251050305892526894877131524442604245036881159959347590706933419346224961325627357047620358334747565687704087530634509582952699146315146241632097947649099467694106309600019033784242453324013187865105918676115216747368167375032767527872951123551917677181943460360492701073323126080435078584186660281332112992281709779232254000262554743826567951697151516924782351718790736476701475004630496945646669162802759598012617412322743979556583827356441484583471109522579319434904688140160750474988905412403124643600089818616377347442732452260880220388355823287959138902548669131560304064447464172401887665754344994720357204920178380081507231273620321711617161317384656200227990355796489172567824480266205719595875254103528486961913043321524629156056608754707419113027973815872514857999276293627463283866187794381513403912865832677603284970371197083600123401120380586322695158956245276596706214383721354558857089037562707130053260054742734744202988084763653927777474649994138780665077266033924672082527312880963714715258383886660433272009743757283283346401794277856170188873841285186632741415568044572464263721257183696545670831482985486703236554554321535899724642707035608336958752844522088031592564258373135456228062798490611400040099370078444247271837026218598406215450096826121949258558249898426360645241282588908412301836433334195102389455241965543224242494472686979181979185304746977166732425106470662847078319242300882404838882003974555160493326816676054673164365937940788859371740380695529222718176738168126230269972507468390326378262727058833827357095351876237870882699658902498016750024789502543983133998729309768155475011541898013582665402387614983778495523912681155437702760410327716367727980454934522001884214988828982116202928198877921387914576429831578536772403435353102345441407858655311197521698136753183283678392654226667415201660482169948818388798078587961359406962051924687055314266874539163706145943784192476811827392507217460179669237956663113931204102391823403491285138309159393613753459946786436434249408601354445219285260153705778873062401882489015155859181106130909087223388270132621053167735649791057516700969331050831767473915387634476821081996453578752909027898881306998085677010236964594100761809812674596745983016379007558263265902138532393141878173723343331166665618655850930452171869925784143562009610232240549822051232822897386348096887044829037744532775417507592735255736759028132203779236742796708787633759168281068935506928962696877287482149572576469226299733363296640700583260140668151131660903070634515265269207868533892946786164272400309255711460581796370748485810643597107508963888000599560396171175324300763410922537189977726411851056328568385573759407184709610640385738775590686048622728776066124108330638018888944800410216389682447055448045506959896420234279724741396928446483976999003379342636659226301636638934620324600669840013171950307928182391850298957910082285952313038330642697116563977763364052439314631881530856882361992472221274598232592241890576815217353791826922131313867530763529275579557853399025153416333305829343510750163381485372330447502536021151706314494817523464378447591164476901771795208090496696379306596793260016169486135540698009198585145228198445090647372504929301076363417644859887133064448794607215090348994305409486183720833501981974658894223358009282899971414827561727218338857611964071144272530464326052725056564607933593908898010914086885481916031506845910740986255670424632647146972780772000969920580745403229559628386278701474885773641123342129779563012920766032424173830238803850458383505331993101891601874667129393445351816988403766960826495486663605743905224024747323249708127688321718597344268664923016251445185749026225810724728051636481236825691021084841411394975750051642829246586337101865697930605013006383930123481539568547101184905853704362922639321504987417319279504061170306566168988076846930998831697441575265420776020276716496345463629962805249 79221136326288413549090453617582214988603149380032775393045753873679347103737428810698791647263113706575282689198477135930652137291317188670030006057926509831856472550143054466006425134587034426949120010210832597783143689081004098970652114673282224426184172485773967049733965817226715156969648131835381010189470025770375559444559659305270898952170617343578663720139463438305206193729450577009951868047317341521679722886752217921827822705466305632297648679105292595306982225729633137305184703173136534319068330149229142960259210328722455601450057473003629441834416962669954405564521304502500726298911194393554191501157954017925309977598836623748100506311537547090223313424323313673085311409323919977212070953990949404412305207140907616619412378270976434206887105501661848469182736298770557698748104969475842500166345456724876246803841548685455561851856586967869889986216391448174596518073583228454703935275996041071738034755239225816281721293011288588359444337681021846829274952700086230836341401062887321604178406708278357480439226036171803414304571700770050264769130291420603534822495795966981715612394351588510056912232508637273573895372779156159436797233748213294951636931736322625278881149941049169682180025310119656903852664689348405476728233436921288688205034751242856813863451202798101231235894933014025474654357904163264189792879110990531247061528782494741231885291482973616690359904394443018958369073484128300703937149692838128916254439952768266768999800895221352172804608885628145520829329108509888656265795056847497582709463200002373315731960683089450281141672128908771066872542843950397795050900482861371828770525181267955544208230938560999841196913163882946371552828126583680248944964520944418180558701521838650855170095150234372062727397690674991347946365752214498420657007149585319909260780872426315558079608099072865828174703417406185318728278145026184310672633645641700732291542811057990742838365066341014265183949971790930431087121056345347741501667746148234688653065189269356885872908647581204650438736957716528711548574555583977239301969823515430537595181395319473570033411789209713074292228145962019286962544117035974563318921268241513986555088394502711032433789248734183877010959345104750102614262227563661010217640141350231316347211768763385670337883433049195056061300162041862964241528184097908283230852906666992480893473206747006312106694438401261591124362380788902882710265313013071263115504159140550179707220633782158597940373880726872858838789886163551228708805088540541574505134133745949431125107024728689987177439066224173647204385151471810845156172459609697201263898819372465925856032821983943945509201296896112993390414319772317613998628115011584901662481020736975231857679558573639533120123760882987807897148264001476729480741158503008405824181375825684426593602078107066384305742314153383784825815001170364503279303283157714730965700730790958163526085614077255893030881612578737162635171062435305862363661501175783671862584712802832632731639923317926092501167046294294878922434436385815597766578254085927198853219424480746368612964091254086956730350365974846418411767133289280026522101904776721397535481072023153960396155426365282526318432948840966649466716318812335304612541684202901596339076117983534399558629308180937552570931412127563964839611720473046765641026358839977096301838517860717992220124429055320994261412222457829626748188314831526678529121257451724121669436757611557692716596947663821034873517375372433749628434475153359120061495211777091719559441963916844642691242108239222713715540944215042751815205832903182816602051553000809853471087600226541940973229542173962641860015572714026730877762563780111880467244618055586935195897209646109126685288690235443479134420307287200865787784854857681194140932834097813623138157320433948668365280904196167520730495552269155400544459597418276177569668057444229387270850059959177577695113400939572251098823419194625556857107173746511343007800181920881221537624681494893301655822089723344553388000429323171176866004751029713971505534118999127107434111180853160547174861752751626348577776330731649967976997705926985766161797485058129299093471507452375539795559192778297669346728398663209935467310249960415041458812552734910388740750185119204150326407565301155455130213015082150774995891695158121179129263515005175587602007309165752571455482494701985152058285071569163352124307190188600099648633956424637872070374433661282860434946347675030365936337518341250497939530670492049152682751595740299650777955876517336356201954238740449622894424782067167868473814849903355130288000808722848881716523423304369683278744797091680665929947282004599884742141903092455370441529688744167156179077360250483378518119247298849108528250294762208416407986167476148567175178874063800358086027457895630650648669396258429142206700367153305674783250866422661286263393363325796268275165731232739893184194968961403246730119774337399703422463459231675588482935858420765326421555448280339061724466310717136212252868177897932924653530049677696436162757662269366798190208071681769644893941942974134840361829280739998511129729526702298361645614792859833141153396637763978261364317262779683444024446799942602179506309308829708000706164362584967544123944262478613936873150629875606572943548220887109756073849240773353610522128256052318094523961849199416335892154957022886522856407858766221227733233769855803540797195843736795162918258589030898376105673396821691371141078048940078157513454368981977910858251016762020830161673450276912167612177864217402281884081697525964997122986657878537513893383684107209185434682030581611841138320769751165820198510744298727746999807978419121499753915601607922696176540527435469670341293526747506706526024530442810609168649651488186829417974713332892493843632020625662134700088384496204167242147258558309791277779399383749139370284867286168094886544821422737637802164641269558545701441664386153037171353886211403725205681597970913022628953115278573534601804694766770034985736868925734980630049997686944790517637071797350609058196799433236359876639015798606019522872255619522116052138570098167166266498733891031108802657143775059617458142604429165804720101056675638719316542457760009090061209984977397292885275149606401974049153909692505148219826918259844782109296960962668656427745596201014333963313980270250168486273994989481135537270723574107717244316660088927662936290431190977141636475102177302706274086655242143720376303626665531386214442689649201190586832460162739827248970951243047440330228206331631112497739878283020377893436493175592457922732266429291282308155450226625908735145243692396554905981224214276161473784801143286259695282125512040501344451566921615076695587270678352226833487853937549564212575401137028689407768946214072151854724602769103465475825754648083539620644496540756262476390723165771983841025405599650289140025146921553140992130744935601340339721606678745401623060593372384771360928037839290017553053687662881909325377632775454112253161089384150763856706709155478909949994753852927323817406887036600795067326371378788198824332878167341364967879877879238807231553439728369018467221599420820323413253492898108084906827199959825847516517138472194789248173159585268081314575918495931090240886524799021431864303823205292763974048397599206812537350644671886512896943549787393792013585758364951639015903806808257622062909142313231743480044638793538545919980650491431925030133693346821159087402194007666994942204762440475125178705040855041713359185302696287569744680604190515945891306060582731794814908843958353954702356548613096039147793243847008308977635561964476974997951064591650034486821018815827067440683467721305397279261255554886935728702038082522417061993386180239766246562722248573939589551463440216540148757382768091588138660292719477108563071144875031522670308447900691983255937682162468481877091121037630772727278138515616236001256623965847146632370258907566117444498723076761005067670267433967584124059982950527552684126829463945259162716865211890575671788315183102363107529308174560259235390303117426425526334200493809978331057159437911165295498631423603473319109300623522908911153779412709804961551139930617047949474361706760660471241914491395100667580257747629101647580790725836642955974210568542006096121792397082649454719102730385503190578335481925220951303611391214549703657189680455196346478377576648796225287534093375835944628560149537373180156497980646947482611425085448686655661776669311742295297814178013215311938924288491062998382097579430060278739035515872696978219934320562561595472608922323860525399884510982402005269156441982086483021029918558209724470491903799974743155409617616793047923689985178433315018756427849919071082417642288796404481615231515234452681159882921091503004550444101071092708811340514603382017663740887649084380236302609941981934458359114802326529287265867836586784975966554986634154342857441112067919515289522362798595615675285893464419458686422183504043133224290707533174576650932865938948401459027619947526422651202675898412812192885113849595817623488233557657324742800374393771493612612994490199832072720005221382391736290818088439567832190214526069759576939763059225294047689399842770969550271822493372060085246999178803887808375697715787460887952953376038287195940678828372114751832221735499728113180144886805780940960771191887792284320985144166141635393515416730908788312195300491807806540287070491481431962163136379543929660618181107758371359830272070710330540964244840736100126945150261956581967738136878967906151503477030589413476778396488056255128274618652814459320832933615142116047026707587220756919312766986953137529175073213247265939159691046998370580315251080657075929005601304731518695855137789275121205684896535005308306213389054064280969057885721542388986811077341891260041925887056878130127572583927539693499699113748046877120963906069001823409562788230808853853871882873439472647253434523002060852420272156695039139430549806321097367810917227205204247017367003229877344084778548555114682479336206900025536057463019980330999992904087435962707758338762003728511765178466640449320652612534210798892815867357916179819681928104828396478395978907986688587587211048028175297039898923093781251066820216389866502543454979385315466322731193630241277133766306683368683633769391462572687987584895042715635934566846009082053691659625628107925455524966171892172371347581776938133011946883355527792757280423901439843787718910514187571823733633970498290959128713803276395973214824695287254119656282385379882044684859740770770278952462807363972180867983716145726826403124279164669065683519737643851028582182178847409253790169102711752823675738101624258228757004430831589700933826769294222110208159503937943407859874680379804051887083961895061924782547582746137283942772401572559120470890618028176688321500424321999931090462064837742650236200746027254163561595334216630144019027040253177959675166099546895382119057589923150803302324507323848614026929585740973630842804613794984942817152682790916367496479469160062752291871555062959744198529261258320214197863335418932826502335611940388568414533543083903871787619265150316201237229731526540177347040557596914219634494593235084100440185902704961496894801815965828241488132952816404388213547139957096281106720657002724584983296567282421021887309645830545420849278973750640190607812610285157453521737441247551562739193013130693895523904297417282234702467824997650172419479439441255022332965189964811370036473464368552713455590919789499626730938265251068093725738139931895013962725859474556756480116280260627787935108686778592189332291505719726719077482505187732166430397583619665581803192980606593527468509467816727622815672436856982934841596850565981312553199365240177231983103452801762396781049408644396871558903699749565332207142811049048182624446587821028122603421082599612278424274067596446947245822830895127763586085330483630169076457504200909936850085672679490880916987771671515958792100086504441906166883057826386663807415827634696644519029381309240506884533527368051945982355761911196589505004453747172652632673455899462375061151550202616213923220708752452854045423726557808849891888030846969306960246896955191577509230349214673674304878671561397306240994072993825456945871524545215733592827655417488586747072957508855181351739836239516748037158449381239108123306523023110606298661963449674881082925925182603579867432015156377469556858305777174344856478521223612021292097541422140997855352914884173428175300104591711531080100684181580152409902546924543842486751409960437530742940467914808195608386244877173254708593769693062019878116577906713925284724212499272016326655687037805861084034663471955740078323831260597635073616757531455521508225492584632755110967542630950029824124804297778532120880397292269012808717272937581671062086187217594121399060707960164699001290114066485733674124975811987529304662145369009685503503483770721563379402675107892122876415605486214206297448754683781403239806537538455364899600384016511186109979196731136111559988652249109059056168727472084538886421222923955607805422086145083637022950060876062174197864672413969585040042931102016508335956544836945146914417495407775650762282977322790449733124545925755577597392025325814499788040984962636803160041576333869107365103345436520492842564340583591374847080571930935862552516625782779041355969495487938367307196905822099747825409940214053125418301400165599210384369057968532771267647066097632473841493894932527254594748261729799745997254470892900027688147535761266961443652943362375094153936457173896714510094804719288158533617491705759294008994214663249335906030635041546659193089468296514419227259898203401530859419267131796445278056911860935066219071490744507841265663013103787850917716560627115299079929392784960788169389639642636928919137356685242062618011173253577755634544111490406599834395070546417259533081499314590431851416924461990127281271831716927498057263894319433547964585821210845155248304759236791970527909858268437867701766293389873401707383634346559756025253932252491367163869671335498100759208907182013538637647569178546153448742518676269317521023308462569177659615016238936113642996885529852767731796138614878688638842877780137867406890031299172968241732920849371966149656357885139880539429124981550348376736331988147006833619266898444566345127300817815203823325335258988154621191945104250030742389547813660159656194923767664196606864222178844363071769368368051332677090360739802718679846255482242958502316724132148976527954515007040979214783062355493764535649115037845928939623351602345024659399232752828640899098978368318305161153868621362932589755079169515524194859219463128937037204633849923957302777896111420831376689781588431280682001562545944684869845462144566311444801767559873642961031556443638391255946035328870555250650417221780752317097102281493925577371969446917837148517499890255036064376103666695034118363337603533918649961271974933731178820689953982579782978686045781962524719543275212305258940319096448133103196574259967188364791973884067293653657458012240419579259498695348723660227162162879600188828395974312406437918773829123380992849233381182130924608249369085011631847329934590309873276981048132643736423523284570917759081109932019453093981709568753412303492659327511513055252167104627773758907205874287325364171752626827911326697463749124547857093206526587852527879135598610922629533413212015174092751262408925373488262777084550405929349340856800227517186982801591592047964240300863492840675696222269015534032883883102612025464939749833289352980177743079790494925259492559661385544338091000393837526808919607594334611698694542146092603361642919060372707931355592699681174253940818197050151577483458237083916924195192657367489754379603351486382750329675780720825158613498262029087250833484354260392362020895712776147445060604521436082457084469976080050692389689465283543921130443448298095398107825566860199629398748896558634135669864143450732344743347726354193183219523295001626134961221251050305892526894877131524442604245036881159959347590706933419346224961325627357047620358334747565687704087530634509582952699146315146241632097947649099467694106309600019033784242453324013187865105918676115216747368167375032767527872951123551917677181943460360492701073323126080435078584186660281332112992281709779232254000262554743826567951697151516924782351718790736476701475004630496945646669162802759598012617412322743979556583827356441484583471109522579319434904688140160750474988905412403124643600089818616377347442732452260880220388355823287959138902548669131560304064447464172401887665754344994720357204920178380081507231273620321711617161317384656200227990355796489172567824480266205719595875254103528486961913043321524629156056608754707419113027973815872514857999276293627463283866187794381513403912865832677603284970371197083600123401120380586322695158956245276596706214383721354558857089037562707130053260054742734744202988084763653927777474649994138780665077266033924672082527312880963714715258383886660433272009743757283283346401794277856170188873841285186632741415568044572464263721257183696545670831482985486703236554554321535899724642707035608336958752844522088031592564258373135456228062798490611400040099370078444247271837026218598406215450096826121949258558249898426360645241282588908412301836433334195102389455241965543224242494472686979181979185304746977166732425106470662847078319242300882404838882003974555160493326816676054673164365937940788859371740380695529222718176738168126230269972507468390326378262727058833827357095351876237870882699658902498016750024789502543983133998729309768155475011541898013582665402387614983778495523912681155437702760410327716367727980454934522001884214988828982116202928198877921387914576429831578536772403435353102345441407858655311197521698136753183283678392654226667415201660482169948818388798078587961359406962051924687055314266874539163706145943784192476811827392507217460179669237956663113931204102391823403491285138309159393613753459946786436434249408601354445219285260153705778873062401882489015155859181106130909087223388270132621053167735649791057516700969331050831767473915387634476821081996453578752909027898881306998085677010236964594100761809812674596745983016379007558263265902138532393141878173723343331166665618655850930452171869925784143562009610232240549822051232822897386348096887044829037744532775417507592735255736759028132203779236742796708787633759168281068935506928962696877287482149572576469226299733363296640700583260140668151131660903070634515265269207868533892946786164272400309255711460581796370748485810643597107508963888000599560396171175324300763410922537189977726411851056328568385573759407184709610640385738775590686048622728776066124108330638018888944800410216389682447055448045506959896420234279724741396928446483976999003379342636659226301636638934620324600669840013171950307928182391850298957910082285952313038330642697116563977763364052439314631881530856882361992472221274598232592241890576815217353791826922131313867530763529275579557853399025153416333305829343510750163381485372330447502536021151706314494817523464378447591164476901771795208090496696379306596793260016169486135540698009198585145228198445090647372504929301076363417644859887133064448794607215090348994305409486183720833501981974658894223358009282899971414827561727218338857611964071144272530464326052725056564607933593908898010914086885481916031506845910740986255670424632647146972780772000969920580745403229559628386278701474885773641123342129779563012920766032424173830238803850458383505331993101891601874667129393445351816988403766960826495486663605743905224024747323249708127688321718597344268664923016251445185749026225810724728051636481236825691021084841411394975750051642829246586337101865697930605013006383930123481539568547101184905853704362922639321504987417319279504061170306566168988076846930998831697441575265420776020276716496345463629962805249 79221136326288413549090453617582214988603149380032775393045753873679347103737428810698791647263113706575282689198477135930652137291317188670030006057926509831856472550143054466006425134587034426949120010210832597783143689081004098970652114673282224426184172485773967049733965817226715156969648131835381010189470025770375559444559659305270898952170617343578663720139463438305206193729450577009951868047317341521679722886752217921827822705466305632297648679105292595306982225729633137305184703173136534319068330149229142960259210328722455601450057473003629441834416962669954405564521304502500726298911194393554191501157954017925309977598836623748100506311537547090223313424323313673085311409323919977212070953990949404412305207140907616619412378270976434206887105501661848469182736298770557698748104969475842500166345456724876246803841548685455561851856586967869889986216391448174596518073583228454703935275996041071738034755239225816281721293011288588359444337681021846829274952700086230836341401062887321604178406708278357480439226036171803414304571700770050264769130291420603534822495795966981715612394351588510056912232508637273573895372779156159436797233748213294951636931736322625278881149941049169682180025310119656903852664689348405476728233436921288688205034751242856813863451202798101231235894933014025474654357904163264189792879110990531247061528782494741231885291482973616690359904394443018958369073484128300703937149692838128916254439952768266768999800895221352172804608885628145520829329108509888656265795056847497582709463200002373315731960683089450281141672128908771066872542843950397795050900482861371828770525181267955544208230938560999841196913163882946371552828126583680248944964520944418180558701521838650855170095150234372062727397690674991347946365752214498420657007149585319909260780872426315558079608099072865828174703417406185318728278145026184310672633645641700732291542811057990742838365066341014265183949971790930431087121056345347741501667746148234688653065189269356885872908647581204650438736957716528711548574555583977239301969823515430537595181395319473570033411789209713074292228145962019286962544117035974563318921268241513986555088394502711032433789248734183877010959345104750102614262227563661010217640141350231316347211768763385670337883433049195056061300162041862964241528184097908283230852906666992480893473206747006312106694438401261591124362380788902882710265313013071263115504159140550179707220633782158597940373880726872858838789886163551228708805088540541574505134133745949431125107024728689987177439066224173647204385151471810845156172459609697201263898819372465925856032821983943945509201296896112993390414319772317613998628115011584901662481020736975231857679558573639533120123760882987807897148264001476729480741158503008405824181375825684426593602078107066384305742314153383784825815001170364503279303283157714730965700730790958163526085614077255893030881612578737162635171062435305862363661501175783671862584712802832632731639923317926092501167046294294878922434436385815597766578254085927198853219424480746368612964091254086956730350365974846418411767133289280026522101904776721397535481072023153960396155426365282526318432948840966649466716318812335304612541684202901596339076117983534399558629308180937552570931412127563964839611720473046765641026358839977096301838517860717992220124429055320994261412222457829626748188314831526678529121257451724121669436757611557692716596947663821034873517375372433749628434475153359120061495211777091719559441963916844642691242108239222713715540944215042751815205832903182816602051553000809853471087600226541940973229542173962641860015572714026730877762563780111880467244618055586935195897209646109126685288690235443479134420307287200865787784854857681194140932834097813623138157320433948668365280904196167520730495552269155400544459597418276177569668057444229387270850059959177577695113400939572251098823419194625556857107173746511343007800181920881221537624681494893301655822089723344553388000429323171176866004751029713971505534118999127107434111180853160547174861752751626348577776330731649967976997705926985766161797485058129299093471507452375539795559192778297669346728398663209935467310249960415041458812552734910388740750185119204150326407565301155455130213015082150774995891695158121179129263515005175587602007309165752571455482494701985152058285071569163352124307190188600099648633956424637872070374433661282860434946347675030365936337518341250497939530670492049152682751595740299650777955876517336356201954238740449622894424782067167868473814849903355130288000808722848881716523423304369683278744797091680665929947282004599884742141903092455370441529688744167156179077360250483378518119247298849108528250294762208416407986167476148567175178874063800358086027457895630650648669396258429142206700367153305674783250866422661286263393363325796268275165731232739893184194968961403246730119774337399703422463459231675588482935858420765326421555448280339061724466310717136212252868177897932924653530049677696436162757662269366798190208071681769644893941942974134840361829280739998511129729526702298361645614792859833141153396637763978261364317262779683444024446799942602179506309308829708000706164362584967544123944262478613936873150629875606572943548220887109756073849240773353610522128256052318094523961849199416335892154957022886522856407858766221227733233769855803540797195843736795162918258589030898376105673396821691371141078048940078157513454368981977910858251016762020830161673450276912167612177864217402281884081697525964997122986657878537513893383684107209185434682030581611841138320769751165820198510744298727746999807978419121499753915601607922696176540527435469670341293526747506706526024530442810609168649651488186829417974713332892493843632020625662134700088384496204167242147258558309791277779399383749139370284867286168094886544821422737637802164641269558545701441664386153037171353886211403725205681597970913022628953115278573534601804694766770034985736868925734980630049997686944790517637071797350609058196799433236359876639015798606019522872255619522116052138570098167166266498733891031108802657143775059617458142604429165804720101056675638719316542457760009090061209984977397292885275149606401974049153909692505148219826918259844782109296960962668656427745596201014333963313980270250168486273994989481135537270723574107717244316660088927662936290431190977141636475102177302706274086655242143720376303626665531386214442689649201190586832460162739827248970951243047440330228206331631112497739878283020377893436493175592457922732266429291282308155450226625908735145243692396554905981224214276161473784801143286259695282125512040501344451566921615076695587270678352226833487853937549564212575401137028689407768946214072151854724602769103465475825754648083539620644496540756262476390723165771983841025405599650289140025146921553140992130744935601340339721606678745401623060593372384771360928037839290017553053687662881909325377632775454112253161089384150763856706709155478909949994753852927323817406887036600795067326371378788198824332878167341364967879877879238807231553439728369018467221599420820323413253492898108084906827199959825847516517138472194789248173159585268081314575918495931090240886524799021431864303823205292763974048397599206812537350644671886512896943549787393792013585758364951639015903806808257622062909142313231743480044638793538545919980650491431925030133693346821159087402194007666994942204762440475125178705040855041713359185302696287569744680604190515945891306060582731794814908843958353954702356548613096039147793243847008308977635561964476974997951064591650034486821018815827067440683467721305397279261255554886935728702038082522417061993386180239766246562722248573939589551463440216540148757382768091588138660292719477108563071144875031522670308447900691983255937682162468481877091121037630772727278138515616236001256623965847146632370258907566117444498723076761005067670267433967584124059982950527552684126829463945259162716865211890575671788315183102363107529308174560259235390303117426425526334200493809978331057159437911165295498631423603473319109300623522908911153779412709804961551139930617047949474361706760660471241914491395100667580257747629101647580790725836642955974210568542006096121792397082649454719102730385503190578335481925220951303611391214549703657189680455196346478377576648796225287534093375835944628560149537373180156497980646947482611425085448686655661776669311742295297814178013215311938924288491062998382097579430060278739035515872696978219934320562561595472608922323860525399884510982402005269156441982086483021029918558209724470491903799974743155409617616793047923689985178433315018756427849919071082417642288796404481615231515234452681159882921091503004550444101071092708811340514603382017663740887649084380236302609941981934458359114802326529287265867836586784975966554986634154342857441112067919515289522362798595615675285893464419458686422183504043133224290707533174576650932865938948401459027619947526422651202675898412812192885113849595817623488233557657324742800374393771493612612994490199832072720005221382391736290818088439567832190214526069759576939763059225294047689399842770969550271822493372060085246999178803887808375697715787460887952953376038287195940678828372114751832221735499728113180144886805780940960771191887792284320985144166141635393515416730908788312195300491807806540287070491481431962163136379543929660618181107758371359830272070710330540964244840736100126945150261956581967738136878967906151503477030589413476778396488056255128274618652814459320832933615142116047026707587220756919312766986953137529175073213247265939159691046998370580315251080657075929005601304731518695855137789275121205684896535005308306213389054064280969057885721542388986811077341891260041925887056878130127572583927539693499699113748046877120963906069001823409562788230808853853871882873439472647253434523002060852420272156695039139430549806321097367810917227205204247017367003229877344084778548555114682479336206900025536057463019980330999992904087435962707758338762003728511765178466640449320652612534210798892815867357916179819681928104828396478395978907986688587587211048028175297039898923093781251066820216389866502543454979385315466322731193630241277133766306683368683633769391462572687987584895042715635934566846009082053691659625628107925455524966171892172371347581776938133011946883355527792757280423901439843787718910514187571823733633970498290959128713803276395973214824695287254119656282385379882044684859740770770278952462807363972180867983716145726826403124279164669065683519737643851028582182178847409253790169102711752823675738101624258228757004430831589700933826769294222110208159503937943407859874680379804051887083961895061924782547582746137283942772401572559120470890618028176688321500424321999931090462064837742650236200746027254163561595334216630144019027040253177959675166099546895382119057589923150803302324507323848614026929585740973630842804613794984942817152682790916367496479469160062752291871555062959744198529261258320214197863335418932826502335611940388568414533543083903871787619265150316201237229731526540177347040557596914219634494593235084100440185902704961496894801815965828241488132952816404388213547139957096281106720657002724584983296567282421021887309645830545420849278973750640190607812610285157453521737441247551562739193013130693895523904297417282234702467824997650172419479439441255022332965189964811370036473464368552713455590919789499626730938265251068093725738139931895013962725859474556756480116280260627787935108686778592189332291505719726719077482505187732166430397583619665581803192980606593527468509467816727622815672436856982934841596850565981312553199365240177231983103452801762396781049408644396871558903699749565332207142811049048182624446587821028122603421082599612278424274067596446947245822830895127763586085330483630169076457504200909936850085672679490880916987771671515958792100086504441906166883057826386663807415827634696644519029381309240506884533527368051945982355761911196589505004453747172652632673455899462375061151550202616213923220708752452854045423726557808849891888030846969306960246896955191577509230349214673674304878671561397306240994072993825456945871524545215733592827655417488586747072957508855181351739836239516748037158449381239108123306523023110606298661963449674881082925925182603579867432015156377469556858305777174344856478521223612021292097541422140997855352914884173428175300104591711531080100684181580152409902546924543842486751409960437530742940467914808195608386244877173254708593769693062019878116577906713925284724212499272016326655687037805861084034663471955740078323831260597635073616757531455521508225492584632755110967542630950029824124804297778532120880397292269012808717272937581671062086187217594121399060707960164699001290114066485733674124975811987529304662145369009685503503483770721563379402675107892122876415605486214206297448754683781403239806537538455364899600384016511186109979196731136111559988652249109059056168727472084538886421222923955607805422086145083637022950060876062174197864672413969585040042931102016508335956544836945146914417495407775650762282977322790449733124545925755577597392025325814499788040984962636803160041576333869107365103345436520492842564340583591374847080571930935862552516625782779041355969495487938367307196905822099747825409940214053125418301400165599210384369057968532771267647066097632473841493894932527254594748261729799745997254470892900027688147535761266961443652943362375094153936457173896714510094804719288158533617491705759294008994214663249335906030635041546659193089468296514419227259898203401530859419267131796445278056911860935066219071490744507841265663013103787850917716560627115299079929392784960788169389639642636928919137356685242062618011173253577755634544111490406599834395070546417259533081499314590431851416924461990127281271831716927498057263894319433547964585821210845155248304759236791970527909858268437867701766293389873401707383634346559756025253932252491367163869671335498100759208907182013538637647569178546153448742518676269317521023308462569177659615016238936113642996885529852767731796138614878688638842877780137867406890031299172968241732920849371966149656357885139880539429124981550348376736331988147006833619266898444566345127300817815203823325335258988154621191945104250030742389547813660159656194923767664196606864222178844363071769368368051332677090360739802718679846255482242958502316724132148976527954515007040979214783062355493764535649115037845928939623351602345024659399232752828640899098978368318305161153868621362932589755079169515524194859219463128937037204633849923957302777896111420831376689781588431280682001562545944684869845462144566311444801767559873642961031556443638391255946035328870555250650417221780752317097102281493925577371969446917837148517499890255036064376103666695034118363337603533918649961271974933731178820689953982579782978686045781962524719543275212305258940319096448133103196574259967188364791973884067293653657458012240419579259498695348723660227162162879600188828395974312406437918773829123380992849233381182130924608249369085011631847329934590309873276981048132643736423523284570917759081109932019453093981709568753412303492659327511513055252167104627773758907205874287325364171752626827911326697463749124547857093206526587852527879135598610922629533413212015174092751262408925373488262777084550405929349340856800227517186982801591592047964240300863492840675696222269015534032883883102612025464939749833289352980177743079790494925259492559661385544338091000393837526808919607594334611698694542146092603361642919060372707931355592699681174253940818197050151577483458237083916924195192657367489754379603351486382750329675780720825158613498262029087250833484354260392362020895712776147445060604521436082457084469976080050692389689465283543921130443448298095398107825566860199629398748896558634135669864143450732344743347726354193183219523295001626134961221251050305892526894877131524442604245036881159959347590706933419346224961325627357047620358334747565687704087530634509582952699146315146241632097947649099467694106309600019033784242453324013187865105918676115216747368167375032767527872951123551917677181943460360492701073323126080435078584186660281332112992281709779232254000262554743826567951697151516924782351718790736476701475004630496945646669162802759598012617412322743979556583827356441484583471109522579319434904688140160750474988905412403124643600089818616377347442732452260880220388355823287959138902548669131560304064447464172401887665754344994720357204920178380081507231273620321711617161317384656200227990355796489172567824480266205719595875254103528486961913043321524629156056608754707419113027973815872514857999276293627463283866187794381513403912865832677603284970371197083600123401120380586322695158956245276596706214383721354558857089037562707130053260054742734744202988084763653927777474649994138780665077266033924672082527312880963714715258383886660433272009743757283283346401794277856170188873841285186632741415568044572464263721257183696545670831482985486703236554554321535899724642707035608336958752844522088031592564258373135456228062798490611400040099370078444247271837026218598406215450096826121949258558249898426360645241282588908412301836433334195102389455241965543224242494472686979181979185304746977166732425106470662847078319242300882404838882003974555160493326816676054673164365937940788859371740380695529222718176738168126230269972507468390326378262727058833827357095351876237870882699658902498016750024789502543983133998729309768155475011541898013582665402387614983778495523912681155437702760410327716367727980454934522001884214988828982116202928198877921387914576429831578536772403435353102345441407858655311197521698136753183283678392654226667415201660482169948818388798078587961359406962051924687055314266874539163706145943784192476811827392507217460179669237956663113931204102391823403491285138309159393613753459946786436434249408601354445219285260153705778873062401882489015155859181106130909087223388270132621053167735649791057516700969331050831767473915387634476821081996453578752909027898881306998085677010236964594100761809812674596745983016379007558263265902138532393141878173723343331166665618655850930452171869925784143562009610232240549822051232822897386348096887044829037744532775417507592735255736759028132203779236742796708787633759168281068935506928962696877287482149572576469226299733363296640700583260140668151131660903070634515265269207868533892946786164272400309255711460581796370748485810643597107508963888000599560396171175324300763410922537189977726411851056328568385573759407184709610640385738775590686048622728776066124108330638018888944800410216389682447055448045506959896420234279724741396928446483976999003379342636659226301636638934620324600669840013171950307928182391850298957910082285952313038330642697116563977763364052439314631881530856882361992472221274598232592241890576815217353791826922131313867530763529275579557853399025153416333305829343510750163381485372330447502536021151706314494817523464378447591164476901771795208090496696379306596793260016169486135540698009198585145228198445090647372504929301076363417644859887133064448794607215090348994305409486183720833501981974658894223358009282899971414827561727218338857611964071144272530464326052725056564607933593908898010914086885481916031506845910740986255670424632647146972780772000969920580745403229559628386278701474885773641123342129779563012920766032424173830238803850458383505331993101891601874667129393445351816988403766960826495486663605743905224024747323249708127688321718597344268664923016251445185749026225810724728051636481236825691021084841411394975750051642829246586337101865697930605013006383930123481539568547101184905853704362922639321504987417319279504061170306566168988076846930998831697441575265420776020276716496345463629962805249 | | 2 967290912507640626346487654605751146518633483263908299329953857936582718232404886060381607488603263424617078417790993538626748647680285018522201761578146311979399572572716833769148534224404556648645574632510879163731513501599004573099668390173237876992272014732427266 79221136326288413549090453617582214988603149380032775393045753873679347103737428810698791647263113706575282689198477135930652137291317188670030006057926509831856472550143054466006425134587034426949120010210832597783143689081004098970652114673282224426184172485773967049733965817226715156969648131835381010189470025770375559444559659305270898952170617343578663720139463438305206193729450577009951868047317341521679722886752217921827822705466305632297648679105292595306982225729633137305184703173136534319068330149229142960259210328722455601450057473003629441834416962669954405564521304502500726298911194393554191501157954017925309977598836623748100506311537547090223313424323313673085311409323919977212070953990949404412305207140907616619412378270976434206887105501661848469182736298770557698748104969475842500166345456724876246803841548685455561851856586967869889986216391448174596518073583228454703935275996041071738034755239225816281721293011288588359444337681021846829274952700086230836341401062887321604178406708278357480439226036171803414304571700770050264769130291420603534822495795966981715612394351588510056912232508637273573895372779156159436797233748213294951636931736322625278881149941049169682180025310119656903852664689348405476728233436921288688205034751242856813863451202798101231235894933014025474654357904163264189792879110990531247061528782494741231885291482973616690359904394443018958369073484128300703937149692838128916254439952768266768999800895221352172804608885628145520829329108509888656265795056847497582709463200002373315731960683089450281141672128908771066872542843950397795050900482861371828770525181267955544208230938560999841196913163882946371552828126583680248944964520944418180558701521838650855170095150234372062727397690674991347946365752214498420657007149585319909260780872426315558079608099072865828174703417406185318728278145026184310672633645641700732291542811057990742838365066341014265183949971790930431087121056345347741501667746148234688653065189269356885872908647581204650438736957716528711548574555583977239301969823515430537595181395319473570033411789209713074292228145962019286962544117035974563318921268241513986555088394502711032433789248734183877010959345104750102614262227563661010217640141350231316347211768763385670337883433049195056061300162041862964241528184097908283230852906666992480893473206747006312106694438401261591124362380788902882710265313013071263115504159140550179707220633782158597940373880726872858838789886163551228708805088540541574505134133745949431125107024728689987177439066224173647204385151471810845156172459609697201263898819372465925856032821983943945509201296896112993390414319772317613998628115011584901662481020736975231857679558573639533120123760882987807897148264001476729480741158503008405824181375825684426593602078107066384305742314153383784825815001170364503279303283157714730965700730790958163526085614077255893030881612578737162635171062435305862363661501175783671862584712802832632731639923317926092501167046294294878922434436385815597766578254085927198853219424480746368612964091254086956730350365974846418411767133289280026522101904776721397535481072023153960396155426365282526318432948840966649466716318812335304612541684202901596339076117983534399558629308180937552570931412127563964839611720473046765641026358839977096301838517860717992220124429055320994261412222457829626748188314831526678529121257451724121669436757611557692716596947663821034873517375372433749628434475153359120061495211777091719559441963916844642691242108239222713715540944215042751815205832903182816602051553000809853471087600226541940973229542173962641860015572714026730877762563780111880467244618055586935195897209646109126685288690235443479134420307287200865787784854857681194140932834097813623138157320433948668365280904196167520730495552269155400544459597418276177569668057444229387270850059959177577695113400939572251098823419194625556857107173746511343007800181920881221537624681494893301655822089723344553388000429323171176866004751029713971505534118999127107434111180853160547174861752751626348577776330731649967976997705926985766161797485058129299093471507452375539795559192778297669346728398663209935467310249960415041458812552734910388740750185119204150326407565301155455130213015082150774995891695158121179129263515005175587602007309165752571455482494701985152058285071569163352124307190188600099648633956424637872070374433661282860434946347675030365936337518341250497939530670492049152682751595740299650777955876517336356201954238740449622894424782067167868473814849903355130288000808722848881716523423304369683278744797091680665929947282004599884742141903092455370441529688744167156179077360250483378518119247298849108528250294762208416407986167476148567175178874063800358086027457895630650648669396258429142206700367153305674783250866422661286263393363325796268275165731232739893184194968961403246730119774337399703422463459231675588482935858420765326421555448280339061724466310717136212252868177897932924653530049677696436162757662269366798190208071681769644893941942974134840361829280739998511129729526702298361645614792859833141153396637763978261364317262779683444024446799942602179506309308829708000706164362584967544123944262478613936873150629875606572943548220887109756073849240773353610522128256052318094523961849199416335892154957022886522856407858766221227733233769855803540797195843736795162918258589030898376105673396821691371141078048940078157513454368981977910858251016762020830161673450276912167612177864217402281884081697525964997122986657878537513893383684107209185434682030581611841138320769751165820198510744298727746999807978419121499753915601607922696176540527435469670341293526747506706526024530442810609168649651488186829417974713332892493843632020625662134700088384496204167242147258558309791277779399383749139370284867286168094886544821422737637802164641269558545701441664386153037171353886211403725205681597970913022628953115278573534601804694766770034985736868925734980630049997686944790517637071797350609058196799433236359876639015798606019522872255619522116052138570098167166266498733891031108802657143775059617458142604429165804720101056675638719316542457760009090061209984977397292885275149606401974049153909692505148219826918259844782109296960962668656427745596201014333963313980270250168486273994989481135537270723574107717244316660088927662936290431190977141636475102177302706274086655242143720376303626665531386214442689649201190586832460162739827248970951243047440330228206331631112497739878283020377893436493175592457922732266429291282308155450226625908735145243692396554905981224214276161473784801143286259695282125512040501344451566921615076695587270678352226833487853937549564212575401137028689407768946214072151854724602769103465475825754648083539620644496540756262476390723165771983841025405599650289140025146921553140992130744935601340339721606678745401623060593372384771360928037839290017553053687662881909325377632775454112253161089384150763856706709155478909949994753852927323817406887036600795067326371378788198824332878167341364967879877879238807231553439728369018467221599420820323413253492898108084906827199959825847516517138472194789248173159585268081314575918495931090240886524799021431864303823205292763974048397599206812537350644671886512896943549787393792013585758364951639015903806808257622062909142313231743480044638793538545919980650491431925030133693346821159087402194007666994942204762440475125178705040855041713359185302696287569744680604190515945891306060582731794814908843958353954702356548613096039147793243847008308977635561964476974997951064591650034486821018815827067440683467721305397279261255554886935728702038082522417061993386180239766246562722248573939589551463440216540148757382768091588138660292719477108563071144875031522670308447900691983255937682162468481877091121037630772727278138515616236001256623965847146632370258907566117444498723076761005067670267433967584124059982950527552684126829463945259162716865211890575671788315183102363107529308174560259235390303117426425526334200493809978331057159437911165295498631423603473319109300623522908911153779412709804961551139930617047949474361706760660471241914491395100667580257747629101647580790725836642955974210568542006096121792397082649454719102730385503190578335481925220951303611391214549703657189680455196346478377576648796225287534093375835944628560149537373180156497980646947482611425085448686655661776669311742295297814178013215311938924288491062998382097579430060278739035515872696978219934320562561595472608922323860525399884510982402005269156441982086483021029918558209724470491903799974743155409617616793047923689985178433315018756427849919071082417642288796404481615231515234452681159882921091503004550444101071092708811340514603382017663740887649084380236302609941981934458359114802326529287265867836586784975966554986634154342857441112067919515289522362798595615675285893464419458686422183504043133224290707533174576650932865938948401459027619947526422651202675898412812192885113849595817623488233557657324742800374393771493612612994490199832072720005221382391736290818088439567832190214526069759576939763059225294047689399842770969550271822493372060085246999178803887808375697715787460887952953376038287195940678828372114751832221735499728113180144886805780940960771191887792284320985144166141635393515416730908788312195300491807806540287070491481431962163136379543929660618181107758371359830272070710330540964244840736100126945150261956581967738136878967906151503477030589413476778396488056255128274618652814459320832933615142116047026707587220756919312766986953137529175073213247265939159691046998370580315251080657075929005601304731518695855137789275121205684896535005308306213389054064280969057885721542388986811077341891260041925887056878130127572583927539693499699113748046877120963906069001823409562788230808853853871882873439472647253434523002060852420272156695039139430549806321097367810917227205204247017367003229877344084778548555114682479336206900025536057463019980330999992904087435962707758338762003728511765178466640449320652612534210798892815867357916179819681928104828396478395978907986688587587211048028175297039898923093781251066820216389866502543454979385315466322731193630241277133766306683368683633769391462572687987584895042715635934566846009082053691659625628107925455524966171892172371347581776938133011946883355527792757280423901439843787718910514187571823733633970498290959128713803276395973214824695287254119656282385379882044684859740770770278952462807363972180867983716145726826403124279164669065683519737643851028582182178847409253790169102711752823675738101624258228757004430831589700933826769294222110208159503937943407859874680379804051887083961895061924782547582746137283942772401572559120470890618028176688321500424321999931090462064837742650236200746027254163561595334216630144019027040253177959675166099546895382119057589923150803302324507323848614026929585740973630842804613794984942817152682790916367496479469160062752291871555062959744198529261258320214197863335418932826502335611940388568414533543083903871787619265150316201237229731526540177347040557596914219634494593235084100440185902704961496894801815965828241488132952816404388213547139957096281106720657002724584983296567282421021887309645830545420849278973750640190607812610285157453521737441247551562739193013130693895523904297417282234702467824997650172419479439441255022332965189964811370036473464368552713455590919789499626730938265251068093725738139931895013962725859474556756480116280260627787935108686778592189332291505719726719077482505187732166430397583619665581803192980606593527468509467816727622815672436856982934841596850565981312553199365240177231983103452801762396781049408644396871558903699749565332207142811049048182624446587821028122603421082599612278424274067596446947245822830895127763586085330483630169076457504200909936850085672679490880916987771671515958792100086504441906166883057826386663807415827634696644519029381309240506884533527368051945982355761911196589505004453747172652632673455899462375061151550202616213923220708752452854045423726557808849891888030846969306960246896955191577509230349214673674304878671561397306240994072993825456945871524545215733592827655417488586747072957508855181351739836239516748037158449381239108123306523023110606298661963449674881082925925182603579867432015156377469556858305777174344856478521223612021292097541422140997855352914884173428175300104591711531080100684181580152409902546924543842486751409960437530742940467914808195608386244877173254708593769693062019878116577906713925284724212499272016326655687037805861084034663471955740078323831260597635073616757531455521508225492584632755110967542630950029824124804297778532120880397292269012808717272937581671062086187217594121399060707960164699001290114066485733674124975811987529304662145369009685503503483770721563379402675107892122876415605486214206297448754683781403239806537538455364899600384016511186109979196731136111559988652249109059056168727472084538886421222923955607805422086145083637022950060876062174197864672413969585040042931102016508335956544836945146914417495407775650762282977322790449733124545925755577597392025325814499788040984962636803160041576333869107365103345436520492842564340583591374847080571930935862552516625782779041355969495487938367307196905822099747825409940214053125418301400165599210384369057968532771267647066097632473841493894932527254594748261729799745997254470892900027688147535761266961443652943362375094153936457173896714510094804719288158533617491705759294008994214663249335906030635041546659193089468296514419227259898203401530859419267131796445278056911860935066219071490744507841265663013103787850917716560627115299079929392784960788169389639642636928919137356685242062618011173253577755634544111490406599834395070546417259533081499314590431851416924461990127281271831716927498057263894319433547964585821210845155248304759236791970527909858268437867701766293389873401707383634346559756025253932252491367163869671335498100759208907182013538637647569178546153448742518676269317521023308462569177659615016238936113642996885529852767731796138614878688638842877780137867406890031299172968241732920849371966149656357885139880539429124981550348376736331988147006833619266898444566345127300817815203823325335258988154621191945104250030742389547813660159656194923767664196606864222178844363071769368368051332677090360739802718679846255482242958502316724132148976527954515007040979214783062355493764535649115037845928939623351602345024659399232752828640899098978368318305161153868621362932589755079169515524194859219463128937037204633849923957302777896111420831376689781588431280682001562545944684869845462144566311444801767559873642961031556443638391255946035328870555250650417221780752317097102281493925577371969446917837148517499890255036064376103666695034118363337603533918649961271974933731178820689953982579782978686045781962524719543275212305258940319096448133103196574259967188364791973884067293653657458012240419579259498695348723660227162162879600188828395974312406437918773829123380992849233381182130924608249369085011631847329934590309873276981048132643736423523284570917759081109932019453093981709568753412303492659327511513055252167104627773758907205874287325364171752626827911326697463749124547857093206526587852527879135598610922629533413212015174092751262408925373488262777084550405929349340856800227517186982801591592047964240300863492840675696222269015534032883883102612025464939749833289352980177743079790494925259492559661385544338091000393837526808919607594334611698694542146092603361642919060372707931355592699681174253940818197050151577483458237083916924195192657367489754379603351486382750329675780720825158613498262029087250833484354260392362020895712776147445060604521436082457084469976080050692389689465283543921130443448298095398107825566860199629398748896558634135669864143450732344743347726354193183219523295001626134961221251050305892526894877131524442604245036881159959347590706933419346224961325627357047620358334747565687704087530634509582952699146315146241632097947649099467694106309600019033784242453324013187865105918676115216747368167375032767527872951123551917677181943460360492701073323126080435078584186660281332112992281709779232254000262554743826567951697151516924782351718790736476701475004630496945646669162802759598012617412322743979556583827356441484583471109522579319434904688140160750474988905412403124643600089818616377347442732452260880220388355823287959138902548669131560304064447464172401887665754344994720357204920178380081507231273620321711617161317384656200227990355796489172567824480266205719595875254103528486961913043321524629156056608754707419113027973815872514857999276293627463283866187794381513403912865832677603284970371197083600123401120380586322695158956245276596706214383721354558857089037562707130053260054742734744202988084763653927777474649994138780665077266033924672082527312880963714715258383886660433272009743757283283346401794277856170188873841285186632741415568044572464263721257183696545670831482985486703236554554321535899724642707035608336958752844522088031592564258373135456228062798490611400040099370078444247271837026218598406215450096826121949258558249898426360645241282588908412301836433334195102389455241965543224242494472686979181979185304746977166732425106470662847078319242300882404838882003974555160493326816676054673164365937940788859371740380695529222718176738168126230269972507468390326378262727058833827357095351876237870882699658902498016750024789502543983133998729309768155475011541898013582665402387614983778495523912681155437702760410327716367727980454934522001884214988828982116202928198877921387914576429831578536772403435353102345441407858655311197521698136753183283678392654226667415201660482169948818388798078587961359406962051924687055314266874539163706145943784192476811827392507217460179669237956663113931204102391823403491285138309159393613753459946786436434249408601354445219285260153705778873062401882489015155859181106130909087223388270132621053167735649791057516700969331050831767473915387634476821081996453578752909027898881306998085677010236964594100761809812674596745983016379007558263265902138532393141878173723343331166665618655850930452171869925784143562009610232240549822051232822897386348096887044829037744532775417507592735255736759028132203779236742796708787633759168281068935506928962696877287482149572576469226299733363296640700583260140668151131660903070634515265269207868533892946786164272400309255711460581796370748485810643597107508963888000599560396171175324300763410922537189977726411851056328568385573759407184709610640385738775590686048622728776066124108330638018888944800410216389682447055448045506959896420234279724741396928446483976999003379342636659226301636638934620324600669840013171950307928182391850298957910082285952313038330642697116563977763364052439314631881530856882361992472221274598232592241890576815217353791826922131313867530763529275579557853399025153416333305829343510750163381485372330447502536021151706314494817523464378447591164476901771795208090496696379306596793260016169486135540698009198585145228198445090647372504929301076363417644859887133064448794607215090348994305409486183720833501981974658894223358009282899971414827561727218338857611964071144272530464326052725056564607933593908898010914086885481916031506845910740986255670424632647146972780772000969920580745403229559628386278701474885773641123342129779563012920766032424173830238803850458383505331993101891601874667129393445351816988403766960826495486663605743905224024747323249708127688321718597344268664923016251445185749026225810724728051636481236825691021084841411394975750051642829246586337101865697930605013006383930123481539568547101184905853704362922639321504987417319279504061170306566168988076846930998831697441575265420776020276716496345463681502412802 79221136326288413549090453617582214988603149380032775393045753873679347103737428810698791647263113706575282689198477135930652137291317188670030006057926509831856472550143054466006425134587034426949120010210832597783143689081004098970652114673282224426184172485773967049733965817226715156969648131835381010189470025770375559444559659305270898952170617343578663720139463438305206193729450577009951868047317341521679722886752217921827822705466305632297648679105292595306982225729633137305184703173136534319068330149229142960259210328722455601450057473003629441834416962669954405564521304502500726298911194393554191501157954017925309977598836623748100506311537547090223313424323313673085311409323919977212070953990949404412305207140907616619412378270976434206887105501661848469182736298770557698748104969475842500166345456724876246803841548685455561851856586967869889986216391448174596518073583228454703935275996041071738034755239225816281721293011288588359444337681021846829274952700086230836341401062887321604178406708278357480439226036171803414304571700770050264769130291420603534822495795966981715612394351588510056912232508637273573895372779156159436797233748213294951636931736322625278881149941049169682180025310119656903852664689348405476728233436921288688205034751242856813863451202798101231235894933014025474654357904163264189792879110990531247061528782494741231885291482973616690359904394443018958369073484128300703937149692838128916254439952768266768999800895221352172804608885628145520829329108509888656265795056847497582709463200002373315731960683089450281141672128908771066872542843950397795050900482861371828770525181267955544208230938560999841196913163882946371552828126583680248944964520944418180558701521838650855170095150234372062727397690674991347946365752214498420657007149585319909260780872426315558079608099072865828174703417406185318728278145026184310672633645641700732291542811057990742838365066341014265183949971790930431087121056345347741501667746148234688653065189269356885872908647581204650438736957716528711548574555583977239301969823515430537595181395319473570033411789209713074292228145962019286962544117035974563318921268241513986555088394502711032433789248734183877010959345104750102614262227563661010217640141350231316347211768763385670337883433049195056061300162041862964241528184097908283230852906666992480893473206747006312106694438401261591124362380788902882710265313013071263115504159140550179707220633782158597940373880726872858838789886163551228708805088540541574505134133745949431125107024728689987177439066224173647204385151471810845156172459609697201263898819372465925856032821983943945509201296896112993390414319772317613998628115011584901662481020736975231857679558573639533120123760882987807897148264001476729480741158503008405824181375825684426593602078107066384305742314153383784825815001170364503279303283157714730965700730790958163526085614077255893030881612578737162635171062435305862363661501175783671862584712802832632731639923317926092501167046294294878922434436385815597766578254085927198853219424480746368612964091254086956730350365974846418411767133289280026522101904776721397535481072023153960396155426365282526318432948840966649466716318812335304612541684202901596339076117983534399558629308180937552570931412127563964839611720473046765641026358839977096301838517860717992220124429055320994261412222457829626748188314831526678529121257451724121669436757611557692716596947663821034873517375372433749628434475153359120061495211777091719559441963916844642691242108239222713715540944215042751815205832903182816602051553000809853471087600226541940973229542173962641860015572714026730877762563780111880467244618055586935195897209646109126685288690235443479134420307287200865787784854857681194140932834097813623138157320433948668365280904196167520730495552269155400544459597418276177569668057444229387270850059959177577695113400939572251098823419194625556857107173746511343007800181920881221537624681494893301655822089723344553388000429323171176866004751029713971505534118999127107434111180853160547174861752751626348577776330731649967976997705926985766161797485058129299093471507452375539795559192778297669346728398663209935467310249960415041458812552734910388740750185119204150326407565301155455130213015082150774995891695158121179129263515005175587602007309165752571455482494701985152058285071569163352124307190188600099648633956424637872070374433661282860434946347675030365936337518341250497939530670492049152682751595740299650777955876517336356201954238740449622894424782067167868473814849903355130288000808722848881716523423304369683278744797091680665929947282004599884742141903092455370441529688744167156179077360250483378518119247298849108528250294762208416407986167476148567175178874063800358086027457895630650648669396258429142206700367153305674783250866422661286263393363325796268275165731232739893184194968961403246730119774337399703422463459231675588482935858420765326421555448280339061724466310717136212252868177897932924653530049677696436162757662269366798190208071681769644893941942974134840361829280739998511129729526702298361645614792859833141153396637763978261364317262779683444024446799942602179506309308829708000706164362584967544123944262478613936873150629875606572943548220887109756073849240773353610522128256052318094523961849199416335892154957022886522856407858766221227733233769855803540797195843736795162918258589030898376105673396821691371141078048940078157513454368981977910858251016762020830161673450276912167612177864217402281884081697525964997122986657878537513893383684107209185434682030581611841138320769751165820198510744298727746999807978419121499753915601607922696176540527435469670341293526747506706526024530442810609168649651488186829417974713332892493843632020625662134700088384496204167242147258558309791277779399383749139370284867286168094886544821422737637802164641269558545701441664386153037171353886211403725205681597970913022628953115278573534601804694766770034985736868925734980630049997686944790517637071797350609058196799433236359876639015798606019522872255619522116052138570098167166266498733891031108802657143775059617458142604429165804720101056675638719316542457760009090061209984977397292885275149606401974049153909692505148219826918259844782109296960962668656427745596201014333963313980270250168486273994989481135537270723574107717244316660088927662936290431190977141636475102177302706274086655242143720376303626665531386214442689649201190586832460162739827248970951243047440330228206331631112497739878283020377893436493175592457922732266429291282308155450226625908735145243692396554905981224214276161473784801143286259695282125512040501344451566921615076695587270678352226833487853937549564212575401137028689407768946214072151854724602769103465475825754648083539620644496540756262476390723165771983841025405599650289140025146921553140992130744935601340339721606678745401623060593372384771360928037839290017553053687662881909325377632775454112253161089384150763856706709155478909949994753852927323817406887036600795067326371378788198824332878167341364967879877879238807231553439728369018467221599420820323413253492898108084906827199959825847516517138472194789248173159585268081314575918495931090240886524799021431864303823205292763974048397599206812537350644671886512896943549787393792013585758364951639015903806808257622062909142313231743480044638793538545919980650491431925030133693346821159087402194007666994942204762440475125178705040855041713359185302696287569744680604190515945891306060582731794814908843958353954702356548613096039147793243847008308977635561964476974997951064591650034486821018815827067440683467721305397279261255554886935728702038082522417061993386180239766246562722248573939589551463440216540148757382768091588138660292719477108563071144875031522670308447900691983255937682162468481877091121037630772727278138515616236001256623965847146632370258907566117444498723076761005067670267433967584124059982950527552684126829463945259162716865211890575671788315183102363107529308174560259235390303117426425526334200493809978331057159437911165295498631423603473319109300623522908911153779412709804961551139930617047949474361706760660471241914491395100667580257747629101647580790725836642955974210568542006096121792397082649454719102730385503190578335481925220951303611391214549703657189680455196346478377576648796225287534093375835944628560149537373180156497980646947482611425085448686655661776669311742295297814178013215311938924288491062998382097579430060278739035515872696978219934320562561595472608922323860525399884510982402005269156441982086483021029918558209724470491903799974743155409617616793047923689985178433315018756427849919071082417642288796404481615231515234452681159882921091503004550444101071092708811340514603382017663740887649084380236302609941981934458359114802326529287265867836586784975966554986634154342857441112067919515289522362798595615675285893464419458686422183504043133224290707533174576650932865938948401459027619947526422651202675898412812192885113849595817623488233557657324742800374393771493612612994490199832072720005221382391736290818088439567832190214526069759576939763059225294047689399842770969550271822493372060085246999178803887808375697715787460887952953376038287195940678828372114751832221735499728113180144886805780940960771191887792284320985144166141635393515416730908788312195300491807806540287070491481431962163136379543929660618181107758371359830272070710330540964244840736100126945150261956581967738136878967906151503477030589413476778396488056255128274618652814459320832933615142116047026707587220756919312766986953137529175073213247265939159691046998370580315251080657075929005601304731518695855137789275121205684896535005308306213389054064280969057885721542388986811077341891260041925887056878130127572583927539693499699113748046877120963906069001823409562788230808853853871882873439472647253434523002060852420272156695039139430549806321097367810917227205204247017367003229877344084778548555114682479336206900025536057463019980330999992904087435962707758338762003728511765178466640449320652612534210798892815867357916179819681928104828396478395978907986688587587211048028175297039898923093781251066820216389866502543454979385315466322731193630241277133766306683368683633769391462572687987584895042715635934566846009082053691659625628107925455524966171892172371347581776938133011946883355527792757280423901439843787718910514187571823733633970498290959128713803276395973214824695287254119656282385379882044684859740770770278952462807363972180867983716145726826403124279164669065683519737643851028582182178847409253790169102711752823675738101624258228757004430831589700933826769294222110208159503937943407859874680379804051887083961895061924782547582746137283942772401572559120470890618028176688321500424321999931090462064837742650236200746027254163561595334216630144019027040253177959675166099546895382119057589923150803302324507323848614026929585740973630842804613794984942817152682790916367496479469160062752291871555062959744198529261258320214197863335418932826502335611940388568414533543083903871787619265150316201237229731526540177347040557596914219634494593235084100440185902704961496894801815965828241488132952816404388213547139957096281106720657002724584983296567282421021887309645830545420849278973750640190607812610285157453521737441247551562739193013130693895523904297417282234702467824997650172419479439441255022332965189964811370036473464368552713455590919789499626730938265251068093725738139931895013962725859474556756480116280260627787935108686778592189332291505719726719077482505187732166430397583619665581803192980606593527468509467816727622815672436856982934841596850565981312553199365240177231983103452801762396781049408644396871558903699749565332207142811049048182624446587821028122603421082599612278424274067596446947245822830895127763586085330483630169076457504200909936850085672679490880916987771671515958792100086504441906166883057826386663807415827634696644519029381309240506884533527368051945982355761911196589505004453747172652632673455899462375061151550202616213923220708752452854045423726557808849891888030846969306960246896955191577509230349214673674304878671561397306240994072993825456945871524545215733592827655417488586747072957508855181351739836239516748037158449381239108123306523023110606298661963449674881082925925182603579867432015156377469556858305777174344856478521223612021292097541422140997855352914884173428175300104591711531080100684181580152409902546924543842486751409960437530742940467914808195608386244877173254708593769693062019878116577906713925284724212499272016326655687037805861084034663471955740078323831260597635073616757531455521508225492584632755110967542630950029824124804297778532120880397292269012808717272937581671062086187217594121399060707960164699001290114066485733674124975811987529304662145369009685503503483770721563379402675107892122876415605486214206297448754683781403239806537538455364899600384016511186109979196731136111559988652249109059056168727472084538886421222923955607805422086145083637022950060876062174197864672413969585040042931102016508335956544836945146914417495407775650762282977322790449733124545925755577597392025325814499788040984962636803160041576333869107365103345436520492842564340583591374847080571930935862552516625782779041355969495487938367307196905822099747825409940214053125418301400165599210384369057968532771267647066097632473841493894932527254594748261729799745997254470892900027688147535761266961443652943362375094153936457173896714510094804719288158533617491705759294008994214663249335906030635041546659193089468296514419227259898203401530859419267131796445278056911860935066219071490744507841265663013103787850917716560627115299079929392784960788169389639642636928919137356685242062618011173253577755634544111490406599834395070546417259533081499314590431851416924461990127281271831716927498057263894319433547964585821210845155248304759236791970527909858268437867701766293389873401707383634346559756025253932252491367163869671335498100759208907182013538637647569178546153448742518676269317521023308462569177659615016238936113642996885529852767731796138614878688638842877780137867406890031299172968241732920849371966149656357885139880539429124981550348376736331988147006833619266898444566345127300817815203823325335258988154621191945104250030742389547813660159656194923767664196606864222178844363071769368368051332677090360739802718679846255482242958502316724132148976527954515007040979214783062355493764535649115037845928939623351602345024659399232752828640899098978368318305161153868621362932589755079169515524194859219463128937037204633849923957302777896111420831376689781588431280682001562545944684869845462144566311444801767559873642961031556443638391255946035328870555250650417221780752317097102281493925577371969446917837148517499890255036064376103666695034118363337603533918649961271974933731178820689953982579782978686045781962524719543275212305258940319096448133103196574259967188364791973884067293653657458012240419579259498695348723660227162162879600188828395974312406437918773829123380992849233381182130924608249369085011631847329934590309873276981048132643736423523284570917759081109932019453093981709568753412303492659327511513055252167104627773758907205874287325364171752626827911326697463749124547857093206526587852527879135598610922629533413212015174092751262408925373488262777084550405929349340856800227517186982801591592047964240300863492840675696222269015534032883883102612025464939749833289352980177743079790494925259492559661385544338091000393837526808919607594334611698694542146092603361642919060372707931355592699681174253940818197050151577483458237083916924195192657367489754379603351486382750329675780720825158613498262029087250833484354260392362020895712776147445060604521436082457084469976080050692389689465283543921130443448298095398107825566860199629398748896558634135669864143450732344743347726354193183219523295001626134961221251050305892526894877131524442604245036881159959347590706933419346224961325627357047620358334747565687704087530634509582952699146315146241632097947649099467694106309600019033784242453324013187865105918676115216747368167375032767527872951123551917677181943460360492701073323126080435078584186660281332112992281709779232254000262554743826567951697151516924782351718790736476701475004630496945646669162802759598012617412322743979556583827356441484583471109522579319434904688140160750474988905412403124643600089818616377347442732452260880220388355823287959138902548669131560304064447464172401887665754344994720357204920178380081507231273620321711617161317384656200227990355796489172567824480266205719595875254103528486961913043321524629156056608754707419113027973815872514857999276293627463283866187794381513403912865832677603284970371197083600123401120380586322695158956245276596706214383721354558857089037562707130053260054742734744202988084763653927777474649994138780665077266033924672082527312880963714715258383886660433272009743757283283346401794277856170188873841285186632741415568044572464263721257183696545670831482985486703236554554321535899724642707035608336958752844522088031592564258373135456228062798490611400040099370078444247271837026218598406215450096826121949258558249898426360645241282588908412301836433334195102389455241965543224242494472686979181979185304746977166732425106470662847078319242300882404838882003974555160493326816676054673164365937940788859371740380695529222718176738168126230269972507468390326378262727058833827357095351876237870882699658902498016750024789502543983133998729309768155475011541898013582665402387614983778495523912681155437702760410327716367727980454934522001884214988828982116202928198877921387914576429831578536772403435353102345441407858655311197521698136753183283678392654226667415201660482169948818388798078587961359406962051924687055314266874539163706145943784192476811827392507217460179669237956663113931204102391823403491285138309159393613753459946786436434249408601354445219285260153705778873062401882489015155859181106130909087223388270132621053167735649791057516700969331050831767473915387634476821081996453578752909027898881306998085677010236964594100761809812674596745983016379007558263265902138532393141878173723343331166665618655850930452171869925784143562009610232240549822051232822897386348096887044829037744532775417507592735255736759028132203779236742796708787633759168281068935506928962696877287482149572576469226299733363296640700583260140668151131660903070634515265269207868533892946786164272400309255711460581796370748485810643597107508963888000599560396171175324300763410922537189977726411851056328568385573759407184709610640385738775590686048622728776066124108330638018888944800410216389682447055448045506959896420234279724741396928446483976999003379342636659226301636638934620324600669840013171950307928182391850298957910082285952313038330642697116563977763364052439314631881530856882361992472221274598232592241890576815217353791826922131313867530763529275579557853399025153416333305829343510750163381485372330447502536021151706314494817523464378447591164476901771795208090496696379306596793260016169486135540698009198585145228198445090647372504929301076363417644859887133064448794607215090348994305409486183720833501981974658894223358009282899971414827561727218338857611964071144272530464326052725056564607933593908898010914086885481916031506845910740986255670424632647146972780772000969920580745403229559628386278701474885773641123342129779563012920766032424173830238803850458383505331993101891601874667129393445351816988403766960826495486663605743905224024747323249708127688321718597344268664923016251445185749026225810724728051636481236825691021084841411394975750051642829246586337101865697930605013006383930123481539568547101184905853704362922639321504987417319279504061170306566168988076846930998831697441575265420776020276716496345463681502412802 79221136326288413549090453617582214988603149380032775393045753873679347103737428810698791647263113706575282689198477135930652137291317188670030006057926509831856472550143054466006425134587034426949120010210832597783143689081004098970652114673282224426184172485773967049733965817226715156969648131835381010189470025770375559444559659305270898952170617343578663720139463438305206193729450577009951868047317341521679722886752217921827822705466305632297648679105292595306982225729633137305184703173136534319068330149229142960259210328722455601450057473003629441834416962669954405564521304502500726298911194393554191501157954017925309977598836623748100506311537547090223313424323313673085311409323919977212070953990949404412305207140907616619412378270976434206887105501661848469182736298770557698748104969475842500166345456724876246803841548685455561851856586967869889986216391448174596518073583228454703935275996041071738034755239225816281721293011288588359444337681021846829274952700086230836341401062887321604178406708278357480439226036171803414304571700770050264769130291420603534822495795966981715612394351588510056912232508637273573895372779156159436797233748213294951636931736322625278881149941049169682180025310119656903852664689348405476728233436921288688205034751242856813863451202798101231235894933014025474654357904163264189792879110990531247061528782494741231885291482973616690359904394443018958369073484128300703937149692838128916254439952768266768999800895221352172804608885628145520829329108509888656265795056847497582709463200002373315731960683089450281141672128908771066872542843950397795050900482861371828770525181267955544208230938560999841196913163882946371552828126583680248944964520944418180558701521838650855170095150234372062727397690674991347946365752214498420657007149585319909260780872426315558079608099072865828174703417406185318728278145026184310672633645641700732291542811057990742838365066341014265183949971790930431087121056345347741501667746148234688653065189269356885872908647581204650438736957716528711548574555583977239301969823515430537595181395319473570033411789209713074292228145962019286962544117035974563318921268241513986555088394502711032433789248734183877010959345104750102614262227563661010217640141350231316347211768763385670337883433049195056061300162041862964241528184097908283230852906666992480893473206747006312106694438401261591124362380788902882710265313013071263115504159140550179707220633782158597940373880726872858838789886163551228708805088540541574505134133745949431125107024728689987177439066224173647204385151471810845156172459609697201263898819372465925856032821983943945509201296896112993390414319772317613998628115011584901662481020736975231857679558573639533120123760882987807897148264001476729480741158503008405824181375825684426593602078107066384305742314153383784825815001170364503279303283157714730965700730790958163526085614077255893030881612578737162635171062435305862363661501175783671862584712802832632731639923317926092501167046294294878922434436385815597766578254085927198853219424480746368612964091254086956730350365974846418411767133289280026522101904776721397535481072023153960396155426365282526318432948840966649466716318812335304612541684202901596339076117983534399558629308180937552570931412127563964839611720473046765641026358839977096301838517860717992220124429055320994261412222457829626748188314831526678529121257451724121669436757611557692716596947663821034873517375372433749628434475153359120061495211777091719559441963916844642691242108239222713715540944215042751815205832903182816602051553000809853471087600226541940973229542173962641860015572714026730877762563780111880467244618055586935195897209646109126685288690235443479134420307287200865787784854857681194140932834097813623138157320433948668365280904196167520730495552269155400544459597418276177569668057444229387270850059959177577695113400939572251098823419194625556857107173746511343007800181920881221537624681494893301655822089723344553388000429323171176866004751029713971505534118999127107434111180853160547174861752751626348577776330731649967976997705926985766161797485058129299093471507452375539795559192778297669346728398663209935467310249960415041458812552734910388740750185119204150326407565301155455130213015082150774995891695158121179129263515005175587602007309165752571455482494701985152058285071569163352124307190188600099648633956424637872070374433661282860434946347675030365936337518341250497939530670492049152682751595740299650777955876517336356201954238740449622894424782067167868473814849903355130288000808722848881716523423304369683278744797091680665929947282004599884742141903092455370441529688744167156179077360250483378518119247298849108528250294762208416407986167476148567175178874063800358086027457895630650648669396258429142206700367153305674783250866422661286263393363325796268275165731232739893184194968961403246730119774337399703422463459231675588482935858420765326421555448280339061724466310717136212252868177897932924653530049677696436162757662269366798190208071681769644893941942974134840361829280739998511129729526702298361645614792859833141153396637763978261364317262779683444024446799942602179506309308829708000706164362584967544123944262478613936873150629875606572943548220887109756073849240773353610522128256052318094523961849199416335892154957022886522856407858766221227733233769855803540797195843736795162918258589030898376105673396821691371141078048940078157513454368981977910858251016762020830161673450276912167612177864217402281884081697525964997122986657878537513893383684107209185434682030581611841138320769751165820198510744298727746999807978419121499753915601607922696176540527435469670341293526747506706526024530442810609168649651488186829417974713332892493843632020625662134700088384496204167242147258558309791277779399383749139370284867286168094886544821422737637802164641269558545701441664386153037171353886211403725205681597970913022628953115278573534601804694766770034985736868925734980630049997686944790517637071797350609058196799433236359876639015798606019522872255619522116052138570098167166266498733891031108802657143775059617458142604429165804720101056675638719316542457760009090061209984977397292885275149606401974049153909692505148219826918259844782109296960962668656427745596201014333963313980270250168486273994989481135537270723574107717244316660088927662936290431190977141636475102177302706274086655242143720376303626665531386214442689649201190586832460162739827248970951243047440330228206331631112497739878283020377893436493175592457922732266429291282308155450226625908735145243692396554905981224214276161473784801143286259695282125512040501344451566921615076695587270678352226833487853937549564212575401137028689407768946214072151854724602769103465475825754648083539620644496540756262476390723165771983841025405599650289140025146921553140992130744935601340339721606678745401623060593372384771360928037839290017553053687662881909325377632775454112253161089384150763856706709155478909949994753852927323817406887036600795067326371378788198824332878167341364967879877879238807231553439728369018467221599420820323413253492898108084906827199959825847516517138472194789248173159585268081314575918495931090240886524799021431864303823205292763974048397599206812537350644671886512896943549787393792013585758364951639015903806808257622062909142313231743480044638793538545919980650491431925030133693346821159087402194007666994942204762440475125178705040855041713359185302696287569744680604190515945891306060582731794814908843958353954702356548613096039147793243847008308977635561964476974997951064591650034486821018815827067440683467721305397279261255554886935728702038082522417061993386180239766246562722248573939589551463440216540148757382768091588138660292719477108563071144875031522670308447900691983255937682162468481877091121037630772727278138515616236001256623965847146632370258907566117444498723076761005067670267433967584124059982950527552684126829463945259162716865211890575671788315183102363107529308174560259235390303117426425526334200493809978331057159437911165295498631423603473319109300623522908911153779412709804961551139930617047949474361706760660471241914491395100667580257747629101647580790725836642955974210568542006096121792397082649454719102730385503190578335481925220951303611391214549703657189680455196346478377576648796225287534093375835944628560149537373180156497980646947482611425085448686655661776669311742295297814178013215311938924288491062998382097579430060278739035515872696978219934320562561595472608922323860525399884510982402005269156441982086483021029918558209724470491903799974743155409617616793047923689985178433315018756427849919071082417642288796404481615231515234452681159882921091503004550444101071092708811340514603382017663740887649084380236302609941981934458359114802326529287265867836586784975966554986634154342857441112067919515289522362798595615675285893464419458686422183504043133224290707533174576650932865938948401459027619947526422651202675898412812192885113849595817623488233557657324742800374393771493612612994490199832072720005221382391736290818088439567832190214526069759576939763059225294047689399842770969550271822493372060085246999178803887808375697715787460887952953376038287195940678828372114751832221735499728113180144886805780940960771191887792284320985144166141635393515416730908788312195300491807806540287070491481431962163136379543929660618181107758371359830272070710330540964244840736100126945150261956581967738136878967906151503477030589413476778396488056255128274618652814459320832933615142116047026707587220756919312766986953137529175073213247265939159691046998370580315251080657075929005601304731518695855137789275121205684896535005308306213389054064280969057885721542388986811077341891260041925887056878130127572583927539693499699113748046877120963906069001823409562788230808853853871882873439472647253434523002060852420272156695039139430549806321097367810917227205204247017367003229877344084778548555114682479336206900025536057463019980330999992904087435962707758338762003728511765178466640449320652612534210798892815867357916179819681928104828396478395978907986688587587211048028175297039898923093781251066820216389866502543454979385315466322731193630241277133766306683368683633769391462572687987584895042715635934566846009082053691659625628107925455524966171892172371347581776938133011946883355527792757280423901439843787718910514187571823733633970498290959128713803276395973214824695287254119656282385379882044684859740770770278952462807363972180867983716145726826403124279164669065683519737643851028582182178847409253790169102711752823675738101624258228757004430831589700933826769294222110208159503937943407859874680379804051887083961895061924782547582746137283942772401572559120470890618028176688321500424321999931090462064837742650236200746027254163561595334216630144019027040253177959675166099546895382119057589923150803302324507323848614026929585740973630842804613794984942817152682790916367496479469160062752291871555062959744198529261258320214197863335418932826502335611940388568414533543083903871787619265150316201237229731526540177347040557596914219634494593235084100440185902704961496894801815965828241488132952816404388213547139957096281106720657002724584983296567282421021887309645830545420849278973750640190607812610285157453521737441247551562739193013130693895523904297417282234702467824997650172419479439441255022332965189964811370036473464368552713455590919789499626730938265251068093725738139931895013962725859474556756480116280260627787935108686778592189332291505719726719077482505187732166430397583619665581803192980606593527468509467816727622815672436856982934841596850565981312553199365240177231983103452801762396781049408644396871558903699749565332207142811049048182624446587821028122603421082599612278424274067596446947245822830895127763586085330483630169076457504200909936850085672679490880916987771671515958792100086504441906166883057826386663807415827634696644519029381309240506884533527368051945982355761911196589505004453747172652632673455899462375061151550202616213923220708752452854045423726557808849891888030846969306960246896955191577509230349214673674304878671561397306240994072993825456945871524545215733592827655417488586747072957508855181351739836239516748037158449381239108123306523023110606298661963449674881082925925182603579867432015156377469556858305777174344856478521223612021292097541422140997855352914884173428175300104591711531080100684181580152409902546924543842486751409960437530742940467914808195608386244877173254708593769693062019878116577906713925284724212499272016326655687037805861084034663471955740078323831260597635073616757531455521508225492584632755110967542630950029824124804297778532120880397292269012808717272937581671062086187217594121399060707960164699001290114066485733674124975811987529304662145369009685503503483770721563379402675107892122876415605486214206297448754683781403239806537538455364899600384016511186109979196731136111559988652249109059056168727472084538886421222923955607805422086145083637022950060876062174197864672413969585040042931102016508335956544836945146914417495407775650762282977322790449733124545925755577597392025325814499788040984962636803160041576333869107365103345436520492842564340583591374847080571930935862552516625782779041355969495487938367307196905822099747825409940214053125418301400165599210384369057968532771267647066097632473841493894932527254594748261729799745997254470892900027688147535761266961443652943362375094153936457173896714510094804719288158533617491705759294008994214663249335906030635041546659193089468296514419227259898203401530859419267131796445278056911860935066219071490744507841265663013103787850917716560627115299079929392784960788169389639642636928919137356685242062618011173253577755634544111490406599834395070546417259533081499314590431851416924461990127281271831716927498057263894319433547964585821210845155248304759236791970527909858268437867701766293389873401707383634346559756025253932252491367163869671335498100759208907182013538637647569178546153448742518676269317521023308462569177659615016238936113642996885529852767731796138614878688638842877780137867406890031299172968241732920849371966149656357885139880539429124981550348376736331988147006833619266898444566345127300817815203823325335258988154621191945104250030742389547813660159656194923767664196606864222178844363071769368368051332677090360739802718679846255482242958502316724132148976527954515007040979214783062355493764535649115037845928939623351602345024659399232752828640899098978368318305161153868621362932589755079169515524194859219463128937037204633849923957302777896111420831376689781588431280682001562545944684869845462144566311444801767559873642961031556443638391255946035328870555250650417221780752317097102281493925577371969446917837148517499890255036064376103666695034118363337603533918649961271974933731178820689953982579782978686045781962524719543275212305258940319096448133103196574259967188364791973884067293653657458012240419579259498695348723660227162162879600188828395974312406437918773829123380992849233381182130924608249369085011631847329934590309873276981048132643736423523284570917759081109932019453093981709568753412303492659327511513055252167104627773758907205874287325364171752626827911326697463749124547857093206526587852527879135598610922629533413212015174092751262408925373488262777084550405929349340856800227517186982801591592047964240300863492840675696222269015534032883883102612025464939749833289352980177743079790494925259492559661385544338091000393837526808919607594334611698694542146092603361642919060372707931355592699681174253940818197050151577483458237083916924195192657367489754379603351486382750329675780720825158613498262029087250833484354260392362020895712776147445060604521436082457084469976080050692389689465283543921130443448298095398107825566860199629398748896558634135669864143450732344743347726354193183219523295001626134961221251050305892526894877131524442604245036881159959347590706933419346224961325627357047620358334747565687704087530634509582952699146315146241632097947649099467694106309600019033784242453324013187865105918676115216747368167375032767527872951123551917677181943460360492701073323126080435078584186660281332112992281709779232254000262554743826567951697151516924782351718790736476701475004630496945646669162802759598012617412322743979556583827356441484583471109522579319434904688140160750474988905412403124643600089818616377347442732452260880220388355823287959138902548669131560304064447464172401887665754344994720357204920178380081507231273620321711617161317384656200227990355796489172567824480266205719595875254103528486961913043321524629156056608754707419113027973815872514857999276293627463283866187794381513403912865832677603284970371197083600123401120380586322695158956245276596706214383721354558857089037562707130053260054742734744202988084763653927777474649994138780665077266033924672082527312880963714715258383886660433272009743757283283346401794277856170188873841285186632741415568044572464263721257183696545670831482985486703236554554321535899724642707035608336958752844522088031592564258373135456228062798490611400040099370078444247271837026218598406215450096826121949258558249898426360645241282588908412301836433334195102389455241965543224242494472686979181979185304746977166732425106470662847078319242300882404838882003974555160493326816676054673164365937940788859371740380695529222718176738168126230269972507468390326378262727058833827357095351876237870882699658902498016750024789502543983133998729309768155475011541898013582665402387614983778495523912681155437702760410327716367727980454934522001884214988828982116202928198877921387914576429831578536772403435353102345441407858655311197521698136753183283678392654226667415201660482169948818388798078587961359406962051924687055314266874539163706145943784192476811827392507217460179669237956663113931204102391823403491285138309159393613753459946786436434249408601354445219285260153705778873062401882489015155859181106130909087223388270132621053167735649791057516700969331050831767473915387634476821081996453578752909027898881306998085677010236964594100761809812674596745983016379007558263265902138532393141878173723343331166665618655850930452171869925784143562009610232240549822051232822897386348096887044829037744532775417507592735255736759028132203779236742796708787633759168281068935506928962696877287482149572576469226299733363296640700583260140668151131660903070634515265269207868533892946786164272400309255711460581796370748485810643597107508963888000599560396171175324300763410922537189977726411851056328568385573759407184709610640385738775590686048622728776066124108330638018888944800410216389682447055448045506959896420234279724741396928446483976999003379342636659226301636638934620324600669840013171950307928182391850298957910082285952313038330642697116563977763364052439314631881530856882361992472221274598232592241890576815217353791826922131313867530763529275579557853399025153416333305829343510750163381485372330447502536021151706314494817523464378447591164476901771795208090496696379306596793260016169486135540698009198585145228198445090647372504929301076363417644859887133064448794607215090348994305409486183720833501981974658894223358009282899971414827561727218338857611964071144272530464326052725056564607933593908898010914086885481916031506845910740986255670424632647146972780772000969920580745403229559628386278701474885773641123342129779563012920766032424173830238803850458383505331993101891601874667129393445351816988403766960826495486663605743905224024747323249708127688321718597344268664923016251445185749026225810724728051636481236825691021084841411394975750051642829246586337101865697930605013006383930123481539568547101184905853704362922639321504987417319279504061170306566168988076846930998831697441575265420776020276716496345463681502412802 79221136326288413549090453617582214988603149380032775393045753873679347103737428810698791647263113706575282689198477135930652137291317188670030006057926509831856472550143054466006425134587034426949120010210832597783143689081004098970652114673282224426184172485773967049733965817226715156969648131835381010189470025770375559444559659305270898952170617343578663720139463438305206193729450577009951868047317341521679722886752217921827822705466305632297648679105292595306982225729633137305184703173136534319068330149229142960259210328722455601450057473003629441834416962669954405564521304502500726298911194393554191501157954017925309977598836623748100506311537547090223313424323313673085311409323919977212070953990949404412305207140907616619412378270976434206887105501661848469182736298770557698748104969475842500166345456724876246803841548685455561851856586967869889986216391448174596518073583228454703935275996041071738034755239225816281721293011288588359444337681021846829274952700086230836341401062887321604178406708278357480439226036171803414304571700770050264769130291420603534822495795966981715612394351588510056912232508637273573895372779156159436797233748213294951636931736322625278881149941049169682180025310119656903852664689348405476728233436921288688205034751242856813863451202798101231235894933014025474654357904163264189792879110990531247061528782494741231885291482973616690359904394443018958369073484128300703937149692838128916254439952768266768999800895221352172804608885628145520829329108509888656265795056847497582709463200002373315731960683089450281141672128908771066872542843950397795050900482861371828770525181267955544208230938560999841196913163882946371552828126583680248944964520944418180558701521838650855170095150234372062727397690674991347946365752214498420657007149585319909260780872426315558079608099072865828174703417406185318728278145026184310672633645641700732291542811057990742838365066341014265183949971790930431087121056345347741501667746148234688653065189269356885872908647581204650438736957716528711548574555583977239301969823515430537595181395319473570033411789209713074292228145962019286962544117035974563318921268241513986555088394502711032433789248734183877010959345104750102614262227563661010217640141350231316347211768763385670337883433049195056061300162041862964241528184097908283230852906666992480893473206747006312106694438401261591124362380788902882710265313013071263115504159140550179707220633782158597940373880726872858838789886163551228708805088540541574505134133745949431125107024728689987177439066224173647204385151471810845156172459609697201263898819372465925856032821983943945509201296896112993390414319772317613998628115011584901662481020736975231857679558573639533120123760882987807897148264001476729480741158503008405824181375825684426593602078107066384305742314153383784825815001170364503279303283157714730965700730790958163526085614077255893030881612578737162635171062435305862363661501175783671862584712802832632731639923317926092501167046294294878922434436385815597766578254085927198853219424480746368612964091254086956730350365974846418411767133289280026522101904776721397535481072023153960396155426365282526318432948840966649466716318812335304612541684202901596339076117983534399558629308180937552570931412127563964839611720473046765641026358839977096301838517860717992220124429055320994261412222457829626748188314831526678529121257451724121669436757611557692716596947663821034873517375372433749628434475153359120061495211777091719559441963916844642691242108239222713715540944215042751815205832903182816602051553000809853471087600226541940973229542173962641860015572714026730877762563780111880467244618055586935195897209646109126685288690235443479134420307287200865787784854857681194140932834097813623138157320433948668365280904196167520730495552269155400544459597418276177569668057444229387270850059959177577695113400939572251098823419194625556857107173746511343007800181920881221537624681494893301655822089723344553388000429323171176866004751029713971505534118999127107434111180853160547174861752751626348577776330731649967976997705926985766161797485058129299093471507452375539795559192778297669346728398663209935467310249960415041458812552734910388740750185119204150326407565301155455130213015082150774995891695158121179129263515005175587602007309165752571455482494701985152058285071569163352124307190188600099648633956424637872070374433661282860434946347675030365936337518341250497939530670492049152682751595740299650777955876517336356201954238740449622894424782067167868473814849903355130288000808722848881716523423304369683278744797091680665929947282004599884742141903092455370441529688744167156179077360250483378518119247298849108528250294762208416407986167476148567175178874063800358086027457895630650648669396258429142206700367153305674783250866422661286263393363325796268275165731232739893184194968961403246730119774337399703422463459231675588482935858420765326421555448280339061724466310717136212252868177897932924653530049677696436162757662269366798190208071681769644893941942974134840361829280739998511129729526702298361645614792859833141153396637763978261364317262779683444024446799942602179506309308829708000706164362584967544123944262478613936873150629875606572943548220887109756073849240773353610522128256052318094523961849199416335892154957022886522856407858766221227733233769855803540797195843736795162918258589030898376105673396821691371141078048940078157513454368981977910858251016762020830161673450276912167612177864217402281884081697525964997122986657878537513893383684107209185434682030581611841138320769751165820198510744298727746999807978419121499753915601607922696176540527435469670341293526747506706526024530442810609168649651488186829417974713332892493843632020625662134700088384496204167242147258558309791277779399383749139370284867286168094886544821422737637802164641269558545701441664386153037171353886211403725205681597970913022628953115278573534601804694766770034985736868925734980630049997686944790517637071797350609058196799433236359876639015798606019522872255619522116052138570098167166266498733891031108802657143775059617458142604429165804720101056675638719316542457760009090061209984977397292885275149606401974049153909692505148219826918259844782109296960962668656427745596201014333963313980270250168486273994989481135537270723574107717244316660088927662936290431190977141636475102177302706274086655242143720376303626665531386214442689649201190586832460162739827248970951243047440330228206331631112497739878283020377893436493175592457922732266429291282308155450226625908735145243692396554905981224214276161473784801143286259695282125512040501344451566921615076695587270678352226833487853937549564212575401137028689407768946214072151854724602769103465475825754648083539620644496540756262476390723165771983841025405599650289140025146921553140992130744935601340339721606678745401623060593372384771360928037839290017553053687662881909325377632775454112253161089384150763856706709155478909949994753852927323817406887036600795067326371378788198824332878167341364967879877879238807231553439728369018467221599420820323413253492898108084906827199959825847516517138472194789248173159585268081314575918495931090240886524799021431864303823205292763974048397599206812537350644671886512896943549787393792013585758364951639015903806808257622062909142313231743480044638793538545919980650491431925030133693346821159087402194007666994942204762440475125178705040855041713359185302696287569744680604190515945891306060582731794814908843958353954702356548613096039147793243847008308977635561964476974997951064591650034486821018815827067440683467721305397279261255554886935728702038082522417061993386180239766246562722248573939589551463440216540148757382768091588138660292719477108563071144875031522670308447900691983255937682162468481877091121037630772727278138515616236001256623965847146632370258907566117444498723076761005067670267433967584124059982950527552684126829463945259162716865211890575671788315183102363107529308174560259235390303117426425526334200493809978331057159437911165295498631423603473319109300623522908911153779412709804961551139930617047949474361706760660471241914491395100667580257747629101647580790725836642955974210568542006096121792397082649454719102730385503190578335481925220951303611391214549703657189680455196346478377576648796225287534093375835944628560149537373180156497980646947482611425085448686655661776669311742295297814178013215311938924288491062998382097579430060278739035515872696978219934320562561595472608922323860525399884510982402005269156441982086483021029918558209724470491903799974743155409617616793047923689985178433315018756427849919071082417642288796404481615231515234452681159882921091503004550444101071092708811340514603382017663740887649084380236302609941981934458359114802326529287265867836586784975966554986634154342857441112067919515289522362798595615675285893464419458686422183504043133224290707533174576650932865938948401459027619947526422651202675898412812192885113849595817623488233557657324742800374393771493612612994490199832072720005221382391736290818088439567832190214526069759576939763059225294047689399842770969550271822493372060085246999178803887808375697715787460887952953376038287195940678828372114751832221735499728113180144886805780940960771191887792284320985144166141635393515416730908788312195300491807806540287070491481431962163136379543929660618181107758371359830272070710330540964244840736100126945150261956581967738136878967906151503477030589413476778396488056255128274618652814459320832933615142116047026707587220756919312766986953137529175073213247265939159691046998370580315251080657075929005601304731518695855137789275121205684896535005308306213389054064280969057885721542388986811077341891260041925887056878130127572583927539693499699113748046877120963906069001823409562788230808853853871882873439472647253434523002060852420272156695039139430549806321097367810917227205204247017367003229877344084778548555114682479336206900025536057463019980330999992904087435962707758338762003728511765178466640449320652612534210798892815867357916179819681928104828396478395978907986688587587211048028175297039898923093781251066820216389866502543454979385315466322731193630241277133766306683368683633769391462572687987584895042715635934566846009082053691659625628107925455524966171892172371347581776938133011946883355527792757280423901439843787718910514187571823733633970498290959128713803276395973214824695287254119656282385379882044684859740770770278952462807363972180867983716145726826403124279164669065683519737643851028582182178847409253790169102711752823675738101624258228757004430831589700933826769294222110208159503937943407859874680379804051887083961895061924782547582746137283942772401572559120470890618028176688321500424321999931090462064837742650236200746027254163561595334216630144019027040253177959675166099546895382119057589923150803302324507323848614026929585740973630842804613794984942817152682790916367496479469160062752291871555062959744198529261258320214197863335418932826502335611940388568414533543083903871787619265150316201237229731526540177347040557596914219634494593235084100440185902704961496894801815965828241488132952816404388213547139957096281106720657002724584983296567282421021887309645830545420849278973750640190607812610285157453521737441247551562739193013130693895523904297417282234702467824997650172419479439441255022332965189964811370036473464368552713455590919789499626730938265251068093725738139931895013962725859474556756480116280260627787935108686778592189332291505719726719077482505187732166430397583619665581803192980606593527468509467816727622815672436856982934841596850565981312553199365240177231983103452801762396781049408644396871558903699749565332207142811049048182624446587821028122603421082599612278424274067596446947245822830895127763586085330483630169076457504200909936850085672679490880916987771671515958792100086504441906166883057826386663807415827634696644519029381309240506884533527368051945982355761911196589505004453747172652632673455899462375061151550202616213923220708752452854045423726557808849891888030846969306960246896955191577509230349214673674304878671561397306240994072993825456945871524545215733592827655417488586747072957508855181351739836239516748037158449381239108123306523023110606298661963449674881082925925182603579867432015156377469556858305777174344856478521223612021292097541422140997855352914884173428175300104591711531080100684181580152409902546924543842486751409960437530742940467914808195608386244877173254708593769693062019878116577906713925284724212499272016326655687037805861084034663471955740078323831260597635073616757531455521508225492584632755110967542630950029824124804297778532120880397292269012808717272937581671062086187217594121399060707960164699001290114066485733674124975811987529304662145369009685503503483770721563379402675107892122876415605486214206297448754683781403239806537538455364899600384016511186109979196731136111559988652249109059056168727472084538886421222923955607805422086145083637022950060876062174197864672413969585040042931102016508335956544836945146914417495407775650762282977322790449733124545925755577597392025325814499788040984962636803160041576333869107365103345436520492842564340583591374847080571930935862552516625782779041355969495487938367307196905822099747825409940214053125418301400165599210384369057968532771267647066097632473841493894932527254594748261729799745997254470892900027688147535761266961443652943362375094153936457173896714510094804719288158533617491705759294008994214663249335906030635041546659193089468296514419227259898203401530859419267131796445278056911860935066219071490744507841265663013103787850917716560627115299079929392784960788169389639642636928919137356685242062618011173253577755634544111490406599834395070546417259533081499314590431851416924461990127281271831716927498057263894319433547964585821210845155248304759236791970527909858268437867701766293389873401707383634346559756025253932252491367163869671335498100759208907182013538637647569178546153448742518676269317521023308462569177659615016238936113642996885529852767731796138614878688638842877780137867406890031299172968241732920849371966149656357885139880539429124981550348376736331988147006833619266898444566345127300817815203823325335258988154621191945104250030742389547813660159656194923767664196606864222178844363071769368368051332677090360739802718679846255482242958502316724132148976527954515007040979214783062355493764535649115037845928939623351602345024659399232752828640899098978368318305161153868621362932589755079169515524194859219463128937037204633849923957302777896111420831376689781588431280682001562545944684869845462144566311444801767559873642961031556443638391255946035328870555250650417221780752317097102281493925577371969446917837148517499890255036064376103666695034118363337603533918649961271974933731178820689953982579782978686045781962524719543275212305258940319096448133103196574259967188364791973884067293653657458012240419579259498695348723660227162162879600188828395974312406437918773829123380992849233381182130924608249369085011631847329934590309873276981048132643736423523284570917759081109932019453093981709568753412303492659327511513055252167104627773758907205874287325364171752626827911326697463749124547857093206526587852527879135598610922629533413212015174092751262408925373488262777084550405929349340856800227517186982801591592047964240300863492840675696222269015534032883883102612025464939749833289352980177743079790494925259492559661385544338091000393837526808919607594334611698694542146092603361642919060372707931355592699681174253940818197050151577483458237083916924195192657367489754379603351486382750329675780720825158613498262029087250833484354260392362020895712776147445060604521436082457084469976080050692389689465283543921130443448298095398107825566860199629398748896558634135669864143450732344743347726354193183219523295001626134961221251050305892526894877131524442604245036881159959347590706933419346224961325627357047620358334747565687704087530634509582952699146315146241632097947649099467694106309600019033784242453324013187865105918676115216747368167375032767527872951123551917677181943460360492701073323126080435078584186660281332112992281709779232254000262554743826567951697151516924782351718790736476701475004630496945646669162802759598012617412322743979556583827356441484583471109522579319434904688140160750474988905412403124643600089818616377347442732452260880220388355823287959138902548669131560304064447464172401887665754344994720357204920178380081507231273620321711617161317384656200227990355796489172567824480266205719595875254103528486961913043321524629156056608754707419113027973815872514857999276293627463283866187794381513403912865832677603284970371197083600123401120380586322695158956245276596706214383721354558857089037562707130053260054742734744202988084763653927777474649994138780665077266033924672082527312880963714715258383886660433272009743757283283346401794277856170188873841285186632741415568044572464263721257183696545670831482985486703236554554321535899724642707035608336958752844522088031592564258373135456228062798490611400040099370078444247271837026218598406215450096826121949258558249898426360645241282588908412301836433334195102389455241965543224242494472686979181979185304746977166732425106470662847078319242300882404838882003974555160493326816676054673164365937940788859371740380695529222718176738168126230269972507468390326378262727058833827357095351876237870882699658902498016750024789502543983133998729309768155475011541898013582665402387614983778495523912681155437702760410327716367727980454934522001884214988828982116202928198877921387914576429831578536772403435353102345441407858655311197521698136753183283678392654226667415201660482169948818388798078587961359406962051924687055314266874539163706145943784192476811827392507217460179669237956663113931204102391823403491285138309159393613753459946786436434249408601354445219285260153705778873062401882489015155859181106130909087223388270132621053167735649791057516700969331050831767473915387634476821081996453578752909027898881306998085677010236964594100761809812674596745983016379007558263265902138532393141878173723343331166665618655850930452171869925784143562009610232240549822051232822897386348096887044829037744532775417507592735255736759028132203779236742796708787633759168281068935506928962696877287482149572576469226299733363296640700583260140668151131660903070634515265269207868533892946786164272400309255711460581796370748485810643597107508963888000599560396171175324300763410922537189977726411851056328568385573759407184709610640385738775590686048622728776066124108330638018888944800410216389682447055448045506959896420234279724741396928446483976999003379342636659226301636638934620324600669840013171950307928182391850298957910082285952313038330642697116563977763364052439314631881530856882361992472221274598232592241890576815217353791826922131313867530763529275579557853399025153416333305829343510750163381485372330447502536021151706314494817523464378447591164476901771795208090496696379306596793260016169486135540698009198585145228198445090647372504929301076363417644859887133064448794607215090348994305409486183720833501981974658894223358009282899971414827561727218338857611964071144272530464326052725056564607933593908898010914086885481916031506845910740986255670424632647146972780772000969920580745403229559628386278701474885773641123342129779563012920766032424173830238803850458383505331993101891601874667129393445351816988403766960826495486663605743905224024747323249708127688321718597344268664923016251445185749026225810724728051636481236825691021084841411394975750051642829246586337101865697930605013006383930123481539568547101184905853704362922639321504987417319279504061170306566168988076846930998831697441575265420776020276716496345463681502412802 | | 3 131310840659122123430692979263911999009722972251640185991369824042804680678595907124661132914687389752599106623705679711559645662426589446665491916634553335185750117769896965860982093645702694238408552156022089337677585005644792162631550631704518929241015205135101591702048497421651949341223060011800305000417678936771836859705290771660029880627016871393516996740018697455655911098485989225167419295332575332208068487662427534292639495840438981281583630834966049980873953884267978366217307684165956018862391861591201206040540492196775526904341297499331289362533658422133517200765498665008680283618874450965496206402097271853212210162216328866087335945012562245359118880699125499038388386345661464096130893781623147547063460272670370457213305655110261194094848078716064996610508781906419202249812436583748338818352971107076155665770815214137076318463882510179858664310890212158310348851155778647632470649392900269640567578185914807122191229189203215831437963106098161391078641280691617213996445002447684849598682017627360312780841124219290300845303156510958794741071565298328111203029779641294187301197921220882012577581380882825570558291407473366351815792589241838742644397654785196218448061408723500316138799584763482481117346129540101468532218946202261828070059847668705267196082068982048003776835910702594353145234502810356430065718653642128644469382489587331529566282523077868460746988495133163605015264254029839520000570525036109754772922022922234769968694411947924421711071955492434782232647511527624226950676371094765708729340120121567965199282298857450762474609993893912353687398587729290766196733184113535450810822574512632078440176960887646918979919002127733273051954261903618934385734226176505562500234266589720036433487724476850592103939172023494201250710139190980260411515471804030176799933710319839672296694209517732399922410195427447830161952576850089155974099686657937196678301693473139277529267192864466867539984933325795434706935855565819774431140679189912456634297708746075347474514788620987195457021327020395624941201542548367649030135731528719608891407567129196457759424055786158625376477292817984673302917611252902470775050442955974797750579189411753094835819668953117450743547210145723786878803504810452724909668142730476593564999748718410284735045547344338175799961988957802073273515587744940706885565798055424782121512058425984561092854539441628999963260166162454056030589921252904027856699959474499170609583590125119176431351103383726515189832615257113066508178709845891051460985192381004534702435972737933772985787699499575000063173542174516512606726642378970497027 79221136326288413549090453617582214988603149380032775393045753873679347103737428810698791647263113706575282689198477135930652137291317188670030006057926509831856472550143054466006425134587034426949120010210832597783143689081004098970652114673282224426184172485773967049733965817226715156969648131835381010189470025770375559444559659305270898952170617343578663720139463438305206193729450577009951868047317341521679722886752217921827822705466305632297648679105292595306982225729633137305184703173136534319068330149229142960259210328722455601450057473003629441834416962669954405564521304502500726298911194393554191501157954017925309977598836623748100506311537547090223313424323313673085311409323919977212070953990949404412305207140907616619412378270976434206887105501661848469182736298770557698748104969475842500166345456724876246803841548685455561851856586967869889986216391448174596518073583228454703935275996041071738034755239225816281721293011288588359444337681021846829274952700086230836341401062887321604178406708278357480439226036171803414304571700770050264769130291420603534822495795966981715612394351588510056912232508637273573895372779156159436797233748213294951636931736322625278881149941049169682180025310119656903852664689348405476728233436921288688205034751242856813863451202798101231235894933014025474654357904163264189792879110990531247061528782494741231885291482973616690359904394443018958369073484128300703937149692838128916254439952768266768999800895221352172804608885628145520829329108509888656265795056847497582709463200002373315731960683089450281141672128908771066872542843950397795050900482861371828770525181267955544208230938560999841196913163882946371552828126583680248944964520944418180558701521838650855170095150234372062727397690674991347946365752214498420657007149585319909260780872426315558079608099072865828174703417406185318728278145026184310672633645641700732291542811057990742838365066341014265183949971790930431087121056345347741501667746148234688653065189269356885872908647581204650438736957716528711548574555583977239301969823515430537595181395319473570033411789209713074292228145962019286962544117035974563318921268241513986555088394502711032433789248734183877010959345104750102614262227563661010217640141350231316347211768763385670337883433049195056061300162041862964241528184097908283230852906666992480893473206747006312106694438401261591124362380788902882710265313013071263115504159140550179707220633782158597940373880726872858838789886163551228708805088540541574505134133745949431125107024728689987177439066224173647204385151471810845156172459609697201263898819372465925856032821983943945509201296896112993390414319772317613998628115011584901662481020736975231857679558573639533120123760882987807897148264001476729480741158503008405824181375825684426593602078107066384305742314153383784825815001170364503279303283157714730965700730790958163526085614077255893030881612578737162635171062435305862363661501175783671862584712802832632731639923317926092501167046294294878922434436385815597766578254085927198853219424480746368612964091254086956730350365974846418411767133289280026522101904776721397535481072023153960396155426365282526318432948840966649466716318812335304612541684202901596339076117983534399558629308180937552570931412127563964839611720473046765641026358839977096301838517860717992220124429055320994261412222457829626748188314831526678529121257451724121669436757611557692716596947663821034873517375372433749628434475153359120061495211777091719559441963916844642691242108239222713715540944215042751815205832903182816602051553000809853471087600226541940973229542173962641860015572714026730877762563780111880467244618055586935195897209646109126685288690235443479134420307287200865787784854857681194140932834097813623138157320433948668365280904196167520730495552269155400544459597418276177569668057444229387270850059959177577695113400939572251098823419194625556857107173746511343007800181920881221537624681494893301655822089723344553388000429323171176866004751029713971505534118999127107434111180853160547174861752751626348577776330731649967976997705926985766161797485058129299093471507452375539795559192778297669346728398663209935467310249960415041458812552734910388740750185119204150326407565301155455130213015082150774995891695158121179129263515005175587602007309165752571455482494701985152058285071569163352124307190188600099648633956424637872070374433661282860434946347675030365936337518341250497939530670492049152682751595740299650777955876517336356201954238740449622894424782067167868473814849903355130288000808722848881716523423304369683278744797091680665929947282004599884742141903092455370441529688744167156179077360250483378518119247298849108528250294762208416407986167476148567175178874063800358086027457895630650648669396258429142206700367153305674783250866422661286263393363325796268275165731232739893184194968961403246730119774337399703422463459231675588482935858420765326421555448280339061724466310717136212252868177897932924653530049677696436162757662269366798190208071681769644893941942974134840361829280739998511129729526702298361645614792859833141153396637763978261364317262779683444024446799942602179506309308829708000706164362584967544123944262478613936873150629875606572943548220887109756073849240773353610522128256052318094523961849199416335892154957022886522856407858766221227733233769855803540797195843736795162918258589030898376105673396821691371141078048940078157513454368981977910858251016762020830161673450276912167612177864217402281884081697525964997122986657878537513893383684107209185434682030581611841138320769751165820198510744298727746999807978419121499753915601607922696176540527435469670341293526747506706526024530442810609168649651488186829417974713332892493843632020625662134700088384496204167242147258558309791277779399383749139370284867286168094886544821422737637802164641269558545701441664386153037171353886211403725205681597970913022628953115278573534601804694766770034985736868925734980630049997686944790517637071797350609058196799433236359876639015798606019522872255619522116052138570098167166266498733891031108802657143775059617458142604429165804720101056675638719316542457760009090061209984977397292885275149606401974049153909692505148219826918259844782109296960962668656427745596201014333963313980270250168486273994989481135537270723574107717244316660088927662936290431190977141636475102177302706274086655242143720376303626665531386214442689649201190586832460162739827248970951243047440330228206331631112497739878283020377893436493175592457922732266429291282308155450226625908735145243692396554905981224214276161473784801143286259695282125512040501344451566921615076695587270678352226833487853937549564212575401137028689407768946214072151854724602769103465475825754648083539620644496540756262476390723165771983841025405599650289140025146921553140992130744935601340339721606678745401623060593372384771360928037839290017553053687662881909325377632775454112253161089384150763856706709155478909949994753852927323817406887036600795067326371378788198824332878167341364967879877879238807231553439728369018467221599420820323413253492898108084906827199959825847516517138472194789248173159585268081314575918495931090240886524799021431864303823205292763974048397599206812537350644671886512896943549787393792013585758364951639015903806808257622062909142313231743480044638793538545919980650491431925030133693346821159087402194007666994942204762440475125178705040855041713359185302696287569744680604190515945891306060582731794814908843958353954702356548613096039147793243847008308977635561964476974997951064591650034486821018815827067440683467721305397279261255554886935728702038082522417061993386180239766246562722248573939589551463440216540148757382768091588138660292719477108563071144875031522670308447900691983255937682162468481877091121037630772727278138515616236001256623965847146632370258907566117444498723076761005067670267433967584124059982950527552684126829463945259162716865211890575671788315183102363107529308174560259235390303117426425526334200493809978331057159437911165295498631423603473319109300623522908911153779412709804961551139930617047949474361706760660471241914491395100667580257747629101647580790725836642955974210568542006096121792397082649454719102730385503190578335481925220951303611391214549703657189680455196346478377576648796225287534093375835944628560149537373180156497980646947482611425085448686655661776669311742295297814178013215311938924288491062998382097579430060278739035515872696978219934320562561595472608922323860525399884510982402005269156441982086483021029918558209724470491903799974743155409617616793047923689985178433315018756427849919071082417642288796404481615231515234452681159882921091503004550444101071092708811340514603382017663740887649084380236302609941981934458359114802326529287265867836586784975966554986634154342857441112067919515289522362798595615675285893464419458686422183504043133224290707533174576650932865938948401459027619947526422651202675898412812192885113849595817623488233557657324742800374393771493612612994490199832072720005221382391736290818088439567832190214526069759576939763059225294047689399842770969550271822493372060085246999178803887808375697715787460887952953376038287195940678828372114751832221735499728113180144886805780940960771191887792284320985144166141635393515416730908788312195300491807806540287070491481431962163136379543929660618181107758371359830272070710330540964244840736100126945150261956581967738136878967906151503477030589413476778396488056255128274618652814459320832933615142116047026707587220756919312766986953137529175073213247265939159691046998370580315251080657075929005601304731518695855137789275121205684896535005308306213389054064280969057885721542388986811077341891260041925887056878130127572583927539693499699113748046877120963906069001823409562788230808853853871882873439472647253434523002060852420272156695039139430549806321097367810917227205204247017367003229877344084778548555114682479336206900025536057463019980330999992904087435962707758338762003728511765178466640449320652612534210798892815867357916179819681928104828396478395978907986688587587211048028175297039898923093781251066820216389866502543454979385315466322731193630241277133766306683368683633769391462572687987584895042715635934566846009082053691659625628107925455524966171892172371347581776938133011946883355527792757280423901439843787718910514187571823733633970498290959128713803276395973214824695287254119656282385379882044684859740770770278952462807363972180867983716145726826403124279164669065683519737643851028582182178847409253790169102711752823675738101624258228757004430831589700933826769294222110208159503937943407859874680379804051887083961895061924782547582746137283942772401572559120470890618028176688321500424321999931090462064837742650236200746027254163561595334216630144019027040253177959675166099546895382119057589923150803302324507323848614026929585740973630842804613794984942817152682790916367496479469160062752291871555062959744198529261258320214197863335418932826502335611940388568414533543083903871787619265150316201237229731526540177347040557596914219634494593235084100440185902704961496894801815965828241488132952816404388213547139957096281106720657002724584983296567282421021887309645830545420849278973750640190607812610285157453521737441247551562739193013130693895523904297417282234702467824997650172419479439441255022332965189964811370036473464368552713455590919789499626730938265251068093725738139931895013962725859474556756480116280260627787935108686778592189332291505719726719077482505187732166430397583619665581803192980606593527468509467816727622815672436856982934841596850565981312553199365240177231983103452801762396781049408644396871558903699749565332207142811049048182624446587821028122603421082599612278424274067596446947245822830895127763586085330483630169076457504200909936850085672679490880916987771671515958792100086504441906166883057826386663807415827634696644519029381309240506884533527368051945982355761911196589505004453747172652632673455899462375061151550202616213923220708752452854045423726557808849891888030846969306960246896955191577509230349214673674304878671561397306240994072993825456945871524545215733592827655417488586747072957508855181351739836239516748037158449381239108123306523023110606298661963449674881082925925182603579867432015156377469556858305777174344856478521223612021292097541422140997855352914884173428175300104591711531080100684181580152409902546924543842486751409960437530742940467914808195608386244877173254708593769693062019878116577906713925284724212499272016326655687037805861084034663471955740078323831260597635073616757531455521508225492584632755110967542630950029824124804297778532120880397292269012808717272937581671062086187217594121399060707960164699001290114066485733674124975811987529304662145369009685503503483770721563379402675107892122876415605486214206297448754683781403239806537538455364899600384016511186109979196731136111559988652249109059056168727472084538886421222923955607805422086145083637022950060876062174197864672413969585040042931102016508335956544836945146914417495407775650762282977322790449733124545925755577597392025325814499788040984962636803160041576333869107365103345436520492842564340583591374847080571930935862552516625782779041355969495487938367307196905822099747825409940214053125418301400165599210384369057968532771267647066097632473841493894932527254594748261729799745997254470892900027688147535761266961443652943362375094153936457173896714510094804719288158533617491705759294008994214663249335906030635041546659193089468296514419227259898203401530859419267131796445278056911860935066219071490744507841265663013103787850917716560627115299079929392784960788169389639642636928919137356685242062618011173253577755634544111490406599834395070546417259533081499314590431851416924461990127281271831716927498057263894319433547964585821210845155248304759236791970527909858268437867701766293389873401707383634346559756025253932252491367163869671335498100759208907182013538637647569178546153448742518676269317521023308462569177659615016238936113642996885529852767731796138614878688638842877780137867406890031299172968241732920849371966149656357885139880539429124981550348376736331988147006833619266898444566345127300817815203823325335258988154621191945104250030742389547813660159656194923767664196606864222178844363071769368368051332677090360739802718679846255482242958502316724132148976527954515007040979214783062355493764535649115037845928939623351602345024659399232752828640899098978368318305161153868621362932589755079169515524194859219463128937037204633849923957302777896111420831376689781588431280682001562545944684869845462144566311444801767559873642961031556443638391255946035328870555250650417221780752317097102281493925577371969446917837148517499890255036064376103666695034118363337603533918649961271974933731178820689953982579782978686045781962524719543275212305258940319096448133103196574259967188364791973884067293653657458012240419579259498695348723660227162162879600188828395974312406437918773829123380992849233381182130924608249369085011631847329934590309873276981048132643736423523284570917759081109932019453093981709568753412303492659327511513055252167104627773758907205874287325364171752626827911326697463749124547857093206526587852527879135598610922629533413212015174092751262408925373488262777084550405929349340856800227517186982801591592047964240300863492840675696222269015534032883883102612025464939749833289352980177743079790494925259492559661385544338091000393837526808919607594334611698694542146092603361642919060372707931355592699681174253940818197050151577483458237083916924195192657367489754379603351486382750329675780720825158613498262029087250833484354260392362020895712776147445060604521436082457084469976080050692389689465283543921130443448298095398107825566860199629398748896558634135669864143450732344743347726354193183219523295001626134961221251050305892526894877131524442604245036881159959347590706933419346224961325627357047620358334747565687704087530634509582952699146315146241632097947649099467694106309600019033784242453324013187865105918676115216747368167375032767527872951123551917677181943460360492701073323126080435078584186660281332112992281709779232254000262554743826567951697151516924782351718790736476701475004630496945646669162802759598012617412322743979556583827356441484583471109522579319434904688140160750474988905412403124643600089818616377347442732452260880220388355823287959138902548669131560304064447464172401887665754344994720357204920178380081507231273620321711617161317384656200227990355796489172567824480266205719595875254103528486961913043321524629156056608754707419113027973815872514857999276293627463283866187794381513403912865832677603284970371197083600123401120380586322695158956245276596706214383721354558857089037562707130053260054742734744202988084763653927777474649994138780665077266033924672082527312880963714715258383886660433272009743757283283346401794277856170188873841285186632741415568044572464263721257183696545670831482985486703236554554321535899724642707035608336958752844522088031592564258373135456228062798490611400040099370078444247271837026218598406215450096826121949258558249898426360645241282588908412301836433334195102389455241965543224242494472686979181979185304746977166732425106470662847078319242300882404838882003974555160493326816676054673164365937940788859371740380695529222718176738168126230269972507468390326378262727058833827357095351876237870882699658902498016750024789502543983133998729309768155475011541898013582665402387614983778495523912681155437702760410327716367727980454934522001884214988828982116202928198877921387914576429831578536772403435353102345441407858655311197521698136753183283678392654226667415201660482169948818388798078587961359406962051924687055314266874539163706145943784192476811827392507217460179669237956663113931204102391823403491285138309159393613753459946786436434249408601354445219285260153705778873062401882489015155859181106130909087223388270132621053167735649791057516700969331050831767473915387634476821081996453578752909027898881306998085677010236964594100761809812674596745983016379007558263265902138532393141878173723343331166665618655850930452171869925784143562009610232240549822051232822897386348096887044829037744532775417507592735255736759028132203779236742796708787633759168281068935506928962696877287482149572576469226299733363296640700583260140668151131660903070634515265269207868533892946786164272400309255711460581796370748485810643597107508963888000599560396171175324300763410922537189977726411851056328568385573759407184709610640385738775590686048622728776066124108330638018888944800410216389682447055448045506959896420234279724741396928446483976999003379342636659226301636638934620324600669840013171950307928182391850298957910082285952313038330642697116563977763364052439314631881530856882361992472221274598232592241890576815217353791826922131313867530763529275579557853399025153416333305829343510750163381485372330447502536021151706314494817523464378447591164476901771795208090496696379306596793260016169486135540698009198585145228198445090647372504929301076363417644859887133064448794607215090348994305409486183720833501981974658894223358009282899971414827561727218338857611964071144272530464326052725056564607933593908898010914086885481916031506845910740986255670424632647146972780772000969920580745403229559628386278701474885773641123342129779563012920766032424173830238803850458383505331993101891601874667129393445351816988403766960826495486663605743905224024747323249708127688321718597344268664923016251445185749026225810724728051636481236825691021084841411394975750051642829246586337101865697930605013006383930123481539568547101184905853704362922639321504987417319279504061170306566168988076846930998831697441575265420776020276716496345463733042020355 79221136326288413549090453617582214988603149380032775393045753873679347103737428810698791647263113706575282689198477135930652137291317188670030006057926509831856472550143054466006425134587034426949120010210832597783143689081004098970652114673282224426184172485773967049733965817226715156969648131835381010189470025770375559444559659305270898952170617343578663720139463438305206193729450577009951868047317341521679722886752217921827822705466305632297648679105292595306982225729633137305184703173136534319068330149229142960259210328722455601450057473003629441834416962669954405564521304502500726298911194393554191501157954017925309977598836623748100506311537547090223313424323313673085311409323919977212070953990949404412305207140907616619412378270976434206887105501661848469182736298770557698748104969475842500166345456724876246803841548685455561851856586967869889986216391448174596518073583228454703935275996041071738034755239225816281721293011288588359444337681021846829274952700086230836341401062887321604178406708278357480439226036171803414304571700770050264769130291420603534822495795966981715612394351588510056912232508637273573895372779156159436797233748213294951636931736322625278881149941049169682180025310119656903852664689348405476728233436921288688205034751242856813863451202798101231235894933014025474654357904163264189792879110990531247061528782494741231885291482973616690359904394443018958369073484128300703937149692838128916254439952768266768999800895221352172804608885628145520829329108509888656265795056847497582709463200002373315731960683089450281141672128908771066872542843950397795050900482861371828770525181267955544208230938560999841196913163882946371552828126583680248944964520944418180558701521838650855170095150234372062727397690674991347946365752214498420657007149585319909260780872426315558079608099072865828174703417406185318728278145026184310672633645641700732291542811057990742838365066341014265183949971790930431087121056345347741501667746148234688653065189269356885872908647581204650438736957716528711548574555583977239301969823515430537595181395319473570033411789209713074292228145962019286962544117035974563318921268241513986555088394502711032433789248734183877010959345104750102614262227563661010217640141350231316347211768763385670337883433049195056061300162041862964241528184097908283230852906666992480893473206747006312106694438401261591124362380788902882710265313013071263115504159140550179707220633782158597940373880726872858838789886163551228708805088540541574505134133745949431125107024728689987177439066224173647204385151471810845156172459609697201263898819372465925856032821983943945509201296896112993390414319772317613998628115011584901662481020736975231857679558573639533120123760882987807897148264001476729480741158503008405824181375825684426593602078107066384305742314153383784825815001170364503279303283157714730965700730790958163526085614077255893030881612578737162635171062435305862363661501175783671862584712802832632731639923317926092501167046294294878922434436385815597766578254085927198853219424480746368612964091254086956730350365974846418411767133289280026522101904776721397535481072023153960396155426365282526318432948840966649466716318812335304612541684202901596339076117983534399558629308180937552570931412127563964839611720473046765641026358839977096301838517860717992220124429055320994261412222457829626748188314831526678529121257451724121669436757611557692716596947663821034873517375372433749628434475153359120061495211777091719559441963916844642691242108239222713715540944215042751815205832903182816602051553000809853471087600226541940973229542173962641860015572714026730877762563780111880467244618055586935195897209646109126685288690235443479134420307287200865787784854857681194140932834097813623138157320433948668365280904196167520730495552269155400544459597418276177569668057444229387270850059959177577695113400939572251098823419194625556857107173746511343007800181920881221537624681494893301655822089723344553388000429323171176866004751029713971505534118999127107434111180853160547174861752751626348577776330731649967976997705926985766161797485058129299093471507452375539795559192778297669346728398663209935467310249960415041458812552734910388740750185119204150326407565301155455130213015082150774995891695158121179129263515005175587602007309165752571455482494701985152058285071569163352124307190188600099648633956424637872070374433661282860434946347675030365936337518341250497939530670492049152682751595740299650777955876517336356201954238740449622894424782067167868473814849903355130288000808722848881716523423304369683278744797091680665929947282004599884742141903092455370441529688744167156179077360250483378518119247298849108528250294762208416407986167476148567175178874063800358086027457895630650648669396258429142206700367153305674783250866422661286263393363325796268275165731232739893184194968961403246730119774337399703422463459231675588482935858420765326421555448280339061724466310717136212252868177897932924653530049677696436162757662269366798190208071681769644893941942974134840361829280739998511129729526702298361645614792859833141153396637763978261364317262779683444024446799942602179506309308829708000706164362584967544123944262478613936873150629875606572943548220887109756073849240773353610522128256052318094523961849199416335892154957022886522856407858766221227733233769855803540797195843736795162918258589030898376105673396821691371141078048940078157513454368981977910858251016762020830161673450276912167612177864217402281884081697525964997122986657878537513893383684107209185434682030581611841138320769751165820198510744298727746999807978419121499753915601607922696176540527435469670341293526747506706526024530442810609168649651488186829417974713332892493843632020625662134700088384496204167242147258558309791277779399383749139370284867286168094886544821422737637802164641269558545701441664386153037171353886211403725205681597970913022628953115278573534601804694766770034985736868925734980630049997686944790517637071797350609058196799433236359876639015798606019522872255619522116052138570098167166266498733891031108802657143775059617458142604429165804720101056675638719316542457760009090061209984977397292885275149606401974049153909692505148219826918259844782109296960962668656427745596201014333963313980270250168486273994989481135537270723574107717244316660088927662936290431190977141636475102177302706274086655242143720376303626665531386214442689649201190586832460162739827248970951243047440330228206331631112497739878283020377893436493175592457922732266429291282308155450226625908735145243692396554905981224214276161473784801143286259695282125512040501344451566921615076695587270678352226833487853937549564212575401137028689407768946214072151854724602769103465475825754648083539620644496540756262476390723165771983841025405599650289140025146921553140992130744935601340339721606678745401623060593372384771360928037839290017553053687662881909325377632775454112253161089384150763856706709155478909949994753852927323817406887036600795067326371378788198824332878167341364967879877879238807231553439728369018467221599420820323413253492898108084906827199959825847516517138472194789248173159585268081314575918495931090240886524799021431864303823205292763974048397599206812537350644671886512896943549787393792013585758364951639015903806808257622062909142313231743480044638793538545919980650491431925030133693346821159087402194007666994942204762440475125178705040855041713359185302696287569744680604190515945891306060582731794814908843958353954702356548613096039147793243847008308977635561964476974997951064591650034486821018815827067440683467721305397279261255554886935728702038082522417061993386180239766246562722248573939589551463440216540148757382768091588138660292719477108563071144875031522670308447900691983255937682162468481877091121037630772727278138515616236001256623965847146632370258907566117444498723076761005067670267433967584124059982950527552684126829463945259162716865211890575671788315183102363107529308174560259235390303117426425526334200493809978331057159437911165295498631423603473319109300623522908911153779412709804961551139930617047949474361706760660471241914491395100667580257747629101647580790725836642955974210568542006096121792397082649454719102730385503190578335481925220951303611391214549703657189680455196346478377576648796225287534093375835944628560149537373180156497980646947482611425085448686655661776669311742295297814178013215311938924288491062998382097579430060278739035515872696978219934320562561595472608922323860525399884510982402005269156441982086483021029918558209724470491903799974743155409617616793047923689985178433315018756427849919071082417642288796404481615231515234452681159882921091503004550444101071092708811340514603382017663740887649084380236302609941981934458359114802326529287265867836586784975966554986634154342857441112067919515289522362798595615675285893464419458686422183504043133224290707533174576650932865938948401459027619947526422651202675898412812192885113849595817623488233557657324742800374393771493612612994490199832072720005221382391736290818088439567832190214526069759576939763059225294047689399842770969550271822493372060085246999178803887808375697715787460887952953376038287195940678828372114751832221735499728113180144886805780940960771191887792284320985144166141635393515416730908788312195300491807806540287070491481431962163136379543929660618181107758371359830272070710330540964244840736100126945150261956581967738136878967906151503477030589413476778396488056255128274618652814459320832933615142116047026707587220756919312766986953137529175073213247265939159691046998370580315251080657075929005601304731518695855137789275121205684896535005308306213389054064280969057885721542388986811077341891260041925887056878130127572583927539693499699113748046877120963906069001823409562788230808853853871882873439472647253434523002060852420272156695039139430549806321097367810917227205204247017367003229877344084778548555114682479336206900025536057463019980330999992904087435962707758338762003728511765178466640449320652612534210798892815867357916179819681928104828396478395978907986688587587211048028175297039898923093781251066820216389866502543454979385315466322731193630241277133766306683368683633769391462572687987584895042715635934566846009082053691659625628107925455524966171892172371347581776938133011946883355527792757280423901439843787718910514187571823733633970498290959128713803276395973214824695287254119656282385379882044684859740770770278952462807363972180867983716145726826403124279164669065683519737643851028582182178847409253790169102711752823675738101624258228757004430831589700933826769294222110208159503937943407859874680379804051887083961895061924782547582746137283942772401572559120470890618028176688321500424321999931090462064837742650236200746027254163561595334216630144019027040253177959675166099546895382119057589923150803302324507323848614026929585740973630842804613794984942817152682790916367496479469160062752291871555062959744198529261258320214197863335418932826502335611940388568414533543083903871787619265150316201237229731526540177347040557596914219634494593235084100440185902704961496894801815965828241488132952816404388213547139957096281106720657002724584983296567282421021887309645830545420849278973750640190607812610285157453521737441247551562739193013130693895523904297417282234702467824997650172419479439441255022332965189964811370036473464368552713455590919789499626730938265251068093725738139931895013962725859474556756480116280260627787935108686778592189332291505719726719077482505187732166430397583619665581803192980606593527468509467816727622815672436856982934841596850565981312553199365240177231983103452801762396781049408644396871558903699749565332207142811049048182624446587821028122603421082599612278424274067596446947245822830895127763586085330483630169076457504200909936850085672679490880916987771671515958792100086504441906166883057826386663807415827634696644519029381309240506884533527368051945982355761911196589505004453747172652632673455899462375061151550202616213923220708752452854045423726557808849891888030846969306960246896955191577509230349214673674304878671561397306240994072993825456945871524545215733592827655417488586747072957508855181351739836239516748037158449381239108123306523023110606298661963449674881082925925182603579867432015156377469556858305777174344856478521223612021292097541422140997855352914884173428175300104591711531080100684181580152409902546924543842486751409960437530742940467914808195608386244877173254708593769693062019878116577906713925284724212499272016326655687037805861084034663471955740078323831260597635073616757531455521508225492584632755110967542630950029824124804297778532120880397292269012808717272937581671062086187217594121399060707960164699001290114066485733674124975811987529304662145369009685503503483770721563379402675107892122876415605486214206297448754683781403239806537538455364899600384016511186109979196731136111559988652249109059056168727472084538886421222923955607805422086145083637022950060876062174197864672413969585040042931102016508335956544836945146914417495407775650762282977322790449733124545925755577597392025325814499788040984962636803160041576333869107365103345436520492842564340583591374847080571930935862552516625782779041355969495487938367307196905822099747825409940214053125418301400165599210384369057968532771267647066097632473841493894932527254594748261729799745997254470892900027688147535761266961443652943362375094153936457173896714510094804719288158533617491705759294008994214663249335906030635041546659193089468296514419227259898203401530859419267131796445278056911860935066219071490744507841265663013103787850917716560627115299079929392784960788169389639642636928919137356685242062618011173253577755634544111490406599834395070546417259533081499314590431851416924461990127281271831716927498057263894319433547964585821210845155248304759236791970527909858268437867701766293389873401707383634346559756025253932252491367163869671335498100759208907182013538637647569178546153448742518676269317521023308462569177659615016238936113642996885529852767731796138614878688638842877780137867406890031299172968241732920849371966149656357885139880539429124981550348376736331988147006833619266898444566345127300817815203823325335258988154621191945104250030742389547813660159656194923767664196606864222178844363071769368368051332677090360739802718679846255482242958502316724132148976527954515007040979214783062355493764535649115037845928939623351602345024659399232752828640899098978368318305161153868621362932589755079169515524194859219463128937037204633849923957302777896111420831376689781588431280682001562545944684869845462144566311444801767559873642961031556443638391255946035328870555250650417221780752317097102281493925577371969446917837148517499890255036064376103666695034118363337603533918649961271974933731178820689953982579782978686045781962524719543275212305258940319096448133103196574259967188364791973884067293653657458012240419579259498695348723660227162162879600188828395974312406437918773829123380992849233381182130924608249369085011631847329934590309873276981048132643736423523284570917759081109932019453093981709568753412303492659327511513055252167104627773758907205874287325364171752626827911326697463749124547857093206526587852527879135598610922629533413212015174092751262408925373488262777084550405929349340856800227517186982801591592047964240300863492840675696222269015534032883883102612025464939749833289352980177743079790494925259492559661385544338091000393837526808919607594334611698694542146092603361642919060372707931355592699681174253940818197050151577483458237083916924195192657367489754379603351486382750329675780720825158613498262029087250833484354260392362020895712776147445060604521436082457084469976080050692389689465283543921130443448298095398107825566860199629398748896558634135669864143450732344743347726354193183219523295001626134961221251050305892526894877131524442604245036881159959347590706933419346224961325627357047620358334747565687704087530634509582952699146315146241632097947649099467694106309600019033784242453324013187865105918676115216747368167375032767527872951123551917677181943460360492701073323126080435078584186660281332112992281709779232254000262554743826567951697151516924782351718790736476701475004630496945646669162802759598012617412322743979556583827356441484583471109522579319434904688140160750474988905412403124643600089818616377347442732452260880220388355823287959138902548669131560304064447464172401887665754344994720357204920178380081507231273620321711617161317384656200227990355796489172567824480266205719595875254103528486961913043321524629156056608754707419113027973815872514857999276293627463283866187794381513403912865832677603284970371197083600123401120380586322695158956245276596706214383721354558857089037562707130053260054742734744202988084763653927777474649994138780665077266033924672082527312880963714715258383886660433272009743757283283346401794277856170188873841285186632741415568044572464263721257183696545670831482985486703236554554321535899724642707035608336958752844522088031592564258373135456228062798490611400040099370078444247271837026218598406215450096826121949258558249898426360645241282588908412301836433334195102389455241965543224242494472686979181979185304746977166732425106470662847078319242300882404838882003974555160493326816676054673164365937940788859371740380695529222718176738168126230269972507468390326378262727058833827357095351876237870882699658902498016750024789502543983133998729309768155475011541898013582665402387614983778495523912681155437702760410327716367727980454934522001884214988828982116202928198877921387914576429831578536772403435353102345441407858655311197521698136753183283678392654226667415201660482169948818388798078587961359406962051924687055314266874539163706145943784192476811827392507217460179669237956663113931204102391823403491285138309159393613753459946786436434249408601354445219285260153705778873062401882489015155859181106130909087223388270132621053167735649791057516700969331050831767473915387634476821081996453578752909027898881306998085677010236964594100761809812674596745983016379007558263265902138532393141878173723343331166665618655850930452171869925784143562009610232240549822051232822897386348096887044829037744532775417507592735255736759028132203779236742796708787633759168281068935506928962696877287482149572576469226299733363296640700583260140668151131660903070634515265269207868533892946786164272400309255711460581796370748485810643597107508963888000599560396171175324300763410922537189977726411851056328568385573759407184709610640385738775590686048622728776066124108330638018888944800410216389682447055448045506959896420234279724741396928446483976999003379342636659226301636638934620324600669840013171950307928182391850298957910082285952313038330642697116563977763364052439314631881530856882361992472221274598232592241890576815217353791826922131313867530763529275579557853399025153416333305829343510750163381485372330447502536021151706314494817523464378447591164476901771795208090496696379306596793260016169486135540698009198585145228198445090647372504929301076363417644859887133064448794607215090348994305409486183720833501981974658894223358009282899971414827561727218338857611964071144272530464326052725056564607933593908898010914086885481916031506845910740986255670424632647146972780772000969920580745403229559628386278701474885773641123342129779563012920766032424173830238803850458383505331993101891601874667129393445351816988403766960826495486663605743905224024747323249708127688321718597344268664923016251445185749026225810724728051636481236825691021084841411394975750051642829246586337101865697930605013006383930123481539568547101184905853704362922639321504987417319279504061170306566168988076846930998831697441575265420776020276716496345463733042020355 79221136326288413549090453617582214988603149380032775393045753873679347103737428810698791647263113706575282689198477135930652137291317188670030006057926509831856472550143054466006425134587034426949120010210832597783143689081004098970652114673282224426184172485773967049733965817226715156969648131835381010189470025770375559444559659305270898952170617343578663720139463438305206193729450577009951868047317341521679722886752217921827822705466305632297648679105292595306982225729633137305184703173136534319068330149229142960259210328722455601450057473003629441834416962669954405564521304502500726298911194393554191501157954017925309977598836623748100506311537547090223313424323313673085311409323919977212070953990949404412305207140907616619412378270976434206887105501661848469182736298770557698748104969475842500166345456724876246803841548685455561851856586967869889986216391448174596518073583228454703935275996041071738034755239225816281721293011288588359444337681021846829274952700086230836341401062887321604178406708278357480439226036171803414304571700770050264769130291420603534822495795966981715612394351588510056912232508637273573895372779156159436797233748213294951636931736322625278881149941049169682180025310119656903852664689348405476728233436921288688205034751242856813863451202798101231235894933014025474654357904163264189792879110990531247061528782494741231885291482973616690359904394443018958369073484128300703937149692838128916254439952768266768999800895221352172804608885628145520829329108509888656265795056847497582709463200002373315731960683089450281141672128908771066872542843950397795050900482861371828770525181267955544208230938560999841196913163882946371552828126583680248944964520944418180558701521838650855170095150234372062727397690674991347946365752214498420657007149585319909260780872426315558079608099072865828174703417406185318728278145026184310672633645641700732291542811057990742838365066341014265183949971790930431087121056345347741501667746148234688653065189269356885872908647581204650438736957716528711548574555583977239301969823515430537595181395319473570033411789209713074292228145962019286962544117035974563318921268241513986555088394502711032433789248734183877010959345104750102614262227563661010217640141350231316347211768763385670337883433049195056061300162041862964241528184097908283230852906666992480893473206747006312106694438401261591124362380788902882710265313013071263115504159140550179707220633782158597940373880726872858838789886163551228708805088540541574505134133745949431125107024728689987177439066224173647204385151471810845156172459609697201263898819372465925856032821983943945509201296896112993390414319772317613998628115011584901662481020736975231857679558573639533120123760882987807897148264001476729480741158503008405824181375825684426593602078107066384305742314153383784825815001170364503279303283157714730965700730790958163526085614077255893030881612578737162635171062435305862363661501175783671862584712802832632731639923317926092501167046294294878922434436385815597766578254085927198853219424480746368612964091254086956730350365974846418411767133289280026522101904776721397535481072023153960396155426365282526318432948840966649466716318812335304612541684202901596339076117983534399558629308180937552570931412127563964839611720473046765641026358839977096301838517860717992220124429055320994261412222457829626748188314831526678529121257451724121669436757611557692716596947663821034873517375372433749628434475153359120061495211777091719559441963916844642691242108239222713715540944215042751815205832903182816602051553000809853471087600226541940973229542173962641860015572714026730877762563780111880467244618055586935195897209646109126685288690235443479134420307287200865787784854857681194140932834097813623138157320433948668365280904196167520730495552269155400544459597418276177569668057444229387270850059959177577695113400939572251098823419194625556857107173746511343007800181920881221537624681494893301655822089723344553388000429323171176866004751029713971505534118999127107434111180853160547174861752751626348577776330731649967976997705926985766161797485058129299093471507452375539795559192778297669346728398663209935467310249960415041458812552734910388740750185119204150326407565301155455130213015082150774995891695158121179129263515005175587602007309165752571455482494701985152058285071569163352124307190188600099648633956424637872070374433661282860434946347675030365936337518341250497939530670492049152682751595740299650777955876517336356201954238740449622894424782067167868473814849903355130288000808722848881716523423304369683278744797091680665929947282004599884742141903092455370441529688744167156179077360250483378518119247298849108528250294762208416407986167476148567175178874063800358086027457895630650648669396258429142206700367153305674783250866422661286263393363325796268275165731232739893184194968961403246730119774337399703422463459231675588482935858420765326421555448280339061724466310717136212252868177897932924653530049677696436162757662269366798190208071681769644893941942974134840361829280739998511129729526702298361645614792859833141153396637763978261364317262779683444024446799942602179506309308829708000706164362584967544123944262478613936873150629875606572943548220887109756073849240773353610522128256052318094523961849199416335892154957022886522856407858766221227733233769855803540797195843736795162918258589030898376105673396821691371141078048940078157513454368981977910858251016762020830161673450276912167612177864217402281884081697525964997122986657878537513893383684107209185434682030581611841138320769751165820198510744298727746999807978419121499753915601607922696176540527435469670341293526747506706526024530442810609168649651488186829417974713332892493843632020625662134700088384496204167242147258558309791277779399383749139370284867286168094886544821422737637802164641269558545701441664386153037171353886211403725205681597970913022628953115278573534601804694766770034985736868925734980630049997686944790517637071797350609058196799433236359876639015798606019522872255619522116052138570098167166266498733891031108802657143775059617458142604429165804720101056675638719316542457760009090061209984977397292885275149606401974049153909692505148219826918259844782109296960962668656427745596201014333963313980270250168486273994989481135537270723574107717244316660088927662936290431190977141636475102177302706274086655242143720376303626665531386214442689649201190586832460162739827248970951243047440330228206331631112497739878283020377893436493175592457922732266429291282308155450226625908735145243692396554905981224214276161473784801143286259695282125512040501344451566921615076695587270678352226833487853937549564212575401137028689407768946214072151854724602769103465475825754648083539620644496540756262476390723165771983841025405599650289140025146921553140992130744935601340339721606678745401623060593372384771360928037839290017553053687662881909325377632775454112253161089384150763856706709155478909949994753852927323817406887036600795067326371378788198824332878167341364967879877879238807231553439728369018467221599420820323413253492898108084906827199959825847516517138472194789248173159585268081314575918495931090240886524799021431864303823205292763974048397599206812537350644671886512896943549787393792013585758364951639015903806808257622062909142313231743480044638793538545919980650491431925030133693346821159087402194007666994942204762440475125178705040855041713359185302696287569744680604190515945891306060582731794814908843958353954702356548613096039147793243847008308977635561964476974997951064591650034486821018815827067440683467721305397279261255554886935728702038082522417061993386180239766246562722248573939589551463440216540148757382768091588138660292719477108563071144875031522670308447900691983255937682162468481877091121037630772727278138515616236001256623965847146632370258907566117444498723076761005067670267433967584124059982950527552684126829463945259162716865211890575671788315183102363107529308174560259235390303117426425526334200493809978331057159437911165295498631423603473319109300623522908911153779412709804961551139930617047949474361706760660471241914491395100667580257747629101647580790725836642955974210568542006096121792397082649454719102730385503190578335481925220951303611391214549703657189680455196346478377576648796225287534093375835944628560149537373180156497980646947482611425085448686655661776669311742295297814178013215311938924288491062998382097579430060278739035515872696978219934320562561595472608922323860525399884510982402005269156441982086483021029918558209724470491903799974743155409617616793047923689985178433315018756427849919071082417642288796404481615231515234452681159882921091503004550444101071092708811340514603382017663740887649084380236302609941981934458359114802326529287265867836586784975966554986634154342857441112067919515289522362798595615675285893464419458686422183504043133224290707533174576650932865938948401459027619947526422651202675898412812192885113849595817623488233557657324742800374393771493612612994490199832072720005221382391736290818088439567832190214526069759576939763059225294047689399842770969550271822493372060085246999178803887808375697715787460887952953376038287195940678828372114751832221735499728113180144886805780940960771191887792284320985144166141635393515416730908788312195300491807806540287070491481431962163136379543929660618181107758371359830272070710330540964244840736100126945150261956581967738136878967906151503477030589413476778396488056255128274618652814459320832933615142116047026707587220756919312766986953137529175073213247265939159691046998370580315251080657075929005601304731518695855137789275121205684896535005308306213389054064280969057885721542388986811077341891260041925887056878130127572583927539693499699113748046877120963906069001823409562788230808853853871882873439472647253434523002060852420272156695039139430549806321097367810917227205204247017367003229877344084778548555114682479336206900025536057463019980330999992904087435962707758338762003728511765178466640449320652612534210798892815867357916179819681928104828396478395978907986688587587211048028175297039898923093781251066820216389866502543454979385315466322731193630241277133766306683368683633769391462572687987584895042715635934566846009082053691659625628107925455524966171892172371347581776938133011946883355527792757280423901439843787718910514187571823733633970498290959128713803276395973214824695287254119656282385379882044684859740770770278952462807363972180867983716145726826403124279164669065683519737643851028582182178847409253790169102711752823675738101624258228757004430831589700933826769294222110208159503937943407859874680379804051887083961895061924782547582746137283942772401572559120470890618028176688321500424321999931090462064837742650236200746027254163561595334216630144019027040253177959675166099546895382119057589923150803302324507323848614026929585740973630842804613794984942817152682790916367496479469160062752291871555062959744198529261258320214197863335418932826502335611940388568414533543083903871787619265150316201237229731526540177347040557596914219634494593235084100440185902704961496894801815965828241488132952816404388213547139957096281106720657002724584983296567282421021887309645830545420849278973750640190607812610285157453521737441247551562739193013130693895523904297417282234702467824997650172419479439441255022332965189964811370036473464368552713455590919789499626730938265251068093725738139931895013962725859474556756480116280260627787935108686778592189332291505719726719077482505187732166430397583619665581803192980606593527468509467816727622815672436856982934841596850565981312553199365240177231983103452801762396781049408644396871558903699749565332207142811049048182624446587821028122603421082599612278424274067596446947245822830895127763586085330483630169076457504200909936850085672679490880916987771671515958792100086504441906166883057826386663807415827634696644519029381309240506884533527368051945982355761911196589505004453747172652632673455899462375061151550202616213923220708752452854045423726557808849891888030846969306960246896955191577509230349214673674304878671561397306240994072993825456945871524545215733592827655417488586747072957508855181351739836239516748037158449381239108123306523023110606298661963449674881082925925182603579867432015156377469556858305777174344856478521223612021292097541422140997855352914884173428175300104591711531080100684181580152409902546924543842486751409960437530742940467914808195608386244877173254708593769693062019878116577906713925284724212499272016326655687037805861084034663471955740078323831260597635073616757531455521508225492584632755110967542630950029824124804297778532120880397292269012808717272937581671062086187217594121399060707960164699001290114066485733674124975811987529304662145369009685503503483770721563379402675107892122876415605486214206297448754683781403239806537538455364899600384016511186109979196731136111559988652249109059056168727472084538886421222923955607805422086145083637022950060876062174197864672413969585040042931102016508335956544836945146914417495407775650762282977322790449733124545925755577597392025325814499788040984962636803160041576333869107365103345436520492842564340583591374847080571930935862552516625782779041355969495487938367307196905822099747825409940214053125418301400165599210384369057968532771267647066097632473841493894932527254594748261729799745997254470892900027688147535761266961443652943362375094153936457173896714510094804719288158533617491705759294008994214663249335906030635041546659193089468296514419227259898203401530859419267131796445278056911860935066219071490744507841265663013103787850917716560627115299079929392784960788169389639642636928919137356685242062618011173253577755634544111490406599834395070546417259533081499314590431851416924461990127281271831716927498057263894319433547964585821210845155248304759236791970527909858268437867701766293389873401707383634346559756025253932252491367163869671335498100759208907182013538637647569178546153448742518676269317521023308462569177659615016238936113642996885529852767731796138614878688638842877780137867406890031299172968241732920849371966149656357885139880539429124981550348376736331988147006833619266898444566345127300817815203823325335258988154621191945104250030742389547813660159656194923767664196606864222178844363071769368368051332677090360739802718679846255482242958502316724132148976527954515007040979214783062355493764535649115037845928939623351602345024659399232752828640899098978368318305161153868621362932589755079169515524194859219463128937037204633849923957302777896111420831376689781588431280682001562545944684869845462144566311444801767559873642961031556443638391255946035328870555250650417221780752317097102281493925577371969446917837148517499890255036064376103666695034118363337603533918649961271974933731178820689953982579782978686045781962524719543275212305258940319096448133103196574259967188364791973884067293653657458012240419579259498695348723660227162162879600188828395974312406437918773829123380992849233381182130924608249369085011631847329934590309873276981048132643736423523284570917759081109932019453093981709568753412303492659327511513055252167104627773758907205874287325364171752626827911326697463749124547857093206526587852527879135598610922629533413212015174092751262408925373488262777084550405929349340856800227517186982801591592047964240300863492840675696222269015534032883883102612025464939749833289352980177743079790494925259492559661385544338091000393837526808919607594334611698694542146092603361642919060372707931355592699681174253940818197050151577483458237083916924195192657367489754379603351486382750329675780720825158613498262029087250833484354260392362020895712776147445060604521436082457084469976080050692389689465283543921130443448298095398107825566860199629398748896558634135669864143450732344743347726354193183219523295001626134961221251050305892526894877131524442604245036881159959347590706933419346224961325627357047620358334747565687704087530634509582952699146315146241632097947649099467694106309600019033784242453324013187865105918676115216747368167375032767527872951123551917677181943460360492701073323126080435078584186660281332112992281709779232254000262554743826567951697151516924782351718790736476701475004630496945646669162802759598012617412322743979556583827356441484583471109522579319434904688140160750474988905412403124643600089818616377347442732452260880220388355823287959138902548669131560304064447464172401887665754344994720357204920178380081507231273620321711617161317384656200227990355796489172567824480266205719595875254103528486961913043321524629156056608754707419113027973815872514857999276293627463283866187794381513403912865832677603284970371197083600123401120380586322695158956245276596706214383721354558857089037562707130053260054742734744202988084763653927777474649994138780665077266033924672082527312880963714715258383886660433272009743757283283346401794277856170188873841285186632741415568044572464263721257183696545670831482985486703236554554321535899724642707035608336958752844522088031592564258373135456228062798490611400040099370078444247271837026218598406215450096826121949258558249898426360645241282588908412301836433334195102389455241965543224242494472686979181979185304746977166732425106470662847078319242300882404838882003974555160493326816676054673164365937940788859371740380695529222718176738168126230269972507468390326378262727058833827357095351876237870882699658902498016750024789502543983133998729309768155475011541898013582665402387614983778495523912681155437702760410327716367727980454934522001884214988828982116202928198877921387914576429831578536772403435353102345441407858655311197521698136753183283678392654226667415201660482169948818388798078587961359406962051924687055314266874539163706145943784192476811827392507217460179669237956663113931204102391823403491285138309159393613753459946786436434249408601354445219285260153705778873062401882489015155859181106130909087223388270132621053167735649791057516700969331050831767473915387634476821081996453578752909027898881306998085677010236964594100761809812674596745983016379007558263265902138532393141878173723343331166665618655850930452171869925784143562009610232240549822051232822897386348096887044829037744532775417507592735255736759028132203779236742796708787633759168281068935506928962696877287482149572576469226299733363296640700583260140668151131660903070634515265269207868533892946786164272400309255711460581796370748485810643597107508963888000599560396171175324300763410922537189977726411851056328568385573759407184709610640385738775590686048622728776066124108330638018888944800410216389682447055448045506959896420234279724741396928446483976999003379342636659226301636638934620324600669840013171950307928182391850298957910082285952313038330642697116563977763364052439314631881530856882361992472221274598232592241890576815217353791826922131313867530763529275579557853399025153416333305829343510750163381485372330447502536021151706314494817523464378447591164476901771795208090496696379306596793260016169486135540698009198585145228198445090647372504929301076363417644859887133064448794607215090348994305409486183720833501981974658894223358009282899971414827561727218338857611964071144272530464326052725056564607933593908898010914086885481916031506845910740986255670424632647146972780772000969920580745403229559628386278701474885773641123342129779563012920766032424173830238803850458383505331993101891601874667129393445351816988403766960826495486663605743905224024747323249708127688321718597344268664923016251445185749026225810724728051636481236825691021084841411394975750051642829246586337101865697930605013006383930123481539568547101184905853704362922639321504987417319279504061170306566168988076846930998831697441575265420776020276716496345463733042020355 79221136326288413549090453617582214988603149380032775393045753873679347103737428810698791647263113706575282689198477135930652137291317188670030006057926509831856472550143054466006425134587034426949120010210832597783143689081004098970652114673282224426184172485773967049733965817226715156969648131835381010189470025770375559444559659305270898952170617343578663720139463438305206193729450577009951868047317341521679722886752217921827822705466305632297648679105292595306982225729633137305184703173136534319068330149229142960259210328722455601450057473003629441834416962669954405564521304502500726298911194393554191501157954017925309977598836623748100506311537547090223313424323313673085311409323919977212070953990949404412305207140907616619412378270976434206887105501661848469182736298770557698748104969475842500166345456724876246803841548685455561851856586967869889986216391448174596518073583228454703935275996041071738034755239225816281721293011288588359444337681021846829274952700086230836341401062887321604178406708278357480439226036171803414304571700770050264769130291420603534822495795966981715612394351588510056912232508637273573895372779156159436797233748213294951636931736322625278881149941049169682180025310119656903852664689348405476728233436921288688205034751242856813863451202798101231235894933014025474654357904163264189792879110990531247061528782494741231885291482973616690359904394443018958369073484128300703937149692838128916254439952768266768999800895221352172804608885628145520829329108509888656265795056847497582709463200002373315731960683089450281141672128908771066872542843950397795050900482861371828770525181267955544208230938560999841196913163882946371552828126583680248944964520944418180558701521838650855170095150234372062727397690674991347946365752214498420657007149585319909260780872426315558079608099072865828174703417406185318728278145026184310672633645641700732291542811057990742838365066341014265183949971790930431087121056345347741501667746148234688653065189269356885872908647581204650438736957716528711548574555583977239301969823515430537595181395319473570033411789209713074292228145962019286962544117035974563318921268241513986555088394502711032433789248734183877010959345104750102614262227563661010217640141350231316347211768763385670337883433049195056061300162041862964241528184097908283230852906666992480893473206747006312106694438401261591124362380788902882710265313013071263115504159140550179707220633782158597940373880726872858838789886163551228708805088540541574505134133745949431125107024728689987177439066224173647204385151471810845156172459609697201263898819372465925856032821983943945509201296896112993390414319772317613998628115011584901662481020736975231857679558573639533120123760882987807897148264001476729480741158503008405824181375825684426593602078107066384305742314153383784825815001170364503279303283157714730965700730790958163526085614077255893030881612578737162635171062435305862363661501175783671862584712802832632731639923317926092501167046294294878922434436385815597766578254085927198853219424480746368612964091254086956730350365974846418411767133289280026522101904776721397535481072023153960396155426365282526318432948840966649466716318812335304612541684202901596339076117983534399558629308180937552570931412127563964839611720473046765641026358839977096301838517860717992220124429055320994261412222457829626748188314831526678529121257451724121669436757611557692716596947663821034873517375372433749628434475153359120061495211777091719559441963916844642691242108239222713715540944215042751815205832903182816602051553000809853471087600226541940973229542173962641860015572714026730877762563780111880467244618055586935195897209646109126685288690235443479134420307287200865787784854857681194140932834097813623138157320433948668365280904196167520730495552269155400544459597418276177569668057444229387270850059959177577695113400939572251098823419194625556857107173746511343007800181920881221537624681494893301655822089723344553388000429323171176866004751029713971505534118999127107434111180853160547174861752751626348577776330731649967976997705926985766161797485058129299093471507452375539795559192778297669346728398663209935467310249960415041458812552734910388740750185119204150326407565301155455130213015082150774995891695158121179129263515005175587602007309165752571455482494701985152058285071569163352124307190188600099648633956424637872070374433661282860434946347675030365936337518341250497939530670492049152682751595740299650777955876517336356201954238740449622894424782067167868473814849903355130288000808722848881716523423304369683278744797091680665929947282004599884742141903092455370441529688744167156179077360250483378518119247298849108528250294762208416407986167476148567175178874063800358086027457895630650648669396258429142206700367153305674783250866422661286263393363325796268275165731232739893184194968961403246730119774337399703422463459231675588482935858420765326421555448280339061724466310717136212252868177897932924653530049677696436162757662269366798190208071681769644893941942974134840361829280739998511129729526702298361645614792859833141153396637763978261364317262779683444024446799942602179506309308829708000706164362584967544123944262478613936873150629875606572943548220887109756073849240773353610522128256052318094523961849199416335892154957022886522856407858766221227733233769855803540797195843736795162918258589030898376105673396821691371141078048940078157513454368981977910858251016762020830161673450276912167612177864217402281884081697525964997122986657878537513893383684107209185434682030581611841138320769751165820198510744298727746999807978419121499753915601607922696176540527435469670341293526747506706526024530442810609168649651488186829417974713332892493843632020625662134700088384496204167242147258558309791277779399383749139370284867286168094886544821422737637802164641269558545701441664386153037171353886211403725205681597970913022628953115278573534601804694766770034985736868925734980630049997686944790517637071797350609058196799433236359876639015798606019522872255619522116052138570098167166266498733891031108802657143775059617458142604429165804720101056675638719316542457760009090061209984977397292885275149606401974049153909692505148219826918259844782109296960962668656427745596201014333963313980270250168486273994989481135537270723574107717244316660088927662936290431190977141636475102177302706274086655242143720376303626665531386214442689649201190586832460162739827248970951243047440330228206331631112497739878283020377893436493175592457922732266429291282308155450226625908735145243692396554905981224214276161473784801143286259695282125512040501344451566921615076695587270678352226833487853937549564212575401137028689407768946214072151854724602769103465475825754648083539620644496540756262476390723165771983841025405599650289140025146921553140992130744935601340339721606678745401623060593372384771360928037839290017553053687662881909325377632775454112253161089384150763856706709155478909949994753852927323817406887036600795067326371378788198824332878167341364967879877879238807231553439728369018467221599420820323413253492898108084906827199959825847516517138472194789248173159585268081314575918495931090240886524799021431864303823205292763974048397599206812537350644671886512896943549787393792013585758364951639015903806808257622062909142313231743480044638793538545919980650491431925030133693346821159087402194007666994942204762440475125178705040855041713359185302696287569744680604190515945891306060582731794814908843958353954702356548613096039147793243847008308977635561964476974997951064591650034486821018815827067440683467721305397279261255554886935728702038082522417061993386180239766246562722248573939589551463440216540148757382768091588138660292719477108563071144875031522670308447900691983255937682162468481877091121037630772727278138515616236001256623965847146632370258907566117444498723076761005067670267433967584124059982950527552684126829463945259162716865211890575671788315183102363107529308174560259235390303117426425526334200493809978331057159437911165295498631423603473319109300623522908911153779412709804961551139930617047949474361706760660471241914491395100667580257747629101647580790725836642955974210568542006096121792397082649454719102730385503190578335481925220951303611391214549703657189680455196346478377576648796225287534093375835944628560149537373180156497980646947482611425085448686655661776669311742295297814178013215311938924288491062998382097579430060278739035515872696978219934320562561595472608922323860525399884510982402005269156441982086483021029918558209724470491903799974743155409617616793047923689985178433315018756427849919071082417642288796404481615231515234452681159882921091503004550444101071092708811340514603382017663740887649084380236302609941981934458359114802326529287265867836586784975966554986634154342857441112067919515289522362798595615675285893464419458686422183504043133224290707533174576650932865938948401459027619947526422651202675898412812192885113849595817623488233557657324742800374393771493612612994490199832072720005221382391736290818088439567832190214526069759576939763059225294047689399842770969550271822493372060085246999178803887808375697715787460887952953376038287195940678828372114751832221735499728113180144886805780940960771191887792284320985144166141635393515416730908788312195300491807806540287070491481431962163136379543929660618181107758371359830272070710330540964244840736100126945150261956581967738136878967906151503477030589413476778396488056255128274618652814459320832933615142116047026707587220756919312766986953137529175073213247265939159691046998370580315251080657075929005601304731518695855137789275121205684896535005308306213389054064280969057885721542388986811077341891260041925887056878130127572583927539693499699113748046877120963906069001823409562788230808853853871882873439472647253434523002060852420272156695039139430549806321097367810917227205204247017367003229877344084778548555114682479336206900025536057463019980330999992904087435962707758338762003728511765178466640449320652612534210798892815867357916179819681928104828396478395978907986688587587211048028175297039898923093781251066820216389866502543454979385315466322731193630241277133766306683368683633769391462572687987584895042715635934566846009082053691659625628107925455524966171892172371347581776938133011946883355527792757280423901439843787718910514187571823733633970498290959128713803276395973214824695287254119656282385379882044684859740770770278952462807363972180867983716145726826403124279164669065683519737643851028582182178847409253790169102711752823675738101624258228757004430831589700933826769294222110208159503937943407859874680379804051887083961895061924782547582746137283942772401572559120470890618028176688321500424321999931090462064837742650236200746027254163561595334216630144019027040253177959675166099546895382119057589923150803302324507323848614026929585740973630842804613794984942817152682790916367496479469160062752291871555062959744198529261258320214197863335418932826502335611940388568414533543083903871787619265150316201237229731526540177347040557596914219634494593235084100440185902704961496894801815965828241488132952816404388213547139957096281106720657002724584983296567282421021887309645830545420849278973750640190607812610285157453521737441247551562739193013130693895523904297417282234702467824997650172419479439441255022332965189964811370036473464368552713455590919789499626730938265251068093725738139931895013962725859474556756480116280260627787935108686778592189332291505719726719077482505187732166430397583619665581803192980606593527468509467816727622815672436856982934841596850565981312553199365240177231983103452801762396781049408644396871558903699749565332207142811049048182624446587821028122603421082599612278424274067596446947245822830895127763586085330483630169076457504200909936850085672679490880916987771671515958792100086504441906166883057826386663807415827634696644519029381309240506884533527368051945982355761911196589505004453747172652632673455899462375061151550202616213923220708752452854045423726557808849891888030846969306960246896955191577509230349214673674304878671561397306240994072993825456945871524545215733592827655417488586747072957508855181351739836239516748037158449381239108123306523023110606298661963449674881082925925182603579867432015156377469556858305777174344856478521223612021292097541422140997855352914884173428175300104591711531080100684181580152409902546924543842486751409960437530742940467914808195608386244877173254708593769693062019878116577906713925284724212499272016326655687037805861084034663471955740078323831260597635073616757531455521508225492584632755110967542630950029824124804297778532120880397292269012808717272937581671062086187217594121399060707960164699001290114066485733674124975811987529304662145369009685503503483770721563379402675107892122876415605486214206297448754683781403239806537538455364899600384016511186109979196731136111559988652249109059056168727472084538886421222923955607805422086145083637022950060876062174197864672413969585040042931102016508335956544836945146914417495407775650762282977322790449733124545925755577597392025325814499788040984962636803160041576333869107365103345436520492842564340583591374847080571930935862552516625782779041355969495487938367307196905822099747825409940214053125418301400165599210384369057968532771267647066097632473841493894932527254594748261729799745997254470892900027688147535761266961443652943362375094153936457173896714510094804719288158533617491705759294008994214663249335906030635041546659193089468296514419227259898203401530859419267131796445278056911860935066219071490744507841265663013103787850917716560627115299079929392784960788169389639642636928919137356685242062618011173253577755634544111490406599834395070546417259533081499314590431851416924461990127281271831716927498057263894319433547964585821210845155248304759236791970527909858268437867701766293389873401707383634346559756025253932252491367163869671335498100759208907182013538637647569178546153448742518676269317521023308462569177659615016238936113642996885529852767731796138614878688638842877780137867406890031299172968241732920849371966149656357885139880539429124981550348376736331988147006833619266898444566345127300817815203823325335258988154621191945104250030742389547813660159656194923767664196606864222178844363071769368368051332677090360739802718679846255482242958502316724132148976527954515007040979214783062355493764535649115037845928939623351602345024659399232752828640899098978368318305161153868621362932589755079169515524194859219463128937037204633849923957302777896111420831376689781588431280682001562545944684869845462144566311444801767559873642961031556443638391255946035328870555250650417221780752317097102281493925577371969446917837148517499890255036064376103666695034118363337603533918649961271974933731178820689953982579782978686045781962524719543275212305258940319096448133103196574259967188364791973884067293653657458012240419579259498695348723660227162162879600188828395974312406437918773829123380992849233381182130924608249369085011631847329934590309873276981048132643736423523284570917759081109932019453093981709568753412303492659327511513055252167104627773758907205874287325364171752626827911326697463749124547857093206526587852527879135598610922629533413212015174092751262408925373488262777084550405929349340856800227517186982801591592047964240300863492840675696222269015534032883883102612025464939749833289352980177743079790494925259492559661385544338091000393837526808919607594334611698694542146092603361642919060372707931355592699681174253940818197050151577483458237083916924195192657367489754379603351486382750329675780720825158613498262029087250833484354260392362020895712776147445060604521436082457084469976080050692389689465283543921130443448298095398107825566860199629398748896558634135669864143450732344743347726354193183219523295001626134961221251050305892526894877131524442604245036881159959347590706933419346224961325627357047620358334747565687704087530634509582952699146315146241632097947649099467694106309600019033784242453324013187865105918676115216747368167375032767527872951123551917677181943460360492701073323126080435078584186660281332112992281709779232254000262554743826567951697151516924782351718790736476701475004630496945646669162802759598012617412322743979556583827356441484583471109522579319434904688140160750474988905412403124643600089818616377347442732452260880220388355823287959138902548669131560304064447464172401887665754344994720357204920178380081507231273620321711617161317384656200227990355796489172567824480266205719595875254103528486961913043321524629156056608754707419113027973815872514857999276293627463283866187794381513403912865832677603284970371197083600123401120380586322695158956245276596706214383721354558857089037562707130053260054742734744202988084763653927777474649994138780665077266033924672082527312880963714715258383886660433272009743757283283346401794277856170188873841285186632741415568044572464263721257183696545670831482985486703236554554321535899724642707035608336958752844522088031592564258373135456228062798490611400040099370078444247271837026218598406215450096826121949258558249898426360645241282588908412301836433334195102389455241965543224242494472686979181979185304746977166732425106470662847078319242300882404838882003974555160493326816676054673164365937940788859371740380695529222718176738168126230269972507468390326378262727058833827357095351876237870882699658902498016750024789502543983133998729309768155475011541898013582665402387614983778495523912681155437702760410327716367727980454934522001884214988828982116202928198877921387914576429831578536772403435353102345441407858655311197521698136753183283678392654226667415201660482169948818388798078587961359406962051924687055314266874539163706145943784192476811827392507217460179669237956663113931204102391823403491285138309159393613753459946786436434249408601354445219285260153705778873062401882489015155859181106130909087223388270132621053167735649791057516700969331050831767473915387634476821081996453578752909027898881306998085677010236964594100761809812674596745983016379007558263265902138532393141878173723343331166665618655850930452171869925784143562009610232240549822051232822897386348096887044829037744532775417507592735255736759028132203779236742796708787633759168281068935506928962696877287482149572576469226299733363296640700583260140668151131660903070634515265269207868533892946786164272400309255711460581796370748485810643597107508963888000599560396171175324300763410922537189977726411851056328568385573759407184709610640385738775590686048622728776066124108330638018888944800410216389682447055448045506959896420234279724741396928446483976999003379342636659226301636638934620324600669840013171950307928182391850298957910082285952313038330642697116563977763364052439314631881530856882361992472221274598232592241890576815217353791826922131313867530763529275579557853399025153416333305829343510750163381485372330447502536021151706314494817523464378447591164476901771795208090496696379306596793260016169486135540698009198585145228198445090647372504929301076363417644859887133064448794607215090348994305409486183720833501981974658894223358009282899971414827561727218338857611964071144272530464326052725056564607933593908898010914086885481916031506845910740986255670424632647146972780772000969920580745403229559628386278701474885773641123342129779563012920766032424173830238803850458383505331993101891601874667129393445351816988403766960826495486663605743905224024747323249708127688321718597344268664923016251445185749026225810724728051636481236825691021084841411394975750051642829246586337101865697930605013006383930123481539568547101184905853704362922639321504987417319279504061170306566168988076846930998831697441575265420776020276716496345463733042020355 | | 4 79221136326288413549090453617582214988603149380032775393045753873679347103737428810698791647263113706575282689198477135930652137291317188670030006057926509831856472550143054466006425134587034426949120010210832597783143689081004098970652114673282224426184172485773967049733965817226715156969648131835381010189470025770375559444559659305270898952170617343578663720139463438305206193729450577009951868047317341521679722886752217921827822705466305632297648679105292595306982225729633137305184703173136534319068330149229142960259210328722455601450057473003629441834416962669954405564521304502500726298911194393554191501157954017925309977598836623748100506311537547090223313424323313673085311409323919977212070953990949404412305207140907616619412378270976434206887105501661848469182736298770557698748104969475842500166345456724876246803841548685455561851856586967869889986216391448174596518073583228454703935275996041071738034755239225816281721293011288588359444337681021846829274952700086230836341401062887321604178406708278357480439226036171803414304571700770050264769130291420603534822495795966981715612394351588510056912232508637273573895372779156159436797233748213294951636931736322625278881149941049169682180025310119656903852664689348405476728233436921288688205034751242856813863451202798101231235894933014025474654357904163264189792879110990531247061528782494741231885291482973616690359904394443018958369073484128300703937149692838128916254439952768266768999800895221352172804608885628145520829329108509888656265795056847497582709463200002373315731960683089450281141672128908771066872542843950397795050900482861371828770525181267955544208230938560999841196913163882946371552828126583680248944964520944418180558701521838650855170095150234372062727397690674991347946365752214498420657007149585319909260780872426315558079608099072865828174703417406185318728278145026184310672633645641700732291542811057990742838365066341014265183949971790930431087121056345347741501667746148234688653065189269356885872908647581204650438736957716528711548574555583977239301969823515430537595181395319473570033411789209713074292228145962019286962544117035974563318921268241513986555088394502711032433789248734183877010959345104750102614262227563661010217640141350231316347211768763385670337883433049195056061300162041862964241528184097908283230852906666992480893473206747006312106694438401261591124362380788902882710265313013071263115504159140550179707220633782158597940373880726872858838789886163551228708805088540541574505134133745949431125107024728689987177439066224173647204385151471810845156172459609697201263898819372465925856032821983943945509201296896112993390414319772317613998628115011584901662481020736975231857679558573639533120123760882987807897148264001476729480741158503008405824181375825684426593602078107066384305742314153383784825815001170364503279303283157714730965700730790958163526085614077255893030881612578737162635171062435305862363661501175783671862584712802832632731639923317926092501167046294294878922434436385815597766578254085927198853219424480746368612964091254086956730350365974846418411767133289280026522101904776721397535481072023153960396155426365282526318432948840966649466716318812335304612541684202901596339076117983534399558629308180937552570931412127563964839611720473046765641026358839977096301838517860717992220124429055320994261412222457829626748188314831526678529121257451724121669436757611557692716596947663821034873517375372433749628434475153359120061495211777091719559441963916844642691242108239222713715540944215042751815205832903182816602051553000809853471087600226541940973229542173962641860015572714026730877762563780111880467244618055586935195897209646109126685288690235443479134420307287200865787784854857681194140932834097813623138157320433948668365280904196167520730495552269155400544459597418276177569668057444229387270850059959177577695113400939572251098823419194625556857107173746511343007800181920881221537624681494893301655822089723344553388000429323171176866004751029713971505534118999127107434111180853160547174861752751626348577776330731649967976997705926985766161797485058129299093471507452375539795559192778297669346728398663209935467310249960415041458812552734910388740750185119204150326407565301155455130213015082150774995891695158121179129263515005175587602007309165752571455482494701985152058285071569163352124307190188600099648633956424637872070374433661282860434946347675030365936337518341250497939530670492049152682751595740299650777955876517336356201954238740449622894424782067167868473814849903355130288000808722848881716523423304369683278744797091680665929947282004599884742141903092455370441529688744167156179077360250483378518119247298849108528250294762208416407986167476148567175178874063800358086027457895630650648669396258429142206700367153305674783250866422661286263393363325796268275165731232739893184194968961403246730119774337399703422463459231675588482935858420765326421555448280339061724466310717136212252868177897932924653530049677696436162757662269366798190208071681769644893941942974134840361829280739998511129729526702298361645614792859833141153396637763978261364317262779683444024446799942602179506309308829708000706164362584967544123944262478613936873150629875606572943548220887109756073849240773353610522128256052318094523961849199416335892154957022886522856407858766221227733233769855803540797195843736795162918258589030898376105673396821691371141078048940078157513454368981977910858251016762020830161673450276912167612177864217402281884081697525964997122986657878537513893383684107209185434682030581611841138320769751165820198510744298727746999807978419121499753915601607922696176540527435469670341293526747506706526024530442810609168649651488186829417974713332892493843632020625662134700088384496204167242147258558309791277779399383749139370284867286168094886544821422737637802164641269558545701441664386153037171353886211403725205681597970913022628953115278573534601804694766770034985736868925734980630049997686944790517637071797350609058196799433236359876639015798606019522872255619522116052138570098167166266498733891031108802657143775059617458142604429165804720101056675638719316542457760009090061209984977397292885275149606401974049153909692505148219826918259844782109296960962668656427745596201014333963313980270250168486273994989481135537270723574107717244316660088927662936290431190977141636475102177302706274086655242143720376303626665531386214442689649201190586832460162739827248970951243047440330228206331631112497739878283020377893436493175592457922732266429291282308155450226625908735145243692396554905981224214276161473784801143286259695282125512040501344451566921615076695587270678352226833487853937549564212575401137028689407768946214072151854724602769103465475825754648083539620644496540756262476390723165771983841025405599650289140025146921553140992130744935601340339721606678745401623060593372384771360928037839290017553053687662881909325377632775454112253161089384150763856706709155478909949994753852927323817406887036600795067326371378788198824332878167341364967879877879238807231553439728369018467221599420820323413253492898108084906827199959825847516517138472194789248173159585268081314575918495931090240886524799021431864303823205292763974048397599206812537350644671886512896943549787393792013585758364951639015903806808257622062909142313231743480044638793538545919980650491431925030133693346821159087402194007666994942204762440475125178705040855041713359185302696287569744680604190515945891306060582731794814908843958353954702356548613096039147793243847008308977635561964476974997951064591650034486821018815827067440683467721305397279261255554886935728702038082522417061993386180239766246562722248573939589551463440216540148757382768091588138660292719477108563071144875031522670308447900691983255937682162468481877091121037630772727278138515616236001256623965847146632370258907566117444498723076761005067670267433967584124059982950527552684126829463945259162716865211890575671788315183102363107529308174560259235390303117426425526334200493809978331057159437911165295498631423603473319109300623522908911153779412709804961551139930617047949474361706760660471241914491395100667580257747629101647580790725836642955974210568542006096121792397082649454719102730385503190578335481925220951303611391214549703657189680455196346478377576648796225287534093375835944628560149537373180156497980646947482611425085448686655661776669311742295297814178013215311938924288491062998382097579430060278739035515872696978219934320562561595472608922323860525399884510982402005269156441982086483021029918558209724470491903799974743155409617616793047923689985178433315018756427849919071082417642288796404481615231515234452681159882921091503004550444101071092708811340514603382017663740887649084380236302609941981934458359114802326529287265867836586784975966554986634154342857441112067919515289522362798595615675285893464419458686422183504043133224290707533174576650932865938948401459027619947526422651202675898412812192885113849595817623488233557657324742800374393771493612612994490199832072720005221382391736290818088439567832190214526069759576939763059225294047689399842770969550271822493372060085246999178803887808375697715787460887952953376038287195940678828372114751832221735499728113180144886805780940960771191887792284320985144166141635393515416730908788312195300491807806540287070491481431962163136379543929660618181107758371359830272070710330540964244840736100126945150261956581967738136878967906151503477030589413476778396488056255128274618652814459320832933615142116047026707587220756919312766986953137529175073213247265939159691046998370580315251080657075929005601304731518695855137789275121205684896535005308306213389054064280969057885721542388986811077341891260041925887056878130127572583927539693499699113748046877120963906069001823409562788230808853853871882873439472647253434523002060852420272156695039139430549806321097367810917227205204247017367003229877344084778548555114682479336206900025536057463019980330999992904087435962707758338762003728511765178466640449320652612534210798892815867357916179819681928104828396478395978907986688587587211048028175297039898923093781251066820216389866502543454979385315466322731193630241277133766306683368683633769391462572687987584895042715635934566846009082053691659625628107925455524966171892172371347581776938133011946883355527792757280423901439843787718910514187571823733633970498290959128713803276395973214824695287254119656282385379882044684859740770770278952462807363972180867983716145726826403124279164669065683519737643851028582182178847409253790169102711752823675738101624258228757004430831589700933826769294222110208159503937943407859874680379804051887083961895061924782547582746137283942772401572559120470890618028176688321500424321999931090462064837742650236200746027254163561595334216630144019027040253177959675166099546895382119057589923150803302324507323848614026929585740973630842804613794984942817152682790916367496479469160062752291871555062959744198529261258320214197863335418932826502335611940388568414533543083903871787619265150316201237229731526540177347040557596914219634494593235084100440185902704961496894801815965828241488132952816404388213547139957096281106720657002724584983296567282421021887309645830545420849278973750640190607812610285157453521737441247551562739193013130693895523904297417282234702467824997650172419479439441255022332965189964811370036473464368552713455590919789499626730938265251068093725738139931895013962725859474556756480116280260627787935108686778592189332291505719726719077482505187732166430397583619665581803192980606593527468509467816727622815672436856982934841596850565981312553199365240177231983103452801762396781049408644396871558903699749565332207142811049048182624446587821028122603421082599612278424274067596446947245822830895127763586085330483630169076457504200909936850085672679490880916987771671515958792100086504441906166883057826386663807415827634696644519029381309240506884533527368051945982355761911196589505004453747172652632673455899462375061151550202616213923220708752452854045423726557808849891888030846969306960246896955191577509230349214673674304878671561397306240994072993825456945871524545215733592827655417488586747072957508855181351739836239516748037158449381239108123306523023110606298661963449674881082925925182603579867432015156377469556858305777174344856478521223612021292097541422140997855352914884173428175300104591711531080100684181580152409902546924543842486751409960437530742940467914808195608386244877173254708593769693062019878116577906713925284724212499272016326655687037805861084034663471955740078323831260597635073616757531455521508225492584632755110967542630950029824124804297778532120880397292269012808717272937581671062086187217594121399060707960164699001290114066485733674124975811987529304662145369009685503503483770721563379402675107892122876415605486214206297448754683781403239806537538455364899600384016511186109979196731136111559988652249109059056168727472084538886421222923955607805422086145083637022950060876062174197864672413969585040042931102016508335956544836945146914417495407775650762282977322790449733124545925755577597392025325814499788040984962636803160041576333869107365103345436520492842564340583591374847080571930935862552516625782779041355969495487938367307196905822099747825409940214053125418301400165599210384369057968532771267647066097632473841493894932527254594748261729799745997254470892900027688147535761266961443652943362375094153936457173896714510094804719288158533617491705759294008994214663249335906030635041546659193089468296514419227259898203401530859419267131796445278056911860935066219071490744507841265663013103787850917716560627115299079929392784960788169389639642636928919137356685242062618011173253577755634544111490406599834395070546417259533081499314590431851416924461990127281271831716927498057263894319433547964585821210845155248304759236791970527909858268437867701766293389873401707383634346559756025253932252491367163869671335498100759208907182013538637647569178546153448742518676269317521023308462569177659615016238936113642996885529852767731796138614878688638842877780137867406890031299172968241732920849371966149656357885139880539429124981550348376736331988147006833619266898444566345127300817815203823325335258988154621191945104250030742389547813660159656194923767664196606864222178844363071769368368051332677090360739802718679846255482242958502316724132148976527954515007040979214783062355493764535649115037845928939623351602345024659399232752828640899098978368318305161153868621362932589755079169515524194859219463128937037204633849923957302777896111420831376689781588431280682001562545944684869845462144566311444801767559873642961031556443638391255946035328870555250650417221780752317097102281493925577371969446917837148517499890255036064376103666695034118363337603533918649961271974933731178820689953982579782978686045781962524719543275212305258940319096448133103196574259967188364791973884067293653657458012240419579259498695348723660227162162879600188828395974312406437918773829123380992849233381182130924608249369085011631847329934590309873276981048132643736423523284570917759081109932019453093981709568753412303492659327511513055252167104627773758907205874287325364171752626827911326697463749124547857093206526587852527879135598610922629533413212015174092751262408925373488262777084550405929349340856800227517186982801591592047964240300863492840675696222269015534032883883102612025464939749833289352980177743079790494925259492559661385544338091000393837526808919607594334611698694542146092603361642919060372707931355592699681174253940818197050151577483458237083916924195192657367489754379603351486382750329675780720825158613498262029087250833484354260392362020895712776147445060604521436082457084469976080050692389689465283543921130443448298095398107825566860199629398748896558634135669864143450732344743347726354193183219523295001626134961221251050305892526894877131524442604245036881159959347590706933419346224961325627357047620358334747565687704087530634509582952699146315146241632097947649099467694106309600019033784242453324013187865105918676115216747368167375032767527872951123551917677181943460360492701073323126080435078584186660281332112992281709779232254000262554743826567951697151516924782351718790736476701475004630496945646669162802759598012617412322743979556583827356441484583471109522579319434904688140160750474988905412403124643600089818616377347442732452260880220388355823287959138902548669131560304064447464172401887665754344994720357204920178380081507231273620321711617161317384656200227990355796489172567824480266205719595875254103528486961913043321524629156056608754707419113027973815872514857999276293627463283866187794381513403912865832677603284970371197083600123401120380586322695158956245276596706214383721354558857089037562707130053260054742734744202988084763653927777474649994138780665077266033924672082527312880963714715258383886660433272009743757283283346401794277856170188873841285186632741415568044572464263721257183696545670831482985486703236554554321535899724642707035608336958752844522088031592564258373135456228062798490611400040099370078444247271837026218598406215450096826121949258558249898426360645241282588908412301836433334195102389455241965543224242494472686979181979185304746977166732425106470662847078319242300882404838882003974555160493326816676054673164365937940788859371740380695529222718176738168126230269972507468390326378262727058833827357095351876237870882699658902498016750024789502543983133998729309768155475011541898013582665402387614983778495523912681155437702760410327716367727980454934522001884214988828982116202928198877921387914576429831578536772403435353102345441407858655311197521698136753183283678392654226667415201660482169948818388798078587961359406962051924687055314266874539163706145943784192476811827392507217460179669237956663113931204102391823403491285138309159393613753459946786436434249408601354445219285260153705778873062401882489015155859181106130909087223388270132621053167735649791057516700969331050831767473915387634476821081996453578752909027898881306998085677010236964594100761809812674596745983016379007558263265902138532393141878173723343331166665618655850930452171869925784143562009610232240549822051232822897386348096887044829037744532775417507592735255736759028132203779236742796708787633759168281068935506928962696877287482149572576469226299733363296640700583260140668151131660903070634515265269207868533892946786164272400309255711460581796370748485810643597107508963888000599560396171175324300763410922537189977726411851056328568385573759407184709610640385738775590686048622728776066124108330638018888944800410216389682447055448045506959896420234279724741396928446483976999003379342636659226301636638934620324600669840013171950307928182391850298957910082285952313038330642697116563977763364052439314631881530856882361992472221274598232592241890576815217353791826922131313867530763529275579557853399025153416333305829343510750163381485372330447502536021151706314494817523464378447591164476901771795208090496696379306596793260016169486135540698009198585145228198445090647372504929301076363417644859887133064448794607215090348994305409486183720833501981974658894223358009282899971414827561727218338857611964071144272530464326052725056564607933593908898010914086885481916031506845910740986255670424632647146972780772000969920580745403229559628386278701474885773641123342129779563012920766032424173830238803850458383505331993101891601874667129393445351816988403766960826495486663605743905224024747323249708127688321718597344268664923016251445185749026225810724728051636481236825691021084841411394975750051642829246586337101865697930605013006383930123481539568547101184905853704362922639321504987417319279504061170306566168988076846930998831697441575265420776020276716496345463784581627908 79221136326288413549090453617582214988603149380032775393045753873679347103737428810698791647263113706575282689198477135930652137291317188670030006057926509831856472550143054466006425134587034426949120010210832597783143689081004098970652114673282224426184172485773967049733965817226715156969648131835381010189470025770375559444559659305270898952170617343578663720139463438305206193729450577009951868047317341521679722886752217921827822705466305632297648679105292595306982225729633137305184703173136534319068330149229142960259210328722455601450057473003629441834416962669954405564521304502500726298911194393554191501157954017925309977598836623748100506311537547090223313424323313673085311409323919977212070953990949404412305207140907616619412378270976434206887105501661848469182736298770557698748104969475842500166345456724876246803841548685455561851856586967869889986216391448174596518073583228454703935275996041071738034755239225816281721293011288588359444337681021846829274952700086230836341401062887321604178406708278357480439226036171803414304571700770050264769130291420603534822495795966981715612394351588510056912232508637273573895372779156159436797233748213294951636931736322625278881149941049169682180025310119656903852664689348405476728233436921288688205034751242856813863451202798101231235894933014025474654357904163264189792879110990531247061528782494741231885291482973616690359904394443018958369073484128300703937149692838128916254439952768266768999800895221352172804608885628145520829329108509888656265795056847497582709463200002373315731960683089450281141672128908771066872542843950397795050900482861371828770525181267955544208230938560999841196913163882946371552828126583680248944964520944418180558701521838650855170095150234372062727397690674991347946365752214498420657007149585319909260780872426315558079608099072865828174703417406185318728278145026184310672633645641700732291542811057990742838365066341014265183949971790930431087121056345347741501667746148234688653065189269356885872908647581204650438736957716528711548574555583977239301969823515430537595181395319473570033411789209713074292228145962019286962544117035974563318921268241513986555088394502711032433789248734183877010959345104750102614262227563661010217640141350231316347211768763385670337883433049195056061300162041862964241528184097908283230852906666992480893473206747006312106694438401261591124362380788902882710265313013071263115504159140550179707220633782158597940373880726872858838789886163551228708805088540541574505134133745949431125107024728689987177439066224173647204385151471810845156172459609697201263898819372465925856032821983943945509201296896112993390414319772317613998628115011584901662481020736975231857679558573639533120123760882987807897148264001476729480741158503008405824181375825684426593602078107066384305742314153383784825815001170364503279303283157714730965700730790958163526085614077255893030881612578737162635171062435305862363661501175783671862584712802832632731639923317926092501167046294294878922434436385815597766578254085927198853219424480746368612964091254086956730350365974846418411767133289280026522101904776721397535481072023153960396155426365282526318432948840966649466716318812335304612541684202901596339076117983534399558629308180937552570931412127563964839611720473046765641026358839977096301838517860717992220124429055320994261412222457829626748188314831526678529121257451724121669436757611557692716596947663821034873517375372433749628434475153359120061495211777091719559441963916844642691242108239222713715540944215042751815205832903182816602051553000809853471087600226541940973229542173962641860015572714026730877762563780111880467244618055586935195897209646109126685288690235443479134420307287200865787784854857681194140932834097813623138157320433948668365280904196167520730495552269155400544459597418276177569668057444229387270850059959177577695113400939572251098823419194625556857107173746511343007800181920881221537624681494893301655822089723344553388000429323171176866004751029713971505534118999127107434111180853160547174861752751626348577776330731649967976997705926985766161797485058129299093471507452375539795559192778297669346728398663209935467310249960415041458812552734910388740750185119204150326407565301155455130213015082150774995891695158121179129263515005175587602007309165752571455482494701985152058285071569163352124307190188600099648633956424637872070374433661282860434946347675030365936337518341250497939530670492049152682751595740299650777955876517336356201954238740449622894424782067167868473814849903355130288000808722848881716523423304369683278744797091680665929947282004599884742141903092455370441529688744167156179077360250483378518119247298849108528250294762208416407986167476148567175178874063800358086027457895630650648669396258429142206700367153305674783250866422661286263393363325796268275165731232739893184194968961403246730119774337399703422463459231675588482935858420765326421555448280339061724466310717136212252868177897932924653530049677696436162757662269366798190208071681769644893941942974134840361829280739998511129729526702298361645614792859833141153396637763978261364317262779683444024446799942602179506309308829708000706164362584967544123944262478613936873150629875606572943548220887109756073849240773353610522128256052318094523961849199416335892154957022886522856407858766221227733233769855803540797195843736795162918258589030898376105673396821691371141078048940078157513454368981977910858251016762020830161673450276912167612177864217402281884081697525964997122986657878537513893383684107209185434682030581611841138320769751165820198510744298727746999807978419121499753915601607922696176540527435469670341293526747506706526024530442810609168649651488186829417974713332892493843632020625662134700088384496204167242147258558309791277779399383749139370284867286168094886544821422737637802164641269558545701441664386153037171353886211403725205681597970913022628953115278573534601804694766770034985736868925734980630049997686944790517637071797350609058196799433236359876639015798606019522872255619522116052138570098167166266498733891031108802657143775059617458142604429165804720101056675638719316542457760009090061209984977397292885275149606401974049153909692505148219826918259844782109296960962668656427745596201014333963313980270250168486273994989481135537270723574107717244316660088927662936290431190977141636475102177302706274086655242143720376303626665531386214442689649201190586832460162739827248970951243047440330228206331631112497739878283020377893436493175592457922732266429291282308155450226625908735145243692396554905981224214276161473784801143286259695282125512040501344451566921615076695587270678352226833487853937549564212575401137028689407768946214072151854724602769103465475825754648083539620644496540756262476390723165771983841025405599650289140025146921553140992130744935601340339721606678745401623060593372384771360928037839290017553053687662881909325377632775454112253161089384150763856706709155478909949994753852927323817406887036600795067326371378788198824332878167341364967879877879238807231553439728369018467221599420820323413253492898108084906827199959825847516517138472194789248173159585268081314575918495931090240886524799021431864303823205292763974048397599206812537350644671886512896943549787393792013585758364951639015903806808257622062909142313231743480044638793538545919980650491431925030133693346821159087402194007666994942204762440475125178705040855041713359185302696287569744680604190515945891306060582731794814908843958353954702356548613096039147793243847008308977635561964476974997951064591650034486821018815827067440683467721305397279261255554886935728702038082522417061993386180239766246562722248573939589551463440216540148757382768091588138660292719477108563071144875031522670308447900691983255937682162468481877091121037630772727278138515616236001256623965847146632370258907566117444498723076761005067670267433967584124059982950527552684126829463945259162716865211890575671788315183102363107529308174560259235390303117426425526334200493809978331057159437911165295498631423603473319109300623522908911153779412709804961551139930617047949474361706760660471241914491395100667580257747629101647580790725836642955974210568542006096121792397082649454719102730385503190578335481925220951303611391214549703657189680455196346478377576648796225287534093375835944628560149537373180156497980646947482611425085448686655661776669311742295297814178013215311938924288491062998382097579430060278739035515872696978219934320562561595472608922323860525399884510982402005269156441982086483021029918558209724470491903799974743155409617616793047923689985178433315018756427849919071082417642288796404481615231515234452681159882921091503004550444101071092708811340514603382017663740887649084380236302609941981934458359114802326529287265867836586784975966554986634154342857441112067919515289522362798595615675285893464419458686422183504043133224290707533174576650932865938948401459027619947526422651202675898412812192885113849595817623488233557657324742800374393771493612612994490199832072720005221382391736290818088439567832190214526069759576939763059225294047689399842770969550271822493372060085246999178803887808375697715787460887952953376038287195940678828372114751832221735499728113180144886805780940960771191887792284320985144166141635393515416730908788312195300491807806540287070491481431962163136379543929660618181107758371359830272070710330540964244840736100126945150261956581967738136878967906151503477030589413476778396488056255128274618652814459320832933615142116047026707587220756919312766986953137529175073213247265939159691046998370580315251080657075929005601304731518695855137789275121205684896535005308306213389054064280969057885721542388986811077341891260041925887056878130127572583927539693499699113748046877120963906069001823409562788230808853853871882873439472647253434523002060852420272156695039139430549806321097367810917227205204247017367003229877344084778548555114682479336206900025536057463019980330999992904087435962707758338762003728511765178466640449320652612534210798892815867357916179819681928104828396478395978907986688587587211048028175297039898923093781251066820216389866502543454979385315466322731193630241277133766306683368683633769391462572687987584895042715635934566846009082053691659625628107925455524966171892172371347581776938133011946883355527792757280423901439843787718910514187571823733633970498290959128713803276395973214824695287254119656282385379882044684859740770770278952462807363972180867983716145726826403124279164669065683519737643851028582182178847409253790169102711752823675738101624258228757004430831589700933826769294222110208159503937943407859874680379804051887083961895061924782547582746137283942772401572559120470890618028176688321500424321999931090462064837742650236200746027254163561595334216630144019027040253177959675166099546895382119057589923150803302324507323848614026929585740973630842804613794984942817152682790916367496479469160062752291871555062959744198529261258320214197863335418932826502335611940388568414533543083903871787619265150316201237229731526540177347040557596914219634494593235084100440185902704961496894801815965828241488132952816404388213547139957096281106720657002724584983296567282421021887309645830545420849278973750640190607812610285157453521737441247551562739193013130693895523904297417282234702467824997650172419479439441255022332965189964811370036473464368552713455590919789499626730938265251068093725738139931895013962725859474556756480116280260627787935108686778592189332291505719726719077482505187732166430397583619665581803192980606593527468509467816727622815672436856982934841596850565981312553199365240177231983103452801762396781049408644396871558903699749565332207142811049048182624446587821028122603421082599612278424274067596446947245822830895127763586085330483630169076457504200909936850085672679490880916987771671515958792100086504441906166883057826386663807415827634696644519029381309240506884533527368051945982355761911196589505004453747172652632673455899462375061151550202616213923220708752452854045423726557808849891888030846969306960246896955191577509230349214673674304878671561397306240994072993825456945871524545215733592827655417488586747072957508855181351739836239516748037158449381239108123306523023110606298661963449674881082925925182603579867432015156377469556858305777174344856478521223612021292097541422140997855352914884173428175300104591711531080100684181580152409902546924543842486751409960437530742940467914808195608386244877173254708593769693062019878116577906713925284724212499272016326655687037805861084034663471955740078323831260597635073616757531455521508225492584632755110967542630950029824124804297778532120880397292269012808717272937581671062086187217594121399060707960164699001290114066485733674124975811987529304662145369009685503503483770721563379402675107892122876415605486214206297448754683781403239806537538455364899600384016511186109979196731136111559988652249109059056168727472084538886421222923955607805422086145083637022950060876062174197864672413969585040042931102016508335956544836945146914417495407775650762282977322790449733124545925755577597392025325814499788040984962636803160041576333869107365103345436520492842564340583591374847080571930935862552516625782779041355969495487938367307196905822099747825409940214053125418301400165599210384369057968532771267647066097632473841493894932527254594748261729799745997254470892900027688147535761266961443652943362375094153936457173896714510094804719288158533617491705759294008994214663249335906030635041546659193089468296514419227259898203401530859419267131796445278056911860935066219071490744507841265663013103787850917716560627115299079929392784960788169389639642636928919137356685242062618011173253577755634544111490406599834395070546417259533081499314590431851416924461990127281271831716927498057263894319433547964585821210845155248304759236791970527909858268437867701766293389873401707383634346559756025253932252491367163869671335498100759208907182013538637647569178546153448742518676269317521023308462569177659615016238936113642996885529852767731796138614878688638842877780137867406890031299172968241732920849371966149656357885139880539429124981550348376736331988147006833619266898444566345127300817815203823325335258988154621191945104250030742389547813660159656194923767664196606864222178844363071769368368051332677090360739802718679846255482242958502316724132148976527954515007040979214783062355493764535649115037845928939623351602345024659399232752828640899098978368318305161153868621362932589755079169515524194859219463128937037204633849923957302777896111420831376689781588431280682001562545944684869845462144566311444801767559873642961031556443638391255946035328870555250650417221780752317097102281493925577371969446917837148517499890255036064376103666695034118363337603533918649961271974933731178820689953982579782978686045781962524719543275212305258940319096448133103196574259967188364791973884067293653657458012240419579259498695348723660227162162879600188828395974312406437918773829123380992849233381182130924608249369085011631847329934590309873276981048132643736423523284570917759081109932019453093981709568753412303492659327511513055252167104627773758907205874287325364171752626827911326697463749124547857093206526587852527879135598610922629533413212015174092751262408925373488262777084550405929349340856800227517186982801591592047964240300863492840675696222269015534032883883102612025464939749833289352980177743079790494925259492559661385544338091000393837526808919607594334611698694542146092603361642919060372707931355592699681174253940818197050151577483458237083916924195192657367489754379603351486382750329675780720825158613498262029087250833484354260392362020895712776147445060604521436082457084469976080050692389689465283543921130443448298095398107825566860199629398748896558634135669864143450732344743347726354193183219523295001626134961221251050305892526894877131524442604245036881159959347590706933419346224961325627357047620358334747565687704087530634509582952699146315146241632097947649099467694106309600019033784242453324013187865105918676115216747368167375032767527872951123551917677181943460360492701073323126080435078584186660281332112992281709779232254000262554743826567951697151516924782351718790736476701475004630496945646669162802759598012617412322743979556583827356441484583471109522579319434904688140160750474988905412403124643600089818616377347442732452260880220388355823287959138902548669131560304064447464172401887665754344994720357204920178380081507231273620321711617161317384656200227990355796489172567824480266205719595875254103528486961913043321524629156056608754707419113027973815872514857999276293627463283866187794381513403912865832677603284970371197083600123401120380586322695158956245276596706214383721354558857089037562707130053260054742734744202988084763653927777474649994138780665077266033924672082527312880963714715258383886660433272009743757283283346401794277856170188873841285186632741415568044572464263721257183696545670831482985486703236554554321535899724642707035608336958752844522088031592564258373135456228062798490611400040099370078444247271837026218598406215450096826121949258558249898426360645241282588908412301836433334195102389455241965543224242494472686979181979185304746977166732425106470662847078319242300882404838882003974555160493326816676054673164365937940788859371740380695529222718176738168126230269972507468390326378262727058833827357095351876237870882699658902498016750024789502543983133998729309768155475011541898013582665402387614983778495523912681155437702760410327716367727980454934522001884214988828982116202928198877921387914576429831578536772403435353102345441407858655311197521698136753183283678392654226667415201660482169948818388798078587961359406962051924687055314266874539163706145943784192476811827392507217460179669237956663113931204102391823403491285138309159393613753459946786436434249408601354445219285260153705778873062401882489015155859181106130909087223388270132621053167735649791057516700969331050831767473915387634476821081996453578752909027898881306998085677010236964594100761809812674596745983016379007558263265902138532393141878173723343331166665618655850930452171869925784143562009610232240549822051232822897386348096887044829037744532775417507592735255736759028132203779236742796708787633759168281068935506928962696877287482149572576469226299733363296640700583260140668151131660903070634515265269207868533892946786164272400309255711460581796370748485810643597107508963888000599560396171175324300763410922537189977726411851056328568385573759407184709610640385738775590686048622728776066124108330638018888944800410216389682447055448045506959896420234279724741396928446483976999003379342636659226301636638934620324600669840013171950307928182391850298957910082285952313038330642697116563977763364052439314631881530856882361992472221274598232592241890576815217353791826922131313867530763529275579557853399025153416333305829343510750163381485372330447502536021151706314494817523464378447591164476901771795208090496696379306596793260016169486135540698009198585145228198445090647372504929301076363417644859887133064448794607215090348994305409486183720833501981974658894223358009282899971414827561727218338857611964071144272530464326052725056564607933593908898010914086885481916031506845910740986255670424632647146972780772000969920580745403229559628386278701474885773641123342129779563012920766032424173830238803850458383505331993101891601874667129393445351816988403766960826495486663605743905224024747323249708127688321718597344268664923016251445185749026225810724728051636481236825691021084841411394975750051642829246586337101865697930605013006383930123481539568547101184905853704362922639321504987417319279504061170306566168988076846930998831697441575265420776020276716496345463784581627908 79221136326288413549090453617582214988603149380032775393045753873679347103737428810698791647263113706575282689198477135930652137291317188670030006057926509831856472550143054466006425134587034426949120010210832597783143689081004098970652114673282224426184172485773967049733965817226715156969648131835381010189470025770375559444559659305270898952170617343578663720139463438305206193729450577009951868047317341521679722886752217921827822705466305632297648679105292595306982225729633137305184703173136534319068330149229142960259210328722455601450057473003629441834416962669954405564521304502500726298911194393554191501157954017925309977598836623748100506311537547090223313424323313673085311409323919977212070953990949404412305207140907616619412378270976434206887105501661848469182736298770557698748104969475842500166345456724876246803841548685455561851856586967869889986216391448174596518073583228454703935275996041071738034755239225816281721293011288588359444337681021846829274952700086230836341401062887321604178406708278357480439226036171803414304571700770050264769130291420603534822495795966981715612394351588510056912232508637273573895372779156159436797233748213294951636931736322625278881149941049169682180025310119656903852664689348405476728233436921288688205034751242856813863451202798101231235894933014025474654357904163264189792879110990531247061528782494741231885291482973616690359904394443018958369073484128300703937149692838128916254439952768266768999800895221352172804608885628145520829329108509888656265795056847497582709463200002373315731960683089450281141672128908771066872542843950397795050900482861371828770525181267955544208230938560999841196913163882946371552828126583680248944964520944418180558701521838650855170095150234372062727397690674991347946365752214498420657007149585319909260780872426315558079608099072865828174703417406185318728278145026184310672633645641700732291542811057990742838365066341014265183949971790930431087121056345347741501667746148234688653065189269356885872908647581204650438736957716528711548574555583977239301969823515430537595181395319473570033411789209713074292228145962019286962544117035974563318921268241513986555088394502711032433789248734183877010959345104750102614262227563661010217640141350231316347211768763385670337883433049195056061300162041862964241528184097908283230852906666992480893473206747006312106694438401261591124362380788902882710265313013071263115504159140550179707220633782158597940373880726872858838789886163551228708805088540541574505134133745949431125107024728689987177439066224173647204385151471810845156172459609697201263898819372465925856032821983943945509201296896112993390414319772317613998628115011584901662481020736975231857679558573639533120123760882987807897148264001476729480741158503008405824181375825684426593602078107066384305742314153383784825815001170364503279303283157714730965700730790958163526085614077255893030881612578737162635171062435305862363661501175783671862584712802832632731639923317926092501167046294294878922434436385815597766578254085927198853219424480746368612964091254086956730350365974846418411767133289280026522101904776721397535481072023153960396155426365282526318432948840966649466716318812335304612541684202901596339076117983534399558629308180937552570931412127563964839611720473046765641026358839977096301838517860717992220124429055320994261412222457829626748188314831526678529121257451724121669436757611557692716596947663821034873517375372433749628434475153359120061495211777091719559441963916844642691242108239222713715540944215042751815205832903182816602051553000809853471087600226541940973229542173962641860015572714026730877762563780111880467244618055586935195897209646109126685288690235443479134420307287200865787784854857681194140932834097813623138157320433948668365280904196167520730495552269155400544459597418276177569668057444229387270850059959177577695113400939572251098823419194625556857107173746511343007800181920881221537624681494893301655822089723344553388000429323171176866004751029713971505534118999127107434111180853160547174861752751626348577776330731649967976997705926985766161797485058129299093471507452375539795559192778297669346728398663209935467310249960415041458812552734910388740750185119204150326407565301155455130213015082150774995891695158121179129263515005175587602007309165752571455482494701985152058285071569163352124307190188600099648633956424637872070374433661282860434946347675030365936337518341250497939530670492049152682751595740299650777955876517336356201954238740449622894424782067167868473814849903355130288000808722848881716523423304369683278744797091680665929947282004599884742141903092455370441529688744167156179077360250483378518119247298849108528250294762208416407986167476148567175178874063800358086027457895630650648669396258429142206700367153305674783250866422661286263393363325796268275165731232739893184194968961403246730119774337399703422463459231675588482935858420765326421555448280339061724466310717136212252868177897932924653530049677696436162757662269366798190208071681769644893941942974134840361829280739998511129729526702298361645614792859833141153396637763978261364317262779683444024446799942602179506309308829708000706164362584967544123944262478613936873150629875606572943548220887109756073849240773353610522128256052318094523961849199416335892154957022886522856407858766221227733233769855803540797195843736795162918258589030898376105673396821691371141078048940078157513454368981977910858251016762020830161673450276912167612177864217402281884081697525964997122986657878537513893383684107209185434682030581611841138320769751165820198510744298727746999807978419121499753915601607922696176540527435469670341293526747506706526024530442810609168649651488186829417974713332892493843632020625662134700088384496204167242147258558309791277779399383749139370284867286168094886544821422737637802164641269558545701441664386153037171353886211403725205681597970913022628953115278573534601804694766770034985736868925734980630049997686944790517637071797350609058196799433236359876639015798606019522872255619522116052138570098167166266498733891031108802657143775059617458142604429165804720101056675638719316542457760009090061209984977397292885275149606401974049153909692505148219826918259844782109296960962668656427745596201014333963313980270250168486273994989481135537270723574107717244316660088927662936290431190977141636475102177302706274086655242143720376303626665531386214442689649201190586832460162739827248970951243047440330228206331631112497739878283020377893436493175592457922732266429291282308155450226625908735145243692396554905981224214276161473784801143286259695282125512040501344451566921615076695587270678352226833487853937549564212575401137028689407768946214072151854724602769103465475825754648083539620644496540756262476390723165771983841025405599650289140025146921553140992130744935601340339721606678745401623060593372384771360928037839290017553053687662881909325377632775454112253161089384150763856706709155478909949994753852927323817406887036600795067326371378788198824332878167341364967879877879238807231553439728369018467221599420820323413253492898108084906827199959825847516517138472194789248173159585268081314575918495931090240886524799021431864303823205292763974048397599206812537350644671886512896943549787393792013585758364951639015903806808257622062909142313231743480044638793538545919980650491431925030133693346821159087402194007666994942204762440475125178705040855041713359185302696287569744680604190515945891306060582731794814908843958353954702356548613096039147793243847008308977635561964476974997951064591650034486821018815827067440683467721305397279261255554886935728702038082522417061993386180239766246562722248573939589551463440216540148757382768091588138660292719477108563071144875031522670308447900691983255937682162468481877091121037630772727278138515616236001256623965847146632370258907566117444498723076761005067670267433967584124059982950527552684126829463945259162716865211890575671788315183102363107529308174560259235390303117426425526334200493809978331057159437911165295498631423603473319109300623522908911153779412709804961551139930617047949474361706760660471241914491395100667580257747629101647580790725836642955974210568542006096121792397082649454719102730385503190578335481925220951303611391214549703657189680455196346478377576648796225287534093375835944628560149537373180156497980646947482611425085448686655661776669311742295297814178013215311938924288491062998382097579430060278739035515872696978219934320562561595472608922323860525399884510982402005269156441982086483021029918558209724470491903799974743155409617616793047923689985178433315018756427849919071082417642288796404481615231515234452681159882921091503004550444101071092708811340514603382017663740887649084380236302609941981934458359114802326529287265867836586784975966554986634154342857441112067919515289522362798595615675285893464419458686422183504043133224290707533174576650932865938948401459027619947526422651202675898412812192885113849595817623488233557657324742800374393771493612612994490199832072720005221382391736290818088439567832190214526069759576939763059225294047689399842770969550271822493372060085246999178803887808375697715787460887952953376038287195940678828372114751832221735499728113180144886805780940960771191887792284320985144166141635393515416730908788312195300491807806540287070491481431962163136379543929660618181107758371359830272070710330540964244840736100126945150261956581967738136878967906151503477030589413476778396488056255128274618652814459320832933615142116047026707587220756919312766986953137529175073213247265939159691046998370580315251080657075929005601304731518695855137789275121205684896535005308306213389054064280969057885721542388986811077341891260041925887056878130127572583927539693499699113748046877120963906069001823409562788230808853853871882873439472647253434523002060852420272156695039139430549806321097367810917227205204247017367003229877344084778548555114682479336206900025536057463019980330999992904087435962707758338762003728511765178466640449320652612534210798892815867357916179819681928104828396478395978907986688587587211048028175297039898923093781251066820216389866502543454979385315466322731193630241277133766306683368683633769391462572687987584895042715635934566846009082053691659625628107925455524966171892172371347581776938133011946883355527792757280423901439843787718910514187571823733633970498290959128713803276395973214824695287254119656282385379882044684859740770770278952462807363972180867983716145726826403124279164669065683519737643851028582182178847409253790169102711752823675738101624258228757004430831589700933826769294222110208159503937943407859874680379804051887083961895061924782547582746137283942772401572559120470890618028176688321500424321999931090462064837742650236200746027254163561595334216630144019027040253177959675166099546895382119057589923150803302324507323848614026929585740973630842804613794984942817152682790916367496479469160062752291871555062959744198529261258320214197863335418932826502335611940388568414533543083903871787619265150316201237229731526540177347040557596914219634494593235084100440185902704961496894801815965828241488132952816404388213547139957096281106720657002724584983296567282421021887309645830545420849278973750640190607812610285157453521737441247551562739193013130693895523904297417282234702467824997650172419479439441255022332965189964811370036473464368552713455590919789499626730938265251068093725738139931895013962725859474556756480116280260627787935108686778592189332291505719726719077482505187732166430397583619665581803192980606593527468509467816727622815672436856982934841596850565981312553199365240177231983103452801762396781049408644396871558903699749565332207142811049048182624446587821028122603421082599612278424274067596446947245822830895127763586085330483630169076457504200909936850085672679490880916987771671515958792100086504441906166883057826386663807415827634696644519029381309240506884533527368051945982355761911196589505004453747172652632673455899462375061151550202616213923220708752452854045423726557808849891888030846969306960246896955191577509230349214673674304878671561397306240994072993825456945871524545215733592827655417488586747072957508855181351739836239516748037158449381239108123306523023110606298661963449674881082925925182603579867432015156377469556858305777174344856478521223612021292097541422140997855352914884173428175300104591711531080100684181580152409902546924543842486751409960437530742940467914808195608386244877173254708593769693062019878116577906713925284724212499272016326655687037805861084034663471955740078323831260597635073616757531455521508225492584632755110967542630950029824124804297778532120880397292269012808717272937581671062086187217594121399060707960164699001290114066485733674124975811987529304662145369009685503503483770721563379402675107892122876415605486214206297448754683781403239806537538455364899600384016511186109979196731136111559988652249109059056168727472084538886421222923955607805422086145083637022950060876062174197864672413969585040042931102016508335956544836945146914417495407775650762282977322790449733124545925755577597392025325814499788040984962636803160041576333869107365103345436520492842564340583591374847080571930935862552516625782779041355969495487938367307196905822099747825409940214053125418301400165599210384369057968532771267647066097632473841493894932527254594748261729799745997254470892900027688147535761266961443652943362375094153936457173896714510094804719288158533617491705759294008994214663249335906030635041546659193089468296514419227259898203401530859419267131796445278056911860935066219071490744507841265663013103787850917716560627115299079929392784960788169389639642636928919137356685242062618011173253577755634544111490406599834395070546417259533081499314590431851416924461990127281271831716927498057263894319433547964585821210845155248304759236791970527909858268437867701766293389873401707383634346559756025253932252491367163869671335498100759208907182013538637647569178546153448742518676269317521023308462569177659615016238936113642996885529852767731796138614878688638842877780137867406890031299172968241732920849371966149656357885139880539429124981550348376736331988147006833619266898444566345127300817815203823325335258988154621191945104250030742389547813660159656194923767664196606864222178844363071769368368051332677090360739802718679846255482242958502316724132148976527954515007040979214783062355493764535649115037845928939623351602345024659399232752828640899098978368318305161153868621362932589755079169515524194859219463128937037204633849923957302777896111420831376689781588431280682001562545944684869845462144566311444801767559873642961031556443638391255946035328870555250650417221780752317097102281493925577371969446917837148517499890255036064376103666695034118363337603533918649961271974933731178820689953982579782978686045781962524719543275212305258940319096448133103196574259967188364791973884067293653657458012240419579259498695348723660227162162879600188828395974312406437918773829123380992849233381182130924608249369085011631847329934590309873276981048132643736423523284570917759081109932019453093981709568753412303492659327511513055252167104627773758907205874287325364171752626827911326697463749124547857093206526587852527879135598610922629533413212015174092751262408925373488262777084550405929349340856800227517186982801591592047964240300863492840675696222269015534032883883102612025464939749833289352980177743079790494925259492559661385544338091000393837526808919607594334611698694542146092603361642919060372707931355592699681174253940818197050151577483458237083916924195192657367489754379603351486382750329675780720825158613498262029087250833484354260392362020895712776147445060604521436082457084469976080050692389689465283543921130443448298095398107825566860199629398748896558634135669864143450732344743347726354193183219523295001626134961221251050305892526894877131524442604245036881159959347590706933419346224961325627357047620358334747565687704087530634509582952699146315146241632097947649099467694106309600019033784242453324013187865105918676115216747368167375032767527872951123551917677181943460360492701073323126080435078584186660281332112992281709779232254000262554743826567951697151516924782351718790736476701475004630496945646669162802759598012617412322743979556583827356441484583471109522579319434904688140160750474988905412403124643600089818616377347442732452260880220388355823287959138902548669131560304064447464172401887665754344994720357204920178380081507231273620321711617161317384656200227990355796489172567824480266205719595875254103528486961913043321524629156056608754707419113027973815872514857999276293627463283866187794381513403912865832677603284970371197083600123401120380586322695158956245276596706214383721354558857089037562707130053260054742734744202988084763653927777474649994138780665077266033924672082527312880963714715258383886660433272009743757283283346401794277856170188873841285186632741415568044572464263721257183696545670831482985486703236554554321535899724642707035608336958752844522088031592564258373135456228062798490611400040099370078444247271837026218598406215450096826121949258558249898426360645241282588908412301836433334195102389455241965543224242494472686979181979185304746977166732425106470662847078319242300882404838882003974555160493326816676054673164365937940788859371740380695529222718176738168126230269972507468390326378262727058833827357095351876237870882699658902498016750024789502543983133998729309768155475011541898013582665402387614983778495523912681155437702760410327716367727980454934522001884214988828982116202928198877921387914576429831578536772403435353102345441407858655311197521698136753183283678392654226667415201660482169948818388798078587961359406962051924687055314266874539163706145943784192476811827392507217460179669237956663113931204102391823403491285138309159393613753459946786436434249408601354445219285260153705778873062401882489015155859181106130909087223388270132621053167735649791057516700969331050831767473915387634476821081996453578752909027898881306998085677010236964594100761809812674596745983016379007558263265902138532393141878173723343331166665618655850930452171869925784143562009610232240549822051232822897386348096887044829037744532775417507592735255736759028132203779236742796708787633759168281068935506928962696877287482149572576469226299733363296640700583260140668151131660903070634515265269207868533892946786164272400309255711460581796370748485810643597107508963888000599560396171175324300763410922537189977726411851056328568385573759407184709610640385738775590686048622728776066124108330638018888944800410216389682447055448045506959896420234279724741396928446483976999003379342636659226301636638934620324600669840013171950307928182391850298957910082285952313038330642697116563977763364052439314631881530856882361992472221274598232592241890576815217353791826922131313867530763529275579557853399025153416333305829343510750163381485372330447502536021151706314494817523464378447591164476901771795208090496696379306596793260016169486135540698009198585145228198445090647372504929301076363417644859887133064448794607215090348994305409486183720833501981974658894223358009282899971414827561727218338857611964071144272530464326052725056564607933593908898010914086885481916031506845910740986255670424632647146972780772000969920580745403229559628386278701474885773641123342129779563012920766032424173830238803850458383505331993101891601874667129393445351816988403766960826495486663605743905224024747323249708127688321718597344268664923016251445185749026225810724728051636481236825691021084841411394975750051642829246586337101865697930605013006383930123481539568547101184905853704362922639321504987417319279504061170306566168988076846930998831697441575265420776020276716496345463784581627908 79221136326288413549090453617582214988603149380032775393045753873679347103737428810698791647263113706575282689198477135930652137291317188670030006057926509831856472550143054466006425134587034426949120010210832597783143689081004098970652114673282224426184172485773967049733965817226715156969648131835381010189470025770375559444559659305270898952170617343578663720139463438305206193729450577009951868047317341521679722886752217921827822705466305632297648679105292595306982225729633137305184703173136534319068330149229142960259210328722455601450057473003629441834416962669954405564521304502500726298911194393554191501157954017925309977598836623748100506311537547090223313424323313673085311409323919977212070953990949404412305207140907616619412378270976434206887105501661848469182736298770557698748104969475842500166345456724876246803841548685455561851856586967869889986216391448174596518073583228454703935275996041071738034755239225816281721293011288588359444337681021846829274952700086230836341401062887321604178406708278357480439226036171803414304571700770050264769130291420603534822495795966981715612394351588510056912232508637273573895372779156159436797233748213294951636931736322625278881149941049169682180025310119656903852664689348405476728233436921288688205034751242856813863451202798101231235894933014025474654357904163264189792879110990531247061528782494741231885291482973616690359904394443018958369073484128300703937149692838128916254439952768266768999800895221352172804608885628145520829329108509888656265795056847497582709463200002373315731960683089450281141672128908771066872542843950397795050900482861371828770525181267955544208230938560999841196913163882946371552828126583680248944964520944418180558701521838650855170095150234372062727397690674991347946365752214498420657007149585319909260780872426315558079608099072865828174703417406185318728278145026184310672633645641700732291542811057990742838365066341014265183949971790930431087121056345347741501667746148234688653065189269356885872908647581204650438736957716528711548574555583977239301969823515430537595181395319473570033411789209713074292228145962019286962544117035974563318921268241513986555088394502711032433789248734183877010959345104750102614262227563661010217640141350231316347211768763385670337883433049195056061300162041862964241528184097908283230852906666992480893473206747006312106694438401261591124362380788902882710265313013071263115504159140550179707220633782158597940373880726872858838789886163551228708805088540541574505134133745949431125107024728689987177439066224173647204385151471810845156172459609697201263898819372465925856032821983943945509201296896112993390414319772317613998628115011584901662481020736975231857679558573639533120123760882987807897148264001476729480741158503008405824181375825684426593602078107066384305742314153383784825815001170364503279303283157714730965700730790958163526085614077255893030881612578737162635171062435305862363661501175783671862584712802832632731639923317926092501167046294294878922434436385815597766578254085927198853219424480746368612964091254086956730350365974846418411767133289280026522101904776721397535481072023153960396155426365282526318432948840966649466716318812335304612541684202901596339076117983534399558629308180937552570931412127563964839611720473046765641026358839977096301838517860717992220124429055320994261412222457829626748188314831526678529121257451724121669436757611557692716596947663821034873517375372433749628434475153359120061495211777091719559441963916844642691242108239222713715540944215042751815205832903182816602051553000809853471087600226541940973229542173962641860015572714026730877762563780111880467244618055586935195897209646109126685288690235443479134420307287200865787784854857681194140932834097813623138157320433948668365280904196167520730495552269155400544459597418276177569668057444229387270850059959177577695113400939572251098823419194625556857107173746511343007800181920881221537624681494893301655822089723344553388000429323171176866004751029713971505534118999127107434111180853160547174861752751626348577776330731649967976997705926985766161797485058129299093471507452375539795559192778297669346728398663209935467310249960415041458812552734910388740750185119204150326407565301155455130213015082150774995891695158121179129263515005175587602007309165752571455482494701985152058285071569163352124307190188600099648633956424637872070374433661282860434946347675030365936337518341250497939530670492049152682751595740299650777955876517336356201954238740449622894424782067167868473814849903355130288000808722848881716523423304369683278744797091680665929947282004599884742141903092455370441529688744167156179077360250483378518119247298849108528250294762208416407986167476148567175178874063800358086027457895630650648669396258429142206700367153305674783250866422661286263393363325796268275165731232739893184194968961403246730119774337399703422463459231675588482935858420765326421555448280339061724466310717136212252868177897932924653530049677696436162757662269366798190208071681769644893941942974134840361829280739998511129729526702298361645614792859833141153396637763978261364317262779683444024446799942602179506309308829708000706164362584967544123944262478613936873150629875606572943548220887109756073849240773353610522128256052318094523961849199416335892154957022886522856407858766221227733233769855803540797195843736795162918258589030898376105673396821691371141078048940078157513454368981977910858251016762020830161673450276912167612177864217402281884081697525964997122986657878537513893383684107209185434682030581611841138320769751165820198510744298727746999807978419121499753915601607922696176540527435469670341293526747506706526024530442810609168649651488186829417974713332892493843632020625662134700088384496204167242147258558309791277779399383749139370284867286168094886544821422737637802164641269558545701441664386153037171353886211403725205681597970913022628953115278573534601804694766770034985736868925734980630049997686944790517637071797350609058196799433236359876639015798606019522872255619522116052138570098167166266498733891031108802657143775059617458142604429165804720101056675638719316542457760009090061209984977397292885275149606401974049153909692505148219826918259844782109296960962668656427745596201014333963313980270250168486273994989481135537270723574107717244316660088927662936290431190977141636475102177302706274086655242143720376303626665531386214442689649201190586832460162739827248970951243047440330228206331631112497739878283020377893436493175592457922732266429291282308155450226625908735145243692396554905981224214276161473784801143286259695282125512040501344451566921615076695587270678352226833487853937549564212575401137028689407768946214072151854724602769103465475825754648083539620644496540756262476390723165771983841025405599650289140025146921553140992130744935601340339721606678745401623060593372384771360928037839290017553053687662881909325377632775454112253161089384150763856706709155478909949994753852927323817406887036600795067326371378788198824332878167341364967879877879238807231553439728369018467221599420820323413253492898108084906827199959825847516517138472194789248173159585268081314575918495931090240886524799021431864303823205292763974048397599206812537350644671886512896943549787393792013585758364951639015903806808257622062909142313231743480044638793538545919980650491431925030133693346821159087402194007666994942204762440475125178705040855041713359185302696287569744680604190515945891306060582731794814908843958353954702356548613096039147793243847008308977635561964476974997951064591650034486821018815827067440683467721305397279261255554886935728702038082522417061993386180239766246562722248573939589551463440216540148757382768091588138660292719477108563071144875031522670308447900691983255937682162468481877091121037630772727278138515616236001256623965847146632370258907566117444498723076761005067670267433967584124059982950527552684126829463945259162716865211890575671788315183102363107529308174560259235390303117426425526334200493809978331057159437911165295498631423603473319109300623522908911153779412709804961551139930617047949474361706760660471241914491395100667580257747629101647580790725836642955974210568542006096121792397082649454719102730385503190578335481925220951303611391214549703657189680455196346478377576648796225287534093375835944628560149537373180156497980646947482611425085448686655661776669311742295297814178013215311938924288491062998382097579430060278739035515872696978219934320562561595472608922323860525399884510982402005269156441982086483021029918558209724470491903799974743155409617616793047923689985178433315018756427849919071082417642288796404481615231515234452681159882921091503004550444101071092708811340514603382017663740887649084380236302609941981934458359114802326529287265867836586784975966554986634154342857441112067919515289522362798595615675285893464419458686422183504043133224290707533174576650932865938948401459027619947526422651202675898412812192885113849595817623488233557657324742800374393771493612612994490199832072720005221382391736290818088439567832190214526069759576939763059225294047689399842770969550271822493372060085246999178803887808375697715787460887952953376038287195940678828372114751832221735499728113180144886805780940960771191887792284320985144166141635393515416730908788312195300491807806540287070491481431962163136379543929660618181107758371359830272070710330540964244840736100126945150261956581967738136878967906151503477030589413476778396488056255128274618652814459320832933615142116047026707587220756919312766986953137529175073213247265939159691046998370580315251080657075929005601304731518695855137789275121205684896535005308306213389054064280969057885721542388986811077341891260041925887056878130127572583927539693499699113748046877120963906069001823409562788230808853853871882873439472647253434523002060852420272156695039139430549806321097367810917227205204247017367003229877344084778548555114682479336206900025536057463019980330999992904087435962707758338762003728511765178466640449320652612534210798892815867357916179819681928104828396478395978907986688587587211048028175297039898923093781251066820216389866502543454979385315466322731193630241277133766306683368683633769391462572687987584895042715635934566846009082053691659625628107925455524966171892172371347581776938133011946883355527792757280423901439843787718910514187571823733633970498290959128713803276395973214824695287254119656282385379882044684859740770770278952462807363972180867983716145726826403124279164669065683519737643851028582182178847409253790169102711752823675738101624258228757004430831589700933826769294222110208159503937943407859874680379804051887083961895061924782547582746137283942772401572559120470890618028176688321500424321999931090462064837742650236200746027254163561595334216630144019027040253177959675166099546895382119057589923150803302324507323848614026929585740973630842804613794984942817152682790916367496479469160062752291871555062959744198529261258320214197863335418932826502335611940388568414533543083903871787619265150316201237229731526540177347040557596914219634494593235084100440185902704961496894801815965828241488132952816404388213547139957096281106720657002724584983296567282421021887309645830545420849278973750640190607812610285157453521737441247551562739193013130693895523904297417282234702467824997650172419479439441255022332965189964811370036473464368552713455590919789499626730938265251068093725738139931895013962725859474556756480116280260627787935108686778592189332291505719726719077482505187732166430397583619665581803192980606593527468509467816727622815672436856982934841596850565981312553199365240177231983103452801762396781049408644396871558903699749565332207142811049048182624446587821028122603421082599612278424274067596446947245822830895127763586085330483630169076457504200909936850085672679490880916987771671515958792100086504441906166883057826386663807415827634696644519029381309240506884533527368051945982355761911196589505004453747172652632673455899462375061151550202616213923220708752452854045423726557808849891888030846969306960246896955191577509230349214673674304878671561397306240994072993825456945871524545215733592827655417488586747072957508855181351739836239516748037158449381239108123306523023110606298661963449674881082925925182603579867432015156377469556858305777174344856478521223612021292097541422140997855352914884173428175300104591711531080100684181580152409902546924543842486751409960437530742940467914808195608386244877173254708593769693062019878116577906713925284724212499272016326655687037805861084034663471955740078323831260597635073616757531455521508225492584632755110967542630950029824124804297778532120880397292269012808717272937581671062086187217594121399060707960164699001290114066485733674124975811987529304662145369009685503503483770721563379402675107892122876415605486214206297448754683781403239806537538455364899600384016511186109979196731136111559988652249109059056168727472084538886421222923955607805422086145083637022950060876062174197864672413969585040042931102016508335956544836945146914417495407775650762282977322790449733124545925755577597392025325814499788040984962636803160041576333869107365103345436520492842564340583591374847080571930935862552516625782779041355969495487938367307196905822099747825409940214053125418301400165599210384369057968532771267647066097632473841493894932527254594748261729799745997254470892900027688147535761266961443652943362375094153936457173896714510094804719288158533617491705759294008994214663249335906030635041546659193089468296514419227259898203401530859419267131796445278056911860935066219071490744507841265663013103787850917716560627115299079929392784960788169389639642636928919137356685242062618011173253577755634544111490406599834395070546417259533081499314590431851416924461990127281271831716927498057263894319433547964585821210845155248304759236791970527909858268437867701766293389873401707383634346559756025253932252491367163869671335498100759208907182013538637647569178546153448742518676269317521023308462569177659615016238936113642996885529852767731796138614878688638842877780137867406890031299172968241732920849371966149656357885139880539429124981550348376736331988147006833619266898444566345127300817815203823325335258988154621191945104250030742389547813660159656194923767664196606864222178844363071769368368051332677090360739802718679846255482242958502316724132148976527954515007040979214783062355493764535649115037845928939623351602345024659399232752828640899098978368318305161153868621362932589755079169515524194859219463128937037204633849923957302777896111420831376689781588431280682001562545944684869845462144566311444801767559873642961031556443638391255946035328870555250650417221780752317097102281493925577371969446917837148517499890255036064376103666695034118363337603533918649961271974933731178820689953982579782978686045781962524719543275212305258940319096448133103196574259967188364791973884067293653657458012240419579259498695348723660227162162879600188828395974312406437918773829123380992849233381182130924608249369085011631847329934590309873276981048132643736423523284570917759081109932019453093981709568753412303492659327511513055252167104627773758907205874287325364171752626827911326697463749124547857093206526587852527879135598610922629533413212015174092751262408925373488262777084550405929349340856800227517186982801591592047964240300863492840675696222269015534032883883102612025464939749833289352980177743079790494925259492559661385544338091000393837526808919607594334611698694542146092603361642919060372707931355592699681174253940818197050151577483458237083916924195192657367489754379603351486382750329675780720825158613498262029087250833484354260392362020895712776147445060604521436082457084469976080050692389689465283543921130443448298095398107825566860199629398748896558634135669864143450732344743347726354193183219523295001626134961221251050305892526894877131524442604245036881159959347590706933419346224961325627357047620358334747565687704087530634509582952699146315146241632097947649099467694106309600019033784242453324013187865105918676115216747368167375032767527872951123551917677181943460360492701073323126080435078584186660281332112992281709779232254000262554743826567951697151516924782351718790736476701475004630496945646669162802759598012617412322743979556583827356441484583471109522579319434904688140160750474988905412403124643600089818616377347442732452260880220388355823287959138902548669131560304064447464172401887665754344994720357204920178380081507231273620321711617161317384656200227990355796489172567824480266205719595875254103528486961913043321524629156056608754707419113027973815872514857999276293627463283866187794381513403912865832677603284970371197083600123401120380586322695158956245276596706214383721354558857089037562707130053260054742734744202988084763653927777474649994138780665077266033924672082527312880963714715258383886660433272009743757283283346401794277856170188873841285186632741415568044572464263721257183696545670831482985486703236554554321535899724642707035608336958752844522088031592564258373135456228062798490611400040099370078444247271837026218598406215450096826121949258558249898426360645241282588908412301836433334195102389455241965543224242494472686979181979185304746977166732425106470662847078319242300882404838882003974555160493326816676054673164365937940788859371740380695529222718176738168126230269972507468390326378262727058833827357095351876237870882699658902498016750024789502543983133998729309768155475011541898013582665402387614983778495523912681155437702760410327716367727980454934522001884214988828982116202928198877921387914576429831578536772403435353102345441407858655311197521698136753183283678392654226667415201660482169948818388798078587961359406962051924687055314266874539163706145943784192476811827392507217460179669237956663113931204102391823403491285138309159393613753459946786436434249408601354445219285260153705778873062401882489015155859181106130909087223388270132621053167735649791057516700969331050831767473915387634476821081996453578752909027898881306998085677010236964594100761809812674596745983016379007558263265902138532393141878173723343331166665618655850930452171869925784143562009610232240549822051232822897386348096887044829037744532775417507592735255736759028132203779236742796708787633759168281068935506928962696877287482149572576469226299733363296640700583260140668151131660903070634515265269207868533892946786164272400309255711460581796370748485810643597107508963888000599560396171175324300763410922537189977726411851056328568385573759407184709610640385738775590686048622728776066124108330638018888944800410216389682447055448045506959896420234279724741396928446483976999003379342636659226301636638934620324600669840013171950307928182391850298957910082285952313038330642697116563977763364052439314631881530856882361992472221274598232592241890576815217353791826922131313867530763529275579557853399025153416333305829343510750163381485372330447502536021151706314494817523464378447591164476901771795208090496696379306596793260016169486135540698009198585145228198445090647372504929301076363417644859887133064448794607215090348994305409486183720833501981974658894223358009282899971414827561727218338857611964071144272530464326052725056564607933593908898010914086885481916031506845910740986255670424632647146972780772000969920580745403229559628386278701474885773641123342129779563012920766032424173830238803850458383505331993101891601874667129393445351816988403766960826495486663605743905224024747323249708127688321718597344268664923016251445185749026225810724728051636481236825691021084841411394975750051642829246586337101865697930605013006383930123481539568547101184905853704362922639321504987417319279504061170306566168988076846930998831697441575265420776020276716496345463784581627908 79221136326288413549090453617582214988603149380032775393045753873679347103737428810698791647263113706575282689198477135930652137291317188670030006057926509831856472550143054466006425134587034426949120010210832597783143689081004098970652114673282224426184172485773967049733965817226715156969648131835381010189470025770375559444559659305270898952170617343578663720139463438305206193729450577009951868047317341521679722886752217921827822705466305632297648679105292595306982225729633137305184703173136534319068330149229142960259210328722455601450057473003629441834416962669954405564521304502500726298911194393554191501157954017925309977598836623748100506311537547090223313424323313673085311409323919977212070953990949404412305207140907616619412378270976434206887105501661848469182736298770557698748104969475842500166345456724876246803841548685455561851856586967869889986216391448174596518073583228454703935275996041071738034755239225816281721293011288588359444337681021846829274952700086230836341401062887321604178406708278357480439226036171803414304571700770050264769130291420603534822495795966981715612394351588510056912232508637273573895372779156159436797233748213294951636931736322625278881149941049169682180025310119656903852664689348405476728233436921288688205034751242856813863451202798101231235894933014025474654357904163264189792879110990531247061528782494741231885291482973616690359904394443018958369073484128300703937149692838128916254439952768266768999800895221352172804608885628145520829329108509888656265795056847497582709463200002373315731960683089450281141672128908771066872542843950397795050900482861371828770525181267955544208230938560999841196913163882946371552828126583680248944964520944418180558701521838650855170095150234372062727397690674991347946365752214498420657007149585319909260780872426315558079608099072865828174703417406185318728278145026184310672633645641700732291542811057990742838365066341014265183949971790930431087121056345347741501667746148234688653065189269356885872908647581204650438736957716528711548574555583977239301969823515430537595181395319473570033411789209713074292228145962019286962544117035974563318921268241513986555088394502711032433789248734183877010959345104750102614262227563661010217640141350231316347211768763385670337883433049195056061300162041862964241528184097908283230852906666992480893473206747006312106694438401261591124362380788902882710265313013071263115504159140550179707220633782158597940373880726872858838789886163551228708805088540541574505134133745949431125107024728689987177439066224173647204385151471810845156172459609697201263898819372465925856032821983943945509201296896112993390414319772317613998628115011584901662481020736975231857679558573639533120123760882987807897148264001476729480741158503008405824181375825684426593602078107066384305742314153383784825815001170364503279303283157714730965700730790958163526085614077255893030881612578737162635171062435305862363661501175783671862584712802832632731639923317926092501167046294294878922434436385815597766578254085927198853219424480746368612964091254086956730350365974846418411767133289280026522101904776721397535481072023153960396155426365282526318432948840966649466716318812335304612541684202901596339076117983534399558629308180937552570931412127563964839611720473046765641026358839977096301838517860717992220124429055320994261412222457829626748188314831526678529121257451724121669436757611557692716596947663821034873517375372433749628434475153359120061495211777091719559441963916844642691242108239222713715540944215042751815205832903182816602051553000809853471087600226541940973229542173962641860015572714026730877762563780111880467244618055586935195897209646109126685288690235443479134420307287200865787784854857681194140932834097813623138157320433948668365280904196167520730495552269155400544459597418276177569668057444229387270850059959177577695113400939572251098823419194625556857107173746511343007800181920881221537624681494893301655822089723344553388000429323171176866004751029713971505534118999127107434111180853160547174861752751626348577776330731649967976997705926985766161797485058129299093471507452375539795559192778297669346728398663209935467310249960415041458812552734910388740750185119204150326407565301155455130213015082150774995891695158121179129263515005175587602007309165752571455482494701985152058285071569163352124307190188600099648633956424637872070374433661282860434946347675030365936337518341250497939530670492049152682751595740299650777955876517336356201954238740449622894424782067167868473814849903355130288000808722848881716523423304369683278744797091680665929947282004599884742141903092455370441529688744167156179077360250483378518119247298849108528250294762208416407986167476148567175178874063800358086027457895630650648669396258429142206700367153305674783250866422661286263393363325796268275165731232739893184194968961403246730119774337399703422463459231675588482935858420765326421555448280339061724466310717136212252868177897932924653530049677696436162757662269366798190208071681769644893941942974134840361829280739998511129729526702298361645614792859833141153396637763978261364317262779683444024446799942602179506309308829708000706164362584967544123944262478613936873150629875606572943548220887109756073849240773353610522128256052318094523961849199416335892154957022886522856407858766221227733233769855803540797195843736795162918258589030898376105673396821691371141078048940078157513454368981977910858251016762020830161673450276912167612177864217402281884081697525964997122986657878537513893383684107209185434682030581611841138320769751165820198510744298727746999807978419121499753915601607922696176540527435469670341293526747506706526024530442810609168649651488186829417974713332892493843632020625662134700088384496204167242147258558309791277779399383749139370284867286168094886544821422737637802164641269558545701441664386153037171353886211403725205681597970913022628953115278573534601804694766770034985736868925734980630049997686944790517637071797350609058196799433236359876639015798606019522872255619522116052138570098167166266498733891031108802657143775059617458142604429165804720101056675638719316542457760009090061209984977397292885275149606401974049153909692505148219826918259844782109296960962668656427745596201014333963313980270250168486273994989481135537270723574107717244316660088927662936290431190977141636475102177302706274086655242143720376303626665531386214442689649201190586832460162739827248970951243047440330228206331631112497739878283020377893436493175592457922732266429291282308155450226625908735145243692396554905981224214276161473784801143286259695282125512040501344451566921615076695587270678352226833487853937549564212575401137028689407768946214072151854724602769103465475825754648083539620644496540756262476390723165771983841025405599650289140025146921553140992130744935601340339721606678745401623060593372384771360928037839290017553053687662881909325377632775454112253161089384150763856706709155478909949994753852927323817406887036600795067326371378788198824332878167341364967879877879238807231553439728369018467221599420820323413253492898108084906827199959825847516517138472194789248173159585268081314575918495931090240886524799021431864303823205292763974048397599206812537350644671886512896943549787393792013585758364951639015903806808257622062909142313231743480044638793538545919980650491431925030133693346821159087402194007666994942204762440475125178705040855041713359185302696287569744680604190515945891306060582731794814908843958353954702356548613096039147793243847008308977635561964476974997951064591650034486821018815827067440683467721305397279261255554886935728702038082522417061993386180239766246562722248573939589551463440216540148757382768091588138660292719477108563071144875031522670308447900691983255937682162468481877091121037630772727278138515616236001256623965847146632370258907566117444498723076761005067670267433967584124059982950527552684126829463945259162716865211890575671788315183102363107529308174560259235390303117426425526334200493809978331057159437911165295498631423603473319109300623522908911153779412709804961551139930617047949474361706760660471241914491395100667580257747629101647580790725836642955974210568542006096121792397082649454719102730385503190578335481925220951303611391214549703657189680455196346478377576648796225287534093375835944628560149537373180156497980646947482611425085448686655661776669311742295297814178013215311938924288491062998382097579430060278739035515872696978219934320562561595472608922323860525399884510982402005269156441982086483021029918558209724470491903799974743155409617616793047923689985178433315018756427849919071082417642288796404481615231515234452681159882921091503004550444101071092708811340514603382017663740887649084380236302609941981934458359114802326529287265867836586784975966554986634154342857441112067919515289522362798595615675285893464419458686422183504043133224290707533174576650932865938948401459027619947526422651202675898412812192885113849595817623488233557657324742800374393771493612612994490199832072720005221382391736290818088439567832190214526069759576939763059225294047689399842770969550271822493372060085246999178803887808375697715787460887952953376038287195940678828372114751832221735499728113180144886805780940960771191887792284320985144166141635393515416730908788312195300491807806540287070491481431962163136379543929660618181107758371359830272070710330540964244840736100126945150261956581967738136878967906151503477030589413476778396488056255128274618652814459320832933615142116047026707587220756919312766986953137529175073213247265939159691046998370580315251080657075929005601304731518695855137789275121205684896535005308306213389054064280969057885721542388986811077341891260041925887056878130127572583927539693499699113748046877120963906069001823409562788230808853853871882873439472647253434523002060852420272156695039139430549806321097367810917227205204247017367003229877344084778548555114682479336206900025536057463019980330999992904087435962707758338762003728511765178466640449320652612534210798892815867357916179819681928104828396478395978907986688587587211048028175297039898923093781251066820216389866502543454979385315466322731193630241277133766306683368683633769391462572687987584895042715635934566846009082053691659625628107925455524966171892172371347581776938133011946883355527792757280423901439843787718910514187571823733633970498290959128713803276395973214824695287254119656282385379882044684859740770770278952462807363972180867983716145726826403124279164669065683519737643851028582182178847409253790169102711752823675738101624258228757004430831589700933826769294222110208159503937943407859874680379804051887083961895061924782547582746137283942772401572559120470890618028176688321500424321999931090462064837742650236200746027254163561595334216630144019027040253177959675166099546895382119057589923150803302324507323848614026929585740973630842804613794984942817152682790916367496479469160062752291871555062959744198529261258320214197863335418932826502335611940388568414533543083903871787619265150316201237229731526540177347040557596914219634494593235084100440185902704961496894801815965828241488132952816404388213547139957096281106720657002724584983296567282421021887309645830545420849278973750640190607812610285157453521737441247551562739193013130693895523904297417282234702467824997650172419479439441255022332965189964811370036473464368552713455590919789499626730938265251068093725738139931895013962725859474556756480116280260627787935108686778592189332291505719726719077482505187732166430397583619665581803192980606593527468509467816727622815672436856982934841596850565981312553199365240177231983103452801762396781049408644396871558903699749565332207142811049048182624446587821028122603421082599612278424274067596446947245822830895127763586085330483630169076457504200909936850085672679490880916987771671515958792100086504441906166883057826386663807415827634696644519029381309240506884533527368051945982355761911196589505004453747172652632673455899462375061151550202616213923220708752452854045423726557808849891888030846969306960246896955191577509230349214673674304878671561397306240994072993825456945871524545215733592827655417488586747072957508855181351739836239516748037158449381239108123306523023110606298661963449674881082925925182603579867432015156377469556858305777174344856478521223612021292097541422140997855352914884173428175300104591711531080100684181580152409902546924543842486751409960437530742940467914808195608386244877173254708593769693062019878116577906713925284724212499272016326655687037805861084034663471955740078323831260597635073616757531455521508225492584632755110967542630950029824124804297778532120880397292269012808717272937581671062086187217594121399060707960164699001290114066485733674124975811987529304662145369009685503503483770721563379402675107892122876415605486214206297448754683781403239806537538455364899600384016511186109979196731136111559988652249109059056168727472084538886421222923955607805422086145083637022950060876062174197864672413969585040042931102016508335956544836945146914417495407775650762282977322790449733124545925755577597392025325814499788040984962636803160041576333869107365103345436520492842564340583591374847080571930935862552516625782779041355969495487938367307196905822099747825409940214053125418301400165599210384369057968532771267647066097632473841493894932527254594748261729799745997254470892900027688147535761266961443652943362375094153936457173896714510094804719288158533617491705759294008994214663249335906030635041546659193089468296514419227259898203401530859419267131796445278056911860935066219071490744507841265663013103787850917716560627115299079929392784960788169389639642636928919137356685242062618011173253577755634544111490406599834395070546417259533081499314590431851416924461990127281271831716927498057263894319433547964585821210845155248304759236791970527909858268437867701766293389873401707383634346559756025253932252491367163869671335498100759208907182013538637647569178546153448742518676269317521023308462569177659615016238936113642996885529852767731796138614878688638842877780137867406890031299172968241732920849371966149656357885139880539429124981550348376736331988147006833619266898444566345127300817815203823325335258988154621191945104250030742389547813660159656194923767664196606864222178844363071769368368051332677090360739802718679846255482242958502316724132148976527954515007040979214783062355493764535649115037845928939623351602345024659399232752828640899098978368318305161153868621362932589755079169515524194859219463128937037204633849923957302777896111420831376689781588431280682001562545944684869845462144566311444801767559873642961031556443638391255946035328870555250650417221780752317097102281493925577371969446917837148517499890255036064376103666695034118363337603533918649961271974933731178820689953982579782978686045781962524719543275212305258940319096448133103196574259967188364791973884067293653657458012240419579259498695348723660227162162879600188828395974312406437918773829123380992849233381182130924608249369085011631847329934590309873276981048132643736423523284570917759081109932019453093981709568753412303492659327511513055252167104627773758907205874287325364171752626827911326697463749124547857093206526587852527879135598610922629533413212015174092751262408925373488262777084550405929349340856800227517186982801591592047964240300863492840675696222269015534032883883102612025464939749833289352980177743079790494925259492559661385544338091000393837526808919607594334611698694542146092603361642919060372707931355592699681174253940818197050151577483458237083916924195192657367489754379603351486382750329675780720825158613498262029087250833484354260392362020895712776147445060604521436082457084469976080050692389689465283543921130443448298095398107825566860199629398748896558634135669864143450732344743347726354193183219523295001626134961221251050305892526894877131524442604245036881159959347590706933419346224961325627357047620358334747565687704087530634509582952699146315146241632097947649099467694106309600019033784242453324013187865105918676115216747368167375032767527872951123551917677181943460360492701073323126080435078584186660281332112992281709779232254000262554743826567951697151516924782351718790736476701475004630496945646669162802759598012617412322743979556583827356441484583471109522579319434904688140160750474988905412403124643600089818616377347442732452260880220388355823287959138902548669131560304064447464172401887665754344994720357204920178380081507231273620321711617161317384656200227990355796489172567824480266205719595875254103528486961913043321524629156056608754707419113027973815872514857999276293627463283866187794381513403912865832677603284970371197083600123401120380586322695158956245276596706214383721354558857089037562707130053260054742734744202988084763653927777474649994138780665077266033924672082527312880963714715258383886660433272009743757283283346401794277856170188873841285186632741415568044572464263721257183696545670831482985486703236554554321535899724642707035608336958752844522088031592564258373135456228062798490611400040099370078444247271837026218598406215450096826121949258558249898426360645241282588908412301836433334195102389455241965543224242494472686979181979185304746977166732425106470662847078319242300882404838882003974555160493326816676054673164365937940788859371740380695529222718176738168126230269972507468390326378262727058833827357095351876237870882699658902498016750024789502543983133998729309768155475011541898013582665402387614983778495523912681155437702760410327716367727980454934522001884214988828982116202928198877921387914576429831578536772403435353102345441407858655311197521698136753183283678392654226667415201660482169948818388798078587961359406962051924687055314266874539163706145943784192476811827392507217460179669237956663113931204102391823403491285138309159393613753459946786436434249408601354445219285260153705778873062401882489015155859181106130909087223388270132621053167735649791057516700969331050831767473915387634476821081996453578752909027898881306998085677010236964594100761809812674596745983016379007558263265902138532393141878173723343331166665618655850930452171869925784143562009610232240549822051232822897386348096887044829037744532775417507592735255736759028132203779236742796708787633759168281068935506928962696877287482149572576469226299733363296640700583260140668151131660903070634515265269207868533892946786164272400309255711460581796370748485810643597107508963888000599560396171175324300763410922537189977726411851056328568385573759407184709610640385738775590686048622728776066124108330638018888944800410216389682447055448045506959896420234279724741396928446483976999003379342636659226301636638934620324600669840013171950307928182391850298957910082285952313038330642697116563977763364052439314631881530856882361992472221274598232592241890576815217353791826922131313867530763529275579557853399025153416333305829343510750163381485372330447502536021151706314494817523464378447591164476901771795208090496696379306596793260016169486135540698009198585145228198445090647372504929301076363417644859887133064448794607215090348994305409486183720833501981974658894223358009282899971414827561727218338857611964071144272530464326052725056564607933593908898010914086885481916031506845910740986255670424632647146972780772000969920580745403229559628386278701474885773641123342129779563012920766032424173830238803850458383505331993101891601874667129393445351816988403766960826495486663605743905224024747323249708127688321718597344268664923016251445185749026225810724728051636481236825691021084841411394975750051642829246586337101865697930605013006383930123481539568547101184905853704362922639321504987417319279504061170306566168988076846930998831697441575265420776020276716496345463784581627908 | o1 : MutableMatrix |
i2 : columnPermute(m,1,{2,0,1}) o2 = | . . . . . . | | 1 157536965537041165175488513 79221136326288413549090453617582214988603149380032775393045753873679347103737428810698791647263113706575282689198477135930652137291317188670030006057926509831856472550143054466006425134587034426949120010210832597783143689081004098970652114673282224426184172485773967049733965817226715156969648131835381010189470025770375559444559659305270898952170617343578663720139463438305206193729450577009951868047317341521679722886752217921827822705466305632297648679105292595306982225729633137305184703173136534319068330149229142960259210328722455601450057473003629441834416962669954405564521304502500726298911194393554191501157954017925309977598836623748100506311537547090223313424323313673085311409323919977212070953990949404412305207140907616619412378270976434206887105501661848469182736298770557698748104969475842500166345456724876246803841548685455561851856586967869889986216391448174596518073583228454703935275996041071738034755239225816281721293011288588359444337681021846829274952700086230836341401062887321604178406708278357480439226036171803414304571700770050264769130291420603534822495795966981715612394351588510056912232508637273573895372779156159436797233748213294951636931736322625278881149941049169682180025310119656903852664689348405476728233436921288688205034751242856813863451202798101231235894933014025474654357904163264189792879110990531247061528782494741231885291482973616690359904394443018958369073484128300703937149692838128916254439952768266768999800895221352172804608885628145520829329108509888656265795056847497582709463200002373315731960683089450281141672128908771066872542843950397795050900482861371828770525181267955544208230938560999841196913163882946371552828126583680248944964520944418180558701521838650855170095150234372062727397690674991347946365752214498420657007149585319909260780872426315558079608099072865828174703417406185318728278145026184310672633645641700732291542811057990742838365066341014265183949971790930431087121056345347741501667746148234688653065189269356885872908647581204650438736957716528711548574555583977239301969823515430537595181395319473570033411789209713074292228145962019286962544117035974563318921268241513986555088394502711032433789248734183877010959345104750102614262227563661010217640141350231316347211768763385670337883433049195056061300162041862964241528184097908283230852906666992480893473206747006312106694438401261591124362380788902882710265313013071263115504159140550179707220633782158597940373880726872858838789886163551228708805088540541574505134133745949431125107024728689987177439066224173647204385151471810845156172459609697201263898819372465925856032821983943945509201296896112993390414319772317613998628115011584901662481020736975231857679558573639533120123760882987807897148264001476729480741158503008405824181375825684426593602078107066384305742314153383784825815001170364503279303283157714730965700730790958163526085614077255893030881612578737162635171062435305862363661501175783671862584712802832632731639923317926092501167046294294878922434436385815597766578254085927198853219424480746368612964091254086956730350365974846418411767133289280026522101904776721397535481072023153960396155426365282526318432948840966649466716318812335304612541684202901596339076117983534399558629308180937552570931412127563964839611720473046765641026358839977096301838517860717992220124429055320994261412222457829626748188314831526678529121257451724121669436757611557692716596947663821034873517375372433749628434475153359120061495211777091719559441963916844642691242108239222713715540944215042751815205832903182816602051553000809853471087600226541940973229542173962641860015572714026730877762563780111880467244618055586935195897209646109126685288690235443479134420307287200865787784854857681194140932834097813623138157320433948668365280904196167520730495552269155400544459597418276177569668057444229387270850059959177577695113400939572251098823419194625556857107173746511343007800181920881221537624681494893301655822089723344553388000429323171176866004751029713971505534118999127107434111180853160547174861752751626348577776330731649967976997705926985766161797485058129299093471507452375539795559192778297669346728398663209935467310249960415041458812552734910388740750185119204150326407565301155455130213015082150774995891695158121179129263515005175587602007309165752571455482494701985152058285071569163352124307190188600099648633956424637872070374433661282860434946347675030365936337518341250497939530670492049152682751595740299650777955876517336356201954238740449622894424782067167868473814849903355130288000808722848881716523423304369683278744797091680665929947282004599884742141903092455370441529688744167156179077360250483378518119247298849108528250294762208416407986167476148567175178874063800358086027457895630650648669396258429142206700367153305674783250866422661286263393363325796268275165731232739893184194968961403246730119774337399703422463459231675588482935858420765326421555448280339061724466310717136212252868177897932924653530049677696436162757662269366798190208071681769644893941942974134840361829280739998511129729526702298361645614792859833141153396637763978261364317262779683444024446799942602179506309308829708000706164362584967544123944262478613936873150629875606572943548220887109756073849240773353610522128256052318094523961849199416335892154957022886522856407858766221227733233769855803540797195843736795162918258589030898376105673396821691371141078048940078157513454368981977910858251016762020830161673450276912167612177864217402281884081697525964997122986657878537513893383684107209185434682030581611841138320769751165820198510744298727746999807978419121499753915601607922696176540527435469670341293526747506706526024530442810609168649651488186829417974713332892493843632020625662134700088384496204167242147258558309791277779399383749139370284867286168094886544821422737637802164641269558545701441664386153037171353886211403725205681597970913022628953115278573534601804694766770034985736868925734980630049997686944790517637071797350609058196799433236359876639015798606019522872255619522116052138570098167166266498733891031108802657143775059617458142604429165804720101056675638719316542457760009090061209984977397292885275149606401974049153909692505148219826918259844782109296960962668656427745596201014333963313980270250168486273994989481135537270723574107717244316660088927662936290431190977141636475102177302706274086655242143720376303626665531386214442689649201190586832460162739827248970951243047440330228206331631112497739878283020377893436493175592457922732266429291282308155450226625908735145243692396554905981224214276161473784801143286259695282125512040501344451566921615076695587270678352226833487853937549564212575401137028689407768946214072151854724602769103465475825754648083539620644496540756262476390723165771983841025405599650289140025146921553140992130744935601340339721606678745401623060593372384771360928037839290017553053687662881909325377632775454112253161089384150763856706709155478909949994753852927323817406887036600795067326371378788198824332878167341364967879877879238807231553439728369018467221599420820323413253492898108084906827199959825847516517138472194789248173159585268081314575918495931090240886524799021431864303823205292763974048397599206812537350644671886512896943549787393792013585758364951639015903806808257622062909142313231743480044638793538545919980650491431925030133693346821159087402194007666994942204762440475125178705040855041713359185302696287569744680604190515945891306060582731794814908843958353954702356548613096039147793243847008308977635561964476974997951064591650034486821018815827067440683467721305397279261255554886935728702038082522417061993386180239766246562722248573939589551463440216540148757382768091588138660292719477108563071144875031522670308447900691983255937682162468481877091121037630772727278138515616236001256623965847146632370258907566117444498723076761005067670267433967584124059982950527552684126829463945259162716865211890575671788315183102363107529308174560259235390303117426425526334200493809978331057159437911165295498631423603473319109300623522908911153779412709804961551139930617047949474361706760660471241914491395100667580257747629101647580790725836642955974210568542006096121792397082649454719102730385503190578335481925220951303611391214549703657189680455196346478377576648796225287534093375835944628560149537373180156497980646947482611425085448686655661776669311742295297814178013215311938924288491062998382097579430060278739035515872696978219934320562561595472608922323860525399884510982402005269156441982086483021029918558209724470491903799974743155409617616793047923689985178433315018756427849919071082417642288796404481615231515234452681159882921091503004550444101071092708811340514603382017663740887649084380236302609941981934458359114802326529287265867836586784975966554986634154342857441112067919515289522362798595615675285893464419458686422183504043133224290707533174576650932865938948401459027619947526422651202675898412812192885113849595817623488233557657324742800374393771493612612994490199832072720005221382391736290818088439567832190214526069759576939763059225294047689399842770969550271822493372060085246999178803887808375697715787460887952953376038287195940678828372114751832221735499728113180144886805780940960771191887792284320985144166141635393515416730908788312195300491807806540287070491481431962163136379543929660618181107758371359830272070710330540964244840736100126945150261956581967738136878967906151503477030589413476778396488056255128274618652814459320832933615142116047026707587220756919312766986953137529175073213247265939159691046998370580315251080657075929005601304731518695855137789275121205684896535005308306213389054064280969057885721542388986811077341891260041925887056878130127572583927539693499699113748046877120963906069001823409562788230808853853871882873439472647253434523002060852420272156695039139430549806321097367810917227205204247017367003229877344084778548555114682479336206900025536057463019980330999992904087435962707758338762003728511765178466640449320652612534210798892815867357916179819681928104828396478395978907986688587587211048028175297039898923093781251066820216389866502543454979385315466322731193630241277133766306683368683633769391462572687987584895042715635934566846009082053691659625628107925455524966171892172371347581776938133011946883355527792757280423901439843787718910514187571823733633970498290959128713803276395973214824695287254119656282385379882044684859740770770278952462807363972180867983716145726826403124279164669065683519737643851028582182178847409253790169102711752823675738101624258228757004430831589700933826769294222110208159503937943407859874680379804051887083961895061924782547582746137283942772401572559120470890618028176688321500424321999931090462064837742650236200746027254163561595334216630144019027040253177959675166099546895382119057589923150803302324507323848614026929585740973630842804613794984942817152682790916367496479469160062752291871555062959744198529261258320214197863335418932826502335611940388568414533543083903871787619265150316201237229731526540177347040557596914219634494593235084100440185902704961496894801815965828241488132952816404388213547139957096281106720657002724584983296567282421021887309645830545420849278973750640190607812610285157453521737441247551562739193013130693895523904297417282234702467824997650172419479439441255022332965189964811370036473464368552713455590919789499626730938265251068093725738139931895013962725859474556756480116280260627787935108686778592189332291505719726719077482505187732166430397583619665581803192980606593527468509467816727622815672436856982934841596850565981312553199365240177231983103452801762396781049408644396871558903699749565332207142811049048182624446587821028122603421082599612278424274067596446947245822830895127763586085330483630169076457504200909936850085672679490880916987771671515958792100086504441906166883057826386663807415827634696644519029381309240506884533527368051945982355761911196589505004453747172652632673455899462375061151550202616213923220708752452854045423726557808849891888030846969306960246896955191577509230349214673674304878671561397306240994072993825456945871524545215733592827655417488586747072957508855181351739836239516748037158449381239108123306523023110606298661963449674881082925925182603579867432015156377469556858305777174344856478521223612021292097541422140997855352914884173428175300104591711531080100684181580152409902546924543842486751409960437530742940467914808195608386244877173254708593769693062019878116577906713925284724212499272016326655687037805861084034663471955740078323831260597635073616757531455521508225492584632755110967542630950029824124804297778532120880397292269012808717272937581671062086187217594121399060707960164699001290114066485733674124975811987529304662145369009685503503483770721563379402675107892122876415605486214206297448754683781403239806537538455364899600384016511186109979196731136111559988652249109059056168727472084538886421222923955607805422086145083637022950060876062174197864672413969585040042931102016508335956544836945146914417495407775650762282977322790449733124545925755577597392025325814499788040984962636803160041576333869107365103345436520492842564340583591374847080571930935862552516625782779041355969495487938367307196905822099747825409940214053125418301400165599210384369057968532771267647066097632473841493894932527254594748261729799745997254470892900027688147535761266961443652943362375094153936457173896714510094804719288158533617491705759294008994214663249335906030635041546659193089468296514419227259898203401530859419267131796445278056911860935066219071490744507841265663013103787850917716560627115299079929392784960788169389639642636928919137356685242062618011173253577755634544111490406599834395070546417259533081499314590431851416924461990127281271831716927498057263894319433547964585821210845155248304759236791970527909858268437867701766293389873401707383634346559756025253932252491367163869671335498100759208907182013538637647569178546153448742518676269317521023308462569177659615016238936113642996885529852767731796138614878688638842877780137867406890031299172968241732920849371966149656357885139880539429124981550348376736331988147006833619266898444566345127300817815203823325335258988154621191945104250030742389547813660159656194923767664196606864222178844363071769368368051332677090360739802718679846255482242958502316724132148976527954515007040979214783062355493764535649115037845928939623351602345024659399232752828640899098978368318305161153868621362932589755079169515524194859219463128937037204633849923957302777896111420831376689781588431280682001562545944684869845462144566311444801767559873642961060540810239793307814518761549342671646542816266006066097107070994150316288492762067803411954940672444196431787463715182363071290327035570413863014490862467793099839149530542244185511165177100984132295035414214345728430304533344535972170008632601015556607038971535561038146080678328608760453083425801822859871275714687287735057053542264499796148571594799158704648753379500084277141293550850092011094711635292997436967868865175711531651647518159290643352667233333649648926456221241114096827107871797343213780128779424626958483650294271067196729599459844902074378884261766942765961425902735915994968572531670882730010179232026581161821255679002759927996396881828568178934203371266184748927995929935529166065651144042883205426223576722849223173708552471030120045454958133108049761866752950425306508083255745444094077396708013743695869188083820867087989922257563702595940288331310604285776541780891206284331844111544478052437113106567306185682556329303402347485306842321410319229649606213960287529270981594776517697581645318851161634013615745165303002115189841650200584894646408564600028832812771398470175725543150215114015083385318578905242077041272924633994886129002193901617997932469166420185666083819045857637754280339123065330727531986240701579735864898769409438508018271584414151994580289347627791452440963603750872119966523404402164290273891146273208604150209625096321468659763084371176582295517062029213352603820856321967740285831324115377873096938422943801596478711278539583051291482703607604973574795971443383774710178129839684343940716544139848529774938618129778370307203345983857906862066780948619052058237205096491353814186201205361597060108235374221173908568597094746739549929575176218957930814310402342632890385254935585821940193752679552756490650957707929400008365598214474622325357212557031747967574371427721526135451530741509834984000877174522511295728507414347463436669842067141556183762743281483028880614684181483869393435565550362253539790905425232780778860247217138623339458679188408981440531301340821946806217362029651284832408655249693793683078663556414395159427555908216135614601036772160846013889973480405770207076617409082209130469803994168387209313552085287204574121326297745521902972477657913264326501219356343703140964099005566463205148987763698001551518358228141146534818601565617239221202215110697745990275926925171461308476467934878783313823146037615438838153316170392407729347846257849584052689025530505557554270407141588987780015719460576462225421664264348856598198842048167326506864446682333015058927109431695409654111773557525995541840963039266995482184430053332043881133374420648999666815095987939951756853829016908265885464258828936922039397838987137521357047653008393032337984616861495024111547432256498996245786646195940531506443025421373699148943394581063023185087197580548541927328860240179449469555548457341386993452881617282147422194481962624951398362922935628190113335943738284467007594040083769591416265180040184831099272588015096346756233225443512220393549615127669149260890357183139828376869059398269317639586670043795102377483217840094408997606386160612537754873353981567540893891524141298339424182720190670067560101660006890911113947233690956576880956796770376572129718377599972466872517982854011504007970090711363035449668200782077412268170542643374988269395596434249299657517040409013942428831564713142359713775541378296918176420481310095305018292491084163876052504115234890593126027981070152098162743504734237555621393377920251666092924121457817605995270435334582208407286777508725732688204979642020518330078591104018307545686778726546026332418653637842865932962949422139835597916823951128085758587467425751461402893340635127401648082921571229190437465542482376915831976364682495941200481130723450655831377824131384028760021531164233126057564066720668816935150362097787501659787682241994093823418543865108733524022537623867306894360170361940708080939281615815630613459505684080444131301219353984341458659213432445219064723333320254641992887848049406913213242043860544343431878446959362076749067354496044972806638710917422983620123666166797134788154749882924283615715606207257626985048013164398740108742255285606259093935732216773405447864190132663649061238198633346080688961172666594791688063796992157029925466875843274978254068553339752974356133072789706911723100679966873552179606597781228422200481547817253906247123711010864951389995244913483413746260038812983784731140058749216584294352852399818244043595541973708196192305412561054485746601078794432026387841006510588697070449324445949368223634263235878114611884704719183409916189195968040982005537619400799647060837199503297292663729091960847285893075566193692434769353794568080814354392579057546988891763077136411444492095691281062526527397357855929667318473839194198806525962395410624018600296078296819765929708933686678039032788025777630782691199808501709379574265101190287439924075745704522635603284821497800515135072248519895210865584164659297105765069091217109667668986364958042966115495719236242952136586162120902451412111981183754741449665329828728343169218756100590258132869471729596009167888709951459450233709402569548343803905 79221136326288413549090453617582214988603149380032775393045753873679347103737428810698791647263113706575282689198477135930652137291317188670030006057926509831856472550143054466006425134587034426949120010210832597783143689081004098970652114673282224426184172485773967049733965817226715156969648131835381010189470025770375559444559659305270898952170617343578663720139463438305206193729450577009951868047317341521679722886752217921827822705466305632297648679105292595306982225729633137305184703173136534319068330149229142960259210328722455601450057473003629441834416962669954405564521304502500726298911194393554191501157954017925309977598836623748100506311537547090223313424323313673085311409323919977212070953990949404412305207140907616619412378270976434206887105501661848469182736298770557698748104969475842500166345456724876246803841548685455561851856586967869889986216391448174596518073583228454703935275996041071738034755239225816281721293011288588359444337681021846829274952700086230836341401062887321604178406708278357480439226036171803414304571700770050264769130291420603534822495795966981715612394351588510056912232508637273573895372779156159436797233748213294951636931736322625278881149941049169682180025310119656903852664689348405476728233436921288688205034751242856813863451202798101231235894933014025474654357904163264189792879110990531247061528782494741231885291482973616690359904394443018958369073484128300703937149692838128916254439952768266768999800895221352172804608885628145520829329108509888656265795056847497582709463200002373315731960683089450281141672128908771066872542843950397795050900482861371828770525181267955544208230938560999841196913163882946371552828126583680248944964520944418180558701521838650855170095150234372062727397690674991347946365752214498420657007149585319909260780872426315558079608099072865828174703417406185318728278145026184310672633645641700732291542811057990742838365066341014265183949971790930431087121056345347741501667746148234688653065189269356885872908647581204650438736957716528711548574555583977239301969823515430537595181395319473570033411789209713074292228145962019286962544117035974563318921268241513986555088394502711032433789248734183877010959345104750102614262227563661010217640141350231316347211768763385670337883433049195056061300162041862964241528184097908283230852906666992480893473206747006312106694438401261591124362380788902882710265313013071263115504159140550179707220633782158597940373880726872858838789886163551228708805088540541574505134133745949431125107024728689987177439066224173647204385151471810845156172459609697201263898819372465925856032821983943945509201296896112993390414319772317613998628115011584901662481020736975231857679558573639533120123760882987807897148264001476729480741158503008405824181375825684426593602078107066384305742314153383784825815001170364503279303283157714730965700730790958163526085614077255893030881612578737162635171062435305862363661501175783671862584712802832632731639923317926092501167046294294878922434436385815597766578254085927198853219424480746368612964091254086956730350365974846418411767133289280026522101904776721397535481072023153960396155426365282526318432948840966649466716318812335304612541684202901596339076117983534399558629308180937552570931412127563964839611720473046765641026358839977096301838517860717992220124429055320994261412222457829626748188314831526678529121257451724121669436757611557692716596947663821034873517375372433749628434475153359120061495211777091719559441963916844642691242108239222713715540944215042751815205832903182816602051553000809853471087600226541940973229542173962641860015572714026730877762563780111880467244618055586935195897209646109126685288690235443479134420307287200865787784854857681194140932834097813623138157320433948668365280904196167520730495552269155400544459597418276177569668057444229387270850059959177577695113400939572251098823419194625556857107173746511343007800181920881221537624681494893301655822089723344553388000429323171176866004751029713971505534118999127107434111180853160547174861752751626348577776330731649967976997705926985766161797485058129299093471507452375539795559192778297669346728398663209935467310249960415041458812552734910388740750185119204150326407565301155455130213015082150774995891695158121179129263515005175587602007309165752571455482494701985152058285071569163352124307190188600099648633956424637872070374433661282860434946347675030365936337518341250497939530670492049152682751595740299650777955876517336356201954238740449622894424782067167868473814849903355130288000808722848881716523423304369683278744797091680665929947282004599884742141903092455370441529688744167156179077360250483378518119247298849108528250294762208416407986167476148567175178874063800358086027457895630650648669396258429142206700367153305674783250866422661286263393363325796268275165731232739893184194968961403246730119774337399703422463459231675588482935858420765326421555448280339061724466310717136212252868177897932924653530049677696436162757662269366798190208071681769644893941942974134840361829280739998511129729526702298361645614792859833141153396637763978261364317262779683444024446799942602179506309308829708000706164362584967544123944262478613936873150629875606572943548220887109756073849240773353610522128256052318094523961849199416335892154957022886522856407858766221227733233769855803540797195843736795162918258589030898376105673396821691371141078048940078157513454368981977910858251016762020830161673450276912167612177864217402281884081697525964997122986657878537513893383684107209185434682030581611841138320769751165820198510744298727746999807978419121499753915601607922696176540527435469670341293526747506706526024530442810609168649651488186829417974713332892493843632020625662134700088384496204167242147258558309791277779399383749139370284867286168094886544821422737637802164641269558545701441664386153037171353886211403725205681597970913022628953115278573534601804694766770034985736868925734980630049997686944790517637071797350609058196799433236359876639015798606019522872255619522116052138570098167166266498733891031108802657143775059617458142604429165804720101056675638719316542457760009090061209984977397292885275149606401974049153909692505148219826918259844782109296960962668656427745596201014333963313980270250168486273994989481135537270723574107717244316660088927662936290431190977141636475102177302706274086655242143720376303626665531386214442689649201190586832460162739827248970951243047440330228206331631112497739878283020377893436493175592457922732266429291282308155450226625908735145243692396554905981224214276161473784801143286259695282125512040501344451566921615076695587270678352226833487853937549564212575401137028689407768946214072151854724602769103465475825754648083539620644496540756262476390723165771983841025405599650289140025146921553140992130744935601340339721606678745401623060593372384771360928037839290017553053687662881909325377632775454112253161089384150763856706709155478909949994753852927323817406887036600795067326371378788198824332878167341364967879877879238807231553439728369018467221599420820323413253492898108084906827199959825847516517138472194789248173159585268081314575918495931090240886524799021431864303823205292763974048397599206812537350644671886512896943549787393792013585758364951639015903806808257622062909142313231743480044638793538545919980650491431925030133693346821159087402194007666994942204762440475125178705040855041713359185302696287569744680604190515945891306060582731794814908843958353954702356548613096039147793243847008308977635561964476974997951064591650034486821018815827067440683467721305397279261255554886935728702038082522417061993386180239766246562722248573939589551463440216540148757382768091588138660292719477108563071144875031522670308447900691983255937682162468481877091121037630772727278138515616236001256623965847146632370258907566117444498723076761005067670267433967584124059982950527552684126829463945259162716865211890575671788315183102363107529308174560259235390303117426425526334200493809978331057159437911165295498631423603473319109300623522908911153779412709804961551139930617047949474361706760660471241914491395100667580257747629101647580790725836642955974210568542006096121792397082649454719102730385503190578335481925220951303611391214549703657189680455196346478377576648796225287534093375835944628560149537373180156497980646947482611425085448686655661776669311742295297814178013215311938924288491062998382097579430060278739035515872696978219934320562561595472608922323860525399884510982402005269156441982086483021029918558209724470491903799974743155409617616793047923689985178433315018756427849919071082417642288796404481615231515234452681159882921091503004550444101071092708811340514603382017663740887649084380236302609941981934458359114802326529287265867836586784975966554986634154342857441112067919515289522362798595615675285893464419458686422183504043133224290707533174576650932865938948401459027619947526422651202675898412812192885113849595817623488233557657324742800374393771493612612994490199832072720005221382391736290818088439567832190214526069759576939763059225294047689399842770969550271822493372060085246999178803887808375697715787460887952953376038287195940678828372114751832221735499728113180144886805780940960771191887792284320985144166141635393515416730908788312195300491807806540287070491481431962163136379543929660618181107758371359830272070710330540964244840736100126945150261956581967738136878967906151503477030589413476778396488056255128274618652814459320832933615142116047026707587220756919312766986953137529175073213247265939159691046998370580315251080657075929005601304731518695855137789275121205684896535005308306213389054064280969057885721542388986811077341891260041925887056878130127572583927539693499699113748046877120963906069001823409562788230808853853871882873439472647253434523002060852420272156695039139430549806321097367810917227205204247017367003229877344084778548555114682479336206900025536057463019980330999992904087435962707758338762003728511765178466640449320652612534210798892815867357916179819681928104828396478395978907986688587587211048028175297039898923093781251066820216389866502543454979385315466322731193630241277133766306683368683633769391462572687987584895042715635934566846009082053691659625628107925455524966171892172371347581776938133011946883355527792757280423901439843787718910514187571823733633970498290959128713803276395973214824695287254119656282385379882044684859740770770278952462807363972180867983716145726826403124279164669065683519737643851028582182178847409253790169102711752823675738101624258228757004430831589700933826769294222110208159503937943407859874680379804051887083961895061924782547582746137283942772401572559120470890618028176688321500424321999931090462064837742650236200746027254163561595334216630144019027040253177959675166099546895382119057589923150803302324507323848614026929585740973630842804613794984942817152682790916367496479469160062752291871555062959744198529261258320214197863335418932826502335611940388568414533543083903871787619265150316201237229731526540177347040557596914219634494593235084100440185902704961496894801815965828241488132952816404388213547139957096281106720657002724584983296567282421021887309645830545420849278973750640190607812610285157453521737441247551562739193013130693895523904297417282234702467824997650172419479439441255022332965189964811370036473464368552713455590919789499626730938265251068093725738139931895013962725859474556756480116280260627787935108686778592189332291505719726719077482505187732166430397583619665581803192980606593527468509467816727622815672436856982934841596850565981312553199365240177231983103452801762396781049408644396871558903699749565332207142811049048182624446587821028122603421082599612278424274067596446947245822830895127763586085330483630169076457504200909936850085672679490880916987771671515958792100086504441906166883057826386663807415827634696644519029381309240506884533527368051945982355761911196589505004453747172652632673455899462375061151550202616213923220708752452854045423726557808849891888030846969306960246896955191577509230349214673674304878671561397306240994072993825456945871524545215733592827655417488586747072957508855181351739836239516748037158449381239108123306523023110606298661963449674881082925925182603579867432015156377469556858305777174344856478521223612021292097541422140997855352914884173428175300104591711531080100684181580152409902546924543842486751409960437530742940467914808195608386244877173254708593769693062019878116577906713925284724212499272016326655687037805861084034663471955740078323831260597635073616757531455521508225492584632755110967542630950029824124804297778532120880397292269012808717272937581671062086187217594121399060707960164699001290114066485733674124975811987529304662145369009685503503483770721563379402675107892122876415605486214206297448754683781403239806537538455364899600384016511186109979196731136111559988652249109059056168727472084538886421222923955607805422086145083637022950060876062174197864672413969585040042931102016508335956544836945146914417495407775650762282977322790449733124545925755577597392025325814499788040984962636803160041576333869107365103345436520492842564340583591374847080571930935862552516625782779041355969495487938367307196905822099747825409940214053125418301400165599210384369057968532771267647066097632473841493894932527254594748261729799745997254470892900027688147535761266961443652943362375094153936457173896714510094804719288158533617491705759294008994214663249335906030635041546659193089468296514419227259898203401530859419267131796445278056911860935066219071490744507841265663013103787850917716560627115299079929392784960788169389639642636928919137356685242062618011173253577755634544111490406599834395070546417259533081499314590431851416924461990127281271831716927498057263894319433547964585821210845155248304759236791970527909858268437867701766293389873401707383634346559756025253932252491367163869671335498100759208907182013538637647569178546153448742518676269317521023308462569177659615016238936113642996885529852767731796138614878688638842877780137867406890031299172968241732920849371966149656357885139880539429124981550348376736331988147006833619266898444566345127300817815203823325335258988154621191945104250030742389547813660159656194923767664196606864222178844363071769368368051332677090360739802718679846255482242958502316724132148976527954515007040979214783062355493764535649115037845928939623351602345024659399232752828640899098978368318305161153868621362932589755079169515524194859219463128937037204633849923957302777896111420831376689781588431280682001562545944684869845462144566311444801767559873642961060540810239793307814518761549342671646542816266006066097107070994150316288492762067803411954940672444196431787463715182363071290327035570413863014490862467793099839149530542244185511165177100984132295035414214345728430304533344535972170008632601015556607038971535561038146080678328608760453083425801822859871275714687287735057053542264499796148571594799158704648753379500084277141293550850092011094711635292997436967868865175711531651647518159290643352667233333649648926456221241114096827107871797343213780128779424626958483650294271067196729599459844902074378884261766942765961425902735915994968572531670882730010179232026581161821255679002759927996396881828568178934203371266184748927995929935529166065651144042883205426223576722849223173708552471030120045454958133108049761866752950425306508083255745444094077396708013743695869188083820867087989922257563702595940288331310604285776541780891206284331844111544478052437113106567306185682556329303402347485306842321410319229649606213960287529270981594776517697581645318851161634013615745165303002115189841650200584894646408564600028832812771398470175725543150215114015083385318578905242077041272924633994886129002193901617997932469166420185666083819045857637754280339123065330727531986240701579735864898769409438508018271584414151994580289347627791452440963603750872119966523404402164290273891146273208604150209625096321468659763084371176582295517062029213352603820856321967740285831324115377873096938422943801596478711278539583051291482703607604973574795971443383774710178129839684343940716544139848529774938618129778370307203345983857906862066780948619052058237205096491353814186201205361597060108235374221173908568597094746739549929575176218957930814310402342632890385254935585821940193752679552756490650957707929400008365598214474622325357212557031747967574371427721526135451530741509834984000877174522511295728507414347463436669842067141556183762743281483028880614684181483869393435565550362253539790905425232780778860247217138623339458679188408981440531301340821946806217362029651284832408655249693793683078663556414395159427555908216135614601036772160846013889973480405770207076617409082209130469803994168387209313552085287204574121326297745521902972477657913264326501219356343703140964099005566463205148987763698001551518358228141146534818601565617239221202215110697745990275926925171461308476467934878783313823146037615438838153316170392407729347846257849584052689025530505557554270407141588987780015719460576462225421664264348856598198842048167326506864446682333015058927109431695409654111773557525995541840963039266995482184430053332043881133374420648999666815095987939951756853829016908265885464258828936922039397838987137521357047653008393032337984616861495024111547432256498996245786646195940531506443025421373699148943394581063023185087197580548541927328860240179449469555548457341386993452881617282147422194481962624951398362922935628190113335943738284467007594040083769591416265180040184831099272588015096346756233225443512220393549615127669149260890357183139828376869059398269317639586670043795102377483217840094408997606386160612537754873353981567540893891524141298339424182720190670067560101660006890911113947233690956576880956796770376572129718377599972466872517982854011504007970090711363035449668200782077412268170542643374988269395596434249299657517040409013942428831564713142359713775541378296918176420481310095305018292491084163876052504115234890593126027981070152098162743504734237555621393377920251666092924121457817605995270435334582208407286777508725732688204979642020518330078591104018307545686778726546026332418653637842865932962949422139835597916823951128085758587467425751461402893340635127401648082921571229190437465542482376915831976364682495941200481130723450655831377824131384028760021531164233126057564066720668816935150362097787501659787682241994093823418543865108733524022537623867306894360170361940708080939281615815630613459505684080444131301219353984341458659213432445219064723333320254641992887848049406913213242043860544343431878446959362076749067354496044972806638710917422983620123666166797134788154749882924283615715606207257626985048013164398740108742255285606259093935732216773405447864190132663649061238198633346080688961172666594791688063796992157029925466875843274978254068553339752974356133072789706911723100679966873552179606597781228422200481547817253906247123711010864951389995244913483413746260038812983784731140058749216584294352852399818244043595541973708196192305412561054485746601078794432026387841006510588697070449324445949368223634263235878114611884704719183409916189195968040982005537619400799647060837199503297292663729091960847285893075566193692434769353794568080814354392579057546988891763077136411444492095691281062526527397357855929667318473839194198806525962395410624018600296078296819765929708933686678039032788025777630782691199808501709379574265101190287439924075745704522635603284821497800515135072248519895210865584164659297105765069091217109667668986364958042966115495719236242952136586162120902451412111981183754741449665329828728343169218756100590258132869471729596009167888709951459450233709402569548343803905 79221136326288413549090453617582214988603149380032775393045753873679347103737428810698791647263113706575282689198477135930652137291317188670030006057926509831856472550143054466006425134587034426949120010210832597783143689081004098970652114673282224426184172485773967049733965817226715156969648131835381010189470025770375559444559659305270898952170617343578663720139463438305206193729450577009951868047317341521679722886752217921827822705466305632297648679105292595306982225729633137305184703173136534319068330149229142960259210328722455601450057473003629441834416962669954405564521304502500726298911194393554191501157954017925309977598836623748100506311537547090223313424323313673085311409323919977212070953990949404412305207140907616619412378270976434206887105501661848469182736298770557698748104969475842500166345456724876246803841548685455561851856586967869889986216391448174596518073583228454703935275996041071738034755239225816281721293011288588359444337681021846829274952700086230836341401062887321604178406708278357480439226036171803414304571700770050264769130291420603534822495795966981715612394351588510056912232508637273573895372779156159436797233748213294951636931736322625278881149941049169682180025310119656903852664689348405476728233436921288688205034751242856813863451202798101231235894933014025474654357904163264189792879110990531247061528782494741231885291482973616690359904394443018958369073484128300703937149692838128916254439952768266768999800895221352172804608885628145520829329108509888656265795056847497582709463200002373315731960683089450281141672128908771066872542843950397795050900482861371828770525181267955544208230938560999841196913163882946371552828126583680248944964520944418180558701521838650855170095150234372062727397690674991347946365752214498420657007149585319909260780872426315558079608099072865828174703417406185318728278145026184310672633645641700732291542811057990742838365066341014265183949971790930431087121056345347741501667746148234688653065189269356885872908647581204650438736957716528711548574555583977239301969823515430537595181395319473570033411789209713074292228145962019286962544117035974563318921268241513986555088394502711032433789248734183877010959345104750102614262227563661010217640141350231316347211768763385670337883433049195056061300162041862964241528184097908283230852906666992480893473206747006312106694438401261591124362380788902882710265313013071263115504159140550179707220633782158597940373880726872858838789886163551228708805088540541574505134133745949431125107024728689987177439066224173647204385151471810845156172459609697201263898819372465925856032821983943945509201296896112993390414319772317613998628115011584901662481020736975231857679558573639533120123760882987807897148264001476729480741158503008405824181375825684426593602078107066384305742314153383784825815001170364503279303283157714730965700730790958163526085614077255893030881612578737162635171062435305862363661501175783671862584712802832632731639923317926092501167046294294878922434436385815597766578254085927198853219424480746368612964091254086956730350365974846418411767133289280026522101904776721397535481072023153960396155426365282526318432948840966649466716318812335304612541684202901596339076117983534399558629308180937552570931412127563964839611720473046765641026358839977096301838517860717992220124429055320994261412222457829626748188314831526678529121257451724121669436757611557692716596947663821034873517375372433749628434475153359120061495211777091719559441963916844642691242108239222713715540944215042751815205832903182816602051553000809853471087600226541940973229542173962641860015572714026730877762563780111880467244618055586935195897209646109126685288690235443479134420307287200865787784854857681194140932834097813623138157320433948668365280904196167520730495552269155400544459597418276177569668057444229387270850059959177577695113400939572251098823419194625556857107173746511343007800181920881221537624681494893301655822089723344553388000429323171176866004751029713971505534118999127107434111180853160547174861752751626348577776330731649967976997705926985766161797485058129299093471507452375539795559192778297669346728398663209935467310249960415041458812552734910388740750185119204150326407565301155455130213015082150774995891695158121179129263515005175587602007309165752571455482494701985152058285071569163352124307190188600099648633956424637872070374433661282860434946347675030365936337518341250497939530670492049152682751595740299650777955876517336356201954238740449622894424782067167868473814849903355130288000808722848881716523423304369683278744797091680665929947282004599884742141903092455370441529688744167156179077360250483378518119247298849108528250294762208416407986167476148567175178874063800358086027457895630650648669396258429142206700367153305674783250866422661286263393363325796268275165731232739893184194968961403246730119774337399703422463459231675588482935858420765326421555448280339061724466310717136212252868177897932924653530049677696436162757662269366798190208071681769644893941942974134840361829280739998511129729526702298361645614792859833141153396637763978261364317262779683444024446799942602179506309308829708000706164362584967544123944262478613936873150629875606572943548220887109756073849240773353610522128256052318094523961849199416335892154957022886522856407858766221227733233769855803540797195843736795162918258589030898376105673396821691371141078048940078157513454368981977910858251016762020830161673450276912167612177864217402281884081697525964997122986657878537513893383684107209185434682030581611841138320769751165820198510744298727746999807978419121499753915601607922696176540527435469670341293526747506706526024530442810609168649651488186829417974713332892493843632020625662134700088384496204167242147258558309791277779399383749139370284867286168094886544821422737637802164641269558545701441664386153037171353886211403725205681597970913022628953115278573534601804694766770034985736868925734980630049997686944790517637071797350609058196799433236359876639015798606019522872255619522116052138570098167166266498733891031108802657143775059617458142604429165804720101056675638719316542457760009090061209984977397292885275149606401974049153909692505148219826918259844782109296960962668656427745596201014333963313980270250168486273994989481135537270723574107717244316660088927662936290431190977141636475102177302706274086655242143720376303626665531386214442689649201190586832460162739827248970951243047440330228206331631112497739878283020377893436493175592457922732266429291282308155450226625908735145243692396554905981224214276161473784801143286259695282125512040501344451566921615076695587270678352226833487853937549564212575401137028689407768946214072151854724602769103465475825754648083539620644496540756262476390723165771983841025405599650289140025146921553140992130744935601340339721606678745401623060593372384771360928037839290017553053687662881909325377632775454112253161089384150763856706709155478909949994753852927323817406887036600795067326371378788198824332878167341364967879877879238807231553439728369018467221599420820323413253492898108084906827199959825847516517138472194789248173159585268081314575918495931090240886524799021431864303823205292763974048397599206812537350644671886512896943549787393792013585758364951639015903806808257622062909142313231743480044638793538545919980650491431925030133693346821159087402194007666994942204762440475125178705040855041713359185302696287569744680604190515945891306060582731794814908843958353954702356548613096039147793243847008308977635561964476974997951064591650034486821018815827067440683467721305397279261255554886935728702038082522417061993386180239766246562722248573939589551463440216540148757382768091588138660292719477108563071144875031522670308447900691983255937682162468481877091121037630772727278138515616236001256623965847146632370258907566117444498723076761005067670267433967584124059982950527552684126829463945259162716865211890575671788315183102363107529308174560259235390303117426425526334200493809978331057159437911165295498631423603473319109300623522908911153779412709804961551139930617047949474361706760660471241914491395100667580257747629101647580790725836642955974210568542006096121792397082649454719102730385503190578335481925220951303611391214549703657189680455196346478377576648796225287534093375835944628560149537373180156497980646947482611425085448686655661776669311742295297814178013215311938924288491062998382097579430060278739035515872696978219934320562561595472608922323860525399884510982402005269156441982086483021029918558209724470491903799974743155409617616793047923689985178433315018756427849919071082417642288796404481615231515234452681159882921091503004550444101071092708811340514603382017663740887649084380236302609941981934458359114802326529287265867836586784975966554986634154342857441112067919515289522362798595615675285893464419458686422183504043133224290707533174576650932865938948401459027619947526422651202675898412812192885113849595817623488233557657324742800374393771493612612994490199832072720005221382391736290818088439567832190214526069759576939763059225294047689399842770969550271822493372060085246999178803887808375697715787460887952953376038287195940678828372114751832221735499728113180144886805780940960771191887792284320985144166141635393515416730908788312195300491807806540287070491481431962163136379543929660618181107758371359830272070710330540964244840736100126945150261956581967738136878967906151503477030589413476778396488056255128274618652814459320832933615142116047026707587220756919312766986953137529175073213247265939159691046998370580315251080657075929005601304731518695855137789275121205684896535005308306213389054064280969057885721542388986811077341891260041925887056878130127572583927539693499699113748046877120963906069001823409562788230808853853871882873439472647253434523002060852420272156695039139430549806321097367810917227205204247017367003229877344084778548555114682479336206900025536057463019980330999992904087435962707758338762003728511765178466640449320652612534210798892815867357916179819681928104828396478395978907986688587587211048028175297039898923093781251066820216389866502543454979385315466322731193630241277133766306683368683633769391462572687987584895042715635934566846009082053691659625628107925455524966171892172371347581776938133011946883355527792757280423901439843787718910514187571823733633970498290959128713803276395973214824695287254119656282385379882044684859740770770278952462807363972180867983716145726826403124279164669065683519737643851028582182178847409253790169102711752823675738101624258228757004430831589700933826769294222110208159503937943407859874680379804051887083961895061924782547582746137283942772401572559120470890618028176688321500424321999931090462064837742650236200746027254163561595334216630144019027040253177959675166099546895382119057589923150803302324507323848614026929585740973630842804613794984942817152682790916367496479469160062752291871555062959744198529261258320214197863335418932826502335611940388568414533543083903871787619265150316201237229731526540177347040557596914219634494593235084100440185902704961496894801815965828241488132952816404388213547139957096281106720657002724584983296567282421021887309645830545420849278973750640190607812610285157453521737441247551562739193013130693895523904297417282234702467824997650172419479439441255022332965189964811370036473464368552713455590919789499626730938265251068093725738139931895013962725859474556756480116280260627787935108686778592189332291505719726719077482505187732166430397583619665581803192980606593527468509467816727622815672436856982934841596850565981312553199365240177231983103452801762396781049408644396871558903699749565332207142811049048182624446587821028122603421082599612278424274067596446947245822830895127763586085330483630169076457504200909936850085672679490880916987771671515958792100086504441906166883057826386663807415827634696644519029381309240506884533527368051945982355761911196589505004453747172652632673455899462375061151550202616213923220708752452854045423726557808849891888030846969306960246896955191577509230349214673674304878671561397306240994072993825456945871524545215733592827655417488586747072957508855181351739836239516748037158449381239108123306523023110606298661963449674881082925925182603579867432015156377469556858305777174344856478521223612021292097541422140997855352914884173428175300104591711531080100684181580152409902546924543842486751409960437530742940467914808195608386244877173254708593769693062019878116577906713925284724212499272016326655687037805861084034663471955740078323831260597635073616757531455521508225492584632755110967542630950029824124804297778532120880397292269012808717272937581671062086187217594121399060707960164699001290114066485733674124975811987529304662145369009685503503483770721563379402675107892122876415605486214206297448754683781403239806537538455364899600384016511186109979196731136111559988652249109059056168727472084538886421222923955607805422086145083637022950060876062174197864672413969585040042931102016508335956544836945146914417495407775650762282977322790449733124545925755577597392025325814499788040984962636803160041576333869107365103345436520492842564340583591374847080571930935862552516625782779041355969495487938367307196905822099747825409940214053125418301400165599210384369057968532771267647066097632473841493894932527254594748261729799745997254470892900027688147535761266961443652943362375094153936457173896714510094804719288158533617491705759294008994214663249335906030635041546659193089468296514419227259898203401530859419267131796445278056911860935066219071490744507841265663013103787850917716560627115299079929392784960788169389639642636928919137356685242062618011173253577755634544111490406599834395070546417259533081499314590431851416924461990127281271831716927498057263894319433547964585821210845155248304759236791970527909858268437867701766293389873401707383634346559756025253932252491367163869671335498100759208907182013538637647569178546153448742518676269317521023308462569177659615016238936113642996885529852767731796138614878688638842877780137867406890031299172968241732920849371966149656357885139880539429124981550348376736331988147006833619266898444566345127300817815203823325335258988154621191945104250030742389547813660159656194923767664196606864222178844363071769368368051332677090360739802718679846255482242958502316724132148976527954515007040979214783062355493764535649115037845928939623351602345024659399232752828640899098978368318305161153868621362932589755079169515524194859219463128937037204633849923957302777896111420831376689781588431280682001562545944684869845462144566311444801767559873642961060540810239793307814518761549342671646542816266006066097107070994150316288492762067803411954940672444196431787463715182363071290327035570413863014490862467793099839149530542244185511165177100984132295035414214345728430304533344535972170008632601015556607038971535561038146080678328608760453083425801822859871275714687287735057053542264499796148571594799158704648753379500084277141293550850092011094711635292997436967868865175711531651647518159290643352667233333649648926456221241114096827107871797343213780128779424626958483650294271067196729599459844902074378884261766942765961425902735915994968572531670882730010179232026581161821255679002759927996396881828568178934203371266184748927995929935529166065651144042883205426223576722849223173708552471030120045454958133108049761866752950425306508083255745444094077396708013743695869188083820867087989922257563702595940288331310604285776541780891206284331844111544478052437113106567306185682556329303402347485306842321410319229649606213960287529270981594776517697581645318851161634013615745165303002115189841650200584894646408564600028832812771398470175725543150215114015083385318578905242077041272924633994886129002193901617997932469166420185666083819045857637754280339123065330727531986240701579735864898769409438508018271584414151994580289347627791452440963603750872119966523404402164290273891146273208604150209625096321468659763084371176582295517062029213352603820856321967740285831324115377873096938422943801596478711278539583051291482703607604973574795971443383774710178129839684343940716544139848529774938618129778370307203345983857906862066780948619052058237205096491353814186201205361597060108235374221173908568597094746739549929575176218957930814310402342632890385254935585821940193752679552756490650957707929400008365598214474622325357212557031747967574371427721526135451530741509834984000877174522511295728507414347463436669842067141556183762743281483028880614684181483869393435565550362253539790905425232780778860247217138623339458679188408981440531301340821946806217362029651284832408655249693793683078663556414395159427555908216135614601036772160846013889973480405770207076617409082209130469803994168387209313552085287204574121326297745521902972477657913264326501219356343703140964099005566463205148987763698001551518358228141146534818601565617239221202215110697745990275926925171461308476467934878783313823146037615438838153316170392407729347846257849584052689025530505557554270407141588987780015719460576462225421664264348856598198842048167326506864446682333015058927109431695409654111773557525995541840963039266995482184430053332043881133374420648999666815095987939951756853829016908265885464258828936922039397838987137521357047653008393032337984616861495024111547432256498996245786646195940531506443025421373699148943394581063023185087197580548541927328860240179449469555548457341386993452881617282147422194481962624951398362922935628190113335943738284467007594040083769591416265180040184831099272588015096346756233225443512220393549615127669149260890357183139828376869059398269317639586670043795102377483217840094408997606386160612537754873353981567540893891524141298339424182720190670067560101660006890911113947233690956576880956796770376572129718377599972466872517982854011504007970090711363035449668200782077412268170542643374988269395596434249299657517040409013942428831564713142359713775541378296918176420481310095305018292491084163876052504115234890593126027981070152098162743504734237555621393377920251666092924121457817605995270435334582208407286777508725732688204979642020518330078591104018307545686778726546026332418653637842865932962949422139835597916823951128085758587467425751461402893340635127401648082921571229190437465542482376915831976364682495941200481130723450655831377824131384028760021531164233126057564066720668816935150362097787501659787682241994093823418543865108733524022537623867306894360170361940708080939281615815630613459505684080444131301219353984341458659213432445219064723333320254641992887848049406913213242043860544343431878446959362076749067354496044972806638710917422983620123666166797134788154749882924283615715606207257626985048013164398740108742255285606259093935732216773405447864190132663649061238198633346080688961172666594791688063796992157029925466875843274978254068553339752974356133072789706911723100679966873552179606597781228422200481547817253906247123711010864951389995244913483413746260038812983784731140058749216584294352852399818244043595541973708196192305412561054485746601078794432026387841006510588697070449324445949368223634263235878114611884704719183409916189195968040982005537619400799647060837199503297292663729091960847285893075566193692434769353794568080814354392579057546988891763077136411444492095691281062526527397357855929667318473839194198806525962395410624018600296078296819765929708933686678039032788025777630782691199808501709379574265101190287439924075745704522635603284821497800515135072248519895210865584164659297105765069091217109667668986364958042966115495719236242952136586162120902451412111981183754741449665329828728343169218756100590258132869471729596009167888709951459450233709402569548343803905 79221136326288413549090453617582214988603149380032775393045753873679347103737428810698791647263113706575282689198477135930652137291317188670030006057926509831856472550143054466006425134587034426949120010210832597783143689081004098970652114673282224426184172485773967049733965817226715156969648131835381010189470025770375559444559659305270898952170617343578663720139463438305206193729450577009951868047317341521679722886752217921827822705466305632297648679105292595306982225729633137305184703173136534319068330149229142960259210328722455601450057473003629441834416962669954405564521304502500726298911194393554191501157954017925309977598836623748100506311537547090223313424323313673085311409323919977212070953990949404412305207140907616619412378270976434206887105501661848469182736298770557698748104969475842500166345456724876246803841548685455561851856586967869889986216391448174596518073583228454703935275996041071738034755239225816281721293011288588359444337681021846829274952700086230836341401062887321604178406708278357480439226036171803414304571700770050264769130291420603534822495795966981715612394351588510056912232508637273573895372779156159436797233748213294951636931736322625278881149941049169682180025310119656903852664689348405476728233436921288688205034751242856813863451202798101231235894933014025474654357904163264189792879110990531247061528782494741231885291482973616690359904394443018958369073484128300703937149692838128916254439952768266768999800895221352172804608885628145520829329108509888656265795056847497582709463200002373315731960683089450281141672128908771066872542843950397795050900482861371828770525181267955544208230938560999841196913163882946371552828126583680248944964520944418180558701521838650855170095150234372062727397690674991347946365752214498420657007149585319909260780872426315558079608099072865828174703417406185318728278145026184310672633645641700732291542811057990742838365066341014265183949971790930431087121056345347741501667746148234688653065189269356885872908647581204650438736957716528711548574555583977239301969823515430537595181395319473570033411789209713074292228145962019286962544117035974563318921268241513986555088394502711032433789248734183877010959345104750102614262227563661010217640141350231316347211768763385670337883433049195056061300162041862964241528184097908283230852906666992480893473206747006312106694438401261591124362380788902882710265313013071263115504159140550179707220633782158597940373880726872858838789886163551228708805088540541574505134133745949431125107024728689987177439066224173647204385151471810845156172459609697201263898819372465925856032821983943945509201296896112993390414319772317613998628115011584901662481020736975231857679558573639533120123760882987807897148264001476729480741158503008405824181375825684426593602078107066384305742314153383784825815001170364503279303283157714730965700730790958163526085614077255893030881612578737162635171062435305862363661501175783671862584712802832632731639923317926092501167046294294878922434436385815597766578254085927198853219424480746368612964091254086956730350365974846418411767133289280026522101904776721397535481072023153960396155426365282526318432948840966649466716318812335304612541684202901596339076117983534399558629308180937552570931412127563964839611720473046765641026358839977096301838517860717992220124429055320994261412222457829626748188314831526678529121257451724121669436757611557692716596947663821034873517375372433749628434475153359120061495211777091719559441963916844642691242108239222713715540944215042751815205832903182816602051553000809853471087600226541940973229542173962641860015572714026730877762563780111880467244618055586935195897209646109126685288690235443479134420307287200865787784854857681194140932834097813623138157320433948668365280904196167520730495552269155400544459597418276177569668057444229387270850059959177577695113400939572251098823419194625556857107173746511343007800181920881221537624681494893301655822089723344553388000429323171176866004751029713971505534118999127107434111180853160547174861752751626348577776330731649967976997705926985766161797485058129299093471507452375539795559192778297669346728398663209935467310249960415041458812552734910388740750185119204150326407565301155455130213015082150774995891695158121179129263515005175587602007309165752571455482494701985152058285071569163352124307190188600099648633956424637872070374433661282860434946347675030365936337518341250497939530670492049152682751595740299650777955876517336356201954238740449622894424782067167868473814849903355130288000808722848881716523423304369683278744797091680665929947282004599884742141903092455370441529688744167156179077360250483378518119247298849108528250294762208416407986167476148567175178874063800358086027457895630650648669396258429142206700367153305674783250866422661286263393363325796268275165731232739893184194968961403246730119774337399703422463459231675588482935858420765326421555448280339061724466310717136212252868177897932924653530049677696436162757662269366798190208071681769644893941942974134840361829280739998511129729526702298361645614792859833141153396637763978261364317262779683444024446799942602179506309308829708000706164362584967544123944262478613936873150629875606572943548220887109756073849240773353610522128256052318094523961849199416335892154957022886522856407858766221227733233769855803540797195843736795162918258589030898376105673396821691371141078048940078157513454368981977910858251016762020830161673450276912167612177864217402281884081697525964997122986657878537513893383684107209185434682030581611841138320769751165820198510744298727746999807978419121499753915601607922696176540527435469670341293526747506706526024530442810609168649651488186829417974713332892493843632020625662134700088384496204167242147258558309791277779399383749139370284867286168094886544821422737637802164641269558545701441664386153037171353886211403725205681597970913022628953115278573534601804694766770034985736868925734980630049997686944790517637071797350609058196799433236359876639015798606019522872255619522116052138570098167166266498733891031108802657143775059617458142604429165804720101056675638719316542457760009090061209984977397292885275149606401974049153909692505148219826918259844782109296960962668656427745596201014333963313980270250168486273994989481135537270723574107717244316660088927662936290431190977141636475102177302706274086655242143720376303626665531386214442689649201190586832460162739827248970951243047440330228206331631112497739878283020377893436493175592457922732266429291282308155450226625908735145243692396554905981224214276161473784801143286259695282125512040501344451566921615076695587270678352226833487853937549564212575401137028689407768946214072151854724602769103465475825754648083539620644496540756262476390723165771983841025405599650289140025146921553140992130744935601340339721606678745401623060593372384771360928037839290017553053687662881909325377632775454112253161089384150763856706709155478909949994753852927323817406887036600795067326371378788198824332878167341364967879877879238807231553439728369018467221599420820323413253492898108084906827199959825847516517138472194789248173159585268081314575918495931090240886524799021431864303823205292763974048397599206812537350644671886512896943549787393792013585758364951639015903806808257622062909142313231743480044638793538545919980650491431925030133693346821159087402194007666994942204762440475125178705040855041713359185302696287569744680604190515945891306060582731794814908843958353954702356548613096039147793243847008308977635561964476974997951064591650034486821018815827067440683467721305397279261255554886935728702038082522417061993386180239766246562722248573939589551463440216540148757382768091588138660292719477108563071144875031522670308447900691983255937682162468481877091121037630772727278138515616236001256623965847146632370258907566117444498723076761005067670267433967584124059982950527552684126829463945259162716865211890575671788315183102363107529308174560259235390303117426425526334200493809978331057159437911165295498631423603473319109300623522908911153779412709804961551139930617047949474361706760660471241914491395100667580257747629101647580790725836642955974210568542006096121792397082649454719102730385503190578335481925220951303611391214549703657189680455196346478377576648796225287534093375835944628560149537373180156497980646947482611425085448686655661776669311742295297814178013215311938924288491062998382097579430060278739035515872696978219934320562561595472608922323860525399884510982402005269156441982086483021029918558209724470491903799974743155409617616793047923689985178433315018756427849919071082417642288796404481615231515234452681159882921091503004550444101071092708811340514603382017663740887649084380236302609941981934458359114802326529287265867836586784975966554986634154342857441112067919515289522362798595615675285893464419458686422183504043133224290707533174576650932865938948401459027619947526422651202675898412812192885113849595817623488233557657324742800374393771493612612994490199832072720005221382391736290818088439567832190214526069759576939763059225294047689399842770969550271822493372060085246999178803887808375697715787460887952953376038287195940678828372114751832221735499728113180144886805780940960771191887792284320985144166141635393515416730908788312195300491807806540287070491481431962163136379543929660618181107758371359830272070710330540964244840736100126945150261956581967738136878967906151503477030589413476778396488056255128274618652814459320832933615142116047026707587220756919312766986953137529175073213247265939159691046998370580315251080657075929005601304731518695855137789275121205684896535005308306213389054064280969057885721542388986811077341891260041925887056878130127572583927539693499699113748046877120963906069001823409562788230808853853871882873439472647253434523002060852420272156695039139430549806321097367810917227205204247017367003229877344084778548555114682479336206900025536057463019980330999992904087435962707758338762003728511765178466640449320652612534210798892815867357916179819681928104828396478395978907986688587587211048028175297039898923093781251066820216389866502543454979385315466322731193630241277133766306683368683633769391462572687987584895042715635934566846009082053691659625628107925455524966171892172371347581776938133011946883355527792757280423901439843787718910514187571823733633970498290959128713803276395973214824695287254119656282385379882044684859740770770278952462807363972180867983716145726826403124279164669065683519737643851028582182178847409253790169102711752823675738101624258228757004430831589700933826769294222110208159503937943407859874680379804051887083961895061924782547582746137283942772401572559120470890618028176688321500424321999931090462064837742650236200746027254163561595334216630144019027040253177959675166099546895382119057589923150803302324507323848614026929585740973630842804613794984942817152682790916367496479469160062752291871555062959744198529261258320214197863335418932826502335611940388568414533543083903871787619265150316201237229731526540177347040557596914219634494593235084100440185902704961496894801815965828241488132952816404388213547139957096281106720657002724584983296567282421021887309645830545420849278973750640190607812610285157453521737441247551562739193013130693895523904297417282234702467824997650172419479439441255022332965189964811370036473464368552713455590919789499626730938265251068093725738139931895013962725859474556756480116280260627787935108686778592189332291505719726719077482505187732166430397583619665581803192980606593527468509467816727622815672436856982934841596850565981312553199365240177231983103452801762396781049408644396871558903699749565332207142811049048182624446587821028122603421082599612278424274067596446947245822830895127763586085330483630169076457504200909936850085672679490880916987771671515958792100086504441906166883057826386663807415827634696644519029381309240506884533527368051945982355761911196589505004453747172652632673455899462375061151550202616213923220708752452854045423726557808849891888030846969306960246896955191577509230349214673674304878671561397306240994072993825456945871524545215733592827655417488586747072957508855181351739836239516748037158449381239108123306523023110606298661963449674881082925925182603579867432015156377469556858305777174344856478521223612021292097541422140997855352914884173428175300104591711531080100684181580152409902546924543842486751409960437530742940467914808195608386244877173254708593769693062019878116577906713925284724212499272016326655687037805861084034663471955740078323831260597635073616757531455521508225492584632755110967542630950029824124804297778532120880397292269012808717272937581671062086187217594121399060707960164699001290114066485733674124975811987529304662145369009685503503483770721563379402675107892122876415605486214206297448754683781403239806537538455364899600384016511186109979196731136111559988652249109059056168727472084538886421222923955607805422086145083637022950060876062174197864672413969585040042931102016508335956544836945146914417495407775650762282977322790449733124545925755577597392025325814499788040984962636803160041576333869107365103345436520492842564340583591374847080571930935862552516625782779041355969495487938367307196905822099747825409940214053125418301400165599210384369057968532771267647066097632473841493894932527254594748261729799745997254470892900027688147535761266961443652943362375094153936457173896714510094804719288158533617491705759294008994214663249335906030635041546659193089468296514419227259898203401530859419267131796445278056911860935066219071490744507841265663013103787850917716560627115299079929392784960788169389639642636928919137356685242062618011173253577755634544111490406599834395070546417259533081499314590431851416924461990127281271831716927498057263894319433547964585821210845155248304759236791970527909858268437867701766293389873401707383634346559756025253932252491367163869671335498100759208907182013538637647569178546153448742518676269317521023308462569177659615016238936113642996885529852767731796138614878688638842877780137867406890031299172968241732920849371966149656357885139880539429124981550348376736331988147006833619266898444566345127300817815203823325335258988154621191945104250030742389547813660159656194923767664196606864222178844363071769368368051332677090360739802718679846255482242958502316724132148976527954515007040979214783062355493764535649115037845928939623351602345024659399232752828640899098978368318305161153868621362932589755079169515524194859219463128937037204633849923957302777896111420831376689781588431280682001562545944684869845462144566311444801767559873642961060540810239793307814518761549342671646542816266006066097107070994150316288492762067803411954940672444196431787463715182363071290327035570413863014490862467793099839149530542244185511165177100984132295035414214345728430304533344535972170008632601015556607038971535561038146080678328608760453083425801822859871275714687287735057053542264499796148571594799158704648753379500084277141293550850092011094711635292997436967868865175711531651647518159290643352667233333649648926456221241114096827107871797343213780128779424626958483650294271067196729599459844902074378884261766942765961425902735915994968572531670882730010179232026581161821255679002759927996396881828568178934203371266184748927995929935529166065651144042883205426223576722849223173708552471030120045454958133108049761866752950425306508083255745444094077396708013743695869188083820867087989922257563702595940288331310604285776541780891206284331844111544478052437113106567306185682556329303402347485306842321410319229649606213960287529270981594776517697581645318851161634013615745165303002115189841650200584894646408564600028832812771398470175725543150215114015083385318578905242077041272924633994886129002193901617997932469166420185666083819045857637754280339123065330727531986240701579735864898769409438508018271584414151994580289347627791452440963603750872119966523404402164290273891146273208604150209625096321468659763084371176582295517062029213352603820856321967740285831324115377873096938422943801596478711278539583051291482703607604973574795971443383774710178129839684343940716544139848529774938618129778370307203345983857906862066780948619052058237205096491353814186201205361597060108235374221173908568597094746739549929575176218957930814310402342632890385254935585821940193752679552756490650957707929400008365598214474622325357212557031747967574371427721526135451530741509834984000877174522511295728507414347463436669842067141556183762743281483028880614684181483869393435565550362253539790905425232780778860247217138623339458679188408981440531301340821946806217362029651284832408655249693793683078663556414395159427555908216135614601036772160846013889973480405770207076617409082209130469803994168387209313552085287204574121326297745521902972477657913264326501219356343703140964099005566463205148987763698001551518358228141146534818601565617239221202215110697745990275926925171461308476467934878783313823146037615438838153316170392407729347846257849584052689025530505557554270407141588987780015719460576462225421664264348856598198842048167326506864446682333015058927109431695409654111773557525995541840963039266995482184430053332043881133374420648999666815095987939951756853829016908265885464258828936922039397838987137521357047653008393032337984616861495024111547432256498996245786646195940531506443025421373699148943394581063023185087197580548541927328860240179449469555548457341386993452881617282147422194481962624951398362922935628190113335943738284467007594040083769591416265180040184831099272588015096346756233225443512220393549615127669149260890357183139828376869059398269317639586670043795102377483217840094408997606386160612537754873353981567540893891524141298339424182720190670067560101660006890911113947233690956576880956796770376572129718377599972466872517982854011504007970090711363035449668200782077412268170542643374988269395596434249299657517040409013942428831564713142359713775541378296918176420481310095305018292491084163876052504115234890593126027981070152098162743504734237555621393377920251666092924121457817605995270435334582208407286777508725732688204979642020518330078591104018307545686778726546026332418653637842865932962949422139835597916823951128085758587467425751461402893340635127401648082921571229190437465542482376915831976364682495941200481130723450655831377824131384028760021531164233126057564066720668816935150362097787501659787682241994093823418543865108733524022537623867306894360170361940708080939281615815630613459505684080444131301219353984341458659213432445219064723333320254641992887848049406913213242043860544343431878446959362076749067354496044972806638710917422983620123666166797134788154749882924283615715606207257626985048013164398740108742255285606259093935732216773405447864190132663649061238198633346080688961172666594791688063796992157029925466875843274978254068553339752974356133072789706911723100679966873552179606597781228422200481547817253906247123711010864951389995244913483413746260038812983784731140058749216584294352852399818244043595541973708196192305412561054485746601078794432026387841006510588697070449324445949368223634263235878114611884704719183409916189195968040982005537619400799647060837199503297292663729091960847285893075566193692434769353794568080814354392579057546988891763077136411444492095691281062526527397357855929667318473839194198806525962395410624018600296078296819765929708933686678039032788025777630782691199808501709379574265101190287439924075745704522635603284821497800515135072248519895210865584164659297105765069091217109667668986364958042966115495719236242952136586162120902451412111981183754741449665329828728343169218756100590258132869471729596009167888709951459450233709402569548343803905 | | 2 967290912507640626346487654605751146518633483263908299329953857936582718232404886060381607488426981812972642704247754627008295605822806701489972288144716644779919282183953822284816204264795465303555205685722067951764560332735494753286174370893958149079105407922733058 79221136326288413549090453617582214988603149380032775393045753873679347103737428810698791647263113706575282689198477135930652137291317188670030006057926509831856472550143054466006425134587034426949120010210832597783143689081004098970652114673282224426184172485773967049733965817226715156969648131835381010189470025770375559444559659305270898952170617343578663720139463438305206193729450577009951868047317341521679722886752217921827822705466305632297648679105292595306982225729633137305184703173136534319068330149229142960259210328722455601450057473003629441834416962669954405564521304502500726298911194393554191501157954017925309977598836623748100506311537547090223313424323313673085311409323919977212070953990949404412305207140907616619412378270976434206887105501661848469182736298770557698748104969475842500166345456724876246803841548685455561851856586967869889986216391448174596518073583228454703935275996041071738034755239225816281721293011288588359444337681021846829274952700086230836341401062887321604178406708278357480439226036171803414304571700770050264769130291420603534822495795966981715612394351588510056912232508637273573895372779156159436797233748213294951636931736322625278881149941049169682180025310119656903852664689348405476728233436921288688205034751242856813863451202798101231235894933014025474654357904163264189792879110990531247061528782494741231885291482973616690359904394443018958369073484128300703937149692838128916254439952768266768999800895221352172804608885628145520829329108509888656265795056847497582709463200002373315731960683089450281141672128908771066872542843950397795050900482861371828770525181267955544208230938560999841196913163882946371552828126583680248944964520944418180558701521838650855170095150234372062727397690674991347946365752214498420657007149585319909260780872426315558079608099072865828174703417406185318728278145026184310672633645641700732291542811057990742838365066341014265183949971790930431087121056345347741501667746148234688653065189269356885872908647581204650438736957716528711548574555583977239301969823515430537595181395319473570033411789209713074292228145962019286962544117035974563318921268241513986555088394502711032433789248734183877010959345104750102614262227563661010217640141350231316347211768763385670337883433049195056061300162041862964241528184097908283230852906666992480893473206747006312106694438401261591124362380788902882710265313013071263115504159140550179707220633782158597940373880726872858838789886163551228708805088540541574505134133745949431125107024728689987177439066224173647204385151471810845156172459609697201263898819372465925856032821983943945509201296896112993390414319772317613998628115011584901662481020736975231857679558573639533120123760882987807897148264001476729480741158503008405824181375825684426593602078107066384305742314153383784825815001170364503279303283157714730965700730790958163526085614077255893030881612578737162635171062435305862363661501175783671862584712802832632731639923317926092501167046294294878922434436385815597766578254085927198853219424480746368612964091254086956730350365974846418411767133289280026522101904776721397535481072023153960396155426365282526318432948840966649466716318812335304612541684202901596339076117983534399558629308180937552570931412127563964839611720473046765641026358839977096301838517860717992220124429055320994261412222457829626748188314831526678529121257451724121669436757611557692716596947663821034873517375372433749628434475153359120061495211777091719559441963916844642691242108239222713715540944215042751815205832903182816602051553000809853471087600226541940973229542173962641860015572714026730877762563780111880467244618055586935195897209646109126685288690235443479134420307287200865787784854857681194140932834097813623138157320433948668365280904196167520730495552269155400544459597418276177569668057444229387270850059959177577695113400939572251098823419194625556857107173746511343007800181920881221537624681494893301655822089723344553388000429323171176866004751029713971505534118999127107434111180853160547174861752751626348577776330731649967976997705926985766161797485058129299093471507452375539795559192778297669346728398663209935467310249960415041458812552734910388740750185119204150326407565301155455130213015082150774995891695158121179129263515005175587602007309165752571455482494701985152058285071569163352124307190188600099648633956424637872070374433661282860434946347675030365936337518341250497939530670492049152682751595740299650777955876517336356201954238740449622894424782067167868473814849903355130288000808722848881716523423304369683278744797091680665929947282004599884742141903092455370441529688744167156179077360250483378518119247298849108528250294762208416407986167476148567175178874063800358086027457895630650648669396258429142206700367153305674783250866422661286263393363325796268275165731232739893184194968961403246730119774337399703422463459231675588482935858420765326421555448280339061724466310717136212252868177897932924653530049677696436162757662269366798190208071681769644893941942974134840361829280739998511129729526702298361645614792859833141153396637763978261364317262779683444024446799942602179506309308829708000706164362584967544123944262478613936873150629875606572943548220887109756073849240773353610522128256052318094523961849199416335892154957022886522856407858766221227733233769855803540797195843736795162918258589030898376105673396821691371141078048940078157513454368981977910858251016762020830161673450276912167612177864217402281884081697525964997122986657878537513893383684107209185434682030581611841138320769751165820198510744298727746999807978419121499753915601607922696176540527435469670341293526747506706526024530442810609168649651488186829417974713332892493843632020625662134700088384496204167242147258558309791277779399383749139370284867286168094886544821422737637802164641269558545701441664386153037171353886211403725205681597970913022628953115278573534601804694766770034985736868925734980630049997686944790517637071797350609058196799433236359876639015798606019522872255619522116052138570098167166266498733891031108802657143775059617458142604429165804720101056675638719316542457760009090061209984977397292885275149606401974049153909692505148219826918259844782109296960962668656427745596201014333963313980270250168486273994989481135537270723574107717244316660088927662936290431190977141636475102177302706274086655242143720376303626665531386214442689649201190586832460162739827248970951243047440330228206331631112497739878283020377893436493175592457922732266429291282308155450226625908735145243692396554905981224214276161473784801143286259695282125512040501344451566921615076695587270678352226833487853937549564212575401137028689407768946214072151854724602769103465475825754648083539620644496540756262476390723165771983841025405599650289140025146921553140992130744935601340339721606678745401623060593372384771360928037839290017553053687662881909325377632775454112253161089384150763856706709155478909949994753852927323817406887036600795067326371378788198824332878167341364967879877879238807231553439728369018467221599420820323413253492898108084906827199959825847516517138472194789248173159585268081314575918495931090240886524799021431864303823205292763974048397599206812537350644671886512896943549787393792013585758364951639015903806808257622062909142313231743480044638793538545919980650491431925030133693346821159087402194007666994942204762440475125178705040855041713359185302696287569744680604190515945891306060582731794814908843958353954702356548613096039147793243847008308977635561964476974997951064591650034486821018815827067440683467721305397279261255554886935728702038082522417061993386180239766246562722248573939589551463440216540148757382768091588138660292719477108563071144875031522670308447900691983255937682162468481877091121037630772727278138515616236001256623965847146632370258907566117444498723076761005067670267433967584124059982950527552684126829463945259162716865211890575671788315183102363107529308174560259235390303117426425526334200493809978331057159437911165295498631423603473319109300623522908911153779412709804961551139930617047949474361706760660471241914491395100667580257747629101647580790725836642955974210568542006096121792397082649454719102730385503190578335481925220951303611391214549703657189680455196346478377576648796225287534093375835944628560149537373180156497980646947482611425085448686655661776669311742295297814178013215311938924288491062998382097579430060278739035515872696978219934320562561595472608922323860525399884510982402005269156441982086483021029918558209724470491903799974743155409617616793047923689985178433315018756427849919071082417642288796404481615231515234452681159882921091503004550444101071092708811340514603382017663740887649084380236302609941981934458359114802326529287265867836586784975966554986634154342857441112067919515289522362798595615675285893464419458686422183504043133224290707533174576650932865938948401459027619947526422651202675898412812192885113849595817623488233557657324742800374393771493612612994490199832072720005221382391736290818088439567832190214526069759576939763059225294047689399842770969550271822493372060085246999178803887808375697715787460887952953376038287195940678828372114751832221735499728113180144886805780940960771191887792284320985144166141635393515416730908788312195300491807806540287070491481431962163136379543929660618181107758371359830272070710330540964244840736100126945150261956581967738136878967906151503477030589413476778396488056255128274618652814459320832933615142116047026707587220756919312766986953137529175073213247265939159691046998370580315251080657075929005601304731518695855137789275121205684896535005308306213389054064280969057885721542388986811077341891260041925887056878130127572583927539693499699113748046877120963906069001823409562788230808853853871882873439472647253434523002060852420272156695039139430549806321097367810917227205204247017367003229877344084778548555114682479336206900025536057463019980330999992904087435962707758338762003728511765178466640449320652612534210798892815867357916179819681928104828396478395978907986688587587211048028175297039898923093781251066820216389866502543454979385315466322731193630241277133766306683368683633769391462572687987584895042715635934566846009082053691659625628107925455524966171892172371347581776938133011946883355527792757280423901439843787718910514187571823733633970498290959128713803276395973214824695287254119656282385379882044684859740770770278952462807363972180867983716145726826403124279164669065683519737643851028582182178847409253790169102711752823675738101624258228757004430831589700933826769294222110208159503937943407859874680379804051887083961895061924782547582746137283942772401572559120470890618028176688321500424321999931090462064837742650236200746027254163561595334216630144019027040253177959675166099546895382119057589923150803302324507323848614026929585740973630842804613794984942817152682790916367496479469160062752291871555062959744198529261258320214197863335418932826502335611940388568414533543083903871787619265150316201237229731526540177347040557596914219634494593235084100440185902704961496894801815965828241488132952816404388213547139957096281106720657002724584983296567282421021887309645830545420849278973750640190607812610285157453521737441247551562739193013130693895523904297417282234702467824997650172419479439441255022332965189964811370036473464368552713455590919789499626730938265251068093725738139931895013962725859474556756480116280260627787935108686778592189332291505719726719077482505187732166430397583619665581803192980606593527468509467816727622815672436856982934841596850565981312553199365240177231983103452801762396781049408644396871558903699749565332207142811049048182624446587821028122603421082599612278424274067596446947245822830895127763586085330483630169076457504200909936850085672679490880916987771671515958792100086504441906166883057826386663807415827634696644519029381309240506884533527368051945982355761911196589505004453747172652632673455899462375061151550202616213923220708752452854045423726557808849891888030846969306960246896955191577509230349214673674304878671561397306240994072993825456945871524545215733592827655417488586747072957508855181351739836239516748037158449381239108123306523023110606298661963449674881082925925182603579867432015156377469556858305777174344856478521223612021292097541422140997855352914884173428175300104591711531080100684181580152409902546924543842486751409960437530742940467914808195608386244877173254708593769693062019878116577906713925284724212499272016326655687037805861084034663471955740078323831260597635073616757531455521508225492584632755110967542630950029824124804297778532120880397292269012808717272937581671062086187217594121399060707960164699001290114066485733674124975811987529304662145369009685503503483770721563379402675107892122876415605486214206297448754683781403239806537538455364899600384016511186109979196731136111559988652249109059056168727472084538886421222923955607805422086145083637022950060876062174197864672413969585040042931102016508335956544836945146914417495407775650762282977322790449733124545925755577597392025325814499788040984962636803160041576333869107365103345436520492842564340583591374847080571930935862552516625782779041355969495487938367307196905822099747825409940214053125418301400165599210384369057968532771267647066097632473841493894932527254594748261729799745997254470892900027688147535761266961443652943362375094153936457173896714510094804719288158533617491705759294008994214663249335906030635041546659193089468296514419227259898203401530859419267131796445278056911860935066219071490744507841265663013103787850917716560627115299079929392784960788169389639642636928919137356685242062618011173253577755634544111490406599834395070546417259533081499314590431851416924461990127281271831716927498057263894319433547964585821210845155248304759236791970527909858268437867701766293389873401707383634346559756025253932252491367163869671335498100759208907182013538637647569178546153448742518676269317521023308462569177659615016238936113642996885529852767731796138614878688638842877780137867406890031299172968241732920849371966149656357885139880539429124981550348376736331988147006833619266898444566345127300817815203823325335258988154621191945104250030742389547813660159656194923767664196606864222178844363071769368368051332677090360739802718679846255482242958502316724132148976527954515007040979214783062355493764535649115037845928939623351602345024659399232752828640899098978368318305161153868621362932589755079169515524194859219463128937037204633849923957302777896111420831376689781588431280682001562545944684869845462144566311444801767559873642961060540810239793307814518761549342671646542816266006066097107070994150316288492762067803411954940672444196431787463715182363071290327035570413863014490862467793099839149530542244185511165177100984132295035414214345728430304533344535972170008632601015556607038971535561038146080678328608760453083425801822859871275714687287735057053542264499796148571594799158704648753379500084277141293550850092011094711635292997436967868865175711531651647518159290643352667233333649648926456221241114096827107871797343213780128779424626958483650294271067196729599459844902074378884261766942765961425902735915994968572531670882730010179232026581161821255679002759927996396881828568178934203371266184748927995929935529166065651144042883205426223576722849223173708552471030120045454958133108049761866752950425306508083255745444094077396708013743695869188083820867087989922257563702595940288331310604285776541780891206284331844111544478052437113106567306185682556329303402347485306842321410319229649606213960287529270981594776517697581645318851161634013615745165303002115189841650200584894646408564600028832812771398470175725543150215114015083385318578905242077041272924633994886129002193901617997932469166420185666083819045857637754280339123065330727531986240701579735864898769409438508018271584414151994580289347627791452440963603750872119966523404402164290273891146273208604150209625096321468659763084371176582295517062029213352603820856321967740285831324115377873096938422943801596478711278539583051291482703607604973574795971443383774710178129839684343940716544139848529774938618129778370307203345983857906862066780948619052058237205096491353814186201205361597060108235374221173908568597094746739549929575176218957930814310402342632890385254935585821940193752679552756490650957707929400008365598214474622325357212557031747967574371427721526135451530741509834984000877174522511295728507414347463436669842067141556183762743281483028880614684181483869393435565550362253539790905425232780778860247217138623339458679188408981440531301340821946806217362029651284832408655249693793683078663556414395159427555908216135614601036772160846013889973480405770207076617409082209130469803994168387209313552085287204574121326297745521902972477657913264326501219356343703140964099005566463205148987763698001551518358228141146534818601565617239221202215110697745990275926925171461308476467934878783313823146037615438838153316170392407729347846257849584052689025530505557554270407141588987780015719460576462225421664264348856598198842048167326506864446682333015058927109431695409654111773557525995541840963039266995482184430053332043881133374420648999666815095987939951756853829016908265885464258828936922039397838987137521357047653008393032337984616861495024111547432256498996245786646195940531506443025421373699148943394581063023185087197580548541927328860240179449469555548457341386993452881617282147422194481962624951398362922935628190113335943738284467007594040083769591416265180040184831099272588015096346756233225443512220393549615127669149260890357183139828376869059398269317639586670043795102377483217840094408997606386160612537754873353981567540893891524141298339424182720190670067560101660006890911113947233690956576880956796770376572129718377599972466872517982854011504007970090711363035449668200782077412268170542643374988269395596434249299657517040409013942428831564713142359713775541378296918176420481310095305018292491084163876052504115234890593126027981070152098162743504734237555621393377920251666092924121457817605995270435334582208407286777508725732688204979642020518330078591104018307545686778726546026332418653637842865932962949422139835597916823951128085758587467425751461402893340635127401648082921571229190437465542482376915831976364682495941200481130723450655831377824131384028760021531164233126057564066720668816935150362097787501659787682241994093823418543865108733524022537623867306894360170361940708080939281615815630613459505684080444131301219353984341458659213432445219064723333320254641992887848049406913213242043860544343431878446959362076749067354496044972806638710917422983620123666166797134788154749882924283615715606207257626985048013164398740108742255285606259093935732216773405447864190132663649061238198633346080688961172666594791688063796992157029925466875843274978254068553339752974356133072789706911723100679966873552179606597781228422200481547817253906247123711010864951389995244913483413746260038812983784731140058749216584294352852399818244043595541973708196192305412561054485746601078794432026387841006510588697070449324445949368223634263235878114611884704719183409916189195968040982005537619400799647060837199503297292663729091960847285893075566193692434769353794568080814354392579057546988891763077136411444492095691281062526527397357855929667318473839194198806525962395410624018600296078296819765929708933686678039032788025777630782691199808501709379574265101190287439924075745704522635603284821497800515135072248519895210865584164659297105765069091217109667668986364958042966115495719236242952136586162120902451412111981183754741449665329828728343169218756100590258132869471729596009167888709951459450233709402569599883411458 79221136326288413549090453617582214988603149380032775393045753873679347103737428810698791647263113706575282689198477135930652137291317188670030006057926509831856472550143054466006425134587034426949120010210832597783143689081004098970652114673282224426184172485773967049733965817226715156969648131835381010189470025770375559444559659305270898952170617343578663720139463438305206193729450577009951868047317341521679722886752217921827822705466305632297648679105292595306982225729633137305184703173136534319068330149229142960259210328722455601450057473003629441834416962669954405564521304502500726298911194393554191501157954017925309977598836623748100506311537547090223313424323313673085311409323919977212070953990949404412305207140907616619412378270976434206887105501661848469182736298770557698748104969475842500166345456724876246803841548685455561851856586967869889986216391448174596518073583228454703935275996041071738034755239225816281721293011288588359444337681021846829274952700086230836341401062887321604178406708278357480439226036171803414304571700770050264769130291420603534822495795966981715612394351588510056912232508637273573895372779156159436797233748213294951636931736322625278881149941049169682180025310119656903852664689348405476728233436921288688205034751242856813863451202798101231235894933014025474654357904163264189792879110990531247061528782494741231885291482973616690359904394443018958369073484128300703937149692838128916254439952768266768999800895221352172804608885628145520829329108509888656265795056847497582709463200002373315731960683089450281141672128908771066872542843950397795050900482861371828770525181267955544208230938560999841196913163882946371552828126583680248944964520944418180558701521838650855170095150234372062727397690674991347946365752214498420657007149585319909260780872426315558079608099072865828174703417406185318728278145026184310672633645641700732291542811057990742838365066341014265183949971790930431087121056345347741501667746148234688653065189269356885872908647581204650438736957716528711548574555583977239301969823515430537595181395319473570033411789209713074292228145962019286962544117035974563318921268241513986555088394502711032433789248734183877010959345104750102614262227563661010217640141350231316347211768763385670337883433049195056061300162041862964241528184097908283230852906666992480893473206747006312106694438401261591124362380788902882710265313013071263115504159140550179707220633782158597940373880726872858838789886163551228708805088540541574505134133745949431125107024728689987177439066224173647204385151471810845156172459609697201263898819372465925856032821983943945509201296896112993390414319772317613998628115011584901662481020736975231857679558573639533120123760882987807897148264001476729480741158503008405824181375825684426593602078107066384305742314153383784825815001170364503279303283157714730965700730790958163526085614077255893030881612578737162635171062435305862363661501175783671862584712802832632731639923317926092501167046294294878922434436385815597766578254085927198853219424480746368612964091254086956730350365974846418411767133289280026522101904776721397535481072023153960396155426365282526318432948840966649466716318812335304612541684202901596339076117983534399558629308180937552570931412127563964839611720473046765641026358839977096301838517860717992220124429055320994261412222457829626748188314831526678529121257451724121669436757611557692716596947663821034873517375372433749628434475153359120061495211777091719559441963916844642691242108239222713715540944215042751815205832903182816602051553000809853471087600226541940973229542173962641860015572714026730877762563780111880467244618055586935195897209646109126685288690235443479134420307287200865787784854857681194140932834097813623138157320433948668365280904196167520730495552269155400544459597418276177569668057444229387270850059959177577695113400939572251098823419194625556857107173746511343007800181920881221537624681494893301655822089723344553388000429323171176866004751029713971505534118999127107434111180853160547174861752751626348577776330731649967976997705926985766161797485058129299093471507452375539795559192778297669346728398663209935467310249960415041458812552734910388740750185119204150326407565301155455130213015082150774995891695158121179129263515005175587602007309165752571455482494701985152058285071569163352124307190188600099648633956424637872070374433661282860434946347675030365936337518341250497939530670492049152682751595740299650777955876517336356201954238740449622894424782067167868473814849903355130288000808722848881716523423304369683278744797091680665929947282004599884742141903092455370441529688744167156179077360250483378518119247298849108528250294762208416407986167476148567175178874063800358086027457895630650648669396258429142206700367153305674783250866422661286263393363325796268275165731232739893184194968961403246730119774337399703422463459231675588482935858420765326421555448280339061724466310717136212252868177897932924653530049677696436162757662269366798190208071681769644893941942974134840361829280739998511129729526702298361645614792859833141153396637763978261364317262779683444024446799942602179506309308829708000706164362584967544123944262478613936873150629875606572943548220887109756073849240773353610522128256052318094523961849199416335892154957022886522856407858766221227733233769855803540797195843736795162918258589030898376105673396821691371141078048940078157513454368981977910858251016762020830161673450276912167612177864217402281884081697525964997122986657878537513893383684107209185434682030581611841138320769751165820198510744298727746999807978419121499753915601607922696176540527435469670341293526747506706526024530442810609168649651488186829417974713332892493843632020625662134700088384496204167242147258558309791277779399383749139370284867286168094886544821422737637802164641269558545701441664386153037171353886211403725205681597970913022628953115278573534601804694766770034985736868925734980630049997686944790517637071797350609058196799433236359876639015798606019522872255619522116052138570098167166266498733891031108802657143775059617458142604429165804720101056675638719316542457760009090061209984977397292885275149606401974049153909692505148219826918259844782109296960962668656427745596201014333963313980270250168486273994989481135537270723574107717244316660088927662936290431190977141636475102177302706274086655242143720376303626665531386214442689649201190586832460162739827248970951243047440330228206331631112497739878283020377893436493175592457922732266429291282308155450226625908735145243692396554905981224214276161473784801143286259695282125512040501344451566921615076695587270678352226833487853937549564212575401137028689407768946214072151854724602769103465475825754648083539620644496540756262476390723165771983841025405599650289140025146921553140992130744935601340339721606678745401623060593372384771360928037839290017553053687662881909325377632775454112253161089384150763856706709155478909949994753852927323817406887036600795067326371378788198824332878167341364967879877879238807231553439728369018467221599420820323413253492898108084906827199959825847516517138472194789248173159585268081314575918495931090240886524799021431864303823205292763974048397599206812537350644671886512896943549787393792013585758364951639015903806808257622062909142313231743480044638793538545919980650491431925030133693346821159087402194007666994942204762440475125178705040855041713359185302696287569744680604190515945891306060582731794814908843958353954702356548613096039147793243847008308977635561964476974997951064591650034486821018815827067440683467721305397279261255554886935728702038082522417061993386180239766246562722248573939589551463440216540148757382768091588138660292719477108563071144875031522670308447900691983255937682162468481877091121037630772727278138515616236001256623965847146632370258907566117444498723076761005067670267433967584124059982950527552684126829463945259162716865211890575671788315183102363107529308174560259235390303117426425526334200493809978331057159437911165295498631423603473319109300623522908911153779412709804961551139930617047949474361706760660471241914491395100667580257747629101647580790725836642955974210568542006096121792397082649454719102730385503190578335481925220951303611391214549703657189680455196346478377576648796225287534093375835944628560149537373180156497980646947482611425085448686655661776669311742295297814178013215311938924288491062998382097579430060278739035515872696978219934320562561595472608922323860525399884510982402005269156441982086483021029918558209724470491903799974743155409617616793047923689985178433315018756427849919071082417642288796404481615231515234452681159882921091503004550444101071092708811340514603382017663740887649084380236302609941981934458359114802326529287265867836586784975966554986634154342857441112067919515289522362798595615675285893464419458686422183504043133224290707533174576650932865938948401459027619947526422651202675898412812192885113849595817623488233557657324742800374393771493612612994490199832072720005221382391736290818088439567832190214526069759576939763059225294047689399842770969550271822493372060085246999178803887808375697715787460887952953376038287195940678828372114751832221735499728113180144886805780940960771191887792284320985144166141635393515416730908788312195300491807806540287070491481431962163136379543929660618181107758371359830272070710330540964244840736100126945150261956581967738136878967906151503477030589413476778396488056255128274618652814459320832933615142116047026707587220756919312766986953137529175073213247265939159691046998370580315251080657075929005601304731518695855137789275121205684896535005308306213389054064280969057885721542388986811077341891260041925887056878130127572583927539693499699113748046877120963906069001823409562788230808853853871882873439472647253434523002060852420272156695039139430549806321097367810917227205204247017367003229877344084778548555114682479336206900025536057463019980330999992904087435962707758338762003728511765178466640449320652612534210798892815867357916179819681928104828396478395978907986688587587211048028175297039898923093781251066820216389866502543454979385315466322731193630241277133766306683368683633769391462572687987584895042715635934566846009082053691659625628107925455524966171892172371347581776938133011946883355527792757280423901439843787718910514187571823733633970498290959128713803276395973214824695287254119656282385379882044684859740770770278952462807363972180867983716145726826403124279164669065683519737643851028582182178847409253790169102711752823675738101624258228757004430831589700933826769294222110208159503937943407859874680379804051887083961895061924782547582746137283942772401572559120470890618028176688321500424321999931090462064837742650236200746027254163561595334216630144019027040253177959675166099546895382119057589923150803302324507323848614026929585740973630842804613794984942817152682790916367496479469160062752291871555062959744198529261258320214197863335418932826502335611940388568414533543083903871787619265150316201237229731526540177347040557596914219634494593235084100440185902704961496894801815965828241488132952816404388213547139957096281106720657002724584983296567282421021887309645830545420849278973750640190607812610285157453521737441247551562739193013130693895523904297417282234702467824997650172419479439441255022332965189964811370036473464368552713455590919789499626730938265251068093725738139931895013962725859474556756480116280260627787935108686778592189332291505719726719077482505187732166430397583619665581803192980606593527468509467816727622815672436856982934841596850565981312553199365240177231983103452801762396781049408644396871558903699749565332207142811049048182624446587821028122603421082599612278424274067596446947245822830895127763586085330483630169076457504200909936850085672679490880916987771671515958792100086504441906166883057826386663807415827634696644519029381309240506884533527368051945982355761911196589505004453747172652632673455899462375061151550202616213923220708752452854045423726557808849891888030846969306960246896955191577509230349214673674304878671561397306240994072993825456945871524545215733592827655417488586747072957508855181351739836239516748037158449381239108123306523023110606298661963449674881082925925182603579867432015156377469556858305777174344856478521223612021292097541422140997855352914884173428175300104591711531080100684181580152409902546924543842486751409960437530742940467914808195608386244877173254708593769693062019878116577906713925284724212499272016326655687037805861084034663471955740078323831260597635073616757531455521508225492584632755110967542630950029824124804297778532120880397292269012808717272937581671062086187217594121399060707960164699001290114066485733674124975811987529304662145369009685503503483770721563379402675107892122876415605486214206297448754683781403239806537538455364899600384016511186109979196731136111559988652249109059056168727472084538886421222923955607805422086145083637022950060876062174197864672413969585040042931102016508335956544836945146914417495407775650762282977322790449733124545925755577597392025325814499788040984962636803160041576333869107365103345436520492842564340583591374847080571930935862552516625782779041355969495487938367307196905822099747825409940214053125418301400165599210384369057968532771267647066097632473841493894932527254594748261729799745997254470892900027688147535761266961443652943362375094153936457173896714510094804719288158533617491705759294008994214663249335906030635041546659193089468296514419227259898203401530859419267131796445278056911860935066219071490744507841265663013103787850917716560627115299079929392784960788169389639642636928919137356685242062618011173253577755634544111490406599834395070546417259533081499314590431851416924461990127281271831716927498057263894319433547964585821210845155248304759236791970527909858268437867701766293389873401707383634346559756025253932252491367163869671335498100759208907182013538637647569178546153448742518676269317521023308462569177659615016238936113642996885529852767731796138614878688638842877780137867406890031299172968241732920849371966149656357885139880539429124981550348376736331988147006833619266898444566345127300817815203823325335258988154621191945104250030742389547813660159656194923767664196606864222178844363071769368368051332677090360739802718679846255482242958502316724132148976527954515007040979214783062355493764535649115037845928939623351602345024659399232752828640899098978368318305161153868621362932589755079169515524194859219463128937037204633849923957302777896111420831376689781588431280682001562545944684869845462144566311444801767559873642961060540810239793307814518761549342671646542816266006066097107070994150316288492762067803411954940672444196431787463715182363071290327035570413863014490862467793099839149530542244185511165177100984132295035414214345728430304533344535972170008632601015556607038971535561038146080678328608760453083425801822859871275714687287735057053542264499796148571594799158704648753379500084277141293550850092011094711635292997436967868865175711531651647518159290643352667233333649648926456221241114096827107871797343213780128779424626958483650294271067196729599459844902074378884261766942765961425902735915994968572531670882730010179232026581161821255679002759927996396881828568178934203371266184748927995929935529166065651144042883205426223576722849223173708552471030120045454958133108049761866752950425306508083255745444094077396708013743695869188083820867087989922257563702595940288331310604285776541780891206284331844111544478052437113106567306185682556329303402347485306842321410319229649606213960287529270981594776517697581645318851161634013615745165303002115189841650200584894646408564600028832812771398470175725543150215114015083385318578905242077041272924633994886129002193901617997932469166420185666083819045857637754280339123065330727531986240701579735864898769409438508018271584414151994580289347627791452440963603750872119966523404402164290273891146273208604150209625096321468659763084371176582295517062029213352603820856321967740285831324115377873096938422943801596478711278539583051291482703607604973574795971443383774710178129839684343940716544139848529774938618129778370307203345983857906862066780948619052058237205096491353814186201205361597060108235374221173908568597094746739549929575176218957930814310402342632890385254935585821940193752679552756490650957707929400008365598214474622325357212557031747967574371427721526135451530741509834984000877174522511295728507414347463436669842067141556183762743281483028880614684181483869393435565550362253539790905425232780778860247217138623339458679188408981440531301340821946806217362029651284832408655249693793683078663556414395159427555908216135614601036772160846013889973480405770207076617409082209130469803994168387209313552085287204574121326297745521902972477657913264326501219356343703140964099005566463205148987763698001551518358228141146534818601565617239221202215110697745990275926925171461308476467934878783313823146037615438838153316170392407729347846257849584052689025530505557554270407141588987780015719460576462225421664264348856598198842048167326506864446682333015058927109431695409654111773557525995541840963039266995482184430053332043881133374420648999666815095987939951756853829016908265885464258828936922039397838987137521357047653008393032337984616861495024111547432256498996245786646195940531506443025421373699148943394581063023185087197580548541927328860240179449469555548457341386993452881617282147422194481962624951398362922935628190113335943738284467007594040083769591416265180040184831099272588015096346756233225443512220393549615127669149260890357183139828376869059398269317639586670043795102377483217840094408997606386160612537754873353981567540893891524141298339424182720190670067560101660006890911113947233690956576880956796770376572129718377599972466872517982854011504007970090711363035449668200782077412268170542643374988269395596434249299657517040409013942428831564713142359713775541378296918176420481310095305018292491084163876052504115234890593126027981070152098162743504734237555621393377920251666092924121457817605995270435334582208407286777508725732688204979642020518330078591104018307545686778726546026332418653637842865932962949422139835597916823951128085758587467425751461402893340635127401648082921571229190437465542482376915831976364682495941200481130723450655831377824131384028760021531164233126057564066720668816935150362097787501659787682241994093823418543865108733524022537623867306894360170361940708080939281615815630613459505684080444131301219353984341458659213432445219064723333320254641992887848049406913213242043860544343431878446959362076749067354496044972806638710917422983620123666166797134788154749882924283615715606207257626985048013164398740108742255285606259093935732216773405447864190132663649061238198633346080688961172666594791688063796992157029925466875843274978254068553339752974356133072789706911723100679966873552179606597781228422200481547817253906247123711010864951389995244913483413746260038812983784731140058749216584294352852399818244043595541973708196192305412561054485746601078794432026387841006510588697070449324445949368223634263235878114611884704719183409916189195968040982005537619400799647060837199503297292663729091960847285893075566193692434769353794568080814354392579057546988891763077136411444492095691281062526527397357855929667318473839194198806525962395410624018600296078296819765929708933686678039032788025777630782691199808501709379574265101190287439924075745704522635603284821497800515135072248519895210865584164659297105765069091217109667668986364958042966115495719236242952136586162120902451412111981183754741449665329828728343169218756100590258132869471729596009167888709951459450233709402569599883411458 79221136326288413549090453617582214988603149380032775393045753873679347103737428810698791647263113706575282689198477135930652137291317188670030006057926509831856472550143054466006425134587034426949120010210832597783143689081004098970652114673282224426184172485773967049733965817226715156969648131835381010189470025770375559444559659305270898952170617343578663720139463438305206193729450577009951868047317341521679722886752217921827822705466305632297648679105292595306982225729633137305184703173136534319068330149229142960259210328722455601450057473003629441834416962669954405564521304502500726298911194393554191501157954017925309977598836623748100506311537547090223313424323313673085311409323919977212070953990949404412305207140907616619412378270976434206887105501661848469182736298770557698748104969475842500166345456724876246803841548685455561851856586967869889986216391448174596518073583228454703935275996041071738034755239225816281721293011288588359444337681021846829274952700086230836341401062887321604178406708278357480439226036171803414304571700770050264769130291420603534822495795966981715612394351588510056912232508637273573895372779156159436797233748213294951636931736322625278881149941049169682180025310119656903852664689348405476728233436921288688205034751242856813863451202798101231235894933014025474654357904163264189792879110990531247061528782494741231885291482973616690359904394443018958369073484128300703937149692838128916254439952768266768999800895221352172804608885628145520829329108509888656265795056847497582709463200002373315731960683089450281141672128908771066872542843950397795050900482861371828770525181267955544208230938560999841196913163882946371552828126583680248944964520944418180558701521838650855170095150234372062727397690674991347946365752214498420657007149585319909260780872426315558079608099072865828174703417406185318728278145026184310672633645641700732291542811057990742838365066341014265183949971790930431087121056345347741501667746148234688653065189269356885872908647581204650438736957716528711548574555583977239301969823515430537595181395319473570033411789209713074292228145962019286962544117035974563318921268241513986555088394502711032433789248734183877010959345104750102614262227563661010217640141350231316347211768763385670337883433049195056061300162041862964241528184097908283230852906666992480893473206747006312106694438401261591124362380788902882710265313013071263115504159140550179707220633782158597940373880726872858838789886163551228708805088540541574505134133745949431125107024728689987177439066224173647204385151471810845156172459609697201263898819372465925856032821983943945509201296896112993390414319772317613998628115011584901662481020736975231857679558573639533120123760882987807897148264001476729480741158503008405824181375825684426593602078107066384305742314153383784825815001170364503279303283157714730965700730790958163526085614077255893030881612578737162635171062435305862363661501175783671862584712802832632731639923317926092501167046294294878922434436385815597766578254085927198853219424480746368612964091254086956730350365974846418411767133289280026522101904776721397535481072023153960396155426365282526318432948840966649466716318812335304612541684202901596339076117983534399558629308180937552570931412127563964839611720473046765641026358839977096301838517860717992220124429055320994261412222457829626748188314831526678529121257451724121669436757611557692716596947663821034873517375372433749628434475153359120061495211777091719559441963916844642691242108239222713715540944215042751815205832903182816602051553000809853471087600226541940973229542173962641860015572714026730877762563780111880467244618055586935195897209646109126685288690235443479134420307287200865787784854857681194140932834097813623138157320433948668365280904196167520730495552269155400544459597418276177569668057444229387270850059959177577695113400939572251098823419194625556857107173746511343007800181920881221537624681494893301655822089723344553388000429323171176866004751029713971505534118999127107434111180853160547174861752751626348577776330731649967976997705926985766161797485058129299093471507452375539795559192778297669346728398663209935467310249960415041458812552734910388740750185119204150326407565301155455130213015082150774995891695158121179129263515005175587602007309165752571455482494701985152058285071569163352124307190188600099648633956424637872070374433661282860434946347675030365936337518341250497939530670492049152682751595740299650777955876517336356201954238740449622894424782067167868473814849903355130288000808722848881716523423304369683278744797091680665929947282004599884742141903092455370441529688744167156179077360250483378518119247298849108528250294762208416407986167476148567175178874063800358086027457895630650648669396258429142206700367153305674783250866422661286263393363325796268275165731232739893184194968961403246730119774337399703422463459231675588482935858420765326421555448280339061724466310717136212252868177897932924653530049677696436162757662269366798190208071681769644893941942974134840361829280739998511129729526702298361645614792859833141153396637763978261364317262779683444024446799942602179506309308829708000706164362584967544123944262478613936873150629875606572943548220887109756073849240773353610522128256052318094523961849199416335892154957022886522856407858766221227733233769855803540797195843736795162918258589030898376105673396821691371141078048940078157513454368981977910858251016762020830161673450276912167612177864217402281884081697525964997122986657878537513893383684107209185434682030581611841138320769751165820198510744298727746999807978419121499753915601607922696176540527435469670341293526747506706526024530442810609168649651488186829417974713332892493843632020625662134700088384496204167242147258558309791277779399383749139370284867286168094886544821422737637802164641269558545701441664386153037171353886211403725205681597970913022628953115278573534601804694766770034985736868925734980630049997686944790517637071797350609058196799433236359876639015798606019522872255619522116052138570098167166266498733891031108802657143775059617458142604429165804720101056675638719316542457760009090061209984977397292885275149606401974049153909692505148219826918259844782109296960962668656427745596201014333963313980270250168486273994989481135537270723574107717244316660088927662936290431190977141636475102177302706274086655242143720376303626665531386214442689649201190586832460162739827248970951243047440330228206331631112497739878283020377893436493175592457922732266429291282308155450226625908735145243692396554905981224214276161473784801143286259695282125512040501344451566921615076695587270678352226833487853937549564212575401137028689407768946214072151854724602769103465475825754648083539620644496540756262476390723165771983841025405599650289140025146921553140992130744935601340339721606678745401623060593372384771360928037839290017553053687662881909325377632775454112253161089384150763856706709155478909949994753852927323817406887036600795067326371378788198824332878167341364967879877879238807231553439728369018467221599420820323413253492898108084906827199959825847516517138472194789248173159585268081314575918495931090240886524799021431864303823205292763974048397599206812537350644671886512896943549787393792013585758364951639015903806808257622062909142313231743480044638793538545919980650491431925030133693346821159087402194007666994942204762440475125178705040855041713359185302696287569744680604190515945891306060582731794814908843958353954702356548613096039147793243847008308977635561964476974997951064591650034486821018815827067440683467721305397279261255554886935728702038082522417061993386180239766246562722248573939589551463440216540148757382768091588138660292719477108563071144875031522670308447900691983255937682162468481877091121037630772727278138515616236001256623965847146632370258907566117444498723076761005067670267433967584124059982950527552684126829463945259162716865211890575671788315183102363107529308174560259235390303117426425526334200493809978331057159437911165295498631423603473319109300623522908911153779412709804961551139930617047949474361706760660471241914491395100667580257747629101647580790725836642955974210568542006096121792397082649454719102730385503190578335481925220951303611391214549703657189680455196346478377576648796225287534093375835944628560149537373180156497980646947482611425085448686655661776669311742295297814178013215311938924288491062998382097579430060278739035515872696978219934320562561595472608922323860525399884510982402005269156441982086483021029918558209724470491903799974743155409617616793047923689985178433315018756427849919071082417642288796404481615231515234452681159882921091503004550444101071092708811340514603382017663740887649084380236302609941981934458359114802326529287265867836586784975966554986634154342857441112067919515289522362798595615675285893464419458686422183504043133224290707533174576650932865938948401459027619947526422651202675898412812192885113849595817623488233557657324742800374393771493612612994490199832072720005221382391736290818088439567832190214526069759576939763059225294047689399842770969550271822493372060085246999178803887808375697715787460887952953376038287195940678828372114751832221735499728113180144886805780940960771191887792284320985144166141635393515416730908788312195300491807806540287070491481431962163136379543929660618181107758371359830272070710330540964244840736100126945150261956581967738136878967906151503477030589413476778396488056255128274618652814459320832933615142116047026707587220756919312766986953137529175073213247265939159691046998370580315251080657075929005601304731518695855137789275121205684896535005308306213389054064280969057885721542388986811077341891260041925887056878130127572583927539693499699113748046877120963906069001823409562788230808853853871882873439472647253434523002060852420272156695039139430549806321097367810917227205204247017367003229877344084778548555114682479336206900025536057463019980330999992904087435962707758338762003728511765178466640449320652612534210798892815867357916179819681928104828396478395978907986688587587211048028175297039898923093781251066820216389866502543454979385315466322731193630241277133766306683368683633769391462572687987584895042715635934566846009082053691659625628107925455524966171892172371347581776938133011946883355527792757280423901439843787718910514187571823733633970498290959128713803276395973214824695287254119656282385379882044684859740770770278952462807363972180867983716145726826403124279164669065683519737643851028582182178847409253790169102711752823675738101624258228757004430831589700933826769294222110208159503937943407859874680379804051887083961895061924782547582746137283942772401572559120470890618028176688321500424321999931090462064837742650236200746027254163561595334216630144019027040253177959675166099546895382119057589923150803302324507323848614026929585740973630842804613794984942817152682790916367496479469160062752291871555062959744198529261258320214197863335418932826502335611940388568414533543083903871787619265150316201237229731526540177347040557596914219634494593235084100440185902704961496894801815965828241488132952816404388213547139957096281106720657002724584983296567282421021887309645830545420849278973750640190607812610285157453521737441247551562739193013130693895523904297417282234702467824997650172419479439441255022332965189964811370036473464368552713455590919789499626730938265251068093725738139931895013962725859474556756480116280260627787935108686778592189332291505719726719077482505187732166430397583619665581803192980606593527468509467816727622815672436856982934841596850565981312553199365240177231983103452801762396781049408644396871558903699749565332207142811049048182624446587821028122603421082599612278424274067596446947245822830895127763586085330483630169076457504200909936850085672679490880916987771671515958792100086504441906166883057826386663807415827634696644519029381309240506884533527368051945982355761911196589505004453747172652632673455899462375061151550202616213923220708752452854045423726557808849891888030846969306960246896955191577509230349214673674304878671561397306240994072993825456945871524545215733592827655417488586747072957508855181351739836239516748037158449381239108123306523023110606298661963449674881082925925182603579867432015156377469556858305777174344856478521223612021292097541422140997855352914884173428175300104591711531080100684181580152409902546924543842486751409960437530742940467914808195608386244877173254708593769693062019878116577906713925284724212499272016326655687037805861084034663471955740078323831260597635073616757531455521508225492584632755110967542630950029824124804297778532120880397292269012808717272937581671062086187217594121399060707960164699001290114066485733674124975811987529304662145369009685503503483770721563379402675107892122876415605486214206297448754683781403239806537538455364899600384016511186109979196731136111559988652249109059056168727472084538886421222923955607805422086145083637022950060876062174197864672413969585040042931102016508335956544836945146914417495407775650762282977322790449733124545925755577597392025325814499788040984962636803160041576333869107365103345436520492842564340583591374847080571930935862552516625782779041355969495487938367307196905822099747825409940214053125418301400165599210384369057968532771267647066097632473841493894932527254594748261729799745997254470892900027688147535761266961443652943362375094153936457173896714510094804719288158533617491705759294008994214663249335906030635041546659193089468296514419227259898203401530859419267131796445278056911860935066219071490744507841265663013103787850917716560627115299079929392784960788169389639642636928919137356685242062618011173253577755634544111490406599834395070546417259533081499314590431851416924461990127281271831716927498057263894319433547964585821210845155248304759236791970527909858268437867701766293389873401707383634346559756025253932252491367163869671335498100759208907182013538637647569178546153448742518676269317521023308462569177659615016238936113642996885529852767731796138614878688638842877780137867406890031299172968241732920849371966149656357885139880539429124981550348376736331988147006833619266898444566345127300817815203823325335258988154621191945104250030742389547813660159656194923767664196606864222178844363071769368368051332677090360739802718679846255482242958502316724132148976527954515007040979214783062355493764535649115037845928939623351602345024659399232752828640899098978368318305161153868621362932589755079169515524194859219463128937037204633849923957302777896111420831376689781588431280682001562545944684869845462144566311444801767559873642961060540810239793307814518761549342671646542816266006066097107070994150316288492762067803411954940672444196431787463715182363071290327035570413863014490862467793099839149530542244185511165177100984132295035414214345728430304533344535972170008632601015556607038971535561038146080678328608760453083425801822859871275714687287735057053542264499796148571594799158704648753379500084277141293550850092011094711635292997436967868865175711531651647518159290643352667233333649648926456221241114096827107871797343213780128779424626958483650294271067196729599459844902074378884261766942765961425902735915994968572531670882730010179232026581161821255679002759927996396881828568178934203371266184748927995929935529166065651144042883205426223576722849223173708552471030120045454958133108049761866752950425306508083255745444094077396708013743695869188083820867087989922257563702595940288331310604285776541780891206284331844111544478052437113106567306185682556329303402347485306842321410319229649606213960287529270981594776517697581645318851161634013615745165303002115189841650200584894646408564600028832812771398470175725543150215114015083385318578905242077041272924633994886129002193901617997932469166420185666083819045857637754280339123065330727531986240701579735864898769409438508018271584414151994580289347627791452440963603750872119966523404402164290273891146273208604150209625096321468659763084371176582295517062029213352603820856321967740285831324115377873096938422943801596478711278539583051291482703607604973574795971443383774710178129839684343940716544139848529774938618129778370307203345983857906862066780948619052058237205096491353814186201205361597060108235374221173908568597094746739549929575176218957930814310402342632890385254935585821940193752679552756490650957707929400008365598214474622325357212557031747967574371427721526135451530741509834984000877174522511295728507414347463436669842067141556183762743281483028880614684181483869393435565550362253539790905425232780778860247217138623339458679188408981440531301340821946806217362029651284832408655249693793683078663556414395159427555908216135614601036772160846013889973480405770207076617409082209130469803994168387209313552085287204574121326297745521902972477657913264326501219356343703140964099005566463205148987763698001551518358228141146534818601565617239221202215110697745990275926925171461308476467934878783313823146037615438838153316170392407729347846257849584052689025530505557554270407141588987780015719460576462225421664264348856598198842048167326506864446682333015058927109431695409654111773557525995541840963039266995482184430053332043881133374420648999666815095987939951756853829016908265885464258828936922039397838987137521357047653008393032337984616861495024111547432256498996245786646195940531506443025421373699148943394581063023185087197580548541927328860240179449469555548457341386993452881617282147422194481962624951398362922935628190113335943738284467007594040083769591416265180040184831099272588015096346756233225443512220393549615127669149260890357183139828376869059398269317639586670043795102377483217840094408997606386160612537754873353981567540893891524141298339424182720190670067560101660006890911113947233690956576880956796770376572129718377599972466872517982854011504007970090711363035449668200782077412268170542643374988269395596434249299657517040409013942428831564713142359713775541378296918176420481310095305018292491084163876052504115234890593126027981070152098162743504734237555621393377920251666092924121457817605995270435334582208407286777508725732688204979642020518330078591104018307545686778726546026332418653637842865932962949422139835597916823951128085758587467425751461402893340635127401648082921571229190437465542482376915831976364682495941200481130723450655831377824131384028760021531164233126057564066720668816935150362097787501659787682241994093823418543865108733524022537623867306894360170361940708080939281615815630613459505684080444131301219353984341458659213432445219064723333320254641992887848049406913213242043860544343431878446959362076749067354496044972806638710917422983620123666166797134788154749882924283615715606207257626985048013164398740108742255285606259093935732216773405447864190132663649061238198633346080688961172666594791688063796992157029925466875843274978254068553339752974356133072789706911723100679966873552179606597781228422200481547817253906247123711010864951389995244913483413746260038812983784731140058749216584294352852399818244043595541973708196192305412561054485746601078794432026387841006510588697070449324445949368223634263235878114611884704719183409916189195968040982005537619400799647060837199503297292663729091960847285893075566193692434769353794568080814354392579057546988891763077136411444492095691281062526527397357855929667318473839194198806525962395410624018600296078296819765929708933686678039032788025777630782691199808501709379574265101190287439924075745704522635603284821497800515135072248519895210865584164659297105765069091217109667668986364958042966115495719236242952136586162120902451412111981183754741449665329828728343169218756100590258132869471729596009167888709951459450233709402569599883411458 79221136326288413549090453617582214988603149380032775393045753873679347103737428810698791647263113706575282689198477135930652137291317188670030006057926509831856472550143054466006425134587034426949120010210832597783143689081004098970652114673282224426184172485773967049733965817226715156969648131835381010189470025770375559444559659305270898952170617343578663720139463438305206193729450577009951868047317341521679722886752217921827822705466305632297648679105292595306982225729633137305184703173136534319068330149229142960259210328722455601450057473003629441834416962669954405564521304502500726298911194393554191501157954017925309977598836623748100506311537547090223313424323313673085311409323919977212070953990949404412305207140907616619412378270976434206887105501661848469182736298770557698748104969475842500166345456724876246803841548685455561851856586967869889986216391448174596518073583228454703935275996041071738034755239225816281721293011288588359444337681021846829274952700086230836341401062887321604178406708278357480439226036171803414304571700770050264769130291420603534822495795966981715612394351588510056912232508637273573895372779156159436797233748213294951636931736322625278881149941049169682180025310119656903852664689348405476728233436921288688205034751242856813863451202798101231235894933014025474654357904163264189792879110990531247061528782494741231885291482973616690359904394443018958369073484128300703937149692838128916254439952768266768999800895221352172804608885628145520829329108509888656265795056847497582709463200002373315731960683089450281141672128908771066872542843950397795050900482861371828770525181267955544208230938560999841196913163882946371552828126583680248944964520944418180558701521838650855170095150234372062727397690674991347946365752214498420657007149585319909260780872426315558079608099072865828174703417406185318728278145026184310672633645641700732291542811057990742838365066341014265183949971790930431087121056345347741501667746148234688653065189269356885872908647581204650438736957716528711548574555583977239301969823515430537595181395319473570033411789209713074292228145962019286962544117035974563318921268241513986555088394502711032433789248734183877010959345104750102614262227563661010217640141350231316347211768763385670337883433049195056061300162041862964241528184097908283230852906666992480893473206747006312106694438401261591124362380788902882710265313013071263115504159140550179707220633782158597940373880726872858838789886163551228708805088540541574505134133745949431125107024728689987177439066224173647204385151471810845156172459609697201263898819372465925856032821983943945509201296896112993390414319772317613998628115011584901662481020736975231857679558573639533120123760882987807897148264001476729480741158503008405824181375825684426593602078107066384305742314153383784825815001170364503279303283157714730965700730790958163526085614077255893030881612578737162635171062435305862363661501175783671862584712802832632731639923317926092501167046294294878922434436385815597766578254085927198853219424480746368612964091254086956730350365974846418411767133289280026522101904776721397535481072023153960396155426365282526318432948840966649466716318812335304612541684202901596339076117983534399558629308180937552570931412127563964839611720473046765641026358839977096301838517860717992220124429055320994261412222457829626748188314831526678529121257451724121669436757611557692716596947663821034873517375372433749628434475153359120061495211777091719559441963916844642691242108239222713715540944215042751815205832903182816602051553000809853471087600226541940973229542173962641860015572714026730877762563780111880467244618055586935195897209646109126685288690235443479134420307287200865787784854857681194140932834097813623138157320433948668365280904196167520730495552269155400544459597418276177569668057444229387270850059959177577695113400939572251098823419194625556857107173746511343007800181920881221537624681494893301655822089723344553388000429323171176866004751029713971505534118999127107434111180853160547174861752751626348577776330731649967976997705926985766161797485058129299093471507452375539795559192778297669346728398663209935467310249960415041458812552734910388740750185119204150326407565301155455130213015082150774995891695158121179129263515005175587602007309165752571455482494701985152058285071569163352124307190188600099648633956424637872070374433661282860434946347675030365936337518341250497939530670492049152682751595740299650777955876517336356201954238740449622894424782067167868473814849903355130288000808722848881716523423304369683278744797091680665929947282004599884742141903092455370441529688744167156179077360250483378518119247298849108528250294762208416407986167476148567175178874063800358086027457895630650648669396258429142206700367153305674783250866422661286263393363325796268275165731232739893184194968961403246730119774337399703422463459231675588482935858420765326421555448280339061724466310717136212252868177897932924653530049677696436162757662269366798190208071681769644893941942974134840361829280739998511129729526702298361645614792859833141153396637763978261364317262779683444024446799942602179506309308829708000706164362584967544123944262478613936873150629875606572943548220887109756073849240773353610522128256052318094523961849199416335892154957022886522856407858766221227733233769855803540797195843736795162918258589030898376105673396821691371141078048940078157513454368981977910858251016762020830161673450276912167612177864217402281884081697525964997122986657878537513893383684107209185434682030581611841138320769751165820198510744298727746999807978419121499753915601607922696176540527435469670341293526747506706526024530442810609168649651488186829417974713332892493843632020625662134700088384496204167242147258558309791277779399383749139370284867286168094886544821422737637802164641269558545701441664386153037171353886211403725205681597970913022628953115278573534601804694766770034985736868925734980630049997686944790517637071797350609058196799433236359876639015798606019522872255619522116052138570098167166266498733891031108802657143775059617458142604429165804720101056675638719316542457760009090061209984977397292885275149606401974049153909692505148219826918259844782109296960962668656427745596201014333963313980270250168486273994989481135537270723574107717244316660088927662936290431190977141636475102177302706274086655242143720376303626665531386214442689649201190586832460162739827248970951243047440330228206331631112497739878283020377893436493175592457922732266429291282308155450226625908735145243692396554905981224214276161473784801143286259695282125512040501344451566921615076695587270678352226833487853937549564212575401137028689407768946214072151854724602769103465475825754648083539620644496540756262476390723165771983841025405599650289140025146921553140992130744935601340339721606678745401623060593372384771360928037839290017553053687662881909325377632775454112253161089384150763856706709155478909949994753852927323817406887036600795067326371378788198824332878167341364967879877879238807231553439728369018467221599420820323413253492898108084906827199959825847516517138472194789248173159585268081314575918495931090240886524799021431864303823205292763974048397599206812537350644671886512896943549787393792013585758364951639015903806808257622062909142313231743480044638793538545919980650491431925030133693346821159087402194007666994942204762440475125178705040855041713359185302696287569744680604190515945891306060582731794814908843958353954702356548613096039147793243847008308977635561964476974997951064591650034486821018815827067440683467721305397279261255554886935728702038082522417061993386180239766246562722248573939589551463440216540148757382768091588138660292719477108563071144875031522670308447900691983255937682162468481877091121037630772727278138515616236001256623965847146632370258907566117444498723076761005067670267433967584124059982950527552684126829463945259162716865211890575671788315183102363107529308174560259235390303117426425526334200493809978331057159437911165295498631423603473319109300623522908911153779412709804961551139930617047949474361706760660471241914491395100667580257747629101647580790725836642955974210568542006096121792397082649454719102730385503190578335481925220951303611391214549703657189680455196346478377576648796225287534093375835944628560149537373180156497980646947482611425085448686655661776669311742295297814178013215311938924288491062998382097579430060278739035515872696978219934320562561595472608922323860525399884510982402005269156441982086483021029918558209724470491903799974743155409617616793047923689985178433315018756427849919071082417642288796404481615231515234452681159882921091503004550444101071092708811340514603382017663740887649084380236302609941981934458359114802326529287265867836586784975966554986634154342857441112067919515289522362798595615675285893464419458686422183504043133224290707533174576650932865938948401459027619947526422651202675898412812192885113849595817623488233557657324742800374393771493612612994490199832072720005221382391736290818088439567832190214526069759576939763059225294047689399842770969550271822493372060085246999178803887808375697715787460887952953376038287195940678828372114751832221735499728113180144886805780940960771191887792284320985144166141635393515416730908788312195300491807806540287070491481431962163136379543929660618181107758371359830272070710330540964244840736100126945150261956581967738136878967906151503477030589413476778396488056255128274618652814459320832933615142116047026707587220756919312766986953137529175073213247265939159691046998370580315251080657075929005601304731518695855137789275121205684896535005308306213389054064280969057885721542388986811077341891260041925887056878130127572583927539693499699113748046877120963906069001823409562788230808853853871882873439472647253434523002060852420272156695039139430549806321097367810917227205204247017367003229877344084778548555114682479336206900025536057463019980330999992904087435962707758338762003728511765178466640449320652612534210798892815867357916179819681928104828396478395978907986688587587211048028175297039898923093781251066820216389866502543454979385315466322731193630241277133766306683368683633769391462572687987584895042715635934566846009082053691659625628107925455524966171892172371347581776938133011946883355527792757280423901439843787718910514187571823733633970498290959128713803276395973214824695287254119656282385379882044684859740770770278952462807363972180867983716145726826403124279164669065683519737643851028582182178847409253790169102711752823675738101624258228757004430831589700933826769294222110208159503937943407859874680379804051887083961895061924782547582746137283942772401572559120470890618028176688321500424321999931090462064837742650236200746027254163561595334216630144019027040253177959675166099546895382119057589923150803302324507323848614026929585740973630842804613794984942817152682790916367496479469160062752291871555062959744198529261258320214197863335418932826502335611940388568414533543083903871787619265150316201237229731526540177347040557596914219634494593235084100440185902704961496894801815965828241488132952816404388213547139957096281106720657002724584983296567282421021887309645830545420849278973750640190607812610285157453521737441247551562739193013130693895523904297417282234702467824997650172419479439441255022332965189964811370036473464368552713455590919789499626730938265251068093725738139931895013962725859474556756480116280260627787935108686778592189332291505719726719077482505187732166430397583619665581803192980606593527468509467816727622815672436856982934841596850565981312553199365240177231983103452801762396781049408644396871558903699749565332207142811049048182624446587821028122603421082599612278424274067596446947245822830895127763586085330483630169076457504200909936850085672679490880916987771671515958792100086504441906166883057826386663807415827634696644519029381309240506884533527368051945982355761911196589505004453747172652632673455899462375061151550202616213923220708752452854045423726557808849891888030846969306960246896955191577509230349214673674304878671561397306240994072993825456945871524545215733592827655417488586747072957508855181351739836239516748037158449381239108123306523023110606298661963449674881082925925182603579867432015156377469556858305777174344856478521223612021292097541422140997855352914884173428175300104591711531080100684181580152409902546924543842486751409960437530742940467914808195608386244877173254708593769693062019878116577906713925284724212499272016326655687037805861084034663471955740078323831260597635073616757531455521508225492584632755110967542630950029824124804297778532120880397292269012808717272937581671062086187217594121399060707960164699001290114066485733674124975811987529304662145369009685503503483770721563379402675107892122876415605486214206297448754683781403239806537538455364899600384016511186109979196731136111559988652249109059056168727472084538886421222923955607805422086145083637022950060876062174197864672413969585040042931102016508335956544836945146914417495407775650762282977322790449733124545925755577597392025325814499788040984962636803160041576333869107365103345436520492842564340583591374847080571930935862552516625782779041355969495487938367307196905822099747825409940214053125418301400165599210384369057968532771267647066097632473841493894932527254594748261729799745997254470892900027688147535761266961443652943362375094153936457173896714510094804719288158533617491705759294008994214663249335906030635041546659193089468296514419227259898203401530859419267131796445278056911860935066219071490744507841265663013103787850917716560627115299079929392784960788169389639642636928919137356685242062618011173253577755634544111490406599834395070546417259533081499314590431851416924461990127281271831716927498057263894319433547964585821210845155248304759236791970527909858268437867701766293389873401707383634346559756025253932252491367163869671335498100759208907182013538637647569178546153448742518676269317521023308462569177659615016238936113642996885529852767731796138614878688638842877780137867406890031299172968241732920849371966149656357885139880539429124981550348376736331988147006833619266898444566345127300817815203823325335258988154621191945104250030742389547813660159656194923767664196606864222178844363071769368368051332677090360739802718679846255482242958502316724132148976527954515007040979214783062355493764535649115037845928939623351602345024659399232752828640899098978368318305161153868621362932589755079169515524194859219463128937037204633849923957302777896111420831376689781588431280682001562545944684869845462144566311444801767559873642961060540810239793307814518761549342671646542816266006066097107070994150316288492762067803411954940672444196431787463715182363071290327035570413863014490862467793099839149530542244185511165177100984132295035414214345728430304533344535972170008632601015556607038971535561038146080678328608760453083425801822859871275714687287735057053542264499796148571594799158704648753379500084277141293550850092011094711635292997436967868865175711531651647518159290643352667233333649648926456221241114096827107871797343213780128779424626958483650294271067196729599459844902074378884261766942765961425902735915994968572531670882730010179232026581161821255679002759927996396881828568178934203371266184748927995929935529166065651144042883205426223576722849223173708552471030120045454958133108049761866752950425306508083255745444094077396708013743695869188083820867087989922257563702595940288331310604285776541780891206284331844111544478052437113106567306185682556329303402347485306842321410319229649606213960287529270981594776517697581645318851161634013615745165303002115189841650200584894646408564600028832812771398470175725543150215114015083385318578905242077041272924633994886129002193901617997932469166420185666083819045857637754280339123065330727531986240701579735864898769409438508018271584414151994580289347627791452440963603750872119966523404402164290273891146273208604150209625096321468659763084371176582295517062029213352603820856321967740285831324115377873096938422943801596478711278539583051291482703607604973574795971443383774710178129839684343940716544139848529774938618129778370307203345983857906862066780948619052058237205096491353814186201205361597060108235374221173908568597094746739549929575176218957930814310402342632890385254935585821940193752679552756490650957707929400008365598214474622325357212557031747967574371427721526135451530741509834984000877174522511295728507414347463436669842067141556183762743281483028880614684181483869393435565550362253539790905425232780778860247217138623339458679188408981440531301340821946806217362029651284832408655249693793683078663556414395159427555908216135614601036772160846013889973480405770207076617409082209130469803994168387209313552085287204574121326297745521902972477657913264326501219356343703140964099005566463205148987763698001551518358228141146534818601565617239221202215110697745990275926925171461308476467934878783313823146037615438838153316170392407729347846257849584052689025530505557554270407141588987780015719460576462225421664264348856598198842048167326506864446682333015058927109431695409654111773557525995541840963039266995482184430053332043881133374420648999666815095987939951756853829016908265885464258828936922039397838987137521357047653008393032337984616861495024111547432256498996245786646195940531506443025421373699148943394581063023185087197580548541927328860240179449469555548457341386993452881617282147422194481962624951398362922935628190113335943738284467007594040083769591416265180040184831099272588015096346756233225443512220393549615127669149260890357183139828376869059398269317639586670043795102377483217840094408997606386160612537754873353981567540893891524141298339424182720190670067560101660006890911113947233690956576880956796770376572129718377599972466872517982854011504007970090711363035449668200782077412268170542643374988269395596434249299657517040409013942428831564713142359713775541378296918176420481310095305018292491084163876052504115234890593126027981070152098162743504734237555621393377920251666092924121457817605995270435334582208407286777508725732688204979642020518330078591104018307545686778726546026332418653637842865932962949422139835597916823951128085758587467425751461402893340635127401648082921571229190437465542482376915831976364682495941200481130723450655831377824131384028760021531164233126057564066720668816935150362097787501659787682241994093823418543865108733524022537623867306894360170361940708080939281615815630613459505684080444131301219353984341458659213432445219064723333320254641992887848049406913213242043860544343431878446959362076749067354496044972806638710917422983620123666166797134788154749882924283615715606207257626985048013164398740108742255285606259093935732216773405447864190132663649061238198633346080688961172666594791688063796992157029925466875843274978254068553339752974356133072789706911723100679966873552179606597781228422200481547817253906247123711010864951389995244913483413746260038812983784731140058749216584294352852399818244043595541973708196192305412561054485746601078794432026387841006510588697070449324445949368223634263235878114611884704719183409916189195968040982005537619400799647060837199503297292663729091960847285893075566193692434769353794568080814354392579057546988891763077136411444492095691281062526527397357855929667318473839194198806525962395410624018600296078296819765929708933686678039032788025777630782691199808501709379574265101190287439924075745704522635603284821497800515135072248519895210865584164659297105765069091217109667668986364958042966115495719236242952136586162120902451412111981183754741449665329828728343169218756100590258132869471729596009167888709951459450233709402569599883411458 | | 3 131310840659122123430692979263911999010265426644554374801773027050823144984395000654449913010960733298922288265953818074810832040992091639507528217829430847829610599992882180860531410213359189752326538189911517790620729804314577731953901249406406286207028979381182205651363542920166204969976420961899056538301055408089555068024088765411626575175417827473018978878060562010653490968968260431564531044251574923007921344717085423127035563789858172233943771601822692319007870067713392430786013844631925114215369092978363079882662654571720610911766332538433925496968539160658147596992198824294063647310296080815535429067669540012078046362180931851061147609684227956223334153032752207267047676944985622281301608812229137641939970153160491735758983682887744261782500140014721474179688688800744590884466625437006657661964029094590708697354843185440248569815012474712013436663426272499326953722921752900810395074100124283109465302406914104784236731526710099421613267560534129896893655769623203789573093481710031552163808292714261647458977662404507975166893265805140420680239892757108878567156451376150498273189270256813784349188240059822905578837435857486570947785848593352389781518593327431227299846044410940156413454109668242151559411467713402017628786124257770819956708589622087090125649881203772657307229454519785098588732156959754301402830210249135898807322345724718550724768567924397532605723669303645613585320589136837091262560100465760119114401655157089909564981249621128039903184007113730060958490379697060944502269120605798382046632424158692599021369977844430927941200920399263645197214848574680949084372952300696789149995271396939211487374901651408018145603785520692131950773957805833037943369952355603420812077044680655795048353759778474366604454790713902603399044835006997102311932058455655070416283805453635320382666324120906915441146621926258098556789768474439938993859811437407433224557946804270050768426782554014210951625173135636790486136274333592484756622956240457471172463942302160555723851527527881832597615169396436923479823389740606364793853470399670152562919114973745595947972571439725578309154956665472393017680104873253355584063759837946244164015902626158650619092643419301154211379594485662326470515145333645607697023115716555273504076658945152799755916342724307057378397919734929008615059255964458916780366701878741655137711156122227109391950247129272619894474426876833184303339940636601039274847469458978873619379808415665493120620462662013149738241449794642937628250964152115261921410612774229786876157250764204048962494026969072010590052548707558551873265649024489226243 79221136326288413549090453617582214988603149380032775393045753873679347103737428810698791647263113706575282689198477135930652137291317188670030006057926509831856472550143054466006425134587034426949120010210832597783143689081004098970652114673282224426184172485773967049733965817226715156969648131835381010189470025770375559444559659305270898952170617343578663720139463438305206193729450577009951868047317341521679722886752217921827822705466305632297648679105292595306982225729633137305184703173136534319068330149229142960259210328722455601450057473003629441834416962669954405564521304502500726298911194393554191501157954017925309977598836623748100506311537547090223313424323313673085311409323919977212070953990949404412305207140907616619412378270976434206887105501661848469182736298770557698748104969475842500166345456724876246803841548685455561851856586967869889986216391448174596518073583228454703935275996041071738034755239225816281721293011288588359444337681021846829274952700086230836341401062887321604178406708278357480439226036171803414304571700770050264769130291420603534822495795966981715612394351588510056912232508637273573895372779156159436797233748213294951636931736322625278881149941049169682180025310119656903852664689348405476728233436921288688205034751242856813863451202798101231235894933014025474654357904163264189792879110990531247061528782494741231885291482973616690359904394443018958369073484128300703937149692838128916254439952768266768999800895221352172804608885628145520829329108509888656265795056847497582709463200002373315731960683089450281141672128908771066872542843950397795050900482861371828770525181267955544208230938560999841196913163882946371552828126583680248944964520944418180558701521838650855170095150234372062727397690674991347946365752214498420657007149585319909260780872426315558079608099072865828174703417406185318728278145026184310672633645641700732291542811057990742838365066341014265183949971790930431087121056345347741501667746148234688653065189269356885872908647581204650438736957716528711548574555583977239301969823515430537595181395319473570033411789209713074292228145962019286962544117035974563318921268241513986555088394502711032433789248734183877010959345104750102614262227563661010217640141350231316347211768763385670337883433049195056061300162041862964241528184097908283230852906666992480893473206747006312106694438401261591124362380788902882710265313013071263115504159140550179707220633782158597940373880726872858838789886163551228708805088540541574505134133745949431125107024728689987177439066224173647204385151471810845156172459609697201263898819372465925856032821983943945509201296896112993390414319772317613998628115011584901662481020736975231857679558573639533120123760882987807897148264001476729480741158503008405824181375825684426593602078107066384305742314153383784825815001170364503279303283157714730965700730790958163526085614077255893030881612578737162635171062435305862363661501175783671862584712802832632731639923317926092501167046294294878922434436385815597766578254085927198853219424480746368612964091254086956730350365974846418411767133289280026522101904776721397535481072023153960396155426365282526318432948840966649466716318812335304612541684202901596339076117983534399558629308180937552570931412127563964839611720473046765641026358839977096301838517860717992220124429055320994261412222457829626748188314831526678529121257451724121669436757611557692716596947663821034873517375372433749628434475153359120061495211777091719559441963916844642691242108239222713715540944215042751815205832903182816602051553000809853471087600226541940973229542173962641860015572714026730877762563780111880467244618055586935195897209646109126685288690235443479134420307287200865787784854857681194140932834097813623138157320433948668365280904196167520730495552269155400544459597418276177569668057444229387270850059959177577695113400939572251098823419194625556857107173746511343007800181920881221537624681494893301655822089723344553388000429323171176866004751029713971505534118999127107434111180853160547174861752751626348577776330731649967976997705926985766161797485058129299093471507452375539795559192778297669346728398663209935467310249960415041458812552734910388740750185119204150326407565301155455130213015082150774995891695158121179129263515005175587602007309165752571455482494701985152058285071569163352124307190188600099648633956424637872070374433661282860434946347675030365936337518341250497939530670492049152682751595740299650777955876517336356201954238740449622894424782067167868473814849903355130288000808722848881716523423304369683278744797091680665929947282004599884742141903092455370441529688744167156179077360250483378518119247298849108528250294762208416407986167476148567175178874063800358086027457895630650648669396258429142206700367153305674783250866422661286263393363325796268275165731232739893184194968961403246730119774337399703422463459231675588482935858420765326421555448280339061724466310717136212252868177897932924653530049677696436162757662269366798190208071681769644893941942974134840361829280739998511129729526702298361645614792859833141153396637763978261364317262779683444024446799942602179506309308829708000706164362584967544123944262478613936873150629875606572943548220887109756073849240773353610522128256052318094523961849199416335892154957022886522856407858766221227733233769855803540797195843736795162918258589030898376105673396821691371141078048940078157513454368981977910858251016762020830161673450276912167612177864217402281884081697525964997122986657878537513893383684107209185434682030581611841138320769751165820198510744298727746999807978419121499753915601607922696176540527435469670341293526747506706526024530442810609168649651488186829417974713332892493843632020625662134700088384496204167242147258558309791277779399383749139370284867286168094886544821422737637802164641269558545701441664386153037171353886211403725205681597970913022628953115278573534601804694766770034985736868925734980630049997686944790517637071797350609058196799433236359876639015798606019522872255619522116052138570098167166266498733891031108802657143775059617458142604429165804720101056675638719316542457760009090061209984977397292885275149606401974049153909692505148219826918259844782109296960962668656427745596201014333963313980270250168486273994989481135537270723574107717244316660088927662936290431190977141636475102177302706274086655242143720376303626665531386214442689649201190586832460162739827248970951243047440330228206331631112497739878283020377893436493175592457922732266429291282308155450226625908735145243692396554905981224214276161473784801143286259695282125512040501344451566921615076695587270678352226833487853937549564212575401137028689407768946214072151854724602769103465475825754648083539620644496540756262476390723165771983841025405599650289140025146921553140992130744935601340339721606678745401623060593372384771360928037839290017553053687662881909325377632775454112253161089384150763856706709155478909949994753852927323817406887036600795067326371378788198824332878167341364967879877879238807231553439728369018467221599420820323413253492898108084906827199959825847516517138472194789248173159585268081314575918495931090240886524799021431864303823205292763974048397599206812537350644671886512896943549787393792013585758364951639015903806808257622062909142313231743480044638793538545919980650491431925030133693346821159087402194007666994942204762440475125178705040855041713359185302696287569744680604190515945891306060582731794814908843958353954702356548613096039147793243847008308977635561964476974997951064591650034486821018815827067440683467721305397279261255554886935728702038082522417061993386180239766246562722248573939589551463440216540148757382768091588138660292719477108563071144875031522670308447900691983255937682162468481877091121037630772727278138515616236001256623965847146632370258907566117444498723076761005067670267433967584124059982950527552684126829463945259162716865211890575671788315183102363107529308174560259235390303117426425526334200493809978331057159437911165295498631423603473319109300623522908911153779412709804961551139930617047949474361706760660471241914491395100667580257747629101647580790725836642955974210568542006096121792397082649454719102730385503190578335481925220951303611391214549703657189680455196346478377576648796225287534093375835944628560149537373180156497980646947482611425085448686655661776669311742295297814178013215311938924288491062998382097579430060278739035515872696978219934320562561595472608922323860525399884510982402005269156441982086483021029918558209724470491903799974743155409617616793047923689985178433315018756427849919071082417642288796404481615231515234452681159882921091503004550444101071092708811340514603382017663740887649084380236302609941981934458359114802326529287265867836586784975966554986634154342857441112067919515289522362798595615675285893464419458686422183504043133224290707533174576650932865938948401459027619947526422651202675898412812192885113849595817623488233557657324742800374393771493612612994490199832072720005221382391736290818088439567832190214526069759576939763059225294047689399842770969550271822493372060085246999178803887808375697715787460887952953376038287195940678828372114751832221735499728113180144886805780940960771191887792284320985144166141635393515416730908788312195300491807806540287070491481431962163136379543929660618181107758371359830272070710330540964244840736100126945150261956581967738136878967906151503477030589413476778396488056255128274618652814459320832933615142116047026707587220756919312766986953137529175073213247265939159691046998370580315251080657075929005601304731518695855137789275121205684896535005308306213389054064280969057885721542388986811077341891260041925887056878130127572583927539693499699113748046877120963906069001823409562788230808853853871882873439472647253434523002060852420272156695039139430549806321097367810917227205204247017367003229877344084778548555114682479336206900025536057463019980330999992904087435962707758338762003728511765178466640449320652612534210798892815867357916179819681928104828396478395978907986688587587211048028175297039898923093781251066820216389866502543454979385315466322731193630241277133766306683368683633769391462572687987584895042715635934566846009082053691659625628107925455524966171892172371347581776938133011946883355527792757280423901439843787718910514187571823733633970498290959128713803276395973214824695287254119656282385379882044684859740770770278952462807363972180867983716145726826403124279164669065683519737643851028582182178847409253790169102711752823675738101624258228757004430831589700933826769294222110208159503937943407859874680379804051887083961895061924782547582746137283942772401572559120470890618028176688321500424321999931090462064837742650236200746027254163561595334216630144019027040253177959675166099546895382119057589923150803302324507323848614026929585740973630842804613794984942817152682790916367496479469160062752291871555062959744198529261258320214197863335418932826502335611940388568414533543083903871787619265150316201237229731526540177347040557596914219634494593235084100440185902704961496894801815965828241488132952816404388213547139957096281106720657002724584983296567282421021887309645830545420849278973750640190607812610285157453521737441247551562739193013130693895523904297417282234702467824997650172419479439441255022332965189964811370036473464368552713455590919789499626730938265251068093725738139931895013962725859474556756480116280260627787935108686778592189332291505719726719077482505187732166430397583619665581803192980606593527468509467816727622815672436856982934841596850565981312553199365240177231983103452801762396781049408644396871558903699749565332207142811049048182624446587821028122603421082599612278424274067596446947245822830895127763586085330483630169076457504200909936850085672679490880916987771671515958792100086504441906166883057826386663807415827634696644519029381309240506884533527368051945982355761911196589505004453747172652632673455899462375061151550202616213923220708752452854045423726557808849891888030846969306960246896955191577509230349214673674304878671561397306240994072993825456945871524545215733592827655417488586747072957508855181351739836239516748037158449381239108123306523023110606298661963449674881082925925182603579867432015156377469556858305777174344856478521223612021292097541422140997855352914884173428175300104591711531080100684181580152409902546924543842486751409960437530742940467914808195608386244877173254708593769693062019878116577906713925284724212499272016326655687037805861084034663471955740078323831260597635073616757531455521508225492584632755110967542630950029824124804297778532120880397292269012808717272937581671062086187217594121399060707960164699001290114066485733674124975811987529304662145369009685503503483770721563379402675107892122876415605486214206297448754683781403239806537538455364899600384016511186109979196731136111559988652249109059056168727472084538886421222923955607805422086145083637022950060876062174197864672413969585040042931102016508335956544836945146914417495407775650762282977322790449733124545925755577597392025325814499788040984962636803160041576333869107365103345436520492842564340583591374847080571930935862552516625782779041355969495487938367307196905822099747825409940214053125418301400165599210384369057968532771267647066097632473841493894932527254594748261729799745997254470892900027688147535761266961443652943362375094153936457173896714510094804719288158533617491705759294008994214663249335906030635041546659193089468296514419227259898203401530859419267131796445278056911860935066219071490744507841265663013103787850917716560627115299079929392784960788169389639642636928919137356685242062618011173253577755634544111490406599834395070546417259533081499314590431851416924461990127281271831716927498057263894319433547964585821210845155248304759236791970527909858268437867701766293389873401707383634346559756025253932252491367163869671335498100759208907182013538637647569178546153448742518676269317521023308462569177659615016238936113642996885529852767731796138614878688638842877780137867406890031299172968241732920849371966149656357885139880539429124981550348376736331988147006833619266898444566345127300817815203823325335258988154621191945104250030742389547813660159656194923767664196606864222178844363071769368368051332677090360739802718679846255482242958502316724132148976527954515007040979214783062355493764535649115037845928939623351602345024659399232752828640899098978368318305161153868621362932589755079169515524194859219463128937037204633849923957302777896111420831376689781588431280682001562545944684869845462144566311444801767559873642961060540810239793307814518761549342671646542816266006066097107070994150316288492762067803411954940672444196431787463715182363071290327035570413863014490862467793099839149530542244185511165177100984132295035414214345728430304533344535972170008632601015556607038971535561038146080678328608760453083425801822859871275714687287735057053542264499796148571594799158704648753379500084277141293550850092011094711635292997436967868865175711531651647518159290643352667233333649648926456221241114096827107871797343213780128779424626958483650294271067196729599459844902074378884261766942765961425902735915994968572531670882730010179232026581161821255679002759927996396881828568178934203371266184748927995929935529166065651144042883205426223576722849223173708552471030120045454958133108049761866752950425306508083255745444094077396708013743695869188083820867087989922257563702595940288331310604285776541780891206284331844111544478052437113106567306185682556329303402347485306842321410319229649606213960287529270981594776517697581645318851161634013615745165303002115189841650200584894646408564600028832812771398470175725543150215114015083385318578905242077041272924633994886129002193901617997932469166420185666083819045857637754280339123065330727531986240701579735864898769409438508018271584414151994580289347627791452440963603750872119966523404402164290273891146273208604150209625096321468659763084371176582295517062029213352603820856321967740285831324115377873096938422943801596478711278539583051291482703607604973574795971443383774710178129839684343940716544139848529774938618129778370307203345983857906862066780948619052058237205096491353814186201205361597060108235374221173908568597094746739549929575176218957930814310402342632890385254935585821940193752679552756490650957707929400008365598214474622325357212557031747967574371427721526135451530741509834984000877174522511295728507414347463436669842067141556183762743281483028880614684181483869393435565550362253539790905425232780778860247217138623339458679188408981440531301340821946806217362029651284832408655249693793683078663556414395159427555908216135614601036772160846013889973480405770207076617409082209130469803994168387209313552085287204574121326297745521902972477657913264326501219356343703140964099005566463205148987763698001551518358228141146534818601565617239221202215110697745990275926925171461308476467934878783313823146037615438838153316170392407729347846257849584052689025530505557554270407141588987780015719460576462225421664264348856598198842048167326506864446682333015058927109431695409654111773557525995541840963039266995482184430053332043881133374420648999666815095987939951756853829016908265885464258828936922039397838987137521357047653008393032337984616861495024111547432256498996245786646195940531506443025421373699148943394581063023185087197580548541927328860240179449469555548457341386993452881617282147422194481962624951398362922935628190113335943738284467007594040083769591416265180040184831099272588015096346756233225443512220393549615127669149260890357183139828376869059398269317639586670043795102377483217840094408997606386160612537754873353981567540893891524141298339424182720190670067560101660006890911113947233690956576880956796770376572129718377599972466872517982854011504007970090711363035449668200782077412268170542643374988269395596434249299657517040409013942428831564713142359713775541378296918176420481310095305018292491084163876052504115234890593126027981070152098162743504734237555621393377920251666092924121457817605995270435334582208407286777508725732688204979642020518330078591104018307545686778726546026332418653637842865932962949422139835597916823951128085758587467425751461402893340635127401648082921571229190437465542482376915831976364682495941200481130723450655831377824131384028760021531164233126057564066720668816935150362097787501659787682241994093823418543865108733524022537623867306894360170361940708080939281615815630613459505684080444131301219353984341458659213432445219064723333320254641992887848049406913213242043860544343431878446959362076749067354496044972806638710917422983620123666166797134788154749882924283615715606207257626985048013164398740108742255285606259093935732216773405447864190132663649061238198633346080688961172666594791688063796992157029925466875843274978254068553339752974356133072789706911723100679966873552179606597781228422200481547817253906247123711010864951389995244913483413746260038812983784731140058749216584294352852399818244043595541973708196192305412561054485746601078794432026387841006510588697070449324445949368223634263235878114611884704719183409916189195968040982005537619400799647060837199503297292663729091960847285893075566193692434769353794568080814354392579057546988891763077136411444492095691281062526527397357855929667318473839194198806525962395410624018600296078296819765929708933686678039032788025777630782691199808501709379574265101190287439924075745704522635603284821497800515135072248519895210865584164659297105765069091217109667668986364958042966115495719236242952136586162120902451412111981183754741449665329828728343169218756100590258132869471729596009167888709951459450233709402569651423019011 79221136326288413549090453617582214988603149380032775393045753873679347103737428810698791647263113706575282689198477135930652137291317188670030006057926509831856472550143054466006425134587034426949120010210832597783143689081004098970652114673282224426184172485773967049733965817226715156969648131835381010189470025770375559444559659305270898952170617343578663720139463438305206193729450577009951868047317341521679722886752217921827822705466305632297648679105292595306982225729633137305184703173136534319068330149229142960259210328722455601450057473003629441834416962669954405564521304502500726298911194393554191501157954017925309977598836623748100506311537547090223313424323313673085311409323919977212070953990949404412305207140907616619412378270976434206887105501661848469182736298770557698748104969475842500166345456724876246803841548685455561851856586967869889986216391448174596518073583228454703935275996041071738034755239225816281721293011288588359444337681021846829274952700086230836341401062887321604178406708278357480439226036171803414304571700770050264769130291420603534822495795966981715612394351588510056912232508637273573895372779156159436797233748213294951636931736322625278881149941049169682180025310119656903852664689348405476728233436921288688205034751242856813863451202798101231235894933014025474654357904163264189792879110990531247061528782494741231885291482973616690359904394443018958369073484128300703937149692838128916254439952768266768999800895221352172804608885628145520829329108509888656265795056847497582709463200002373315731960683089450281141672128908771066872542843950397795050900482861371828770525181267955544208230938560999841196913163882946371552828126583680248944964520944418180558701521838650855170095150234372062727397690674991347946365752214498420657007149585319909260780872426315558079608099072865828174703417406185318728278145026184310672633645641700732291542811057990742838365066341014265183949971790930431087121056345347741501667746148234688653065189269356885872908647581204650438736957716528711548574555583977239301969823515430537595181395319473570033411789209713074292228145962019286962544117035974563318921268241513986555088394502711032433789248734183877010959345104750102614262227563661010217640141350231316347211768763385670337883433049195056061300162041862964241528184097908283230852906666992480893473206747006312106694438401261591124362380788902882710265313013071263115504159140550179707220633782158597940373880726872858838789886163551228708805088540541574505134133745949431125107024728689987177439066224173647204385151471810845156172459609697201263898819372465925856032821983943945509201296896112993390414319772317613998628115011584901662481020736975231857679558573639533120123760882987807897148264001476729480741158503008405824181375825684426593602078107066384305742314153383784825815001170364503279303283157714730965700730790958163526085614077255893030881612578737162635171062435305862363661501175783671862584712802832632731639923317926092501167046294294878922434436385815597766578254085927198853219424480746368612964091254086956730350365974846418411767133289280026522101904776721397535481072023153960396155426365282526318432948840966649466716318812335304612541684202901596339076117983534399558629308180937552570931412127563964839611720473046765641026358839977096301838517860717992220124429055320994261412222457829626748188314831526678529121257451724121669436757611557692716596947663821034873517375372433749628434475153359120061495211777091719559441963916844642691242108239222713715540944215042751815205832903182816602051553000809853471087600226541940973229542173962641860015572714026730877762563780111880467244618055586935195897209646109126685288690235443479134420307287200865787784854857681194140932834097813623138157320433948668365280904196167520730495552269155400544459597418276177569668057444229387270850059959177577695113400939572251098823419194625556857107173746511343007800181920881221537624681494893301655822089723344553388000429323171176866004751029713971505534118999127107434111180853160547174861752751626348577776330731649967976997705926985766161797485058129299093471507452375539795559192778297669346728398663209935467310249960415041458812552734910388740750185119204150326407565301155455130213015082150774995891695158121179129263515005175587602007309165752571455482494701985152058285071569163352124307190188600099648633956424637872070374433661282860434946347675030365936337518341250497939530670492049152682751595740299650777955876517336356201954238740449622894424782067167868473814849903355130288000808722848881716523423304369683278744797091680665929947282004599884742141903092455370441529688744167156179077360250483378518119247298849108528250294762208416407986167476148567175178874063800358086027457895630650648669396258429142206700367153305674783250866422661286263393363325796268275165731232739893184194968961403246730119774337399703422463459231675588482935858420765326421555448280339061724466310717136212252868177897932924653530049677696436162757662269366798190208071681769644893941942974134840361829280739998511129729526702298361645614792859833141153396637763978261364317262779683444024446799942602179506309308829708000706164362584967544123944262478613936873150629875606572943548220887109756073849240773353610522128256052318094523961849199416335892154957022886522856407858766221227733233769855803540797195843736795162918258589030898376105673396821691371141078048940078157513454368981977910858251016762020830161673450276912167612177864217402281884081697525964997122986657878537513893383684107209185434682030581611841138320769751165820198510744298727746999807978419121499753915601607922696176540527435469670341293526747506706526024530442810609168649651488186829417974713332892493843632020625662134700088384496204167242147258558309791277779399383749139370284867286168094886544821422737637802164641269558545701441664386153037171353886211403725205681597970913022628953115278573534601804694766770034985736868925734980630049997686944790517637071797350609058196799433236359876639015798606019522872255619522116052138570098167166266498733891031108802657143775059617458142604429165804720101056675638719316542457760009090061209984977397292885275149606401974049153909692505148219826918259844782109296960962668656427745596201014333963313980270250168486273994989481135537270723574107717244316660088927662936290431190977141636475102177302706274086655242143720376303626665531386214442689649201190586832460162739827248970951243047440330228206331631112497739878283020377893436493175592457922732266429291282308155450226625908735145243692396554905981224214276161473784801143286259695282125512040501344451566921615076695587270678352226833487853937549564212575401137028689407768946214072151854724602769103465475825754648083539620644496540756262476390723165771983841025405599650289140025146921553140992130744935601340339721606678745401623060593372384771360928037839290017553053687662881909325377632775454112253161089384150763856706709155478909949994753852927323817406887036600795067326371378788198824332878167341364967879877879238807231553439728369018467221599420820323413253492898108084906827199959825847516517138472194789248173159585268081314575918495931090240886524799021431864303823205292763974048397599206812537350644671886512896943549787393792013585758364951639015903806808257622062909142313231743480044638793538545919980650491431925030133693346821159087402194007666994942204762440475125178705040855041713359185302696287569744680604190515945891306060582731794814908843958353954702356548613096039147793243847008308977635561964476974997951064591650034486821018815827067440683467721305397279261255554886935728702038082522417061993386180239766246562722248573939589551463440216540148757382768091588138660292719477108563071144875031522670308447900691983255937682162468481877091121037630772727278138515616236001256623965847146632370258907566117444498723076761005067670267433967584124059982950527552684126829463945259162716865211890575671788315183102363107529308174560259235390303117426425526334200493809978331057159437911165295498631423603473319109300623522908911153779412709804961551139930617047949474361706760660471241914491395100667580257747629101647580790725836642955974210568542006096121792397082649454719102730385503190578335481925220951303611391214549703657189680455196346478377576648796225287534093375835944628560149537373180156497980646947482611425085448686655661776669311742295297814178013215311938924288491062998382097579430060278739035515872696978219934320562561595472608922323860525399884510982402005269156441982086483021029918558209724470491903799974743155409617616793047923689985178433315018756427849919071082417642288796404481615231515234452681159882921091503004550444101071092708811340514603382017663740887649084380236302609941981934458359114802326529287265867836586784975966554986634154342857441112067919515289522362798595615675285893464419458686422183504043133224290707533174576650932865938948401459027619947526422651202675898412812192885113849595817623488233557657324742800374393771493612612994490199832072720005221382391736290818088439567832190214526069759576939763059225294047689399842770969550271822493372060085246999178803887808375697715787460887952953376038287195940678828372114751832221735499728113180144886805780940960771191887792284320985144166141635393515416730908788312195300491807806540287070491481431962163136379543929660618181107758371359830272070710330540964244840736100126945150261956581967738136878967906151503477030589413476778396488056255128274618652814459320832933615142116047026707587220756919312766986953137529175073213247265939159691046998370580315251080657075929005601304731518695855137789275121205684896535005308306213389054064280969057885721542388986811077341891260041925887056878130127572583927539693499699113748046877120963906069001823409562788230808853853871882873439472647253434523002060852420272156695039139430549806321097367810917227205204247017367003229877344084778548555114682479336206900025536057463019980330999992904087435962707758338762003728511765178466640449320652612534210798892815867357916179819681928104828396478395978907986688587587211048028175297039898923093781251066820216389866502543454979385315466322731193630241277133766306683368683633769391462572687987584895042715635934566846009082053691659625628107925455524966171892172371347581776938133011946883355527792757280423901439843787718910514187571823733633970498290959128713803276395973214824695287254119656282385379882044684859740770770278952462807363972180867983716145726826403124279164669065683519737643851028582182178847409253790169102711752823675738101624258228757004430831589700933826769294222110208159503937943407859874680379804051887083961895061924782547582746137283942772401572559120470890618028176688321500424321999931090462064837742650236200746027254163561595334216630144019027040253177959675166099546895382119057589923150803302324507323848614026929585740973630842804613794984942817152682790916367496479469160062752291871555062959744198529261258320214197863335418932826502335611940388568414533543083903871787619265150316201237229731526540177347040557596914219634494593235084100440185902704961496894801815965828241488132952816404388213547139957096281106720657002724584983296567282421021887309645830545420849278973750640190607812610285157453521737441247551562739193013130693895523904297417282234702467824997650172419479439441255022332965189964811370036473464368552713455590919789499626730938265251068093725738139931895013962725859474556756480116280260627787935108686778592189332291505719726719077482505187732166430397583619665581803192980606593527468509467816727622815672436856982934841596850565981312553199365240177231983103452801762396781049408644396871558903699749565332207142811049048182624446587821028122603421082599612278424274067596446947245822830895127763586085330483630169076457504200909936850085672679490880916987771671515958792100086504441906166883057826386663807415827634696644519029381309240506884533527368051945982355761911196589505004453747172652632673455899462375061151550202616213923220708752452854045423726557808849891888030846969306960246896955191577509230349214673674304878671561397306240994072993825456945871524545215733592827655417488586747072957508855181351739836239516748037158449381239108123306523023110606298661963449674881082925925182603579867432015156377469556858305777174344856478521223612021292097541422140997855352914884173428175300104591711531080100684181580152409902546924543842486751409960437530742940467914808195608386244877173254708593769693062019878116577906713925284724212499272016326655687037805861084034663471955740078323831260597635073616757531455521508225492584632755110967542630950029824124804297778532120880397292269012808717272937581671062086187217594121399060707960164699001290114066485733674124975811987529304662145369009685503503483770721563379402675107892122876415605486214206297448754683781403239806537538455364899600384016511186109979196731136111559988652249109059056168727472084538886421222923955607805422086145083637022950060876062174197864672413969585040042931102016508335956544836945146914417495407775650762282977322790449733124545925755577597392025325814499788040984962636803160041576333869107365103345436520492842564340583591374847080571930935862552516625782779041355969495487938367307196905822099747825409940214053125418301400165599210384369057968532771267647066097632473841493894932527254594748261729799745997254470892900027688147535761266961443652943362375094153936457173896714510094804719288158533617491705759294008994214663249335906030635041546659193089468296514419227259898203401530859419267131796445278056911860935066219071490744507841265663013103787850917716560627115299079929392784960788169389639642636928919137356685242062618011173253577755634544111490406599834395070546417259533081499314590431851416924461990127281271831716927498057263894319433547964585821210845155248304759236791970527909858268437867701766293389873401707383634346559756025253932252491367163869671335498100759208907182013538637647569178546153448742518676269317521023308462569177659615016238936113642996885529852767731796138614878688638842877780137867406890031299172968241732920849371966149656357885139880539429124981550348376736331988147006833619266898444566345127300817815203823325335258988154621191945104250030742389547813660159656194923767664196606864222178844363071769368368051332677090360739802718679846255482242958502316724132148976527954515007040979214783062355493764535649115037845928939623351602345024659399232752828640899098978368318305161153868621362932589755079169515524194859219463128937037204633849923957302777896111420831376689781588431280682001562545944684869845462144566311444801767559873642961060540810239793307814518761549342671646542816266006066097107070994150316288492762067803411954940672444196431787463715182363071290327035570413863014490862467793099839149530542244185511165177100984132295035414214345728430304533344535972170008632601015556607038971535561038146080678328608760453083425801822859871275714687287735057053542264499796148571594799158704648753379500084277141293550850092011094711635292997436967868865175711531651647518159290643352667233333649648926456221241114096827107871797343213780128779424626958483650294271067196729599459844902074378884261766942765961425902735915994968572531670882730010179232026581161821255679002759927996396881828568178934203371266184748927995929935529166065651144042883205426223576722849223173708552471030120045454958133108049761866752950425306508083255745444094077396708013743695869188083820867087989922257563702595940288331310604285776541780891206284331844111544478052437113106567306185682556329303402347485306842321410319229649606213960287529270981594776517697581645318851161634013615745165303002115189841650200584894646408564600028832812771398470175725543150215114015083385318578905242077041272924633994886129002193901617997932469166420185666083819045857637754280339123065330727531986240701579735864898769409438508018271584414151994580289347627791452440963603750872119966523404402164290273891146273208604150209625096321468659763084371176582295517062029213352603820856321967740285831324115377873096938422943801596478711278539583051291482703607604973574795971443383774710178129839684343940716544139848529774938618129778370307203345983857906862066780948619052058237205096491353814186201205361597060108235374221173908568597094746739549929575176218957930814310402342632890385254935585821940193752679552756490650957707929400008365598214474622325357212557031747967574371427721526135451530741509834984000877174522511295728507414347463436669842067141556183762743281483028880614684181483869393435565550362253539790905425232780778860247217138623339458679188408981440531301340821946806217362029651284832408655249693793683078663556414395159427555908216135614601036772160846013889973480405770207076617409082209130469803994168387209313552085287204574121326297745521902972477657913264326501219356343703140964099005566463205148987763698001551518358228141146534818601565617239221202215110697745990275926925171461308476467934878783313823146037615438838153316170392407729347846257849584052689025530505557554270407141588987780015719460576462225421664264348856598198842048167326506864446682333015058927109431695409654111773557525995541840963039266995482184430053332043881133374420648999666815095987939951756853829016908265885464258828936922039397838987137521357047653008393032337984616861495024111547432256498996245786646195940531506443025421373699148943394581063023185087197580548541927328860240179449469555548457341386993452881617282147422194481962624951398362922935628190113335943738284467007594040083769591416265180040184831099272588015096346756233225443512220393549615127669149260890357183139828376869059398269317639586670043795102377483217840094408997606386160612537754873353981567540893891524141298339424182720190670067560101660006890911113947233690956576880956796770376572129718377599972466872517982854011504007970090711363035449668200782077412268170542643374988269395596434249299657517040409013942428831564713142359713775541378296918176420481310095305018292491084163876052504115234890593126027981070152098162743504734237555621393377920251666092924121457817605995270435334582208407286777508725732688204979642020518330078591104018307545686778726546026332418653637842865932962949422139835597916823951128085758587467425751461402893340635127401648082921571229190437465542482376915831976364682495941200481130723450655831377824131384028760021531164233126057564066720668816935150362097787501659787682241994093823418543865108733524022537623867306894360170361940708080939281615815630613459505684080444131301219353984341458659213432445219064723333320254641992887848049406913213242043860544343431878446959362076749067354496044972806638710917422983620123666166797134788154749882924283615715606207257626985048013164398740108742255285606259093935732216773405447864190132663649061238198633346080688961172666594791688063796992157029925466875843274978254068553339752974356133072789706911723100679966873552179606597781228422200481547817253906247123711010864951389995244913483413746260038812983784731140058749216584294352852399818244043595541973708196192305412561054485746601078794432026387841006510588697070449324445949368223634263235878114611884704719183409916189195968040982005537619400799647060837199503297292663729091960847285893075566193692434769353794568080814354392579057546988891763077136411444492095691281062526527397357855929667318473839194198806525962395410624018600296078296819765929708933686678039032788025777630782691199808501709379574265101190287439924075745704522635603284821497800515135072248519895210865584164659297105765069091217109667668986364958042966115495719236242952136586162120902451412111981183754741449665329828728343169218756100590258132869471729596009167888709951459450233709402569651423019011 79221136326288413549090453617582214988603149380032775393045753873679347103737428810698791647263113706575282689198477135930652137291317188670030006057926509831856472550143054466006425134587034426949120010210832597783143689081004098970652114673282224426184172485773967049733965817226715156969648131835381010189470025770375559444559659305270898952170617343578663720139463438305206193729450577009951868047317341521679722886752217921827822705466305632297648679105292595306982225729633137305184703173136534319068330149229142960259210328722455601450057473003629441834416962669954405564521304502500726298911194393554191501157954017925309977598836623748100506311537547090223313424323313673085311409323919977212070953990949404412305207140907616619412378270976434206887105501661848469182736298770557698748104969475842500166345456724876246803841548685455561851856586967869889986216391448174596518073583228454703935275996041071738034755239225816281721293011288588359444337681021846829274952700086230836341401062887321604178406708278357480439226036171803414304571700770050264769130291420603534822495795966981715612394351588510056912232508637273573895372779156159436797233748213294951636931736322625278881149941049169682180025310119656903852664689348405476728233436921288688205034751242856813863451202798101231235894933014025474654357904163264189792879110990531247061528782494741231885291482973616690359904394443018958369073484128300703937149692838128916254439952768266768999800895221352172804608885628145520829329108509888656265795056847497582709463200002373315731960683089450281141672128908771066872542843950397795050900482861371828770525181267955544208230938560999841196913163882946371552828126583680248944964520944418180558701521838650855170095150234372062727397690674991347946365752214498420657007149585319909260780872426315558079608099072865828174703417406185318728278145026184310672633645641700732291542811057990742838365066341014265183949971790930431087121056345347741501667746148234688653065189269356885872908647581204650438736957716528711548574555583977239301969823515430537595181395319473570033411789209713074292228145962019286962544117035974563318921268241513986555088394502711032433789248734183877010959345104750102614262227563661010217640141350231316347211768763385670337883433049195056061300162041862964241528184097908283230852906666992480893473206747006312106694438401261591124362380788902882710265313013071263115504159140550179707220633782158597940373880726872858838789886163551228708805088540541574505134133745949431125107024728689987177439066224173647204385151471810845156172459609697201263898819372465925856032821983943945509201296896112993390414319772317613998628115011584901662481020736975231857679558573639533120123760882987807897148264001476729480741158503008405824181375825684426593602078107066384305742314153383784825815001170364503279303283157714730965700730790958163526085614077255893030881612578737162635171062435305862363661501175783671862584712802832632731639923317926092501167046294294878922434436385815597766578254085927198853219424480746368612964091254086956730350365974846418411767133289280026522101904776721397535481072023153960396155426365282526318432948840966649466716318812335304612541684202901596339076117983534399558629308180937552570931412127563964839611720473046765641026358839977096301838517860717992220124429055320994261412222457829626748188314831526678529121257451724121669436757611557692716596947663821034873517375372433749628434475153359120061495211777091719559441963916844642691242108239222713715540944215042751815205832903182816602051553000809853471087600226541940973229542173962641860015572714026730877762563780111880467244618055586935195897209646109126685288690235443479134420307287200865787784854857681194140932834097813623138157320433948668365280904196167520730495552269155400544459597418276177569668057444229387270850059959177577695113400939572251098823419194625556857107173746511343007800181920881221537624681494893301655822089723344553388000429323171176866004751029713971505534118999127107434111180853160547174861752751626348577776330731649967976997705926985766161797485058129299093471507452375539795559192778297669346728398663209935467310249960415041458812552734910388740750185119204150326407565301155455130213015082150774995891695158121179129263515005175587602007309165752571455482494701985152058285071569163352124307190188600099648633956424637872070374433661282860434946347675030365936337518341250497939530670492049152682751595740299650777955876517336356201954238740449622894424782067167868473814849903355130288000808722848881716523423304369683278744797091680665929947282004599884742141903092455370441529688744167156179077360250483378518119247298849108528250294762208416407986167476148567175178874063800358086027457895630650648669396258429142206700367153305674783250866422661286263393363325796268275165731232739893184194968961403246730119774337399703422463459231675588482935858420765326421555448280339061724466310717136212252868177897932924653530049677696436162757662269366798190208071681769644893941942974134840361829280739998511129729526702298361645614792859833141153396637763978261364317262779683444024446799942602179506309308829708000706164362584967544123944262478613936873150629875606572943548220887109756073849240773353610522128256052318094523961849199416335892154957022886522856407858766221227733233769855803540797195843736795162918258589030898376105673396821691371141078048940078157513454368981977910858251016762020830161673450276912167612177864217402281884081697525964997122986657878537513893383684107209185434682030581611841138320769751165820198510744298727746999807978419121499753915601607922696176540527435469670341293526747506706526024530442810609168649651488186829417974713332892493843632020625662134700088384496204167242147258558309791277779399383749139370284867286168094886544821422737637802164641269558545701441664386153037171353886211403725205681597970913022628953115278573534601804694766770034985736868925734980630049997686944790517637071797350609058196799433236359876639015798606019522872255619522116052138570098167166266498733891031108802657143775059617458142604429165804720101056675638719316542457760009090061209984977397292885275149606401974049153909692505148219826918259844782109296960962668656427745596201014333963313980270250168486273994989481135537270723574107717244316660088927662936290431190977141636475102177302706274086655242143720376303626665531386214442689649201190586832460162739827248970951243047440330228206331631112497739878283020377893436493175592457922732266429291282308155450226625908735145243692396554905981224214276161473784801143286259695282125512040501344451566921615076695587270678352226833487853937549564212575401137028689407768946214072151854724602769103465475825754648083539620644496540756262476390723165771983841025405599650289140025146921553140992130744935601340339721606678745401623060593372384771360928037839290017553053687662881909325377632775454112253161089384150763856706709155478909949994753852927323817406887036600795067326371378788198824332878167341364967879877879238807231553439728369018467221599420820323413253492898108084906827199959825847516517138472194789248173159585268081314575918495931090240886524799021431864303823205292763974048397599206812537350644671886512896943549787393792013585758364951639015903806808257622062909142313231743480044638793538545919980650491431925030133693346821159087402194007666994942204762440475125178705040855041713359185302696287569744680604190515945891306060582731794814908843958353954702356548613096039147793243847008308977635561964476974997951064591650034486821018815827067440683467721305397279261255554886935728702038082522417061993386180239766246562722248573939589551463440216540148757382768091588138660292719477108563071144875031522670308447900691983255937682162468481877091121037630772727278138515616236001256623965847146632370258907566117444498723076761005067670267433967584124059982950527552684126829463945259162716865211890575671788315183102363107529308174560259235390303117426425526334200493809978331057159437911165295498631423603473319109300623522908911153779412709804961551139930617047949474361706760660471241914491395100667580257747629101647580790725836642955974210568542006096121792397082649454719102730385503190578335481925220951303611391214549703657189680455196346478377576648796225287534093375835944628560149537373180156497980646947482611425085448686655661776669311742295297814178013215311938924288491062998382097579430060278739035515872696978219934320562561595472608922323860525399884510982402005269156441982086483021029918558209724470491903799974743155409617616793047923689985178433315018756427849919071082417642288796404481615231515234452681159882921091503004550444101071092708811340514603382017663740887649084380236302609941981934458359114802326529287265867836586784975966554986634154342857441112067919515289522362798595615675285893464419458686422183504043133224290707533174576650932865938948401459027619947526422651202675898412812192885113849595817623488233557657324742800374393771493612612994490199832072720005221382391736290818088439567832190214526069759576939763059225294047689399842770969550271822493372060085246999178803887808375697715787460887952953376038287195940678828372114751832221735499728113180144886805780940960771191887792284320985144166141635393515416730908788312195300491807806540287070491481431962163136379543929660618181107758371359830272070710330540964244840736100126945150261956581967738136878967906151503477030589413476778396488056255128274618652814459320832933615142116047026707587220756919312766986953137529175073213247265939159691046998370580315251080657075929005601304731518695855137789275121205684896535005308306213389054064280969057885721542388986811077341891260041925887056878130127572583927539693499699113748046877120963906069001823409562788230808853853871882873439472647253434523002060852420272156695039139430549806321097367810917227205204247017367003229877344084778548555114682479336206900025536057463019980330999992904087435962707758338762003728511765178466640449320652612534210798892815867357916179819681928104828396478395978907986688587587211048028175297039898923093781251066820216389866502543454979385315466322731193630241277133766306683368683633769391462572687987584895042715635934566846009082053691659625628107925455524966171892172371347581776938133011946883355527792757280423901439843787718910514187571823733633970498290959128713803276395973214824695287254119656282385379882044684859740770770278952462807363972180867983716145726826403124279164669065683519737643851028582182178847409253790169102711752823675738101624258228757004430831589700933826769294222110208159503937943407859874680379804051887083961895061924782547582746137283942772401572559120470890618028176688321500424321999931090462064837742650236200746027254163561595334216630144019027040253177959675166099546895382119057589923150803302324507323848614026929585740973630842804613794984942817152682790916367496479469160062752291871555062959744198529261258320214197863335418932826502335611940388568414533543083903871787619265150316201237229731526540177347040557596914219634494593235084100440185902704961496894801815965828241488132952816404388213547139957096281106720657002724584983296567282421021887309645830545420849278973750640190607812610285157453521737441247551562739193013130693895523904297417282234702467824997650172419479439441255022332965189964811370036473464368552713455590919789499626730938265251068093725738139931895013962725859474556756480116280260627787935108686778592189332291505719726719077482505187732166430397583619665581803192980606593527468509467816727622815672436856982934841596850565981312553199365240177231983103452801762396781049408644396871558903699749565332207142811049048182624446587821028122603421082599612278424274067596446947245822830895127763586085330483630169076457504200909936850085672679490880916987771671515958792100086504441906166883057826386663807415827634696644519029381309240506884533527368051945982355761911196589505004453747172652632673455899462375061151550202616213923220708752452854045423726557808849891888030846969306960246896955191577509230349214673674304878671561397306240994072993825456945871524545215733592827655417488586747072957508855181351739836239516748037158449381239108123306523023110606298661963449674881082925925182603579867432015156377469556858305777174344856478521223612021292097541422140997855352914884173428175300104591711531080100684181580152409902546924543842486751409960437530742940467914808195608386244877173254708593769693062019878116577906713925284724212499272016326655687037805861084034663471955740078323831260597635073616757531455521508225492584632755110967542630950029824124804297778532120880397292269012808717272937581671062086187217594121399060707960164699001290114066485733674124975811987529304662145369009685503503483770721563379402675107892122876415605486214206297448754683781403239806537538455364899600384016511186109979196731136111559988652249109059056168727472084538886421222923955607805422086145083637022950060876062174197864672413969585040042931102016508335956544836945146914417495407775650762282977322790449733124545925755577597392025325814499788040984962636803160041576333869107365103345436520492842564340583591374847080571930935862552516625782779041355969495487938367307196905822099747825409940214053125418301400165599210384369057968532771267647066097632473841493894932527254594748261729799745997254470892900027688147535761266961443652943362375094153936457173896714510094804719288158533617491705759294008994214663249335906030635041546659193089468296514419227259898203401530859419267131796445278056911860935066219071490744507841265663013103787850917716560627115299079929392784960788169389639642636928919137356685242062618011173253577755634544111490406599834395070546417259533081499314590431851416924461990127281271831716927498057263894319433547964585821210845155248304759236791970527909858268437867701766293389873401707383634346559756025253932252491367163869671335498100759208907182013538637647569178546153448742518676269317521023308462569177659615016238936113642996885529852767731796138614878688638842877780137867406890031299172968241732920849371966149656357885139880539429124981550348376736331988147006833619266898444566345127300817815203823325335258988154621191945104250030742389547813660159656194923767664196606864222178844363071769368368051332677090360739802718679846255482242958502316724132148976527954515007040979214783062355493764535649115037845928939623351602345024659399232752828640899098978368318305161153868621362932589755079169515524194859219463128937037204633849923957302777896111420831376689781588431280682001562545944684869845462144566311444801767559873642961060540810239793307814518761549342671646542816266006066097107070994150316288492762067803411954940672444196431787463715182363071290327035570413863014490862467793099839149530542244185511165177100984132295035414214345728430304533344535972170008632601015556607038971535561038146080678328608760453083425801822859871275714687287735057053542264499796148571594799158704648753379500084277141293550850092011094711635292997436967868865175711531651647518159290643352667233333649648926456221241114096827107871797343213780128779424626958483650294271067196729599459844902074378884261766942765961425902735915994968572531670882730010179232026581161821255679002759927996396881828568178934203371266184748927995929935529166065651144042883205426223576722849223173708552471030120045454958133108049761866752950425306508083255745444094077396708013743695869188083820867087989922257563702595940288331310604285776541780891206284331844111544478052437113106567306185682556329303402347485306842321410319229649606213960287529270981594776517697581645318851161634013615745165303002115189841650200584894646408564600028832812771398470175725543150215114015083385318578905242077041272924633994886129002193901617997932469166420185666083819045857637754280339123065330727531986240701579735864898769409438508018271584414151994580289347627791452440963603750872119966523404402164290273891146273208604150209625096321468659763084371176582295517062029213352603820856321967740285831324115377873096938422943801596478711278539583051291482703607604973574795971443383774710178129839684343940716544139848529774938618129778370307203345983857906862066780948619052058237205096491353814186201205361597060108235374221173908568597094746739549929575176218957930814310402342632890385254935585821940193752679552756490650957707929400008365598214474622325357212557031747967574371427721526135451530741509834984000877174522511295728507414347463436669842067141556183762743281483028880614684181483869393435565550362253539790905425232780778860247217138623339458679188408981440531301340821946806217362029651284832408655249693793683078663556414395159427555908216135614601036772160846013889973480405770207076617409082209130469803994168387209313552085287204574121326297745521902972477657913264326501219356343703140964099005566463205148987763698001551518358228141146534818601565617239221202215110697745990275926925171461308476467934878783313823146037615438838153316170392407729347846257849584052689025530505557554270407141588987780015719460576462225421664264348856598198842048167326506864446682333015058927109431695409654111773557525995541840963039266995482184430053332043881133374420648999666815095987939951756853829016908265885464258828936922039397838987137521357047653008393032337984616861495024111547432256498996245786646195940531506443025421373699148943394581063023185087197580548541927328860240179449469555548457341386993452881617282147422194481962624951398362922935628190113335943738284467007594040083769591416265180040184831099272588015096346756233225443512220393549615127669149260890357183139828376869059398269317639586670043795102377483217840094408997606386160612537754873353981567540893891524141298339424182720190670067560101660006890911113947233690956576880956796770376572129718377599972466872517982854011504007970090711363035449668200782077412268170542643374988269395596434249299657517040409013942428831564713142359713775541378296918176420481310095305018292491084163876052504115234890593126027981070152098162743504734237555621393377920251666092924121457817605995270435334582208407286777508725732688204979642020518330078591104018307545686778726546026332418653637842865932962949422139835597916823951128085758587467425751461402893340635127401648082921571229190437465542482376915831976364682495941200481130723450655831377824131384028760021531164233126057564066720668816935150362097787501659787682241994093823418543865108733524022537623867306894360170361940708080939281615815630613459505684080444131301219353984341458659213432445219064723333320254641992887848049406913213242043860544343431878446959362076749067354496044972806638710917422983620123666166797134788154749882924283615715606207257626985048013164398740108742255285606259093935732216773405447864190132663649061238198633346080688961172666594791688063796992157029925466875843274978254068553339752974356133072789706911723100679966873552179606597781228422200481547817253906247123711010864951389995244913483413746260038812983784731140058749216584294352852399818244043595541973708196192305412561054485746601078794432026387841006510588697070449324445949368223634263235878114611884704719183409916189195968040982005537619400799647060837199503297292663729091960847285893075566193692434769353794568080814354392579057546988891763077136411444492095691281062526527397357855929667318473839194198806525962395410624018600296078296819765929708933686678039032788025777630782691199808501709379574265101190287439924075745704522635603284821497800515135072248519895210865584164659297105765069091217109667668986364958042966115495719236242952136586162120902451412111981183754741449665329828728343169218756100590258132869471729596009167888709951459450233709402569651423019011 79221136326288413549090453617582214988603149380032775393045753873679347103737428810698791647263113706575282689198477135930652137291317188670030006057926509831856472550143054466006425134587034426949120010210832597783143689081004098970652114673282224426184172485773967049733965817226715156969648131835381010189470025770375559444559659305270898952170617343578663720139463438305206193729450577009951868047317341521679722886752217921827822705466305632297648679105292595306982225729633137305184703173136534319068330149229142960259210328722455601450057473003629441834416962669954405564521304502500726298911194393554191501157954017925309977598836623748100506311537547090223313424323313673085311409323919977212070953990949404412305207140907616619412378270976434206887105501661848469182736298770557698748104969475842500166345456724876246803841548685455561851856586967869889986216391448174596518073583228454703935275996041071738034755239225816281721293011288588359444337681021846829274952700086230836341401062887321604178406708278357480439226036171803414304571700770050264769130291420603534822495795966981715612394351588510056912232508637273573895372779156159436797233748213294951636931736322625278881149941049169682180025310119656903852664689348405476728233436921288688205034751242856813863451202798101231235894933014025474654357904163264189792879110990531247061528782494741231885291482973616690359904394443018958369073484128300703937149692838128916254439952768266768999800895221352172804608885628145520829329108509888656265795056847497582709463200002373315731960683089450281141672128908771066872542843950397795050900482861371828770525181267955544208230938560999841196913163882946371552828126583680248944964520944418180558701521838650855170095150234372062727397690674991347946365752214498420657007149585319909260780872426315558079608099072865828174703417406185318728278145026184310672633645641700732291542811057990742838365066341014265183949971790930431087121056345347741501667746148234688653065189269356885872908647581204650438736957716528711548574555583977239301969823515430537595181395319473570033411789209713074292228145962019286962544117035974563318921268241513986555088394502711032433789248734183877010959345104750102614262227563661010217640141350231316347211768763385670337883433049195056061300162041862964241528184097908283230852906666992480893473206747006312106694438401261591124362380788902882710265313013071263115504159140550179707220633782158597940373880726872858838789886163551228708805088540541574505134133745949431125107024728689987177439066224173647204385151471810845156172459609697201263898819372465925856032821983943945509201296896112993390414319772317613998628115011584901662481020736975231857679558573639533120123760882987807897148264001476729480741158503008405824181375825684426593602078107066384305742314153383784825815001170364503279303283157714730965700730790958163526085614077255893030881612578737162635171062435305862363661501175783671862584712802832632731639923317926092501167046294294878922434436385815597766578254085927198853219424480746368612964091254086956730350365974846418411767133289280026522101904776721397535481072023153960396155426365282526318432948840966649466716318812335304612541684202901596339076117983534399558629308180937552570931412127563964839611720473046765641026358839977096301838517860717992220124429055320994261412222457829626748188314831526678529121257451724121669436757611557692716596947663821034873517375372433749628434475153359120061495211777091719559441963916844642691242108239222713715540944215042751815205832903182816602051553000809853471087600226541940973229542173962641860015572714026730877762563780111880467244618055586935195897209646109126685288690235443479134420307287200865787784854857681194140932834097813623138157320433948668365280904196167520730495552269155400544459597418276177569668057444229387270850059959177577695113400939572251098823419194625556857107173746511343007800181920881221537624681494893301655822089723344553388000429323171176866004751029713971505534118999127107434111180853160547174861752751626348577776330731649967976997705926985766161797485058129299093471507452375539795559192778297669346728398663209935467310249960415041458812552734910388740750185119204150326407565301155455130213015082150774995891695158121179129263515005175587602007309165752571455482494701985152058285071569163352124307190188600099648633956424637872070374433661282860434946347675030365936337518341250497939530670492049152682751595740299650777955876517336356201954238740449622894424782067167868473814849903355130288000808722848881716523423304369683278744797091680665929947282004599884742141903092455370441529688744167156179077360250483378518119247298849108528250294762208416407986167476148567175178874063800358086027457895630650648669396258429142206700367153305674783250866422661286263393363325796268275165731232739893184194968961403246730119774337399703422463459231675588482935858420765326421555448280339061724466310717136212252868177897932924653530049677696436162757662269366798190208071681769644893941942974134840361829280739998511129729526702298361645614792859833141153396637763978261364317262779683444024446799942602179506309308829708000706164362584967544123944262478613936873150629875606572943548220887109756073849240773353610522128256052318094523961849199416335892154957022886522856407858766221227733233769855803540797195843736795162918258589030898376105673396821691371141078048940078157513454368981977910858251016762020830161673450276912167612177864217402281884081697525964997122986657878537513893383684107209185434682030581611841138320769751165820198510744298727746999807978419121499753915601607922696176540527435469670341293526747506706526024530442810609168649651488186829417974713332892493843632020625662134700088384496204167242147258558309791277779399383749139370284867286168094886544821422737637802164641269558545701441664386153037171353886211403725205681597970913022628953115278573534601804694766770034985736868925734980630049997686944790517637071797350609058196799433236359876639015798606019522872255619522116052138570098167166266498733891031108802657143775059617458142604429165804720101056675638719316542457760009090061209984977397292885275149606401974049153909692505148219826918259844782109296960962668656427745596201014333963313980270250168486273994989481135537270723574107717244316660088927662936290431190977141636475102177302706274086655242143720376303626665531386214442689649201190586832460162739827248970951243047440330228206331631112497739878283020377893436493175592457922732266429291282308155450226625908735145243692396554905981224214276161473784801143286259695282125512040501344451566921615076695587270678352226833487853937549564212575401137028689407768946214072151854724602769103465475825754648083539620644496540756262476390723165771983841025405599650289140025146921553140992130744935601340339721606678745401623060593372384771360928037839290017553053687662881909325377632775454112253161089384150763856706709155478909949994753852927323817406887036600795067326371378788198824332878167341364967879877879238807231553439728369018467221599420820323413253492898108084906827199959825847516517138472194789248173159585268081314575918495931090240886524799021431864303823205292763974048397599206812537350644671886512896943549787393792013585758364951639015903806808257622062909142313231743480044638793538545919980650491431925030133693346821159087402194007666994942204762440475125178705040855041713359185302696287569744680604190515945891306060582731794814908843958353954702356548613096039147793243847008308977635561964476974997951064591650034486821018815827067440683467721305397279261255554886935728702038082522417061993386180239766246562722248573939589551463440216540148757382768091588138660292719477108563071144875031522670308447900691983255937682162468481877091121037630772727278138515616236001256623965847146632370258907566117444498723076761005067670267433967584124059982950527552684126829463945259162716865211890575671788315183102363107529308174560259235390303117426425526334200493809978331057159437911165295498631423603473319109300623522908911153779412709804961551139930617047949474361706760660471241914491395100667580257747629101647580790725836642955974210568542006096121792397082649454719102730385503190578335481925220951303611391214549703657189680455196346478377576648796225287534093375835944628560149537373180156497980646947482611425085448686655661776669311742295297814178013215311938924288491062998382097579430060278739035515872696978219934320562561595472608922323860525399884510982402005269156441982086483021029918558209724470491903799974743155409617616793047923689985178433315018756427849919071082417642288796404481615231515234452681159882921091503004550444101071092708811340514603382017663740887649084380236302609941981934458359114802326529287265867836586784975966554986634154342857441112067919515289522362798595615675285893464419458686422183504043133224290707533174576650932865938948401459027619947526422651202675898412812192885113849595817623488233557657324742800374393771493612612994490199832072720005221382391736290818088439567832190214526069759576939763059225294047689399842770969550271822493372060085246999178803887808375697715787460887952953376038287195940678828372114751832221735499728113180144886805780940960771191887792284320985144166141635393515416730908788312195300491807806540287070491481431962163136379543929660618181107758371359830272070710330540964244840736100126945150261956581967738136878967906151503477030589413476778396488056255128274618652814459320832933615142116047026707587220756919312766986953137529175073213247265939159691046998370580315251080657075929005601304731518695855137789275121205684896535005308306213389054064280969057885721542388986811077341891260041925887056878130127572583927539693499699113748046877120963906069001823409562788230808853853871882873439472647253434523002060852420272156695039139430549806321097367810917227205204247017367003229877344084778548555114682479336206900025536057463019980330999992904087435962707758338762003728511765178466640449320652612534210798892815867357916179819681928104828396478395978907986688587587211048028175297039898923093781251066820216389866502543454979385315466322731193630241277133766306683368683633769391462572687987584895042715635934566846009082053691659625628107925455524966171892172371347581776938133011946883355527792757280423901439843787718910514187571823733633970498290959128713803276395973214824695287254119656282385379882044684859740770770278952462807363972180867983716145726826403124279164669065683519737643851028582182178847409253790169102711752823675738101624258228757004430831589700933826769294222110208159503937943407859874680379804051887083961895061924782547582746137283942772401572559120470890618028176688321500424321999931090462064837742650236200746027254163561595334216630144019027040253177959675166099546895382119057589923150803302324507323848614026929585740973630842804613794984942817152682790916367496479469160062752291871555062959744198529261258320214197863335418932826502335611940388568414533543083903871787619265150316201237229731526540177347040557596914219634494593235084100440185902704961496894801815965828241488132952816404388213547139957096281106720657002724584983296567282421021887309645830545420849278973750640190607812610285157453521737441247551562739193013130693895523904297417282234702467824997650172419479439441255022332965189964811370036473464368552713455590919789499626730938265251068093725738139931895013962725859474556756480116280260627787935108686778592189332291505719726719077482505187732166430397583619665581803192980606593527468509467816727622815672436856982934841596850565981312553199365240177231983103452801762396781049408644396871558903699749565332207142811049048182624446587821028122603421082599612278424274067596446947245822830895127763586085330483630169076457504200909936850085672679490880916987771671515958792100086504441906166883057826386663807415827634696644519029381309240506884533527368051945982355761911196589505004453747172652632673455899462375061151550202616213923220708752452854045423726557808849891888030846969306960246896955191577509230349214673674304878671561397306240994072993825456945871524545215733592827655417488586747072957508855181351739836239516748037158449381239108123306523023110606298661963449674881082925925182603579867432015156377469556858305777174344856478521223612021292097541422140997855352914884173428175300104591711531080100684181580152409902546924543842486751409960437530742940467914808195608386244877173254708593769693062019878116577906713925284724212499272016326655687037805861084034663471955740078323831260597635073616757531455521508225492584632755110967542630950029824124804297778532120880397292269012808717272937581671062086187217594121399060707960164699001290114066485733674124975811987529304662145369009685503503483770721563379402675107892122876415605486214206297448754683781403239806537538455364899600384016511186109979196731136111559988652249109059056168727472084538886421222923955607805422086145083637022950060876062174197864672413969585040042931102016508335956544836945146914417495407775650762282977322790449733124545925755577597392025325814499788040984962636803160041576333869107365103345436520492842564340583591374847080571930935862552516625782779041355969495487938367307196905822099747825409940214053125418301400165599210384369057968532771267647066097632473841493894932527254594748261729799745997254470892900027688147535761266961443652943362375094153936457173896714510094804719288158533617491705759294008994214663249335906030635041546659193089468296514419227259898203401530859419267131796445278056911860935066219071490744507841265663013103787850917716560627115299079929392784960788169389639642636928919137356685242062618011173253577755634544111490406599834395070546417259533081499314590431851416924461990127281271831716927498057263894319433547964585821210845155248304759236791970527909858268437867701766293389873401707383634346559756025253932252491367163869671335498100759208907182013538637647569178546153448742518676269317521023308462569177659615016238936113642996885529852767731796138614878688638842877780137867406890031299172968241732920849371966149656357885139880539429124981550348376736331988147006833619266898444566345127300817815203823325335258988154621191945104250030742389547813660159656194923767664196606864222178844363071769368368051332677090360739802718679846255482242958502316724132148976527954515007040979214783062355493764535649115037845928939623351602345024659399232752828640899098978368318305161153868621362932589755079169515524194859219463128937037204633849923957302777896111420831376689781588431280682001562545944684869845462144566311444801767559873642961060540810239793307814518761549342671646542816266006066097107070994150316288492762067803411954940672444196431787463715182363071290327035570413863014490862467793099839149530542244185511165177100984132295035414214345728430304533344535972170008632601015556607038971535561038146080678328608760453083425801822859871275714687287735057053542264499796148571594799158704648753379500084277141293550850092011094711635292997436967868865175711531651647518159290643352667233333649648926456221241114096827107871797343213780128779424626958483650294271067196729599459844902074378884261766942765961425902735915994968572531670882730010179232026581161821255679002759927996396881828568178934203371266184748927995929935529166065651144042883205426223576722849223173708552471030120045454958133108049761866752950425306508083255745444094077396708013743695869188083820867087989922257563702595940288331310604285776541780891206284331844111544478052437113106567306185682556329303402347485306842321410319229649606213960287529270981594776517697581645318851161634013615745165303002115189841650200584894646408564600028832812771398470175725543150215114015083385318578905242077041272924633994886129002193901617997932469166420185666083819045857637754280339123065330727531986240701579735864898769409438508018271584414151994580289347627791452440963603750872119966523404402164290273891146273208604150209625096321468659763084371176582295517062029213352603820856321967740285831324115377873096938422943801596478711278539583051291482703607604973574795971443383774710178129839684343940716544139848529774938618129778370307203345983857906862066780948619052058237205096491353814186201205361597060108235374221173908568597094746739549929575176218957930814310402342632890385254935585821940193752679552756490650957707929400008365598214474622325357212557031747967574371427721526135451530741509834984000877174522511295728507414347463436669842067141556183762743281483028880614684181483869393435565550362253539790905425232780778860247217138623339458679188408981440531301340821946806217362029651284832408655249693793683078663556414395159427555908216135614601036772160846013889973480405770207076617409082209130469803994168387209313552085287204574121326297745521902972477657913264326501219356343703140964099005566463205148987763698001551518358228141146534818601565617239221202215110697745990275926925171461308476467934878783313823146037615438838153316170392407729347846257849584052689025530505557554270407141588987780015719460576462225421664264348856598198842048167326506864446682333015058927109431695409654111773557525995541840963039266995482184430053332043881133374420648999666815095987939951756853829016908265885464258828936922039397838987137521357047653008393032337984616861495024111547432256498996245786646195940531506443025421373699148943394581063023185087197580548541927328860240179449469555548457341386993452881617282147422194481962624951398362922935628190113335943738284467007594040083769591416265180040184831099272588015096346756233225443512220393549615127669149260890357183139828376869059398269317639586670043795102377483217840094408997606386160612537754873353981567540893891524141298339424182720190670067560101660006890911113947233690956576880956796770376572129718377599972466872517982854011504007970090711363035449668200782077412268170542643374988269395596434249299657517040409013942428831564713142359713775541378296918176420481310095305018292491084163876052504115234890593126027981070152098162743504734237555621393377920251666092924121457817605995270435334582208407286777508725732688204979642020518330078591104018307545686778726546026332418653637842865932962949422139835597916823951128085758587467425751461402893340635127401648082921571229190437465542482376915831976364682495941200481130723450655831377824131384028760021531164233126057564066720668816935150362097787501659787682241994093823418543865108733524022537623867306894360170361940708080939281615815630613459505684080444131301219353984341458659213432445219064723333320254641992887848049406913213242043860544343431878446959362076749067354496044972806638710917422983620123666166797134788154749882924283615715606207257626985048013164398740108742255285606259093935732216773405447864190132663649061238198633346080688961172666594791688063796992157029925466875843274978254068553339752974356133072789706911723100679966873552179606597781228422200481547817253906247123711010864951389995244913483413746260038812983784731140058749216584294352852399818244043595541973708196192305412561054485746601078794432026387841006510588697070449324445949368223634263235878114611884704719183409916189195968040982005537619400799647060837199503297292663729091960847285893075566193692434769353794568080814354392579057546988891763077136411444492095691281062526527397357855929667318473839194198806525962395410624018600296078296819765929708933686678039032788025777630782691199808501709379574265101190287439924075745704522635603284821497800515135072248519895210865584164659297105765069091217109667668986364958042966115495719236242952136586162120902451412111981183754741449665329828728343169218756100590258132869471729596009167888709951459450233709402569651423019011 | | 4 79221136326288413549090453617582214988603149380032775393045753873679347103737428810698791647263113706575282689198477135930652137291317188670030006057926509831856472550143054466006425134587034426949120010210832597783143689081004098970652114673282224426184172485773967049733965817226715156969648131835381010189470025770375559444559659305270898952170617343578663720139463438305206193729450577009951868047317341521679722886752217921827822705466305632297648679105292595306982225729633137305184703173136534319068330149229142960259210328722455601450057473003629441834416962669954405564521304502500726298911194393554191501157954017925309977598836623748100506311537547090223313424323313673085311409323919977212070953990949404412305207140907616619412378270976434206887105501661848469182736298770557698748104969475842500166345456724876246803841548685455561851856586967869889986216391448174596518073583228454703935275996041071738034755239225816281721293011288588359444337681021846829274952700086230836341401062887321604178406708278357480439226036171803414304571700770050264769130291420603534822495795966981715612394351588510056912232508637273573895372779156159436797233748213294951636931736322625278881149941049169682180025310119656903852664689348405476728233436921288688205034751242856813863451202798101231235894933014025474654357904163264189792879110990531247061528782494741231885291482973616690359904394443018958369073484128300703937149692838128916254439952768266768999800895221352172804608885628145520829329108509888656265795056847497582709463200002373315731960683089450281141672128908771066872542843950397795050900482861371828770525181267955544208230938560999841196913163882946371552828126583680248944964520944418180558701521838650855170095150234372062727397690674991347946365752214498420657007149585319909260780872426315558079608099072865828174703417406185318728278145026184310672633645641700732291542811057990742838365066341014265183949971790930431087121056345347741501667746148234688653065189269356885872908647581204650438736957716528711548574555583977239301969823515430537595181395319473570033411789209713074292228145962019286962544117035974563318921268241513986555088394502711032433789248734183877010959345104750102614262227563661010217640141350231316347211768763385670337883433049195056061300162041862964241528184097908283230852906666992480893473206747006312106694438401261591124362380788902882710265313013071263115504159140550179707220633782158597940373880726872858838789886163551228708805088540541574505134133745949431125107024728689987177439066224173647204385151471810845156172459609697201263898819372465925856032821983943945509201296896112993390414319772317613998628115011584901662481020736975231857679558573639533120123760882987807897148264001476729480741158503008405824181375825684426593602078107066384305742314153383784825815001170364503279303283157714730965700730790958163526085614077255893030881612578737162635171062435305862363661501175783671862584712802832632731639923317926092501167046294294878922434436385815597766578254085927198853219424480746368612964091254086956730350365974846418411767133289280026522101904776721397535481072023153960396155426365282526318432948840966649466716318812335304612541684202901596339076117983534399558629308180937552570931412127563964839611720473046765641026358839977096301838517860717992220124429055320994261412222457829626748188314831526678529121257451724121669436757611557692716596947663821034873517375372433749628434475153359120061495211777091719559441963916844642691242108239222713715540944215042751815205832903182816602051553000809853471087600226541940973229542173962641860015572714026730877762563780111880467244618055586935195897209646109126685288690235443479134420307287200865787784854857681194140932834097813623138157320433948668365280904196167520730495552269155400544459597418276177569668057444229387270850059959177577695113400939572251098823419194625556857107173746511343007800181920881221537624681494893301655822089723344553388000429323171176866004751029713971505534118999127107434111180853160547174861752751626348577776330731649967976997705926985766161797485058129299093471507452375539795559192778297669346728398663209935467310249960415041458812552734910388740750185119204150326407565301155455130213015082150774995891695158121179129263515005175587602007309165752571455482494701985152058285071569163352124307190188600099648633956424637872070374433661282860434946347675030365936337518341250497939530670492049152682751595740299650777955876517336356201954238740449622894424782067167868473814849903355130288000808722848881716523423304369683278744797091680665929947282004599884742141903092455370441529688744167156179077360250483378518119247298849108528250294762208416407986167476148567175178874063800358086027457895630650648669396258429142206700367153305674783250866422661286263393363325796268275165731232739893184194968961403246730119774337399703422463459231675588482935858420765326421555448280339061724466310717136212252868177897932924653530049677696436162757662269366798190208071681769644893941942974134840361829280739998511129729526702298361645614792859833141153396637763978261364317262779683444024446799942602179506309308829708000706164362584967544123944262478613936873150629875606572943548220887109756073849240773353610522128256052318094523961849199416335892154957022886522856407858766221227733233769855803540797195843736795162918258589030898376105673396821691371141078048940078157513454368981977910858251016762020830161673450276912167612177864217402281884081697525964997122986657878537513893383684107209185434682030581611841138320769751165820198510744298727746999807978419121499753915601607922696176540527435469670341293526747506706526024530442810609168649651488186829417974713332892493843632020625662134700088384496204167242147258558309791277779399383749139370284867286168094886544821422737637802164641269558545701441664386153037171353886211403725205681597970913022628953115278573534601804694766770034985736868925734980630049997686944790517637071797350609058196799433236359876639015798606019522872255619522116052138570098167166266498733891031108802657143775059617458142604429165804720101056675638719316542457760009090061209984977397292885275149606401974049153909692505148219826918259844782109296960962668656427745596201014333963313980270250168486273994989481135537270723574107717244316660088927662936290431190977141636475102177302706274086655242143720376303626665531386214442689649201190586832460162739827248970951243047440330228206331631112497739878283020377893436493175592457922732266429291282308155450226625908735145243692396554905981224214276161473784801143286259695282125512040501344451566921615076695587270678352226833487853937549564212575401137028689407768946214072151854724602769103465475825754648083539620644496540756262476390723165771983841025405599650289140025146921553140992130744935601340339721606678745401623060593372384771360928037839290017553053687662881909325377632775454112253161089384150763856706709155478909949994753852927323817406887036600795067326371378788198824332878167341364967879877879238807231553439728369018467221599420820323413253492898108084906827199959825847516517138472194789248173159585268081314575918495931090240886524799021431864303823205292763974048397599206812537350644671886512896943549787393792013585758364951639015903806808257622062909142313231743480044638793538545919980650491431925030133693346821159087402194007666994942204762440475125178705040855041713359185302696287569744680604190515945891306060582731794814908843958353954702356548613096039147793243847008308977635561964476974997951064591650034486821018815827067440683467721305397279261255554886935728702038082522417061993386180239766246562722248573939589551463440216540148757382768091588138660292719477108563071144875031522670308447900691983255937682162468481877091121037630772727278138515616236001256623965847146632370258907566117444498723076761005067670267433967584124059982950527552684126829463945259162716865211890575671788315183102363107529308174560259235390303117426425526334200493809978331057159437911165295498631423603473319109300623522908911153779412709804961551139930617047949474361706760660471241914491395100667580257747629101647580790725836642955974210568542006096121792397082649454719102730385503190578335481925220951303611391214549703657189680455196346478377576648796225287534093375835944628560149537373180156497980646947482611425085448686655661776669311742295297814178013215311938924288491062998382097579430060278739035515872696978219934320562561595472608922323860525399884510982402005269156441982086483021029918558209724470491903799974743155409617616793047923689985178433315018756427849919071082417642288796404481615231515234452681159882921091503004550444101071092708811340514603382017663740887649084380236302609941981934458359114802326529287265867836586784975966554986634154342857441112067919515289522362798595615675285893464419458686422183504043133224290707533174576650932865938948401459027619947526422651202675898412812192885113849595817623488233557657324742800374393771493612612994490199832072720005221382391736290818088439567832190214526069759576939763059225294047689399842770969550271822493372060085246999178803887808375697715787460887952953376038287195940678828372114751832221735499728113180144886805780940960771191887792284320985144166141635393515416730908788312195300491807806540287070491481431962163136379543929660618181107758371359830272070710330540964244840736100126945150261956581967738136878967906151503477030589413476778396488056255128274618652814459320832933615142116047026707587220756919312766986953137529175073213247265939159691046998370580315251080657075929005601304731518695855137789275121205684896535005308306213389054064280969057885721542388986811077341891260041925887056878130127572583927539693499699113748046877120963906069001823409562788230808853853871882873439472647253434523002060852420272156695039139430549806321097367810917227205204247017367003229877344084778548555114682479336206900025536057463019980330999992904087435962707758338762003728511765178466640449320652612534210798892815867357916179819681928104828396478395978907986688587587211048028175297039898923093781251066820216389866502543454979385315466322731193630241277133766306683368683633769391462572687987584895042715635934566846009082053691659625628107925455524966171892172371347581776938133011946883355527792757280423901439843787718910514187571823733633970498290959128713803276395973214824695287254119656282385379882044684859740770770278952462807363972180867983716145726826403124279164669065683519737643851028582182178847409253790169102711752823675738101624258228757004430831589700933826769294222110208159503937943407859874680379804051887083961895061924782547582746137283942772401572559120470890618028176688321500424321999931090462064837742650236200746027254163561595334216630144019027040253177959675166099546895382119057589923150803302324507323848614026929585740973630842804613794984942817152682790916367496479469160062752291871555062959744198529261258320214197863335418932826502335611940388568414533543083903871787619265150316201237229731526540177347040557596914219634494593235084100440185902704961496894801815965828241488132952816404388213547139957096281106720657002724584983296567282421021887309645830545420849278973750640190607812610285157453521737441247551562739193013130693895523904297417282234702467824997650172419479439441255022332965189964811370036473464368552713455590919789499626730938265251068093725738139931895013962725859474556756480116280260627787935108686778592189332291505719726719077482505187732166430397583619665581803192980606593527468509467816727622815672436856982934841596850565981312553199365240177231983103452801762396781049408644396871558903699749565332207142811049048182624446587821028122603421082599612278424274067596446947245822830895127763586085330483630169076457504200909936850085672679490880916987771671515958792100086504441906166883057826386663807415827634696644519029381309240506884533527368051945982355761911196589505004453747172652632673455899462375061151550202616213923220708752452854045423726557808849891888030846969306960246896955191577509230349214673674304878671561397306240994072993825456945871524545215733592827655417488586747072957508855181351739836239516748037158449381239108123306523023110606298661963449674881082925925182603579867432015156377469556858305777174344856478521223612021292097541422140997855352914884173428175300104591711531080100684181580152409902546924543842486751409960437530742940467914808195608386244877173254708593769693062019878116577906713925284724212499272016326655687037805861084034663471955740078323831260597635073616757531455521508225492584632755110967542630950029824124804297778532120880397292269012808717272937581671062086187217594121399060707960164699001290114066485733674124975811987529304662145369009685503503483770721563379402675107892122876415605486214206297448754683781403239806537538455364899600384016511186109979196731136111559988652249109059056168727472084538886421222923955607805422086145083637022950060876062174197864672413969585040042931102016508335956544836945146914417495407775650762282977322790449733124545925755577597392025325814499788040984962636803160041576333869107365103345436520492842564340583591374847080571930935862552516625782779041355969495487938367307196905822099747825409940214053125418301400165599210384369057968532771267647066097632473841493894932527254594748261729799745997254470892900027688147535761266961443652943362375094153936457173896714510094804719288158533617491705759294008994214663249335906030635041546659193089468296514419227259898203401530859419267131796445278056911860935066219071490744507841265663013103787850917716560627115299079929392784960788169389639642636928919137356685242062618011173253577755634544111490406599834395070546417259533081499314590431851416924461990127281271831716927498057263894319433547964585821210845155248304759236791970527909858268437867701766293389873401707383634346559756025253932252491367163869671335498100759208907182013538637647569178546153448742518676269317521023308462569177659615016238936113642996885529852767731796138614878688638842877780137867406890031299172968241732920849371966149656357885139880539429124981550348376736331988147006833619266898444566345127300817815203823325335258988154621191945104250030742389547813660159656194923767664196606864222178844363071769368368051332677090360739802718679846255482242958502316724132148976527954515007040979214783062355493764535649115037845928939623351602345024659399232752828640899098978368318305161153868621362932589755079169515524194859219463128937037204633849923957302777896111420831376689781588431280682001562545944684869845462144566311444801767559873642961060540810239793307814518761549342671646542816266006066097107070994150316288492762067803411954940672444196431787463715182363071290327035570413863014490862467793099839149530542244185511165177100984132295035414214345728430304533344535972170008632601015556607038971535561038146080678328608760453083425801822859871275714687287735057053542264499796148571594799158704648753379500084277141293550850092011094711635292997436967868865175711531651647518159290643352667233333649648926456221241114096827107871797343213780128779424626958483650294271067196729599459844902074378884261766942765961425902735915994968572531670882730010179232026581161821255679002759927996396881828568178934203371266184748927995929935529166065651144042883205426223576722849223173708552471030120045454958133108049761866752950425306508083255745444094077396708013743695869188083820867087989922257563702595940288331310604285776541780891206284331844111544478052437113106567306185682556329303402347485306842321410319229649606213960287529270981594776517697581645318851161634013615745165303002115189841650200584894646408564600028832812771398470175725543150215114015083385318578905242077041272924633994886129002193901617997932469166420185666083819045857637754280339123065330727531986240701579735864898769409438508018271584414151994580289347627791452440963603750872119966523404402164290273891146273208604150209625096321468659763084371176582295517062029213352603820856321967740285831324115377873096938422943801596478711278539583051291482703607604973574795971443383774710178129839684343940716544139848529774938618129778370307203345983857906862066780948619052058237205096491353814186201205361597060108235374221173908568597094746739549929575176218957930814310402342632890385254935585821940193752679552756490650957707929400008365598214474622325357212557031747967574371427721526135451530741509834984000877174522511295728507414347463436669842067141556183762743281483028880614684181483869393435565550362253539790905425232780778860247217138623339458679188408981440531301340821946806217362029651284832408655249693793683078663556414395159427555908216135614601036772160846013889973480405770207076617409082209130469803994168387209313552085287204574121326297745521902972477657913264326501219356343703140964099005566463205148987763698001551518358228141146534818601565617239221202215110697745990275926925171461308476467934878783313823146037615438838153316170392407729347846257849584052689025530505557554270407141588987780015719460576462225421664264348856598198842048167326506864446682333015058927109431695409654111773557525995541840963039266995482184430053332043881133374420648999666815095987939951756853829016908265885464258828936922039397838987137521357047653008393032337984616861495024111547432256498996245786646195940531506443025421373699148943394581063023185087197580548541927328860240179449469555548457341386993452881617282147422194481962624951398362922935628190113335943738284467007594040083769591416265180040184831099272588015096346756233225443512220393549615127669149260890357183139828376869059398269317639586670043795102377483217840094408997606386160612537754873353981567540893891524141298339424182720190670067560101660006890911113947233690956576880956796770376572129718377599972466872517982854011504007970090711363035449668200782077412268170542643374988269395596434249299657517040409013942428831564713142359713775541378296918176420481310095305018292491084163876052504115234890593126027981070152098162743504734237555621393377920251666092924121457817605995270435334582208407286777508725732688204979642020518330078591104018307545686778726546026332418653637842865932962949422139835597916823951128085758587467425751461402893340635127401648082921571229190437465542482376915831976364682495941200481130723450655831377824131384028760021531164233126057564066720668816935150362097787501659787682241994093823418543865108733524022537623867306894360170361940708080939281615815630613459505684080444131301219353984341458659213432445219064723333320254641992887848049406913213242043860544343431878446959362076749067354496044972806638710917422983620123666166797134788154749882924283615715606207257626985048013164398740108742255285606259093935732216773405447864190132663649061238198633346080688961172666594791688063796992157029925466875843274978254068553339752974356133072789706911723100679966873552179606597781228422200481547817253906247123711010864951389995244913483413746260038812983784731140058749216584294352852399818244043595541973708196192305412561054485746601078794432026387841006510588697070449324445949368223634263235878114611884704719183409916189195968040982005537619400799647060837199503297292663729091960847285893075566193692434769353794568080814354392579057546988891763077136411444492095691281062526527397357855929667318473839194198806525962395410624018600296078296819765929708933686678039032788025777630782691199808501709379574265101190287439924075745704522635603284821497800515135072248519895210865584164659297105765069091217109667668986364958042966115495719236242952136586162120902451412111981183754741449665329828728343169218756100590258132869471729596009167888709951459450233709402569702962626564 79221136326288413549090453617582214988603149380032775393045753873679347103737428810698791647263113706575282689198477135930652137291317188670030006057926509831856472550143054466006425134587034426949120010210832597783143689081004098970652114673282224426184172485773967049733965817226715156969648131835381010189470025770375559444559659305270898952170617343578663720139463438305206193729450577009951868047317341521679722886752217921827822705466305632297648679105292595306982225729633137305184703173136534319068330149229142960259210328722455601450057473003629441834416962669954405564521304502500726298911194393554191501157954017925309977598836623748100506311537547090223313424323313673085311409323919977212070953990949404412305207140907616619412378270976434206887105501661848469182736298770557698748104969475842500166345456724876246803841548685455561851856586967869889986216391448174596518073583228454703935275996041071738034755239225816281721293011288588359444337681021846829274952700086230836341401062887321604178406708278357480439226036171803414304571700770050264769130291420603534822495795966981715612394351588510056912232508637273573895372779156159436797233748213294951636931736322625278881149941049169682180025310119656903852664689348405476728233436921288688205034751242856813863451202798101231235894933014025474654357904163264189792879110990531247061528782494741231885291482973616690359904394443018958369073484128300703937149692838128916254439952768266768999800895221352172804608885628145520829329108509888656265795056847497582709463200002373315731960683089450281141672128908771066872542843950397795050900482861371828770525181267955544208230938560999841196913163882946371552828126583680248944964520944418180558701521838650855170095150234372062727397690674991347946365752214498420657007149585319909260780872426315558079608099072865828174703417406185318728278145026184310672633645641700732291542811057990742838365066341014265183949971790930431087121056345347741501667746148234688653065189269356885872908647581204650438736957716528711548574555583977239301969823515430537595181395319473570033411789209713074292228145962019286962544117035974563318921268241513986555088394502711032433789248734183877010959345104750102614262227563661010217640141350231316347211768763385670337883433049195056061300162041862964241528184097908283230852906666992480893473206747006312106694438401261591124362380788902882710265313013071263115504159140550179707220633782158597940373880726872858838789886163551228708805088540541574505134133745949431125107024728689987177439066224173647204385151471810845156172459609697201263898819372465925856032821983943945509201296896112993390414319772317613998628115011584901662481020736975231857679558573639533120123760882987807897148264001476729480741158503008405824181375825684426593602078107066384305742314153383784825815001170364503279303283157714730965700730790958163526085614077255893030881612578737162635171062435305862363661501175783671862584712802832632731639923317926092501167046294294878922434436385815597766578254085927198853219424480746368612964091254086956730350365974846418411767133289280026522101904776721397535481072023153960396155426365282526318432948840966649466716318812335304612541684202901596339076117983534399558629308180937552570931412127563964839611720473046765641026358839977096301838517860717992220124429055320994261412222457829626748188314831526678529121257451724121669436757611557692716596947663821034873517375372433749628434475153359120061495211777091719559441963916844642691242108239222713715540944215042751815205832903182816602051553000809853471087600226541940973229542173962641860015572714026730877762563780111880467244618055586935195897209646109126685288690235443479134420307287200865787784854857681194140932834097813623138157320433948668365280904196167520730495552269155400544459597418276177569668057444229387270850059959177577695113400939572251098823419194625556857107173746511343007800181920881221537624681494893301655822089723344553388000429323171176866004751029713971505534118999127107434111180853160547174861752751626348577776330731649967976997705926985766161797485058129299093471507452375539795559192778297669346728398663209935467310249960415041458812552734910388740750185119204150326407565301155455130213015082150774995891695158121179129263515005175587602007309165752571455482494701985152058285071569163352124307190188600099648633956424637872070374433661282860434946347675030365936337518341250497939530670492049152682751595740299650777955876517336356201954238740449622894424782067167868473814849903355130288000808722848881716523423304369683278744797091680665929947282004599884742141903092455370441529688744167156179077360250483378518119247298849108528250294762208416407986167476148567175178874063800358086027457895630650648669396258429142206700367153305674783250866422661286263393363325796268275165731232739893184194968961403246730119774337399703422463459231675588482935858420765326421555448280339061724466310717136212252868177897932924653530049677696436162757662269366798190208071681769644893941942974134840361829280739998511129729526702298361645614792859833141153396637763978261364317262779683444024446799942602179506309308829708000706164362584967544123944262478613936873150629875606572943548220887109756073849240773353610522128256052318094523961849199416335892154957022886522856407858766221227733233769855803540797195843736795162918258589030898376105673396821691371141078048940078157513454368981977910858251016762020830161673450276912167612177864217402281884081697525964997122986657878537513893383684107209185434682030581611841138320769751165820198510744298727746999807978419121499753915601607922696176540527435469670341293526747506706526024530442810609168649651488186829417974713332892493843632020625662134700088384496204167242147258558309791277779399383749139370284867286168094886544821422737637802164641269558545701441664386153037171353886211403725205681597970913022628953115278573534601804694766770034985736868925734980630049997686944790517637071797350609058196799433236359876639015798606019522872255619522116052138570098167166266498733891031108802657143775059617458142604429165804720101056675638719316542457760009090061209984977397292885275149606401974049153909692505148219826918259844782109296960962668656427745596201014333963313980270250168486273994989481135537270723574107717244316660088927662936290431190977141636475102177302706274086655242143720376303626665531386214442689649201190586832460162739827248970951243047440330228206331631112497739878283020377893436493175592457922732266429291282308155450226625908735145243692396554905981224214276161473784801143286259695282125512040501344451566921615076695587270678352226833487853937549564212575401137028689407768946214072151854724602769103465475825754648083539620644496540756262476390723165771983841025405599650289140025146921553140992130744935601340339721606678745401623060593372384771360928037839290017553053687662881909325377632775454112253161089384150763856706709155478909949994753852927323817406887036600795067326371378788198824332878167341364967879877879238807231553439728369018467221599420820323413253492898108084906827199959825847516517138472194789248173159585268081314575918495931090240886524799021431864303823205292763974048397599206812537350644671886512896943549787393792013585758364951639015903806808257622062909142313231743480044638793538545919980650491431925030133693346821159087402194007666994942204762440475125178705040855041713359185302696287569744680604190515945891306060582731794814908843958353954702356548613096039147793243847008308977635561964476974997951064591650034486821018815827067440683467721305397279261255554886935728702038082522417061993386180239766246562722248573939589551463440216540148757382768091588138660292719477108563071144875031522670308447900691983255937682162468481877091121037630772727278138515616236001256623965847146632370258907566117444498723076761005067670267433967584124059982950527552684126829463945259162716865211890575671788315183102363107529308174560259235390303117426425526334200493809978331057159437911165295498631423603473319109300623522908911153779412709804961551139930617047949474361706760660471241914491395100667580257747629101647580790725836642955974210568542006096121792397082649454719102730385503190578335481925220951303611391214549703657189680455196346478377576648796225287534093375835944628560149537373180156497980646947482611425085448686655661776669311742295297814178013215311938924288491062998382097579430060278739035515872696978219934320562561595472608922323860525399884510982402005269156441982086483021029918558209724470491903799974743155409617616793047923689985178433315018756427849919071082417642288796404481615231515234452681159882921091503004550444101071092708811340514603382017663740887649084380236302609941981934458359114802326529287265867836586784975966554986634154342857441112067919515289522362798595615675285893464419458686422183504043133224290707533174576650932865938948401459027619947526422651202675898412812192885113849595817623488233557657324742800374393771493612612994490199832072720005221382391736290818088439567832190214526069759576939763059225294047689399842770969550271822493372060085246999178803887808375697715787460887952953376038287195940678828372114751832221735499728113180144886805780940960771191887792284320985144166141635393515416730908788312195300491807806540287070491481431962163136379543929660618181107758371359830272070710330540964244840736100126945150261956581967738136878967906151503477030589413476778396488056255128274618652814459320832933615142116047026707587220756919312766986953137529175073213247265939159691046998370580315251080657075929005601304731518695855137789275121205684896535005308306213389054064280969057885721542388986811077341891260041925887056878130127572583927539693499699113748046877120963906069001823409562788230808853853871882873439472647253434523002060852420272156695039139430549806321097367810917227205204247017367003229877344084778548555114682479336206900025536057463019980330999992904087435962707758338762003728511765178466640449320652612534210798892815867357916179819681928104828396478395978907986688587587211048028175297039898923093781251066820216389866502543454979385315466322731193630241277133766306683368683633769391462572687987584895042715635934566846009082053691659625628107925455524966171892172371347581776938133011946883355527792757280423901439843787718910514187571823733633970498290959128713803276395973214824695287254119656282385379882044684859740770770278952462807363972180867983716145726826403124279164669065683519737643851028582182178847409253790169102711752823675738101624258228757004430831589700933826769294222110208159503937943407859874680379804051887083961895061924782547582746137283942772401572559120470890618028176688321500424321999931090462064837742650236200746027254163561595334216630144019027040253177959675166099546895382119057589923150803302324507323848614026929585740973630842804613794984942817152682790916367496479469160062752291871555062959744198529261258320214197863335418932826502335611940388568414533543083903871787619265150316201237229731526540177347040557596914219634494593235084100440185902704961496894801815965828241488132952816404388213547139957096281106720657002724584983296567282421021887309645830545420849278973750640190607812610285157453521737441247551562739193013130693895523904297417282234702467824997650172419479439441255022332965189964811370036473464368552713455590919789499626730938265251068093725738139931895013962725859474556756480116280260627787935108686778592189332291505719726719077482505187732166430397583619665581803192980606593527468509467816727622815672436856982934841596850565981312553199365240177231983103452801762396781049408644396871558903699749565332207142811049048182624446587821028122603421082599612278424274067596446947245822830895127763586085330483630169076457504200909936850085672679490880916987771671515958792100086504441906166883057826386663807415827634696644519029381309240506884533527368051945982355761911196589505004453747172652632673455899462375061151550202616213923220708752452854045423726557808849891888030846969306960246896955191577509230349214673674304878671561397306240994072993825456945871524545215733592827655417488586747072957508855181351739836239516748037158449381239108123306523023110606298661963449674881082925925182603579867432015156377469556858305777174344856478521223612021292097541422140997855352914884173428175300104591711531080100684181580152409902546924543842486751409960437530742940467914808195608386244877173254708593769693062019878116577906713925284724212499272016326655687037805861084034663471955740078323831260597635073616757531455521508225492584632755110967542630950029824124804297778532120880397292269012808717272937581671062086187217594121399060707960164699001290114066485733674124975811987529304662145369009685503503483770721563379402675107892122876415605486214206297448754683781403239806537538455364899600384016511186109979196731136111559988652249109059056168727472084538886421222923955607805422086145083637022950060876062174197864672413969585040042931102016508335956544836945146914417495407775650762282977322790449733124545925755577597392025325814499788040984962636803160041576333869107365103345436520492842564340583591374847080571930935862552516625782779041355969495487938367307196905822099747825409940214053125418301400165599210384369057968532771267647066097632473841493894932527254594748261729799745997254470892900027688147535761266961443652943362375094153936457173896714510094804719288158533617491705759294008994214663249335906030635041546659193089468296514419227259898203401530859419267131796445278056911860935066219071490744507841265663013103787850917716560627115299079929392784960788169389639642636928919137356685242062618011173253577755634544111490406599834395070546417259533081499314590431851416924461990127281271831716927498057263894319433547964585821210845155248304759236791970527909858268437867701766293389873401707383634346559756025253932252491367163869671335498100759208907182013538637647569178546153448742518676269317521023308462569177659615016238936113642996885529852767731796138614878688638842877780137867406890031299172968241732920849371966149656357885139880539429124981550348376736331988147006833619266898444566345127300817815203823325335258988154621191945104250030742389547813660159656194923767664196606864222178844363071769368368051332677090360739802718679846255482242958502316724132148976527954515007040979214783062355493764535649115037845928939623351602345024659399232752828640899098978368318305161153868621362932589755079169515524194859219463128937037204633849923957302777896111420831376689781588431280682001562545944684869845462144566311444801767559873642961060540810239793307814518761549342671646542816266006066097107070994150316288492762067803411954940672444196431787463715182363071290327035570413863014490862467793099839149530542244185511165177100984132295035414214345728430304533344535972170008632601015556607038971535561038146080678328608760453083425801822859871275714687287735057053542264499796148571594799158704648753379500084277141293550850092011094711635292997436967868865175711531651647518159290643352667233333649648926456221241114096827107871797343213780128779424626958483650294271067196729599459844902074378884261766942765961425902735915994968572531670882730010179232026581161821255679002759927996396881828568178934203371266184748927995929935529166065651144042883205426223576722849223173708552471030120045454958133108049761866752950425306508083255745444094077396708013743695869188083820867087989922257563702595940288331310604285776541780891206284331844111544478052437113106567306185682556329303402347485306842321410319229649606213960287529270981594776517697581645318851161634013615745165303002115189841650200584894646408564600028832812771398470175725543150215114015083385318578905242077041272924633994886129002193901617997932469166420185666083819045857637754280339123065330727531986240701579735864898769409438508018271584414151994580289347627791452440963603750872119966523404402164290273891146273208604150209625096321468659763084371176582295517062029213352603820856321967740285831324115377873096938422943801596478711278539583051291482703607604973574795971443383774710178129839684343940716544139848529774938618129778370307203345983857906862066780948619052058237205096491353814186201205361597060108235374221173908568597094746739549929575176218957930814310402342632890385254935585821940193752679552756490650957707929400008365598214474622325357212557031747967574371427721526135451530741509834984000877174522511295728507414347463436669842067141556183762743281483028880614684181483869393435565550362253539790905425232780778860247217138623339458679188408981440531301340821946806217362029651284832408655249693793683078663556414395159427555908216135614601036772160846013889973480405770207076617409082209130469803994168387209313552085287204574121326297745521902972477657913264326501219356343703140964099005566463205148987763698001551518358228141146534818601565617239221202215110697745990275926925171461308476467934878783313823146037615438838153316170392407729347846257849584052689025530505557554270407141588987780015719460576462225421664264348856598198842048167326506864446682333015058927109431695409654111773557525995541840963039266995482184430053332043881133374420648999666815095987939951756853829016908265885464258828936922039397838987137521357047653008393032337984616861495024111547432256498996245786646195940531506443025421373699148943394581063023185087197580548541927328860240179449469555548457341386993452881617282147422194481962624951398362922935628190113335943738284467007594040083769591416265180040184831099272588015096346756233225443512220393549615127669149260890357183139828376869059398269317639586670043795102377483217840094408997606386160612537754873353981567540893891524141298339424182720190670067560101660006890911113947233690956576880956796770376572129718377599972466872517982854011504007970090711363035449668200782077412268170542643374988269395596434249299657517040409013942428831564713142359713775541378296918176420481310095305018292491084163876052504115234890593126027981070152098162743504734237555621393377920251666092924121457817605995270435334582208407286777508725732688204979642020518330078591104018307545686778726546026332418653637842865932962949422139835597916823951128085758587467425751461402893340635127401648082921571229190437465542482376915831976364682495941200481130723450655831377824131384028760021531164233126057564066720668816935150362097787501659787682241994093823418543865108733524022537623867306894360170361940708080939281615815630613459505684080444131301219353984341458659213432445219064723333320254641992887848049406913213242043860544343431878446959362076749067354496044972806638710917422983620123666166797134788154749882924283615715606207257626985048013164398740108742255285606259093935732216773405447864190132663649061238198633346080688961172666594791688063796992157029925466875843274978254068553339752974356133072789706911723100679966873552179606597781228422200481547817253906247123711010864951389995244913483413746260038812983784731140058749216584294352852399818244043595541973708196192305412561054485746601078794432026387841006510588697070449324445949368223634263235878114611884704719183409916189195968040982005537619400799647060837199503297292663729091960847285893075566193692434769353794568080814354392579057546988891763077136411444492095691281062526527397357855929667318473839194198806525962395410624018600296078296819765929708933686678039032788025777630782691199808501709379574265101190287439924075745704522635603284821497800515135072248519895210865584164659297105765069091217109667668986364958042966115495719236242952136586162120902451412111981183754741449665329828728343169218756100590258132869471729596009167888709951459450233709402569702962626564 79221136326288413549090453617582214988603149380032775393045753873679347103737428810698791647263113706575282689198477135930652137291317188670030006057926509831856472550143054466006425134587034426949120010210832597783143689081004098970652114673282224426184172485773967049733965817226715156969648131835381010189470025770375559444559659305270898952170617343578663720139463438305206193729450577009951868047317341521679722886752217921827822705466305632297648679105292595306982225729633137305184703173136534319068330149229142960259210328722455601450057473003629441834416962669954405564521304502500726298911194393554191501157954017925309977598836623748100506311537547090223313424323313673085311409323919977212070953990949404412305207140907616619412378270976434206887105501661848469182736298770557698748104969475842500166345456724876246803841548685455561851856586967869889986216391448174596518073583228454703935275996041071738034755239225816281721293011288588359444337681021846829274952700086230836341401062887321604178406708278357480439226036171803414304571700770050264769130291420603534822495795966981715612394351588510056912232508637273573895372779156159436797233748213294951636931736322625278881149941049169682180025310119656903852664689348405476728233436921288688205034751242856813863451202798101231235894933014025474654357904163264189792879110990531247061528782494741231885291482973616690359904394443018958369073484128300703937149692838128916254439952768266768999800895221352172804608885628145520829329108509888656265795056847497582709463200002373315731960683089450281141672128908771066872542843950397795050900482861371828770525181267955544208230938560999841196913163882946371552828126583680248944964520944418180558701521838650855170095150234372062727397690674991347946365752214498420657007149585319909260780872426315558079608099072865828174703417406185318728278145026184310672633645641700732291542811057990742838365066341014265183949971790930431087121056345347741501667746148234688653065189269356885872908647581204650438736957716528711548574555583977239301969823515430537595181395319473570033411789209713074292228145962019286962544117035974563318921268241513986555088394502711032433789248734183877010959345104750102614262227563661010217640141350231316347211768763385670337883433049195056061300162041862964241528184097908283230852906666992480893473206747006312106694438401261591124362380788902882710265313013071263115504159140550179707220633782158597940373880726872858838789886163551228708805088540541574505134133745949431125107024728689987177439066224173647204385151471810845156172459609697201263898819372465925856032821983943945509201296896112993390414319772317613998628115011584901662481020736975231857679558573639533120123760882987807897148264001476729480741158503008405824181375825684426593602078107066384305742314153383784825815001170364503279303283157714730965700730790958163526085614077255893030881612578737162635171062435305862363661501175783671862584712802832632731639923317926092501167046294294878922434436385815597766578254085927198853219424480746368612964091254086956730350365974846418411767133289280026522101904776721397535481072023153960396155426365282526318432948840966649466716318812335304612541684202901596339076117983534399558629308180937552570931412127563964839611720473046765641026358839977096301838517860717992220124429055320994261412222457829626748188314831526678529121257451724121669436757611557692716596947663821034873517375372433749628434475153359120061495211777091719559441963916844642691242108239222713715540944215042751815205832903182816602051553000809853471087600226541940973229542173962641860015572714026730877762563780111880467244618055586935195897209646109126685288690235443479134420307287200865787784854857681194140932834097813623138157320433948668365280904196167520730495552269155400544459597418276177569668057444229387270850059959177577695113400939572251098823419194625556857107173746511343007800181920881221537624681494893301655822089723344553388000429323171176866004751029713971505534118999127107434111180853160547174861752751626348577776330731649967976997705926985766161797485058129299093471507452375539795559192778297669346728398663209935467310249960415041458812552734910388740750185119204150326407565301155455130213015082150774995891695158121179129263515005175587602007309165752571455482494701985152058285071569163352124307190188600099648633956424637872070374433661282860434946347675030365936337518341250497939530670492049152682751595740299650777955876517336356201954238740449622894424782067167868473814849903355130288000808722848881716523423304369683278744797091680665929947282004599884742141903092455370441529688744167156179077360250483378518119247298849108528250294762208416407986167476148567175178874063800358086027457895630650648669396258429142206700367153305674783250866422661286263393363325796268275165731232739893184194968961403246730119774337399703422463459231675588482935858420765326421555448280339061724466310717136212252868177897932924653530049677696436162757662269366798190208071681769644893941942974134840361829280739998511129729526702298361645614792859833141153396637763978261364317262779683444024446799942602179506309308829708000706164362584967544123944262478613936873150629875606572943548220887109756073849240773353610522128256052318094523961849199416335892154957022886522856407858766221227733233769855803540797195843736795162918258589030898376105673396821691371141078048940078157513454368981977910858251016762020830161673450276912167612177864217402281884081697525964997122986657878537513893383684107209185434682030581611841138320769751165820198510744298727746999807978419121499753915601607922696176540527435469670341293526747506706526024530442810609168649651488186829417974713332892493843632020625662134700088384496204167242147258558309791277779399383749139370284867286168094886544821422737637802164641269558545701441664386153037171353886211403725205681597970913022628953115278573534601804694766770034985736868925734980630049997686944790517637071797350609058196799433236359876639015798606019522872255619522116052138570098167166266498733891031108802657143775059617458142604429165804720101056675638719316542457760009090061209984977397292885275149606401974049153909692505148219826918259844782109296960962668656427745596201014333963313980270250168486273994989481135537270723574107717244316660088927662936290431190977141636475102177302706274086655242143720376303626665531386214442689649201190586832460162739827248970951243047440330228206331631112497739878283020377893436493175592457922732266429291282308155450226625908735145243692396554905981224214276161473784801143286259695282125512040501344451566921615076695587270678352226833487853937549564212575401137028689407768946214072151854724602769103465475825754648083539620644496540756262476390723165771983841025405599650289140025146921553140992130744935601340339721606678745401623060593372384771360928037839290017553053687662881909325377632775454112253161089384150763856706709155478909949994753852927323817406887036600795067326371378788198824332878167341364967879877879238807231553439728369018467221599420820323413253492898108084906827199959825847516517138472194789248173159585268081314575918495931090240886524799021431864303823205292763974048397599206812537350644671886512896943549787393792013585758364951639015903806808257622062909142313231743480044638793538545919980650491431925030133693346821159087402194007666994942204762440475125178705040855041713359185302696287569744680604190515945891306060582731794814908843958353954702356548613096039147793243847008308977635561964476974997951064591650034486821018815827067440683467721305397279261255554886935728702038082522417061993386180239766246562722248573939589551463440216540148757382768091588138660292719477108563071144875031522670308447900691983255937682162468481877091121037630772727278138515616236001256623965847146632370258907566117444498723076761005067670267433967584124059982950527552684126829463945259162716865211890575671788315183102363107529308174560259235390303117426425526334200493809978331057159437911165295498631423603473319109300623522908911153779412709804961551139930617047949474361706760660471241914491395100667580257747629101647580790725836642955974210568542006096121792397082649454719102730385503190578335481925220951303611391214549703657189680455196346478377576648796225287534093375835944628560149537373180156497980646947482611425085448686655661776669311742295297814178013215311938924288491062998382097579430060278739035515872696978219934320562561595472608922323860525399884510982402005269156441982086483021029918558209724470491903799974743155409617616793047923689985178433315018756427849919071082417642288796404481615231515234452681159882921091503004550444101071092708811340514603382017663740887649084380236302609941981934458359114802326529287265867836586784975966554986634154342857441112067919515289522362798595615675285893464419458686422183504043133224290707533174576650932865938948401459027619947526422651202675898412812192885113849595817623488233557657324742800374393771493612612994490199832072720005221382391736290818088439567832190214526069759576939763059225294047689399842770969550271822493372060085246999178803887808375697715787460887952953376038287195940678828372114751832221735499728113180144886805780940960771191887792284320985144166141635393515416730908788312195300491807806540287070491481431962163136379543929660618181107758371359830272070710330540964244840736100126945150261956581967738136878967906151503477030589413476778396488056255128274618652814459320832933615142116047026707587220756919312766986953137529175073213247265939159691046998370580315251080657075929005601304731518695855137789275121205684896535005308306213389054064280969057885721542388986811077341891260041925887056878130127572583927539693499699113748046877120963906069001823409562788230808853853871882873439472647253434523002060852420272156695039139430549806321097367810917227205204247017367003229877344084778548555114682479336206900025536057463019980330999992904087435962707758338762003728511765178466640449320652612534210798892815867357916179819681928104828396478395978907986688587587211048028175297039898923093781251066820216389866502543454979385315466322731193630241277133766306683368683633769391462572687987584895042715635934566846009082053691659625628107925455524966171892172371347581776938133011946883355527792757280423901439843787718910514187571823733633970498290959128713803276395973214824695287254119656282385379882044684859740770770278952462807363972180867983716145726826403124279164669065683519737643851028582182178847409253790169102711752823675738101624258228757004430831589700933826769294222110208159503937943407859874680379804051887083961895061924782547582746137283942772401572559120470890618028176688321500424321999931090462064837742650236200746027254163561595334216630144019027040253177959675166099546895382119057589923150803302324507323848614026929585740973630842804613794984942817152682790916367496479469160062752291871555062959744198529261258320214197863335418932826502335611940388568414533543083903871787619265150316201237229731526540177347040557596914219634494593235084100440185902704961496894801815965828241488132952816404388213547139957096281106720657002724584983296567282421021887309645830545420849278973750640190607812610285157453521737441247551562739193013130693895523904297417282234702467824997650172419479439441255022332965189964811370036473464368552713455590919789499626730938265251068093725738139931895013962725859474556756480116280260627787935108686778592189332291505719726719077482505187732166430397583619665581803192980606593527468509467816727622815672436856982934841596850565981312553199365240177231983103452801762396781049408644396871558903699749565332207142811049048182624446587821028122603421082599612278424274067596446947245822830895127763586085330483630169076457504200909936850085672679490880916987771671515958792100086504441906166883057826386663807415827634696644519029381309240506884533527368051945982355761911196589505004453747172652632673455899462375061151550202616213923220708752452854045423726557808849891888030846969306960246896955191577509230349214673674304878671561397306240994072993825456945871524545215733592827655417488586747072957508855181351739836239516748037158449381239108123306523023110606298661963449674881082925925182603579867432015156377469556858305777174344856478521223612021292097541422140997855352914884173428175300104591711531080100684181580152409902546924543842486751409960437530742940467914808195608386244877173254708593769693062019878116577906713925284724212499272016326655687037805861084034663471955740078323831260597635073616757531455521508225492584632755110967542630950029824124804297778532120880397292269012808717272937581671062086187217594121399060707960164699001290114066485733674124975811987529304662145369009685503503483770721563379402675107892122876415605486214206297448754683781403239806537538455364899600384016511186109979196731136111559988652249109059056168727472084538886421222923955607805422086145083637022950060876062174197864672413969585040042931102016508335956544836945146914417495407775650762282977322790449733124545925755577597392025325814499788040984962636803160041576333869107365103345436520492842564340583591374847080571930935862552516625782779041355969495487938367307196905822099747825409940214053125418301400165599210384369057968532771267647066097632473841493894932527254594748261729799745997254470892900027688147535761266961443652943362375094153936457173896714510094804719288158533617491705759294008994214663249335906030635041546659193089468296514419227259898203401530859419267131796445278056911860935066219071490744507841265663013103787850917716560627115299079929392784960788169389639642636928919137356685242062618011173253577755634544111490406599834395070546417259533081499314590431851416924461990127281271831716927498057263894319433547964585821210845155248304759236791970527909858268437867701766293389873401707383634346559756025253932252491367163869671335498100759208907182013538637647569178546153448742518676269317521023308462569177659615016238936113642996885529852767731796138614878688638842877780137867406890031299172968241732920849371966149656357885139880539429124981550348376736331988147006833619266898444566345127300817815203823325335258988154621191945104250030742389547813660159656194923767664196606864222178844363071769368368051332677090360739802718679846255482242958502316724132148976527954515007040979214783062355493764535649115037845928939623351602345024659399232752828640899098978368318305161153868621362932589755079169515524194859219463128937037204633849923957302777896111420831376689781588431280682001562545944684869845462144566311444801767559873642961060540810239793307814518761549342671646542816266006066097107070994150316288492762067803411954940672444196431787463715182363071290327035570413863014490862467793099839149530542244185511165177100984132295035414214345728430304533344535972170008632601015556607038971535561038146080678328608760453083425801822859871275714687287735057053542264499796148571594799158704648753379500084277141293550850092011094711635292997436967868865175711531651647518159290643352667233333649648926456221241114096827107871797343213780128779424626958483650294271067196729599459844902074378884261766942765961425902735915994968572531670882730010179232026581161821255679002759927996396881828568178934203371266184748927995929935529166065651144042883205426223576722849223173708552471030120045454958133108049761866752950425306508083255745444094077396708013743695869188083820867087989922257563702595940288331310604285776541780891206284331844111544478052437113106567306185682556329303402347485306842321410319229649606213960287529270981594776517697581645318851161634013615745165303002115189841650200584894646408564600028832812771398470175725543150215114015083385318578905242077041272924633994886129002193901617997932469166420185666083819045857637754280339123065330727531986240701579735864898769409438508018271584414151994580289347627791452440963603750872119966523404402164290273891146273208604150209625096321468659763084371176582295517062029213352603820856321967740285831324115377873096938422943801596478711278539583051291482703607604973574795971443383774710178129839684343940716544139848529774938618129778370307203345983857906862066780948619052058237205096491353814186201205361597060108235374221173908568597094746739549929575176218957930814310402342632890385254935585821940193752679552756490650957707929400008365598214474622325357212557031747967574371427721526135451530741509834984000877174522511295728507414347463436669842067141556183762743281483028880614684181483869393435565550362253539790905425232780778860247217138623339458679188408981440531301340821946806217362029651284832408655249693793683078663556414395159427555908216135614601036772160846013889973480405770207076617409082209130469803994168387209313552085287204574121326297745521902972477657913264326501219356343703140964099005566463205148987763698001551518358228141146534818601565617239221202215110697745990275926925171461308476467934878783313823146037615438838153316170392407729347846257849584052689025530505557554270407141588987780015719460576462225421664264348856598198842048167326506864446682333015058927109431695409654111773557525995541840963039266995482184430053332043881133374420648999666815095987939951756853829016908265885464258828936922039397838987137521357047653008393032337984616861495024111547432256498996245786646195940531506443025421373699148943394581063023185087197580548541927328860240179449469555548457341386993452881617282147422194481962624951398362922935628190113335943738284467007594040083769591416265180040184831099272588015096346756233225443512220393549615127669149260890357183139828376869059398269317639586670043795102377483217840094408997606386160612537754873353981567540893891524141298339424182720190670067560101660006890911113947233690956576880956796770376572129718377599972466872517982854011504007970090711363035449668200782077412268170542643374988269395596434249299657517040409013942428831564713142359713775541378296918176420481310095305018292491084163876052504115234890593126027981070152098162743504734237555621393377920251666092924121457817605995270435334582208407286777508725732688204979642020518330078591104018307545686778726546026332418653637842865932962949422139835597916823951128085758587467425751461402893340635127401648082921571229190437465542482376915831976364682495941200481130723450655831377824131384028760021531164233126057564066720668816935150362097787501659787682241994093823418543865108733524022537623867306894360170361940708080939281615815630613459505684080444131301219353984341458659213432445219064723333320254641992887848049406913213242043860544343431878446959362076749067354496044972806638710917422983620123666166797134788154749882924283615715606207257626985048013164398740108742255285606259093935732216773405447864190132663649061238198633346080688961172666594791688063796992157029925466875843274978254068553339752974356133072789706911723100679966873552179606597781228422200481547817253906247123711010864951389995244913483413746260038812983784731140058749216584294352852399818244043595541973708196192305412561054485746601078794432026387841006510588697070449324445949368223634263235878114611884704719183409916189195968040982005537619400799647060837199503297292663729091960847285893075566193692434769353794568080814354392579057546988891763077136411444492095691281062526527397357855929667318473839194198806525962395410624018600296078296819765929708933686678039032788025777630782691199808501709379574265101190287439924075745704522635603284821497800515135072248519895210865584164659297105765069091217109667668986364958042966115495719236242952136586162120902451412111981183754741449665329828728343169218756100590258132869471729596009167888709951459450233709402569702962626564 79221136326288413549090453617582214988603149380032775393045753873679347103737428810698791647263113706575282689198477135930652137291317188670030006057926509831856472550143054466006425134587034426949120010210832597783143689081004098970652114673282224426184172485773967049733965817226715156969648131835381010189470025770375559444559659305270898952170617343578663720139463438305206193729450577009951868047317341521679722886752217921827822705466305632297648679105292595306982225729633137305184703173136534319068330149229142960259210328722455601450057473003629441834416962669954405564521304502500726298911194393554191501157954017925309977598836623748100506311537547090223313424323313673085311409323919977212070953990949404412305207140907616619412378270976434206887105501661848469182736298770557698748104969475842500166345456724876246803841548685455561851856586967869889986216391448174596518073583228454703935275996041071738034755239225816281721293011288588359444337681021846829274952700086230836341401062887321604178406708278357480439226036171803414304571700770050264769130291420603534822495795966981715612394351588510056912232508637273573895372779156159436797233748213294951636931736322625278881149941049169682180025310119656903852664689348405476728233436921288688205034751242856813863451202798101231235894933014025474654357904163264189792879110990531247061528782494741231885291482973616690359904394443018958369073484128300703937149692838128916254439952768266768999800895221352172804608885628145520829329108509888656265795056847497582709463200002373315731960683089450281141672128908771066872542843950397795050900482861371828770525181267955544208230938560999841196913163882946371552828126583680248944964520944418180558701521838650855170095150234372062727397690674991347946365752214498420657007149585319909260780872426315558079608099072865828174703417406185318728278145026184310672633645641700732291542811057990742838365066341014265183949971790930431087121056345347741501667746148234688653065189269356885872908647581204650438736957716528711548574555583977239301969823515430537595181395319473570033411789209713074292228145962019286962544117035974563318921268241513986555088394502711032433789248734183877010959345104750102614262227563661010217640141350231316347211768763385670337883433049195056061300162041862964241528184097908283230852906666992480893473206747006312106694438401261591124362380788902882710265313013071263115504159140550179707220633782158597940373880726872858838789886163551228708805088540541574505134133745949431125107024728689987177439066224173647204385151471810845156172459609697201263898819372465925856032821983943945509201296896112993390414319772317613998628115011584901662481020736975231857679558573639533120123760882987807897148264001476729480741158503008405824181375825684426593602078107066384305742314153383784825815001170364503279303283157714730965700730790958163526085614077255893030881612578737162635171062435305862363661501175783671862584712802832632731639923317926092501167046294294878922434436385815597766578254085927198853219424480746368612964091254086956730350365974846418411767133289280026522101904776721397535481072023153960396155426365282526318432948840966649466716318812335304612541684202901596339076117983534399558629308180937552570931412127563964839611720473046765641026358839977096301838517860717992220124429055320994261412222457829626748188314831526678529121257451724121669436757611557692716596947663821034873517375372433749628434475153359120061495211777091719559441963916844642691242108239222713715540944215042751815205832903182816602051553000809853471087600226541940973229542173962641860015572714026730877762563780111880467244618055586935195897209646109126685288690235443479134420307287200865787784854857681194140932834097813623138157320433948668365280904196167520730495552269155400544459597418276177569668057444229387270850059959177577695113400939572251098823419194625556857107173746511343007800181920881221537624681494893301655822089723344553388000429323171176866004751029713971505534118999127107434111180853160547174861752751626348577776330731649967976997705926985766161797485058129299093471507452375539795559192778297669346728398663209935467310249960415041458812552734910388740750185119204150326407565301155455130213015082150774995891695158121179129263515005175587602007309165752571455482494701985152058285071569163352124307190188600099648633956424637872070374433661282860434946347675030365936337518341250497939530670492049152682751595740299650777955876517336356201954238740449622894424782067167868473814849903355130288000808722848881716523423304369683278744797091680665929947282004599884742141903092455370441529688744167156179077360250483378518119247298849108528250294762208416407986167476148567175178874063800358086027457895630650648669396258429142206700367153305674783250866422661286263393363325796268275165731232739893184194968961403246730119774337399703422463459231675588482935858420765326421555448280339061724466310717136212252868177897932924653530049677696436162757662269366798190208071681769644893941942974134840361829280739998511129729526702298361645614792859833141153396637763978261364317262779683444024446799942602179506309308829708000706164362584967544123944262478613936873150629875606572943548220887109756073849240773353610522128256052318094523961849199416335892154957022886522856407858766221227733233769855803540797195843736795162918258589030898376105673396821691371141078048940078157513454368981977910858251016762020830161673450276912167612177864217402281884081697525964997122986657878537513893383684107209185434682030581611841138320769751165820198510744298727746999807978419121499753915601607922696176540527435469670341293526747506706526024530442810609168649651488186829417974713332892493843632020625662134700088384496204167242147258558309791277779399383749139370284867286168094886544821422737637802164641269558545701441664386153037171353886211403725205681597970913022628953115278573534601804694766770034985736868925734980630049997686944790517637071797350609058196799433236359876639015798606019522872255619522116052138570098167166266498733891031108802657143775059617458142604429165804720101056675638719316542457760009090061209984977397292885275149606401974049153909692505148219826918259844782109296960962668656427745596201014333963313980270250168486273994989481135537270723574107717244316660088927662936290431190977141636475102177302706274086655242143720376303626665531386214442689649201190586832460162739827248970951243047440330228206331631112497739878283020377893436493175592457922732266429291282308155450226625908735145243692396554905981224214276161473784801143286259695282125512040501344451566921615076695587270678352226833487853937549564212575401137028689407768946214072151854724602769103465475825754648083539620644496540756262476390723165771983841025405599650289140025146921553140992130744935601340339721606678745401623060593372384771360928037839290017553053687662881909325377632775454112253161089384150763856706709155478909949994753852927323817406887036600795067326371378788198824332878167341364967879877879238807231553439728369018467221599420820323413253492898108084906827199959825847516517138472194789248173159585268081314575918495931090240886524799021431864303823205292763974048397599206812537350644671886512896943549787393792013585758364951639015903806808257622062909142313231743480044638793538545919980650491431925030133693346821159087402194007666994942204762440475125178705040855041713359185302696287569744680604190515945891306060582731794814908843958353954702356548613096039147793243847008308977635561964476974997951064591650034486821018815827067440683467721305397279261255554886935728702038082522417061993386180239766246562722248573939589551463440216540148757382768091588138660292719477108563071144875031522670308447900691983255937682162468481877091121037630772727278138515616236001256623965847146632370258907566117444498723076761005067670267433967584124059982950527552684126829463945259162716865211890575671788315183102363107529308174560259235390303117426425526334200493809978331057159437911165295498631423603473319109300623522908911153779412709804961551139930617047949474361706760660471241914491395100667580257747629101647580790725836642955974210568542006096121792397082649454719102730385503190578335481925220951303611391214549703657189680455196346478377576648796225287534093375835944628560149537373180156497980646947482611425085448686655661776669311742295297814178013215311938924288491062998382097579430060278739035515872696978219934320562561595472608922323860525399884510982402005269156441982086483021029918558209724470491903799974743155409617616793047923689985178433315018756427849919071082417642288796404481615231515234452681159882921091503004550444101071092708811340514603382017663740887649084380236302609941981934458359114802326529287265867836586784975966554986634154342857441112067919515289522362798595615675285893464419458686422183504043133224290707533174576650932865938948401459027619947526422651202675898412812192885113849595817623488233557657324742800374393771493612612994490199832072720005221382391736290818088439567832190214526069759576939763059225294047689399842770969550271822493372060085246999178803887808375697715787460887952953376038287195940678828372114751832221735499728113180144886805780940960771191887792284320985144166141635393515416730908788312195300491807806540287070491481431962163136379543929660618181107758371359830272070710330540964244840736100126945150261956581967738136878967906151503477030589413476778396488056255128274618652814459320832933615142116047026707587220756919312766986953137529175073213247265939159691046998370580315251080657075929005601304731518695855137789275121205684896535005308306213389054064280969057885721542388986811077341891260041925887056878130127572583927539693499699113748046877120963906069001823409562788230808853853871882873439472647253434523002060852420272156695039139430549806321097367810917227205204247017367003229877344084778548555114682479336206900025536057463019980330999992904087435962707758338762003728511765178466640449320652612534210798892815867357916179819681928104828396478395978907986688587587211048028175297039898923093781251066820216389866502543454979385315466322731193630241277133766306683368683633769391462572687987584895042715635934566846009082053691659625628107925455524966171892172371347581776938133011946883355527792757280423901439843787718910514187571823733633970498290959128713803276395973214824695287254119656282385379882044684859740770770278952462807363972180867983716145726826403124279164669065683519737643851028582182178847409253790169102711752823675738101624258228757004430831589700933826769294222110208159503937943407859874680379804051887083961895061924782547582746137283942772401572559120470890618028176688321500424321999931090462064837742650236200746027254163561595334216630144019027040253177959675166099546895382119057589923150803302324507323848614026929585740973630842804613794984942817152682790916367496479469160062752291871555062959744198529261258320214197863335418932826502335611940388568414533543083903871787619265150316201237229731526540177347040557596914219634494593235084100440185902704961496894801815965828241488132952816404388213547139957096281106720657002724584983296567282421021887309645830545420849278973750640190607812610285157453521737441247551562739193013130693895523904297417282234702467824997650172419479439441255022332965189964811370036473464368552713455590919789499626730938265251068093725738139931895013962725859474556756480116280260627787935108686778592189332291505719726719077482505187732166430397583619665581803192980606593527468509467816727622815672436856982934841596850565981312553199365240177231983103452801762396781049408644396871558903699749565332207142811049048182624446587821028122603421082599612278424274067596446947245822830895127763586085330483630169076457504200909936850085672679490880916987771671515958792100086504441906166883057826386663807415827634696644519029381309240506884533527368051945982355761911196589505004453747172652632673455899462375061151550202616213923220708752452854045423726557808849891888030846969306960246896955191577509230349214673674304878671561397306240994072993825456945871524545215733592827655417488586747072957508855181351739836239516748037158449381239108123306523023110606298661963449674881082925925182603579867432015156377469556858305777174344856478521223612021292097541422140997855352914884173428175300104591711531080100684181580152409902546924543842486751409960437530742940467914808195608386244877173254708593769693062019878116577906713925284724212499272016326655687037805861084034663471955740078323831260597635073616757531455521508225492584632755110967542630950029824124804297778532120880397292269012808717272937581671062086187217594121399060707960164699001290114066485733674124975811987529304662145369009685503503483770721563379402675107892122876415605486214206297448754683781403239806537538455364899600384016511186109979196731136111559988652249109059056168727472084538886421222923955607805422086145083637022950060876062174197864672413969585040042931102016508335956544836945146914417495407775650762282977322790449733124545925755577597392025325814499788040984962636803160041576333869107365103345436520492842564340583591374847080571930935862552516625782779041355969495487938367307196905822099747825409940214053125418301400165599210384369057968532771267647066097632473841493894932527254594748261729799745997254470892900027688147535761266961443652943362375094153936457173896714510094804719288158533617491705759294008994214663249335906030635041546659193089468296514419227259898203401530859419267131796445278056911860935066219071490744507841265663013103787850917716560627115299079929392784960788169389639642636928919137356685242062618011173253577755634544111490406599834395070546417259533081499314590431851416924461990127281271831716927498057263894319433547964585821210845155248304759236791970527909858268437867701766293389873401707383634346559756025253932252491367163869671335498100759208907182013538637647569178546153448742518676269317521023308462569177659615016238936113642996885529852767731796138614878688638842877780137867406890031299172968241732920849371966149656357885139880539429124981550348376736331988147006833619266898444566345127300817815203823325335258988154621191945104250030742389547813660159656194923767664196606864222178844363071769368368051332677090360739802718679846255482242958502316724132148976527954515007040979214783062355493764535649115037845928939623351602345024659399232752828640899098978368318305161153868621362932589755079169515524194859219463128937037204633849923957302777896111420831376689781588431280682001562545944684869845462144566311444801767559873642961060540810239793307814518761549342671646542816266006066097107070994150316288492762067803411954940672444196431787463715182363071290327035570413863014490862467793099839149530542244185511165177100984132295035414214345728430304533344535972170008632601015556607038971535561038146080678328608760453083425801822859871275714687287735057053542264499796148571594799158704648753379500084277141293550850092011094711635292997436967868865175711531651647518159290643352667233333649648926456221241114096827107871797343213780128779424626958483650294271067196729599459844902074378884261766942765961425902735915994968572531670882730010179232026581161821255679002759927996396881828568178934203371266184748927995929935529166065651144042883205426223576722849223173708552471030120045454958133108049761866752950425306508083255745444094077396708013743695869188083820867087989922257563702595940288331310604285776541780891206284331844111544478052437113106567306185682556329303402347485306842321410319229649606213960287529270981594776517697581645318851161634013615745165303002115189841650200584894646408564600028832812771398470175725543150215114015083385318578905242077041272924633994886129002193901617997932469166420185666083819045857637754280339123065330727531986240701579735864898769409438508018271584414151994580289347627791452440963603750872119966523404402164290273891146273208604150209625096321468659763084371176582295517062029213352603820856321967740285831324115377873096938422943801596478711278539583051291482703607604973574795971443383774710178129839684343940716544139848529774938618129778370307203345983857906862066780948619052058237205096491353814186201205361597060108235374221173908568597094746739549929575176218957930814310402342632890385254935585821940193752679552756490650957707929400008365598214474622325357212557031747967574371427721526135451530741509834984000877174522511295728507414347463436669842067141556183762743281483028880614684181483869393435565550362253539790905425232780778860247217138623339458679188408981440531301340821946806217362029651284832408655249693793683078663556414395159427555908216135614601036772160846013889973480405770207076617409082209130469803994168387209313552085287204574121326297745521902972477657913264326501219356343703140964099005566463205148987763698001551518358228141146534818601565617239221202215110697745990275926925171461308476467934878783313823146037615438838153316170392407729347846257849584052689025530505557554270407141588987780015719460576462225421664264348856598198842048167326506864446682333015058927109431695409654111773557525995541840963039266995482184430053332043881133374420648999666815095987939951756853829016908265885464258828936922039397838987137521357047653008393032337984616861495024111547432256498996245786646195940531506443025421373699148943394581063023185087197580548541927328860240179449469555548457341386993452881617282147422194481962624951398362922935628190113335943738284467007594040083769591416265180040184831099272588015096346756233225443512220393549615127669149260890357183139828376869059398269317639586670043795102377483217840094408997606386160612537754873353981567540893891524141298339424182720190670067560101660006890911113947233690956576880956796770376572129718377599972466872517982854011504007970090711363035449668200782077412268170542643374988269395596434249299657517040409013942428831564713142359713775541378296918176420481310095305018292491084163876052504115234890593126027981070152098162743504734237555621393377920251666092924121457817605995270435334582208407286777508725732688204979642020518330078591104018307545686778726546026332418653637842865932962949422139835597916823951128085758587467425751461402893340635127401648082921571229190437465542482376915831976364682495941200481130723450655831377824131384028760021531164233126057564066720668816935150362097787501659787682241994093823418543865108733524022537623867306894360170361940708080939281615815630613459505684080444131301219353984341458659213432445219064723333320254641992887848049406913213242043860544343431878446959362076749067354496044972806638710917422983620123666166797134788154749882924283615715606207257626985048013164398740108742255285606259093935732216773405447864190132663649061238198633346080688961172666594791688063796992157029925466875843274978254068553339752974356133072789706911723100679966873552179606597781228422200481547817253906247123711010864951389995244913483413746260038812983784731140058749216584294352852399818244043595541973708196192305412561054485746601078794432026387841006510588697070449324445949368223634263235878114611884704719183409916189195968040982005537619400799647060837199503297292663729091960847285893075566193692434769353794568080814354392579057546988891763077136411444492095691281062526527397357855929667318473839194198806525962395410624018600296078296819765929708933686678039032788025777630782691199808501709379574265101190287439924075745704522635603284821497800515135072248519895210865584164659297105765069091217109667668986364958042966115495719236242952136586162120902451412111981183754741449665329828728343169218756100590258132869471729596009167888709951459450233709402569702962626564 79221136326288413549090453617582214988603149380032775393045753873679347103737428810698791647263113706575282689198477135930652137291317188670030006057926509831856472550143054466006425134587034426949120010210832597783143689081004098970652114673282224426184172485773967049733965817226715156969648131835381010189470025770375559444559659305270898952170617343578663720139463438305206193729450577009951868047317341521679722886752217921827822705466305632297648679105292595306982225729633137305184703173136534319068330149229142960259210328722455601450057473003629441834416962669954405564521304502500726298911194393554191501157954017925309977598836623748100506311537547090223313424323313673085311409323919977212070953990949404412305207140907616619412378270976434206887105501661848469182736298770557698748104969475842500166345456724876246803841548685455561851856586967869889986216391448174596518073583228454703935275996041071738034755239225816281721293011288588359444337681021846829274952700086230836341401062887321604178406708278357480439226036171803414304571700770050264769130291420603534822495795966981715612394351588510056912232508637273573895372779156159436797233748213294951636931736322625278881149941049169682180025310119656903852664689348405476728233436921288688205034751242856813863451202798101231235894933014025474654357904163264189792879110990531247061528782494741231885291482973616690359904394443018958369073484128300703937149692838128916254439952768266768999800895221352172804608885628145520829329108509888656265795056847497582709463200002373315731960683089450281141672128908771066872542843950397795050900482861371828770525181267955544208230938560999841196913163882946371552828126583680248944964520944418180558701521838650855170095150234372062727397690674991347946365752214498420657007149585319909260780872426315558079608099072865828174703417406185318728278145026184310672633645641700732291542811057990742838365066341014265183949971790930431087121056345347741501667746148234688653065189269356885872908647581204650438736957716528711548574555583977239301969823515430537595181395319473570033411789209713074292228145962019286962544117035974563318921268241513986555088394502711032433789248734183877010959345104750102614262227563661010217640141350231316347211768763385670337883433049195056061300162041862964241528184097908283230852906666992480893473206747006312106694438401261591124362380788902882710265313013071263115504159140550179707220633782158597940373880726872858838789886163551228708805088540541574505134133745949431125107024728689987177439066224173647204385151471810845156172459609697201263898819372465925856032821983943945509201296896112993390414319772317613998628115011584901662481020736975231857679558573639533120123760882987807897148264001476729480741158503008405824181375825684426593602078107066384305742314153383784825815001170364503279303283157714730965700730790958163526085614077255893030881612578737162635171062435305862363661501175783671862584712802832632731639923317926092501167046294294878922434436385815597766578254085927198853219424480746368612964091254086956730350365974846418411767133289280026522101904776721397535481072023153960396155426365282526318432948840966649466716318812335304612541684202901596339076117983534399558629308180937552570931412127563964839611720473046765641026358839977096301838517860717992220124429055320994261412222457829626748188314831526678529121257451724121669436757611557692716596947663821034873517375372433749628434475153359120061495211777091719559441963916844642691242108239222713715540944215042751815205832903182816602051553000809853471087600226541940973229542173962641860015572714026730877762563780111880467244618055586935195897209646109126685288690235443479134420307287200865787784854857681194140932834097813623138157320433948668365280904196167520730495552269155400544459597418276177569668057444229387270850059959177577695113400939572251098823419194625556857107173746511343007800181920881221537624681494893301655822089723344553388000429323171176866004751029713971505534118999127107434111180853160547174861752751626348577776330731649967976997705926985766161797485058129299093471507452375539795559192778297669346728398663209935467310249960415041458812552734910388740750185119204150326407565301155455130213015082150774995891695158121179129263515005175587602007309165752571455482494701985152058285071569163352124307190188600099648633956424637872070374433661282860434946347675030365936337518341250497939530670492049152682751595740299650777955876517336356201954238740449622894424782067167868473814849903355130288000808722848881716523423304369683278744797091680665929947282004599884742141903092455370441529688744167156179077360250483378518119247298849108528250294762208416407986167476148567175178874063800358086027457895630650648669396258429142206700367153305674783250866422661286263393363325796268275165731232739893184194968961403246730119774337399703422463459231675588482935858420765326421555448280339061724466310717136212252868177897932924653530049677696436162757662269366798190208071681769644893941942974134840361829280739998511129729526702298361645614792859833141153396637763978261364317262779683444024446799942602179506309308829708000706164362584967544123944262478613936873150629875606572943548220887109756073849240773353610522128256052318094523961849199416335892154957022886522856407858766221227733233769855803540797195843736795162918258589030898376105673396821691371141078048940078157513454368981977910858251016762020830161673450276912167612177864217402281884081697525964997122986657878537513893383684107209185434682030581611841138320769751165820198510744298727746999807978419121499753915601607922696176540527435469670341293526747506706526024530442810609168649651488186829417974713332892493843632020625662134700088384496204167242147258558309791277779399383749139370284867286168094886544821422737637802164641269558545701441664386153037171353886211403725205681597970913022628953115278573534601804694766770034985736868925734980630049997686944790517637071797350609058196799433236359876639015798606019522872255619522116052138570098167166266498733891031108802657143775059617458142604429165804720101056675638719316542457760009090061209984977397292885275149606401974049153909692505148219826918259844782109296960962668656427745596201014333963313980270250168486273994989481135537270723574107717244316660088927662936290431190977141636475102177302706274086655242143720376303626665531386214442689649201190586832460162739827248970951243047440330228206331631112497739878283020377893436493175592457922732266429291282308155450226625908735145243692396554905981224214276161473784801143286259695282125512040501344451566921615076695587270678352226833487853937549564212575401137028689407768946214072151854724602769103465475825754648083539620644496540756262476390723165771983841025405599650289140025146921553140992130744935601340339721606678745401623060593372384771360928037839290017553053687662881909325377632775454112253161089384150763856706709155478909949994753852927323817406887036600795067326371378788198824332878167341364967879877879238807231553439728369018467221599420820323413253492898108084906827199959825847516517138472194789248173159585268081314575918495931090240886524799021431864303823205292763974048397599206812537350644671886512896943549787393792013585758364951639015903806808257622062909142313231743480044638793538545919980650491431925030133693346821159087402194007666994942204762440475125178705040855041713359185302696287569744680604190515945891306060582731794814908843958353954702356548613096039147793243847008308977635561964476974997951064591650034486821018815827067440683467721305397279261255554886935728702038082522417061993386180239766246562722248573939589551463440216540148757382768091588138660292719477108563071144875031522670308447900691983255937682162468481877091121037630772727278138515616236001256623965847146632370258907566117444498723076761005067670267433967584124059982950527552684126829463945259162716865211890575671788315183102363107529308174560259235390303117426425526334200493809978331057159437911165295498631423603473319109300623522908911153779412709804961551139930617047949474361706760660471241914491395100667580257747629101647580790725836642955974210568542006096121792397082649454719102730385503190578335481925220951303611391214549703657189680455196346478377576648796225287534093375835944628560149537373180156497980646947482611425085448686655661776669311742295297814178013215311938924288491062998382097579430060278739035515872696978219934320562561595472608922323860525399884510982402005269156441982086483021029918558209724470491903799974743155409617616793047923689985178433315018756427849919071082417642288796404481615231515234452681159882921091503004550444101071092708811340514603382017663740887649084380236302609941981934458359114802326529287265867836586784975966554986634154342857441112067919515289522362798595615675285893464419458686422183504043133224290707533174576650932865938948401459027619947526422651202675898412812192885113849595817623488233557657324742800374393771493612612994490199832072720005221382391736290818088439567832190214526069759576939763059225294047689399842770969550271822493372060085246999178803887808375697715787460887952953376038287195940678828372114751832221735499728113180144886805780940960771191887792284320985144166141635393515416730908788312195300491807806540287070491481431962163136379543929660618181107758371359830272070710330540964244840736100126945150261956581967738136878967906151503477030589413476778396488056255128274618652814459320832933615142116047026707587220756919312766986953137529175073213247265939159691046998370580315251080657075929005601304731518695855137789275121205684896535005308306213389054064280969057885721542388986811077341891260041925887056878130127572583927539693499699113748046877120963906069001823409562788230808853853871882873439472647253434523002060852420272156695039139430549806321097367810917227205204247017367003229877344084778548555114682479336206900025536057463019980330999992904087435962707758338762003728511765178466640449320652612534210798892815867357916179819681928104828396478395978907986688587587211048028175297039898923093781251066820216389866502543454979385315466322731193630241277133766306683368683633769391462572687987584895042715635934566846009082053691659625628107925455524966171892172371347581776938133011946883355527792757280423901439843787718910514187571823733633970498290959128713803276395973214824695287254119656282385379882044684859740770770278952462807363972180867983716145726826403124279164669065683519737643851028582182178847409253790169102711752823675738101624258228757004430831589700933826769294222110208159503937943407859874680379804051887083961895061924782547582746137283942772401572559120470890618028176688321500424321999931090462064837742650236200746027254163561595334216630144019027040253177959675166099546895382119057589923150803302324507323848614026929585740973630842804613794984942817152682790916367496479469160062752291871555062959744198529261258320214197863335418932826502335611940388568414533543083903871787619265150316201237229731526540177347040557596914219634494593235084100440185902704961496894801815965828241488132952816404388213547139957096281106720657002724584983296567282421021887309645830545420849278973750640190607812610285157453521737441247551562739193013130693895523904297417282234702467824997650172419479439441255022332965189964811370036473464368552713455590919789499626730938265251068093725738139931895013962725859474556756480116280260627787935108686778592189332291505719726719077482505187732166430397583619665581803192980606593527468509467816727622815672436856982934841596850565981312553199365240177231983103452801762396781049408644396871558903699749565332207142811049048182624446587821028122603421082599612278424274067596446947245822830895127763586085330483630169076457504200909936850085672679490880916987771671515958792100086504441906166883057826386663807415827634696644519029381309240506884533527368051945982355761911196589505004453747172652632673455899462375061151550202616213923220708752452854045423726557808849891888030846969306960246896955191577509230349214673674304878671561397306240994072993825456945871524545215733592827655417488586747072957508855181351739836239516748037158449381239108123306523023110606298661963449674881082925925182603579867432015156377469556858305777174344856478521223612021292097541422140997855352914884173428175300104591711531080100684181580152409902546924543842486751409960437530742940467914808195608386244877173254708593769693062019878116577906713925284724212499272016326655687037805861084034663471955740078323831260597635073616757531455521508225492584632755110967542630950029824124804297778532120880397292269012808717272937581671062086187217594121399060707960164699001290114066485733674124975811987529304662145369009685503503483770721563379402675107892122876415605486214206297448754683781403239806537538455364899600384016511186109979196731136111559988652249109059056168727472084538886421222923955607805422086145083637022950060876062174197864672413969585040042931102016508335956544836945146914417495407775650762282977322790449733124545925755577597392025325814499788040984962636803160041576333869107365103345436520492842564340583591374847080571930935862552516625782779041355969495487938367307196905822099747825409940214053125418301400165599210384369057968532771267647066097632473841493894932527254594748261729799745997254470892900027688147535761266961443652943362375094153936457173896714510094804719288158533617491705759294008994214663249335906030635041546659193089468296514419227259898203401530859419267131796445278056911860935066219071490744507841265663013103787850917716560627115299079929392784960788169389639642636928919137356685242062618011173253577755634544111490406599834395070546417259533081499314590431851416924461990127281271831716927498057263894319433547964585821210845155248304759236791970527909858268437867701766293389873401707383634346559756025253932252491367163869671335498100759208907182013538637647569178546153448742518676269317521023308462569177659615016238936113642996885529852767731796138614878688638842877780137867406890031299172968241732920849371966149656357885139880539429124981550348376736331988147006833619266898444566345127300817815203823325335258988154621191945104250030742389547813660159656194923767664196606864222178844363071769368368051332677090360739802718679846255482242958502316724132148976527954515007040979214783062355493764535649115037845928939623351602345024659399232752828640899098978368318305161153868621362932589755079169515524194859219463128937037204633849923957302777896111420831376689781588431280682001562545944684869845462144566311444801767559873642961060540810239793307814518761549342671646542816266006066097107070994150316288492762067803411954940672444196431787463715182363071290327035570413863014490862467793099839149530542244185511165177100984132295035414214345728430304533344535972170008632601015556607038971535561038146080678328608760453083425801822859871275714687287735057053542264499796148571594799158704648753379500084277141293550850092011094711635292997436967868865175711531651647518159290643352667233333649648926456221241114096827107871797343213780128779424626958483650294271067196729599459844902074378884261766942765961425902735915994968572531670882730010179232026581161821255679002759927996396881828568178934203371266184748927995929935529166065651144042883205426223576722849223173708552471030120045454958133108049761866752950425306508083255745444094077396708013743695869188083820867087989922257563702595940288331310604285776541780891206284331844111544478052437113106567306185682556329303402347485306842321410319229649606213960287529270981594776517697581645318851161634013615745165303002115189841650200584894646408564600028832812771398470175725543150215114015083385318578905242077041272924633994886129002193901617997932469166420185666083819045857637754280339123065330727531986240701579735864898769409438508018271584414151994580289347627791452440963603750872119966523404402164290273891146273208604150209625096321468659763084371176582295517062029213352603820856321967740285831324115377873096938422943801596478711278539583051291482703607604973574795971443383774710178129839684343940716544139848529774938618129778370307203345983857906862066780948619052058237205096491353814186201205361597060108235374221173908568597094746739549929575176218957930814310402342632890385254935585821940193752679552756490650957707929400008365598214474622325357212557031747967574371427721526135451530741509834984000877174522511295728507414347463436669842067141556183762743281483028880614684181483869393435565550362253539790905425232780778860247217138623339458679188408981440531301340821946806217362029651284832408655249693793683078663556414395159427555908216135614601036772160846013889973480405770207076617409082209130469803994168387209313552085287204574121326297745521902972477657913264326501219356343703140964099005566463205148987763698001551518358228141146534818601565617239221202215110697745990275926925171461308476467934878783313823146037615438838153316170392407729347846257849584052689025530505557554270407141588987780015719460576462225421664264348856598198842048167326506864446682333015058927109431695409654111773557525995541840963039266995482184430053332043881133374420648999666815095987939951756853829016908265885464258828936922039397838987137521357047653008393032337984616861495024111547432256498996245786646195940531506443025421373699148943394581063023185087197580548541927328860240179449469555548457341386993452881617282147422194481962624951398362922935628190113335943738284467007594040083769591416265180040184831099272588015096346756233225443512220393549615127669149260890357183139828376869059398269317639586670043795102377483217840094408997606386160612537754873353981567540893891524141298339424182720190670067560101660006890911113947233690956576880956796770376572129718377599972466872517982854011504007970090711363035449668200782077412268170542643374988269395596434249299657517040409013942428831564713142359713775541378296918176420481310095305018292491084163876052504115234890593126027981070152098162743504734237555621393377920251666092924121457817605995270435334582208407286777508725732688204979642020518330078591104018307545686778726546026332418653637842865932962949422139835597916823951128085758587467425751461402893340635127401648082921571229190437465542482376915831976364682495941200481130723450655831377824131384028760021531164233126057564066720668816935150362097787501659787682241994093823418543865108733524022537623867306894360170361940708080939281615815630613459505684080444131301219353984341458659213432445219064723333320254641992887848049406913213242043860544343431878446959362076749067354496044972806638710917422983620123666166797134788154749882924283615715606207257626985048013164398740108742255285606259093935732216773405447864190132663649061238198633346080688961172666594791688063796992157029925466875843274978254068553339752974356133072789706911723100679966873552179606597781228422200481547817253906247123711010864951389995244913483413746260038812983784731140058749216584294352852399818244043595541973708196192305412561054485746601078794432026387841006510588697070449324445949368223634263235878114611884704719183409916189195968040982005537619400799647060837199503297292663729091960847285893075566193692434769353794568080814354392579057546988891763077136411444492095691281062526527397357855929667318473839194198806525962395410624018600296078296819765929708933686678039032788025777630782691199808501709379574265101190287439924075745704522635603284821497800515135072248519895210865584164659297105765069091217109667668986364958042966115495719236242952136586162120902451412111981183754741449665329828728343169218756100590258132869471729596009167888709951459450233709402569702962626564 | o2 : MutableMatrix |