1000 342493822 228 780 776814822 439 979 330726191 457 979 538074003 267 540 450297483 76 91 536744746 21 273 932868461 531 682 409032428 336 806 724056782 74 398 976668613 295 676 371485616 222 698 999874855 459 931 806125341 37 272 914070601 265 606 588936564 186 242 142989603 794 911 413014321 458 532 718347501 369 755 107883109 208 478 526955864 220 493 512605586 385 622 296905403 363 380 825328976 459 842 192819224 330 959 296405414 164 583 587589241 107 467 705877303 329 370 988909287 303 388 772368393 450 475 973264570 431 436 368621045 206 800 453520673 323 750 669215845 445 520 561466257 647 669 435079180 285 435 99065944 37 679 839382115 460 720 747496604 542 697 525513798 747 958 57046500 696 956 696986061 188 337 252458611 576 610 154219406 875 967 910963510 472 948 710505482 496 675 140778980 846 849 42569672 341 555 796552362 139 489 432061350 511 809 368869538 180 699 426466428 359 527 177705774 337 797 276976648 446 954 832042944 478 546 493235641 808 876 494598011 159 549 534636571 791 811 724688509 243 894 287950139 813 884 43653844 282 943 414360916 411 884 510848248 280 321 427892330 227 810 157998502 736 852 688033428 681 801 383401666 130 529 509205622 508 826 644088795 467 948 44638669 747 756 816596895 775 834 191583196 77 548 497288726 436 462 228619578 124 944 652588879 575 827 629986792 448 842 137597705 248 947 623680158 289 827 142242857 490 686 584407454 285 814 182024716 465 609 734196441 98 800 36157405 530 869 591141093 285 571 523505494 563 814 181570888 325 336 976227239 568 888 675981609 267 656 772269632 491 918 628246132 859 966 714004992 240 243 590251048 447 826 757063545 241 404 302294636 125 513 567400142 444 826 8822402 135 839 926519713 423 673 160509692 154 672 555962124 118 1000 748071535 394 572 608560800 188 484 355792102 222 294 321280003 112 632 259419154 138 947 77004696 113 598 994943068 409 849 115267069 323 516 930074136 795 796 201479853 421 652 25665676 887 923 428313716 351 877 129528084 357 597 744746466 512 921 722156905 140 302 794453975 177 401 448930968 276 434 565577469 276 731 574443028 292 577 547368340 397 692 172016031 726 769 826908256 289 625 406278275 432 466 986456500 303 964 511102510 304 850 396732482 217 816 887978310 237 328 296693317 333 520 881175021 565 949 410718213 173 933 190022718 130 695 807403986 598 648 549508453 184 599 6632210 342 779 308786612 656 776 939217614 523 716 704858135 470 751 157528837 139 263 292268059 168 978 637413228 364 504 159230260 173 664 879120737 318 991 287320381 688 761 201895593 300 795 97746857 406 838 640002866 255 355 482751542 223 726 496365009 479 911 11256611 526 712 735410108 237 371 675974350 789 844 535229984 355 725 156422102 810 818 326226489 631 854 310711689 560 645 40826036 420 588 277658359 636 687 400755191 871 988 958140051 512 730 99483460 260 862 693910065 242 691 291417271 396 421 582646305 794 908 312577262 332 545 61475543 621 913 556578605 630 763 37874460 439 778 629460880 215 795 960081248 635 653 767920937 666 691 779521233 371 449 56480689 266 976 182192558 484 779 388120172 466 479 604485339 673 898 954544235 444 690 463619754 706 746 63922703 324 447 454156842 378 685 435152812 698 975 643351205 310 922 965912138 361 424 996919382 316 347 144809795 819 867 999783753 521 969 46353365 424 617 770153981 734 944 785357617 477 747 946839074 402 613 113880221 263 409 904809711 310 413 56646104 320 993 211317678 229 751 98023814 246 959 127377800 603 708 420085597 367 971 253522973 810 927 6058006 574 758 13194341 387 1000 418166497 236 250 675024158 631 883 883809899 914 977 466606330 614 688 896014704 520 897 117352824 801 896 770556255 758 898 145889894 282 914 521754833 443 581 498767835 476 608 255375295 342 868 278712343 526 735 832668050 253 505 732703806 365 525 111195180 544 588 569569206 380 505 339353004 752 949 692784973 304 916 41911526 361 627 803661393 838 928 887923851 258 545 694294356 225 657 177933975 746 825 481832471 488 593 522089222 656 964 798517599 255 734 118034272 744 799 976775462 422 875 166881654 806 934 936889172 649 879 795263370 447 622 965294965 250 589 851278465 457 625 474227138 701 796 894362628 279 315 453306696 415 965 533788024 669 853 859626138 358 492 867489926 238 797 480715608 770 892 275033012 614 974 942382577 418 452 579183002 352 556 421858443 544 977 494248299 512 881 78059315 451 792 506538445 247 403 482951476 453 728 427754135 308 947 684492782 250 381 285293704 607 733 505612143 460 1000 625032150 297 978 764874815 507 972 104822614 881 956 672021979 522 991 838142990 614 628 455083927 788 799 358364314 786 838 995582351 461 658 824527860 506 660 469436346 260 438 24477307 649 923 520194580 480 858 403992588 283 521 666415902 326 987 954582137 317 346 541134907 560 896 375121082 291 430 861562602 675 685 958340066 751 964 301970248 858 995 964207374 410 810 598679677 627 913 181839799 750 999 694019494 351 514 896977331 562 943 990354605 939 991 126160597 439 972 983567045 312 785 944655070 474 540 492433292 510 612 237154443 603 968 378701457 716 822 395520521 440 551 882988978 837 932 348292116 382 452 399373114 335 463 535738198 440 878 240130296 689 728 735148142 468 697 911258894 315 955 524366291 360 463 443186127 437 965 362226845 668 750 270166725 566 959 964313428 537 587 925422337 341 439 724594417 787 953 752082516 484 586 179299121 663 940 394445083 519 668 918547896 395 642 842312742 908 990 799564140 432 880 541460071 389 530 667683015 512 559 424425474 366 732 159092805 357 578 857664934 469 572 617787125 526 783 85209870 792 794 783856050 423 959 104705426 325 847 743869744 381 483 959872857 354 973 272529590 454 675 855270722 395 974 395698880 427 706 873122379 357 636 626611331 503 898 197113409 750 813 881183764 671 855 860656419 397 911 160072413 731 764 117787656 570 658 362419450 586 750 521205460 942 977 79618611 371 649 17083679 701 935 999402672 495 912 407128988 415 731 454007256 657 748 42314622 650 705 184111990 426 544 872144605 571 802 627439574 760 945 800217606 362 956 403429177 616 910 7001 414 537 346828750 423 740 650507627 345 373 360643915 606 988 663771845 689 695 501429615 627 782 501983620 627 952 584676549 726 728 260273136 493 999 576341339 595 687 32483685 496 886 320729342 430 588 297501847 590 837 601855881 630 911 701496052 807 996 483530506 669 931 191947885 400 902 425796289 849 942 84038831 940 954 998445009 525 855 145208072 366 831 885994173 428 819 416900044 547 677 598090773 534 943 132981930 640 959 71100983 536 862 30117823 367 605 771650419 445 638 268394201 690 787 56791447 607 870 707404265 432 785 717595469 481 616 534072349 471 985 605594323 441 501 133326989 555 982 756407240 613 863 492050820 548 583 166638818 628 962 487942822 419 816 946309768 385 834 776270291 459 708 923159296 870 880 768396243 568 594 665335484 662 896 311662790 533 948 750754113 884 921 35112951 583 912 557270253 661 873 285446863 451 504 783307713 407 579 128848349 754 975 54378076 481 646 717109730 430 529 851124300 646 656 282956618 528 935 553408888 682 744 655056773 452 902 15803984 493 611 342002185 702 920 313710182 610 899 749404435 863 969 90126831 689 810 58296481 553 728 976766116 444 879 442448695 401 984 46437105 696 885 563444692 756 810 819733450 761 869 75096502 483 781 165280006 572 804 893293057 492 558 242593646 426 784 726317497 600 900 292619010 501 934 748639439 792 854 52179164 570 844 443633744 841 927 279506732 497 638 232358579 643 796 760798519 447 690 61964311 453 478 265172729 581 961 272387945 419 888 774658619 618 849 664899020 779 900 595753416 516 575 918650107 600 682 837003635 424 988 607666506 446 996 168768869 501 530 81813963 628 886 142639317 440 662 265422906 554 756 544932477 887 935 173761641 724 828 446639637 505 518 613641863 465 468 675718605 501 540 879901874 507 742 124930224 533 932 549301133 624 905 411691384 672 726 96755122 674 764 812339694 698 807 108104498 612 875 419022090 461 633 890490291 527 833 429760896 795 994 228826523 917 954 247153792 736 901 869901985 581 852 601174043 709 880 773102038 454 496 424034507 578 797 616813666 882 920 990342160 524 862 306420879 836 878 305645792 803 953 364485578 468 639 930865560 488 975 284323246 540 960 546744388 633 757 38168198 536 900 153185032 669 822 680458790 546 667 323700749 487 520 717013318 670 801 992857169 494 983 322199698 623 752 484634820 665 912 345706180 540 632 928963496 902 967 786936720 567 596 71294156 512 649 706641423 753 922 704933813 582 707 591104618 645 757 736399840 749 784 441065923 475 556 824770721 776 1000 843269650 645 736 776817273 536 583 556380325 719 970 773434411 619 790 854602262 854 883 575172238 752 845 951294136 901 950 535979247 652 689 558322327 617 911 842086966 619 836 820820865 575 682 874049734 814 916 630773639 525 813 71669875 512 659 613279706 577 690 328111326 822 837 48142972 573 616 978855609 786 923 855355228 783 909 531049160 605 677 771695971 551 787 984967333 764 937 940061092 703 745 407561904 630 659 315812469 610 629 472047398 792 866 505928023 620 943 52032947 849 942 544848046 573 867 312478982 721 892 201911424 590 720 879426612 685 815 683247492 722 839 653214067 862 874 915471734 561 735 677741126 760 791 440400313 649 943 817560182 563 854 89192505 556 610 665518276 894 967 49068412 696 795 341878587 617 816 825717128 663 968 521294479 822 994 489125347 723 969 896380727 634 798 292190617 551 554 325867511 825 871 1833817 632 958 193194382 768 914 741936864 859 889 334553141 588 675 791083822 554 984 125651097 675 832 370986463 567 704 236211759 547 872 898337665 720 997 902060793 908 988 492689565 637 916 821634715 738 929 722064166 629 732 585088497 647 891 935959380 720 920 620263701 729 735 643771977 952 956 734603914 676 698 3622865 662 673 409475682 759 805 241289624 623 927 920024822 764 908 422396450 682 993 746387596 879 973 531086216 879 922 482403038 836 943 554515296 580 823 471177232 572 893 55283429 656 798 131056724 567 601 255300374 626 795 655269802 681 914 575051426 753 760 698800588 696 838 594300521 669 691 992362311 674 888 466701295 640 816 398228900 844 845 289270004 700 983 237148497 735 899 152361343 813 875 752968524 762 832 516020513 685 946 673107006 618 963 599835669 792 972 229245437 702 803 768627453 704 936 920221907 722 840 806090563 767 858 869038659 656 783 545129874 619 682 499037687 740 980 501593037 717 829 275385383 907 966 605843511 640 944 722124522 688 929 630173107 623 729 252929894 736 771 675048097 811 974 831039947 641 885 486455596 958 969 380618464 718 844 63801238 834 911 62570894 893 929 285106251 742 867 850963176 761 924 883443026 624 770 594253270 792 815 306807596 663 669 689132843 731 835 861321621 819 958 228771598 885 982 477390176 683 757 491900598 907 911 95828945 689 695 482191248 817 975 842125202 724 997 323108626 803 805 986205736 710 766 853875260 857 866 886818995 766 963 510881405 669 760 199291335 765 983 257564895 779 858 385400539 682 910 41496387 689 776 997862607 884 912 256365905 619 900 687441229 680 727 987445658 751 838 109225110 713 802 283873947 740 823 180787712 901 997 406901283 734 796 358183562 686 869 215982470 761 822 594392978 779 948 860212390 803 984 418374936 718 816 152870156 642 872 805890683 669 780 201992675 659 961 634798749 964 994 736724435 944 960 766098765 767 801 316414330 664 912 284257518 810 905 862092319 787 867 829777093 712 734 923537781 644 936 504390208 833 899 239327864 710 901 966222762 660 927 793569974 656 709 839742120 816 952 303596392 856 914 278187842 765 922 109259610 963 973 350653946 789 921 4884231 839 842 753433435 673 864 376414226 745 762 59784427 759 990 58542276 710 910 335055944 690 888 951543407 654 901 762755532 859 989 17661717 658 872 128381719 682 752 409884413 836 998 675593903 938 938 429137753 697 753 135379382 698 992 601801102 830 895 849148996 734 749 135990276 715 924 550435689 932 962 68289744 704 804 953038971 735 927 504160771 712 936 269926305 683 704 127839998 838 878 924061329 725 984 932403694 776 855 639636444 681 715 734526479 860 941 648068323 750 993 294497046 857 994 338016475 720 870 749568142 782 951 138264442 726 969 982318946 731 749 136826956 829 926 733120823 707 776 823377640 758 880 43296531 733 922 984192076 778 819 519446675 730 857 396519060 823 895 435256145 857 987 157972002 746 904 565968141 763 995 536550819 719 781 461925936 823 974 393629473 783 852 584901765 865 981 25101004 712 799 671190472 887 923 85363786 807 953 26332671 781 989 815621417 721 907 855988831 850 917 901402013 764 992 818798446 760 780 164522997 816 927 671657777 734 981 538202093 780 933 884024134 831 973 709866102 740 873 455231774 869 974 94146804 837 910 234371726 829 982 470676864 835 928 142312410 970 992 333883165 864 879 168821907 969 980 586462450 807 833 682305393 849 897 224883079 951 959 146728831 877 964 393466705 879 886 662899731 811 916 969452140 995 998 371910605 825 872 162169600 729 993 52533093 724 813 26318149 821 857 7030680 727 885 280719506 726 775 268223214 747 889 133448613 775 831 245602851 761 768 138230759 828 953 991557296 783 939 125440024 838 848 41278383 906 923 386175368 775 943 330928803 733 941 809590517 907 911 275337729 734 971 640857263 741 924 654302429 826 993 69658566 801 890 721671179 888 953 309126221 885 981 227929417 772 880 813663834 749 815 238361689 797 822 408073155 756 785 371685323 830 973 597001313 874 923 484551989 817 866 906368853 936 994 916920935 780 975 450288625 811 945 391203278 767 810 824820368 940 949 317914811 824 942 593225249 833 977 530841637 809 988 722165904 907 915 999023885 931 990 981017413 795 994 463669259 848 858 834122127 764 926 190211923 860 957 572507719 789 839 23421701 956 993 449295826 793 938 609010286 821 921 480611533 782 866 255686144 837 955 551562734 815 900 690841843 783 792 159369206 817 928 946190544 957 973 13360891 787 804 969524580 869 913 771871644 964 997 702676244 908 919 694631589 835 980 71631101 835 901 901486025 901 979 403653561 842 872 858052187 780 825 479762789 848 896 712094762 784 790 2308174 846 935 747250052 800 935 566709922 859 931 408135068 848 950 285549976 967 991 287569436 855 890 424434305 828 999 473248908 822 848 448596637 834 937 339999675 806 958 521919858 799 978 635640822 872 913 638001002 816 945 881245745 848 877 709906877 836 954 811760418 894 972 935266630 934 983 920681233 869 910 979389179 845 880 850519970 934 993 77845469 956 959 337005192 811 828 810343265 925 987 166091798 943 956 177753804 900 958 922905992 810 964 957894424 908 916 235526021 828 857 946611576 814 845 65632312 842 875 653785127 878 944 476006429 863 944 204200267 978 989 208311738 819 842 630983789 898 929 131196391 868 914 69186412 956 983 652783566 877 932 650909929 887 901 156545616 833 845 680083974 858 875 317608789 929 957 57010723 880 917 446946911 881 924 537483754 933 998 68463697 950 969 370975594 840 998 888797196 865 865 424150918 855 864 279600412 869 986 382253991 866 955 923984405 921 978 660112613 846 980 908667764 843 960 93014909 853 979 649150673 903 954 539260223 871 986 794296781 870 881 857851772 843 915 48244813 993 994 572915151 867 974 122814500 944 950 464928334 863 1000 17803828 855 944 582246507 871 980 528542414 866 981 428830266 884 887 721832056 897 935 776609052 851 948 227946692 899 929 938023894 907 982 369947954 901 987 846287217 914 915 884002469 880 929 807957628 960 987 742945631 905 938 520971586 866 888 733540895 941 978 77228841 863 941 171728539 942 955 568143418 979 996 914072105 899 946 674447486 887 948 901753179 897 955 29655636 918 968 878501583 883 979 430514691 884 896 468199786 945 983 596934403 870 982 176708660 875 905 320150906 912 920 149988846 894 996 367027494 934 974 228565232 899 907 262366950 952 984 201931628 951 997 597609211 904 908 473790988 898 912 7972400 887 981 115779156 892 939 249806159 945 966 865080579 915 997 31675053 962 978 976066175 947 951 173257131 932 966 715613787 898 990 312823423 928 942 1702004 912 966 244848392 907 984 250608188 904 976 458960601 941 996 966706976 950 965 889007057 940 942 791539679 940 968 561305677 904 975 85028384 905 944 918692169 950 978 967848151 933 953 27532419 939 996 926704625 971 992 347186962 940 986 389020907 909 939 360521585 944 999 998501020 933 991 50064411 949 962 76057196 928 954 950018251 948 973 596885362 948 959 418833482 921 991 764822316 950 983 70506758 947 967 204577359 965 975 670623536 925 967 100735577 919 922 295608271 937 968 40034973 923 968 261729891 976 987 578144615 955 963 204421903 925 978 85971235 989 991 311070543 938 965 534346681 959 975 87610520 965 992 37552034 992 996 733148411 933 976 872134773 958 970 588565883 976 995 927206292 987 992 828153641 966 985 576838763 940 983 199342056 985 1000 995424545 950 985 813181922 961 964 780866112 935 938 917261863 954 957 52596874 968 978 679847869 960 963 544682916 946 997 155736065 942 959 831412142 960 994 885387537 958 979 700929302 965 973 757542587 958 963 145233306 949 950 209731171 980 983 386430881 947 970 299950878 989 996 502332758 976 1000 720337519 984 995 718921709 969 984 241294918 956 1000 404345697 976 1000 101215634 969 971 751812752 997 998 510341128 958 960 922625442 993 993 773347391 961 969 170014079 975 985 161831175 974 988 660932077 961 989 151761667 970 994 264654570 994 999 759162468 975 999 125146396 993 998 740733922 987 992 884341291 987 999 192654432 972 990 605596303 982 987 8331599 981 982 103520422 982 987 73564936 972 995 454704354 981 982 185978223 989 995 96062572 992 999 365824382 984 995 886576542 979 997 177132099 980 980 95985736 993 994 878681464 999 1000 650825162 986 994 947202819 990 991 229766536 992 998 865043531 990 992 661126399 989 997 151045540 992 995 576236040 990 995 994189874 991 996 572863068 998 1000 523862808 996 997 587801313 996 997 580195932 992 995 575962264 993 994 506469339 995 997 951697168 998 998 196574241 996 1000 228936727 997 1000 659787701 998 1000 612254621 999 999 291666001 1000 1000