1000 892631472 56 871 986350949 208 365 96444602 490 980 822387303 399 613 522523573 357 521 201564132 301 991 697351162 87 810 473852172 741 821 820738833 166 249 294298102 119 882 127877669 213 421 675155875 304 880 528427003 530 585 285421109 606 736 100247796 29 295 351719105 265 830 958219036 158 837 602731143 180 959 202308690 107 961 512606197 43 997 751451357 221 692 661559002 785 847 620260776 45 573 741881723 25 383 686974833 528 821 6157975 928 986 861674472 279 728 214496470 677 874 2377496 706 925 622471112 485 588 428363724 93 983 366711913 203 820 827698279 561 622 130511675 223 502 92906249 63 937 509293538 143 336 295648469 96 279 876882210 255 646 405095557 583 946 871773559 408 650 209520298 330 930 885633762 748 917 734689326 133 931 38127536 389 449 230832183 567 586 54914168 195 806 907371145 226 844 262305325 396 661 189754281 176 805 685989688 353 384 243293989 519 959 91380830 605 897 905760245 158 822 378733589 381 995 411682347 150 512 400263363 538 757 398908640 90 964 345419363 69 201 119304260 169 868 749040527 398 510 552695683 805 859 859505010 480 481 521944783 82 542 441719798 114 600 811669929 295 987 57941362 652 815 485781035 244 765 543716897 618 723 386529015 271 378 839574710 604 927 437749222 843 957 918010245 295 906 88839857 205 379 709576259 562 778 137494118 737 901 826708914 189 968 762409354 636 778 280285462 725 912 358645989 629 786 89179028 424 490 366869705 301 674 390412309 285 857 214946465 659 826 482908468 139 433 725179595 564 829 68076287 327 343 753294558 308 775 867344423 165 175 369336631 182 244 874715194 267 837 814059805 828 932 982188515 627 891 183017521 147 868 613079970 624 969 793120821 369 412 708043913 122 843 143762158 253 988 623756513 195 983 758298766 525 939 259694181 687 943 412869169 129 764 391604574 591 901 890523496 620 904 449526424 189 516 776932674 216 672 389187683 291 577 533322743 812 951 459207784 296 770 803777154 257 647 117225779 580 783 234610205 737 995 922391610 490 809 342144005 489 736 821151107 438 913 582065151 538 787 106438416 184 350 324147731 235 362 118023971 238 252 729266856 399 541 748583631 404 649 602277455 495 998 502432740 604 865 780384152 686 879 156563001 177 664 649618437 640 693 496405525 436 464 649187869 220 806 617248359 283 397 76521272 343 609 905823204 432 538 177856559 142 390 436561615 184 682 374018626 374 546 405475219 646 888 670825001 553 806 81006463 257 274 784466400 731 909 662178004 567 845 547044716 693 911 859340554 284 682 29756805 452 692 194863967 803 940 913741877 245 625 977209675 511 941 929179213 753 786 153411715 511 796 701834476 840 981 166156302 312 336 709660071 167 495 907867844 150 330 853506350 287 379 625895721 202 779 609995697 441 806 532732048 662 708 533660797 476 638 815750914 441 983 322654981 783 998 998496572 831 928 253041910 231 246 264006096 176 528 218003936 186 266 888801070 306 868 234807714 475 944 16717212 872 903 680447885 409 646 522436702 815 908 284662554 762 817 93628869 176 998 759700497 299 626 204715681 551 839 207437781 175 697 277225520 523 950 833263714 415 913 613298355 366 526 631574526 330 992 808463613 693 908 507642456 717 969 487083666 429 449 834441598 466 478 33017721 226 325 228755293 294 521 176677311 238 729 221730568 310 486 685234036 454 466 468726485 251 515 99743289 331 847 480295622 431 549 884019535 210 659 80713710 415 439 552541618 228 763 766992677 564 890 418806376 226 863 392223346 217 300 750945995 734 930 993911069 252 544 7095402 414 969 611298076 390 545 374550757 367 666 105695998 365 500 248069661 485 620 848563820 221 680 702435863 371 786 922449682 233 804 186886110 637 848 73891064 220 622 568009147 212 623 317824824 290 483 303545134 393 425 504300549 884 977 552982551 435 626 94747748 276 952 146972737 779 841 473799633 787 914 665941461 259 832 701329588 782 920 320804357 629 818 495705305 535 853 104567685 292 597 980352785 509 615 236515282 599 912 817241750 805 913 211063097 850 996 571042603 622 817 76311003 734 919 812554123 492 526 755001076 347 880 240183244 520 896 565150829 512 637 276367562 477 732 253560305 605 891 820375969 458 871 894006471 478 953 938647620 620 696 684921296 606 851 368087321 713 989 65942803 594 807 183150221 567 634 321030405 580 859 553882708 370 525 316593343 499 722 909821531 395 516 961642710 676 855 622608913 364 936 964700671 563 754 703119274 688 838 133426215 646 998 319801874 253 817 552511058 690 930 473860166 363 819 892373761 857 875 206112832 256 509 639182541 537 803 80281402 285 499 629237514 471 862 80174056 403 585 191669314 277 731 704535365 554 855 525745759 412 890 415660224 680 980 700389958 684 930 721992891 416 631 806659912 917 971 316481808 306 524 606579424 279 394 367013847 299 427 903005262 895 938 121373438 452 826 581771245 406 958 506581747 520 630 880835356 772 952 243639871 381 867 403501063 419 447 910095997 582 924 363355940 884 948 740301192 413 871 219133906 407 599 317410001 769 912 685779982 473 546 935605885 294 355 388467782 399 618 264496106 481 679 801402205 624 944 361484252 341 386 177774234 686 771 72785305 338 698 14109053 589 594 453697584 720 920 227125275 535 809 338149752 478 983 481797949 380 886 622814155 519 982 781759042 301 983 827460927 323 481 672182857 655 912 951919600 621 826 98050472 407 421 119051065 390 841 436602027 334 760 711569707 324 760 203364237 445 982 38790790 442 888 262719091 396 821 999338676 598 712 97884121 648 905 807543660 318 554 138263093 827 871 274071462 323 473 4318360 555 849 962356192 653 844 685763145 583 827 864531581 673 783 707429631 715 848 125351239 587 775 455273157 324 398 399212018 318 525 890999990 369 755 403592609 664 670 793614295 611 856 675346328 668 678 151278094 569 815 975369762 494 826 223749879 641 653 556446687 601 972 954555787 719 843 270165845 785 935 866683042 363 703 445508482 683 969 467870814 391 683 822255958 786 798 727839675 705 836 11267690 332 971 341659852 555 788 765810908 475 584 172608163 465 945 348971890 845 984 890497712 474 671 34690796 535 952 34118031 393 921 231242976 474 838 9125765 582 631 866972464 445 772 278309599 474 587 392557607 410 576 413590247 519 814 802740258 491 599 294422391 724 889 168529745 853 904 85582730 703 997 365481524 413 828 635923425 631 750 610195239 816 818 404689267 402 906 970588715 831 972 972087042 649 969 687645424 456 672 269920741 779 959 116623973 654 754 1802565 416 848 344863230 411 711 147236446 498 636 592534149 472 571 409311947 482 770 751145415 422 672 392958350 566 742 505435250 449 858 522713116 468 503 461022879 779 890 948303638 423 667 696225580 534 961 836459409 475 856 743948410 380 838 484111368 393 536 456265135 692 847 999051131 426 650 872453624 490 931 841887665 837 976 249554992 461 952 377720474 380 768 963618918 445 813 788807820 665 742 698723613 456 972 177764743 417 575 194167272 648 894 386120586 400 570 600503499 645 966 45084521 493 858 525168325 595 776 751619714 460 533 486027815 596 644 319851717 530 938 900136194 720 957 75674887 565 632 726105590 561 966 902435262 609 942 665589265 602 809 145267411 863 915 489734253 418 775 114361192 669 978 126227061 493 786 521189511 403 493 719898763 955 958 14254335 634 944 228505275 770 960 440906530 411 908 362019634 723 849 74008285 737 878 830084560 519 623 290359222 487 831 225884057 690 810 547014826 528 602 29819715 412 581 405687112 574 653 725023833 531 756 274392546 460 667 57784400 458 494 573137602 581 948 4803308 453 630 658081526 421 564 797596155 889 967 886528661 476 794 282206821 552 695 289538140 836 954 425801623 710 995 583952806 736 902 174981718 563 801 923987751 605 617 571647748 570 730 670037078 496 626 324752755 513 657 390709892 450 853 982489306 668 725 920504503 629 920 407880017 459 533 710653643 439 926 320227695 537 735 278884679 513 524 741320605 652 687 842461844 741 969 821153475 556 600 45619515 706 857 430994154 875 899 689580831 841 979 350511622 779 829 562618839 485 649 229222844 779 979 963841703 493 789 628484835 629 660 470292480 583 913 733632384 676 789 798092259 620 919 852969196 735 948 801486376 665 995 32140108 638 656 19714635 468 686 819736472 732 964 99295583 543 567 832663677 479 788 607006617 543 738 142886226 607 928 822350912 508 523 661116219 462 680 573113476 480 652 238045051 904 923 257870921 758 787 346712372 494 725 491071935 610 951 497936179 789 988 949865734 785 964 77801954 515 654 496389746 711 874 858451356 783 961 91141085 666 931 954090263 542 747 537570130 807 995 183038173 570 618 899742906 590 775 662029803 502 899 320975163 583 829 257960025 620 819 719225400 540 649 312722504 754 986 474925566 649 889 977159961 608 630 457473568 545 726 208763773 594 738 116542953 499 835 816221366 707 925 333577389 578 832 799792497 767 845 433673205 686 703 586879398 510 629 612814513 558 713 122219021 537 717 185712970 687 902 833815272 690 715 304058033 521 703 303587640 501 890 70063365 580 727 671821458 591 965 246189396 764 822 680849749 513 808 696564112 632 934 13596942 759 975 971391755 700 916 806966206 742 844 293014915 632 974 483037898 575 696 668624803 838 930 398057961 642 677 889641334 556 924 976644788 677 995 743466599 512 924 680448188 674 790 128986218 585 870 392777621 640 857 657723775 684 958 565863039 631 713 722647722 550 931 835251567 605 762 945458303 624 650 474346657 586 970 571305678 710 858 83138693 863 958 722696421 838 892 232986175 737 860 789700111 707 942 366933460 729 780 66076658 565 638 583530241 556 656 286581881 551 573 273999180 702 799 995892346 577 621 382009806 757 768 897588477 882 944 156586179 780 993 713567401 572 649 836889409 555 800 574167530 540 727 53134193 672 911 652099280 558 840 176753577 829 952 228526370 621 779 866808563 893 975 295881272 623 990 456318772 784 962 246637221 979 983 447435520 828 866 89585562 620 744 64768479 645 765 999507625 620 855 740534473 735 836 974252666 893 948 157916026 810 849 280524118 861 886 571085351 626 947 729044712 645 975 934815670 679 776 818747407 803 906 163317038 612 889 95176310 756 762 925383939 733 822 883700215 886 887 947716733 612 861 841074940 593 869 562602597 878 881 459245299 870 921 655453165 685 695 435991112 782 868 612415305 614 746 710741835 902 949 741139941 612 635 704655987 834 998 48168940 585 800 696903735 863 986 228211513 579 779 478657822 902 981 655343859 667 828 853662405 579 814 472415263 611 641 87303678 613 915 171751417 847 977 773957003 591 994 346213315 588 829 631430541 752 957 992093636 636 914 595026637 773 826 996793109 724 814 610732634 760 873 543770572 899 915 774378511 610 998 151419078 821 859 570370022 608 626 98944232 594 936 456126849 832 910 874645935 797 879 836262676 745 752 191763921 663 948 961323739 627 645 76416075 710 807 67103825 768 815 152727306 693 737 633921100 809 893 795654604 740 920 719954326 760 885 772023083 792 879 752354320 660 860 257256612 781 817 381101888 706 834 846631746 824 839 67934112 611 757 537324374 642 830 851967886 750 825 488557422 840 884 547700757 764 827 629146022 641 724 421616131 936 937 694713953 643 975 528768035 619 637 672530034 662 763 437672300 823 925 369548739 692 730 8575812 665 975 730451112 698 884 738993582 938 986 861939120 843 970 405971790 844 933 106179742 829 902 472872079 669 692 407106796 631 853 717702917 673 944 398567104 652 930 173077514 658 874 63379842 671 737 803344579 713 725 540383964 837 920 136082602 656 709 174802420 809 870 525126242 863 922 870162968 822 944 900221624 852 972 475664494 857 910 612663497 784 818 579348111 721 903 50648190 710 800 320747426 881 923 333282731 679 954 769063444 697 926 152774625 875 932 15592890 660 908 387639895 714 828 119210463 838 852 453644218 798 991 817690369 735 880 485064896 798 844 264640308 915 938 45367685 977 991 742681542 829 912 577922265 879 881 108988327 790 927 292547877 800 830 218949483 957 978 164142607 707 781 641445863 902 979 681634092 820 988 771498846 776 870 972499361 713 878 354363526 896 901 170558138 778 898 886019221 785 872 877311073 916 950 286645265 880 893 609856179 793 806 195450633 791 988 277311415 695 772 484399806 790 877 56955308 697 744 642724699 817 881 103796326 690 847 500895909 714 909 274593506 842 934 269427622 719 776 135869451 689 1000 960377934 737 992 440682852 709 839 113937546 731 916 978417213 797 820 331610021 871 905 115115340 925 951 302846997 818 937 762715975 703 751 251435377 787 885 890696660 865 923 930503084 865 950 626593982 716 747 920277300 830 965 895058314 777 946 799501911 720 745 639712937 843 869 187529551 757 861 826393881 703 885 577490063 720 923 160097024 810 849 761681160 713 754 590762850 707 722 564236060 849 912 566406841 903 916 553020894 820 830 591433883 914 929 829320387 880 956 908646703 737 934 707480467 716 854 930262853 833 917 763599008 829 880 904240480 726 989 853411283 925 971 272749132 777 998 232451632 889 945 192244539 888 899 413694215 896 958 625380889 749 780 288315627 950 973 225702939 805 954 649381428 911 996 132858312 823 957 529595949 743 941 454375071 765 840 309151589 804 879 68889830 783 858 60365064 818 818 884963526 838 955 443057865 868 993 743249188 783 909 334871411 794 803 504301760 835 982 904666979 882 966 612900709 809 992 913691376 882 934 165705474 887 981 119128521 754 849 446041861 865 981 926938293 818 818 683883574 868 986 498770174 754 884 81024797 746 799 85081621 759 867 627422924 828 989 440615817 764 774 612092661 761 814 985337253 868 919 540779653 972 990 113262565 875 917 101629588 757 954 203995609 824 886 292536530 872 912 336124757 786 950 459225110 934 956 828525865 778 838 439714113 898 900 279255914 964 997 914707460 785 944 510392386 830 896 836059146 854 971 889335629 925 976 658208343 874 908 494022872 820 985 888915558 809 818 62782259 912 964 177733253 969 993 968832053 834 843 516535924 815 995 183513045 861 880 322922629 778 842 410139860 820 980 933250801 880 893 538511126 834 943 316629347 791 892 469228769 801 993 176517972 881 998 120120500 797 872 621208533 808 917 616525586 848 957 884320099 908 976 453434730 847 903 547665291 966 997 60843387 831 898 848702310 862 897 239632650 884 886 726361399 829 935 642206186 834 979 267765148 819 868 133082299 874 952 821525175 806 822 200961928 898 949 997735170 891 947 878581435 836 980 992227534 859 931 821526655 979 992 444829012 862 972 296184880 894 897 541944966 809 958 566636667 949 975 434866400 830 830 394511790 914 982 888223714 848 965 915499328 823 877 473312603 914 955 149026794 813 857 453312582 893 911 765342670 942 983 323818488 914 963 482811600 950 950 398514233 840 942 433377161 914 919 462382290 816 952 657197810 882 984 352057232 883 971 121826269 896 909 742520080 869 926 991213957 920 939 807972393 872 932 952929373 985 994 777794813 869 988 717231084 855 947 993069771 873 959 857330885 922 981 348864377 903 995 513604273 856 950 251394137 845 870 91694242 885 900 455751203 956 959 761251284 930 967 691984091 919 959 223317458 836 968 595488869 872 910 886748176 863 875 608781300 838 992 541694683 870 890 994355099 911 916 285254096 878 951 134277529 847 942 320070410 947 994 736033135 849 913 165573554 909 998 557104276 858 951 22839715 872 903 791192819 879 934 448851290 862 920 658641761 850 970 874553035 859 870 651687860 954 970 379245593 902 973 342918919 881 994 760388948 921 988 319485160 917 991 459808644 858 899 989113921 907 995 503462668 951 952 275960684 878 933 833139153 893 930 43119925 942 986 340952626 916 982 932810028 880 935 753005252 887 928 946575526 869 900 617812609 905 996 251653217 894 978 984935459 981 995 788751026 959 993 232821015 929 941 518702440 923 955 550936429 883 983 551686453 901 950 240280333 957 963 89990023 883 906 983306837 964 978 487354539 886 941 957419140 920 983 312005872 959 981 973913426 933 992 597666589 963 975 501356651 969 991 790144236 889 970 137449142 913 913 823125273 924 965 589935920 960 968 636709853 888 921 171610125 924 929 857580056 931 959 262373399 916 984 555211472 892 960 751207556 899 931 964506428 938 949 402597204 938 996 623636302 950 992 57390222 917 934 390434952 913 927 927867877 937 986 757772554 938 951 288492139 978 983 774399376 927 973 911643475 918 935 330498218 914 966 457210172 936 953 701756429 949 967 251539913 965 998 584872650 913 971 842015926 941 987 463832667 945 977 573993662 923 997 769869223 965 1000 40176559 961 971 674525902 934 984 621428986 955 988 685869150 923 955 233051411 931 959 144468049 948 995 547462580 938 973 547754666 977 978 120063593 949 988 301590144 973 996 732466177 921 973 858789899 981 985 316487234 940 993 989445171 943 960 731501518 933 935 160644471 939 971 218326151 928 995 475829274 950 959 237311729 973 998 958301352 935 948 814616437 963 965 393583354 948 973 255317860 967 981 459856053 958 998 860551752 962 993 971147066 971 977 729422451 937 962 935329884 973 974 993707957 947 997 84072983 942 966 811084719 982 988 995204658 946 964 617738792 945 976 698955419 956 986 656679308 958 992 146741852 986 1000 649485318 959 998 239786685 985 988 198719350 961 994 860178456 956 963 152586647 977 991 948882443 963 973 812950840 980 991 181027393 997 998 827364860 994 995 78426523 983 985 631492011 986 1000 898151058 958 978 393596550 991 1000 775148238 971 992 359440385 970 1000 864593405 964 998 294330188 964 992 57679548 975 981 153920416 978 995 921059879 990 994 292436383 971 974 958532375 991 1000 159374835 977 993 967442327 975 997 873372794 986 999 324822572 989 996 278690846 979 985 662460242 977 979 25575620 975 1000 731856096 979 999 665125233 991 999 892929400 980 993 229359120 980 995 483631096 985 1000 264852787 991 992 405998592 992 992 790131286 986 991 271934874 984 985 56088030 988 988 821621081 988 990 284358065 987 996 716540091 993 997 383031028 996 1000 41689003 991 993 248757901 993 997 412516115 998 1000 929859606 997 999 568096258 998 999 967505599 995 995 759323006 996 999 582841890 997 999 768296092 998 999 134080972 999 999 700700441 1000 1000