1000000000 1000 177757853 827347032 409613589 419171337 739269360 256524697 328695530 896842209 374399327 391813841 360785405 542339823 187575060 480190861 804232258 79542565 59643044 485262739 289091814 24222315 775375478 454716447 136349269 120791728 564212782 412906284 474821544 460141397 313565845 935914845 788639817 379892853 860545019 442244318 197404351 229103213 983033901 995290887 826871860 404332126 902988490 991399215 606497791 626811073 681659182 676330095 993057319 757658852 926944512 218464280 987341041 927785465 561865969 90132588 556437868 459304971 445331982 693318049 767705360 748255595 787257104 970921376 496299362 944247896 58813402 615182349 591670536 567456950 85120815 386848313 585326019 902625641 622415174 705689438 451700547 965463363 315720848 853227427 711142556 996959383 715802350 604485617 333869311 804767786 504375239 483506631 630082741 377413403 377648307 113270902 99614422 93250843 35620053 725684032 756926042 754019163 900129163 617243268 263233514 185728967 35969983 326082416 289708098 758286229 300057580 638780234 284548893 875372323 617993849 637434100 64765435 832470919 313735568 415247059 178984191 838581699 485988384 116155255 332305188 153678316 617492272 572236036 15635813 287887337 285337593 73158989 429865202 980479325 450287341 349840513 617399361 30753719 771478651 779087324 528381747 177866844 637751647 198228973 307046120 196986032 29302983 268988058 576815060 447734305 79555701 204589773 782941750 39358767 90888708 53809238 997669343 735507351 767286988 749700455 224632280 259177750 929453275 773320623 596464236 388574724 521051666 917978788 882932315 291996686 421048150 106409438 262697606 365779693 641395522 461423700 361235445 994358284 988948508 995496497 55562631 218964843 50368871 244472620 660617678 235408970 672049896 531365202 469511655 712398669 789462670 485532911 142135864 324199362 937274006 61160847 626078413 166791367 695091640 899434277 879334985 349692089 453460705 73553374 56751227 779813784 163794156 626612723 83800512 753304715 634335513 151882425 212273809 315456439 360150781 898960743 814143585 256006266 91735257 606571664 357365253 935795417 896864163 483428901 559734231 763429639 855534671 125943292 45632724 31862277 803645242 460998956 628241141 401145147 614439354 396184283 426556215 454220617 145581166 40669254 180518680 217782462 68215888 98413609 206640739 576775792 593840675 653900924 22326341 888694111 797855218 460111531 812206177 493419120 36633793 278863313 962868100 995835464 355855168 106933978 721471113 870686163 268031592 953147973 980740411 199251471 33017072 729990907 787904360 236228046 539210339 739310067 608264014 233345647 740430872 472015601 703903026 891904624 567194285 253059484 929898422 395755330 911758632 62305096 924820055 393437687 75378142 292927021 798015696 282657159 633217376 859705862 13484506 946146234 293792365 841405127 683418159 845312955 364394071 604531671 312401531 172873024 743588970 428711189 249976467 333494721 461857911 960603476 62964571 334206646 480210975 369967627 630438827 548674029 399533148 111781556 756562916 358365536 93824730 303541514 579193605 289124977 144589204 193159946 771410697 536327980 377892581 101246214 842947916 360661775 504096799 904867073 79262834 237510581 488423664 971126429 172377023 852492526 392040814 494535325 638701784 312481479 84613587 451531717 93027032 210839193 747683095 910393032 80512204 342050277 935696677 298296101 559561980 12484996 42608245 758565005 256611238 45910191 973279363 639555297 544294606 547587304 639071610 851949747 61864451 355696476 286901817 935204369 669053862 997262673 103383421 386649047 138265757 420195547 696619675 455983686 196422255 91545522 539678215 683869413 761750587 149381715 823141667 508997754 244216385 720584505 617866602 204006557 675289447 942709244 103856254 688246368 311048637 905321447 60656887 366991239 455977951 263497139 738076549 644778684 505287737 914015346 643996817 392785636 301101688 384146857 349127976 242750169 43984480 8398409 193187372 111347734 589347286 12569944 280962869 378936089 514853675 768179165 826266078 413486641 385932689 418745827 289829192 746912106 368313958 681718582 904954892 761859711 148846116 704779417 534615958 465770503 474914659 311724161 147263584 16744642 605032656 308558941 923104612 350341114 252942512 277114622 146299637 932825098 416271103 113277657 346233861 412745516 111058812 94145605 19710806 101708185 389374717 971082880 637840070 335360200 263387067 15729701 929204028 301162775 510863090 983898341 963230044 676906707 784513715 585770037 799365008 185711627 368191436 444626465 760984265 738609461 506827716 293459467 300376313 931335558 313122495 356456626 94560986 836499751 812514897 834677929 59059349 495697051 87708953 50010735 826348196 23586605 838052244 487461641 592438696 363144806 917821696 841608427 823967263 233283092 499810638 647274650 38888491 191106421 226188784 431885807 478685045 715080469 28543794 407171337 614967509 197508918 349381387 305059066 891239037 252882230 914238637 929983912 958065885 517491612 617461288 977607493 906444504 96735725 960611904 434918331 881258730 573642220 39346959 993744987 746156186 589187619 133355018 986325144 859532736 761368082 691169754 491269504 379593531 818792344 555573762 684574805 388994527 139430157 280959979 491189972 148879054 101019172 632595229 840227825 75103071 496770063 895083480 501804258 318797229 416240988 428214919 43004807 576742396 42673593 153521403 65296183 270251944 225938363 3539585 355384690 873006969 611996649 774715490 464994079 905490366 43352916 99079857 457192949 732689231 679595424 846969015 987409317 380839740 317278587 246392065 436533054 225183453 875602533 900352061 259443696 215334374 635408239 670790492 883404541 629633454 234519134 291351509 512892069 112322385 674166699 984679987 772584223 925219889 176501085 989092235 35983960 268462898 620789899 498193233 700978149 603583482 870943372 5622991 97456330 648925050 677672257 851144752 863938453 663025721 397868939 123993727 13310031 853611548 708543642 148755514 89609004 703007989 85350586 900269148 417048987 619474115 668016577 449935275 256918855 384838859 922629410 204034277 607894711 795852851 878866500 882430825 174014217 168598617 660208087 80662309 453140353 7578104 526197277 679924723 252050369 668054379 186466841 192191002 425079876 565000459 340210001 836192402 418103190 992512550 44820668 2054046 592009812 791073195 146139645 367401133 504753561 860050370 854274568 156879581 913293647 256681587 179452591 545684621 856135024 868919649 770826769 562139886 400530408 645949130 402186941 510948551 334524486 581121499 127462661 204810834 960058187 801912348 806513891 485390323 135352073 563142040 929339228 197901853 756569860 13741432 50064313 87379521 668972145 629464167 989079004 963928368 948524031 188061700 395882323 272515713 706506863 575951259 19394612 398104462 829122761 861313320 10430722 746962247 896271247 538674779 286255916 925502439 985266813 514956640 671219831 674796270 396416113 54650804 32912596 206666342 981406114 810578409 546845212 735027873 653964448 803019864 993631739 432813909 217520569 929477386 900049953 989396388 597352124 37630544 660417 378027812 319829427 826161511 924811758 974097292 942607958 55180425 212532865 980407998 709825210 276825274 217837627 6697496 665018674 552110208 33586365 628484045 1023685 126610707 262462298 732729446 482053565 160247526 846055029 168105625 604664301 949226081 622870213 766672415 780623065 877631490 72559849 269499805 807414359 413930988 73605882 760122577 139064101 934704574 735260033 717233182 1015294 626217568 598508957 274024683 456846067 865108430 544407085 861695055 29925885 971846524 798544941 218522109 453819316 74146614 620995147 665309504 204570075 177917233 869310841 823698644 644689259 744194054 704359716 24084806 463533572 393739163 98080657 299910869 649095770 638651830 865151302 599542505 778682291 518908202 502004764 87747906 738997366 31358610 670891684 268769348 604067543 155121281 683011803 993809175 982656292 234530115 836141961 61924602 550794288 432515304 822249861 583711414 801061703 835806507 181139513 820792751 156432946 691703485 670949891 783057161 576120252 508265842 128662511 957036749 56631751 241398378 598237423 73491848 629730931 345796754 37521493 961629778 102463679 900523925 290483936 746199127 569512701 317246035 439656098 141727968 500592589 245637403 508175502 599634067 195528257 225737221 224770872 157125149 944408859 649720724 929923341 253083186 580521640 191673 978518250 70800167 9677831 180800519 864591568 58638257 739751613 430547726 586773397 625930080 963008478 384161064 269503579 605149531 880079332 16399952 165913207 184226100 210929524 613545668 998788988 591893783 118121607 289400305 479434591 76990082 532537474 282841453 132820279 652052216 929845721 869349287 442315535 642420357 549483383 936442245 96552009 56984288 275243996 755553602 466075003 855932131 325735363 825862848 253945439 932917676 82283121 172865505 970458338 837878624 469561004 402026255 687367088 952766237 506782868 482268179 147470041 438733697 84846663 691566464 39733809 756369412 500488905 299896534 171022886 152022953 669754954 908291100 454737454 156260979 400849884 572750692 552746734 630950433 237909562 573406756 889589506 696979337 754737925 471030273 820472787 9109265 597564900 368541934 851287751 336122348 290220354 582589428 475484732 959584331 932955231 764810966 761466803 985531161 583266676 692621785 359569054 897268611 69949815 767885424 703889987 718980630 257050395 36773216 76953805 458832539 800827086 765742847 153480276 591449663 267870356 20331639 759104518 556003191 372211917 400359717 141038061 198622033 913601200 882638115 353931911 988117718 773590496 870914410 392035378 387066232 358080500 822142922 449770149 491805624 440295393 476068741 252978096 572793235 708702294 612128419 402331181 24197943 241866632 509466851 51010779 196862123 688507823 549552257 863712445 377240965 465036870 292332153 291988620 74842263 633411388 15474181 10759529 437036827 903826820 427927140 105211736 819717917 431507688 956538023 703699021 721295782 131585279 170813721 50165352 243496440 830034119 982941762 108585579 652147567 77755726 654206439 447289378 280263450 563470194 783733682 130589405 295074087 683594132 201304489 583488591 712161800 32927462 928487608 51854094 688323435 56317464 959574695 190848723 433795287 817782688 853857953 283277148 443025277 311680182 27100723 49494668 731625959 170745584 691523904 972905168 645364280 857064429 992698808 997938399 763594395 450361200 294340185 101503836 323168198 207423978 650675993 568678115 528363227 102398368 42294704 389584510 673513164 458707430 86932374 490324768 379422033 838898271 118104805 748796223 601470521 832951457 379843487 645473650 353028640 718163232 180755160 918892456 441927412 708870459 543815666 806098692 375675346 205446862 363588342 276200584 117989479 323723477 597270361 917738587 682641117 713447154 117998652 64074246 723609635 893171838 808135483 454318361 719088259 540130485 569850983 538722617 148987964 721173776 625191362 152120619 671014422 129219485 596459965 434261221 401398977 418062271 78717745 804608219 253894912 941494685 728851739 104468543 593978550 966715046 327605133 956537897 547263134 871432242 906280822 525526158 971192362 926196245 853797183 423374431 688151595 76435276 570328116 763745482 637545929 794020865 864693838 597747042 331882642 535046943 973464308 207905213 541717115 649893403 147708971 532179613 881356167 591316635 607094518 348158199 179954311 614040583 15551471 490071919 461473894 582652649 952128163 126158028 313711355 600153770 873871340 805108060 945241836 381885562 475665794 930239384 517106460 20374343 228707259 143922073 838607008 973098942 829273162 82359743 999709134 347678117 118364763 153898003 949581983 116970116 873793682 187709807 431984241 201627801 875471897 94118511 478031682 176954372 866229754 64902441 435400415 12227748 51304975 687175602 216345733 149079366 383030719 83983812 686580953 577181637 559010773 807743074 873819756 736218522 805933356 124022992 177259102 972356569 236916887 815183370 672942054 328824866 899873879 563595884 643107225 733122992 378110452 651373324 331025201 95271164 199624841 744848939 719652604 20837505 819646010 469403476 86313318 878276281 418509698 387858913 77694503 591715338 943028531 3587612 592173096 647947427 929915870 756521726 961295577 523298726 272754162 951954500 692088041 83786814 407406973 255921672 932041851 251148705 992514702 134308914 690240630 654055084 408848970 335092806 141935563 967256587 169774126 190390611 606383029 189798654 37503381 263690047 184505525 80429125 374793055 411521046 408549159 582177100 942633994 980753736 763095373 5040012 380427253 408391271 536328465 260694715 474935029 486668027 141754557 963928053 361209829 979760967 843302519 116526291 131680581 518318523 210775901 593634004 114975250 980119767 565642029 805053649 134126130 402678846 656673234 312670012 416432159 889026178 657893686 800224309 642606876 868720907 325907228 668564148 338140691 95995659 161000992 882170483 249368896 113157443 120886058 177858620 922743943 547281963 506513277 197305448 671407300 43646220 795986674 292364524 84526493 879285455 692325884 517819238 882966873 197563433 891359724 339121394 410178950 570267742 537858504 222390622 392850134 183389611 279438349 752056302 282382748 498024507 633002389 920691353 450454198 286419652 762410049 707999743 787797434 398791157 283043804 341966521 726780102 234115908 830900797 380168362 135743654 242646585 89962263 636220040 518963812 813284426 216838170 848326288 991977973 284638189 885052496 769620539 642510679 716374148 523834445 795765234 537131751 937632813 5654746 418641624 355271894 138830205 875075201 168381417 831023150 512680425 255301096 451861635 960802351 11762634 584058688 733091733 249862197 621006323 954394373 947847328 396854716 44014021 110256655 141966090 889310317 922052903 604541184 704870403 857905055 62660392 663239397 597102857 67511961 326678083 387954823 674478717 907563705 988946020 307010539 297812047 213053028 909116250 670579849 155165042 726668716 275449658 55102294 984509911 370958308 849210474 340382418 667756253 5990404 518555074 356127435 610409942 429349468 67318108 660949088 826420164 807573077 18467418 397802336 682775615 962771424 951394337 528398392 844532995 981280964 130421532 89398710 296439625 140047693 302894116 844747136 69996269 803338300 544837722 563246986 585940819 144711065 687236365 193637213 794344741 252765591 471002739 451522530 695953047 514283079 347063168 299911686 161200335 116631396 14098311 599671698 394402232 885760128 543184369 58534111 231503498 867769784 307319065 634916354 412550413 251022233 159886836 121903170 867117013 632842766 144260329 204163751 560603285 73292125 482604677 813292224 666570350 349509724 519893009 185738616 845613260 267503690 486514011 582163244 132085810 213087296 350206379 885677381 990038742 534515727 799025014 997284843 753037890 622735708 359610628 738766469 560738065 707272818 331810687 239592914 497114122 617594244 738377099 315243777 241336019 546198440 783297223 970863343 490773227 531384247 666936826 831156302 239692960 197876948 776194733 575232560 3668118 542763965 176655151 66399429 865905069 844419815 757912281 560124018 929633337 897064975 874503664 133023958 956152162 308708197 100858349 568074873 408717770 50645142 160160883 719017256 106643973 521623833 818594295 297021628 952019739 437334123 307493917 70478845 96066712 326694854 903226299 980301850 479698088 851197273 128809318 896148504 459461369 883222301 732178011 537281434 700769564 241674304 220548932 56397915 522685060 355633859 844278043 974689132 193122471 61755930 640419132 560749540 928225726 313766460 947341595 138452512 43269945 188347636 671721555 707030826 801660929 862081145 9013126 204158893 282928704 796461038 344499805 470524268 73520329 469426506 575413725 498401951 435882095 421461717 761391168 983033650 894408769 639066906 901278085 828337041 506931365 270562377 517426398 556557073 827832689 177988337 805763005 466470035 444335155 461868177 183541214 939413872 661476619 822087237 84871127 392348363 882970775 317282008 914000141 486846413 295111415 204372116 90278812 524298708 127068141 576614518 679968633 567992967 251103365 682112875 173728241 227035445 376791853 836829348 967029659 243869798 956739408 623264224 565484912 963556308 423740762 846239239 237483320 544611981 945144806 206281579 818255267 770693805 486148481 919711611 58861602 122259585 998104314 316589508 614353336 829754211 409694390 559739175 34088846 254059496 305947026 106194021 394416672 727724630 909090441 19682956 856246658 711049701 467557415 858646862 422141497 44982011 601072862 451333632 305044887 607341583 666398975 62518502 610020783 281523193 573838366 843179021 755017514 84324957 267587193 477173766 901299415 498398642 46271198 690945194 352383524 650798814 979165124 890178925 535861786 601057956 748790526 788996225 821100581 596512549 552938208 330606452 866876774 722276619 444196603 557420073 116915543 347338031 542725302 728227943 914063087 206637309 104504671 953431310 437028095 887083879 267214416 452609762 313022906 893892906 396404527 37311653 333121385 551588716 370783323 845740985 914557041 8593048 290925358 598141012 636927663 318329629 262787621 534084788 37888277 92058471 810591980 741116303 343816210 151960198 494480225 269689115 960798374 477090692 322149212 733143101 13678569 926349391 772105360 239722539 965653717 656007254 631013350 116328930 211317753 958735201 617076579 416034548 764000377 350805096 806979510 911265064 47363279 226796715 214727905 719933710 86642327 884197371 333523309 448561133 451664841 821746284 280629307 558156788 59238118 726304889 609244357 281909213 454208922 78026301 777521373 698248961 83665647 753407885 121052888 119746109 515795655 188058838 69612884 501982471 70163517 682753620 799571590 409122051 99514818 279911872 281602263 716005977 330463714 228260258 759190668 644076950 935169682 11776043 852336820 932743450 650024456 171127092 870799768 760435086 522017695 605679931 119430132 983033198 893461518 582156502 621748935 552377827 869552438 150330408 714583582 996263512 908753704 604850929 83567256 927046635 680885113 161177898 108274557 131535714 666586942 251912436 921179487 413581037 908832823 348817474 941522117 742135572 320186077 807134992 8937734 593039008 898811929 947211698 127168390 345883056 570316579 803099962 367895788 879108324 121709742 307944454 388904839 240943010 12611184 317919651 307705160 343670771 865364999 859933643 715552837 290866767 544245925 731331815 338943767 599089517 251776854 934439275 831497215 648401790 677368679 238331312 483907475 67385496 924491189 48068167 127518284 481576494 227706386 790773786 529710822 140283732 911758906 410172195 678712375 145570900 37824359 47795953 213938967 730521912 813298762 38288757 969304056 619693580 424459874 336022669 719072616 999479772 612794198 233650238 159546712 485605254 473669384 499907874 569682615 471058731 189843696 574437431 946300926 273003187 724890078 96782412 2617240 943556980 783979539 586833758 839690296 253166976 984680622 954177401 310144154 666498692 653070612 909944672 155900845 34535183 435421223 561741337 979069431 806145391 56131374 797077797 749358678 920137663 223728520 494878478 820870723 959023440 425997342 144563739 894609459 76676480 622009800 571809735 239101507 78818318 365060756 733393206 854793591 89056166 382122326 111314457 372595263 993709507 825534830 19684383 30267113 778873360 477241624 592857138 962798896 802216609 325885864 677214618 942774428 804836078 906890249 862858033 111242033 714763758 968437084 822458725 130455504 491753930 409774420 516045954 308779991 890432871 832372139 530315673 260247684