[78662178858286201652152705583981145303064843177669493774588775896724539697098544626710288189630930586302990382229594838231331496634068386294043610374882931290127419850946966697356788930381700665997014625386292611819916722100715059824655952400142762569150384384250340924364754565980839810064333565356035333028666023779107836726244525638712100805059462341631897217284798216907381920876861783475519495635818007748533790953490691224904653559719532691217796117641283392715680392024569067314918717077189785179800249938392436732635073077917988755081105332086362006042065534129731881665450035296793258418235284143112439296410492075573936019790627734895724241365544526632197371091235537543913773424374300569499829507478304268984832904832986996046555901430486039094074798993416934324287816758445678713747283722026984542030560287919402113875917135133472725718521326346390457361393617613698671305811576994272826647269487718139612735768299860569977359132500770762549024279138246373388239655345644121696185100420453004565134531392660207373188095822467587087535756244387802293964289819657589026980317402879884747555440668958960268662587778005458791018363124307414888944485491685209363969836638007220682589183952325522601507468550659305926205489764350628908479058474552428963509667595567260628871270906853922321369557076705999593602992777879667023473273713203422540281889199857638430217838555586789107848935465738582414533873048970154510803372275954022272051617999301494025853972632894874640761479420017976954825736835319573055272892960971406628281352641569886638836031215804082895074396891508668530784982597498609778204669277126274724717219514444220574613835442568223012259444898064322256735442850240627615306744153093549516963140404140996226796204888527720162375371168716801671577135124662551477028742408026861424485284730638147832865735434036085560834022511265187119037596251515787263421829062691027736419887454920803236584926336119925069400129183552495430245187606263670008681276059192644159974691529672576788643144820319063982432804088386121736407886534738495470893741869570143641047264658837682797626912625496508461694947145818619845951659632356760697193146247883303274932962916643331877540109027412350846214713376605514427750239179750190505092579620336450226468701905642771850075015335757387924944616149485586859018593038936966418808246102169100436808591161108454679332157811082661431174866517009814157177674577700744265812730980945213095690231391379736189930297490147933327396770650459923423562170448422783340608465539352984395206598454517047452359846544568260756082838507942579751553992025299701982767872824902571401178570860807023833678889219296671277504024925511730021821267952234383077274463052213704182529625047490705495346514245906181844148152984993938079501377870164821271967895679081996948018330593345883508310095757556683174377755898192033208838130733005248735075657660962311858680753793766943856867897309144937104907856182606405114103734403872203757474480640344340059799366349499514561242803686085762177176756782971048079981861683440371119913392920041841103689097888323630400990414156408948924076624060553193429892713234615634634715877073382457150713053598832779174830163909204962751373901470661735614373350708339486088562551757839195850457457019823823458622424652831333547809069114236800280909893530735524474062764219847042114595169251452655502708815307797829029618687089255618130125089072590918003196914655050935378907011030605417003238227340426317650901487969208042752108700552306371915005669523516058662296447137393083638408349081456144227136799374138053439198414131814613992803128246907476670226794096438082568701173985712404493667105610494870789476853697234089824245262686239759688403632137245585499020521035324025559655532454796516294730609865540873893013542187974219418661999876861820308084011420088528791908495948620526683848884113416260788711096253037855059904406549888175429490123249405644360460632060441386511885671750015520215490170605987970237635419595119416886583618166422091879586279564624243189808819408052278056282827351434987667223488929732098964237486081287906408504843046075022265737092051222837710340911370509948918968996821736955395897579347749334969805953134309678829138589461368102797168751725259100342269040832351969690364318039829791627215385435766334286803824097890995804704767931829041074719471843227315685890592334530860511523981979026898332783096461036249613725113001272586784842270437397032874850687187909916497130754228959230454239600430704900321846558153029401230518768081595028224321411065011911881088593770553846766637491973342976198879071274906771402223063955425453610927992204229309219672379919189993666612441880671761524971902647951814702689464082704820411166853940425418536512983394470451176314817198749745926483433580034039011222374327000963214693870007774131928958188555295076286997893050150840082259781323830574694929000951685827717155104808258745158538156938851630751602926135099256099265110795098443190214155649453488718542013737974400954973736524070424611325726308581640825854189398067121159568287073746648723451422125094496213797860112948214987951107333317078560161981998199009920346904881969821622327885178493051682075304545913865435374730916106752066305990838202933923007250016323083990436041958653705522387146360381199392125327192679218693217612854038130521041843352614857634451651030546244866401929072461596270515022365488258639901654499624891717940771650092491850629198164464462699309523737551867713225797734845755052597537455401828333126051182329488790199979373238775231861995532423424888854660623993758482645376104486470221420208725849734435274130440518921024871270403050387564685119376051867568082058959767768865871877843270142096125977096037073955787301888506601862501101143592246907580033987464824172800902959949138347414230294590417580686388602292055128661320091396084015023979228858867670342341021104956277274936195412404681198674071644881490039937637391878930681229111420381573335920701561935839570105666896489682281211223654258782146062076855644066005117689459667640092382900536535907858264187244089797670873934662401041253818633502902887847705195309014096990271743125036267939854536326291861899804282249344130184213523726727732063016626489798796271056744636704180251848582872779668769133774500444338962448617839676042113776628523955291134832676013118365197586090128086819863958673381794237713405853034320141297115469049712935793953848818301936448964736369321301362195548449396381239810278350060981908148098138822437454339522273889814372064422147729958184676728705957257380141246899218407448614800125262825429978419893629432054225183950216447806561076781297945050013196592672630799316869049709795543376120218531989673007874617917890385883516320376301552035846083428359918316139001482109710954358930329778937354259113567127324079671807366308600314701798034924457559079677430846587203075467764407016125631245867726201874021709601907900366721359983345837316056218382547251399880623040207874934068264941097168136162515909888784337892922078666668367700389475562475319118731233840779138822871843932565559817459324924101837335783239073836506446787906846597973581504780749825117429505893718142747302373380356641834766251623168388979137324478173240461509032158118591202205451119865978470522260432482046719982139523694222805806730202903503867401257767098581591108760611369645241001615262184931714429989998757493265218062812316321689485414471607706255323835251734913736446178925992948825402874404053500330430455095996890766931083828813467289168495021227079447300528186295083849289087384504654944882885405107302205253412978605081243771595276260363989756102308580938474104734127410613252646564979891721320594774699987399507950467951521623576141296386922356813691645959601450066234948120235344041593734129227608299714322746405269065274858935566379067613958407797923522981606260876425352140209355531458050708077628530678548630680532488821349725375143081652973296579938875007869067760133232302449272612665728661977923130272903644461158260740617161071020269815599747347060232102006915075444082495664430395869411287472676765857534737825100411576710587583723927876777146737688477951343599245495356734597702709470648314260408236804256558438186690423863734928782383849865571291723325633842967743620216767099031979351329883100218823778954304316925446677002642056743655194576753779320649760734797079174754816831202746168934443639641506852147619479488092341692938250298370778907391167904215779751810364596208607392679300404891087395871971755075505010709446272939798667460379578314608501279548854796836686764946893161122269210019871415290717541864354442095800751655485377548318146647743113615841096115720305051493727313205509801503009667906179863891744388585716480947737285620990456010804357219481141491089013387607033407348444709951990997071187585222538855107889060141734544876005360091027454682443668131601644851929700880924817283398641325026310554605754724115450218867820005253471875209678423136139235808307192551244778920072610216298710462955691433373200857941079297585876372222319696673112843927614379790472342100866507800066297428476374068502357860029812813927201763473896270527404459261142306615047339697413852662093782962722581198097509511257009470398839131757684801671670953993425959302312264351957676994733261282616908069117698734938929640567628938657726127010898193950580791461143483285769772522690845593098173038216909932342475791166357586421200720215813189339521247906021398815588023143749916651242830628181175793169174211907150934107496024754083536798531607663039003046458704655780425783277283476050071279331367565325278180850093792157187934965414511602953633753409758552712453850634077812354951555311682122640250850411659572690731478992363561162268125024688510421772171500409240277459647725238909930406262483592426098908092492735258302325002965010478911970977686047385051629842420428512749167887990984060925125270736712762679342336139990457200022273003721105654132808304210079844446089641853387653658266682473114960486942479182308609893522091604184066080039174806268738209639496933601338578306757989974666053917111270778502922529843461182853237163547656214530766327243130745678770331050692045666531267447336228264230890939170425696252224360878446317439792132470457800513382230920568527287914560109503749153015095627697115158299860536237115175062915028999404568847586480681381957632759109346885071889650451583525692872915614463005090568971667341349950875750227831418014784740040812260258046200033760684756288657729311816392072506032556542235311527726054560529969430109726561133371694263837747866415219382338203271834811478397605605425558322023069036301219286496555524635057902043352719506481764300356360097855060301203915954103920145132655645820157016227914435208192377678841777605456830627536163592369344433010748271309076304237438960388825223026195249734089991511865365476379142772687084070274490354721723419163609805515367570092031456810076415125190376850456195928705087277212474910735277340019085161295256149062128881060326597939263377665967465547819269565831803356786553319654035375673629425994973493121278602262354915797215380435659999827281117836357122539400363139559935576285920979167464839324896773838722307228140538374621672760179078592401291806404619844192816410564611968365027493452905032356482918442802326130819457386097435365248317450605804677035132625652255913016263971302811809923786329884632374108543216515910645270190962512081477654465814690171272881006743191539850017202679519447600943026941871510265776262231272680935234746300896314752246708446064013233199302889961687476157578926589317651487849668042847041784791983311356310506932191030812744348382444039692184802609718377896735125974871406165647043881382541505278074736395717686174365470003421039068600151148933214414803925179092677320554179111735052979648415698714895998752874333275983983073130172299683683050670104854791866780873702362270218817028157509247225075795207056350795601698167309094496464478392827546496582392936822420453467133809443235918012446940885812778775167324236465531746951000959514680446119635755261752714161300947742069400186350203438039502653579411666987338252949285199584044090060639804174197692959674307435057937285296142518920343266522392934465392278731694485386421651534557385997226852971114002987403552602521427653515407121346667045440298062620331500557460010341710440432979112739699730568647662875571680796917755630775407003021326709042809032333301546666775674918868996895759246855006436766749860993316698597931569453298992372915255848660378870667350992664459706944546207061113114842308214989396116373683013401200578033520376259596037453803996939822214217960540092371408222030707420028179520894250094851014165622029673672121416977814626207814722597557684763334345207133683379405614701254680058086294907326546398253062242196414606948093164968160426874828698927286609811041044026787524394038757274657803120696210980603573705084639160286783872107052644661358384229779133276262231417152718898789565761101893796787488833898916017180587797871199608567942153127473771436292175604189794508399574555731449599737160016947594476275296844590490623760981412849363813460112781800580007795964938242182318637103549173682795749722832820984628106398371557818069681660196845665504364644426094729788574024261095403354127995410928293191697552916352015047311476330258011136173367657329762003157189022078415285571648508237295547047838465971731513255711147893913107577967556409282501420808096652047252289973358901371489437718670819476903130804105810127205474139126343335576893061715757297935765851732117225998188084796707242603773164230801565240692932222022308877854905637570658110731189959483848075718324880550337981419497294412754669186535668923475298331296826684429243977136769016272857802698941037351968315879112033537991809573132304924989554599108999170462445251667166881892427210818157527081560847135780114523646883317530546172633533917001724169250137540446841676661311132721658171079355833052495169964426170316269673926908739028728798064378648877514819364108210050623631330612067818809710507684526800939693599677643885611675099622588738247738097146134181081717716246413832312292888199817674109180495776060208899887755158124890786429179965500390121424041378324233712040540734172328269571102739098287957014556407030708106590511669352540675329106145237265861524392289317757630514748476891705841989702203897599147701309780909991825235672879902837705161951620422063125170274040020686283253123483330906255203775426121897527394639973231706195906383084605212858436962170954579724828041514505985787255377733332168347652807874940265383835479426078471282107479395164954711266600918095142038534195377859628971942427857002993018044895018581609079708995617132571877122780861068193597714645019036534170734019761795150353307668903804181455463807019278326166601960263435025558355819986308786685390743330593561489694176953505532479453134348768717243155642129004314551482083008359982132647856158786161893959011160640511323599246761209160397168105964659518851282038575049993488411737960116985242435899481217174311482434186375530259931377667095749946656612329317604567943702807905024077071884680517121316541050703302529674349820010734715438112424485197981938037907038847300878552446512809887627748451537753046250511051909537187311238582261286796147101711253484809201405712687180751052318514186528927973078006226411004462891096096053048926205177250951461194208111808932585348669010197761460728937971523217743214248838736731179414343650462170200807648935010907780667147343408921046225578624385203174368299273315702300241302318822997995534986319841039994861310182025749483122611442270718079551984382733631034769735466426742044356440200999512574391346246597715628521593498905618010989352645042425188355674934032970574190573366261679732601066700052145725176177459029521598588733023780922713537639940086261203094884352063279984485080163762817244258875736881377407749369929769265138627045830023032994268003613796453417992349429628400189395898902151897737728750548272211727238230921445437708135296013394903512827338973601756477552149271421380079850490865252244706487005754804883786622975641889790342234164213438182581962397814718855451982409933017528011949586948008488803483634550739005755209377411785244376205880203243171214049459598134705078441331419479773914317776359887158691356189656235643652057913952494843757261305705138969384883411958471777466720294704041872448075392207910852324213014782268238658654641934072123165006929002310698483308189487090736082616612338819058940643381056904031747045350142456152189836756931975432706625562350144115023972505748451114173504962790911686979022016938171364394943783790662792062572535358177954229752570317387572169577646196118105837152505982702761238144013172860596556745640847699431318535912768162084492751183731405037709888030737436232100981879801867669527650382595634051747019297520064514184454706613326381506444673014422146698376458992149528930824702077269475743825506371303239550146967199257788231897667998835376072502771627608816117400369882722467732738852784633799279292687524299084951189647398139952613029773175047268525684108106632637232760037765341855858418313519344543289882497430239237805873083437665192185333475856086757251279511091055789504482747619298748823806978155810036327724032728143536456996362967462079949421467262770196382340877545744817128315539601771778628970637150078385046924862670462587423115639716866449998691952000062610895086316716541129595292740750195617601721863336672601636407502651963009135683748462487209877522151186434517414914393392155700890143713421205532373056498756585191725496092352404050671263387395232121729019698029151982882766935579636090527641876428463050732946976954460897197463673759088883891759858830352310336853771669784028489658597463219540814275000231712532146324594289857258591961177214472114826000080786946069833820518808998947491097964866349330780482063994800541907434461050043556240060669383706408874574507954889870155268677691386277610538782228587481741124634765708931007032139522919356576661854456340237745201430593426251452565126852123140572594258748343507605491499604673286571777712857068291342353816936154523785755812052057335975584824056320367156555534058863728523766177650768397093128780152354370539714965117222667249256530523142665129991694198021995769881675719185874054749927380479540372369946072333195553354034865002713769894693889460649992696541653314525085752289383858660352851529146009063291205673329910989912510945644939635023914290009750856670746573908434794705588474030643661530440223741338346660069410055948129386545398159708231984128939257608028413944005042509631165835799493784076034562318873523727498944680520968611380719114759116734754703983728544349725135457207879639021759295565613260946855644922670910147082738130427095577779179660544450917830288081047539443387062850235856323696554563043487610367122666031791939762447861779716258005529479870174670361725294064742136352281678543552477675783751448649778041286346870777136256693287135375408878970607936847994691463962380245438065849551510299787319621433963705445121791639668157543414593822316097659699301227339511805910781879050521631888341509135738876233240857835729975728146754529957385269952471498868209022259541340884655304609307789525270462019555700227934158981811456895104253499016750660831440615795840937936398217412154219779217231650258807079303251832814768784436329674240125897828061869616226525626377774817129889979809821827710642750646070396621187340934359711148961428087804785254312617285808351511686529325052720656009355207660608698174779148077947911034824124045175063548076325406599091332384679221455482159074347390499442360779578365953952732447361826626660615805866153312609021032785407241465771533829104617731562053867729677772834289713029341739309429133452238659712400748791558702200618187195593285640195671564757586738527215527744638949698999418678470722827026348455945740021367949342346374378658897568751369012002733950656270656521359317841530597355179748016177175873219796422282218704447908758234241480441447574201102820838703048685034154669274655717536171597419307859625891319569997810436482747875233380880399706824428816710729993522762762222134653725102022377590557586638632732523231116823832723189362637295708601968585918210936838234645688868548246833329711169502006361232126098913948395944459888003839319490708340876818657185562351948031626319339729101487556212550727755736341527586512099332735060053755056232884608991249837370003762908680837816503365198798843911206996340437084820455239994608291069997455492293865407023043769622884462683959703189197069267514841357227727686930541902192026951432899032300553906987660835491612021122042196588551328666802062443213185737540253853016154353563041655381419607324715769541359205488787509631304989485183615344976531025513845698254391996145764329866935766886908076553718406529302694952583899639435486509206609524680617410984861814670574085877681436230470834522723857478576540094423471208948930382925643382942402842433057587713676986580998006356105130893982975205189394277920772244846626897837034311504636026769928701710326114434229636224605557179284310828594778382434592872361935713358600102379554841916706315515806046741507576778817515645695038613477641273511057328280196520981940697377531403986871920041391149667937931273936325497513681755513093521192546136975988489706593806820905998303533759844847128360242959803928459316572685363131463816387980932181474976686535910442401540366997020773098324568239348533571693589529347180954192550229548760724867098366245342184805667346536063181815908872978717399259503147660923710026343593533756624768866360510033631015732482201273268085432474036232692006312005942334993790023632936399563785044588775487050401823136388725354717546667099950957079604721130751654364967753982113291363700952379178795557229717658426323010255338948529511332887752325665335624293702949494010310127707324154930636918172194551142557467060580100441857713163448714444070935985672466157496928169640872558689921144534136497944595334749982523928773269697144780525302863950425760938122871617964612709660199264128917400572595764491250599780337490709602017468430504293558439535165560125547894727560649512326909653759922969634246090826380366023194049665087451380931936788342983698985400877761377509179758632665790985685360376602633267075979793069758204506659155643841954354749984995076612939299261092882536788864797475989461056886178411893817399246391899894761920329776763300522373787961302468054286450114403807947742627443314201816713417306124310392395166418015993092924680340006136145151156347557887916079244008648361049969794204872887674107352317799665678124409629746768972408319699048432435993684975915872619574547601282928906673234380103736706306000045364960098037495725019980429996288743283223047834066831078498804717398190781013371133410554573865625501153607523775068159129471098512879383329668105495586277293916586036697643270606801870222632886611337625897158600068063222363905504927752653342565507727203488018292306892740202366714530017750164211572227448187836004168377828901939011279339892223981549574380715191572956999289630174719611730829620831130560279658855075489845311590934694536315108866965573884436694448264493904936921606330921728741818502701874620223068430463074019035119462849538389619145535150079131315379432486582819228975213246062174517632367443087617984594499118963235366580418775875531819698739826948010159931655062007596557153559250555364090855040707943712404809426100848275542698273049534217202107563361360495750467848878902575062155575555465064446624675734024963829513383423770045725759208618695429793260744619017751257117519079128526835616423252168215015785764152509556806614506457430065605803311312027569582075266900216849812143595621539566587138637397797041163405112191333823746693366890819516365185477322095785644460441386587617156534167369996603108715150456837851951951263341658578126722283475744075299113121436257813978679174358436783774055841855619495791820339356959160722014740463536076867167175086640426159604322702155272244782845485173404295065884143259731687450626729308081268275977383339596754880631361947709465378057120144610634654295865788820766392773270663909137129271544719099388638590156125532520380125537031253192292276595939700000884349241602022336381540262774096714344321260957936161168031875960825290344388786083478859043813516226821326741870620401486710691516826549044371263968555915085768471515681374370821977784370355441135902618529252656341268502229097012279441601757477453068865014431516044096881303108671788499075836759489277922820790752832563475832992975064134480342600703455827358244274893386988765705548196361561547015901939000272924386649522207830717217576047044929032671879330658355937740959160143040892839802791494275638558783217839726962193902057548716515345232008802156081691419819987156046975926112080961211366384014085058162242776215508493028620266830791572582579617710107319132097070386646649595123158700798678227785960723154429857383820681013662547651587387730784895849453782300676089799955828177601566897199134231833939081381370750486261759763100776664534190325996088179069847404113867460281756530436707390941489167437733846620225228301995754075517842249194296902393 : 31004632581399212080836916503913374223071523728156903728423491175162555955966128529034050669854593676803165694729411288240929173485717353023627082103142715591462589083180711898628500577881963418154103325250036089414385468114501641384213865861440318383202669012068487640179985975010339966070372738041715881135771963560457635105816667979734276974623507664679841189506444693463842171193413162741533594603629987462133585493211923182377939691374560740499351150264632663498741152370869505984921719292315427078106995402397387981960863129100306529383198543777600351972386181305156917705897996870458900080861910420907285256303891168725802841666218291790263199142443324117934690282251267729188095770275067456266080137311806026284701524565188896378112475315522928423277136732048185780693354802743956585451760061479686754459528305674148084313199807290098772180305729467923103631054265057745086349564631404462070552810515186843367237077203924755082348863642709151899577126969279654694077216662084956976793308419388106163257610959293131110688990785336001111861480597691936784790915456881704929262689029405907016842311279452075629263239590645735347476756017350487519917321783529269585093503844828808513965005684757758877447776516108086738523774829517145299672635806815933038826562612267116391799233825885444465292400372516528954511017403590130533463747116623558366603436576378562780127851239137762487374925514550606799595410507663414240987724229088097547029233846536929672345884726034968817912161504535097664058440940068727960054352031494055109013161595352444385946834265557814537507167488894158074719795300475818246317692807188497975551701410886092235737396037984048290220310738910996507949003038703752708496848745836488035783790278449415840517865470249722727343995036947099854536542018602797557913091402451406617758963224537834329137948651423709018329943858483208688118337293347594730426222978289938567694319073280794442975929391750077577866682826879860255169431458978031554699432377771314090612184518096661429333249006169887179647406519184183774255111422145414365959154625460196057959081824887464049120932220631721621808805164566794493310206532030130441541903177165773720223477572151963613447495822427706028170097499459418812906459775243932077620328782324051494993042491777576069679262500224253357159505021700975964233513811843852102617546354902635485380618206244546522405213091145167436863704669844351892708770449990715090476966100632105754960654491088051670565723899000989645600966654981044154032552872160262081406476430640576085349359363563224051777393159592067387031103967519205835226878542353704277927222050997784384094224488230114696992267435844194435153111510697214463121070510420520742493190793424290637383714741631202757118434040919124126818470131608794708213532496334970333569126731670200837401969195542020651977136685760018976259254517115067142411161890654129119343275524339309587007993642835633720295903381894682221636463288275069667565886779659152419841456439630994674230153937387602442512059275668382902393573811527020662442186029622860354297750069120698111465018343908210239341809335733909934502455996837188104899287874716236380220575565045184644067714726584138624549134431466646294756717437938822338539737600726530295010049837670136998771066259741752414402892590675005960073607670924328256382458344452248771970848624808993148759805478406788928857953246646139006778420952762480679799600765794855736791870232974670312459352020801230274825790870201476952920782021106329579190107989842286146769428348610161410257893090519425224795521265133838230044436158983945309658117794894827745388450156016644739257112551480268660623222869835484058406349814942813173825726423013181999430780350512877087595836853202203942212985319090457334130973566609939632937616663650459281357071295179277907704836277885933203196573001139582219151157457596599117165140386985567175467453727991389532472960777038697455536907669669618093212544252178903108800019797754481413743426037440273451797558211553416032436188911259882499559803046422670398109414596847471421508434057097119145918106997498350704828861808402541353692001975202624090352653969005642458334555656613998406860207577438277842519293887561366958973880070556486473256395378809907240280854186415991127185526420932211573229828055723769014036856904858980093758857526847804325725430252473113176333207311818426764513016452202057465329128683988660643781365656469687401373708194414432912831822618360083686743975896193185522183181189782369082489553080600517672150418498950856823136209576540287856321896315732018399674609202533880830157620920533479038725920890937407641905366024168360971941634106113201425216168392337320373651926178726515899989329316698895496294954358656053190734313179993464846821535396490002200885955041725808940433774954490299836867442362747681846008399253549594660796588851798615573154737399754694420600094943720840585479327271782044264253079021489602976139779722300950348023411229456526117874581175745122414832782161705527742430195014336707372166631926753653108048777509000591199302987882469056847638600843423989743223156403099491762733191636517247096921066222084334976512574601185383718146883040298456622236439559882295496897129549050073624692846372221583274891876878349221793649788957141172090485805105900972085235076985423271694475644016678928526507853809723519925018408730998630972683394890992426881060614984755783297362236631684746833989733294710660375317280993912132591781403149664413919613141017430191140602525973209009159467394555022900855520967153901677642954254431426892333546663262833220216378175510567178168736683845493500982425753260098930036808249307254687536514165132290041150719355797197514264015771975564395085469146637870221122226684853789178473456017437005120967182433088702134014854257647283512512203010244656031757051916888764771297772446416747308913134751049743884401226987411787321002173906882822297376397197660551034210456017644783858629330948439164680614734835246137174790007702886598834093720588774179875905027139281324437328077913731193634195579250360009959255788114821679245357608144070056212682277878564125986687164764742446263931726375285884177943679626639681379405571507336343820431255364536265305789104249120808019093335065501865347976245640293816022530919878351428374733225277263631603421677522229570513068006263881998158801983525628664823303948787253053249219691696395504348135150134832693007397450856433952165439005043787899594694760461518258600356715531510681795860357091596377537969770175680235114795343711096783309923351907875391462113095740554795419619129931457875772855300563220369153446414790625322481464188072727351209659185835654572589972724479451302120952449791614074944619215516638491794039938341838535813103526241630265632020015962279081486649092641366151661568574236151382397606367365402498989961441578177055075253443767214249665812869523357801231111567669107605051345247838933460934850269794825017159606472795995889928001108173746294589419383408867924142029805672651344763711113701757928479540295070249564952059647928771075435403522188952231184976925617454215525820229742446068629404574083840430968765195047037358856772801693370367072592642205818106167406591088780388649042390629199784186225148933971233081566887251628468858105797362123809652907020981008526796192233595062765987855947376331015852119362104535732274918553724095529343805551383280659995105747079355017751877614132702010795891789799673913039734278189345592681598946231126088520862791063798572647622462728491337336250918713721708494068883575235978898031156021264161424661820077000578718111860874995379639595473429839077901734055301647288404076842292754613830096150928134066897794692205355178587269149328986469959269616727005446987665092610195723691647362052871408031230759881480957931890592410915109763893757009871505108205836604640863568063660646717679167193434124753139214630644685534004752703474602616944435741773837984337555341989593046118147351391973112022620212582186770134340347870258584181001756188933716905389257320102497389932939505653187519335052371062267404204857083845532278364676795709409057798623281604535701531974566184260962855656351395822861248651504746555039946015825238485290047512474251194873607875923387675670114483356058626327325286561756930320900043351151077112506307255473075300390986315279903031902276737450605365496908170514366810031182938924681547787457763130130152605391727622687287937492839031741799796887083070712387190904072187245814574763897970752537634800799326960006937181293349166101042958225226370869963617190562260408216796275365912422440639647746234052422921627736076302789339206814874390454535922091624861698320257886063351346256568792132136511789546306866574664823452126035371266447283144176530849883627608569222491891563421244986569288183264340844846468987884448701053876648550278532352647139080339586034784899946192369378560819296349851451444086035034869041697305902995742813585149802212967455240243939661345432782572866462158349124956173939538875380957294799980120174739197243393032656177052432838298340468099331845903140201827665173147807522409476942273365040679444534627878055997848117220499151405736379887269088084443803844365019019436011510116719022358138159259374000100063263656071527767931151452847610460301094919577309053837907577226235564498524739864565588128290863571799623437086342612075723259702684039645979995482735797254466403297255557748666661408187871707377038999253809536101668432089389873092760954737979546589953274032692227069103089841536295434139361833396245524467385115336924292916603158271834863008113304188243640997893782530566794023717047109538728614986692800267846357508537091120059548411200983480464677372631723010785668008291121818046483801761300066553748784464341465470456466790301580173229055741456950455709989601849436830715541933442992259733423166543321831690178662403018337189478117601784594748241137360038821001378012031514956172161224890396271941088576310887838687444646690040807817058164265304506976327890616920202235958437235294814296062102584822275463017792659006803410100241368055910261575107764386622676594917965579015517553982919287639299028824469062959624903626717333899453463838204272475267055221935325730444966856324942513034274131335496341073359597404839533798546525853751617462825438738642943621426298703654225945170118163619488998795216098362284929320302641985802348244461052473423304021476267257964258195127143664824108636483720492608464911318696747798230908127916530836685927928971164791311877343860475657043051347209809853436817647295507741018814142415502539306004030445164820485840605492281943368854791093409764567859668411699872189658578617887046042810287429524461956271868870022118456126372007743800366645182749243500375371406924728381934840083242784183811674729497646427424729575683096997458210467237751092887057194360962038191722759424297710818516848490233143413861099484477694811814082724635553453838095209859098171803289348094831881173659273932074993066736773862096943629378287950432443170343957925658013511548720724503181822290398834747269469306162091100022100890450863578440639129008162022034526412742131088708135850223035650658187170329529280521380750149143014025234610517717668409469674308290578709429612482164704495310343881890251423432367792551574443101749569763986001611289097176873866552576190457313049298463756869129165453107956748476257538575038255303274759422272425429274416409266240725786888332012330384412455341881404683932193831572804879531272552077276843085535963868807226965056418231061195628267775485599712922989441987265407384946860388299159644277387412023233666437877849073101925453255562786633492087500678179208407558594870529400159717156656798350281919963293930704715928803574179431853072892713722170172107890506690737291377078954137280442007400558665575268614691681104348577126764613615508799381512703610699642376558651635722549155829696104456063975209832738187501227244271010646050118549037826790288203850968089186128007494659507960067399789958769546390448110493821474780970086680268481149694956248107985289414952817915035510287016623019161624386230634124556326413369336768616891434616083544325290143236184002387944434421330450372356735951034680740673314136023832855797609497079837096303342178182067912756857913161370452553735259107569674553770613686340862694684761992546561289349726201240426732654814276579097058866902912772719640581090215842107660895665923886093746136297512901335760069399240132151194617906428543629530702283936386165240829605782551890357662009180206316279479094922315102776423152958039266235993970696068452340218954164014696159310261565769643467111940901386346918667631162802401232533654275455484798700342328751168423620728845979524352711562819585647562024096417503639898845639341882502073025149154216100390349681350996728077365678508938176215051000072013414314681986954506179784122385009203626319075716583957585695306788313317352544994631338827355421309735476769946335147123026446994516452802651045498418744081068601493489789865898365475858569498678016706865646825271635356609547993153863415970768877032154923886199407553823451844634144958026503383682932821138513492854624479091191848383052831937832515625995290271250286993681378195599486831186241350793830228283853797210008763364845435133488504887635968207314139641238693175421015237292555367490725762420229748769913573875144210454367297477989720124042742796108914125569747300336240631138418264698863260918428104026094633752263909854381512726084955407356278500975070005585132237875986236057288494814900688272058476363860458255738418226994923229617024078147564274028641624170920795057276608668974675200723402728583531398037703465623161485656019127339128153460861539876333776165272149116674766930102812603878186645698877787105874530372896364582873049851880646281082274953439058421131417766380487293291538341695527165908454022970120050549943384295424425496950655908879012716252139047370267678231106307379093927226231798607501786745334932143458079521288469611003709396998142446489155221304762906721916111993794183252005516643225556371471674247948381006613052286541217101503183887464208088038494202101966274331153524346464097143299008909927228050354388753832380398532457446795121629108949007564784069669332794744325093221215471396603170440658742791744420758249899888749418470544318059822986800938303628041036191948649970050652881015127027024950732848725760496584588957150336667400522745757268148327127441343304554147501262154876502363741535581655600633535765984230658765687678079144810550288445062204763468051463030175165222205177954589527299774441544167494733806612467048684635416825870032906149800493225869137946763261675241401916995005114721702538455505096705778377714230811756973196375105293534152486256816014915188308040718397824915398759220377401407053284470414194906098438628018374143037427204488247520651410207247965918619522969889125084478212242076921688738085930621783060972754566253891071061194870124495779839648212080958912967374710047632009954741872458780735173936905302264726289492312611682726966979181088109846201079877648134754584550081968346459428698810710098825535034199985273170805967025059266935446076364010250338538107042479502599187775115524987763312025722156456853403101526080567276175590714191798522739058806155964542246889972226417596002542601727741101282307844744377289591200877036697942863446735957631986666078652809341700185742924958341849605400991119317496746003056910899333955993856587402725698526931351002135443638114283002767740456099089950450341191484525795473483238979467995815160429819234873067141912863950405879055816985552963598211439517118535984002139510546787443260219995759060419052655458618186269660238232768517670910665056169611474635209422818026066335018520000949551994081719881429879267562649532575588388872827852681487113474868857221354097030336231158970348176777831338146159262872062873690462502596407131067817291476844186459690637087734987685632355796186457366149242965870710086783187120694301820952429338847133038508531791448834794909020477304948937444876152767311288775210526240529612825363389206933944590230891889852588208216917388503608710339964529248455465810244183081727380572155706877249764439253210230689793951942183882287362158268208935355600795107531148905486029461516844185694780294449862001849965369229532659015308895051685716951925897936879753753256790596726801068216385523058332744797681237841766463745052612801415247486854125388208779625042706665955325839737439468858999647417978992251633657727999221861920687878409401757812842065200138492354863778388492407038425485670313223277979401016527202328277688933600774824124334530311018468907834594081542559719987626265547891779775342149051033037702393084952408869777866655523879615195540275761043108102848232289123973058995407841686232026330777578732174930698619900777340769907861737085437277378891722729962797442977360644754050633712232788618970133745569625194947554504532888063131464336991767515632177433022793830240443326781590555111445064560355014462358355081515836408467093037828565645889430129679095172964565335030509793721366296192102660195636321243583340828672557973956011806011086774017316132212661717290236368053952841914708618275768429727696851887531070485914434739102171625850979531654514786952291387103831961209005933424714191976564191893605818085114251244354159246456614120186625019121635659340085169417091267851338151417112138452648838833975129960781615451310259659650599248663803150150888370181990914921133050372303347756726750729624961548524541562605239536023019474786452684598157922551439361832627958468663478516216005734744056382047151934887183344387837920004404204625055231646738156159617948348961289387702776114767706730871068765579798784058549879612383362043795935401436060474592606368327847569718026537697783277559656227908804968113399803543254834337596305342264306217344954527002474944773859505027172407469424576011297189612845847928594741431054546688342917679005290618993832834715723563946750503737283325126512747506651638595650211798954832526911727530496125031025175468208965034123739879711740100946184117434492117122594179657063161080845234578716290164353675621566054044137119849735434325784469777389109322022164926543400612602311883926603622303337660684302473656242427111072639451190963298607270084141599026392793247940502748586412033624280979925879625964653814095964041517802379888253362676266100336484418659916462034545631258048419509726629087796864644734208441912626816840940024569374665671591237663769497976500737543617776771244287141687003107933585499272817168669953429837834836353286393391834970131388715926215144755012540147036258029847471760647857086578924513229630092947405821282191203254720354608750789643759091287703264864360263701403473433862837052970523465437332469647575290493355574260717209176239711627065912367858930721380704157905187425593347302259488087879750000711924740208715195014958724864307599628608814979422600173139590992417765173232765849318177012518473914512341154710488164047635936099144658445036349869680353897915439031917698433945874399807411229033512734189831275792960851855390686929383887571737486885449059211259074228541191228102075441572363334290969479251862192656841485067845349385369209814886632405534060937098981914019289684070414842470917878078864146572474279872097050685964586642374255300590218687954343524950868022358105108526324815668024267507097578264748309321000144331844790136162466144187206849439902427669967356905320472236249837331823346324228245658287837747906639989365707918154021628294706755671020658387554222812230380984929059158137887311712704211000321590713450830155733337041986199231829294508112617593398342329582368674617952401697296779905190188800023423054636922033411706534109931210676041066620462163012119582271924615985496505743895416186975707759888083828565796641147447079379279196010208367754427891885683834438366739850311784515917768194254742503683429135258383076719203929003161838727212796519666789792759504037600109654599473350587890779179961496079996062915302503406780006321819701413941940261935062794738566614526191851318988283377356126869316620673208338103402991310058936369835577792090864224929548267258936638633241433507402434046453391282449499804552931922770208828910148716707422323049504044149808106287192552971384818492061508869438710827503727147685452417696515316423798484898300242145644952651902446242790186734129305504677440503750311413126370482230105042835686845379196259775195663307060859734206868951841904043030155042082234194283554031842998307434589309784671441652417941932212592068288414766462189731894673031004006349362026813574579999087812205476681955350944498881751837171968087048590761852127883527572922946456340240147809621392907852807327184559041641748830495010735257302823554934576700617477003803521868070885482930012895095526743210262935918416668350944971166013002563558045851664926630519041513618635241122508150696545287561172895925884529719291236231546449737715703451422686920203320685965421020666772777359596536131814998049921256836393089801870795745649943131906064948408311489565356841306083518499864938352497101577763619822248998174738629263637233072170218456625734475015081263295795658338236742672497203422803051222720422557489231149287984327488204282764144047868959527789436236989593736398019170505703744894732893328711360386889006589038912841654666390296905889791056645909138946927625853079275894019880084762189041703985135819807537683015780250361531608647046751268900802084125356354638465934322008317649687205608920771087669759538277406696761304925828638779500892451866007235545053184844832152101992933032519546649777102039573483325475474040807320159158986713203064566838539923352064178459568662481299170498077362027329826739111564686250543322322532435892050789946762815304855925136579225120872644141591451767123504656811730364745627629766294725492068061217606799603834235594541007127631800340539218334090916119231889130764213115457123346552235436528100993776849678216478909701063649756252249101238165607140014712305080933045727328266030372469258005944111070749028959297703916468761921209194270192480592416859740388589785587094963290412767687777641191621010885343572563714703752607249343201348512851537399756824110674026445077698744019151571852064800521340443198893768953552548022232932362181294680056826371931523194240450874291699402467940988506901730998887022420885601149779830913149193100165221506790348535830378901838621954396688429489484960237495072832639055428884874575137988651951954247667582760465294137680260977967865772470574114774684363235384842847454810509959253795587149647452795281989819574739151376002285700544001821969308805927123074824450049887987718452141620696888989039923997057442220379661835802661884109208475241911764760252836742772509584360438674232585611941273051807462941641341663779195642612479771977564573654275235597497936305498683020227571488574283059556653647602384213966591417505487404267868429728425888227681564570502459385894633535560392651284233325349263440650010791189804594277882844614683815218576845132923285156993682713033486341962147469845219505437972405164848051648236864238622425339511726704329612930718765181488394216083130508959771432883406045531584677917845058519825454008928933734021029914955618751582158576421301461609155884367652124197082191309882817590521007859217078223063803000612060078930316057202105980855846656519767872103158837452857421247938950564017805570962903655058865414108255788656257172470571052844228283593496063618881580122290906257809864183796819725794022366807274317255143988225018795048856228431448570864547821559653826728582532124652763629473173228312724963033580845620660941585138551011615385394906163556251646206000915127867569389224884162978701462972773743291892322246307209347103663028938725158089139800814292972501584255388148408764368240572906320307439510390929673073998627523913117813177306371989639099400967024224576374598839700912654507601953807304851175005388335888307680088814983958231969977593885011273254927337165460405482792067156854356615766238239650523966355047842122771989352710127192292131658626106535545666348360914961971224230045852136953125636107270934297987961469897116153668458082404596758377929250090690005339261993531003114725402562514254073736267876859728953386427344963381183650668113160390676757127341660524139736423977462697662295354721130976086746199274172818913296957338009658116544164167811203981890478734464625040159059665622715680827045616648583228401112809594226464542161332059176674339824034425758659348801978319045120319718313304514564143399625582317478493928040802808856433291003783781146098607909733375340899975536898279179341805664770341791373181942024749762493888400867712277359829989245912893691095114980178921046649882237506710005251041956822053928499914890719660706603536357012027138199560907317388709828876413488512808573472760707984709228589349945385662146369660147516745647067028468404347318803611170199556342499315285928767614107445162649564490233825558445516259439688126796640798173474615231703025709598798789865558337499258975762502103799863062641598954720986718864966892011657004229089022471928329010329207847095975200614723269013602897265523187598630903135000198003471611603101376270895222972226187462772089003120269951733781771227291427658536193315711649072235890867003549945743050507179450890843 : 125324469079574407330268890649641524685738360669358421035522872862437995710155486646739332712462144400210775971376318206920056849423025486431500353332090074192093578869375203272799554003461087994334604503345184012219840997332210879995266937927522334366528292982603004804246501870131230112878870127670331578782868411017878491035958399702432169434878885391532771374909647804541719178479417474155295413795970833487756440825190248520697341848172272638082941193112762812692803183071209435329583723151850246551222443257289890502750594844946399489559762584869187622941262507987647821458387312868039454358497794191158167567771571162578014684619736358737682752412244349014931717243083069303011611068904815852387888685624347361442050953275399911617389805563898526058672322047417708465578252918629670033724914449792164893626556322944505058577999127585165007232154469964536930755755987787457739576405483915887092971604646492218222439686030634744721764704667153332506173831412444789454650163733604545225998300382487581871524941816872044438524250455832210632426099151431004426603007721491924810204912482900786225198881222806183580328788179476260588034338847811320101630298319377327438782891999109652146255630913432437007949917483232083641666331685414155954696862233362069492313070665596814457276308996598523029484937575230871104869701023336404147591659845728826783542065123391187678525701222910015730216407291529808820810246844579991772593677446553050695088480883557786148250279566304945620620672217218321579086324696005157024650537975476197203519008334281694791852631914133325091070760865391342668802239289059228855585895062046171735386199724411368114024449512615884228325343015107181246364019214031584977321989655777070963906809258251988142491157084958017706252063723257607585216078502770851852856497878449436409820870231121099195728617142272276511853770078921514022961030135159884668212908170025929667224310688519319239381365380457324257416148589313438880608615567081225224329569951957897834356405695136211639151533788930988163457789707962789421200436251277969787492672920694135258941227634359801793633940859432268821434418553580340390343930322748052817879656183395718140678352969142624466114281312215379706940832053388454263306655392588259477427192806754583929107773938585996653661440821162944846602668172354462376151078535133560492998349550894726406205770101212909147381512653515222620703266231924544012761466300865410831873169946971088551808602765938848274615558356527784417137598593165164958716014482422781527533568825565020976463661708588794094151834291842591437003926581331278221381047582067948168899493190584773372540888889356492072731787171074018969092045700261603499522838578961354035953042827686717020112602184914785780303535999708492237373410072843011175564734512403124379984534278052800518369024357069694192943958757248709130523677450207589896937323881561562902768320064591845840496466757898130808563020431893381405000466436607541326588808389089754894639428782988639672208612038673871165252360275667350456350277356389360129866780250197256678135668358169912774574815756806488068685754816010347754570754507397501541853407184095932984113469567646941114057319688996082536149026577432974160020156836523714824314529452026544143916228414838574582291861009079904478544728435764514475997133246279226955967372479490513684772171563971883868539059765203012487940056514701465728801405829953885977633262038118337525168609412291405224970706020190498452872043359092116191386111905067504514258317053077917191563033639299825568028020040188899863482654885372488783790378021513521840257738662207476658111609616173682801602108658435497496211536561086559174350936720125918366365747493710743932212766623815069652373824227837515078214542375487869547602279092722531937994369325204340157217170893723463254652782026376579329041353005879265716075174696917667365820624028925017967422307409653105332947977548321099461277398255261137055026616968269389192658537549549850701565577547183038361306115439183474915081526653649978527692655093098875851715756591387604491138923874352719959875256830486724554992304705141506891993834094133140548710326514786771034770515209621836751819590946257760101841407810150502336676398486461546810051522865453626988492301538202583151976283607630086854015667895070466764493256787739399115496737436044724024045735693359437796171031946335282895254333154158646140409459542462416473835586244351430316211181305413956248508183406997719683212666252189136325430513338968934656893856684137183440186550717393185889588935812745771377051733714512901374926096473873072141666819990415329116778923139403029659768771487308608133624946031744835264460700082524963978525016370868598221922070799044946475309776088273233724270780877860739018452965999280994591243330260750724538201351364902386733787676037787388047544777966063996907918581208314041843492214327343747952765339765379564414859682531834338839757826736526819926350340990585848715258301081816076891975876183058771559103000476931883402495554987732642702190174946477923292338074436011788841912043501713805355398594292480742954287801828070741038421113106149299726564702532484464570033606639764162122283157242039477085234588826702775402255582602375683597434158971957322432285038959785773087533144078896841318195863362898779934247721158705190512672443058350733844783595946399432644235609556747850307349914211391117754319443626417940324510208708346965809373691969294630860216246341307269757100628159859520992935746858317372732997178977417935039812610998238479675375449876031877844595661508798467724438536644908553701846976228336850072397906246501743457052188540302893234199270029437091541471151247609373597011981397736643352507059263385800985400984574087815168878511604153949878267364728677634260557384456464020224826478436019496778354709838052708476704306823251561265435801988868763146183191571777008625105218525140838027547585229551210920247847902707813752482301388595679429344226169797087326193147537191595358232312747571692477683433629496930148356687940857248597232996986544094528721985459622151656520828064896371879783209256116029673101415933846294197648096504406039649504485393498504065763241806347996480338895267007159480512260784285212245253532069286140751335384482107442356419639523006092819830509359835231690739595773841948378190246084142791502065738743915245924062483651644026523823724007758760017791332823081612331553721421586120252273044150129958707687942871257983243369376142729021325468093089745535373243071419519903023662412951219440917259013084619870024998525353583483538070764229879170453869042332134851061168679508463993993675347804420271145697449471159355350951945348218985230255035931663710827245129045498724500231701912048796239818962260499736459001303245369714185565759990233279843010981340261590030014590813166360860552369226950725259139087159293784014652791703707850782388595388707238228177990902214372043042257226436377714832182119969885389013808583231352934146655314663008958870043108570442567195128013495160253290311106251638427815581665776880266891532638758590475668672568151800921347892424705296282697047274993613228290248827946467780404704465460045590137419485662283474482032497195272503386557976508032481615239037653079406246147302263406904650645646647906821521626672828642531735146864090180381521046478198010590629704940413048992821614106068842211277940670879499547222227562272722249518544984086107826482600909414133896482770356176768187947989578985506372108115499794551949527979246827293453364128311162638303004091031673892008453216846385525422158273489930862493874069511085871367976366444085529833168827978304848652929101735414434190556696885352969966906295611223453764508918637767969723111628055153248132595585939258582497543909046709433726261407185601874777232464409915973980495662526315845154253459403089328667549622898506840479389278709235775220375363011171128513303342962771353565455736925488755471364023225911615058402071729492632402569004830461443425697053327599420164716135476508415106505843656321879895930649302622831074038207297604192199332977620373327537002636670166834712477069222438245849151888490717388464561516798458837361929236194286711250183413810682867742601552852252882820208721475588538937967112936791958321250820631509360248181093318378044181298381271889458374043072328741020509300193004324709702373171778406282615158455627756716038123725357605491557248970633755729207240155444612655812013372568427852296948959014231466276957220104075310835603700851604108027384738005638990608516799723458252065779724093900323421175712847361441852484628159880439024937363974716640820988061748501363783952134464811360119364431806442530136483750821610339991097645512005233569633715809508863729603201957169249742379281953856859313561903570701704649088129224554743158014955134949602265420496577783177187507585924569734766446300216791248467814262789107573072751172025107987698083016781165548023590516882475519683422428751192631919577043403645168827546639540884457339831325526550146630377558300015943538243129285595193075984845507991808804358114008432170568192235830936350371843309042072200923231021821966343636716156347565289346401436368019313516325743658911337607160507773594751503662595442327680379476104555035422843955381423527334447441331094534353347004139462465356861108001107638721829625343934101388203699320160051721873599049535553561226953356654274284199273604015860419505478510070403882035963849339223778921729720336491950913280520888600021704360207653702572880554332432469258963253496807856170641643450198831997101606583162210256991775956410567574696083409651338638507706003978898427135603953013564235887989347173874742011014125905945423557188144961550785750772427133699926315687536401979645930480214416570876980503300839103153807127206631286198727011440756349124739059156352584212043080500860160084419957536865458674480357524708263636828872899418220423976250168799140016218897300256993167518756963174634343212515119331535124980615224254284596492673234165472241502293672996705233156873857590978588657622588817119160571855491637995566613298500737538955837556864405087286327101279511475770253108968514282692396219525153183751710170797388146979654046245512322844021629396285692695252617396483942709095119723844462443862858689060811138745331027689057894575628351831714339128396841725418156532147955954151982079442086834582922489448363422464593355849634098692177275385903332919138773239051891495386253848666372825110117063874658886074647767074435812274209241519826845297085963860909476439164595655336466481609242845249721390484034983649307401600617746528896315846065811712707770192661380188035770588053353579642927326041587457506396219569943363705734012281923132201759212413831604676210239913377134475450750437449945351205774766884718368463486830969432285081361986868668712827753706287141700481579295607008912119983421283955916404207724239314663805175266415337549685192489315988756058057867071297323590532209140891938648418264109548610666926890678633632658464271544199928201940080641295080654699480219236676629197520856060035544397505274334852523817779988823864221224347569847701047201921784567611569926827652518568563056107547939380495519798416300741605887659695717180352729793854780973040432054665248416901666967739562983876936837208597902725832735327848362630249922489988472020811342948406614542142881470382616169611419831988612062293919857499231493593631246136661181850178037416853627724414079311318207350225199238780933347085119542076993188491377184945109542039004945327987149926021173024284429437737984853075141644299382640553619426365289941587595028817218645430959082966777274095785710804271560395015412439460832668684177443016443960670931127605575890145502170698933947168357588899690277085128591032564449818344250235737195833600922888691725277288692447587060031682524964029415354233503505177116630291737151595456669444351263761984050889420440197133344773584705127184899308803721315886566059712046418600436149484146754633177247997665660814906901004428883470029260173049550440369064707783693615751336538471118519816707391667096650560216304828468086440537639655761870215185316879174718600474483217533309179251863008084152574798380194235750014894325419828914568922111133176142043701678416395200846903296976954511801258125877496970936841514232007266634293564566117505953124861305499224546295012410652241670701815858013058968344550697940047071211780807670121759043065455560010049663485709006365759279222610860378351038066208766306820269332258422541757888459060507116784763828321170322168573610736924797888460396711813196205787121438564610579411592659441345916323323622975852525295301739190202346612822910585852679281464414277252271892265695409370152805657492522249284010840785716833321543015546282073201444939865328505017741551362715464936321876680553385128958519066897501730727937968313161707606422162322439880091853675944350198702285612812301780453093179897654818034420599702830979396584503733315371631942151175430402256869639753562366165280813803971377253728960459332495066483838575808918856183526352358861303255726004869616364966641240263374574582406472575472611401373896193323771857376171257973223298143817844784735273560930654383405918171756545654463782081173877388328508434451213606181441698076473024941358038171948185998876438052489653053899191374739606906888118610593221163814493612437837743873530427963518630641940868503906520163241544420083492187791509109750304458655953187190742373238597916796476594780524873261925274260741294691678634050215384138743253694126951115730727672952183598313790993947873015505883412491211841689142338040674355266903237431731335827069921428996684473838443210990389069519386820250979686530354644811053092360178463737612728311393336547616395767441578948050240541143877784825600304733544552874844310112742290162567066816975723006254337353555574685950788251219077426107532957542287199170818948425660345691219670650239045828322459807899579473366493402976057613475477518069893555618900486631873590261771392299926177753615298336430270965773224995763613452132216621776742852472121837033136252203165314268114305996926938995709807725926444376608640192382911562693914382336947062852972758704037063117097994283406420508359985654508987344719076388053899668137942635183369877902935917547739574473310161842171537977167198641448882104081299719600311518481999828391890191184013995194942575318268261716955030796811976725032046039781784606616426944035280852175187823119116053223995775623476960814435977589894688201828273942410201914880288817131646844169696283585701970561512351954058627932298607896578428800873275413941645105528170569903572154559117701033319148744302175569599891367638158346137316341940936791884618179014103270651008829189972608244391502404744169615294149705204018592098724433325987817188243901409690947831730928179922415326329611286150501141367672149217591642019324366821727192036474264982889254033455658447100958466271630994564442750162942757472069728708747615782585686099719010617092578384448923984729681240672461745918071972338843138219743667758419591277046914748300637285505882573199950104493224192754753956281373572079440317539762526238337751085225294588974797248682400194738173544424608584628405911413311101795055754659895589431120678418052233562796534781388870491363409053317495813650595494655377262673805036716043388127099760009898717551680330600366609539814689469415823400461051129011829946616861168919988388367870705050080677899878434434062434039092637679074855751315199701336859390163342731487346997108525398931280277743276384175941236838541717669816682398610058856595397125772578531815840665214729946828268243349548645425019371976754007815245180566883530073223788479851803937002703901450029318141921468786302885256876592894811384835092376298327847696672940442496867853789914667428004372609758552944718043786279798653918866356519003584417123383766912459608042601531785775103695738036940912320635082015232392100687146664646888426406943647415363844477660106945930932956666477203638443658776198671389687956921244539871907666433174368568252959338781700656777787494342163490692878120374185328612837221926275686665154511467271892731778279890753400086593944330056340872842760390652319386738656374173101531002398923062502447117567057584016037703527255264036928597027104130235775516553525239418155561572251382412111336963996853435106623592922008835924133201132407505320713163765207330187822733138272475799956045670128483088128801217765578683859505048487602421780192713450951605694720499315286794402492137001942026590525063279703733823321175822284800562936342872304055986389497772669929765304543213278037043728750875930060493441494684772687106571172222982306612736297030862491301808571129124799833267357329016291312383458274264861057735099249630322721792707428230122229923755333510504856393677575600194612781892003957556379045234547978781841065286999224355189971549550684279612664821717669162824891245441885812666942384351558955565602265013753360418610282133397692288545788298161649052930389697917477359580146519637220377541806850776974402762065523523450767560551446719130810484017888261964276318067456683087075599256045374011623261777566181175456836882454740284699062865520328628517002620061446738451729251976833894287540759683742885137136818778240973900927964253877626731664932217226664462504646570776550512961767830453564745566044529456243091550612860942075961543192140023272824135005282545391356996615911414949691152732124471227090110617971996514867209998538266738722915807951451972276212489176927447741226116830790759380170758310618652256899391134587379858482193422222813297804317013005917655937132451369918609477568461895833746526244778528283675725519633532245335266467180735205253761137940565710177790172570560642124134389532063866825244663351691182726621166721856861793513599870637584447778608715617417955172200828623811530327224007932362852882073770590013981512021836857282910862514885709682775032458208727911921430459090271929582159550063537033944342752061402014906197497497707488726623146284311245417209317498646913470613071201700433372037464957850296091244766646942440654301212902045227565335925992670267820614452317230462521592683515812940150729122125789715243711926366383672809680758123347455420191832086944512078998964005443244955141157584370604745199725562504094609568881807605259911025568199079021493859747376155718828236443400925254191285502957459690747828167548840079159568175813640672363450226817539387986377734953990995465751467798565799691735035112922670785015082758657273864085721215084622035374494933472067536634195470715275487578546149049712989737878493146159409945358730331604611524423628980295480102651016402859906699910962559057230331779158246059876812235886257261240832654803487322680978583502126402231612260287703725168639787658251434532261179078141155435885248187796402755750466490114100939173572902317598185106504099043894633417868157722472100031986418756397406605540247096084168457052820060090627047037872843265695577154497805494354919678450820534395057776050703288880780132739559230427038122305906272911557772266358880029499589954950510403225962911377804174082478123328672578896450349970706380587194106306301726168038087028227828569169284202410834373483412613477255476530297363136711188182504773300932815056564749759410361776765777123696275089907404617138331353023323440677395979742677154926023078051771279006899987753155271552256533906544593655573417755987359287931405339538221748973347753756252937734836640896280892724718401375152244989876960629992612875130544347150522860834158750741394817160245611770941372087298105560009012502379622568439653834837627103889488573159121761882962777786633559346295067436741301437511806002816270322298158389084011062720116065759478554343804884995082458296362759310724041385976099796031584493570336483690630442167672143485057583906819489364422441599317523584718209219169332861504119484458908900308356539998012740614529532820596277633427559906907481050773507954803060867225783365760083350696269685511028931611121076647184546316162406275500704959077714765085332270799066600689113922673754098091192894953970148350150667347898248420415996229026305353798340409601715824769104710197107748038253569069960811733330100824231260110512902824778285744037753739065744109780481561335063047312670413085086086616385971897034879015194699347608841027994814267641844021789543314270086630747782942851239334416365589399648899484000160062414481524400342810769432587887001216067402990288618087548044432035994980461073481737485686711750180337118792273189253634288720236298164636211389519572320789114507238698528039859956358342352577674597739623056704059450342690363520399803025264466869017550597829676106432793293203954913808425372552390504484071567152868533194598546807096832934173334866869824238274583871519227570208898933515743176317192086134209667424829041922785944959572935799731275824032923099673832579061624651834129186783626858902772731150196640803574264818052420382614526559462706542766853641340907658199194503349932750689376715653533645722580117184365886477018053553663122038870098089737735513197222863691544760187844294042209083166877113309537285588237584242362400889748703282598450375615349796195966883267379561946787694157187792843919273680934288601953601282227040630564792966506146801153686512752157595805828620826741922058593619444630736496722668658058564895950722743384466855272787543547326716883895297814426649041228404619086982735915269547939140185712096180963329673860965811755842674422914058286828856731181987360235065415517585135042406159457623872367640470986270013325072170300555083133909946016123591610436081641400608733725990638277361611414229398776242474554136085862289898107348248639844067181409576078141016810073932379960929397390587839953038031405039517152338599288682258805540049456046096650608762080409579446055955482236505811194697618854019650274457283234236453873665776000045864437777802883539017607053939774640281686531927000165247444342891279071578330287416872966921147014926849345117949750480724800135659099452161975038458203818977972980846306946620169839348397224914467909264858160937261688964576808529553396131961857472954699950416248988252755140675804695560807143550741141924018244901658835479380260838980596561703068846991838858834949118297987911882709072400877747346673991029885063685140357608300587903262546553350751728525952411395422042404472977956586921283935665249853829046554949804716320503639443485205080998955242294659739262282281228700985924732089680857335671725668341816557919231880788959315544595995942347291368627474114034761642306340978392026289559150958589833966041048143942010564627197037701611983534007684104954396263830607929123606160771097413758248091106413553827940139652294719246242060610255037086781815721448143477353754878698078584017752380550878375628622669598702013569131232109660961316723486747875134483772691390367407895409106605742393108544132025339132809103164801712135821817020236281076055582446443550583960603602908529076164045167401722139536230980189309841303541766286009104383418332329521767334899415128033435720519480072638286736351622045920129620800784057206614622834813429298968017679818612343554125653722911147013541030445815831916991103650531411254202840521353765204478647059940319016888722334958610958984599082554886957873707662483523148125026406639949141469391095999194127902309862885031698375665140729198564546272523117777658064840987198399036394812192757855431069736174355235694233179433862342660243539018138514853003759111768197716348890270260534220800880220334791343051082741963742615424866291160751832578528323152129611897239181436951058975206243714403096124616121311748923134064593890312397733768264242657232260593386187203163648936466413901423728449744291299209040120218123802493954107562803508799932283994595052377615487596917188123063855452158393568733205487754995431103083598130139380479206390721112132582203154007479126770647531333238154236348483278740750771178314246786510098643868337093942104461815620610519608134699639128892508807429729868287863919373573880272346930291865602565976659164595514389996816445499331836603526058048295536842797271259359163093568985085006631837552964344058237303843105824709495855347988069158034127099000569685685397758503647206916174833781102348629775153447816245692355952956212094281792528190190146871445337588900207243883844410564999500938192145921136828420387877506782788546620155183466192693128305539273411190896048645508674850590248945689368429111307425415666474972387136197399967251879776456926952754975302084744003502718133256669322242342020613237281182800806979713889455519452654417064892806598658629197264465367572778906026474614398459827577963043682185929061115326635059364567423469149389239770303455882568277481125427579167783033143654480532631842992360405774138123307904834908292343321342575006223448711354669438353047061663765341659511447142319140982256894385417410074096873416135460599850968558149941258357259359661343019128459684143144888430669071399768117737771100261325316918839198515545686874225577442440267003356863218221291906305913937856926635804352226475672031275856887010709212657537925993614251340764960847643817377205752111930223279353612521064838322725724381782844741468397166398157670116049539970022361675922335992363668688360594225433287188384998129937439224050951069827692752713343929]