Phi
From charlesreid1
Mathematical Constants
Irrational Numbers: Euler-Mascheroni Constant · Sqrt2 · Phi · Sqrt3 · e · Sqrt5 · Sqrt6 · Sqrt7 · Sqrt8 · Pi · Sqrt10 · Pi to the Pi Prime Numbers: Prime Numbers · Palindromic Primes · Prime Generating Polynomials · Belphegors Prime Sequences: Fibonacci Numbers · Lucas Numbers · General Fibonacci Numbers Number Forms: Fermat Numbers · Mersenne Primes · Counting and Combinatorics: Catalan Numbers · Shannon Number · Eddington Number Tetration and Knuth's Up Notation: Tetration Factoring and Number Theory: Divisibility · Totient Function Games: Four Fours · Five Fives
|
the Golden Ratio, to 100,000 digits (via Mathematica):
1.6180339887498948482045868343656381177203091798057628621354486227052604628189024497072072041893911374847540880753868917521266338622235369317931800607667263544333890865959395829056383226613199282902678806752087668925017116962070322210432162695486262963136144381497587012203408058879544547492461856953648644492410443207713449470495658467885098743394422125448770664780915884607499887124007652170575179788341662562494075890697040002812104276217711177780531531714101170466659914669798731761356006708748071013179523689427521948435305678300228785699782977834784587822891109762500302696156170025046433824377648610283831268330372429267526311653392473167111211588186385133162038400522216579128667529465490681131715993432359734949850904094762132229810172610705961164562990981629055520852479035240602017279974717534277759277862561943208275051312181562855122248093947123414517022373580577278616008688382952304592647878017889921990270776903895321968198615143780314997411069260886742962267575605231727775203536139362107673893764556060605921658946675955190040055590895022953094231248235521221241544400647034056573479766397239494994658457887303962309037503399385621024236902513868041457799569812244574717803417312645322041639723213404444948730231541767689375210306873788034417009395440962795589867872320951242689355730970450959568440175551988192180206405290551893494759260073485228210108819464454422231889131929468962200230144377026992300780308526118075451928877050210968424936271359251876077788466583615023891349333312231053392321362431926372891067050339928226526355620902979864247275977256550861548754357482647181414512700060238901620777322449943530889990950168032811219432048196438767586331479857191139781539780747615077221175082694586393204565209896985556781410696837288405874610337810544439094368358358138113116899385557697548414914453415091295407005019477548616307542264172939468036731980586183391832859913039607201445595044977921207612478564591616083705949878600697018940988640076443617093341727091914336501371576601148038143062623805143211734815100559013456101180079050638142152709308588092875703450507808145458819906336129827981411745339273120809289727922213298064294687824274874017450554067787570832373109759151177629784432847479081765180977872684161176325038612112914368343767023503711163307258698832587103363222381098090121101989917684149175123313401527338438372345009347860497929459915822012581045982309255287212413704361491020547185549611808764265765110605458814756044317847985845397312863016254487611485202170644041116607669505977578325703951108782308271064789390211156910392768384538633332156582965977310343603232254574363720412440640888267375843395367959312322134373209957498894699565647360072959998391288103197426312517971414320123112795518947781726914158911779919564812558001845506563295285985910009086218029775637892599916499464281930222935523466747593269516542140210913630181947227078901220872873617073486499981562554728113734798716569527489008144384053274837813782466917444229634914708157007352545707089772675469343822619546861533120953357923801460927351021011919021836067509730895752895774681422954339438549315533963038072916917584610146099505506480367930414723657203986007355076090231731250161320484358364817704848181099160244252327167219018933459637860878752870173935930301335901123710239171265904702634940283076687674363865132710628032317406931733448234356453185058135310854973335075996677871244905836367541328908624063245639535721252426117027802865604323494283730172557440583727826799603173936401328762770124367983114464369476705312724924104716700138247831286565064934341803900410178053395058772458665575522939158239708417729833728231152569260929959422400005606266786743579239724540848176519734362652689448885527202747787473359835367277614075917120513269344837529916499809360246178442675727767900191919070380522046123248239132610432719168451230602362789354543246176997575368904176365025478513824631465833638337602357789926729886321618583959036399818384582764491245980937043055559613797343261348304949496868108953569634828178128862536460842033946538194419457142666823718394918323709085748502665680398974406621053603064002608171126659954199368731609457228881092077882277203636684481532561728411769097926666552238468831137185299192163190520156863122282071559987646842355205928537175780765605036773130975191223973887224682580571597445740484298780735221598426676625780770620194304005425501583125030175340941171910192989038447250332988024501436796844169479595453045910313811621870456799786636617460595700034459701135251813460065655352034788811741499412748264152135567763940390710387088182338068033500380468001748082205910968442026446402187705340100318028816644153091393948156403192822785482414510503188825189970074862287942155895742820216657062188090578088050324676991297287210387073697406435667458920258656573978560859566534107035997832044633634648548949766388535104552729824229069984885369682804645974576265143435905093832124374333387051665714900590710567024887985804371815126100440381488040725244061642902247822715272411208506578883871249363510680636516674322232776775579739927037623191470473239551206070550399208844260370879084333426183841359707816482955371432196118950379771463000755597537957035522714493191321725564401283091805045008992187051211860693357315389593507903007367270233141653204234015537414426871540551164796114332302485440409406911456139873026039518281680344825254326738575900560432024537271929124864581333441698529939135747869895798643949802304711696715736228391201812731291658995275991922031837235682727938563733126547998591246327503006059256745497943508811929505685493259355318729141801136412187470752628106869830135760524719445593219553596104528303148839117693011965858343144248948985655842508341094295027719758335224429125736493807541711373924376014350682987849327129975122868819604983577515877178041069713196675347719479226365190163397712847390793361111914089983056033610609871717830554354035608952929081846414371392943781356048203894791257450770755751030024207266290018090422934249425906066614133228722698069014599451199547801639915141261252572828066433126165746938819510644216738718000110042184830258091654338374923641183888564685143150063731904295148146942431460895254707203740556691306922099080481945297511065046428105417755259095187131888359147659960413179602094153085855332387725380232727632977372143127968216716234421183201802881412747443168847218459392781435474099999072233203059262976611238327983316988253931262006503702884478286669404473079471047612558658375298623625099982323359715507233838332440815257781933642626304330265895817080045127887311593558774721725649470005163667257715392098409503274511215368730091219962952276591316370939686072713426926231547533043799331658110736964314217197943405639155121081081362626888569748068060116918941750272298741586991791453499462444194012197858601373660828690722365147713912687420966513787562059185432888834174292090156313328319357562208971376563097850156315498245644586542479293572282875060848145335135218172958793299117100324762220521946451053624505129884308713444395072442673514628617991832336459836963763272257569159723954383052086647474238151107927349483695239647926899369832491799950278950006045966131346336302494995148080532901790297518251587504900743518798351183603272277260171740453557165885557829729106195819351710554825793070910057635869901929721799516873117556314448564810022001425454055429273458837116020994794572082378043687189448056368918258024449963187834202749101533579107273362532890693347412380222201162627711930854485029541913200400999865566651775664095365619789781838045103035651013158945890287186108690589394713680148457001836649564720329433437429894642741255143590584348409195487015236140317391390361644019845505104912116979200120199960506994966403035086369290394100701945053201623487276323273244943963048089055425137972331475185207091025063685981679530481810073942453170023880475983432345041425843140636127210960228242337822809027976596077710849391517488731687771352239009117117350918600654620099024975852779254278165970383495058010626155333691093784659771052975022317307412177834418941184596586102980187787427445638669661277245038458605264151030408982577775447411533207640758816775149755380471162966777100587664615954967769270549623939857092550702740699781408431249653630718665337180605874224259816530705257383454157705429216299811491750861131176577317209561565647869547448927132060806354577946241453106698374211379816896382353330447788316933972872891810366408326985698825443851667586228993069643468489751484087903964760420361020602171739447026348763365439319522907738361673898117812424836557810503416945156362604300366574310847665487778012857792364541852244723617137422925584159313561286637167032807217155339264632573067306391085410886808574283858828060230334140855039097353872613451196292641599521278931135443146015273090255382710432596622674390374556361228613907831943357059003814870089866131539819585744233044197085669672229314273074138488278897558886079973870447020316683485694199096548029824931981765792682985562972301068277723516274078380743187782731821191969528005160879157212882633796823127256287000150018292975772999357909491964076344286157571354442789838304045470271019458004258202120234458063034503365814721854920367998997293535391968121331951653797453991114942444518303385884129040181781882137600665928494136775431745160540938711036871521164040582193447120448277596054169486453987832626954801391501903899593130670318661670663719640256928671388714663118919268568269199527645799771827875946096161721886810945465157886912241060981419726861925547878992631535947292282508054251690681401078179602188533076230556381631640192245450325765673925997651753080142716071430871886285983603746505713420467008343275423027704779331118366690323288530687387990713590074030490745988951364768760867844323824821893061757031956380323081971936356727419643872625870615433072963703812751517040600505759488272385634515639052657710426459476040556950959840888903762079956638801786185591594411172509231327977113803294376547509016516949650991607383393771583323024570194834740007043761867199848340163182600846261965628464911822568885752134637549025418083382138352224525872678937950537591560357945469850910225622545500301757104946983348354532383526078709221930458178230601237075328067836854130658463678886643348624936801019878279963067025954326513780600738639290856483087415761874189734584845014188976529341101372215864355991552711362332200352667785915989023144616332102651966590763206152438374761904953158296883626504209484010565458913062982771724980964195947234046511041982134768935401803825695495628603924426415986748598228006035386283916620125282660749330619658496519997941939322601723571073364253708303301143362498575363597042444647599899995085504135497755858593457659092653330725277541675843146693676780617035012003844874883823376034407751594778122188307090008738662736209166079905022698927032189976037950989059108591039296734561461070030458192127389259926961062116764364243835014102040863214991781529796815223798322427375365700855346997965541385905032683616022278847554706269843910885210302076860470680455684656049168649886061622295232390709809262930233795648217998163264582788887767452084637197106347892310667546935504761519778169902588184040792751090182448278705250597698375351430622445090220238243982312550584162320718831930069360646468209659500654929010971618652636721610741713618377667332797562685480124565768279031760394655539452314338756773034979157858859101166374845567584795271391860878254010423332985744274711896961048512640197504359909207662155899866073683762318835884508129295011466535482817144846405686524654090781547161962578446957526256945516560151916402921798854890937328031465192224759003096571549050536104377686877261915952844920464786897347370859841384513162119297201263424077369454598186502965923353451256845497454112981973587667072860161605620423063606613028149677344579773775055756466547525632264817711699785708712283154310456912326250349768115245217449739613674882204648051968875434196951193312045021605142938484475452382127014383095785581361967830231068508084587695205905329468338490471209916255636503400343967082893369836742300157511738515126912306617227641442160751291734187471431509324192491416096999867281582385925735982389484927491964615227227333874631213843626211637946706203263022505548958057308375046129923113629917306948940734258831948399927416395098443963405763528471756276219278652253960872013108048640653439616887545253426309896951761901977096319225870934216595597447175015753837674152228057065028068314335652491719973335840306415355075911597426436648284662813680217450590970589460274429263222221545945075804657120606863990430823693969320823749076756119017156130542481331171524256847846336377001520441791650116823257523616049574970639082244344451035121904881983027600176680985096524543900719909803499302686067552387968529219473239335237008665022140746455403722234348167574937314464092837900653919677401035586193618156683661686489239555496145282647289499416061580304586789146197172815545110005666054249969197410279874059327643495371452516769462069859788094695017473022841427571887194092120913799405943037050436483860043464522799330292390186592268987499211325656055784014233542605895105620369072028939315920440476835927636479960059640486076198915929819495087878602766345990540426377004590080327943472062982544525635647954299248819864613617131448577346995347557715549138423928940175403413997384616948129347924223460974301962752301382860722449638095383840152656781976450758854785515549234523478164603306293884200995080326014091830257438577067102522724366690598890854501557075423031666592472352892470258862479488754625276572728515111287827067345431024451523345654228431103967952829625019369893998347396176398809573541526014537296468147382184360052109947211941659149471670520379225520963364584846804144778030216472862399926404836350877374782450163820089524032253437992579012926564015553775409175170441962728503912669595666487724296766036730345366873404907914188694521471582790815723396912403998586939085517307980195554612851340891206108401221361707057043006056924685591646883477332085689141267942844804138468281325692914816010978627269686686737391711893146226913489458042778989960814470952476290501926031164920686774331866154696689660182266357878875060885624356267893279735463390418210877463803921624477202567269959639182468778845549717903851583920474831990312762243706623509251877543414010711233586590774812206376345901988422547272765529050439950252444039113658267081330058058820946031020826134136912757293699289302996173089284367031523858975398738893680744152637379424050644876417176861355234326986572897046306918017427797217388985944328485205725758833756382015054672065167425268189485167332804630764781329313260289322936604521021318981298766152624448748669389040617846991666541748508459797014617821584501491957210982508923451747451225432738681972586494458808377139868506598408545773165416917406705211194916628633773226375347566637002212032752438999773600607404270297220363477804829883485518952507947460551994034011077116972564426100509205984336253584706959718576261677663021174787834197564450183804102920324040882661734433909026352235050682858285443283961848092537613082011562686990799911708475558698215031007356324042198856958420068243992695378440320222237462814765923060554747693683057654967769047115962550247450780962483744990802561375091562235908101053449394177429427709144516666870041522854463807661535114155648785493601138747310382877331338839170964617482906315678806518276176579853502166599860746401267488412113009854993833710603196250670279752431011937733554853701169467485888836308033328773957165627534036727218070562256232637414883349928997025897729922403694175074342731419415743246679457858603989407509735636368881567215967635438066559393893438207598406121606431766442190267777379914557994503146870871626622652413359056992849400637274490882163524294802256633045855363633725176204907462406293896239062203042487268843237763173357420575399757437350840965779218088008942059066257278230769278865644556375801266728095252737982803007663697692816484465127747382239706173856750714669274822037488112256399407522762646499465846367401955997370283839311988482233553996497833316500846749125452295651240939096378409541690123467537528013908083086302265335238706927307198465464945497910113428715463669554343746215439188652608536697436653058856216441164806891283735779434153060947845727098703797692134620596953884382676082765918177362766991872780375421995417242833579106452061373688470854516582219315864537701831340181882725109992291761471186052917655142288112356621724169268062064884531761516427295358579837541237587610041547580559573012245927671189527733382335604337420132139280431705337946364642835199301457670649184770776895988542164797337176962594393864807489363320109889364352832449413256931743832350925828642127620947343287998438719829162503588636885744089609161976755302363614784018627182770889136039893307729306029671776025841803013347547440609321822266207705984247608263794138859860193520895982194188572382371427193034935451824011267104607309741268127907272643868568154472914482676138994509206409879264769257469881233464299526730823740572040614374870086704861259959017842497684584473682482794782475317633817481479957103120339634522674341512372232245462654632835356424662778646083987217912784308964163642223715282219986085060015824516947831892606016582749114277493350286550372769106810755782646334039921922260220859096784186001385965387726582624465759769406924054180444473847160790144974301805588933762376129691822923476845375955646842112269873163750624997118229148568960447252776009393434355833919516513298562364589314910186084968348033809093273626106205479597042129866988357356040434712839980124980220946685109349040787845010211768427634507913768760974690066575968304351926667656396092264884567021285074482118483610290768919649340230064175317348391475891667202306924534710762771979252499732857689038868014178031379948365108952722094659130450665665825853917469048687264990254676596659916454736513425975557739734850652843997738449051390582943013000836696145566974853779340788127721579148721071925886908927787873298298221457423327326598798275695089884530624022303648634772296705652412703588783028194007498057543901628578674553132719765260710764315311239152607721936214434609608975872693422367433161371857457760811775151806966210479558514013006970184500702629047949257083712017527937855495762739124558714833201017036184052163681801734142508980616063467633085050418458581662933409347919910368591305378948215865170118121011333000669577523278668551807825675283614949492074583733684581369140797759592526727396642347874661439981964808103670506600523826916505514463471111686742817731950256064295163795965947564498789146144692593662930936480481617405980821425434052521137133240811391357997162285810141910341046056929078249895621456004104569222141683089323666251761869627171945385499855148427517336924120268015992808320145830075448474233126438780847808505610430490999936434590519518749484369677275747335967088334960915744743575039860201639766611427653695267044115520019391484293460101512953117445887648307037167739615426559139908303757766302130990871271988706903293047012410586150639985299814175780430348080358820320201104760700475571016942341203410891564394782530316459373043755819468675253495323013027678235356011664131117799609979366204344956968354793075431132755864318973151517106443218924979327780126496476447546707816580740613125937527184740881611547981830781675104780929141395456463116058126905175395355691577558041067198123163840527755605227222376471188323322309958506897101871750478190653349485842325976225657584189852914471783351732260298578629294346505636693216262767381624595741793269889232722066663608199249098883146852994099138673444604967084244297824363023293891035596560173994220198869025724547140163300961214618720836510868818533406062201709951582707044233704218017669634913369599606432200532887349489313596603042438080456594474333567831672703729636367594216999379521670956923960576846412434754288621624514915779304047675334805303315330752154152638571052542209093772873216992199375507808872941102597603937207949463077381632162767775823154551171213360649644313449861301469831868611192986899657750378451945185472416220697613088630700071044963889885834103355550285958022011365854270555776556266893128476214953628830759291650706773506692535264469533605630110068858560930553314230646491157743120341826640878464898983343645356941445135956529994635319487323583365414991209186034069965786513937214062783638508477588719935005747909757557582117540535143552386663933161852370520496799125118267618008071764955566188644004316518590196156735527060685143644219213731610020498538831198186496931519049371921627310279883133775926877600267599302244405536314201916427741190137017541517040245299437951529236216669561923138293699923701939853172698937385991422129038984861084926747138259210680265055067686277812334573395998984469081835508009789883805030757266290867502830925758614563878365629498105357359291749646162313770780299654850255026431097793473733752437948325269965121850099705553085840030986124673043292976760819735349213689500849528664664083872828601670868354976512302116930805643687238641164364544895516018971098452249187837989096657019507834435905191227871275575773341415196573989983425098539494998814124386783446487382737617054230627047654731826463109229139335961869117977283179186778926642805449809194059356299841483566584488674168179733816426574010894085949130007202158871807825225456639862181398049030521641626474058333537504000740194482254279993710648491554051780598067761215477419977986371595520282750441625952137023199641559040842294537084505318233906957422818026742093459294317217666470552806755415269293517772512637399721044645520584157575046484945382735076490123836824504224062769229345994411749689347553263282342701496821698065455317255239800177205430712701859568436956989682160927438147752486126807182630330872045385865558768981122217545363004048974876899995830572648342759013885847650398193058002978990441432073797768415803195927087898620368685056742825309261613990518145908995638631137557971507261529413031744549240214796474600696703127864301901882032671629821211425236732090305576036951393477492272196252752419097926543582705861914382623616959655457062043621453691482259310567136876211202041821996700458630548647143531987653019633077769028567954324203174869542397889710246686325873510176048185892597386644181456232779945730095436741384131747680553443799013645532685824767493072220290017624204572899063328853990785109936309835377769368269912470528012377823241144269659139301639155579852670589412792629949943646369447012495223502174683217588847575534874631318516423179912710067113699014422042406407026337466606307909622448910012952295360403668628955446635423755484182852467561032470681248302492872525386244579857971959341054060870562870604429929193337498430292976756886861277497404544596676490768923386619017532331747049984158397755595545146651147250879200087660035488020035434161002030518353605502873815042302488822420194728934071708580556689794319557157573087111975137463957108621121487407227577603263648266509869207483227809353713516402089069867622140647013682398254510807531771186322868272763378352821217415520443340243570082064155437171634964564319520089264597602841430519829698823569511962104815566229729558942131254351521336588653292222429045620885074161077695276461885728662996739124102792034674590441155024272228155089784892580872312307485634128162565972301577855598002811368106635689273970968221169107515991963438732863262920150871713344066879390797414746430797933308087303569871931789938125788583061576198397564174362564762176330987417058805999965280146917228737151809411788020613827496544289659260499647182195829621467121208093964434800407044712416248876782315820010587856503237809929041755371805748914030024288439177034604898982947108277057789281747012124517625319091840930716296462281223680297332366612443586933117516966634768029462920852203456349679288967043930780679153784875085006608997405328784042208861093354398133212581232308361124440821151281651273249917530640795897887201891722073467939503296913126882419421580246056924287017821848968903809409746160325098497956101067383309908003103061062327328071910393385789880365322633128858758849335976469965590478534591797651908013972654581248095050287427962126428920609671592892859666275191184551637126198051692783064475350036739089813871196271150744263568262243430109963230818521128209486054053270694331365502878232501242669609190991332699437370734132107750205144626470238140622301258549521429930476847502258842909446524247120601727277293250588344365110452973847393594207262685238793108682903080965559559013456239554239285237931188402593500525348153422295334780355455977861008698531813306257391036392353739042835658613135128388452273367498419682255024368511493785527245217765595687762409905302625613440810368369543568085239552305262881509505250717177341555031387763911931672066190299924443513176141601484317262844283773831944689986306174983428240216193027142577057676854123715871633452769345199042735669354504037525463905078747782502540828519116181960611900665979295908076610721073252958873241805703943045859290992036451419475228357774310243483707649281414271709919012809418818514457535960087874805262121228996621627772984862020171877488369104630290566741167703884968317866321153511956045343986054020293223347161970289098544601705283098247817743429639598947113871030561743523826732065012379226235379369672525243862612822685804855676904651384149202175335915615324067367968259928137631808487144047711860869781970302767190801042705803391842578715041768238814749077317528795355505823877498417904009039656248835439331051682726416027167460313944021580518604797251007423281044846513212664007414880698420035516626684693326974069220264037350683172129899436237592649965522768022938981200372573415963425635415874121997598777357975142364675165996427364362610841017185526686797801742534004141318766541628484462155033194232630212811748085283412716041756342629789618635921473287387367269420363405259673413881183270336271391301410777728701625640766939427662283071171184624298272872302147026763353889116701719310504392825831053783052495390403175874293993539406055814751101428693264550079797702308978409641456191125718806864580525615963438032487811639917428203773368847935523488170788837009813233784267338541564616445017139038433595238203952789906956615830177685319382177612963394957992303297948233307557117145773354542940481806765251622317125245743833336774488783886952576714357759105571219413616615540811502112893050015496439756495958371695304000579823592594848131339422310741764349049259043964198899733995925042405279441845313507242026614540025633679023451836188672769729052988544001230943520984527859433338277220802566522784538261419942490050749739347054906939862405330736172083248025167237000567494592586323485242863167370894965602755457044357340712628723724610156571666948662865823389675749344743905685771128256232984409312628633912256472552233362007583081457561147582394749890444460343798251874970324999208142880115737873377219832927574396780191032911647570790390919017984497296390501828617946437210922703033786560675095110678696742088196344199447764889230532436990204662875461679718937492085329215742500061284480077428158743822431740125644766806417187557851782393913855113734489196723682960427366184832102056065936553106354078645810609874339774731407520784065607432490419216303890531280167770458889299010030544248443656701970524526449452389484606160298315711471604507963704973723574883890328765099799665307919151526076610105463468209502651808418483229626652756619312852946049857237440375316745747941421245829303982500644305157577269491746318410901011096250269990366449544054254214293868055971063646758659751454514993508583817029855060656544656280193213970560756843663896781237680772591742319198147005917044929250317068935998761041497197336635272895650190248615795587743969306899064213565171235282303439331296293016180944942494644623363438076407761028024735932555562660115058349053239081945710178176603081032181108412328009801692543612912362856895753537270851504909231388605068348506818735832447947099883880789859022486040214596113683887001611387935037790282729603005464884896821881632777957106787994109975218711537483521169042701339747370293549210893427286160911127487656477863180582569459349850684680486189269143105401908574001462136263415076512263282705965623501334321745729576325102959946605873861913936492082908252133831991263074463528163936010741290694028223004145610770696912526252245236711880066545422679872506878001262207627616468044805257816665965828178794629908844247882324989338548982751429491041980712786366033855243152160350334328072468820421698789125994928723555714525191312891279148833737646583361123470469141947226653878322593780173589431881200932071644416096635876441913565039121003194919004730319595499700958454939342793394547212927304091989744259215893254713943940529504150389537169013069920396918641952214603157754258769043338985619184142040090983623767467943551928618005762792971344193888790328742818869170224611291209633209749784492776795979270436724734532494113863264823121379539551072592526633531931122503179850473564312323632098160284428498581026876858872578143634414082176471020866006972062413625919267407830214889065910369016336438833728561990548422370859643934634146207822273728845324182748331185977000893549457294195025753915630303002869634489417041252702469612788150120578107971880718275835742579465957428432421979036693972643462404243653631072930771488038928803490030396835887960207989116985814953575007933647012553378426279562471645318803804928275926653118052072266886516558830094293667208832551475104764796847950857788332325968146604639970243669936110061313037249796831062198017227753426748553750114097426392202061180223788359477623918833151610996068551562625061170630792213501790127894834906109683201506469201597920585854434071057772683921784546661980105866164638859446606601076406827643705550820668087632970423584941998214449342745435157942032304767005515479430665599384607517754837127726126352501352624793675674521425664571561307364117819492315992343931738891332064744583014966683422473557050664664430365682907694060260098073150314951061922940867429068625531096572713409756878638133390963594954106890321634462152953040033322049146955596138624036850571090856741959140110366444230653147371405783455373994511486742901580493256130178180797433499281147683189319871954946103410596383961059027908907017624286876678484019226905126710160713287054855935526082452158289692188623998572431724147068448055558655408755011351126460014833706903125328126278285455629878195683638464956936578492639979935795160211943568118645090718250483780492112768575173726038399198518749966198738961724665006847196915888349639948877609165657982320135328499337876619045216776681565742157049177577108786145871208017454565049186510012820264387209001589243818844702814038394020643760445029440842037470310865662269662622553981780182455425818698039139731229117373038044488181036465553687136746909757180313788944328041575716711092046771062643156810839936887696663716800958392169686508697362572285298003956545082276483297038165285109856897397609271910084482671389275423552469874252041707562213675148830515349543216419181024823042193856203700606426698413120499567715643387527431555234936465615590328743497670552394704179296148698469232522571122576639701764866203782826086364991746030017983710045416998051145715137623596023978918090704515113597363765005894698617062115288639029035854420833467217846534535212581998996264674478903579452881057929838567339157726623382493763370199054130363761490268837579723383266521356826448472517311089722661753481200893717401090432306461949866115200033585295326424227221255614554364840389957527045610934734239533328428685393356314467624434065667942998369864971155692528039569675738540628826905058118778858503400453743584800679458390805335626541704850215343298698567683432057748960336713770031773707641601909956791539735166356364431486639790167771595371713769961060845752328123722975292886361653247987259025087515882604251039822225247363001550317297475562913150202757891693922370130249990068412348913029342283828452088063825830257099329614225771469058313817988958265286063235216348407630550584381426595486135098243105737366985400042393106231643674219494169161415326551336604294968192895748332587828663009084764240461148734119154429152877518271197025072176965155272679967166620191010912629047686954009623003140524367932207377382169349131567174079797167381032667886952155259060975637858822515686313711661677109516513732598662807591916459086302252448785388169145577283749340773399833237062669802206940095295861169432517416187061017077191512793803113824872062536901730312132455720506578894266104303775290312481856122690166863243755827489741958686520808239438796688174701083183494885375114179211905921898660494549455168372874675070278678585252733491971129971881930897687083629456241279769489255644578404445923780966656321806276646846021209224309617890816352226213017565209589620493260082547331444074608918210364404485932389724034525696409403768332551877896586102421282513864004501883718910871126354058216180769590782984319416599878970771980773102512502472052476475543788042317205697944981764289728010958496048969551765038802909479824940890619936350909368700247765227573868492650254587994980706950841001893133606949121408195609185239628215253692236333674074747050909366581585920133810412197284860918154311564649099804495079580269640481587091962133735172854341946474533358861528864930906727921942924374739261965283495745599112160502382840124020803998900895821817098507669134913277246474173745558039309869194481312713316514236926008921963758720749146123347951345295432705662416474991433338383071638199132533883518859838134812381531014702562660703426911267057439941105721240373629613570169659229996934456988250968894333867889831091029872175335807091565566295396434740373407087152322157847511317887773339710006656150625264774593313613640460872332629802880544318469132444880077751575625642133097357035583061711397610785507498256067578229214613471250369005152141209946702853944456709859346625950677039391274236038275341488014137191093380000199478940689317424790046574086000748362337910561618848293126622285654029796658764804320620050746284180604163833961263738695213620588697658388399384527694739495420030384896862698701812072359229624581650150371495154436979410243727033275673396710549499111167092678638704453297689126143000878210222216513034664061766782081493523417303350563824992857884922386219770809573116834012716662267629498362279985467999412251958528989183456556899908368669289890395357595593168373865038444766633809660955807370230287954822335862644512485700222219830785972200903913679083220113057253109745993781233065023073919867756054057957494550452117635562187294095704846126273434451924898618254590896513904738778758634845022774228403646961915916195394461972066188298121567050233780372616855258407371054390581899628406668954949336221658047307168277384849625669219010577627083168633830178181914246956184295198324899147889712960514846718092982558521670307955569890261433699740695397425528145950711795934003775235442864294242904548749812188322175342321579432714712864885734959189196070986667261973108282449032268300396262217144701071037534719690313387406487690666840641852692944053947071530326786750446010487590238500477365210035045139199424623299816623178150912110152245246443637679466853519231965418233606893115636245796831487408713177830840294805875246777532479509360041307573926128569418124147882968323356962141799876458267103613122865857861546538548297185286477760713691684619091155260602659785506481389662620519700563105104288552179754479550532014820381430380454752924593467150190682102172490445698701621020998070640562295529700189939288620471078943942546914635246899892299014309836073441443239733482844678154650975553139711006771523809618486513058801595865821295790857748545236499379561692327311209064002413068456917089488295080792749349702799547901767078060060174051555872979126277547156834673130582904722810556727513584783474273613909601449840451751243201664338981832801725756162657193263970078839399967606099060980326752692880322048277508428039079145038695132185746117106167795440907103185893585176586163200932505044981523605166358719235911591752862283913932674124446895590058579228539685112736047624865650981956854355372225833659576403008258767608032769108767481249531278498114875554707804659024761017307852241689171743233803385766555260495104664866797425184398657135651475736884497448919893724115903318837011995855123694238906812919888421503703483395169657016741727094282016699816388439095523027600356820169590877639883042756013235376955920065781395467261731900303321505334068467257541693231912143079542174079704875667888487659119532107831266533081745970454637180338613166068914051122714709212304504396701176879306684119300668297078530000180527651765887467827584698411463101663955996494696582108546049984468751014585957813264972353766699171232442901614865781979935271996467416887584249025953967413113920968821596793296743285282665647179106573996685577171178990118688332951756202283573224942680365758170624122574895642442131866610384626542182002566222898590786037219057032321501889928645967212304158653648107153553900018464560840649372414153894543198630576568764337439121849090355366210586351476197505620381688143522448199012482920599497342603275838039091254039915993094743060348666404852801763480131391766854810069429776353460698086913197215791087870341104436782141952321709875130608554643748502411340099298719785789986241602420928808613341163245500445961969605237309031646001303980094046742760590833907086360233139489933496670856898054685771737244599540690245069483244886448108612378150048523933643664472363537763306798375376218790691496851337940337287684246442009085735502731136708032045954476462096664879858808856990926323906821211165269969728372584781506487982398439656907519301143397223081153046927756707010221016797133993519464565711893087420385435623782805221559496399664031452322758057818856601945002002402288357582369814358462929002525307915154957833561196927938798527254526078214898835873006720083451607781100270198985794053212260090913131232592524733666039510892239983650830948400456389253996179061301806127296251872398417832720405015880323488693587816361485955521641583554868513291722723605106314877087970141019409681105136501169109586837208346808202253188196437062407775854789975646392922230238874324002882812738357761934423517888904203438511370997138933511217738167030316865133047090616418331698982003185305727185010509060029614272940854582328197376424550503527467732740688837410831267684934641392316599421056961948501000662952969627252516144555234835049389338177431755331246193998282086952326148033387532814052642316426992416141140801620628324012884628493553426235763066676297204865876182564622238961355853949608291438917718280844324872523013023666896534387801860036015017164954661608798050815552070512961514627070616012412936841710980627841370677230198796804930680022289590733922552648166639963593764113610155182629581706458727738005382289504640761500633495793355040371855304462116195943612810726346147351083976749334829238506859980703783802530800124208668175019990057956236088000847583782922590351094260059346200282513418152439155680534317714597288325092574761517832929779341034262755032826826651304474017675443087234872286576774898069506115974674987958557581883875555843331682103956006570235203519096300266376477951777307112062719516668463187579130003918479610437641499459959721266086001281858476027870611299519961892690450678121928367727436060224971351419952146573758956170350155282209968775492109794295786095116588585914613099427729439288611871417006309391855092162066906381636337122658481929706612910191200911796382844357793766323169582354086426100681259070970232866849936360775443146143364514663920010044939872091380529228298148024329152709948534993679984468736952583259459606199989784621537005809786844418148257173318730389251828128508882994710069927758073350230015032243494269193589224168048609043078444818279442106260389806105480734413985258741006101904373189940057690432429721049359140787707193521274944657774490105263381904274844097173311634172662552493151710861948186476413154273338223002105041213461482889842140393695115538304634359163583207949736032467153187179018836118347451374045016406420303960890846074009943443130769711065014642002401006343124540420788879039169301734000296671040360890747240253841811507299431495832022356490936408447332835663512233550826830123577878005914910109516401438316216889014076396178166761439229554579468720357396896968396131026872475629517587469826607865241504487304303996161646371802940870825548644549948340564963220910317091600894751118855306323547771971935884649885544269606289350524688001317862627999505337778831130432218394381970361692946234659746522247907340158727254771288925581074829942678870693425740477858657495172247436917779762089429172524368304467660054299245499551052486459095507327024281309888917386244230135804171457116868102069300843213786412088216525085638446820283542607962237810487930616096212090054613927766284127347762313283548217218414190574484518193975105448786819898440749654891909855947196960185175822296888754163334752240837878973577304790857744745561283282160215540582740341316153770306258683499805523904105340903373881109789265849325250281640396251376072563377014606916706653279280422764040779306324411103277569637429448449068681812725748875251592950772325580522895174407248344125099712404424500297224156038994555632241698524677647935458817114637249456964504466438973160984592053220552803504270871387036585453283986000970196681507558865020301022253504036154714430721203693981783739593200559338447809975520691405267326594531046464303453911717052806200138234758513723673941135163323513363941473112172189701789435590386337824582023808519785409383741389948250697156007058186971718048887718730556508219903265799167099137599471554888724904971048809123336159681508665453304089742091897263038797922491719593111468172349769706092338990978026500999165639681359156124116763105018106670607433002621599379513613808722763019013800846749797404532680808711698944982840164155041794337880621516712224638441833927436010122623988861431563164044877856977102275581354324216289666561076653752758112252996785880483784302249172293830755932016234042896592090259750175499232600598014998331928034765597545301879229833608200771630728250527565354557876479306015271515971405833118808720370866805625129230582110917236255848862384589142656807630143495407417151709451589287550169549911184085817822963825801094598954059357009441108406383610545898448004336144706220412105366777978103187120995518784148977346903070149408278164338644798781354192861968656027378335106301149521887247739988144258069772011535036067045449708733199175127674786225751267300983421285697514446440016467071973595772378288002844337664946282780692020592871779075441764334958566812302252368352395660998242076749604322787493181086870488086266924920857392333863761457256869505838597423808293500777735019650717317862444308303437942669513152529986177123039663578639354047123954825671210606448504345076255493248893890903288572354049141675923840595772679220222242633423376755578983631649836939675433647916413748998252872958619535940228926684257427556329972875638970721880677771855995940710902833159737895200878780400365609088986735780286125513603609331042459550414471377346499886854430677426254741399057640418425673073530270579528074985560135608966793742559382773677017088357223900864997304178966261635783222521057825764927373901398501306146816884933931269751410069026203374981786714605859817754742826996830914240395873125016833186296178972382201955550366913267157640492813251028314265958388458170646637084383379028433197718571653149004605647077276498658855655576828652290062938623312024704482997659528190013410321983058499988955186102430476185982897971452332214042429967054940382431520566277987408764415637898582291283727808980893423114197649189460325671091481080222612047565783427803700087314314196348667145272252703976920526227420342658104388449541450163391604592082810751224677347342193198963833641337339037752731499947970212248563585495892029403419417836398606859991271482709971906061475120632952605658430798751985860726089986829760873895600772193888400705777520140794339544010013303902760270691601824042553474386542235884935539188149279226663534455403738820507031119982021278289695096432461774503930138467958237916677666000271187672581198961029788697385704742296809864500904350683588352012903824154874280632703719531023131695143703183020797365321227013206229613033295616494620427536008614303495674343005492282256526840732663688870270334777717994403332857625478497177835397926737114499816333972617401472317832510088993200068715076085775753656565612838764201652491343535402819280251412769300337485817876593780160984366282785500293517040159604056758105030458391977361151393097287397020127652475145015103195531740944461907269263326163666507499604017837543869152497314757618362683908337505110150346234482806819839027744138916030448045801782118377893932092260327135190891192824461337409786214285321160005558834197588888903124881906790970933280991539896072811527029575353625981000532559127638280557306554346744656668356477471947228316231790667273618399322310207653377418771537264701985760770544129941903938542768313413248799681536704827531869628761459584224562043589270281254071358336553085939710270402286147380587532099070151675486037250282270296837954843031502897041460355934825812859405056820830139297432160748846751568600895538594019665920520278574487272958979575258709305593598316054971219416669291566010913222614628836443840245390060378025547779872904816227564301679784687034015267634752504545389657028584927019088170290189391691883279628465189649434064158562815668682335981052038520955861567063600533184225615186379815303756362558028881636442707241269534874083161844350444425088853301809256446160999609111395181443026848908965891408842756955577675981619563097334623730075104558200744328154687585887043783693416667771369266338651895709477311270937671386821812490549637511720088172066967580084975391251766584035574755980140101265308114872460715714135206212607647781623057866596790928797311837538371564923372313361505229856902887361160914829115152230412178416075100949676913339882703426191720404270815550655010051122547619919509639368576573744981725307949569823321293653883365375045330697424499998517088681901830414127264443196186052118058027992640922345950827800013624848648328288194128004215618009975795598685381444697666196506241819058985155989081911341603552675005908014064934446628710444178151594265174918622426766291385681077348568009831636893393976635553525066272374946558031433786098081247300284863564244343861205495830863075708006028254347059353867075835206890599469148950481930972906746904012360712819012172105119242592554425134366429473863597719426502912714189846518723384121939814621308542645991658341489684956036057760447234638231093714993102211847567347024425257066975755913444707300811680492888860134571555934423640254440979767463490761168406110652352333288486364397047413238488654158150197004187139157066467835699468138534917256848589412340307996469616506698781901349501067520842584418054842892636819147782378179677652275917527696245510763010467574855425051019386538999483849824211403831204779811530213471388372578610760142767617000705398504610836974061737666314253105824643552551498928053155427345018006413177557019201054102558470960058604017611950292537430795644266158511650697308891446573442509253128786518109592893270365089064912374061756191040058589752412340869779678726267860044012980219045047662490364895221851274390747570581525830970958698348215272880427167731387815805241413939622962460965228129795651890620984475517173314120771043320236016728907576682433719081584276142483349201440959489341374320040023152714684158071380637773648965875675091298354039995657542968369799134505567090168799995209700753043920225335318925892586887872355986992197170155999867790781727383331876952731072136836103775520884167140178240541182571092137821438501459437171951751548577702271714932622548288464516735501551164714848547302938791348043478390911640039835440490411322068605421067182533986605949385580568199749886158186684544446805613138211302183789416979739007510756874963986388256526500736169501202836585947936525853391560666549658765308194907138442039935586868872689176121361976109209390995036541611522538760841663244547732332945383624003717655644343139002155032374292897597902294974102008291081686785669447212896646057268498876753226465104315703566727428292804578704572520572482661749142246061971251449537629463863092413638779577897721353869005334312647515087418638378428251479072900176064646840114755330764542362346775128544893883335325236645523308177539589102137399860832934581068591520274457552248949735993580491908831992619676774104465082395819149502395191717003566410794881833100876208090856686573795073799117434572832304921109632804573910493603227149950785806612890278711149775537500211038590763225012632295682650014830069936478223275693552336373652586804342560251094223966273820771095186384015226136853972145984423947269935104863651831567915964000476796289984060279780376964656519551063291282484613855854144949170087817667433688922144831585371353811720242963011582747854165788719332138266509898259518287643191556114733889567210140372115821109132480468270238756687343338900782602993168053610565973867560327151275424451163099341885279503503692202369670572589397408064831759353578603833221084020148954664420396229114328259072329199356378532927911544004361342016057414210103382425777356025993708375456011364413243850375777553898675571298529379517135891308601635581160937261092498117851715275613151607598610427996808903399517122420367593861248620230095411334656360819386430973716911136979496943963345597262760054373853556286865717358459635123774246170515653566182188622247650341330718259383348073849851839426724307376094421313947661814733927273806969356142804226993735748609974802988220310876094240890125415804719169799083262533667281400656451379535171491938163356154553907845647703278076245037139133515314415469187822438622602124034161019927076667566083160279391326805253977317680685519016225906553114795950770077560144783827799334829153128114123886425594190098274702505816331333222109368986193497705876571576620926462990673860308555749692722377439984263674045781114064165635938154973335557251985882047881154534637017713901158618407140698874377925150125023356869468206579161089584122190185854952577599699084354756593710665410175578770541007690861217172373443729091891715359916031817593830724390867662986619932043290657012762166246212673238443173515592651525073755129739148084006695324778726582588282448342101012292013385325601787870904327816104218865267619758168628674898969641459060767323756837951943768633461988492842348766378316741567348201648682980342375286931085176896210543322333406874961749260487136130245275470371318634409315522007082739057017476843491919032956148195188279572784922557946742076507910896873336917827504612961328590837270907688632203831078364752332409648833820135837083967777044078294977668555497346082201007311257726168225464935581809620361594370143382418323149323899487159387405071205343840756908760877402257894781956610012769051157442485407462358734248315300970324713093086876477999044404389837224930054667378430406374638534802082030199292920596809179348938191280801251209935127658440945521547540545849579549780740558342516270988675214614377869590845104420393772840835923262347315690283494593822070917454765379752956245301257270042294063770449912988877062778603997098419603914367995746066746892259527186708892497383610281078818775440671005939407246941100991720888269882310632687163459622867056092769361365975877113118858180545558444082688206100097870305743986326535770380878184552341966585979958798003258221076371600043241984809140112134369659027750392588214151737480319283874490215551822494767470336974538000127068240240509434764407279797462503630303681271864655627018293649275114657923995752351593954881345034553600794875595970644571354535865018006043425932786979209157237721203494627274944248532882679810710831899699964209443666003075848048178997670876721781151839629041390839491832233397849187905023830079310963440323813481138299998931369384663115311406860634861439496146652472374716249178672829286474202739110604145706037212584607480078924134313360595226648144713588524197034474205278894894696663511323795978504503238404511940224948150911523393356274479523619920949980764770992108240898775289794295025357345111596712903437216174296011656058117395991451841364665546325103200803482944049562625138146520577643940386627326967389404098219650289948002125137392977726556605298201150640210033749641320933241308039937374544650034383611244474927674686218432828501150204766766400606761872757612261995976031811524346237730990814031484286744130721279072921516474008880576357571671266715374490278245246999647753420312885172651477214065549496140492575368794557859472851960935279617645065224430961469052429880286947357156895841158288165632376451124180779822432631128715580727956204499021040981057748554482247571431586896530376532887327797094696986464268366270665540377829111801636063590751051107107043477977826467725729098507955687314978712680553117166162472804025355659802017086630736891828094600427232226818505072498059966006829685366544279496406965951982876366515308091688716596768948126012677198546118739269749375241510675982849066087987856033131265298026051863691283952515165826521211257540709373399664913541548770971630520923436675241266392097708940968535097407477719849933584052868968275217769510276047470013391754330091994597929642683975648421152123220384127249351385866833152707196634534008515396228165423051598469402203877176875135511593424379512646897987709064695668667602539053907591397853601960580923378247785296633235854830378867637428397247951888632554042485552677329061178175950206710902731763984142428835838932651022837151705420581310614074407816211756720746694490294050746018964623830413330993243081350400760426144957520716752768730220866712563406248667061705900491536831889156163269417615876165722724502690956044221029293264705415407980985387296216178155463849850886562501714498275516322136332330050106808456981940040082968806551581815891775059446352695985179111450843271647131907358183785023300317180779560729858927385208995887507751209274736631786867061895178197123672949095865892654714445432856194585219098988249617096093463400361206359732733425109783675916173534955841448255708485463302480486343646849906939836336764568157931745562573902280480915802272605613726298316835271616478955573070013802373779474914370531571108143761778551963129405917059437533763293923467185714545854379460543139425956752388171356657783845300690107094539720802258200949101757359145754170766628078099733739459417923103007724693475349358606505503303316502571779325641545035024260824706057213099816260498123813945567052616175456531733312485760791632451876115277272888752080183964763611329884549326845070863686691919589018562369106098920242537906512294066735594761369670959513528967674808269761005048629389565823306933637928699011222704110035317110923986753749433214586479732039910063482569995645059179905564732837318134297135504882932179948830987203929110508556559225927543462207338375609458739943267084860988462731505129556541993344576552088602705867323621840284788588729294544478283797211036753563616677724211476188681772191074474391108135454595164895802168001264305145654260785404318258606496563832320146750169097830079494673187974579003794429197779452308983317430898041181775020542403482682103525799165531329171905440910529583937568026883871755867249418976036638358160568029364715023102749441943596011579015019965255044937650013840380557467308364174500496982705148469346524125088127396368013271241582939645342881775817983009345062247924347701286735855729587077909507372918154850461722453898341311182198059013599528148649652717138871844936939755561419709058504164671382390339417980558695291916048656430186487733564167350230120644391716546143196298703736832428304602340247793546562613373126039173773049133326213604480876538123371220732272158512888461995631614857229206311742763358015470724870689134413134331676189699254948195065197982870678020012893343267572795768043935771223608256749821775254169558678107402468162364840143320364835172669021360906780567384848660518156343001917460806815304095009664161051730911392600226453901932264278529460293804862430807722644214617468231185409424537484576356301989656766891296571527616952205757280342295267949974251229823389548033923904162222415287954142084270380053805058206572260031110453270068503866466647411622402926181361776491299201872224829400542577723965233602355820913566806211165940630115413658459788029312721644273858059252545685134106743399888144958583085217943092676275498248542449191492631583412516521038687050163415305743768266800200512658038741183234377830758611406878285425117002475122555653487231746498968740436445681001096153935278378298871498754081538740980424328285220005494427993825210295245486456872512072001161499734410135067554769300638234107752919790346635613661772980103493295595894110574062188240140022032561621977444767570399648477805406963333316111612262626250665242912986562690158517721290006320210552414628134103861886448258126558295278192606735720079572963793987204681028796699261712176877539018054861372408161415580193546132664065827711524099756322443774419749135969057385527802157505662090970981895736336408747771703939480863093784956643501779051854512943233401769317354289838579868540098227431888910552450686675173052448567197379876129325629660628013193723724310707683349558950167157857481083998924496137376153657055835930541463863847412693315874659929069729098331101309481742809767567220788138695645085979044310546647475879625722209127953192204398176981905844615063307774742303832891967501653874148704691260172477804238073283979334980836147793891477395937175880388239965146966796654096434243304795967460045881876286407041321879189709208420948532170772465438987808112663340288867225507815761744009355431382177513109021931044598947365639007308513672156769808911842725311809101220306965343310298650548427544530256222040856417357800330981127063679234958094791565628820982194301182438457869458014184341100520127414007845495954031919715039613654172687230252826546829825826240727363079110460256989728644608872405005502654447933040814447877782845380608484390210141720354608565894893005906375463358292731103425911515509109503978290530948181851862195842189470452206844040124602464135057948624915181144320603007118834394758047296603123660847604981910889079680044562283788378990497034062643593706260518239934552750058010780026550040567924771260899021745034112837530487604044901488879994854698966601463976430165741270022526559614800941783011867215945211956240274947290489599984152108726206218074609034524004110839759604318097238747199137539646751484386440079350313292127583915531689856456786778263723518651912026177605160889480361505579489553493263792056106814659620487051393096076121466165064260128094958305159037734163849108062938536188252498631044562780589774946521301386090703055416635970430684586756141754008087937387820625395603073178540483112799743098964978381766813690366990668728299094670155490708689046978507486343376752420800043136328075050093645398573186025863550400908511584225204130850312560611031263115400757121400404325204313223314628531093946890418642351427540105353933912007779077187369281176703195761048230600774816755290763497931741561416624862918830204866248710275009095861436832314967941514129705188963035071871081607619353270531318675278685288250915420710023456829321621177549993610844907567733602740022979262602736089356119956221078031887549656948809716023218323723665616668005801852981877700238357789140561240122140127881935149244234551454286880726415409369256971978934401010856416000416610939778195791407333137655597305015519562875844891792363937422484951117626845116667627268062881142052971988544171704001466825814131550487230357026044568105839325455754832860865472053950469929066708175950695198770772728701117770289668328015892596323714621079950154471150772992698690314637446909310720359056368473602432063443740492332212306857358236968873236544357445875074921357958893291791217466653186300487915320195613502042564572134844258387353741291899127515424315304442743559261579244578290135577229869722884198554696801185404814841684429083857275834183883478654862555134584846524707149624300308691331545716080185816687313383717273088391984777918704805301083481973427012242619948246588464858512565611493246826712711911529996755947569960509513517049972741068758856947797850777969910652075351147636944334060075124047135233846920509008005674204936378685013713143166430038337280347360935510479877183123922118069776442460151976870289423951878328475397038176954028437044350264434476127616923339234724346462307931128684520897644934936970134350968158569566269186494819443340493640673356767882345989811508208037413216197148974243632309187010560153583361750619248071842347598300675954732176725494393426574166930248139411221398427225028604440995777459775297865428659455541153721333613427124731550182158197454319527805548983954847819619985888799289588871697900292393201929238139004100619079378895902682135363435247510823225370302269048243133066819093397385247277269018121911563630934765996285713744182498281135785530149187536093117138558998131088694536828810231872130206230569073088114391671814177502479548198330953678507060225221948588832142552081516940443702310402681273103973168568321490731982916481562044104641283999889863935242997478928082298832638694254743656605404570766144954377957183025414742667043322984313762222935944051077252003940035322050894826545432098084579138747358463925417277431449051713547509110819969775168662907974472960136735559663192112171398688888163068940761596430758667300828055409045037353698554643954558545457400070113519587468290429419086934949475056830791172596889804930825088061651588709265435912810160003235283294833674806179369552589276088334688341619742376021375236220718960166089984199007627287996897140394865078559722619024063862684195132171897230003203843386236347485267109620808273169562290963201854222385787586791739031379432239442975115563827385612859484911136989569257797664594028667751587700216797330769069748790709630475693369568463343601122821887020077450497493373959892988252626647141225241697000739906106162632126723263606495736525760696061249715181118973095480368807081762200449998629751897130154598107603034343112784610045197753028884024766686288920251766957693062423613191789214634761646762622073326866583887308410864168025803841376813028819597145089760837033461155940552727493095806552233014199122101437643107051446438018200769940682745964395072058990647416929932819590221601917064659014894227164847403812973350274752087215879147656491572894201128305868144358236664832253985827709189781791140018166038171333711248248912374664937588921340432915884858729471022544978094503293553742532111479846944064206436940807580619256319381840879120365194251663823849847377303735221806292728608898280440769862183583183348084121569045318664789963751625605266533320978788509110453890397982511944615178891987544306852511111896799215480066727123924557873345461068354586834494522258646588799881018099076940870699092149831216603930209763269723966355550731591086866904268479927886326438837706406660924936746959550292635005715427763840726256429980006617047143558899779321609099812546104393395876374748828551494734229614210584802195720508772444008744829005877975664820270220602923654408156858911613144837170640984594718930307925874710274191676887745089953403517385112454762741162647129789192953283795916512417826005704802215665982575220682782495920415372246456495199611158110451341748036759443842142796054919450463287382480833058131743155393665781455579853604387237951225485365401709993081352737453733628533344923509906419073797838202169440983258219665569854054324731494369997493960598476536605748558501313350124788267513067906811441975877048657623707264326741580855757025887797595720676262608475832203329645580590374256739117679436045870103807217127362883111055257191644605594058329968881896908061318793864707446121560059447571758045388773748994360458654457332139032903208323975425028781751543151598551812057920490057884162733505161451514728395164103236864041216057169056828260849891063582191399125999271907477862213954496824636270879796837716773542679177039376225023361694343383625059309859719721974925750789514389015928948386702130663763483892721926122055852544787297822802318035610304435006210183797322503013801726886517889312986055962453818348245785957600266256053812279467183646684755908362159476544610152633395287598438734615224507166028985528459536304665567185832639942378446587498028484216793558112011118665146147649232062273738681395726000851740433027774094411220399650163400149535419954332306983811998322049688927731143678527904613452330251841668493680141115479836985068192368984557033931336228450729856538746779715517779877897077227476057481419782491903450685898341565402756355914019158002616185796506462495788003545643973318660171360222259013668794197146849601860134787599735669803473110298231813711765053439655538717183788398169071551339967987247255925996815491821821881250745566593338496870518201721066222701573097602497981154141347832083248022219671021937463883056686488286272869719961974203738594402429373025311741766974016746466464821613023508317686426334692842988244480526383123263172523952418913961425801691640199768862719644584892904394611746632209736109500848092099576791215257956391395516131860557772639917123892044639369139088686096636200436986861232302970053096534883095216242180368706189090397528154086701752390683521820096310437074461455484691375850955562491571502218558078325209273489442953060592543430530909939341663173985410479501574073177846268969952680879693730173732217216935080243759445838806101872423320402300627883743262359187430206877393241852437317703981154061275046549896506936066927581455587924321266609859211221574892385824870558834104304806599893497624578022150970470342340824451687352131733896362722638622599801069812210191043881696874758374754207096686678250268603904120824257916205462429690921398437778794071689463065818786024424568887609146478300121565438783882863081908953421430039703369837427503798793528656564794140579177376988260231944539749141459131265191828236316703452916022417593060400220314116340094153338059643198839379576772318115384699802467198398114848715896474475542237698824786931688550403476398115929195365594994051065903331782541527339560837502030890732216338418571992715561622288055338867393589126091556455995020693642174180117756079153611583668527481907914139045085190060918673846328092469064765471640340337872242496566966681795205154324025254659480450576735181291188122727321408691760404153198802979785133280347223491666103201741845217575324016897211124569395137591742660579868436311525460375663114834204778827111019976627505550461183592926696505859367530699884458455589780465440812219194156242015905112626704681056422724705491732423615419201761261338673389621860883971376454326590238112978211777668444452541917909394451482900806559056203197049758337988190046445097522418138311145531533613500437516014185071627939174439629212791597345657321345300436956978539763939278883312144067647336574692242025485855367961672078324715489958236901265230249310057779874038874650455391594267248298789127994650126551629974992160263315485540025393266893231737393183263447116755043993682366509486392817465020221146740680285814849195586432441920179606125131805308091627154906082429165519112794957818321028026344312057175375347446638371884508146547509577243637336304486344869802922819713135862486686984459092203211343836704656747304173628769538724185320863925613057815151856888212233303958157726588704920545061668275635002674106922455772104444530478665422608519194485453067837235847821235385552407420573147900411781737025319582108258696388978818722244858604943227332823788941134844929087034656105907825728940362756259839558574154561014917188753281358118273074850656232922821859452842296132467416581006473922826373737574960943442378788660859435231040847600366161571592242239612064706924373960339089414788928869605498327869013980778264933622495251570568986515168872583007065871337897522857301391769130579001094843258406094424121192829015921942478694609707513134202273819132768504296224077239238853245604889593982522412437210604805372384477976828476824574787798340646183522371365558522704928544403243947636404973970946616468873283876398183878092263160397354206331989128628605186564491008040483272623429428940601228006411049696911598871607555225394861573744175800596777491581774557947597142212612644012228191005454990694896999852574418066935386741702282106419287849598602346686934142773949980185776661320761858289417258755194099945077337534994992897396106031432440994101301175663299069170872662998851161696243401670063657537095683806650372669174492285728253889159394307728539151951956951990590533524034005977628893592894260265404604122626612374196137714295265045543830433028236991819118316071501625056846477620558707137157873259522388828647253268107226879723362363227205008667777730265838435121155290654817026556885710081325504371623639825597106632613987551194138432190391031791781424134662801721770367835614819684808663505840325004986810778412230973029524279996717207350203687734402829386630115695731827847353530136350703223075825963170818355433841083780471433493697147137229898246374915064353265936449955720934287409786573123618247009454834078367962126421304455873174046910036964232603893759634915417793378498915831723412410809213403355004519840627550282450095955549179997854649946130626606492227287705705815027553473045791984012071444900859133778697465889463331151497231321438080119229076579607987714122797319295959904691247778237149203164587014268888111970290097267117156871287386233642371989419907365960660228557662689438836847483317640339460752374942988858126471892173762668003989607971998531225332943293737242024110089379473105176118603281478188976995916117248920301858661018039078431592859055765149086096016020015325784611186671692251689421207104200849976445199954948653477133586090749788364992559156133330275914315301116275111255080812851050272266862365130597328158541373021819959697775598433930242233658805535013041444966415787484140493588339054104060811113263885565095758374332408625117333040246719994735592293320905864634935758728549207052920469233810300828054436717791934851342319418400667975915037017905748414047792709057898257533254009813504219728672784616475843919208532711524557393662633140659400318230574282372718572411361954342562269346286760070254699780696385623684552479199323442479669641147588948888711368929578946127158988065909768893698073896055709814537067713404854726089245533071655302745090539255049347632494077916866923326152898965175055439435570355570119770962395322346595150472441761853701108533599803038452620196744740635107989906423020354779109437872161894368504517610175519962039341552563961054798921170719786376523685678562392884595408622225888767604012354865731806005185846391161188325401510022536020371326392785357769456641805106621036874063259072782869324757723834043238610920418382778331402007870855201149253633896069934140944864431999755761921441436894508381598303850462181153866715277844990462224863417355225397273349767304388626114956318153467768301872693729454675291744392006072450150583077526897008231711785312475031861957556155291822511680910374488424292889510696747326212506630980136042940985229826434026287926781520435598169082569058236584170283396687040289801038438950459947596062911097398836236569556896069673764411764785433272250496642867540790059421862649989351352060484684441046914189197531001646921151796973377301947577696641731623988655489852961436618638632544934838300720346771768498129365066995700234975135172188963677412664320924889171300024092427628310385915772652171070570404623399453694700623721557538701528894746642758787872961935593964553302686446579516327536699396850822025204798322207669080227483072489260042384380300753114711251579789088742298565054969984568579287053420740534821360075863509468044553656374600601827968467161589014109838083228242320391372390130901871538997834014558550132310393912023786928656551393542754976928929602958299769515744556515429224213466462090450282902481020166044469797749256079851802947382917110666400384106901913926888627349438855555628523368589271563443367969563593932294902576471540900525411219652125085678324961027809682838995007962934265445182925938702665148463552643427611052067259402382146714662696851378972108819904913718291708212461798842952495354923583416465524474109014047674217647428573847032514747474352726223058596159146695967555293869399086368858823107183627227085345096745789562552891135311380372374337536956140482247067393879920957454857500581859430998544226599822641966626883550995291452907252294001414238889461152223676894438005507793377137714125250374658352260307946675555376351222524183970287440543223565671460785424423241837043135663397804865156943149259489503010479245178227429962868138629646480589543607024419946537242688006527266750371380208789301889634244084495817041940006856262630141241860513316015636980888019427538538923642070499857184384522071135633934441170333811442335076044226528498512342688724065694383178508744489219030365477165530900800690561617339766486875395311488648084493105775785092191672326195144498693325625193292930606681483802326923423378833230640588399795274763373648530575640415355044054686954677070131398636161301719775504924204373288802753977407748601183041008410819386999026662315791853682319657286722754190691283715553244287985801659203651094821885297439468119196663458460962895859446636379705627866013906967083237316198756650204510823767132120873182754727776078854418785459978530997931237482200597295279330984845821698695796572490396717787394237991876302870755662519709970265963618478848893397908143496937078112598151091978317070359187407752489676306975477495743440537669583314700663897554935996124643711623321686758073480542654203309640392270064126715445288028815835860449713770944187422742983252894541764388503264232262239861479829300887578390419275012890995244158787132695037550062252258417390319654548802660051284119320565221781451876105110001789943264371944986211081659485714668150216879412047623089234035487121835155100437569622781288195268297378636353792191939628548798541830672402688915284620350047695575137520097696234930322373569273608521734880019341150782454199792620867305283604737273904501466703117540553361402106263259246832210549187156860565223906681213915244936268162790834487837931703996806517081388474226865316790026420966589782911726825543426457581926560230175701169842020146283575440408788495492048480619942779316725614987716298144811157897458600207118154822528964636203322769070121178089352604685284860560137463975488940171796906141664522868674048638097867344327087772527124928335814295666370232789046495996872450902114845696198005230728902344458046567916096670386128801412437937701942866368900436426452024857306975000546434531070230548021049545151767067410879539714412046401451022065514247121998574059897974080278506456599814567450579964742944842977666990322098694595215861248623469270954970634306029042034414760315097817493135617487926834150481835755385932681157749248221999676537384960797664951069527442552736135610855295607363271728077250134279784413922563077830600846454980544548741865024026732362440174899636735761910993904866749262118947772261218461299452816089565722969115126439133015126752676798669413541109855434601951640658774169119667274271606147451747496583976471786929440930899571702043392624770569563887615329224030138930590270223238290394824943940585446282367103992023110344868974686153822724766907275590734197561556632430571391479202360882056805005524017736601874723445165359670683188103182273689102752883493486623787015436003325804588584321615695437763001991849186463126073887554401583535225101977022409740343988077120296542850224215226398685691334292838961097505023959222220747114173232765543070259805607942813849496635825973953771454515394103313972915945321035710892371012177540081515584098390541622303564172402504692713446180135765406583527670730758156438264109050195242080506498073293931914268614493412402446248895646543326270931659682044921616908351104473749443151975505833536767981786885573140087642477933171551438574525415869402737350629641461729567270482677405900204589612333394808572368880670453520108033840998624831675762833287755595045856748463848793856862874086693299610006328688987002117519992198014920506631536526214302900872990125372387086358378302043898922779818456381172201328841382561666438672302345630461157432765622882899301759725234557569731763744212299185935658654328667238229441221985911588211098327182497669737722178679499619682328870413700762498102086927369188336649568879550328715974103112118408735276646234729633740752108821568589135515529453372914288544780401261484092784447668171534387059161838251821311142360330329729112205931532570937602916131589729615171000508523525680036854808588809984107675653790318270237683453140452555493337269061057179411153464133917097728950169091406472723238292497945953275378009387447850482220625227977832093623438439998099832079603877270492480294399980128942666887331185345385913721793847965296343336648379499512865928679599151328764183947570549067845109426623468269618073751647578461360060552475600409606851000909235978662584788823325783322783775847619615673839789695025874036932665535288470984416634030181341116813285938635635192261144937591653755962916384048840858938992473518119210527229012254024398794551190012351589751329093757721607039086736848338395249881409491904698834645743506827251924355140623213354372428674994295312997983009301544726556888222213700718662205579582092927605386412823524577729240461118695668676194516151482652241933175569431930523524054084390148358382855759577134823339796945842035078317659960837538878708956600944559380707636800281004898285425271630621269363970469386815033238943791781683819317410975958386268165496623600380197482493201603874439979530768861849151716125941437987010543071560968801494750311743088367952240648827436448688509269756889268693976364515795557756870505167721478700900942994175732139519862010321357599555731914347083107171724465657231086763113610564856442891370365327059687185436120801330289163554065059320129919166471331025659048982382285181150219585989367817295090131507282256669300567852458974185658942244917387990281240795380425564841254727210721762766069647501592683943475226075822190507771406357836699242907302490607080783291779545024973252243369644745144535107662004540214296974532426332828193479498831881747710149427080652003619286584818991663775464380127903088326476200088410472486168960270703523882328960691702490083531544294752925064357034857841674886325201165521307994298228064966697516664136404638520530519386106394633485729143298701268572223187599963499555548177421860630025093618510890772477391377172608879685678282141055116033438128347508736532092268364536216869380148935054248734088002542106335085649081053729376522054067133717529344457530071200193211380926542089512253250764352420499090087226884457309756083774433000084466456148690225697336066830411024991227940703084349691787645411258335780027420691766645711002115614471265164708446620604575753655487863087341827424418646484286763649085898489437466182780657512070669520252433275284279843601794580515459411538684578458061699494783429540232561853667820238013121210912868637073995778562720964652444913730342773782544270075539515148851944407865180042318493693706049015899148108318045736570224672843137669471173142794342378628512014206485826841026881618975367804644148795623425277869881465022136547423903172363561114659037371806880982178064687387705714644715792515665132062508040444406141654181256172447599569458457052292530849340012294172738748318920125844547602643770772218136017940168407852412596410691354146995741134347530633551328139321106526818471387138020383548215730255924948723421127706522740569368982429578105659728161849818922227140565920970266768673282587586753393937386470171705332217299263063149018595870393811447516365404995343240553607147469602818671876338058057227055380507356018507069014744391947211633301286569511055788491581891767472996272241517209770369952992395725648108378422753538510451872160241853829506535293787849659456797087621911101309958209919299276938976115337698427344897154867270606974481059903845429901665488712863395675918054369408183012418797531689860141461205267315020098795617715583341150826755571366076372806445224275272788726891993077077616370658139889759608135492792108217831136856697142980921443240094707954479656870069449972764791326593449943423966732033940046205489483637296441336377157925159481153959484617798114602831655293953082165466508829212852547656187799904821140792779146043824586520968172368638725063298025967407033546903504079467246059755040739427038262748972413155466364410994507019364788201005225910352889408604980304075998040414527897579379977198405573813529176781370587952572459811716309987576894259525909222436766335245951383712769292170317406625626888539918128653498892314938336672819817667845808702836678451437095402704003829286800905252748545198685136213023204352275168386732158539968837865794204866520547146179633309175802134998398891081910694312151246150333827849967788849144169168609839351708232266684154678131730372616875411292860878377309998296803222675937795886921181767860218237966810733719073285176649484863163828631008239201899062781804222735757873947852329751769749134409971494511907959283970683796108529642056147337606008814315777394802265845895327811003653379529807238639494586616982660314294180052534048446316291532708242291952834228292040095317598498068817769319535452501581475062997648282273443308481939282711982642669505200652810871729577048574646702922424629537863104139473893699455029648020909184286766359418509923958025353133344844902815290185564496431968384775872337079269016687181128466379530264955572436850909108919829715436382747148045566120784667028394498318511719680793798832126973590122029962164407670832167589311896300997041523340851198064116648515332123972269685816805259056498471447831571144484309491287706746473185656850641509412359960936575287560737033270296512534437237551381337563160905361144799581522831958496126778843920374003852507759724052566269451535311617048527413915920139776467727415294059437941089165928227590694551203379265845253646207679918069686359302490235496313746357191790080949124159551020030826134862357798139433531377931605570040164148547795176277176827668698478097080841501113272780223541210142992449438000599135820171223724011791048783501974919673309794671740568012149043309392930149017289538602813511804088492749620317626580655533141295291576316887424452395019183004871860084010241575771964588234766289129144864712696263012615704760686601905541112315255477018021221945197844151827810806828213538954757697194023296617503801863803397658260701420391805891634017259906957878102347533829100495734207621827170407223594210696657192384436406883210294521297288615461869030857979399716295713484310645721709614929482813880863115386812564366480849560031771934396662466059413451051097727390446699783867929998659646395352488939266850578164847768533822417211426742879173853334342428038560987986708288535110664182811973000125094658707138041452705069091094099691492498483162609594318980209544167651643076986333269091437825631767585485800580854853653763562779826113689192934334180767182279724727208437908686666078173324905869269337055381809394216843716093023601460688014059448153080525089429261659439582172554507295366490865516253559938163185425906826894910628028565055733436035229027901754092774691358581171871768462767471147065920988011032905205981941241150981058001087965745386799874661973790846164356261764084573651654626139153173268238103427378110762436008761703165198512485061195257709859273959213647831373436103343078891080939359063805214687171393518032975566707004164930978595662115185797773110199398009356201586164364117301676565514026584493855505731165438135448973723695412281740424968866116154328589551820461270899283050910127124406326886958502931336883951877906993393763732380019617459372663089067564265638895892812647500361483175638521856375892733896605112709420526626178949176728756634323756776685941201777811741275382209219855082182647966325288226307212343394377246976931846418062081253537108887981700904326962839573714654377546271016446386802420015278412995616233340256712310272088376739249707100888340617388391788855330486639154688738136654609753171904646429842374241545644543277174895901688879387204118218582531659436653981251503683873585817520598634880016373437130654935708466084142730838805314356459298370973719919610042960609415754555340736090025659529948453313813090806177480745635844737472090358534448602546041392437967337967032587117169788762954018369123386417120453612407263378407367511379917090465672106010029967350777720784858624368221315130032798378452364227715948176175227519322525469962383745663304222864734284275391153419359847680235776417959822868132995183716652116573870749855100840227183524584435909825179123339398856381771565082265153168655862474715925839488293321695946680097249731320769031372319008033156200694941285690214292084625484701583190272985408331836947816940111092270901420016035737112369222498795309383206343258974754352142752453177410596862117423192109763320306827883253342368155336062725205217055603245182584273877592041193556165662994143657299905941400000342994074189526092424176771371151239554234793943025633090185476520941435515515095038577626254668927713754702104338821196882422978767174841753486477140921068150004440405351741467668083878646884475738835231608042879419742672370367395884672365442091541214396618783773710605141220815173638827105685151712474199458543258050029412819406313093939975635909011781052552443601676633858185693161944489193961487504749505660919540757092249538445271279498666647339376256181730256690118093439833753669561642858497970759800078945107539475374471395339629554733165597525455731217452345894958266525049469824260951604369717842025876212631967546944322682296321814808019288556287367712494348653192315229266995563082004371004149231089411612679539652300935384000620959766638394698207592902676501322511301608803234844756840125088523818606423059094349143068869570258324043579532622631726144770319357410286911483548189106089321829469284229848252834516518105539332263967708661557078405283962233099862101179002153843361411850608400069438235353291738954974715535981871133932960169589308216176361676009618932037577738345136374907945069148806390676456143940827456385376204609404831196193024858262490046183812213014924983187454301674881783750375980323379278219029377289227868708472180680317574491482607153715711313212336710608308153424762167853504304546244719714807051831375606315709348112202112507094557096349820781261529931129130437714249723301876925987201247900474564468444516448507715923750841800718102496364595346649608986950776839105508773347196457166590494463461839135756362921514731769715478713790150269755553826495304147282219079857875901267286797314023643282700908870707630119406593442812209248926086915169536032234296641781123415501808655167764130512181499995894693835264423096685003005654643106244751831523411346797715536995848405981847853390108308447409117719253044396077157388360615997021674351172331490528926479942424715524391518847735672675488328394304375047487416380589688367317701894929344457465621683914935240831560127403799314079491964871236877351917017365965810782930691646004065219113944586684907591523099179326584826854289874005269363660513247189126041150552010450372525328767177693455199694423138650654818759113877887220151226632439283209497397951170404290635502400987766376952539516483811526839450719840098930967618500093606478507476690526129568814679607386365679070490091171019107006978149985623492903698663733513403516059601053308645207872039407001754723231268315908089293019071769902983755220583027586922918539540772277365796657933728777482557006972556581338473447865172894696239576665682738224821248394963235452932692949527588922205700444558767888258761769307807947825904762277624158747614090576614022121497130112314344265744246406404283525717238486909758662768408934650891726521012138104158850126427609832855569368081252102583857901807510467791751695632882399810409377606730605679453222675788119958452614742344121419004162346597537211276904349775281580200825221046144871687775796510491944937374987389948104557087186598395631212818196045551875765021202174189537992895095722110279174076428074703072333279459045559130270518733022143081096741079421947186492491018583707437316868028494727296724569376425293299456184722317180980063840788423320269654589318471973336356539770795709844698276377220070057154571559979467593330615570243641739539799971995518377057732980712408743967601770844787356420048725031294725407012398927863129488493408271734650198121602048098920353169134886518561578924930874535232311455486845580326351840673590541543623211939918052075270244958531497640848979223310971842923041198496231700368021228396182787434019280337915052162936657914709053344948038752427348041188644256717101816358312289936668747118253547937440301378651330140710999172676856832126770233812081211046268618608509942696036373611611955802575024664126199077816975168516067455258167079802055245979500544749115317152511302554263345348335591170653263724062339136912708549758999808981307881897521940847429465717671455896694578254011583452029854230421849559736861440119191929684490517350096558550007058378792665570863608732484622513718363027783185507588620191174351689171557369822313783140117923728040728962875993592448238354966669060751675532096625831397909299623142762200263734964692912865970618634624182875309874385423408093020402528747990768440664366662883922103353213545556499039745145281887921923071609353074402891709712166523347844208678547161997723299456486385837304114229911310827427987725497318063854480017105444971279747931313503957879738978227609811481011906295478176078424132278767784326630669770394607761882726969488666623988222430870146794951693422089614365235947548515050359326573271984637642724509557620888626655559486424083593985698821567652266838082771836025852827459736873326702939818485349432914738344112365098049962299885909281652449761370135930717446481489792258582212911020873084632467185464388644134661510292784056460868151452398194133808212590390649713878710898713533680648038238227428988323559293710531915852495072514790316819132752502423503056181439160846040367364301548051213809574477915916544295002704934470199098284162980238842487964617351953292626551388159494667231613276164955411683980858321450643874536323581991187633434656552047559439286625524010053532181917735742074296336984237369164461742121480969193246330372535670966324355506130836181879614673782888518680395489258230517213175804322988784590068444340507405601001943087356684431464364573879307017800019060993158828288626981100974076600609892229930519672769324402895750045246209339568313410190946703551337088574937516137995091817488741415025652335776596285892391010907064155847815361089837972349654724431812491411196033283064832931220138910593316390359925694331514426793969227301283213985904392435912339678748418222394576291521432945733611081520877688896126755702453865053093828070072854322897982734217866213730414058987220932501953040160768282902007597438750950722643729145634447490993719036628364642435712182474582366647856219918638374112051056887605665219247658301481359723019836834955553701166870382526517394706317853870934407621231775695703657606470177152656482003107188845730356810572698298794647583030011441166957245404298158089272772322367175971732767629734572723825892325183285190337726664452733593890448018444285569100001206374776402773087544241105628273422829783969036095381935946544201566866705958681016701892308935069869350118705725231336403647117003254199814716432179542257252561925803084011105879139144620918913833927243458690368217788539368485248209627084453095385579266320095156518971378910946331298471760171795597134107405426172267817238441216407514816372581199672241934719503405669192808852681550294000898806513492585410133103301739170805075756082700675042941074737352764464296231240898621818225372643116026688125757771400720708992379834867725943474805687552878855920314541051090867795451725137746667528079753779188768435081129991685325445056032691859951801380293957744066980774803972704573753680562515021421477310367989707508244189758934648921821622569102394968425424387484384150297403982070301405834499581690416142034770263067580093210572680532269806456416660151424374084213719458820971375373916357228481456326537399125518043321990684309978061575680146363531181785372695083137763849399692113331061082997068822250942944262614036595342684327496656895328105921345449764002808710475684080055138016555818539996478239301215223218157343947117531850454816499908627730945323841496578091267143961376577948618830973681070627666170252042599603953467147220860928451287918496091242702348633333603585570988750817752284468440322013530940769875564988502708316550365318541383463337118786204268775691545798812234952482020180171220381252447997839456401286703865102691682834768179968889411132148829326416294043086703368288129229946913010492789439696296257684120182910653776869066215515535950716981627009922158945837391711554393926383566864426309064954464769259827182115690713201592777822859313831019533467158678039782822589478968797947527409855972639067326075439453405183645203696213926060018684297160288520365275902456846497135540621599254731250584270473409414555261521524558242916024019600926627250551068122716427867196515180146758604049523809044325558786383189221737934450699010684062233283125993095906694538278625121060973230846483084509828782449367492639192094150669837236294340658853043963462602874984602631249357991640669989881502305843216949515884822242552651271009394505688798831039323658974257563356610103899952738503732961966812920969439617371349173635433502366097988622337301171694040304853403796102186568439463755001839460389828750179911458179511893794033659790227197392244658300139070415983472918083199873242435817412433766800744692159993979171602928650044566197391197105748757620633215191298161804436839306021910067030106583473607512420409366345008805445560684246442803511681279669937518341622485410182864846591233074397222822540124907964175410721556366111375326352088768957756095345205466938535279223816247658566818756716383679765868889776041673595950900302373230615856476566130347310739919576918305763624783151914533200325340516247318552524427404592166067805855121907186774456296849007469463400576080229768414263554600422020228979358561391182100540452351263770158348295134356008590310405171339927509122012219953597760154187252488832979026405087199254094000882113482850763944652925403706567033264034716545161302404337687640825174249480776654712991380568591332609867207155879745746471346234032607400163246997913998944282212610738966795666997485515966021177938647523276405366516964168918922711737200514047332458343643752168350201924432862548452713769565890533003988797803939526144990851508466641237248538844291628036394536222200093408161525051546037510437479717736567917259147250954125579190689937006560553422037008236737572021674682291502179313029701749802153567139439577451537973138433127329975628563432946616347928028649788340993983875561372487518078965406018667093643632421392319559982622597068123082030842213700357448300240909434733844867864744190655513363421426730215012487471705816044793383919627874627699749383543158548134329845434706244577447671011698250377060235503607655272931686124414526853454973741855649056493930379282464455426263355958792149177849413923817406681138742264655125465685326751396117975694009359606055667180080999352564782457581268432248883297417410665282705705095940944444797090766679580421161610477748221911082807257183196019997044452542190781207025998506222882358193355770387985269697496426795893047750908997151904721045323535783965180652189247017684087458773538594614914133451629223340703064216703135076190067560700827814033174536127995680458548787809052427155429681180123259594309482858425126120028841605921907813995696641180921086856481293212062267913618908449986827345648177306391733426715003356909733969507504102461238168294663427338072421978037993448053743669787275975505254291825804597431161845351745468178541111703147872844740135947405883468239754222449586110372007080407466183471565328434979704026954498659662312478899545332150220689883587757587070444940674099690055659806094654288998589065726232330283687524259544630704035467879783645037034539854882431250113543163904731910914552415893047997557003777700331377288357932039969345383784778964548561302994077995131789352354757839993239618012368523040039987565315547163959015611793642861658718880888378621079361138661310490593234657851157417951758626940303924918591002343340029335430944131509437182300212880485049841780350607104804047344661918591919876567150205691239883878744050574751478866223471333548494181787771800044666219426406521392755253840591445319426179324151506461550135291025690552743711858181132718711125474599218742696158050830375556761615961016254333168778573391511716619964656242272469034211437530691151876517893663330708540460460556747987517166173312871322572722143471364821651740113693791502585286950005504926047987005975945873523814103819542275436136589809472661526395767059266455507910238457900764876554690955374533347297660910540504700807381283768853032297863256322708757688480260515704545209190570249648867406407190324663448362216913727726437844100335568036289394711273759351309143420078430689878956562012979597424224705329258351844106707401260501320682105765427108651365739036563251747183393791367901778578246379898611560322720721441232983243458013572533645081612616836736153778341326601826384655559183254208493411325644596901322304123326031465484015006120095424332009502838144333112695559703025465792615923144897418014960199242514628441111740465834259055467060858141115776586628929397314142443108026614236212003979270706122028338788770305666112438264340347262658456114943204261387173795988284014537228410221944273549229734559378601283580937440736681298940374313190824889345013576758873861769446876777612843152921067678420255924718666884553454733000629586734326647483065350785893842876489966256896562539699452532055447455097958198923373332961817525593238024527648465005827059197252349235572891512086488884338309984678261830238188570687446455367918104312674540009122517214727701411244220936603688417727209730528358740335896374355034459243413052095092615955075535282798992418412142676518215829526962069533206558051317906687836433049144853389387135170355302604571502334820156615621504767369714233380973778573025009902895935122376617696179034733237605045944791942493160635023897539372706182588254935164499946502271683665943694951179793458399831714993904542892890428420224299770025355030388727312779780277730769977719816582386437561224109569311232715043245219727592830500703317352043481882255674910364292282287620726262984450716255423421524237589739517254495488008168737689898348241171276215710898012324824415230212540569830637249330091476428405710345518554492562279306599944394766692866748447834210190383703446139712472727248013426915501657113173726570814752132229386396780170876306670094979979559373562056831350327641847011641410358024364812079800786604924011258212836655717453303050043590257595341214648853978683538232641196350029672384323420776430496555555049569562707634111637283866158123103613505642469269087500718914418665876673308162293702295828808808061168059184235700216721659113977204124001096511676246347027344917846772669409170824876978836739749559326106