[155378336187386520098744020936805990418834098739951724566174164819267300023492131875836777453140311568254045908433062453666917505382166055985282719933770491779925908036533116144813969518320431182352467259738454710418034121256201921887935123453128528350383822585909938335008409593009812369043575718059118522733576159580784235640983197137557913057961794219396209278558961331415837444861145181839901657771718339973422463547747237488255683360505395625898991351641209984527218777357882716721099529650381109126832540262895490119484697002889213585259558024117329755565841843101722548976582710717704478819045893677544826442613921358268108109459603548273543681490122199918711940458153457835680266579959885887842651097360472360417437741504328431922059117653677411059554103013368316189675216995832658935997412228546439875477519646495685980079796656649016396002569999928685829353972477674908707973929124044511047857627986274950987788635710748069915606681703476272753413699025858614406309322784062591352152143876397761836853921078607228152482993165482841622365264817961732162365890485549515292511678429733706003040510596317022550982678376517893415756993253085653114182472019616965599648332325824977114272399402912930007986954324902038429668932064059539020296460603005676662493653070576975789370877806872682430131194736363600851445018879684796627185479079459142445924604074447191710276479388810029977187677718545590181199692519952510744116615340328153182714906675990610460298856844889812885497101757284459392160836264553299759587377868421161366297061711006809066249397595560453482426013959440704095295884827297544811856283654508302535853495775609690083734091190509605297454027902551732990142111204873683022832491486460363855298112927391976998123701267042501990781788402404734014348248787719859816804896191735271485112382884030869792867915881692865573651295471506159608371405232028374715674659330858356078477523596729448022102669343102774137508011257254021421280431791926873177842861259577333010980437007967706293102025632563184840102967078452957163627394284825239164915089508097816168025198568834887740893728520335443096175697888838863211825329936312760895077708156330290653419085089521897589892924319176934560242090411901221414685626864994479978922288903697811529689823169062501596398611640145486290301948792852349541552512863738143191174683876859749844091270900169747797957129749185333781302687450948197658441807656632131338282838037817385729042604464497724551488068140281386093941997726367220640797672616161428588341556806319129603501309202565416300540103274091687958884659504804651699136178019458217813265686385381828342910180727113019722691912284837872636915055920035752311414999751243361251295652535486524185342694762848048741835950772634308235600987596676733506359923307778777389943947581848778937159326659878237385233401598874398288067562503509411186904847790185268253841607963213173677802557701164707075758823820282771522477149563302395209612947267335703145385537978440479605742795961857515758087727553915343228897344508627026355175828343409458566015619718022349460612417499541752985423742949602724841631873309301038217771218456054949680645071498180351675784650021904990587421912760710783021205759891229001975661306014817283942135987779454471581292233654297062604403548324838418733052065234141507182170488021433977885862164359927806825295011282190163247427946848954347629363234282945647451183898387664316480571322353315411989333060699243768539067472106602763670083059742009974988828518140942386133067448280537405213805261746028691114548770641383217579628334023934807961650714322330540572123734791413560310444931811661038258348663727981175523093971664554525717821755465490205888699530784233990605760626587549664254139634719540091620500968967824995262037377838917482403611839426368154718785996370125134744856756144370616190739648874634570927136819410040157645851799437931715508827585585233312768040238535822054492356225137626225049193629214881130188067208467646183678173747958693928553478946840000149967114738618685735358366069411364843133068476923310380121570611095023060585404078727751667508319316624370260208451359925772887716659315847568747182693120359759256661419406043835967048451195989956000744275442071520009585145253008272900644239426856532691591315699769014823065107592869687984389932874934873657532699747097418727776550826374471694829798974511784633503398055342603395802445226038550556894674956665921785014232576135098178023335929848742060602527962574845045216228035013402624690749474785992178038252316736226517557456621237509911431855681153101990369815344169925597829867542864734585394830508810358616066297336620319393103702461384555015984467760946998497870997357546825099900268629838790747705626168225656264816012626623719941720446626449660166353966690310891086269050646758239657319173271693858109839569940477714264407675240704022981700171143231509386971868751566523946022646991846760335607152616794491318334773826455426563676015277321957458762393152564119328461431321438505220121515972700179177151199759464388762249882579346318238778422307102351566844852972187187869248576921949548133881198859763270003166124351903993014996051207955721252718302610246937991615693630810700498067563950058268314547250765438395432821325401534000887383863690896402903980739363802199425691265465603536258228053190301035213953808382196614962447433877596945394483506974407849530920750820891002009791390648443890845810766960721840502531804986027348890372014675320960153007988866843679742822315794117505932433092096919424541875187582808448694868072523639282850515494398356464403658079385067076165336808492742685330933811528355629396395944099451396597585226317631738475625100100848929872547699762390625255040267611617322808012908235887501208295683061032133744391405210088778866552123011578598324351014791953546479123593355065657817585398096179530720109738640753315938422654304507862936388395664599159753798867486028330515200262117334001123927209145501610384385122564509064526505811663902064138941938536299098830325954820270846694010687010562594173871872830854483953688923681486959146282556313798915992413055997776332978857792512871981038075255660180870173419249348986195339322764808348484018954832827372923599645701893282670744274509820032759493831443699291295839421116193730480506507584393779545003451578951535914775619872335067514868399306060195587242750799453241424551947128508915948167096957056615298940484846678618371003023297647042378598945627003048961502877429151191424379651453102114639317950040676911367292457925376744601335417047128337353117252625104580537788021808281615337189480159881707740869896580036222386018465104013293434078696885542174480027812432776850387911312463072145929885664630681869495332421842053928988616926518858676475066603900345553927890705481446181798298724011821688487112921925670957362504573603670483189456319627804114254482838437490425997449788853477446470370866231186330729548607670283038038851419934175684021667043058231640863115620629640152115172751519783565271847919116509735802350837936896766496409027817107949913972024521430745962376002535685291393082662560296438168125078694176463128040227162552541490279723977850686822647185660669162065709061070707643623877153178447020749157998250879443708589658673181509722215677009780667771116417711080924354801377654778408157637395600051209952329468408326174495519304451401645253193636293193112645301374825973861449764153536936227741677876018493374317590742872188354973253116704032735060864567021770993856093557589236620409388540611992417552066262987194201103781176562521169293748428085864674650999316601802081220219815345614250376878344617991476227973162108957166786896095788937249981726948345930906643485396359630038981839414710521194493873589678781590553132119647252948029466353596946464895541594124031268447412986874372831855232236310241368797629826678932867178264319018398405972299487243637614720591197784741849048204890724776314251906173225960167220764184451102523881369440158113473149349077432567933953016666015217183540406670564663304940259926784589770001440600472792549330500203100653307103779138557093978332862740878561336347435758384633605076958511400115703732277471585990757975130613684958480031699444305808998424675893309939296035118930324281951618293459584306685702072171317837256375797070549005999416472447922341772115055929509102447023171956596654319187650771109184955390437466264006478537623130418752574665400840223401551943687694708744745831336168723096889457958209999958562263586686703734892348634323566594297532505611002156284279250573297618076449858661444124426459044897971714210774434208139309061723511040198867981335038740031912955908458616998880563066953784899521411591809900346010677475632409654902045942697383463562864230911977510004637504122582947908737749742831175727569450529060814004578737112760597774495122742215298794218693308320203790016635206071143109831250176890003776301311657621230486151013627621594143723131048253202654197030911577146600666459059033698952415902648158142252739683920268151892061838290269656123483599353177374682545271084199892902207794072783905905454434178699384013564034009720156007147928032956438957189557773445344700129568281965853043313283503520139488881489135954663808978906561415135015345480831200828143341294399745920829246355852344535062893218267075069985771170327231070101334757642783202540106154799949681522053008865196825090671519422885485554850747245801157787196283211085820731662570934514230009633274917187641756541185121390648001345771249963917764686147026924700775571983573925076935550280048904227591294957990050076016991777746682545772447707778513251687852689563317698837267005184216878645448172636025347722957594494687726082645497917500257999777099542966661062951079782377324127459540586502837417614929987269788060796702551812007610315342302254897913162764824672387160400895999490133438220273771934022938451939055739904207087732123846249006944834541232188664086643151479786282848183648286169180007527288080266966862713314320971628236666706943006136142544699374465713686122536322422534850069822702651028898988160013991477744889576089726387673012563897477545549397707510422401025648131098789159877494727321618336619523438541348140314431114135924651207236891560692985176702722060827098884901143479468207875765305138418988473096419306855776999425057815818895850040609697373162162692318005550722092975242199920677707233446505407463589709252529714107844491536896542384682585425284269851633607390060130505430061065507811552625917248999278154758015770838660562708193550262283792096237503285331643255761308482289079205865813542855583735492112485593219783454549645968917997296628083372434198548558622248386529087941841587919531663221918464718735734618813709866396827619050068964170446780190971164090459279500601710042988198007837228759303361414868423790977289218924155369769038247682863725060753680799568593826113061893511093907046964675211423984902147811168560492245892607561839113210559867933313629008493955535673003191595709705500269746083679391663799342204170870323671945504029318075720183395177408829051969788278189076565565882892613719936496677432894168898468183980155271020400003564904631620954853501408566547441410569534592937707673213898563951516218396690730888132360904721567751095877449341125222301834603302428385087035980287837901006929625297854655251522444362688909356191245564876533552218950365454719984012519306150699788683916897454553404440432746815059766484498131202511309431387653073541778543124002989884992315105449827248825230273343071683701994648801883981863775043241375745483437678251837423271617769188595447557240360599855516172324415794183614836990060910557085665780570736568536505544432865334883792472454931156305286915618769968521284832095658595060390375525259399890652542600594883873356164800041280818226236767488320685115257620804414278052380055844611519559764227444249516228558065256002163038645399513873173268230498810352035458697792062798078127251425573052413782564313703556766221319828245085150138146797629846395230333080334684569207491592139938738879318972503703346372620142655145682055909883311568256825500209799214358414967434407999584066460030889342553748921426882358659533167538023803098343852057874828517871581519696520650290971047100410553117284349456704740248554774983070452826568782274010721660988670477774759559833339332080131567980517212354445958170844920901970857794575217246466770644081266455525785217390493275920834252998139591356999050057455993603467809161204790364583088992274502390000316483968685651661012116398848314472798478009162172257029058876522116306490368155958225193746143270105631136217571687145048280082561369184802276679170034233436868964659182708180385252241365827366336766258040591416366071020548350314006564787991448692082814938682160606577381035959697572284812145071456609021387220285926819511120786517378940215565353401420358900264868393998698887180642857275401033020322296550569430985766969596877882762036257817629877168971167454746293923168352412442047546534377427838253373547558191264700701508946770558263282450040764566141728122772218754933210903581189375418312891502449514992341852321305721614132236105841144754009692679476400837313892714430081912993847159304935246437745555408658071643111621868646141327147955886799982221558352607493243783566980886447484955597856688213730031308826213494497019342108005792100004465191085031337772234863290936093015896587395127254000726654992776594914645363192383972127750499424745682474205854373569257307084468034792319120949917646192579605957303028936143164573123422657350108808392467041800949208249303569891367486624493266935743824067081909094347985494013162557963363973600534768585046843185520208373984504830098570431639201447157678039377057186331341730401917817297816498913242420132654153337196278670704844390286103429735696454297480912759098592995783519955470863586996127771637067287078611967727113994330830278415270128952458506637070217450463291841458562525348034368905784956333029592348081350548869697325189741676857015238000234353506836254221638205443060724310538692542764874901484202582290542073615478958875536837667423067071950384084532586864391796736145419435368350963664331044277089521950988872533534742523614487925949195188668378047430746287864550954239155060333193621739417581693352102707016294653902417508794717576432415389535301711163617148306115587261216367336136561888606932531284286502276688399960339972962634646765923577736874627709407123637412459014761188127997551159569044474809851433740163575647953617474974016775625699261799306842216020722357418988026622872982523056955736883408307235356160483292899013694402908054872873160662580914706567360172886785966947908365772592774935971820813747268486413818221416714432176483512863718399418385658232703248120517274665951749621828964590323696002782282447952209699042766790989698612934653214928707573830993483645884271358180491536605248725148778815347507893697944666641881635635288459649594520827398407423150556065310100098742603724250198365817088767531333565116298810663751929302847678601692068764388341025935566458791189104592608457064812429079156442503622027979983683820110044047556699393504620423573849483923865586401088401896422976688176004461365556368314528727014818672713945200862409580986386279383581219283182629354545177656815921460594260352260608803057833463304255581469618430591176507207795366775406113743971460273521027499710715325172225304362865598982868306107321357036250342798670382983950943414094136471534735335694980262258512546758501941362996136949015099202037083536716236166590171933283309072492519433577132595351957386322803155953408110238383844995596652774934461839253730880193538308718494886582299073071209508441215474005748985011998923340806084534520701185365630764935297855299233126189139579488655806946786890706808876456284946652675036135511785596606132059886806842391611749737761387309733928147756682491367347048482503307725148258135329588718899960783347963749946366559750729603659612503320858023756338023395433093134500285632442656253940881173569373812207216913800121254293838809350222003275478937927426647721202986026883138570640121984164279545369477196378320479735506529791362415292219101074178426093807397968678491315625530650579424483994638970925956658468710086527702325673983201906385198608302105982121396121521893668813576100244164202598539391045573167308806497596936117053979375396871921194895859665525728948887277984570906288171098395569968007814645797523472722751736390528025308403889133554203127014478732534419291057446655339819441695917328672982304106571257744260297749618806546440132190212474538258712825715510567050833746676653283784428541325145263665781150001505007637692318494489667232630135508300017778722842611652460157076261502847208397966160265875184776247975922844754359620815974481017090129370277646996000045499677999713883701993463203985411084484335663042946394357014238929623943864574527299022234158984161317656550316732133475122341757243688054283601244780748658295394168273890812036265807983796828729383475367395568330075554013669030354358054122969386976438405737675531289941573440333386007455081918254210224861418544881884325719709667277642161635174371068526305318815147983364467195748778765870461808008113937703749204738804806607239477855893725648137710653307656717351704762028631411021218700238729676768647623426009913051698311540432519066701369477270847545846491785948767768846958714468346901173625721033835399482864860315964267747979769002391420817289409029887773690995474795401019016142844637299959796055207125986863848923394140301656829157493140405337556955088192302316908687262690333184923373882619973766422941231513288236758443768747851335258538122791525893880057174761688942795557468106118521455174375462295432114097349900543569330810758344401636306447068276135817134770141045893114308754996166509221906093049024093911187518023658635546695705743925222856989601193595852245252829519956119743994351844897987717337780171830505981051300840455158647722434847454755694026826964077599167890651026733556046511189595772747929508270960632564128039843914125865169202763308294288082608429477988123288673873778106971370303353806488164264205796037179688625479805167573042711154155461407747327136938549652801021813475453256453508508891926394426404309245206141528653870143146385286768811197551614293046232391710282803100434500226986911087066022433465885655185660256177293590720086088852737826620951471793707122264302166067878579659356961041503295061579359399179812008464871747719358650044230729767820653751969473094599318307380371280790773424851152749239270913858774556546937286343806622057827353548013310188089612164263103399964285439861611983539731811270895087860070189155585168853112770197992299241257172414097294395001059328694412683584873360892724177200855221769452342871008962860921209355183673825407187325597051266225962359097559188574102261263337815969536093825549041617492502406518015119121591894181008459938404395196472007926839684357886763060144160557187835894011593064463982200708069871448494594251006408839717004085879697113308517807999430920402322233404335786816192388800235673066728015699972475620055032565045264473314334468910196002341995870598181169380791306387075679291614321463940668970188933854620478193051213845668437538981395144436706852110841495746899560344239006196577435313450551271439786711703475979912450064691029135365189464417781463906787418939406241381167276840938560182688625671958475619708081490539210738988170654766593124995491697166390987923367688413094619157960262358903874070379560154546443371224281336404303953277736838097532503917746342517577549987039412872835988600280324493947235199990829481452124632922725675888015473964330424619058205334310161927457465505749366445992659676036497021588477145261631864690178720563279192304744119854741410957320837355129513785709477852096934550756265593818013112116869615556654258281715600945773879760048757705705232636710940907454711895196466505103653384772979074746817047495481976968374498332447331603854399793420198416495594380828964205421898450672396645234036650650502811539527839177499149358139185688536705103636122048207764976143036614034083350518657025285840014189581426932753213095747326546046666062217989972534466874921469922065645351843790246115071781862592388510046945623830334044139526501385799480003768094351768826403663690030480384971057954898905814966895468976186882184149470460199553091992661165815649761818348089353787091021818100787547197980716701701346382961292551231815258484840185218008560923863334149456764423018114950567660901145974649098170556430083756535366515988838997520203800896226982236970740711064512074767787064339828177746415676016280146776863687845939103312598395460050260908431792710513421047191875993894794545097939325750131677655222280919146094393280605963150953381270939508459063827319660476803373530861278415110058894891724680255742060524516781249388273443558202126181749564991318155791196601481267919996563377147503466118063893039781356276006451742984740776365829774858096279766175876051028087668417559854400744775037064723859730537133335076982372130157977299059411724532830559518332369896987526295013971562812410612254865784204082934654685617584372477504488255146248172807421627563316710287406731140448892190455240128731534510624491626263634949731579024786663504660171917067853359647745700597280887202539158956125392678689041475280115731939947438237733561152835101037557087556064879066485813723087278764471529196013053115698595928844946915153021528121401132019010676264305506125221672026815719253531332323763088946927475157828258524971936609087254999416043199415095939710029963225888075010919607645151776114546560680969441854693550644304460091261304468826407243668996621619565377239830768853008807509057380202180035310082531180872386662733104252369892592211449125787114267707046922639055902353462129415228599067350545229234026241423134109306627318085803230334170939326370386576037655682691741753667557309630237496058273273420754786387074826412489987587603023556603694498343530870104092860194738321655856795954880078593224058094044458488144269489878124852375274435488792700401573781981829255890587605270906689455916558276657956003825018262390921559139286537097635808502918297686284733515111485374423206085551384772363833466772760454499670660282076090919304160441035105762519190340402275744969684695603573867053344822446122257984760293405846523288587925900414167591902780235388153955327827868117910668870364384581469471365093721415630114469830545587427367576111223034452599655689827338410455220434375740113938240408665567306885009710920536278033957052107960437575990615859861887114750344271264067944529422921510557204544329256784405348563397869006580213980916461180167791779628645665843795930353855594940097708126717467167829979941436661535962559774430025339542933059494667246172896673502346897028357433166609959373192880441578641129433089909890007876502441126145340118294688800704140139434885756698066332590026556391049468861699747175719696624618686722486517010950786202816500137179412395109253286473462822355062539905941209518498285831826926927095173192433354975553115195260486888244246243685622036316847889513589001879243609479930264787420934339610928924728093597183597618882710035613769138423485128242750553240344509030140503521705615859198516193993365602982507168394507782909673741053689541630509535520021616435867090819661975282299139556323165965266384446756412878180732480793022234499389657405896792115809753372026448622548150751987842660566472939277967477121503839326836872551599919858104552268463744416157334825938588081267872330779831884415048723424989988666235607234408518718005782618485818851519563872282519575667942975665637431707358434969019392279132964941237633179418911332441249608852552776334777165511381230700671367296581066678318687823586088432398631969163162567688244526415424567495636890500109568849868512703546609245822590155165080752123633302731112627616340676393501789728358484951076363566311626953454244903869710028528633393972641919849026500880693786197263187510638566722426520999939769048234696061370355432886500975483193828291218586171847172254041761080567365154145211104612883593086217538135553355204745280647438366599324123959415528739377883996483235528139823487365914329596998702737449470629000504994707945451608078533034604717554006599571219261426013015071384718595532519373208006987111003996949578299715279862223694480550629707764320980073167644563077830818949313829290926413356823592286630367581316649996687741784002083625745575431670144005859789629538652917675100436701187714816968603317330130656006432199009903768215963653803663844401296056174045922118615740279225709181547981291358186168307407681029205951348799123588269304019361176095010964536315862900192397139310421231045085727277895550388095452223411629486149549501555655629701179225378751831275176351477220951035242839713848639296170596214992750957191386442778197044229599849690398620433478244037375019782315015325674295356532926767135145578513520086443070850990834986447091449670249633348035798021664633029327271244069837984672021652768710609312136969561942498533504659572565358056259440518018368259142121660041484226789983234827173018601380043045255914806067195743794661762339953014198717014419825138182185413346109225396606312505737723498543219062889040213123778757739848181949175649564514195750156493208597331397315483944252848134606230489737692946214162562853841008608907861279880371756189828705582888301973802056041855527763001169590839968662525365428735301395234215472837278610197991535684390809933501457291043712899059634027102434766990084687935170883824365742320713736337345358445430376593874298420521774147999700759007844572395640339056326579127140915836167292667246009474669272149980677397381894905851310632600271650914852871356771382605219854507103448202175021329500650655601888839446457356642119199428153886106337353261669422244300245315382115024840318517588593408386306248879762143878845387401256486446110106763471106363480403993731563766215629499066022864074715213603984026387711078874457703721198431131797723631826431992221599416660663668177918100006911788811273650727085181674010811220216413124654600422805067936314270701320467410655054202408253548362820702258387960661145999511724161240508611543185902642468326345786789888907040871449758561482646716692279660148055657567956337438728847630055979687812475645453428587646163169388889638271951296665725701499983389205472219601958517874618596213407422891323216230935144535712973018393718189846362961133691452962106173811756131081087376455597697445559133609750101300244389590705501176638346875982229472459837401853968757835450119682891270460987375042351951299972145621974971499373473522304521151777682615466053603081046201833480046842205830516521047886638130612497335089122005653212615979644428271178657596025348742264615015336166916231381000966103585015205352137388606775156682449619497875634705288259808709810210587952875890152150854848462942916192318832750297308495322575728264157810101301600669600348627849934414441753166856915782237544249916953688654098948310794548713306773334012889431663228171201404491155984836800705084700705117116440191760004581829306757354820027078394246859290841562317933521202763885100256562972536444420322979797561069447090518724192512580673775886749661481147723735522769060404943347590814643491478476672678105417122608308402992377390816029224631130636309039339390114018787922491742408127036395918330318083831906822158462114356781564503599203270133576267241735650379991895141127044782688823094215766768994884106317956805257427343565242950037870380799392168114085387476529968400607157771230176878683885486188541564234586852517569792369666081631007034519785552548450874298865467055245522656364475323915359146023726214551155932240260493335333646485399639749890786265372776000518884502752545531766598111830337428524821183235418804266272434467102256068694328150889759974203540869551735503351438487955572105724775706899860055127484327734392898444846042789029135812085311450477676672127275134329550593822646497094832891876496525008105741403182858355686690041561985827543016903451673860357047479336542799628765766058659676139547620069577161491525320058614914253728983376490781792658519317090314125968372376907592269237441520172457824827540612954462880545930148582564017529297271032053250907570908075020379664763447234940653295128662959951838603220215098579409414696636920118909614357828171103424092195623556107449441615610240601400593964029258304300158195806643449024721356079652691010841074860301189942271427826112922927026309567033732962552379517549825448506753585339198535569129819652424383429522259492328620925573970901650667331850931945604069027887659542495493024790199711883931666027972899698750708191103479871014288598223873487328772237109230730920583274336358678788216751061632551347032923395662960703648058075842167156151887549430235181700438279954912087368282712946449230944935570243141109782150906974628989538052943814407104344950484002194545248474167772402977701272338254874660093952808001874211203228919769284424777513553809812653501988469968742060907764366881786852948374667069652452901933933455787731023306943595534773053458474223074018071879618312637021223093186225793631912106745927570704964613544907062115442367445390796914774046659339664546534926970113783606640961149625385762748342876319939689614067891770211761177904715882365997808263429449019691756210759399047346642094923670297832874148785693048512953827113318240598808891403047030045332050506799802626399497179965355353207189150761816512626578732065936812547823824585682316578489832814339288023206020574888081891175060661949399118625158505128658846093608540379195653981021702386282485749770412574902609625852093014110058074846550976847872956818987563011918487801390653337055607922294811044947741208020333739162425041497022625596515669617151734007800155762086217669882229105424087994108666019816769731906348535752502098180244543660438949509961848450634236647188441568927525019911491421670453630503013131135603552730064274367189350698840906143962219752085412788574216950745251133084911382957361760362381267072047327539304875298403922572684571992567465716042229018719584599965652550963974324416164969049428278053695632117801681108233001038708914917271312278521790141844424928289110839947896689415695535090231210110968064950783051951804008213875052856720219032016592622240126745472226853460613708356387892882622751774559738474207569373426647301583271827930608064502190075592090898932814464093671801156822620365509710547240326676950112096224831237232319198536303171696845927683006810251404039574203901205071383139230332624022433433404157208095485381790922465009214172648542517474435956781580307608036400534377365159208531751957037061311953101844947243286840106244728235868516619957214950280410033569860279879569184935745934365994590551342361076043398906771974299990590044527422146244678376344636488623969728330492336843959859302843976982573709984369157769841712051900493885482588976597377675112148500334364196953332071014825919457559496162100226754429169997165384019926796032435964218104965344963734243269244289155983284887688835745977507310835029513257693345161230638656062941391281318317854870038444475060482808745555981428259993339962258188633584784237791490031775635541664228181918231585369744021490896900784773648319497742657665439195290785871313672979063359806288688067119781449578160743479439452109019257742419742480733613005654969648026754850039332419803072987484146416237446086055376064258230538919229022418362761258603592523035793565799186338614038106611001429021957047245547690319107501708887663014176200205983540478233586733075726224171841133301714133082126049943153168502262549997052249825190031859324275267112818567303645337291407063642732415970805792885062699457219376271654832223654017175649215267761648229057531757579115783648245328981867158579768781054850833248493545182290279658151528301984815588164051015193005381066417233953528493291327128485446167858800339673438333791375748301152829454831345417540567738204773368220271084481082834368733896491354198867339787099093536637332720390477807509911240439639074257992403176422022221502249821076224229615132680741510699814175574299186155741436974116252655260078973276793900760162000102775425279330757494062966935405547136906821986807190206181780923956395621958394320221506236574356457117818156020697085281759947792549517036228732341627334546289154457722489942825594787294274295475366410260382788257662484210140911198883949877074194006023460175094160853839122594319878267776109115392680198686222310718432797408395473096119130144815365969676036503724943598132371978001591164803424813506358846600061492290217479388123467750055583486533783953219300477848699485494789964738274884975139460912760267457333848918579918530814203570909750379688370086292651294703739340214041115215234923958459548971573774491291581987790682045782851402803890398325582743035736634260514345572057214091850201646047996474562032851517800099435872386556372764764794960645945697548401559202905475880035226989502193431807391681215523428862490442706269171682304815615791761487731721020236195665971261737055933258088914760948962862221065376125369183272732492350557794502751256336780260738882234381743097554879514171984729055182073384613225435042206626390225125270921683829735867453518439180465857588943478701938211035443530286111458865130415549848362646423872795705030488054528749209839299089286437954690784506839246780710373989891763203208432422397686019575621164115256538387313692215813609537873336436835352801119631591023040701828305819006823368798453762240962568745698866326714398493305020508389163270405974348591464570268195356145325156856824110446754703225950698030944653607540688184837649354544125810567480293109448485070580826848285005133199570639061592209753126110209493770310912881732645689593403020219854369864716514694747042566742601052345424497980657177669129588615639344874791579071284775077038832826825757245053447542831193984161295383499201595692645299733193656697990685392542581442311042992861807977931842596462876639624598212309055082595652598717097648239867348099388359082479339822833983608740535813114924194975286674533434997985731344345419235892151205559872320166806821019661778626211305881667625696874459636035247921940770457657529543391469594024361742052924815926134759131653665758239580017412564622004334583526786815530562237261615385824159210786980524762830809258184284189311560371867836835025849325125033053595927996327153312638534420701370862903999902927671381402370760878183049201993592667344010680834834457177393534936917138199167783503557706756480331191193007190007920394738601354253767573831559499027829850833690923107201713207359798897569359803844802619076777471089406126605199544306909922608366995853133895018840417759166546210856438166601163489523801208820152664777733210143561597932203563958704244430426509377181906346161819353353840338765127881721336955896681197773505219118902334053944494695377146819181534168213853992782145213203435544056993439681396275916309968685593047647114516892553655168882876315137852218877618764692457816874405090306106986591460085935753188962455738146602633337524336558375889152299092958896732165593272687631689339297608116780369147165979067862832230270795807000541945583785163613216074004441021559673817444508557225398354676932733761278909689423678190223356443830452138525368748988420720646990052802617672380625467137254943711795269837448951248997244688588956996309981308166338189050404368551205947698717343317013129676600307545896125886147009241841406983562313488873465747450482273833807726621801767222319094638026931221556230456794933118987097175712682731484690172410881131022171825692165016538379020544978715617320968450161836852127182281129585232834925081151537221088312422463310183823298438154639137181233948124320159443213279941239802913478366558024186756382680569403052399492410962300672880864664002145594653174174588107837414040846724575371551841575875317130156874591216822316447686915058622399014615908092038443965716635452302342490331428751826496319595575599946536864053942824853433073335898427031919998862689570736884071161048561999320353367015024228629382155648466349543746840455880072317153276600021233079250697199572933543749930554331889695606502031211937801413438693380480764463778585991037770533280075559113513660783758225717876741982579892945753817586881883550790092613891307205816837250048926424052679691220103144054893744624925104167258082959863780923297701241713996260538948033954519714862618710113235715751884641821902345065780469895601411985487191110987639189684540815839748688922411535310413210064137211723400767996093916157056388517141342802028013443505219616033196534264945207711079586665872912641539762673380476661882313887266460440299906744855181844872132141374976513072249907307155251263663631866257583456833793192379704653512912222518122491068617998812895091828017111021578745245110765589359198054817059485010588294527352906359269617345454701401372542694532298956918640613489840809199761746238601775662344075152838462199348359183048508473979012404479406161067142935192770221189812047721987517358671215630269693370336885320736925921797941573523224438308066897702951902379708357262583624725196139601679904070444526838542337551348682545243566443555876818899665442409311190049736735598480560180742495195969851431669770879640484440288011561225292997848222644527840100894961383853391579573578200449393174919363858527240756368215217907713539960771698377574684395764335824769147776736759203602743800635768937953760584524352822528032153390105725546103368577187430500904805473740397896588473411443190359914993254497623978777252714899312164761154624784300561972560212308927676850466196871862693218603449770232272052665202495810724728256121054644917529617267907510008512110759407111242815045975351644728393917952897920196473758288697693742163109273015952420834934207041411869835782151969531022397212006317707136333596368544774276333553997362601713672209407918071509696741579091480099895475851106668424587186636179838507690761666072983231001483298322690456003532439009829830172556729558694601324681047088085628579493903181642830560234441968231542843915246203628084402308446512296749992546166631496510125251193297238648234696403491419729831227606193580549108816918856857090458584570558434776688554662153966607248076561408686518693426756434623831749958202462549325824336438400923336671717767610827610079743790035324459550969900297124831845976880836991126858531066487190779154571878446625430952210306865745692485365645443186569398922550471559233079924510279752179526046428943642004724569702477834745672835928969362647628701498218651539911083312675338715364621543182950163547437013923689313478865593560346299187558432245980762820995747679489835630826956526439746598022504521274933880206574934327071617427458280047662560436715807950581520530449362196802512486619459442220961175561734816756225834638511307294278288485103044920519517337797672158707756534761295177009250888621788588423712741705316850333997856794934920523847328328429707937285264447962052547993501957299655745805416324776971608871975008297514622822748699974177236293255008968199448934230720399659449085372053721199673772116567160849150158334361881024308355411212027610442098386728125290330316242677428576206013054028343179621924048771231081693270895826862190589055752082547931298392179576679578280309714838753365971691735539786876474868372951715903805352667005151891729034212450297381343192224695715487487540357404962704946194134689287392753709506247996959787149813949164435474600420106488733014831306904800694053411421630818078926964919396805481134524734514215411849559439382855337222716201122847878460338432878854510992686256754189366847903721899225111204510655827252445329882270185891194300437296278958430264995755220147050478250629830778072689441079868654497123946422150200079305887198483209597229855628325588857630954893484248078209981515386285069045078913355220499860945043721120349106582922847217837251330358401640357731923893214811254723976692379943882833363449688170773974817521639665225039989002970577453234920885012809423583586227341760316403805615475867778491712179664868325795128700987485414462644583639837947524888012490190812774396486195139148240129959789950580745189899895087519755591793999080537748174353122326333434970729545141268484042647814865607592369196380621958499950706568686508649652009256415177699080339253539604713824220532976872663007359320299542295981175959561371051596773049823563471811660427798078789211233358507258011892264042154009900113471679278493431873654105183935059247340998732977584253147995680053737240149648802711637529060097342232340767244474327402224895486825013500402461794800268363698272981712586008722009462110027567334482615537154302129020964803415110335898860426842772959081559137010517141831513425746800425995110578793311910443056411864180871024674635985319473558506051138079747322378030952509560313035285632162114289935041522650206481087187505370813803601764279867928953098411742005778437716389471868551946610835914755963479851795988599793670488788302879599952901766208010346200393672193036820087086625186285556897481291779508109975378546126823200580556004512201743270283953064810104183846285076282137282953648098524532453900305390918138763197074830855477326639779502130907458176819974570162194284642011759826328204624900619283239521190629417294671771074126816479467899725733550098371896639531970177757861108075894568570961707066940953611776730724878209676040230793801355275328047247189499470027403759835997265796562405391311012870749572785582731381225119934552686135276856767452895810516610819027755584637978351861844337489021916554047809669660279349141714222072412398978889155543535185174345079038822500228723053737347551583490825483511118340404096749913093109460758207145758185379569705566566508617842466444579094275892633584634708216957477710174027335587485441325790999236221215532649598981922176610479969165104546718636730788206738408414622833509473767634830470742423491838075018689724472804482565392266797045199984281998785074860221954138460222634762936528132143275595778717094968668766730140849974730101064643518067862458480251158450686036039920076954544060611009613113634745235904836065995366421793251957735552691187251706674296383772264045301068088080918366937478530226752965311383019178998479170946727426405761916768918627494556975065498191518568808851781108585844453698475394259981735117624219224690941935127720237530722694919652827786916927595224639978922744428318306493284818547865472336071263101318920607611112299185001611316790057113694114419606059372159574742647657150754607332690583540412756431513843063344536389105021804557182187568896711394882003060109795793131519457541008739236644497770963325714922659157328890561355651071413609254218370228100755215008038691998126500309486037961318886451235026429618884089246398367436341653353101782852674295892791751740232854516548692513310937702031920275591377798663629582567938058255186147167759328661575297936336871561706784359842891526517003290064592442814855684058538412950414348579957831827998306152052732594451331892509130255809623760463219645296066318257110845035148776712361661835143467521005719687394253294052206108298912184088926569693504933373490726575925523778107525550437735686894986494172722231521460310290305828351552163970537662793766476566053424680296278189485197726185785985468464629723883971686050664450209400222968687349240461673268686564976484044973645967819536304939488383842030125892688947826370597493744066910129523226940673550672864082576473844370327698896506521547407463414948606726682419483023406664649568464567016294746647819135655965446919510868304341659752333258012133770416685131950762694475462216424599828934622322866135747323655167695039796825989259531150819195200023933997895419941200828875086506386355698488315683207183546258957015735960047731983484846914722857016933360695389996975170382546211676352817658907410075505231064907806353059818943427867761280935232626984700383310130713917771866944835982262350153735423357432640160046968089914946650637658521400923682445512635655412597124998412572715165930196933383854416796757361339597341516483326709242298314845939089982481760936089611288683671387600248129649302024779879194308749502903971774990232078232881066447192222516486794151197760072959408119104450724762817583599861274532375439000408975355291856294932666529309818693219759084906670167463469651842833495217591040930086866180289350668843363205080718478679907212822309380076932536760007607085403555178771508629572725325511103700465971669042198328997100724442450058508070913600147075713866644176345839274687838045293321388514573739726604544678370655608907027594223141087745107808107711846010958213457829215032153157008485418457624851847369861849215347839333468425030074788994799067186403554745830036537205204478735513801707489550247638096955572059096830396338934041240669777914882344663763821566685279025193178873154793906683127267462764589319319430685540898128091158965690170189962732205537134102427305278213164669486578896252130057658267510137383547654428386895028469505063241092514315975423145085995496456934879720976605160896485849996083369094089779717174210913597593851991563504155916562550852996117602779324808534010366783939118490349744433854214372038004205967656914299457246229014993113929097592609358723811052521259400252495132965297877535425809763308471720571741820719932428906350034847569263794714369356429286508851517953490635570156371688713106860499403775295103777219239368874831055830336196787704648092152265777297091648056826739499415134635364870568954852759705560603686581648192385412038219634413595229875136108059291170834654126712973476450783573170862333665103168843898071665152170379816486500800754112362487538837704134227759106831234896718833715381381770356538918080358022721560086607560322098063214993246915829510417723078883730422763781316603589334709195379489674402660811529024322079495058719674027079855563220319168257661635536141493348623859892213962912414184423213562666737110597784828964719003944519436119770155789364412988169782163051745278560791806565633380684253198080901569670046873337959716480636837678756710856359116303968712416182088266135718032659063767276827403879290927443816672816707422996203910234130480077688279851717560426583698010546853665271794786847565094052592449190322043316882694180946612423471908830824062868639368116884254141398188056713649386701850387237741461919482142822691405456022732039339036274808780050305402844348175892041297648668477222616452372217338094005371735753533338094248890432740354276598025265989143549384460281147133651029993410547014969126880730831321316052963678761101550670667354116761240445868109387220270563012474622003121458863139248244143137172816624118172784395519184494617392758206672870196853043917704166519842591072400824839645513906657777669146220809550802336583786683547397246146817377504175534249906914129545644355704570349137722960438442508142808004820671038001598418055403715843231762622045809982112449987272667588493071996301419849133760753971749254198577580558037777259365990636580121409257001329328381311113889191022753580788043111031536865349707083459289841258187854671064678309146332595641820320258650280461178325396656675985043330836980316979514541009477581178548634346528719863699731802958479607301828045641202926595897607404202719659154507018644989640281907797808859351718652689005046109725650500743680178208856228379378349798552558163133708059843710164760110802662030988388829643091982284482916502918656978709571458840160653398403681140652278656579711570055009134772182381449429018494218842680152959104009171903752374336321849477016278821444401478450585311553933569119700986551127358372720079130197356693337090519172008697303828686455618652675000845895179595733001247447118456960531280945531392194948768968400137904142680672406983270802025526512149630506509957929248662397323931769092432022625365947655663211122674508549727685698549320921659449045810176887938796182897240250159678625126883399020332658071851448024743277187853013681204661776266885672668649224670339401891490369692009002099871587173342870761495113292576750721703799684431456507652044114761165923736561066063727111331646096529586910968796640525376011530219317368225313595090346681284870625973454011423078545595238837906691763201698775530696756032435565149145416480876773253085178267265024553249629913482621847770218029557813733973371728558643459827927472987334570002402342106053452663854306411344465273361080123085324441304685245299972212973982240957050605362709254066343617995959592708931474505295700879940980397551613228468719222836002635430764435949047974793478038744353799936623396076103086440842007018191538395950695488339087959181366548493338080626988680018516557067275774595091644038254179275924130605056313455959694108404337507456741885148556589246599118833345738359400201244263298447237477767373613701253551335482727423401515695481754747768551354236675401009643998624045138600067629126190976133421061572926842859425202589183066378547466353042722800178982808781055253092650537434924081147841242062364890500245641944095460337305795811456836743737528555624521016981924468483993038726587195783241207778844097050803455101486239293846828939590802159575812034759945869740792006591398741710894691543713680497815469730514149745407116951405822160599355653862169920848765973691573493742607697882740911199089829315482908962917069877647321930843873988589161349149185725520755025568155932955566891989607986240994178946890521913102777164923364220810010894245256347112744733538495967444525652167834349498788344624650133880594253226129469677175533336659588594878525186184885751278567299415907101015804700533929596045690726668940129758688089716955630521099084234136224845109511420819554066225577298514121223577021267440682343057820086269673423574411623762148383637361690207900128189344265874391018023086301021121313548742180830910841535245548681598247948250775426852553021922988541877644862248449861018711700207902321820818904826510342871787018785358305159498439516559142106323429385873625903309030898445434319242982465064820539912067611770129301200094887170037629350328334021149081372819410885925021516226654838390404142159349845478303321918061529617326110327476845507052068396416293727354894300731619974013942081679000567660320679008090934142401486570397994229604041824834046715419110459752752763738752582765728023549983524292930785726951261025866639667982434438959487758391357685893477627022990253355089020321329394637797001516365160572712541428653679040813126309209976358409398474203811956012216832359187494262487203146603992416504256637324037582675695548382891621303791003369753062952327718578318635990328230074807716141000238350267695521155671051930097390024548742149092541693397719856326078918270922679097111454135127116942069337062743617982450833395859699605595044255023365767429687381007295312762159277426749796156671693464184397382363799754420276256843069305040281157233713467087226946564041357004548861487401417906622659011272705913778547724025043547060980268911164052420737476933525172172177054722642887895932134609308722537442652103538838023613707348439870567116038846712184304818565147099504543103652638368096791810581267786795822167611474420237914369424944670189064251863650783641404578734068632865586705167386014075865070960848441042180947375080029305652093337517731904885035010127552079325370025026704818048903426110298248653901827533595064952548453278954919945736875252522557457165491262975618949921435640151300620836758715240721690567877210237522611839338223405540998663870694398905720877566530834827088716938814756824693266507896807265490492584405016000401249937051689713885160832269678547848615762010672069449350266041486734823783064826858847263408108068338514270730103576737995319695634070971500811104605864038057729613798788153157518135955057815590937867857114409104568000430590606910652565306683329162133954404978807065460405466652650129730103505532675827675749088927091404537756378588607247834859188272874471951666919631013710602111143299164002008048039315911089603120345368599117009334267174115291854523006317830542620810381471554581015466570361637268668764175438237194616740935167878563137041518096752409176872922246566936478214872994369900376286813621702294857079033024799592075543817374939058655707578781952568269776177445434351627212617607313471427567780307515201886609757361248200492384256822139916037434387586741231595250293333167874339943855504309176658137517049741834247166611083805203186338510370078112229170430109955479780664057580105010622201178975924332213880857419006786686255152517474082715496598218331981219565612498305368309857627106901234668085849249008475646167663424201357416339245088165199777638921964675749374416211413556744726259836666991802546594284441804049033925804656010606510047087286479909003360916486955780979418917341293416609638217864807758025274406613270297108014026867606743789521130972748013060636690131291903850794861730596487731807178198170235480316571185662801905265252893006771400928806468001513137577356411284569947957748865029889333173240643303909831031075233823576425051221269202072049255865340831139020656286546680178443522230693278971475503076049366554881478288369056324222893626306021829155591995270776648714589373196547910432372669552154763340088083120742561755526857724679328440842965857791355050357814716994333547700598382049372224486429305109014699980451102744962269202592545678581774774869832777457085280833274251850308494174511966109119946418618625780203757610412506078983902255148639187042124025667839891549608308752821807224965749040805648465252427426619495508876811525210056786742068870075757502579162784076327636549179818611289219276156715646933984955700103703166485071639270802744638950009812494490770750964015211256983839473500604635524529793576133482604213414618690774672385399834493405830718257294751644951254271161164446311666433688189399891870084968696160815752909285273845040983618049818016997807176400079406951657218722892975719339214479684571303136978127815956745599929934778763972951969969603233966084666924125413381302485404752387152896197628004994177498409059954878420069784911429814669647199211083693487687517550555292099668615370227030757085118309122053558239679204185904499968509267842543992752187417171574310785819830289159226604730619355668938586732004554328335698473591066902949988195345512324968443618975576448411044723442025108026489794163543175267096844152276228127491192917693748003704725372927569343869006352681303561973847659771483853879254715595125377009017677139783922124510947715932301922379754178808584846168580767066166343718742613325244774732980047722549762533273339490933146253506072084877018170828617362742668644937078819650837056668655381104137997115327784026783842281449623195035181469807968086611022718443670087379629205140721827053505256283650926325194333859236832849693156957334347092160492967486377865816268132165367374341162423499806827963856384671486536330902249616323379641306771057309341716674124572265394394324537729873781804351643419317194309689675601280957237140774273104301236961397298157209093954546878268501376500706768777297614415339450593694410396863264876366842509028175275369150638224747120999102906844931189276805348019731061882343556808312513168720369999430776841670763670298594527403868304930479577122793562877330836765327794558454223985356413413493253793120762187295385396299827975836369985164585601072812032207723260660136859334817846538863611934317622842774775914083514629505997162290952277133725567059032216199799264197203814921526271401739657247929862359195405472605579092462252661235222031281527050192901501363043001476608593041129031422307807312886564222922648554371086765423692145780648825038847188276808623592089122080277699511102759721571311019490005535201579461696230124079741862600070778381561021929417949782603036152804424063311187110710679079879560888344983498261659447253323992496547784518348793884423671645489788238560853449883217066176257643058961228328305336219493273505015925596431110819201930604482940674717177959764277616230903073550996503934603381245397156158385720760134181518021693468116352457039598761934406850858383569335601085721750487555299759176271208819459145226585952196761521733563082915066367083957854941079544077051353070460226128789048636819975427581288549401340485240692824648963298806683570819572842748066602658519884262753324631212167733991775825542156427781663318083482132629362277557299559861846139293848758655066125079775218452417358056865616340522992921266367161633373727295870986613772394943766394790789050592338576678602815472659560997358619068704592351467731554944911945764555612542767837373451877595734706274146776445092798638551677144857222684583721741905396107521107199104600498423232645218927964329847867408487559812245500841416881487215979407516772360015979583518470873097801551511816848286528540513517696247554885552459143399861346384992530340646742870190181551109113605632277678917269020683513692826154869138325827342444240743512268176848546817060364327170418219476909785176716060380334363452095535618536345474424315216411973744618009455563602126403378734714213313294526436671735518313221907108287015825649233720611772244110885464209418794879713894602702270498861809163974121969401734605677895038515537182203399206310084883186385490596064021291684069554416962210385856034777847685100304825222022268800339561765156580453337453535177885238057040569944853315617034733144228962863278226636998928673181041739535305892376077221163986292575897930259233330933429058920875303187549342622454389420796573204846868606471372215390682276010190986775537382289459617408431344212865164536945919883888213294343782392347970074582572738015152530872720865227705685881172891036973994628848708150972655588124027381908337680877354554778349417006899883001611692075907674575589160376451877311327266043458911000047379010858348208920572912368159489609716478543323708246990848451206138940146926048978010846544277227812203606025785183664032130479898458748558350012835393879065367415866672122012952103928422049835741122672354379734808509293068565958973170119755154936010842901341128827811347974438412554583755000577368255352162510370353469506693031876910512861536282792705658029871980676824054509000966006673046034954882603268094576600888680155866097782472123729413166477655507489527751976603509665044218583760229386091267345628354152560433455489091547080743215533566588599432451974799417081616889701291963711279268837614815068203800209612660905100983769221045783113546703900694099797431329356259507682305161501551163688616974735421310983076870945440414884610655301998582700183627620954181460673985332188544217438616871692328745682157817905627157283197055677042070151262685366136166448483481222775451715284873425433251771246222580852280077784187211311091154538589743872082410162811428637730486677960166778280979548074212540597165370123577023261347110535587887146837246420930182396518343333869469759296969223244096543738955934418849238047960171698064279350081615154592006191069233132378932762978225620973919308466583832722497940292778545544886075348868966945164968146084838184907881650957312281908405410640279423337453373337375653304006023751363622518564913112497301082377978702572570970250689685395529398891360359920196738669402613632203717782641475147216526333836096419218965134397863736058788921678038223727262152472970994219925120449194989582882127475921578040550147966489493977859677470620306311746568033698887792370020860403583003915856032782460639796561366627177525960364744430529540087500531178397542636138310742989495784189408346454135419425837869739048448755219192876313351946502033895716529972666151368558908005181281898286706977714469891657725975416549398968729700804343391145515080339829137262257173574834038546124293147822983865098375798536479941588572982540172713778452909331928797192598450850955058899335619412304093118735046505927905799526290024013489229105022970038285173807466146470471899245040323090583415947993081462069306454577635964189010893335990502107949392451991919403130295214088617560586649902861823543731955902121861443270189899760740780000344409643944811227942136049248208622545894545351388746675959711756087956726100919077584798507140840669137711665666315890012903764418186652739862768161333787476975755905824818181210005717602210889591514373575001919569877970997366309975175026838532562906381204445173600515079041578535823266346861588895492232348540275321536290164819480642395301908721043990085569189842055448608370737329495391598472226637128327325834737259886792858495449864589915427308023991342495013063457912749284569823613893072061841413344308567835519785411791487943371234293145244150783979599583857090394531868022152523069265054289246569189932406583585652632431407197205490021856727035833659491578461056897322671224030643157563342938287741245259481381760162136587801777186136947711957642221481294782006663488385464941221370995456942713419456147613313392005092536557526940952629752008793384180775830491332943162861875433396281884563941058604168131716080397304208836798643462099213363843154090854990435338953241245332559340825550291910703074853191853573575761280976091408499581124726586719453308103872821650609988718576093542557150948854250615500295123787568922559074489420316144995962458411880724217640964939553690195118217473354507548853180478861205801315728510557867630947701160182245709686058307252364068220468357591910298272081506308226547004379003048097611278610857891060248144425334764063889386344232857891852678449468809575857145146720674034420954688864040349806741231693933155345615518809444064673039665844511751190242061358317011220600741464145401606098376401836133946697471618257539789426153931309328439067477863393811703878836713870918538729705235254738199564742567277130785249558646205159744457700702951900959054671593888348508771699335762004241181986073957651701174600781393508416480015559093455339599921292284856288862429617414670649389106412359686369353428544087272612438819263061193136524906763075603281985928368542125413666442752895080597103746668138146168308768442849283243928093005937248673654096588901473722143374820877978688836737073134555441529329632376755115315940508500060073373995455498578831033965326059570306272901217948454203158969628562075939479721289688385247519111082569863518377950094988051638951144407935510895089137614119961697848050836772193047322186623390841135525697167158233639026748710470215814528833404508577840521687857575011681154616312933240590097298156479869829637161880397833144962176426025588768303285275719082686040727913699043613168782452753412228833490436212650908488590179758649125344593886854144834825752477109559614868283429847339833662175899280624669229732215821611039216589548574314912790247806667508755676766349839619064809084551643813225762898747356061240876479203988579173854339082515415929224574513009659040994081074808675871311601189913702768382009286072534247980522598880084449324222288563756307562549359290953860148400490315471406465145299255369004461706587665570447316541848729628901687270098061237535612847488719187090659141413400916121107696543720671808612249131613307348310996170841143411034212722751690612953334105565680508490390465866470676828752885071274265952706379669054341550480669414325660375421740635101305278787521842355626809769173204365968152730551055107249486027549112233170379815323949636760856932206002785499217855133018989323241430569613392626352378360453119556257182853927797719990941002524562768146755404357103954919373300271593198025358809967575112310501443348943802271024419071871215094841759385450903052715604987365208814178963456299268235950001589608989851363388793774721998814008980039228185350175128272702606240708041541279583198398536999318322974973721713023390196676182347181284268591414305565915650762407931058577222826980695995609042779077661835615859576963433364569220059307865876839567875150651303805317498740258017876811177538271882436951812624212215317770991364526752052023890419342586308692114075443563145916454166387598888558793577518552721177337225217192057562511241583150586971463411944976824977965320634996402593441069331671048253146435692183897050126342629108404484233639585550682805273947485540824362864716036533224064844745880062060738640289143888145275185004449210261285603812688912647098769278864459129896657748667540826568916451077537292991596508746672668016964810394731267450550668173287828059520500897908606621355415392059994582153019931878741684051857233679486492086476127560017575193580348074980754124188658664046749610589375858613732435293920530667661123278502820987137311105398955562016575791064616706820841190463774045811451263802656153713744828511540901472649346388955611296600465499470106619705775704148161585319141867564901283377952681440962812284553169795578572404019726259331336754523051008288320458956287956754744405329433776779169814195540730444715753228867482958709937997343818411918844940138977784167493821775783113454381617485505723077618907637134808318495683967776871115225969191005379375655125156184747356869366348276200238444066559738631325067138539320910525847998292908028629829921842649023139453064717348497579229319729758241766275001306441973762760332630491313886755545281881291758783540029367246619197177057530784454769365472388216363371152520277894477425214425551013086800437961476608718969245770429369178088058943481390945409949672591163958168519072209703335749192563075514829739316377088676713117024013398025306293724465121773562202881823261084416838542102211048597863771883453314220929236552188150102080296154134177887907846563835615699527484613160095871086145498658610307459458994455340840915208080243310135154853711853349898247530685055273091292989221308616507622026753137738552749418652782709824004424858819852876450116398444566022095857645683632610985762125846467767450127037000987944962474039713153354069285011544676951969983435477750136488417029517990575373461728181715603967213819372538321745075108993627203141862332914345737860173482080256257678664096358316469591423383668068801633282426623220342041245944774397534106451451753179491869877366355748585578697213799400938401528239291737739753917235392393002824732277533362713530242076598518946236251715940638796127670045829072926574507090937489695253509428401715386986873708161883057296475303382499460306871961417592864515774824546541025645538577361946693173962300787112787195639029648557195732194603173498223462470377117579661157779169483624624544274769067824172057347590319245452042632213829114415686502612757114107984448187033863716196434410100973637244159643448304476129865930381037587125321547903280637368131565340771220260398287415045499378834081462659216673038308968603471121255207846088477507011493968560698340777697865652060610648372618391668448765017886938065393662381286696491224674271 : 207421459227883397536568283016073563537314936858826797013420414650658838267136943032153232952010309757591647942407641024084569774374552759203610901972545098028658409627946019305851868212908054355919016394621523347598653300415303951549199583182380175547340889859023609415128159731050934082389124590000205597279793457408520657867772400808222280103714938080657467576252512501125032614906660600786420425332860740878721213948316734171606900822826219761960829218797751912038798937044507175925598908523128787642594962741198402306636530768243543007618638380245983985564081662005725982583661711655583866205366520528465472971561127664280074352706745875008169887135089978727885382112143216034778754818730386392187512004496476829161671498261852367184056551448648934708259790898241622344914365803185676305076354454878479701987463831479679536555367548161403127167214773595394578016216359480100124383952444578763594499711337358950757063105357097027779496304760733291063661886991077086776527491621231899487647144275139685610607323234684696320684801853411829961520477952439324401403949680899453607586032935795528385114948044893405238046806177978157294357529739931349391393282914457104574520715772615447323205517747085737777358526769284334256782213728536407749916354343181522432984215257132550241727009538807504978504666321802088619700417208296533824737791032197693655517195620793669722312743614248339942685333558541392631673726630745372615268936178626379383382894248304290602976574957876806153880566395437390438038309879837744607785296317679512181861363913059482425562373686822066520655865395535090682603731180461445611565851512308829071853559381017602685348493239271683225337260886628968005063478148135084941264590706168105879350482370083574191034911908159554079813583433606436732732188938889941182059802310934195174824642725510171330561492773904744410252759774304025647421358657057829770807691622222585945925848480501837256644861375860547134530480356342199342580400230871740844277932530891545087447270478656838701252024853659509869937650630043485893962655603795522677943752622408501722435819693143168114903891368472064807002700657413625196514708199392614175160791987795310556662374718356425812885661879902194017398855787627806867883416581310809087839463831294810188359519640118151680588638970704386678978517853224843158035105302145574185416369686830273002604031775834045751239075177017994963037027841711016186007669237709787254704947255215268524401764606591536726562556188720472324771263564064840009118363516998421903857162867539410265064234308525065144956765539774369869148592960896888362986074631615175495397058992742395303476784688150047990546188508096794317465758645570729830190689356320387047005596999290643312526118305020651024760515040612399854173576270676193364686993077570583907960627257504239862044203558513101777934605080085263595059528865060627869501705458647236623068038684917453788953263849413297138491247278897279345323698863151807807514677177182897715924980119087693602947479621454906552826152665290296252139594656480844182351168821003378910733065927640184012811658362579860740477563734486345127340178104824707526658249102734540174695932344360631299958997015556372541454723585613921911399075377670359413138676725295316593599134609274859580652266244346597409123002122598390302231417604195371194079765716580072811278922808028086791335445696936725096291431176703183616729012107662800474517340639029210123450027952378015053740598220576332861530473214545160850314774422074959543699858801632567889678838196217542820630285215327668516688876808298005572317167900408436891273363328610732947997327229422456999990381100751274961521606969018569466222420142688909282104011219277663984308495021931722978222174802782863468116995203828232508314608731923007063935633939414322617595323999324324496688030142179997231672368747802351753848192678020722338293815092460313904097319630674671928376627319861902962977287741403358418698301756921194164834081153186775484231910957362871105173058399833221965525506720821483649407135253833328153899216909345661561020229069087754550861454316504804463059173889068267758565806820390647582200784015557439208326858959339242828018679530663144748724490593276417426986270474950984329780489986003724394042668943191260641774689178073976513051223332991799160641280454747424508062321477874244842404190136113642591102541662745651947440295961006432305645860712643136018784402701391756142289471643617106229331895517319416087254199944274906717647973869897463788989949494106540653120307338926468206156631196618749875337680488555785945387008422009590911337487509548010133498991041860984394935729813822979147017981156001392997584005173661587163662014893813108257436653805451722631560025034988322902609018973770906725906880918050848312531211038438659016508995452110016813505766146281893925217546609751312792117381359957458537734891378149193690244629865644084948767687549839070642683942536405722849722088225180814266063737623346344928443404290369634343909345634988524525599456263136154006254154866435499020455514855258857301209627140366177845555392425523703690312032261880768148204142386340529421576404148990283874254859952837339116783762191025075199925716595787960637909872507156080335268481917669810857897031260451147775428386714763911499075508313151167167401926402517417838465496688932628114926345635844307088361337638315169320118603030510756210133001953779858355093175444464317599151060761136513091344832886475039955094276907618376930113559348884654856595266283230014390813742919600292024400551627249200929857730632635133315612588756974926774004988512981204942070050416203236939451242385304175281941074589907630226311436521204871057541654726585022885232696563516474642649051254246528606116959476449356277727136634018226753867445326041807655535315679771763534096465544593068467278425603873110723713822463958448794967009897952975867315722766506739372815537156997258118124382977129246497841892988867581683718166993125798020408970066013237258270142073658815065937034383724714292714495190702074755101708667110544862830874387618520880350183294103289206263107880721455336498666584766586620944826229493950693105258153013075242035762691028841455139677394704357595535604864705244415637460910637205792191766751740971389448125532443636536162916588520691569840755166652421946548324469644389834498100973723287069827027533549429066005348264329766272747145629050525252137481289777781165440292968448968820779810508568846538136892159470875184917535640623139284303258307198054699296250822250751171775577709551902674011850745027914744498091806557456635665101946496401020711175349381630596618782611974317092879844818543577481649287027295713475099988483939355011974015201569133168628569572854331610420761134694889130565426684395207140808583740019640698784216339696636700280334775796768944084211056927906558574275454738785786615114697087036351338573247242658906361670499204079882613825598068008473529581998935629815037348023335048376757459378240148658002255442419783060123325524861690523965339298217829254117808586185359271956399942886410308552135025564220556802905279671414598088451709798315529774615647738924191226865399267698876310182528659153428563088480437555475384613295492371105714293051495513822920598682623065737016993121607928834511474203020544823115939238025531402923730385145242893679910073672762318857157573020189872451588470701975220227982225874150103126671413052597701376317762065186002846479433299789810346735876538863933997865098874542119169908615533281676012705252739142506607848973292108644212263924207670040164588881455860929117586331006143480787703871081928032547470865798359385759890612571542019685789839015588240441769274192308150846206774456595034472013872842468527143357705322958068735202325463372810939182224519928760358072532408410828296848325403777219884489456605720352920286137209193083631421397991504749535987565267990166682393264876413880717127319108141740052669136087169873461169515558695634309706091774188712781452335271732817969293160330841286256409485108945403021156066584485453465613711905473499324372170039225514981329852652890312172362806426446307879888019824417507140200934536314889252009734736530825421537625272449796646310885325509389912424137157922584929475070014830887251902040490357269478491816940685725144903660364961957065858272140626489318248460763017107620627784538941292926863780706644743604138674292507980834448900584499096481732287068016581160356580924629889607880060055990569813209510688575102185651400557229104660285224058563534073766026031327609542110390239075230135370926720966312288381029990686171491598461078119538320823363193255807366039436734012058240784895533644934381035272746099197654405862350420792287231480263034505665358024025644319972634534008025666899666171664471909412271074216969239971220580283818625225549755229244871979708456942175744949846744130771130593893073405744093082328805173504265243014519894548539920120130915588149093712507444994654563444657096632459595256870326365151565517219581783720449948385792770189608484252558384851438448197421169021438069135151721287175628274943232588792335606616340642045788551644076377089469445793786705845680096240581354348512948841488934054753489151267398676841341238228630054498902070687771852640149449786135307501117000866499358279581610462788182829702987534513785719353940340607835181895355995261964765196786901458756905996438969432001971751416174130671220200778994486999646592003880854007243823006635325794353744936152268085163724483679833592579039195406906914045294482424828777273861003002989603817996194839671471879038287140212037518630995886892688467758171571426669050269326511664009143170933080743618390737516372164448737330660330318512500483907405005898341233973288289470928257839636870258753303988492640050764481323724036885597068266623985767962669837585988220031397186536132829493221819437956313774005880528385840995486994837961204550981633025885340931203064196485946063706847413768805021929162854470967367137705898690587228701703681520641164992828492455226736070742478872878361476299704538401856079709370546659291791537994946324330801875723634160337386106428754670864611276543187722802411498022000460686963053432454620137327901557870916511436077428931122738094044987936205721819761136664019706221393553607083003892031264769259878239358291458465093113491538344878316612023918422358924341139719346531584675236194021227870117506891674671514275007064316969132949052289491957817229394887965531474040818504756807987546838795518260049050186208606706908150016699210989060249760638751125427906470524573897427992474047704104842605666253189188447509295017354366672535537055890672488628875388296879138598234290044540033849258473489762655843009753982506713563110709412229966210312286147984349626218109829335919746138805108802762510582104697772903803638703627106000582520695363921454611510500761612722427022241218569096714722028181644778310894519551453090483759290925123461671417572135861511023459150504812254484091529309532116747758280045516830102394174122564466218221430533585159942280508452126048308497794994668464862552662749227045532918132478410294499606058380102816973213806792379464069235581847472501185628847197796358549463934956217598122513683535226266236359074454954581288815152891472514285622062958743132358482168083859541165926002728346201039410083685072121224451787975373536212137119004772280288387328668103275910973712452399678721139296345057383931522802425047291454931846365067748847304795727105210697722747614279244912722942238226234073366483906835866604588533557602320959251721636269311185106457242397147771674944457476876573378865534253480474483474034839395901226969039024067763985264508008054430017998508515442302526562570169221262731031763906315815673507077212540331570076667019771602426144159139397564174039993147420318893736186053808175953695796513321302148991719312265334204505833012226114070876560735823965751631351232085875766287336315913348904366679788369664034793526700327882733893682671824353630964887131086820131564846173768596818218939164429446627778306130198142248009140835932826151040792083423324891727472031954767427219383198303145064571176609997124037063115226747840912535963668584534598984009719060498956528740765308810599501688142827090620280655324810037024411986847903594800677319125270235660121624886495701729647163320386504292010402217892641170888909019837333454876804165543747666419101633199901167366865083564356529232173521632449852333715497239416187811745879371225090422051309380959579394248055855519647425740266591653147084444265076359598369205220703426589255660156391210131698926481703487813176761857177314281968196070359198701187101042517140082796898062959263235822299920944306594025501191205936255392884923666031744133934358041701177380936804386097573292328708954880894207322230705284618400964102344770247846922605840713814676940307626455940731820395059779206365519077070305099527539059649854457199503424645563463556162763302966479060395596502406409663523692318208927028947334267457063621588620372228570618366653551681911482896295852297549994701887956280053859130396748190893772335103274465002763299634451367933247112923822443489964013285337496553429675474161153166872128397572355926185448770005266724553167679616862056718608493717244180652107505164070231627890927920520019678227201915973151990732066017774129353900048102670543701695600869114553515209094904498565412083303368392873109472380520045973701845480729106618983961194238985824957139232559198895777323775920645562169550590256474341180231550359709402662954908138801576652139929844163858020686980317394785357861694569461182369993684079429234845641127025293834035513136932747166328340896918776380801904950206499974581163696965594030318269624817023042545271593533896965010033439891784742532830383284246060882177068208005949061114663107044628606674279585792378610573776987043698161075846476652857486044768113506917491957078822330885701409605514806979157870281000683616989106651823364036996546295861451573981781328373239344860686742556454152024858529615158418603016799341379549394385254289241638539998082204189027239369253646298402790985184270777202094690901923441660224477556119587747343154319302946853430907698210654535125936491024404721624242945139841199312562155675919774887263190214174423228645007274994506441425463364129384203308649533640373111886223233390486163583120887509721161796361482090703077149275091794333600970653324212523635199351956248078718874524721034856994805367555109569263431120287160787525805692643912923221688884229393600147985409819531809628654331118122331940452961921554244844635366253387131776031853454409605459319959863086622339096278026271805519434835453655216876530138622120492944567710020480782188005773629332015814188837090690969200861939898782950663303074670779039395730591225533803359911705260111131486013895674377656901912533921431868840115138767208672759862914137534082270959847900912407696254709178787582162648188205487698527776683910005488676660752676428713031957007797971932558181852307416628973076925415326277796081158310187664661588354913881002033194632639077750399040882867988115897151628349249099808550119635256376300706597994940298878413717023474581667552893918847354007427249793921929205032142391964591251992184063118864333641244781061744231779804708960738804940377872855087168679412098248853848738087078032751369601646395398449037073948425991111545540451309770642411677933915653645388217789913813544102952387444493910898361684446915076459448620052427713754232436345662822949548174244875763144630543671897886247531847208510679465640898408522174660072394509617907558514579951850255805542772519844433767261830355472864186711003691915898027651418556299531532158154371928915883583821528454019187286614500289540270223353778892043597217244678182111375718799106383332668870950953562491877980973641424789454964540918588220549191614392737291620361019426378612600129661894199529539442719826017718667315500284572851254655124464375254023091984926360745951462121641582091237086817073648310382027302455410500808789793464748674607866147478012436871979187279937007942525286085442032765039849127799673069316420053891697759958547114741906241932327376928371459514065462580026143999908779195345967869595078061107923614611002627475452130556557081144133194575355026566478457149315611097987988070423617019028896928952243530608569883602394540520448127849563653033746596566969912503620860316663258793657326902208331334627626227690016078786614699077994941976762049332649433768660389603990824242628029174380159512655370260175238253672703325720668974251223975743806183890363751839931592169167382468485875797229310548264999760711311157872620172517917048662139829628660261842695991473832221275920601566798232706834388866972227641881647546930660003019700623012990856689509263222382765965991389767141520203865652347597952813907166559767737607759162389457394882958266406191029460877721133264128429376829202155128198706693762418784424352022227149530614922329888762435751178644819761488350220820834111955483349583749294325718758865206631060399646998500868208094113200653624802062059384144053282020817585704121482784838192889860164031691033691151911141257846741954572823060450651048196209768877893536064790935609071719219927974377890764232389771134399643156302616980704317217155001642900629354655596600540018948778335167015586109781243954254692349766649699763156565597735404929516443233497640814116008040002036069831998399830612869042290015765165254826564324935743871953863454752962863734702926131877740727172299619493828503584095543441885878772029182836805642726878242037388177358965422296230223306926443312782362979518026729461697863251958397748679755997540059931025916705542212708563356292853488790609282240774875986415044861945573506674108866874817448616295826414821186671989837575882146918556037282352335075277067518500244642565452450670113996347376705854121344198533109978779366706607577538555681750135618273765199043476149668169561277903790761320033404818159068522519946314729995449863377250116528968963990254903905638204750662351986597512223855432286993918211851368650288997123798031203744675716830796524320958550878988999862961668897248541170337899701379999267974661762758318245434280999799824828728173228208861111752881763994853013356301744794861683092690454203438648576442446993550283888852285992972503531330774282979927417505696318258018654435244753828429827973188679416839656979855715873447730139354348125981141664129173599311945424550296410288567746081438469759893409442696285913971467174346655113000911653335727575437131456048611176516913970186549366201540180230486535431867429161116725180848356573863130075205236821437291401933698998915677887541891642968986949322744665370252480795077756189909181320917816234027068531540565381471321357480658627398142130254576363902130591825243591640217230817421971659239238252542579146829084062383055261552750075288918873938739973914937522892668045621036761975783192496264244497997225467666647730134152837267836722118894530338040606563063868307985659874025060726707274511561687542024396451408163793180361652191167832046546516521095020518189992271109396874555299106788821311444505530640541289884546314528708078995723345760365660711558223860970179723411240394740077696977187267152996986872404206969655443063348544207579819775018982198515091885621460804651518322005042614720169699306414095014113882265544356026567424793177418046033188479414221600137868205127894876267333367170948239005193471198763320197408890035054230036511218181769846920693716085004392061085540406166363795587744545282368603396500282938743222926693479973645598280502615270867546344147501562164069309212410336194637994851046801305170977412670771660216582128940408971207119578881339919222088082547826246982378775831980896382886897375616516342524399059883939558510537144302091149367338636821353696964554891987357854157841951957643791939939880348335319975777744628609960219865772663106756415549032635733223654513586575611791227716484240492883874840738748192491167078541578224727196642649602546803875637662088833088107912855935187956707285598415752600524979547200170394506747828774336571286892048449743135616646365852965858733508449486448491014820185104812768509698594579748136744675993611825311918222649090593022689181663529057832210874018152652504856374299817624918267594234185221573004445542733646991099579364855838385169689005816521565136636700028198698866605601266396193034644035311893008544194128212098371748379496816442976492505404228234275158547150003045776420836894709514021169159931075269541283284687410070203428612560499695369816027670339430697094172412613294540504515512378068778010019678938714087287902456935650603109245542038675464958408985599204530493715913053697662827379660995960262660515328611448083029776868320344618751434289348756062531521248171524403701051572654320775721432076984154268598909334199290179984172191279144922184999081194159517226502197442871947751666501355092065132432112065800583063289613063193055961850994531232276276368176429245986471002802455260461021255769373277081143214121021630802196363665377007775747276214107619373898944658230730573159475419982593538014759238388515605066766082027439787388955576610021993637623736730222792153916677929257638868417001618701319128620166495528499349550365697088215207877750254089746565035820589033575787597840422152713280769597343386353836416547953698951688120934787154116502610353744541738680385022032562624947631581333098006386026768796001103650902193514964424542563625075216709015244511086405921362389101690641527702343227085556287495619506704093093442715623919017813858212916057352144558822155885077347747156657522050548724226976023828699490579567235333876582191780627215694708927827544402495682679297033269328100527974638646235815856868637316152798926085757690881809214258326925428013657747785322278912802182118622380667989557866731096067644474778178581263473255263726720546446407403061247736577063923518924176525637467359136016242382717545472111993974488946483247766928271680028052224438287795559900509131113134183634550097684598618434661426486686353622636064731839167848184969672433539850436296790130820707749789480446507912421490914224774237016722073408421486861398908565529107319670988128639878148182391156324753603323280954242926199326589962860398028193582256061165329677116933345728964098662716895739539242187865586826284693271332095545573507019444664074713669570101782391640326555005369215073434420121523278446730133421914244273321685823147767271950094398623363404985757381956455240229899883757938988765391962995032225060592575493422941617828920707649967152675142701352196561190468309823738398402464249636657868950799817046328766084639945076695640071410783431561266989482547370184720412522058158614128116546155257452704753884194813516674986743153982724134924314589823755075420206803758226337769572696310543638542884544742597211773824569895483033131225027132054693914456853018137534227433045699442831779123045317141352945973676345147230434095413470507859478653874354426881468027534598168955238410294421130934057102672645553132106988269775018013096335112708711043245749354650393525020434084275021147260724447082217347793683206252860691575444742652936605113453828038788101289800296793105667214774202148917975019782001170287563148687932011368987956531955834679299526968700734819048018656993921796168702169309353538702643144170181860905630691984759081728902966394410026254659486992351648248187293389946851663812993160643022893321775440016518008190556654577182741740247151521649784095962357117256031285803987733066551233079193980882382073882056116964987751625108323669974155095529620372087567339863047927321072296746420515420445592762188226028618137336135055333389870774871139352513233356812917518550792716629636550637506131335103827485275663697636916983643026687986609966505107226020378789536801976648488516020211701526590381850215218958518614004783107751107022407580705509510489388519780961055566395799413524300378017800795223962130581281739115487352031395159765932502740880906478652038673740616587390432816730533626515242178250766639982250290317968685744853283719773362194440091224258012868361528481418596947618906957195702215811721808503060618501183572366910576440801835357742517508309979497762826990597731875104544597545712534596968091074161347599070708571043495491440916302149525194665023676183084340344081833240915617679079899275492134917338351717255095086462117478128985185155352778702401760105840974148071690672360903007069588985736302941654973617004462439438297045089708015628895240592299078615923860181724320916190652424157927990896445290582424268382658736880801260070437169546072747069695799560936576220348594375235838718630075961939463546946581886686619802888126753796930172929089425500314154804163909220204022060583658771408073498464479450812170705848741645312237315790152479520903086520974943194406602948673642578667429424513241807206948563868204406555175059269813516892594760290127776562546686647189783761721854133351561955918285336513539614156120734891946139316085627166498029593750334700886235274023989255557905346773135390347132114510322019772851496458208602189828628325715439099435398931338596942116477965879747648028634274485255409989035486678954358663074226318982337190149744885561568355841658324544657844440664143928720563794828165154138580910553345143724750391455411327851688250557702385885585734982436853134074285489197871330130470321602697274196560018540826961934651720260398806856874999419062304675023077297513007088435930816008918085002086988961096035441301663572396823698653514940754144752774213332274885128498542386623913739739188663205141999565285459907837238501564344535345034182708409411173865311398633756694057777079141474684197132468601886076296185789257219647164494657485142865895849258597418056824458382451297002810565785991419448584326979708696651086546920684456758030861321314300157874334003030666872634417562952295877083630574989642986039164583535467806122583469469456921321152445194171731975197413712315090312166459756713834796829186012791857192690388515705607006053393521272654040894939225235962063496483164434881329509117463666813683850432724973713188939534918488268106453143777572728358140681402866112920958152027498907374505363338308278928639823615651846500917408427312163092079527733524272839014030069345512347292848973187535484237236515417661325449365007217286137878892255915134723664482590842805163096414822400389583526363700451879566110551578445109773716931883842839149026971504847683131008099302325157070004092497342112986794300361066114057283643396742787136236410766848138852666787832687265957914214837959622837860147955469245048083780240654532871033186271474454727450615086343083811561310070736799041557544898049882799381516928054643104722481401933684365581688018086998459739790437793728459046331260879800813863095520998802858154357115279652615684824713333546749913379208951215795106482901459866582707463822032663800077281732994110674213765069019932727924829546258486310365853277174704789930744522844906220876152876491110950218979901811624156601313599060419711617821011703368912719920847194707663737005953521534909651459606978523547439086406133341727812719428733901478375778325278677312357162840728034423367043904861983232283563464939064274164568729554620756901199337337736517111203494411713184550568786686046508663245665976446156019611815695306030405950390607639992689496232983945686971916890498658986122621308636339543308354669716670751175238567934865822448690372320453584643095143707869212393084810689862509749979577008766825467033818757079283139505634687555682080520266595223539557576539437889911196955753088667223441887104281341787370385304250117466196034058080403539220036531541560316763003079376057676873909307630086126133602720352654875883317165261376436561207024355710228811718819193422777164392831030349470787643709643489812299111109563352258203730278475943590033916832060004926316673263993032367233587251251247232386639468503618962551537419807346564898370826824541150072515130710356921161814789970555946715846766975417685571073158896997344624491826757376289413132440868676373546653228042780315084282397756039986303562586194470896056112291948959453869650337727209716749089509730364890271652352926041411834869820147081209807102071836868508218335537373483751824328003984905948497277186572785598707752957035222070078912618891116307716519763573218350896968475171564387465533790296293491361253702734937201487071724570793653176866596026340900610302103725907635246081652300197138639033748604498136939037073443450798877423742521299623807633891978593923003816459016121727071351266029849038755945201703382483857010263760326563749024976271417127398937899216226923211986770715524283819332363519311718268912081781950861257074269484655550194892538352327525540138604447497144870094709250158344816350172176921542178359847745487864325130966689531136976226676870849879169441591127492920190330891149626169040237930962913282547767128338712134596148880798137493715647113461110579464031139798187628141731351987558013553015091238961971197519118514466634193300293404253190994792340025478925724694824883467839362501164384670962400899837295296899604043135225356362673571327450182487035709483576810898712017513366446351470216626842745105152665864068801912054795212249042807654811873391659597258341085473649496206824056954792803183927991558833159483269112954256288411414831331542851092489038816251162286076303601346603705450663180590430191219250916391131594366459115734572232789684750334958492585725781145905110753366295103739473175131229737372914514238946963211522659268905511465243913982451200819497572871390243446615434896884176848570685762737794299665569332570068725625578107955001529784493021498010548153343999176995575325567033106129720703504616905352706639684534907114850762557589578849909405685749296811284707634305438272371823320564681078815131235704143478397331689915829410534653789070978575560894341624209038991369724519436667294497012098778473707878144216291929485361986111703675807427356289454466254420284317095473137928601673745939585551793163675367815641278064232210999720387975400429618563415351159097738964713090557456389658479206499334303575739912769204608859727169593581279069957189224533392515456497438559446762816996769402783774033062934235242141975071894939343740818295496245581862981784889157562132667431647520520916445924066578935332418228790204215330030378129490962957139800781064899950331930774298776544049889538754580965189744608341837099952022480521817130297099035110834201926412249402364042880803602087647247614382108847871627673847164096591684668992328355641990507602947269208290272181102935091480066415384176687892561046888153960584192549914301684777185082301825615521799585502316336636717811576205873909875752270883648435523570837505976986008621570212274355878117900245637930597705127874449206420941122695515460222875680239713264734516123631481111780489060929516144154718059360505735691508231581659176815478926225282390913681559893269863744172494496469591693401229940727788365117447258995511993616302002670082221951677529955818376025040399308360324520772100980187765194672352014978903127044686268116924160668978115475240862838354545100742112494014755999984886971009615187323321391167686288892077921029104720150466334010360020624019168926544212898734226455499920566075322229653132017818016091346341848076270782669434144445317514946056626602112412908060489200049975762176361423266303411272682159779620619328052083167272621301313232184302741312033258496320069632102141573605589864515932856708585985561837124648711115866732882350528530090887725862450926711143740104564256828936298388215219531200596505686246734719115062708152757483930589700179430157491248822156822173547921620745292305823951674909795980758986230632021023287899777994799911827859477900443076117259178856339191426349276702289634829796958601383672088179299842128010246518277956438319759662577253299390607009356302931791845244081786772062038496340508838769948114208424951982200303155925278795653577263757736558093554380639495949418290765359942458262507681445975578425481561790764265835810306643219058871759632128565122124937968934201567436590450470077471180763584790413852998532273841421730258368541989590908962210780763804285556562236956622249643459634823038577098876057271448930653573271772322823468525354360628934860915955638217161938322793530951433912977435809013832818369974721975595761857472292375670291937155293127140220630542595909569657933693096327495029784871482772627161423749960193474476472508233954400338685999064778747140951374417369807783807258658430869808293044892942852707954530695551042398253317995602550373714062448194115516185659892143419964626798741712968650176859358865946199317524459355579291803098167523144997344541670833439770942780754153490121786667521700358037702266314378264947041718067786848801019925001911547495715606574328892365638362194029504750329161589321642576799089665102136918579253108497463628023336292834944682778580696039961437365785441470408462723070715919893129018962524421776912619982143744926245634961828478810429312723338920695737884507950800192359467748047828517517621481989877588647152627492771204337580400701336974073490298233853112572306292531233432036355603702122930121761106322887707240721932964273602913948741692296286397936740875760339473937359926115924252326914311838966565276771244896283976132836609753918651633748775453772310696797264605631969656868051348661887410430466918111864479525804572226412633717059297130945851731410889212980303263786857111966413899418571877366461463108034197070962432364021438514959623638741612070883727176723969536218028858590409848538261651234704907007823956724936831279101689699450804263822178346742952591948984156771898061702816129871400901370646832880736129485981541281249515196756431363264502360272086339938238026942338678037810563529603601077948606815940540022928659995457697558090945143257231502512003889775374179945844402632691910285108740918240962415650210895198189874068075139616480888498530379235692501154501622284186056536452233980211404818381707001209914087550940058120963211349439965183416178616255678994676202019281556461467046543651665957584901615388998207745079211593909591104628813151503581135998729629763937320002872292282866928071633770688168107216418793984566764109815765230166005064136213947715661047146616740135311581316066035940356649022357367024018564007524307955661273563515639346385132416614334615336058435795336017484630441919522578994108318227927848386988978584053178319499771197909027684945155021222007339820930942051286225106296796793564207781566645002998981887071462100607847966553223397985909764164021034075545060017246559154241191618500517754480788933004699720038456424710026372476989694144474382610812786809171556829803270610048935424557837130464612849128451775584541358799589256904894177756047098221214756404714871662772502054475449590128170868181145199483445864784640242812540409470894506432044117648198334620667050870229585686805738179530550286520709535501926989988773012323933305987908258141178151869187458834468360957087812613350681080830778692288634583241976630195998054403274328039217386316408977217400100334735122335095343689400038834021912589254016916182185777869059408235874060563651440299722907400858088801658277345391295890936203704066448130064221911948919315187635514987859403848660472066848800785675906415270415467222651208441017402573929499371457948834563182905084891921472652027106997613212333628851627115815003853151528951460606044753359036306909315587871881742142366366354820049755312016865061382004983209043678169278504093963405525105674490670284986219872935723258385986059451673574550953053682081741813084890112533530849761132421450958586317244083598424830334056766349932062475735603502155611935007263881272622619643654398049138282735012757337089895023617711982986702248825965820638037704833328638155649170296316452785608916558231863603124207750878911232696411168750684998843818361817468518942584049322092249827352776324955175538914035245236522121474392684799277769233387763981428343226790124875640289980190537976457606202964756139731142141465782314210429840747778401669144830061453762329783658098940076138739925932483872662840817816895571655616140970914400994392568142520420687910118762925855438064609541384382234255682093431877228165838702049403107484360683217942856891824570221975607569817235722913054118897836992605927273877655546065877455922175530466307125088283447940617737888626040183735142399045266069216501152393130064177125741151973604148500284361827964818702629526230822826292874376791489901415082419027659155643385836949893253583629492274040710564179499763566704997760319714950758703349237163398855584494279957187398744692296241816684390812545283832667481045062842840084089562424789252092623831728507984434928416545112943530162120283693701696569597765559940110468801859038633805594325107393962409222713024913470372921393251066642092701387175358511424387285011501460904397197791097042744433135149942458115005314906584775101982342690799479207592685775923346241228077709029510210590319802106728533267488561053367718331414048228661280091419172635194860569770376009759077216918124130686615753289772091740439634803968044025058434351875486727488302241082448835427139045328401282947391847416316839920484867441135956773368850058960676570186383196748948996930859162497586075436260951578990475231859581577607993133881616430341716852911324941574703946216580429338551534587851057497042363133475075762587047040491242961233990412564932729953777771864642581883305716704059009308003731528682044917930313508164201490517193519666105260114897621491466359920181405068829837348452834193568112434560431618738522398003637872921643458258003883419012415642294767818267343297305373447639419824871080833151087229802585255366937284973222602661833646428084187106782368754409962787724160499613913772321730693902806724499303994629617415298880428228339490578310511899571497080092684713876110123810263546420499171581845873473114911265358932928638289974642326251695160315223305962386949265546516300070092775882451541814783700774335387709585681854597287904671703830840293264042950315724443020320000133457676580904378341451959648900522919976868509813560852050795732595804744985292211033936004731638263068429192139699786807413790365359505880319475615423181828591998134202969319840702872197864987186089869095927787901166609719503136882393943058185931666065804807350513982343406893157758477864050526249353500656762767044246546898894111351342652362691411205749497268328113743937352209074477722961144142987632251081284548547865637926264110515982737236406509697525135626206854981885845771205201723096504322476188037651274073961651525466533698128926760231628849800520716767980977097251810709233933902832728590903826456001146921402614966693101042383626188530136893872804423171216021213576612999945529988710117674252862339969262765590335716638968189837386150105572950971108517963464598183278398218703629291443467721809089958624989263335105033347532548463902079170862247297362391258440518238152914331942585977812222117114007792324489448592051452287088611534967448102601003956764411597910371766607138486207353930540093094749410795491240676337437977051993805392733124001497688626379158711189179353947155411910019961932895031610231300654061343185713402286503938420000615828432898037602883539975471295387321500872502169525680842886632104757182620301608710510763314796717419760563004471837748649532451016218121620419056247652229751404900413958994856741728415899940109314453022987962632852709567915689221965541175674557392015701912938458602952004417585179430308928510709207330148336203135004855173929185695517538457108447453438631775899187342520486295177783203049079168749585606677696222389297522810168135950810893226412301871647547963202709358292674997131593214606099287330914659390482269760643194127258717242896175138128146814544652781494629250835483260897339216669391980521661163637952456528714271081139644367073628865581604281614447669299830230645876222485484343646510810970437660097183392385697156976634899536181738424856252501085499563760142308461374509669517005937778610376138002509515985152629359354514281971155042001705941200565457766062990059275240663399292666604929144648898679572610735767835236307699076473246598896877018885284787154051581205921947852943253087304025253278920441182625231724216485542442522326475665619346823569328474977990460211320553087388346472562485881906673062306232832509515167257655890364765923455813790735706283279294748934943234684714540087617507343939858574026132023267998454915985224564200932488290958996436245111530798169751591834078157029257777842118927386567657754164948708753736387127756155852994932389575137988737277752352615419527456278030479194931275776974170961524385523230517054667508196988786419789762844098851755338189951408021367563386410631783991504777893461818961603624598762462884739721711886423959318926405913730170248958454296371094638312524703138449952577383645837435954322626431164859306119154424296897656342926828940576326864668955278268605765842548568458545059787353748697893978458451480581643417944098416462249344273154705762408229953596546462503350556915974088168624873779753872197028932760045691549916234286310590152329059387077430034161329645942276903976654062411017001346166097124622247314051609283150770962510421112722040456758206312858060548580320805739002407847683536105926985183255270939773706757705313646426617840501745906915293940993259715130501048265565003867659439456845392835719261468712667128219629213225946868446549544443646550721929842045071174175665095119343880786484115644237185653159775172615788682292633029440621343657545353850342246218216067900722639709158153604053888637761547888219637461329892927904421654928259749945566068449402583245247911892861131643299883127301572946958510651187965224026789537561724779908379807517517186896832079845632799765946617069063847419865073471840611265209661499299341285355771275612231535164974924651818750985008010588861626449531799267841761612869518146026715011103588980056188756639833538467295330604112543231977435713083761193730719245690862279790181707791808876606771562219337919938527539841127035865416916185955707725358764052102172274102179367146326232111317631533652624399645541269699395507112616868756582714285613234868093265027512867691424439279524232250921729413400820835244631434081584733747323323551543467847572053109582216062972690649828101255457467987528953154113675342185310808403799225293289904728009130536647680305687950021339793136991333308965760084231587232783084859279747971812187136783997848533910748688883153839446496009036165235243242219567703182776946786263775191924434036040384207528964194653902645832220037618006060520042008423214035130565108592044437170340667394852028984436439016414099814882732041547232983426435518259580888634557484392149275777359040298379137448010506533498145232359791667599423050763854051054304563041416474900361127564955385881736567905229877488474669880252868258724428228709888084468273508826842090109013231384138891354353958112075689032378167575409742880004793880404346510765115894536367607998446679542389708741133585233453213262499657560320584384696163066756432287803779952142545992039766474592320971678053333111845260879983628765042629519555432150096318052104772283423115825308649495852575129603243663353226930058370234437376617592648315853965036717493597217297421309849568734512921083022579854674247596377171861574899225290815588278492113660515659578070263694992222618232639495516394079412949187494788447656054860451720720079953440228966819506122839773540791739091006077514496946261363770731984154792333680265235458136228833246288388431826313307800426584275413485376747198423781359651446553473119372449969263202807774147431790804011496257754052496699844165119232490760125967244676280728691108023803685964733062531653989563538133107423286813166221104820747437016849426633431283343215173187414915205523286255377558786893650883239206667501457661373910436999883851693767746329760271999172955108499811803339196991381191090613109595848355840553331258753053140505949155304263356364361790764978251857486607868687007891510565902961039245830936390540396178121869427376992423069785156421681086542070287071448227298925154633491982700315191788401998154161428308493488414078982331704486045519347233833313101431515085228423877812701126778185788534228484886125069644704522051622920625240478251959484860004418445850080398200047330912154617072871342040806506195751498353678645869065084696208006726246599056379185275390622573225458165577951109881981921520630314044701944606243336839617436187627424742636411154776349830161194049194790440191493228403341112964277211977417152865910253790782973530732744677850859347051637079856639272534921467281371022036161734673374208409012651469986186745907905463288947014493779800477009158708179167487616234024414564004531157218289143399024282392783004044134215920740368101930861103026169173588973919283273364847740915208688361363034320710508441681388903611675239831370237414781781124959546707920760037822743119733482567385384777794243901594441012144701567315926651593398366857262156514324204792390888497445535625091436010521506469081325985030768721712373755524181626420354208329881110779635801374016299858290072743963742176673459697501102951010441791514110280008962814393689554516533499821991558205749974831797879418012393494272488555885706560981625698301904771252319274597206967962399117497910217042034979973501419700756035256069632625311297276340506510477187989676304929086268258595971788158598417931967586241102786885744546783823220055205491602946533064111191267119793575979752008519969916876804466744630496807834499100458567665421580202718976764511427027061465852651756473688759533693506980842527704791591040327713438636309353484515783914759834044295415792203645768310188700292446363515321558140685657243247053352863758861026373964521760787861444453773012692076099440017697251312790805591703885377227047112596537447096592365127794078004736911636089356156096180247455073644628896706018624666387287075765648867106352449191628951514864036080123178926033201163072918060497568834879125587519587013003729493270798698597701269132136388782109588830014445747481173870644391913367921909998460978104032580470546553336480868476104501212812827392769837491435287810435034580429523495647551294822186725469767714778752132216222647643813991885934094202213748001651623680824409105965265340617753071847676292939852859550081463210292494559236997185122234298242888970996026747788934539646177473466371864707820254701435025693146851535812740187305296430954973303843913292117991282553658399433304421520962733613673243217096326017834126538646122144367887333820742477491236820929777712928412236437591271498236252329793012663057329752759595994461173041895048129925534880456490471876750806368836120426125745611783153983617232475626787449791146342223795827143718520435622687353995384042509984995182964124711705326687301343153014615647822117793354474137228897849788409302929474497458545617814591751013530280586746411086581828504133693734241710335316052316927249112337103028225658595095916122102090446562447187960787958843781039693855039107186959085188814643963036659247610098472721826190728023681832501775615399322126215709597042272172734622299705572725699146478754514656815067794476381855281925689961877056852330358023506669933578289706994658436729205423996586540462302071042914942610113602211644207500131098428489204655354345302893726558971865258715580430081245224268117216630590545834996368554193549860748155333992438406569468364777163959381252085354226209114467009820366855034081367324286335073309568253959230626870350325400952226825024087186716858521228524467951576100091289562384177659792598060566164915621868634451979752319615419512093074852071158697040506883153993450855242847135431982302302696818693409380983892659671380097344822896617051215709206849782359503980352485186288584755983962643089586813634748571199320622844231422940702920878858963381687012126763215997391843875576144206785360623242767873044165471534398747312322786625951567116008981001754130474776868054729935982109743779837605969457652606493860119490413292796656497231012242339198797953030025094282046489377112225907786552413737972429136930965406954807018618293286069492261342816140012843171005702510547048814115144380021459767140546248020719948624524370935013256069595657983758045692673306513685236131748747653760177549430548629591508745850973016734849162483541588218135351398624537200308560085912947075064220562013413589777016992624338154372459473856922955130425772555727675459720784636355578338215831339396676311674553363714986619146597766881783621445835623130005373262157205383813717865846218100488408769490760788233834485324322630610257962317601448764550541419769139012893007207142868585624301385049101864789872077265041085293079528394247524186022722804190013635203467455805559171747536400131777365416709556204897545753153161163524235459277514627436902619135632124179481421355134275937178225288910072847864628503135559342095909970226220577364035741534070125775357891255473016101073330312839036320119063699465116522878445616416541288206029001174885139404362806373006951337488711459611858353650145159217055473839729472036604079095196634244457286260028999981509098040384337854539564685657354131120485619663051567221457540321692362003494485914147973796887502813415914990094683214660878477055659911535927188188754494801753067779747352109971964224262360015503774921465186849394222476849332450547770914212088107939373713145724400113934294073545626787523415154578228494200747161478531865288167290187829578352098697023283182085936627372019184640816311133700297144405317110814908073879533901462083174639588956805284010845428898247162723415857016872650764798030335213536735511343080646544383819617668038052132185135364283862277709113274288161759163653442706442815585696869406658843060838869297613034242816000403458299788546706048196041174583932342316982948852921059660824111665607923855169258173764003923216396660677084754148467004041241568829167691477560487800082198756220143441778958599482503875420108655783647739244269899148608793291792461969706267739248783637910898460445288454876257536139971693231195983663277736462092662166100173126182980294312197781963170037619093470166721550080208693752503089931878490929290212266888764120367258758339143285766240272992004341625781212250067523478039104149140236803665707120952653244210687538069304657836349039215032321102031070073971818174234920813041015725869748678584680019356709661391335959922060570237097527876883492958248026380105824155276138237250607758694005009937249452010141496908791861472932760751283042549485570220381315232434164629061003188305991297328320098675807044259811616007515986921639318229375042249409113499519483885925581296945862548383142214693677890597820623287612664714517068231267244282167900287639272174912009109394023471511739639699663238777161615328577954468548950022632350939318276731942357098980785296059740589795101862303102807330353190203908413214974479253148615339980895855817229038866999199567932747760821729032507476856672568714622596551156301232619243389323151385878785086731795775779034968738244586092996631644309553529922426047748794755479986787169143826385566883531725046190354368634198450724626093862233353426266716903276922521158127864765851869376562839343206854918829971184007054703191156832698499321287923654585167496779852839423684223522894272411802375371118668000481124341733538173513262111028883939727882773512303834131995581218595462712506878707524630948880413428645928741990114745620151326387873315943383899131727296042190578655206032620874699205262306457132880617685665568484151446268842597852113852191525776446176192518601407617691333854684381769058591940422958841301942477872759947817360117777734674062519489103851396961903233675408429707094382643151362426563316170746637083983153421506330040030509660137357572714279991736296651614906709858646094447357808002862587608682924389921513356063423279432398909321159640050759725002952550224859344025479844091015803715047148961477393143605985542707031083772368999881778374814139686340577767635219211277109784081011485129496017187277188254802500431391440421629883819033585738323254360628340792776856937985402046874561759790359887748298350747822538497820415839656298207573270795644578709036596855459720683723456389249116839421207706147461759616159767264819980281642631405063745569559888824017788281478069465588518228523118291794755584202999083560700016872645154949007977562259292468958063695093895910256753843811047690724501689328272023061827244551310515879449208962604663185899205629484172465800820832570492412848459392209199120017244565158584908834853346511192253745656703479239137930478821023772466235036095123546990435975592058828949191928519770282121526396212245545850446764894666214947141959229916882162666357063765478189158726491646825582468181540063983451030806944175279493063285489762588179442541301327789786557179838204124104085055924881132110129159246496183433145289903305778141787242097332289579780168790213685299228923762068594167708082555778185433105257203250277040925300382965430463614900398920372278469696916235606698170526661738844823100488704522984555987859053407201663607589888731858376559466693653957530429228587853040198308592737888284862000662960283025148347347180411975319421125050170399173736243649594200908582248547021039271766492736667165628009138679978881673706459410781056852253663761454990132978530269160509523387453619460710236050725761758957282681029348110763166797346123695413531384837763195048088243639220097268513289982215412140857510848253262784972608717842358333334946074367305705126602114941646450157604752300442499535862836355127145229378932623895568431216645261795588537160681180792945699976486655457725034820195058002139541745263546176389889208719701264892563340705056014429705524053418360240757838559904812765036512749613828024962466615313924333535139729577519347966910480064641775179500153852749781710212117343770213635845468286106107789845996000942316259974906951078803280336235881097899033810800862289328386707103166333830816408840715483680953088359787170983378783326112080996848201273634171925694507064878832110512837611047836058857152367057619828589613565763185435909083633195721245034440961714605604493687994399922172913005193638512689921416290769459433084800945042520689211544281254021137579413035019959927431680951923747935659245748286453378919249694153254403676422759522557707375430355596380566681007088013374936983886176446715180577120828831202614272693861872387835292812757385939779760434471262734442130678485899981655297967163639581489347412185415046759230583616192450160023896827045289179296913475308656017337819026290433936503368957131531850685311695895858258110824668977875125306009167866418305180488939218388018233751775101825139889106643493982259108403239609283711943457706064145783912192931056436632186613555155293868873703727396008185738152279890998417244264779054865222860403576373416147008317280464247729215198723662238800594208641423760051419485562149699103489719137655192693235386983390557386889338682950521391773509442346322735732330860950973463204428009598270677213971563680396548227728499942838767871011164622961786576173076025906447187586531368123327778585426652116254864335729837019469090315831386378008580448463344915400753391529042171433448006896061243785464545564973783582068948283084743999709938630294649206283616988069758503000071538673489874485153213255446279325551284897010710140329857108680645161962896610923111712013100761483918117266921664787262216458490951478633081025944453475481863482586920839494960604841929057978226412463826410650643762008595878254323641853168107024570166277725718165962730977245280742585104513392848375912462288057797546943784046727346614878329029135828085209247805944301921412775756006258143939299573776712331686277320247027444152346400747020358153305560557916810306671297147927246060840964397709748123392788980360579950829105559501051845531187910077231588051000496527864841735703579504041162578815288723085903998082735961901770784902553431250373835578196330359375165275453183932572712194479419421444944718558607359579262744675458118344739969006641705225862698400291484969312372778554677038020555342426330588761551847089615691914491246434950982628893777518034165532769169728795037917240893669751376589759975286290766850897784881615648324888168587817892559739249939952906783345117670532048372655684723970700647808684806007632046661070216221818910860659934248232138144956707589290164025566634934829921211208552088126870145292347864560891859523860526923862380611378223492681256019993527622803403916986953178993614560954044369901766255306479244527400765135318117835423695856762548736437398273056635565114304948760997399958382207732495162343870764335184218702396269254876214011717031663505838528365456158443946492098291842083589843537699034854887831881481604334632245250024449318241121399745697000969557338202371196614521106036461555514754031202657208690357663165582688018253665065994071307936914246758504491322247562576672688172090875724383003831461079577345832946836979944924638440922105694616246908919451758123821274170345341578699049391900393281471753014296281625400155794737613187608366699794827079148067840528323023682447987410050212412256851464986910513587608376397307928817926634754898256778964822086498975774004773179802430104042281524526668872213827260410429755954822266923604189028304625551492943801682558229132478071694856602012543314394352723498637930140215283124465906862226302599179096068440789751896176998688023141641968955323547602539933062354149693673830817213202242143093870269379244548392243802390649442828654809225097214275178968981548395500647544882341227757146863914970435464211701146705869608715265188688261510788929243940551661022222708691141360641477999407455899244627788461662028273673829454464596941246465750696648854318337902646734796420552633253418895266363873303310803716094758389614120323993510984335237717879801740246922614966196429168634526456166425619857590793514917390500903653600883950847327220479542503947522279099344415968105666480344975016945998604953622101394053064419997078800280711190610772049846130911584999497556506233739179954456842298504115201398537442889600897211845528373669733550897418868003600838797704586321829693287197846818867252808496223997527062509467136793425467581287518936709751237070094164106846378410552515583217297913409062388662454674709441955277635419439174463397447103404872559083678392354947826558438020659207339775202549464367246163339160137568054965554437968671406894861939140782117788364660456240724714627211153641822612776416102165192778335019931693801137011472457034786361423164276594298289711696092873416054085814076145694423498609891931847055265390531790520350504292640736701628187325572542181770469717847362313013350235772749583863839350437789650175786471853655623942721852652969193431018482468044685225073290781814948118361673951214544944194016999917965801931301435246800666762841983198481177564905336784989694821242872487114270604181567916464607133987165647394238018025169360178350974269240542835479838092813100289676301403396467474516299523224045448442180276201775599801576618227146137839564179149342774868667036669522568337021523250150314592531411497819988219577334871816879369454542715456057465364205449970179476932380578800734928505200451132717259224254990801060158163157833029708235142930250528428129926050668890085385741262288460734177127343726209791901037920438101860485808098818603992119873592933935292296123611951431342772594220179223398556862826548720661679245418045427737378103452480236122330517169293474185932522648568156162636059236086655190880956033266387358893306774945681900019108019250319142933062744363350532997714759930839423829270953651022386890798435464766138136482483047842756346707945001738780945920012350192168592442706542687398078671475947250585947604462631588109503988550718261544474359619319728495203224779458142472211933561676212229836485279827123906402679312483723938212671438880867046479809873711358564765396771813626837001602535456542370452216168831784960652924890867965729709407286677530396257616796117362996014744771283840833355380614381376211891761127753001457320189077985961622733254694264366561340031081394107427000640007184702288721168507694731663372048890731320960799304897777811797595307859122117921992197615788052865194684064365008111388001162159591672681067899643558392232356913172553305048422406449860321132499222639220621489737159418628019061764963703921146018868629099781139435884776905510142006999929495126010454827506728088262946817734013899035089364936475529797794694338052235779213928985686415916789197276608451877726556654512748388797205202632159725981842866178302851493130170781412397406438993283901766074493009003375595818348384033516442728228032531619356274582181312636121834054430705745656392495492372976860173016678031390114823133380195401436901965081606337749006425016880363471861706630594603162833477253770389669775221594704357712803947294448022439433892821104375939895699340083807095869368794873007387649232977796813939432775498564640353383902287512953988939021696221292549241163701276851981670505784868274734043664234927146022272836853661697641755453178670045451432981829972342294770077172537323541356351810787782159602502173398662663628852267494805939437359011903661986059865040549482419163270443891569486487310482014392108052895114290149575135660193553594066551199965909879248180789224564860081098706177341152422172501541543630934418468380735665669009901608016830997664085944021307396807851154176878984692820714964526165420148391905524791168851836470711372010971328606853888493799847258961131526394812650135069937340116301912554655942092135385331058091087046953586918229949981160786990966757060302471389347466216034104337491938457036815612114422970098935706365343502563080114557984221452705819551550141799519981576289715142922404221799425417284972747984510935658499062280901632990158755778983758241593868790479884950115350719365141191527431157241291317207677369997509370734076316907076937774059871959870678131672481363152231181877748852550261299182972763370145461874749817416149614628252080876720518628992589146235234958576743587621841110867375690386599853969783239946110183120416503244820901474810363164283624404226382412617472451495907410199965745810143279793989222966255416282454910624050273302175203028616455119513852548754863686364001224150955871574501252439387808323892860336439472447085811506266929692128465536322380138709066198992811800765165801317219674528450504485487487359965201813991297511143132364713345234493448696651612786487073755856847562872506523789061330760448847128181417449311094016244813599161673207353819295359404012766772864890270331731531386314411351994493146306444928952091846016012361120509490793554709069736870019250948266453868883260696375693815169845394210786469223067882760652308734374033951052165443222349729178570845745249365983101298812098311513878872880916788373473758602227159800139769614289816257305422980580886027613570041807570518547443534126236096581127773984703588548159242857630409204848345976252081368761359283601610602869175355894137414238059425808583640963814939787389341820984132754773023876596736195403474219760568390506982930268932836198705792636369302865190639142127361469490835397249634922853039553535853355928151701647667405942797523965133297374641487012105902167867700509100256487296118157681192746976149139499367555805687120673125042905331895130893431806495853624680806346848900400642234081771179626343996897134926302014050656614883629074347347066550835539928508290870159439039197838228978330949714450858544323234095032070245939958077587840647344123482296261152504779229139072700370132338842743294774379969912393934790161674891304725935283649180003464501746730176475236330609050176080184768691995195016980218234401108451840592087562029227365394612462196534027613233142710441886450134129787927072200333558042703242849165080378718619608567635842456799973191867638360591168427891649860876389425205494453419650206806423519723423648392991994632838633326890607552901985837880073707908066549718484305363021632422259977096271590598336135787238946758003300968325357274363948523747202183614694541731595736487054314368878607993109091493563671234922224419788053010025833125303993124755446905395986467719316866340414671441070608094353585391895953511807681745068730129716718507176433067173309301456974096581673713667680881389646007067002108223039533907268569413185709081216247385749308398440580015698987726268033266187649745932912878568246666269658416842748163569508668057463489366560120030242431906979406411921974898108722776474472748575838480909477519326002205467411578406180884010763628125627718617480392628415950650293179877828487599164645662850514847750180675145187629246894587199348099962956662363377426513628904240382151553219304712637039002392381927632311784832060609166728621538652868883978980673407220055997900915580563093825379422145199332047721010065125160380325278234562050687449459028092460195183873101400057146543530464739075660853081305203559328985018044525322739558244196943432652693156324890258715554806109236559407856239833217039761155673975281326441803882022620232420071575189387377964150796087544459970717555836447207456228637675847148091815922108398277136372925403085253562680852100518927504484944698749893275426441088651421270589916554903183313407585612781957334636027596156586851330941064362958995419167232844864721049529463405091813387599259191682661434298954339360336047833300725031282635826855294728877225586706641681174936499945000228424411616518671780833895912664733514116031000273478630049107054873423275221769238275230523068781405380215788414502158014566179419170562590751385333284921803868493537846185361527940651242609055659103937595951707935431461344219828335938514595863443235860687716678941644136875489272214455171633024719025931509181700978454125816623501665039938870892974483986098637704713013602215477707729663888551912941031077586187165209388011094811899128156119227652096136377503567240259812963765928008894682909669378544509923302695124239739652183817246726704942193175929946709088120592179153439561957500081347923226491668902954520022832929114463912275718210898796509545175998686046279483960660763671341576758880624147025160729476945707965404216297878399765487624092029546894006346662550378106183996897738547836381510620128621595185222336886558709885549572252217096818050131637492086395706113067147612351795868521460666116251950173880743693798517246687329901053589789109311868694530241890569187550091373241157048954420151778828281654328730804782719733217419630793151791454949039867739255599393184087533554215855795512265552664110080664923694971514813477873041255791857148074972324616415528303547546797374099254375744025724139409486250729351402772294944199541039195607189828856716519763400196040438998863030103483942777306072291156076678565 : 60473019733594972664264492440875432066796244892432337544570770367822285715477508089377007928390588023696390278851431899756653347770742388931608144962498926285705288157716422855510836588891235764268278923405844589331214825859078775551189679576041519732919848322466015614673693018578159910811312687949914323450602829765814515482317446065622301705374256278778062805606166990842690956939765664208513243504754856938234918006005537326958879108334973338149220939173114975409890679888303314389678274961669074306551784461909905278826322342757970543147237392383973545290456207183385958074889370443719005426763244768477882226675717059639965138874828894645312406723724486260644545654514069520405424529321291367360536021634333639347113137199543232049573114042695438893465010736180313954730022717980364031744049391873862549867616116640702813374035592303562131191347907119648682083165299076783706341328795034195678890161461273907558607531499564698574227906278476350797934315202749752329250302618033686495612017590240877782549610258993257660075579408962565050076177070206520075290023617982081244871764414944675877977306020344513490531704882930633541634021731135663278298361574915910336930908959795628002762840985435103409409894249772525720358762924460736012247954949968065209607939948447444330928643924668042064984522140044284238902385561788852803044983746571388545354609624298439932891689086110519442781986125465442717934989559829600078731488335138221016336808036625013470561771086730067906596249338112754868529187917944499744655775076004791077069488572281652241648927381661504200461491905124845334465962885968666165651847316681004441992739757997898747130723267220908718917918854058001821126406765117906593422628508221119439719254636793837238910460640201159376387038563719291480579002247260777255969965352920324475406779583353440235929437371515352429139984778160415481023927111747412369051160975587655438988081905499172899912478107783409849068685434219905271206551733606140120528784764009530684153830613961343872293607418761911113427614346190912661228882099746638384207175518396094258185856115123082952884167301569897647276347740346422339588702098306696946202365050081731382079698971610510880427177112875606729427354227500562310883655226755384712012828019908349219983277882510858617524352969969735577532163013327810080809766821861779751992533883011299486292243822856171172158262814890264691744762971752029931358764642830527135986851370514264137366521760936358100771771091371598556553467343662084287839083162401497583931405931493551788237669706940813443708058504806274526977750390312085052547737060493503110125871161569318259498365468878477156290547069091622365945944598397089247550499607341877479873591910475447428435418826635476859550571314794196430617852578045394537080343835577438480355583331821389284030856278618156123841977442337999870891408737469740544474531822508788447966586142892350123638288435205594150960326781493294619493361259018416199875528749152292735651813555669268710437514867391117101869181883202845651874796567252215310625791782669828928458615566920949396686089187160354695177458700229352405441790847760143598292633263489935957185642516346481812157579246044570925216765074257910068489553588578794258320625677971075285895883460379015296768791472383531740553620011695944899692689654042440878335044598192050589119803572617474083515084423906575169375360430404210410799705399237974446865104560014880559354603686195684869848201153672374259942322358251846346752345149362890008502165555495189239811332314559622783082208093845407811498428693688488268072720816448380533604509214369249743735206102033045331561988848598701842570235837201064988256199834434144603159281804460140946147338747847468407428757907378342456964540988584177102566341494106323998535535654296382509822872511277064610965656236651383134226402595462997975983812997822537234060376532759542266765326987657036219255986093303248444745207880717878779708912045387854765384330253396447066604074454285925803306583387933320557930515159967782970312806127814980502285087000113097581707022081495042679619589176808923505589318501619473796893513566849546461158610642198690620494354830647484721053561640149694483332116616501741279469453301573269560729468459571516594795516534872278034960384845727376939075482024277699016666670495137386025005184520854442751857330557668143078976940533739544811692359948897087139389130000354034516640832992474532435271556618679143711628029055818289730438600841922727291855410211531252407463522697265383318780711203205711007856500242809541766562234550299794236037535481252755046254061025203282571475961841880503847678035210285398462566068775576622957420597556394580390169163700152998877368881128766597206380372630032578905986194325960040066253300572792597875532354918798884836620534006176252479195578118393365572842231196797404237192193018512668473782132777600978003313451023735815284122116173385521845298734492592540923358204186675775332865895085345524141672998559952804213619630153026651266819822672697452444542390890992655299358031720395008587667764172753478945420435186712273402031531440413955857829198055826538853506950578624732153070696333519232960958295227349049102422099216275226070716364585941066322132678932765174472261716389621510730773399029955823568783446663175298738253670505367965699596846773388090222892515989314153655021342457694222071054500589262509161323046389573131831053592506372508887986092651753732810237916673921255956447706120296903663371459985048148209771954494042689889342778859455779868028625166880778981545081262581252227328242827671336392195643802223547653087122859890383969015259478371913723014109390698845895826598451940374965997601999122693188480324859402616743541713016461730731651095767047102338495461525596124870740082060452952833178008718397422000490371342798673252205900382447582218171985807601868121968999564257662233866087934224502797593549407562901514193440873533410545818229034819707972832484935309545965753527011263677844054502431320966990825316959946507352148050744455362709272144420911388937381897116268855812156409280551626275080654452802443813947849337085230332816413742719806863638772169669249456729866166008425036444595153711566036959844485677057144861711073265187624327479058550108960589688353869109389965708275009112712211263599433991355193312654176160942386490739761607356910060401314025562561095789506704444606532730275177784824831957202807782026111351383348699804421883295087119296739057205143728717872035239856965641209400847894997638150113611413632095452972329508362146353884152540468122524920080629138367514958955123337032718588065240277746456326153664076573024745877195968527894416275708569866982107139245496561901449429517031744950025493572596470734803286737963991352730604170355092396038862059986523179779076431506212683864150021938185812480640823478194209256419470755147710849775362968242629887053982275185491699626931362123175873596008077651352398361965258115075782099999489447705077191963826836652592114290436627974821616847356228205973131435195086902870514252580075865651186936071380027689533930454987281482436807220263299786206829774618205355968825799197826957240468606032983991028836101641413034628009856314456036277926564094954803898911145279501652146960539853954966486157028632537876616485484418255081868073788739152278878766387259401323315681966406943887057177080063006197423880885597854517405484441420324817342297254028652944482077080012773550430232169150295980304109279244892069624295014360455467649376170350559850927526315330970177473350581852644429611162284234643599697053591367415652340128409542457483099594220036992903709936445846867709668277029851057852186919656110645029305473312673231325010597526957864498005427378806148913519506562664946101442136042726954066628081976255970509844241309201884244312560545397645802535531228992892556829715225976841402255107850740669907077853817163573338648766856615845660214661877795488317986716443011550198154498835299515556744506824699069894332951877678516856971251562732497246685255126696236511095781018728762420573718661309487505567250906400119729788928054835810391119530748191151921089303398139198705868086029286095328803956965547393032535721734946470283798268342574541778159213129941045066854697889158467950591428667240232288252047917146056583468015528875500615212963613503126635864134227560598300658986452306469337454617996423268682742413537658671336710081020904917050515404169813485822704548661094891405434480954693100877915129194776495802901279868707787632364236505974459430265884042255427960516866775509481564860592525607210863976120463183843849012578434311012424921648533453201626401523288843632100686243823469726427845048993269271106786814043529832556576703019393642549985120850351223924722733126121313105562348831680693117919858207567641276460875981540478165358013537152227545040423895165266541923571331169962989999870278631497475512881480259115150602970960340997591026122562260756207557088455172979124640684513413376355919732657872636004377217942772718315149903191615913105501297873999203713344075547083104562707336300725858653833960030298242762145506031017130658400007924032815420670336138200063038621355151178322323622203203040276127634521370501796823315664007524884029664819009331674876318660481299756066115187054117969619863835288335398614760206873401634764886901703064173155446562350502859625022010998429591992500630790271766924675134574431453047600221170645091994390255409282126247971201639815723640706186879062658715395999750313372712228478617828222486355278160640131295212373093444451858850275639865780490955945469475800776213108384826559987014219414060554412967265258234896621013664195763978768274732885262623644981821325196875620039794107915726850372389277954751296676761628068667889799924329145342347443197660519572520191056393155239795643803972906205579992395499738757254720738838672346190806908980634314945472092066368457790047357408553840112377585029952351546575081896528680898350009097450159087725681524527246608921824732429212308898769179582046253823469977149873790024899700535567856516207870886204289133443794224034874706058931853218750015839782242766492278994956099982504748281046971309039324871087331143421817624816738357055627285894006216123427570297802854697943649191570232577807941603624056710168148930359079483152048670728528557240674763740021318434838187161661247349023161490015343079864331372084838408738583780148487343878115505259129354617480074875760407878099503635721593596334828104777595676330916654682834593202998261740508313645640098421047278007037021616922905141720713694686003919170209115739780648621366152271793648200258959121908499362434644289453892742881213201099733954956299971815066114747816196265656219847562239098583921264781257613132947580152362026909229442908490241223585142246920039943975791155674395196668535667001030530811444477467204228452819821384515162492560330497361753156279111490921313888820432070730721984220077719561626004423215005211976168211323148027619889861252449042997425084273939842534974618440874401056007008785420336929034043132612655680024806014306216583690164308712940574085048858117489199943765357353702327739764661522463852925660721892886819884737413908178148282319047171122193168311782325254422144179691986909021303678697629350791461397848647885624146295183464813908341359595085502674155084391104047114375201185677856251318569398881682684114588821082819568353105382080971242062239001695880767070120941459821884484582141518191941652774583864062465421280297861717841380216833644674495799424999090256741238388060920567160720330847474919122463752856906275726089121017272647177376745462331064070139439366590132032256673323811408997166500489335099601336707901015192703978047296994940122152275590253732259826304243122895571700790764680088615803261722258673533500361298148251721600316104848271715873643050998414283934789896177084958131458255292495335279841676922838688666756275666045824968400149697657890049324513986577667091834042490850790735300673662292518727205670690631802271264983109224599690626178935524622408948930714656430376750804372774284596869332389525039630811477198255774872462760525807112071954132292442006201694195534629912355018888197685828235707016416078792726144561519888821428494161275204421579072487547444851170627790078310924240574558488606952674491593402162683343376370267411348625213870701220288995817976814395587105767861701497597092256163447417899562673196194426111365984387084703909859637012476834772121396702435144827358361934663522508404397233602188627763902621838714794668196356816126271241479038308304118463683932903744145186356801918407013181864021399596814998500319403843433461691887138369927922513676404115074774045669051704570316162740828405299009304501880807336961795462009816073010998458749236890347685600858844679742777082657709250941962514630791825874104916098181933441691928124378595455894074931741073355511922251254304440234946154010028558393826779696931913207676383194175737686052233333001399722000687435849660971761272938614928652451773707244950982398086904681094511153666851613001952022503690583412537454798910768757499697456507157675761684346134591620455960681539390873102900704767800159167320419645030039936433785375427158488557671866072283902852655927875236168431309341736017297793024954514343441189144372552976902841361991707493113417546810589138541033596011045587437488789649694217244434382734229632422490699110796593444417854050428350989985745351013898674233487679777981572226971480964163978509774697893049046389097977562997664447637717286979828428493570239334790154526238602963610137930982873192297456816882493265486788232546112593497763709616942867249314057682932759335186168831889996545419706556648722809595103872663694600699876638536487965866110976752149433966421162495077105388081953754829168515896982930408205494601030415607695242149252563540795413039414672585745045621182008941806287192458213682214030084095064018987923157836908863160615270047936281592980321537093057385140467072680937083785536357838924761700229302264555789584582926053370388593673848998199345043897936491386523008236828876994051323730495971092250726048329781406108246459786969430647934727525174949416599137990209905778534471033729546834348521124185749443378589727569672776034739587446665784066466744223217304921463244764557813127218802890340819194793285212724015809835203988568077999749176428112348215685181538406873133731321608226950952507081568399942248061000729689552601627643312560885010972340243993851489059610114344617035879422919654687645547312318977847042543125520911317839933188833347014710009465789645446549669599808991935549794943023859914786056319448352637536563131140514955307186712711152957790204556729612867928070669979671500693791788941387029285427244218840047697795872805090626047807173099371606321756532794603638711083998165847889865301001825287435673946150662362971138724274952632631159718245651413688435558676468374499077715572701409591968882805251158877659672031445939745060732953433296415120336466687581051501364531008967092433454561653665818271191426546773378092683236358876736413141306934595069725334569440615469839807751418305112017140408197723838107471984538460966135539787696360938614139338660806144611900543906355661996974120173525573345338220754978131610481736131524118595317260130478317216934572574880254509866861973558962677534398768565922774592862480875240226060303535559386146572690679460759156708390849681063088468807689312910958124062816723122007145618190726703795230448663567906156934676820444616143712665502137559528066382452743399126467838349007878260573174807487018272827849368086027540612009425872280744004686017293218457448199259214835226339720986840254997999551955101515015120048470381702755631459422165898555333238402213932759655621217604730767861356549008776977347864698692529185394720300606545637730147110345908568503428990233017139107411085182251209684073808708621580161370405624247270048337316526349124103986416872518778268608914539339856321828459343377736879541078034659393269840133868264419156464973344635699185171436554913912819478746083846101048449836594297933295768567084904697579341891294860549596006695075038513108728140940316344661941127840522138262600478001225626257795780106698203419205337038271908549082841409598432167447605036578705799103159054910909967907059364337448165697856929738223135291260259357152561075331366789170874128771234058537643843559897819264421866211670570963206587541223871450717570832081653266010022776756691837666379749892843979604444167401522936295088105382852221485314266272753336209244430822435851727814554320871126377637473535324141502421355096442794761932311044418311911996890471942850980317759387034235582085919334203089390821327006929142478526387849355299316229481561030762609034120192958524015955195086513957260420242939758553677904824166175210906635090253399031542352591501641065148823739674308424512810508401434812642622090881973007423527396210171505355844625180693969507911415942824892574428584483818250889537581333167079072051924369422081281923602125393466767238812401022405057751034368742549406876882054877961623173017360185172162849664198418091276735985201613145004085512299890304550327326237270993165209951947198353604010800745531962416408056970977856510845558849001174614187101715416199512204146400599312115774577961964869664806982508612379111779553319064790151390576833555426024028647996135715000636273290933867043339141465391160263679005209554871538728848065489927959529880671848388243136798994364313699136705439197467101652147293707388763051400145472508756096623397631191636897793656700005636165218785721296721629036806613423289495465257077597296926021154282840931170361688330512981103179720252795032244950939404323163809056962621906632074934212266821056054961768261069868249835594737549894162669579309731398498067845296552191210516988017330506037341979408803348117816494473768178917548188990807023111994043047292839625148185633240074088169192650277465327851639136244065570334603190086533425815703480241326947082072754042883580971483150557971226066371283275493854627788311301361560515430534691781639902265253382430535255673451522674180549428074413107584286616688787366060455412756874201530753143472089067315151321616887601926479981025924970209232531094863880432837454289698376010070553061849402922349300565663159458821374232805672927649356966694328957779196112642016150815741886318452651344153235526820525000671243123646897764284990263667038568006397549850322493251735202578632062498797323315399678068958427202379830913756123497829657010086667004085332417979549457477830861905037396429209071347795845262561380801690927244109944265260581402793910514510615935044521298246288254670920230399843783066024850642702535934029579366555770630496991043174607526954702707816846776837070741850627312445316101395628839355693320198147379434655495809187203120582038658945307844805637134641789131501859449268298891477654854034036071543341531269493385878474533916840945573383139359236008141407067727698072827677875558232304673358164124466090730063918779024920227522497198128709310340154424896151927596393001231305579678509260778450062305150500211052810372136688726730020292369610345871944131038717637212544008686203844609108269117824701093661997030587699211585190979692925626677054755094043448069119547615288793671871384046242899093805411880238640900800391350098748845773709685843937290778558076483251909074890751210806695871752013030323127294452304424640224650287564788860934637071634608779841598378755084549902736282300584993978971596462118544240595652746373059076842888843972940642093487688874818505013535241422447692362401740227762643615226117506648512059639290056747744181359144694380047754648285813085991831920913845861434976943314095934375010352903552934014146087286331954610377145230958544182796057667156694411943638425760896282740963832910630039371954372247235759178790632968307505853650111360781423931216927902708504500696390361329065320166231921163950393857078214030790344053620450766044840571715466543834059930487094005625331236650689157318817321928888545067671134028235488932376610826505795286987955186374098798614452657131028943720414738067975146870276550385340718796637080381414316907192402283111494827062088360943924724466760975585356494760503463479797904809456411743767830297044213560756045560471503176439331724104295248356359824853305715838850803338555227128394983616243397756553707812104506138464720736245845735258866355351425393206226779620752701425623943134650183830376618036880267456009333424064140473150317495733569136323764595902036963040258409132956828946285643975034540466620296613019629735544849663736668683652677567623931442467585819430553468314399230492802479470550463505230557869276562462355973841713482984536472412916533401915750844889262829083095296712479972478435661875697127320850636714278940963114340275686548022114438189123453003897451794275366882753349831695488157080003213110416528123767710081421432750471750107519871547443511199553035650523340141449229646984213058633571538723453681288915797688689755354244036386597287622740915108256397609505492701229567806992462429051444141416555212546255525826871614961213384910619045269358534080232246569118766151096139887247735915840025277244047077039083454261726749103717729983809117205809044929130516533017400177860317301565061493439334753672189491381597371654128165005118669327771484570413037006473969810498430514096429742157718335118035229652297372898684118180699112978912686869158518828547279261610880498022049955660192600030218332432288494529286577253449219764561106751782688260414276301295278763783772218164622433197618344389886475431240463508795521000602893667554082050031185944388065397916792314364712006129972635606932612714957792027528392215466016476786544363911923497499537434248437948943086633333532950780223520112621850821925799100264627688901296285961033469860141425235896644152788802969399505468164302180894745103829566390239752554922359761974415645999332246768043945967226380575156611914930625823127403018928017137140022758438526749612595364795569039900390052706722967227841192539300258071787145893444787474578948345894498815368157941460403461102276327667658440515777772551146271091371867866586533212083645635001994884660509001937565975100484734610475407137610231025715754580816708437782999945915807395790538263205214851559037250829181306014016559862288237398918924976700075684946526451172213213026598058963605082454341977957851294432296639795521052441812839661744491575264067833138449194764709679729054357941256400944883339224345845715440038050648836965854492270774496143056118413818603013519472733107358866443805695671711968470842887581498589575683131048465324183274903648801106921251404124663972538007344834207329720504793087845795677603853653941651974551152071117300777365827979652024903719465571215366314968667658565221111632557561025943276354544375417419089176888005552863935760501130702255870817597174212302354513571946352946602677447858089880872655403820704377341641151093059888914814389341353341054211120941299252821448697731713077526881054451641091984544087797118836436942881349224796973548647216413958318734184496756616122909218318444328670927303133272813833661605682851675549271614181327893961072192227215543371846476994474773826335839877608495190115539015354742697652390098241338206053911621835240709100244614500538109735753454464637138780648037929558372611371028724608619812397214385109785797220685786610016095412800989995526100839902380826921313319935112829967861872443569589889298852152360423254222090421830111340931125132734995739786618019924075278417663797051539683426439252381900304111597576954783097890239493968465413855751060408594217522057011705216965577403723148379383838588682266762695968084297126285810319831387989943195933403137151493942729033929550236346142669671033382985919571480423448087763513250534536626736181950009626163556063733209355771942686324191123220473243536410423070045267683539237441038412110654121324839892583924618231132496208560708737232993610493949657590223154064768727779348260111731486599053876961965281266893207904158455664185844864622782170406923740766603702498898786076282171475038345660451938106450829217711054707442944876456435988846455619620166797776964044481143032532261963192419511711330804373850016742407149527933429774763886670511271618612587064664540724384802441419137481011724221935994180409210493498510822729131387163045822247942655852730363590001418580123492055195936348571689260284351937246185735172445810475719480147687242633557105175421036449425280433242576917185670233921538630193839997568125173421947112768111398220221305883375011824232658588427151035694079977426435272717492864334978050876238412747504095046139369957036981805549914467000051408096709046168143104956813998092398996008203402062794971061076452225464929150679332249867359071785063787607756589308761335904941188741909623976455622267913400616632770851748655030413856190005995792466760145292012098704768991036893757264855212080133288533008322420075900920996467785943358837840942552288033926655338820470230824477732310570416087632772909682507198382134029773246138573984835527663256358940355909132463918997227879253335781423800580232612606630060840464586757129579225467877069618012760536754227202153473926083680805018649953185743448232316151580666225654197465439176187276902001246165851966055657229225105432045120288501464086719393300680306464488830359322022865417902316062045784843827372242878442024326769962066509754115600251045941420560546135025597363290111951432292279194002506863487806632574842587936357278049651768912020450417312784401081019220768498960028157014019759903427416484888216983802322467503435168288655626078924068991281393638550718784561623967024706693521741947524876493859797239371059974069891577147789691005023513679878564616572423960479559085479815212697399224450389595995692920054261094957088767882534661412793642350047745915497816861775198184107395174983133518882553290101810708231791154473114704146614249561254951429168797573520277289580328394551102509590721243048474612897709152012002780423607446343868191579445141814012085000381069394137823056362198524430672549150509220631272847141275662427584371604610860187926734419186252738405196015316704946953110265897922298662874891773886662674795153127528350475295532538648638553667379916564466018998542185973654132529066668315289822280753900577139384804005269503053319857552705827254872166925848528248887773527814012924972963753510652371782061929225298821751982662222167974020046483711728871783539924094448938978864098382493288307128528415767173645017043816162802020833285703516155205987381860481449234994585182783800770620698731821188896250512864195876410601979006961393710105335124947584953180046665222192965334692402369108672653579744102297287581479251230713005290539581325064831335517077074476600141070624442034122188117501609452341469090161918582880274366498614688818607026029293018942523231622635444400073787462617627971448086218834005034548497766263673240261861374910015129031989500638590778678458196186304479470136908399015976458601727892375336216695716146911062358659234108408969633790170550505900628915169573654065872486385087064327846938503649142890023862544265591038842100836100149599056661651676282703267651827199654293500366080408686363970236739141641148612368975464502821570004363642473179090668203705938011511218017589620880608850409739083572813848571807057128967988834304211739439126878906039812972731727738524927645857264573565088952204046357905202007554468155662360933037583595077709397083063893855986027427721963528789396065404660979465086949067189454006587605642873618495419603345618168503566541691504392399675175383945642940519374143479126286039373292734205792629275434767911092178971338717006101892175557050691272319910070985388399691241867777498434847193709879632682721039640134762632724510289310732858654941833505115161680581810891414907107065756607767508769782700085451427883396410944071477951463934725556802980851947793766015897622394898572194319660962660083151662336277419776977218560167236935063480923948817192687486760922228206389334709005137764593378771006178036376132722862919519062108784554453365682000364818664034533719317323798759670259033392840025697851583596319568966633169133907620422577132905945724138533865922652066046553021416357395708747815291312059010969582532404322458511809190994774920047727977345660110421047461235005170985182833080160022168598495251927090061595478257572131961641984556562764907643518815047416996812928235123349250866351206114018015829521702662471726916396379115064666019519129751525396329378589844101002323587757496898674047333629892242981947749032513705675719637592164058675396522981674629855196215226515210064618238922201277745907772654266361723694246986187014281665695503740527320297256538617056903408192190272209299004668354179705214458943315076015396797350520184285217832775218268133165712386030242070481591157413170220330254141295907714170837487536659509711219133696294254875949552986825934774584537249636441624735696869735537457073784076497450093575947704704033534056118023548778767988980794352121329640299716788624664913412964981842458284849813053398143522364070691396678413179881408714434399865188416535064278190801747866212700765578949531519439313606281654020804230808357073444341768569472659601781833892534034072814231219889183004408807831854634785561006928706690162659003412877456954413772555839377097887035564175896361669792870468106454124267541094911048282258539599632623003235853315762982090049364798199357627450244677203453321678520720832830151613774462224295202591186687304229087661892790984761488790931630560177917353334798748913674440792473799832475240665131524621449671661340533482765755822563564817069542222166282332822573482034872330633580037449423356599524061691149695806272238234363308970175020396989088140155607448876941380216169297276745595232044627408515837155886773504548005985442924888473011105239178030971706164493016379896977210105863373613261282266184154802547691224962719754440432191108754634140345384396352694903660954784225518032241196169960889974328158008271733474812004673451567510433774254036139835047252554132956939169410611946418534271648918376399134931118288560936022651240708173273002818708716531355300712274689626199596302393826830756460483336383464928969580470693980562180330889987193508623158347729608691477476408345909123987194211877487226474011646026431749295129587933382439573888625932652268637600003802249437885080525222886043404415035466841430191091232631275868637085052367752385491931379814442449467573078381822990320377643398116512239772621119120621348749610081598838382467392602957731389767805355019953618438082943874674060009255406117079126592777096457916806651169976805486608113877462376186152042647063151437250860321541285115802341713196383363416018306669553289275989553206216589972088508054499714426633975628742422921955176344408273295449027024595072788792086151441666832384745246788762170571187352533743955193322159088897474861627365124595761151349485116474344107730236701110144401263900387424067099604967473716352095404317847136362868486647208282586440290754592639212556016017457229411905045128358638644381265260049587354058966730597461434167235668649114291176736281157652666056759370122219375905277958168244306277866994801462719711805858768393554427123677988086697363909405156391411198279457534584577661445043764339525223751169955234209690811455667329172135638764071246354813739582004516354649201610945448641915611615799714334164926786921970685433806970666998532762409840071508209977849407311804348082368748940430012072072069224110711899236839714095891136777652017092173147911447755091196110200433940628012387635909108304843345945353596096045731424246028078483849815119425346359026684541354540577241532039029284119048024710211895639371605054148059844968402701638334668386714857026411636320582841052670571107715630889318347073887806132844761327839256789601386189624675539083623593291313986510903974927388479673078987141110334799317680038285309869918029536081966167411245657783408520332206756247181744590153085397831109032790253358562804254993170414341918158710376818192032282334353124217023782750519819979648703117183130517155513374739093024014151328780790437052178145747750386692806696253029841066430223573376396285418431710625895433979004296133908800528199138181637339808164502704510299801600714203137209702200150430695389167164204038132422023123928203845741336470479339437143669559251602612084735893117698138623591656038069830387321952993268094642443666329886158837607958211097060090493819879777923941649251482983869837306644270392959718738192854287396643310367557682915655725385256787818189591918206787618255173811899670648652613040111838975333963403567841310269948658248113199428513783306129103621559999639585214807992129783005785514065546706838549169925083603271908764841357806169185998059493566403750024350538346474010263329457130368802293059685510643018669347558048596803681911659301931413988446841279491179024310726453455262187834627104721887387683542417397196751324101394481028099722370854284355867176387964311340764741545014698171982949821336720162024844548820187184144785286291932361488163880439494436079772687927958941293569441692109205749140140954687928739841093699069338397521575628989733902532037326584016637948721084611776902433165933726130604018486814954103904031079902129580956754317979515297109834394330609472428223637047999235896529939394928569182313110228002313555292635761130696341299201783178821660893443613574371630643485512669195123562926617606405305911719858599794089757801334905758401791357924953952272986164494078205355362598321316897770259720469954650522695011336700168871219145708420515577182561005977929543825709442538755267524322870699083859832914917877760937682901786746224337092023156517753261147072899479663421456950011080084462784289641105557388148366843672138717865982830409001583456779277332731294207896385015679853478067919830984942216592107703406294939605748696055678496544533536409207759398020105154891887686741563440105097381397395170834871225667585501658556580807837322681789275092349243305854012950293182450427741814251399032265430774270322006534024728944612357996874358168110297838615822715852732035681691222812362213810012238687393235708058171977803708533226718301872583601523420290404911540356593251646659038322863238389948556372558935812166371404160635986869463661383172788357729732658016390954768008835636413359366933106197249559612548857416282010577439703103149830866446828338487120192116229587441454113957951837324390767662088066994108461151413888361159118724301778643768200787243150903886745982560909330519634490736988075071560655155239712339997119141957992413157012642599407181143670978218582154739915365657803641992570691120926253839865116209632045364980139791865079665992073234401954225455305047459136132873556096551383355809568852082065822882302505080186321786693523749136320622907510070594010991407438909447445402108885640216470098853546432696207649950096297203815965041755179325203600288956293458785785325001149237387973700097825050474979995074644481581218282669689061780092681576212747037393255171769421336414627975394049099380258136342508234972119029519572314074357399796098292291963709715071626590897915798142318341082121637528913354329559782018170046666885871897985060542794462086710378191069551610348758367842924194841370246825109376952446574247307653538566322313918756230389168830429634742822571583083664445212806479460434850936307137730376796595886475212185533664495531876781243132273056145533620170962371015667463206712316658666649682790795826356336999224130591861798514741754939392214919438398924975500298722066908133268597392522753964699071322282944598377604270099484363414417318245022443042712473619010021353089053279045935512185863432990134792119260445332196613416352817348813277978382595955456728145066552033119215175298796883540590810952931456703104660660849822393380378201314190062017483350232701280980356969890301442402262228265407618420973281623157880945032174521971488834540835840633233682676513778809066833712398168644949288901362937656116985151850389023764652853153579756310808631225529637958069993400285818882786335488158254939943073626167667961819786711415121988398714538314705480205826519403615331101378266820961043033259277297439968206724533967194682236618119853790695155210170840225260521871076082387884262823384037203366918292210805636411010185606302588203629348461411729450178232507084059228568135900881427405517633941306596323517201829173310933392545063851402305135973540813067320692374401192997743818195452382209893457193057938861780324476059257540196526236376936251460373119657502987567500061245412187201087083519897842240563816860871758849155206744064119170864466725762451725797819512683172040082670458091393224660676732224589871437726755169295306817550606705686408916722457313785725366389179040192400321275624997489150986768608495600079571268853251758235191498730085343757997770295520109306527886083714956075810092315877053746333459148315790095257665984483622106822563736941630761497910822988950434606179868968943985112700569402989419795834717116577600662612608678464378270575875942785758146739489560480523352433343877389475162319654561205919878921748340836610404516669392499292415717323948271451013023390866239545750434162250245726290726025282922901535594996031759785227066591403019512475580105020713518254324519939500322371062698673937982708798155106901867444211782415395885872368549314839770977196588422031865488076263886983264334285906848051428271399546224677010194690627080628319817805448537191734094017570178100829244044345305534851084464148379216044739619680158616255608897042806489706303958478128430158011053689653959687815085275471481435645910627135137186908318014876777325855743140947361939128218215466951888377116010854627335682034853000362860772216317563533235457408707308872213138636927605636342335057064855634459494099991916323427420711228242677449947701081638027464165712001628145268237106174279650911665230446478572629403018732741573005564100644517173406843368824614418636403013972596751395591245872414887901369754318758726721284546251620925037119412424601849923895669857895577632604379864326432863853428423334788359438295277649146372366721957509057972353493148065538569452550270010386818495769532099049113257382913703538385343999314169507554114195444170964145014475571397279131439531785148067107616971615803653364841042976821034112347528250956838460652393713684947161755619156564764154281204166892707432949859738107419273800033756481899407040039975833663387448447364300400704735548395530627594189346018722720183371747536104181131900346091256770149208115952290162785379452964552950872141666883045001962883163520183990220592298505089962557776172252447011833104431645770949580959871130888637233591902177285617573387586803845030053563552544728496590494736131532488755194686975001198813180041421047352402852135381602737032228718390258902217536614426810522955173388316661314943545019965310993466632770391948309641186587855365000189654860148338467437232972273490556198904158131524000480272929168641775949178266852241748375460727935336502951174923507070724922441833262551271934720177135090806649269635614182576575823722697614999004241175843042172609753224810946947414074971224211003397325400278625147325708696737025448523668696160899075131361120037462217549490083691686595329415177971708789577106893280441257952842480270999896551404247302488405988652336574324623869719733489394990406122499757121349212519507617212029725187294957855610569878791046691578981081689291379056780156916089230396050505615291996491128467147590824171836790312829714253875611351052457123351413196393630319187619199850752176847094681442945354700670820386053454051812457636344600031238674162049905754258383843862304578193458698841190715754977442432258719465998933092647055957344122941207607398603013874136279090984519534249066444644074490958734862330747924620706990599784705642655411010135538427978860922438150914333587954294467379499540046824407463445943885272303659986367880615820895710762637027959602253121854586342639284405563784296709870660501014053486028443866293880860566100319396457836078644504504843167456316111513759832395365779366819181036339093712653907672781904850014907123107853985473497911970491717021918579474700586521819468683096502894105652893690658009669238565354123113531553716065944567218400500505749071610115661812489858891510723258779830288067826491852188268057968035560580564558379334442808635759545658698703201894948163714914257709891078153188567003207768867710803027581542707683085453700893067081478106238087981671300179037389671862654778021791439617176477453707521614300058989095170057216724210830368130731655661838021055984152082166667024022099874061256149252453504590851950245173945916473198671165083470257134965644496940924169073483841933832016377671286288150569813800062538283943576249561876790658788166161956063396202362908999476741347807171313352387087581873155570625129802152639726728599757925017183261065280068424783602383788608198523000442600296129278262173312018146049758237489811750229997339922616951443494425227395559054841517668858652896062813100395595549986875777192630591997343857581382490967203039716494764231704012570980976577619430701387580353617412048797615201247085715019073842915330203435220627298690412837513442794730913132224382321768978256377890261289782561250817612063299904572124135344062846642346840065506814494174355107570731529346108204106159557890060423133504025864453073527533544859455748966392299056664951555838418122160604856839474485870545537453208791546676846318403285513612928501179566720822920589420815204369434879776461031113113517327823196199242612839764576293335333642367072342715489734870799603472021908741351966176337384775418672681802853257048827142474665967266615637884374600761738786522349047347940610388700869773595477911173863442122055765468842385622554583128689869735192540990142762331771696884079139667011524452496969193439405069216127503243995089809884060436240105142662159226246545116127901377542322174347985614351996476109576025530300751899412421955309913598977061295681248267394340730413491960066598702854337848614697741591187606499802152817707694245565515771786122028869925265814932531419340581471983848361866150897183833322702720116560230269255651816623682474502435195515923053323661307211534261926123955930133580659269744517154063077054093260882001028044796154115917669583849485564703920579309311601193760711244067528941210953349669660405169576799314641138379484515093750253621013318894498993048562942943326049601654831196814760442010318769105233855733212031208932047496470034411512885315282500380117065457650866367366711517583540256595162942604632525332248169603876655483307559479200519980611554878277706384022751557023932006139316636038174228484654604510475852080143193762647737053760090632863964341396090669275408293422795085763386642562067938306797199271208817511692955979434040139217962727565240229782632084281920115657521216450434856442554207337715918758875385352555028903136992127419390644633661758460597789426179484413207822880656909132963595957048511907554640655114752263649145916746424636268409047200206491146061688380597862896580416609438941486035608947773256502857247055177732263061385930045396646364108004176100971384609912609722709403497983526919176324183132052831322125368721394098830205146043246347996902129464920951686014085197796314178903593848296834085163147415839858760662237725266569215534270342791153482938651094512765017706690130519921897253170086699068284363271752026095615925278449174315184149053298551600705486870391736511690249844618275642699727779218946253983811109895005574048587554538004008057355207190265219266386921061181209862797094135234628258202954403365855310166137152256066907563115406464534525660931496139438411264045327199832600073211777721939035772579074033183604349021274121620640277307763465201956703091643607982906093769759932144616897416311455812131529864877904142734950339541900258815039581376504218624379996881667739262255631733389070127551597375188109505799593453962429720206966891851675766679785174797720247553439915271190265013857045489000398962206175936106415840528323370681048440569539439479258380747196089975276727708391316686403440561110287835114437626401225363292982339232716335908977937880143055637216377485815285835224781965417853264400944666450081485370100132073400667981349971871803282202157594505725402149340627484901423517738709008941935376235750976844067757528267742402911357937288537078011002758220546372305946141890235078326276453255037617683228434508986503717046943761322747958802727230193240235922219492973723853279769485111319932539628355648961811560499587620236483929149837762497792011775354417003550896026042817111144092078473611959641532660084414620425498567937917887334309055926790195610969794934090022420521357599753643353738029049092009719687616017218511226080283172327747501523034258947171609222893804031716190584748838866454821005040469474441817620526406081513801525079846213617125637609073770685915071256358034903881790411670495157030191559465511540822853817378082832552646317805698908731310769107215945298621374659637121616517220543994897906618938739926791486295239885354885139539554309517195134226433175479977895590321428346599150399613124934681009403525702540085989449163119304696001762181999554190786213380351384014265327425280516601014381744244153561903356244227485648797387217399072238130844353053892779529527220684982772896406775206800214822339287975425605446879545478156215647587044292781378571215146071464115568521832293837507735801671047563482517384867732859773732405688479579662679924063635383892516891380898565893669908171687489343922465750105544687870343793914964727340783932116445687913403959357264134632698909105629338703543830089691966479798367420532469588461951269898175571838590591355701000276554456313554382162759195002829457766535937758891894789776808567400898537548953483686499923186107831746813695499963195630807260170834220177808402332896151505532762462350658694131446300729514656378105035617895388357148054748170293866915089814636800480892636508723725888955019217589290714652624141937025093936100991988256731897137640442619067939569699630628565792833869825834192581283448219925547456296651768992222571515566658643584076664530718656270402711214815344934808485714693423422454074307346228940978816079768900192105841329525017223753164133832353756534754524798102986366829023271450367552588383681089336174163318657431078980998476843858880665968511612409829763592237457883151536933034929585973571139382684502844502967696343006654480507275415503471649159007899921757516960740398031561325465835199538686773300759690929220275513399907279989574746749916131287912734804618528981842904389206620171441979178708534229479886265466976493700453154857293792883881420651827080540503684339409435740819462706722140681305481578505255980364508598285087283116497805057489367197275585555590768999763560340999715568396827861920041590942491736107000710972502153579959666044752716695169327822414373078953315666739760943931636757642830772813478240475067941107681257992029436223729786311981420862204324611224953997534422985769217026406591585167180370691958729062736574764570009723102024018371689433739951072621052757695280155958797799587239357253140800880942467714473729247712324565183198505835478075169976446304651807091441546679878877017457112205701539054033650181169278994499613327783902665584726917050439562400515743432988294124563668005988588477180137773725423926931093461965085154330867942730003977971449307741695249718078496661793868659639773272761719851539826837277172049604516390293529629579750473327834334674913050812277320842683070929994338125011960324157197796545309611310851382632181336293323363811068918828470832068927410424604984785972004694775299969722433857914403327079899973506209774684446313140096774430780992185025008477618004992214330568975980875297748412422858879488270528297243065701652262253618898553864301120290037501417434209678513992247206418397208431143295146580682574224528012666536537594537672121988233927496604193900533930146307247266795285211020232399392206402117190061913710247493925353121017533540756412825345970717840817194444492098413320281850682397698156797981561639492256726374553613529689650382803405617160903923814381607889313415324705764744747991139836063557696422747370827529692025530633160323192605281149215375721374981079534246257431165220068660756994345353628171260652742824723399613242366605409636131855766508656379649186899836856457162819435998317306340844820953890829213226456794407966869125303313405260026385784005911225406690193350918102337509677871519030075091935223238169648353735408012201173083844478189027280022233533584308355460225532334424805496795749239424090923881548522637684051561779365765249172373591357108850349272960396256947540228590163258035229648515016592942996276971184702156642513033051217349194241654510044427905939540120919570564875349538850565200779275852831074187562012201328245553381177061840141411174321333255639917554079983747087892584530581538488486990090603798963286172864419799028793227194736429004430509959694234389985399240700414805132328211609749646400407743342788281944019387746052739159611602757826067906657612980758846959370694370495361790004754514395693845093566324873219096771721747944261584829754581516226686385283113554915107895685710656086914174541943672640665601899718716701318655235237631239534699997755300906953866021166413384548438854739892934060502110871497872753539849066490376623095790077552462928141090069907282173042462110331162209877597558315024824225479023211556730041234765634671841041256374262228263691042364734896555896249664079275965126945628775595076625761061949533675986112084710833405326475185669905474884461402275251498670468512286320972974169228893191169857506694218192798001521834640606414095342476663366908019359364078017310031958959032811416724626758745070492613439497076999361107500091829182647091132519627756342582691843063124785756579416589342889106525643787859061216174051855734946411724804025448363255107136658248176449272979734813520256567083551360382980458129663478229552719819298977299280699177451611835086789277463178554014744506669792839220259083629637571764808818263252630457796537590396510062672393794547204230066103488524468698473371682406628669580235194663319041146805207925805008658466536393596250579068999391269871248718376949068345964929429564530772710206427486317493825033575785288111307743332935451382457521065361235521606925971927055375368631428441295807858867840580895483313402292416626489823018573243659204557261666625847605017963374935694181981051193185194495787048773875298944191069331231659976195945230895305615234940736406217925087799432378854526273999625634531845911233609067364398777260938487401274994350859839520981012668366708278038888468098558194909324741675678843115258236849241578863246878802599701098972537346084399529397257381465658413988665569983930917242876462681186352961505738568640690299972128502773429854519144017241317463062690422580449981338763443063522495842309946714217362277881722173665872189319227166540514320414729194105914933690182551403790710468636080090771112568500319836623854788959905251031128068904343270253442685826100867048850510188058412311216125253812281468233413360118774667815452586674597598751446762196862432152170603451208226194587338022583462722349286313758094045100182475528527399769583931211422785198261933595169062387343157660043553278844245972521506010564470168199388799400252883638211153247241370241144665641022076599882816465787941039236519201662748788271227069244593428651673319706488545374588121464578085930764594025374067790034515569930076801627094311588959297606169330598510445187096545237934297365397324095160913645693750851145470667241473956046495251600428245781464648568528856694833053539626731567064209756109112844293887968748199948593312357015737568055140631059320555528686405071714849927320587775525916210767693244486853579845763069646381918318750018002684363111606441991548199806962598680782718333980614053067576482871459383075240760454478286861793381880072222204412539507706527498772416971446394731801326385898279043756228193262937543242439867578143414618463727183395878454514093620293344485769859636967466402401931791746955691975173633902628105099404441845715702323291303391728553797051503187485944338101235958140641974143690666831052176576079520425135896098307076604633055449553104795291871622459058008179707258927187598681518523096674900179751800375545812386087443216395451318759250780658392723355865495335586438946744531616408800909257916989248132698997943463477398467188333829150344009584824403733860800411481375156573394877477451864014163522728185633494134594922377712958909215760765388418898558086365112000577784720049348509770185841879724255702180352762999697938528738624187228960703332139458819809451899635323459852474224444171319414458950268135634756749834193322232339470398147083919299703130077614148478131022129986610168699565087869625040368204649315183119365143764892054513828378049101488760736029044323255259096916839669871706419314591965951300317549115793808501567861762360322531109279430082164348061374793956554522017990974262201240151660963661735945612660202315256809502091426468842829809371097893572961910442875004432714339641381979876378689267827858879454355572232018690529790445199015862961657336185685512551670782738227634437643319553925739138224465797201968303832275793058288336300417286424599641816563818693376507668532040633593890567538866480883345739906681893864303331725724747520472775208649962332932333608542529237738791888108138699342672082730844285855654032529478955303760150521677337327118593808022684751342712165844502005383370178513813636993409775969916480144218204154671710966245392370421276072593724085653184784125430050375337989396338557401289476058613998076793012493174912443008234689084759765359392929175850134948922245608216140724000514514013573989822849560402010164966993300382585700321961242182423729686011531966061493314153597077785168313649033008802171214634350275462936460855824654440699501109602722702976731749560878123441460566270014855265211532558648109886321846837794445319883802390510034039209052794221978433051029982139662630636610810624790361368202886509567499054941320001590114307399949484911202565603320228561524667219984770858778170837034527456322719598690997225952660474994612897687851659987811769941660184607321114926670257487908840324168308610414045225432525528414107007206405412172397802696516784611177295288392744230193684251915891282954767484753191878318542025297296878951074663294414939107075572223216511011379041527097141872548407537014154461280981643213134288948078119098900262495341691783801831562615754808236323931593126794541145107294905193476248692835826375309845721410099632320241049257489947567847256633811521075243993230577648223922388635946294313283386841008591098786594607491985193241876115114290380239226710290995822710681661578507906181026159915473648535837671829822866665778696274750540501352812060624417767625355464594767088335655912277957131230567080815128394220159869553002874455151606365171645513741360210537823879981467025202045074922230457587339705705783316048922786436952975470632658217851398359678002546648433620705517306189843788463852070496206728143493248354763331160412225284475175213211976088104040333894191520305762756253197174051341515171983904047532256416542569607837639169205265089013588101203863324265960428245352924128735072393698559327980687181170127689741402642426528518061788963180951732915717281238320894615691075895835333343062355411709930285509251074022990084297210754939760392067183606534494756501956781609432050071966114172690694548107896909574233953934083651022032526788029848324748187388792054188069090315471380459018442755351295002092505254121536737292236131340479679523634390458282897632007583599244600884484178279159262564506668234763331022062718354810381831311458476083598528324604796187794830257231705888557753885823524902073381993909923297396824340524376568671962101666264473855655525610494587292865829786062732169719410522133141034337739708069504243062787690209157614624511095510317440009339940698099014602972680119620948652088212916747803032936075375428624923489455662480180696120301456512837613779442221264503455191190062644339805583595828502013295429511628705396643534194034215960985544459673580965974499306710492386969074836847167596036622667161494160763330331595281073582452930214149156565640422138977199685882416421458524525489949566101368132276001319335943583897831371404016101862197732836968780531040537493060204209035838028987595147669080190263150494594491293266547253807952789009104910316067343772211002398454674551366244762681412193087413010538665393448640553490450960673799573307618018906444263771709873774981203562816640737389942629734061437746971821004651394323775298530326036600215679286256746054880740856544680229644613071683795823794297071560590571941659323972699220718401782349266697890547745314647186655817619956418424051424269304039342605312165473643989294233765221245781985257417866379248069045887573121642891284554069627082341428246811981998214727927590942502621983851926639710139484352864743337504293945335928627912025083605328417939419408035978133634364100804070541822006370439075437955841229238200667780573353167228733718701291208815791244396931930201658279471361190532105251818371227320970137793084402253772123707464578008465431310602915710471680499718478768631350124750743248319621506135559803256394527780868923441379164265849228349056658460076316893255779075168732120694171077050880657053321697296789873203908741340740851174269622295105009713274669792690025026589203127508892968201315633862353888258493516416834663746979123806373663329278141995774198870903140528256351645402605802741241287498740752468177547089244301670940579457304492686788698840656703778801251026777660197946575501947977280375131027399926104654570557550517425652226211925061793351422394421406816349514520719041594681779669608291721498820771599228713522595228202642599684888927312496898640333772769542783912835199635127400178236296543714166374822754898923355113890662460235152037383776333916437334199614519892601663340325251518268627950895303232834418683651842534628112285342671849973247203694410369428108934765673960104315566814472614010081299144308096754003905855319442401632579840312779829139313393682892872667798056639852800433049640482866488746297853029016667075793735758657915519753186035627839318359659242274404332878017890662830697624005290425655651764941657039333554253539555201995481725779405312455696395274880731995663228638288627805509782426763680629969152215916328539571275592510090447406733974264615206636196876606877106951617497232649656499462152881282511612021218849657725016059937856509132174699977060032700630139961767032430089144210488487409847479848064654984292172921966384684236719847729195886243545104907893386414290809913779841642657981773498774848619569490393150751359663703360584820714966497933429044487644427600028765373197847055123807948041602391358917600289430160084808882987216914458112820233143438222115646562366983311745136768978495806949273448751986966543218166052285560434278154147007425604524250903797617869878548746519648785059838339656654214104748135384947658069578465438510773342092131965159683496952197511889987108682407006138638564734104790847883439255933248518039380493289347411030557486779301276885522548931407356806326896105284748760021919183523882114663089436272141071350895535345311318472134367816493486865008744435439815186657984171798224197532783380297914312251817111097919390421657324152452767773323493479379162726119171742386705272248118787179830231955819588397035756053156498616185509157801637469255749307486969699823886497907696192845778466277619474588578127768004396668339728277721639054824028067289332274765491764552981773250476528290070888200431665578444351036656060055569560446458019385830683316100222516170222321764848854932506187456487691505960635603175582234110660256221066475060542223113731533895854719800819051176652219641119082473868664727652444048060692462325086129437879484829101729598865955874776134897906336703217331204382260063329164145920200524683636878551356780403735729207189258251150171857845271329881102205513302056721281769598467681365139015980175760360564666313122701549910352284001759923132296384047133855811015545483036978865771125805021952642223626554026329320851948343787228932469361613099141983630588073944821754591491308264080881908348373417326598870564667719839942668001937506265118211687883676492076714806909292227513559906417793665877371089090250945857868299932281600550304222462109324933199745118066932318976873118180394529564386763246897990905004489817155360051739424619861204171524658308582433518994173894767727271673635520043125115579463602145481200431103471877017487239418395846852401343777615987233475446228878369664149522432749834051603721159377890059731265987948170387102890424560567548294271507532788740867051519919985660213718721155790363344416519330062845670807408735042306390352258636381302476892422093664151369090056065382209077278204998993448511375810798479229168277015603232737217783175800600541694840081195017242107842382711758105644559103926099849208423945863948928325203016430564220265431324881156220537358254654919515011738761255809222412370066236161821836720857799733573447073947723127832689149268715142422622930718759537149339389462882998497625375241757894511030812336874451367876728421775783835087728694745059421584951336449866047200014166133006600937169978427356803320213097958558201960100993834235498749383631893070362948486991865995300607694604558516690437065890039128320044424384413499324151998056487583830734227671866679223176106923928406260707651463692913154048522240038220290001812780394923619752131489451818839641714781863428515834032222011868998987435454734817391694432102893000406769703354457048405545205957716407476393498933255866568290421576065804326548375546594693540481631044597949391862199275424028634323599380937976166118153193492562163090072685265750270932381963930429300608005191452805914848924073432490180705553204061252518128961512205443625320017315900643965280212150443758820217379352535442160692219193326375733251988008699474334310535711734211164043948227591050297698541913925241527240215382281507200102250243730499012211524460338015639563958388544034219141281323730364224416995889229790808257304969369740360032051308142587316334369483028585452013625807773506208212627459294997172461572127655053518018281941964877881895101083998139547471402628022817847009050069555908411276249023656071898544698825205059694191935772268742425563485708374451780727909822201109591387478273811208671029201385206020646673549165241536371755591635711836990329488711042757246226558286484023221743899293417237481427721881396987351447972303528719250133455557180666177479850536465614638257739347560209543495777515991742963770007966519625594925569542939166455772014204925708265388231640963572428849083928215223198726851909379644155914455674607189945036996878044138046818428611133162429777921184962382925134241795758173411388567447263360092057779153628054921217514715924206757390767917065744868032342025153406780006706699736806131215640195135804648884714378909093565714863084274113081603087296908302697890726804698325873667967623625691713602078041932312141373765776961882239278322106736316207282867933366298126013125330153389229640210380322475505515338396254271471403467401998600660074217702724033526065737046946497112176104323241126588273801495707992445383696838126346004508464705748253781110814800483737908560888274924895116263099788248912754827260178123920433822080869281183697869673632996906981814349583725361838210939811677021988723139898023319054736352957078664418266065133807378482205975633513663038866516241133105383587731252133385137299628194356724517091766701623811891748251570902766602670487203990141187943053458237454206882798661173550190330574632724804065542857056188367683833824001531048924950616258034531776111855177455886811672552948363460008079773714484072419061782540724417247870845649178000373799105827001937818607472534821299407704580592009382799171835467423992436369294693200571042282531863918205742583495367275763067159944485656315749942426218405898458492001108269607562791040050180437141537839114798105375640219237121185674434618440814544312885526233628610117786592943115696411234908380410303924291580779555935162905157612706723357186493319829707434358099030311396789112805121905991075069159365944875047220944212985000376152405280376628163425016737318991210144318546207337505938523839125016941567779613962544743118942549716178950087330084186762091651875133960490073422329280089762744464408854036124183084349121949030869696594210589559734811581323534397759226451163532418628507807121869472564038584135153675926179593829175751722918450169213344089090603535753759530166281916187509363449193975529971863705903130448599816490107455395940809353898346474542531438797339356737554457548158824581793083398311349255841493753496975267623718349767108435310888718571993099087079879518307515974127996057433523840400347363962022743888986744501944213160967195937555389719877760924936039620801232463086649243442472765121101080657169248101743867587157648553791494002053880386766588648192585980658254789272134701324998214611462761002035171343799140553878892905580163570394670906251500192188788499649913024362241571718281975093963880608803296960446757031595815426330281645619330617375312231526261284223442846481162955247832497022681133045122500389870517534576238632697005393356513849937571949826224004017382586453452125092853312665579720378768585800759867142119015606966707905752248834798629167527690489360084999147222898574640473936187441835263107555912047676344261091185860451744718616354918725129260220615418217884155425860465586158670003680012722956789024680670702589561816151297329830226293412312312038207486879187689503708646434426878552475646412152219382761446545576919221760906276746233898082374538005060674663667966540356164966133284302571243133457450375283044890155658068594975007926578175188641200106889893914696118488067980444250370691023718480562233347559572536418427969631097400229059790494859609553626900554480904413633151561783586116262098741445875372586771535391398538989375463964373688552323778285612697941966088637231256224845695350781221764320188514121741325111544716435513555641871528832166428809924309719871744571575227440105209229801162358540709388123043279947642562775994638239961841252654838481016262656255284636069416870043965070319878844287173747429109506119848666002927679856700331017191913582107413907432965699742802172286462534886924239977873825107463579697685498244610024263869965076309384353044995627304964403250473560160431861864957612393224613080078757238230692846731621603762544726345991653687387551853303087735561310628261138672662207947991326001541923265141671754223595287356548312201687143567]