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