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