Секрет Великого Искоренителя
В недавнем выпуске ТВ-шоу «Удивительные люди» победа была присуждена человеку, продемонстрировавшему, казалось бы, невозможное — извлечение в уме, за 5 минут, корня 9999-й степени из числа, состоящего (по заявлению ведущего) из 80000 цифр.
Но действительно ли продемонстрированное вычисление является проявлением каких-то сверхчеловеческих способностей, как это утверждают победитель и организаторы шоу, или же оно вполне доступно для простого человека?
Для начала нужно выяснить, какое число было задано. Это число было представлено в виде групп цифр размером 100×10 каждая, итого 80 групп на 3 досках. Разглядеть 80000 цифр на экране телевизора невозможно, да и не нужно — ведь нам известно как оно было вычислено:
Здесь и далее:
N — число, из которого извлекается корень;
n — корень;
p — степень корня.
Искомое число можно вычислить, например в python-е (питон умеет работать с большими числами «из коробки», результат получается точный до последней цифры), введя:
print pow(97865891, 9999)
21033554007163803253273966397363543466337210845740685800170339264302915165608374275164037642679107771419677818606528936474903472016593375168679762591063122547410665883574740267818171496752521040272996493065534326362537003812720203686624984430529424277579917879671859814027148810169123790173471117115261008950186873434967433267360152384632533978642226749693121454005242368265089700382560272708835032127268478955378404960484434451131085405032432372459126252317797197005052423693816874637561836467369248237124297104804494270946526564984352166316439343595953802779269530676454240918857158572530483462512764865354119316220247970950773696396607448838135217897044592393686556257747585489781858003953724320117030611130830991848672641430275590844028568223537906488240612897592020792043258653109324831080704763644190301977222293234605562646719435260148425921421934249712203716151472739143082084145359074793422441738941909527366473203195333767919747061655636996867843545849594263836021656494287018689568502359258979211556023632715673713701211014944737626202978518556176769136718188329970484364295894930657121584852818242105969324625136108809764508442171915244439161602460783215619979023766144058168275662682367752902051040909968390549719912046676951071999333364390496282505161003801580475860878301615547137656832195875533262467052892794060433532759938201933259782702332399777319967788291416727931986653178731192163533445647386382925580884109929240834605576957003967262071120207407007067381249556647414564108262035927915933865757242526635750582249533689796769363931490031429024936715026263318842016837895597447242396738234313806208017595015811199011455941215326125605262931514204752011276491890255573983748891979900794800677086076507324364014799359604320635298020923824572985313948103788356734544596350906612488787364433569468051349574101076943194175244925573727363267368981984720428262167746846287904366675666742173485101671639389556486164813203961677614807780653237367385364315627054012113654225998963284217548833971362936034110015517271560225255773805537072088073865233825096279732658921873038176994435331350546482645392296432718586981379365901429196713092823719692118766596207190933628347092564438619656967747116123506950992558111498415018825683909194615520581844071853895455142934228973645863326501132135265049819096371741314301185334633140844267864317259854171789165449340734807372733947233216820565127058074677472116058657155197979578056159790172535918776204237406957419293129514913246783247230657812696315871871712770594451451529641172169545923621648826827216754276772624470404869475900515943096259021723505423567853772333100828724696141364789967129082938577400252104533476916079781323025149623116954852763947190568394186100404526066467488461400937775090444102723604161283572088628848693115163514662730926668915857373712743559975401362393790780306375470879833317758330746068834767574012054608792355890699758358388070160485614866564696757375090112496622792016218021885772426651237403721425366780919232936939226900675060442630529525738728721904977250589663280968270610741514147668766489674423454073819433317191982442792632754331717976368534522260853635082687913842241416871600014226576354507814633694110317782946696749888499003214437681528593404175074744957599958502080925119374392947735136170019730873055384294185371039047834127962100780437414386528761968229036579406646087901836075164383459663163325981732622897707548699692130751807571875476644731233158847210642615913219151546739652888609840378612446678371807128934091457134423686173458639631558236749618707769780829353652336963326392369146719721229162993092608354253774066092606000186478288041279156468409100898766225629346535242126985424212514141243369813762314802694399190630163941574450546738767184312983074767157627534013287479827896273472326020201776843602996649220381415414029283601211307741642641478579312031531570900115941381890858110032494113372682679799082400689300866806537308576010914075606850803430515375760026673023841411211646262100888971540016647487337130514935861482809769567962235160063707679974699070040618940278635055459460417619215021692231078447164145330499583623043575580952534381959264073549888048431656063585007543690302812469037738447237681281794024966675884312278820141247227020782672936024383515718852570433247180816329548461672116686423061288010003620849048648585034151774919146683240672324707096767923797383391840209636659081719199410047846899314056183863697867517442604227807028451738220970562646745246280011987447012812875005853008770179485918297778534787170094671995935589673687099523416133361440802144989402797629477558147469031924985056122572776737258115469583572784588455032316035433615246800165268256197974360720597908171895512075934957958188784622600893062218403082583070840365921157698506314885687694376690600981204483802402714640607504750083340572445990457364803195294546328846463295881116577547315818931860779226286290569284106434952898987017185437332768064257086585397341970832155757915807935758798021222987622189412031937682964640821736706238035981928541362260189200230533756866620515040806406013915914195397048025633489254119943253182763953583354002525053828969354757251517880799197609348527878356941096055967973308127222459120337021351583821194118025199658479984676960471921767064513441018011699560781896586279252741822748521395455931305047795001532995641715730437957111313883194616136081446412610492787822519837305374243194524188662734573256206470585970656601214391392768136269019610623847185860343436789890632168093665192709373298402839376410634621177609177850845693253444918866253494616156736227750806071563156518219866732252367599387416852480180947278161786309289706674033631375465940528199762936154641518901584942932203741072510981488095754539208938342921633241978794951614549141343542427638061741902557156805938860309758341902273612884758029997284113110109767035589998852572909142865252211322180824404031943405726716963616587115150732065944659853734209765138008385920136067607075455822176037354349253476199599846366900316934471049261324355197270543137791212685911808185458210265802731920844213200158182464537566861439735171841414243678074138442803398764055550472072093068103050657689861026390339599457005420998892206813596550933690804911057394050646239957523861852906578304320425697776243885283730403499590139138251225292914000481701944803886293316994959007553949589098656237317693451792839332437196389426531594261996194596775811188785349628536390286920866135778502252582303445486880271161692086496354304361586458013145191480385517198926031318262237514477728365723189737975119586094256528775207122785575683752189462857087837328053291115015808236196255764536188788029028995936098272082623062648183627781217828916573747205381960238330766851975044255548820902975691722529545283234943052928504694722227141945400625384635193350353450518673481013104596481481879769675735187172180651737213124634195498301434796882375989693057991777235868263826889786963555330806113921233953795852593632244941195143051528262412293185297346452516264919138679820318939863037658197110232913234080799416145724922749463964485782849440642611229011388141010302205210622514091207178102044458675150902646893237794588242751751102467642917558755687466194445102946971275861677392168787182952715000021692988404092745064527517244507192108457818815982526337482525082317504554532093707566360363922716178643644323312237285676416235713222839678121437255480602945772987194208237063941675155138923280511132641703870228945287742027468686228722781627253463667356014853283067311199006534536645722438106149274774343541520760482901971768570234082267493257363602116786877261002399631210138614550360807229554230765801473695039362282091954016452530388634586991800823934015815275766432043445719182749229341366986801449371223141105149363479560086486957615026987153951572517855313735984238655821627010721759197185399411075594579960896929203997147049458305730856054429795963425465074518693329943517460970296286740659228545486027937993497060831860233342383817409900262459035153806907578056743105765645210725295188029415346545349912789926836151854821612114748356529926849173852909589298264252067984632484285448857272274969946477545826196169593442515901667565243794467674000921376475796731882791994742573061863535249345534172010502111583478684025864970518113022108155404903734386344301007760504040882928076856887013410774644782717668911342246386027194391788609793023121507825423871135600451958124508197585478425038488199982422437405265218265273660165166469898233910734623196854302193971042837610412509168364848256773277742685314860204259978585329827429908780024435183717137440039082413996109389692191719514298947488265080929026456652619165697498396034422663172782868001689286937457672639302517072558654565561006808076434473205258549763885541844093109846378551553082225078842297626098330030423534383570685092272714575338942347398700866868211407413662992816421615002626921841636050831230171864701367913511135841253205789900569266511203201747890409616211865365616699352308295931172981557300960976463758553410052307705066806633116168015800908661000420320914806779966776513274899518674038377170706803938274681430487758405319560079671143941018963433142913953923780714628946880841597161521381575526155349827665905667552831582098983246568566938806150432433178227452941806647296744507198864273845621338146926688835949229943555526203483351422964137651268372356718528206132187920986859406796174399726185001468651218203984158123965048898240533566829803632332034519331305650200675459675424653411696981218165238609600359264712528303881491682795032463007310357469013595705404491625547606354247431957912662883484775694704207266864188904922025712894438604962233880958355457817760838794995136796692481557850413524236825124017280839997031391658381186715813048522677020297569232284246917610908582136977523803595411609958436425272644655592923702040187325497113113319859872924289117374785355780244155343381899783816486124634454001617903991779812693125815784003132770093299271450359001793044670229150179940562590579915016464417138686861061210310978640610472238854494994541706960860291962316356770451669080463741344100566451240727557998570352864741187080845867403065707042498162087017431541241247067405594206102443013699473951514153617474085579346714660557224300950270729159858130142145345601300815295622257277655530208538984690584619952059206115979243103360165152272381332411831457627632428213466366085744786648835971133972390337189556239647088079006140261252745724778838876127479441558628153432349575854675106450956522854294293272903304915319283066867755493251751159811966904096374175662287131959940309906483882389214131502470688434378192006705166922192913983932503089978168973210146136391777821471884762027335189316798781287495555340005176512071387717622781072039535787725398457768610123635589889412803964302089132222477358360986534088991696521205954928712551056909448370457449785923087987950347412031406619448195118681109006005894243083858958673645988155677322931083995841152884766694882253829766622923379440437421042295615033996528916239079755370903285283236410613222359150502708958679656553564209920359878026415356601893290213072243262029885871426214777168002073182737430752039282742499075030305084722426989349295773011878428178204213707468291182727364625390358659988845901366522840706738522730446264364243698727992711327026758601782053004354382939898747766416877891893508106725278185421578956854956708321221102418162317436278779718253547506038280451594816250379106434862934267514464329285089677445972876760152857071163833496847486261399509581634198207894473645088708487683867606374670293656696711890150388087315005254074152335792344764730963011161512004025436871541747427476387681767065142283068609684960623596379531338916584528280793860930457193530636115006512472598155365353211005175858858787487174709957005647540021942413569703354554386812483169527766730271826696296785040113618553514008059227507697540226074829261460623076189765901707690171470305356455759206046960661289931873790782126033083696275505632591205925367674127902589898858455841359889324729352527219303784170730382077395362209825990710333587769157464101766001612755262177828685810810281516630724594619874378818647182132671546364638740071811418771065309256171492277947414634321581345491344449655186218390161865038124608873000416531382886316271872856740154786890948722206576044615514340919046211095133049579604972993039491589049235349870754122121771221612692194449742348194800380233964186144682840135531881060616037404667961379317385624885583778993850825402891913517142856307996556772578059281726885712529864063091039843296174998172076300295297733984753738758102992350885646954165977786653966762582099633245353228973004771914857030413232237440161573592881629522826450452594983682117669872749902619424142941529231741395235408762693484095669033624800197939732222279139186040664162461899993099915942475721015271512564165059317804671274640576635320523961621016868473597827916008567340528241205818607875196795689795046011066465725402908072886208181273258082025033010552621183690401955270150377491777765220661381209120643765585195527878277569535782698673042883774027656141552591939256225052013189736266853191565575735128835251925833318978919590218960874563795103994819202987007936377565918050914900721392177195698704131375512271140353343503615127278722386999970175471215919439153556075918504430042724784730327272128567865515986629478437758364935603794914675439904043293695610434230217036148123423619684116207114372636414300636777628763396319589935467959935286198674870413025165217117375770501018816907034007699697912237695894446409723740317181951579468582938098427122917715844797877399415121567235936039388334639250750196359216301547945769435644554147960155684898155355143460981446041274891530178370035213796713080330043599303359080957398331698632771398361158232522345187826782159196583522845530533220205949079908799237297683991680123539581765617064649681935394890801903542019647979731359505925495885364112405280703534884399148418307098083635689270561693112777777262965554047897286284260734672562644090118027544223511772979451063429664201110666233905116888691365043965950145070534277451246763870954456724950149950208736167151144228657308831896146835966365840372320168183458594165517769142783516748114918836267684930065198583260592603616803869669463885073828497168330285598383351937448869622510126757885330529694508376718414356828668083793851805091701029625619383131957008441128867735495536384153556614890859886604237741052330579625941522424959680752737069401155723311562019626787941470340006844787237849890799827802038568507680668394803016637096512901993684687880972592178053390544292080726138364054743487298251236132778020959718961741376238942507605140825208012109251608962641855811241600644774648132243111087527280500600035062274007709922628086151851179516785678933381139339079706908556861886811453849402559834595975729733703722815816710728383202884445387692334266973695360112154222902634189795634511540093782938971735157468460998840198110191759541501589639619601279509222462116711870478529720303885875286799194627029343368478992511256574204986199941641524429257340072743466855229104302721305549133786935147066409748932409810680947094457934457237805125338537198273487877425022574442614303475606399695987793215490789170620190523968276735093915374464701313833204101021426044374192631777795009335144469057463896907682609468644937381861282334179380556406757801550837791240374584780652449170258423959848536923791687424428834108963565835844695862811767647139137227464745579325024635676956555960615311258145308138930821026823712636131969292500454929362543636242516918408611920790387946265674583590300265607197739762075698119600957645514907020759986394655005441926686413914757571865347447282832818176930472017656018002609204024889393336752124230002391860643683073526396216623378102457189226211253937976250975726885623257647524645269211762096344537663026005253020372871365776597503552761580016999188122433196393328195901264852661461509449754253514159934092616466069133625423071494745401788562547563302426534288372069258383907721484796688954037071511299985800204218020759687308759780842204635528838269811335332021848706493464906421768092381260191430822164789116526707905658400096801626692972159873702104018602575434296763934399614116768212445330792924482372495218735393324561192649440255550629396620257986647748280968020847857296908831685606085246847373623471375372035188180704154283557636833373244713479316692862478002169099955786993942792524066877972235155467679307222330322464076913410685941616917492400306396432306056012148348196400849285490828949484181066406056079952812768552534238506983128600749667545413479618519755263205713204183968273949046038878686703216754585651890346699325221933807618101634352019153634903999709441994775345803561821045596510650415731711648103129049960393692485880071498261212021093345713669294148860416770458417451219170609634016287359394985904677902048437223673482338499441485930489993892040718117845846462956078003676702800271751084570020941616282774559492280320857017452585695022078560743434955312275293681293588545517858531498114245292845675995126025208145103617480629442735686605923092130367754612767104767412205110209400736932900805704506020574297365575233955040066442547251689146829787641807594749810929364761976610933684361564922046748508169375359365485494895228413005659164232566173236120539550818775408227868610206525779822312404829282760207494540220021680149003272720868904032738098179707849985159874129099517855821931381101411452978686016825945236539775827127074421035430328616374179883688999178852416470229308449172448056542336453489983078383426353396931327521468256230785558716540110591536405224003791286843183118562563556412270029596339385512839930616512512267755498795633331415981449543370180436213032806034481037427619948341048226758271909116082178516584630427365304533342572862017999870850439686164600947051195889268016801035176753838081470101476495664189899084927444971040292805410199027563995600135944354409195114715605655930623271695675164493508499321337041527249300087054280286852818501657595536076674680135894672640867697659631099150163610658010504535008479289963824596193000524315452450889208134769792463048890314422225844399085266897325191830783202654413348012591230326557917627669579744183108548258288005495750444660178662931573430284044466917634226930090017744500082078157853302823940470316154678922056946116807181504691835323079082194850906259707023569391423441612278408105556230151141681123516159189541586617077202455601151954165430064543585622792146250581575496540743249161370182062485984715632065570373672777453658871008224821193637874195713711106734541169871655656781042486653470574866100889606257174664137880028930752536365569038417486660919285336101352459084493548782739072672287521882506353687961187344708088895912222600165049192877891415675460539156939171011575849355931710281504051518413635022961940820794428044327628023091045371119259335188215507671570292455514122940990747856901408740657380168075224918738417132357192257474266247956120013399318615239998967309296217710706573143990152727792280964178260837975363912425999720589724428342217953187685378507942086272254544980798734569798640398984803878129707692672927814683566530567627225840864479945039090743151225654001804815625373481714717041516979164771250039787908547207542538319350671583536079575534787746349872224264978693543348491255493584503011593800282103140876988311204781330113145041847337151272133826692607088912192850404832491470485434051066598929133143402906251857312144260678202936164276640891725670976925541840150922032533779049556482591267929297618190393653593225060935632614848053240278604607235564266739263351866171927383213052435249437513927965545014642607030645982753005157835701174160071954915699479915952651506551803686652939258354880622948082614606947541842054093001761585499263984971851172630519657318205367910382535351494706707508639229859229868985165773106679802150451360548207879308001972018336525927544812443338567991424600220879569667400000856953627485154708407020739123676987494418298953847738143902925450991048641274471967637715594113117958402933483329221457015938402780988265837296240046056749364502490532958377558385041857013081555823595047607698273117288310166200624982917171272578556542277159615223197529020393822282666113361649065163683193350471236579733927697546739448494854798477205128013091203021692855113607614520266720585035703353445391872567616697011777059689210687612551563161255101623655961738520727580091165859308227625412930287316386582415237526727416775288611509598733461294019003156807985291231418592694562149809106597299490007963039046612092781264956476192646937650918192899942227312368513849609210996909212014787592030815834034749623860536363021132799895238509496336656129346793277520007954585382807486926074815795229923465949781954690022312823186932184990853773160639565373795733259806506272537595569131410383551701215616685945318344481364658693896765227923850241750203630129859905486339199880316366931364665790063395262204636230526802168594472220966563335935595638402507935373567877440566270781054135319334186185771172988153430867247752488045799365369683840646282693070048422332282446399112991041084486315427729408906486889492212981575123930896315689406224813934940723094771131375125320694854351376420573154660873875270960304513116863663449756618014033938414961936633720111650420779677347597223523008975826315607732494201958087885551768165995743395592253389765215302919293458708437533409542111518442758419257471479962143488485264002306049740171550614782469622735914623477890319164566182157975480562267998735704004539437146114324941670974778301118254895997086109363420999173996062920070088688552162644744545046988943450817541655367359259721386345456933467357217406937940022111703094642455679947876361321825169044378165280937692566158036498111694049238183930123759775137932010369824653183477653265148640938613589788502324840374154368373381572334964689171835969428130410729056381103960570082313868993027596818066665346301132125157783898745557077799807614291204011523899175494016593586014957128869282189753559170558690669680544754582051429256950182989517704187723531287361236990408356460841642324332689643900113971367693590623178940219287202621033296745377259463304464084127894960581686976901695071924920287179379410415251524560829573176768630525355217985503075668767084873812949915760463092558211185287326873175962134384117811264467559301587936622241402074764970772282765092809350561806241952870053575549582202098348860916921440623610647503668907037988872613703310080919783138841672459232106650775946572221903286433760999980793651234717421880885398373095269678115245521251365596756628361660894509867303755387590078360243057276118649496603544719745339220682166674964626758410223984924981369545053081049541915736501940680454577629760776344264203592773639886967966713224917511981086635376519571485715397589384648800549140209198878297992564127960161960458519939071379457711902754008166682373388579813802532614876373175986444060772507699259799117287600016020094734347914496119592769197449388577212802575951797718221938936742671576177023658870656632371018324094622766630189149494787277470477632713748815361538544326136442114494279212899354938038385450936508162558704691193135400439639027398765589262425545297861402831134584247202486400665122154277717132746999089248232334980978661099144377033554048887626926263081185074463066184049032897494892362841971272033732597919542034230493734767223728368745162900381513346821450496229132036556257228950662418412696669985492303526201121079133278203820045073273275438534207835268629108116856302350702622949938458833877280284975171717485979056035581064933658966026269324167893402148192500109018283501086788426283791017814311891346124333962586374091621237844703267706849394466621646127305487508807404158929250605488695500632765995661816002813968381329122212842989588744990174832960688899468309740844436506831331097384921230161245280644302848568005792859582810606847804854885380113183589039656181631417040960135319616545492412838404231250922881619203044212997471024758315166473900985457825653536578341152964038704136759040802735484671229131186810974816545438458721669662000674342269100358402700356325957884114219241099103930155718929385684807332133096643461131768096657296154684703302071105902834070630246743917548834198085848750694655120829565896976484001859330802921629246305119616238596903301465053415891017177948831079788437104602041015268077255001080541412656773246502737821513330240221741112790760689349809616451571790126086468923837051047083057450231812373268312384351814662942895735305421084072486006617063973574923169013967419331515583218425494285323659872718677548332928291408289524508313016372232603502822772200847267773781193134092422246563779445353235538326465133306878715507411656579326380616657374003661503822569087697811025095565745571473614740838717678661572605850055947467382974099560677861235214736592237425834883364733718269684499945990611252652944943101230251610491969955882788039740908256981025454504799822208373826704077410800366940375106910846798160295744903122978228706773529456731845803725490930422909574500391905641636048139201318767062021698087873560881394194131492082327342663883865498888528305392117836950058201891938085458641307834573115183605069759420199414364005331966917303446766517068986629076712971476607253322074580441616525026685646675149491276061420088764173467810149851005444502331200737588130478543540514954291552235687194732959563738398825161221153486006124879944333532423775211742068151740065984897573000737553464464438252945625017250130816745714888941500702376716629022291985230869842566483937875701320535152246584216524277443694834465608732018031428803786859928666553834243557206678600815062490551100432697208245134350659821577918204233317288865717722389069847696174174732031326961893394189841833117334778081495585345225420454495161779899890651317806538841114128960606450299491431029038663556626547835441136918135590561698750128787328628969740354791574621257132439319476625067052725714658249963891612385417904959648802350249605638464091906238060497588906826675979699856257253142836124617152237360364135795383905942240361352569872267809352832762125628534479154730941617282353708437508180173722261893700009753291346974388364909299419607676595214146803380586505539515690638824796690136467312150279908181663831380465695543772347561350913929490681281044351445540089993476621534659931868014713873059074448656929462178313445426154485260690978482633331367939505163157696895886948054966365017690569940053163813299604759540876911351150498616516056772518577721731570837830788370116405744400413653291930426895736647110872301659680058061638694825709752702276094763118113634614507024516063172260861019759561170668812337245500512085033299676325573576209146364394998870673097499138279405508364253752865967128489969288726074265847248815932657692061953186378959794534221281539628370959434773696901013869919952662045201766454367269080909318556172696206489173471442363596551938193957690669916212468438932412260356074585550923945283467101467833337023837230216670291186671782382118747601457723414305550566237957988308520081589514464602280556512307591136449596434503975400247772005581019629067923057626170386829340111628315995945715232777490726530450789103202784337579313093935724412649149788154055626329742800420775860173677590712046798488895837713957956941982058057433609893658651324251024942665097283048749339320576320604593428204911097825909352277408341005311407374664033783920755911339817328595967728553658086311801048663908115873645398753350597705360792878057805154740738853763570106578698497045187604594418709273699591317772462409525827623119576873677274366590480132357478099648146120198205995146139100180616888031472213427734839627401401829297425416300291999307947629207878002559764235836534061975479144715451603785755818158172359115779072017185915006037834749691418659727466537643871264252945449597790115281602882847041511305773658668351369280572385404551098172615783089101120489483440324942097861475230023857451562245348509997664277526290093310663627097456324458017494047634935772761867658687987342291229671606471557610519214658854508793556427303323029644969534545876114364398413192337843949732048727707911710410192571700795094040026638465396701167411096396507159715371256318955095979116525048726699136481417039675837485788102909656533961639920607803662478493002093288278266801689254704607319793031024084035279913546483052323590813754576531301407716230620915627184135035760883018331830523195507283250024271361346347530541323700528675845096219465716330705083818435527075615116191615274593660943396865330786493245153386846669679467847948958421442149586532068561045291971890210987838221173121047141067847532922788641709020943688508654998256905882955990010525884285647112964533640047938639026052360727844807777878778444620668437067493596935867116840867026139400568783531780521802255807844273131533132560217853799200529046533754346806833872915954648998240442156923980282157526945540067660470779096508638837327905671414623507417905646602777798594638622784451306968714834891128964046165251514095783981851976800249058836581580547026153290116334931150713900171019530602583502746766768036734612315031087682049781717392906161992103626645393549797257104964615953624983750612864815273375388329269846916178222538687372302997732535809745661321863927766255540338236887627744668590938275847168017721563544149899277599276599934619840463073420114263396701249867535474875978719971568177437464347737545651297655881366565200439310992752613429124691779909341741952129667253811993013321341297381405629481554219821163523937694724185434950440312558247831928506379154304730384318112968735389390066806720094239178396162594212009292318648793087733053787034527510573554687720106568065672200644472139727404912893395835001222984507783109576725306128116831720490001277573024365288476178531770098267096920054338920371660823114738678179228809018418880707140162475962027525762746913632487149172441617153801261183097964323727576042986572881677947066006356903654459379712663155647096146652867519137599899386693199926891035387236905450576740102002742506673723811506679554608527999827633003003001618805852032063538805281856514804953923388832821604800505669589304604695501995825046557731487688007077429871641022109572730310717386553777541957716542805438923183223045508983339914528479743997070918308744448188282225145944809709076620123501570324924548867676327612630173964324969949673074810092833803312655050253001069021959420238532141076130294869452433501005159250147827714444422413915489617490740836437587626590207561036370776592602067831259376683359497001452465737248882023417403720013873687315740175687098458375012569582765289611035031130770710286510294354085521223979114250436166106206955356532675329875405629063015139083896729922083149523655853834091305737425659716565625640160497395909690202369945716505679056051439523447156845225012047628970834222471775208967528458702491425308280257090186575640868771155932119930817895514860054272984732664252049669358534323865026649139108714405189231251647629847040290016718690640774254186138194968065327419672296062407574589827863125430802565953141696782041804665315286095003396453813687575301415483427182308707285719414401167451398674875116407151934479562794736021117631286853963500475156888920975914149605048901706107417320021303888041371329333637529134749204987839546942513427762776590314362560908113001445849784587165896438529654522199184659451407562318831481373909958402759698529699670204785376763841135120431674490666558677132144591540000980487850670602181821950102985920146348533132126865079075687451519694082483275287059663831959085256670227186561310321472566891053302030057106503727903027017802316733084510095841288897797273690605830500281395861440295769925054561849623737271787117674110296721849360553459544945098652295008751784483613541835527367338984694480426895961135019069267576146272259671350139967250972243474146547837717318002015459841150831618599499820475565460701337603049867935375431601327575770769858347659403525144646534902736412557943136405564651415950492296438582939296274008795191013138862673567110651180769891215950222534206959896677010110026435614352900956094984832736979970448536467340473211162790743866341637167456868566387394059787323068454438642188070848394888183959796552078032843240699151956649156535377052420374036517738763935927673146211057613209846627067685652929701675731362094257417323095937097695794249652472774117087884203434308466178974807830441278988542419370004978279412623555287880824431335583071809245853609119189839941902781910027902507086853552349733199560500902372946201946488310142931256585270652087287653776824751492500293441752328947976072356920488336848158793663116780189445110283456850643348006229864651945296605056418899274847698357041515643079719192465202533868868090697888981927535528527660334466233675182744717061143925331530619974140339822136359389549337351904887066384403050114605006128368303624884419244394849830856658190848110819982741406087549487854470660006971245746241427496466400647878807335055724419101191880240149525474918361331144226722724549359106898756556082537237491616572976804767448830953130665220998426828241268815725839668500662885717196230257426560156220320290786175664988062533326825518256082544491246321996204180981641336968438412596141750044169362145382142315455780673521331871245383299543402028317574758456341972527505302285983832453603823253262676521938963482487102639640580820966770781529885477478197073617393383640725117126892401974445536228441648510507818436576971175245368603867430283912068625819837505325033243840977687688758316422423718242522191439018683498699681515962524116721958308532736269828012873181591594074020919519507704853331499207979451908046393240551298168101438755001208488638306446901496489136455124028297844681251669461399369588351797311114005957026631685543550490550202287258904982290857125672116241028111864294887993581756485391991671582861302888620278524988214247291921511854189975926906465793487395560678898515313503343319739095309459887735572985172219127519104815974452067364988776383688369464461087014067367171249993342884897643175196475672343132218935209069188512824557663862139890630596131107094555339777050948953741291748512531529447071954462796773688289282544482814736873581025679601613809671615069931060974940750299783012775552657930402094672741170541717319098460777227847973405447526276319699724632700300802282761441384728679032357456329323863855418357983187758734166484972821626767799258845589966640539617942167057907782629927862125819874398151551769229631378603578113466021433677899059732075636612760077599483634866748434093239749447151214812470413814271581060858052607381069290519640900490883454185009226620051085686722816889993107188133442425799876253435606217331283033199245746949832326437807968004108567163247740039544749901893157850247069049839412096306359876096301632446002553932917510962102052986553821223240223073584528448057432030273360027333916778771844915308894277740191754540693474856910896742596677841555471284301721571859962106999020737117356018164432869878323581182598996306228177479081242041456583761310104085201917295343558742791300925417835874544908027007478283935367411339208917787847682863796343950584307963081138452749340617332859007323455688857869008257139549766497711626238192603634309678314192766234156376473005436165845181866246708377246285097336941841146962634240986858661775346827344388693418081862260730915431676368948855688823080706554577407903051426251840416303047267597664534078231126722762794104018222128106310707729979219865409376283939928777186445736675260612620206352043137017089288871361666014357226561632544919254909183438195805036004514625889166574167996939572982209399112978289412779223032455617649544826517276008587467637524524165376021327414407061773452545762662853535093290992736384936290495431893314293011394124453710934635154808207933481834352902740544177203059656982692010109925188947592511355669224413828415664197066789787885543500660808687033375222610705542521162975083004790151980269853144322657172652977806065640000999046034609526759146011743991941751728140149822978324677739231865611103847895905944055897365414493475392397632093466117868384152985232014590058347632176173506846881658283622094999601197651708327094989623839362758534803151255501066898999334355134046177837520512905986352373216537678457896997171124472445717796707405360572570597555631885565692826137146928081275887064556293478813261991040098180695629972172304960743546712411283603162044470500779090228674577980520543388667936979243333337192566543146667729704977012837953136754217420081881607842343743646013483833388908678693695678331314286496127195428525614621164567357117219725428982415538512172729606905576759431129454654502171551772912589937261901205834329546645831205091304502661798368297691763425626905815797804657169820471950854112632027185748083157628140454639721497323610315782026271680058923798674190404070792735414294500036132390097868922383575692868138993097692273220468080324596665713420660514771872650971737169244683307516998053888760634094991875652210269151668157285178799255944741935107895605265799459371433838773694054557827187149748568844231909574416651773382398356181322976572946829244315071146032422029115774798000877163913857808097707012847151285614271502153283586588525484852108693852360229704648546444147001253838495416969503457311482694787295239606635364558623883984007367552993665357197473280353300451382295312693294699440186703127993144832070843909709712332928882798414762499281660080807116972993754504957048647558465784769378217614150928099105537602805091429561709630859447691201319882858295996392929902989206458123294452523032229505752019703937614869467511030073720751036031253664281966586866753865055087605073950402917859860901590107422929858992376457120480443470884575604343233992426789632370088870985577622420040458129191608936270483555115523806312772325378101207431094717374773466617125953070027180696519284403627182485929947246447257204164349500795516897561464962703926534572943440477878460365958713574434124403479807288873856097957327393462514265350294076359422496063761412385652667125509594478189628867618449176439193427589941603378377381040637704437573710894197974267553812654015287613644296815857431931758173380374731129495807863511203861050183367158749690132897956928138122890095318605960622107596147249824700469358845261954718474228616416559042797283846373691946229720361724722817081792673066809445010774474807026343176056924272335342603098477732004212287336633279557982543367559627929645646578776334946217059730467508785854251668153137907566492842314877856334849041511256254324135353691333381808007666340411135169903025366908310819120761894552075306901005760195532694275881051546951066444487886576050353115291543016860912214608917575735231107184425594652102937648368596698818857746779070972742219586945136007675696881826916872125787784656536351831923003729457641238471530649557912649637704979723249991149046389480607157992411539592464767544793575862419539787339177440803590020134420988305107337900180039700040120794686764982673174322629334043846611521021643508926370890943276369671731587935764432696016246737988126587139764314841131456693536489262294993786405671547235896641494139964066619763862394185646706070773712220232710044136742262852877610928120694000335383481259318242890091000148366826492503526433289369598711685124019183177462348295722089644665875032702087039516508193703968892525239989133335356033881800067152699978330122789791531657837636547773770995562918902487036488245789523241995125343550435406391556957383312137968274523488374457642712005403639959322965681662100867520942270734442358861811078969853297067352596105260164579278594213199343394357549687199055568349911392342790497277545975576841072967141990767605586145264473750254140965580940563057099617265690329718517992245037293345327075076205118533203662327232116887403978269550806081259111120448277640523375786258608929701420567070569411457491082318271178944516171688446512081431459605504740086371401295895057005880363532480157875334831300295898574973034267197918130838699769817756786695663002803684009190828483552000907037597950244659783161390848825971575986704875819487289458463943608988566071440331480400723305732901255133316245128749850132308688851997041108998730253098676895294277797780904843096936615027168298905797572763497981228708853671122205867045576571800345732756817342273471767110525209940242216778766264267818474214363833441039244681492544016266566405113682894169481140713461231426390945713043445279265271518863041748481461270876150530617836084917676183238149113831858697669277061415198364584933267760744488562384982143150377473316561263485988694539989206725380573333239683821979787024278477516536586399692286719087694893559349134593441298758941403881603320834292821458040000795923771710543539433017951073025419350065231048800650582805662067795556145734691497556464244711731776265936693755970117275178805950757635121961046798140859972077792261934595410069074699082655327561542845834060011404064169720719219906068024448478771007525349385196663190013053231659185627213338968445057655397543960815518111043344463376247859375037696649618778875054704251523343171119627463165916557926091203607900913933080679356308066031568737255519900477037618407511134092086845312537725958095458421826802335026476731855529632388981938014500442240826621515427538877629061317250222351523059081633961481043811963807454075697002117999212289238772075645623109574834220446989687231139263751180245980321602755662355941821764209054471392520703956911132427142044523817051205167734601193110083597224378054506619079425819484991763313686318805898503211633512941985957420092553365438054378377546594586832068816875279838493144319911012834814985988952480557401679507948235201540843335115468205161783934261544319951198187888867780134920668524479249961567799901595665998397985959861527196081505516042617397109526947575833881634957207038509324167792615760345033352474108284435958276269217670423776454814092415107408210779568232560102547968346955752652825156073481604189677299094074253886407242388360481301375174375239587391070619553387728418114936828061322414773483385735273363468343993340524973496258220733220572358972092012182344816530073457364774341639643708182935071759111113507111111100382893885102421023816883917636487373596052271980968638761421958933595035666579059329538006639163442773952548285824768331545749741808408462682778612382746076453347440946162415155077633089586471579692075253953633506010086241820841476328888327706436727510644306397821352069329873799509115453750708530600083293138085664631767837466858705564665394879351590926883032612899524422060840224390613634705190498608222526266091086715946165926849554883095147333193402749354173577279746962627156985567733403089403367086879613886668517495618044028464441542599938977201220186140618531971072864711292313661273228261798293570023739535361524579876098582028135478439672751031118758134776136036008711764190789264323850809895946349141083429524908786459906526088253246885924909079246372085755562440645385132817366753069104474650250770266075952956527614303649285258805195196745794446700334862645588911216975640945010255494276848335891057431812060635937738164187909664566285697334480672197146785567282749840090095293005771181519714150200617766263739879264828702737981949813212915172253356784918393737095831219215066807565175520898597656273775873483168171839980857058015961570097095816382219422869780750380455416551405116290031558346358081628164540107745280079156489313924031912739921887673341356446008166452305427151247910255694818644754038883639623487428985148524815745225383089762116857418783166960915166975814290550975699107587590048801957514893366630016459353449320280663627744960678374328486875142578314384595231687819312202444394701301719085588248322214855974095038964793232993652200581901852798880177170296352286865059102909892305807912752735217623843941276491142072341939137075549811670174510846599919348396045681546477200151497350379802378269980138163474449367411607789339948489123575822804816640073768217974632754166575662404700540093756155654644425446508896897213780752922858149882868899458149236850682808195952859297691833171052329938680950760963279224648089927753934670757944088646877824736681177412059335831643573316271465047431249241858633948577742145379392855024948228966324594553172727443942845806615467956266263550536616003092493163808302837335770788087206876981671550696721604306959109671273005635042965583246648266493793876719854863154144114686399378015494350827000238709579769503911208150836805778988634844370703311809274054132654483962564400451635300917811097751803500460771045833087604525731089592040152438422816648607335432396265976468999348441644760482430470245733497566032783400515735435531209811129323873818651811513726624173708925359139829301800223574476243714266802409636481761727018995108891997988119011992768264704487750262581380798409126856893405280990151881702644112289835438991342818303757021592306327420580090208834884296096522267535142488526935185386209247730982448001555176752675767844570529093567776162946790205312186325818364761091132387717156823560356975774648195314434757826847372909990817390857315327919927349355903843370983288659533321796418760181067116812972064508912250084357299096078214466467331622225289528947613796119774792935663661763044098839730375951459017055917907708338628785081462514937445406579991816313554448905784905067865189709787140070652043791981056878754491695726714443888061724428056536595547287527686464968813665543014050789092273631834779585939101907589221017038364503865178846046124963876017363669331709133200839516895233474019048484985690438015593828827943324922572931147191832075476013006829185053743856843399260839124988827702899686798974969045712566217682943293093734108838286063591951646704817975504722738076961178024932039097817205865972977568089844401445584302542184975994214544489248072142703515965115265092536200264395690003813654817901403452408623812415600727137240839039437752320641944568941416687030091266830646670296818929154804067415665693407455994287898337709708385285155500782980243241274534516804228189196393847984939692477572738985599867794077156042838562881734046470522470596253882094842719856092084124260766116569666609269335016261279385889063142059244868811556318663851238784334295173841979292978163461816863423504701635049820563292638703180784298553333884739652477974647975070463227252361127052102451840030784735094366844772684755764855109841390081023763451166978008473860111641375336688232345424507558707781254166620012765395331949538450252981481222157075097125951205100533369953677768636430132196571123749138354096930418895100245991951972557186295916088679798917945813487010877770508551789478541103512061156250186936687455220659088553765702448958382541812881298729101321832316546572274548030097096081036658380237343365771092979321980397931942309953999754262559832346374433626240564777220244406557411771655384725260251317579541035815503008288494464645221106911358630490743755607591758532659612835003091033567688841442506698204888186071308577907681400293974385264640087982985701855204865651771308538295217436908016406838818423859917932968203680859968738798290767154973180333522375620788718010915662234971041285795024162354758060901183845755279028103826497115755929785021359056492881663775435485126477922926449215611205071664529348330727908634823185499774518937285187481844530112282270372660461028896353685282695947640254842320404460836411250112843122761389759369749622684674511667499999851326990061991384246742515956186736922870077986365154282197355932415109015340345906321344525967081009610970642570673436694026423208136758798684985248841203249934380761907293069042062350584276688221690408880272859093550319682667930016698918642353419171987280649159637543118690206128672692659861162930626288463927467173715542041945688370661044305494433346307322355025023963006890608973714093439467208411913524045500439451162627124137247794345742040596435355266121758939004247109676218262577971893078768922276689345374758596396203383721301237268007143301778309547554551054602047991428710706679185229801183534576312277031764511896089646230935131939360037960317026581494718939252682891460600255200592791483285183096572582173724155790492003024594298666988348212624511032009054634899256922345549254076026691688423086393800559832720353803252674578142905115936423203057754532059447774064367094544064387085814958414091093275263789781539343138809254583958437112087244490258141148534908389588243086108417330533061414456140822748445290184784555000855103509129834738691388838317132440349056139672707420563464981072070691180147780968167055378446710121250979006032256746746868043673287634528827183200863058835507991503932439028218808301909673064153892441521114065412518897172909087914236404824534154664179336157802512426035514550014924718219076475728725817342200412189497793134615763998814406728665932592408985139834462652465411281795458932017926087349400207561398278920872601095472856303631196920813700636077582695340264391157135031639420787012410899400081242192687399666150802671550594593567325672254212291368709953531089558906585258815968925643689623167171073682905200468589791346670101527351746211806079494775700973868535907979108259305055995706861024113000941522291527263308755554974870581017547911575676600181178643941363568758453594539794308470630211585969835540814963697119554831032172714095427759979802291044453919587863862165600501059495119429474016486069288005573450140225763079036253893030101210271281568838249844606040200032053755518137999790674883589943416404949821789595923896048839369176073923705918299239581012258172015515378559778269138818282475112472985459765620736809722708775518122033044274185065919868439508884998692822858107773622904868670344616413953163455650905964122449713297347979701769430070819209279234548088483037325817316104714612199320036459588191157328277875881780712281105796962521609704094278080839932899429725393442685094516070425802111470026371173661961365777374104674856620233419400911568152035276876127850173998018418695850526021617455098551078984580521403760349597287338696197921509469584457018582057215302445072332201754390073237702249078130445957375029264379224569111199194282170286403347697113057215908078850586256357937154405190887271810615185013673120755282124315698595600749274097632917989401699455815876795306144808365090582497445757040304447654471912718524371627283322116556703800339762488115413058047051924558055183942171382504879281809569411226965402512338365141530251459525999898794095662255030518393439746811535507696126121412264340804081777130949459230575737431543649707479204703863675154035235665713285017383187243100112011660500416747320029287949506785253919174152580576153627868951315505613320619961934189425413052027505953662267519892930257480116188171790415601387879680034761788719068206166184458335854195871676183478328711653063550382380307350539812321195543498232806369053038204976662174329291564780289859595327113167297134200323997029569997592003881859148865361751372022902777064301925481577407738080375353541565862743333116223523939358841943269500757762964612037532857073086435131867280320792841140626255813691120642903662624302344804583997883178636399439665272063505824747915485801918292339053333452514685451161689371442818323683301346786421894662649167854500688412687986472573742959563736403313258499052898183501834457156618772075650655143956697461360613992837814580406085622773608723728789556201458057246519537533850588100652050016499097906898827831253091904889507539717013187311622977167823197900906788584692583907651046150124143043293710818881053970066585237371993873775118052555674355386743110465292099254024231784955183497589964182070019227062732633434601003263615926771856075000949319488523692213710621348781621223820594453921321756449034600340983715227737275285170825190676064331827429819670479308992396919660953680489195078743038247495430374388147351117760807428157376456869034728401612808480957548334065780627818358539563320025178660317090297622021834811666572384551996723771845908281375726747804359473930992157441975350034298580465974550474059001898505719143981565153082757460583991215207312235392233306696359382309050209261701840827336121302148093293698150361044959190023859282815019872720720577797609726546728759893987614742402148855805201105240559413484560802315751357343347566707772707582299171237131462467576169911682034646860452932310755482353680594029446037454374168876982337011706693140660613320645873594186894285592645111656388388982797664140770360628863033563665072581191944768603836491053537891172767420040042003545899935109862975974094010244538785238500931624906988998649698221054352795504227199198263203061011350474921391912202797258001272990092061026530056221760338269110610669466857789212298464966755734837389478566488158654899280836898023474046191598745051693957418069005165673627433177931837618372846856554861536305494225406722081952796308382723127199084296073260819536174398183168757118811753758703426474766602695653587178055281410921188889006727148496367786064411030379463078905700336293162767337026255441649201211126179652660408277644419784422174812532505307858447449511856577270192955157168212267734481560695739493368693726694111047108083040122388154374088098832819643260411415886489589599090730217239197089243218057909253269870888863457595098130070112506508234603002710888010789158221365656832681165909735834780850036022998994793302226423354657109092829451169126667243931897662417659359416499922743085199122565756321806913088043337278795265485487060063189296493943496931238745585395065073637714809381843985489477803029556621767410939034242019533239151383772400524687536261542442193810098977557960217647851211614756835543782125215599660684314764229843285646699802996586050500631845538042496256231437296274174658510382020724861309042611116208608872880201157968594872429277569224168432759632991836885603388297100288307117737206194998519505889926474967640606641817388661100486311583429373411475945776161438415030395506561121842474898174077185647520888012226378941592360097556094140262180736442906853742410721879524867623550246417725574604874605862628049794399466104935140203823843697147765724377142294608874694835058407622517062412017050462206070737195543005011328246686991191483229259661295279214880123795708891236969512810525811898189176559425681917080932044601400392220103896571046679932969648483920326205649197528907742108283392553719697473303009419058503495504801804584888181310022440200607359936855983632634278118054765475956594758950389537081736419907519383347500641924805725463085800377537887266744686327042653443173710105356449723033957871718120991442073562583828326129205183621508977390643731420353392438953023230007599804194022538764702556568413563204579086042555139350587615115023556175709808235565856000158343003858547353575381268441373828006973191488503903711938298373664420266320870669745691399579722337514920714789624211721211047744990229898985712178225326486575408428964436492671518019562950966444271601674026312987799799053778353639221096078252014725693767573548584640302113395506456566423938628569558480365631767473770217174504185584009138501512700405644297993614901021203512956979997165246596954905782004012199541236097472710125009598555435902024124257345674469206257089882532743117804366376741213378206880560720321415640266548258595134801171889161643432484580950801395950968026688830964735756934626248664134287014964725067660729006184537760305484839873939095449266364036576147584475254073685426155758419847766524166832082577405174078995650873730738067474329426510667507495807263911004377283222566863543023868521839707141447952191494707468152877582064492751566594830383965457397802891969045725775810109331747877275104761592131178704333883644399728384490470307382708844008261651209171694605136442461523830943658589453979091643870336764856695428222006701561188042001273931772109997678529434483829407673980643937550209936752610543618225915669699242824523098760004447157194040431193783193894578715796042657764988053785051150231360624192729981257685585443003979629948587557518993546067039494929460584230096045469432580835305235016307813276176221947630367400167342639501585690249298482331283277094654377568961316101959751776247477571517197217662888270775072526946995540947890043738182189606374237042562331495924797663743516449526341041588630415177140060170390388307166671481234583007946364026944862616661929797086463578404492860926655001754029587231163845399119409883202254512101291303357206854134833760316002340690894839891717633409499182727806532523807200531452221435322124175061162253532463449557863232112337012307715827256175294313600004891916228493291525452973537431156894847297827373633511523207874794568085117557658826478868012722218796978481961831938777906087368627234787240976356070964286647365187618744556758532017060343393900604882220464118744655139635551981392570144285533772340582423708009716838963270360960514696785917582527608721820775803743944358871985127564269597307069088407586952001279644499268419698368493379875360018206627900695291250578423212887591083217601348505577417525283913361869458743051557408381180432725761075286430161293417496923361227428229291542995931768927726790968282783640923782322054051686989790041404707413433514612013837489962516372454553170399936470034248639510729772484868898787988655416021233135147659201775922898199222965436976283015577638028615661995739399052614985959585163977696657760466970884214635702549358224823402043266561341973713892816163443047195519319458611495996105009416949183938208550709028986670265568695948016612372697399381878534313577580139539618014704380970713010358873807513227093892907374213655252074840348234636373595670043464267742982816483772797196536398815843004831425291365345937402211789071082907152305991798166961248920178695580464959310323395961697832933417685590204031547752857837198836284773235367327900611357637399242016031309999238489213653090976358326076215681446913053004524024829367962262745883714963710177709586782780077860835055507793544462116854857937965791816294944333757324563095640624002441356166037538159503758748738381074237651439431243268207106298291752206302843891791437295948919088547929362750091767959363306235723062518915050874141998661698036764804189276940460554652430242677586642244470605084690298228269820972777778988039313652831218864296434397453458956026379463078648361360264800984501985023683775917667965863919121986469995577445938510178905192925400767890631120487305497152883829501123942867031600106112281586763445750119730119440636269752552086379000370871600166487056922906858648501222260637188213934693935926366648398130701871359741413901711352709765788319376428926777164261153185064798140501784716048086989834414711317314117852005009133607229875341025490170598597441105513916419066370079655224828503613442934718916680141053962338992035761216470552431476305529100116793087104676942452617992635896166325827505899431406314892902722432040592964828995561212296754363910903663366424357134259687699896805029452944305775948377258272974416615802031677179367319684475028338397878905743254168389851438346308055962080746422692082916001789865733636481266315001208633096901871872599444084554291458894959263390594031474008817737420243484945350778397408361071934598436483850663664272363561837661741185201236339629603183447349269298896469315591299194990433719256040863660166702600404812642346080262392134772735162573414006365533921085119776029960541093524852570445963201052162743239308611890264132045908519992192327736331015955809079486403588720429846060462459569482863043024869271505477364407127332513845432045030653550011334613125196969290729538787505854684938085723819105490386600972224403755853834505363660836195782349882748433330814705045539823505387423386673686778059463467861238322304746125561618703298611419786818384700027775572127950272220386103477575732067291648191583083001845018302103119971154227882313856276222098968164088172318587834526067767589665540555325640126127427947038153469675586360139767180180608907767538760336309270294601895634511997302596009186165995465771658924934962014610014608726059304653423824787017952622674828963282565816632399113368624783343928508923072829037519417149507270497620725763635214782194657981114357265580243630496061200270860887902964394471340319566680911732250543475664254403535770975249390274713074796548701575478196098731107544472549234931813633512281780927098856292397541826149495860105282953582868765266966142690281121796933258024840499657692163841548413414794767908635333068517058397094559366042622806159064744040880141060074195519627847796787467349010138040682978504857027685186275895933480739586114889529055718564056266356106577434346313613916785984742629964753876373779080751723207486202477804965203149062841930332822759960309541145479789323282864978863003450364259633588933837058789023610957041256314978818051135795422608058420060712854737769232647084865719915273978608306079815069384414034999779254487649460986009839062717787329512363602211322793929534221051892678705992492524298361989087003649579776161423372105524678440367293804911438491478937204384182995283750016858058389751569013060952250067117263146486939699875240829522487400942868804493705289239078932341458134488576503045935804999341539679915827899490538728929738438821123104842827610556100434422146878249966053474450642568676896475362814953047823611439966230614602936087132754973123495773569765292343876917266369586939844086137807691458307992564106165383296586004562040265579397952570437392248790106043594511602741198944105022839168405577142445047159708627930354793982632368245880324287897636515376105924710723016748731422427992347759302917749161206542909544411244322441816519634982358675383662539302825940444190441708823720546518666140389528098192061876083258523587868388650938971684693885438435440611326050541248149089307210013106004792413818497719755116125557333143932038680755230689207641928571743715609505708136001058485476040771002467166342935326794814419751260252679436125029937703572989312814158919506297504006060082709578478927339890216024773119052276869194331319552025009693230026866941291461011924570574244788596982303083563691665792987972623086933483768792926979327040514062261636957247467056633596181249126766067072577013423711942578956091704404929635097026017205410211143216238257840830033943690167183920316795562320141176569270280328141781753883980112016706898910181656614731660293901689938813759777696831739008894153757102966929064507464052205707337607722405365059006248124545475924755895570272532461463741637341240772625651572296590207343481844163079155807809892422540036789980139035651254261716853611237817973728191789650742570485658318499567143356615480964272654700030491851814915195552632243310805520453476989586397919688902828193872252798371633675846848152560296570825376106480498360633968945584578374581273032711791166546743420493073932937499044878090352901562723792326775533951536828156321095093863266492401779650074217241199842860175215273410795685797216045413560734207329210475574171730979452898309195806