0 1 1 0 2 3 3 4 4 3 5 6 6 7 7 6 8 9 9 10 10 9 11 12 12 13 13 12 14 15 15 16 16 15 17 18 18 19 19 18 20 21 21 22 22 21 23 24 24 25 25 24 26 27 27 28 28 27 29 30 30 31 31 30 32 33 33 34 34 33 35 36 36 37 37 36 38 39 39 40 40 39 41 42 42 43 43 42 44 45 45 46 46 45 47 48 48 49 49 48 50 51 51 52 52 51 53 54 54 55 55 54 56 57 57 58 58 57 59 60 60 61 61 60 62 63 63 64 64 63 65 66 66 67 67 66 68 69 69 70 70 69 71 72 72 73 73 72 74 75 75 76 76 75 77 78 78 79 79 78 80 81 81 82 82 81 83 84 84 85 85 84 86 87 87 88 88 87 89 90 90 91 91 90 92 93 93 94 94 93 95 96 96 97 97 96 98 99 99 100 100 99 101 102 102 103 103 102 104 105 105 106 106 105 107 108 108 109 109 108 110 111 111 112 112 111 113 114 114 115 115 114 116 117 117 118 118 117 119 120 120 121 121 120 122 123 123 124 124 123 125 126 126 127 127 126 128 129 129 130 130 129 131 132 132 133 133 132 134 135 135 136 136 135 137 138 138 139 139 138 140 141 141 142 142 141 143 144 144 145 145 144 146 147 147 148 148 147 149 150 150 151 151 150 152 153 153 154 154 153 155 156 156 157 157 156 158 159 159 160 160 159 161 162 162 163 163 162 164 165 165 166 166 165 167 168 168 169 169 168 170 171 171 172 172 171 173 174 174 175 175 174 176 177 177 178 178 177 179 180 180 181 181 180 182 183 183 184 184 183 185 186 186 187 187 186 188 189 189 190 190 189 191 192 192 193 193 192 194 195 195 196 196 195 197 198 198 199 199 198 200 201 201 202 202 201 203 204 204 205 205 204 206 207 207 208 208 207 209 210 210 211 211 210 212 213 213 214 214 213 215 216 216 217 217 216 218 219 219 220 220 219 221 222 222 223 223 222 224 225 225 226 226 225 227 228 228 229 229 228 230 231 231 232 232 231 233 234 234 235 235 234 236 237 237 238 238 237 239 240 240 241 241 240 242 243 243 244 244 243 245 246 246 247 247 246 248 249 249 250 250 249 251 252 252 253 253 252 254 255 255 256 256 255 257 258 258 259 259 258 260 261 261 262 262 261 263 264 264 265 265 264 266 267 267 268 268 267 269 270 270 271 271 270 272 273 273 274 274 273 275 276 276 277 277 276 278 279 279 280 280 279 281 282 282 283 283 282 284 285 285 286 286 285 287 288 288 289 289 288 290 291 291 292 292 291 293 294 294 295 295 294 296 297 297 298 298 297 299 300 300 301 301 300 302 303 303 304 304 303 305 306 306 307 307 306 308 309 309 310 310 309 311 312 312 313 313 312 314 315 315 316 316 315 317 318 318 319 319 318 320 321 321 322 322 321 323 324 324 325 325 324 326 327 327 328 328 327 329 330 330 331 331 330 332 333 333 334 334 333 335 336 336 337 337 336 338 339 339 340 340 339 341 342 342 343 343 342 344 345 345 346 346 345 347 348 348 349 349 348 350 351 351 352 352 351 353 354 354 355 355 354 356 357 357 358 358 357 359 360 360 361 361 360 362 363 363 364 364 363 365 366 366 367 367 366 368 369 369 370 370 369 371 372 372 373 373 372 374 375 375 376 376 375 377 378 378 379 379 378 380 381 381 382 382 381 383 384 384 385 385 384 386 387 387 388 388 387 389 390 390 391 391 390 392 393 393 394 394 393 395 396 396 397 397 396 398 399 399 400 400 399 401 402 402 403 403 402 404 405 405 406 406 405 407 408 408 409 409 408 410 411 411 412 412 411 413 414 414 415 415 414 416 417 417 418 418 417 419 420 420 421 421 420 422 423 423 424 424 423 425 426 426 427 427 426 428 429 429 430 430 429 431 432 432 433 433 432 434 435 435 436 436 435 437 438 438 439 439 438 440 441 441 442 442 441 443 444 444 445 445 444 446 447 447 448 448 447 449 450 450 451 451 450 452 453 453 454 454 453 455 456 456 457 457 456 458 459 459 460 460 459 461 462 462 463 463 462 464 465 465 466 466 465 467 468 468 469 469 468 470 471 471 472 472 471 473 474 474 475 475 474 476 477 477 478 478 477 479 480 480 481 481 480 482 483 483 484 484 483 485 486 486 487 487 486 488 489 489 490 490 489 491 492 492 493 493 492 494 495 495 496 496 495 497 498 498 499 499 498 500 501 501 502 502 501 503 504 504 505 505 504 506 507 507 508 508 507 509 510 510 511 511 510 512 513 513 514 514 513 515 516 516 517 517 516 518 519 519 520 520 519 521 522 522 523 523 522 524 525 525 526 526 525 527 528 528 529 529 528 530 531 531 532 532 531 533 534 534 535 535 534 536 537 537 538 538 537 539 540 540 541 541 540 542 543 543 544 544 543 545 546 546 547 547 546 548 549 549 550 550 549 551 552 552 553 553 552 554 555 555 556 556 555 557 558 558 559 559 558 560 561 561 562 562 561 563 564 564 565 565 564 566 567 567 568 568 567 569 570 570 571 571 570 572 573 573 574 574 573 575 576 576 577 577 576 578 579 579 580 580 579 581 582 582 583 583 582 584 585 585 586 586 585 587 588 588 589 589 588 590 591 591 592 592 591 593 594 594 595 595 594 596 597 597 598 598 597 599 600 600 601 601 600 602 603 603 604 604 603 605 606 606 607 607 606 608 609 609 610 610 609 611 612 612 613 613 612 614 615 615 616 616 615 617 618 618 619 619 618 620 621 621 622 622 621 623 624 624 625 625 624 626 627 627 628 628 627 629 630 630 631 631 630 632 633 633 634 634 633 635 636 636 637 637 636 638 639 639 640 640 639 641 642 642 643 643 642 644 645 645 646 646 645 647 648 648 649 649 648 650 651 651 652 652 651 653 654 654 655 655 654 656 657 657 658 658 657 659 660 660 661 661 660 662 663 663 664 664 663 665 666 666 667 667 666 668 669 669 670 670 669 671 672 672 673 673 672 674 675 675 676 676 675 677 678 678 679 679 678 680 681 681 682 682 681 683 684 684 685 685 684 686 687 687 688 688 687 689 690 690 691 691 690 692 693 693 694 694 693 695 696 696 697 697 696 698 699 699 700 700 699 701 702 702 703 703 702 704 705 705 706 706 705 707 708 708 709 709 708 710 711 711 712 712 711 713 714 714 715 715 714 716 717 717 718 718 717 719 720 720 721 721 720 722 723 723 724 724 723 725 726 726 727 727 726 728 729 729 730 730 729 731 732 732 733 733 732 734 735 735 736 736 735 737 738 738 739 739 738 740 741 741 742 742 741 743 744 744 745 745 744 746 747 747 748 748 747 749 750 750 751 751 750 752 753 753 754 754 753 755 756 756 757 757 756 758 759 759 760 760 759 761 762 762 763 763 762 764 765 765 766 766 765 767 768 768 769 769 768 770 771 771 772 772 771 773 774 774 775 775 774 776 777 777 778 778 777 779 780 780 781 781 780 782 783 783 784 784 783 785 786 786 787 787 786 788 789 789 790 790 789 791 792 792 793 793 792 794 795 795 796 796 795 797 798 798 799 799 798 800 801 801 802 802 801 803 804 804 805 805 804 806 807 807 808 808 807 809 810 810 811 811 810 812 813 813 814 814 813 815 816 816 817 817 816 818 819 819 820 820 819 821 822 822 823 823 822 824 825 825 826 826 825 827 828 828 829 829 828 830 831 831 832 832 831 833 834 834 835 835 834 836 837 837 838 838 837 839 840 840 841 841 840 842 843 843 844 844 843 845 846 846 847 847 846 848 849 849 850 850 849 851 852 852 853 853 852 854 855 855 856 856 855 857 858 858 859 859 858 860 861 861 862 862 861 863 864 864 865 865 864 866 867 867 868 868 867 869 870 870 871 871 870 872 873 873 874 874 873 875 876 876 877 877 876 878 879 879 880 880 879 881 882 882 883 883 882 884 885 885 886 886 885 887 888 888 889 889 888 890 891 891 892 892 891 893 894 894 895 895 894 896 897 897 898 898 897 899 900 900 901 901 900 902 903 903 904 904 903 905 906 906 907 907 906 908 909 909 910 910 909 911 912 912 913 913 912 914 915 915 916 916 915 917 918 918 919 919 918 920 921 921 922 922 921 923 924 924 925 925 924 926 927 927 928 928 927 929 930 930 931 931 930 932 933 933 934 934 933 935 936 936 937 937 936 938 939 939 940 940 939 941 942 942 943 943 942 944 945 945 946 946 945 947 948 948 949 949 948 950 951 951 952 952 951 953 954 954 955 955 954 956 957 957 958 958 957 959 960 960 961 961 960 962 963 963 964 964 963 965 966 966 967 967 966 968 969 969 970 970 969 971 972 972 973 973 972 974 975 975 976 976 975 977 978 978 979 979 978 980 981 981 982 982 981 983 984 984 985 985 984 986 987 987 988 988 987 989 990 990 991 991 990 992 993 993 994 994 993 995 996 996 997 997 996 998 999 999 1000 1000 999