百科问答小站 logo
百科问答小站 font logo



猴子瞎敲键盘敲出莎士比亚全集,和地球瞎鼓捣鼓捣出最初的单细胞,这两者哪一个的概率更小? 第1页

  

user avatar   bai-yun-long-52 网友的相关建议: 
      

猴子概率低,单线程,正确结果唯一,无交叉,无继承,无选择。


要想和地球出现单细胞生物比,得是“足够多的猴子(和打印机),在一定选择下(干掉摸鱼的),优生优育,在有错写回溯机制下,写出一本有一定篇幅,可认读的文章”……


user avatar   find-goo 网友的相关建议: 
      

猴子瞎敲键盘敲出莎士比亚全集如同痴人说梦。

都是不懂数学的人骗人的,因为他们不懂指数的恐怖,就算整个宇宙的每个原子是一个猴子,也敲不出莎士比亚全集。


莎士比亚全集,360万字,平均单词长度5个字母,360*(5+1)=2160万字符


26个字母排列成2160万字符=下面数A(26的10万次方)的216次方


A=26的10万次方=216170825887823071328250319055584571814440064527982929722767647702078429950149919622073133562487531801110337166339750993750934826060420612180800646479100730268151304005661483873562011549945671369395017830531036416779599222037075063015869956278761192872081103641241115371185515046682536970127637372564392327555050167889863726507164765872260404075376913140042253414910435053986362092035766861035784263270472826703369855371138337308135689974302710484203339681937274345093767988528953658602704251374047475804711889004827772464591432765012232647162061946714062095960874141179302517598484807032916865294004504178111686500202099195958648699404001810541312773538409752839782049481396952607760217592051024565523053549574038034291529196044081310570730361602640860850706537833524727236750447271633264104990482184959582827897992527542067034013687179017146485933398321036018629008997234282937372739614081738267884480593936974876672416505658965960297014902068957836410186263201081439346667824806246324327928073618537717048142672577074602444324452235725732731508816953375942179327662677910573194780520317354615468163094493087145367478380387813379063463801920657519154446708455067952724539747460144272279867920426011842923907205258496679468142095021841449856199976188375744865925171619052782502725637334168132724889832130548817980348158775554532882882374575507077220148402663646713859162275482439637706111833496767453961846587851075613205806162454192399238304763254671715096065848546268466148469275441043808817259561353317012750499402086753128313531169008401240071353640928682661676238793038150181540982896779880071514497142444549231851542804638577038178054337357615427837695427445997087918148386865433986957528930551912662002815363648960441950499756096456145656174555067733915787584499109759154404972652590888673796910609184399518988382105733313738747585158442263697861246691259489894416194532880408896872340688136875823099127577305368673052879894673084162710270702075983891924723827696255827540753386201674118662292315214293716886868938757557097176455743738049886532962930424719958628947010989044430617740143801276797600330596272433186827914252876864456765246357351325624373276357504686230786189177799246679635259924740354859559673588317684542580910002658719937482572001905939093671760728866743612817020287231609622110558385545706090044583724716326540652317409025965430164168247521090052955433209287616407917300929944577331335970015820190065077324739854719310331489250174301126228056034574236789586699409220781822611294259586643927685397650485734579152989792480644532181703579933139369014394148267599597888241032108709606741821927024618337740980150589826051770442103625291104443839218017792286937356985551501117389118781093902582207194753220464785264033328837322426555157753489226867197978701607169708783187582973033706225545392419291920291670369886996504632774213308038546125663425878225086643158280700889547014666587657569634543790332132441410034525465844931387362912806763088971190309834034817932092925182610092276527796290660127660713382855642552330066602403784045365499916019777733487243474529935540086546209937944052029264722234242807260355240697208004169472924774697120024850644250382339743858387056724022648921313397227371052176150664546798773924259685796477731212125769327253232848214719279588035696343068816722122221713738208166526158940414276748849010502193899289491041528751051470668653038071986978118347973394723187828780893599790800458626603413302411536320006752298633441123362735715169051490331709600687310604782344193779808985684646573669898258844487239331270388695037479929329802646163160202238515519307403440012074530849070330832893690833301049882205651765939043713482855422445478386715986455706104731733808989815150412365555591158817710163655837471277208721608862836547190779360117331267818183094143578276881006289549068273817644716255676431583585958006899855288301530932320450532972066735006045773369204652665639739175215561387730521175506057458522557975242238824984372096052389360744139707684689030216489032948278476958171573923966696007392608496387836900629445949323598431075720618093324419296993101955052520969376338702248875368106718264051778595231025573919535651075112169189406454073880043086779899441146954310406054464354419624305177926366441414786907657438800785929922836379282353953866606558628741359863503358508333753535482191960319453439683140151215779885230228840412768806293011762335479929186526762397348528302130553314882603264322364199270684039740941238860193752698979188274668438559378217443864484180593393803938940855210063370012179195902300244224019543289620251260009256083671562443622469586553664296728845207915017479867505601121462428881245384323187826523502764106923114387848216526415045200665161790958196787218486431433066712843385702049768696592480441528039835147887737114545473902251744456371539330770208967030951286085400176326082209342483202390412550182494560683451202485349875491206602661624463215490965106757049017251123630889959314822081737630970446761144649120170140106033269783039404470910299365231673269577320659701617303886842144356392203676049447167360727289164528187783610102671411862536778028067378429874362546055209818871472696061059389448445458556377055144416609429775176684710078152935953466994814581000630228904712089424234503350975788256983216450818901335188324550751800386766897345910525768818245466354239037215958481747787972328841374504002861106931212216148435982778360178617544532569473714791264143662550282215175122745156203132972652643196874825503780312718608635166171308410305773191285471401433184176803455041444075072463575053164550285348178883482832870829717546802972827562373491854624803689074350387844720782630730262183869035941361994750285102135754033915116728648532764606521857476269848986297883188123595937227708533530960424956921880005221770343421404669230287356258791578813092698085637593089847238414334235878514225446596135668147249345648802523987480196696887760106030214688565857751223398391495214981983639522169842961250266915213161329324863680240726444897615603965894731457382094206968108821898435461164642399108496702480656416975425706006665769595811127588286180598917950374257987248862024965684100837483489560399554853612006114044467105292658764880220668791406065434823189354381487377126183037128139935960589775602594334297132094678588510591806333868043992094901185491921845914472892418996231736335826758482475937350374026478330149477324341376712011572018882387347462035029891997710581590378058015095800039263516264896710989660913473292556019228157310494032981603746842292726047222767583801514125312071380832830154981601913348434899296357773167749722567269901792755829552221422446159275807644537377505991886048688684165858508026545791039273138369348136740379567151568831600915433587015847225768338041536200081614701228110988894201027721342762223662793827058562073335604900900249715557399615082349383338767225188352806908992245709565888076081647359372796554859401216073498096689491508872910972810887139689860152349342405607351111388890905096743211216380659783764979550641886711274195671776641459984736016469194295647704069891906282685141369703655878849348500650626267584851489384584711783156354349556497988575745216699003868236976963715172852044018402826592235712197610012740087004649066005713944943533384531959892486422325500508946947049650391888223261410295191673524864893521888400973952084719620528614517742253525416798494059257695977564796563630671895936767576576364614874111331287954606203492408150249563704380732638969181120288873575925731151467550534659734879024342245467853502303180416071643626272090456506382186335474915247681141086524605594210363754316439612625829411694707788697993438196281587711469131328439822430535073267270181876322527640571662667925941039140121498683507361794511965005814777024671213839633564920036920153993973253897863952132298148841105071131943223826963419992092920823215014879654842511225622202855622315835113135273544179486054853884434497888708149640934631712096514176900171615850985028420387382795565303714536958767156713523679082448989375059066735205613689020401143243564783714366523871377142984471012156652451928339564376627542688707849178684851010635839116837342765744396539753386145349387231699903889765887378917261168598649387035795156500574972749669757815463843177331610934315243514143001711493508767712530750493378382514199093310234605407115696652631326107399315336915958767652137774326219548678039476695468494867697032639442735702320864266648008132149391041428047715167194717689474762895118665700401710326787150416520158466819739864553951994366190651576418663240993093044436032853350483245969340989592548835739680148385850904383292148801219538988380609553224430721187989031959049653861097559135588989728538107310313196261018950508740422623238116593863892931050098045756729869392725244182078149958504133473977521892490043852229172535281051503699978829723721962884559494631246619540513261318845185741146793692988467076813406325955068146369920732750250257517479214424082340154461752540524950288872174160198563207349469008387498440129952187153352378233868752574846189654879666676734233471401979873998567751556408023232325031483183777994933652192271092516481323967357264188435733296939738212393150503538980261842651197962565829998094814799911474290024049920356761982311635912427894475371070327635921050385023947762444142983794075794005180386971397809642540171717929222285678796148835592200332636773584476680305158601515333811352142627354184763345743021462843361765071002244724496450260516196012678069171036235144526364152603610694635971206063498335845534937174284680673684732863763837918302918730296207521167069457672383968338198134788319134120452865809256011415614176966925738230699315452212101343512338443863910945539445264019421804315001561311644290021029846927878174259789449711663790296559511428671462612763201028079479486374600635191397252834414652864917970982453691232478709506278408763394643868336242576760097318957318440068229665324601375314310470647834138531688622662224000018870444482194382694770796450081574327873581718368872971444845666723961656569782337175358745709167151244695511430214931247329621283725360719967606257845636951539828144065643931548535033723209181975300818264674281160179922847144141040650959843399393495348258166848694264839222151715696605513398329177822257882139944123262516038704744023662545953054448447707555206962442642900101791201335834162411075994780280465034538600399428049357486636345735854176933607371859573997999633331825716783502730640646489633964298861777134524927021538564425470594211854369574410363975992318311378215723428611976662997698271378403576746666447390855437289999463597308641367301331544850160025063219291404466096382080190341516218520766557298513333398092483098776147128366674137759820371558078907642090521194409696071612225893970879599275806366254459304074359935875107625138756979189217642776264813146451918173934054812974024858071869542552249978606114832219047669657564515410106638900331888133110272523459791448401541670793464554462515050940216522366861947551049567078681032489075146846832378358312981485672603995267151623467652653794683867382820581284590656095846230809184686488640460404530815776598515477939014463213853377959899467656983952346415819532875030914487610057282503183500512545557171171593173774614956974904613178561057789524222071325641485930065868085955226523534135477212398327016319570813902731735115982077443311017719013314270518468489533689477038812909926971808944768067479849761279038352422598228584373668843884563538493818999669814508519821113755301032936137878568524445651666232683134618137891638850878241351523274385482787492865582035044080825511152305209854409400646116289402900604661612717297073107324709307360575359927514164517706334114603830174865517365437190251305688276476917934228608647507090467620172123567722250848861201155550207091617990735499624180105491512293467577444854315749567902429194121010330327787545306142853914099854321341813076056287625278801921480334433041276585158664278307772423022385243973363636988871991258525408231545354648224982371189438226171698434503291062840405473975006467749469404381986004273626456039909906249958571131735501524490082421206100971232656452994719136382774501273876246969023291846188441352471052099946988410696503502401788885958204418511820280167423440138870722987082066562197167949754331075152163027933052298981307008248125631821880767003479918695143006994930247175060120431575078232686269151303205085158853987164436348133374291445710539357719403042120601785367524965418594787840607561536597317064404273167052215447466043249964802313202758568100161225481763633764093360151499652718353749933586418616199633363121853817314648374500299478821739686430536976039522292679393366293813145460139654994908035063316405620017809872930144928225147106687798692113387700393930311940116504541021517679308888805865260360605125622479933265361454602558267645747953638769925317214290191617246785382009117668627054580684648043668989391821113750671006642134035853549361237621989946805305000597253683542095164437459653227068230292986719958900515591073989965714598959958970320037336751705437242377088406328067949563948404426892398343581839438504126986532161689498983676425297347027439241507094705880577984044426261684316637661551417364666867572535121639297412189717667208091504707922573430493525149171784736275960522097308177635664995846228407658531074904995002942642007175504100011132058285554573447532664932929969706767223879894624204493874423721236232434618124312150926540450833515643371253019290701660413534249076385827835228925538482944748117199904493306630693920003444578962219153066214948236637434896886150030540785499938934159287664168777842265393980325506582170478160767312548448010527949572325882738035333792249905679246712135883970150583485432771144295698878976749749757957152908829096432460687602158955060993333366211192145787989985097135619282842623270813240734243490598193135691967370874648009342000150643162059101837746296692790420896661356474852591640730681907351253830728064691460280711531531338975864629011989216640599153849168471741462913521878408518494576534107317123436889406056624668224114068715929779548811089301792889060864862004375129516727943265146569305886333311070777880791577470607151083934989383964867922797103896875485636936780747228424725233480768301870044088947799244871844165592537659066689137135874308931388784799534787090492795969900848405672263478756782655002375102230300099013985862398538558003527093980298678158941802320067141916390119050968096121930967748567735127928116784536372883969382185388091506374507905198851748433829189253725479858819591905274139455642133692408543144164398945066152144112179848422964146019147843713641657374384190808057354000081260178399791777077372555878227096531509033747033245246030111248938870703422314692454947397952810594684698176751458531086145694876875843775028844041356999969109181545211952664491779439693474202722539413856619182514951122039137636534603169623451703903576379317718055316105021245868324862030137305092724680880204800160797440520432107466583181751176789334274836219958364496472832001848285855301684822175352705983145126451618148684821976057449165129441652199720356017510799748537950725529440009024331059800940616176135562915505545166492096353098828170154650150200581857755624189775568005047795903716533517297305174365088746995022024698398235671068263160967473075616765619989018522620289673823172837167927514411011203654131699019060686669785940255761799662950355127229684959651248293724486347308903517763482749304199061169451079496592899423391141814173388568568877752288995233808203817456266384901554547745990622068651749451853478301255174962855860141514818441695982560351757079149509075866171282193125898473806609081309099319938675381142228714626775059365818031953867305947576070114354291024931403689298127164533328792826070671961380511588546522845149519779689652265883465122927106708594129454029272864322191788963766221470776906888472003223233271089051973706501124527773091681040971952334605591461840185105765291240261532213974670818584498914297928825628915984545972189910668427844464444148194024230803584146254071000681752732250000299811956080459841688746129782491525889050737261313497015568758173532896841136198643955720204605234982696887903468039566525750935816664823945942152020909447430486753254725848117320107040192590364079800594612022271674272443525954844902880158669919536636847023797553554783907959505009017247825652327074482617281628410791087311183647045289987774648078789014125927924196511714053989204476656416179850306991199103969309400086210233423887245690094707956812080205152917123859413940366926117061361999294292263050720331412466688983338869982664034865229644170013051307176398421425061124915548673017779418099756969921535062655821293712236796526115823783491213158997994316263474918449384848807415694391655774446255946793477785318515665665846451200776099358752508015324743732018557447838042630125625338968796118634355698906747303941913096690313015640481597401987734901184245844909455346575459541704256191258437647482872517270587357757017900937436511110704044196969414531752510147134774286855824148171132990154025535369611893867726185310195767310436938449106871767757274818631768132329606453118756080959444925402869530564439921876437533223768658017281229300561749086036855565251902965792150263431236001067330087461925367800056221645208794276069462457030381282663979946607756588707183643768967005232226752404936232078773826038898771472395806836984000863524632883115175828355466756310751803635341934634437760992101457050277076213041466566812915705806826184431691483797310040777130360391273679935092884165824316637406282321721739883967093849166750531958047848580979096147952147279209270611828015003661345705329419032605634745982733574282928790572561709179928360740065910654090457314351239946265151095506176726586927619476638167814105295210568932643358710724027219801075192536813040950323318046723309338030601862625822088089618640156299236928420770449907288354961302035491615311702267707831994469364458796594916855211419881071873063348321938299841455624867119361218497345085181507319184178460321433844778244339505698181175449170376481685553864086285976040410176690795911388497749670399078040638910804248099975566123952751410775210940583727458849017341528502079532711118567844957971569819646964069954343456968773804617228332627523130190828763927000621503011282378895302249123138652879446918298069458263603255964205297966138308195425566837629051716623388286641287950651352063743866540726610251783659313890776173206579921470008198691628455382883975699909508736517243969904517716041175431111888177669670824507497725001362592712534954557689550460952277526246206522953854618651722125526769317104806326491398715652363009599538765292894560353263790845491198059702628941822813018594459509528362653875889164681208640833319246599718858331840138724038299474620016556804458587063940399358412813300960308806771345223247892213866548436095890158334913744973252015633821400856043397995586759719965615359339451937188034720680862633861261841727648937833008394499591008605398925871406133058469723721769498281643493496058148697674598900143805421048023206439517574715702558338063073677924910035508473251534577838769230339116429455290817968173065924120025404458488391759873788194029161048441436939029529287941126668396391666032724641043578310642302079584157756410278716521099462423823308968972952330847294901006530529672492058229652425393191636341815097709341653813216851063459999444373447714657709357451511962287433231558563675371994696888898403257282037838298512823471126857009185978715310559389163066433243498979787211533621315621267407844917495666611824617266671127477146096910720587905248902877543324687463587132005852682591753011793921200931684649890026231485651940577112256613699360374077327771031140424682792820931831963673420193967310738124768455191408344787519421459793618723144212885693038230330056547877537162559483734267210230971734015336150233213401037200472951370705612699784036335178546981370187132863600174250858787814716358871885667159692524473100960755392059797019880459318032080767274494219051695027335551238930200681217547659134156129858750329404874656139014580918081413840930963394413848178456787503388161853303205274178673006717781114739277903056475853631652211768239462561933952375715041715158551617424822210113461721841627170607992803552789237031377843642448835307662449353003093512521201252427685696301919600299441916593203196943346513119955923157223593346185429533358356006012642480972180582520262625905921491963901615987349943729302776667840826370235637281978925821351063114051526838121235118945504212760985834334239397406969236659863750859659860488708020057963899606772649762945793803907422689651906813898585642357156837917784210685263718433454579693003356878636303017625582519085508243206775668045260767816770025380403129586323791165384875842535699990035444305137533221111312834742177880555891575880217055088097982266583341363999029198604809067858850985940424291580188432335144594637417621134636711991152491658539368149233205120974657894501825745298434016758118436988673169036465086419203791335182610533339714038437284489733480621722829543785120203144321586425245314470817228069801319753330296907075395774850895188904499996091400035904576413208044390430023128360751918559102529141413791144572099313761773091734867337440129117064895033528457165026381407887359768510681027043898513339559498458500371201325930472783470230720197467189438310964732849708568898997926420188256219948958826922118641287819176810474337251824598259913060451217071837472340913969027385233943393286860054594762471198590105446800342687009742733481687535823184786217243147189638403426450642175629840314409635569341723750069838491230633038394704001639406079842555050388679643667303439995841430011115151309280779705906647871974319931507644001621976664722776930974875116542991542196567661464151229804493348940690084802141247390322991843663624993166497977082923494709830117921370332739818825811704197763609696765747038194074313985835359506495127803052843958640718558523890224310946732211483687358122522525915390234727241950869521871810428819902512852803453580733567636208319184701428958861300826697817282681084762651154340968745324982931963807241078139160254042777992036879099084091687998197947502735669777938091540673739216152709358413346834928221123705017017793385298714827209468624316985531677843960309859736826989361222541570342177538114818098410436560276140724531255376072952274251097862634651961849558575201166531174499546237141716316842704231758024142817470869935288090574619803856446717726203170358112737840610827305285268025864746371977637676092220310416189553190789250564596024984428635573703322834449171403341292528736410522475405583974363119135959645759454346560953417421693270445125952359778093101450864086019155370903742727521228186598102431489772358706974534488855300481950571171735141984832349132484897891372641323711524316875368755417663095662574343672110306129037024014414419520664667510568607738745176238224816813037946499721530634186720499254843987910877599141677639554286070396844280272965867865481280083755574325473385417711181995075224488971921647003292260638791982876574052636097689199904133966230619622252193477434433198228519894638551329152519774926786629236725962192310736859827129575881862455408889283388543975592659697153550235145042928049103147623244382117154219553244180435842555656058025290345073541956378142310608414879480683998587794130340912409040653486733451831164385750156327053201101915009360987872753872252523105614185373464216111012405214850606470927087302438072110804687839419833702531164375663687245137259500461169376363706691256915903208638238296554782465157976762609535947720252452818354870303803865924935854946838340487085862567190419139057438289253518219363828525445141010162561626657279792648178628174667841760804650650995371863535202660279864269718881778862028404814806395075462655728296275346499828323963018912344778498444421865622230069475613274123360133684901263646541305970710487952396708607918842404933353630100033823786609299150260405346187665032232627151390571809948908459842141280692898069049725526645882506205871135975040251729838878488076053898930935062696084667780982039362991525844288366716716591079902259894288714125211987396418236994305673084169627883673005818453419488447820528418539197165067355192760746492532124803593358887326300436927788394175664473931446367147222689533915676086318906404517167039256158041158870249460806602064174164928912606062693248869364959420856983111574366725040262198250083208175934220916104100494922662652579041696408579398616232441575075589318931304106973456441453547600371473508535660595037590320373937509052883477883880264534364679405319808606780874089413840728534566675080765273145178462359782547238627179492047313389304187455043239267084749769915296315048185446275088738587104505890885954030916830183943658045168916538063284784173349276733863544387109950268391647181544109884645007217410841288690865271945231478656609094433776911037913051472158232376464218062233972789281889836197189452709871642090023397318755986763186903107794978394416316646239400780008210742194974776669667991309558800457132587564659005954199355654562772459665832347853703299653427649579490586534722628664663730264468623828839475149394604182881482920300453513101838904622081751520508244088634907190810172424737502869242277063763104707039256441902912938332298977581791625723424916819802386138191449154658921747683441929440351302913893756371655366830939902862814482946150373935084349939772084760228282488872799814825951411499232249185914433273541318889475174695147827598596506472065412178589316826678034916557943996675167063794449234171842403346942275406585689810288175644094132168385429491372966224167686849732334759798149521173290602566000426705057041184433796087256067728184743822890943317104354700429304942554991964498064301474680335988036702220481117286776964113937299951147381918528710268995510594751135381156590126560783992173641323448532135240186346208279577687479253457791023229480748407465183632066357613269726874618477007955292928202156456888069712537562807588094551913076021074756600793807813455210952850507908349446246929239540843419851038213488474886677001817714616605514000145488656551702872876748208021657801070160239539414370154578924376717028504053482683441397782127795461714292738435122336426965094044221683345782650876031194022975287751448391162959440773111057909594559719057734068566601037399266877934724547276048195277059797864202166086853633805148633033684993152517092203835713649613851476366049152300298927984279264061122817409251109688902543675659181390401900115787699816717757887752285636016123686604982457314530915072180666621932561530893631683229952326205505224157993633929118011287064315913631569106914342910895272302056403100954951876437127568720976602518117986615049424302700004406712364088141383544027021761932307263578759097592905705138799444934433879971948669712525155652901730709968505833895309325597452258517719844441214160825140573988402309017198024363513971118560332265034313718371260804354445901639720311493273100293367255539240841526633068475134921686675967863641927996486232903296622298140199196337717475889132445872424244934398120064829869582960881306115334169140919712797094745573715730404720218085910894131935431573047926335898149182495162651676584626060806378367401257090321262470872414575878089154091943373863313896169386768366711918413906387152205967186439896731718939440750404630668188608646235381007877640782403353207982552029226842228185540552933169412909161013128532236965424825745653632260911676193008471749248050295056284415026141987236359977850890918208503384687989427066876160715257432497046049109889673059963858573092235355527909271729644916915291788317578963171365189917375399305237544038225044385384874124104940368230971739322095611396667223030381876310647786532986841719307077797451634400140439028842009266914967354137619809342113474786882271961615965085706266751653215731951186115860883293472442860121079639275702511939941902503884756482298553958636028962839564586727680796065851058032661379326305369658278748286678148381059365019735014198205817648153575354776202144257848848132569393032071946317069717843150724200035153400192881520772796742134328489537802990657265886346257097350507875167653525072377065775956288491336524644707799526595793374118618342006625199859920846101207504785384454907197241607754244620905464979797126810340386678761834624092012415038556646402662298576478341182256778098168176419806629106951971225526219001854935476619303712309404908591946815156522910246245421118751964042640422284769006259739779780078117161666475492374774130629452448024466836542860506091013992816103508334913749789275390873207255434095840730004462398514527571147529557251352962260894326201068412468408740396398149494177181551719872716730428598671636062288685797863699418346778612223679214820154406746449616145698994854692504880709962968630741205052688745267719455083922537066897086682955884445795885915351046345903611711848321592646155618103195618581660278799782032911363250441893277713955242901398532201571635461105537289149220941355755271788168736952217444883586043530534499799068292641388917987732990221511975857486258596727279991917755857946411424640439670884101324168982529581624910883745264993382129866846937796156467850430655431192412700110593911865157082421535023830868948779283527597448697035306070738626145734209892618965253386061238511911080690652464333613985451970348741428998316523975732042061019171722719413594943885184334754290852291030353325069976324487202553115807794593505701790459724691367831174214149038480866712910633567057029386745988970420722794431301110102725484188051983596757834448877568070013210769391621272900901668443334698925012224050009129150737757637040969628757114272396358000769733341669411036308239189399412281769563024619522727953184167096273038514898209968275440181962131664629820129268075364419382894652975718174172366065490332423995741786111618686809284889573019889596542113910511339409401066785340780097616634279267385118368590713230693097140619780895506577705900245724647202523570282455125247975164403336385934858076314746885161996408473327802832661156307880262868660322130663859646860170846246996950027353114203184554884253905190065780048796599101246441567130676574014367671879954810927921108086532968270669840332783133109495353822000634992563970735110314172363400702311501285828703698248416378513745440303306644492428023794663143191940421778513120966928199438811164284133589800977533450774719512110777658530043294304880018196387845542814577852075559122831787806967005106989265319581038430872463166568582291167411491248988627085230289575616080936189487735919721957535425034081343698579011156833226532912514057986845532385334228837633216147643396227604570938383805352932527558469647582055271500963507504909353827318655619829683037356952248857670017414583837047360196271240405853283278765268452960747610189060770588799262983157220102715174615427789736910787769447373934992885027266629790884118843966055791484979333711538950771739736724653504684446377835188946778963762757715651282464204436083483743719304389301172708580711681123781707453027940231408919230618177225351046133963963784652218102552891976168599517120944128166600201309485634112250663776964390509331611181852358500024816530298441466196953332006488005768613463335151431200950509637122664649585949932589792011250207882404150765999632455089290793450469859345248124298308153275051687920615944890347719241202302885542755504579603021846370788192373082706864403589834939367562428634358819414678442483383801270597797740962732016146983183026714833080042519268592971398460946140964221834067398031472633320105308347091377403855954316255263279156280658798319361370837261112586729102222889347281067902255098641462713460386690247309970023211466419709059974246560718393547918136133615745632505289028814237141232877828095598347197055573735154972795373538985530299759719445969977479129017258844089443967520963036447912380298011521087299716414318436337401028493888011378827322819715361829915837250030632123773790312336133350526314333456039518304511333451938517948319650421021326404658064085341888491178049741557698724853392121637938878749718306795392483269842720004294399843369341455068015828913909156663266263837138212927943914147211621886935918176349053084811009374164748408386584826215437217037294714175014455881852181136771287148543685763927390346305907743039253008387216004939462121691909343868901801330667802851831483471530067031640207834695465204866662148202239275496906313614913337584324260500957347025575232710008696384540864265902086547015758222007823215546941266643062510537406592228367552331785219944791756976634309053209175888523396914054831090285019691381347782423395434290829335195173148404533742826347659304955378776129679147300822668126919483589374333459454966677744603769071941128502119219073008939127073815598241048473435231889298079856200308701233875637677615739696866791133572744646990445289590857406134077097527242222545466016748389445274756419921788871884025314204729901299002639598659084576238442511512583332768255299302776825966385260052078003416430739568466681518527765517637461012295607019384537774066764989827968134867489486016387069888004523725641457882314248106095394935179704878729960595362837857296471977587711816537079758931358495582806597038842440895910485406482600894813761887087675555375600532132506282105871058130699276516596946583973481504159597127065287196870634642920772254128172025781354966947279896272129875990067942552183756216519951659419686373836388461550121171663291995217587793321665230579367074560063996262648024460683576227658693066634332464397151795796069980792588794104301952970301362272321323098490930806598809317225288165965650958388692309093249865716214214519804424853242648984727194021771879469903350542935110949044483106375263887556069712505191018174400960251118417553989032018630535658307633035700965796887226796432413678361268584864265689813324119279630394631311456144503208778730728325691187311610188365681968111178995797752039206906648285570943141094475603911345476879365264317075690696847495743910953059104974561043857478496303203098649802991064100965125772829039672993080682983981145558277329741489143836989265339899182935700471575552832570999258441706685112634024845860585656461853504482987754488433316793858275497271390629359928236129803700091914130138245451331597343462085095839093847864134330351933149242977167585498246687751543985256336917056305250879860075694821857512491115908171289259388438589145673297504375978684422322110676623490639456388650634847892486411109095057420373230854176046149807739823268519395254888460713397274156747647044097221027234266390364325253014554741611467562890396849624568809126449355770043405565467283567732718503007555442582696752239761068909901886994346965159341557589475988501788330320882121249977994281277441670363271940895119754327205773623875993041005040409919177644214099794775382712891526928720905275293244747962140412445315665807053143228052274525361870450343186281073712399702495116012697448981386632209560178834743633489020980342817232141263344061050932968141632915870920795666240249138858455720054306867647104815718559989607151783907621479512184210263371190891352335377917673434789707806995387514955934034245853219646560615851992709392361087106766791310591312110102570002214741731682324715710837257067656931514260267305287360624192652391718478865690466379051119917237432590358664673363192436832784862616221314744108912580191518414906726600107190298345216776275253360748128166588238977835669748216823831759192424988994340397736686706666366179552861276621880594019349678208568770868288041370406560791313095671668937747446786371528595031957363609940923843616559581744383412800326203026836571963812922570600711710233753951885935527715974027087325070576769587556240708691292471437908446441986937945688764909987561297779521969215649105704223866201124634465872982429218864871155728892650806071380160552804198251666042416302135385619580703853944233028510324558722215130326254819677127802556985882603642584482504685088312991170738086022129064903468965592810920772827074569786545971169758898015026559116479592259180239512092045721326965989329203441261165792377277896020592945981704754272158720833439424705140651293984563181242023238357934710666174961628741791839676540754151724773690043442254543148995404461458182507193443413860797657956253736033306634377818398330640460151058089858823994688585728613367684877757235551777055170736648153823158986867213824230215346562744187269460693472368614644142805029135483107523386601834348193006226885256025355340914574185270781255563665733409606039865130737566933135137821305483499791224895543282089372233474286045819885060462375230423939099899087788458645112371779998144783585527367545477497579225925921827972101444788030492217381567542010232519220575754941849864598990609599973766492216347203260573301287863551264754624605113067890685409416387903631837949119680000891768046790746835857590744269220177359346927810802118653758863903272694647924550898980485929181713789072671757317920405798385361491769581188380032163473490277437547149577884162738419094879878743471816342113771305464116214658056799375705778350795491512139947741799070316886481377994975323059770796878048650229030927446496758303420948588652929714089189638411165757257632115419029629840213430250314666680986942191965871940874423653764539247005873725363629285509689128047555778499171280130136505068731580465579937978077204976319636527055144996664540146199504735172577309456813825557770205253758166243329470742742784287458164271433327345338299140242945480663761703025835931282910232738597508692354029213334419929892219613328355814899920043261772438729405023777614207000293518649388987256987228113626388120401008551043960556181395349483874905998201370096580291840171641439955097608896004802782421872585436298983176349288761734010351571180248337665078915593314254197957905956685498982835999787721300524834102280858716069479121873228937556747807941211374235106572060264496972942719587179415104381087491666776814963243890283340667708441401744425783186133273629151650281813572715821156183312300558554419477846489618146625344518263353993090980313869579034995001736770912978556831330672050655417682006255838562968278202109099758874543388633986342605198030085330840069203099952261398395116179509721348392758466216126096870515911299249509118623014714275971730999034310745825153824108454033401182611761949527354787818072403862321302932811376409242907988829587641948204925199908554060244732332803469781881439799146432662054007395164611211390377442283264610868937942046997620810273620859035266101706460873053876802368135396753021852633430587808597468929903959553754302758822518912900416058590169521047204763509892260792114788752556010371768481386729350822428687101900262036786701751699850767418486530475297468877042128369170195123043370219730932179724692166961689368068049413427311397650873194822859202632494224034052608921440334238730520524440570475897403350839857046499385450992916200015797318422357810178195450006161395808318124413560879205605140949094804272143216103375940277302350097804072719824529411112707017238666510840235952746014599237408507752382939020708359374029317647542330093700808072745402214934551964407394862133450504498018619414982819978610896349101013110232244800142221657704456175986928004260582075621611529804037333775533220108477645713345681189904884898490408386791859553363243755668054459537432717272595069657017908387278804755839142477454921261090977174974830796485543050287266367923482485602077153604229364823712319866656227730895773417784602346559265497083570436539736237697486707883032648635958400269671051407189142616120608811100690881324629105031824020923790250178834438790625814737332414810348718053861701676861903524348908558130992793506559377961708130774735622892590084380248361336347140126447056696210277074124396477975131129994174703165171372993082565952088209605138630412780677457295092183966454229072051743677491004260518617960747187037940897506901383233250056271144703789854338864380181740708642160440302744553612308631605706848233927741509583634757374263246866168000984511595432568621746960216079693542983243405413557315549451280568226276389080652292078604324084912912733780555639818808427416119027005113088937186034921482883809448937187084088801282303820013536709582649541800738020055254033394654570964919303168264195387423730054184547741967458992244257441566627526030238988292183359926856872607882874196687309301895483792870457225953960640584672655690645113142142979358434294180082953148956561944682386874515411817848280684309733976507579356113509686780911677691305086273101361073076501646736989884393750019965939498544032478410646236507568953043905685861374019493723457603319397218525948312912691015609724555648336128750244757589531450342814153307567766367827386950372178740805600061319244394269418542241832881367350540740849631599739250777243857809585708225527525195306984951608146592183268621765644837363864424753459391054681983602188699737426366277740374862699889220148052350168746601078772617488688805683403556082611206095035252705431256043148367823065654681061306681105098477005974649072193234587627298336323336339569772654916993070240529613044591891400000013224125464043272049195517354394816184757310681133734483825777452981276066613131729206786185054884361556736617141599486927857840257666262427150312533141730077516110067900136825554491944308522672715090035965561263116520649939112467421735306666357278224811325327293827299441608786374862086403880975188641356727282562555268780403122543831134021871007386952612694263867123786477829584575660833435182990313290832115622192013142617024895134456376262827844113086135827994978234424008560098345916407485628314382331921602983849180388567936820531552763830026959772139404079923955499132197432280180054645574083872931530062813494722572763530403688378661197379199976474123068870862424604146665494557943293301058049189852182671307202043073789363626534373274107166791542937039043079326697740464060298246785542466459500705767739345198289804431299313861409701735350074931411075431961579453442581929436241925745615274392254400962495627777015157082991465711510801188248531655227403116331407978191667158513369830275550677734300226861859851629483477489394796183405393525608959896086422260475719830452282537897067035662545423520512194817492622391189915215776042882276264954096656044556038281471491251059030974136874019968965794536844654600474082118750090694970074627815662659701876469960734586924649679955199150845163770119154346107647394733003482594527593546465552290303982849018356313097936611920549769269582202883423249760540040988393833088642559968310342738610207579972187350933209476814231479937412559913965793424448214725761302196734736175493387354259403649819846782229738687509914431037443140083466237777867689883731763489134550836645522618382518594021258140819011059092499137444372745023103889035664864762040002426529189301568812175319376259399407860681101271043716591117127588955995367006156855006522492952409860538624126507354018356635011381187629391178079694683802102136059451201470095078301037962701906484401047480154836735183827214137568845463849706509155779343351321619200154119906859171507560825943626559042736851758036315660755358887772721330287687122914245481259193810693366856287391751723264137333005495949031046000848501399399215566696579091399806518320605785837925307860977147390670382006820330901956074400067738714946290845046085971459556560373516177549025318418827412555722275069003305025040914186883256159384264292264478543565723307208838615526581022100436533688854171385441273778949129124723544336738803321209889202311757619975849193679987500179302666058013824015836098375040509956707951223142841946683919631297141852930712398721894184499115848126601505833356930083657160124175171686467398980650444809117648508620083839713814024385312694062781304483676371215303512775911348387776448972688877053992098660973243248416185099959321382560776739324961286779238575792578252198410722370958139571393621896624961623253597554564761793674432641930837957458603362933295133613484906903744876496098820882166240332991272091544171096947034656501184307967136236110660179348643161725735976625826817899325646399798111906484023352591480981241133759529888160993046433520763890066700246755737997602378301005780532227761735904591720353279480583484475538390379693962927802363189042413561274099430211266881792924887512802086498266136130213077872122080887927958441870752651447238882976789834824864026674528968769705418557300942291050699558463754229496125905372831043194200611779645697438565180684367292673038438836698416141865789008671492694479792741713511636436120179837237386670321530214216779632089006257370333193712221707698572628921640451431796652187612637601034297596918768603299291916802582164415561117374565931965055145059815550576466225634877931834466788061210122977619931067710338770876132554106972885826366160729399200756269533805824809551782512834065202000235552848064791357554794801485116084981132048019282593393662208500129619914365360085939900017556370556575365783309071393103961153797854371046958824969384076497392486097056362284353266973737385383734177967667842185991281367977766489928106216008860715375206312810752861122822982888335215353570497278672728790235834340887614781627958117139842698876998638217951358199391853184514103289892490846009359197291831275292876481149874680925645217597359914299332072104595232164527031937327682588217864507930263128514811035348981956627511569835951921977453843478105748584918464150750441949628659697995719956708535747104079077198044900697915004719150934621361367713448603550939400423002839453969628241349814471483441100658312827072760587884555411320222195656655124217685751293867389878239983448092290768848258338478339015725686077488220653320789516497543761714610874324504733413286803952164516408279375582677310316964223881406770909543003898969948740143640488996156178164301438724389160809965849771261300015263725570353295658525310981387289516336276709813078207123220236887106238467297853314020988233626365166469147514293659947081721107668714149955146808581414378184213199990282888950331762924136525647971232005734443972167638218865914965891579921839392938612815324746009668301055591005172686164467163201898267290288546245265650027192426793772983172451206847435563926625586809556459626803882104107745669808223129300389452295721030936653647607063610319244350068978066847597358711930196735377134415368290578570971864513403122867475447932531991206567733776007921030101428400444368732990775488749990377606944546083876755046247868385143718763555728041271342659440976140092271992210002320524387800155404975505906482349253809335967137822407983034687059569790482756245909595063081470620223372367274931420368532265379542562580783780667405539064633994194969817332460752083996696253969914795302632891496709129325610440552531039247028693372605866450914483523822264449768483467923819331811173712734736000638449624047145176272975907981692941226725794564755108292870393271271007146736978499566354191957755574553999314075833160801634731260788890205227314721751517700955021560141625157775448833751780054286678622386959843079866347888215653432803679377589637043148533528721080849910848296401289743059354515712381480464882374909539794018161196524897810121448227868015730181697398369456205337883718639985857925747506733197343247296139190220436287976248543592554152350132082481905430587200873003721391633668959662738766990334206572919609392004958039992957351657628332842164849979063364000460416886515343876568243545381445824513999640970330553095560398301784717141278977433362472229670262071312375256298994441516616043522565253296850550577383944403177299057259360485409414687954495379744452011974964827412248373928575507905972685670646545113799882199187730373209969205891258942813790210231968558697708800790272454329087654758663394191449000076856417458531317037180948862578668727470359596878890475541852276345850204010611796875009728018134927269158060058426473939759309831994123377096743719937731835509937003541234236345428504824983034793380932589413561327193551921719774433191434004441547749909610528396143674901597281201563404471402809296168418270196159704724935763678316753341987799163995247601658552685383364282424981391161595245072188960996933322319702471073383477404157806404634291047668978577321712107889394651838801683030541542079608250682538814530277030861492448095161301363081965690314153958755383870865069369616740996860318084799226259932807428505848854964469763465493977096826889955130825038018577782534670174065307031692982370466884467505956308872049382309499928251475157958795492288347740253922446540325160461551482783169659030412207928490900791241804673634615117021280857485604947349512379551058935455647797453545046225613509593920623008980595816236405384128469100668098296293534777446487082764472492818730519182623136005063147465037938063086885794267410901899694852967567352452886628204085342531931569550687009165508266963516912716300466671700213804910663767623715274739288660625857693311937547022656130984672494259385902300988354891150927275346527836669008187423760407702032738413900363248927683310122613191778025505986138959972636070632334434211081799833486211809574344587073460317816416864793820555997696673232948124195073243287437740053970263047080023571552616927881914361079752763962194192864800186781196813443421895585735001236632112764457779961209699710936527681474925641281409712394823257258767534635191679288577526701988350145912858017923863467496367161185968582457119153770394286496529946528345550164187340558191885039243857136701608241439926474592365092549896722644664073384587161129383081467247822563321863704062385494873394120019076771552198832724115793027158221625332498857380852908994545880909381781783924691305546457671709658195399156866430439257183327848262992532870506247712398385672334074967249352970803486791661197801465696090566293038178911031990993853030980007855500249127370653620565760258986779131415735706097449800823033070650255266292766868307935649462867965822141880079182150223787491076146077470689878223581246206962949461545734035899432213542263238870355850089994839128866054482674396809333165177302144874118771261071019303158702551128063462046160828562626037898180421086128619693193601618976978267868783829683319719674412830284438701927205094851770847783435012225075234071638222069846291784065746601199827230486349376623137665317933803216568231395261769683712649332641991741548035236806992518514006967510762570922724378675983142072176333649035760795880219695465717944351468682564415593169787344676981607539183461692769415118877657321363609810793978303451415081584986674644835457387653008212858627471733764712376474748131209589063032417661205488576631165289278364655211855351603528594657566657057731441185208464761999455727815670211578463594417485678955384440453029481445904776308329578018394072274202421465192656742584736144774953025589384678188180430640226778900048538717847155450610908828977491206712793184911620897069794477013371082020569815583883232402790452980417636148243185115549451677653668491774202913817637688878146466776550248532123378425375325267268793374903522868654271014364805005530651962791645116450828834560819930140326871179956185221671312739716129756944798413825576371735692796205123161485999680598170196470001497998698437938509160799348633817752090932954919805482545398040472694140392676120305388678440103133003971347847267931454432890844468832473711150726922717819258618558099875295497328592973060624702527458223124595345705698075078081624830117703470373725873680964770508498325134767905088351987547460464901279211073406913372485524960554294787649217350780650340347754138388291490342565765176583257923285307321348430059370149685615714357547301055146377462821449110454042303303334957698163545549217823978114105481911310642083034511460835830455459339189869815808867225027836183804975335884917104446896752281303534271409017051783633597927228336157994386094069176025595046042782407749412100382118532688732013910348151048477104474312248147470732224353873649554360671962152211033274616931973574736337219635516179463477248258652144018494692753476704408000637175598947787911405271088591906760027303019090147454971988492699689729872467601395305926130184020366043687451183483483000891301078222149527815674153035791240652671647506389315955975020047125767576316779302981657470853604579643502460248160802280477991637711518315584090144572766761142086075924230861081630419700605660533220990196539153843849351853299812751830077078159596037906173712106105319602145690328727120196201024466916851662670748769622780664506045802682076518412540371803696603649448018468985732696452652258602416268161479555951002823135164349207743351461797001106756359867889444316395531241714723162106646401309455868365867820281469140576673921210605836997602191147570089007292872655248102534995636324977912145633014545402863663713934470427444307209736695846793511942273321312964990546821862772436662517781563478747287180937505624498411853448213835288434787097713541289578638772966904873067169531885304640185246774656009669273195255384497920547796462872071338591685066344443949954800398282450229811623740224828729674933844931432195363306337643925062974917628618973860091886758519833438049453568088006872786558351701242875150460243926175446474917452054509954667173514410035453178087773150945595264165381654713625773062317251022270918412217426553655921239434516744334233065434880027203302770250885360941469247113155874897480882702400645947410324625188410807490112667538479875701990258985170547621659593271358376695796041721718812611060533465921927282428581272415852273657358229155357301117010325759707568678481228748651182787244026837417583457229484550972439470901623293891308841111853501525932670070737971337476526119312211016388174965033032778244579733690773636167827729525677639382299735627717384084964657924711234525186549533787865844520580719595650021855056760094623540404486532190525077518551906449774174257707293347858738993003332766446307083919101053163389399078702194382894419308114147515375070264953101120772765721619290638848627751521178233257509455283193308568746584034064578568228848104580919238258611673832225759261803141731674510021587811546320241352596414072028800966760042236660376173412811833961612850434290234076202497695969915669843462898754909182768817273914816823677971417046349983990837231192937488917908980201846835890246308858843226612278526696165268147975268787479037574468606184950256134436887224558300949701233060183942772495516986869332998133483531320046682289892673373771508921138770033643457978429482629669477842660251959418707036750985052028920917204692489614800069399850503792671154300868951956742842600945635649100803229658697056611009109603034420300610375724101889032062522814400124162456829423633741434289320255990418888828693775898548158540595966832414136727807712686023707542642554872601233999982804624056207805564751616108379060048461986760118753992213135728045628005649920293706014899816162302764844630715910439645092066475770062464559021216975009203363016959190315243693741656394308993034905269265210548961190491939694769614610132976839366322301097210474982902408957568185728747769234520528812189460085923131486453058609922558170623712165347072196405506015684560314199176678606624278652881596307546733164605597716668864283094274017743846276138361933528492998801398144390924543178644118173830076926372978800347639907981643673031484887770646625886072891262565152372039060593212262048889291705060681523788961050492244263233720539728139871012960467893928283090726767030841894917759950456627898027026507774829925181877682672995005481897033517694719702595621084638362300418164353547229039982590332612314387707832211408286507853865827915621818417512315215494698776254977424780940763814511079912609613860708828788592844177391391319947683130881716790326142248834847438268940211650660246817028844739333176120270589322354191075127668429075805195406249305045964879190347746639403771202178520567321890852092853890472408311705256831726894705021420356882466740772282066411980982187440567927926953652494121709110607135261002300500038587950716492590324043062172966338986408904560327910267909616979211831578619866802491058401002849455417434927295360862865553740364086031098684056431660467391065601827421606153035892494333865245168891386205656414776055998533171398703855907049738441693060404157167543365785019425047004872672947420782481074323444224411073788498575553721254339433157279737499574683408490452002806248889090732136057534659406917782811191050094204033955651100186883017374515603633567936829670309175942983639960587285612863455928420324671536428500341059215602497485449248926970556215002923871291970809609284250858169577471583793376212319230749516761534053692478448993772402643949024490713712147764228193477331955973299183907760000872678090294149221836073694648436656541646337801304741367280444367209668966985379443682317737016722092266520012939839646561517411859495868936153616653752265142406727293789463440584819433445484174272244155192387205642229445459153417749947739181319028861050853453108226456142863227538262868757085873213424091810274067471580687552357180343350558448834388816566076407709396628721772849725105390788475682297422839210529980239755073825019071692151195431169104140100681340536040139534705889290775794891902010658603504472887341671274046213855274282907386354615122619809968113085651787814819100123647440960170278976248525445748253499295546480868059474633278980461030695391720583820156622792455323736367944983917991417429560536531808099445952566578546985737332435948111828983422163487130193289531922224780930365456285607980198141881382523684312201193566591040808497042638105195381108555721760359352719162491342401417927662101786911408328636610402416157148661955094665557657685911007345149834865490245143501742840159788464189783483913174755620275177319436519034402672101802627051664723697403829371114682290514270367575263479335066099734324363003467305312803085833316811452323541725911811075585594338725519136570787675692179835021662701479200535341868684264003746202171986855998883935380432670800799174331841323228765525236411577027430122808867406610845842396206383620036044175907936491442759613686546335810864885212820196205139246677349605813884380410367250369165048113653677882834411465631376975897386311757603216253608521476789208080383313697244803839504094264984208741091880513260082295372913032481805037107384632409837871855370670827578346477588259724574056672995457725730352166981773091075594465363131144401818306778188943378086657618930411435370151388520501924328775415806159771162814078199666247370997906052689417480039567196074239988059622051240564365384106780269201912837322079938841936773057591014615185142475689738562482101648341543954542262288587029130142334484256858628709996910919899957230238773019112643776231579896765552933452886387320845092676592453534881768497293254034061664898404902075764099062861481371121944487597441132608574288628509746615229350883280341530407314071464681776041094222706690491492852548233607890160078978507589889593996179530110182186238005160189136959052092989823565530449294267282952357434245814461830992342526812919028778874168549507599110877748305269221550850255081705970999005906429195184356784100270880227916062937034588179327361787047463024797477313259945043692218527573617387747930651235369240614627482706262277962160342627199859980450487815895709172493130200067793734762449191556074367116116117569967120350284708271187697055184046099826098516876248229312415026551369035761379751309136019473722733555771674758354858163908179620301574445992825185717705913536821177355795726464299948749006430177845517161799501204532802146775194499204852139611259776854577058437074582594492627921195208976186813173685710454084997883301805939518479513555723395452719642555384416307801052233533328460541792730103451156253755828588888840580403045658586940852986112229602305602455867402805302701460166022467236484747404405080164110923951871687007374108139452056592131809147955573304570275927806248312189672285164122927013201652854255329234493017522697696202128450551928794334356482578068226520525667169835519120616560631167696750888793593695120884058776772519072096012872442530853472962576408145385120843747684144963909619198741588549069171765662572944103377024902668980475371719591276638556645610555230465805075731737318942084905238060142252972884755249214893534146423552755362616734890742869108927560053390678508450140058709211203232271822560564512204464667708782701270342873496489708720906862739325005300334956058325092168786437588950979823895976962335449670088730795577632428028963688825529158718306756030017189515270477939204770875862080158948740921629066403622139889154187278535530524258942970475270172929466152971393725329981972741709871241588897106430740198032943178450938227059503131465447157533525347133201336622884051576241184108432352708184788210418109785308983894998193811452277619302501699669668643371477891696148524572822216297045627101043172333045365655596379010928795742039275043182406735187274091145889935798017260159244486975162656362843522357008919728696168099303152528584481502101549948452541140108468956395412926655532862980697058964200586657095657017044808507967174594061681919808647876053633953125636627699845876712239719480268407107367978979575203172886870560410303620244099852337665750487476959203294153453893292900721985496188299407426516174484551683943568477608463050821300856068820647407704984083138087182334178962671760937643258315091671981939793601952233443700830668850683380680216285918500906753985152596657697516071377138335243425422888869956564440197475629438130694237680900769036904822806021818394388573352942080529692770011164908745040357404323694766570880792582518898682198428609352288868786660546600842648415274711795412826054085500229629752178870940625189457831501214080454794022712708158214293593537408898231512319628618450745691333804265658408418481696518289635906979219943452412179223567189902824304220401291934722726248645042097031577807987333345139848517415257481134452206208730466467644939196765886853932196041939435667538687743468284117284060897452674899222805905519833136284046680162330530889503435314908946345035824591453368391099920323857109705373225408505519093058302360873304065066291905096113433783633869448919946240302037456577936941932633470008093232287103852297041871150024400002511907537373362233851239410864349324895809834328751144592268886281608981105733764702020461471476445299048954544556768190280522479178685308817379257160954405575711147529439664104645568524857579896603100873537211794282481526507515590369675661989949747326552072040292129765596486780230193182576634590654230456314593617686387226931924310872078241872861344641126732645452119729223062339182490377721572828012770883414265555245272902202386038420375533939155863489300334726837738448927141074596678238460921824582269106554236318104997291940024815525099417426093210138127621345279074637715131304271021816878833042721897483708542914830113628754934131110010265887934625226163657342124425438519083636112287660302594705227349734780085653302685690143852027277873744690664344725859640334109889235011400270184273976513687187375150101801105555835466703745282230227595396449463398402094817162051058684331369528048162862760287076910368323848167377754939671058127160626511132065939282594300970409922786151892006769306730059964734321354069061838624470546107443892613115103348942045966703206403677884571008785816198537973134085582784688602869623303707156212530348457605793898491700818528674207967234140824410868276300320517974312404124294000968702869091975447672725338943742977058172411631406061265473413794796596764045627528295341448808720067203889280074547237038210544443130852479322872893321608869699313766745534230699111386907695179433678781736734273779974101807351376780485274595644668452748594975406458954911491230718587910345303050526522933635482708893640925910893646596800564446476380349367537384561736041572821022157413600851862805071546958583628312758301338308046721540119507906828859607343773084914961592406016387516842928789641657284669094639419563773717465902128028991308026130058121131935467599796576501791210419065581172991554159562915918092195258760260524035546415736108873596928394325779115222619950525270876952595882008986571542819555395586483931798351053378000061098206459725859167158490538709597506773876371125572613114920034767604244752245296133028461393164859173996120617912276919788258683873679934072827892082063785548277789662347205914283532391570631299548736485272137031853645523586888695989983637854031339522155120235692817284020064575185842658365688896913230276374829928807126479872995540095353302940573207128909311482273131149833142519063682092416917608037116941711717155418478441241785785888343032161390353577670842550617555682923134627882205612453107653830495559029001352399078552983164004678375445348302851777255870295899447089585092765514597056838796414968894660691662492933488310628502077267908750640372575401866054447253652420577079443682274980969163133776043011902981761878684982690878919441836179848995860136836804059434570233927757280382286792561301751105682067146112256148428190692896173760551115338600916980643733594640379927235233622972910565268254065238727105252435613895614769577898007237306422806962196067246454764454443563778286086233951614284558216542100248247350621640767742748983991250023152921968968132835980831757481112416660428736628165631598054858161749311354118979777481014393571712465631422135942320239535549533646630455837047391958281065441993978840829601288548396902516392947384550520463604827458494935530161212362521009459517831904463392436562734812601128311506520436538050666485117869910030647590802102455176550271307833407978206342507272818223529836976397590117296544734009282769361415184206295714994845439362179442211144612695069887792193170265570357575486882007849481991339034648805623246646047308488930089521293017239629089416481968312795709844621089489393457223866316844853372646509251163342451555624201415315360451805970533440015163095927387159268356070724706183582954646666212805460907142123950030579373832787196329585332548130007726240045814080937300427862311639746890304367425534958634882747952729530104343495883947526236943602427427312681486179930497778172973642403676702848873081333162699408529011304593955481399892092725281387048690596761538921856917316584805126836874038588981404622249260644935518938151705660677601151209562012509452952862897194487913481069324705799949711992959503149541102185425510415721289908257313112523580804031167825797364993955294305155215264013791728964023673100524721796895128093349935783235524587598357951279249612300665366792579420496590214826297613173217712025439697390348986359870234178548666901319768069974097726118070521881093362923944626391116283730415752439074362194863161699359697401646514347115311688414573980963560262319632535327085181048553132070401600527637370007990061561024470782739404178044185997725897657751171846409557053316199188292676872216311624965670792950609273064368420394498188648202353727157240006030502461783162501973871714093341215683473078124577823073487558692079146771485817562140507677595215326998978233035041316917075567011596732644016512525931914909441519582394497571166614338987719878208679251591144573925623164794984828403677154077224795659862919797795258273851535334181413213781450638540124353731515593960164849648241177473809164899447725977070761692817400941433750391813559958208905437039350762765941943204529665160099131380458088824488605130981082402007496080270550153426977134636297971290918649794983287594798433516546051829085820880443191842105893519760413895381179691422419197935217846624817564807935513237968310835002763956742704370452293321426870647961346592592858207633117572916390136811224775631572626377013145429941707204259813122059321273244130538009615474174915987482483147947425928487299810370491728467706669225808369667934694211517571703098864505919550560524573064303746112191329705634721226834055933169666293635707922861698126769407383344317307391505168337706146663098868451415782203186203388056629559587118307717980371870181297647270982535830778574032262516951467109702953260621481095980333700390332690323765669942836566311777350399229168229817053441756778007737081210352195881239125751850401475211018927901289217859945947260187584852083657578700038307676512184172522780325891584317941227886673625550241120258773437927222553222505513914440264284075700306762192644996659816924829183909910856647687172261579841212785666370751328657560179638706227823114790678872752646885264584276658078379490138362213651839708035514065186550054108682572665045896391151775736146965995323559022412500491862154686466976737625135597092050647474375184841745013050130949873773240809750274938147763464656435554663726931105721708478371769167541847370617693516075929460536369199036371432955836849981141855736438256294441609948406685747554885455495342863269229910543000955211425051874021566943021592243954545183728362233546887793269333892893116614045498115017418766004024963990150251511594495611022019770187891900549610255888203357687587321548105294550735684277057282980126822700183258187031165648787228603161800300638742681313746831240092379011165114317801255201639021012569189333413541583842628751606173554683555252563129098121832112699711407630025230352817485210082107376808084910446751429636657155181194708249464982453566801787734311740225484156915054851661089120750404066484087259352661369563840883379757750383102318268704324476539969221543609444985103142510422577118140175762342014522428371651035481259640223447683708990646544159260920785468523056646163172561584408940601572086414318551721840389271200055462331999126131932038705591064135512501985162704905767448148414630825192096501351645262367808372394790237451908754957385339366798326542751270837080201145463579094339284490599422345388632010092759189373028139650380890560859467604114222660942640410259656572955539059749751757419492766550025547430355532315385918351671970361271781992797950243065729255916694816758879708268884785449260037929107541179430172212453268520153174954254161158774269063512954223249003133281962548024220563098245541092970733482282723978675728451610582518292975342191574582432198420425858175759724226048866334354579721842483867406018215124330759275487195323426085696312368321065687537251067520698105031728734931169130843151662592352930082549741323845235278470698823547082098236919332753349842977281067335307793843370887737639857866687714667822187973912565191743485287773779733069340974912277601723823515138931091638043767567464621345636377822123634210651693017574758237517924998808789413105354968406109047239944909656232381651994233339244456921224623612355452739802494024181104941435175011910833540678391097329082664705923788569485538305054111234834431801894564509841575431458469266768057118112004072883103155934561977437933419372047837573922873983772398422852824881305728320061242938672381748033744882068422731831335976523689354492526363518183778118316946769741492578990472213264189311498957517761404016818820408524209352591468720533013235357778488639968002355461725830279851619525741458347300303471850945262912156656253641591186969409957127565527480481272098365795005494841402247587148077903083914930344721504940514167827793550266474612163998318971460579772775306120001384900885963872673891515580848227216694893141421028831889195777591724648609354349369407719880524023687958141214136754448129596814507177565396461091445888224931942805049071935151894529842850759094829155767951230674351831304831476272363833389000458117762376071483621984932309550008507887629950306387771472179464495604943869527857446834308814217557804104114759769015987224740383694974565293938640757065897581241580693629113347319953789584049416544921149896999030459456446474384140812208057678830981135169280313852126494547280403473824768598740612815357913079139175071450662342121678922261666088535908967645118732065515264364242673744933350744734240878730609992299941803785636394677139675337421187447975900532841507356360956853925822071207100020601921158044635403231353737702530295152662554108717531170002742957165553216072734955117982647078232868755238759864468699877557277164502073154450915657089234377322783181471773578326515700977670989315692161596655645565062303662396590884812653337409993696049927647863167304002755681312629598005816607914027047811420561061839347275775486522369067960360270581954287327924002046600265591228003040057622888660418030497276664536633404265428342334240305818485792678306755669101900276295846753419865916790290314643356526347445092858074556153791823841350269191024744353523586373999426946432555437875298964066780528567141973828309350055466474967756956038364637720651248107166385852402129050393382108054865837925052461940730347240625347939135995877398720378044799203242819053714923791406996327221904962625544866323849724469547489480733930295753617010097397555369185418030527590605753955419326071295531270730465073504098505721260470837250123022746472226863359425814504448111299622917979974769215403109214890377088477497826440279734951158418316974706596223880642077757634564293618893766868951517317378979788268796306195577107539784454534990141875123502069237944544373491644325718597707661805538787574165905337964313534173188684479728890843851317405786361587223655449420020103135755745114791425971349905394415452553825884798481195210766012418645304101219970051990453443527610648832990888211804981647443634748083125286648076441794131788392277327328687370452822211869842146863579475814393638163251962262477822550378851927897658693517841907733491339563922214270744806373362248833307534465959902532878625167290588268495972912243678052452134538210101530059684056475267944831483566197601296621459662368578060605304254463820566316140658830619992110119036065137455883086940969352547740012290580411077708658383918187429205596358241263757286238839233223602350400664216511691396084002656111510254406168940093342561015757777183524119601328449813638086321237766839538246659032199193595671368577478408476533341897811992449719498616380415541206125150659173984453477733279113026443958904591512975781888615179198655281315617285138276017121474209078251376140491056599233513792600458699840340674961346864675691444879892243464116947207581888301842010256807020805940507639323504917262582476627355759467917621327663361811982704527746864235971702563076172074337517799127034539710999816924290791824114064895141788884635809874242991390474273385648782912986582655660289691327666434205098773781581764905085916217086724861627939246693413426008877462313880685528411931466659479160297275939033103448531251393725199022311775513725855981163730286589404301350993675456829489423312755311634915567884637741312102726828785802265180867037497544767334644980110384410766630125285393722097498747747040515389022005814845795579854386529229870751259434546951937139376474570296368926497162504556235687688667322128941730809612836646546054564480409308191735745058842415962687150390384713765092432171170354818908683300794343888227786465838771392130448031051600803174364156950703773703999081051661255645516791930844583675054350279492936694073313082282108400471035555627027536652569457815252031973576066106604951521621603947604375187619264029197776048895136635494916599252523959024675378862043800672026318652380288066868722981590309308549386430823229087440464040386421441130830412016127465458517788874081663776176726005795192529122121577114776086978070587827684080586393470885689813805560692224707881257169717496764024789612951381839065158624380123526655368579609242096408488519140125309317113280557218793316467004607137982990374039259481545754604814671316933039608311444781296828396878251988653492892623128506273911774834184290933059830001737348913788984200747699616543825714681292012503470526405039545305240312838644795642866571569362847274509649077964723596885720375104841950251490498636811418001694523235400511968327819938623128003783515847461486794912258801992406378875941459943123634678164945740702625343227259559369156354339968860487612506597103699236726089765275705378621601768734575787520496017687934107797973485841697505495140532119688584653393168304607658282474833798675694970208116316560387928001742076416639741161554732640089818617788362696351019882877782374687164618152364506620308329016533084771098585035347795533589638120747437436950440440444364980839569680164653241240502020562390882692297047087843713248870438129680171144262184766021592454667025516160035166145795177869404156573668899516766485803964765366088069132672415993813394098575621242260247648975435296939709474944656898061070442521469460944166817741767095969020295404752553218781802007451775147138323090116048273386754298909458352002863307157844429429057469388280440728967080206529135547120821984695453211266999225967371814216949482137112016521896801495500663547220913746600803517374457026068469859113155138485368947129773747691859973730957379563901659932478011975970818432436508548047241997899239510708183567425394735157879255286593709952829823578806541637264165324740542686471188271899237318435857046850350052364397072872497052516571821359044667320837745409126545613664386520094153321070971001620863072706341111964792778031022251506463176825890405095626414721339057043669755791961231830126635299661417151293967024254930475842486170263165052485357602388738892243223813127900288497872126242612377984289112744488909988571975364880195016623033880205175518428806105313029474382543567295637445309964182209564225573820965132793787395433557926725932424564167713954794815190165815266679639514202446263731371953679952904037534949951860824663229798426252271016717159070730072235738305524254793888943055861734282074799100715150961211857980772760398682707780382790469843359644281962060375518807792956519618946009039947190878610245768040000174177030995479655016234354477842279420993116599206443447505213806320372878027489950532592603200216005894182733346776214161428789681780203472597392987421720318935619207504830276475718784042121623027606831434887054902536567300110253207325580579405486735642910915446902905422776378232501099229953144579001369271008875592948841413395141203305179608364473671669819753943372159783956736563520657371555989557783356892053515907167657025585775108449926585238926763521167988909952000137085623669602375560530229253677694260906831809814646900537428970286199087173991996959764809196060962960171983977113123941008635957749389497756021798622477030938754172350547179333824426966395700395563888000197022590320237505699059456283381013211918634809350142114302661085748227319976389126888637732514054803586977704585230915190744660836794547360692026241880862306957290361174522372111815330591380948073350591935713001360146777712584483438157353524187962545882127580834052458220886271428858218698951892910264332312946695011622190181443448374434550463904586216278432144496742541608317082429062656407035056783769360262553997132912452478228044584112548991047429004711521273372520699286976600050907191631049528883926320294200202175492873518339614963395234005719393107443721499061949356021535340068532244941935114163628388261610248145632898309174125975127570177474156660545463827500689793776002320090648420514626815512131072267760705361143225018449336993603585971874627131234172064801944464815854513790410097778572403548639707765121016505418764849932880694465441688612655161592873497585605664633071797263249946401879443942670279956203027177052822177393121984193314398901216785456506699420821247663491415110497325742843045896250200191980445166758069568723621517412354224519167270507895074835797946207423087294758159441532304646936624901349018101859780233525658844823708529573694916038700396667857022027772582326520847132430088618694461099037002824475726732505100373205486902208003009304415954396157071687194646801280663001681421106424289034484166196684652008909746963223463565498561473173125508750528201593938076929873531329289391217774723928651935629729810244972444531936225052601524757905522337123098871246888476522937133497153767946521981366560369992606882052186481487144560858997207352566028924427860619038356351029166183667149763022698788611298595338308155833006071963479276167793749145886353874452007572766394748669349545615434252372089665675811711408324630197177439236758596843169678646694647019980084513738143423438221806988022311623452478720610818845737226498638671966697313156112883854437837795977583236333111233057913572523898232557805995548197508135883143400511051452415633523844769862160480411938104626524698766515104102341320768275881157253983983960206094605428260666258744806963613909999432687474140710286245278103729425836843725657675511179943699343467208343175422539936141219614765808160627377905702633340058228505107035474774745758187520012092258482036171477056745263145412919132481482251929973960305272907015970414390448407771301778711670120916137833765275001011070332286788492959186854320768734120249492445868890908740867507361563627102831253049145029478010904964901258798828553314374562675005833071848822191101005842742863388875817553090911955635470297867797072981597170615256584490625074604392882678205449806667313683885571632512897495988286398783254988012017077538437344333053876909864215433819721928649306698700419823162156794849856170750813729271359753843148655735158134144714205928288656682487667531703798434853054565339518088536897189385722647354364522441745538620903347100471980923192916123254731016992284508296475770041805921707857288391535636027035790261111197972489063266331093897758782199106166485974074070927216320926798727123634843932966423159344645372016461949353181394617664358434774262537877999022195456721981613498141140488027078584122246850511079344809444844389411994886593946878092302163881134489444130809806978727620988292725450501562053032294152393565911290361553053011211580337467850473926051998510912739851647620060029936489124368512603328954468679438897143112818761736259390468312108159783245697387046566123179063970460411771584858760561901906189046084641377283219467173263774959155887277487082995850094037121298469580709294719514103074880833992409458288543693695282474987174419395235189264145847317792523671515983045426424707097368869210552278869234397371332080056328952896515925871036260887905086579856364246742531296552716028181376750870569777811113194421512173431347092272885082485937142492659916378866497136982006258813290347004572899767102261271883001182648639714911815440090874413692695110705577715783672738600146552602983153667483055215720699588172331804346326903708192610663805574087550301226515147001830554121984897905344387226311636364799173003300341877105726547960667806269814120706360424160266048824198180869009706144261991361384333307300688399019949554780696277416180027398538167565445688314058646648090517049365029507443493301166954048924359674866586099512111766074311066558487606438496695791227847884764282873831075994625004389707334800908203613627158488137660761598098536395217924248439357026422266467613606958691079015887602297829380796070590352415596615060595163407172986420449831824347328872594128819540419544755603262527098945334959152305035901841891285356610845966217612780508931431188988145777934528843552729082415598264763697260406270673438311284622978212817717024617570205535010126700324873486210661577207918824303549428233190346703696430991805617268241914483738682476985273388627071039615608006748474904100977537551122583778704422336502205408899263912775454179125168418225765994885523924994988127381946236095116652311648207686839896810738461170003440242159029879451087594745294020781759942078837168697238736629110444020983835413155652791519175989447186565760508023691320827435585988413268430130152967476654451511687451376063444298414528554501078367604195730334249412138152613538858622592300356133678426459577231963417747647921450335086915205754518153967734713687500899862256414449766515978508279076780328563043581200705112763707072912426682765017903785397131963207925246157414434610506404190294219404022009815757068778881000958308237635176843417994150452229767465146230766828497522435109887635135867465938895876845690752062484838602821043136135999112040302964722994480647056962661613509405964574455820644251426050115234054143418954941224113332094565614155900212074136524590066221410344384841367794863920879419716363074939615368748512533589958062987755396105882759877744578192427967332486639207568331442064692094849123704347790180472579980100926887986203776389296926277359266421536515684044319900918981570697650341965464744528152708594721715972780417564897298032116858847771997591817855244195269216380168403524157456913874918267551271810647537352892659898127971928019006856429246190487428155199073371681231842748867154351318895612003553559314826058446875232652384041769125894233602174518336941604538194209689704493083219481232387089795315747848289394363026004546016625328904878314392896520823993391810724624656009889065219110142272449105218787981784046929663144156067817648186979777626152079680090591711661406688229108866045877548420131083846522322865655630083675190053343853620502461835012771731881265753371619483221143164446734425887157310773898126777906747235987577328454273179186697320985317794299883827477772283834293541333943415948849325646312778829245733399778303449624259702192876551764889014570714960103866256492917756902535134446944872196285508202759838276281350391353268564745457857082479747370821003748440843886385015023192317847894967806016111252936748783171930179768710913412978436455153043280255038417504090605881931927553988719433804924743056174854574397021229748986646438175540640166729728592853980456477123737501136474170765577979444501138242140125250335456064073545279336590375117987821104011957042758259581113270024826221419789612918348288726659209361371741482566822141422632355592846225987974240367887498218123961268878922138690349510979215435733064920098049084265040965327949046503227607379010914444974105636007494341854899337106980164124445652731900675376452917510032046454898082119682304555916230419671054230597649591976184371925732616241379896595529882558661454622665065092911032813031986273945192968029358418049648704469055459990950015278383586370335261124772841165874736665230580408361713963179415197735574735790518353670930370740806579737793742667754163694636962759911327078731626403150224156948011633083259355976682477323697228348451706149197863947320324395935549022817267829993888042979925629122018785421354002151957899885579485311165085140055736887005459494106792463620012572828709584414776100505007906656384840218047708098559602546775056567369215136327921284600592605012988039500875363864441884242464287017808513790444158097520813054515479888791714766409412461908233737678824690278566536157969223408741624923431633522657673497641947354277595158919204322845164131693402047684159255102938629505494047054348538233006420142272366329357365284695335874852261900601055882228345784873223999725101794016145044180698765892242100984247030498786576097913621726506059842013522348612645613715543359132390953231793521005333315369981721314080406305850658644259358861576592411734442005456758956771715790485704333106781863681169202561987077955951655796286147420054927230198468079554357851919779077151020294544313624931671001232253162012076369486404664419118627053211034528414888472223649317465137343020298446477470828967375715437559144692181360122888870782269147459497445151063365228130827855145051441608635736696065129754338134968639535736358640378119071725565332976026187728671202586857217017742586767740841799068033379685034189475574887348395749900562518694830478350530733887887075670362312096932420950883485023835514159578153733217726268565074141079505162241567876361347626587582701057464683020397718709369728535700555580985217955105458195222794460316803297322313463896412872874298084636773840206435362624206693022149839849065482990962213403021418799143262252398265384492902803823524507844786771677703814282543138544934749703995740405270825954704866482097310434105756575474510123611352374582999514360769436952009724074944462162523887341724136820346117338267414826629354855595410874328645458682651769191214800315454548107767174622382342022859438960690049511118991513970797533162585174253028452017332586564223436759435892436486769166701111461120934390139061729492004711955793709444144049758383021281042002096355278601091147532662270747281172230004469431517441625958592003179677246206380161849206111015197263209556889217807252156350215769667327704748972667522904698393706059660737262123115545878887410800605349866368332309742610215115063169887906836005547081434386606195274557574798581596555212546742065602375427166090941561279842932525485837856517981076962556519478022151281286465844153152594080614773230397336590623206651713119496884988493823027105931385295640348685155840833048122593613680621399236227385766295839283524558696542560040461433910500394148065852849697739778925658464301642095442808544992396368965082598592493430250861545867525985120677603995577666399342933078168858029389083854295311837228619370798248338796160040468447346729766078715297968465576199705282985856842307785874604244933557405174467988922631840991521351899056866375039355730750452233195977217870463022009976269768501575798884273423098711650746666968722149727532866015648747767966186165251825655442490102397996635805110251371395252497828932687870438247219592368513149224898718691791416623324196191729486991181810367138175132819709045424057402982859167762152098309824839422972982574919245535416374027786207575054611304907070618999833157204481204717106146346184602140423058739225200877491580019657995373583108898837807004658308426809148333573602299419213208816799753642708166381518520804352332458123895712490608145557386251675553498921275689368011756149206757516716557422273541849796469034896849045098434796479350761754406091842214997438012683113553264262585710347363140753435455405526350888035816930599749470570445978599275668976515006655708622575276527297984902850065563744680293563463544006517063411682124818774082111323260509151717348377766924141718595507946053206354186625499099226386890141696067605722158146585956712210671874762019779699426703740857298860068630495311024990036967343081548578588992643014332727050218629721087850428970073642385581029118332839622038582707146170433611402464600763244528069860891015133378435982343787293133433610405334276179117712328531868705319740065145570362010460650312355295912754324026209237557842893629335422291504891903696085593627420495126777637682968328749671855638500411988212983714415951204602904392155483365147577404773477836121047985062057499994036709358215569442616335402854723785274029524208681972972933775579967570848025964680036947319300129461976447267611635764691824640336266562314840780403408092810840607161579848865794021440586222269294238239204337276137895931109514280815144055517400678742436709588653419699086859446470451078476902902923119388526445302459085749485916920946308949106695783606361399604961002321581648339551766324711403927621512341462716536197620521027905618082485368741284006241296882361328537381063004198738604363483662881263754582684482200218399551108760953923871492095680025504751523815196902492230701642008931606995446997831137717148447957836410711477586351145583109089949066834159066891942468092261460661712065754527075984459066709352202511543241806726697554193514548061776065929901989525500435113862168294501304338766428095865013638291858684742304178878650112647142127641658218699901892770163282269559131624696843649227176997521267878188301150698713381809845390989818727194903425001501262352632365828528655695863201057676582023005111686738211179156102161258464038281978773614193286212355794332507343123238371398698616638861649904538075338710801059449925822613938245261008878232849753976426455543437982922802595234847296732331075138621156925409685594725343459539337139936229396138159799913587298973031236529672276659848280585212606430682684838744800579432340190310808650403520792712124700622636123172961296189839463360707594912167500150610784246047305534876414707655346001602657044760240259853117798213305962373207749511604178229026566902179563875685843325138756628064775822358278267991939238182208646174473167467026627357256071762418634779037505506127191082002864838299701757618243045433919863572380785037255891792827256518817620538022177660676772428142649169775737557016438003040398700556453633190627148884044187122561918127086802259062702511818838625254847989649867265509083107695379757856312116643827986167072562124008515664145484415429865270892928371270850278526261562392015786039178480848440754235615708323976274357958564672692300815849760001463932365451154861911900845392465165213480531209300292106653886142288890913981296837736247829849167939671388078087694202140713010337367625013378706168661884239703141224800365831382832453568271745237869960855052832309114072831366014410100002562740400119850742928326187519184501608484143251725224807038172796724736329033517322846682838117675936500741048512605649310607519006159766802911004165670094517921747666963378020421565191927089389575991951413084878070033875934698257382685908623659328035136410180120443377640825132049798377738923665048838882146902645727908052770102155858772308659100707158463774678542083513782418861284315514506896215543238661387336054526670997022340250980117999941363629807800024379774355870760463743497729138244043045156837773712263549285150198295088502848255676109465262035390059173441197956295081204073081560720776331551560424468001043507102269284849710039720461374706876079265110007718647476183922817470307802353207525599819208320692291607124667204276858425307944722609717335391047603386505429212421804832953639952883746677813519313909633817874372850640958214623648478332121396006190149328494564356429707625583044231371838345218309192797935304896204779750366088850956817310028669711681501447493739723184131697914078970201518503389289790439314769921418364380098101683124689943087890668141960805825599861082124382825181219217524242408396572745368476742541952869917410009007340447715522951139475372474750304222821998762425837935459487253157230659679925003428049915818478350386738447298206264255097777167512805200223186775763667403281029566863126964073790160292495536996565549389710366949172150344690083221035237450368685433870831880264280742148721393836375952376908145863204196935165603859335403599767413196574248011327363198342836369438256307853289404056221564764185158414979622634048711509249493930189191073301105364249385310820723663855907577606884626873731461030554944906912252702269431410002776275204569705683543431162728072876145027608145835981832049696570491766170927451126163229318616416991352564833290872321825479949521168751321493094823826305166606269665287121090581222433625715959739707640508274109671894526875181261068355657430632290537054930853882356173429972602601950946094207165060336310305402576492189196306475180768390379651922707060865659694063159307575866551936735182666562250167772833277176595170794966277832934544684054223117255618239256027374255443807566374843369378805154093636461280770227332837049609866024900647884037241644662757842739651753611516980334387064674201282123629781359019026198664627162302741772959183429008926754462403798305625298343571690480316556151143680716166315621229839167154996381502111237734648908139069510326680084951364698468121513396477133551107848683935898400022963554073374978382244209442970434683573439401486774475655759087397178571577043269141078182572365079366009458177580941866293759942890209068004669205525303492392020214201002260949297162013659975895757876876886581743858291205287003470663427281568813486002493632167047673301026890557048107164524222052683388397092719368041740122192572738122022105477419655130230588771318350655197454830839555525404720776657601543625024081193778857405354486911444794010847409000553530628852700330419273178983696790795512431513727705931720946212062023138635279498725203045784753131644188613623445293307317645670765557318157914316205343173659463486691883673866671307221833614790409106089630782251458759037353687136079361747933156315164375440728337650956249865890815061457785835142410980381253753717322727805927055364182959472645600257036607952875265815662805788655919118242331382920862934356706560650455793364146982458728322809972241244542529002572291071417986767473424169665051258219072736461261506120497381289660267448947745925360483756278511610248999919286664597861731456318771896952270613009530467918055642299667344241709593842899628444592870180567541061683760744881952007626587456162064642478917271371594760284527425417235088255236527798138302442215034585145885016662444348292928369439536911581009328159961945739249074406965194661264072337526993056051712943112955128945049221633739822573982460259084207844365435106935435565926971598040533377605401320911601171228837913034541738220360305640441037546162706398471094856023617244578181993333032833692722150545279481863744622458361997774331302546562686850733383053237186865731262940208795010524718117868374652174433390237436863857466176929777647911849749273609836088531891698701585410768389069269925905270829906798399801984369876979275361742052268035768548148566411561926847291493606808910510195444101699939974071285685411015906941727847740018585501093259712473543004497502850207388050349151139500271710840968403440691481458772785439879251385041782750428221010139797135120240695258728995494164643873907071462281795326429712303638609894966960795495690078144163831714561003180982150057356656492323226751026340157195083394386848567142155711986313798427465251976078497854757904511111536722983667619730952115902053266086790847598518566607693276065820666880854453813255625987984408985831355346697529620436610371899257244028652151163649809473450911269489751508308180055761009177501368023099919623389656515853269224775065070144329732310795781004575196254051313749649859269466285401469548549605523529292363209749783858381346975430589355130187756748757179417539737618854381199061112787671675019432323058127461364840299446540988277850507911098742520428446694458494109587898431092460538504439172533559514179649407331462426690456937570535465363434432003987710422706117849141133380145994476010587186742540696896476993677231372103005288267127021105898680119517162102197958032492488582852158842666814479873299805940645352456574374392768672896540602839034669983973273039394321035674075512546417657332685960343080383658045758058827657670355435395642061686309608256186625336856789754722477975638026578678983504356477992724095597175538606473232433211298591738749376933483959075280153950850477844150981496507256419779414359299910237353704646902729042816949181120778932942849004769675093656859507313274228866618449625770952760954209927799880770041952357906697972770056755833364628458719140282692951993648115796437125938040419713477770960708689893370112959332301284554067735905715049077695223632345418746149952919317491093156828084185270377092596926469332655490803036627043481565146259066895973478245759954494924750116813464188247816216740686287668869558412522663796140600137728477818300500041435377403022255919961255618643965781771023995217114639620243566503444653878104545174442606691049329860280428579295245851128950203878792536563117107999229799346151169946762878591483089264013560168927450149182023448196886794157812979310611883006160396443030048550638958061438522415047629536678095165374602093159884732883215278176504729286937546122378157828391821534545351860044785373622320977845715123607623444159078515612440186956053826265817245428765683485172151462491932867748914377882673230394503205556729886202646831855083563204958629888692865232102226734171036282444271570058383457520088635953048882230786216112207425015948315166362323908850782698376795724938113942373103597304453613683381429643256640424048155199166937278477346302717779337105024152282040467304052703359974602261467382392893703031824699876701542245502748006393306621807998239171095469451017286833579498858410374163328044495064269558689525429232995984729837094391898215678965072090127167770183717736235353619427938266452333779765350191111640865503864910716010726957546130233249535410200606332424300757289259730467309333092182952397484778321482582292723069910383018047499593488982206926519587277996956044501028165657893993597120409733283683687499600878769800383983238638177255256192612872058619388267288461135815471367661977134777812409026827022519880645369802653322756746048908842125157581255732743502387323730368824739479959796544037544247297627767826700790358803708145631673649140469280886450941161116071992671986551268046034508190117561743533904872721679500129823593003608291990539828523601916314700111350783956531798712572705162334843388010415202351414500224616705224773996961817855117005380147247692237012353983163686669376557172100215570973513214602000293197317216883078525079971998910216959720987671835519259795028316453487402903255008205601143199785911050978996886041187743572881928047574603884920079791099127572178031336710813384784875912159188954534949332477395213849629472774764450428360386065429663293028259223623973515524916075540708711796888859668470155576006260325597301559247663699506502247374948402120174716833915024776439622398442521144437582134990653508657726741139487029811369751896662147617910112518062877658526508849380943362623226311329269423362805467472399144413971724036661077759828296750832981350726503159145782732253654639845470601502612079532901526783353916863496383948223370909169227837744642040795817505990543181891494808124064212556921526378880266064123924189989460163468095798051787665028137905505119730690199588706072901012787011805282827153813303781985311875485135111675685633968431465323566731827151806488062238987922141242708439807811660823320983741787433335807993328315878873954063834093213056840451756735690831674363918689541470740313388405141305273472192578519425226445691596884218676033118883623768392295132034061041284469076005357008067291710057795167643246744340365454249128611452929516635563707208667355700630328487844151243797917941206432974073603204490983048843621636974424721399860998128157842606688970837206302645501145989972198908880635329936869675845194378348731011150892774616780059353272365954966494454108101186769608185675955556462668993940528949188690878405700501211909154827469927814310746852740609887244463617377630028835795107777681249075429788190022321815167321213744568757363600970853140528421307832859991669462451766174215465931273900139331170964637962236197993144164365608755661427686464909942502863658080167361141973921719081588292829052399757506370007954621841412824259736984570385778746616202530004535591787041694834147304152754770720487094445769025200559958881267800718958159848678804804404320602090725356686350589358451820695194536028410715896873354341960570230059729446458573028542027340078267850336119271596570301203936665360313350725801056088798124393526868978696685107671600120483009347390477495842570349482691599131727594565457077383578890412871162601093444651230822828936677434258111146461135000127538900054924575854290522347447218298478684079862919508766059343306753489226893423943899410973077480134506250499037877875919495979400861130750334438928222085956483565652890122372189684298066559949160129976899678590976128465636508463210272649739497431327303312073782506947732597547138515202959247733769581375476863529333915711626946720090766914912791003472579301419692203535492597616153082801798950492058946862438801267425278782094278970640077148496168591920313756059644442432100085115373744854547339359098582781535236318040494850770391105955056126831096272879968477192241286920397315758966470809964410456526967221678253644573713244618087725735999120175382389450501375401943361118096396631041654618806292151825940208249009687710878677587749083826689383366338631254147118137936921925731737421249409392826536044617218087946876154793875568315051004326891821046736261935187933552199867880621735894588729363147196863724569236916144607816720323959307429116797133583535810171751691059487175911276826128282465594344980148064030647501318098018149963012518702354266280463707738561158866625858804528398646335090780201515341290548764839232660117763948334079767944668399361280136076811331070612945435875239598638799601980468554980098758417836368798894190192091027881294501899148088856645046740530397969251567995282594715692646192568262203350562329028070625648012921270360416174794459765662707305083557379611163488287393468896784152924482978578488612826029809674602841217101904326710721751987586349715832446646780069084185882826549622177146323964520995863924272855484733646652904161343878108539293055130667066788427798491190363502801873099950541891712206843266826513154638339190327498806653669512881685313150688587022691887807458102468883816754314740572191563580767381932684608826902998163154010987702439487852796730773247073383464584352541571488112438888588696113172472116160670495262129201803612032076607539587388432791624737774276226172859318960510022147437215388100805759490178455253309070341720117557266143357136592618358827119571502137376530079583448376046631481761017573091017880300950936748447854308159878878884237749255582330159091934106933338064096073288353259563338857363444282108766360897537765839699990944020654539434728739873816286168497809074269707480079522764164069213728330562819967268003328296022143747753468727566715526044447700179324821543877846068741478661579558456582309751011742438818014967700253716707640506568092719992925543686634148956574875219512478451468938456362392375756615259209325196257937646586919801221253732196878809183745255584792852335556102292062994748585775932342755726587637769745202379548673688634539022446656935523954489158035532287507160706907729834924686941437440878748192208554634225503316609154776877488281692817457128796774705220630773547671663722592367381349963236903602635107496744922934027894685762823998545852420245735286923784372147347220032359024996041646273176042258046852112183888534961733873962998449214766427216818799209598133606824416266637208934139325203162350669093614240321940226455449357926398085242795769869261850614140528322403203241436427762072190468495742467739516215185817636127124712767364971948805982006530587076311551877337626837940690219854808929234253666836567113246863450390505950362281218617731551546053043429454396381115479375455584855259695949228100832786821583932749571903960436782119482727942877004930503562533535210425475530227442292905076995311130060763947353594531266598267717191118508876195564129460703782299797746619045014128046250381012346913636172593916534965842130508614759927999636516957656524232327206680140077568758552951045394298233217046813300305524345332614793450925824194316017432642396406379728937850804093215590591468991410964029593878988078147272577649331140051664350420012092051890811174120868606200907570838691275665572610014219292673215791762723439316218739832980250385771920928025924582317000979581209899206661289480678036177382096738650222312053386171356961412107871432830478803183917754710173537128124049308031541516803897633804173182985614473562265240022040208902828762363148980972876910079276620162822517486856445360765415311595992607699553412423863033084859386372032136440134690190934165641812334854389214905748176631173939449474519273593306662130322537514437185597530026499248444982483481313129753174697265836121141299863520377207716859130545899932055465298268967249511374465073901480400075036883662867302616671006209726682807139336536073467858364283544736667355616126449502393008964554563249903201377068547941094589690314770625582862019168558628799253896925945061573919410745422508218819734044573285362205572049409119234740851102355353628844831651616089327191384544877225576319097040695211342938360140648069601927407220318883171101709270353516919234253125200586385463158280104604488104476285054441441315663011469659851438723719191984752028057810682822732806402479925667270580523046237679055448367791005410930864218449802705237728828040716171267010621451528486142791235169671758817470874056537400869874302541880695136109699380605224758532776794022528936001185743546486662151507862852338604251961740558042771223445924375719282720904470481264619744608595490019814978304134934251557872699952989189303355028217669170713766417811457515589477771468199307056287006402512091134805057471992685185301081491239596843205853401160204586989749012649517984325512038973285399214670324491739464133848646074544267992589482253927649251430188090266670630030752819540920402741632425502759539795208305109462553477223232655848484042364086387168037550793449393407685915111694826379045417953437959541691620401280682725620709855791368117978339162847196155988434223014438253273272876066436830045337705310031743652605856893178312306132873083038216101051940818654176917258299348440935767775036795996658867559681512013852435357182171836645499680562745883262402767766564108842696945788928560981713065480998693002801393405332707436626919122926861722740560222633922246037038707631690903077584345619622932983267565019824651806402060122667628447059847609624143829988223385312555844545191241781995293031054808189247539208486742468074327487875059214923596321084904336271503619432507763034498666995467361548028836053420609531185315185482183766135459679730810356770528002895517404132963518126630744654334902264715802501754352607895314521425998139681322473815189633925149154802569468512922488951171929677861688882046284708176140822936122061934533559051434117730183100891570006065707853921140778531824261907296884777159156960244219527150453418590682046691748682177663722201924989826167715464258559782582863702587727436942605285437598107596800456217963642275062283692052601833416922561033306774164320789466013346208577595296354386006362309323416686254148176825593807314237078758015090081931501314650673688733253880720811472868848294045803556675857423657948360970226409939956669188428207129258215662577953615999488657825091903496192654706330668719419949884953710070231100360928293056743794678917485354567835462148159258399512966571954049774160898299022822537965379896092227614415174855209406482811912758143205529638961946702581321268775617086323867452024708385644706369512213936228158812455484578873487375908974769567436774364500378578672136045247771052570158351741112684964929134663368682855669280510117581982099747441990669240723156803744160390226260472702927268838173856878607841789806539439564948004623980231817773184885219248710607108042733643854825344847838778868446261718641211557151403010395700058516850851770140327626022291960752611306655938640113172129649500650463433143184230484654181689647366881682526362842563243387154310564799993211982456121225138416853590696349258051067468609034172132998775901766454913286470404074575063005009286308687008815169664851056615596763526046227643169368623599493644364579872248554876378533186095974815481310453322352365661199429418286475599698660102818842546943229360588658306894757955860728882550867932450276266948869395491381218294745809509451580168639533857844019236743678416928875904534727117474066548365768445760648364569188773011744322510091411171219489476041260319875798298358898896645728262585098286570149646775344408135259468817779389695706616979398671098684859695778648896278979117419228104140906381430793833563164835849943572256943651976418196850806074883300051823993828042996248023223632847684185700446887371764954281859319403618344376344774197417308107778163222636323686543879953389310317088203307259159007516268167319478466009642703667020688188994525200952696273412395536835711071342162491866247547201886865565690425029058926330135780109896525045783948178821220334189390791801895409777234964755930319358090130044457389732316796077033666624510117347548957580006897700997780107696313732761939815679589682293869024192073410530603871393035470429481721978391125201897344311856191687441972935346910831619423238632174227943211024829072296392402505603018476642473627448444143136289940577680083147662671018634791675243332293828267494483998726294108244312929651471875030578251248230030836869354512440058512732497012168378102382444027448701868623664301594711095904378206066071365829171485194213655248977134841587518961374967170128850434449775813428039803800682435060433952263008565283745865547203631763295324347496611596974739008412590997143907478317463607224077578073536705446609984825366219541224132231526964983780029813355969775576599294565638624330513540956580230502940522115754446936891171881092163081655273215343654790036911619847173615655007810714400178069954562308138969059547278329628180308026982139350898392581523697762683664498374290356595479387108054546825937009725856733096415228976268716896020073266362782783020030387288301200875180760501686769890511612183641325946941306791150406479411675515395522654060480092626433086167862219329208670300906019508103141212394880223361413758565904648367135320601853710688108375355943333495179651032591767867321539888289809420133544795921517748789119152060716366991027966707715030536813610485598778708276384897072908206516984963278625782073691374548100711578850748526796282193323102841908303170900796176687413789607249704440813340145258612112965837356767624961094656027289380289464434373682932000151740497063562019759658181274809817392270195833793117431748893220260933569075800298387646355331374218069079790945849375917339804143369943721561295157633369572780258203934350182366196878584133276717069442878449177938262181419921876831713169390835021406633656330130619912939466946688624408104680745583316301335378192192533939757908130970492272721169206200798574632454840550593822184728441346259921097161439104132042722471386027548599775208914186788853035589113933659308628315566006722633211901026765807297420430652649741371357450294983399614217856167224085658665695135482221076205965692579774959388119845340444784307113313386062049837474963973152809143937810393945720683045555968101382826089679952548439700037217820333611801367767068468950425886831071952805346646515487183975848752980342080831133647403432557698683884184221275835078666921878330120549724645713973172541837343491778004286240276661436543389348576052429411893470367484098486700248237202637420352284304657891177625308223895820312270100934412591842468572339133543580778426171968172533366356636202114664126799544416449563507874691262144994634340620900643299574078472475106567432483300575082416119607711176317327041253278671811303852593311513411565047175916209450339316154842579552010471915245173911189843880757305592544014894669182054782886227015795190871246898722133492292167876813547534728576395108432737457585472344857769492343505552346499365639491923220431545217708234999051218100066635659640823655675201746200600875423363485773570544792099316717424222598376006634537268570683789823806989393670705589211971515744771391335456523035839909307813547108533305445685961926774537570511430477835960368967486379956007347809079900758379016523792441200143071420035100512732243267801059836436540966139984000405367846805994057408329182914211883594572100221987260030875951342637963053159545020987552081799508981386426259567252789489405247610171448857485605560575009239676247961259948439746489223948794119575922971357623540488546875652082205543539932554223601773681020255559320760788425318719286526852652746652421395973358985299117175303987182138897255652046795846093067049933582750633277750867168970771963264999899252693074114310441935048642904406172808288540831238119645702439798417490392156311671424540542547520860376351816332672571307093135248330048977019393607020688203044019400988022523595657510131734441009401270112719313008341764004129185178440099533187113699125590974197551473563524836530421992246715131365369800590203099423100205799065910982832678034704927182033002682934197965823828918262131725214234530257837660705376427397522822929080626724923086570664646521192298955547015615087597471883490708524565217471299566943865600296324596653615853937776551575225678537455504058217998115416984292484733760583564794314110618559426326103337459933719488056552066678146892332829536251778920599506891961991706037136648394222481783625345621257924705233172368314888864161122879101718796946386227265901624294669838163509473037660452931776505781362653138660382121325931964941424285346444276608135960077063486198771766306181742263770893483694638854878970535933153360233242229147210670057992102263664280662892298188988413530860868896877524375903359863936825899877655331470102545775214893738189616415774327759780329231183742008718277868873744287336736233941178883030759077117996519384975958657409126355781616354719655452009602939566594670165299830735557214158282672213222639554078301313070837871753587621103586445700853128832851886572089356512634853790334241732453668150654932299917415770849351055384294551110652311745676948412107536110336308132084037085285489651107093198655365975809061464205886541598701142389065724862260378965341443926225837012251634113706839440934821724886786534702536764064001031441071806467647582880900843360240057047722345808790384796420775429997923838847400992221153851105687189595053701348449811140844172575504317167457092196559617616396155866695555154647019753331079719856962725327329105770101732446848742909750482212989177280974369178393126734799541962642466000789843977947568371280546554627703256243335489397243665859933753591617220532242049206742811087092004386461727626395728699095300550288414174518801081662891860954623947994077283252841118287393908532104255654779147744493614458556737975014859939558979184776014793553816618299179249207053172209872149832148412352061509525711261923456016869260745630588967155125842517991447805097240328441271624303489607128665464621714730555669115191760765171752428323469456450687216106616282791471978076085766839867990319282380742607313131305505313842025657039820336604126064487812447718736739973830065681936208829473879482953976522647251141415028386027846752808320755695334323185315167845501950622201813862748614374840630821845861009142521606040936590748296593486254331982362046411197647469541684454438969708755556121136706057204078474470319796258071188862857836602323302270397920482583770513477704536418575412138756396478436741372522604725288002280758147618757624454283053511371341823511238366171661877027819774532845369784999741291867206573572432423151817063322963580977911302368803294010174768658636677436129078076753714135640297256667479727451803740031594201545765955354809992309900280621739789794847301751560449549730485821377345122094290771593644448317424978461370199459532415192711271015278954684592628634328240707603195160787027754079839658043777641987174945573386216349093549194606607420251872413274543525916684999646433044558108446499057286780171823466316863065013220925069409730735649675385491845234757792635759765177096760107475857616888460446462528397309044950718475301630905628240675828233630348193615693612818545167907965535820815962038336504948469709635116462490597789748049916296255777396292290429854528287536390093836633737120284807023880269806865909136036329917640070873622998755624871656969943806223971234008921091011058060577945809404205687868411431587218512363142699068440998715600209045548328798639225593938580638006753475998566067636205909837564363549871768000906539079337806535850070216556123313300520578312143705514435319707212099095358156895174775019460784279375773035218129676774683749228886011380016547269376057755811213025949950478143948697980009025863774842653373027276369999318987887013087307172916667909197622542722712558229148632851558782062468344729113453680700578782368905799106352820664486681443722205345611524885698669423175933952396466167792971777477107525897134158896550582539995542979876780303826635037841209925943536565647011184937262933638700195347235560990827508805791910579240921896822373593289128104801183499357521825300219938668196002904908945454148823707065922453580271586438679649137675093564183251468330690174425850799316301313951852118329187446684042680250617415976652509192838230497109795823641895377726195910883713383557956229114761706586466033268437100366353499653023607461635492679319787280183251366007138297412131841012448367718188581189651628198030493224812348878158849964468042949089504735376346269297743501384046584203962147319696438336688493648590782243754158973742732629187694244580832065864141440582889590922715299673389556549777920701717717741292930164946367140592234294071807507327518040135378524486905592519889490956801431003614346237597487682854106486130407997941336274357717585392118112849011741283840527501190609561000523083480390550173288705725642674591059458950243775395958212967937102120027819200707772856689981590258646534548101287488301688402678461095313821762316606624332783111660688769382976348947566567473321746785698101406357613005331135287379952506786065218616036689125605442316912206606270537461600220657801408607742182885108993195394786471087687952104436384858523093936968534636914459103691010246342054269802618815831040339261729541283007143742358844213905630428867664857430876368931716869773036141768110816093458147011848715246329877813449043179923902456547833383234609416704832437602860973757234417653532427209601674966047718443638639986639309545580431701077153968590749898850048894902636109612464045915415462918616082349009212971516005857336373449020945675247830310729055373733472703770774166570133438850278176063381467910604529106108869573816989857572995817883820341279879048953761370644629309801546824981198344966756771287663236291179866714773862602619586762312154142264304624725277762290011179759936790044066583229383067681194519348077524232015145869419847505410985941068042499089689132301292547337935003695715231795479404647446906390293744739096138530941467150144685363137989888649992015748060081407142643670067381189372422651073718261824090611770294400629177851435833090689925222108048626464970568722124269243813024031706596922431503560338514867849930461340206129953187542309080035033243332949856890648451098390119588002419639977058626530193592915924017266785938486781325701488900073663275022853534515285644944358207503416265405484415429438084896754693172025956925756634245598591114822559275865642619531157390286326527770213479414483986438704507057330731564180743257074479999592000606500716170597606212609772773650865204161449820136970282098582498358707075976473297335897671838050027559609052412239329012873166936777470341398145775337482371241326043296180033423259226808951294232085812575161685846864109032982250455964302826004687676299403570351304792267092029742243770393448311246534277755212240826460913821083598213823271369581277649486926221754655885745203400503726456429601429237750811394863078505303610485942002204401883391941155356055145678688273472915944169489201352872433427974448896280128734514614958742917539787419016283710180779935797617185353390781669810672116438249488896232437756999673927382546361329601685689529926887739263303278934660927956245156421766430067922650689116301706087923981343622202615544704670827373193773243261576608812170681808552564782142174778034998687287094028976645910903681348760542508215083820260354243463874862025522070603404289686367689312768629179947084915255666694583829454870695723031494029355825649023448860551153599078480845845580099788882993917632255490864931226333290581667469374393083262015979785952739093079971818538114465733882889748295209998232066110441160755666216461114223928315053727947387350629317695099833501506831961111574378227391513254629125499869838987209297084223211361722723534110941803505116875766838278365736606314909289790042690249680587738944724096057761707966109676154971874063233969676984987379399897528612561483785563406104281764980119451182870817683786003526178789317909669716850421620903900959217606414120978024337395558163527793381467420838417823547465504029966251128180850382183010324922413293903706879044606070628385160084146711374006853188298527459361295632572469897834804136841781462204975459828385933569160910490080167351488621779357518616477018594541032746671680656550617716872474681451213465262761920935606644911943027481492232815350162551241785599002329188290760418124344182699325223759415253067804204912691951820403784572214275010684529004265937153628320014201020810210284295525578588866505547841490558844618468903093221099003192392625644476938250329265642207956940109950340918434886119473854474020339945749652409225595099202212150256935797301185934315344018610753082265853220011304279991408097131153332243542805117179456669194224465304979622961008413297376724263215562934646950189877863262718666124310151824788433253274348893363756963556811957811896079345636456532402658600623056347369218781514790739981200822056875526096280208477996378989438999496242994305798287240401720785528607504266274664726612911542580932001629071760923741548349775107697495758668027856380748676372244681349029598134138089540575954131869684460196278588211885293414660688963931855509686830786098492083847433725609667519490716397630661324053642404447962154030805755825005969287805016222567150558273812743631505488182054468027594880082107459092772267142539080673241795524866353998013098679993469577513483058392901441096111915562691152743982125695446205568201708257493904373385773265193631425592350335701388318225685551547419516594359250737103553303415133951911987917921500437282394174921355107993284456690317655584692648319993123940177824795551113152072839676195333552958452134417260967163223505087624910255997584741209171377027944956438473957317366851065422674470571688279276521383832391075640251001644841194643876416473128673212106506022445865892196820933187627801360340767793867934107656672527816885943139910773997236371829719629152031969639529136393155051623590322620961067929725896187646083784680576946012956243384628754002611272508065243457255473453208224855342959503278336809146820840302977068586743566806631460396176263502534642814685253431623913177051393572295344516880770511943624501761698194931845010376616699135439784236079729562466951112504983226115918453894490873742936995746202738046311090398673563239107137096048358652769749809918430060801686473009700389540559422495235702212320506601593550644892241387450182280046289229313456794928977011339099710934487420132977801183951973477045900883564393315675588376358134518519539243471563195540388973631266750349653476507189171042696687035984116956297441000601064912183024858772834058792059453546471935817669334755507049799415747817708721018809505668066843514944260312613929051434438336381066633956490936295981633741999899907794925880314321572011477687556886725271873806583359235801996783588912107700672034025080026801361041571151027139021019201986110801453497719787544430876486917570300375584480063700175151877461793429097090650675358806421085874072853849250131247210319622739212068178548552742665445151456464804350419530241064535707140276282469716270518398716536989291675274625588853735671667815884777886437069798714186717116110804741559196475841580281974646280048953329383882311706002703437350682303838112083351586580162470285940675345681405455851620526365165764626462601068260990768118003401499366517493419933446983601832516068539440683493022283910439564203318381095346149325027536388591091397328691285605310880382222893057457217944850679903771857994521329618838466136769921615961740444804708168270276764574188304912513702751306204151597218734171050741097985968478329530271342340218740603617865838301841864008531609738900951673544544124902602144725287615229318457821318961487458526442005164162528591312318096051585801761541499338947369389914172053915721413701848760594283279023739402859244612945998677804867413984230349555082249999094516823424876970984460043343098542399894002269694345843683172848221106010506315574280153605134694731771965144409740100830262104757793895981165256687683944226991644589326032854801783309171735554242439654779844281398489584081823859079430149357659229709148710012895964980139523006522762581524636703767826172935632288158216040158528088291562809938719148312987729718593913645053322716900575564236233792608712032954043776907274320462596966891611950056299342101936315136372487307868806382735290074398356136378953768088725639528207407460232392006283354201981999277895198248981317809228033606563058681114788446377715288111932578331214758830759693030138405129792900937983175868083030767974713409503963998774600493849720156709455461315778528774457992712142063879665642865582017240625996021190330475222618142700477781404584071739542523338898925075251070231441187418034937509609816807843321117984297957326980264043778232389779899327399502497588620372288030365127034634070597219713320625996730493202042291281361700201232094437705388561558554656882949048904087493036327172899932563853139923536497372727331571307321985408958059711823564924179826159402644145737782912815329741237783552400304125704158691933140213644354766054335730619894729096573051439487412376604039541155595600022263001159831099804092777087512688437858046404432197411079000104344215210325800040932205347769493129121960600370524284608772357474828108149706304758158910268256650364483544839077487869307012246333060400497397017433426444539224106781624530138591452057422192773456821187607288767838776379290984616631979597240243906232870049452195473943541282433271371481908776697773083861233333572778785282529014589102450590245770555439136766759004038460300429264421175105333607111804626036766159649069414719464950733795638296615092635273927073410617771794063138544242551245784564798353970748545066790142923878617304671279908948109362392537800532406531533455987125128721918505540324917314804344147715629845884123217730937951786994653896985896887631971438354565749277401182423130916900623514439167633230495101191287302733400898666317483904860855632432175898339160351433151968812508455386164424874661114376747155620355861336839290581386245014721824493721977340984488738121232723864021049248417161015194458532540324461178635596091262809767884966664653330231222512483975757144182363362377601532230598561980456316174228244445718988910454844480540386325122788129063082113694318429410505867611170350007553891500772463994234922735499452449635032940224745798477860743268154057912103790054372622224608984673567389138167470973827923259812499938252010905853634232910508775767995169662524275115086056562040188952716463204642510430064009503176984050238917256129717795597069141606139172439809863528895537592539371632154812349581353899258977050942496355779241635030549363183524032715752947394616287430434021485756275452535006195197906476871625557995519016050315709859548291447374335283679775192510199349705804655946544227489293006612979058100778690212635983788480084544000840314167581934357671861775867158464293663674022881816369049009568769869970223774266834316362374180383091130833690328754416522637851553169473662212572392838316001389117073725874341970187885412984837172314734297660071590063767983070722956704650113696186456846253552918128037912623447479993969888329680711347844427322552366702931549810470347404888808317124057074316427828047690593652766305866834972990716484456481392867375509384545851841791888826449044302099140366704927917619645843066012018650863076527495962307671750370391960429501437994620681905350442929995854546210341948400268612526829205422836880753944659726992604479106457621396633662245798007933435771843644193101702555365357251485393660986844176183196654840246493729255306643023903050090548938457690493688364432092743164516774362901724516080940028831615278747095842883596603997327162956220486473854979838269890888703812571917473586042709649878569392261375342803591403304080101601584893053948035911985292775681060842489596957704326946159728256733362367689877979958086670192578524343873310716553301576317367425365033756669680992369838003510196527843796984998782056753062762419832551319882001761793974130841067426403472349589253528140020217190330464376059495833375932835758653920279968698048079622012008875461040000745799723307889483499039056651020977175022681608596599251813655866181517667869789432066644099399847425524990756791198943337754862582087123253678129480375547176280214303536775315408712469819778348438577303612071509223844956965300633324089903922544088867927050694488603306846230397691043730636206467202129781152475179769727022276952983044384410051904793715067274441635879690957344167861224893259523068517399119687447374913133441103416228850832508232090673724343165918016837310554904682933645557366009101340936253044169019220592315555176899654545016936522762292924305562931514211921125421591385812751505883980218398221892774945348955696786393250458148676595339627493413274951220884128112243615914449550500123130837336999873919593826643683768368427761934933928993290169997679196248468122392564051007036155275487740855790439078099853029629866766667884525794484998173735288883324196926005140837929712454220525245879691991645089242068286920946939389889843716702648593046287055171253149225094244113425844748782411882632570724961680451086368237093562310133991750533167070721520759177717990224030489042630045988358081897684307674015912023555672294769788495174300841022055769828296119912436676237921625527606937485631995246379506443480510752007028943919741877798436482615265001342897882656167930444879877967310324718601511538393717838277830528350842500323551956922304917261918604476833098077348841456320697501127446810532913250688415005334774706795725543471107477371670053174529502194404030181756968964634317872863654004308434842428550624159657762208292228401034040276211682274754443891384946565760117864320904031993386488200926848140949065141010775204425862747789336309564363244352182934794452647667520007147093337197484903169502569499817665690957726152995700537058182564831274729020399555459426822852966686319138022628228594990690880672973057329530202761834822614285374504780613417536638819965678400935096814366838706526554824674376794784328510902562506890345087312255351978178993827569268032907830544684015660885903897563761983540776349754947559082199778637798641687024500053159153106366950904310765045210950411723953717678344722016702851024373367238543550868585632565035120112459636676811292865441290129692306620043387879394157752781089033605111610909211142328602072834137148289422540353101830564518748639779937750903365581403968893707881935513859861032208160614439933245371133658777595479310377122618005773165382155893547700326753330720615438867678187579928150412611009231464526057288004854668298820152342636422709778998501045075254125494058498488557497757616173790295380619433272109159632348217102566749583149253200738331597613763310564500873559617525033984884022232313533770382369274308329227642792439665400337279197464594335753928614182549551196420302353727009539056360548327466587575459368857939457601680208889513924240035476784155209717820696010340975371161915085161997249622919109427193806251246692087230345962505189069248248022533370715732528085480585114308779386344389783233355196287043678412236550487267979965467530286124355228361304705127717514268047866622970703007549899991590167959089203250554419789725949674233268382737832101402871426352701673009458635639325035447054774634454863917038472676115477881524821861064529446357377953726548389514207009660367915165596426916048812605341779201397609625655473364446151065796028719287803228336436042094293994860549484281862742048111246692545991424555182710185124257423485623890735594068459407194705759291844039830402874246698706340133901965438185810135199755288095188900861646673505619208540171593214430526470680040046283073925676151454105913706609808799875063183965813246566669107404156061087818145360700939832965612330741000280710779359406633603275719830538886815386848297015050982830543991310278860861688809595734749739427004830820152306446749596466351409314100672009730744056660173173724440916444786962461507234914078443062861648641229524879206494966853174472050312785862301236992270138936963739549294347935994201490109647200272695229069609226047633926861391295991129731319665534922627325365042193561493449646612888951977714439110840682409567506832347342404797031864393265235521544004837291551204471827583826406945098703373408469603759292513667977970388865461510304992380726087319369313322584528726981223843360648918188790569538137239943892107511634446319731779897904788025053570631488393237989687607568197361074949594600225673632124742013867400361035858922780431402604366581903808030484025273592095707388814038594363944295540782102327082148445598999037506349876672885023176217011515056066715995801515003097450571221337865801835662348461873489318772777115831374410163566388991114998870162275972385458515824552928866137045476292226134114034033154799551926323707530319170955871459756445995086446428416747149810378697510589410557281475967806032229722091909300995480909300706263149520355770786511189830229994406422873429152302988859039776943174981432326227396948139212485284335819566058623973840884843846889195747104084865118813647076850679759557903929330517373754311337627560667579362177078149440245330706178350808366801797809119601675212455699877118630965448393845482678348917433147465939182181542438151530691122995198660054386584347926721868636358954575585720380578090904767893840367974370744277345179802992307103505675698860096123259043691810689106097864369173468757297484234857669684087753580740129565527037668040410815086017698674301260597188967880558183138448948078324494183850480348885482069444631411111493652883821164384084332909631024669876579346314966152510000006689756137216908836921943238976804912343953330991023675330586462532432968666228897965473567392059302629161230900505490580282465022911335482332058477634107097944375289977259962040944425725323312430322620633232745408727299583144660689825649450701621169537824861495656899205435853971945263032163350518643501613121286553688256750755743869682342089117974397607311153341251667395130936192700751309612918086655667200276807781748990889913971609329119633371658653364486904924852418456950595157025639744399843848282101488768707284372657563039002925183879495875650084937717779224048362006888495776513873628785716550660289461527581292022739239033461552088839623168539192326761522318448518687218300969996642936883970608343338061168785436863118618710700211732352956677859192617472120561820425896951993809251035859063644651479523809004060682195148479316642471578428790475279217342785334397100106400259222263437668622533478189864727949989247247067333024415116176075076350529330815322299550545727299298825892568097338597330357976378413774875109541247153513011795944515063690092519760954563351393918981708436813598448189203198787073901873293745134646787962671546135513504657575512647516223767017123705109837286902175856024278001243509811125868296158450780918786050347078146033715246258549147677925302962353940305556659397909273064188791774646288689439214231790156910740665106363293089669941864142151166181279071457128846122176137423627817007571744654150534546154278170243212811070458957142222529293065038199732601344364627826565028686992113763870446815261784460923655538668240662604414328797567600538120296264765250309339825284125222132491512319015278585826665799780927316422634916557462858546795502734027367327368708451571083556562709619726705500035700835410658274557905432623514012468411517426586617791749298795568898066315464688416491513908001445662760527731998996479977427396338709660742495245695110608234596620189180195389700742195708709094680655079071436680573050506252682557832192337895000511688976958823381771716768479914911325089743589225807628806290860518809150747905960617698776399262033700387832229607518501421419571494429749622267122594918920185590667695198433418913784323587321588280858477782770068287444290133461624843606982034414851646083944547781535380529923503684042857723989367410712598718433570109249366871839144500156683444114956709200181190310969676276019023977458401732145496466225614516302113698953972891174080720397617666913413900329114530774117701431322281145701412344068329293247528046072467714426697950087723014929846107245306485393275661206269302273149700746221403412496280936433319844399141086304872954372157064177041300461429842275840024302876456613056706480747969226737515346760882091097074554543267789116313303418679369051537483025020421805236293665737220622685733511767916006522772369045583053361943613459883363139163293131347085335139197834138596501866161780628739894110069233939706674012861585975529627605765871413948532393079306528266454756300850933931028311495189426747526006040099692313718455431206357802307869049424373936071997265981460836138015259534251652916701180960482344929735816686529173219842425336348260025043639878168139795156663884381287404540561452793303800976194066963223361737174615982207218997420982209916818755076803299710999184637458004846245088528059409914472637225428946500440685481203067081459370481600217079557225120113516606060578865955683180547806943793818032459868486045563285551331159432853600990550981667572092153217756438203082487712227660708084702400265655973614734035035970015514619454005897029269507599513030885109672887406657962598270634903354586724665452052091088446264971932776738930828998771358940185816422422688835083806649873242227285302084291767389494126913125282339383203670352070787115774838935909099975373724330474388183725445660126264128439574796349205279426226033006264154926933276193791788447706235478269632634078491380754239162894428254819896905914805061796418390050050434744647100937208296774137994945407279830389393097342230076613790357130434179938572966762875281977182541555946477019577089688267509156234724441525207941094424594245938843309477427814921633886621690413765554563978488406850339395708066002921933933000121905861426299773051618775653548811964775739788001880840109816174029173487227109376

而一个比特币的计算难度为:(2**256)*2=231584178474632390847141970017375815706539969331281128078915168015826259279872

大家知道计算比特币耗电,高峰时达到整个地球发电量的1%,和这些天文数字相比,根本不是一个级别的,没有可比性。

大家知道围棋的所有解的个数比宇宙原子还要多,有3**361=17408965065903192790718823807056436794660272495026354119482811870680105167618464984116279288988714938612096988816320780613754987181355093129514803369660572893075468180597603

像阿法狗计算出来的根本不是最优解,而优于人类的高概率解,优于人类而已,而围棋的最优解可能永远也无法算出。最优解,在任何小概率下都可以赢,可以最大限度退子,让子。

就算宇宙的每个原子做成cpu,算力极强,但宇宙能量有限,整个宇宙的能量也不足以破解这个天文数字。


user avatar   cang-yuan-xue 网友的相关建议: 
      

根据我司规定,五十人以上猿工群以及五万粉以上微博账号、一万粉以上抖音账号、不论粉丝多少的公众号,不管是因公注册还是私人持有,都必须填表上报。我司不知道知乎。

知乎上骂我司的负面消息比微博上骂的更有道理。




  

相关话题

  在游戏中暴击率90,十次攻击会暴击九次吗,如果80暴击率的对手反而十次全部暴击,暴击率的意义是什么? 
  从人类诞生到现在所产生的人类尸骸足够覆盖整个地球吗? 
  假如太阳立刻消失了,地球能撑几秒?地球人能撑几秒? 
  “喝醉的酒鬼总能找到回家的路, 喝醉的小鸟则可能永远也回不了家”具体是什么定理? 
  当孩子问「为什么人们是居住在地球表面,而不是地球里面」该如何回答? 
  火山爆发即将摧毁城市时,人类可以从下水道逃离城市吗? 
  有没有可能这40多亿年间,有外星生物的尸体飘落在太阳系甚至地球(即便这个尸体已经变成了各种元素)? 
  无限大的围棋盘上某个子的存活概率是多少? 
  火箭克服了地球的重力,以1m每秒向天上飞,可以脱离地球吗 ? 
  《三体》中水滴撤离地球时,为什么不毁了地球文明? 

前一个讨论
如何看待孙笑川与陈冠希的矛盾?
下一个讨论
如何评价各种「苏东政治笑话」体裁的衍生创作?





© 2024-11-22 - tinynew.org. All Rights Reserved.
© 2024-11-22 - tinynew.org. 保留所有权利