23903820857238304356123940238632842398348473828102348657465010123487651018475643780101013475683475024537643032874162734656716376472071640138576347627834004517326161734568348483938272637378480220817263782083760738654761876452876201017138220383764571682020108345670483650201010847652876495267846276437647820138292873645839147563701017047826593461042678346520384756347029837465020287620180104827465726347201087134656273828389457647748472490201084301302830281159024835762948756017456237737382939402876137907843807678010871408713426574747382971465010104108765716746370108276318020837465763820213756038083764571266024158764501837456020726412353242108746508348303927645034657474355454313490567624040426889578474470145878416566643299276532345234910273640184511701453088137459320985173411504103845120845867845041857140874784850101929283832880584578274758202847516457297816038756013371301589742380975403289570289347508384755748392023485710145014725603475611084756732043756018347092437646764587614758084375029834643840302745638104866101087345645674742472043475647304237722992437456745001701327564713856745710201823476750768657983451078613756514344543254689742574356378987665656519287465776476111043751048765983010029233740847315674650104857674601018764502506304507240572639785378656050387456759889776123452313513453565765123086334234090815679425786745677898679434235648835843285710470567167143864721934754087163096543232327970877565434323467745187041875023498754356028961084657380623789553212779897667587365890425434684345389067806378146392846897365403360160487365708687610845761354157826501845687356301857486854674653470123423478608325173465708461957357465872465081650843658042060756487562345620348756387657061532154340123754950256486345891913974356714015234512303451236852643528341929846254062154916523646573828291635426635476746710051745673489569284595260875150174356403176786541074823567388381037460630313658943276503619834765746315761957605671824638461203561730212837460145764599203817983475435565678963710286378173457627868046501782657430081767454675184645018764587007617456179745653655171912675419250134513458387266347804195413954785635463542391943751064735848301438756406406587630487230457616167804526786100471678467817278340145764023573838911786014376543100303923487346587143876765454359257679877890756674011081465010787430298786354635217882374593485927671673219120321043875694353647236017856712387460504352639845615253462348216354932495931487569045204678467784156234678654563267457626489196191203203546782365347656266235219345782783645260204624043651283740103487561782037467104875610716364583476206475627155165478124365896766712654129818737657617571915364565346919245667540176147527676002634763453444756381876254511293856745673420274514353276727671913745832033382993458754664525108783457275731340592876541301601647861786457634257667428939723602087621376475431534342176475693457850076452339457614376800147356233392262587381438462534591674564512059342566526954648874774751546519616784895762874767746547806129901943857832923472399292910456233534652639247356734261560265748652786138615164156364567456560200100174657614561281547652181816452636327218657865372865321765719010102901923920192092839478575608172305384087420837266524673726471664501380123984027344905608716554321567985634231579860970343862516167329567840519919031845765577970312501340958687086743586910471510128247476251239574657980713045612784566314546540103847265723645676366454323789025862034638720320348756701001297656789485763586705677878963542342365476027827616413950672365879087524397656790875194624560238476521645162594875618736571437865782318678192738650465601340323475676919192736472346759246937457563145647852604576139611901027656234936456976162552354659391534650068736496743147530128746643323278700097325454756752431432143123457345231491486349875627186457346758613765746243875635169375164549540934259890245981304923589409857765478576809760892435823874524571693163413741723479574564513223466154967657854473473021478321759846235786992912376454542371481879631287947401592485769167860516983746592375865634508711030485729657639834876452991997835605628689716786767671847562736718265736623027893287456786167457368264571017456296510657846873784774472929923475618087262602060302079345679431045294564005674652847893678565543221340100101098789014576854376034875126426345617364542323471928389098013465870965879058384178298084056758748541563542121097898743142893174897695771598838154782367890095783532432534587971348649365713678512391993256586908943765809123573274611436572389457627589474382916584029272967262948607817415739203760156989256735375928482756248567943752752525816976517457864378563478529114101094858867979027897276767867168978268974763992019285868792894813895847138364142649603685339303563728755885273486517346598172634515518288576253879246045098103257176536546327271657942994860951976155543412835865734579135849907334233532828475511748687384589158675865290929187147568999143765143746455614556731473233362726112846537872435618982763751732468754715617435678163745867648736178648518765736817647852994588593927465976291847578549873746201982845746913932991276456456827368282863759294886744884828828919128375694285676920204675816185687628813815861576581272783761873643764985678362862875647837897915837459842768369425693659265498894982537095486202248562894691724256577482873465781788718101198347235578261372718187234632718883265471834574325345456456709238458673567456473667541477532128697083543934537376973419300273491010837596843393993937292874578923952689918167453978935994216576321786178661156487678166156829119934562847576572376176475364863657624654328181938561346587184967868015962536818722773746374638478680127987872879827386623541875161991972623546519885476107654229507722920467268346897228756439418571962781597237530476245983176734653945257587520471794563284978301928757648234739287465848329988386514414274586826527304826119393997654001874653129596935778476452673846264576746581878452616878867414186635881655143235787660250176527848235668825525687154576700017762234683864561688759832876162615541954498727615556576987816356486768999746118276534187587268757515101475416531945635415234675834837726548652934588813459276345762347856723475737487569283645782886156541732514358993751652127456142637372600256625692376578237824359150178644211199838389234356377551508736103888389138387645143422124603459787456718478262763575746613192764536233968746257339393437384236772628118587147655164550'230751371656514374756257896586524491698981653678997819348677825789876853293289498548854848245992665623945879100384775646563929897137465616456374257769192934050235103656474716640208766634599767782347563475634766901081384573897493749837247656516765365456541745671991919910302745606076879788389759217067576350358689891134566510054749913846571728823948761010783567465299876598746257615150345018327468706387628520287367641065032764750207346581765679978234657236475175757670360467643063646364737777166160137657610402345820457671037805680167089796745111375683728475567756770512758493987454959070794725754393947472993766165153910345856050689238746504738018347600754358798489385689738496985498988932894756324050202783476779171687567671345393841912423049283702857987611010347683476563281726846902043627239746590517463505654789695579689763615951991973465100112782839498756278662203830485056067657606890807808097303790371876386195129213596618982837646467329919756534617832691502036036783460876408308701738170834678100127364803202767326280126206716376527305057836764562792536523368076868762525206170657826876537865367573160278820101181163875105615650172382829282356610765786104751183883317456185478145748758917961628746544926735994432329053493409377838943992786202029384567020238767875982750620202846208266936476572034560203606062026752678646708207689161876161654160561756176117814411648976847620919167851574001588767020293772600091871896468906750304874620217806176483884857627610661734583893716347651048576695275524232932954308096580356465458328659284365439020726276622063748726453018938620376584858949783464873602026873117326594925607648745893737828476576560918123957648327658621992982938471093765106501631596165510165391836467828736478349261998375667872637824602364028734623985417673697627603220283767468716202346766176735691917625346513476549432650363084610264081748174148147893923899018052992387465876173546154365651454501765984760167864012676100180183647671552308756018760287471061723499843276500160726876487165929274854504876202017634568667980023940167987635498598778687697598243542394851387895170108376450328186816010345683920203276481828737377376464637839382930329293939873689512919981738767819579856913984197165234343434828821912834610681087261356108761983781268574655345459284538547385462565387679785791018457391084648568609193920208347564841018476519137560187465702682348329489437264874568340329891001263712360576485657655272138543245896786347853698776534538858903807781926586762982998298576929923476572365815681273544535872638838765928763592861987197984798657832724853673645997619177384756876582325374578393297576619918384994887985397849716157638287938756437621321589165876189101004751073951201054571865463877667804564786646478568401283101238746128037661623786912856347651904357647534786574657393746483388347659265476573846578656882482329420287294376564326786498917971499010843765010008237450162762525523574637372384884827658928161151936478956115515034756837434987347103278280209586714358745820720489672976168764389889389910138476463520958481514496643839333784997247651691736478571991736456497856714656507168617627365710001273658716016488347839929287220200147657810103745601736576160766767819419376264758260376675153453878599289265189761376555510301098339789462756262656269916735486320345838746895977987234732732428202012377595376285201376537602101087466817647561556176567193491971669945723615474657638228317813673634597129748935926376957827183563482799991765821752381325673179827392661991876452450023647408939968745856341273262187196356010182375919347563729385729002743659160102836747605200237645892837652873620876203408572304785683742610602475820871691676782536749349596495894404083477834957260218103874563992837640286063202602004876410762834624643876092765532431727292098375625974652816612535836698281976276287191929837496293475693469959485636554537473627277218811919495620603459681765191919199173456763547995993746755442321596383992018174597497592716153857648362910103746501673473883287365619139872834862997629101038561036572829047563626272817234652403874636519512875376520234582483659195493526549191974591272791299235156354265714596015364519642436277816354760202345767624602301801273648695923746536759550537646306354652656526350277475191927654786876292046587326768135923794565003468754298348751623910203873476463285691754674678561038763437463674870217835474991743651584501100127354891725144537224205620346874560138348238746877718658101020865650656465036276472683829237461976962698137652515025028734587292928376282882252023838452723649520100127350100457560160738386457610601037468202078361801929798798577574673468326402022001726387604756273658361011067853200382001817624665757468236483264623746254762345150101287645473568468999376427650206342342340236547654768268756305437542035347864503605326754542249304530303754930543654563782568720248582994526428984766589282010437766586521118104839453467439820002027846782297528437573629479369343929623754678929252681919152600348579274202374602071693876175517249857450098625363229430968589325720101789067842893476598155452383762449889292345420093597852958768234568116819431001634521346236419012783467812356107263772801873242342342087010876543975687542340204332452433549095430854657829920108418475891734968119837468382098710100137848538456701308376296533434509339809584777290018948672984756278197145899389847598789453899283740279101034691191719538739418658911093184785718191173859174985694937295767144354994649856176919324501283746888283764626714245994879510235408877376361545234020101061026301723772738784871030023002735152656254101236377179010182782717154441924902036573481802937645299293976478348757969676715103088345699010437567166167238471083848178152413410420375543329435095430547290104689174677399834751991013404398625347272359589544290284894783045256713477191648794002876588188193487689838176496491913486793146087656546514329978769902385928229191012874563869510981635406978954894526372194326743926345230757082626668799321110139898461109847631019760111734569198383619191024012038713765325681872739163575867439761922436179231462797619984361098513840691299271084671289499913486791913461300234685765876231139246787254689712422655797519847634968101093481146079861968518947231565473568089112353475929298356464576029835965870495079634058293857823758732875575685638124572812182564712435745648371584913603409079785671249797735432282945412019376926529838762691934066796573592168327197621581972875923193857846859210109347581734857426834919934571483976913406138476913004601347616554543550706876923579343574370010346100381986041301846913460177619347734479697253441534603796876763343826456919396910041969573695802587698269181929874838382562957681768790872225618691348578189194386778589195027058475109199102903458032869385882991086849523456745891634671983759130463907019709191827419235001753995968374502983570102051023756010283746712467104073628847856348721002087692756200107326412746023756207348182464574634206020010138573400827348763650320062561183475810908746716273684838746671372640106748730428761026743207610726472340827601727218723604361726610012661714713721717282830201167540201061347013087643929100847656601864682327638243617948769981010276508286434598222976439701012847989274864895476570090981092091490092909021187934517730195745773998271927791284779113435001928409460957886378651198340903698476716717634891912049028395830457674170293810929498982935723576698723667817615010010110182375617836527783818112402352637237710716377571901037462003467820010013002023845701687263872761721103027350700172367134253858643072370153762881240310564785838467104034782673583401008239429827582653660103045761874368271604164178351515941634524534969703407520827176453232341967982022054656456769239523959010087365203060163807567460015787695433829435183293278336799876010137846236534959872630173640268758798704243204520879784099879812765382501647826450362577957976857807092148939824739259912043205028768786537475143501034785684823874010828346103857996987635167544332133212327894329437892387474446238186532162837978901076108675787801786781364500387387317919140501873650823784068018388376587879113275614546089780643502378362433228446381012746587976593834827542944367294567838420438294389473781984571001385610782384617827849195687364010807123468736578446943869284597300057934752738523423414781738173772838723852919837928357871634698469286709209173987928712389569938756419826623648126347278813516234510345013749910035761047855676843362843643475081760010124762385623656734568283746723434737838387110230701236012736180076342873650101387418299876786247834234615545124102401846048579562543752476324912451020402837687164928376587952837659823650236532560303005386783662551724687687461572357263726306126301623232020826123122102010123102830816483250236203674237242432804024028740186237162736182631546165516291673825671691273515314277293765349237452694202834024072346820647364826836496546064560406764038640817647815886128765146696825433327278828289357293576928734593487149471947197479389798137923741645100127460235863405007098976524765192748234635736726156691236481717728738191827391819192938147135617461828415015736581837918918289123283819224100583925947529357293502835790981675155159192764566763461250274102929520307637834333939494181826547817649610129365824937862099324619248617283764324929189928372919879823791461294866284719129283732737918237123040241024502304237040234003487259346020374617823602347738788034827364263024024876570576201604172301230128399987236102301263123228237339823728729393297254599576191954165493574659187100010108357629018762734646732874286347102882378273862566165417451548184725861004137020102802024578308656543452824570830763856521491219520100187465076108756021010237562873738276526505651873824038764360120283734166503587630513675441624434527345820359302973579458043867612309583490617876587263857629098500934801018662975011392023827602043287560122920102020129292765012837647561001920875610256545344342858697929839020201907602817918374620101038475610737715247915058072542432322382970802675424574214991010287460210103760756003876456561803230929100538270680102876598319759817978137952519060139820873687288001236040278346299178267863255365236500202492991762828376457377293764512408230017230751100287529349856377367160372710048176287460108282864659761501035876758382803587623663764203507625635676530208375602202030420376103102764836532023671629852367624825652920202547358920205676730488380878673672871801010081270813743285775823059832038320017358951010031843701982873103091973592952299104105101067101010375602462060554528092587185610107562050206543232563768713650000676491240114601837653401346235078245023876010107364723656237562876514236516549119534657046080560405629468347647358674087086874882407526520243247898453087338037546537750237572652087657503283577023856701191376452300375607530427939792376565659135352964510041002756874747460301092566345992367765230052307477743610315751673604037869977364565234773577510376587823874657610103746019246959039576808753898467238476118234516385790028974019197485937688349299101035783967928573783849869874124104609458734750067845967343352895856626296747659292635725691010374753974657600774856199195290137528573686746569942960469674634900140101347601387650183549302203020784546134875601004567488017620347766347210146744000231876408288201294608756020304756064103658080300023746728365767816274368392947557568658489870458387656476575079847934895724951165056137856280562083657137378148401437845153754346736480138476171610138756312475616576851008137658716373640882876871810871785301807187018765763717647162012087260326237623016726837636280237207673626527536001284203502376380309692920617264781637645451028476245100136473641038659256235630275638725736451001782420652016487104250218743600202167022064716200120764726599926347104028301672678456024786020621062637216763563555937560350263573642034116547362345010127620762351531202036710402365036520023760460364024162476326783469578634501501387461723104627560812736112652345165015013784650438817678461078532042351041385360856103883310846106410737641746028835468746503465246568534769656543876736503847620502010017560510501736508375105153818746501561056378562875651052872828029809911709182569651961563857469402107346141406501737516710918060589210959898791578576763510123876518724010107365501103746081276475647747843287356289389858935250108357389476020137562750234003471775651042148762443118289756252881912451024037561087526010181061717082035406982305809754819469464101406582891767101061384780807148818375837818753723857185418734673817767160648173984759731992375405166565106838784710641046164735675616416419047650185543453182461401478071010743838456156745610308135651664868374692837124839022763653475234505927507089182747812565123411501092938740183874566482769586358476688592092301010793875983645240019683918756100017283604293852378252345283727954836776751214350205929060102192950103856138746289932569345378564747472901010723640101873601082801023847156750206726075201827460264141083648716510876823670173434763201286491239432905108569807161068753208974369470051425327610301376549929376541540371307376050163040100107385047308399946817392948756040761873666341564656533471064763061020301247108254786237023178361521736101120207230273736634127623873837200237603173646637802837674303734603434062468404078213784621034762043762783647578384020348714012078360438267437826101202034761276340667277370146273440240130576161006851634765027836407263011367640786575167765418651376783626637151603656567530407328237866723882364785162314284718296487234100290192749786573088935376968366541510380176457610101287364666473500103745608283746165372546563702967024571868708109831297010010278601606491293492374615404305660170873146583710060160137465786738456103992735681626634587698713467167465501257369869643766436010128374678635521634755732160341012099263476929783465766151553478764767674360010264601115664373164070718276478164156756756700002375601237560102028378736616202034786126320202873640204047403040377866601873461032983678657698759771046104106748719001928100193856656777145026600001018374010010234610110566533253464777576155351990205732080345912371645001028357617716930485081071798347924624706397498785434994401475687604147650817436574919600187164064670084678766660156764761399273645001567836492992763545550134756018640120385927869165443129288160861050647639926340664146105646530073560145634567693200173560113476057671606173606161637480307826026167650116287610673084088328648721638615038760106653671665084501103476500453088067606760761502736508756703611002836587636464374043047378820308183640236102882380460101082834766346106642786471264746646764544623791435274869290293494938892610108756108736450871615037650678534786243556564161345098107578919610515879151507846567601400166741364385963466430468708463764138741293726521508156020876167805321607853345672389764795301463210678317680257825376142670412601760265783216203656708512368752386234876234057825679123508763465438062506168713401383520823572151653087685210732651120012876051515045366727547265015762326751793547929052508720098183745681764272483838329294270165651051678436037054782545130457657213674671286704128764106467856015015150875737652131023102470378678164518736876428710828081120834005632086200160267126720107723647346736328772002702720604360213136260140123786437166263764012402304817282873476153460346037627547234002726881263873658063572352578271001027364765025373456025073502101012873673725163124124673578364801082765381923910480273560201783647826510453138104567562937520713456014328272290082928799356605101110514067568387261087632761767273682628280028102847568765676501001010356137256005176235676357371023874830029376735732646573268100182376175637537653656767583875835057650356102353057376375663502610061056305764688218282828038765803260281820826573780821010128658627507901989087018237106288163545410110657463806734687560100103745601618338321344357656667702376870210827365828380102829298616161713608803530656782382764723467326430012382087346467280100812838647648012037408281929292389992001387465926574366100109592983750186102836795376456745666156038450101366578348761876023547667643432047618769264230117865401617881102837461264748343211732468146845685685681837140101017823648723663460560418743687283778202388370238028812826374671046568102828648658012568501828565875826016055018256656673010828120837557812473842170612046823784723865843266265430502308475782438503110817236433453521443403201032765073676467101782034017264764179290016137463756366243235001727363341299192988475617165419402023505837642603832650801018726716261764645273760287632663273605723463746275425757527201575210457230288818416372645172323001273712370724789997654972552671293565235535267258500282892916752739288625035255627827602687055244104827605611583756137646361726473663261237100372647635528495020357261666673525202357643641542492901756415245159645010027880113634505058167636317503992973465766564620624024501491510200102574402574208478676786102734502025014523087545450205451073460174510237787084375145543777750735401002045152349501736575716464661910550512042475542163526356561723527635052036541053637554554723500378162082763802680202127663406038260826763737667260236784637667650502360216372646130478500646127361273714606726461206362160207160166667361057826376100200127367460300172364761200172364012340613466560408375243232305020187650082736872656010187456106466274615786100576517463157946278119103776613040167350340943665746823080487635156653746103671828038176589051058765949560651016736487746150610018765313756762837491974368614020873601899928376408614163746276382019219846781637826209583593873728457236610107642783476230102182717263616266626626302992001828821626346172164210200129191028264826365650101376594923476014001010107346614664614535143140476304663775676464632646191912634515501023746178002660267236464634718242837461280410103476104613413476012048237605406300202048676001062461826461618658736599985795662982692654983405967520460456735036011074367130963776139867936713769371487879417061782650167501320842371858056308767846643764872601460738647374386712001237463463674382018236776467361402701028761530652696546775925183406758276183264536654683638691819757264161435014305676785132076851267652370815741367978675310150001567326507646712436751367516056873274106512630856172367646776340107677640128237642873646166226186016021365746562260611736576610372617366619726915030138757643767166616374569239347744826150017561061574365876156657383476299192015736866327662547385601017356407816615387465872801010817238013654786456161220384804087366164340102783466560101603578001758583663151001347650781610078135786483727800475678267566151087656731047364601249016616604138621616357034576105874633068776584358250981938478516543028764016017630868236743678466616603563101028332827658137515515155565612142146616364601756438838387461507233640176364646103746664661010646134603763767631601373763666336467473670466460463776364146461637666316364858016103567416073828938730307867592485764757847656236641570430105748372713336463466461087918762847615671673612363103022734607138925347673246503475369267437699357623761002063768562374608236537647764632798676726215541137653725013401464623696124650614266052606345865746830872347037036852763809752776915951919013076237852082875786686573465907856089975281341365786201570537643143175325737782380101823705057836151087210108126127647632756626367572017456052773820803718287823771654560308161727468756827650210520586206106100178473838238450283756765255178252016716787686502387646762306468237656656713265167326502201572365763726477673772634728462783640210401876408750481508555578671723571675647626712648719519357873995358177515561951951591030503183977878418878341421410012892758437577745783661515554141209018398320101028726208171038627461020020218929773567823002073567616273612921001027947672364178362103010286929762675322072648236057816562050202783789937465783649110202736238620871676429357364664736469199198246605100347856476664637125694650035451292753263991991912354545014824235464916826786941962763104672462560532345724870978906236742760010167346161767466466108276647261062727100276012486376662676501176233571832758751627757135671865873567365783531535674747103875672386577761347163075601765761065716767647666103874705017670364761600101837047841787482783781474717401361616603460146408277132730636660416401647640160630550167076063785140707146617070303176828828375769869896366776165474861697142987346069248653558799910108724756285726587683578653445242797852054746713568179831901183667647367416541426357960790989851656755616601046176663664277701274164625563465634956325461567273627376727222387782387782788787372668721638622002020270264763467162767246761852857175107364137671602763476673476182304627637643677282801828876763750182595985109034098520538905288741892747616762673674627726221392312488502590238959346839607683746363766555553444142421012036245999756986476666746463722700278939355453552030473455454010812283763755451270201072613623029329032020884208420757573479587674656551545150102071823581514817465148774672647623764736473782378281001012676363662817637828038120929675786287356673662756162684767682367473782374681263012464602187367863872783782837560030348509871646461640485360017364876602356273462356736146078161476538707814741740187572534486098507827520654338297686719752961601001675015673457864810487636637460735603450034785615347153261546025767461374667951008730860837287367642674011107366404276303287616676057836748656712630016163640107647636620376551524653483895040503764525104037462046637364726450150154154876541041476747405763047040001019938763061470828760550101028763871263022001827667602378573647528100387610655378134610015781268273653187483874610530150610657813650827635847840231010837468748823764022016659624530203756236662364664616365455435203027836263875285735306703975982665263612384948533993485784577875478598758958040028376591515236273704081802786046278637983973656487466266468320018760183727637626310110236653948676760034053049234781676511243542136253539390362350723629537460550304573465250520520437640187786297621405251756872318765986600187641637288736250402877456245726378460465237865723404398760862708345678545327643601017601723160404278306499071601829317639293010070662476328453564146014236676103674664760316470360410437682992437623765635634673746271601042982764736464729920101287687436929595376473291010276283567040519287601346565100118271663764654536042736021637288120028376147545376081466470303302371207836766452455366172603010726325654883956774521504540010783647616263472643756050687658766163124637672656463746684327835654245255495905017651961510501537560340678526376674603402746107435637532243278200307893873493400173460870317305873780308279578346663724023503450234440243423410201010127340240200212748357010245105243424200150128757473764781723773764727738472367165415450100576274520203136727463742520237576084255725048735623571766275478017825472575475475247522022725474577751275270820876708758071578631764