1 2
2 11
3 1361
4 2521008887
5 16022236204009818131831320183
6 4113101149215104800030529537915953170486139623539759933135949994882770404074832568499
7 69583804376962741608539276573538592864835917395924759602456009555710439562534603942132717654085619871657656850305900008136962235482689306913393638227620908148480337200487348871845278976469184329953753965251639715257390268487534179757699110378097045955949
8 336918228195740742277307753365919464724735980446036847173148744997183569681645313922999519560188635938231011930942806048274566969663943084803879159093850991886684894184686568482921882793393349472747424678953085704828566279242732432166867289543024307993825765869330643528986474979886689811429863994708280706156563046759807239532895071260606930666925026521670582559676212963410480590977928393110289732332074517513978249880094900532334430298139633844229430844368359647359639808914333592784438515256208022942964851955078632967990655776890320725149580582400076286696108291694165672347076476585461146704648361484958846951462559330680798397451377936118164119699564252318512829545170424592019722313580102759048564582180598405013138097469593692676561694614253113386536243
9 38244899533520342949726403449119571303651873797387305951528011038940272866431727689000547459853758800565331810484011700953891407243035309833075435734311180146571731199335076162327903691605362359182789394601210701431009497379805496285412648351578204703859085962085061509392425124396383279101964736210769103275669630842886672639190562714861846520530205454283237557441374738005620009527868567646209278975136505218068496892877749149113710823046645690536992837174808705855556526008262265616139565389721656538738908848558029567417396326403618004321716169921733970874615632658745587017554692698669547868487275663310490661891963490186429710828202988335271312957669656662287561013435349506606192235107423970269864384397803616439506058130179273895825265582244482652521065528709600519765196017590990534456774746297313291514213294163088297210724295850260430171204746875383076793938968207068303897924726386003343597792694130431824002411125981249059146922093192399747654576635015028790974527675859855103299077088263269125679613676967984454677002409731423284051681930152219316307878715604055501182599806817667280891466265213007514381293679106121378758010557179481381260357056702670146422691274091827682967302522370530179581903559898925133471828146953642551405657756121534887813364822229886450489376174331660153673963656243207870459538384815698929907725793860097755288555091323606648833496265545744106397608340811692289332596885961587439790020120417832451478537088098826469218504023031623370445547242990939315929580546141085981635211215214487530136334069821189534282854527330794445291794356757978370716319383030552422783314209620793510341880307985249664357134897718359561140769843735881269419011200451378347627474757520677523702929240684809025792602786621973067160104436165330981738589227671303531963123015155773002540364858712195766931468084010331897603446621105506124041081556691784173636354744529363651994752744067476349484147282193322087754248771982224127885130910498419340660612033495231897067162523978293050686700573678762779543734238273022464731171677938630038518763913808252100762871560950295595068831333158562180818593139534885952761623192693201086685707729899777475704069632071712670821142692004319036245022833061364399637512732104183974614488673714407826257215019802309856587127547491144543
10 55939756706344148952484963181573878825624233032718673154371546709156690941168041007146406598985777356503215305432406146678118323413980480528617370593806602704012293093689355837738784902849388082441088979967348787578785044661881502153345575746607842344655053237069144658854263621292007494545750337956035129957848403192552012075490711821416465845844561553422437766031994627354528911406223951723519117384895571783805803643684993589004987096283681091029379915585996360487063833357998258859258990132887972696361012339014113908496001379628302481821954123779883047819661233046671524140101352850841975244161499861754761430282894037055346550686770621623310773610939477681152216597379507159590148762460550471240569903936048982892010804169822728851608892445457238749138398135969233265560242994853330510973215021206661491962801834528037954043742733998154253512341008491905964294917018051385938320215362298771290785131586804311236196204082099966935210107473420240784107569438154402289202228335652606416370467968889727173774442689664323793304176618306103881286482165680343954250866994035692295895720182480845685940787049725144617020357368195150374537749011419875669388633033682296260581547858045244413452313221630874959020947478153728012888259634283972334265896088674515047082779941420836580237526375047927643886387265732982500996048297095661945975921859776465589258696924647445583263530592985438557446687786383070403945215226521708244591083379539735698001421643076569830161907637715445611630448198650605815763469667130693091280904066326331237632466572530453396040450123519369267133556932911022704353509086048825534733945307300111893232563206002118094931466784714829888491023004692201226509746776246182355306260354489046468638043265967118697791720853725088002164463183188864568421092158662631397134999727551734164686292389578519273585997963798034132583399858871959111759057755788409487753406647885833500109610604653272425304736130090554621923664223348153795817628961284128440471751060752819235387938822288189756327047774329340121160119550170582475715304899554012026222392867542722440269370710544488219549408997948084428831475891081026074193033194397616592464164940903346905915585775052925899506226468769354276491217023421804390059561244077884685495466366011219606351352087153012753879416029596720564604779192733094610039449329720011414481414069648425584325305733055814617364040812446898481658513492115578305775706633670105379207121795916366847153693000666291995468933949517748553669072307924410561181271515821924066182647139648759026557130443886721855394801381866669230795731055442664059122955480801670380764487819307632647208012561012051267371575273907898467632671548138849728840629136063203420351051350610026197714141687550412025100228682847739884071396228090632889812919314782698371497849026104190413639933119438184255784516911042680840031242074430635308999770489441900878959783871929154652226604008185493227582351594404111048677294757645473377788782569667845679314031805988919521210573399218669379802992981903061285722960490747646914083444151725610612374935042542463787031578723016803026455573866504209983848010603122098666067422624368630569436292007476983867772226216485596144685424588771536160876484932019482467330176304587989073406960257765219509347160324258136575015278034012240065824758039862934650494709363046706916195378559230236691572816551080839321104498897919917227687218678409624034917576652227595718128770202914541853276169075896401188123857967771325607837482280170497838921935321514996309062334053661894419296584978146813713899818881945495166094932061021123225117856746889004722114717126149154019098563092896845903019980580940667309984837343767421366540509661497651756095449994025527976591223195388849021033309412627484182023531772189022909923145034790989972765724382385691440070927221018378188362189742659023558806577555369984694509843290052251687139428151953810038911129022249906772452851093959230324603088591479499460838476037172509589340717469656790021392613098467421597590580876345807752817799462662817435790604303387730848125455925271079626748246174618213505253892547402551963033659016821125964797124223733231906504962524037867529895710242900303661232807855619820483312752109429837338455116816906165698773102427856460818749194932486574718697000766468482374185870989479144742676328243610848053806245901435462809254241677171948820275223411711013557674571810709382380399906867156748113880257079516010147318525997394453962262059815780023061605714164618803501914104441835454230399223010918087370251055176676630189140717894490882707018485385205646818171447517418315428941872030908040932064924495356402126246757000662629387259895727557314736388108227587433513018191285029934418578866667840811248636706008569329349976967170737752742872101565637751138907100256582240439809116758617247266042461815522002848297978005584170181135414879055001485893772874870292671662183259053752212723884627718219931395361523666662882231393599346405803131283358363381314206298906986224585708537915097615244718647335491595247778628121180277103662544885309972918969243194005226312806780321610277506400713564791544757868498357493081370323022053669528090969585546073087890734016093756004328396120228495804949585236319303304214620505446860909254218092721799235367073823312941897750568218832368914409761911888728492976641364781931407552243359481851018661442779345254168015998566067713625895498083723393096791840476723424707227996971332271678188566911899290293237954378452144296695146659420455328058308765770918060649408005470174057284887378336744541654817747093620368173989856519343191197015749105596933977699250977520620908068053199703706633277436303377423929348712802018887222460816809022016281149445715796683829934050243461027352623416318474293776726875848682740923176030365536443286454345648993907639795383494167664840680574208387903090375974796162006554237852027529142356134508096327497779408819829225862439532613462461302758503065436519515304774613789625295796514557894321042562501164092734054470805399395091079823347573911144836681190749189782429263588795880241347198499609902589899092332765620968487249201267607857494730667953610754208487195505080263761707107394487382457386568189346212584646182914631524002047222660043390561534573475531979457399081509868053314924986644466964005311722042512281632349448104340529095123244492529382662081563810115403730550682682391547904290831356417268948864624557840868134163991488867679592229353734733016193505938426371789514403846593220224116269089921376838794814993827767085560359967857340501429097968724096320519237450724300468885403512991652393711944758989257024783159349098315011188582206151656415069623345607728243567015228976262382512268458847310861364085170247463127754693442518415649630591197281630366167062326615647843814513772070792106585753624286554435671064540150817033730067941481463108921797997991210925540973345044055941763
11 175049840589391837793576869636630282687487868795376789295253428073334270434688134999125968026139390543910871978662703879908672900309477846234471260898315901137250286746017439819666550755165056255377926149901606226673376448218322416576264035249277817797775477188625305240537051825615164306680529434650063201323757773367501095634741003772015982193942957994762856892219237660046554185127347627921275535592307628777006922225841737012591382270717426709013821581956975461302109821547668641004492525715529985651051202873099657583770300139681409562427708589654872188583135316050795345794942830571060729914470361837808487520271249201057934896013828500896313285032413011454945373064319177214895240329829796606939891154504671948341249800939008520926007021638021667636736687589633620799869670663196369272540567170827674187474402546518019309161787433824678193835615199376083151429503930246001878031277682870834384655126476772667414425283868268414488581619432342754529295366937613262771762988812060263125085422085911596177214980090953568069012159107570122467892313399809144672345862250834636947507426712554564740686324292756616096983941549683435270740164350440872886836649405973564616048744661677604903300650476717750997301870435449015567025808386431174810755702620393344836119118035218811868959624318093407144008348814266122811038798076214315556444990052140952243417821306633709790850391804525870884896124189811228248159483101963106546352318039380729575958104007787788053180456344622317187645016318217113275525759412274882937261895474022721834387552074779125912207373207026036289032476299967096301099201403724847576417277953145785431234102606742230817686670058325674147005874890586051281138000602622765926646783348466122583580360407667566276806351699678747027786015358911728903319854926631282902843163112471935704410339820039661180624441370174622476731339753030786028786642180289192279615854051358689351993821321219681277136760343362401489716865065932904503099831517796493608989352689310998651433210094340137664544292951889286341556164957918065361123980193603471492620279327178328425406948319634785606739771802799334980193207565801671393658315922448009298799796528742429046836328790371184198457074306994434339133128049132380096135898825008905101327930322480999920599139235118198594358083503693536728517304691382538269092489478892219787074840500637262774230420292166387473147035031918223113678220463571268617689505790595980960477761172698433396461679394947676952298714016902371215504231672279214102083853891167744895732638759096404781245921828402357056705532657490928631823655860259191751806821050909334712179349610529904443432958277854739674155764211919089829939820070685462601844980641807955776474213493152845207833745016657651916059728669362263789172251359552838333312314019043263188905833697159825983930396590468742899851818816212776598041824702958435211613170590970882134333605109276044573978157941384678422414643251059397675971724902059952789221803758484242377141829379883591802309436296952391095072451682898295326420175855826842055175106223332963408689731703091918633163278380082673666261570758547885869757099892791042939968252361627065358031930684701800165215603974431058727950227350482935523344814955671480327252979643359630323554444988276491406184288650094448982372164666468728502091212086430137821008594207925756957139946125970032910742975053945553646686318141686253173297226435982351456290515670335803358633818947605651206324304939113256615195519471339312834316755394573060772371790623106774303792050357292197348297644061648802495006292054577545983796418125248433869697165578129541646538807189005183007486214312576282342841134318914954511112989512075456347055876474645680733350015995531232748687322435402826882309389849587713111202530174074091838979714089215669774764215717188763471995956010794639474029315139939385225945277106968666714210297514217496996185321330084759546423210875495529023226116811883615960837181611238213362280557367617954479119024513597601241907446892233158873631242469698433717614158661600590316696647316886589678652123305184116624786980021462341705410563860947279039300737806972455520897287257638024238364516926154904115412878878856263024783474075827796841381539273786216000359850928159035780166374617271838565001832313977270577206899964830418618507002312336522337939408701042024019137490941028539266193158282291329779144344995014016590593488809661639648779896090319134886907174453672966068511964878809266674037603320574078235934285493627867713953922729914980405062934824986432420282731051552766108293074021862571238436703889543148527325701169284604195160109782910646612549752635544999022620939193993186404051918348857774252543060636642571896618042304750054495598880640692092578537590860626707079002154733148502133189339264181240886176765693449142104590022745703094245886155678205943013395327948433675033383336476104345464302416203348963541062149615059863385852982816055549749778467960898427243241364844004541068214985562417744346087730252440217796383150096544520406171830856168156526145684984590008903003476193303582840886445439335570610300308941880021323821827638708698008099423618013081059580887819126348271036966969809077424836775059146929653963515535554947304990906055112156164962032211101830029507958016750822085923984290761528341661201495599462222584725929124842155739533086511588550075372158751519059880885288569915223838284512060513119721775321465697610758275291032678124356948969175177866932672923110390640163306998319180956053928034541860214023030105571149755525221460639893606591041504629838935694246477042858368282273265020101114684038007602376063907175790861626239886845353466908596514518767934630089841480729800124015208949043546509131188147023300438560570297230172603254188660078753610498865716338756378880936033478065550908866945987377890415476912948523604644497234202054497264866996660026074106879390912451653785703394996138631061245598236313780234473982177071295392682555654871705858655790651097464897385402816492563501841286624920260070143766601750869331483302779246994187046837770497382754602532044661122319185225448192049723086315160428975992216599871616759476944931400813404801737341653045712975174767077642917037971274159919308531306071014166678640053464446672020095458338448474484738761016821799922422228133172290113186481272462860821825571826200500911201795814734926905583003226716568860603451386691400312879450670360708590805089091102850423040665884599029981657306044493713473640565178798129420960441254402527801326399966558743536802107017367971808212772661177475472370657886817873950767865144309001199271799393410448597044424936263257977037296824274054900474619138049451311470509256033691879790954983096425721289650793213358243118118439750209617679146564250752322848678619677587399145397371704815890713879219248308828793248764147209756361294852817288191156745224437076795273501593026517877380580545673375342291610283092813352422243650120234079101082113477201811091521981746773522110391144133089534238160263004810574311209095372311032089010564738389492070571240102216519646469247431204937102755016063998612937179275043304984799127528131691714798236851921700355483165127536766132237590093009107455781473378207042434755384487085916530175843248796013795137393382102903073266745830834982484563931990653523307165014275274409375866415044339952805732769730729534413166944116169315649002534016796812448834743962644404466781357613559028474044755865983827833968851002793935088223383573750998848227413280971529475689141682243570247795892913015765181482261058632619598398069564634146864645831730309098233184535946714124462939414280700495958124135154980256248708653823303358187780617912552468636796653307834796427191947649708096780602809065028211823246264996700323870460528822542701985043672015632990012537026401338399108661844039278460851419402999604258781089766196883581255846533619559820632671366890244107607089937098457594014733588836926483026780969401957352109157952828670100998070783338961977359895123358931071415792564681034976337250630942325817848313063941374745726932035556711680559679679338885091121306119392219824540038310183946874294047015653825943003295253201450368432541783294694420663169601710510466518576509966935233462927646950658075430631846519145950987039204293360492987461105262297012183890951197379045227954639385105270189315464866228214687288413068921925573964253490883789483080261496875971139959921740509283654099339457957272903564802983529542029880596526495005928547836794406474710933393183265270120109745498996316365207973064861746944922292110729521654400686841354427798286000064155801306185388292676434793263184318955076239502184256900042077641713404467568861762750477078858777064935427487592046750492018632948171351567540912920034061121357187615264334396517123039693580580327794736528511545202515152594773798358606955913593987565938036697466428454846502016108034414242085699604218899286254304831103484021555794083327632901292302104173268858986800053346922298676089945273968077731907767375694429355660536919489397316641138956711743405100544288907863514091961675384441283966275145406201003064576859498681934667411725417383258924069218550933045109305972224518815323049914775776711267362575852210475423786663797851116759641063660744865874318967262810894695506768199797687324037533391055333349398002287168341391866731217398226556451348651779274395454696889525660344448030430153522877464590764217242479679410761410854399584354827912711285022841772338791931741491672753966964249088019087432911189282901856170692330656873772695300452785504412385995443317361415152002248568727032055793541950535269685264412928799323071793904226772454949826479060775934192459871186272878806757130975219564274163577059158467075676125643354136120732561579773727206857298476566110606371477124902752601181326632923616465685001680634480599428333637860153302215166708054165773540503134913332110984094213589057533180371853906887109785905122357076663421135902253486742686248873822666740114362576632060371018218142169889410201827139187364589647056312748520016351779679060928039305761522079540458898682948810171619533268770473826767944485761139410130564715048395099813710759415250423642337894310724263954722008592948274483501157358209859482480776432526226576863519347966292932715313277369141445313396608710326651866991284863981563225370118385107070649904322983104762537057471203563374519864998450991945944766422599657688636978099327616874128291209434072661197032387402273418096817296619297510825174395629046351940885251814968846344128186329580924333478760678415602077805101049128739273718428739749454204335633478241881918582690777391837313700698603871915339119959818398707148280817960976581850056336882152447003111156693528442807617427664414123293834700558991147380288482701340616986941773640057231647080611061046419885147914690663423041074016571729649086985655550939382299743894629357663905219407220857654468236007800234469616128260199625031872559648718115776558840838767409940507373647299953866769690763096557152831889336458457511285964808915819332845835742682143178974195448745818593514639403033027713958904673956106011925178506641501279691466298288405343304517371411620569213771333580054684165302115075059519537291632857301907773615253266699605249717534990991191847930433211947590102789178045903530747855477853914700657847416525906778974867430225358688811617594194290535168284416124400277826944342949846097518840061751970315237062523076109574281860707804120285867303509165817646957589310164305990329303307092697212115088679684201104568670064041450342430378443678042987528492191531806128516022972849775980119927920982756633528126295364289186138702172506235259156824418231232763081638890553417161282081839234852099986193063204576027069186951016271636437284789829136095905163226816673475496236256651885739708421131816894058936329114076313257267421156241609467095310356062171112890975401081490892515612964688833504407482308526355847756229009615354257810610235809256464338523069841406259293073932019133136697081124957844808627025441145488615781235513113672532378077658914960966325179090161733811459768893809967554113873211269593494482687425547556607301335482205931760790611146752091981314991507765871383750086788531576643063786534149453173003127827957633812879956978436499370096558668380277587541000969871098227961671533677374853577317279139050998429653862719490105389615648523110802461305424317147187059800650970843374117866333600164093804359920981388399456441815099690266041661886617956590280094435845515210952573237965290352041269628620668126834502391633497342396846786718240474273090670657859148357272298513511248043650179227406786388313002684777820517142105250915131166150859545973223746221516127272239775710811363504062263879079025683067451416153832485922187978736594497429012771710168780801636250282198371308455699624648784857426303454240325917528578062515626067163217256289427299872412044933389706384254207132560178357605178085856051425149764324386512760419532614585692236571719342881045558320964625206633631699971763694035890420147239617838756196445003012519815070362846172113292663671568549115094966269962672584076044191240097241609922096131020109851060010721683918277197154587492244007295633243180220963956528933542491381441710862677999169145091677589116711288717248138797094983815914310934235714894792441134971533547183623444551883943680938415484174796332152068388454695688004175496085069606302650524422398463718944074683640916258231136321899515260012676132899926262285588317096136066264814651637894831465163822616384929440327745461977064490075302408799699011363798840592849043721229450486888967190894960245921686640472884295673634697047641431727431251688590556932934020177922496669038075136228428955466831529768725930313908300697589233840497669057928898669175310046449831738166073048418962301109439590706285458666624242776782347082308124970120259533815311940147370779918005772089584423047615960536427076734740727048491026835313470350880426603936511010527330134654659997732100498036846577003880236317304874521538330684222414117001386078151361610163246745666209258827081699215730833814012547954630525045705118591825074377282610437354544177526948975352497920806742986781953542829405131078507731838620855813367264184757230941933491080464001547206409588613459626749441768419880539355670548717680979823633046805502066225723301936329483937673051683717655948748268035335896839748676372144999236941761471336933289205800957717773471589526579042878939890754911886896316242681010645286670674233082293805684866117890144315882348668578447713310295432901040607248532395544747645746438430801743591733531315678917442762163623699606355478135763424951410684611158980222061950103880095459782343342631368338036312240861145528696342505161162970331933370167559255264316526562698456690749543485233699784069854044565389793128676349864604982207446289361032494148150052155553468726712188112554087930911695543785665306459544448225910993607033659022250745340395298607373268845542978153605666641683893481211642887449166321118604762714273681319447057502006196300371531963206718379172291339159851457953993685852502584587736622194448858119194865955228391705942196912865546721840965852626096080936143368752183930347385002667363891635785046349707252721898893169050753136826085459225363699778019919891710232220813990397960915993367688110174334696630061018712392152649223216326744074710498574402352276153977273224568905222607365379286747324377388041278283524917592200235882559925667631635909326102751123600737422649587122305077034338102860020266000272774418662371523708288498260466603620063927481705034333814740588058633100430511509962131069820100371441344914582459898445255803220070619647223388673101949990109274468330610649163485351342564190051857945448903202133467680393888767193482463528758298788887857436691408074523574790294368246484947906057259459705940673022529072164384238014523337215175653773831314998222994063923036664835222909118883581425377461773265349088046411053441451241486621243295178939650500713488655002799201043942565097236106458295959121375414170529321526652206700279781813681447132945139051509363668414159928712496864340446202813860525835182799726334172032379136965684835366339696686110344124000382976185285665599389529476548198273157678385516909691816561970553799162093749148124375681516941025169418165910082579354039215306036554571061518783893000391475500479669963018107246608622793067416211021927004280031690782280285715422075103416570169701606471079571405119850999925273917935517663431057693386590987233651816979776523930933448358055583763855933069281966180498081072865005747685441225291181116892541718762199069577163661570037850518606693764515766516194873079496232514789754091446591506463824023034461747008389522772466781255118666706814701077169515196255580082898070372203391117829318284837379954589421366585181362975116406078159560776417989651117306135820103641742146262037810004972956802862035553754437813532765901188938840338051549249028419157646411433296937086466740741192714784491344454229165747067462047843332951986124056471574003541166884688893515157428746508622050708469402741092510149070282362509293981158842249613801091895038139989354612146406757334107172281163046139965188489868024131286016647634347209150467190527113426054034984053958531033967242645197132871079120315464819194673135325716051137751995178556095283646362992934180210845942155622860431785161812505977868034224978742084869096491755064920218913751740232642192444528599641991969060587997216580494843614674431921974078855616150614137563681696390796670528835490958738410014250197394421811259273187165262759512309729871851702328968409955309415086738113729880194408790741090490037641522483709887595157666343703053132657833237764047629851712691251057399908736495943292564422608132632758689302207000980686888097934726562500347404886779052055686592181313176575705775969064940198567602975177060472995546789169380068534535884566257118619363670222467768624035019692225837555577002809118656703179269893962377392126320055540024672142735714097373072713051092413883743508564223453433513100493406311890176970588077464783083413169143936657922720252282246937621195051488348990126775358244287713947064934304298345691951156327885418194758847516668805301494780207654959777429904847058409676846041154724414637972189743522075797996179024899336012555300908785226167700375923254654272534946930703011144801613337838015113063451162211928963895830337606076027249405541975651952078301345382777476576773631227594868322243516745893018006149263135317038316763500044657755653000209599320535331250149009352634743913710080038914566954592158374689754748417662540517257844628498003047450673567272995083933314485910619535624472764088337201777765506737258752513357618632510848983449417409620678878309775552743760009328351073036465985055809752388354167569569832209767358530796108367971678936835298244118597744125496813910597250344624970867912904582043600143916345722402264302056037153075537049979071877146086643819805494706276736992221699036220456921450126534835764280242663199475104918807776737855232865000114673464359964501768755828820943952528927373713557095623762820657271973518302495795919953980108457344546783901615852952140813285016555809417054421638659053461517460019336253134576283917705701952430630499265562082214340413744655878992116573940649494828290138497450113668835283978396643718977554127430066795444795175070094958596008949376935634234924607842550471539250951519744604871717451146506918580080018656424943875840093133538679710636247117507861851685696363598820297685761151204395076437355827134006085754558083385611356610953557813586463470601120490667091245553287144500520124991392615513762895999266278256033335495387221528746079885719378626155761844028403585753070445186512154918854082759931930938564136367347010751553333638516873900602357009677988055021423469098473087126632378993541831754767208794934924842788469709363847610493338360561247710830133010131862849192905277551225738072278313419087402445554812391109213679983237147819071971345792929823233209927063842945200552905319928279071782736559074582951425853187766726873017134060498346255712724565679745542120525771681195349009715265115997015205837586220906648274025477583451163281128159008540275088774659468049863316709033609296019756659797550006297653187817965196751254725913781810608983698819224888957522514360681553163543370606992510493008890947587254887807877656502917939700383007859512042405122238320186335058474834714651250087329898729178441796317941202848718861881097823785790461645885304963742391397357803309066452019855060263109890883571965576639308815696093667708281368973684162832918838461298359931745142218159886801379167
12 5363955408418467561465407455570619545158274170370128435155351455307639815186653565282912847110134377611535950334454117479517775105033616897301022042809827040281834652577796400728190181548270186196887094208405579697816958534563436349689513018720073179875309256490901511663791434210164821848882476254413999060562717454021616514882857955637380509964542976983852533366269155005915245353905830864047706190252745814423153249796769365445329124235260923745774000350311688833754632894723578915921519333229906484729175261034068298287391445579586731830820648678478883953497151000246192051956111729673857979328489038421302615971915182370268403376820437990674556590739522567580969339142056344915982368403561057125052521727883073948487870882505073746066140641361546595141008717035873014803809276282577192211276480560515898032878063878690273559345330073466967912263493432812022755523751083099222826295921637081605751622496717897086649462577764747271844343143643165053962620544665373484154625044754631883959333787046789412783458859297729670351157492748412180889468225272757757262552965506984112235095626331382280787483192827899412160628618178866755757187253035134306478251208789352806308047504107725575494420363048924310283502238889309139143458664320504758787420466838306446421228816126783659707145329995843456731971701741760946648470128794752893782630479122400455677090237721015257534417427916327327529663607280899376359509805883785265718073409508356087995398077130634861347736767396985751765473776565256467446747477016811183101733716376281276459684592581548602019803950798030429307575227135941624704594538864744710807023978965093849208399132431710256238183877690805202941588122992134755859041793644099783921206788164154276197802560032801852002024519834650245904224570212307494634621521001263735907266786716403357008030913424367270340028986775849600963316028528248688777407380543568147090981629492190797478482068894648116624075701223462484066588338072164551639329083559316485664965444629226871233323758200917572206903882696890567688494343777427496670441929156573131556924413434717199801683695129557199307203142771232218772368935350377088485051269852894193415682298421657650309382769082806519874505932145255424943619907089386414845019417474301943188768178083564267596851796848748663024660093268394728174818910546120956303333525147596673239346304423276003531761029106533290979952948718525865981655858998200536527809891557889466133306633804708952429899935952734604091554280584811241554284216897875412962125651708050537794341181395852059733152816591530432560033945934000109713129600280680892304230477836677148349833033536292502460084572378291165389529534857979572053037000470488556822494948746540754343373511388939410457861503244806522321771468143282139235847529181288564314868700489968236436224398286477199842739027148164633450864286652864543992978560073139797796900253166415042159159444488889342894645263456882259044125870101967783375083963266493342384726443941294525792768569493403442167105668980211639729022949904257798791614312932100206889845350949464288158126824443955969061204377011316228124837448348594111039491266350427052482477796399547513368043029781062179786129219577445134279303302556865332725610871118293710513775398410639827713476110434628303276626794082706613060832693323553317453203966517922166564053152146133341477112254730410995435282945602850397149624397083093589587425432150679943091482438567840379847733583678761274230053547994641449413162337087368995944985457854383935397032354730323991189088818937312227726188980533775966794044222615598759694070477804226192160502376896184943492012908029806687218663791103725903202758137300558825349463579066810509254988170645260681107687690355055509302560627480470679202776800251348126657695620309612234655981087830203234530384811162004052141073759247920026112432568713780415577171190412535160487639323715846581207920652253209666029191124979610084901754499819560053551915671027899549762258980879906176392436426985592941897487270291713990686478096785608967311592526834325088105961200404512700033425574493983970942156176409155842366327239438931786935545175756555409303057321228640046958509522065057887719120332761557003805619778105287664498379763437142475947100628331658174981921094510108341742661239955469800719373284473718169168199655895331491805152370057531374315216234301864477424472467939571971195670577599220581294668986968554113180261566271672642782820963357861768999278723609317892425073155761794078631698513352937403051393035603240319301528939194519731401604442914580823254175737912784668013804362154368362579405445143233393729053743080625227385765858360179620785422867241315513784787955003711272983825583165502132752152646908998212375009740422448937073507337577590707449995464757055774378156346738869662742721973770498468043842537848053319325788206452128676382026603537321719011606289516145490484375313446248809576859897023974355772931363265157068291299163416444963405331861998658636462407449875864753226436002349526759730953455290210419283210243726198807157576970079867073677765942402709355899474216524668455666039943624923387998908602724479597906174883734402495307385864514390427407934757052293880760683352404053733409294693082656980671572151449992546926597342038460140408820147135606914875031849684570604411748258209727644598473009921580051542302455330708526103335786779730612469755283279827973138343029616251696231068035687781516905682758278682291334444175520267544396001817267196281042727887218854792323708195527416222302454266497056893396347619540100827058567892343548720060074215856660060248730566628827877083661236398262458379635171013117867850879286769591488587659259216051421468794705014065755421368474595597231996989939992508473197708521380322795097803933368939896411943343827932422761628566779999946008098039914787001781425834974328281526495439769338604914699799215004871766992894881033799076868303171481656967806664730388085833232754308021733341115555830206945118696573461017597992874134687788470814308043398018277394328504792307339000773776006886287704521225776760458796203865456249348570486875891016954044294392955660965405412830180107262065796069461270649172867328862926188361648110593738673737776390461498362848647206236792760397443339527495614223747922850621720910970236812333052410483991837168444377052996012516791061407495704518537895548657130601102966589128380499453753834344314764855675744929906327470061180546161038093925807245563979177344382574585226265849209920762031723817640600493553259888083645433687651097908907878825275519068281358537395517035120283460511419413412648476139987138219297579778789276461561195320120766277055676732027807864105763674733210746909581168552782082408055049771740789168681044886113999181513523750723387419886819538204763455168820874458004723768939752010565602694658779197411796693658567784382840761776677913460934103826423230656921400462333516696705088254348410053865999423149415229762128850688881792401406320677401493941685715680674463047806708828516246101037310370523180525999344343387976829943694173338837445964782067192349992171301927424450239079513688548552767291939447730722470198489035351298003303662420389928103837016944457117969233849436126149960105402074097471646002010711546217636216544120717796382588149129989580557823328259107259481119292163503366652306143101172700462199923700464714732136452574356619762240206174240321106992371721076877379212890612001966278464492987029884575278756916343940849161409745262499809760145227106892908431255833752479041612657575661408249207793748183764464380277962085957069539325116192071915308280625610858506644659727688261488118839412142373032257580304492255503614310055760670424310842001611170460576325748690770109737624300788137948907927071230849608847633924319912737335841839134953087584014638673855633568385530889487634323192654938044784585809190874345299632336633267427172329286439165816057363275816554654910864154176444463307964975877735147345402849948067849653277943721441290228127178289479965722100835871374891399901228002761875299876811709087577760472859578014888696735796361055413098329867359813130268221356297242169653939097474674213561767268394984378261279496580324852206349300526446373874539830643050738237358706647833790660619370344994721699581754072058841412203275299802430561492271190186580683852837975326282537960345795244629993016974714146308728759263453362104865217349177581767232994552377503798509559273685021711331167232040129925243923953899062132522929563543390647400938682365830717265501601591186905912034805779114503280952296121435675888325902987935833221470006439983336954135715153603649027145758265282702277932243212875482854293922527038704333713759176862193003529025661035767942780614088072846556846878354810605414541380922835608676880056434927929105388577829081821176148783969880785540273392148821479958453141469271580194645674116573849020057704136576078717502141334479543223399769506853066891615612575942456851626090176604624765521565707810160516109237240895151961521420877934035970874179298768547993182484370301743896860251577437099495677699376861425790770392318645010485203713296735021988397112219007956014617070166836871161028947464472362673492152108888231528178921170857730738533212035629709103607491506097233635371473761271443514418450264951755975999083290477069005655224356842104235954757825709067027239864499449104823999147547153545223758780092245366361419641054345689044065428450528737534118896930333088772823172769951209155032799102094472103700821870826502140540486100817459092789557222057025317902292935333532898906778079462011228037261365538047141297568410922549521812928710644312031962921990066895571641158251394829753853849666287543728963358442363027134354906593775861606371658835526026483313265160215555317987244870901166156037196256416206316539975147396827713082550565290834719290734506595485858971805379492793053017095802229753077668241332698931643536608967106308876677849667160339948648095632611431342419722283580093688051874097864860991542750600887442539257670470620238104630483818242365440928498364989858384433073179224456753654003574972444454826599088965051080657171766149991530169578613740278608777232863800723039001994528486892992608153975686571478574913366696420942489173445163027727928251331437416256120945918595810617411610298774087821725880335492429396056390812941340856354086626596025142203209922034646979863569816434439713420919034905385630396178567863756080973676488025991658771351726435739334011954643334013868677596381054307063569738243481181514249823860964399848787803812762861061157794050751142630666154778292442889192709923650596096370241156357554054302357598508051835657830360262237864692836263368567541200716488659955417978716057259141355476827898220584422759870438517299601836671505768675167309240127554976884474037662444568550869399606185840120055364595756093285422076071892686790377926748991629874297373685125527625237828133455247138835442765129606305645567911741646138376971525931083858599403711171790645955174677790920482098452902282457039170869436013035604824517523279419624334589141749053246201659813377477859641131664817427295492768684394442752935164114908116492304041620942957067609630129186690077021652067534840735551441842321760772550705336538812785203078694266493452383281764779484868595255331056419757261518535150617898198523883030780808173087752887582393204985232948718972794142769304101222947954842654739081493805669035489929909245902003575972342624284159047965213374726762093813523180699756391922375054716474149026188801242109499537410859042484120791034592941273320288402084293900912986757084660798940727021715487384297847666760809232784366559828426851186776766286019411810258756457849793586888878151915756139580742865322419467705067354398592134437364362985308398936132303074913502664798040069665761683345945105831618935502176669371177118133628154839318698796572310249047688614229323339360664462730786938322865222588995923147305833910749880266097934954723404899937243829554608366762443542098178866637210290216082274310660947731682024464837216663265848188488028512421559490356012869078545534027433128961993966015477225644745971533162470741102575983310584979127813061127632227429796551746869078486762797631264234238374832016670734122182003242377480363282805026633292750329078951009105604519608425339071967759139846429726080321873360334868132236153257405785978185262130369642819207581373713239946415033781496568205155413798159470764090098165119621900975811067700475766152746784443125186068496374731983552567686784710376559821258650997196449129721592559119893520420303463453374653090419423909766757397007507718626795261030323668233938476337832804484528812820473906768446527598227975971573663022716914581484420570263931183238036530069805411832621413266072755991221647482494154015931960044271978938360580404397971754240488976345736457829832582163774633090183420554616682199435193835257506442813121258448765330841336963551056812213500717037171174843019321745710504148833670191053221043026333258857398658196153704587918132470830586632210542404377423505022834096512649246356778639854640759355332288162733459030519768504166734424072530719331619394533851270802634202091384250316170380143696086567441435990046443558427079961561580790719931104969322114355817851177286544716949199397941527980494626203130399121157604582248996816412871125064426029392941230270696326996069407057896571556689514610347251310344076515065636481408070911319291441625942315570736965398798280565405655487606832633976313316726402970771091798349201433427489852343388879124306397957664871812152448193168790765318658678466282668365299954162695128147532076682917658797373383493345593754011050469939127022554407655030186351047774286451050786970466965208397390683667480609858238167327630284541768732074429216248033243612440700765208341615417370484190390475013807646342525410900056631080654748800477223130782105909792749467453806193454227228055964161766713725203906354219209388079263964120875077330943879480482091503844903178032680554208427661047472909581207549839558524856646605395975858826580596713572079130303381894521959440982586283567368926690265197781760641192192219577265140289586822922367358467184795822409054669779808869425542550881735524407345967141219425709001598009481776475743762934019810865490656354096488667342705049495475122548460622731534488416696375296656138851845953491280202916142787100825435503328140120900295879549377125526411233152369701698032703211253024505103004482609713401010257791365847826619032561265133803298918485595459170841761089833310453134627626865014502450707525072302343458610984021971735499490691435654111985131871998829673102093177701708760292686286654704649646627711050387542280134757809893607849967239680193319167431473098807664728709913809698975259995864241735382353097925157625123875863393289680767617807079171291602445469282263551541054231871353885889482550281982374442219995803107483985644381168199871304231488646797374483466611852659061588214374253304597393099879302860731397389186794968660356536031437949102889730672162642543028946471561395429200585398913243489174895318726217838657507637745643596687474690535849181497381286158762783075555284343934613244562329313073493862517447186401933424131390140343434587850736521039525846241049038397863113626423314273982383542217753481646113147558256374534942516002539667039589950111813196382248940750677924599872373575364415325090007354870733124241276192145774725416544974974523631925557537795189840850350775356920606410973621124802459322249045038745805232478399370806010407448483654909282817906882452701607840381693941704618427907487107823463457053581519112671860487241109377695252440547275780243771698275314115279466938818240293212567589390914612581954057833071649662062940709384657301896991228166225632607147878989540450185678830166318849061142101598045705930788538764979316928602836970490753071933215004092387284093815573666624836254985175813278716606812385512349504894297001386213394651394061631929416353521782405390397763277420261515888965481939284219450231413643695505890573646575990078991001331356205189883724998669946979945895639451577422873971998217264441739023650405304964645714820722123339576798842663701366252729416014183672118735138103224920193085444330236400556073008204563056895666595221793714496413050609867270474659838615541706614096782560973389449287854500969955585841533970836220294878678496973997084389700867823344244683714866188156923674198294885142131981669388844784317154064025849501536899864813458115066792979270309940981481053467158191572582631916806801826520261998367722344269367718058229599223011473269015255776642948975345431643196344624143726040782663150514938050342199887001609405661033250194367176849588527972082763509414851362878444323618000217226832247622810943975022678450739192826230090297041944285775504246668462775478556788727415044308591303291656226819955274223528496113365383324632407058606485471815597982054654221357624490536361225565951221611654129777412887396400733983641065149883983678227847585202240675927904272112103953104527215392251286177179790307268727487542594503822980139980701464165729959778669253199300463021244865538733082468875972546154594599436682987938056594924748197549511283344703793579352021529767487142174847550436047687138295992742626729793751236752647955139712387954463462693715242747064821053862481941425044891471605585414410131144673151260829896350761997572808139951874557258642954302000242848630319617532600177167612559476986819234084257922136756585905446567352465811685704275896320457835197023493592377189482232657441181348843069118470572001983325538619426556935595573116934508943006260682610524910914673801561497845753958380975234065611812060602809735324363017755362843006446124163879628311347026885465705435932941208362657361822991752526455992523919080071485263267227589675708167506403086106850109771010335058267712655399421282489927183002526191543683318468939934800864247271288541316053802096847077758874566832317043188708289121799033289891723971812515605938170146078554617958453367083824303073974294093600883473538676633303982708477085410023812617481769456521662695345763601268245639439358842823071890612954806277470982836162147332648324473727684990024603056501947763808510199328501526171767523120738881013495686281458838914269416118403574687122890540146466904617410974362859296158239701827301491388926000396361809049439801139830994024772831773285963286264327154965528466945555375789049696593857264494488807264387683715088590028567670163502769368509225239058721979278237373530426831150114126312658745839828161521897996097898666498645587647825502434806396117455375441840843955426491216923781106495196507257850423206407312415888515030265018497576926303739394199593460022605194341472487586585546925108044058616705555385822019708875854996593130009229060852802821381926792688930191120519402017768937809796288125150757508432420356825466862208114583925265092792763112578435377389061660726937685853092266749327941599891682665170962230701144758741004075081961396522168228172450004449605938856854350332208001158319306647552481439017130689697767678608916497524742924134611621690964404397012087975060762781064129976041408465577676633938441550318587322570846519136788149216833880754247715202463585712159367380290413183298251781625506678728292252293979731661584594726808039873727382956037619699021646644297683201418329598112310420817035890604574785461762666355007397235703251147165354175233276708163812200279590590917533288527934732588783967956927081203040990032619663577605919014825655114900470009168923430402814119796312147988863456613348846762848658158866196040940514042490213311157308365829628984862279985242207596206377437762286255541537744212967001588260014913927266470511626787832928160879650289075041107250699325336197875824445867579679299063749676463164773533851499625911709563508751758648368887021852638998455603589797637220298538068501769833299477671463520880432966840252283666119295747289602711727399927780266248414795878483795854035559259736872603872454120949931734082890170445214966039645758775737994153734682867670565916461262085663969240590352187493069000065283594265716700499619236126865030248557450012292419615526289608952002727578579842549360530437689030692045931813362606756673040942148460190259520216842573059225577844704711721584478221482845177809274517485869573957438267918307092589055824614903438406774027979180350917138715202399463673902200510112280302080639697232341197619214799267220063341487644337816798194261972839689919758571155749204348709119287819485880433621615232665262789083216657407499564985342380661940824153188111950629648643710897133892905547319018968991598419643244405171557003575588077189983283714071998542222340471641833686458713803020041848213299028349012010756542705972343457305495543439142664524641821870946249355741901616456088275559557982946378714215406356064556847124182096815306453111519635708004825020845009681935810478895271599263877797703246372644495052609276750844014645678331085905689892393988179721958705938822749309219266021160123091704258334384343871619426480998007488856567538999222664468683758367664016116048641727910015150713428194832483678024490394627653911319724300474753960910517813942777678259551475719394483012822172767365795038646471212352360560604305078202593736239420347239107171099192869756935325474814326498406706110274379956221618244314978021940420248179656694368703612834347250712992161654160687791680518663833954688716592553157183769387263284334214728573917673048777335430446826151363049382549218262995086409117095798056841707802790071123708263424442024711185902369407504522868903296634911862653699163634856391256428575859368646365391215762906625535605376850196411324451197699212469958215728948207561049780273207307274485733900891338479621581780173237822581841559053469837527213402665692738185523643207294523764471500248709600047341376769186167359259066733659728991097518114553903262112721052284379121668939800327586345163425130199946631028169303185775247619978234207497279603793995383343683188228662913977654340380447805068029849461463552196214392681114845798395944471981631216376590600544891190583002555615601557354004407550065337421437971993163545991671771116819682584035916877461441468020141508704378208193519317268643811531651248840492933000861527150877729871855121921982051485265705090074876407992415253042492404163902586281791662477138216016278772562340413640218117119512113939923255152269205327500495330888093209228942790733574997585204438504072569340590534872199239501618902301790750057596739116579126782297432233436750811071371384328744180735949557433691275515973438808277517075006187416174823663054877747123644528691236341696137360369445841277889734604317805615750011511420594118059931246377365322976202822245615889077452505540887700176158589875240991362852309899012504348367883391082639947426378419151707876751332082289343401271133104142283942866483714719738810982397242873304877627904208051124952333391737949344314629514481913579401920371004538019595343439001206821089234298995903302759785868925127296081013201543262413127571989632846794123054180560622888066876488911357500503211875266055228247248307137259979454901273581280985687373159005211464521892885326279660913787385454928426930891702681105815481033423682230529071990146421317534594487664287266612268163952829970772219663968011145430883361720344541158916742712291581157455571869183875063996792045100971262189880213699338474992222345075958519837206589318917939368730461350730146413259316793324106119763919601999817253628054269747065426989904366726706961821329874046001694438634883433737581881737567574938980539912266179229844327550540874380149762514648568942029167093673767221683341321664531526333391362702714096734572060928490261899654776770111163196520293046150983862523551398651604484744111297210365765441401022943351953210111158318172780406054918486801141708327250469030438600676413213679386791675033637814581625977182759594465829580064629860015447985257664088135134102248149434091179846912850151226462813421455768726899254689677667976975607088427354825234914818956902254564313342325460867774638814686972228729007644128309098075170543996501065349364497085885448400657686789594673633131585752666382914888244315193753232586490980138877386805444075777305936955542343303581531702505154939943606349125181748838991213437772771931557886131631060398986305892566650715734158686991340491329325386308823543826229141968481763513659900645194002326054499167950099208471100193405580539343118195828486237744175660033959084472696609762374016422627790626368087893530678592425816357769418421997174630718934799752428565583612640984185941190693901416323606445965988116752866787820810029313735151234950222235433515826076715984367714932284062432130137600232251715008897185160647130249376159780263813968833560322633520405386572523304441391456012171709778030185764819663568518450911898946320278427599578435025577710473620679326319555814123959866912787510023854146450020078191366223637673992387836590727381762061625816382761452273610757123600770039505873209461343388566242302872808837085960847190230151681542972621392986464837205876001987113669452277254840967319446933376810329586995855798553925601708228275860948963908842970842986451455740161224565702244881916740709616480768741370434408946472499123553470756587329204686347941372173121406827282913953559256632569233566767642775120289301801902220435566491994975897547006643867800152282846494663336970495989967416399424001044932705166249265729010130413969117609896498271065740592013708797337517858051741948901690340047058367462678760411510635223177905544092977609347621919465687892385539010295524021189153006656115544789574616191458522945817909057545388067825444209982158309673182441639975604045558471224101843140222927120630023576556081299199291298567524570969421845507048416225524585204281630754019097781669941775740698520593162975556693723387870935440890526847099153484893958011271706621100866894906372353456999382742273287005585920339195218003659622239464116942620369246389985877160353393967486477966744093471418062629173276043883200639000058961760445548262135397128981596288769710689500584962289189897517103915303400995181976170432819176975351317585655494493712726292670647654634547293479818578549007800313039065178025076347712423571434977284571232695079299747605198615692685725795467719000931990175194215160274978083033675549835146573691597709630931649126796767373157260148842448802256801223557733629156788606111153233377721963090766498578825693355663259941280873819078431947636482422027424623186547661429255071222268827078634870867348527677866171281729587067565746282163309443282301431860337186483275968803147099601437581374220810437419989337860158114609084389324756309539088327597475533882756972423005162155334230750937984711400616651521368474277907913062773575480540343597560209660702703408390435253037238675505347241476728274407327436899265627768209892642835092738121682811341349406339983272664827556635023281144940170496160015574250748657104681157422946032112998714725595358037579910980025599227423789604138877357618312434391914151351369648182721639022784746336512234158283290592575954636953517150808025570263606197515248799068041818205530601865222471847016633124754892660866453244581161222786887610217459634957120836522261294491904527009204723059518259324974280702247690452600917316917423053561883198546895727227559708276558166224926960760203446472247229553911760244271615475351347127285935134470562882400222780644092891253518293266136092355979557480637773814598690601514055117141698291385248386720217460221805033744302816431509142504320791139405805132712622887273128426393106298305134896061938003918737537678069214906596920416441799038940335471575712542985640583155375942489941576779737846216318007292725461375854225637698518277420880058753938722746835534985509820821295906661602049586187823911846899174933587988095908021266489670688355527908331484231985669868329151911603941813674780351371058086109069178430799604933259219868231877588119605703567960906897679171389989686432332729671346147427070611082214061574179692463054520523446678731623786307420651309979051198878548868876368892313901047451766920491880475654064230295677581791282232248392377718532709861178975975550802984232302582880854772528660245849075445287476025025109070148958920213881129510201166664916968539640328008404403781732158075283190717693717933018457775951590242060685230819170905625250291964907015922866632126124771214388331088130219502984047515027338123101025775693928206194758961980626584730230220859294661394128250922247749737253565059523019209151923637607116645901197057252260559766504491159607898312737273960290984612356730571419189996845581531122990956426149227626373671333082898454943854167911121184395381339341023992945810735067284329407976320514514129876228531032104423176638850100434825957155892418187320930156415153990846330740651271901513486616258745444787105354964724167283394672188555124658027911453171153716360604519854323296328782783115729166759280028984534310922350788309213883696927339610402713566517286955773552307499541285429396543726152720270126656984191134665931971442514122218296554598756649757390086085779372882697385566628859650103152134583307633303476271154484560017585742812369091570919026197978749261227127145340208073653481998928118385448097203356896568273361284379059181649592812560685596799081875375586826381293903632200195879696651408615259530220289897945132451250814689512517788881711441798510887539552908111706629868942016891813881957921298904787343387868028959675310274899954260288525347281720824333198980052620140782062681167235237058814968595750342634338408476675727888752721548782515930727150528357923622171563659609774961582744768837536633990806071429431869750633534774314146608542584396131298598456568288951270328006475366411062941856052884455660814647186821550757800485187721492738285577623184707882067093030061193150126183431088427023209586197217347360424617751912765753694068986713802774543252763458457717859767806253023277909260138478832931972347895001364649171736483393308019791793357623129804260862436567633540320824286181708701479559572156541805137251555068504347535773749854134138247919187258806901948201244948088664602923965148507235752760412769855570115260813198560625303863846124262310954243218591074275179755169729133413879010273676558967919252163447000279920263871476398879958156876058362610416815132842557399573136540829063870818565381387816608991230811187038536328630401898261624781969716013569529293608734560941406085705077036088154863951839095939980694348059353461183969050769363900371387622735047535629321272887645573123490706313073852790530622236540094579114335455877196692080565054674869893141488006240127452310792453673136746221539468555302641887795581784850653125025406420876376064103070170429366177937407181436388669188561955505204078257964080240626611743296803115112620944266042854718381895131563550522048062948966494986910445388615223556311874013099039841078695286908342474763363804741147566414054698285270373134302163890252412691531710273799775918695205755519857490359495127107420358729567392921498685733515129842008266903996489619107085400789017359696516541198774921426573338741638816641558070776865123303055224800222282632439948329418125640900669947590549802230216795528258184132938346798684278765997189091468824938930421083078345633486771363316620936397653742750896261365554037518240620295832302058683607631018324631723264278492621542771413540455402664615837149454689742954675906013499009376474182521797855173252174237763532634293574465432203810247014896585455755384439896135572095422309994578676704749179853291220497188851877452790704537316328788866746296192931114652048502775647963803171303378322902045958599583839810566448232479004784744445948187630898517328545207685638649608569224324810893420451061848126902534542646470207430206655642744776297124949787993452149964008536049249472378357184499034849109233922457681209303609155928932693493178489155305969674437217868572170535495234550377293171392541037372417856925726631239070418029983320545840837171486037177573107703562218520892471954973812752152091200499388221085478537181901555736737414157889642311691043902364992306529448542637474372854948159524223962979812076332837578950583766727260152838212974603611571313011856349900337770909983738859258580646215654362059083441399761314473771625574652414142363686161683548071796815278547263429474420985192424736904004723227873800564472418668998905404217115754629961255310980952900635476003752368644277868099039353734851414486273784786708277010258043205942377098649859856749898320176358655066833478109347103021954442896579772175917350618663328608375704157545603567714692075800093644806637227125453289589205392863418557309198818309080246458854152830572848694488716788465314018650789946751546968213536655552978440253838354218963668727614562782989335079692337807945197625949997771584389186292933337005200046264163302885925204092107450981402573311260995206271157457194240391106869787738083248233932098001497389919665904002341947908923532659707679098971135162575139621776143770393534136188566989113168377265522234537135845530122877216734278355463996951743144195238718295127569759882477094590161930481410151814684420025411733410286569304929831829698427097128294456626967807726435960491028626688426916569622808894795517324890684795346646844587229128960289989280503823059496013522823459213432895536601685995562907400914803525887368593161240873383998118848661360103165124123783051014323516412011168479601004523739931633523066065630160933332117307238065232788190954837951570415514960120062651909755919064210587063746586811429474483398832236232243288944474972989309689852246793324618530593965104305807532887724331283863698577782784852284231985479255009412714054023278423846232964764023064997778606651652554519937017057787076493869113270974374853519450585561713095864067505048108074920951844813528507540174379503186774140318104728001710987959926909193978074163002376886500531203151508606325766718328647111330022772362967615682867293526060043127949873418391302077930495844579335376089346663274110899073200972599127196026338181324549036946047903396795546422945861984056337569320484552507961100321533151758003396486837106166313579719743743075861851096300477128264281308466934569784659464605861367562443726616862830085502741600205344445886018265269952676337330975871987883787131698689369118778033461242217700566114057642442352146213212107118501345761046923174521221028311701253593935271251041272429096855780959933635868335068277048739100375593218080564233184084203441621071990544413610580473516229790232715434265962074294445682527070510851170873834256677404050052264862885987315615033629759740860925808211826487188279780106854863960049211828314006821036333441118269470407532414580652478495926943606871044243626836647562215138259900684025770370785724268190506758366731743236895040146857835822338652312272373509251705573250247889368622976366135166324928384966028897836633543553607842360361597560395995810776128942525551366444201819132174184354703153170255830371056862280512532998957157127511174166736073520376671313906179739756148208333594225758469127630854594560998390723842999463838569838866323224462584082906631352254261215319455631598444447267887087302076177709169063768397931668869462472687219001928251377487618256306760935728720181411918112219888645355724683495528156199558157004708715640993011497257906616353978765688855949205742031768209671627311565430200533459249048504089803362542969189596255074411822200077231309006631773678338790077351846763576435901778315518504617710390427413895108151392309030411063548614455858708243153655682637517816437954961379047266578652202110301093672078539113478727243189228589555651040089910937964753880835038822983756631651086197724764988613662410005851425306864576346033476210037163662264084861433451197945230589265361528282534214087940818144071520064652254561746390293126379091317013448076237238411099248200675920668861129290453227516754124418206966328114320884577470339110747670655117038491464152574578713246808804087310221762767044748733656212867229461740228964372387168458575769051724390494971674618160000988238919756689875054240819974077658715655713164576789098775636542448183579863770990078050560300080899143974671697011914838153697356461123966526176020245743295812994282972674558088123873100830636798915321318817842677193191823991573363107169421348838641810639384769289477859878818594745167355188986139463266247840056871727632511370308664789905407975625195670874428849663160718862103684184093528372810836703885870530864167520418933972989247658191165302794579092572507423168646756760492503219980478138128772309306825517152953483248988323781283428628162594752278287072174261851124566566036152539429479591479392939728269220820562959682593887865831820509502241840086266240886261612732031685182640238038148803375389481726717793592716926553320376994107181032187804956399844176517901221237570012580949682577443225519971267603378291016587463835047318328985917620252543721755457903287167075566482533373315391115551969612622558305095659455485761930795427549940655895085137980936144107915138623040787554522382912426712654601139165664123630781148459187468237463620803462876550496846029259696370824829745035791241593518133188234090936292579271426960689388832372057977373226362955377168814729860161350484093305675225141358244965636460806824165841578821300946830431574268817715369136430964007437127311368379966829902109793845964889062619692115258267895587267549030592136303953079000236180918051528853958210549518965067235783838120486276223876317749107393345152103708120173423108090887630747275575988092103853205712565339330251912107818000917043849208516892520383632777234248008899263625706681261216075073823952758134552373614229157031949656242798455470832626578596802661684090107521438215126708291067020630605096337262947684528930465384565159122263025496278076375766161604666557736076238215144329694677221450261060412823435374760869525973498481396543431890012026792414992460636596338340120603901256025110163360034713983315640970215707161577076438004558733537735849998964138834373883191041860025273855862051003242119831986112885924693507072329066863109641913732438753103921287700584169394769175607081289998495147998896355541952110500798366064996572991739682082342437622962932382847992026351648056883367578788245183672898376810668306871649850686941388365350804752978019570398750838925307057936554843979010757541795244788543608937175973120735833934656619363978109388196086138584491787882133153657266825193721759140294823596636738072889459889027737316887320478197081258627857439570731432112826370396371427007958148606595136645192742184775610520875412956743866790010617985605267235863179694894882277393748890735614681472970420748558286093110706697101982572126056029622694563342646099651722523685327184484364345966771833125541879595485714051589171951654677569740211587470770107818076662093915972438541646108000242620588093405815822156887566168865055715703584342063408557310336071299404153698992865446136908866804812500840932133645128043992646238969876270320574413207517064362457575949345886729695247119975997195047670624186696484766740132744251469541442742859391641847863088314035675688404703259954852335017141166524691590982946959917524702511090257860901827137886537646119143926620991404734218617845905521176723780748749424945662605732923311846261967602813098537004321143413929501291148916124174004812086801094191862898319238227860956972378451554741091268775455088706011304883122115952352800341154139655335658501360540461164417333666638494898001226129005029664019474644024566940123180686246706001853946900793265556934411852362844178836698754412625626093350944317910297926204239724256253578860638211444324972908704190580590726111655488775759673712570184637453891430318309184988424035335002052489161185935086572298510711110433347214783246198768592060047879692460294683577325811386466975164669110004295055067574532513998945226758837777928938458683217836455065586322460053271225028884435030726608357018344409304325136425442600303406847129888699995875269423729441816983523589505277747733465911597920794385289372415886331796462371942958420031141850895273804062367030607610011469461652421713218024420304055231270312759408315581111754207087289775560893341191434767929255762196911085786841935045700421046046937360430683026700069883398354117503677411158219357212249744417509399552997289994394386795912313888519159026269773739763864800446123908986299957345532981316205183287688659146520709059866436339717429973918546376111218146264819395888794020040500057065916402891497563069540460372827907691046300004370401153291060566925548869735608192722770524806745247843706674116571546423024171294298769998638775260609822939585936426514578480361722170913266672259253803418979516788749568425917159432519138072434575144852558284635275683160726241101496188392686689434356502072230336965164925898542635469927748738702242012257161470591818461476338133563308539115522915825251444400656474542253925888552865167542099550667154576566614587743496046372706927878647489280129999497686257106774646937354065715809400804376778626876419973459084373197882968680847614699567924116679959014363523971797220917089012823362108895136133756465133055363188541116934843214733434634170916837534710315604695771730800074320316764384781789399708761916700697545063869827704382771025584548337618307313501486631009334104146812896591737555603031152132276523790102295539426742310449016591295707078600617432131795195550329431373311310905571442508978851946836742100021931160010551634432895935938277704025012326962646327297559910619774225820654645434054654820438574061507824767612960158283561325412182307658505074032209650016619648568766286848027265365855907058236062674165414144310349531341974171350115885630308707012737019796777672966740059799465576961043920040223990939097033402463079128648454816249348002638177205510718469657832645617961488842679717611436408263205654112992625601325648755473150240899928605185940995267696047254984507992191610300512052429858173504803412647908016307057948083949609091026188685213058821578470899959214984223067780175231901397379384265090173396481053194347040824446234984901357735463543298642366496750887938002945066589711611549661423603803162015572111495190948430749558948990548419069186011511395652168469240177561306341882707379694539974605113169763874922243728957100402132595896638028740630643224522330385535919845381438895702463252062544316120324104755342012663946796695348356182650947565056238690055586350679316195613765820824608577355982505690154551606024986046593450554834997171714590218657606792966011426937705797187760126206024614521246123825036710441596711032527380333718464672160025112571207330322119156462534663941082612017798248081622199718054723282912487830354302027589683132306227780768001825257864135866347761371947471312923517331970257961374742103062702425377279187039680117196420703593513536545599724737873737010169064065519465877869016193547911873903287092301397109060695988707787799242677204352084284953433233593729150639920816196260939491414855351144727318070871548650376720811033398160393315243167032290479342852270760503294598989061340561982590278288315707437182035077952740048050561447052321892698291278676404820386363193018320655802399047821508901551792063402994713455267539685980787184090381893379852757892833272697313353003379097757442883552945749323881919264755434070368851189758322115833249845320955345180654078123615026888501852593081486094428344771528877417582582464022404581502413240130937279921400392426286914236518227805604907254968149978243182202001744739981478857757940663579363893722472621980818856809674197456042294300509955553308113050819484064702273798157218392247241962840551310364456075381842598256021262137432646240423271034968928235607744090147692764549098046967068368119375124389037324820926026603046189950963574259578660049048042576649414975338621516695064641093093572560645248261041467501538404674496599018990303217775993056946646535982844976240959369958287048108921666259845423052377557546865377977746925389836933631635453901208460059291971638626723065715655333288831473562164721747635573318685220162176244996236996671070629418920064983008216542429809119821939115357838171562814129018825744224322095705811316095152011542925390597524664456263253240249215718271297197190743318778126351904133825626569562053611999245779962264383567458200289379963671955037587378663863304654403125193225551489752163636422524963677539627290294576786207647761510332108773767938931258816864861062630204062391499851977083834281028546145726022223478452466833386954990869554812033673719869718208276934807824418506705663079369543578906265161212402041190623779410929666733240564170080509873660691750756668764848655421398532891380018878122109559572322382256209907920306188784438522103892749811063120273373632979381925199284419812657228009268463283267359048259634929566375016624455458761192508604798834515073554938023386027386728880461408531957768266435521194148808374092348433544115460455944993759958816094764776693428227136290829506676854232480291239831476378782682299680040230178058017704045908132259194487777926357357020471837886210594470187489331003567758368014735901253311023133622734112172796804593540855287191162995105530413012491130601266684203136863735122009815048198865774052686821480956294267621042371760381986120001322219174290298898647980184983774345128759610017355985720604549408769244704641720096890447374404457924462776941375703802705148267441069270292953570707063958408080654996697307157474811581377691992637206597296617647227547051731372981947375567576345120631104561526126624257997671343854801672914543022787914243847597877934901564761804845315596049258177335130794046882912404454981893102000868475096027774790932367459798916505698017058942278297392115174150269492143217981047084315741928374910592231102268640638875854132154182577387571110039011234490329611374515673201333311670735395182759578723597905748811601428312632192147519648566380317465007732720433356690117461966988697567261207884518807539514695425279250422338681174076984455749550786816594694811028601299863870215341289279072725768625129557226107859817904845117558316230987243595800564653810057022828107127249542291890385398763012941035971883049090628193297555907816305667440694865363723700979152792333123187767308101296934934121380590305476172289752507534407051717130877385997241766691947816506202246190969055442244500241818920940208153709417767992176448196696159912213565352974832274037423527761112169629294691669961441978769255552245213911036422466145262442284647322202747686951762974568080701601042495402722996756629401485933124062350361821743440879082614769526683301162821050755175159735436697666739550383559334036201432498609883329956553428117362243170117127397645321020250754000040185137920644919508678116713899885164852240707672554279743756282554025690421708459276975673488426933245911936064594140432024094800607452940040052361082714523515238568163956650352951189959462422569650099228077714300168121836829638256848539881386264742423059665265809420539396642568585039840994897824993885624044290853318038853217886882575126314928803044158403701225750238271991313965783019279825484364109458502896239750996662607119989006377393036128314994241798515280566714545225756536142926308340385690349471156027647453519059067919872522809939830117465688598315845879772765972305327272407575052722361046278653856579976332322327803748184920102045667586304586053755190890384853016937407889217928331565972131904364372792389489668179763481477109235264521540774408553735941435261304113796978879834813092283165787817773330015405423484217986433925805241566165824714407887181110432254178922161681115920496982169906800973759198006378823891646568198690027906379747405300160733272971029063824265141318904765379071546484884045511205797180861900743351756277054497674245740953623327738311048496419839925448046448399868868404728039556612785417531181891728616782699739457463485854525681799835444964047172605566969456527035559186300878468030687595221223023328886642905023964046377603367995250232455096263520166253631906587454725840195092284646430617413409786996937004921110753395842487104091822556538203794105914525674243513011741332761253907029366639203177358610582882328960354711632218284464812501458604149817285697832655141982889270552744530885440908664518469299907003900067229725898424976029443315676370565498934924454048505356566921600232674353881532885178623670618391044494147256867516047511347451568662608142999165808341309778585084302608990244397746236122636276644178028053863290305140701978202247107141106562186704623582114283579447153073479595642990279777362536272305541798129779738606384662575136117373033805171107915330206917740310537739183285804624694370234143189981470047012319693031000095615481010376154054704452067621507078934592359984894956515766657203084952293867339281068337211551899898319312604777593907555795283743769947079961684026672436443521074439723893424302584903222193787768309736346840836102533335080845031558048583016051027895213461461501987690020774304240510755928060145184053777118738268208880136417218794523490926640697524396623516871057129650363230824477304671211946369253772547239409851695415222931660058046695199838359539104536782679297548104068930025984493999278795518142376513493167682693446983392333562933116925150711207069087764937738966384600200251930473024247905885252589120409209402640197159408826408546688894660103866958867973687123534216074831014980766912174596226658112786124540854641005646755933305669596441279037508740278819047855792735453745538557522275475901626777680736419820442676927584824197355214227789554232205753632437157193868043646052811231180349445651531594829553100414350410540435587816038511889779290182055300688687945746083773603327747702857714323374714109166671081478619205686387557818083300632153616660840361529122059531103341377758905598230623671105440726351056561832468650996366211761654883313976968349068545395035217383085614981544114137564519798840397560446279309279327395838883071806748292842356751170618555679815453193921119820811279244650355602228054629033464889058298441998244991738662137881489798580288216218274363479091629278085071781318050128000630055150919371485856383464458639655521862298461424829860662241114724692014102801477732000575368372184512418463085631845720416038662140068125867836454914312533064173891931837279259589954289869838656586339927214764465605957639394630439382827873792769470193587362595593508230214464331764422795934195042862618372720686340039642680577901554249932636446913669438401509038201108378602496646650693548214703585352724410822502406972693648970164236214003614248423498927345176816742730253925302927869210132923279708287126328609957155350894399873203998011218725923202159479696347249898049224314572693082076740902086499733148693627409596085559194027865963428217992074910458980244547607209458006162655052244788629923386952646144128718493974333710373889206206591958488418751200928447217422486806792347121437884789859051069290633651382929766445455496267834593751754083862421763616658410801945126808301456590152066214606602870145047268832777095652813625523387957111427283259042834915458412731202148586283340994107848161295172592379109542596259074251398952745907443095785397075472177344537462183249980709822065257378526947808800444831651891093367756231683369863774600748494059572933951665378483740386848927224519530381374744271342682889664452884363043291786924080469609781666695235184488569438303867032917404157359491666495206646395497935995848306109512174554755780100106562803001416086006536814100447942266973722932295064343843665352586097130191405458349029311598890945272138716019662430983682474513768310424333637712353184394386148618107257679533876147238940577675404906217607996787869983722928870947941865072621195123469358900167115836723495291126488014233477410411536948546829934605767719758927170033439870988755775973340234530112182604324253808281120624277351311885815562686232038307889045017626477110624714961769889782804677514085913027384302674383905552944666744058832462478295631283163034919710648875763208807072613134749395105399736729802850600692206588615264633169557892052234835281549916495397996612954687563391097326059934423881184358619903149598510522829790925467513474643635869032930859361213570320874978051958648878279670150909075625831851911277009230716487141666549071857411043965942869857660578581129793281574476641185731876012337518194091366632221280123519383489813463318581859036428161015240624963942121427423058833762894603281875010255737295861264962858167394805680821417853780573171677743484280782704248482710613015153017662168349117500899155881585329589689522769194985756365975550077843057352883577341911414707520621471356095309538501336377529716226870262221194200436964699189010381895010244890488904272035448985616202084136681097145649298320583368822833039732132912236714327435922271510161971592163499698080573684592345302743993901938959692150274583737517697068595381315147287744549241418947999364330008360776571901217911160506138727571346414192142440067967860413779436322947310819991146412091816962326914223911573532848972228869292142703938873774490381783332543614006559444799877156886564875438726717193126859994503955099320637908785354940570833253071930331907664107117563800202197073369827486846491113801712310654847084971651189431891095937075176637766712893380770278644347903269025959237771513697491169526131673668013265233641822179495241131992550836735334468378506859266218766133168200293535755295859310518531613169132117570716882457220710886500117811709800195433758414236860218603800259418034492658115687569286014438069395425866243302851383293783149121384165657855849401701373939534522663151118646087939739443894306625825986158504447736472046936103517622849693582279905115261669835904478949033923938114688184253422411590495401324031223028525571552155656128448848462686838733695649611722236208497061141777155016005353837842156992426561360385246881819199207496466208821835504402405663077198601041857127748536104292621692402559941476809123822080586414082746396800108131322483332638982362897666083794086926173456714966717277394257756975623240763539190300940118995053264921490303237350266656204424804934920587628536004903808641622265468809145657859939563395333800351460066739650700345220865028501045519855915585745995945692479988379775293374037347746479094132886210579977364525909602984889862911262593369719262947058830203794452037418518590336785285597994281383803735779722856963814566275858342167553584050993531720709943312971508451680001354882725051713132114455433582496820500712868657773141372609745245435360278616696046199262175146580941455799816514915288406116596877506309797757175793670472176463583513533672454464759240351110232172892530066864298692316350676200385846164887482807172476979638674849641410293976397271289329507175418500952159528556332333208404611172603639421007778841531285132221494970530344332796052497239625846977277933442333527519408230609942507063940979657608341352673569864904421433195400303063410911273781984645427281375884544818208852828073674624293917147196493209034320657475144474595599871656176125683014480552557429711923158571108215649101861024630814101632637930650290772257346958620237049755089296103005520172162327878553170435927389420192555512717331822289045069475799815790432687274647199448499611406501635355978100614699240297768905895032076932900050261818419030860499290542687742247745518827307821775911800417578803833741888942918486136366272749683105130403622463027104957037205858312848003160260981545349692737224297425385117705129930665217352986541901844492755712649248592462897344940363061161535520647742572678222675551496461219369430463689928525966194933796636672213383254244007223818365651230937568277219990478936672000349606674293011143027485141435641806881864475752781388614520408724060728916119521020144957123394787856474394866059882238176766305991706223120305360718924869504641603469791546489076222299573952281631368694852305690010941141040372169201377878232999708858088980989664811718365765393081597222456960559285034822604691541026650351904640847844943547473631876301311049142808627081390685897638487821709797585589416541625047398513608365872610397038540323344848999695470831068472236249357341470429207076113122220868865104704412733625218081129021114871426559528915103459697397100289779625916018747864210940112467748944736881841743825798561366287801602421435674945530643031929239880867332725857770213219287656855077560517379927953641743880863393152823324140943095950918748252250047906632297107155452746315856279515787730615206648964955164057672172733926925860899196088027548579219523064687759862624711379972627480686393071845476134857578271821693803430388695795748284594983679015302191763738231981787349392586173895853189098064687632624751512790249273301164247301369279247706980748711996388647299661735200669058365819861711158548515897286949636467258448728814092995567943992324359282806140375539314117280696279111390392213478901173724573492092427307665618064833142119781377989866459027139257971437678597934824347205672782939813752060085610498305750342394004850725157717796858915562766806849836202973466385933146880311752603040539576099670326201566307637052591679205867326310013381141058177175989300324775396130197258816439330791038713056037681379611070054823552500876058809452966204085123629543599816665884879810877779614408282939967593241788709834685622531236930331718328411074477956989919421166528405610813157244380787906933884716981561944692254734269663090395057943758021609553978019536288413668218121927678861103193029279010679395446511166366967649553984368231901821590083563280345881638207896571631464077890548818552016479096036594803278124285279170659376073688797840752092486846419606310234098417873891672971528405095837313336564295049157075194518606282643581370418640674307713020473638141849334524607365071935320393436018037261948737485549210542097070381842076382337212619079969026623725023494352596071486684272012477518841899940563888512684333495067908442991487868114327439578530778502573144859378337042513468884227511884471424344743700361921156305841746769632563730810257699131245255446815241080482355689211046200016264657879932682025020261313915473153333812607839116501240566131291648356618058116577926175564845386458861995944149300104322438867923188242161375946713904222560548093503737706571106084590680271184305223629592203301190836344238589546044317445117891677832681607357153653364399419768342813682223852132486094542061508954400013042782520295385265776510502891281256524793594370099726443375364450013353800461322187796257878809167384945778345288301474915126211322898726210869879932610630102599882917514276938904468514276278812442724490051219306884989912758732821860746924970564617726782316715016939161425501140257668819424633677831243959286158727166053635459452589549363914408138035026572050208352411266296107301972779061775260281650126533018029019633436180585585429146704449451621390335983594623079854353186467109111602046977843239917672942575756271273549848255849055730961972966400715620641709797040335919712379387700721354561968768678679675702687489436403587049519349226471930748852529178708966901903366489702329501350425294733591517504907674877538655781338083374017795372090663277478970429363554888955731511792262966960173012534092600472910436194278432426885751950479911504612247009466205084332604749131715307219447509328289699013207080780903087215659678966958977256738795567561325232142070697335493476922318265388540625289587896201919516602874608717939320819508518715715524226923703556773914170314896771636819373358435123944841351777608036242662511620092343989254581657481117230642237653695138695183617293531780488416597732565750466533364554669502095238597448471126844096849116696519608243216005434237749192334886456253354870947968446777815592357582744189725249385044974981197422211190597399538923611041825773409935793652053183652105538829972424030044318930346552512379654964456187128822007911817962738974205431953061702231164733263937108384388576950071543011320079494146956762577378198475752479644646128218482104615698769460821298896977245209403417881515652947600939599209005346473859255066017475657767774768197013628389309624604185683815122851007164427294957156041278563163572250236719839559072382245453873852141017217779117694828883210634961623189939452080832272228257253725843987726367605174620520623385030723808480855987544755668911952464731597568008239568359529943935182483995436483484729506800682594689874388867914434064583532219416921540104107653798943720701643629166371066727846881912054036228540418944454264819378830490638458759900170296295622374498059282969972990957238672006711545433526869216474268804254135467430510252890879148603379159855565691253377794140197350318054604985496930957546795438270517433686088022774021438108210351790499992480770100476980579500762374337830808436845116231430003986846822438312593970406399174371086399709504759150394373897723599674810171878885451300635556572589120800588018279040199830016057911615666656372809188921823445685614313591883941644650552563292726579419649188845526112236887369348413242293828950265692035395503859273952096543419461437107545201683597051062570434314182182630759099077365033142195311448079256857877474604546915439854076396466436649496694631650615221262123014246569167463558492046148851214539596767749474048711888946200566316433698247702367093977743595572106220666475532159506755591123691175714858608673008943388911100123844342318224671473291387919107527296952084103090033092160789889667970669822990143693227345191157580038199137845985059747293808598566328001147282677460688728771004207466495247870373454916956220832786613311637035417495492363912046405550633407720618631915410120328800429648715486401277497863462051981211988646829405989238976372616080978317204677318989582920979610500664930936742756456781921943852756835227959072122517231
13 154331819542693563987104837711448742337671503808789093878769486301247493627058180726471168157029546309736892702068933591375389680088471569023410386166459387063771891648514538057728375134302103345712905711388443905285192977698734962451538323333604309317990740186397990284526170434336887466370244200705605395911241206021826950612246325921193609156934707183681657258427452877968574010757821215663101893019972050987496082351448991426468850573629012008152973767704284874324750661041005956341796799579120594650690513099975185200019993720123675074080187410660453914123768702307845013813924608619996489775019855090147164010664841170218284480891318166411640902406575821922141692286760665000336430268445859517286147172318633633677911851693696696534661064053990556600172804578129046152178701685684105037343184013817476054627617642423059686974581101247975084944159278738394345869901115370105336430496842984624170327905318803209579255741060729946980272438182876398035751512644345358639056208497159772131322216466925414122277598481937675295153879595070943923199521373473041922848435500943497152593022978871123369962963062914596444868283997826891420048945124053110267591396286685113779991377362146025750264536933016350305849560691815599093650945566246834478135943238328466487638595279113330004619257101728935229107244944421027504427067602759853876958292072266223030117520907805947470412362380611050085029667197775574809164934151243359467029704716186990335585945064912828628454429054100194639033652115156386820419757590089393875174479592934972931354021187589231386143861189662845316073706677737174834884255943076716846075778697399577337827495498091691977888074492895369710214973916420013898713726050658451762484356186285202005353789992620438795546773067671619707119143176103307215065567045132481370356746778163652415522106258984528273888770336783738299798573732982042933435967771320934969118312216982629802136683458790718270691772184207585823058156932252583210629325494433478575791357276033970248161506830568874534369903418023268046216459698733219964171700571425160338893708068454157634854465710697222477552632506669356126696201496027220073583639150472973068534500931900067156771738483857495060709525991157239797052493108107540817439557020846985313555403810557798659819979329995134047852732944685284561315301629387872638347330197359759177294799580163151040338982808007775712058075112429995905199857739627402033149606033405763925850804855260380181179967642613110683372035817761770198672863345318134636373970971695725922931585255755542908205446225274564616681678611510418893347303940224772680519002653861208998958381216488775830034673268924961164137981818742037359934008592533890682298923878332701451904542268740124435926939474884787767102609422331850151928279430116312168148806820085061484636894715280484603896670256491121400035485327249560259480727886509387707526086431940271109024583426902717707953480441714316241958427576135251179586920942552487470688268876144610326278742490565969981300571254193196751756987241253800961516717609541936518191724473751949448249721533527204983863614170500101790241172091061801863555309659006500748780947371929503683763790839045774455506826676595003701642022673197044506010237030594332223814804473928212862837805337287247058580397347592076008809184642490032916859872517287131844995738029879477599467660321435704331913711047929481331594714317582732825856878280493191981663285455776083791461859516567361016721293170381909372583192000174481641431765526368166163653425810041024339278505188789759311769120935835279050104620437512485707677025265359795751737175706693122294310998600578412634221565983424767395440877719522602921472021817988999033800101786200336399910629085733882945777755665806204528764269207781868480339130835018947830269051641429552580725332622423383924081037961527138733431249740727779704057655486647339680320852715716154361290787420267825657537820798790290497210451567679771505191253599450089351029115904702962720111947370236417579693814362094303844540236276669653286544133356359110208916352093654023967400566109887626057575013150517703983669926900275290801794140271156623895220943644853694205300783752270848324711438768236476918694387255182179943877620309059666253117390684221407961948857726608970767888227534460128181111968790117588967500117151673836160598111423208232356836592964370108540981501340450652333609055501082667652726153382765453042483845473376297136424123130539484656571374180399323281994852710364656724111088298179215059908303854228358014882259551564820934311123777187771132803331476117236604157282739582693575192368228207865443027746660080880292650791786023313971088537559015538785440781235131862030912658783614910749351764190100334423132303948149780196585831652895664069012931168728564895482551888077918048718650293957090447380736848118321093221486594852405183080506124813980361086138908970388158551232342919142934510231356191656993226773753313915888525341833699043428191235721984147492227168178643176778260018709914170032107876954380075352426472585429989666298230283200669737366259529656246243294895758854798780466843526630609482060133519837401693729724483178964359502766874911968054853953097505160018905307253824614737544209245592496543928155242589674568571074095707166858762112338715242603142390182259361734256811280255768207893050842405894546396006301143346767833057819065265037442881855804027430902713260371794694789259514745032663021783187016428536649668504418697105912835465882191722261351786503113112393838630849446381528875335927757049130653361971241534369812147293487939872762548514597338248693851931637218954784453915833887487745503132864759935715581998420387930417705212517208829651138992609993430944495881267567148516778602214071408554420361444921061138255887098405419068548552484971934319793289056754643538863171505093484501154619670956497870941259224021818870740389823156891147785795568054628637430032486903239661506525720016520821996588392540918952223436392232053707708814753281542778023952558510645057860810048181632064355466153886519823609325666197980093539723742263376741099961388397920364023970508522530618420961501973135962887110655559056275613981722883747829769180118255498882664021894516431880583551299333644700107782929208513819298421439305069370893242599966984480851083190806386792718127210099916269482259591017527791703430368343440623928954747211498611716907289742106671094192749259843552114820188493636664508625466190765641453661635272830626855544542932542843434048371594183161491326042311013221049250663065086201995524553550237305160591287837220455395825328248350569383417230642975766175754215258369049487229499442078984115838605031533061608203057699144649458260715628961321472367853891041101584195300561022041132614456102481984204105851257336440625868212409224066672232193681781056013326794204223459384251713730724313112605980978023442679200903152740369060280477505728973967689109515730068392480189695598063892904860965099350602775669187381634772055698100160150913063744126053220415475435587177013712057488785566286364211144880371762252694071656756733434324159290125375815282140399424482962454336190914513557485375332313078266778036940481202332689838138696920568099567164294504849660868047253150284746383550928445484124170103984545032240360895187779830513804773304077478280104016337259840023767360651932978825974375830359702402029882962091418988327255192168288219784048257724109790664547447950472036355324789692403573277816402845778524690318188489756488461747303708405371791667590979785289783465838686311524499123906065325801133688037570472833624399136346134394088390016014010884019034692814520723388487594674774608755442424990809339867971885575348663077443974682651654972723202690997572821303860190921586626099902705853947639528345854383483387693760603277246425457575464820260610169688561969063874062047647295107885110567691117389301547879291735537033530236647544021821824984470121236029663406924156452837058937163327522833686511783420706508005463071539697901983035068157421249428287775985379563976951428238118181197071375590836751243683084517001597120215894713704609873371617153424343802034176554166762641686288544090278620613400783637492325493943692491230166408465575409523875062444388648706692228174619362053407109843729552347052897768442238126344879073471867774975303860639282150507284001371172556634690098510477504425252918827691788262764458613563569081069333886452795074808264814936753519779542068264607230521817287678585433809630433065512908030011695904359313431915667546240086326145948922160858724059674747446378512816448925066747921639327947040467262975166206332490224377160904312403953921081365501243782982654562960137902266297548654164624509624013579271452088704971865730751980882165082167187183690022053936810258710850969100796101595312556671468562509412919561541293310176460150154311144293745971839753422398237969639634779797977244533808508345258563853741433866261114146804596186346031513189471345951486387763412746164143695839982152553650876168228262764755288968210922703963927598757534958003026058025809726333027517472966756197338498569163815661655392580135528105854114363120589789682060482230688396084663245480656244160779147963288808199951944080693452874308258683811343256032857934658613774216123970570565822796750727743559063148733957806311986464590655835650085123049661693542122949056985734350106910481891560666403844172400271130099456422695174411211985669971021633128108755551188815138930304180602257791653513890514141957026512286186366033832348827031347053467652578798207075701497721268372071308864129812908938737760321779397096427201344309579891394824534829689190134197183736344963014262959887973756281316508931768398867423242612101753117702388246498362458891009694163966462173076215039424963240495702448792596882231598030314166473968876179946868645884546994176229685250445313923016615543184467219121685973425061989581675742433214337838080875471875643681571097760054699940877847176131473297215351077842330961819728396957205838910739735501030361313211604505800294904465146137836768577805325841351686256536071312311137559718783618523138679489894398021896144143741936133244270246256235517242387599118842701303481600836141973362112668174278095470794838579133861841749697533991987752739531153949819389020065845580929864585562439191473572775449174275395902117519088847644376324028903646756041880870819035022230260876003064874833507845142889334390056008082841622332031304719630842181929521956482397126154314990892432839592234213465193474300177579074183234182128692471825585207389583455256398111796215913427638594311638354853736790153353506631958457418386900025268952832513908182393872337115679622338083543758621834607101083726923393659169091905119184921929058914001080796848632270361053302874339514910707604470974554067147005331612480047842534111266159745009277679843298824705607280294624430451014082906735646648492227856106276666996665619455417889477284087509758939333356692570994803113022564354393890671514255205627472757709409829095077974988027703295857627855341630197257543023849797360135332754975966460498739367633281027969821536629931860874663497974136638197196078637834818771676026608455147047144179974086665848049347062480135707939212669531960460791883454472106752741733292797564847177999591036248125843544017281783082293278480768143618117961359916160189601545658578822528509605194611391962556852793078773736119269930634814610454582696124145530964720059399946553992000280239839365134595706455297109586991474700928722929446473468542675517060872660822728469545038677878019088323845584692637849247950345200528615793513549489274787202541476598652221331279756511966914546104080133468077703106229439391420448704459218399281868202230412397873474941067468770212268246352757050491149794210577170789615720911952531994342986909437354768018337746262957830923747152129227089649994562496812032299767982525692675716419965206751192619118640343326471520291849165950019070435504310830342909530391989340841998977520817851589917171973386330211341019341351618961003567833151453397347540399749650908080415150860286571719276615915871541975345080083813615107825540309414907259196716207954154108444851916160313847420626469767922729501679006260078918849084595474495431909856092696052974743325871314355461390564966725383109407713483865124740386293227227849960644646544652958828799198583994943340287895390900087848972721225220503807095713139663989787642823732371636965424742336451459576133523643303172366053087135184370628583729591601868017154817968813888284736088628339891374951909527172812556225118324104520053297532328320400200211086876237377257841285345325086534226021741775644201112329442726204900770898777243582708803965381191865463970908320205980173617511936977701803494248669758254222205438001730834166329776208520987936249378562940932068740087743832565980551969977259893843151385710898099314712982195040120822385344935328150152153425996100138799875059873268355571189509194689158694117367286030439831930952583880155597476630690434401225091785372509985273164701147691325364990821119442394003815405020931182959718560261886746503553614637480604689698758924861388649271793624937854494845316721570735148625945259097621622020870190333568610808965414398687286205355091965032546223730239786504082818099064238013217692218106151653692356332013357861773623847709946060420953410624944968629354732145643162901250642038436036184450684526049168917004294395603674963380482987791055466232513829259249086806891311756736541700618179922690463219025467583355100546796958835178121184609450115899888807613418304959487996187812246898020859004163199063485695000363990869743720215099728058932663148590066963470543550642798058199580963258372296953297427757173848511089901616656232592193147869851904593043664964762820326452319199460242478642473692108420849152090981399530462117591948647930552610619131196589738644933630652199659538178728795057627391459938410090599803377671018275799790693632997376616318217157464020820502562484885243293729133334500246750476681976841164845886332736461793808598565351050848276129516268946270582865930954583650505048950977707910987472669020073339858916082342791270030798346773121621156026039751591519309086014142468004775399635355334627021034849742456007022381388834108582471459798144218478097335492793291198329508389665939030918347304725612431960304625935059713935287600247364778755980697255791671359812057889511486119663639382278162274548186176422009793081820183229491875837336331634611960358948524850362397030154499589300479355534195494646106256824845218063726964914732908394358207850575274351502545568553267961553270501565064719496266655558212628895207426132457441097877930270905775908706067025602450499055310911607313881495758986888301965924722072937004183936703916713307837909728761408738039466240146819894424144707242045143406628125633286294774618663714848803560602553790067699024119279597781836903458102604578609810196474740663720878932387581551749284134878585964979664717830370713090863797687113480258690953531859733611850511678993988326373294599817396976485420335683486515372946809288553930287623749981545366275113027891124030396715569022491031285612257802791705580392531182631634170342058386034129487951164083323842609834123868187069935403982783062233096537155751555604327003609462090576334736446747105761151349818818212409056559163065038550379546710921766728705548489756276536108890184874592033885752242109134170380758621675188054827489081573090024095420543981717730845753872391653239219048272759932298928376896309148228684770901281044845062484714394797787711913608995698220825597323394134110409217461192477464296697919486110988765055853263209057166516071167816967930136705236622971066268531182945991704629623030107712400191549947032129440399659979147985191517235853265829371107029090705007904529311044380042393378123925770019622799821984886542120748271722450877803904288241289708205720472052097747972123988901385196611513611554711096824091284244184399111209017634624804196699069973357002981517332979704393461453776190843198752946998897707395788908240505364215349527833577994722391085836983324821738800801133733108113083829071663436925489997961301801141800875219917285430667842952493657698539791877007343442448787761891289479951395877397732002525043705277325672409185438681538943111966750902892080438246540280785095944104608945884077592448925392796179579446558444179935730820252471312651698150976859752379223081540254001783626173857177727769115792824841712876069883171523528560176017373320849727816716442111716585139022941412792280476806947057858212721037460326872630299971250291827871625406065168599355661150481988539655283829879963624851791206143390195786606851775849383826935971943727129780678906276103654685495678296165132522454040158937501568800276461359526061769790966245162776095704004135103962349831865166940282129554100342781136609697334135730778913302077162864541313867399789744265460196375947095076970906704927208354180329992216393350465236899753171816799125363295452559294804841963221691184646168443636316494123968440105436041495315274963732905612240851514363769986836824173705142637262261691390719041042026627067611061719018591816469045778063829023074287224029911652555381371787382709195354137556847871445065241635645292209809884116421126871051084460731199135292602266893321063183388961567417141170159258759655415895681765916095774455888520790230299428857014473217555083962467369133441821859571424652220057300383171578639725159837636739892804552088887632162178558271126119332302342407748719495998093693361581065807406274304649780684077448898251960695754807078226182555145309369441349595090072584643898245961283343522725959302080307258163060214427763355781382353094121808591282193929163240026498407843820665570572939660172993530362054470235133601283966002980180296072683263074375551923446243744474150659741333910052183567433020493414536287645350013479079511793032156647743141805698976164246382590353752255583478219643648220048822658924664009131672246282155604707123453813333231307548836153825292709199543445482953500479655011161756476378686474528826377458941785055188019911432941078949999370611166968634736297851485217690083788899364972424313472493000380020941468139314397311034937822281516704689742610856783620731450324693851319700963613628231564698227097936119989589006603770614621323965026499022917112334238448104202237680011292246134925596092636633910945255817180249861929246499498135253687165426964052496480472369195874620675144011771088666720210607903140229629546594652878722584273036463380515253627093010386379958797372917544496190246872846804015138571513800379001082669436962567431311829936369191614301049963122191410428645598869287234412099845136878416905692406141056138754097834550198040695967088607957076801357203761697737118274780499559777906714563303142339551709207996534125071940252829671655404555088342985158588164633203990367807887132094455003058201141010803525489899916595319777425617636657438564028030385412043396113168820763704179338220286981532221037744753717045789410146761169687138469352877163980673077207432119722510312041105137228745710388039682859767749197931499918163775064544220572072810078411268518627197115911234588604044388767273201310894972841616052306242054404729334772495023318488220835370231046229130027101226878114596930978525621312442362657177746892181667599021799861859130098629017480568760639184979276308210174218086911086391804342553736573122164897177564513114324993406940991037853739232337109568713628342459469941603036878611907330740331452639695653472690376251779383068143336052377385624729117421325896629682632165426201594133010237881490313946384716033930834200138676937007998971385251482050046838714785638843813469749212567998224744844317571084163168932321215572883200126407067277030167844568401849526737052325735492134125978187650237929952127879578728604463512300528571736097876178239529336097467119911930050283544400400795461594795978447909421048366620312974117527922397123021843536086286308645325936741282317977424673889950432019062981836150029550916379454450516505276366735747663922928726488836317602913315267967304050003533038269966593593650324495089520238675995321147449502867436772953314992524054889815860561182601973442787693085761176663825065526274372214353789446437323083927026676875128186337030533619374915587074366821033754468608290141444457687371286072486953002713679295363409359389149538788856091381836584717086988301906375926004237346671136291986116032184007318312506042194545123624809677429538133693118657058242537739032430965719462631437269695610985478149548184610414230883386052662067852220892641938148005552144283471836598969837919702904385427457221186253526934120932791770820749100495140865784372173025070753180215950962730125753427646069510049817709832477439385228779815340568762431947085978588682156810657280913261400104088542607091294708564526039027180265451573602372200051641533452105814145867537443899817228809098005549399955017214707037914184462830230890020320573597582150645270954962937356985555308233262533048212395979476048619676861380664535859886057631294257859866832809663303565679525319056690503652004239091200011401766153337629833664091311241501062818456013855947372217246986108227682844051675940545447640691528459857553114532772051998142012536644618560263899022228209415333913231570281477209404946898932722272476430076645485148835088820903562030633087916947065604989491700859383281768806735790644637946796663260607463196702254362217317034595134763931636262194781429140474131158730766304846748459319879085679399414098005260696121375913155183200181345643308903029961566775668737666135605033501779697587520589273849907636820718967090516418193842250821835811840529053931641411639961838717404524083715373599368861936995257891526133617497735838064031747722193607346445664335148890926320298940638976990493916063977958565017607713649749412351800727001384677211006126642920567709508242299240495261427121788881934043937878484477428567541088244591204222750273614150794400837832821991190721333186489592862843247197757789334861760762833915197392444177001531393242570556900831041309655178715993561487896715305370510411836747028596778351177368854552127037076715117482126713757273427939998041069969337939605862699684849881648007445123064196869916094429363847282848039366314672532390730221589124119263849831352158675930339211942208662283968598439363642570471575640022065959274350028412226785957245756743343374513724085785411947928382582975266586908068800521157531176472999712555608213527264966558954268360414690290888493914442253045377118532752512470528492206646142752983405314107175672575475303754215589338628549364829233753704150600484788545923146582551108585448544378341253563025166023402103358808376802741172114736399451965985386080568509815291379460644178820121697595210983287510941169910030582403584743777261582396884584418873700234001413984460349804380049809446342918714791619430144778260333521360739224198919070394484843712728696722856301204536218664966747980596781906754717886318021996169319212869491160537336569995399610249531314253453910140091656935963403808640293246650712235294326470656210345353096024190320957319524410530914118522579156135728414059334841249889180774086417543312726009673939349748779348572189911322151210980233817381321614765057511505111375505310281889647250142053585405733235746769061271867431613582517081636311127114550584388139509584535956218284340302719653785869594191496826106595243092917854884921478340191403224072806980980510076045214238510139315529987309731132529807625701643248867676509826586855937786713875289539810704297364558200612144350703716013588806594556337322877682300650614694763209975773286087005919990298441079358895983729433139902843862948744446239801877249346789363271219995776865875688768976898963614775472493007196531538899664061159578444589187590335478988874716618767650263806767439053309846644237047847184110022332533238380304212208940750217325244070440362937824708514868910469219038637221722447553223412233487914177839836024568351933538518290767111550840286261492492053520660002633854810496311198983866862422778305950919888210317865418358623026653432760665008541496094470069138062131915406132807423226777682267539676901769400108015727381741515061607373423752299106844744451827859535631103429333220401538390921272998932737735815451865331574271996929304323907111146787996086800752725181812977611269784263111176475906648535744880001370851325411894874994191389820046212580341350890411620974856670229316056286409297437509754868892653598592814676774493258240002590550938383478620631033788801508021174625509741644042012087900333653266817196952764465908135956474503020325542446690221732648302953282775946741914040718149235301015464094201855684561618445226079558547120739544026692526779699989285481217138630618820535076070022716230001463403786735629038783480156755813562798544677314543286198742266031411301164437749096687956479506117571194443325286903192533102963901753309375943652811771468526417157980976180210379923313380579506098182727226480021028271069805020972136075905543595917560930742955793637187146149959993034284265045722170442045617633303340625711163948540989118949441472245518621377767626634365530970000342133500777733120284968725063245315468379768622602178405393908316557931523887027372745310366524267485657295806586528396310985375207739173203332704096625139710527355600188149564381664671495969177574035555324408318150322505467220323403961059849716944326422398531874247325327175655913095815818495202392859483327293778222900794246650402045919607416173788696906175852465586890656134332434936660582870770904669074521483077814300156127803081734585311153657839194320592383216194764768740905774496256855037830401333052025964188523926137414563347212975894023829508394594871981637361399850761661625571527806157066669802567285313642409150513467825774601104433060739585820328615064343236765149835070524520613563266952669254989445482210861402334031827994109914480515848534057130995693877476164582205737286703064917463654883366624502399787109331348010605986203637666550258188344353495390917818109927928000411503675837945453635865530264860894564611292389080451713782924405281574743306473644140243860764191990013352266879647446857899142169280124394031264496089643571599922406594686268404578843679755234739761411200233300000148744523412115119494356490165527924694097966079374950680477856426306653198476280669354239976963611396072950779819398837322443981374493094425628069064380901377560618497582842358309816483847744525534035557524349222241925179689668615069290535250652176164980460868192075980430873116266753151185534832948780711576443508438252549886674062334999840589916462979960822030160372547011949004661394947704897714506180314401248132240721869893943757038345252640301914447000198635232137148362090099721136695876998487724904710173681362545156100209382993853540042675901734993960009115581502234486931879231750000999653650680922855658765456369151870055769152566381395157759768119333076942816763954712798941043296525307855512806857909086986713658141790673179671147766864457607327113803115854524781797089556526730094387516773726205961762454906332250398243520444670335899143286535006082737902924132813384512195722722507723516689203224407691195883760915531593339301255331309445078458124581302962381098258322005551034436162056404728996114892105527313831582095422247636627688548685451423754297069724188316892703544775188091966838252298847896872511646536537571044185804921040456077163905785055955678337653500945490557333365167984391412910958599617375169475184853373417009023888883080485571673991869662429464934121537156868689306461687692742742410331213837701363157994649811067121955772219481554355028685180142530945656786367494055766042941842835107034221359393882472066250481386582140283755172353452934958049367403250850774844066233752192690700224304743051577417306505751907554467404706040507810919303778170738757086692922770943729869438791370893058199450395058200008326117170855909861993166573695815677164504158023480247389917659828797709353967363869575634874017732603599516413659713023089705879947806782157456439974873996261803181168376964676317335311340346056891473472231901754891597028019843262193400299936564467572005800234219295127872356865523521762880328544462151364481534334460177178223586541987575044221861367086698268916335397633598557892068309810871848626590572208487242231850048175379723506804672770115954402913298928469166854257708470822336257965488321021572504112521408726432534665235052374205509865767558479847838072959447599054567689667201630662576802018576760581022290936026498720743037490946577515134100604700501745762848269228499540910991962610847524729943776972445343503218102057853567173425959346372654508914657952598709794550867882831919823320282562242125564190649676166984975598693287669902860185430944935416160961774754522432131184541055272986188860740284155510224417632706343595316757532713733164770720941005204926042995428197785968508105081750350759055121569490151322460367498511655222471235282746222104760773374326292107887266594795324750473557598562622650559703661553422200180194850194423886768457726117555146223691795217220453716266376167293848116388259886990426536930189807911857934837316273729081910716226733714368385089409543204394144095540847005953193847478413832136802644421098371054899870324107751934962821361489750895451587526903192215667022273304848325704336045481719155058546084732416371465140130911315715777759867247261837721161189368119654414990574789574365537899698481336538378336430068267061167712145562425296009266318171099332717335636224788523330647621097474500941134592138166914853070903020657449037437874949165610740323721946974846910252136318323390677772340336691202663122563226252474713504023217965543392668758524393053100257632996423118771240301084314574870892953922051047738695991225601377737987524535085087311374209186970445703859768456696817204069411212702129895138477658145396809886072169034863910153857073159907986112299564822536275740993761193177181465120303007798490387814873275101907099447576452641842260618148720755646684915138557953236576219996841055665818970423696520378732967175472212017314962768607818014613268760970017144653590207632077538450116065862160733235376363281154073600174472808429707684336305249412056934729524134153006819473558747152154714753697205580773706622636124411644688651116356476956294026655154684740232698454719844054647521501011336259962521242584660244953112701052847078510854356666325854434329491401469942108037565437472840136038239672550694142361870371374590318680959357844661379162603637098897705665817189294028133746690553271354594211474963530032843896259307761307580672738103107080759313514611141428193817775136947689923697081909553183799531240638065698573605639814689697870931680657744654803095418757292708681298432720680087988095756322517746053012998456177408136274055412654002456616529622074251739625629369407809693325069871637822624557308167918128406212778330210161439667577778882554668595754728102200059202999399215883874175743981700585604144453258318808596355912172251302249942323285129838010809315836770624592255192012011331520754118131615317895356332008675280928047427709022337885399102484521262285486133052182833527333557420429490457181794624129422865967430068408708690776425963087351379174311802034372959154600358626801262695901169453976812482862422516195783944879156057237936420459309720448742298122714396639379820023798645212935234413283668305535818187954555368712317416204448544409804204733195385396504022287079385202161946664653926920331629411689941176548060515774842186861212146632561426968642013435826332240448172198646794447581008010504673966138134161432475878349250387720844342844451025378202209190095385980455787453927483838412886689001174893850120608595867036167966640895826575884245113426532328530718579895363981424944938077398285416431144704938391753980267415954910961666840734147425170279494756190339136031680789492903821323874579340886542502650227239574352121571122049528034673809261359772571829109925792334333868760347707388404051334323298220894304570775441599259035425611718227097993006673303324183673851442555480071303668603150624724184669792954140535483650486000136260622142409658319849943473040592772769805180925776774833613389260601678855782685220561571935672470420868018378630704604274449649171313741493661729492068438017805024815518285661768453135911259103755863432913143716438267966257240796775413092657774111726309431835994964422238544505933401518865895263883901535309639358821107697029842558088969050960384323416844727941180990230295875896330837497456718315591651978175821208027698511761662688925498079857256048145382307266658218121467147827543297743422529208303758074789693134629214537802107352086929703568711936972437541259214546426154002149658630909641208128506292047919250624905841546640490694770483629562205773224726216551355851760803517660970933358527232549308927412742940866633820292929050273396799540831628566438818594606899417679237938471871886722242555207844456290708001909757256204780759172583496999445345710846938824708741971009883131021464071796057012901634709636205327273328344396940350400045513603313188610148830225904768659293044724644051385960124491684046862222573297094985321467601291165773718178018458954105725042111147419039860199981992198262527199824413488828698611178526615613727349426765092093351865359908106982936094159080231220057709252828389517415483318314981062427220988200709134712336712537062691859079887236386632071332066064669230481080986586705699732824301265218099387152063464732361919678221099155649968993531767245251053816812410294182851744865202132079196244074331315412338199183092303512445871305565572027841836209912795417005978988316378908374077003250758168290573551654618278260662682295570960399661965888593931916168464865960662470207510526741923950333048054003157537845162669630102794725018937578689530376665805796202913474292218703146358905910830853461914272309928066786485496147968766620909574003638297936608428343519935191935033171718280115297819952720658049927786280573056525089141487946643754575306609325705497584361167614627382207111401427233024113355242293399179736866585758374066200098685726652253549266219675774173910571665999123627925780630262475816940898222490758614581410632517553020141939078382910566724657423513949055702921404428510083764986155688428814853415266676978164296524407472564173059654750671338504162402234374801695885899470816480702971795991841032502777559860646120566204379541428677734157856488627495604526086228900145077742781316854924486700038969417117219131744781750347176000000604961959434798781332278410440705825943251553637521174839912679079654933247012733232189921958043945470160617366752241594252717548752788148023124072817934058888499318370114914794897491309686567882849333546254767132480299923390828561035978877482383354471090752318175061999357739298524620526791478037093185405144068376478157340822535467400303801902535788494018589901491537218765255042365799006726324705973393681352184197865902756320149852683416105198421010903830336911583826725585259699310200545704672576097794381073903478657987591955590345192948911056732262031712698055485200849307332062851895267464181384993227941888592803652628058577372328310139354932758614420888806527518333814321552736216287391772763508087118210284439164317492803491819039300681516949085632445290986600418030267210785812545948651515172132184270624109035228519087052403653394830035278688478847183497445660927177251220920911427834785078865746709622580543670482587401973499315331719833462659741401374263710116572885479026632530780986103433769398438530492547345109006723913267244192161168664768945012888113092202158473821762027127990220737595329466061668948262682871578855997282588962889922090178006863591490250977679914282567835971176913611902479888529655851871685998627670078016314730346814099478598333942165201393167178221773860660715807998668123420068756227485791758202869066891402814646660236560490378758593379887863456906498094727709890070365812632211081680228131136839535412569248304795400363279447421865906588853126449032107370349268721374552679367342068322183646665546885818417482811484826052181204543063712331252130630839309367869886997788248991988436309682469015696438612765592800390678876481849742408464162981788819651116487165370316057262880993656688980109968650974966585020940470367801662472733592457426227067777587160092131001235464335225577959167339382189115750785161443502395322920935466420344888335826184527373715415285933051801687604090190866157047122084932188839443365422034299930835468149560436041592391535383987615400550119838539898430168243361105203061695343039277158136840835613140795724956679512717652294165346236757592108621324730133287036665842235479354773703076683774928283045622848505351531831559036217799805417331556699062688223952316670844014779306380230514225978935531991359706197597721775478678385820797849180837384673160918596948349708400381083399645770410850346078827823064339509153151766515547308734328931206344426519783907374679405093685125475862381347334231245193158386870429323152359970993460724833658628171542972328794825812713858886472626873527634318430173373684120959062935918150543214019345975361994744721249926195682123401056400315823831632646211497043477086145213259830273477058702845216165967367139548001931210239140871741548998752957242969239963340564419619871545984335610967655049502508821998394249029258326217789508701922350862821631054395266524755217250953629988488781812371158977516612368982067366149519285834162079345248508991478453943044032482177824427685037679539537588517245355381326958760956607554802018222628013250944990234864472574231128943759533099591991177131350711266167564471363861006169765996979884494341186490211440326414079204209651778478746613291238493871647149745717116970774678604889366468579354246486872626144878564483359760781062569244437676437152861157664746639623272399653250535509143184989766564270133627924005654879679108025853821896252623928737099962902093580648317574404631757840944519872430171293588287695054427565380011541172532037017371293722677609605545734202672424706405739386486873809524076507100490587079120388183853024842344152247240670283577339844904219101369774462335361591107858905637826477160512857438121806162730046424331056768253514726971592434163757986615316016837610071263866624130505976261987349552708649699957984491372553180978589676809827474224294691725176810430997392016906413705141378005378511135356249177474636832197551610384440514785413641096402609730488994191350882445371137504376845994302679090006181613983036323680700234444009898758670204260995043878475632864764307107865753612305144163396788755021934785533139655777844307333608401190251854540407769566046976397289263693345363775708098318581136333524095019437603645382610336548173427128322473735722832079815781594966009415680118656668800299125805673774717550300685525393212284188155812640869632519107367002103457456194761606425539813255584800278475180925649947481010221290071557368423952079433424137044422921276571994145722289308839349314423464210638436685326459952029427374814138626651844128380149152913653659875244024663162413110171359278746139149236130745510444215412539213028570755177271671882214479341620376857761209728343164787103276615069542761474866818420697384652574968750789925435451231454007909463546780848001912795565091012128064677169386253851019628806248144324639482897428211472608018335280995593404510893519353818523318001268400500874631257483954046083710678805920952097780117135175776808833185750778042423824656128230112795136496721836517260705467525267767976181960180666775012248545479381738679548068405143148541513126791599947549444658819819084508403036148774989652220109282190673175623283523082793308149086954815873066883236975425848225314757161399209701283223465591869826795481440110663588408767254949651552390073525883662118804904414266668206956189105138784428588875440296849737989259267218951055106268106749017271395316983962705426339331755141727253545191643992516925997809405342544201553450200748469503052404944198427344844064344523811613372396844630124499167968985711650853595989777635339700049920150482870430953138443035054513868157797507305410915895738474371636882718272634791331304038489915309982252082319271379617146154025186755727382161822197247900139636604044277871847158697671375436108588202438487840629251197407846778127142032771799799342880354761710927340892125277271155117541311228001153970240661336468734779986391716919852059079105123415495888013234084046874914177679274472242458124930876642357598777588866238452938060272649469302584275204948314954388235302031922978777297359855332435777331635490782296823227764909663553092163003377090934113461907181544009988907425494291919713224705090159197392339746394643476944190095068205365321810081822820394340755014301457490815482893125291261428574240651125118798318665514282880194405413574068402482740525727206487853833804901933539587074731874940185276305992608841520635174053389386823276096106821857394070563830634135250019203967277253480965550863337551727096289874871831966198365390317162453359893256477549287032979974123119574920512011633058127631931909326023745181811085222702517029022116763693107687222595296784379526049290463661363573086012533428361040374481522538832521568825574974570852032305853710894861454848105341501559137369427300470428926797214341419697247539893013374522481532721542054296591652748613330313372887820759884282183726450476613964724577593091665604638086151789132374874785825605501450102961271558911869244065038410884547776329925871828076337083725158246801790923401002082121541368949454428366247978231861597791071364633247553821652553057080914251604829251525637840819895012207960917244838118377326930464377133970227298859435035635708595888320691116636166686533544116304786265696193729649708057551136978803096114675249921887222177303775754707899428372537610718404114786015046025315591341806170980058929816097777972758824150716856851076019668056013710908185222884957914814546015024692314565146222937917318458253802505604439123608942722025663754790798697629621768972156489407571448247919404695020239803700468791258779728830930324481351499013908794838231652879029671794082793939135056012554469076825694273030471392785870534026296550468302458035542538151979985875440405654974732196999482753561514811995093833358717792735720079906514685027718638976288577974746350480180660032966398865118742257955010905697838761867861699789074614077892134678067874838037109305911322735873209165852266880895916590301701478988525746184986680802193175018048247367843733135058963507520785299559092576624110346412691161418053266131941984300735286143317154527546688392120703777153823036139180549369122820372710060177442765818190496855633205201166688393910477573759030267616238332761059889006792468836902042208592934666803586749967204851066186921440515494858232006638350415756032359700705740023222680232038522918683255516721187412562786400995586914052616881919636215753819555326555283563537667968802232500677414658653179146998224247375153096694846135239654405571094609395708797461199689775672846237690424025936885153973246982589270109803770546717043662042173949156766434338090876657672246371776726676134267783772552180134468998592884279333518132175150865750664292656589570641212237962710768847683288848234519861745013481380901273988128838388324434346089111638399710962676784890015038342648090545164381507022743844867694908131844433789440317571492144978913882020515691159931576425043353052964290276744616344200839112753116486381560686603444433112259101963127284066025094934019592293365898713608674227946727836128289887724383794596701119630245963425216914876481091150701269176728641005825288750921464658152329013601208312472008999058774415029872966236398782321840533444180989896043203467276358124089136353910143235034164996354429926665260554088825024321574494367290862440464320310390639732616753835510415369519397830326326982062369649279275915489631137435319986079800287529331167350462635756602769524629791206676911483891099068286054808115937721401410696498399734971081604776062775881474663642183146316418692417106786868489673168552619390659374314274626391336790582757354611212843109402001680928219580101447306796442822533310162088897616063227086866741701044395578581782996503809107287475052700973434896376904685030640734909799134442001244657437901980371935398366641252262930072004300687237816760873244021700750519683249277839103792665202005876896577854374037097372530053351552176225265144487304840355003463386777393698353377655529282749582291254478931512268090992212607561315590697391711888344180934392550161031069817387510192051027274024878397901921367924292739592930186690654530433427449861069930366104212887898528465126592285684132378316157228586439899352264161942828534102837162268620851392305948404430212302599689850114162084462993732940056637610790002064482640044323240237534258376697911469271224514595844964647749222461155281023256736580291612067604372986569928077423952992654385775472274149994357291064220593933350947236634573635533898630651995417270437740027783023883638125463191332686413213454799414589863832167400659983272778604637736016857131022031230606555815517542550103106493236733856142621241897659195492855350640179643134814384682034227172841775854197053118793145118266296232353867840445417770046643103356778888991982638284624759929822670227737466010507027883786831943308051396734386391471816683306357975820514175006917187433652978460758792862495439730704032597691567933812473689876537306320299681153773146296359435597045239549044789979965771370094500292945175069552029524502386817968580339263936229749569502453897784833161694627242679141262535086319784980874946993568743813357935962866485046223545098330049019599696424158837077986936668561097755293243242496846809191002412106218351385129760229275796680601086031583772647785017287452722515248030296045841272102176272764503330103190792756089212135784678403934317183207178272488021276311627519510713853204026752383299424319923073188314374772842322572763467048464728206462550897582229172037850850355362489580825923250773950994908088622306843702928388988130210465114228120575950013013134017657485557691129195593517646657941350179276189902467453055880262680678048537177383231100615576874858272656590702843242941757768023303975078271438375373156609440847313413333969581578932200432052640732811317188803188323461077058893041971671745413586059500218818000811606821525774776026908407690130514714879149817924829485089937033978095770178763256743883975722485366973604748874393504297855202994517529436225257279134122892663325576413674547442693290617743693371182417857797347205269108833733421073131828828566422944304566157152435700681099951062677026535110574531507334555225657763715084315472900292045002473241750076599699103665702399124559898157701457354376247030876315752272489747268787924070734232174624290663804018606157650120934205306456278091866973946991817420624435397899555579187618375297723329970638067709973065451642471909491120618589643027087011964439321367032407226749293092827128717000596685003554978331113358868467617011613559053523459270670640711817107531887063698225446642860154823636367382464407438069609549813828227197602057905824936975831279172922494570860526629040558901074413686338122777991678353228988374461923665159150965933298223724323522809904706789223853139304524609868443843552796288495874360385797373920886451956161517396680599903378904152531627829837411675594231879047067898973338037784378044528347512775442193468079747490900287655593375901368612440327211073958938634034736203746618026973662914553183915774364664900776017724589464961011435875479028765139670397345885803777054282706212381540486582391644254590901814343611013577842195856074472720380790034308254744481300585573736106427699378829616056118079781423961172467911086499541207428224000971920270540342853837268079024870469850264680460483690608718681494872460995723501230719117942949983169393364334811738458235534946916795952118822385656080133212390899345427897331992929015389438936291324750689171229716062618668713999703396108093499669884822548744803969607580375620059809428690197960949110180504913047507498732392472260299475769549627162271876629461655782372276829216975748360176652039301250994739929407558483964815692287959952608501528434807393789671645405288733647276887227195808188213905382114305157432071697139815255890090175091149731779155194302743146493547246228803997523842885637177138192126329237149843445594193443809326349388011637888405914733315413786678349849234028342352337047790752816475318380113331065072420884116830323562407316675126426792134489442206284928082886063061837224376060298778743468392244109119269111348720674145901237321958936599025577020784398434846187057404748814002486180483075186578780231001099603892612352456576262224660371013044104429140517642041442704808196864638088293887756166517003672521541527773058392544008884851320863850652366415476131397611398714818298363431499649829971258527586293935665886595012364047899367855529005124872696223043893864925130956347078213453120505444720879049546463725136134270170170021770145353365319216163048088791873974661751192456365522832054864947403865081691009946132630040333723332071136774489937040167096611773657104312584718260729505920145297393669872810069071540028976040771879689388332751784176100893522126269128417421281187135659768314039624886662610673790514213910781044446862490308896931165087229327736192944535513541234083164480675685723428141112061374743443245926395411279763054804225262397842972318853816059920429899820462464419539546805576175284129989848744207558674192901532155477596368308105284824866695441497873453995722579264298393529783126438934262623196441951508291920578162747446866378997351016450100402754992619042132999203868232135843260570056261218134951320950215676569564001187273197349807088574978764975424669895693302602532060603408340375266485827889655593080878118482291143482567897559646329035318229659376880808563844451832686466916593092421433545983467004995463016938569181922465539662355024644425223383880257375823180367460617550437873263436831229520957673074829827856701462175070710854418356589020623880094436998120962260408242910491272284714411147774994742291726608112177551264324806902967189727263616550792844812560900640547876879319501780362814676136537845798102903574006178947513618151216005303839859184799109023761528575799657077530915598084157632383896110616168253911694470317342493067841579248334631892621122303342647236895782467361211030265322448892783074311847779110233657104031896350134576568699187476129612480724471645737282976806887378497662413076772598590385726501740010135900348982443504527953556741150729513378930131299367289876834903775673077554198588493644262503132831094993249723981287391345087506170051908883495295460591997798735599798815716041880000592757671760259439516371575540113909887703977478017689359389184993648021547216639015143438828400394706274015797988665845013078470543305694468233256452992790954005338446315334191960496864800533783053089822206976340586260537798294970937422250787409997991497081386490584374195955174340468994223702475217545488771212957314151857908745043915103643847977276672781997706605991818003026952308258218622057529928498065824107489779124762477385152265918108436575611551620514610521359516970705182628140688554214818079387990829889598365950222925878418238183845438134810440467544377735014303148705154738701140598069358957038492801543286877278845189014153465955106441000637995064991440315205391851438113434204585251035607482330162022807156032410923696452937786320323711293387162418640626180831933668204900844275443175313711271162351940447306844355918949592597410605627006467215523312014933934917384890128398217035304301151766665195900077906963255824780257282738264392356008838288083938390554356322169593837812249005670653415630264004453328262043152855004906147097263481195774869028812377005379884289133213701693279147239407157571447202824465808069768144552747526001619956116444040745113845447006671214136952098145999341266036533637889788075162281964799084175078482749619327654478027359303641142774580438545372720523130970618173097772517783413186976545996493800523287023515913698861186713156853255755557604189254772729081976735266812474494655292633398712742227456283239557103253816148390296811053664389104128585878989499173299918949998818206646659059286259580240488156388310555639716033502403563460996656910340759839609047956814294636236422687737445214151708214726016048932897319146966709766154657539119667028167513412288801525454110722239405145506799666102169444634547883384179378740256978918994042612243094413790586814353707412368456758470025774971465023978909726653230222471559645708576651596760227113767486195532229094919378846153905918213744085744228441937183746605000902497712384979027602815772540911809803386443602213844470727660020861217933050423571925656175091943378340250421624821812976966854383033556999159643168514744933177621052535591944052330251405221807885380864146285142799266861648068317980960952648569360144517196994486805809597335205488923876613967424781564962762521594980931438729782755208558194896713667029086056329381338358608629344135165127726029011793555429562911997733755592460918480966153096923163545682369313158371354300754255081896218305487116486459821270601709479188256580471048494860636413457900627112780875122380217643897178367690789135354257279816741693445123370281716977928380232143829160595787389206588304429758244799993952389274865628729500191030042478581169439492182856702078547202289150094878357820030208342999597089332907881994559073362504977117834964906212527374506677245257494748078972850588307645430394008401206732626001852953067381203345770718698512165341670191997645375743709473596852899395279733508906759521444870646589498246548769258255203201262402043624780096952487669898703033191028420974926335093551170410676113575176919669842878561260646914875513421322867730052254256858107852841970964720983582327143137950460592357126334815498028429361456216733945055400148758667075892710776722289436326883661211906356007610416067608069311459647742516386846006554516147779804134188929462912231426683293054784819502617472406315171549045825297804502443982156951416338428946982884411353281639609873774615574523676945439430189533398141679062698073511720856488413090174911193656275632058190498029934130774222655675247656910492652788955338094168656492275441941196105411731137337251426733225948684877106539212971315480348640411777543533064760897564611569449396617651431887006454082032394080786228483703159525302937379528398431333551219896623982011985009344392556939239115301660314652955416266608155456157457454426431805627253816744470927061431111230769114266855950704075634412817607190506668966515215737231246002953801242583206150705160963949671633748540611076892042962420299156742590675735111582777079523135051194555432747027396641075194301305848110371983101699267494104596116750872258013089997538264989309294612039660871095681334043513296329713725449113138771372244520323096516707827939037366143031123703474652431833447793175325557074412951507944181541430792414328875702578712863396583776045513146839107757186419419471699847333341294559322366604279836772120241652956391292911465571120329238182316628285122676959147992555726546433008476082403988834538934817011671349259683536758138372045674614563852535541853624775908581448018984551325649381633907131892649646089874759920431850206391575719525708666135407370953759097401287866777382231737232262319482204734107583612709550146007676140033441969797837284792184297174760555084971176915157864476624097209648504030399514979303849508150472134009456600730521817140725537859462075002223546325388678634617078987544122844528718068838074943946517895189896147786055256067488295184092445169368370639456405988962353944085666382753152626663841397455970732083012922682316147882932850324825089937978085228855340979765169841803118071330465472455272091463291467402425193852196496659840917244987134916509093007051383897519396583214824519999141464291189010201629835806683048944150258104932750297187820096254779465280599615409459776981563879815586033568800026855657874398819596357428069956206613475905027140538483198756670676038144732705273593994056929526582623010966553949147268628222226393306135766219853594997884417903380627465039614414399515685819826425013422306613401423412608444257485714621887980699007782398135777256004836206633945111582029735400679695155065528571051404279235916952210891996352227365483350113224137413314793834754366275046181943607352677234017451571187463897598658828736265232773295450601496493798412951868735745853465520713495841186750381737760429925808821957442114912920219203353778305316235651550280058599766774061752440225796214052364753180023610183320066226837906900308335604179312151897851977779912539984047875027268908524126120844401743897350518501868006264085198898708955038311806944617542092159485220330397448241103075380513637202932768962460595051073990325179367506845065234310086555995930744224239943214940178987578078358127166605264013102286116727235065569430371462515389406697109553187891569222895006773019022740110874563901124791944771747873169288623530742716032015314461176059531528622620728519367112690113339418628332545339302069471616281244113116306770766509186794328086885729756217870960461888756902781978239425165005055242010145522055086392307379615972348786088016058029714712211079527904343019283327459164789038038857438694196326424499978399494548596846204475734212597227937360289620236935623051632919211679057567131289019529862025406001287967976954558122169373417540614216596228124028315638371339530089765344967019535047267849186597460654190235200547277178905010825201522497236146866646920204131439672441022835035894597709178319615260682856100801022739612102305633220716378662027749542635296933035832177758544118459585899036389450437130465582420041513277433650675961277841619431552460201382558719918893019338263200169813804413210483818409392364077143704302415287466205966384294135922347081194903274171191327185510392666790045802369922443816168505704940518337493973239295927685194470781372727186868023793344392174034421425527000130960285368375353743007015743311818174591637040257541707978174196458938683466029562269574560782568786226168785844200820726921344792394927735957673750407677754078942197061267877083536340326229873025354835779146086291505353170211830383500080292412262824579332174824306615207412686234854796306068655031460534976861434230986618954126697738470131140793849444904073576703474810890036431074182909382032716602402083395708710383568751047147166882160726767535184911536745320787424226790813734893115724753900440004874874489771077051209674132460677689331809681163407940038517303705717150990522452708818976011199712962801863956838227014849200402123617392969145691026831048956128683447450501252205875439281048083442451964028758645132020625668789649076893657779358576356060621944114536189489235933432595629942460455615015061904693468706760385881171224697654490700975144360427629258012758222702379803381619280428816660587161084912245191771079753800815223415174544379610652659422574406046450306430387952989993674479171200475429844821882723595986037271934205763502957528248055558392734858600739043866656920577544663702981324418531306465748748440315581468310037294564870684639932994709990733096673120574394123553705576008628498130040118172632257002574225288157396931222500192130049736999178554994171907020288302277808127393756072315694641281606544880518667648331439314057551690654282878582799185385764727652331423368876273317807789983599099473007861343662005519347817245910116742921950596636258758726040546069271940103015950886684209543249443946016005120435933310538262810677270532847403037887433379744544750318651107992175546191560440195865952850016886933869130578672565652414231675459910352951573320078940165919634524810037356817289885624520739551468848333487659763443198919840507986949253065125429362597988720809418980486648616818334057244118719912394239245702458899577237429120884917196165662390034731156253206659131374434590312009784351562136410261649545549919097673107215615894335583476651961219622160329414292560663521408758944271624565775711609513761478039880984373654756620255292931586698434707134882292475262434856635230725403675987562938293156100744152460274992872715309457709333552692821703462948155457897184608430493774088679342032765704398752403365904345881458362673389695326581420786288736134709239482435904006935672607750528918285201980881906710786753371098025429450448806937695714342636964849832031993524636012537367888767626792469349769873820772974697363611945197357000419097226950388514673945077216886298581483808601633233817437015703101045450435273087263353375267825393193235707344182025390898612510255404795300056125689451292541527604791293393420681204982724045166196673937442345319504351322662839987302428906258831424134920435579408854559082099968505611103874636808677369755307297204704043715561239050813827747878018015332463376707619519981062330860258969944284533976907836078194554570892841378057207939701217581787222066352776873922211439328720871706334888669547232074851337299049719624304605187292107928728695433114032309323742774370777871691203822362822510782516340500408932196408867565061310487863062487482225741910268074051160110358487751624396706955880454638989202073422662642040567049130957915286181169623864607845928905516159148032514543807112076671812732056704600978352067968131137430802384483497296966609272798478347614934452005299904341943112840866151117214516318635837466111349776755025386207507706311182040160485376185521571336497449433291840865522477994672716389600645752510249038325923565355009284645352277631886556100594539511709353746943582353250320048674394161550609386882742276200327269918568937573126305637189322285856023387306985935975358972432911496529670042103283100156815357842492171654816495494932456619487909824452084629708376239287641918024049991236791281642966940635308926300877998559190112784806119964784181135740399704285651965532964835491337192548169433958157296924576382721194757245000186789689774519970487052725852870744789032980267116531964271081709886966402970275569817918004296346136174228541545712036615116542069203513323044330816506733776467178433210849572812152540582917435287916765285203762878419229449619443368358847717483994280760778002466340618862631596933883620266999975751525465966840062247442891469714778506380836974113543827960206129500358772026387012095770988483168029311898563175559388068923344762061711016921402456346154906454240516056116434103351486025086067580124582455539082592275755618967518389508922280951400098092468345594278179766774224767617619002979035434031782111824713126209708587380643260802557186426810168352000850447044603010963377526411256575221860378321580933497117088999328909201940700002176722254611935007560208565138479739491928358173234153119131847575195551881685015490705120189106505158217752332278863822533371813089505083487715390142969844270355160010584736954194118272319810669749295921388463652867155477265552226165150506944417632069355443365048506634515714320240114205167949563431472394590871507956314148057034493489285742621926159383497949843915625096967345552975330719969960953059846265484342903653815356788695176926301779408983551886534177013743851423422316072236351472684617129068980904059588267038390714249896328942203867261663771745316094211882348807319719770874848473005917184296914100831895473801289087077530619629883180751166989967064898115372022500350893603256433509243246353209925657544522019954798753140447667232352378943892233870600502411602012113356998807093843827144064540080383965292467176261194040371253449308007075662112514839820471316550856491814519473638174198951300588527441421286140929668993232753142099438511001573506716977014701148449834267721380508834690424211658375049076703210967967320734876059234405329253734728157850940634926174692021481966840542435866098140700279624112870231486971476741378997779767142341420014204342282896557784287183792456079625809550861393184062402806947338277592148312800942731836912736863967449961372105378422781905164513827845644449151443532021953489390923953649185604210619947684150746800048593818376649182080607865905001394743711591256126843115052293501334256102261715983353310085379480344676902688410491235714751004019907629129517007177341111798751486447100500325995957080342241635304302577900643488375019430791214893283633413801128552317852454248676404105275576014585044349695129540595902932761627391849062904230131615533314335369242810308014351193446215163255305975439866344023300041888506152065414012286656150810303186091279485051520927973959446459110137114960340403125260986826880508430896019510997313131458305057280493939461648824691672106515561581767324255874879621868184683135592298340923324494330205350184000390002804382937731312255277736972146414268967900746260340055696111271563997212557951950119344772847942679629592304949303598835634754088925696377107736735249030788593178795060836187340903618025193507317102697139051838393644596524641581019561162008895565488077484136245172446809330598913826316726338418668669893119947696364138547747097099832656930378024107083466738112042932183261224737435561618108713012823227676052087620157281741382280468271015976035031524312817510128040232581488587856295842850839733504406663849094925132394697958951278228729003161993481558281130656285128350773215466594538825460945897642759699846540173907154450423335132960275943052107195686726527474888722783847020060890532190554655661983710576583352440478422758409018469158717302517720011859669105581367486433948006828751156163557339292691841476599509013613423452534150049395840832602797954348649106931987891947657579542970218548689972118717629945754087016351835041511831123116639371771781952719520855094474468064506737757824078548187362494679104757252288611487083069318191233947188527097352055511999679480257420738765238770820646176863407924549695264873328827510805846681193580251833919335956989713478446925512481071046345316815272861970877309550687586711267604536008988392269688431295145541520748189437924888184787495443138061915038381039352721893799378836616252467918253160467715426364814634955289415712987948138844196622927364808109360839178529921630541325211076018195043149125359712201346252336089389350263505005050867456934637788801622482225835814209695830547767887194440848453680257682007108576316506668997746526380157199437035068215568397827550437218637660121137382212916794032363000486031013113858195186411717128455944301926459233214977768673397853857768578785071768128956223424056693944488302358650306846071776719723633542196600687110999098301685685240015211569313552569496640465847440771705934761482886897328752085194672860375570270110111438642217907179527754529599690286267716538241610365012105955036616791399924176151748426679785015859611471268237933625546183745181222641880804400412263059989304674432226183027774525134160196332819056525514021314500014960797453492943547098889715417286140178029996826479938183786918494065890386135308154770697735615791137446980668901949964675872253992694789837103941466005700417523106588157477878020827982576010519555495494305211063123338632846876538383780405913467387787068825271616927751806284090549940549041485951842898273269342790335184396343701713474521551867234088570231288776674892327291442861347021810518180240002617706248256992277679921553530165606635649593477367869031862824884244895050605175401937378418433168597274039581094913086448782165170551931750061209857915157138525691976497467255029883523615040624306118018131440716935868773445368012404258589922017930313359345129358473776344324512570118319098606503216537446625778851743170366807238109429493636069151775895837951532857278459836112895179488685412686884923620705328693946177993519431405638348870324154348193799540353327252626629301661277989556191617399997773347465039736595109258986766151318821643291323435616224570396493078798891765171184712136450485818785681148557188461650223021127136082253214083073101239877803803107894963322960142829544381241313834853261338536771541038084027408311554022687555031866583288687810809484698249298865634236079357543356224524052616201005508686723445994720768903626479631020042211933435188215566115588939581318131000575816748579674794586385447811404327959834328491328988164300645612252140678020768231030412738901856402811561352514253627596526780117897832151823907912971711230662582963417037084108518673171086460806912703509460192332573610561881450895821252299001680923829569629080081859339483929480898188867475942624409950701132934655940475163877659151427284242487386015936187730784072725963196442919669931946692435292632932193665156566664282312028166818167673331602382326089386313438731614954478323026226202807878247688304313925231623615023400969025315426314067586227661828342320441821165888881181299102939747418316714080141735497375951542016110443332413175581759450160021283124437109133588353673997642384025090754367070221037117235715214492307711869087260715341548827555967720845237380830980982979949228948552608290065752178858397341159741601102448783211052069367967553338436131064620899176728156735766057100885710975840902817200579538225753706263297797966207595416892453044193872234696696817376413805522883779912012755905544938944036210899292232823214672413041720902440140391668479105012121906198543514362778922364834046266425980183236548846522892676141441557202096777554151421060114581447850980147335850542920707382270746690042967195801502249470500185396522493725802654935800410998197657247043462298254905692776626028724765544064485753196145933496592640202448197945897057654898128114253720587657850188658152388950637468998826574317303109705035769686430567458911472629767687672581341869885146029335193226982419858182771730591346794573180164120617042746576332956246363550178098061933887334670178538036183820768221054773480568662972761697601552670782284898102531994435317611469316746483317543899273633044680574189689460199729934646089361261487371686931927376783760231600394752370616139881932920858762772519115609464913708176248227215470826799176279171410599165903998049739944424803688189045404736223447868284730949080670643367988464183640519981428224875218894012242806786422310203905233834096110287197632565744206882824065208131667932512728018330840824150200596991950251644570513263922779934068636004700268342488237701841891111835702244622881092062714017437699663493087802264546950063411119875060756399072925373952639453610238442505562766760976936567159114923182377770084983924432761337159377409500894983549286101242562019176038394448031712137872657840079569311089819865521771878017291605565804001800035164275486912988104745036061583526820585830355211108655355699960177266164979841441954479798404489241378022197713325223410890517397600390123953924823377630236637606830143475194695148518514051410946000961074798304561355475448369066882592081218326008913216993596128897686071418489540056300654554293052102045599985713970450956834305093577470287890776963150043291493743372354031297056477858264334318367415711698185728068583364801164620800560000050248592756865244303291153585079092572147253897133999948255645162484986063442424817088297388391238500564287286811217860957125022351853578827799015075345610483305463141378514617173502084281599306051705640332240069885195465089138096140139097600159726114361075699471275050113097747240138301259423264331809203075408907325347545124095596262603599206671104116995129433889822272594599945809370061165206614597212266583427812814153370742911501694331684935734615630778127852668863906122706894232793169271045533756590058299060177106854819380938791612107489852331276741224142311540621671251410411504425033567595917341318570202737740338747788846736661350210529892623619251599312325516715450425210391438002446928925436237103630434557789902155864574602022273176243943993670110245124436914744668808767024160818751946221390932805591870195589929375801357694595271273662108785981636121035925758277248575480080245555319570485199264964020464278117297994359812139310696201229347673245928226588902360816052085131648457610165089432231422887977647044850693820995528471153386400072680423347034176895004245012974650704647881508333586114151966209156104125684535573106393176630163528877331927965403496002254019204051813791071566969161277883577480642025790073735211207131237794874300869795720477084602942657583106505569816904265954702773034085388096415267666820352367324275412322898841608664979732359184087038343010320156601532859389596503007513972303268970129479433594694312224127966319685590856792047955301153791219780253188518503863169243400847361809252629370425798389868371507454090133728469860991112427866246840099559036376530621284808052100050506391707516175347746864376472236437056269377077660237115822647990305274461252907910907498408002201102334098719834123833020085574158437892983467418509658933665101292242873716617174825237337650690668113775988280189261144635833308256974656521165679057385886129103412155757725542481690507758059108055351563344083400183722290900777624666335953655477486372592435552556942523192853538238802844238579722367891441331112179386743523803159228456843933888945805286901723055178377318854729296528781356117808516116880784977782110426602788084796886167144652137764628242265369957725449360155864874354524952801399702942968359437744409885505020781419795933665076317262264721338213507248872192900445755315145569119193614369287463681766751197448333841323610251524469236688808369589279475046273780968381245443393432177580585169356894576900840699676988840028381904746338169982536681098551370064571506082505511924741936190702941176515538079118235882072797819468218669367742097267809188302568396707899068166793947339781619192439095150423756441134569137986225099003740921060056957269538374244519144079872923238812344929459782646721649544416573509104564404159836209072409343650581505080833961706042562905684811365582870652464220472225763205475426601405962378635089519324866026208932949747960469252692505573227064678960018139685460293064714277035331636608682004025232153678453214003590673037523776069530141250546851018089276009157394474465394144943856339981837650970820989230927948675454322465998975538576266155782729830990602445525541015261147053349855816240669787135368466284432821670908306609850235282229925152869547039003273243148004857030158896487896086156840396617903316507608668535477102480595969521596150646771040391221500437305193258751876533486573090348642169519512311304827666507580248864841580464954000925491503559963963934470101845897369810037089648245475039488009246469035189311594186623044059096751688062945337407615860987885051201968458237163590292754206787204984869770706631785159641496257991239112909710175032210276578209631652582830227519146097031793538409193468930527392588248706768451213827656570237451873014839440498054012874586164509503299082770796195990751893185795888748380115197329858885285457302040859334944342123356851395347625650094779461961423036852404456037911762165362742570736108543540458621822725849728256519628391275072495650335352507445780555980930990727750290904699925583181618694217806585588010021972725410384327728231307905430743896357121956038316727353727397738797590990297506210033712039380770111235763698645789841419781337196235632602268277182622945981291200486243900969397176547959064747744625539183499503454690093281001045580959418764448653864292604320591968293187190598248009310984994595398848907054932675132449513966018052458726011712138280244135744789147184858498716068676378066804027449629210549528527814041013473152554597027322892932833537058051554846378361192490640033678169163318061124985016466798176952567764286735846154335545755790080144803316172487637334644161352800419296689327692409076966782388603375309000195372894416105012592433176478014912688913439669327404523874370353445931856762763882434709368498279884887799878348314440107157950298124891423228457665796033246087755665351001774094850095369261225219435988925856987988339421669693501708296978652100416190393398933205319979968424677453614157030865029117331380015676624792585934373752937751784357751444500751658354249067140808789055707066765955364671235869786713641048912196958219506742027357768993291594714798117190847443215216459912949632014102180498988341744790961967822807298981180932229974145669289724730138699682012614093207295975436375687451556684978599540563173216435097604945257566832286848931786185435099724416527775608894744522925369572820376305871561243610713559210556871659046184912270967841900354334286434205067092021745677178275930559785682939410286866954496292256340729611921620395443685325247748032133668845347549540130212802861622014833618170736685225590434712589834001605708555638004610803220545183187868175626404777275877937440442809003959954749538584661918890369171545199034218542449302490031668791715701583507934616699575404282862764764448622638817947271302881526419160469314916411810447724825604544142469794702331764270977926082126449489496429032098012221797357863760524799838886485807436731187120515369561045794508226208730461162830808306128636941655209965752574245582589251179580523991856208840728411183463709257259544219088938468871979024856711092561628723310781464861904081253424965334780654755995485528575451476977869800520157442089360703448426149865635387068935125782700697206090114854115531066322303028948190131520137392238017654787471031966962260197593986384563801160745641299350209234317874331049475827853829568659140380892009356584838526921701889798327032527627074731359297092115068273468206518891940303781445084806179110600942674661606994823123697766636303547243567272489246335442495496861683309488470330667632393502458490796677741070497661985209612640993693743744154167143803546491371599700924357579641514283985966175641525665830635651089643115883743913527832424942762887231030255226475653683198791462606092370858876024793484325901290796330051562312713815421666274402405318999149518335095538763354083534746208721975836073848769362469014827142218485182567498714374528853496297639925350995866688300029085430983656035785398752613280715165984989598598085393520999276523333596039973658169077821430059062261237449614267481400682670798760785265656215442947097950244831154208135842250955736923392183290694217712887514765383522060798061378881537129307972653139665595085243445582236986221411658507005097626704204149838697523916718553833173747996600950163932880606531454399501986902644806425520378677766206770843403864729075397102939938523678494384578827643892115035815877972845135228022095205350898001013253420781797591179563073483370254830370836080662877189374792100962571410446231574873379590322975805712668577948130444330663255044815388457900037377154995315936208622470583671613199443632279181941994808471788179353735088165600290062004047424316877557608394129363801672766576963513796769956986236259084573620466164149547331950455647764056678201197729368432278854215317528021009883887971375214048918383655943903395759562215237915404613413872203670899323587066410331935891255520520857719429165134860194050193815568527024096502317147188525527776478254789418180503794036877163995607222204273040177470977775017093770803937706802006773698021241760447855681891647536461580787613463239017888702853358393744939226025289137457257957714506882043055501218462464511554474515232246628040424996393474568396303758490752702484326818098395837258440496549147278564744255843940377245111422837657293433522556320584833061261532160751762036728734392526031942691930320772936624338872924587615113483910076454536161130971888435538774799690836759171335000954161266222670585450456836869556636717963590923027925137918685154869334285933820999309239145447518997029767653187063154484169506203413119363448906426576093513677718810212976324309952478173396536922674351744574297561217903836090469402616964831690022781143413325654709110310030893781500954763676042883122075565098586561495714996866768419345229490959713619155092551093098666483561082757329746733792630842798616615891486824679943839805982203520760183445586160619407240249421673197264581607917891674962405569551781482234924668191866737449302051558818564287529368181097026178050113135045485612332965047405910287551128110467186800285325013783093191235407627902400735592541477147887711962952273055638679963856078057174112467951055719462045744515347825021462732692942454704838292910694804371138559367099170337999473984288588205843480569613124242117174144693235357834371023862861919758007567919013918496763669290715921504739364021363706346573747368725349001572864239022657181235223390394051974444404880067677109598840024569950108110824808697072603224944580462170585809228137161503148076970074202922558712571502499326133405045103768104305976067078109816417723955187806744970884419371569608537985214652772596535088399084687817347498548718876087642996579754456135325165834950379563797624926629094383465475215172799664368164281224083057569697827920118658677318887307842714357946828243763352525297386405095639952190831348457597027172660229655285907554921900603180810907949958471695423845542990607838189031520501756328990427238232787625056504047775897353803473814109537573611980098147169228479168255637910341309920254399514593075015980660883156138819237069314474509622324896502598810735296571502081811323296186737396963755034574122132687110281451619907528553899953998352702514033855108956755808840866141479085356611554572148824886783360428152490296487965715201509127326765397550648297435326962162074729873014612578249970775126748298403425955598577504388398078136517219122343646405330093877700643521510014220299306344457567953679453240639568202951775980287441092557171679383126315507088537918753741412019337713205830310757516166426070741060042136218437226783032787273893541287409530997464866415522786593798904309594932593992320333391911770870307590166133593888507281145917936907190352266130787769845860385800054309309891580448819867480262318865866346965333156852032322975877647009256268303312332230041714566002991135287428086072841518037190660945463697630896523171906384174162350038006275769294723682930170876849691525719887991287393811358827159810313888238208282695847942983657252426544212202609717188982364079619036173759359630182491797988669132066718444622651765865879530596530020734703885027393660276772048278438530656522226286562884775218643149319337989677604715076373808853923976771111064870751712078853807389876887503441490823363981982341137166513000722216315804330282282745839999907229702346073036729101645238567677233580125248153821237559971441089037263975186531079397597250069158810076553820274162606582933567462829774624053660153103559692917175007390176355929549698529773069988895661841181246896285595802271738113951552534508441753560611739982888262627178472697294379406031549063713009888169297516365137041750862690832380023057744271578711093995866167304259713739326506740281392704924391018203936877553060597946512581438109282131305749039378691378282898672088336591636449488561401154324415050263068036054328027677029923767932537758629046125185199453119685719786571320149140053034165516427327574136168631096003108709212990709430808774877113748525897186661249119202429467331070940871581170703169602734361209134038443718556184009048597930080032409089409130815663490565846023456829886000816783273937744934564212758405391418815150908816473702590766272703053423782286736551366888753883934082067831330490654593330189772127648361900903188946514230618926543991552896292356316023808117844583237414402509113873159822686480162425606821371630896348712736023464113206466158057415696296414674662764484313399940340588066236419396558022657775211554182537135847057679073334713905385713231238886963920112273699243629540953586684566491436019143308714692047215888231103464665584689443652641594432413429321917041660039596796238210351442051110608672022358817531350340059630369118622770332559436215203063754201226733246913977557064998773345603695467744462464244434681658411282579035729095694508298272833613899802969215325203920386841593821864582434529204078609112275776740479425570466509217423531648352246786980426349731805841568251149665635462633086705307906941743819964738771321690158247947321396506593627972971610200478657273169105909766211550917481847134156187864606086901953152346174979720681671756971960443966636829577492408595198858901659958504935579936127727456018497242950450936831962494928747731065804763599763940185941569361488472687054097961481671019129961844370348825869115885995120604781110043622433501336624929263911977714343122221587697005742679250372508286603830520528628536499627786680870993266251915118650063719071787689512366631134782558681804068041782778326786151073842202414759622259324494154130290790543149109992430977003759179367052725114689160167943790565785885645567488352496526251192447198896096880190245206719077905613766611805935171871634503658794740380624408544731156983465165714367533232602894926831917913301987057475815408416858018504211029368682120178188740089287204033616551735429948990556174247044250223597166868026565579479536488708257165554763173833936204715514359354163868459283973955237680999107170099174132686421286951244250879154662871087885361208890173579243879222314770206681010200763727219637125364580904443830625132677908463022833829144810156918119009251206807787047873685782500304985646751005470424953588433948159188012741115663425453695307837383668781616036707053761419401801737354209056337374653754907115232940606047647237075891044262363371728319273522926276234133321919602660018691253584512179180718147288894529057367636449142551108671108097770189222951019691480338613806689065361482912146302974854129651714049586010010638177045602758147823348542763388423112278897076684772789241677657144325727619067411932733400703768824711737791070599229815192112490622052284298492816510610230336080576902727190681326382974811447510987237534278117861567492775778516605093297848535102126422250165703358619501607821890072334361857387694545275947120094613907421308232041052305167273116655488701038713174876268365288979982700725677595262792558619673810902723637213362918843799062243362185402766700069196648270154627803061290625085700373175816927301654640888536590410415319951673355764121492981068316372975029992104977300033000505432051772445839546138093141286999486842950504321604418799955066928067701143035179293950022271559452792785708563871045419092676682481568688078117775070173155031355210400426074964173343835804385403262959114415955213463471303760104628978179944193441671217532677567273773432036927671756369761277668565956995752538721870515053982804880814977171841855794527392654628537869276708208084420003169315076619054531684799900400236471002258743791727045541988763054679348358083152033435455645732103854079742837773914734514741399364031139042642925990558369500567528610963814825130666467822211290287035896985356204356249588527354344055119476542613874241813347888094159262532856847260226805863523706702361041907099887687909834987500619805474207220730360793406789467947635429425579030882394234114127372967456876513230734121146788759479914237485874453043239891667268652337191128796225105289785448312643974362805794364078921665689125403434166713667092694150740834741557413976168680226722089084056675694405006576077633904241118458777793107726000842881922933089811863865279223026411659959012237420131205460286549223167173292249874434561018911060636717043712056682878599278314754927256911139456361692135140898624380007014270969775195042546514821133289383010961886904300676404157661281017828798018285261887870703978294604647695193189859813403846062837999395985721940903500270502102414960103548727658716752974880305739357378990829066301103047631484957475750244642831924551156981777131818056613402893090555722334193369315301430428146862798233383115781185636986509416410170680410399160743362973143556096088262226383540075023265053021218150181206881485601314401593669038761180206899563407975897144142276695658581692608004112954246081240754549236451164711778436657109374616055874507325795727972518941132067276526802451003419455974040256762930666628026899263696290509636740049913492641121890930732682228143945480994011768446248909249530236423175823604439862371544992783600534674693299761818050089886608897567031673263251102377113108803547256874059346781924523671520019899066323277985034339668025435454567187427215333803313562585370859643600964572819801117686963135382089810033586542680654371816802497969182638799500564759602232433012063142007962306705850922906335487667459972760682987652279304351286830179266089002161925007967965708767989073524315374525902344766428978130189572285754442383520530300661142547304763156506066204048849880968208914309114880379845078302103742834190512753862907818618587705724883793802256924049154305455169151964878257965817987863654404097288732833855030182289765133893713090433905270933733825977715685909866028105030252479846756084305163610144650665842375713199841274693399631424952555113632294673638618360744343230189180572484842808999842415370171162728299238192696282768356950691460535121811357876407250258771852490409436289125659619450879475217288831604525722645347792100109429427963487648830606360332560449736879520841098649807598932331150397715255138711238747546035498740729443731353948143463203640004022403076610846780305416462601783587357481042059475829876177795347503811224404652793429151977104362384118210160479599365750254529520930420314872836976573860950087971926042679008979085778655834709098620708481252791957535184871195678255187537636702180934772732722985917750622281257759480144556309790786188590554563906153471777416579353258398546861884590854300738878212395233549508671483043807015704871237513773733022938002042112151971027424601165778461587637730100523392148136898390457036664426805824290422204702945348412101081040892645650035783753566277460317089488749215154705653453503254078279993808044647479891245306240293122584544783775819838975432635841799860248825356309965294039672813566953284926220851398179682899694083765536364882707356994086488780448059489749627382564303877941879071476757215466120296027462174196478452544551082013361448898495946968251059433600404342822326379257764935617427296676385841175133949664984905178489089072566092453665110386542350511931707094450203685239519328990582004748880127798939009973731210401552692533733761280790603046993686226076988354372866735171013286112094298183432010569215438026195475951623838345950618872670554393065063368233954453764636397904629593353385942906616783048619976368138102216702535621585296101932719493230235086094392328079786149523877856868902199959361516840516038378966969080285084300554447433847045446587014783989411707482801179782553392925556896137092178842571648036546430076822663943009887439029814974546566871326372143813260237572452023519452918978721424227706276709922570364441421116208120098697589477193895483859673760342211483900600027949550945096470782516550181904485432043337307501176651759013556981075862760484399650066954024837668498397041139305077882763706863398152504647427234482098251454597627914320201218118535815468883240006852231557455205374442728927783352087414812659759136005309796135886511525611896295116340079583607955164191690063420758917622656381368860606404933605778401430815332426881237267917689621074384115904877372560982093816724188684418143221427987317143668004485356708155225423579918020437621297011093786196756063001732848168669705815148702717763424594812176037016420756212258099860531322504602377132949517133184712183573260811162554030229179680893220662070235002916032037571789008973077629012501928082672095517107758385958833715435797933422525381395466412326390456225601114602161951397310155517707447880907652568628624432391166142650588446560677351563796725247477057716308186608275041945384480849044505709629108020278507322770926108264449907641608607873700849719178142546080230382005591199450049928468911417763600610529184255160382179025828975555505173121248267372009273249058567635308936975192652663027585533523916195441808505044174341139872485462847102988558967759940120707582606486018452066549147823288731190538103271492176212312487186426510723084169338473410920247325289210872735902812609761013018990143460606259327553527363351625053056554919395743577829516789959755946799646728055121063280963878619229847359481256628052259760911156626148345387574368042844439276789471499627971021904163939853210896258068251718273172792909508351181425586689168808352488521892593942218616678691482965541326050194404827537980760153671395231723755410954158045983380020201924345828229421648759344170855660468920931691350366070400051378370812325013838775674263432797778998368070004915636479718494469645228645059551461999314485260927186621049787945542189456236801325008688732853265850393150043303923714235256192270555262662467727877240119995849940685438640298843857156836568942712547279262099587810286512985047285196242677594639462987668740814530272490236605566845618439776349023161172310136543136484524543786843163983746484744603802102313277755331828258970949909037631554992931996355530085078364167543580383379853774758036382394760039870035436353885254732239639819000592182420217076553061531999655785443671190407673166342843487860795094752492910601399650623483101401050512758830466015028011893170697721544300328849977700797746983684132745905246249513947122655192140310433124443481767443017482602247143797441199706273591065280692506417483730983538647327968756351720829279387393533072888139759335345695058700348554755576070189017807449941958935072687395204208574389991898037175382640374489220064992092491798795861902147344136357021791476133007648197877191518705183951046239969426012170794651503061355486258388909505737176818540041474323870195473986770995344827133542634099417578112760832476705115633592371887880751221230341505143883666803787429664587445225342689907691174895567800058124258981137354584953253291239413181449415695733737853752599462101743545613542620686714874941179954970651250399985221102346148324624356963773574072954722228880959120114886097438488212044214844392323476439599841766034711730464927272934211350083109582961284100003571712991670910161634146460959548373435662511645640076127928753085024990672564541715946735507745491254574323497139778622261305126832110889126488583164637592999836943978468924688324113141731255023901266520665115514322323847595749407114193416303435296141198673561269557064237701365859862538188407575905982031448904042070237157309511575069613604163285624301370754237606583160235555695121649792073746809390244493643668817775340551875106921320393814698786602838318478873117039655334183244466627972278759847045025673622456073395065708930521146756039490244346933528303522780521559995992025782411854459665458292374542620107635825029284217078170225103437650598436900004616123762763322133435876216086322425316283847574527129193785861945789948867342778402769929262940777572020383768194857829943981537023490313552077442816368001307838000131817850846800063039866614989711068598479028279254112965955996384776802225505649617124670006713688199148520580929319549699825649584424804816183681161543750823461827012266160422498471391260735394844686414229713641230034100487709667536179194635291679766913825531760196302045656001201846297637034539836110307696609603721358768460546140937020694907018942415124074640056727110007904068705032805326768312752891618178985536902224416098742564101039169019686447469062111226554189008257116020909127057146852525617876188199695631306258136475886651097606435832282515945232603113635568101052332238865408859616797780547720733537117920547403267033637063640800812764927808485517390503264601589680506737237875580979748632704702913165869645285359497631073737991661892872455051184713845677848892619677652926536529463034720411092516318364597203465747815555173355152585131073812591480572995143912920361211058950532590982504844332785202560816442660153127715840596379303708103806703595891152009996376587030675823071116726975939570731551261037809826414098554920505173373990722343052837757377556156155199580282150437991280584196114946280276361051653362405896965234265058662759596626612720714181497657645084949808960885820253094832024143684995843628354081794438107150510831443663629620350283971196991461916693485978269002358503382862444197325117304861563297431325448095287566705770548221735854698951757349801610147780738624152334222187909754892695362428604781023333174790123684848061958694659780433716339877400611010782249077474698570095066797795856435531295144863105745554060013119899461748361950762426291485611379776309033110616110847960380404276187636116287816063469243578642438771134881599277723874251735082462618801290924029730999814582555126794084670068935744895486175879678832706515166394428505579358980476617024102238995201626197217570287850859421893382889799763526211302335769840834381967928640786111835479961914699451542125610040088710940914876836286500350132626202016952124344917323734833135984074265012570909741945084393408440448700738972558996662112978394710556041017922537859538184729556627062794775037993921180198189410412498481813776150376318784536891565505994178853270801528672078976176025950851686609660354137051647127159209423759315175855150899648018111347948096477530272927323998800272284318202529494871769727053499351399865123440863201809304676488868538462808134523968489550961620434446951012752802019937888422068046515038742151862885410990047290168574642421708679528689229925641632551369814926250648696243055134346972766592082932154845983360803433776372745469858859737661291104967681569011405513594713334941419092736234341793954754659583732870809648181448680182508846171490967064896491126898376567215452375014368585317490597926538209710797581171605647500305195399183114902402356139310105683139663139105201845019067711783834379721901947047705154436095174674101519148142629032524622044079280117865217736111160561203447840668300472049970626045710355925212098530816483652817685569756421192748423021265986256456275668041707797432209281970941180098179482162880778619567298475869056519238425992305376197347638908610868133891146632906773388883816876263894080006045904175452757515744614999767426698385170578129131793111039098752808143645429589033897571821856741483429278538497300964074492123857824019056335464817299503346495846837302388577334121002018291486165055416712383224701570293753639644240062365936901802054250880627878996837129784624068816714499148592077030676454148084894307795459098955769362291092325430522254430935424311281289946160039467417717282202104593844935100774100425502073708402788599365046491779217801842854493040133360552596233242410632876880127601813878538725258978987881563435171654602328908070219981971814487656770732060096761361596488407870709487090683311903593429008792144309648996730786923023029723711623857475888873179901747520300379614344750416066712152961200179358226233326464855651079647061058239833211305926719187398069775602233984790618791560113098560345210177945760904168096344813637415962504585237311494954536387179208259220538950740688617978961217375932414098154228209813984858448934934772078103229591043847725682337488435215241868620734830158301705109972679692198923340350312358837215071646829722362568214517534136061144784638391495869176709703181654515381013962420401079270263179856696627498997780929461356359125008923392491905867738463208306320426906778137420356290476446181985221036010889695872587875564015909096618364368660594795800040492017874149849824058963852997459587649823478925780619997539001297279706476382092182493341761139067896048493091222558905050868101342408554294379674148730395925445454398723732489154907606477239663315302018386017379335136554778513516380743982857456418830123595812056883279753884626940632273031079767723474963780373513026911987728178117824301472470144103488523562639700771605906876896108621490720714957278647702116363184886142843738729909275883554678256304724171350870997551432064223406390706138384269370820476575527366578046857138430439731294649656052541311839162497671928629496220037099038325801417738872039314083886808056389221029388960410933749681322673912250854701457469611191127424371869143629813537895692359328452224778479669925642720545145242696387156323409251473127992003484787990728272801647556255666159710524541977071560565213873760417809816943163803712327742026935030829327768169238338423485262545083786045040003914560819313881166899198322441456722594350957959038753794455695113520906922038321552994614752322098831808042695433661325996013088299553229389909930665591289061081536747110382612742109967881919231146560707974574237095223084022545806228166977561123970837452221633378299976658440471796708932308944265427389531427108013454271694747011869346947638175129307758962273426434443672413382951093600632329727004232517363519407405932418610556742913435021465508684743402131554902745128133883160659801362141782198505348354443384506050247836383887185226990321072856549987988943510167450149744942415307966221285675391380468651785566791754532685579029577646762607318247160810863236085475309670915478372518734399967173660293963688047087797409028205131110787145318538967800298473576648895805294701048557854571212963262187756457413245021933220659487931376756809327020388059307102021089417767935470169228308008451894031537036374830960356940171702217391784147862598750190532305892571112540372352728976348507853487304663591757821960786247508721077243746563727248554337913062771921638807143292435750817142182049333184096821507460424369181677200375430534731179737156255241855171121255792711539787977543030208619811744316893892725106535499011598374392641924840490629660729379608873472887645973375027880402063679088975808511451042496325990382439411595347667865946093024103245253562944169621317555846986358406831307819555891106733410831553513042771019339453431692742003658635139992823956271814401998809375311007217393514730697585086183440812540189029882408414990431379824054219735705674369434608563281239005548345712390068442679523282872789539650059579697016928994137928302064077862460141312072763262388082096588010224528329978581778551132774998302937468634424899598344520933052023374499373340275105277826771176770357048717930521529955125122060497683495649867598798022833406545912829625228466996004889838272972524715399688601791931793965119773487951292531910200785144068824732508638323645463088369506736646030746800592644736061332461188438773343928150736468065462151545561891832684052319434762082671564026053039935687075874147122915990900892541548493931271221803921786272254889204407748558087902175665878083332466913089118108646688777037834089811745526208120444463409134004237090323404118555593438349010165614761749652923645888633679044405463671359177649691639009538867938310122976585186277008944098511665500241607909350333317920702505816093246095327083370415713095046038317155624973843599547853690814184341972264824598850244524148585827143997589573531118602612767765060173113919345935043771842016394819066501417807232297818578844544634526970440569704628132000902475930261210400106767193574438914767071930744989308763471461553338975464012090749200800741749839321185786223915242024246896734181801813680379538035674177716735608879321055310104188534328705150287811894665761258781209180455353941208657765666252371289557584448028154804904680205043060239883939847631025690340222648808539906603113905684333603138767151844218143292826883113325746051371582967899623199418207711218224364438509976309845337622831258216676306322671468294149774051356908341964602203067196352565853748358907521205856729056121061898811580932007781466910102365526501546417192865769894281718382707889073319598586006671796506797870767809442794051996765380271180179705208602969336912486049932875916297921636572183611139291326057936383821697961186287412148451229446212821278974101452005774363418119671853204318968026780846239642239751964557955713370438872106210078757695724003173116575021706452872692976962537218544913248725255228805910435840396040430449860848267767104213165715799378455406889019150481422920633290552184927912634024996991762262307536887079728296673607848669423132839821306411646141060780158125827408409685416911947767660086592079804009769117681993300333850905608554173305349838096645593734550242271946582194473497759630853603546432711118500420360202429492841184286257748849363922118330025528470662494151847254051896091544299189727947442645615592731122805682325708356341702880709403728670097333426070529355352792295494457337616950456277618458067986804975789885393697772628424287295047822834149188418218405404759154244329390802166072254750815648157765818525102219354682239852984088109877900896867967484782749051734943371805552571061461453803756418903574235991950754348236097878571678902238589067143480345371168598592556207254456805552502227399191086512317254374392040302827489925357673788411639345351120867185192063995361667478694072561936882957470336197392069987332726239744420069601261400084540823420348384409007071768659200758989746386560807200761840336453607129765084323573744548877314230024292384586028321297310711817480214822691168046120551458075296156356720127517196962466955172519937881572043275305539564162521904618923867614111925387962275043869887116521119368275817199498792982708361056422041466604851367689673179117800184697206673070198220922876936960115558485702681975280232573504967960780175067148488151377338773578495150206637480533106475099100118285687944802198586402920237455268123517369202265188047843744940720368651835591200112999906981108008586548133004149055523433750089628365537228480336677469612130386012460891051939382324492837333795162307777979408800963120024969004672514438677726695262879741032241539023753475602064435274037202334823587854628742615590762277251857146095286180357949514775467590641145292295809556016958380013405025000808387929728041795112635130162911479899272888857239757466579145392510830449924737168279487901219880219871082400821921718320710172357928211088630678476268685476698967706757686463170307643747112847316267998796151595006111509706648603027162115286801701973168621970346286122820963744526501246167694547344045603033764872322652930364165864125302338816088803003355488797865982633480544004440556986983706707930374336566919928968166618254423913346389492325673686898567715982211365810023563841567759388633567485070017445356818169036690661402458036218613397264744732583998043506816313163071684250038335519252799424545644984723939672087332966375606108971664370796146954603207774476598592129148138572401528264825330523039600967385888932363526531289131246808488993070230905175709563657199684292433621441768269868763942801214507948222745162221778369263172026377805730545767345807344424755156438365620165549573157755711624529588907239963423188487125791367087840451846559414054578443341413049361645067829502528901468879526177524826110050613665123765325117214535092796753696311279267514943402208273565247971492038317736163058402569807578937864403928690574685916583013387640196363586964594875443605638370409474675920891871352363057717865028208320684829965276490677998738500662799482814421827260843263895666869771556415213593499176040286531640436685316178091114647068215344497390691767891838120400088202038552992808589792207373710417573846333259253370079565839906473971768502140944432763398275280583268296042632758418257157434338604785629819298312037310399930306290042321065435745796626732509595590154587520561756147200099659221063497920247988584977189858912311517659173808686970844942682661412040591875100505636278049587954150591734749779087760743165014634756195653827004132270843474461979609244733942971985868041781018567602010914228688266303076571798658822133547912856417291859695411386137124995648031617451467333749519249499402894969920740198161910634879475283559405532732125926855626774268902508299407024198332210284468334456119647557903027507187887902634584898735989580463959523939237418799933201899037096261116886389371713071622903951104889207482125604562624434024280967964211091319976376126840404682276281423890533920075388800251223969434234174144170564461021274627669574891280580166577385195555794402871709403990561905368461757194426425745162140946238649279073768139121786499443161167055873330380042955472716375695372799635941750370483808752598213799905320933047718767447794826286841656103965757774662493241063669533472863939194544406182696049199665911529742362147381523833313364138620731519577664362952668934704032904345352025775524145663897971798785241193101394046261100758532501338385247176595684156090341997627697413260963044307512420485439245174126851686816347862181780233064974094843676454077198949618859006882100495686184196873931511862744993202851751482458960450613757973577746361579818548097708755600947174537504035050251329938857479609291034504937274364375055968692631606711040531815427952017840263929948046997650673381781390483691491840650274367634464405193402716084753049820609092919499381139868737126528251530428930262581371391690915619463229318913943903344052338244097603194318305003830943366082749014020809221082699679431603016703551300399717296842487193911454948801600882837198691413573879969088190607017986057337920839488553782388767219503160869128507936774191092264754047041829474005398230992006149074596793448908552540505334240080388169170573802149220779011302843138534037613560741040958227503321869742664814867982844809910115159950562115791359199364208799442001430771024112163900051033961983498290066247984525964658018357635030890508248327162624752887455338233963670167061870433252315928598200712811133889745897049099354216858116337537735109291455261944039755594224267405322662764871865225567638501925224356417407231377169192858631783873714224136475272453748742656562972029923544576027066015861113490521034208425241576702377545053290785420522052632785120726645158547063060575935860454840765938447214906094284897986016589619064648361341285006161370756222109322434136630343448783412195723727583146129349078823167644521232534038064813626917643845339320444640129848199034081652890610070579525018628757465267986910721647446475492098914839038020106097483560563609283794257280180016595882531706322322601567249277694035140230670801357534338433996788014686367869860365494716801412693692833803889684816802065298596472068306378406750827354579235359847338346098860240730098687850556461878767936341353728281772549746254789428197918053701777555058470020042126276382062035040657900204710314057397670731791312511978424247360051839504004779877473110850201437169930078223307719789485865744730664196940968361483549285326402017490429798036790892265612030474952631671577154120844517494936237231011956015625266272649488081511396373358408840487023899722736173719410703750233491262450538217600052389790219817952493367440263410121310151681595882519202715487166445014991825460907150198781580839102251605089261383453714492379731974688756194270180668606366124779448143886365970225634622068964054086754930776451262794032084848965035839788392591761377450124316800775602770802581463992732733554779801899465952575343445024774405478878195029895535586538090239216571609439441563465962233789255181123389922075554910432299650141825299376693736308521305011310031052947311804759213810001573618340659027418604521941262835405058670591752783253076934129374258171083092656104312301724819565845821902089949732400593031435641028742629912622900061395034956138313828363227598620208442430197028515872939565373654084935278801023403272454796165419542764624196303629649191268851696320227239674685749063080520579994317616865841632035883797230626203694646983594259810434453931075815047228200184619297746578844009367580766869658533635624127671733088030676987753690652791715200616997692351736816270203200444285255586006374515175323886217789757909511804841598204803452034730724826694333420998386099343444994484795766087091781192512880371114444583683835597043099581910278639126115772054813290299939256025635623125428715900239360701432207588142789052743725811140360339332052336521410114876130993727113371961212162126201385788801340941200812903268172459295343086491623491360851222638273790253826367101097815383350481105707830313217754409241403317702288791748712662529444322729335809664075575701088981887321604830320027422778491125729678111029763643872192601096436459708172872238548451848099576746894601910594768307739593921563658196979475426924898139471467123493970728602766948491548623793071869414979607097035278980416301909666040653801212049927945862442406174049412178775941584426617597097564441160173933273727607136433439648057587746415239022666203418259805950021695734673852814132354288513396336400836328042802832809946614565684689300482139547329444609191611500673531728177144115030600210120922930439649717745858180479035086344459839927469118758098106061268841733863371061398799511281919672639001925429844892741052365886155780929450243112630243520136524933882810972647862161552292928622921626680372151824442008267266113434049870199441151422122613929921611422166462556506629948176503717534794549586785478905036739833885020543317105939355553722075990600423090438087619999337021741549068383744388040891652327405393097560717128928876761844242845188438140362764598022677718385000582690994415951235754748231783656479254390018094289598570848127471704516034394881519466899654448746064198531324805017158165524620291849524656107797704287361877216118065008947976128785019322007661100001245875874118200760074732466605599204172301730965236437995538709326669655454618346461528032518339134571507015235508899668244735302014761722865926734989080558449661351414127669578848051472221591859266354777568639790653002063791214629942385086768698233280685589124159272099575017836648873500355646514580837238586181575197238840086824483521276787735680706203343509208108079532874786433950521685056310254958308032730666012198789346390126832256674164751643554072882000554250112529328685431834577325760280812747824646926373988901608756749607670351250374907279143288366756702061189470526832048509665114407851669007063424358448293530972215734428469651344061208484003142939879423038176878738672902740032670908455967030481053948504763694236384724957261476413504082643371097370245491448428506857243825213194715401029705605949626585373271252665716786790652932600058089707322456055973937523901076980987533183012381969122406155120689181987292016413200771458851760811217046229902619473113381940435080043085982923277239025478695651746843684266657202076839232149616162405007358081560215139385798519938771623661687041785471529285433301688120801612485142992910347066458979037567789420016539064634668233132877314265568836704213155347840059543565131998285500884945080053306926074497440331954979343507192069239204026995940593262742084813177789630773701014050730121777251703393097382663168931384388013362726906479186564177101672253695618969718706257704153466173769962349213700444408354062080918617680619138133619377292340602941521114906772777941575519080011680275449162023718089994174384488934155680766575582879818494994473106153140642213889715298053071156924197198542774566295898859101911709130566924055305706043901947922272207829582199424550132448553921087909543222891585848534932437389144107497758329820185883942311967389487346440791752879304398944431097566433444505865782900819640372295446357626255998864237255950504319985804405819422599751540589983969037360389708641472685707640835009111779856722455696591344197494186162294069216257206944551621489324295270258724416771970511993953297268522398199892065203004248505784665222161942029046791172283417935380588710352696061195688443688139859981968863683852642740679272553184518905262842631265247883522936234573047749623565394398622107586185782724928244105964237634710551211057477587722753079084076669183457504362193849585763180917562942071261314877487682911517489784787036606964037642410229944900999187953899522941606463250890547564841453089723586998288976356370866055923316676041493333642444590764762906052015766463541186199597840602969838583453216693451190284812086859785004169936709923055454544748549083862944477404698483352942524761393709457784995988376955827518277565243567201103066404729623359971964148991305875443283790113022372405535524300169629804177724942646103263078212706951183046124685640734202211567202542561928312765806738646672429609597046951395481025253707609284255357825556502446692622504620842179415096429917168147618609598112588988031271243581091007691499807394196748216709626925571513668297601798472410542925080947548667581826330642192077685307227982393094979251688836401980412301514143422794235906471731410285678805876785402317109367525600145736692468720013661059629816638811718674373299704592572617976507571486677181950904353144514226109157784676069592043266935477774842300912380393803850325738154266225109057955857984772519669217402262190685579634573780391369763217099916998259423680348669776873139399820803232022117229035460726448149733739705140541050299956187047295416702358803619221436522498335742169461250506618856470584535070915203092204040957455489949784605840569604955378501930120274458081243796672993604308083493897209609583989093028628325585428839021973730980614738164125778662909009309022766113985611487921311251512813581945730782845652030170103456280413744962521697082579596641163254132471635372832725042565055290343316816168630539361574683565118089898917435176020863202559841068436075849594026605473811769890499183162653980338196403632489560389053945639729884110205135352656305075255590579504509684411432263229335884674255394117294134025860557079469879204911368218078056790017456834401908898055153073185577958621604481807453837408088536343331383842473077047033209478648983665900739362103815766186076354025146082562818406941276523499958309734651053542341677122094345796324964458157562858685909106121209285229105484841306336967938459481500236088349525225866638787024014269622165645934261399180058883165374106564146930651282503332166631442377873339035800043352561560038088251734463783377492068378006423199003787508487642923513239350189516833100756575445989749184073090727613300551865928389410030924629391734706309616128844869749165746916437121216980206641663170784143117364778792295281901467481084173510839517016689716094364005170323465858442181995473346785590705173930789708425094804945074048410065404112198696205106564257318759441489943463099266767088773799650920176940849280517743369755425204772692972509481686298442943667864999390844799867074256352171981841436963460599773400581756760820995129633521492327634372640240829279965205039458099217206477780651061076180510504022169025209345907442120068569365466169618330623116339210407331464080446029915644361233264489828027491099710218153342036784310281647122329925133599092186380467630221158713940451752187981540293937645973219915183001847385362138100995558884907298430353201066348746246814232047339050017815852168756408520718250809983686678014545758926857182388105424474206946957488654433704044172847850599378130060557163084695707686925051350035831138703096413597344987732545663868911163898329725540093450924064380043217243947068706467110735797469258394469265217814844609872409868776416520243362129368005101402535509634112736696024536847212611771167607597927843112579956263005104641397583244421226726793285218475892492710306921781519136677230405908484828205959401695342885295774790128771543335833875262006747662849059392867499929630140164252322375971774997811718715741257773473399075348922345104154055900083823932752610872283645979839301062346308204894500427665586241290525162738847997169907226947784490055058246881538868371229139396572997238954916942928937787857315365766415435068353209887682191618084252174841155764527194193662009879684856947070837913029922215516675746507711939130394672769922301898268622135771886764391951067242235553890646583325807700838264491713430526405358615073319485909615409900279795992182170504447188976243293220396057565807287609174714232777394655167002904440410732547106144539547445441139846774098885118470823692227176798644110089956344048634800254663262562801968358048744496170850651828604315997655440766073416910745487031798910399085205920328252241378761336441053312904117395516645164393141865446388736261808355233911135282395572945957191116690331555537107502904515411099983434427647595045892524276649308910579108516493469842054261591170277104149685058026878589765885459213419758803722638039670589694769090537659226361408708361894908755107196457085020865419718027997646139297811223171891285473270306869919586953961841412013081597157523437906590428889835559357157368367183111441808805963655368497237464906214606234959470762850381358772666255981018484676903883410262114028345036791667742035669983613522703411546031168454209037451489709041040020996566085326210116018010941161638519471197351224569509805100023963985523393865397221606341983757637329434093965535647859220834202431680851279073722128342001408561958141778996712284812599217944503936678975094336431032597679919527831992877203044659177136047529558684936829704050082239176700826151618435452562875752162598071546180970488974692382950002486415624110674854289412324395616911987904206182985102538144605918496093407696927116443771859203372205172613470914828995600557113540984310774736783159437770497169268644240717012187584138864372792884478191832912873284967529981124014732876728212287663762784582751940725441976550803524378793490432166462771865695930807797105229262175719249623716829228050316607307745738250612999595021272759144878217794201140723485188095436142042027826101036309989086145714213189685244896672674883843294961309415729999366345472944929713552994183179473318945873077201295297805764883019252665496481203969231397004405010795760260931146850445110718082782867253955128776444663899637776815045174665168145071726879741448393175471997255974135261178761236373889810194945631394173758474364774071681493033883558832178855976870267684940431576414226605666727705162804368873199451891325102679291793191741982268529390475429970279659094803360087294610497842651046651465132956484694029178663805241008492267152291885365423882978060787935298714936914994788072572948005428849451936313086860292430398514259832383172274188042487188597535951341261882266442528442016714946978513709954695387739918948034380013644399561730099320317159677922467506821263394945259339617885035039819347456889680634541504179131810189094047423959158967728063527755915124562748474404253272203573751175650782128713531846281819893777259747334160784925521424477791930553835787045651683243607507196910198605539463754657625838438159574136335210492425304119003832569602448107670939470630168871960343674045460679749737878015019966716949608091372162134023046503823881223650790977473562100302747618673505441720403523723195176793821306987160488201239894855470335360608767891103058730643581248423492389468099398182421434596988538191230577550019881750764580847660943950261796979157450253332172583787792062676952296819160435963656495765657921828295228352083947657761203585614772961222074048281488818880998780263641204639167914098792217539472305438407806580608742934933744638735376655197567640389914882234323398381790648520480060079419811898941097685740533439920289496626363847343232472757699468005657812843865757934298368134301855494285329724310451964289650635205786728861158651845439185513056889946777329340070107485323252259896300848282571036017474968648122350615048577480013385712911442683569507277585290442809447183166627218565911939791525245558568815543678932137435821336022319270981533921456199525064784440800859272683833695427271454315598184037360667193111548618432196349071966500412341005705216564744675397465385721914600117978364289730989691572413944558796387641583857664352310551325216167845689974198452923201042722254677869788830711424329436138007421554177050624344023719765611277029995929416732527536244768992033189463723014903405028840406519385202991068070091592344784483661044087133473542479336675080661206192043336766269880967334750782779465042843092093314669317376226264780428095843317731929285395988205302190601614918776683348726369344602105776835559885248067320218734796461953695565502354638211435129611340478147670673409712957633388044009860935694189138974215794476687435825232031811233085290521899405666932170208010856708409282106818074425238876969481464808840595626040193509159138115217389379035235018155324197002438727313569828644271798864280479164619733363296349681223059980872433336655292424486513600678507459952057160742217451608097042002325366048085449578520806127523203610021429946727043604416370150060950339756943716541653151703047740075351620471479096752885241047762550880954986980993976166891021741947844715677307476586035792277055315321402965905335153176088533091076222431351658401571161955313584583043264219828308719841474392693260760274676527208454505685974330776239863793679471452138947864043919412051735658512930423176063498398349625662347857271969572774315678919832676593883210796775671354320824763114063370247196563027089627801812278922633966606285730022996119426043786890385782524882938956289490280058299216246580371088544707058919345273637517209917251948566933255504675825128638224439412700273192470172123217751346599895412823276590969582318783961757379065476299887061216494480451909032087197535595848308419622170066726364736907540468566780024610666379625170420226285474416880661781677418956135333617731194532652058644069293051260462418332361941772340602488582701510419583028090759585977739138931143819658235136552446445128552225355430603970719247843277864147770426601056150151951546331616114901535425353141062046642824076653494666512731734410532051200158815493362292420363064513966168068474038091040773044964514728629213248450678734783543835867928142313321840766628420543786228199316437869398271250739186092360947234814882139966125597365893042180874670155587965554534408021400743389249631028741211152722002648694904364662135736523849795582196167486138829684129066128591623217677418693329822908668382257525151610923623555572971837523766760284775992957243431714855991582266492442559425445146609760126999750852043640536124816041593904062998454402287969544441757195508994945959333843801577142178066064908983341215238210397359610454904661463427467353751862993066043314604052783716314970570021760504451155495373346597531269321549965798187641625279991204956875743319671088595405825368620148866596630546889555976725734758554332825197265091039356064166164197695005842826637882101295706071398592152511240786710929410657624556482124921231624005380355334894740220020274435682444946970608945093905517597668860565288367478493373281712651452288353118745546091651575840461018263552865432035713752391966276085566709232453399412288408105607277372223719272121486584717787423598001488458757151638597432835514045763614149961348138141507601813325370402991584709674241340289670201925038235275330380813687938409921128873260378824641590231164545383061166511752820777146694895307017812038132542435995896150354494592289020076314294777865858557595568297512598640271450580637926139036989378280838295669340375070615997019986710126922993623929377278766852059710069715115622520581593778940226194963549014017964605401136455406393067418424260932987929271835805954834646927129157241740791704352485069270741337681630765285083179652362465502111057065419245533023010880883783438613024044979942121658523545070707063937789109812492373079489661963642075849936148374249966664433022621933577623907060371564814519493657718974126274556025692813592777320572399125347581897816308858567380436800844404120800626865281972956373553217052689308537572291299789445424497294075197322877066247103456486799098952810564053089691297443218451390559143268163841678036507959964786537079836542246201648798729029686716506095009814766909043132844633538444026557989538731986007076606882743148769537816234147489223270603992369037385138729357302843892608016234703894303170216677439487687625228472078336681506346262736423934196229832147767085664828365802541750679137540889281254337376940999200412525933032630576192205295076472665906022387803051383555539733429298681415096480831880844073707156383826992577090689882088264016630453276686559460201826522861850737255589562927352128137367541831339785368979544348400711513583709397955281217706551855584127454455210629609039397337983672634845451527977327556974252264862484599697933408960331804161723834267140153078707767807898584380833398897311289188726269658531074523990360799757827086104889435998997417426678930756825932566153827858785795964283701534756031819061375316030188613396323755320536974136713102169567075267530435313555089170495339890891370069447867872811585623891643924277376103782760720875340086017212787171441208129845122349046118753868529157926601707152645418407611195019301636607323923338425856828740477671662229513606116008630341407573438646143808663843534112166446655571779132680952420830333753554732136840791559416559916963073177883220893764805038880167963935986030603185698799274035631774914605505841124734619928037251941924075101066359989505481169437439634616005457489068637203467850027278652513350266510382487158813807306291486088452937408372008835029271608268074175256771979005609938842854054923790373663695905692325740429992255058363372738972629226187639301238654565090948290740393732954508839860502268690966731777837732364092623490002062966494888776421470707069508568714728822998001665992795975151612081103648865291619958455515008533612821258974466716555905199438570765505423745310581439669418786255469544227308283360408721807573889476316613853263573556402386397229171429008311272351361319646595820637247039339750364678901877845112243756059192334923712845602008289547921297152563302225736509728465927055637011048007389792083774813185995570883431962802683234781648802823399771034302539191192060217216256223541135802892311176933748746688839122319182184261836169244797084019133380346792775700979521516392166469074837799695817176873661723740371589514815756686979633202254235942714928663380370522712119819675577367288304091254460817098178169145839687266023901136920639065191198226419953293137163104654285242803863602941968434431800204047178816659884561973335633142074690621333826106915057288838402568558351740567842643342237291378243729744328383712883943344626398844721124287917544134762858650689786308643523523341901939280227491362831554546088698763158726270040501711018098327260337155191840985299775831920646075766290298355587036456793904951887068192425389822106908196131829605150798889761519974935071034137557220631567207895889689535449056271389705116185829287068913231999895985470236801092706281113443576355957115732740735291371407289522418817686630348007304567172337489751862732076429541709183003552900555419094882592544036957797441483764868182971921810367004782825776500941579929533485206667059243416586088929783465301324835452726237254540226628970321201996158350040500022716589335324007741919730869314270196879993034327135219509547080828114452778545287971129986508833947233626691114877899295852076520826219696823351356882383481801397564721899600063284538850557390800608266440252120896206696171997573523938700594069428605127003172904408662981291383242838095508727403662668190942819588883990266625654999075379759553677909895022568234427835325581743244344276126804952450263185078065790546662920664866234967052427989653266780878741505434648142116068543183207270064152845910263701836379067588349404339425381560364498284606835442284742824375648675269799328054946755492821328304814285640218412511127722720983404037102371938929414043451571943099061299517154811239755265314597484216008482118387797574949962117207874452848399941032447062942636680692239915277099772578275727901136096887926170839272948663390885548982838183813017087400688835896018584165643356728928771890546147331997803216802736545632116219820134400067105019969852559434116831131581507765686683971014727362601533668031587003131436777045728103400793559572282945218091808608472196936387486461855550974535953817396066590142863371663589803392325442425422249046193584018095498668457165315576244192195649210566242695794746564733760987398722500751133681046069872333688302359888108994360789611004617755694008793517746974391765382124221906565902531035118095120134589789329192452450891279956464687364980764537577250735871627825114837805264696476109470906922301135681816183554464861593145119360830634451783280109594463063251335613342191408685545810828666025395649365983984893087762331131676273267148558464450601789073747048148553955769431232635766002221873758251213668552563031395302457281278121210419581836189021426974904077992304829202099257712738046256653139648780891604829147086165784228015102834676451282670555251994135097454076169778083080421108774878661428425202016409124670249327081091651192317472006621092396216759652544042482860772801529203904372354658949550169989018690179750187582140088099501154179461180222060634691167315950135244486509483488664691978778156970017123783617342652609712349867860153386675717574919637056021344617176799677173181806457241316772588063827679414765823864594513679630099743719799714658440171336074953503347168387458960039747095347502663931293595830445385377790788529686271672756760313241660885559254549144275265224481811554134511914124164367681597573886142190140253254998684748961517674651412856166287983815694816990125966023085270233158898658831552377255899453479435510253040339125735747092155510146767438414520991415600131343666618977256037732262246494637066612879972259136133410714165622664559508444009701282388993641194866216424543270445448279519168974419456633069560255475956573974370287417344795747694497154526561696892759334399890505123536074012327465192160098073981105098842207516188196852414581694103450773373202556976877046703649373807681348167611134558073934569394334056379585140767516375975553032578156763536262612418717879022577718232637849760324258735159210947862000411837904038496775835087174203752081824675258710340789659110690802755288605605246002947890822330875457957973789087986485869145072522106949691272330422410391922899074992598437581493022905076717786657576558184906549637419163510383533975066320162115306719859512787265621213144065039340285800137244877442747802330878766513907027669579597034519699884599393991171372152813320047620021685587303209712842748765071389111224258576806756315151336875335958237574991665695254407911821262211562044330516992555074004353839051158289276631032656468283063779592504372855921904002626431151097821239743369095666667008322434649507298911384254855356888112798398784972510972231532399559671155710535803752249497106038449854626192796687142979603219621443487472173560206163562969905728100925479450463639244685367085209250708159421731528138937587033276982698661160810611068152597787752406818039593138219397880983350890276635064316879196682540259440542958828097744767874980811977165677468970658507069967959470885676038934437671338784783919309738891930966989402803414378248303988117968156131819220022008344164707272086739545922052956860798274639057806396164208882522837313601664621799949682941233899129407277140711535747339766634894699651802918028449845368789844516478980505999202553282429755420991422436328405377916288435061964920674457984229720792186381923620707474975791223846704226093143349357437790738769239195959445346482954920400181464445225602924564903528865842087191456149948202067677571582293469691105291452065374088666521650307514953447347009231194801342800408116005709416785924214832280690316173595646905488054550073955261992892726540393587358589173101841943178130038420135798562835237365155357187704496163134949674170659084237007015443870759377305322251091910708308904709618346270196953018236696644912532118584684762621890972633461614520979366642469872642000722731063533028846924967048190238686276548624307651067352997040124880021751968380545660479676922484555365102803625321999247058898535237177409003636020477996938054103838195868081667097443284434718413317151213290443501200000948545751719292170437568633266491796087211607690493971964372403303384015890669144401013561486159825810502846928212839168103594807974292866741174752922294485775222847508758156692940027053036169739762168279485246177335340193243872905944783567461329273129054936571352969444501280937098016490642719344767309117991633098480214200645902105181125474248656540743567794827079839360382083108323896272199083312634318137829370472255284806210063890186236970587240478649544301966766335976428327711679738926000651627119387882192242312428032253103589193697324245752156174959440114416088006450244439474903361494467753810832837583257049886144685294040968670517776073030138794477046373923419141472650849143511504630957178631884091087605929588309972237725523995028006299966254419505309698704150936769431533876629042318442848067146884100016772824946683496872464972362379103626811035639524363583185807701387796392578372462506593767931585185072862552616098750831082040968778348637581259062562140156498368230905017971987100431361652912434446372069563962083570910263452754849276034634817923602081939880856148049277272153229369861283525616342516908041832710512214348377032531109613575068729177416554714021481191991900178492287743400398059839291444523722674119518304023619029300382460663603074777181681487937752944915077417118303639046483579537561537424052302351052824703208165111905658549501995660278325425781824779191292794549735815044219238114192378632761485859709275716574987214163822255636070505049836488545344501887247568325536345992164162347517347121127232108246788965057226542231160754274739655370325240712144534166909862524785669395060093661111771211023072478920076959213455425362032645797256524655009280978823099628851999228447911442583942855262457025209768085394464377464389558893486962793978276515909692339135535203309323240246535393742320765985377871102930659273073161390457287712574519978985497361941629184858893173805198041998243034096722587415579144195690308975110511044541798978251606204573322990674617204347287855689859643035870131634762742895363604720700334899164459591726930807004939934778154732591794465684429404342205082975567321206536104715392593047565991272949835022781113611954709479475520221431141375375520545341766603028651756245524682077204797221547053065074094668974998713974810900293226616352258092121727956573214042457778550579221996760405342462126622485244428704796417932049046397802904864573743415917994324180417718406923131460958594887192679415568174048531794291395275015519871093539935778403524634937176594250147235715998758273836621163039442667836644972203394180063138481865768320049312691055296523333726988253580221281104260019539282820430363001416313719473157898830294117475437134333906415343011372778548407860310841478549596504821586247074607056955966980825088549454186229485480301733485130739700128300662545334281003293242353280000139846323567894252678327178759549489922782683198831136268125759732646034827275082056399754360568137489536838223934585427387515442431813809812845859849225888717872638480772369854514171699633404704353031967303210177644433375776126847687977292147455318279418281295925355801532986136237805521133446010498422037428668946565908216612281412483621151236921444639922875811566340227564003254518749189145515338246248400348175069389865488151646995973290751824082384064120936698913647044886570825505075393562794218253919259808384449727012835043379640022689138204013370678120326146893966470087131902272393698241605539537660920747248112854845323996945559978385361016353772876590003455575573121591598647549323827101436552202083155824523180374630867267893520022111694491135120469867884815048422838058231540823730306814565973940648685722890651141622991715857698631489812882281589189663296306274664355019228441372411687760585518738242378242068573529563723371284998458778720208408258139763258431493868453146745000617916908051584567470768060425753613991892807428634386249894086955110498869883516352128584918520119258183150728950253173609596201007520362301980269677587103526881648750161649445750894222242988733890781862000327770225363481100634763384232036058044522152744987697290047722055248978190840397279857293215420534175722412483002137616078324062760274100216985618057671394070497300405846751685612907721839384367108431229097920589344274724414257617003918874263960559142025663276689786342512976212947432975946570606013070545723414149154659453501840327140689596995102132379737182713374130426318262684007919250221630545611329309933096301465904054257222378171256158713674589537894751549408634606082805479779755583139847044258456663250219139477377199580774795106387270190256332206876713979510870753836281968334272141516449808392750151357798766298747042800319904758354418984265897848263328333915164247943358895997897649878161464020734407603850930555531235199214841228108274744170538604451246610965027153079244197858345920333028176549245403481350318198302410419947388858626581854229246954675348960106471592448795881883803540501220777498221000585310507233385173559150678691226637207199782500639258695272805479599443155344436624764931742490485700269037028104172383234841484550284958134349778764514823941335983186500107013826241599429699631585942078125248439131694607011340121802519686474891475001809042556082435341331861437379625083658937370496804726589439700267676908057778397398742685670180131435021994464983226620516189038640410739132834006619893071131293937443307415995162974493489073213367802896829383125093115103797747206923661495751353815174553319604742558361648785983906366185608838100517517305721926203919498516574946588501680490738198555845371401295787305588176136782955811528858262797590604182876471005563783404368038377449846388506446186454932238643592989365834684422330541011523141016169040528646460159957824901788059716456058500915388753921292606866652567659778284541402476088014050071116813491381249372850683083936794509414540320826876088754058254735242875813965889971029233005961638987847662167362229283469138928874275095124235753962696177602839484167833314097438832604518514519798769198786830418137268920611239132316261015614417271338620734504591165828274650844545436136364963212223192304727792420385060503038132105672990721106672185737475151262888154559285221038707784948574204066415171530435688360308881422496112220200553408523187625329314978513698831381702630115098034347260897608902440037528896185658882886748414816673316419888180678869996130392370715333562468688336024066808707360916814892622496805120133083769440697240593705557386656083050985903465887676891417625008494661497400930340866628728090446545646799373661622496097059231112150309706270529113202635209381624451688305049680689466600209215139919290869266903710646806015289123533189420468418144815802674186493463968899227289927712637001065979116787374253587633549102858694312474483885068279080785678171755905211015937790193392471770002461921215321199169158468305414777619917663454381433001682045162519678853817409920064029465272257196485578812141047334897244583256439568125330868171367492237702243884955180617188704455514117683450972997359379806921416980794317178419833754969236690908524602895274556213728158779141203185881532918079533598853634883526065934285275853416607108791692157745313126578792383768000570897704435297377192935186659582167793841845854560012456936467419462624967941018731372920926821964485455933494373235496163555044275059431490482047064398405308430687988054261513060901678262025824059141408904402048755925987685297828390328277058106693066088772672989738667004174266958720911646409369163090852510627231921527305609777834132422978534752521280463402464499082271711864375499811742999328559448192780009452636001292803450154669276578424217226057040952634951989625018523278218051871312201796461261153821495414860516863805269237512992502034642139386820652130133153866690128754586058668185577824580859054237078148516128052937814636922573613766690926032361916037916357310880669800077641691452253304963012090478546047788951697252262671439509357036115534871813599238910043004866838010805964391646795357418242834300160727577193421369586654379763027150795627358167375696517755123310849876580770086025691917684992601474895816819375047671338707504812376876841123811168265314548259837302952071595251551087285497563290834224591756731070210907882006855273463873583148004862299450390325084887569630122703757614676282880860191289062807639003946855765995064356143553808064552707501318881434950717622186796630696469980150439052007010721902658979378419507728855586304190867054021171691266174760692551955088243425826339450443851052714654493348971929409277679703802930718749291127123853145369741919366859172074908390668391658650107241267604477468746315362296820482235241187226381468875412152351636521007960787436084205727126264452418297193171583953382341287468945205207979765370848691698131359267220495822622271262635392418454549093817363560995253887804676321357461910893958032796033054408966038727092618524598223201705797854397906053641166037661556848370226026227463238615002870773937808881386151528654069293489067878333556381131062757437712982015063504802790388503452986427237891972215864675147865950537029072525156592963021340293719765774185313473144309156694507096777730162788049242849742628811015151621943960786737456070641683910267141446423187127986010514049207022641631125601308040889656259223310832555030351578413219114565492637296367011692974836680492121005961872643101680114613681441950107348302522187792735184655991471203295029997623339170908885478196313676180883916174765583865972100244377375572222205072871807868467518220109276317529115708565645093584732777173439095760258648747723882641545373720081584435426870136573833363692646307302985145949230254590001635311346622226480275227713753276102340829780402397129443163856361122687698855262621839944924196998271894252211953767191120853555810481922104629651694476885158149100170021062328178274343156685354688916907011537065360045618418848538412674965181563508617220226758251888274004308951448610298564216094664321446391806705933743653685105166705296664569909701700461080190629119635338443257996923747575521450693207206945525132810124564478461653855615406282380396004867432778168796829056897728216085083219760412235617993254266095947785588543056432505953303932023710749076510436926008670006284907021543692822995262764451164767357553721053168162087798825282863898912040916031974563438855585582701196359620672129453205140533526214420476459369695222168532819130007096512783527438959719671495956605880671306870377348955219398907607265448075007321355020296707130817217136791620798573713465106217270037567180178683369232917040615700832351409896974580744596337256815629600445108029845877763880874235998940793752081670090083623335789169440204134040675713114552296833347433231001788426356934898960489051657540907238386900726424120433036469890877477640576662931396517576110196129664910198951329155253825043076606366566227761999055946766075729765882025804025307416388022513095262090395384750455163893781379048588634790963088472207202888870770311867760969501804870329890298832466064216283222470952052259561769455346237604218643070062106381105630445852002216199355314408295149514666954975805062830764079624253831471159894349377860346162074904645303150259661561095834980838777007888317598145447648869108222231509824577287164215192981588327297036699301874569364366407765217343548191242228553114352316235202894132588088758487706181200028410744031366459720344271332423097924707835024361515270072169734132981819532456791393530209278648390579709963582572410689873514732754566154758792257257354642261545093996273442620391405320124551520204053449276674626354890633317531549266384050237870564085977158116259573693427101589543074979552452941314938394199273254706601105412808603645424678029397551526977238241112688915855040504163878188135667726365252926481357473825267071757259201789282982681754162014086512678162088487024049283220362361792118381168331332104800033246954336506530084833757323183670783042698155145625384872725113975579448077102306211040440300567770293553858584021095029706409288648978577684416376787446710831614461353551741135078423214827871170849646716928482912145591168217434597078778222002101312007999014240572358815894082301930325733782667804246498546589444487171651780681358505789407730667278183900758169692337812936658783359578643650507445661395603880986528832275408353862317119299808464989666235810637780296080474095792729693475642994726374071690585772005692208388368613402267124518512255996471943905726693063691819074149319014810394489223914194823254992951445317271128462370870890783693128085375285102803148738057627108566148917138817862465411196877868772272062553656644727562498457771371059287640923231652281243213900069563407032879544160249212449007463785369426328999026733251603733396006701285263804641100466442221935581866041260357323752727467635078693852367810340595089039200145620956123933298861398198009967635101128747354803886576335590287710806824328441258674215465979720180102864992452100400634858011534084560550358025900328631082254724005464896535847387321153910671221940525144339442367448567997191129769105025291645031461832155469188861249136388212049136228127394592810194226028099427317341679397390981946120281437958298070531294368981992546277429387884321320265380687079587710926446165080345264662160853975474621719876831084036948588312511855139788681883200280281827254774757575021170494284676604695165254119344222659174252495058025607848341576766957733523169874590220838998556913082418751284888363066453942607828417736934073385315829337397617290784531975572110341370129961246739650459062032007846687727294093840708289623586847350971977629078949262254217079188931734644205938545379761798439952413437545482138712336191494562396345235320339814317101226464765034121342068538264794302271838974301794816937120778395851912700727650982769813465780256720961285868434059349084345555195918819518340990228998821180474784317989847477181487937718550158199688609621296348798118812826029388055244150064980818448831957061495674138387450309654286689540420785103211836677857849504620244089250867166117041781899070545303358192473979797098775736131013007064113067341132457319164769644323190354215587372358129300894188780243206037551968254702153065282028595809603404415489576177847810243608116677195179566219429067193399109569440160997670654185658536121717586697151463596527665534772989030663836921353819827036372318198453829814841497837608467649392872226873556788701872488359830376700795244455140503192709687636527526305909187679861656425937897006997441567530528317215303288291601789722952765343734407855483869169292391249450961766164056803033012815046623785191934515105461343055067999270575422278447407910163706085857914842279388241639255315516347486743358838416872944211495146791254240225274328626101079606774849804429605184630495622746645595673902154995703469032628981841458200513178423478737685036638408035710999827722898878432483727209619866886830905949761560678057697884986367339124793868042559904026402812459251977756932709029652181503271798305042344952833813360606489834314629239204881060479708364786153100063131545396752996724807116543336901999823081671493691655253788003362281248051929811691298687420069343219551120540578458777278987522735052492245956670633847292782792868374938029379086991203625062438167143608612510992408566539528140763566559273979110230096205777160346752025777975916920807317491698576251778345029331262052471312278957236039819811479756649885748990608302722680486205285062107455165536997651002965047802755102889322601424646865343785768473506823368718847215524568022485381792456595165445073893804207915096239311098611108534111617974162916305033327739848442526857995743514869679225505458263595494215034649839634230272381975672797306375535409293376020070341676788327583189008889558454806418475607035016415204774792258929763978313411552356547133512853789510591144004843875847379022477200782578377692563083968134470052160982155848761058135135888091934926115739416431961261379614861340312758879273787483838075606017025964344729450191975762035261130216463630700405768840944874439569101786860434026160311890033469708965694897441949066950717012646573774224622302351471057093440937690335036229256075755052791388881108051562861260133356204547892634280071947883827507605136416814262259788557450853368537672202572214904271324997126613523613289340182735439819607926808557349733813238021887226610163257114627303291336916615440575618152941827654440444678329606981063806718024164797563536922219078086391703952630568051683390518226579832562305292231414434520119433709020069151922552633352036379390731975546667913298441703912213563634632882263639715794732838258825254818226656978751626227698320861083346306580432005654991060498604515339815188759308901144905031666645062914468571065473077639742202389757887758664638967533890628919578139500120357373093324043371397522356776324199219701577965167910052598815737988460232681804219160422762784302257072897448430587200903823604218036574009716336624968307667159663844713109081894979417415027010404738233719874160235516399212250002138611674406826412096523757825360039054676392729485353664278797215894766550841420004158494977273916308011475267481612684316479574576018443116390127931119697567216183594807959355257681212822272833846486629164217804875540003405744510145982935411867806147421056467540817573223717724057375074559979140567711849495104927961475445965407042849881604777902027576468704940851440791560678000829581701775516940627512919388264600699479151028979258895763026376336419669446228370996918323660402268169424925313186872267731321723400985120234198007987885289325287207288278770414483850470687146193243517644775848923428133846471923693742234538093933270150550700973937590278884993725893360481731449473999791535512444745370281221944295607787166416575059774260487565399138750896245908379604321584027687157769404779511518602223309241219666986533432679738531730594111081372172628583638305290575519849630354500390774383670248409409610774441179240900804362190413530594003704105791666163091677435860817390744158676449686414863071631324902288319939528959280073564340032765358373713422496276217130556757135449092378793226930928085548820969172377948192494835099895282287671542821529794536904902052588619420987723127292313283467867252633550831153588728565445752985012523934864144867532953624262035874933208101944014991309397901585307940194703349697706007275166350435621307219491926965376755092592169473239932014325761850699812848490459237725193805722002556812014522202359087987376796851063875550492566859821135489004898414545513148175408324420257692511989906342881831503249703140933706113849028875706953840684112535951380991588316499954444926073980834979301448683021082474666235399165344978015438820597062136874573193599086153158783321296923988119159468028296367169863195765044174741732729387822515355633523084359661120781239846091338899976520265770512742474906501804797217400803288904673913691478956950165756097989192100818803235323265490476345625113230284242989066994653253229355745652609557711329276626418446012118098486524930398740419451295137773571714169515423541538387737083079015906844509579197802230996048798267673499173158159179282237845564103879752305151877958967022127361091286428698402712931809328530864667171470998128885721002009091701392364676395667520234410398083366577658216823073716351682835930801248199683485568292810634383847003323136175913747580533243572398025875524107759339257077177093051432164945293261204444527442802429490319616596297796286164443235798776452044538684526578849094816309420996410030991677623032197654309792817938071274058710752700631377475227448049861379440115224327780554768824129616409739921663340351644740561215089132239062272413206583421378546062432679841703647548069315255339147064988817959315503725362557003718518926597686999240821566513883224024559643367801856097058028374119325849223886504078293459606648539542114855244883511988805290105034884923323846584304473817792408831132080967337589542893923957303169326930936144038428613499797170971996585008799102002463789507158548759172551843888249325940622515449782337793393255003601918009051438407602868503391817184293743196530258072195657623588728051228842745104129222333529361890217987899830367833988968962012836198926353791368317509617564556049596118468336243817694765719913421962032269976103848541113449213521751186802401491666663346390151936644992451993882624297019424959979646668977203352747931264374263382765431473530716294206052682517816499897738826127120932345195719474683578497766035456184853464122844272910234705674146061565795766941139750989522145234819925189354012588705736285011808848335632766670222261342281443441326730815764063910795475067255402131051006908259826609012902262140749946288305240041364710627992526418741987741250168774775536933239868477707514709928539442721786407819479019571437030989083310147105333894298753817922636878305089057897082268599568627292920577399318156386904535684787824460147060964514603897254722706997759940251764281148401785542684858925265210121477868523481296273443511146715934867579501082772638268137655005992370767691360111939654626033135556093944741857099760836108522891305162005286295434171041228499914930925513769780784832908528139638068320255554514440382551460725503359108014401963128350305713150075850118555798634058314612191271889798539261290613942531894740071325261814628309544623967972207288810975439480787434676645342928981837069513620451281298033681942974767885752560815210889359481439128259691289979973429812645601116055191770324973324483590825270591465065567617565177656807446165230100135093127933315557756697110012806719777480448716168943698547765422661606562495490346170117705972637625294922343845635941732720470031115657922079701845211299091388921915677440008971665716967124050810333323092379029201524507416017525711348236735132161564904192220095330904742390538998607041666022546465202216321074942964062936605265172309303583599499301682893940987083167626835256788201786066944223747745180258409633704767775523350413975877908208356647647020472599505883501528315820376265379957346136944623050706601826788367629089457886586430629495849018322564839256082571979220339886529669848858143330957444067493524938522346315484564776796065988421470658395853826516327621260035975760306424060800982302295515287809620872687144107904365754502132759131781646370202369401431512575225500233799805453708617773120001876814769662296532105540533644490264647651407460308445835476249522990719109483970477520360070553361744054821613349218415162668852918864454855113110714251463147231116208590041401293541010207638902982940922669812064857821162099967280123605437788917161934288841962897424163095453966187041214009996604694050438408470492304133607860107518307295663702192697286890784117157498687511521244844083289258808064628494345961493675403237337510451154603175623601794910351886464352973590107108680556098424034696288042231016037349849164667359533126305370177145743927171626412474738746855303160037023984885485838314003162762925466925475586112670674694499273892565638788023705710090106183845411721230099297694753633209174871520345124954561072989963440737326022130486510456200960510797385532686525314849606741471091384103775550799335167130555733044925417416959091347495602701409807445555112715432342049042735162886769095713343328906380871518928241763734370080651810325437763801582464215651946648906555597539575634543562831891167697924733802024389768839251624817581662263669892238405434413201229312193356968596286416757404173132880447216538962902253663130356926170134506397648053389457560548801836061166504804368866760598350170519568982045622214741156119636056195356170237640324090572875667650041307001926189935978983540848305442758256354265270808852675567115102694122182527850086877083370255147872649288182983236584327159883620018819328895382259462377365375167389273379520261876474934825095233034049602514583022301479683402383004995194607677880448854765016970067306132129239416816854883408263218027718034258769679104510507858974566728867908250954508482427308221044557453409889235599573473824172886532868417898909550036767943445544104003730329777649169817036659858019299518660269047432670755654861698634505079658576189349449514851247036166031775240714088091164300277371550063619303503400545752128652221723200887149127099871375556952590648681069304936161682077249500616891952775191911657144436019997084311848057963625318663631995680123807350436742620223390649338295249205296763126340109420279805347884549406356343769833143270991173849208386675257143886642869778544585537647586770765483510183097572466990341528591958887897284218560777255577015231682018680178795641397590852511089559408084209546789342647257387569102945607050951348531240560250268127766021263978016184473048407521975816126869959201550990698092501626987751434485737951510854245599512642408121054809480792513851449836835479176060148103430213648351199791291592018229940586182819470316045629552592624000807620012658099045934258115493518476233509348305491153626200378111397042691638598366178532911413746199160954195499037461655940931095015351801661412184138708520054023199255422242488810043740528178031194555988591639889785048398023171473765530022852275085292274158263371485576646274767962286715952985972194542934851650440292387100745487392595948846405036724720572829390711576638290913294711260134689646722740723416443276451150847188911614872393239501547435697635247071989299475724209603626721524402273893489162318187551282035472708535115991256501387755133674771628338553368317388882653039235798648790025137380719402892154134359443876765105235846849865263723196109629543596379294190433951687616915400552676773687744954838841430697427245060396944300406532062546870473509251370650931777906708653857252900997415333320311894972667381295759633022636151141313898706303602098876742930000450282983894765198590114984637389460463093258796831275440080759999952735558331736010878143395579359500156108535689942792362804765555942059640992879204761472191497336023036101306625064158236654598312325329623145633123470320176701652016203073647360214224586245313210595547391613561576870400405661058749953890157336048069156217032406687098728806201064245926792185372516023499311102958541230811314353772923621149857410946210768989307248734201765371884126201777494677774262438179228698697614145859936235764954756349818619666577552955672918290376648725787861891929037174833933753201158580432582360297559189695588928468046374827980691365760672743736200022338597547909096307083384909954809045565499133679414657653952389135033752775087321963247330537031364658688714435368817943300554159243588699323530861059297830753958451152814773941648745699316454523168916465068412905076195454490117594953517108200137153575639409182619744657173441070147130251326968024042072353238721987881265883473161788125858607242022045297396762598557517474798889090990664485968244839433423548905896505234605838725525213685122644872656576959112406981404193783049420332916350919073245965930670299649730406175504770136042325925952826140359588348808430258106891294860869202039561982253946412892206635299065304211060338772853794277810734421560753133331218039494899253757786689354930299748383736753486992184053666735794329411565149183911238931074193145538735293742355112978745934519436602593601393846854107915332793650742922561429244852225565737274092118050065685621047017207019014032651234266681591209454120315542484654677937344752439820109754036716022793204127510991147902501245764664186770553387889852606371067731894538459901760849257456901629577796671527025865170371098338584347675726312311090865046385849776811390504149079245461540281378605118029382970478875717588568557945165265878950795219812781284348020719227078809156641733137298706591264123119963083367697736935823882746556056404412478725556532793051824514396066109119237252419534354797711408192126557002512452986364978662787936163129546425460414171706232715137020017083271118412526542251048424051142241906863720375723068259400376810564689167179645013862324196550003173533559117912470868501505994036645230326164680941290576396100076372661939219885617701433421353467375019492901291492045823495860410669654620524147405498779200441924880225175260064072726656071146965116694209633813704279801504971543279507211174978914904274708534510270777997793843573980597274427437511795745366603483667517098103933205209904244886002646358351586191143135328626774239354695494088590435772100064210997244411451426698999736776423152259689393428193528353075355622399895463957643773338948300139137238787905160416317914607046847191047649810228079070805595125589575952980372641142927056211141889489452898993971464486564829376619620905560142463507979800772835012154184107944762008546696462171530145701571750562027752891945786245246127576943977594727114130368902774813630034568975304632424362046872909320386886096755778613963970729624197828568344205599153872962840107398480036482882354264213824548654550033165930744206606490868826443450818378730179733875763532608333437612547379120699539682928190953381477516679355090310497983780163627404142356454554706636018057259265138328813868272497525216644408371862110426222417432417460348863605087454979405981453266352890127510666743007020988705833110467975604985989284266990590784244415279700358389473243956338310189343401126497474659645925004668349886424245272884680877171717335468207765487695739723933654054916695427007283936905072920298343919970736357183162970536197623925681560534822349754424730783828156908643568848824329495751697674502426288976295104948114300492525360835980691688621225364405522242744375345471788858063910914780389869217811225862819601776504129790033509512328453034988368870820025584176457066799239646816747040449868502481494289675957451933882201027710404240982922586896994646090634426010888191267168066599038074059321526620296388562175912073674792738958143978371127059250084442000981521371281680318315920191849035533132976411970052124069441803846067042320063446115688963028939243037713871205200461395590230934045508057741024670117097257767464851745411020297910355029926588531851380830812252573185088358712325128853710818572374622223439775812410433083010174416193426471003328155737457914203734720804871070267465260121604153033961717119433701322952545562045177079962442105844319126672783042829001938282967948623301347737621652478438515559760285644996067130159996683318904026330915357873175101000613061270438954994315398994267028129765907630020343137346018328499862494472664444199171448480297374997209146690904110705639136649043783235803869787230243858121528070311307315961881408085683739190474961690334147755890638649849602552618676543380382019260252138059646735976912582629241448202862800456880340632310445808202875996781605544234559101115212232446296668449523566115660952761784987108857641782961777813088105679685641770340434093075035054909096513618927532197187655516679987315136526119314047879883686894365386169256775650998284663751616255075812379259100167445754686220892668991416416253397946604272661451180085017410981138792212732571947086779499672113604437310455775462994217122500140299349564868935624111469264828034238417096496855488557314321709647256637830095851996624684142394838749589363748066631206518076483148963261565491558427044753740757945303704508657216214135393601026673583934263879926103030908341729674205328025284840901297528175632838891025933709786919978735746117894710415793948655839846640305201908821141934018892631894778189151029235416320928673296857199580441894361852650189621132526676357722845643031131440219671011450975939564624678228152184339618117761210391808066264510852435394915755565872838982483687938620208453535922788280316954876871413942481439153832089334397015829313771758602039557601472921561442565867303830151477968525664032767374225784897094761324574971927518007280479340551247955852601596025104762682849083303537105754673700135356184946214934973633498546921721562543050437998726473393933995619621331442540316500387864866541126001244983024410146465448624903454774658877921379331383806163948432419517002322949377109246074730154845761078997415459557780495077407376102067734833110681527851044237881707736517966925399400496503398120856746087278983341677453953247520620453389447403114993125315645363922922227311770322287685639941708007983662106200041381253910008814960882194341081967467173120513873591123432627745778352112851010206742899747716711968848886071096755332847073533792460654908590066265804159414317430429020132387738186350113999665013630964540995088336917676301864964250547457825916247515807977689235284493719437150438988609388644792660623525913871430948827544449955050573958382335304372047168152006507231514476648987992495607200660304629218562821966825303409718622458940383105679731195707273710658776964172834714468265749791845900156081182510717877124849807117413963469128272985043031856880750385706429941462686838989043519406781533826827365190630701675131937965026552124399189852964046564546845197483071274852182558153993292827324834969969793072177819447801914459668252296744492963864868136244437447129552200363565110906469653259619051686302979141889214179095893337100853941567457965871819677489370494003378456355441225606083270615374645054847737449254220209929644344605657583599548060020425267665840663489917161334913296397769874840912940894145729588449972659291452888684277988747670572854801043553210921472503927176831934822258819531204440741400416091164136325505553394973696362335827324909243428625228247994524974077063499859743729444062654750128848086299405150096419905355076365273862875953222071361053091092262819340730804078303226470116319947547672555395708326918012102509404899252179097267541622425141584147672790235385798817673334758803625753931589507820980419863673054853673191941253367953537072387390427670983713347539521223638976894735167196930337937295172635735085303070540346006878967645897935274354010826062243233951456757447203974820849282527408089009489429846520791844296425626578253568413258308686302906550248219072016242756358003520957342071876271700063179850813128842796971400110878848776544662039094526251218430613564482693145336143789844040687301428185365190067135256211021270956645529904366011533238957760711731164047193351322517856490603621736084020826047045986330721896396156242520912070821622606193529843812936420477440109161852175686524523635531909091018393274666211782993725789120933184450628082571063055861554939774192896074893274432959130536036625579016172300465091841886296318140772410523807510995963612460523232210827672985439337265669517851223444697915383787379295134415543552590790237275832051927766590258613690922559178973908539337208998952222204723484056960935181364700762266660336685686256920023358149003963775186666551583928675109276639549787510833033623900368031398396011328085373690077787257923732211994385860199606917857978749614045284921441753376381039711872089267648349612529183789486152673084121972332807742282141085782265882703973052905637971475423639660007325297157849426317767568144244680121024110450534922913659290042221884578401685794809612724605422414810256900893417463728300030987668737214656061870743097388357626549626866614003550027188817404717621876413161613089391116499009462330875070023631726327438989989910001902522578032477685325013906528637372707863862184203777602390386651648147879189908148935832094896583581186794105938534991417312570932251077609931718847761739388256348898394957631243695067449290069457097923484068231317086597758617268453079711616335094196986533406922207478690120356464647309789556289034998889396964891410245740064757360077232252006381613382425539413347595973863586797200828258889401207498499007904520397975612509485472180523906092777186630295780604939100156095781910288650470082745995914180934465346569874990374427041223844617985831534952843920345380132009796382086381299263264455207080331985684056205251596655390171515682137073831208370890057913188172885231722878082544851223552245305940331263046991878292114682301033836420925229516106106429394831173401554260966418439726699680753511503546063519707196370774153917012155709759846551600634947495229538199704627842193383742659975442622052206572412524229000274960799821207413020638306833062049816217765917081903019883542176626173860851238855020112381482332315635457726862299790740605422242981455745136844883545534466701729314291377783858744697634050354876318311384157056468873875870799830088651014828271728669059896828533769084469841013057982878545803253857641845462845221316201722648973215788575399240435317044215786342997108554585449304333434100127201417265561973286705364481923391381900147626254466677287349383406068051786058809097674944917580150949032969306855254243002884316656142881761384545643347259675898527592420574524122166101772611982951132237184023740356751106474831708867851922460340966835367500793760877369420018327418515975342102485106276876498103727666641738156213840753625769600092162418613493109955111632984594913649480323043198380543427156503855646719367456023762226849780136232979035841768868628445933826434635249973381611006268609261430788770847655824392378434368503112052375841880720170156599341213989866094880654325953207840331502820564363588349702550814556797269938111556173856462567370323339048401314536726814971814138866252914099070369791466114347877080147737286231838208402866772096226454251509341130007313160755894446378769906854010426552150857884236498683030823446023985239549562830804657458720556655135601569162945885731513204797178955362380809022720878028582744499635470981580370172142285459364670969794427982808072597990325199189035520062886798006232917863450449284877446915653658990398913667635426366732942968421628152865995649168139480304350653048830852378978276710271984932855970585288971897911356296750920824421252970234322743869291206011084994287211192433797065313186317709089400039685143116165041964981247198255325141580250623961872910977196120095343490095861360063008696508692153796515804270856726232468798709514065007798283815959655906806738504937786702182366024067689491017158149270365939219066354612394208208550169598512156589914408900647664917894523210843691705236075364217567987631290157931804024100081738254359325595644069539890023222504960538900498946854093181307269992964867015563243595348435504063712530509723937731875786920407680744502634593843889598793733347462989078585048478857195931269038075956929517537353739894207022403098196656335596409260241549131837931717939511828517825572670134048802392165159328634619728425843179576792655471604540758554530940137219261563051892210051621222895208144482262188744978918327846474208228202415369406535009695637856857180178280094292287985608465038393306592342679401553814107883364143466707325420537344640768383333092987811484390547760510782881115573010509249279129056905329120014327886705995381296361199676591809481691687768509955697967924434524854518107020080370963350403318001389586078059145446829267994610024748733094945744559520739242366611903263241330253278747714781344336920188647983089554601398731669655267628876896062971013037174419600126678830739422845666595988587559192067484267534939482898363061282629554542438413667868034912376654102407394439801162009022299330745431512665849375510029547965601434551551472103278515992922913450246415530168946837591498390083575798693716283652680700066235432116049005405873213739796084847009216790191398661502225713936911741405926926041979646451723238186168102452439339849951502389776730872770139513099101491168315005520240131898939305369376095395537590341809277041491502289062742246175050554707195097091811031533189991341008319708963627400965654929315924225550012489341886428438907462155141483246872199049170421475553474436409253132836231675279670971547747713526117973850365057763151856252589200044268058720177729761189482246353426498324351274364184554865080402587748965453146380784741944972482982892517842056705005341804475047533162955554874096885612209525848971374817632365044325907427998176579606575168410207368438887097446544356625672730850181135339483286295256379805174232798058625537044150961831537204371146372159421606573538688426247174802724579516726492089650061995053238280636076642503716899441982613929757393122706030503049035467573735292002731490830988870242905665626154132242410829466760648424779014113244694627398087782458016896609014167547899876244104511462866803545319771746216696417114292577403214563248750306160147585189240128411262694765655011407098594619984937167782758175348689814736496394843205273573046043332218029279800064841103178361247807843715044268300211765454631999806839558376549328557589051009390616599772851532730496641742249427660845132144808291804288097779107132357932199965620501446057974417298243329236619870487703549396709111515047841947564248191242424524692776712435777654943161051609016679139217113088267203957922730099366728852007327500042833462124855900740644071907441387038820017981514264641548103431127476724335240865997682628218726147967532169572942627663843260968158257214958513711201252816895900240531128849467494036458918469744276598834725589922032325071688892752680988943035684155028440289722377317512046418169413401754981744044676786674473011176519841248852942911312539501355898086797749384616290411916844061299529059442649282455178401614484194973976178707423009934644811813599925245467470214528814563192416160549227367553713764957740333888489921861147163629114566336549956071611949558062664058067379776483674566885460676796799204309336045579058573046908384486795926227655617236723312742161492974904247020779446498291701391913362801577667701644236568480502461282013933993737321037360272799186771118610214860636148675466055167821154590270414775109956118241976982938636814477675214608644514342852697937833946143560687199046955910405076635846638615196393650340648247554162636789270698971806561479698941256483310817597269889356541240174457181929978928550435837825014529793612539249644221036626059324949260802073196954760027759899573854069967754592028059457990556126928724664705961871871414379640592961887841642653834919911625234274665696690897111369984548521577778546398610639793070506781976373996224434037787244807510535731745736430161523382228415425829866870393787765828469368253381073614624903091813501648453196722813710213826651274524577333837991926540303798335910733799624707404143048498090107930208268645336203461672829884875641189049895438643332947303542853389202910568828068779863750055787163308829382468966485861073760986125319472691511946489414636066871029880450181443026435706051229120445152879198314224104510802420669689910607663108698970757930943719199533633543738184489225067206540984765218498175971630842729925054114132900078551430281751059999582415329598861079847065744084974853110012651984077043313493976258331004713951489959446826556077693033032109529817397653172760699840915465516659879901774647505821850985215220042955891123341166160898513519528345833331911897330231656211731535869462601411485330894895276517204631528717246645790514623439367502956443927182065696973396303617858901298834557624337243801620125816665876336970638891263195969944073585328624052654435808381592882541590721520045669297543878539211559163692270946502716325863867363975515765744133351967252174106392015003086707819823984930211117927094660463539551927230377083340640533137162524124859839664490483962602630597866618917264190447850292426282556068315192159444389718205506495784300357947412854202850172406038763779758329793204600681410029168011931496803745952000416962067348594904409295339466387637974362531647920698153328284235073748878075929609391067918863738896011430299020987520013730313888718315368440420737184625414314858007664625451343535605811116364224194837109747544669744901010778237491376838747669288158809633839016477609156031400882148712729582061927872662933463409467656959078544490745445644164530541457007932274356085628924172096875935014316165854495941581778478585774583817903719600947570413493803706539397574544886605428668664631384025765365731096254378143836472628014615535304494704585945557481463255276048236877303668069642056901879968543422299403969462153230360287529202791607784492450770560790865714324409437531109413939863149718857091308315410658380477035582476798073033466121566368851519326524633118044848495967408075230962692029490049432826819335568483710004785369594124351050688437648243519860254080719462553632382537983248960173336517515449090652047102512064369082191469691077694771453344666551135656237961114231111215392073312222191042033924764937908452791980936710257362646254029761556408530720463338635671153558138798677741736043037430981989074182723267487913728675968394058160152841687173708312069011779815606172117272518541012548108515540469178636963107605453934460330728583699567525446292952217595199488510633501620255698499854390614204394663045889929660174974949263271971437045632527443472078472498039820642181531420715816290261292743439455275411142704973109720963083517215078664635476301706204624678684898473399794102164639958680172979235150638954103924221911767285201840614177766209369526927668350870683604265962363432370409598084191736355743096280486792488345786980134695053918065363265204365721821725160469051075397218951832266857852628180774634081009195752849101176163448256245072848954930348878807051644145842695105743392211178668344143035507882048362356978398639408644120880514150353429367909410082279375613940682834618789264508838654292146723828674575909514212950448568548279967893178907903430875664240886734212131591901253976400862443090979769490220212855731698544271485416866170830482411002958484865103812093707103503932868574209051376304858965801664188772244540165762177478710119379322098746422632589852193265469685756987189529019313024608586358171082138366418309667166907096965203413247652123608118340258349439971859396005544541617423590195160429798531798266750150068827183086956205972766536420223851086063485547194962595994046335310922926370780865420631719591181854218175353051190510038386613260490434008668989369943412771973244598932134955047259794647669908335928832510632288517848966735369279426489824056327624933516636935097054629553843236611744152479549428345109839566668452529022006871379701523821718864532552636220044550029697702702285931347809089417902342083069581699456733733889288084393990825885969980577878382683487633141005725724798655538602052557158870864255774318438949999590627114444522637841999224846520848613741014558814893839451613804769649885372585856587539957670687158623089292983371718030613081150764871689473166328874391927639602854132276344982386249121730264154102674672255712672648017393052818614900252573618814504919271580342859808344241794304528939979058075393745099320801072554864540622546406230516482793526128346363254619207182731225944059955274886085187427957812516567634481117074739419059599227025533994383952522877438614920597138950169122080545007189182087910486164663198858933661417848744803643656321962612867436202356492776783897909694900803563982842597506546236922300374162138360011850040049922628152519746604919337628666008380760083070536415241092419099533850254526621076334191207694716292272542173059277916517272654994459461040915368238263972581339516251332210657406940973815090051955541696896170247466882903320533504546642942381857651310446784494667021362779329167392041848482471471284830375881560451117422153122279685829028703852413961325584187530710805777288351633003546709345009346611067514008404845478725209863305594286260401876655039872852108193960858789868059769695919644051771149313829339183738571860224215441415807238359047083712108578848756607402208330370089775139514150714946009366691336834755187730411127516286389908649510387783080378818950591133916718201519129487664226454048667057561679904688899088320862763069850147730534479110480700771568798165237028370734616113979048251692433019072580108417000521245798662229755836113057947273566497502716184417008455727027359965919816830267978082791243734608141441457948880837326745583905932084558500146558095298512620598288233513963023131839655112353831086098573499127092580700593851239352901656278105247511119237872663977116787018741336571111199238419373122334122317637127293348762563552726091231307871032592054428231077050579866147260287653268244145365488098691015252955244870199232885882661676401128693478151061664464093401837071828538031989538137421605612205866179327068640822087422436813272258259646550394126581654578547226771791153517566937396085285121401654499917124474433650194409461650358554162457115340686772193512908648306113760425740500837991362522760508287758360788272709195796358349673157874620152338365617146973995967072460402398600254972747167336954647324866237860537222573594464741649115649782685541922986987100610882890333302731368251168063235245813454605839766211284076688581547087487809225710163437700504981031539291756864552598626667572933939136186098105757052290349966004343119705369629509868863830238194700211352007756009588294447235450699058779413451913292029498841225023864977681644695204281086922202619244276281698841229377335079257372764708296987374882260778956384193000555495416614930622148386445639679744865283349040172568282034745212686159232797763253139376095812576383923186535982559110113369116413823790845086838165822388005462773659656987045685150274482758844362015212930470125129396567332687323345501679280369988607312038141355817856226780610455117640181149818205353574943069110390166674005399770062263707182827585969370964170498801252984627898542384873176605829305268952329220903090524906560370107998349691320084305962123883399699035754075348913267699514343775112146606727357255924851018471996543272969071179277306459530149890589918879096797455755124729853385174224490303195305863247412855717694054286958097211266017758205449040988258088865984949184538541350421654440455275541812640628100761387479924362958786808824688826831451629529306822732304366523213357206755271875559524086347968995601222584494939490300534227754629156397009995429868113829823555783439270314717422786797178538231