782699561054559025455144694423394243448755733829081736386716448419566054692966647464144997495606027683489141981367712106895232640615672878264141392391613529461945859320633709426625322623053900248526368394231787976180539050554111638575548325671446202971415598853877371348714856174561119884845927041584731155766229634365386544136225467682337056884066911082751955491618632715498430656143544789856709848872214440678394335414457783348737621648045875321303334938637333612291742012142527582676924861380490163835758608977203025512813195552984383848021962241454775373704068053336365511699844948970545807684045222471586788583666821879749306195761014294965684954122698822529239829313823233314675116107868982819303934960476830771874725979697120662736365677957710992083678762378776966631700665449117198278784254422546687441691193374135168435383402332096805049554396338262670768501186921335395786319311384174790699009305146472621407659464759407348210777732237040268345773376211665540349352892205513287633182181223133322236210384076722869588295065002705498868065953500286398542992973893571618769603575165712607591901389295747987919913656266729867786662792282343716685518263685147296399442257244739857863625721065852234254368855416057897021452210032828432498231348881916191338422237646789904634689366593529390086399568822239931801487796457179221627525617277541206268933058942997173734880779648116638340501412581285642770978947119491957352666096977189479335104429026657685415735970321028557251927967549842677495308334114397916956590119012215628972754732854898442370826921819507261063416737724049985558409564956554229009424193475956814665835607308729295869213430336516011179284811545611224553536273440003928160995483429725637258772861360195595827669573955003882955244621540110164567718448889872928679484792210509715193168489674831834764525626014012361071156659157866353555258550132279590793362304128820121693389421133484419225312851806269007624803539912009222358945648282215980433978818246258812926545112457782196976325737962771104991750512957989294741430262835315795877885924465226638450138450562131204985501072841871326924485892809960425260616761935277289433746048270933457347429595674036963173489071498567468396008879938235450788085472403749183449352339943756022708509280422699695343430138663562275424750670410512223636230034468581683343775432418458955633972955582964387820463843128220412024576447553024136855997746602285711692687651675293076429228357291309463683057093594133154726313491637037312634367333913727489588839928320801757291524700218956750779877076259576468544671257608996593328736879127189122242292388816845243550053779582645419731687546548038391073384033912727123709289837823167491771528926382376222217927226607698293739527375036047146627965939942921825907119652861937351756167165456410795709787912623272719220144667666893277209157637027716422999954106488187817843272236885776127424467530988092947026786869092626844734196591536187956487567846641624614725495448707646207688599739352447938147358584793873494526522367198331383865762129963929446151605718814447248214559284834831315339187806723956819611170076893111737348929523886593706776657552054994810145689577073740849708214372349401475555216194550449340251103725459794906411810468545850830844465824585438177309965409132738150444010639961970175814342377172161214588994691251987531847702357088274167349976542725371907579346006052902364545906346350872780366329213656113342553707198659182271121541705065813415997529024362735573922213234320098244119080802788424898321696354142806336174587610973164927471027825240159268363276484218388751525935157137528352735398425478472750745166718501617436669408770589203309806349318977638789063583927587375514231898808968320320468956972075975684892636294102643290383503127927259656429316471355620718054453668668540364028435359773587592822922686517730152868042818845487594363037103218431497507560491420074572743050595591032562968276193838542852245142723059715880210652318258966890686885655670636143112210568228002792046765292519611381428971939340922292772078772854338249712200725261150617377461380191965777933710380562820889689559271954716285042540843239751985161653411411424687945032722990262249523719694174961244335128969490628254361557119763787884349352531338427136708416274983174306283768594919120411933772813362080536327624259750970787793242656310102012946763170628000966710498660769381791313505539573439569672640256314444032364367174725948222613680326136637468742945918296462955043648178475390351693678444233407771794730071004377503359728049438040251398554420619006580887268921822595208864572046113457851588149274143308278809673263693192198956703601240438949916578980987534739557646151102627787947589034970951368311503877429626721168742393897363855307191933015984686328286496062289291591958019792111554568799781922989413911126128485105291468899038385960886624006908689247195482668841105444570311816406506240002354401424996217262679622274395652312597785267276346692168455122224694522218900387364169708539905553988144909654480335962799732892078838184784536529127815615103678535647656595098789658787663864894122386830846764188405572568930622349105043709700417124383923174722474809414459951829420668596823072565330321038900508239391692540117068356826355537669117750936361972590085616278551053084238387811103190110730277124026678962862089853574001828700984864765698141477311795145128565068150291475360363723182559252394575588547525322631173208861192523445498622251765042909433452581967379696683341247069562820183354303434555741897158480288306163254168945431081577141154611776408571930583124919812751422562392281772518846397541496196250974083485832929012624387156534479197021931482393254989996979566082481250079817005215724477030379939917618658735137132394473774255866648829602150036418789333051528848193422297920680455091091160641581624750353547035638347537319202774715391