예제 #1
0
        public void AsynchShouldReturn9FirstElements()
        {
            var expectedConsoleOutput = "0 1 1 2 3 5 8 13 21";
            var actualConsoleOutput = "";
            var asynchImpl = new AsynchFibonacci();

            asynchImpl.Compute(9);
            actualConsoleOutput = asynchImpl.Result.Get;

            Assert.AreEqual(expectedConsoleOutput, actualConsoleOutput, false);
        }
예제 #2
0
        public void AsynchWorksWith0Range()
        {
            var expectedConsoleOutput = "";
            var actualConsoleOutput = "";
            var asynchImpl = new AsynchFibonacci();

            asynchImpl.Compute(0);
            actualConsoleOutput = asynchImpl.Result.Get;

            Assert.AreEqual(expectedConsoleOutput, actualConsoleOutput, false);
        }
예제 #3
0
        public void AsynchShouldReturn5000FirstElements()
        {
            var expectedConsoleOutput = "0 1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597 2584 4181 6765 10946 17711 28657 46368 75025 121393 196418 317811 514229 832040 1346269 2178309 3524578 5702887 9227465 14930352 24157817 39088169 63245986 102334155 165580141 267914296 433494437 701408733 1134903170 1836311903 2971215073 4807526976 7778742049 12586269025 20365011074 32951280099 53316291173 86267571272 139583862445 225851433717 365435296162 591286729879 956722026041 1548008755920 2504730781961 4052739537881 6557470319842 10610209857723 17167680177565 27777890035288 44945570212853 72723460248141 117669030460994 190392490709135 308061521170129 498454011879264 806515533049393 1304969544928657 2111485077978050 3416454622906707 5527939700884757 8944394323791464 14472334024676221 23416728348467685 37889062373143906 61305790721611591 99194853094755497 160500643816367088 259695496911122585 420196140727489673 679891637638612258 1100087778366101931 1779979416004714189 2880067194370816120 4660046610375530309 7540113804746346429 12200160415121876738 1293530146158671551 13493690561280548289 14787220707439219840 9834167195010216513 6174643828739884737 16008811023750101250 3736710778780434371 1298777728820984005 5035488507601418376 6334266236422402381 11369754744023820757 17704020980446223138 10627031650760492279 9884308557497163801 2064596134548104464 11948904692045268265 14013500826593372729 7515661444929089378 3082418197812910491 10598079642741999869 13680497840554910360 5831833409587358613 1065587176432717357 6897420586020075970 7963007762452793327 14860428348472869297 4376692037216111008 790376311979428689 5167068349195539697 5957444661174968386 11124513010370508083 17081957671545476469 9759726608206432936 8394940206042357789 18154666814248790725 8102862946581596898 7810785687120836007 15913648633702432905 5277690247113717296 2744594807106598585 8022285054220315881 10766879861326914466 342420841837678731 11109300703164593197 11451721545002271928 4114278174457313509 15565999719459585437 1233533820207347330 16799533539666932767 18033067359874280097 16385856825831661248 15972180111996389729 13911292864118499361 11436728902405337474 6901277692814285219 18338006595219622693 6792540214324356296 6683802735834427373 13476342950158783669 1713401612283659426 15189744562442443095 16903146174726102521 13646146663458994000 12102548764475544905 7301951354224987289 957756044990980578 8259707399215967867 9217463444206948445 17477170843422916312 8247890213920313141 7278316983633677837 15526207197553990978 4357780107478117199 1437243231322556561 5795023338800673760 7232266570123230321 13027289908923904081 1812812405337582786 14840102314261486867 16652914719599069653 13046272960151004904 11252443606040522941 5851972492481976229 17104416098522499170 4509644517294923783 3167316542107871337 7676961059402795120 10844277601510666457 74494587203909961 10918772188714576418 10993266775918486379 3465294890923511181 14458561666841997560 17923856557765508741 13935674150897954685 13412786634953911810 8901716712142314879 3867759273386675073 12769475985528989952 16637235258915665025 10959967170735103361 9150458355941216770 1663681452966768515 10814139808907985285 12477821261874753800 4845216997073187469 17323038258947941269 3721511182311577122 2597805367549966775 6319316549861543897 8917121917411510672 15236438467273054569 5706816310975013625 2496510704538516578 8203327015513530203 10699837720052046781 456420661856025368 11156258381908072149 11612679043764097517 4322193351962618050 15934872395726715567 1810321673979782001 17745194069706497568 1108771669976727953 407221665973673905 1515993335950401858 1923215001924075763 3439208337874477621 5362423339798553384 8801631677673031005 14164055017471584389 4518942621435063778 236253565197096551 4755196186632160329 4991449751829256880 9746645938461417209 14738095690290674089 6037997555042539682 2329349171623662155 8367346726666201837 10696695898289863992 617298551246514213 11313994449536378205 11931293000782892418 4798543376609719007 16729836377392611425 3081635680292778816 1364727983975838625 4446363664268617441 5811091648244456066 10257455312513073507 16068546960757529573 7879258199561051464 5501061086609029421 13380319286170080885 434636299069558690 13814955585239639575 14249591884309198265 9617803395839286224 5420651206438932873 15038454602278219097 2012361735007600354 17050816337285819451 616433998583868189 17667250335869687640 18283684334453555829 17504190596613691853 17341130857357696066 16398577380261836303 15292964163909980753 13244797470462265440 10091017560662694577 4889070957415408401 14980088518078102978 1422415401783959763 16402503919862062741 17824919321646022504 15780679167798533629 15158854415735004517 12492789509823986530 9204899851849439431 3250945287963874345 12455845139813313776 15706790427777188121 9715891493880950281 6975937847948586786 16691829341829537067 5221023116068572237 3466108384188557688 8687131500257129925 12153239884445687613 2393627310993265922 14546867195438953535 16940494506432219457 13040617628161621376 11534368060884289217 6128241615336358977 17662609676220648194 5344107217847455555 4559972820358552133 9904080038206007688 14464052858564559821 5921388823061015893 1938697607916024098 7860086430977039991 9798784038893064089 17658870469870104080 9010910435053616553 8223036831214169017 17233947266267785570 7010240023772402971 5797443216330636925 12807683240103039896 158382382724125205 12966065622827165101 13124448005551290306 7643769554668903791 2321473486510642481 9965243041179546272 12286716527690188753 3805215495160183409 16091932022850372162 1450403444301003955 17542335467151376117 545994837742828456 18088330304894204573 187581068927481413 18275911373821685986 16748369039615783 18292659742861301769 18309408111900917552 18155323781052667705 18017987819244033641 17726567526587149730 17297811272121631755 16577634724999229869 15428701923411310008 13559592574700988261 10541550424402746653 5654398925394183298 16195949349796929951 3403604201481561633 1152809477568939968 4556413679050501601 5709223156619441569 10265636835669943170 15974859992289384739 7793752754249776293 5321868672829609416 13115621427079385709 18437490099908995125 13106367453278829218 13097113479478272727 7756736859047550329 2407106264816271440 10163843123863821769 12570949388680093209 4288048438834363362 16858997827514456571 2700302192639268317 1112555946444173272 3812858139083441589 4925414085527614861 8738272224611056450 13663686310138671311 3955214461040176145 17618900771178847456 3127371158509471985 2299527855978767825 5426899014488239810 7726426870467007635 13153325884955247445 2433008681712703464 15586334566667950909 18019343248380654373 15158933741339053666 14731532916010156423 11443722583639658473 7728511425940263280 725489935870370137 8454001361810633417 9179491297681003554 17633492659491636971 8366239883463088909 7552988469245174264 15919228352708263173 5025472748243885821 2497957027242597378 7523429775486483199 10021386802729080577 17544816578215563776 9119459307235092737 8217531811741104897 17336991118976197634 7107778857007750915 5998025902274396933 13105804759282147848 657086587846993165 13762891347129141013 14419977934976134178 9736125208395723575 5709359069662306137 15445484278058029712 2708099274010784233 18153583552068813945 2414938752370046562 2121778230729308891 4536716983099355453 6658495213828664344 11195212196928019797 17853707410756684141 10602175533975152322 10009138871022284847 2164570331287885553 12173709202310170400 14338279533598055953 8065244662198674737 3956780122087179074 12022024784285853811 15978804906373032885 9554085616949335080 7086146449612816349 16640232066562151429 5279634442465416162 3473122435318015975 8752756877783432137 12225879313101448112 2531892117175328633 14757771430276776745 17289663547452105378 13600690904019330507 12443610377761884269 7597557208071663160 1594423512123995813 9191980720195658973 10786404232319654786 1531640878805762143 12318045111125416929 13849685989931179072 7720987027347044385 3123928943568671841 10844915970915716226 13968844914484388067 6367016811690552677 1889117652465389128 8256134464155941805 10145252116621330933 18401386580777272738 10099894623689052055 10054537130756773177 1707687680736273616 11762224811493046793 13469912492229320409 6785393230012815586 1808561648532584379 8593954878545399965 10402516527077984344 549727331913832693 10952243858991817037 11501971190905649730 4007470976187915151 15509442167093564881 1070169069571928416 16579611236665493297 17649780306237421713 15782647469193363394 14985683701721233491 12321587097205045269 8860526725216727144 2735369748712220797 11595896473928947941 14331266222641168738 7480418622860565063 3364940771792182185 10845359394652747248 14210300166444929433 6608915487388125065 2372471580123502882 8981387067511627947 11353858647635130829 1888501641437207160 13242360289072337989 15130861930509545149 9926478145872331522 6610596002672325055 16537074148544656577 4700926077507430016 2791256152342534977 7492182229849964993 10283438382192499970 17775620612042464963 9612314920525413317 8941191458858326664 106762305674188365 9047953764532515029 9154716070206703394 18202669834739218423 8910641831236370201 8666567592266037008 17577209423502407209 7797032942058892601 6927498291851748194 14724531233910640795 3205285452052837373 17929816685963478168 2688358064306763925 2171430676560690477 4859788740867454402 7031219417428144879 11891008158295599281 475483502014192544 12366491660309791825 12841975162323984369 6761722748924224578 1156953837538657331 7918676586462881909 9075630424001539240 16994307010464421149 7623193360756408773 6170756297511278306 13793949658267687079 1517961882069413769 15311911540337100848 16829873422406514617 13695040889034063849 12078170237731026850 7326467053055539083 957893217077014317 8284360270132553400 9242253487209567717 17526613757342121117 8322123170842137218 7401992854474706719 15724116025316843937 4679364806081999040 1956736757689291361 6636101563771290401 8592838321460581762 15228939885231872163 5375034132982902309 2157229944505222856 7532264077488125165 9689494021993348021 17221758099481473186 8464508047765269591 7239522073537191161 15704030121302460752 4496808121130100297 1754094168723009433 6250902289853109730 8004996458576119163 14255898748429228893 3814151133295796440 18070049881725025333 3437456941311270157 3060762749326743874 6498219690638014031 9558982439964757905 16057202130602771936 7169440496857978225 4779898553751198545 11949339050609176770 16729237604360375315 10231832581260000469 8514326111910824168 299414619461273021 8813740731372097189 9113155350833370210 17926896082205467399 8593307359329285993 8073459367825201776 16666766727154487769 6293482021270137929 4513504674715074082 10806986695985212011 15320491370700286093 7680733992975946488 4554481289966680965 12235215282942627453 16789696572909308418 10578167782142384255 8921120281342141057 1052543989774973696 9973664271117114753 11026208260892088449 2553128458299651586 13579336719191740035 16132465177491391621 11265057822973580040 8950778926755420045 1769092676019448469 10719871602774868514 12488964278794316983 4762091807859633881 17251056086653950864 3566403820804033129 2370715833748432377 5937119654552465506 8307835488300897883 14244955142853363389 4106046557444709656 18351001700298073045 4010304184033231085 3914561810621752514 7924865994654983599 11839427805276736113 1317549726222168096 13156977531498904209 14474527257721072305 9184760715510424898 5212543899521945587 14397304615032370485 1163104440844764456 15560409055877134941 16723513496721899397 13837178478889482722 12113947901901830503 7504382307081761609 1171586135274040496 8675968442355802105 9847554577629842601 76778946276093090 9924333523905935691 10001112470182028781 1478701920378412856 11479814390560441637 12958516310938854493 5991586627789744514 503358865019047391 6494945492808791905 6998304357827839296 13493249850636631201 2044810134754918881 15538059985391550082 17582870120146468963 14674186031828467429 13810312078265384776 10037754036384300589 5401322040940133749 15439076077324434338 2393654044555016471 17832730121879450809 1779640092724915664 1165626140894814857 2945266233619730521 4110892374514545378 7056158608134275899 11167050982648821277 18223209590783097176 10943516499722366837 10719982016795912397 3216754442808727618 13936736459604640015 17153490902413367633 12643483288308456032 11350230117012272049 5546969331611176465 16897199448623448514 3997424706525073363 2447880081438970261 6445304787964043624 8893184869403013885 15338489657367057509 5784930453060519778 2676676036718025671 8461606489778545449 11138282526496571120 1153144942565564953 12291427469062136073 13444572411627701026 7289255806980285483 2287084144898434893 9576339951878720376 11863424096777155269 2993019974946324029 14856444071723479298 17849464046669803327 14259164044683731009 13661884017643982720 9474303988618162113 4689443932552593217 14163747921170755330 406447780013796931 14570195701184552261 14976643481198349192 11100095108673349837 7629994516162147413 283345551125945634 7913340067288093047 8196685618414038681 16110025685702131728 5859967230406618793 3523248842399198905 9383216072805817698 12906464915205016603 3842936914301282685 16749401829506299288 2145594670098030357 448252425894778029 2593847095992808386 3042099521887586415 5635946617880394801 8678046139767981216 14313992757648376017 4545294823706805617 412543507645630018 4957838331352435635 5370381838998065653 10328220170350501288 15698602009348566941 7580078105989516613 4831936041628531938 12412014147618048551 17243950189246580489 11209220263155077424 10006426378692106297 2768902568137632105 12775328946829738402 15544231514967370507 9872816388087557293 6970303829345376184 16843120217432933477 5366679973068758045 3763056116792139906 9129736089860897951 12892792206653037857 3575784222804384192 16468576429457422049 1597616578552254625 18066193008009676674 1217065512852379683 836514447152504741 2053579960004884424 2890094407157389165 4943674367162273589 7833768774319662754 12777443141481936343 2164467842092047481 14941910983573983824 17106378825666031305 13601545735530463513 12261180487486943202 7415982149307855099 1230418563085246685 8646400712393101784 9876819275478348469 76475914161898637 9953295189640247106 10029771103802145743 1536322219732841233 11566093323534986976 13102415543267828209 6221764793093263569 877436262651540162 7099201055744803731 7976637318396343893 15075838374141147624 4605731618827939901 1234825919259535909 5840557538087475810 7075383457347011719 12915940995434487529 1544580379071947632 14460521374506435161 16005101753578382793 12018879054375266338 9577236734244097515 3149371714909812237 12726608449153909752 15875980164063721989 10155844539508080125 7585080629862250498 17740925169370330623 6879261725523029505 6173442821183808512 13052704546706838017 779403294181094913 13832107840887932930 14611511135069027843 9996874902247409157 6161641963606885384 16158516865854294541 3873414755751628309 1585187547896371234 5458602303647999543 7043789851544370777 12502392155192370320 1099437933027189481 13601830088219559801 14701268021246749282 9856354035756757467 6110877983293955133 15967232019050712600 3631365928635116117 1151853873976277101 4783219802611393218 5935073676587670319 10718293479199063537 16653367155786733856 8924916561276245777 7131539643353428017 16056456204629673794 4741251774273550195 2350963905193672373 7092215679467222568 9443179584660894941 16535395264128117509 7531830775079460834 5620481965498026727 13152312740577487561 326050632365962672 13478363372943450233 13804414005309412905 8836033304543311522 4193703236143172811 13029736540686484333 17223439776829657144 11806432243806589861 10583127946926695389 3942816117023733634 14525944063950429023 22016107264611041 14547960171215040064 14569976278479651105 10671192375985139553 6794424580755239042 17465616956740378595 5813297463786066021 4832170346816893000 10645467810602959021 15477638157419852021 7676361894313259426 4707255978023559831 12383617872336819257 17090873850360379088 11027747648987646729 9671877425638474201 2252881000916569314 11924758426555043515 14177639427471612829 7655653780317104728 3386549134079165941 11042202914396270669 14428752048475436610 7024210889162155663 3006218863928040657 10030429753090196320 13036648617018236977 4620334296398881681 17656982913417118658 3830573136106448723 3040811975814015765 6871385111920464488 9912197087734480253 16783582199654944741 8249035213679873378 6585873339625266503 14834908553305139881 2974037819220854768 17808946372525994649 2336240118037297801 1698442416853740834 4034682534891038635 5733124951744779469 9767807486635818104 15500932438380597573 6821995851306864061 3876184215977910018 10698180067284774079 14574364283262684097 6825800276837906560 2953420486391039041 9779220763228945601 12732641249619984642 4065117939139378627 16797759188759363269 2416133054189190280 767148169239001933 3183281223428192213 3950429392667194146 7133710616095386359 11084140008762580505 18217850624857966864 10855246559910995753 10626353111059411001 3034855597260855138 13661208708320266139 16696064305581121277 11910528940191835800 10159849172063405461 3623634038545689645 13783483210609095106 17407117249154784751 12743856386054328241 11704229561499561376 6001341873844338001 17705571435343899377 5260169235478685762 4518996597113033523 9779165832591719285 14298162429704752808 5630584188586920477 1482002544582121669 7112586733169042146 8594589277751163815 15707176010920205961 5855021214961818160 3115453152172472505 8970474367134290665 12085927519306763170 2609657812731502219 14695585332038265389 17305243144769767608 13554084403098481381 12412583474158697373 7519923803547627138 1485763203996772895 9005687007544400033 10491450211541172928 1050393145376021345 11541843356917194273 12592236502293215618 5687335785500858275 18279572287794073893 5520163999585380552 5352992213669902829 10873156213255283381 16226148426925186210 8652560566470917975 6431964919686552569 15084525486157470544 3069746332134471497 18154271818291942041 2777274076716861922 2484801821299252347 5262075898016114269 7746877719315366616 13008953617331480885 2309087262937295885 15318040880268776770 17627128143206072655 14498424949765297809 13678809019261818848 9730489895317565041 4962554840869832273 14693044736187397314 1208855503347677971 15901900239535075285 17110755742882753256 14565911908708276925 13229923577881478565 9349091412880203874 4132270917052130823 13481362329932334697 17613633246984465520 12648251503207248601 11815140676482162505 6016648105979859490 17831788782462021995 5401692814732329869 4786737523484800248 10188430338217130117 14975167861701930365 6716854126209508866 3245277914201887615 9962132040411396481 13207409954613284096 4722797921315128961 17930207875928413057 4206261723533990402 3689725525752851843 7895987249286842245 11585712775039694088 1034955950616984717 12620668725656678805 13655624676273663522 7829549328220790711 3038429930784902617 10867979259005693328 13906409189790595945 6327644375086737657 1787309491167781986 8114953866254519643 9902263357422301629 18017217223676821272 9472736507389571285 9043209657356840941 69202091036860610 9112411748393701551 9181613839430562161 18294025587824263712 9028895353545274257 8876176867659986353 17905072221205260610 8334505015155695347 7792833162651404341 16127338177807099688 5473427266748952413 3154021370846500485 8627448637595452898 11781470008441953383 1962174572327854665 13743644580769808048 15705819153097662713 11002719660157919145 8261794739546030242 817770325994397771 9079565065540428013 9897335391534825784 530156383365702181 10427491774900527965 10957648158266230146 2938395859457206495 13896044017723436641 16834439877180643136 12283739821194528161 10671435624665619681 4508431372150596226 15179866996816215907 1241554295257260517 16421421292073476424 17662975587330736941 15637652805694661749 14853884319315847074 12044793051300957207 8451933296907252665 2049982274498658256 10501915571405910921 12551897845904569177 4607069343600928482 17158967189505497659 3319292459396874525 2031515575192820568 5350808034589695093 7382323609782515661 12733131644372210754 1668711180445174799 14401842824817385553 16070554005262560352 12025652756370394289 9649462687923403025 3228371370584245698 12877834058507648723 16106205429091894421 10537295413889991528 8196756769272334333 287308109452774245 8484064878725108578 8771372988177882823 17255437866902991401 7580066781371322608 6388760574564762393 13968827355936085001 1910843856791295778 15879671212727380779 17790515069518676557 15223442208536505720 14567213204345630661 11343911339172584765 7464380469808663810 361547735271696959 7825928205080360769 8187475940352057728 16013404145432418497 5754136012074924609 3320796083797791490 9074932095872716099 12395728179670507589 3023916201833672072 15419644381504179661 18443560583337851733 15416460891132479778 15413277400760779895 12382994218183708057 9349527545234936336 3285777689709092777 12635305234944029113 15921082924653121890 10109644085887599387 7583982936831169661 17693627022718769048 6830865885840387093 6077748834849604525 12908614720689991618 539619481830044527 13448234202520036145 13987853684350080672 8989343813160565201 4530453423801094257 13519797236961659458 18050250660762753715 13123303824014861557 12726810411068063656 7403370161373373597 1683436498731885637 9086806660105259234 10770243158837144871 1410305745232852489 12180548904069997360 13590854649302849849 7324659479663295593 2468770055256593826 9793429534919889419 12262199590176483245 3608885051386821048 15871084641563304293 1033225619240573725 16904310260803878018 17937535880044451743 16395102067138778145 15885893873473678272 13834251866902904801 11273401666667031457 6660909459860384642 17934311126527416099 6148476512678249125 5636043565496113608 11784520078174362733 17420563643670476341 10758339648135287458 9732159218096212183 2043754792521948025 11775914010618160208 13819668803140108233 7148838740048716825 2521763469479273442 9670602209527990267 12192365679007263709 3416223814825702360 15608589493832966069 578069234949116813 16186658728782082882 16764727963731199695 14504642618803730961 12822626508825379040 8880525053919558385 3256407489035385809 12136932542954944194 15393340031990330003 9083528501235722581 6030124459516500968 15113652960752223549 2697033346559172901 17810686307311396450 2060975580161017735 1424917813762862569 3485893393923880304 4910811207686742873 8396704601610623177 13307515809297366050 3257476337198437611 16564992146495803661 1375724409984689656 17940716556480493317 869696892755631357 363669375526573058 1233366268282204415 1597035643808777473 2830401912090981888 4427437555899759361 7257839467990741249 11685277023890500610 496372418171690243 12181649442062190853 12678021860233881096 6412927228586520333 644205015110849813 7057132243697370146 7701337258808219959 14758469502505590105 4013062687604258448 324788116400296937 4337850804004555385 4662638920404852322 9000489724409407707 13663128644814260029 4216874295514116120 17880002940328376149 3650133162132940653 3083392028751765186 6733525190884705839 9816917219636471025 16550442410521176864 7920615556448096273 6024313893259721521 13944929449707817794 1522499269257987699 15467428718965805493 16989927988223793192 14010612633480047069 12553796547994288645 8117665107764784098 2224717582049521127 10342382689814305225 12567100271863826352 4462738887968579961 17029839159832406313 3045833974091434658 1628929060214289355 4674763034305724013 6303692094520013368 10978455128825737381 17282147223345750749 9813858278461936514 8649261428098135647 16375632850520545 8665637060948656192 8682012693799176737 17347649754747832929 7582918374837458050 6483824055875739363 14066742430713197413 2103822412879385160 16170564843592582573 18274387256471967733 15998208026354998690 15825851209117414807 13377315161762861881 10756422297170725072 5686993385224035337 16443415682394760409 3683664993909244130 1680336602594452923 5364001596503697053 7044338199098149976 12408339795601847029 1005933920990445389 13414273716592292418 14420207637582737807 9387737280465478609 5361200844338664800 14748938124804143409 1663394895433256593 16412333020237400002 18075727915670656595 16041316862198504981 15670300704159609960 13264873492648563325 10488430123098621669 5306559542037633378 15794989665136255047 2654805133464336809 3050724891040240 2657855858355377049 2660906583246417289 5318762441601794338 7979669024848211627 13298431466450005965 2831356417588665976 16129787884038671941 514400227917786301 16644188111956458242 17158588339874244543 15356032378121151169 14067876644285844096 10977164948697443649 6598297519273736129 17575462467971179778 5727015913535364291 4855734307796992453 10582750221332356744 15438484529129349197 7574490676752154325 4566231132171951906 12140721808924106231 16706952941096058137 10400930676310612752 8661139543697119273 615326146298180409 9276465689995299682 9891791836293480091 721513452579228157 10613305288872708248 11334818741451936405 3501379956615093037 14836198698067029442 18337578654682122479 14727033279039600305 14617867860012171168 10898157065342219857 7069280851644839409 17967437916987059266 6589974694922347059 6110668538199854709 12700643233122201768 364567697612504861 13065210930734706629 13429778628347211490 8048245485372366503 3031280040010026377 11079525525382392880 14110805565392419257 6743587017065260521 2407648508748128162 9151235525813388683 11558884034561516845 2263375486665353912 13822259521226870757 16085635007892224669 11461150455409543810 9100041389592216863 2114447771292209057 11214489160884425920 13328936932176634977 6096682019351509281 978874877818592642 7075556897170101923 8054431774988694565 15129988672158796488 4737676373437939437 1420920971887184309 6158597345325123746 7579518317212308055 13738115662537431801 2870889906040188240 16609005568577620041 1033151400908256665 17642156969485876706 228564296684581755 17870721266170458461 18099285562855040216 17523262755315947061 17175804244461435661 16252322926067831106 14981383096819715151 12786961949177994641 9321600972288158176 3661818847756601201 12983419820044759377 16645238667801360578 11181914414136568339 9380409008228377301 2115579348655394024 11495988356883771325 13611567705539165349 6660811988713385058 1825635620542998791 8486447609256383849 10312083229799382640 351786765346214873 10663869995145597513 11015656760491812386 3232782681927858283 14248439442419670669 17481222124347528952 13282917493057648005 12317395543695625341 7153568963043721730 1024220433029795455 8177789396073517185 9202009829103312640 17379799225176829825 8135064980570590849 7068120132037869058 15203185112608459907 3824561170936777349 581002209835685640 4405563380772462989 4986565590608148629 9392128971380611618 14378694561988760247 5324079459659820249 1256029947939028880 6580109407598849129 7836139355537878009 14416248763136727138 3805644044965053531 18221892808101780669 3580792779357282584 3355941513749511637 6936734293106794221 10292675806856305858 17229410099963100079 9075341833109854321 7858007859363402784 16933349692473257105 6344613478127108273 4831219096890813762 11175832575017922035 16007051671908735797 8736140173217106216 6296447771416290397 15032587944633396613 2882291642340135394 17914879586973532007 2350427155604115785 1818562668868096176 4168989824472211961 5987552493340308137 10156542317812520098 16144094811152828235 7853893055255796717 5551243792699073336 13405136847954870053 509636566944391773 13914773414899261826 14424409981843653599 9892439323033363809 5870105231167465792 15762544554200829601 3185905711658743777 501706192150021762 3687611903808765539 4189318095958787301 7876929999767552840 12066248095726340141 1496434021784341365 13562682117510681506 15059116139295022871 10175054183096152761 6787426248681624016 16962480431777776777 5303162606749849177 3818898964818074338 9122061571567923515 12940960536385997853 3616278034244369752 16557238570630367605 1726772531165185741 18284011101795553346 1564039559251187471 1401306587337189201 2965346146588376672 4366652733925565873 7331998880513942545 11698651614439508418 583906421243899347 12282558035683407765 12866464456927307112 6702278418901163261 1121998802118918757 7824277221020082018 8946276023139000775 16770553244159082793 7270085193588531952 5593894364038063129 12863979557626595081 11129847955106594 12875109405581701675 12886239253536808269 7314604585408958328 1754099765236214981 9068704350645173309 10822804115881388290 1444764392817009983 12267568508698398273 13712332901515408256 7533157336504254913 2798746164310111553 10331903500814366466 13130649665124478019 5015809092229292869 18146458757353770888 4715523775873512141 4415238459517731413 9130762235391243554 13546000694908974967 4230018856590666905 17776019551499641872 3559294334380757161 2888569812170847417 6447864146551604578 9336433958722451995 15784298105274056573 6673987990286956952 4011542021851461909 10685530012138418861 14697072033989880770 6935857972418748015 3186185932699077169 10122043905117825184 13308229837816902353 4983529669225175921 18291759507042078274 4828545102557702579 4673560535890229237 9502105638447931816 14175666174338161053 5231027739076541253 959949839705150690 6190977578781691943 7150927418486842633 13341904997268534576 2046088342045825593 15387993339314360169 17434081681360185762 14375330946964994315 13362668554615628461 9291255427871071160 4207179908777148005 13498435336648219165 17705615245425367170 12757306508364034719 12016177680079850273 6326740114734333376 18342917794814183649 6222913835838965409 6119087556943597442 12342001392782562851 14344876016608677 12356346268799171528 12370691144815780205 6280293339905400117 204240411011628706 6484533750917028823 6688774161928657529 13173307912845686352 1415338001064792265 14588645913910478617 16003983914975270882 12145885755176197883 9703125596441917149 3402267277908563416 13105392874350480565 16507660152259043981 11166308952899972930 9227225031449465295 1946789910639886609 11174014942089351904 13120804852729238513 5848075721109038801 522136500128725698 6370212221237764499 6892348721366490197 13262560942604254696 1708165590261193277 14970726532865447973 16678892123126641250 13202874582282537607 11435022631699627241 6191153140272613232 17626175771972240473 5370584838535302089 4550016536797990946 9920601375333293035 14470617912131283981 5944475213755025400 1968349052176757765 7912824265931783165 9881173318108540930 17793997584040324095 9228426828439313409 8575680338770085888 17804107167209399297 7933043432269933569 7290406525769781250 15223449958039714819 4067112410099944453 843818294430107656 4910930704530052109 5754748998960159765 10665679703490211874 16420428702450371639 8639364332231031897 6613048960971851920 15252413293202883817 3418718180465184121 224387399958516322 3643105580423700443 3867492980382216765 7510598560805917208 11378091541188133973 441946028284499565 11820037569472633538 12261983597757133103 5635277093520215025 17897260691277348128 5085793711088011537 4536310328655808049 9622104039743819586 14158414368399627635 5333774334433895605 1045444629123971624 6379218963557867229 7424663592681838853 13803882556239706082 2781802075211993319 16585684631451699401 920742632954141104 17506427264405840505 18427169897359981609 17486853088056270498 17467278911706700491 16507387926053419373 15527922764050568248 13588566616394436005 10669745306735452637 5811567849420337026 16481313156155789663 3846136931866575073 1880706014312813120 5726842946179388193 7607548960492201313 13334391906671589506 2495196793454239203 15829588700125828709 18324785493580067912 15707630119996345005 15585671539866861301 12846557586153654690 9985485052310964375 4385298564755067449 14370783617066031824 309338108111547657 14680121725177579481 14989459833289127138 11222837484757155003 7765553244336730525 541646655384333912 8307199899721064437 8848846555105398349 17156046454826462786 7558148936222309519 6267451317339220689 13825600253561530208 1646307497191199281 15471907750752729489 17118215247943928770 14143378924987106643 12814850099221483797 8511484950499038824 2879590976010971005 11391075926510009829 14270666902520980834 7214998755321439047 3038921584132868265 10253920339454307312 13292841923587175577 5100018189331931273 18392860112919106850 5046134228541486507 4992250267751041741 10038384496292528248 15030634764043569989 6622275186626546621 3206165876960564994 9828441063587111615 13034606940547676609 4416303930425236608 17450910870972913217 3420470727688598209 2424637524951959810 5845108252640558019 8269745777592517829 14114854030233075848 3937855734116042061 18052709764349117909 3543821424755608354 3149787115395174647 6693608540150783001 9843395655545957648 16537004195696740649 7933655777533146681 6023915899520335714 13957571677053482395 1534743502864266493 15492315179917748888 17027058682782015381 14072629788990212653 12652944398062676418 8278830113343337455 2485030437696462257 10763860551039799712 13248890988736261969 5566007466066510065 368154381093220418 5934161847159730483 6302316228252950901 12236478075412681384 92050229956080669 12328528305368762053 12420578535324842722 6302362766984053159 276197228599344265 6578559995583397424 6854757224182741689 13433317219766139113 1841330370239329186 15274647590005468299 17115977960244797485 13943881476540714168 12613115363075960037 8110252765907122589 2276624055273531010 10386876821180653599 12663500876454184609 4603633623925286592 17267134500379471201 3424024050595206177 2244414477265125762 5668438527860331939 7912853005125457701 13581291532985789640 3047400464401695725 16628691997387485365 1229348388079629474 17858040385467114839 640644699837192697 51941011594755920 692585711431948617 744526723026704537 1437112434458653154 2181639157485357691 3618751591944010845 5800390749429368536 9419142341373379381 15219533090802747917 6191931358466575682 2964720375559771983 9156651734026347665 12121372109586119648 2831279769902915697 14952651879489035345 17783931649391951042 14289839455171434771 13627027030853834197 9470122412315717352 4650405369459999933 14120527781775717285 324189077526165602 14444716859301882887 14768905936828048489 10766878722420379760 7089040585538876633 17855919307959256393 6498215819788581410 5907391054038286187 12405606873826867597 18312997927865153784 12271860727982469765 12138114582138071933 5963231236410990082 18101345818549062015 5617832981250500481 5272434726090010880 10890267707340511361 16162702433430522241 8606226067061481986 6322184426782452611 14928410493843934597 2803850846916835592 17732261340760770189 2089368113968054165 1374885381019272738 3464253494987326903 4839138876006599641 8303392370993926544 13142531247000526185 2999179544284901113 16141710791285427298 694146261860776795 16835857053146204093 17530003315006980888 15919116294443633365 15002375535741062637 12474747756475144386 9030379218506655407 3058382901272248177 12088762119778903584 15147145021051151761 8789163067120503729 5489564014462103874 14278727081582607603 1321547022335159861 15600274103917767464 16921821126252927325 14075351156461143173 12550428209004518882 8179035291756110439 2282719427051077705 10461754718807188144 12744474145858265849 4759484790955902377 17503958936814168226 3816699654060518987 2873914517165135597 6690614171225654584 9564528688390790181 16255142859616444765 7372927474297683330 5181326260204576479 12554253734502259809 17735579994706836288 11843089655499544481 11131925576496829153 4528271158286822018 15660196734783651171 1741723819360921573 17401920554144572744 696900299795942701 18098820853940515445 348977080026906530 1053860257870359 350030940284776889 351084800542647248 701115740827424137 1052200541370071385 1753316282197495522 2805516823567566907 4558833105765062429 7364349929332629336 11923183035097691765 840788890720769485 12763971925818461250 13604760816539230735 7921988668648140369 3080005411477819488 11001994080125959857 14081999491603779345 6637249498020187586 2272504915914415315 8909754413934602901 11182259329849018216 1645269670074069501 12827528999923087717 14472798669997157218 8853583596210693319 4879638192498298921 13733221788708992240 166115907497739545 13899337696206731785 14065453603704471330 9518047226201651499 5136756756196571213 14654803982398222712 1344816664885242309 15999620647283465021 17344437312168707330 14897313885742620735 13795007124201776449 10245576936234845568 5593839986727070401 15839416922961915969 2986512835979434754 379185685231799107 3365698521211233861 3744884206443032968 7110582727654266829 10855466934097299797 17966049661751566626 10374772522139314807 9894078110181329817 1822106558611093008 11716184668792422825 13538291227403515833 6807731822486387042 1899278976180351259 8707010798666738301 10606289774847089560 866556499804276245 11472846274651365805 12339402774455642050 5365504975397456239 17704907749853098289 4623668651541002912 3881832327684549585 8505500979225552497 12387333306910102082 2446090212426102963 14833423519336205045 17279513731762308008 13666193177388961437 12498962835441717829 7718411939121127650 1770630700853293863 9489042639974421513 11259673340827715376 2301971907092585273 13561645247920300649 15863617155012885922 10978518329223634955 8395391410526969261 927165666041052600 9322557076568021861 10249722742609074461 1125535745467544706 11375258488076619167 12500794233544163873 5429308647911231424 17930102881455395297 4912667455657075105 4396026263402918786 9308693719059993891 13704719982462912677 4566669627813354952 18271389610276267629 4391315164380070965 4215960700946786978 8607275865326857943 12823236566273644921 2983768357890951248 15807004924164596169 344029208345995801 16151034132510591970 16495063340856587771 14199353399657628125 12247672666804664280 8000281992752740789 1801210585847853453 9801492578600594242 11602703164448447695 2957451669339490321 14560154833787938016 17517606503127428337 13631017263205814737 12701879692623691458 7886152882119954579 2141288501034094421 10027441383154049000 12168729884188143421 3749427193632640805 15918157077820784226 1220840197743873415 17138997275564657641 18359837473308531056 17052090675163637081 16965184074762616521 15570530676216701986 14088970677269766891 11212757279776917261 6854983883337132536 18067741163114049797 6475980972741630717 6096978062146128898 12572959034887759615 223193023324336897 12796152058212096512 13019345081536433409 7368753066038978305 1941354073865860098 9310107139904838403 11251461213770698501 2114824279965985288 13366285493736683789 15481109773702669077 10400651193729801250 7435016893722918711 17835668087452719961 6823940907466087056 6212864921209255401 13036805828675342457 802926676175046242 13839732504850388699 14642659181025434941 10035647612166272024 6231562719482155349 16267210331648427373 4052028977421031106 1872495235359906863 5924524212780937969 7797019448140844832 13721543660921782801 3071819035353076017 16793362696274858818 1418437657918383219 18211800354193242037 1183493938402073640 948550218885764061 2132044157287837701 3080594376173601762 5212638533461439463 8293232909635041225 13505871443096480688 3352360279021970297 16858231722118450985 1763847927430869666 175335575839769035 1939183503270638701 2114519079110407736 4053702582381046437 6168221661491454173 10221924243872500610 16390145905363954783 8165326075526903777 6108727907181306944 14274053982708210721 1936037816179966049 16210091798888176770 18146129615068142819 15909477340246767973 15608862881605359176 13071596148142575533 10233714956038383093 4858567030471407010 15092281986509790103 1504104943271645497 16596386929781435600 18100491873053081097 16250134729124965081 15903882528468494562 13707273183883908027 11164411638642850973 6424940748817207384 17589352387460058357 5567549062567714125 4710157376318220866 10277706438885934991 14987863815204155857 6818826180380539232 3359945921875143473 10178772102255682705 13538718024130826178 5270746052676957267 362720003098231829 5633466055775189096 5996186058873420925 11629652114648610021 17625838173522030946 10808746214461089351 9987840314273568681 2349842455025106416 12337682769298675097 14687525224323781513 8578463919912904994 4819245070527134891 13397708990440039885 18216954060967174776 13167918977697663045 12938128964955286205 7659303868943397634 2150688760189132223 9809992629132529857 11960681389321662080 3323929944744640321 15284611334066302401 161797205101391106 15446408539167693507 15608205744269084613 12607870209727226504 9769331880286759501 3930458016304434389 13699789896591193890 17630247912895628279 12883293735777270553 12066797574963347216 6503347237031066153 123400738284861753 6626747975315927906 6750148713600789659 13376896688916717565 1680301328807955608 15057198017724673173 16737499346532628781 13347953290547750338 11638708563370827503 6539917780209026225 18178626343579853728 6271800050079328337 6003682319949630449 12275482370028958786 18279164689978589235 12107902986297996405 11940323602567034024 5601482515155478813 17541806117722512837 4696544559168440034 3791606603181401255 8488151162349841289 12279757765531242544 2321164854171532217 14600922619702774761 16922087473874306978 13076266019867530123 11551609420032285485 6181131366190263992 17732740786222549477 5467128078703261853 4753124791216259714 10220252869919521567 14973377661135781281 6746886457345751232 3273520044771980897 10020406502117732129 13293926546889713026 4867588975297893539 18161515522187606565 4582360423775948488 4297131872254003437 8879492296029951925 13176624168283955362 3609372390604355671 16785996558888311033 1948624875783115088 287877360961874505 2236502236744989593 2524379597706864098 4760881834451853691 7285261432158717789 12046143266610571480 884660625059737653 12930803891670309133 13815464516730046786 8299524334690804303 3668244777711299473 11967769112402103776 15636013890113403249 9157038928805955409 6346308745209807042 15503347674015762451 3402912345516017877 459515945822228712 3862428291338246589 4321944237160475301 8184372528498721890 12506316765659197191 2243945220448367465 14750261986107564656 16994207206555932121 13297725118953945161 11845188251800325666 6696169297044719211 94613475135493261 6790782772180212472 6885396247315705733 13676179019495918205 2114831193102072322 15791010212597990527 17905841405700062849 15250107544588501760 14709204876579012993 11512568347457963137 7775029150327424514 840853424075836035 8615882574403260549 9456735998479096584 18072618572882357133 9082610497651902101 8708484996824707618 17791095494476609719 8052836417591765721 7397187838358823824 15450024255950589545 4400468020599861753 1403748202840899682 5804216223440761435 7207964426281661117 13012180649722422552 1773401002294532053 14785581652016954605 16558982654311486658 12897820232618889647 11010058813220824689 5461134972130162720 16471193785350987409 3485584683771598513 1510034395413034306 4995619079184632819 6505653474597667125 11501272553782299944 18006926028379967069 11061454508452715397 10621636463123130850 3236346897866294631 13857983360989425481 17094330258855720112 12505569546135593977 11153155731281762473 5211981203707804834 16365136934989567307 3130374064987820525 1048766926267836216 4179140991255656741 5227907917523492957 9407048908779149698 14634956826302642655 5595261661372240737 1783474413965331776 7378736075337572513 9162210489302904289 16540946564640476802 7256412980233829475 5350615471164754661 12607028451398584136 17957643922563338797 12117928300252371317 11628828149106158498 5300012375648978199 16928840524755136697 3782108826694563280 2264205277740148361 6046314104434711641 8310519382174860002 14356833486609571643 4220608795074880029 130698207974900056 4351307003049780085 4482005211024680141 8833312214074460226 13315317425099140367 3701885565464048977 17017202990563189344 2272344482317686705 842803399171324433 3115147881489011138 3957951280660335571 7073099162149346709 11031050442809682280 18104149604959028989 10688455974059159653 10345861505308637026 2587573405658245063 12933434910966882089 15521008316625127152 10007699153882457625 7081963396798033161 17089662550680490786 5724881873768972331 4367800350739911501 10092682224508883832 14460482575248795333 6106420726048127549 2120159227587371266 8226579953635498815 10346739181222870081 126575061148817280 10473314242371687361 10599889303520504641 2626459472182640386 13226348775703145027 15852808247885785413 10632412949879378824 8038477124055612621 224146000225439829 8262623124281052450 8486769124506492279 16749392248787544729 6789417299584485392 5092065474662478505 11881482774246963897 16973548248909442402 10408286949446854683 8935091124646745469 896634000384048536 9831725125030794005 10728359125414842541 2113340176736084930 12841699302150927471 14955039478887012401 9349994707328388256 5858290112505849041 15208284819834237297 2619830858630534722 17828115678464772019 2001202463385755125 1382574068140975528 3383776531526730653 4766350599667706181 8150127131194436834 12916477730862143015 2619860788347028233 15536338519209171248 18156199307556199481 15245793753055819113 14955248986902466978 11754298666248734475 8262803579441649837 1570358171980832696 9833161751422482533 11403519923403315229 2789937601116246146 14193457524519561375 16983395125635807521 12730108576445817280 11266759628372073185 5550124131108338849 16816883759480412034 3920263816879199267 2290403502650059685 6210667319529258952 8501070822179318637 14711738141708577589 4766064890178344610 1031058958177370583 5797123848355715193 6828182806533085776 12625306654888800969 1006745387712335129 13632052042601136098 14638797430313471227 9824105399205055709 6016158755808975320 15840264155014031029 3409678837113454733 803198918417934146 4212877755531388879 5016076673949323025 9228954429480711904 14245031103430034929 5027241459201195217 825528488921678530 5852769948122873747 6678298437044552277 12531068385167426024 762622748502426685 13293691133669852709 14056313882172279394 8903260942132580487 4512830750595308265 13416091692727888752 17928922443323197017 12898270062341534153 12380448431955179554 6831974420587162091 765678778832790029 7597653199419952120 8363331978252742149 15960985177672694269 5877573082215884802 3391814186179027455 9269387268394912257 12661201454573939712 3483844649259300353 16145046103833240065 1182146679382988802 17327192783216228867 62595388889666053 17389788172105894920 17452383560995560973 16395427659391904277 15401067146677913634 13349750732360266295 10304073805328628313 5207080463979342992 15511154269307971305 2271490659577762681 17782644928885733986 1607391514753945051 943292369930127421 2550683884684072472 3493976254614199893 6044660139298272365 9538636393912472258 15583296533210744623 6675188853413665265 3811741312914858272 10486930166328523537 14298671479243381809 6338857571862353730 2190784977396183923 8529642549258537653 10720427526654721576 803326002203707613 11523753528858429189 12327079531062136802 5404088986211014375 17731168517273151177 4688513429774613936 3972937873338213497 8661451303112827433 12634389176451040930 2849096405854316747 15483485582305357677 18332581988159674424 15369323496755480485 15255161411205603293 12177740834251532162 8986158171747583839 2717154932289564385 11703313104037148224 14420468036326712609 7677037066654309217 3650761029271470210 11327798095925779427 14978559125197249637 7859613147413477448 4391428198901175469 12251041346314652917 16642469545215828386 10446766817820929687 8642492289327206457 642515033438584528 9285007322765790985 9927522356204375513 765785605260614882 10693307961464990395 11459093566725605277 3705657454481044056 15164751021206649333 423664401978141773 15588415423184791106 16012079825162932879 13153751174638172369 10719086926091553632 5426094027020174385 16145180953111728017 3124530906422350786 822967785824527187 3947498692246877973 4770466478071405160 8717965170318283133 13488431648389688293 3759652744998419810 17248084393388108103 2560993064676976297 1362333384355532784 3923326449032509081 5285659833388041865 9208986282420550946 14494646115808592811 5256888324519592141 1304790366618633336 6561678691138225477 7866469057756858813 14428147748895084290 3847872732942391487 18276020481837475777 3677149141070315648 3506425549198239809 7183574690268555457 10690000239466795266 17873574929735350723 10116831095492594373 9543661951518393480 1213748973301436237 10757410924819829717 11971159898121265954 4281826749231544055 16252986647352810009 2088069322874802448 18341055970227612457 1982381219392863289 1876693115910924130 3859074335303787419 5735767451214711549 9594841786518498968 15330609237733210517 6478706950542157869 3362572114565816770 9841279065107974639 13203851179673791409 4598386171072214432 17802237350746005841 3953879448108668657 3309372725145122882 7263252173253791539 10572624898398914421 17835877071652705960 9961757896342068765 9350890894285223109 865904716917740258 10216795611202963367 11082700328120703625 2852751865614115376 13935452193734819001 16788204059348934377 12276912179374201762 10618372165013584523 4448540270678234669 15066912435691819192 1068708632660502245 16135621068352321437 17204329701012823682 14893206695655593503 13650792322958865569 10097254944904907456 5301303194154221409 15398558139059128865 2253117259503798658 17651675398562927523 1458048584357174565 662979909210550472 2121028493567725037 2784008402778275509 4905036896346000546 7689045299124276055 12594082195470276601 1836383420885001040 14430465616355277641 16266849037240278681 12250570579886004706 10070675543416731771 3874502049593184861 13945177593009916632 17819679642603101493 13318113161903466509 12691048730797016386 7562417818990931279 1806722476078396049 9369140295069327328 11175862771147723377 2098258992507499089 13274121763655222466 15372380756162721555 10199758446108392405 7125395128561562344 17325153574669954749 6003804629521965477 4882214130482368610 10886018760004334087 15768232890486702697 8207507576781485168 5528996393558636249 13736503970340121417 818756290189206050 14555260260529327467 15374016550718533517 11482532737538309368 8409805214547291269 1445593878376049021 9855399092923340290 11300992971299389311 2709647990513177985 14010640961812567296 16720288952325745281 12284185840428760961 10557730719044954626 4395172485764163971 14952903204809118597 901331616863730952 15854234821672849549 16755566438536580501 14163057186499878434 12471879551326907319 8188192664117234137 2213328141734589840 10401520805851823977 12614848947586413817 4569625679728686178 17184474627315099995 3307356233334234557 2045086786939782936 5352443020274017493 7397529807213800429 12749972827487817922 1700758560992066735 14450731388479884657 16151489949471951392 12155477264242284433 9860223140004684209 3568956330537417026 13429179470542101235 16998135801079518261 11980571197912067880 10531962925282034525 4065790049484550789 14597752974766585314 216798950541584487 14814551925308169801 15031350875849754288 11399158727448372473 7983765529588575145 936180183327396002 8919945712915971147 9856125896243367149 329327535449786680 10185453431693153829 10514780967142940509 2253490325126542722 12768271292269483231 15021761617396025953 9343288835955957568 5918306379642431905 15261595215598389473 2733157521531269762 17994752737129659235 2281166184951377381 1829174848371485000 4110341033322862381 5939515881694347381 10049856915017209762 15989372796711557143 7592485638019215289 5135114361021220816 12727599999040436105 17862714360061656921 12143570285392541410 11559540571744646715 5256366783427636509 16815907355172283224 3625530064890368117 1994693346353099725 5620223411243467842 7614916757596567567 13235140168840035409 2403312852727051360 15638453021567086769 18041765874294138129 15233474822151673282 14828496622736259795 11615227371178381461 7996979920205089640 1165463217673919485 9162443137879009125 10327906355552928610 1043605419722386119 11371511775275314729 12415117194997700848 5339884896563463961 17755002091561164809 4648142914415077154 3956400932266690347 8604543846681767501 12560944778948457848 2718744551920673733 15279689330869131581 17998433882789805314 14831379139949385279 14383068949029638977 10767704015269472640 6704028890589560001 17471732905859032641 5729017722739041026 4754006554888522051 10483024277627563077 15237030832516085128 7273311036434096589 4063597795240630101 11336908831674726690 15400506626915356791 8290671384880531865 5244433938086337040 13535105322966868905 332795187343654329 13867900510310523234 14200695697654177563 9621852134255149181 5375803758199775128 14997655892454924309 1926715576945147821 16924371469400072130 404342972635668335 17328714442035740465 17733057414671408800 16615027782997597649 15901341123959454833 14069624833247500866 11524221883497404083 7147102643035353333 224580452823205800 7371683095858559133 7596263548681764933 14967946644540324066 4117466119512537383 638668690343309833 4756134809855847216 5394803500199157049 10150938310055004265 15545741810254161314 7249936046599613963 4348933783144223661 11598869829743837624 15947803612888061285 9099929368922347293 6600988908100856962 15700918277023204255 3855163111414509601 1109337314728162240 4964500426142671841 6073837740870834081 11038338167013505922 17112175907884340003 9703770001188294309 8369201835363082696 18072971836551377005 7995429598204908085 7621657361046733474 15617086959251641559 4792000246588823417 1962343132130913360 6754343378719736777 8716686510850650137 15471029889570386914 5740972326711485435 2765258142572320733 8506230469283806168 11271488611856126901 1330975007430381453 12602463619286508354 13933438626716889807 8089158172293846545 3575852725301184736 11665010897595031281 15240863622896216017 8459130446781695682 5253249995968360083 13712380442750055765 518886365008864232 14231266807758919997 14750153172767784229 10534675906817152610 6838085005875385223 17372760912692537833 5764101844858371440 4690118683841357657 10454220528699729097 15144339212541086754 7151815667531264235 3849410806362799373 11001226473894063608 14850637280256862981 7405119680441374973 3809012886988686338 11214132567430061311 15023145454418747649 7790533948139257344 4366935328848453377 12157469276987710721 16524404605836164098 10235129809114323203 8312790341240935685 101176076645707272 8413966417886642957 8515142494532350229 16929108912418993186 6997507333241791799 5479872171951233369 12477379505193025168 17957251677144258537 11987887108627732089 11498394712062439010 5039537746980619483 16537932459043058493 3130726132314126360 1221914517647633237 4352640649961759597 5574555167609392834 9927195817571152431 15501750985180545265 6982202729042146080 4037209640513139729 11019412369555285809 15056622010068425538 7629290305914159731 4239168242273033653 11868458548187193384 16107626790460227037 9529341264937868805 7190223981688544226 16719565246626413031 5463045154605405641 3735866327522267056 9198911482127672697 12934777809649939753 3686945218068060834 16621723027718000587 1861924172076509805 36903126084958776 1898827298161468581 1935730424246427357 3834557722407895938 5770288146654323295 9604845869062219233 15375134015716542528 6533235811069210145 3461625753076201057 9994861564145411202 13456487317221612259 5004604807657471845 14348051169532488 5018952858827004333 5033300909996536821 10052253768823541154 15085554678820077975 6691064373934067513 3329874979044593872 10020939352978661385 13350814332023255257 4925009611292365026 18275823943315620283 4754089480898433693 4583169350504502360 9337258831402936053 13920428181907438413 4810942939600822850 284627047798709647 5095569987399532497 5380197035198242144 10475767022597774641 15855964057796016785 7884987006684239810 5294206990770704979 13179193997454944789 26656914516098152 13205850911971042941 13232507826487141093 7991614664748632418 2777378417526221895 10768993082274854313 13546371499801076208 5868620508366378905 968247934457903497 6836868442824282402 7805116377282185899 14641984820106468301 4000357123679102584 195597870076019269 4195954993755121853 4391552863831141122 8587507857586262975 12979060721417404097 3119824505294115456 16098885226711519553 771965658296083393 16870850885007602946 17642816543303686339 16066923354601737669 15262995824195872392 12883175105088058445 9699426855574379221 4135857886952886050 13835284742527265271 17971142629480151321 13359683298297864976 12884081854068464681 7797021078656778041 2234358859015691106 10031379937672469147 12265738796688160253 3850374660651077784 16116113457339238037 1519744044280764205 17635857501620002242 708857472191214831 18344714973811217073 606828372292880288 504799272394545745 1111627644687426033 1616426917081971778 2728054561769397811 4344481478851369589 7072536040620767400 11417017519472136989 42809486383352773 11459827005855489762 11502636492238842535 4515719424384780681 16018355916623623216 2087331267298852281 18105687183922475497 1746274377511776162 1405217487724700043 3151491865236476205 4556709352961176248 7708201218197652453 12264910571158828701 1526367715646929538 13791278286805758239 15317646002452687777 10662180215548894400 7533082144292030561 18195262359840924961 7281600430423403906 7030118716554777251 14311719146978181157 2895093789823406792 17206812936801587949 1655162652915443125 415231516007479458 2070394168922922583 2485625684930402041 4556019853853324624 7041645538783726665 11597665392637051289 192566857711226338 11790232250348277627 11982799108059503965 5326287284698229976 17309086392757733941 4188629603746412301 3050971922794594626 7239601526541006927 10290573449335601553 17530174975876608480 9374004351502658417 8457435253669715281 17831439605172373698 7842130785132537363 7226826316595359445 15068957101727896808 3849039344613704637 471252372632049829 4320291717245754466 4791544089877804295 9111835807123558761 13903379897001363056 4568471630415370201 25107453707181641 4593579084122551842 4618686537829733483 9212265621952285325 13830952159782018808 4596473708024752517 18427425867806771325 4577155502121972226 4557837296219191935 9134992798341164161 13692830094560356096 4381078819191968641 18073908913752324737 4008243659234741762 3635408499277514883 7643652158512256645 11279060657789771528 475968742592476557 11755029400382248085 12230998142974724642 5539283469647421111 17770281612622145753 4862821008560015248 4186358547472609385 9049179556032624633 13235538103505234018 3837973585828307035 17073511689333541053 2464741201452296472 1091508817076285909 3556250018528582381 4647758835604868290 8204008854133450671 12851767689738318961 2609032470162218016 15460800159900536977 18069832630062754993 15083888716253740354 14706977272606943731 11344121915151132469 7604355114048524584 501732955490105437 8106088069538630021 8607821025028735458 16713909094567365479 6874986045886549321 5142151066744363184 12017137112630912505 17159288179375275689 10729681218296636578 9442225323962360651 1725162468549445613 11167387792511806264 12892550261061251877 5613193979863506525 59000167215206786 5672194147078713311 5731194314293920097 11403388461372633408 17134582775666553505 10091227163329635297 8779065865286637186 423548954906720867 9202614820193358053 9626163775100078920 382034521583885357 10008198296683964277 10390232818267849634 1951687041242262295 12341919859510111929 14293606900752374224 8188782686552934537 4035645513595757145 12224428200148691682 16260073713744448827 10037757840183588893 7851087480218486104 17888845320402074997 7293188726911009485 6735289973603532866 14028478700514542351 2317024600408523601 16345503300923065952 215783827622037937 16561287128545103889 16777070956167141826 14891614011002694099 13221940893460284309 9666810830753426792 4442007650504159485 14108818481257586277 104082058052194146 14212900539309780423 14316982597361974569 10083139062962203376 5953377586614626329 16036516649576829705 3543150162481904418 1132922738349182507 4676072900831086925 5808995639180269432 10485068540011356357 16294064179191625789 8332388645493430530 6179708750975504703 14512097396468935233 2245062073734888320 16757159470203823553 555477470229160257 17312636940432983810 17868114410662144067 16734007277385576261 16155377614338168712 14442640818014193357 12151274358642810453 8147171102947452194 1851701387880711031 9998872490828163225 11850573878708874256 3402702295827485865 15253276174536360121 209234396654294370 15462510571190654491 15671744967844948861 12687511465326051736 9912512359461448981 4153279751077949101 14065792110539398082 18219071861617347183 13838119898447193649 13610447686354989216 9001823511092631249 4165527123738068849 13167350634830700098 17332877758568768947 12053484319689917429 10939618004549134760 4546358250529500573 15485976255078635333 1585590431898584290 17071566686977219623 210413045166252297 17281979732143471920 17492392777309724217 16327628435743644521 15373277139343817122 13254161501377910027 10180694567012175533 4988111994680533944 15168806561692709477 1710174482663691805 16878981044356401282 142411453310541471 17021392497666942753 17163803950977484224 15738452374934875361 14455512252202807969 11747220553428131714 7755988731921388067 1056465211639968165 8812453943561356232 9868919155201324397 234629025053129013 10103548180254453410 10338177205307582423 1994981311852484217 12333158517160066640 14328139829012550857 8214554272463065881 4095950027766065122 12310504300229131003 16406454327995196125 10270214554514775512 8229924808800420021 53395289605643917 8283320098406063938 8336715388011707855 16620035486417771793 6510006800719928032 4683298213428148209 11193305014148076241 15876603227576224450 8623164168014749075 6053023321881421909 14676187489896170984 2282466738068041277 16958654227964212261 794376892322701922 17753031120286914183 100663938900064489 17853695059186978672 17954358998087043161 17361309983564470217 16868924907941961762 15783490817796880363 14205671652029290509 11542418396116619256 7301345974436358149 397020296843425789 7698366271279783938 8095386568123209727 15793752839402993665 5442395333816651776 2789404099510093825 8231799433326745601 11021203532836839426 806258892454033411 11827462425290872837 12633721317744906248 6014439669326227469 201416913361582101 6215856582687809570 6417273496049391671 12633130078737201241 603659501077041296 13236789579814242537 13840449080891283833 8630494586995974754 4024199594177706971 12654694181173681725 16678893775351388696 10886843882815518805 9118993584457355885 1559093393563323074 10678086978020678959 12237180371584002033 4468523275895129376 16705703647479131409 2727482849664709169 986442423434288962 3713925273098998131 4700367696533287093 8414292969632285224 13114660666165572317 3082209562088305925 16196870228253878242 832335716632632551 17029205944886510793 17861541661519143344 16444003532696102521 15858801120505694249 13856060579492245154 11268117626288387787 6677434132071081325 17945551758359469112 6176241816720998821 5675049501370916317 11851291318091915138 17526340819462831455 10930888063845194977 10010484809598474816 2494628799734118177 12505113609332592993 14999742409066711170 9058111944689752547 5611110280046912101 14669222224736664648 1833588431074025133 16502810655810689781 18336399086884714914 16392465668985853079 16282120682161016377 14227842277437317840 12063218885888782601 7844317089616548825 1460791901795779810 9305108991412328635 10765900893208108445 1624265810910885464 12390166704118993909 14014432515029879373 7957855145439321666 3525543586759649423 11483398732198971089 15008942318958620512 8045596977448039985 4607795222697108881 12653392200145148866 17261187422842257747 11467835549277854997 10282278898410561128 3303370373978864509 13585649272389425637 16889019646368290146 12027924845048164167 10470200417706902697 4051381189045515248 14521581606752417945 126218722088381577 14647800328840799522 14774019050929181099 10975075306060429005 7302350283280058488 18277425589340487493 7133031798910994365 6963713314541930242 14096745113452924607 2613714354285303233 16710459467738227840 877429748313979457 17587889216052207297 18574890656635138 17606464106708842435 17625038997365477573 16784759030364768392 15963053954020694349 14301068910675911125 11817378790987053858 7671703627953413367 1042338345230915609 8714041973184328976 9756380318415244585 23678217890021945 9780058536305266530 9803736754195288475 1137051216791003389 10940787970986291864 12077839187777295253 4571883085054035501 16649722272831330754 2774861284175814639 977839483297593777 3752700767473408416 4730540250771002193 8483241018244410609 13213781269015412802 3250278213550271795 16464059482565684597 1267593622406404776 17731653104972089373 552502653668942533 18284155758641031906 389914338600422823 227326023531903113 617240362132325936 844566385664229049 1461806747796554985 2306373133460784034 3768179881257339019 6074553014718123053 9842732895975462072 15917285910693585125 7313274732959495581 4783816569943529090 12097091302903024671 16880907872846553761 10531255102040026816 8965418901177028961 1049929929507504161 10015348830684533122 11065278760192037283 2633883517167018789 13699162277359056072 16333045794526074861 11585463998175579317 9471765718992102562 2610485643458130263 12082251362450232825 14692737005908363088 8328244294649044297 4574237226847855769 12902481521496900066 17476718748344755835 11932456196132104285 10962430870767308504 4448142993189861173 15410573863957169677 1411972783437479234 16822546647394648911 18234519430832128145 16610322004517225440 16398097361639801969 14561675292447475793 12513028580377726146 8627959799115650323 2694244305783824853 11322204104899475176 14016448410683300029 6891908441873223589 2461612778846972002 9353521220720195591 11815133999567167593 2721911146577811568 14537045146144979161 17258956292722790729 13349257365158218274 12161469584171457387 7063982875620124045 778708386082029816 7842691261702153861 8621399647784183677 16464090909486337538 6638746483560969599 4656093319337755521 11294839802898725120 15950933122236480641 8799028851425654145 6303217899952583170 15102246751378237315 2958720577621268869 18060967328999506184 2572943832911223437 2187167088201178005 4760110921112401442 6947278009313579447 11707388930425980889 207922866030008720 11915311796455989609 12123234662485998329 5591802385232436322 17715037047718434651 4860095359241319357 4128388333250202392 8988483692491521749 13116872025741724141 3658611644523694274 16775483670265418415 1987351241079561073 316090837635427872 2303442078714988945 2619532916350416817 4922974995065405762 7542507911415822579 12465482906481228341 1561246744187499304 14026729650668727645 15587976394856226949 11167961971815402978 8309194292962078311 1030412191067929673 9339606484030007984 10370018675097937657 1262881085418394025 11632899760516331682 12895780845934725707 6081936532741505773 530973304966679864 6612909837708185637 7143883142674865501 13756792980383051138 2453932049348365023 16210725029731416161 217913005370229568 16428638035101645729 16646551040471875297 14628445001863969410 12828251968626293091 9009952896780710885 3391460791697452360 12401413688478163245 15792874480175615605 9747544094944227234 7093674501410291223 16841218596354518457 5488149024055258064 3882623546700224905 9370772570755482969 13253396117455707874 4177424614501639227 17430820731957347101 3161501272749434712 2145577930997230197 5307079203746664909 7452657134743895106 12759736338490560015 1765649399524903505 14525385738015463520 16291035137540367025 12369676801846278929 10213967865677094338 4136900593813821651 14350868459490915989 41024979595186024 14391893439086102013 14432918418681288037 10378067784057838434 6364242129029574855 16742309913087413289 4659807968407436528 2955373807785298201 7615181776192734729 10570555583978032930 18185737360170767659 10309548870439248973 10048542156900465016 1911346953630162373 11959889110530627389 13871236064160789762 7384381100981865535 2808873091433103681 10193254192414969216 13002127283848072897 4748637402553490497 17750764686401563394 4052658015245502275 3356678627937514053 7409336643183016328 10766015271120530381 18175351914303546709 10494623111714525474 10223230952308520567 2271109990313494425 12494340942622014992 14765450932935509417 8813047801847972793 5131754661073930594 13944802462921903387 629813050286282365 14574615513208185752 15204428563494468117 11332300002993102253 8089984492778018754 975540422061569391 9065524914839588145 10041065336901157536 659846178031194065 10700911514932351601 11360757692963545666 3614925134186345651 14975682827149891317 143863887626685352 15119546714776576669 15263410602403262021 11936213243470287074 8752879772163997479 2242348941924732937 10995228714088730416 13237577656013463353 5786062296392642153 576895878696553890 6362958175089196043 6939854053785749933 13302812228874945976 1795922208951144293 15098734437826090269 16894656646777234562 13546647010893773215 11994559583961456161 7094462521145677760 642278031397582305 7736740552543260065 8379018583940842370 16115759136484102435 6048033646715393189 3717048709489944008 9765082356205337197 13482131065695281205 4800469348191066786 18282600413886347991 4636325688367863161 4472182028544659536 9108507716912522697 13580689745457182233 4242453388660153314 17823143134117335547 3618852449067937245 2995251509475721176 6614103958543658421 9609355468019379597 16223459426563038018 7386070820872865999 5162786173726352401 12548856994599218400 17711643168325570801 11813756089215237585 11078655183831256770 4445667199336942739 15524322383168199509 1523245508795590632 17047567891963790141 124069327049829157 17171637219013619298 17295706546063448455 16020599691367516137 14869562163721412976 12443417781379377497 8866235871391238857 2862909579061064738 11729145450452303595 14592055029513368333 7874456406256120312 4019767362059937029 11894223768316057341 15913991130375994370 9361470824982500095 6828717881648942849 16190188706631442944 4572162514570834177 2315607147492725505 6887769662063559682 9203376809556285187 16091146471619844869 6847779207466578440 4492181605376871693 11339960812843450133 15832142418220321826 8725359157354220343 6110757501864990553 14836116659219210896 2500130087374649833 17336246746593860729 1389632760258958946 279135433143268059 1668768193402227005 1947903626545495064 3616671819947722069 5564575446493217133 9181247266440939202 14745822712934156335 5480325905665543921 1779404544890148640 7259730450555692561 9039134995445841201 16298865446001533762 6891256367737823347 4743377740029805493 11634634107767628840 16378011847797434333 9565901881855511557 7497169655943394274 17063071537798905831 6113497120032748489 4729824584122102704 10843321704154851193 15573146288276953897 7969723918722253474 5096126133289655755 13065850052011909229 18161976185301564984 12781082163603922597 12496314275195935965 6830652365090306946 880222566576691295 7710874931666998241 8591097498243689536 16301972429910687777 6446325854444825697 4301554210645961858 10747880065090787555 15049434275736749413 7350570267117985352 3953260469145183149 11303830736263168501 15257091205408351650 8114177867961968535 4924524999660768569 13038702867622737104 17963227867283505673 12555186661196691161 12071670454770645218 6180113042257784763 18251783497028429981 5985152465576663128 5790191888895541493 11775344354472204621 17565536243367746114 10894136524130399119 10012928693788593617 2460321144209441120 12473249837998034737 14933570982207475857 8960076746495958978 5446903654993883219 14406980401489842197 1407139982774173800 15814120384264015997 17221260367038189797 14588636677592654178 13363152970921292359 9505045574804394921 4421454472016135664 13926500046820530585 18347954518836666249 13827710491947645218 13728920937074759851 9109887355312853453 4392064218678061688 13501951573990915141 17894015792668976829 12949223292950340354 12396495011909765567 6898974231150554305 848725169350768256 7747699400501322561 8596424569852090817 16344123970353413378 6493804466495952579 4391184363139814341 10884988829635766920 15276173192775581261 7714417948701796565 4543847067767826210 12258265016469622775 16802112084237448985 10613633026997520144 8969001037525417513 1135889990813386041 10104891028338803554 11240781019152189595 2898927973781441533 14139708992933631128 17038636966715072661 12731601885939152173 11323494778944673218 5608352591174273775 16931847370118946993 4093455887583669152 2578559183993064529 6672015071576733681 9250574255569798210 15922589327146531891 6726419509006778485 4202264762443758760 10928684271450537245 15130949033894296005 7612889231635281634 4297094191820026023 11909983423455307657 16207077615275333680 9670316965021089721 7430650506586871785 17100967471607961506 6084873904485281675 4739097302383691565 10823971206868973240 15563068509252664805 7940295642412086429 5056620077955199618 12996915720367286047 18053535798322485665 12603707444980220096 12210499169593154145 6367462540863822625 131217636747425154 6498680177611247779 6629897814358672933 13128577991969920712 1311731732619042029 14440309724588962741 15752041457208004770 11745607108087415895 9050904491585869049 2349767525963733328 11400672017549602377 13750439543513335705 6704367487353386466 2008062957157170555 8712430444510557021 10720493401667727576 986179772468732981 11706673174136460557 12692852946605193538 5952782047032102479 198890919927744401 6151672966959846880 6350563886887591281 12502236853847438161 406056667025477826 12908293520872915987 13314350187898393813 7775899635061758184 2643505749250600381 10419405384312358565 13062911133562958946 5035572444165765895 18098483577728724841 4687311948184939120 4339051452204112345 9026363400389051465 13365414852593163810 3945034179272663659 17310449031865827469 2808739137428939512 1672444095585215365 4481183233014154877 6153627328599370242 10634810561613525119 16788437890212895361 8976504378116868864 7318198194620212609 16294702572737081473 5166156693647742466 3014115192675272323 8180271886323014789 11194387078998287112 927914891611750285 12122301970610037397 13050216862221787682 6725774759122273463 1329247547634509529 8055022306756782992 9384269854391292521 17439292161148075513 8376817941829816418 7369366029268340315 15746183971098156733 4668805926656945432 1968245824045550549 6637051750702495981 8605297574748046530 15242349325450542511 5400902826489037425 2196508078230028320 7597410904719065745 9793918982949094065 17391329887668159810 8738504796907702259 7683090610866310453 16421595407774012712 5657941944930771549 3632793278995232645 9290735223926004194 12923528502921236839 3767519653137689417 16691048156058926256 2011823735487064057 256127817836438697 2267951553323502754 2524079371159941451 4792030924483444205 7316110295643385656 12108141220126829861 977507442060663901 13085648662187493762 14063156104248157663 8702060692726099809 4318472723264705856 13020533415990805665 17339006139255511521 11912795481536765570 10805057547082725475 4271108954909939429 15076166501992664904 900531383193052717 15976697885185717621 16877229268378770338 14407183079854936343 12837668274524155065 8798107280669539792 3189031481484143241 11987138762153683033 15176170243637826274 8716564932081957691 5445991102010232349 14162556034092190040 1161803062392870773 15324359096485060813 16486162158877931586 13363777181653440783 11403195266821820753 6320228374765709920 17723423641587530673 5596907942643688977 4873587510521668034 10470495453165357011 15344082963687025045 7367834343142830440 4265173233120303869 11633007576263134309 15898180809383438178 9084444311937020871 6535881047610907433 15620325359547928304 3709462333449284121 883043619287660809 4592505952736944930 5475549572024605739 10068055524761550669 15543605096786156408 7164916547838155461 4261777570914760253 11426694118752915714 15688471689667675967 8668421734711040065 5910149350669164416 14578571085380204481 2041976362339817281 16620547447720021762 215779736350287427 16836327184070309189 17052106920420596616 15441690030781354189 14047052877492399189 11041998834564201762 6642307638347049335 17684306472911251097 5879870037548748816 5117432436750448297 10997302474299197113 16114734911049645410 8665293311639290907 6333284148979384701 14998577460618675608 2885117535888508693 17883694996507184301 2322068458686141378 1759019381483774063 4081087840169915441 5840107221653689504 9921195061823604945 15761302283477294449 7235753271591347778 4550311481359090611 11786064752950438389 16336376234309529000 9675696913550415773 7565329074150393157 17241025987700808930 6359610988141650471 5153892902132907785 11513503890274558256 16667396792407466041 9734156608972472681 7954809327670387106 17688965936642859787 7197031190603695277 6439253053537003448 13636284244140698725 1628793223968150557 15265077468108849282 16893870692076999839 13712204086476297505 12159330704843745728 7424790717610491617 1137377348744685729 8562168066355177346 9699545415099863075 18261713481455040421 9514514822845351880 9329484230590840685 397254979726640949 9726739210317481634 10123994190044122583 1403989326652052601 11527983516696175184 12931972843348227785 6013212286334851353 498441055973527522 6511653342308378875 7010094398281906397 13521747740590285272 2085098065162640053 15606845805752925325 17691943870915565378 14852045602958939087 14097245400164952849 10502546929414340320 6153048255869741553 16655595185284081873 4361899367444271810 2570750479018802067 6932649846463073877 9503400325481875944 16436050171944949821 7492706423717274149 5482012521952672354 12974718945669946503 9987393913067241 12984706339583013744 12994693733496080985 7532655999369543113 2080605659156072482 9613261658525615595 11693867317681688077 2860384902497752056 14554252220179440133 17414637122677192189 13522145269147080706 12490038318114721279 7565439513552250369 1608733757957420032 9174173271509670401 10782907029467090433 1510336227267209218 12293243256734299651 13803579484001508869 7650078667026256904 3006914077318214157 10656992744344471061 13663906821662685218 5874155492297604663 1091318240250738265 6965473732548342928 8056791972799081193 15022265705347424121 4632313604436953698 1207835236074826203 5840148840511779901 7047984076586606104 12888132917098386005 1489372919975440493 14377505837073826498 15866878757049266991 11797640520413541873 9217775203753257248 2568671650457247505 11786446854210504753 14355118504667752258 7694821285168705395 3603195716126906037 11298017001295611432 14901212717422517469 7752485645008577285 4206954288721543138 11959439933730120423 16166394222451663561 9679090082472232368 7398740231214344313 17077830313686576681 6029826471191369378 4660912711168394443 10690739182359763821 15351651893528158264 7595647002178370469 4500554821996977117 12096201824175347586 16596756646172324703 10246214396638120673 8396226969100893760 195697292029462817 8591924261130356577 8787621553159819394 17379545814290175971 7720423293740443749 6653225034321068104 14373648328061511853 2580129288673028341 16953777616734540194 1087162831698016919 18040940448432557113 681359206421022416 275555581144027913 956914787565050329 1232470368709078242 2189385156274128571 3421855524983206813 5611240681257335384 9033096206240542197 14644336887497877581 5230689020028868162 1428281833817194127 6658970853846062289 8087252687663256416 14746223541509318705 4386732155463023505 686211623262790594 5072943778725814099 5759155401988604693 10832099180714418792 16591254582703023485 8976609689707890661 7121120198701362530 16097729888409253191 4772106013401064105 2423091828100765680 7195197841501829785 9618289669602595465 16813487511104425250 7985033106997469099 6351776544392342733 14336809651389811832 2241842122072602949 16578651773462414781 373749821825466114 16952401595287880895 17326151417113347009 15831808938691676288 14711216282095471681 12096281147077596353 8360753355463516418 2010290428831561155 10371043784295077573 12381334213126638728 4305633923712164685 16686968136838803413 2545857986841416482 786082049970668279 3331940036812084761 4118022086782753040 7449962123594837801 11567984210377590841 571202260262877026 12139186470640467867 12710388730903344893 6402831127834261144 666475785028054421 7069306912862315565 7735782697890369986 14805089610752685551 4094128234933503921 452473771976637856 4546602006910141777 4999075778886779633 9545677785796921410 14544753564683701043 5643687276771070837 1741696767745220264 7385384044516291101 9127080812261511365 16512464856777802466 7192801595329762215 5258522378398013065 12451323973727775280 17709846352125788345 11714426252144012009 10977528530560248738 4245210708994709131 15222739239554957869 1021205874840115384 16243945114395073253 17265150989235188637 15062352029920710274 13880758945446347295 10496366901657505953 5930381773394301632 16426748675051807585 3910386374736557601 1890390976078813570 5800777350815371171 7691168326894184741 13491945677709555912 2736369930894189037 16228315608603744949 517941465788382370 16746257074392127319 17264198540180509689 15563711540863085392 14381166007334043465 11498133474487577241 7432555408112069090 483944808890094715 7916500217002163805 8400445025892258520 16316945242894422325 6270646195077129229 4140847364261999938 10411493559339129167 14552340923601129105 6517090409230706656 2622687259122284145 9139777668352990801 11762464927475274946 2455498522118714131 14217963449593989077 16673461971712703208 12444681347597140669 10671399245600292261 4669336519487881314 15340735765088173575 1563328210866503273 16904063975954676848 20648113111628505 16924712089066305353 16945360202177933858 15423328217534687595 13921944346003069837 10898528489828205816 6373728762121724037 17272257251949929853 5199241940362102274 4024755118602480511 9223997058964582785 13248752177567063296 4026005162822094465 17274757340389157761 2854018429501700610 1682031696181306755 4536050125683007365 6218081821864314120 10754131947547321485 16972213769411635605 9279601643249405474 7805071338951489463 17084672982200894937 6443000247442832784 5080929155934176105 11523929403377008889 16604858559311184994 9682043888978642267 7840158374580275645 17522202263558917912 6915616564429641941 5991074754279008237 12906691318708650178 451021999278106799 13357713317986756977 13808735317264863776 8719704561542069137 4081695805097381297 12801400366639450434 16883096171736831731 11237752464666730549 9674104562694010664 2465112953651189597 12139217516345200261 14604330469996389858 8296803912632038503 4454390308918876745 12751194221550915248 17205584530469791993 11510034678311155625 10268875135071396002 3332165739673000011 13601040874744396013 16933206614417396024 12087503415452240421 10573965956160084829 4214725297902773634 14788691254062858463 556672478256080481 15345363732318938944 15902036210575019425 12800655869184406753 10255948006049874562 4609859801524729699 14865807807574604261 1028923535389782344 15894731342964386605 16923654878354168949 14371642147609003938 12848552952253621271 8773451026153073593 3175259904697143248 11948710930850216841 15123970835547360089 8625937692688025314 5303164454525833787 13929102147213859101 785522528030141272 14714624675244000373 15500147203274141645 11768027804808590402 8821430934373180431 2142714665472219217 10964145599845399648 13106860265317618865 5624261791453466897 284377983061534146 5908639774515001043 6193017757576535189 12101657532091536232 18294675289668071421 11949588748050056037 11797519964008575842 5300364638349080263 17097884602357656105 3951505166997184752 2602645695645289241 6554150862642473993 9156796558287763234 15710947420930237227 6420999905508448845 3685203252729134456 10106203158237583301 13791406410966717757 5450865495494749442 795527832751915583 6246393328246665025 7041921160998580608 13288314489245245633 1883491576534274625 15171806065779520258 17055297642313794883 13780359634383763525 12388913202988006792 7722528763662218701 1664697892940673877 9387226656602892578 11051924549543566455 1992407132436907417 13044331681980473872 15036738814417381289 9634326422688303545 6224321163396133218 15858647586084436763 3636224675771018365 1048128188145903512 4684352863916921877 5732481052062825389 10416833915979747266 16149314968042572655 8119404810312768305 5821975704645789344 13941380514958557649 1316612145894795377 15257992660853353026 16574604806748148403 13385853393891949813 11513714126930546600 6452823447112944797 17966537574043491397 5972616947446884578 5492410447780824359 11465027395227708937 16957437843008533296 9975721164526690617 8486414933825672297 15392024642811298 8501806958468483595 8517198983111294893 17019005941579778488 7089460850981521765 5661722718851748637 12751183569833270402 18412906288685019039 12717345784808737825 12683507999784205248 6954109710883391457 1190873636958045089 8144983347841436546 9335856984799481635 17480840332640918181 8369953243730848200 7404049502662214765 15774002746393062965 4731308175345726114 2058566848029237463 6789875023374963577 8848441871404201040 15638316894779164617 6040014692473814041 3231587513543427042 9271602206017241083 12503189719560668125 3328047851868357592 15831237571429025717 712541349587831693 16543778921016857410 17256320270604689103 15353355117911994897 14162931314807132384 11069542359009575665 6785729600107156433 17855271959116732098 6194257485514336915 5602785370921517397 11797042856435854312 17399828227357371709 10750127010083674405 9703211163731494498 2006594100105617287 11709805263837111785 13716399363942729072 6979460554070289241 2249115844303466697 9228576398373755938 11477692242677222635 2259524567341426957 13737216810018649592 15996741377360076549 11287214113669174525 8837211417319699458 1677681457279322367 10514892874599021825 12192574331878344192 4260723132767814401 16453297464646158593 2267276523704421378 273829914641028355 2541106438345449733 2814936352986478088 5356042791331927821 8170979144318405909 13527021935650333730 3251257006259188023 16778278941909521753 1582791874459158160 18361070816368679913 1497118617118286457 1411445359777414754 2908563976895701211 4320009336673115965 7228573313568817176 11548582650241933141 330411890101198701 11878994540343131842 12209406430444330543 5641656897077910769 17851063327522241312 5045976150890600465 4450295404703290161 9496271555593890626 13946566960297180787 4996094442181519797 495917328769148968 5492011770950668765 5987929099719817733 11479940870670486498 17467869970390304231 10501066767351239113 9522192664031991728 1576515357673679225 11098708021705670953 12675223379379350178 5327187327375469515 18002410706754819693 4882853960420737592 4438520593466005669 9321374553886743261 13759895147352748930 4634525627529940575 18394420774882689505 4582202328703078464 4529879029876216353 9112081358579294817 13641960388455511170 4307297673325254371 17949258061780765541 3809811661396468296 3312325649467682221 7122137310864150517 10434462960331832738 17556600271195983255 9544319157818264377 8654175355304696016 18198494513122960393 8405925794718104793 8157676234131513570 16563602028849618363 6274534189271580317 4391392144411647064 10665926333683227381 15057318478094874445 7276500738068550210 3887075142453873039 11163575880522423249 15050651022976296288 7767482829789167921 4371389779055912593 12138872608845080514 16510262387900993107 10202390923036522005 8265909237227963496 21556086554933885 8287465323782897381 8309021410337831266 16596486734120728647 6458764070749008297 4608506731160185328 11067270801909193625 15675777533069378953 8296304261269020962 5525337720628848299 13821641981897869261 900235628817165944 14721877610715035205 15622113239532201149 11897246776537684738 9072615942360334271 2523118645188467393 11595734587548801664 14118853232737269057 7267843746576519105 2939952905604236546 10207796652180755651 13147749557784992197 4908802136256196232 18056551694041188429 4518609756587833045 4128417376919469858 8647027133507302903 12775444510426772761 2975727570224524048 15751172080651296809 280155577166269241 16031327657817566050 16311483234983835291 13896066819091849725 11760805980366133400 7210128725748431509 524190632405013293 7734319358153444802 8258509990558458095 15992829348711902897 5804595265560809376 3350680540563160657 9155275806123970033 12505956346687130690 3214488079101549107 15720444425788679797 488188431180677288 16208632856969357085 16696821288150034373 14458710071409839842 12708787285850322599 8720753283550610825 2982796495691381808 11703549779241992633 14686346274933374441 7943151980465815458 4182754181689638283 12125906162155453741 16308660343845092024 9987822432290994149 7849738702426534557 17837561134717528706 7240555763434511647 6631372824442488737 13871928587877000384 2056557338609937505 15928485926486937889 17985043265096875394 15466785117874261667 15005084309261585445 12025125353426295496 8583465588978329325 2161846868695073205 10745312457673402530 12907159326368475735 5205727710332326649 18112887036700802384 4871870673323577417 4538013636314828185 9409884309638405602 13947897945953233787 4911038181882087773 412192054125769944 5323230236007857717 5735422290133627661 11058652526141485378 16794074816275113039 9405983268707046801 7753314011272608224 17159297279979655025 6465867217542711633 5178420423812815042 11644287641355526675 16822708065168341717 10020251632814316776 8396215624273106877 18416467257087423653 8365938807650978914 8335661991028850951 16701600798679829865 6590518715999129200 4845375440969407449 11435894156968536649 16281269597937944098 9270419681196929131 7104945205425321613 16375364886622250744 5033566018338020741 2962186831250719869 7995752849588740610 10957939680839460479 506948456718649473 11464888137558109952 11971836594276759425 4989980658125317761 16961817252402077186 3505053836817843331 2020127015510368901 5525180852328212232 7545307867838581133 13070488720166793365 2169052514295822882 15239541234462616247 17408593748758439129 14201390909511503760 13163240584560391273 8917887420362343417 3634383931213183074 12552271351575526491 16186655282788709565 10292182560654684440 8032093769733842389 18324276330388526829 7909626026412817602 7787158283091792815 15696784309504610417 5037198518886851616 2287238754681910417 7324437273568762033 9611676028250672450 16936113301819434483 8101045256360555317 6590414484470438184 14691459740830993501 2835130151591880069 17526589892422873570 1914975970305202023 994821789018523977 2909797759323726000 3904619548342249977 6814417307665975977 10719036856008225954 17533454163674201931 9805746945972876269 8892457035937526584 251459908200851237 9143916944138377821 9395376852339229058 92549722768055263 9487926575107284321 9580476297875339584 621658799273072289 10202135097148411873 10823793896421484162 2579184919860344419 13402978816281828581 15982163736142173000 10938398478714449965 8473818141147071349 965472546151969698 9439290687299041047 10404763233451010745 1397309847040500176 11802073080491510921 13199382927532011097 6554711934313970402 1307350788136429883 7862062722450400285 9169413510586830168 17031476233037230453 7754145669914509005 6338877829242187842 14093023499156696847 1985157254689333073 16078180753846029920 18063338008535362993 15694774688671841297 15311368623497652674 12559399238459942355 9424023788248043413 3536678952998434152 12960702741246477565 16497381694244911717 11011340361781837666 9061977982317197767 1626574270389483817 10688552252706681584 12315126523096165401 4556934702093295369 16872061225189460770 2982251853573204523 1407569005053113677 4389820858626318200 5797389863679431877 10187210722305750077 15984600585985181954 7725067234581380415 5262923746857010753 12987990981438391168 18250914728295401921 12792161636024241473 12596332290610091778 6941749852924781635 1091338069825321797 8033087922750103432 9124425992575425229 17157513915325528661 7835195834191402274 6545965675807379319 14381161509998781593 2480383112096609296 16861544622095390889 895183660482448569 17756728282577839458 205167869350736411 17961896151928575869 18167064021279312280 17682216099498336533 17402536047068097197 16638008072856882114 15593800046215427695 13785064045362758193 10932120017868634272 6270439989521840849 17202560007390475121 5026255923202764354 3782071856883687859 8808327780086452213 12590399636970140072 2951983343347040669 15542382980317180741 47622249954669794 15590005230271850535 15637627480226520329 12780888636788819248 9971772043305787961 4305916606385055593 14277688649690843554 136861182366347531 14414549832057191085 14551411014423538616 10519216772771178085 6623883713485165085 17143100486256343170 5320240126031956639 4016596538578748193 9336836664610704832 13353433203189453025 4243525794090606241 17596958997280059266 3393740717661113891 2543955641231621541 5937696358892735432 8481652000124356973 14419348359017092405 4454256285431897762 426860570739438551 4881116856171336313 5307977426910774864 10189094283082111177 15497071709992886041 7239421919365445602 4289749555648780027 11529171475014225629 15818921030663005656 8901348431967679669 6273525388921133709 15174873820888813378 3001655136100395471 18176528956989208849 2731440019380052704 2461224902659709937 5192664922039762641 7653889824699472578 12846554746739235219 2053700497729156181 14900255244468391400 16953955742197547581 13407466912956387365 11914678581444383330 6875401420691219079 343335928426050793 7218737349117269872 7562073277543320665 14780810626660590537 3896139830494359586 230206383445398507 4126346213939758093 4356552597385156600 8482898811324914693 12839451408710071293 2875606146325434370 15715057555035505663 143919627651388417 15858977182686894080 16002896810338282497 13415129919315624961 10971282655944355842 5939668501550429187 16910951157494785029 4403875585335662600 2868082669120896013 7271958254456558613 10140040923577454626 17411999178034013239 9105296027901916249 8070551132226377872 17175847160128294121 6799654218645120377 5528757305063862882 12328411523708983259 17857168828772846141 11738836278772277784 11149261033835572309 4441353238898298477 15590614272733870786 1585223437922617647 17175837710656488433 314317074869554464 17490154785526042897 17804471860395597361 16847882572212088642 16205610358898134387 14606748857400671413 12365615142589254184 8525619926280373981 2444490995160076549 10970110921440450530 13414601916600527079 5937968764331425993 905826607222401456 6843795371553827449 7749621978776228905 14593417350330056354 3896295255396733643 42968532017238381 3939263787413972024 3982232319431210405 7921496106845182429 11903728426276392834 1378480459412023647 13282208885688416481 14660689345100440128 9496154157079304993 5710099428470193505 15206253585549498498 2469608940310140387 17675862525859638885 1698727392460227656 927845844610314925 2626573237070542581 3554419081680857506 6180992318751400087 9735411400432257593 15916403719183657680 7205071045906363657 4674730691380469721 11879801737286833378 16554532428667303099 9987590092244584861 8095378447202336344 18082968539446921205 7731602912939705933 7367827378677075522 15099430291616781455 4020513596584305361 673199814491535200 4693713411075840561 5366913225567375761 10060626636643216322 15427539862210592083 7041422425144256789 4022218213645297256 11063640638789554045 15085858852434851301 7702755417514853730 4341870196240153415 12044625613755007145 16386495809995160560 9984377350040616089 7924129086326225033 17908506436366841122 7385891448983514539 6847653811640804045 14233545260624318584 2634454998555571013 16868000259179889597 1055711184025908994 17923711443205798591 532678553522155969 9645923018402944 542324476540558913 551970399558961857 1094294876099520770 1646265275658482627 2740560151758003397 4386825427416486024 7127385579174489421 11514211006590975445 194852512055913250 11709063518646888695 11903916030702801945 5166235475640139024 17070151506342940969 3789642908273528377 2413050340906917730 6202693249180446107 8615743590087363837 14818436839267809944 4987436355645622165 1359129121203880493 6346565476849502658 7705694598053383151 14052260074902885809 3311210599246717344 17363470674149603153 2227937199686768881 1144663800126820418 3372600999813589299 4517264799940409717 7889865799753999016 12407130599694408733 1850252325738856133 14257382925433264866 16107635251172120999 11918274102895834249 9579165280358403632 3050695309544686265 12629860589903089897 15680555899447776162 9863672415641314443 7097484241379538989 16961156657020853432 5611896824690840805 4126309408002142621 9738206232692983426 13864515640695126047 5155977799678557857 573749366664132288 5729727166342690145 6303476533006822433 12033203699349512578 18336680232356335011 11923139857996295973 11813076016643079368 5289471800929823725 17102547817572903093 3945275544793175202 2601079288656526679 6546354833449701881 9147434122106228560 15693788955555930441 6394479003952607385 3641523885798986210 10036002889751593595 13677526775550579805 5266785591592621784 497568293433649973 5764353885026271757 6261922178459921730 12026276063486193487 18288198241946115217 11867730231722757088 11709184399959320689 5130170557972526161 16839354957931846850 3522781442194821395 1915392326417116629 5438173768611938024 7353566095029054653 12791739863640992677 1698561884960495714 14490301748601488391 16188863633561984105 12232421308453920880 9974540868306353369 3760218103050722633 13734758971357076002 17494977074407798635 12782991972055323021 11831224972753570040 6167472871099341445 17998697843852911485 5719426641242701314 5271380411386061183 10990807052628762497 16262187464014823680 8806250442934034561 6621693833239306625 15427944276173341186 3602894035703096195 584094238166885765 4186988273869981960 4771082512036867725 8958070785906849685 13729153297943717410 4240480010141015479 17969633308084732889 3763369244516196752 3286258478891378025 7049627723407574777 10335886202298952802 17385513925706527579 9274656054295928765 8213425906292904728 17488081960588833493 7254763793172186605 6296101680051468482 13550865473223655087 1400223079565571953 14951088552789227040 16351311632354798993 12855656111434474417 10760223670079721794 5169135707804644595 15929359377884366389 2651751011979459368 134366316154274141 2786117328133733509 2920483644288007650 5706600972421741159 8627084616709748809 14333685589131489968 4514026132131687161 400967647553625513 4914993779685312674 5315961427238938187 10230955206924250861 15546916634163189048 7331127767377888293 4431300327831525725 11762428095209414018 16193728423040939743 9509412444540802145 7256396793872190272 16765809238412992417 5575461958575631073 3894527123279071874 9469989081854702947 13364516205133774821 4387761213278926152 17752277418412700973 3693294557982075509 2998827902685224866 6692122460667300375 9690950363352525241 16383072824019825616 7627279113662799241 5563607863973073241 13190886977635872482 307750767899394107 13498637745535266589 13806388513434660696 8858282185260375669 4217926624985484749 13076208810245860418 17294135435231345167 11923600171767653969 10770991533289447520 4247847631347549873 15018839164636997393 819942722274995650 15838781886911993043 16658724609186988693 14050762422389430120 12262742957866867197 7866761306546745701 1682760190704061282 9549521497250806983 11232281687954868265 2335059111496123632 13567340799450991897 15902399910947115529 11022996636688555810 8478652473926119723 1054905036905123917 9533557510831243640 10588462547736367557 1675275984858059581 12263738532594427138 13939014517452486719 7756008976337362241 3248279420080297344 11004288396417659585 14252567816497956929 6810112139206064898 2615935881994470211 9426048021200535109 12041983903195005320 3021287850685988813 15063271753880994133 18084559604566982946 14701087284738425463 14338902815595856793 10593246026624730640 6485404768511035817 17078650795135766457 5117311489937250658 3749218211363465499 8866529701300716157 12615747912664181656 3035533540255346197 15651281452919527853 240070919465322434 15891352372384850287 16131423291850172721 13576031590525471392 11260710808666092497 6389998325482012273 17650709134148104770 5593963385920565427 4797928446359118581 10391891832279684008 15189820278638802589 7134968037208934981 3878044242138185954 11013012279347120935 14891056521485306889 7457324727122876208 3901637174898631481 11358961902021507689 15260599076920139170 8172816905232095243 4986671908442682797 13159488813674778040 18146160722117460837 12858905462082687261 12558322110490596482 6970483498863732127 1082061535644776993 8052545034508509120 9134606570153286113 17187151604661795233 7875014101105529730 6615421632057773347 14490435733163303077 2659113291511524808 17149549024674827885 1361918242476801077 64723193442077346 1426641435918878423 1491364629360955769 2918006065279834192 4409370694640789961 7327376759920624153 11736747454561414114 617380140772486651 12354127595333900765 12971507736106387416 6878891257730736565 1403654920127572365 8282546177858308930 9686201097985881295 17968747275844190225 9208204300120519904 8730207502255158513 17938411802375678417 8221875230921285314 7713542959587412115 15935418190508697429 5202217076386557928 2690891193185703741 7893108269572261669 10583999462757965410 30363658620675463 10614363121378640873 10644726779999316336 2812345827668405593 13457072607667721929 16269418435336127522 11279746969294297835 9102421330920873741 1935424226505619960 11037845557426493701 12973269783932113661 5564371267649055746 90896977871617791 5655268245520673537 5746165223392291328 11401433468912964865 17147598692305256193 10102288087508669442 8803142706104374019 458686719903491845 9261829426007865864 9720516145911357709";
            var actualConsoleOutput = "";
            var asynchImpl = new AsynchFibonacci();

            asynchImpl.Compute(5000);
            actualConsoleOutput = asynchImpl.Result.Get;

            Assert.AreEqual(expectedConsoleOutput, actualConsoleOutput, false);
        }