23903820857238304356123940238632842398348473828102348657465010123487651018475643780101013475683475024537643032874162734656716376472071640138576347627834004517326161734568348483938272637378480220817263782083760738654761876452876201017138220383764571682020108345670483650201010847652876495267846276437647820138292873645839147563701017047826593461042678346520384756347029837465020287620180104827465726347201087134656273828389457647748472490201084301302830281159024835762948756017456237737382939402876137907843807678010871408713426574747382971465010104108765716746370108276318020837465763820213756038083764571266024158764501837456020726412353242108746508348303927645034657474355454313490567624040426889578474470145878416566643299276532345234910273640184511701453088137459320985173411504103845120845867845041857140874784850101929283832880584578274758202847516457297816038756013371301589742380975403289570289347508384755748392023485710145014725603475611084756732043756018347092437646764587614758084375029834643840302745638104866101087345645674742472043475647304237722992437456745001701327564713856745710201823476750768657983451078613756514344543254689742574356378987665656519287465776476111043751048765983010029233740847315674650104857674601018764502506304507240572639785378656050387456759889776123452313513453565765123086334234090815679425786745677898679434235648835843285710470567167143864721934754087163096543232327970877565434323467745187041875023498754356028961084657380623789553212779897667587365890425434684345389067806378146392846897365403360160487365708687610845761354157826501845687356301857486854674653470123423478608325173465708461957357465872465081650843658042060756487562345620348756387657061532154340123754950256486345891913974356714015234512303451236852643528341929846254062154916523646573828291635426635476746710051745673489569284595260875150174356403176786541074823567388381037460630313658943276503619834765746315761957605671824638461203561730212837460145764599203817983475435565678963710286378173457627868046501782657430081767454675184645018764587007617456179745653655171912675419250134513458387266347804195413954785635463542391943751064735848301438756406406587630487230457616167804526786100471678467817278340145764023573838911786014376543100303923487346587143876765454359257679877890756674011081465010787430298786354635217882374593485927671673219120321043875694353647236017856712387460504352639845615253462348216354932495931487569045204678467784156234678654563267457626489196191203203546782365347656266235219345782783645260204624043651283740103487561782037467104875610716364583476206475627155165478124365896766712654129818737657617571915364565346919245667540176147527676002634763453444756381876254511293856745673420274514353276727671913745832033382993458754664525108783457275731340592876541301601647861786457634257667428939723602087621376475431534342176475693457850076452339457614376800147356233392262587381438462534591674564512059342566526954648874774751546519616784895762874767746547806129901943857832923472399292910456233534652639247356734261560265748652786138615164156364567456560200100174657614561281547652181816452636327218657865372865321765719010102901923920192092839478575608172305384087420837266524673726471664501380123984027344905608716554321567985634231579860970343862516167329567840519919031845765577970312501340958687086743586910471510128247476251239574657980713045612784566314546540103847265723645676366454323789025862034638720320348756701001297656789485763586705677878963542342365476027827616413950672365879087524397656790875194624560238476521645162594875618736571437865782318678192738650465601340323475676919192736472346759246937457563145647852604576139611901027656234936456976162552354659391534650068736496743147530128746643323278700097325454756752431432143123457345231491486349875627186457346758613765746243875635169375164549540934259890245981304923589409857765478576809760892435823874524571693163413741723479574564513223466154967657854473473021478321759846235786992912376454542371481879631287947401592485769167860516983746592375865634508711030485729657639834876452991997835605628689716786767671847562736718265736623027893287456786167457368264571017456296510657846873784774472929923475618087262602060302079345679431045294564005674652847893678565543221340100101098789014576854376034875126426345617364542323471928389098013465870965879058384178298084056758748541563542121097898743142893174897695771598838154782367890095783532432534587971348649365713678512391993256586908943765809123573274611436572389457627589474382916584029272967262948607817415739203760156989256735375928482756248567943752752525816976517457864378563478529114101094858867979027897276767867168978268974763992019285868792894813895847138364142649603685339303563728755885273486517346598172634515518288576253879246045098103257176536546327271657942994860951976155543412835865734579135849907334233532828475511748687384589158675865290929187147568999143765143746455614556731473233362726112846537872435618982763751732468754715617435678163745867648736178648518765736817647852994588593927465976291847578549873746201982845746913932991276456456827368282863759294886744884828828919128375694285676920204675816185687628813815861576581272783761873643764985678362862875647837897915837459842768369425693659265498894982537095486202248562894691724256577482873465781788718101198347235578261372718187234632718883265471834574325345456456709238458673567456473667541477532128697083543934537376973419300273491010837596843393993937292874578923952689918167453978935994216576321786178661156487678166156829119934562847576572376176475364863657624654328181938561346587184967868015962536818722773746374638478680127987872879827386623541875161991972623546519885476107654229507722920467268346897228756439418571962781597237530476245983176734653945257587520471794563284978301928757648234739287465848329988386514414274586826527304826119393997654001874653129596935778476452673846264576746581878452616878867414186635881655143235787660250176527848235668825525687154576700017762234683864561688759832876162615541954498727615556576987816356486768999746118276534187587268757515101475416531945635415234675834837726548652934588813459276345762347856723475737487569283645782886156541732514358993751652127456142637372600256625692376578237824359150178644211199838389234356377551508736103888389138387645143422124603459787456718478262763575746613192764536233968746257339393437384236772628118587147655164550'23075137165651437475625789658652449169898165367899781934867782578987685329328949854885484824599266562394587910038477564656392989713746561645637425776919293405023510365647471664020876663459976778234756347563476690108138457389749374983724765651676536545654174567199191991030274560607687978838975921706757635035868989113456651005474991384657172882394876101078356746529987659874625761515034501832746870638762852028736764106503276475020734658176567997823465723647517575767036046764306364636473777716616013765761040234582045767103780568016708979674511137568372847556775677051275849398745495907079472575439394747299376616515391034585605068923874650473801834760075435879848938568973849698549898893289475632405020278347677917168756767134539384191242304928370285798761101034768347656328172684690204362723974659051746350565478969557968976361595199197346510011278283949875627866220383048505606765760689080780809730379037187638619512921359661898283764646732991975653461783269150203603678346087640830870173817083467810012736480320276732628012620671637652730505783676456279253652336807686876252520617065782687653786536757316027882010118116387510561565017238282928235661076578610475118388331745618547814574875891796162874654492673599443232905349340937783894399278620202938456702023876787598275062020284620826693647657203456020360606202675267864670820768916187616165416056175617611781441164897684762091916785157400158876702029377260009187189646890675030487462021780617648388485762761066173458389371634765104857669527552423293295430809658035646545832865928436543902072627662206374872645301893862037658485894978346487360202687311732659492560764874589373782847657656091812395764832765862199298293847109376510650163159616551016539183646782873647834926199837566787263782460236402873462398541767369762760322028376746871620234676617673569191762534651347654943265036308461026408174817414814789392389901805299238746587617354615436565145450176598476016786401267610018018364767155230875601876028747106172349984327650016072687648716592927485450487620201763456866798002394016798763549859877868769759824354239485138789517010837645032818681601034568392020327648182873737737646463783938293032929393987368951291998173876781957985691398419716523434343482882191283461068108726135610876198378126857465534545928453854738546256538767978579101845739108464856860919392020834756484101847651913756018746570268234832948943726487456834032989100126371236057648565765527213854324589678634785369877653453885890380778192658676298299829857692992347657236581568127354453587263883876592876359286198719798479865783272485367364599761917738475687658232537457839329757661991838499488798539784971615763828793875643762132158916587618910100475107395120105457186546387766780456478664647856840128310123874612803766162378691285634765190435764753478657465739374648338834765926547657384657865688248232942028729437656432678649891797149901084376501000823745016276252552357463737238488482765892816115193647895611551503475683743498734710327828020958671435874582072048967297616876438988938991013847646352095848151449664383933378499724765169173647857199173645649785671465650716861762736571000127365871601648834783992928722020014765781010374560173657616076676781941937626475826037667515345387859928926518976137655551030109833978946275626265626991673548632034583874689597798723473273242820201237759537628520137653760210108746681764756155617656719349197166994572361547465763822831781367363459712974893592637695782718356348279999176582175238132567317982739266199187645245002364740893996874585634127326218719635601018237591934756372938572900274365916010283674760520023764589283765287362087620340857230478568374261060247582087169167678253674934959649589440408347783495726021810387456399283764028606320260200487641076283462464387609276553243172729209837562597465281661253583669828197627628719192983749629347569346995948563655453747362727721881191949562060345968176519191919917345676354799599374675544232159638399201817459749759271615385764836291010374650167347388328736561913987283486299762910103856103657282904756362627281723465240387463651951287537652023458248365919549352654919197459127279129923515635426571459601536451964243627781635476020234576762460230180127364869592374653675955053764630635465265652635027747519192765478687629204658732676813592379456500346875429834875162391020387347646328569175467467856103876343746367487021783547499174365158450110012735489172514453722420562034687456013834823874687771865810102086565065646503627647268382923746197696269813765251502502873458729292837628288225202383845272364952010012735010045756016073838645761060103746820207836180192979879857757467346832640202200172638760475627365836101106785320038200181762466575746823648326462374625476234515010128764547356846899937642765020634234234023654765476826875630543754203534786450360532675454224930453030375493054365456378256872024858299452642898476658928201043776658652111810483945346743982000202784678229752843757362947936934392962375467892925268191915260034857927420237460207169387617551724985745009862536322943096858932572010178906784289347659815545238376244988929234542009359785295876823456811681943100163452134623641901278346781235610726377280187324234234208701087654397568754234020433245243354909543085465782992010841847589173496811983746838209871010013784853845670130837629653343450933980958477729001894867298475627819714589938984759878945389928374027910103469119171953873941865891109318478571819117385917498569493729576714435499464985617691932450128374688828376462671424599487951023540887737636154523402010106102630172377273878487103002300273515265625410123637717901018278271715444192490203657348180293764529929397647834875796967671510308834569901043756716616723847108384817815241341042037554332943509543054729010468917467739983475199101340439862534727235958954429028489478304525671347719164879400287658818819348768983817649649191348679314608765654651432997876990238592822919101287456386951098163540697895489452637219432674392634523075708262666879932111013989846110984763101976011173456919838361919102401203871376532568187273916357586743976192243617923146279761998436109851384069129927108467128949991348679191346130023468576587623113924678725468971242265579751984763496810109348114607986196851894723156547356808911235347592929835646457602983596587049507963405829385782375873287557568563812457281218256471243574564837158491360340907978567124979773543228294541201937692652983876269193406679657359216832719762158197287592319385784685921010934758173485742683491993457148397691340613847691300460134761655454355070687692357934357437001034610038198604130184691346017761934773447969725344153460379687676334382645691939691004196957369580258769826918192987483838256295768176879087222561869134857818919438677858919502705847510919910290345803286938588299108684952345674589163467198375913046390701970919182741923500175399596837450298357010205102375601028374671246710407362884785634872100208769275620010732641274602375620734818246457463420602001013857340082734876365032006256118347581090874671627368483874667137264010674873042876102674320761072647234082760172721872360436172661001266171471372171728283020116754020106134701308764392910084765660186468232763824361794876998101027650828643459822297643970101284798927486489547657009098109209149009290902118793451773019574577399827192779128477911343500192840946095788637865119834090369847671671763489191204902839583045767417029381092949898293572357669872366781761501001011018237561783652778381811240235263723771071637757190103746200346782001001300202384570168726387276172110302735070017236713425385864307237015376288124031056478583846710403478267358340100823942982758265366010304576187436827160416417835151594163452453496970340752082717645323234196798202205465645676923952395901008736520306016380756746001578769543382943518329327833679987601013784623653495987263017364026875879870424320452087978409987981276538250164782645036257795797685780709214893982473925991204320502876878653747514350103478568482387401082834610385799698763516754433213321232789432943789238747444623818653216283797890107610867578780178678136450038738731791914050187365082378406801838837658787911327561454608978064350237836243322844638101274658797659383482754294436729456783842043829438947378198457100138561078238461782784919568736401080712346873657844694386928459730005793475273852342341478173817377283872385291983792835787163469846928670920917398792871238956993875641982662364812634727881351623451034501374991003576104785567684336284364347508176001012476238562365673456828374672343473783838711023070123601273618007634287365010138741829987678624783423461554512410240184604857956254375247632491245102040283768716492837658795283765982365023653256030300538678366255172468768746157235726372630612630162323202082612312210201012310283081648325023620367423724243280402402874018623716273618263154616551629167382567169127351531427729376534923745269420283402407234682064736482683649654606456040676403864081764781588612876514669682543332727882828935729357692873459348714947194719747938979813792374164510012746023586340500709897652476519274823463573672615669123648171772873819182739181919293814713561746182841501573658183791891828912328381922410058392594752935729350283579098167515515919276456676346125027410292952030763783433393949418182654781764961012936582493786209932461924861728376432492918992837291987982379146129486628471912928373273791823712304024102450230423704023400348725934602037461782360234773878803482736426302402487657057620160417230123012839998723610230126312322823733982372872939329725459957619195416549357465918710001010835762901876273464673287428634710288237827386256616541745154818472586100413702010280202457830865654345282457083076385652149121952010018746507610875602101023756287373827652650565187382403876436012028373416650358763051367544162443452734582035930297357945804386761230958349061787658726385762909850093480101866297501139202382760204328756012292010202012929276501283764756100192087561025654534434285869792983902020190760281791837462010103847561073771524791505807254243232238297080267542457421499101028746021010376075600387645656180323092910053827068010287659831975981797813795251906013982087368728800123604027834629917826786325536523650020249299176282837645737729376451240823001723075110028752934985637736716037271004817628746010828286465976150103587675838280358762366376420350762563567653020837560220203042037610310276483653202367162985236762482565292020254735892020567673048838087867367287180101008127081374328577582305983203832001735895101003184370198287310309197359295229910410510106710101037560246206055452809258718561010756205020654323256376871365000067649124011460183765340134623507824502387601010736472365623756287651423651654911953465704608056040562946834764735867408708687488240752652024324789845308733803754653775023757265208765750328357702385670119137645230037560753042793979237656565913535296451004100275687474746030109256634599236776523005230747774361031575167360403786997736456523477357751037658782387465761010374601924695903957680875389846723847611823451638579002897401919748593768834929910103578396792857378384986987412410460945873475006784596734335289585662629674765929263572569101037475397465760077485619919529013752857368674656994296046967463490014010134760138765018354930220302078454613487560100456748801762034776634721014674400023187640828820129460875602030475606410365808030002374672836576781627436839294755756865848987045838765647657507984793489572495116505613785628056208365713737814840143784515375434673648013847617161013875631247561657685100813765871637364088287687181087178530180718701876576371764716201208726032623762301672683763628023720767362652753600128420350237638030969292061726478163764545102847624510013647364103865925623563027563872573645100178242065201648710425021874360020216702206471620012076472659992634710402830167267845602478602062106263721676356355593756035026357364203411654736234501012762076235153120203671040236503652002376046036402416247632678346957863450150138746172310462756081273611265234516501501378465043881767846107853204235104138536085610388331084610641073764174602883546874650346524656853476965654387673650384762050201001756051050173650837510515381874650156105637856287565105287282802980991170918256965196156385746940210734614140650173751671091806058921095989879157857676351012387651872401010736550110374608127647564774784328735628938985893525010835738947602013756275023400347177565104214876244311828975625288191245102403756108752601018106171708203540698230580975481946946410140658289176710106138478080714881837583781875372385718541873467381776716064817398475973199237540516656510683878471064104616473567561641641904765018554345318246140147807101074383845615674561030813565166486837469283712483902276365347523450592750708918274781256512341150109293874018387456648276958635847668859209230101079387598364524001968391875610001728360429385237825234528372795483677675121435020592906010219295010385613874628993256934537856474747290101072364010187360108280102384715675020672607520182746026414108364871651087682367017343476320128649123943290510856980716106875320897436947005142532761030137654992937654154037130737605016304010010738504730839994681739294875604076187366634156465653347106476306102030124710825478623702317836152173610112020723027373663412762387383720023760317364663780283767430373460343406246840407821378462103476204376278364757838402034871401207836043826743782610120203476127634066727737014627344024013057616100685163476502783640726301136764078657516776541865137678362663715160365656753040732823786672388236478516231428471829648723410029019274978657308893537696836654151038017645761010128736466647350010374560828374616537254656370296702457186870810983129701001027860160649129349237461540430566017087314658371006016013746578673845610399273568162663458769871346716746550125736986964376643601012837467863552163475573216034101209926347692978346576615155347876476767436001026460111566437316407071827647816415675675670000237560123756010202837873661620203478612632020287364020404740304037786660187346103298367865769875977104610410674871900192810019385665677714502660000101837401001023461011056653325346477757615535199020573208034591237164500102835761771693048508107179834792462470639749878543499440147568760414765081743657491960018716406467008467876666015676476139927364500156783649299276354555013475601864012038592786916544312928816086105064763992634066414610564653007356014563456769320017356011347605767160617360616163748030782602616765011628761067308408832864872163861503876010665367166508450110347650045308806760676076150273650875670361100283658763646437404304737882030818364023610288238046010108283476634610664278647126474664676454462379143527486929029349493889261010875610873645087161503765067853478624355656416134509810757891961051587915150784656760140016674136438596346643046870846376413874129372652150815602087616780532160785334567238976479530146321067831768025782537614267041260176026578321620365670851236875238623487623405782567912350876346543806250616871340138352082357215165308768521073265112001287605151504536672754726501576232675179354792905250872009818374568176427248383832929427016565105167843603705478254513045765721367467128670412876410646785601501515087573765213102310247037867816451873687642871082808112083400563208620016026712672010772364734673632877200270272060436021313626014012378643716626376401240230481728287347615346034603762754723400272688126387365806357235257827100102736476502537345602507350210101287367372516312412467357836480108276538192391048027356020178364782651045313810456756293752071345601432827229008292879935660510111051406756838726108763276176727368262828002810284756876567650100101035613725600517623567635737102387483002937673573264657326810018237617563753765365676758387583505765035610235305737637566350261006105630576468821828282803876580326028182082657378082101012865862750790198908701823710628816354541011065746380673468756010010374560161833832134435765666770237687021082736582838010282929861616171360880353065678238276472346732643001238208734646728010081283864764801203740828192929238999200138746592657436610010959298375018610283679537645674566615603845010136657834876187602354766764343204761876926423011786540161788110283746126474834321173246814684568568568183714010101782364872366346056041874368728377820238837023802881282637467104656810282864865801256850182856587582601605501825665667301082812083755781247384217061204682378472386584326626543050230847578243850311081723643345352144340320103276507367646710178203401726476417929001613746375636624323500172736334129919298847561716541940202350583764260383265080101872671626176464527376028763266327360572346374627542575752720157521045723028881841637264517232300127371237072478999765497255267129356523553526725850028289291675273928862503525562782760268705524410482760561158375613764636172647366326123710037264763552849502035726166667352520235764364154249290175641524515964501002788011363450505816763631750399297346576656462062402450149151020010257440257420847867678610273450202501452308754545020545107346017451023778708437514554377775073540100204515234950173657571646466191055051204247554216352635656172352763505203654105363755455472350037816208276380268020212766340603826082676373766726023678463766765050236021637264613047850064612736127371460672646120636216020716016666736105782637610020012736746030017236476120017236401234061346656040837524323230502018765008273687265601018745610646627461578610057651746315794627811910377661304016735034094366574682308048763515665374610367182803817658905105876594956065101673648774615061001876531375676283749197436861402087360189992837640861416374627638201921984678163782620958359387372845723661010764278347623010218271726361626662662630299200182882162634617216421020012919102826482636565010137659492347601400101010734661466461453514314047630466377567646463264619191263451550102374617800266026723646463471824283746128041010347610461341347601204823760540630020204867600106246182646161865873659998579566298269265498340596752046045673503601107436713096377613986793671376937148787941706178265016750132084237185805630876784664376487260146073864737438671200123746346367438201823677646736140270102876153065269654677592518340675827618326453665468363869181975726416143501430567678513207685126765237081574136797867531015000156732650764671243675136751605687327410651263085617236764677634010767764012823764287364616622618601602136574656226061173657661037261736661972691503013875764376716661637456923934774482615001756106157436587615665738347629919201573686632766254738560101735640781661538746587280101081723801365478645616122038480408736616434010278346656010160357800175858366315100134765078161007813578648372780047567826756615108765673104736460124901661660413862161635703457610587463306877658435825098193847851654302876401601763086823674367846661660356310102833282765813751551515556561214214661636460175643883838746150723364017636464610374666466101064613460376376763160137376366633646747367046646046377636414646163766631636485801610356741607382893873030786759248576475784765623664157043010574837271333646346646108791876284761567167361236310302273460713892534767324650347536926743769935762376100206376856237460823653764776463279867672621554113765372501340146462369612465061426605260634586574683087234703703685276380975277691595191901307623785208287578668657346590785608997528134136578620157053764314317532573778238010182370505783615108721010812612764763275662636757201745605277382080371828782377165456030816172746875682765021052058620610610017847383823845028375676525517825201671678768650238764676230646823765665671326516732650220157236576372647767377263472846278364021040187640875048150855557867172357167564762671264871951935787399535817751556195195159103050318397787841887834142141001289275843757774578366151555414120901839832010102872620817103862746102002021892977356782300207356761627361292100102794767236417836210301028692976267532207264823605781656205020278378993746578364911020273623862087167642935736466473646919919824660510034785647666463712569465003545129275326399199191235454501482423546491682678694196276310467246256053234572487097890623674276001016734616176746646610827664726106272710027601248637666267650117623357183275875162775713567186587356736578353153567474710387567238657776134716307560176576106571676764766610387470501767036476160010183704784178748278378147471740136161660346014640827713273063666041640164764016063055016707606378514070714661707030317682882837576986989636677616547486169714298734606924865355879991010872475628572658768357865344524279785205474671356817983190118366764736741654142635796079098985165675561660104617666366427770127416462556346563495632546156727362737672722238778238778278878737266872163862200202027026476346716276724676185285717510736413767160276347667347618230462763764367728280182887676375018259598510903409852053890528874189274761676267367462772622139231248850259023895934683960768374636376655555344414242101203624599975698647666674646372270027893935545355203047345545401081228376375545127020107261362302932903202088420842075757347958767465655154515010207182358151481746514877467264762376473647378237828100101267636366281763782803812092967578628735667366275616268476768236747378237468126301246460218736786387278378283756003034850987164646164048536001736487660235627346235673614607816147653870781474174018757253448609850782752065433829768671975296160100167501567345786481048763663746073560345003478561534715326154602576746137466795100873086083728736764267401110736640427630328761667605783674865671263001616364010764763662037655152465348389504050376452510403746204663736472645015015415487654104147674740576304704000101993876306147082876055010102876387126302200182766760237857364752810038761065537813461001578126827365318748387461053015061065781365082763584784023101083746874882376402201665962453020375623666236466461636545543520302783626387528573530670397598266526361238494853399348578457787547859875895804002837659151523627370408180278604627863798397365648746626646832001876018372763762631011023665394867676003405304923478167651124354213625353939036235072362953746055030457346525052052043764018778629762140525175687231876598660018764163728873625040287745624572637846046523786572340439876086270834567854532764360101760172316040427830649907160182931763929301007066247632845356414601423667610367466476031647036041043768299243762376563563467374627160104298276473646472992010128768743692959537647329101027628356704051928760134656510011827166376465453604273602163728812002837614754537608146647030330237120783676645245536617260301072632565488395677452150454001078364761626347264375605068765876616312463767265646374668432783565424525549590501765196151050153756034067852637667460340274610743563753224327820030789387349340017346087031730587378030827957834666372402350345023444024342341020101012734024020021274835701024510524342420015012875747376478172377376472773847236716541545010057627452020313672746374252023757608425572504873562357176627547801782547257547547524752202272547457775127527082087670875807157863176423903820857238304356123940238632842398348473828102348657465010123487651018475643780101013475683475024537643032874162734656716376472071640138576347627834004517326161734568348483938272637378480220817263782083760738654761876452876201017138220383764571682020108345670483650201010847652876495267846276437647820138292873645839147563701017047826593461042678346520384756347029837465020287620180104827465726347201087134656273828389457647748472490201084301302830281159024835762948756017456237737382939402876137907843807678010871408713426574747382971465010104108765716746370108276318020837465763820213756038083764571266024158764501837456020726412353242108746508348303927645034657474355454313490567624040426889578474470145878416566643299276532345234910273640184511701453088137459320985173411504103845120845867845041857140874784850101929283832880584578274758202847516457297816038756013371301589742380975403289570289347508384755748392023485710145014725603475611084756732043756018347092437646764587614758084375029834643840302745638104866101087345645674742472043475647304237722992437456745001701327564713856745710201823476750768657983451078613756514344543254689742574356378987665656519287465776476111043751048765983010029233740847315674650104857674601018764502506304507240572639785378656050387456759889776123452313513453565765123086334234090815679425786745677898679434235648835843285710470567167143864721934754087163096543232327970877565434323467745187041875023498754356028961084657380623789553212779897667587365890425434684345389067806378146392846897365403360160487365708687610845761354157826501845687356301857486854674653470123423478608325173465708461957357465872465081650843658042060756487562345620348756387657061532154340123754950256486345891913974356714015234512303451236852643528341929846254062154916523646573828291635426635476746710051745673489569284595260875150174356403176786541074823567388381037460630313658943276503619834765746315761957605671824638461203561730212837460145764599203817983475435565678963710286378173457627868046501782657430081767454675184645018764587007617456179745653655171912675419250134513458387266347804195413954785635463542391943751064735848301438756406406587630487230457616167804526786100471678467817278340145764023573838911786014376543100303923487346587143876765454359257679877890756674011081465010787430298786354635217882374593485927671673219120321043875694353647236017856712387460504352639845615253462348216354932495931487569045204678467784156234678654563267457626489196191203203546782365347656266235219345782783645260204624043651283740103487561782037467104875610716364583476206475627155165478124365896766712654129818737657617571915364565346919245667540176147527676002634763453444756381876254511293856745673420274514353276727671913745832033382993458754664525108783457275731340592876541301601647861786457634257667428939723602087621376475431534342176475693457850076452339457614376800147356233392262587381438462534591674564512059342566526954648874774751546519616784895762874767746547806129901943857832923472399292910456233534652639247356734261560265748652786138615164156364567456560200100174657614561281547652181816452636327218657865372865321765719010102901923920192092839478575608172305384087420837266524673726471664501380123984027344905608716554321567985634231579860970343862516167329567840519919031845765577970312501340958687086743586910471510128247476251239574657980713045612784566314546540103847265723645676366454323789025862034638720320348756701001297656789485763586705677878963542342365476027827616413950672365879087524397656790875194624560238476521645162594875618736571437865782318678192738650465601340323475676919192736472346759246937457563145647852604576139611901027656234936456976162552354659391534650068736496743147530128746643323278700097325454756752431432143123457345231491486349875627186457346758613765746243875635169375164549540934259890245981304923589409857765478576809760892435823874524571693163413741723479574564513223466154967657854473473021478321759846235786992912376454542371481879631287947401592485769167860516983746592375865634508711030485729657639834876452991997835605628689716786767671847562736718265736623027893287456786167457368264571017456296510657846873784774472929923475618087262602060302079345679431045294564005674652847893678565543221340100101098789014576854376034875126426345617364542323471928389098013465870965879058384178298084056758748541563542121097898743142893174897695771598838154782367890095783532432534587971348649365713678512391993256586908943765809123573274611436572389457627589474382916584029272967262948607817415739203760156989256735375928482756248567943752752525816976517457864378563478529114101094858867979027897276767867168978268974763992019285868792894813895847138364142649603685339303563728755885273486517346598172634515518288576253879246045098103257176536546327271657942994860951976155543412835865734579135849907334233532828475511748687384589158675865290929187147568999143765143746455614556731473233362726112846537872435618982763751732468754715617435678163745867648736178648518765736817647852994588593927465976291847578549873746201982845746913932991276456456827368282863759294886744884828828919128375694285676920204675816185687628813815861576581272783761873643764985678362862875647837897915837459842768369425693659265498894982537095486202248562894691724256577482873465781788718101198347235578261372718187234632718883265471834574325345456456709238458673567456473667541477532128697083543934537376973419300273491010837596843393993937292874578923952689918167453978935994216576321786178661156487678166156829119934562847576572376176475364863657624654328181938561346587184967868015962536818722773746374638478680127987872879827386623541875161991972623546519885476107654229507722920467268346897228756439418571962781597237530476245983176734653945257587520471794563284978301928757648234739287465848329988386514414274586826527304826119393997654001874653129596935778476452673846264576746581878452616878867414186635881655143235787660250176527848235668825525687154576700017762234683864561688759832876162615541954498727615556576987816356486768999746118276534187587268757515101475416531945635415234675834837726548652934588813459276345762347856723475737487569283645782886156541732514358993751652127456142637372600256625692376578237824359150178644211199838389234356377551508736103888389138387645143422124603459787456718478262763575746613192764536233968746257339393437384236772628118587147655164550'23075137165651437475625789658652449169898165367899781934867782578987685329328949854885484824599266562394587910038477564656392989713746561645637425776919293405023510365647471664020876663459976778234756347563476690108138457389749374983724765651676536545654174567199191991030274560607687978838975921706757635035868989113456651005474991384657172882394876101078356746529987659874625761515034501832746870638762852028736764106503276475020734658176567997823465723647517575767036046764306364636473777716616013765761040234582045767103780568016708979674511137568372847556775677051275849398745495907079472575439394747299376616515391034585605068923874650473801834760075435879848938568973849698549898893289475632405020278347677917168756767134539384191242304928370285798761101034768347656328172684690204362723974659051746350565478969557968976361595199197346510011278283949875627866220383048505606765760689080780809730379037187638619512921359661898283764646732991975653461783269150203603678346087640830870173817083467810012736480320276732628012620671637652730505783676456279253652336807686876252520617065782687653786536757316027882010118116387510561565017238282928235661076578610475118388331745618547814574875891796162874654492673599443232905349340937783894399278620202938456702023876787598275062020284620826693647657203456020360606202675267864670820768916187616165416056175617611781441164897684762091916785157400158876702029377260009187189646890675030487462021780617648388485762761066173458389371634765104857669527552423293295430809658035646545832865928436543902072627662206374872645301893862037658485894978346487360202687311732659492560764874589373782847657656091812395764832765862199298293847109376510650163159616551016539183646782873647834926199837566787263782460236402873462398541767369762760322028376746871620234676617673569191762534651347654943265036308461026408174817414814789392389901805299238746587617354615436565145450176598476016786401267610018018364767155230875601876028747106172349984327650016072687648716592927485450487620201763456866798002394016798763549859877868769759824354239485138789517010837645032818681601034568392020327648182873737737646463783938293032929393987368951291998173876781957985691398419716523434343482882191283461068108726135610876198378126857465534545928453854738546256538767978579101845739108464856860919392020834756484101847651913756018746570268234832948943726487456834032989100126371236057648565765527213854324589678634785369877653453885890380778192658676298299829857692992347657236581568127354453587263883876592876359286198719798479865783272485367364599761917738475687658232537457839329757661991838499488798539784971615763828793875643762132158916587618910100475107395120105457186546387766780456478664647856840128310123874612803766162378691285634765190435764753478657465739374648338834765926547657384657865688248232942028729437656432678649891797149901084376501000823745016276252552357463737238488482765892816115193647895611551503475683743498734710327828020958671435874582072048967297616876438988938991013847646352095848151449664383933378499724765169173647857199173645649785671465650716861762736571000127365871601648834783992928722020014765781010374560173657616076676781941937626475826037667515345387859928926518976137655551030109833978946275626265626991673548632034583874689597798723473273242820201237759537628520137653760210108746681764756155617656719349197166994572361547465763822831781367363459712974893592637695782718356348279999176582175238132567317982739266199187645245002364740893996874585634127326218719635601018237591934756372938572900274365916010283674760520023764589283765287362087620340857230478568374261060247582087169167678253674934959649589440408347783495726021810387456399283764028606320260200487641076283462464387609276553243172729209837562597465281661253583669828197627628719192983749629347569346995948563655453747362727721881191949562060345968176519191919917345676354799599374675544232159638399201817459749759271615385764836291010374650167347388328736561913987283486299762910103856103657282904756362627281723465240387463651951287537652023458248365919549352654919197459127279129923515635426571459601536451964243627781635476020234576762460230180127364869592374653675955053764630635465265652635027747519192765478687629204658732676813592379456500346875429834875162391020387347646328569175467467856103876343746367487021783547499174365158450110012735489172514453722420562034687456013834823874687771865810102086565065646503627647268382923746197696269813765251502502873458729292837628288225202383845272364952010012735010045756016073838645761060103746820207836180192979879857757467346832640202200172638760475627365836101106785320038200181762466575746823648326462374625476234515010128764547356846899937642765020634234234023654765476826875630543754203534786450360532675454224930453030375493054365456378256872024858299452642898476658928201043776658652111810483945346743982000202784678229752843757362947936934392962375467892925268191915260034857927420237460207169387617551724985745009862536322943096858932572010178906784289347659815545238376244988929234542009359785295876823456811681943100163452134623641901278346781235610726377280187324234234208701087654397568754234020433245243354909543085465782992010841847589173496811983746838209871010013784853845670130837629653343450933980958477729001894867298475627819714589938984759878945389928374027910103469119171953873941865891109318478571819117385917498569493729576714435499464985617691932450128374688828376462671424599487951023540887737636154523402010106102630172377273878487103002300273515265625410123637717901018278271715444192490203657348180293764529929397647834875796967671510308834569901043756716616723847108384817815241341042037554332943509543054729010468917467739983475199101340439862534727235958954429028489478304525671347719164879400287658818819348768983817649649191348679314608765654651432997876990238592822919101287456386951098163540697895489452637219432674392634523075708262666879932111013989846110984763101976011173456919838361919102401203871376532568187273916357586743976192243617923146279761998436109851384069129927108467128949991348679191346130023468576587623113924678725468971242265579751984763496810109348114607986196851894723156547356808911235347592929835646457602983596587049507963405829385782375873287557568563812457281218256471243574564837158491360340907978567124979773543228294541201937692652983876269193406679657359216832719762158197287592319385784685921010934758173485742683491993457148397691340613847691300460134761655454355070687692357934357437001034610038198604130184691346017761934773447969725344153460379687676334382645691939691004196957369580258769826918192987483838256295768176879087222561869134857818919438677858919502705847510919910290345803286938588299108684952345674589163467198375913046390701970919182741923500175399596837450298357010205102375601028374671246710407362884785634872100208769275620010732641274602375620734818246457463420602001013857340082734876365032006256118347581090874671627368483874667137264010674873042876102674320761072647234082760172721872360436172661001266171471372171728283020116754020106134701308764392910084765660186468232763824361794876998101027650828643459822297643970101284798927486489547657009098109209149009290902118793451773019574577399827192779128477911343500192840946095788637865119834090369847671671763489191204902839583045767417029381092949898293572357669872366781761501001011018237561783652778381811240235263723771071637757190103746200346782001001300202384570168726387276172110302735070017236713425385864307237015376288124031056478583846710403478267358340100823942982758265366010304576187436827160416417835151594163452453496970340752082717645323234196798202205465645676923952395901008736520306016380756746001578769543382943518329327833679987601013784623653495987263017364026875879870424320452087978409987981276538250164782645036257795797685780709214893982473925991204320502876878653747514350103478568482387401082834610385799698763516754433213321232789432943789238747444623818653216283797890107610867578780178678136450038738731791914050187365082378406801838837658787911327561454608978064350237836243322844638101274658797659383482754294436729456783842043829438947378198457100138561078238461782784919568736401080712346873657844694386928459730005793475273852342341478173817377283872385291983792835787163469846928670920917398792871238956993875641982662364812634727881351623451034501374991003576104785567684336284364347508176001012476238562365673456828374672343473783838711023070123601273618007634287365010138741829987678624783423461554512410240184604857956254375247632491245102040283768716492837658795283765982365023653256030300538678366255172468768746157235726372630612630162323202082612312210201012310283081648325023620367423724243280402402874018623716273618263154616551629167382567169127351531427729376534923745269420283402407234682064736482683649654606456040676403864081764781588612876514669682543332727882828935729357692873459348714947194719747938979813792374164510012746023586340500709897652476519274823463573672615669123648171772873819182739181919293814713561746182841501573658183791891828912328381922410058392594752935729350283579098167515515919276456676346125027410292952030763783433393949418182654781764961012936582493786209932461924861728376432492918992837291987982379146129486628471912928373273791823712304024102450230423704023400348725934602037461782360234773878803482736426302402487657057620160417230123012839998723610230126312322823733982372872939329725459957619195416549357465918710001010835762901876273464673287428634710288237827386256616541745154818472586100413702010280202457830865654345282457083076385652149121952010018746507610875602101023756287373827652650565187382403876436012028373416650358763051367544162443452734582035930297357945804386761230958349061787658726385762909850093480101866297501139202382760204328756012292010202012929276501283764756100192087561025654534434285869792983902020190760281791837462010103847561073771524791505807254243232238297080267542457421499101028746021010376075600387645656180323092910053827068010287659831975981797813795251906013982087368728800123604027834629917826786325536523650020249299176282837645737729376451240823001723075110028752934985637736716037271004817628746010828286465976150103587675838280358762366376420350762563567653020837560220203042037610310276483653202367162985236762482565292020254735892020567673048838087867367287180101008127081374328577582305983203832001735895101003184370198287310309197359295229910410510106710101037560246206055452809258718561010756205020654323256376871365000067649124011460183765340134623507824502387601010736472365623756287651423651654911953465704608056040562946834764735867408708687488240752652024324789845308733803754653775023757265208765750328357702385670119137645230037560753042793979237656565913535296451004100275687474746030109256634599236776523005230747774361031575167360403786997736456523477357751037658782387465761010374601924695903957680875389846723847611823451638579002897401919748593768834929910103578396792857378384986987412410460945873475006784596734335289585662629674765929263572569101037475397465760077485619919529013752857368674656994296046967463490014010134760138765018354930220302078454613487560100456748801762034776634721014674400023187640828820129460875602030475606410365808030002374672836576781627436839294755756865848987045838765647657507984793489572495116505613785628056208365713737814840143784515375434673648013847617161013875631247561657685100813765871637364088287687181087178530180718701876576371764716201208726032623762301672683763628023720767362652753600128420350237638030969292061726478163764545102847624510013647364103865925623563027563872573645100178242065201648710425021874360020216702206471620012076472659992634710402830167267845602478602062106263721676356355593756035026357364203411654736234501012762076235153120203671040236503652002376046036402416247632678346957863450150138746172310462756081273611265234516501501378465043881767846107853204235104138536085610388331084610641073764174602883546874650346524656853476965654387673650384762050201001756051050173650837510515381874650156105637856287565105287282802980991170918256965196156385746940210734614140650173751671091806058921095989879157857676351012387651872401010736550110374608127647564774784328735628938985893525010835738947602013756275023400347177565104214876244311828975625288191245102403756108752601018106171708203540698230580975481946946410140658289176710106138478080714881837583781875372385718541873467381776716064817398475973199237540516656510683878471064104616473567561641641904765018554345318246140147807101074383845615674561030813565166486837469283712483902276365347523450592750708918274781256512341150109293874018387456648276958635847668859209230101079387598364524001968391875610001728360429385237825234528372795483677675121435020592906010219295010385613874628993256934537856474747290101072364010187360108280102384715675020672607520182746026414108364871651087682367017343476320128649123943290510856980716106875320897436947005142532761030137654992937654154037130737605016304010010738504730839994681739294875604076187366634156465653347106476306102030124710825478623702317836152173610112020723027373663412762387383720023760317364663780283767430373460343406246840407821378462103476204376278364757838402034871401207836043826743782610120203476127634066727737014627344024013057616100685163476502783640726301136764078657516776541865137678362663715160365656753040732823786672388236478516231428471829648723410029019274978657308893537696836654151038017645761010128736466647350010374560828374616537254656370296702457186870810983129701001027860160649129349237461540430566017087314658371006016013746578673845610399273568162663458769871346716746550125736986964376643601012837467863552163475573216034101209926347692978346576615155347876476767436001026460111566437316407071827647816415675675670000237560123756010202837873661620203478612632020287364020404740304037786660187346103298367865769875977104610410674871900192810019385665677714502660000101837401001023461011056653325346477757615535199020573208034591237164500102835761771693048508107179834792462470639749878543499440147568760414765081743657491960018716406467008467876666015676476139927364500156783649299276354555013475601864012038592786916544312928816086105064763992634066414610564653007356014563456769320017356011347605767160617360616163748030782602616765011628761067308408832864872163861503876010665367166508450110347650045308806760676076150273650875670361100283658763646437404304737882030818364023610288238046010108283476634610664278647126474664676454462379143527486929029349493889261010875610873645087161503765067853478624355656416134509810757891961051587915150784656760140016674136438596346643046870846376413874129372652150815602087616780532160785334567238976479530146321067831768025782537614267041260176026578321620365670851236875238623487623405782567912350876346543806250616871340138352082357215165308768521073265112001287605151504536672754726501576232675179354792905250872009818374568176427248383832929427016565105167843603705478254513045765721367467128670412876410646785601501515087573765213102310247037867816451873687642871082808112083400563208620016026712672010772364734673632877200270272060436021313626014012378643716626376401240230481728287347615346034603762754723400272688126387365806357235257827100102736476502537345602507350210101287367372516312412467357836480108276538192391048027356020178364782651045313810456756293752071345601432827229008292879935660510111051406756838726108763276176727368262828002810284756876567650100101035613725600517623567635737102387483002937673573264657326810018237617563753765365676758387583505765035610235305737637566350261006105630576468821828282803876580326028182082657378082101012865862750790198908701823710628816354541011065746380673468756010010374560161833832134435765666770237687021082736582838010282929861616171360880353065678238276472346732643001238208734646728010081283864764801203740828192929238999200138746592657436610010959298375018610283679537645674566615603845010136657834876187602354766764343204761876926423011786540161788110283746126474834321173246814684568568568183714010101782364872366346056041874368728377820238837023802881282637467104656810282864865801256850182856587582601605501825665667301082812083755781247384217061204682378472386584326626543050230847578243850311081723643345352144340320103276507367646710178203401726476417929001613746375636624323500172736334129919298847561716541940202350583764260383265080101872671626176464527376028763266327360572346374627542575752720157521045723028881841637264517232300127371237072478999765497255267129356523553526725850028289291675273928862503525562782760268705524410482760561158375613764636172647366326123710037264763552849502035726166667352520235764364154249290175641524515964501002788011363450505816763631750399297346576656462062402450149151020010257440257420847867678610273450202501452308754545020545107346017451023778708437514554377775073540100204515234950173657571646466191055051204247554216352635656172352763505203654105363755455472350037816208276380268020212766340603826082676373766726023678463766765050236021637264613047850064612736127371460672646120636216020716016666736105782637610020012736746030017236476120017236401234061346656040837524323230502018765008273687265601018745610646627461578610057651746315794627811910377661304016735034094366574682308048763515665374610367182803817658905105876594956065101673648774615061001876531375676283749197436861402087360189992837640861416374627638201921984678163782620958359387372845723661010764278347623010218271726361626662662630299200182882162634617216421020012919102826482636565010137659492347601400101010734661466461453514314047630466377567646463264619191263451550102374617800266026723646463471824283746128041010347610461341347601204823760540630020204867600106246182646161865873659998579566298269265498340596752046045673503601107436713096377613986793671376937148787941706178265016750132084237185805630876784664376487260146073864737438671200123746346367438201823677646736140270102876153065269654677592518340675827618326453665468363869181975726416143501430567678513207685126765237081574136797867531015000156732650764671243675136751605687327410651263085617236764677634010767764012823764287364616622618601602136574656226061173657661037261736661972691503013875764376716661637456923934774482615001756106157436587615665738347629919201573686632766254738560101735640781661538746587280101081723801365478645616122038480408736616434010278346656010160357800175858366315100134765078161007813578648372780047567826756615108765673104736460124901661660413862161635703457610587463306877658435825098193847851654302876401601763086823674367846661660356310102833282765813751551515556561214214661636460175643883838746150723364017636464610374666466101064613460376376763160137376366633646747367046646046377636414646163766631636485801610356741607382893873030786759248576475784765623664157043010574837271333646346646108791876284761567167361236310302273460713892534767324650347536926743769935762376100206376856237460823653764776463279867672621554113765372501340146462369612465061426605260634586574683087234703703685276380975277691595191901307623785208287578668657346590785608997528134136578620157053764314317532573778238010182370505783615108721010812612764763275662636757201745605277382080371828782377165456030816172746875682765021052058620610610017847383823845028375676525517825201671678768650238764676230646823765665671326516732650220157236576372647767377263472846278364021040187640875048150855557867172357167564762671264871951935787399535817751556195195159103050318397787841887834142141001289275843757774578366151555414120901839832010102872620817103862746102002021892977356782300207356761627361292100102794767236417836210301028692976267532207264823605781656205020278378993746578364911020273623862087167642935736466473646919919824660510034785647666463712569465003545129275326399199191235454501482423546491682678694196276310467246256053234572487097890623674276001016734616176746646610827664726106272710027601248637666267650117623357183275875162775713567186587356736578353153567474710387567238657776134716307560176576106571676764766610387470501767036476160010183704784178748278378147471740136161660346014640827713273063666041640164764016063055016707606378514070714661707030317682882837576986989636677616547486169714298734606924865355879991010872475628572658768357865344524279785205474671356817983190118366764736741654142635796079098985165675561660104617666366427770127416462556346563495632546156727362737672722238778238778278878737266872163862200202027026476346716276724676185285717510736413767160276347667347618230462763764367728280182887676375018259598510903409852053890528874189274761676267367462772622139231248850259023895934683960768374636376655555344414242101203624599975698647666674646372270027893935545355203047345545401081228376375545127020107261362302932903202088420842075757347958767465655154515010207182358151481746514877467264762376473647378237828100101267636366281763782803812092967578628735667366275616268476768236747378237468126301246460218736786387278378283756003034850987164646164048536001736487660235627346235673614607816147653870781474174018757253448609850782752065433829768671975296160100167501567345786481048763663746073560345003478561534715326154602576746137466795100873086083728736764267401110736640427630328761667605783674865671263001616364010764763662037655152465348389504050376452510403746204663736472645015015415487654104147674740576304704000101993876306147082876055010102876387126302200182766760237857364752810038761065537813461001578126827365318748387461053015061065781365082763584784023101083746874882376402201665962453020375623666236466461636545543520302783626387528573530670397598266526361238494853399348578457787547859875895804002837659151523627370408180278604627863798397365648746626646832001876018372763762631011023665394867676003405304923478167651124354213625353939036235072362953746055030457346525052052043764018778629762140525175687231876598660018764163728873625040287745624572637846046523786572340439876086270834567854532764360101760172316040427830649907160182931763929301007066247632845356414601423667610367466476031647036041043768299243762376563563467374627160104298276473646472992010128768743692959537647329101027628356704051928760134656510011827166376465453604273602163728812002837614754537608146647030330237120783676645245536617260301072632565488395677452150454001078364761626347264375605068765876616312463767265646374668432783565424525549590501765196151050153756034067852637667460340274610743563753224327820030789387349340017346087031730587378030827957834666372402350345023444024342341020101012734024020021274835701024510524342420015012875747376478172377376472773847236716541545010057627452020313672746374252023757608425572504873562357176627547801782547257547547524752202272547457775127527082087670875807157863176423903820857238304356123940238632842398348473828102348657465010123487651018475643780101013475683475024537643032874162734656716376472071640138576347627834004517326161734568348483938272637378480220817263782083760738654761876452876201017138220383764571682020108345670483650201010847652876495267846276437647820138292873645839147563701017047826593461042678346520384756347029837465020287620180104827465726347201087134656273828389457647748472490201084301302830281159024835762948756017456237737382939402876137907843807678010871408713426574747382971465010104108765716746370108276318020837465763820213756038083764571266024158764501837456020726412353242108746508348303927645034657474355454313490567624040426889578474470145878416566643299276532345234910273640184511701453088137459320985173411504103845120845867845041857140874784850101929283832880584578274758202847516457297816038756013371301589742380975403289570289347508384755748392023485710145014725603475611084756732043756018347092437646764587614758084375029834643840302745638104866101087345645674742472043475647304237722992437456745001701327564713856745710201823476750768657983451078613756514344543254689742574356378987665656519287465776476111043751048765983010029233740847315674650104857674601018764502506304507240572639785378656050387456759889776123452313513453565765123086334234090815679425786745677898679434235648835843285710470567167143864721934754087163096543232327970877565434323467745187041875023498754356028961084657380623789553212779897667587365890425434684345389067806378146392846897365403360160487365708687610845761354157826501845687356301857486854674653470123423478608325173465708461957357465872465081650843658042060756487562345620348756387657061532154340123754950256486345891913974356714015234512303451236852643528341929846254062154916523646573828291635426635476746710051745673489569284595260875150174356403176786541074823567388381037460630313658943276503619834765746315761957605671824638461203561730212837460145764599203817983475435565678963710286378173457627868046501782657430081767454675184645018764587007617456179745653655171912675419250134513458387266347804195413954785635463542391943751064735848301438756406406587630487230457616167804526786100471678467817278340145764023573838911786014376543100303923487346587143876765454359257679877890756674011081465010787430298786354635217882374593485927671673219120321043875694353647236017856712387460504352639845615253462348216354932495931487569045204678467784156234678654563267457626489196191203203546782365347656266235219345782783645260204624043651283740103487561782037467104875610716364583476206475627155165478124365896766712654129818737657617571915364565346919245667540176147527676002634763453444756381876254511293856745673420274514353276727671913745832033382993458754664525108783457275731340592876541301601647861786457634257667428939723602087621376475431534342176475693457850076452339457614376800147356233392262587381438462534591674564512059342566526954648874774751546519616784895762874767746547806129901943857832923472399292910456233534652639247356734261560265748652786138615164156364567456560200100174657614561281547652181816452636327218657865372865321765719010102901923920192092839478575608172305384087420837266524673726471664501380123984027344905608716554321567985634231579860970343862516167329567840519919031845765577970312501340958687086743586910471510128247476251239574657980713045612784566314546540103847265723645676366454323789025862034638720320348756701001297656789485763586705677878963542342365476027827616413950672365879087524397656790875194624560238476521645162594875618736571437865782318678192738650465601340323475676919192736472346759246937457563145647852604576139611901027656234936456976162552354659391534650068736496743147530128746643323278700097325454756752431432143123457345231491486349875627186457346758613765746243875635169375164549540934259890245981304923589409857765478576809760892435823874524571693163413741723479574564513223466154967657854473473021478321759846235786992912376454542371481879631287947401592485769167860516983746592375865634508711030485729657639834876452991997835605628689716786767671847562736718265736623027893287456786167457368264571017456296510657846873784774472929923475618087262602060302079345679431045294564005674652847893678565543221340100101098789014576854376034875126426345617364542323471928389098013465870965879058384178298084056758748541563542121097898743142893174897695771598838154782367890095783532432534587971348649365713678512391993256586908943765809123573274611436572389457627589474382916584029272967262948607817415739203760156989256735375928482756248567943752752525816976517457864378563478529114101094858867979027897276767867168978268974763992019285868792894813895847138364142649603685339303563728755885273486517346598172634515518288576253879246045098103257176536546327271657942994860951976155543412835865734579135849907334233532828475511748687384589158675865290929187147568999143765143746455614556731473233362726112846537872435618982763751732468754715617435678163745867648736178648518765736817647852994588593927465976291847578549873746201982845746913932991276456456827368282863759294886744884828828919128375694285676920204675816185687628813815861576581272783761873643764985678362862875647837897915837459842768369425693659265498894982537095486202248562894691724256577482873465781788718101198347235578261372718187234632718883265471834574325345456456709238458673567456473667541477532128697083543934537376973419300273491010837596843393993937292874578923952689918167453978935994216576321786178661156487678166156829119934562847576572376176475364863657624654328181938561346587184967868015962536818722773746374638478680127987872879827386623541875161991972623546519885476107654229507722920467268346897228756439418571962781597237530476245983176734653945257587520471794563284978301928757648234739287465848329988386514414274586826527304826119393997654001874653129596935778476452673846264576746581878452616878867414186635881655143235787660250176527848235668825525687154576700017762234683864561688759832876162615541954498727615556576987816356486768999746118276534187587268757515101475416531945635415234675834837726548652934588813459276345762347856723475737487569283645782886156541732514358993751652127456142637372600256625692376578237824359150178644211199838389234356377551508736103888389138387645143422124603459787456718478262763575746613192764536233968746257339393437384236772628118587147655164550'230751371656514374756257896586524491698981653678997819348677825789876853293289498548854848245992665623945879100384775646563929897137465616456374257769192934050235103656474716640208766634599767782347563475634766901081384573897493749837247656516765365456541745671991919910302745606076879788389759217067576350358689891134566510054749913846571728823948761010783567465299876598746257615150345018327468706387628520287367641065032764750207346581765679978234657236475175757670360467643063646364737777166160137657610402345820457671037805680167089796745111375683728475567756770512758493987454959070794725754393947472993766165153910345856050689238746504738018347600754358798489385689738496985498988932894756324050202783476779171687567671345393841912423049283702857987611010347683476563281726846902043627239746590517463505654789695579689763615951991973465100112782839498756278662203830485056067657606890807808097303790371876386195129213596618982837646467329919756534617832691502036036783460876408308701738170834678100127364803202767326280126206716376527305057836764562792536523368076868762525206170657826876537865367573160278820101181163875105615650172382829282356610765786104751183883317456185478145748758917961628746544926735994432329053493409377838943992786202029384567020238767875982750620202846208266936476572034560203606062026752678646708207689161876161654160561756176117814411648976847620919167851574001588767020293772600091871896468906750304874620217806176483884857627610661734583893716347651048576695275524232932954308096580356465458328659284365439020726276622063748726453018938620376584858949783464873602026873117326594925607648745893737828476576560918123957648327658621992982938471093765106501631596165510165391836467828736478349261998375667872637824602364028734623985417673697627603220283767468716202346766176735691917625346513476549432650363084610264081748174148147893923899018052992387465876173546154365651454501765984760167864012676100180183647671552308756018760287471061723499843276500160726876487165929274854504876202017634568667980023940167987635498598778687697598243542394851387895170108376450328186816010345683920203276481828737377376464637839382930329293939873689512919981738767819579856913984197165234343434828821912834610681087261356108761983781268574655345459284538547385462565387679785791018457391084648568609193920208347564841018476519137560187465702682348329489437264874568340329891001263712360576485657655272138543245896786347853698776534538858903807781926586762982998298576929923476572365815681273544535872638838765928763592861987197984798657832724853673645997619177384756876582325374578393297576619918384994887985397849716157638287938756437621321589165876189101004751073951201054571865463877667804564786646478568401283101238746128037661623786912856347651904357647534786574657393746483388347659265476573846578656882482329420287294376564326786498917971499010843765010008237450162762525523574637372384884827658928161151936478956115515034756837434987347103278280209586714358745820720489672976168764389889389910138476463520958481514496643839333784997247651691736478571991736456497856714656507168617627365710001273658716016488347839929287220200147657810103745601736576160766767819419376264758260376675153453878599289265189761376555510301098339789462756262656269916735486320345838746895977987234732732428202012377595376285201376537602101087466817647561556176567193491971669945723615474657638228317813673634597129748935926376957827183563482799991765821752381325673179827392661991876452450023647408939968745856341273262187196356010182375919347563729385729002743659160102836747605200237645892837652873620876203408572304785683742610602475820871691676782536749349596495894404083477834957260218103874563992837640286063202602004876410762834624643876092765532431727292098375625974652816612535836698281976276287191929837496293475693469959485636554537473627277218811919495620603459681765191919199173456763547995993746755442321596383992018174597497592716153857648362910103746501673473883287365619139872834862997629101038561036572829047563626272817234652403874636519512875376520234582483659195493526549191974591272791299235156354265714596015364519642436277816354760202345767624602301801273648695923746536759550537646306354652656526350277475191927654786876292046587326768135923794565003468754298348751623910203873476463285691754674678561038763437463674870217835474991743651584501100127354891725144537224205620346874560138348238746877718658101020865650656465036276472683829237461976962698137652515025028734587292928376282882252023838452723649520100127350100457560160738386457610601037468202078361801929798798577574673468326402022001726387604756273658361011067853200382001817624665757468236483264623746254762345150101287645473568468999376427650206342342340236547654768268756305437542035347864503605326754542249304530303754930543654563782568720248582994526428984766589282010437766586521118104839453467439820002027846782297528437573629479369343929623754678929252681919152600348579274202374602071693876175517249857450098625363229430968589325720101789067842893476598155452383762449889292345420093597852958768234568116819431001634521346236419012783467812356107263772801873242342342087010876543975687542340204332452433549095430854657829920108418475891734968119837468382098710100137848538456701308376296533434509339809584777290018948672984756278197145899389847598789453899283740279101034691191719538739418658911093184785718191173859174985694937295767144354994649856176919324501283746888283764626714245994879510235408877376361545234020101061026301723772738784871030023002735152656254101236377179010182782717154441924902036573481802937645299293976478348757969676715103088345699010437567166167238471083848178152413410420375543329435095430547290104689174677399834751991013404398625347272359589544290284894783045256713477191648794002876588188193487689838176496491913486793146087656546514329978769902385928229191012874563869510981635406978954894526372194326743926345230757082626668799321110139898461109847631019760111734569198383619191024012038713765325681872739163575867439761922436179231462797619984361098513840691299271084671289499913486791913461300234685765876231139246787254689712422655797519847634968101093481146079861968518947231565473568089112353475929298356464576029835965870495079634058293857823758732875575685638124572812182564712435745648371584913603409079785671249797735432282945412019376926529838762691934066796573592168327197621581972875923193857846859210109347581734857426834919934571483976913406138476913004601347616554543550706876923579343574370010346100381986041301846913460177619347734479697253441534603796876763343826456919396910041969573695802587698269181929874838382562957681768790872225618691348578189194386778589195027058475109199102903458032869385882991086849523456745891634671983759130463907019709191827419235001753995968374502983570102051023756010283746712467104073628847856348721002087692756200107326412746023756207348182464574634206020010138573400827348763650320062561183475810908746716273684838746671372640106748730428761026743207610726472340827601727218723604361726610012661714713721717282830201167540201061347013087643929100847656601864682327638243617948769981010276508286434598222976439701012847989274864895476570090981092091490092909021187934517730195745773998271927791284779113435001928409460957886378651198340903698476716717634891912049028395830457674170293810929498982935723576698723667817615010010110182375617836527783818112402352637237710716377571901037462003467820010013002023845701687263872761721103027350700172367134253858643072370153762881240310564785838467104034782673583401008239429827582653660103045761874368271604164178351515941634524534969703407520827176453232341967982022054656456769239523959010087365203060163807567460015787695433829435183293278336799876010137846236534959872630173640268758798704243204520879784099879812765382501647826450362577957976857807092148939824739259912043205028768786537475143501034785684823874010828346103857996987635167544332133212327894329437892387474446238186532162837978901076108675787801786781364500387387317919140501873650823784068018388376587879113275614546089780643502378362433228446381012746587976593834827542944367294567838420438294389473781984571001385610782384617827849195687364010807123468736578446943869284597300057934752738523423414781738173772838723852919837928357871634698469286709209173987928712389569938756419826623648126347278813516234510345013749910035761047855676843362843643475081760010124762385623656734568283746723434737838387110230701236012736180076342873650101387418299876786247834234615545124102401846048579562543752476324912451020402837687164928376587952837659823650236532560303005386783662551724687687461572357263726306126301623232020826123122102010123102830816483250236203674237242432804024028740186237162736182631546165516291673825671691273515314277293765349237452694202834024072346820647364826836496546064560406764038640817647815886128765146696825433327278828289357293576928734593487149471947197479389798137923741645100127460235863405007098976524765192748234635736726156691236481717728738191827391819192938147135617461828415015736581837918918289123283819224100583925947529357293502835790981675155159192764566763461250274102929520307637834333939494181826547817649610129365824937862099324619248617283764324929189928372919879823791461294866284719129283732737918237123040241024502304237040234003487259346020374617823602347738788034827364263024024876570576201604172301230128399987236102301263123228237339823728729393297254599576191954165493574659187100010108357629018762734646732874286347102882378273862566165417451548184725861004137020102802024578308656543452824570830763856521491219520100187465076108756021010237562873738276526505651873824038764360120283734166503587630513675441624434527345820359302973579458043867612309583490617876587263857629098500934801018662975011392023827602043287560122920102020129292765012837647561001920875610256545344342858697929839020201907602817918374620101038475610737715247915058072542432322382970802675424574214991010287460210103760756003876456561803230929100538270680102876598319759817978137952519060139820873687288001236040278346299178267863255365236500202492991762828376457377293764512408230017230751100287529349856377367160372710048176287460108282864659761501035876758382803587623663764203507625635676530208375602202030420376103102764836532023671629852367624825652920202547358920205676730488380878673672871801010081270813743285775823059832038320017358951010031843701982873103091973592952299104105101067101010375602462060554528092587185610107562050206543232563768713650000676491240114601837653401346235078245023876010107364723656237562876514236516549119534657046080560405629468347647358674087086874882407526520243247898453087338037546537750237572652087657503283577023856701191376452300375607530427939792376565659135352964510041002756874747460301092566345992367765230052307477743610315751673604037869977364565234773577510376587823874657610103746019246959039576808753898467238476118234516385790028974019197485937688349299101035783967928573783849869874124104609458734750067845967343352895856626296747659292635725691010374753974657600774856199195290137528573686746569942960469674634900140101347601387650183549302203020784546134875601004567488017620347766347210146744000231876408288201294608756020304756064103658080300023746728365767816274368392947557568658489870458387656476575079847934895724951165056137856280562083657137378148401437845153754346736480138476171610138756312475616576851008137658716373640882876871810871785301807187018765763717647162012087260326237623016726837636280237207673626527536001284203502376380309692920617264781637645451028476245100136473641038659256235630275638725736451001782420652016487104250218743600202167022064716200120764726599926347104028301672678456024786020621062637216763563555937560350263573642034116547362345010127620762351531202036710402365036520023760460364024162476326783469578634501501387461723104627560812736112652345165015013784650438817678461078532042351041385360856103883310846106410737641746028835468746503465246568534769656543876736503847620502010017560510501736508375105153818746501561056378562875651052872828029809911709182569651961563857469402107346141406501737516710918060589210959898791578576763510123876518724010107365501103746081276475647747843287356289389858935250108357389476020137562750234003471775651042148762443118289756252881912451024037561087526010181061717082035406982305809754819469464101406582891767101061384780807148818375837818753723857185418734673817767160648173984759731992375405166565106838784710641046164735675616416419047650185543453182461401478071010743838456156745610308135651664868374692837124839022763653475234505927507089182747812565123411501092938740183874566482769586358476688592092301010793875983645240019683918756100017283604293852378252345283727954836776751214350205929060102192950103856138746289932569345378564747472901010723640101873601082801023847156750206726075201827460264141083648716510876823670173434763201286491239432905108569807161068753208974369470051425327610301376549929376541540371307376050163040100107385047308399946817392948756040761873666341564656533471064763061020301247108254786237023178361521736101120207230273736634127623873837200237603173646637802837674303734603434062468404078213784621034762043762783647578384020348714012078360438267437826101202034761276340667277370146273440240130576161006851634765027836407263011367640786575167765418651376783626637151603656567530407328237866723882364785162314284718296487234100290192749786573088935376968366541510380176457610101287364666473500103745608283746165372546563702967024571868708109831297010010278601606491293492374615404305660170873146583710060160137465786738456103992735681626634587698713467167465501257369869643766436010128374678635521634755732160341012099263476929783465766151553478764767674360010264601115664373164070718276478164156756756700002375601237560102028378736616202034786126320202873640204047403040377866601873461032983678657698759771046104106748719001928100193856656777145026600001018374010010234610110566533253464777576155351990205732080345912371645001028357617716930485081071798347924624706397498785434994401475687604147650817436574919600187164064670084678766660156764761399273645001567836492992763545550134756018640120385927869165443129288160861050647639926340664146105646530073560145634567693200173560113476057671606173606161637480307826026167650116287610673084088328648721638615038760106653671665084501103476500453088067606760761502736508756703611002836587636464374043047378820308183640236102882380460101082834766346106642786471264746646764544623791435274869290293494938892610108756108736450871615037650678534786243556564161345098107578919610515879151507846567601400166741364385963466430468708463764138741293726521508156020876167805321607853345672389764795301463210678317680257825376142670412601760265783216203656708512368752386234876234057825679123508763465438062506168713401383520823572151653087685210732651120012876051515045366727547265015762326751793547929052508720098183745681764272483838329294270165651051678436037054782545130457657213674671286704128764106467856015015150875737652131023102470378678164518736876428710828081120834005632086200160267126720107723647346736328772002702720604360213136260140123786437166263764012402304817282873476153460346037627547234002726881263873658063572352578271001027364765025373456025073502101012873673725163124124673578364801082765381923910480273560201783647826510453138104567562937520713456014328272290082928799356605101110514067568387261087632761767273682628280028102847568765676501001010356137256005176235676357371023874830029376735732646573268100182376175637537653656767583875835057650356102353057376375663502610061056305764688218282828038765803260281820826573780821010128658627507901989087018237106288163545410110657463806734687560100103745601618338321344357656667702376870210827365828380102829298616161713608803530656782382764723467326430012382087346467280100812838647648012037408281929292389992001387465926574366100109592983750186102836795376456745666156038450101366578348761876023547667643432047618769264230117865401617881102837461264748343211732468146845685685681837140101017823648723663460560418743687283778202388370238028812826374671046568102828648658012568501828565875826016055018256656673010828120837557812473842170612046823784723865843266265430502308475782438503110817236433453521443403201032765073676467101782034017264764179290016137463756366243235001727363341299192988475617165419402023505837642603832650801018726716261764645273760287632663273605723463746275425757527201575210457230288818416372645172323001273712370724789997654972552671293565235535267258500282892916752739288625035255627827602687055244104827605611583756137646361726473663261237100372647635528495020357261666673525202357643641542492901756415245159645010027880113634505058167636317503992973465766564620624024501491510200102574402574208478676786102734502025014523087545450205451073460174510237787084375145543777750735401002045152349501736575716464661910550512042475542163526356561723527635052036541053637554554723500378162082763802680202127663406038260826763737667260236784637667650502360216372646130478500646127361273714606726461206362160207160166667361057826376100200127367460300172364761200172364012340613466560408375243232305020187650082736872656010187456106466274615786100576517463157946278119103776613040167350340943665746823080487635156653746103671828038176589051058765949560651016736487746150610018765313756762837491974368614020873601899928376408614163746276382019219846781637826209583593873728457236610107642783476230102182717263616266626626302992001828821626346172164210200129191028264826365650101376594923476014001010107346614664614535143140476304663775676464632646191912634515501023746178002660267236464634718242837461280410103476104613413476012048237605406300202048676001062461826461618658736599985795662982692654983405967520460456735036011074367130963776139867936713769371487879417061782650167501320842371858056308767846643764872601460738647374386712001237463463674382018236776467361402701028761530652696546775925183406758276183264536654683638691819757264161435014305676785132076851267652370815741367978675310150001567326507646712436751367516056873274106512630856172367646776340107677640128237642873646166226186016021365746562260611736576610372617366619726915030138757643767166616374569239347744826150017561061574365876156657383476299192015736866327662547385601017356407816615387465872801010817238013654786456161220384804087366164340102783466560101603578001758583663151001347650781610078135786483727800475678267566151087656731047364601249016616604138621616357034576105874633068776584358250981938478516543028764016017630868236743678466616603563101028332827658137515515155565612142146616364601756438838387461507233640176364646103746664661010646134603763767631601373763666336467473670466460463776364146461637666316364858016103567416073828938730307867592485764757847656236641570430105748372713336463466461087918762847615671673612363103022734607138925347673246503475369267437699357623761002063768562374608236537647764632798676726215541137653725013401464623696124650614266052606345865746830872347037036852763809752776915951919013076237852082875786686573465907856089975281341365786201570537643143175325737782380101823705057836151087210108126127647632756626367572017456052773820803718287823771654560308161727468756827650210520586206106100178473838238450283756765255178252016716787686502387646762306468237656656713265167326502201572365763726477673772634728462783640210401876408750481508555578671723571675647626712648719519357873995358177515561951951591030503183977878418878341421410012892758437577745783661515554141209018398320101028726208171038627461020020218929773567823002073567616273612921001027947672364178362103010286929762675322072648236057816562050202783789937465783649110202736238620871676429357364664736469199198246605100347856476664637125694650035451292753263991991912354545014824235464916826786941962763104672462560532345724870978906236742760010167346161767466466108276647261062727100276012486376662676501176233571832758751627757135671865873567365783531535674747103875672386577761347163075601765761065716767647666103874705017670364761600101837047841787482783781474717401361616603460146408277132730636660416401647640160630550167076063785140707146617070303176828828375769869896366776165474861697142987346069248653558799910108724756285726587683578653445242797852054746713568179831901183667647367416541426357960790989851656755616601046176663664277701274164625563465634956325461567273627376727222387782387782788787372668721638622002020270264763467162767246761852857175107364137671602763476673476182304627637643677282801828876763750182595985109034098520538905288741892747616762673674627726221392312488502590238959346839607683746363766555553444142421012036245999756986476666746463722700278939355453552030473455454010812283763755451270201072613623029329032020884208420757573479587674656551545150102071823581514817465148774672647623764736473782378281001012676363662817637828038120929675786287356673662756162684767682367473782374681263012464602187367863872783782837560030348509871646461640485360017364876602356273462356736146078161476538707814741740187572534486098507827520654338297686719752961601001675015673457864810487636637460735603450034785615347153261546025767461374667951008730860837287367642674011107366404276303287616676057836748656712630016163640107647636620376551524653483895040503764525104037462046637364726450150154154876541041476747405763047040001019938763061470828760550101028763871263022001827667602378573647528100387610655378134610015781268273653187483874610530150610657813650827635847840231010837468748823764022016659624530203756236662364664616365455435203027836263875285735306703975982665263612384948533993485784577875478598758958040028376591515236273704081802786046278637983973656487466266468320018760183727637626310110236653948676760034053049234781676511243542136253539390362350723629537460550304573465250520520437640187786297621405251756872318765986600187641637288736250402877456245726378460465237865723404398760862708345678545327643601017601723160404278306499071601829317639293010070662476328453564146014236676103674664760316470360410437682992437623765635634673746271601042982764736464729920101287687436929595376473291010276283567040519287601346565100118271663764654536042736021637288120028376147545376081466470303302371207836766452455366172603010726325654883956774521504540010783647616263472643756050687658766163124637672656463746684327835654245255495905017651961510501537560340678526376674603402746107435637532243278200307893873493400173460870317305873780308279578346663724023503450234440243423410201010127340240200212748357010245105243424200150128757473764781723773764727738472367165415450100576274520203136727463742520237576084255725048735623571766275478017825472575475475247522022725474577751275270820876708758071578631764