├── .gitattributes ├── .gitignore ├── TETRIS设计报告_李琛_赵春琪.pdf ├── images ├── 0.coe ├── 0.png ├── 1.coe ├── 1.png ├── 2.coe ├── 2.png ├── 3.coe ├── 3.png ├── 4.coe ├── 4.png ├── 5.coe ├── 5.png ├── 6.coe ├── 6.png ├── 7.coe ├── 7.png ├── 8.coe ├── 8.png ├── 9.coe ├── 9.png ├── image.bmp ├── image1.bmp ├── next.coe ├── over.bmp ├── over.coe ├── score.coe ├── score1.coe ├── start.bmp └── start.coe └── sources ├── automaton.v ├── debouncer.v ├── display_border.v ├── display_little_square.v ├── display_moving_square.v ├── display_next_square.v ├── display_score.v ├── div_clk.v ├── game_display.v ├── game_sync_module.v ├── loading_happen.v ├── main_module.v ├── over_sync_module.v ├── over_vga_control_module.v ├── show_next.v ├── show_score.v ├── square_gen.v ├── start_sync_module.v ├── start_vga_control_module.v ├── transform.m ├── v_speed_debouncer.v └── vga_select_module.v /.gitattributes: -------------------------------------------------------------------------------- 1 | # Auto detect text files and perform LF normalization 2 | * text=auto 3 | 4 | # Custom for Visual Studio 5 | *.cs diff=csharp 6 | 7 | # Standard to msysgit 8 | *.doc diff=astextplain 9 | *.DOC diff=astextplain 10 | *.docx diff=astextplain 11 | *.DOCX diff=astextplain 12 | *.dot diff=astextplain 13 | *.DOT diff=astextplain 14 | *.pdf diff=astextplain 15 | *.PDF diff=astextplain 16 | *.rtf diff=astextplain 17 | *.RTF diff=astextplain 18 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | *.class 2 | 3 | # Mobile Tools for Java (J2ME) 4 | .mtj.tmp/ 5 | 6 | # Package Files # 7 | *.jar 8 | *.war 9 | *.ear 10 | 11 | # virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml 12 | hs_err_pid* 13 | 14 | # ========================= 15 | # Operating System Files 16 | # ========================= 17 | 18 | # OSX 19 | # ========================= 20 | 21 | .DS_Store 22 | .AppleDouble 23 | .LSOverride 24 | 25 | # Thumbnails 26 | ._* 27 | 28 | # Files that might appear in the root of a volume 29 | .DocumentRevisions-V100 30 | .fseventsd 31 | .Spotlight-V100 32 | .TemporaryItems 33 | .Trashes 34 | .VolumeIcon.icns 35 | 36 | # Directories potentially created on remote AFP share 37 | .AppleDB 38 | .AppleDesktop 39 | Network Trash Folder 40 | Temporary Items 41 | .apdisk 42 | 43 | # Windows 44 | # ========================= 45 | 46 | # Windows image file caches 47 | Thumbs.db 48 | ehthumbs.db 49 | 50 | # Folder config file 51 | Desktop.ini 52 | 53 | # Recycle Bin used on file shares 54 | $RECYCLE.BIN/ 55 | 56 | # Windows Installer files 57 | *.cab 58 | *.msi 59 | *.msm 60 | *.msp 61 | 62 | # Windows shortcuts 63 | *.lnk 64 | -------------------------------------------------------------------------------- /TETRIS设计报告_李琛_赵春琪.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tinylic/ASIC-FPGA-tetris/d6e5226dd147fddc03502d10e4851ef89cbcf07a/TETRIS设计报告_李琛_赵春琪.pdf -------------------------------------------------------------------------------- /images/0.coe: -------------------------------------------------------------------------------- 1 | memory_initialization_radix=2; 2 | memory_initialization_vector = 3 | 1, 4 | 1, 5 | 1, 6 | 1, 7 | 1, 8 | 1, 9 | 1, 10 | 1, 11 | 1, 12 | 1, 13 | 1, 14 | 1, 15 | 1, 16 | 1, 17 | 1, 18 | 1, 19 | 1, 20 | 1, 21 | 1, 22 | 1, 23 | 1, 24 | 1, 25 | 1, 26 | 1, 27 | 1, 28 | 1, 29 | 1, 30 | 1, 31 | 1, 32 | 1, 33 | 1, 34 | 1, 35 | 1, 36 | 1, 37 | 1, 38 | 1, 39 | 1, 40 | 1, 41 | 1, 42 | 1, 43 | 1, 44 | 1, 45 | 1, 46 | 1, 47 | 1, 48 | 1, 49 | 1, 50 | 1, 51 | 1, 52 | 1, 53 | 1, 54 | 1, 55 | 1, 56 | 1, 57 | 1, 58 | 1, 59 | 1, 60 | 1, 61 | 1, 62 | 1, 63 | 1, 64 | 1, 65 | 1, 66 | 1, 67 | 1, 68 | 1, 69 | 1, 70 | 1, 71 | 1, 72 | 1, 73 | 1, 74 | 1, 75 | 1, 76 | 1, 77 | 1, 78 | 1, 79 | 1, 80 | 1, 81 | 1, 82 | 1, 83 | 1, 84 | 1, 85 | 1, 86 | 1, 87 | 1, 88 | 1, 89 | 1, 90 | 1, 91 | 1, 92 | 1, 93 | 1, 94 | 1, 95 | 1, 96 | 1, 97 | 1, 98 | 1, 99 | 1, 100 | 1, 101 | 1, 102 | 1, 103 | 1, 104 | 1, 105 | 1, 106 | 1, 107 | 1, 108 | 1, 109 | 1, 110 | 1, 111 | 1, 112 | 1, 113 | 1, 114 | 1, 115 | 1, 116 | 1, 117 | 1, 118 | 1, 119 | 1, 120 | 1, 121 | 1, 122 | 1, 123 | 1, 124 | 1, 125 | 1, 126 | 1, 127 | 1, 128 | 1, 129 | 1, 130 | 1, 131 | 1, 132 | 1, 133 | 1, 134 | 1, 135 | 1, 136 | 1, 137 | 1, 138 | 1, 139 | 1, 140 | 1, 141 | 1, 142 | 1, 143 | 1, 144 | 1, 145 | 1, 146 | 1, 147 | 1, 148 | 1, 149 | 1, 150 | 1, 151 | 1, 152 | 1, 153 | 1, 154 | 1, 155 | 1, 156 | 1, 157 | 1, 158 | 1, 159 | 1, 160 | 1, 161 | 1, 162 | 1, 163 | 1, 164 | 1, 165 | 1, 166 | 1, 167 | 1, 168 | 1, 169 | 1, 170 | 1, 171 | 1, 172 | 1, 173 | 1, 174 | 1, 175 | 1, 176 | 1, 177 | 1, 178 | 1, 179 | 1, 180 | 1, 181 | 1, 182 | 1, 183 | 1, 184 | 1, 185 | 1, 186 | 1, 187 | 1, 188 | 1, 189 | 1, 190 | 1, 191 | 1, 192 | 1, 193 | 1, 194 | 1, 195 | 1, 196 | 1, 197 | 1, 198 | 1, 199 | 1, 200 | 1, 201 | 1, 202 | 1, 203 | 1, 204 | 1, 205 | 1, 206 | 1, 207 | 1, 208 | 1, 209 | 1, 210 | 1, 211 | 1, 212 | 1, 213 | 1, 214 | 1, 215 | 1, 216 | 1, 217 | 1, 218 | 1, 219 | 1, 220 | 1, 221 | 1, 222 | 1, 223 | 1, 224 | 1, 225 | 1, 226 | 1, 227 | 1, 228 | 1, 229 | 1, 230 | 1, 231 | 1, 232 | 1, 233 | 1, 234 | 1, 235 | 1, 236 | 1, 237 | 1, 238 | 1, 239 | 1, 240 | 1, 241 | 1, 242 | 1, 243 | 1, 244 | 1, 245 | 1, 246 | 1, 247 | 1, 248 | 1, 249 | 1, 250 | 1, 251 | 1, 252 | 1, 253 | 1, 254 | 1, 255 | 1, 256 | 1, 257 | 1, 258 | 1, 259 | 1, 260 | 1, 261 | 1, 262 | 1, 263 | 1, 264 | 1, 265 | 1, 266 | 1, 267 | 1, 268 | 1, 269 | 1, 270 | 1, 271 | 1, 272 | 1, 273 | 1, 274 | 1, 275 | 1, 276 | 1, 277 | 1, 278 | 1, 279 | 1, 280 | 1, 281 | 1, 282 | 1, 283 | 1, 284 | 1, 285 | 1, 286 | 1, 287 | 1, 288 | 1, 289 | 1, 290 | 1, 291 | 1, 292 | 1, 293 | 1, 294 | 1, 295 | 1, 296 | 1, 297 | 1, 298 | 1, 299 | 1, 300 | 1, 301 | 1, 302 | 1, 303 | 1, 304 | 1, 305 | 1, 306 | 1, 307 | 1, 308 | 1, 309 | 1, 310 | 1, 311 | 1, 312 | 1, 313 | 1, 314 | 1, 315 | 1, 316 | 1, 317 | 1, 318 | 1, 319 | 1, 320 | 1, 321 | 1, 322 | 1, 323 | 1, 324 | 1, 325 | 1, 326 | 1, 327 | 1, 328 | 1, 329 | 1, 330 | 1, 331 | 1, 332 | 1, 333 | 1, 334 | 1, 335 | 1, 336 | 1, 337 | 1, 338 | 1, 339 | 1, 340 | 1, 341 | 1, 342 | 1, 343 | 1, 344 | 1, 345 | 1, 346 | 1, 347 | 1, 348 | 1, 349 | 1, 350 | 1, 351 | 1, 352 | 1, 353 | 1, 354 | 1, 355 | 1, 356 | 1, 357 | 1, 358 | 1, 359 | 1, 360 | 1, 361 | 1, 362 | 1, 363 | 1, 364 | 1, 365 | 1, 366 | 1, 367 | 1, 368 | 1, 369 | 1, 370 | 1, 371 | 1, 372 | 1, 373 | 1, 374 | 1, 375 | 1, 376 | 1, 377 | 1, 378 | 1, 379 | 1, 380 | 1, 381 | 1, 382 | 1, 383 | 1, 384 | 1, 385 | 1, 386 | 1, 387 | 1, 388 | 1, 389 | 1, 390 | 1, 391 | 1, 392 | 1, 393 | 1, 394 | 1, 395 | 1, 396 | 1, 397 | 1, 398 | 1, 399 | 1, 400 | 1, 401 | 1, 402 | 1, 403 | 1, 404 | 1, 405 | 1, 406 | 1, 407 | 1, 408 | 1, 409 | 1, 410 | 1, 411 | 1, 412 | 1, 413 | 1, 414 | 1, 415 | 1, 416 | 1, 417 | 1, 418 | 1, 419 | 1, 420 | 1, 421 | 1, 422 | 1, 423 | 1, 424 | 1, 425 | 1, 426 | 1, 427 | 1, 428 | 1, 429 | 1, 430 | 1, 431 | 1, 432 | 1, 433 | 1, 434 | 1, 435 | 1, 436 | 1, 437 | 1, 438 | 1, 439 | 1, 440 | 1, 441 | 1, 442 | 1, 443 | 1, 444 | 1, 445 | 1, 446 | 1, 447 | 1, 448 | 1, 449 | 1, 450 | 1, 451 | 1, 452 | 1, 453 | 1, 454 | 1, 455 | 1, 456 | 1, 457 | 1, 458 | 1, 459 | 1, 460 | 1, 461 | 1, 462 | 1, 463 | 1, 464 | 1, 465 | 1, 466 | 1, 467 | 1, 468 | 1, 469 | 1, 470 | 1, 471 | 1, 472 | 1, 473 | 1, 474 | 1, 475 | 1, 476 | 1, 477 | 1, 478 | 1, 479 | 1, 480 | 1, 481 | 1, 482 | 1, 483 | 1, 484 | 1, 485 | 1, 486 | 1, 487 | 1, 488 | 1, 489 | 1, 490 | 1, 491 | 1, 492 | 1, 493 | 1, 494 | 1, 495 | 1, 496 | 1, 497 | 1, 498 | 1, 499 | 1, 500 | 1, 501 | 1, 502 | 1, 503 | 1, 504 | 1, 505 | 1, 506 | 1, 507 | 1, 508 | 1, 509 | 1, 510 | 1, 511 | 1, 512 | 1, 513 | 1, 514 | 1, 515 | 1, 516 | 1, 517 | 1, 518 | 1, 519 | 1, 520 | 1, 521 | 1, 522 | 1, 523 | 1, 524 | 1, 525 | 1, 526 | 1, 527 | 1, 528 | 1, 529 | 1, 530 | 1, 531 | 1, 532 | 1, 533 | 1, 534 | 1, 535 | 1, 536 | 1, 537 | 1, 538 | 1, 539 | 1, 540 | 1, 541 | 1, 542 | 1, 543 | 1, 544 | 1, 545 | 1, 546 | 1, 547 | 1, 548 | 1, 549 | 1, 550 | 1, 551 | 1, 552 | 1, 553 | 1, 554 | 1, 555 | 1, 556 | 1, 557 | 1, 558 | 1, 559 | 1, 560 | 1, 561 | 1, 562 | 1, 563 | 1, 564 | 1, 565 | 1, 566 | 1, 567 | 1, 568 | 1, 569 | 1, 570 | 1, 571 | 1, 572 | 1, 573 | 1, 574 | 1, 575 | 1, 576 | 1, 577 | 1, 578 | 1, 579 | 1, 580 | 1, 581 | 1, 582 | 1, 583 | 1, 584 | 1, 585 | 1, 586 | 1, 587 | 1, 588 | 1, 589 | 1, 590 | 1, 591 | 1, 592 | 1, 593 | 1, 594 | 1, 595 | 1, 596 | 1, 597 | 1, 598 | 1, 599 | 1, 600 | 1, 601 | 1, 602 | 1, 603 | 1, 604 | 1, 605 | 1, 606 | 1, 607 | 1, 608 | 1, 609 | 1, 610 | 1, 611 | 1, 612 | 1, 613 | 1, 614 | 1, 615 | 1, 616 | 1, 617 | 1, 618 | 1, 619 | 1, 620 | 1, 621 | 1, 622 | 1, 623 | 1, 624 | 1, 625 | 1, 626 | 1, 627 | 1, 628 | 1, 629 | 1, 630 | 1, 631 | 1, 632 | 1, 633 | 1, 634 | 1, 635 | 1, 636 | 1, 637 | 1, 638 | 1, 639 | 1, 640 | 1, 641 | 1, 642 | 1, 643 | 1, 644 | 1, 645 | 1, 646 | 1, 647 | 1, 648 | 1, 649 | 1, 650 | 1, 651 | 1, 652 | 1, 653 | 1, 654 | 1, 655 | 1, 656 | 1, 657 | 1, 658 | 1, 659 | 1, 660 | 1, 661 | 1, 662 | 1, 663 | 1, 664 | 1, 665 | 1, 666 | 1, 667 | 1, 668 | 1, 669 | 1, 670 | 1, 671 | 1, 672 | 1, 673 | 1, 674 | 1, 675 | 1, 676 | 1, 677 | 1, 678 | 1, 679 | 1, 680 | 1, 681 | 1, 682 | 1, 683 | 1, 684 | 1, 685 | 1, 686 | 1, 687 | 1, 688 | 1, 689 | 1, 690 | 1, 691 | 1, 692 | 1, 693 | 1, 694 | 1, 695 | 1, 696 | 1, 697 | 1, 698 | 1, 699 | 1, 700 | 1, 701 | 1, 702 | 1, 703 | 1, 704 | 1, 705 | 1, 706 | 1, 707 | 1, 708 | 1, 709 | 1, 710 | 1, 711 | 1, 712 | 1, 713 | 1, 714 | 1, 715 | 1, 716 | 1, 717 | 1, 718 | 1, 719 | 1, 720 | 1, 721 | 1, 722 | 1, 723 | 1, 724 | 1, 725 | 1, 726 | 1, 727 | 1, 728 | 1, 729 | 1, 730 | 1, 731 | 1, 732 | 1, 733 | 1, 734 | 1, 735 | 1, 736 | 1, 737 | 1, 738 | 1, 739 | 1, 740 | 1, 741 | 1, 742 | 1, 743 | 1, 744 | 1, 745 | 1, 746 | 1, 747 | 1, 748 | 1, 749 | 1, 750 | 1, 751 | 1, 752 | 1, 753 | 1, 754 | 1, 755 | 1, 756 | 1, 757 | 1, 758 | 1, 759 | 1, 760 | 1, 761 | 1, 762 | 1, 763 | 1, 764 | 1, 765 | 1, 766 | 1, 767 | 1, 768 | 1, 769 | 1, 770 | 1, 771 | 1, 772 | 1, 773 | 1, 774 | 1, 775 | 1, 776 | 1, 777 | 1, 778 | 1, 779 | 1, 780 | 1, 781 | 1, 782 | 1, 783 | 1, 784 | 1, 785 | 1, 786 | 1, 787 | 1, 788 | 1, 789 | 1, 790 | 1, 791 | 1, 792 | 1, 793 | 1, 794 | 1, 795 | 1, 796 | 1, 797 | 1, 798 | 1, 799 | 1, 800 | 1, 801 | 1, 802 | 1, 803 | 1, 804 | 1, 805 | 1, 806 | 1, 807 | 1, 808 | 1, 809 | 1, 810 | 1, 811 | 1, 812 | 1, 813 | 1, 814 | 1, 815 | 1, 816 | 1, 817 | 1, 818 | 1, 819 | 1, 820 | 1, 821 | 1, 822 | 1, 823 | 1, 824 | 1, 825 | 1, 826 | 1, 827 | 1, 828 | 1, 829 | 1, 830 | 1, 831 | 1, 832 | 1, 833 | 1, 834 | 1, 835 | 1, 836 | 1, 837 | 1, 838 | 1, 839 | 1, 840 | 1, 841 | 1, 842 | 1, 843 | 1, 844 | 1, 845 | 1, 846 | 1, 847 | 1, 848 | 1, 849 | 1, 850 | 1, 851 | 1, 852 | 1, 853 | 1, 854 | 1, 855 | 1, 856 | 1, 857 | 1, 858 | 1, 859 | 1, 860 | 1, 861 | 1, 862 | 1, 863 | 1, 864 | 1, 865 | 1, 866 | 1, 867 | 1, 868 | 1, 869 | 1, 870 | 1, 871 | 1, 872 | 1, 873 | 1, 874 | 1, 875 | 1, 876 | 1, 877 | 1, 878 | 1, 879 | 1, 880 | 1, 881 | 1, 882 | 1, 883 | 1, 884 | 1, 885 | 1, 886 | 1, 887 | 1, 888 | 1, 889 | 1, 890 | 1, 891 | 1, 892 | 1, 893 | 1, 894 | 1, 895 | 1, 896 | 1, 897 | 1, 898 | 1, 899 | 1, 900 | 1, 901 | 1, 902 | 1, 903 | 1, 904 | 1, 905 | 1, 906 | 1, 907 | 1, 908 | 1, 909 | 1, 910 | 1, 911 | 1, 912 | 1, 913 | 1, 914 | 1, 915 | 1, 916 | 1, 917 | 1, 918 | 1, 919 | 1, 920 | 1, 921 | 1, 922 | 1, 923 | 1, 924 | 1, 925 | 1, 926 | 1, 927 | 1, 928 | 1, 929 | 1, 930 | 1, 931 | 1, 932 | 1, 933 | 1, 934 | 1, 935 | 1, 936 | 1, 937 | 1, 938 | 1, 939 | 1, 940 | 1, 941 | 1, 942 | 1, 943 | 1, 944 | 1, 945 | 1, 946 | 1, 947 | 1, 948 | 1, 949 | 1, 950 | 1, 951 | 1, 952 | 1, 953 | 1, 954 | 1, 955 | 1, 956 | 1, 957 | 1, 958 | 1, 959 | 1, 960 | 1, 961 | 1, 962 | 1, 963 | 1, 964 | 1, 965 | 1, 966 | 1, 967 | 1, 968 | 1, 969 | 1, 970 | 1, 971 | 1, 972 | 1, 973 | 1, 974 | 1, 975 | 1, 976 | 1, 977 | 1, 978 | 1, 979 | 1, 980 | 1, 981 | 1, 982 | 1, 983 | 1, 984 | 1, 985 | 1, 986 | 1, 987 | 1, 988 | 1, 989 | 1, 990 | 1, 991 | 1, 992 | 1, 993 | 1, 994 | 1, 995 | 1, 996 | 1, 997 | 1, 998 | 1, 999 | 1, 1000 | 1, 1001 | 1, 1002 | 1, 1003 | 1, 1004 | 1, 1005 | 1, 1006 | 1, 1007 | 1, 1008 | 1, 1009 | 1, 1010 | 1, 1011 | 1, 1012 | 1, 1013 | 1, 1014 | 1, 1015 | 1, 1016 | 1, 1017 | 1, 1018 | 1, 1019 | 1, 1020 | 1, 1021 | 1, 1022 | 1, 1023 | 1, 1024 | 1, 1025 | 1, 1026 | 1, 1027 | 1, 1028 | 1, 1029 | 1, 1030 | 1, 1031 | 1, 1032 | 1, 1033 | 1, 1034 | 1, 1035 | 1, 1036 | 1, 1037 | 1, 1038 | 1, 1039 | 1, 1040 | 1, 1041 | 1, 1042 | 1, 1043 | 1, 1044 | 1, 1045 | 1, 1046 | 1, 1047 | 1, 1048 | 1, 1049 | 1, 1050 | 1, 1051 | 1, 1052 | 1, 1053 | 1, 1054 | 1, 1055 | 1, 1056 | 1, 1057 | 1, 1058 | 1, 1059 | 1, 1060 | 1, 1061 | 1, 1062 | 1, 1063 | 1, 1064 | 1, 1065 | 1, 1066 | 1, 1067 | 1, 1068 | 1, 1069 | 1, 1070 | 1, 1071 | 1, 1072 | 1, 1073 | 1, 1074 | 1, 1075 | 1, 1076 | 1, 1077 | 1, 1078 | 1, 1079 | 1, 1080 | 1, 1081 | 1, 1082 | 1, 1083 | 1, 1084 | 1, 1085 | 1, 1086 | 1, 1087 | 1, 1088 | 1, 1089 | 1, 1090 | 1, 1091 | 1, 1092 | 1, 1093 | 1, 1094 | 1, 1095 | 1, 1096 | 1, 1097 | 1, 1098 | 1, 1099 | 1, 1100 | 1, 1101 | 1, 1102 | 1, 1103 | 1, 1104 | 1, 1105 | 1, 1106 | 1, 1107 | 1, 1108 | 1, 1109 | 1, 1110 | 1, 1111 | 1, 1112 | 1, 1113 | 1, 1114 | 1, 1115 | 1, 1116 | 1, 1117 | 1, 1118 | 1, 1119 | 1, 1120 | 1, 1121 | 1, 1122 | 1, 1123 | 1, 1124 | 1, 1125 | 1, 1126 | 1, 1127 | 1, 1128 | 1, 1129 | 1, 1130 | 1, 1131 | 1, 1132 | 1, 1133 | 1, 1134 | 1, 1135 | 1, 1136 | 1, 1137 | 1, 1138 | 1, 1139 | 1, 1140 | 1, 1141 | 1, 1142 | 1, 1143 | 1, 1144 | 1, 1145 | 1, 1146 | 1, 1147 | 1, 1148 | 1, 1149 | 1, 1150 | 1, 1151 | 1, 1152 | 1, 1153 | 1, 1154 | 1, 1155 | 1, 1156 | 1, 1157 | 1, 1158 | 1, 1159 | 1, 1160 | 1, 1161 | 1, 1162 | 1, 1163 | 1, 1164 | 1, 1165 | 1, 1166 | 1, 1167 | 1, 1168 | 1, 1169 | 1, 1170 | 1, 1171 | 1, 1172 | 1, 1173 | 1, 1174 | 1, 1175 | 1, 1176 | 1, 1177 | 1, 1178 | 1, 1179 | 1, 1180 | 1, 1181 | 1, 1182 | 1, 1183 | 1, 1184 | 1, 1185 | 1, 1186 | 1, 1187 | 1, 1188 | 1, 1189 | 1, 1190 | 1, 1191 | 1, 1192 | 1, 1193 | 1, 1194 | 1, 1195 | 1, 1196 | 1, 1197 | 1, 1198 | 1, 1199 | 1, 1200 | 1, 1201 | 1, 1202 | 1, 1203 | 1, 1204 | 1, 1205 | 1, 1206 | 1, 1207 | 1, 1208 | 1, 1209 | 1, 1210 | 1, 1211 | 1, 1212 | 1, 1213 | 1, 1214 | 1, 1215 | 1, 1216 | 1, 1217 | 1, 1218 | 1, 1219 | 1, 1220 | 1, 1221 | 0, 1222 | 0, 1223 | 0, 1224 | 0, 1225 | 0, 1226 | 0, 1227 | 1, 1228 | 1, 1229 | 1, 1230 | 1, 1231 | 1, 1232 | 1, 1233 | 1, 1234 | 1, 1235 | 1, 1236 | 1, 1237 | 1, 1238 | 1, 1239 | 1, 1240 | 1, 1241 | 1, 1242 | 1, 1243 | 1, 1244 | 1, 1245 | 1, 1246 | 1, 1247 | 1, 1248 | 1, 1249 | 1, 1250 | 1, 1251 | 1, 1252 | 1, 1253 | 1, 1254 | 1, 1255 | 1, 1256 | 1, 1257 | 1, 1258 | 1, 1259 | 1, 1260 | 1, 1261 | 1, 1262 | 1, 1263 | 1, 1264 | 1, 1265 | 1, 1266 | 1, 1267 | 1, 1268 | 1, 1269 | 1, 1270 | 1, 1271 | 1, 1272 | 1, 1273 | 1, 1274 | 1, 1275 | 1, 1276 | 1, 1277 | 1, 1278 | 1, 1279 | 0, 1280 | 0, 1281 | 0, 1282 | 0, 1283 | 0, 1284 | 0, 1285 | 0, 1286 | 0, 1287 | 0, 1288 | 1, 1289 | 1, 1290 | 1, 1291 | 1, 1292 | 1, 1293 | 1, 1294 | 1, 1295 | 1, 1296 | 1, 1297 | 1, 1298 | 1, 1299 | 1, 1300 | 1, 1301 | 1, 1302 | 1, 1303 | 1, 1304 | 1, 1305 | 1, 1306 | 1, 1307 | 1, 1308 | 1, 1309 | 1, 1310 | 1, 1311 | 1, 1312 | 1, 1313 | 1, 1314 | 1, 1315 | 1, 1316 | 1, 1317 | 1, 1318 | 1, 1319 | 1, 1320 | 1, 1321 | 1, 1322 | 1, 1323 | 1, 1324 | 1, 1325 | 1, 1326 | 1, 1327 | 1, 1328 | 1, 1329 | 1, 1330 | 1, 1331 | 1, 1332 | 1, 1333 | 1, 1334 | 1, 1335 | 1, 1336 | 1, 1337 | 0, 1338 | 0, 1339 | 0, 1340 | 0, 1341 | 0, 1342 | 0, 1343 | 0, 1344 | 0, 1345 | 0, 1346 | 0, 1347 | 0, 1348 | 0, 1349 | 1, 1350 | 1, 1351 | 1, 1352 | 1, 1353 | 1, 1354 | 1, 1355 | 1, 1356 | 1, 1357 | 1, 1358 | 1, 1359 | 1, 1360 | 1, 1361 | 1, 1362 | 1, 1363 | 1, 1364 | 1, 1365 | 1, 1366 | 1, 1367 | 1, 1368 | 1, 1369 | 1, 1370 | 1, 1371 | 1, 1372 | 1, 1373 | 1, 1374 | 1, 1375 | 1, 1376 | 1, 1377 | 1, 1378 | 1, 1379 | 1, 1380 | 1, 1381 | 1, 1382 | 1, 1383 | 1, 1384 | 1, 1385 | 1, 1386 | 1, 1387 | 1, 1388 | 1, 1389 | 1, 1390 | 1, 1391 | 1, 1392 | 1, 1393 | 1, 1394 | 1, 1395 | 1, 1396 | 0, 1397 | 0, 1398 | 0, 1399 | 0, 1400 | 0, 1401 | 0, 1402 | 0, 1403 | 0, 1404 | 0, 1405 | 0, 1406 | 0, 1407 | 0, 1408 | 0, 1409 | 0, 1410 | 1, 1411 | 1, 1412 | 1, 1413 | 1, 1414 | 1, 1415 | 1, 1416 | 1, 1417 | 1, 1418 | 1, 1419 | 1, 1420 | 1, 1421 | 1, 1422 | 1, 1423 | 1, 1424 | 1, 1425 | 1, 1426 | 1, 1427 | 1, 1428 | 1, 1429 | 1, 1430 | 1, 1431 | 1, 1432 | 1, 1433 | 1, 1434 | 1, 1435 | 1, 1436 | 1, 1437 | 1, 1438 | 1, 1439 | 1, 1440 | 1, 1441 | 1, 1442 | 1, 1443 | 1, 1444 | 1, 1445 | 1, 1446 | 1, 1447 | 1, 1448 | 1, 1449 | 1, 1450 | 1, 1451 | 1, 1452 | 1, 1453 | 1, 1454 | 1, 1455 | 0, 1456 | 0, 1457 | 0, 1458 | 0, 1459 | 0, 1460 | 1, 1461 | 1, 1462 | 1, 1463 | 1, 1464 | 0, 1465 | 0, 1466 | 0, 1467 | 0, 1468 | 0, 1469 | 0, 1470 | 1, 1471 | 1, 1472 | 1, 1473 | 1, 1474 | 1, 1475 | 1, 1476 | 1, 1477 | 1, 1478 | 1, 1479 | 1, 1480 | 1, 1481 | 1, 1482 | 1, 1483 | 1, 1484 | 1, 1485 | 1, 1486 | 1, 1487 | 1, 1488 | 1, 1489 | 1, 1490 | 1, 1491 | 1, 1492 | 1, 1493 | 1, 1494 | 1, 1495 | 1, 1496 | 1, 1497 | 1, 1498 | 1, 1499 | 1, 1500 | 1, 1501 | 1, 1502 | 1, 1503 | 1, 1504 | 1, 1505 | 1, 1506 | 1, 1507 | 1, 1508 | 1, 1509 | 1, 1510 | 1, 1511 | 1, 1512 | 1, 1513 | 1, 1514 | 0, 1515 | 0, 1516 | 0, 1517 | 0, 1518 | 0, 1519 | 1, 1520 | 1, 1521 | 1, 1522 | 1, 1523 | 1, 1524 | 1, 1525 | 0, 1526 | 0, 1527 | 0, 1528 | 0, 1529 | 0, 1530 | 1, 1531 | 1, 1532 | 1, 1533 | 1, 1534 | 1, 1535 | 1, 1536 | 1, 1537 | 1, 1538 | 1, 1539 | 1, 1540 | 1, 1541 | 1, 1542 | 1, 1543 | 1, 1544 | 1, 1545 | 1, 1546 | 1, 1547 | 1, 1548 | 1, 1549 | 1, 1550 | 1, 1551 | 1, 1552 | 1, 1553 | 1, 1554 | 1, 1555 | 1, 1556 | 1, 1557 | 1, 1558 | 1, 1559 | 1, 1560 | 1, 1561 | 1, 1562 | 1, 1563 | 1, 1564 | 1, 1565 | 1, 1566 | 1, 1567 | 1, 1568 | 1, 1569 | 1, 1570 | 1, 1571 | 1, 1572 | 1, 1573 | 0, 1574 | 0, 1575 | 0, 1576 | 0, 1577 | 0, 1578 | 1, 1579 | 1, 1580 | 1, 1581 | 1, 1582 | 1, 1583 | 1, 1584 | 1, 1585 | 0, 1586 | 0, 1587 | 0, 1588 | 0, 1589 | 0, 1590 | 1, 1591 | 1, 1592 | 1, 1593 | 1, 1594 | 1, 1595 | 1, 1596 | 1, 1597 | 1, 1598 | 1, 1599 | 1, 1600 | 1, 1601 | 1, 1602 | 1, 1603 | 1, 1604 | 1, 1605 | 1, 1606 | 1, 1607 | 1, 1608 | 1, 1609 | 1, 1610 | 1, 1611 | 1, 1612 | 1, 1613 | 1, 1614 | 1, 1615 | 1, 1616 | 1, 1617 | 1, 1618 | 1, 1619 | 1, 1620 | 1, 1621 | 1, 1622 | 1, 1623 | 1, 1624 | 1, 1625 | 1, 1626 | 1, 1627 | 1, 1628 | 1, 1629 | 1, 1630 | 1, 1631 | 1, 1632 | 0, 1633 | 0, 1634 | 0, 1635 | 0, 1636 | 0, 1637 | 1, 1638 | 1, 1639 | 1, 1640 | 1, 1641 | 1, 1642 | 1, 1643 | 1, 1644 | 1, 1645 | 0, 1646 | 0, 1647 | 0, 1648 | 0, 1649 | 0, 1650 | 1, 1651 | 1, 1652 | 1, 1653 | 1, 1654 | 1, 1655 | 1, 1656 | 1, 1657 | 1, 1658 | 1, 1659 | 1, 1660 | 1, 1661 | 1, 1662 | 1, 1663 | 1, 1664 | 1, 1665 | 1, 1666 | 1, 1667 | 1, 1668 | 1, 1669 | 1, 1670 | 1, 1671 | 1, 1672 | 1, 1673 | 1, 1674 | 1, 1675 | 1, 1676 | 1, 1677 | 1, 1678 | 1, 1679 | 1, 1680 | 1, 1681 | 1, 1682 | 1, 1683 | 1, 1684 | 1, 1685 | 1, 1686 | 1, 1687 | 1, 1688 | 1, 1689 | 1, 1690 | 1, 1691 | 1, 1692 | 0, 1693 | 0, 1694 | 0, 1695 | 0, 1696 | 0, 1697 | 1, 1698 | 1, 1699 | 1, 1700 | 1, 1701 | 1, 1702 | 1, 1703 | 1, 1704 | 1, 1705 | 0, 1706 | 0, 1707 | 0, 1708 | 0, 1709 | 0, 1710 | 1, 1711 | 1, 1712 | 1, 1713 | 1, 1714 | 1, 1715 | 1, 1716 | 1, 1717 | 1, 1718 | 1, 1719 | 1, 1720 | 1, 1721 | 1, 1722 | 1, 1723 | 1, 1724 | 1, 1725 | 1, 1726 | 1, 1727 | 1, 1728 | 1, 1729 | 1, 1730 | 1, 1731 | 1, 1732 | 1, 1733 | 1, 1734 | 1, 1735 | 1, 1736 | 1, 1737 | 1, 1738 | 1, 1739 | 1, 1740 | 1, 1741 | 1, 1742 | 1, 1743 | 1, 1744 | 1, 1745 | 1, 1746 | 1, 1747 | 1, 1748 | 1, 1749 | 1, 1750 | 1, 1751 | 0, 1752 | 0, 1753 | 0, 1754 | 0, 1755 | 0, 1756 | 1, 1757 | 1, 1758 | 1, 1759 | 1, 1760 | 1, 1761 | 1, 1762 | 1, 1763 | 1, 1764 | 1, 1765 | 0, 1766 | 0, 1767 | 0, 1768 | 0, 1769 | 0, 1770 | 1, 1771 | 1, 1772 | 1, 1773 | 1, 1774 | 1, 1775 | 1, 1776 | 1, 1777 | 1, 1778 | 1, 1779 | 1, 1780 | 1, 1781 | 1, 1782 | 1, 1783 | 1, 1784 | 1, 1785 | 1, 1786 | 1, 1787 | 1, 1788 | 1, 1789 | 1, 1790 | 1, 1791 | 1, 1792 | 1, 1793 | 1, 1794 | 1, 1795 | 1, 1796 | 1, 1797 | 1, 1798 | 1, 1799 | 1, 1800 | 1, 1801 | 1, 1802 | 1, 1803 | 1, 1804 | 1, 1805 | 1, 1806 | 1, 1807 | 1, 1808 | 1, 1809 | 1, 1810 | 1, 1811 | 0, 1812 | 0, 1813 | 0, 1814 | 0, 1815 | 0, 1816 | 1, 1817 | 1, 1818 | 1, 1819 | 1, 1820 | 1, 1821 | 1, 1822 | 1, 1823 | 1, 1824 | 1, 1825 | 0, 1826 | 0, 1827 | 0, 1828 | 0, 1829 | 0, 1830 | 1, 1831 | 1, 1832 | 1, 1833 | 1, 1834 | 1, 1835 | 1, 1836 | 1, 1837 | 1, 1838 | 1, 1839 | 1, 1840 | 1, 1841 | 1, 1842 | 1, 1843 | 1, 1844 | 1, 1845 | 1, 1846 | 1, 1847 | 1, 1848 | 1, 1849 | 1, 1850 | 1, 1851 | 1, 1852 | 1, 1853 | 1, 1854 | 1, 1855 | 1, 1856 | 1, 1857 | 1, 1858 | 1, 1859 | 1, 1860 | 1, 1861 | 1, 1862 | 1, 1863 | 1, 1864 | 1, 1865 | 1, 1866 | 1, 1867 | 1, 1868 | 1, 1869 | 1, 1870 | 0, 1871 | 0, 1872 | 0, 1873 | 0, 1874 | 0, 1875 | 1, 1876 | 1, 1877 | 1, 1878 | 1, 1879 | 1, 1880 | 1, 1881 | 1, 1882 | 1, 1883 | 1, 1884 | 0, 1885 | 0, 1886 | 0, 1887 | 0, 1888 | 0, 1889 | 1, 1890 | 1, 1891 | 1, 1892 | 1, 1893 | 1, 1894 | 1, 1895 | 1, 1896 | 1, 1897 | 1, 1898 | 1, 1899 | 1, 1900 | 1, 1901 | 1, 1902 | 1, 1903 | 1, 1904 | 1, 1905 | 1, 1906 | 1, 1907 | 1, 1908 | 1, 1909 | 1, 1910 | 1, 1911 | 1, 1912 | 1, 1913 | 1, 1914 | 1, 1915 | 1, 1916 | 1, 1917 | 1, 1918 | 1, 1919 | 1, 1920 | 1, 1921 | 1, 1922 | 1, 1923 | 1, 1924 | 1, 1925 | 1, 1926 | 1, 1927 | 1, 1928 | 1, 1929 | 1, 1930 | 0, 1931 | 0, 1932 | 0, 1933 | 0, 1934 | 0, 1935 | 1, 1936 | 1, 1937 | 1, 1938 | 1, 1939 | 1, 1940 | 1, 1941 | 1, 1942 | 1, 1943 | 1, 1944 | 0, 1945 | 0, 1946 | 0, 1947 | 0, 1948 | 0, 1949 | 1, 1950 | 1, 1951 | 1, 1952 | 1, 1953 | 1, 1954 | 1, 1955 | 1, 1956 | 1, 1957 | 1, 1958 | 1, 1959 | 1, 1960 | 1, 1961 | 1, 1962 | 1, 1963 | 1, 1964 | 1, 1965 | 1, 1966 | 1, 1967 | 1, 1968 | 1, 1969 | 1, 1970 | 1, 1971 | 1, 1972 | 1, 1973 | 1, 1974 | 1, 1975 | 1, 1976 | 1, 1977 | 1, 1978 | 1, 1979 | 1, 1980 | 1, 1981 | 1, 1982 | 1, 1983 | 1, 1984 | 1, 1985 | 1, 1986 | 1, 1987 | 1, 1988 | 1, 1989 | 0, 1990 | 0, 1991 | 0, 1992 | 0, 1993 | 0, 1994 | 1, 1995 | 1, 1996 | 1, 1997 | 1, 1998 | 1, 1999 | 1, 2000 | 1, 2001 | 1, 2002 | 1, 2003 | 1, 2004 | 0, 2005 | 0, 2006 | 0, 2007 | 0, 2008 | 0, 2009 | 1, 2010 | 1, 2011 | 1, 2012 | 1, 2013 | 1, 2014 | 1, 2015 | 1, 2016 | 1, 2017 | 1, 2018 | 1, 2019 | 1, 2020 | 1, 2021 | 1, 2022 | 1, 2023 | 1, 2024 | 1, 2025 | 1, 2026 | 1, 2027 | 1, 2028 | 1, 2029 | 1, 2030 | 1, 2031 | 1, 2032 | 1, 2033 | 1, 2034 | 1, 2035 | 1, 2036 | 1, 2037 | 1, 2038 | 1, 2039 | 1, 2040 | 1, 2041 | 1, 2042 | 1, 2043 | 1, 2044 | 1, 2045 | 1, 2046 | 1, 2047 | 1, 2048 | 1, 2049 | 0, 2050 | 0, 2051 | 0, 2052 | 0, 2053 | 0, 2054 | 1, 2055 | 1, 2056 | 1, 2057 | 1, 2058 | 1, 2059 | 1, 2060 | 1, 2061 | 1, 2062 | 1, 2063 | 0, 2064 | 0, 2065 | 0, 2066 | 0, 2067 | 0, 2068 | 1, 2069 | 1, 2070 | 1, 2071 | 1, 2072 | 1, 2073 | 1, 2074 | 1, 2075 | 1, 2076 | 1, 2077 | 1, 2078 | 1, 2079 | 1, 2080 | 1, 2081 | 1, 2082 | 1, 2083 | 1, 2084 | 1, 2085 | 1, 2086 | 1, 2087 | 1, 2088 | 1, 2089 | 1, 2090 | 1, 2091 | 1, 2092 | 1, 2093 | 1, 2094 | 1, 2095 | 1, 2096 | 1, 2097 | 1, 2098 | 1, 2099 | 1, 2100 | 1, 2101 | 1, 2102 | 1, 2103 | 1, 2104 | 1, 2105 | 1, 2106 | 1, 2107 | 1, 2108 | 1, 2109 | 0, 2110 | 0, 2111 | 0, 2112 | 0, 2113 | 0, 2114 | 1, 2115 | 1, 2116 | 1, 2117 | 1, 2118 | 1, 2119 | 1, 2120 | 1, 2121 | 1, 2122 | 1, 2123 | 0, 2124 | 0, 2125 | 0, 2126 | 0, 2127 | 0, 2128 | 1, 2129 | 1, 2130 | 1, 2131 | 1, 2132 | 1, 2133 | 1, 2134 | 1, 2135 | 1, 2136 | 1, 2137 | 1, 2138 | 1, 2139 | 1, 2140 | 1, 2141 | 1, 2142 | 1, 2143 | 1, 2144 | 1, 2145 | 1, 2146 | 1, 2147 | 1, 2148 | 1, 2149 | 1, 2150 | 1, 2151 | 1, 2152 | 1, 2153 | 1, 2154 | 1, 2155 | 1, 2156 | 1, 2157 | 1, 2158 | 1, 2159 | 1, 2160 | 1, 2161 | 1, 2162 | 1, 2163 | 1, 2164 | 1, 2165 | 1, 2166 | 1, 2167 | 1, 2168 | 1, 2169 | 0, 2170 | 0, 2171 | 0, 2172 | 0, 2173 | 0, 2174 | 1, 2175 | 1, 2176 | 1, 2177 | 1, 2178 | 1, 2179 | 1, 2180 | 1, 2181 | 1, 2182 | 1, 2183 | 0, 2184 | 0, 2185 | 0, 2186 | 0, 2187 | 0, 2188 | 1, 2189 | 1, 2190 | 1, 2191 | 1, 2192 | 1, 2193 | 1, 2194 | 1, 2195 | 1, 2196 | 1, 2197 | 1, 2198 | 1, 2199 | 1, 2200 | 1, 2201 | 1, 2202 | 1, 2203 | 1, 2204 | 1, 2205 | 1, 2206 | 1, 2207 | 1, 2208 | 1, 2209 | 1, 2210 | 1, 2211 | 1, 2212 | 1, 2213 | 1, 2214 | 1, 2215 | 1, 2216 | 1, 2217 | 1, 2218 | 1, 2219 | 1, 2220 | 1, 2221 | 1, 2222 | 1, 2223 | 1, 2224 | 1, 2225 | 1, 2226 | 1, 2227 | 1, 2228 | 0, 2229 | 0, 2230 | 0, 2231 | 0, 2232 | 0, 2233 | 1, 2234 | 1, 2235 | 1, 2236 | 1, 2237 | 1, 2238 | 1, 2239 | 1, 2240 | 1, 2241 | 1, 2242 | 0, 2243 | 0, 2244 | 0, 2245 | 0, 2246 | 0, 2247 | 1, 2248 | 1, 2249 | 1, 2250 | 1, 2251 | 1, 2252 | 1, 2253 | 1, 2254 | 1, 2255 | 1, 2256 | 1, 2257 | 1, 2258 | 1, 2259 | 1, 2260 | 1, 2261 | 1, 2262 | 1, 2263 | 1, 2264 | 1, 2265 | 1, 2266 | 1, 2267 | 1, 2268 | 1, 2269 | 1, 2270 | 1, 2271 | 1, 2272 | 1, 2273 | 1, 2274 | 1, 2275 | 1, 2276 | 1, 2277 | 1, 2278 | 1, 2279 | 1, 2280 | 1, 2281 | 1, 2282 | 1, 2283 | 1, 2284 | 1, 2285 | 1, 2286 | 1, 2287 | 1, 2288 | 0, 2289 | 0, 2290 | 0, 2291 | 0, 2292 | 0, 2293 | 1, 2294 | 1, 2295 | 1, 2296 | 1, 2297 | 1, 2298 | 1, 2299 | 1, 2300 | 1, 2301 | 1, 2302 | 0, 2303 | 0, 2304 | 0, 2305 | 0, 2306 | 0, 2307 | 1, 2308 | 1, 2309 | 1, 2310 | 1, 2311 | 1, 2312 | 1, 2313 | 1, 2314 | 1, 2315 | 1, 2316 | 1, 2317 | 1, 2318 | 1, 2319 | 1, 2320 | 1, 2321 | 1, 2322 | 1, 2323 | 1, 2324 | 1, 2325 | 1, 2326 | 1, 2327 | 1, 2328 | 1, 2329 | 1, 2330 | 1, 2331 | 1, 2332 | 1, 2333 | 1, 2334 | 1, 2335 | 1, 2336 | 1, 2337 | 1, 2338 | 1, 2339 | 1, 2340 | 1, 2341 | 1, 2342 | 1, 2343 | 1, 2344 | 1, 2345 | 1, 2346 | 1, 2347 | 1, 2348 | 0, 2349 | 0, 2350 | 0, 2351 | 0, 2352 | 0, 2353 | 1, 2354 | 1, 2355 | 1, 2356 | 1, 2357 | 1, 2358 | 1, 2359 | 1, 2360 | 1, 2361 | 0, 2362 | 0, 2363 | 0, 2364 | 0, 2365 | 0, 2366 | 1, 2367 | 1, 2368 | 1, 2369 | 1, 2370 | 1, 2371 | 1, 2372 | 1, 2373 | 1, 2374 | 1, 2375 | 1, 2376 | 1, 2377 | 1, 2378 | 1, 2379 | 1, 2380 | 1, 2381 | 1, 2382 | 1, 2383 | 1, 2384 | 1, 2385 | 1, 2386 | 1, 2387 | 1, 2388 | 1, 2389 | 1, 2390 | 1, 2391 | 1, 2392 | 1, 2393 | 1, 2394 | 1, 2395 | 1, 2396 | 1, 2397 | 1, 2398 | 1, 2399 | 1, 2400 | 1, 2401 | 1, 2402 | 1, 2403 | 1, 2404 | 1, 2405 | 1, 2406 | 1, 2407 | 1, 2408 | 0, 2409 | 0, 2410 | 0, 2411 | 0, 2412 | 0, 2413 | 1, 2414 | 1, 2415 | 1, 2416 | 1, 2417 | 1, 2418 | 1, 2419 | 1, 2420 | 1, 2421 | 0, 2422 | 0, 2423 | 0, 2424 | 0, 2425 | 1, 2426 | 1, 2427 | 1, 2428 | 1, 2429 | 1, 2430 | 1, 2431 | 1, 2432 | 1, 2433 | 1, 2434 | 1, 2435 | 1, 2436 | 1, 2437 | 1, 2438 | 1, 2439 | 1, 2440 | 1, 2441 | 1, 2442 | 1, 2443 | 1, 2444 | 1, 2445 | 1, 2446 | 1, 2447 | 1, 2448 | 1, 2449 | 1, 2450 | 1, 2451 | 1, 2452 | 1, 2453 | 1, 2454 | 1, 2455 | 1, 2456 | 1, 2457 | 1, 2458 | 1, 2459 | 1, 2460 | 1, 2461 | 1, 2462 | 1, 2463 | 1, 2464 | 1, 2465 | 1, 2466 | 1, 2467 | 1, 2468 | 0, 2469 | 0, 2470 | 0, 2471 | 0, 2472 | 0, 2473 | 1, 2474 | 1, 2475 | 1, 2476 | 1, 2477 | 1, 2478 | 1, 2479 | 1, 2480 | 0, 2481 | 0, 2482 | 0, 2483 | 0, 2484 | 0, 2485 | 1, 2486 | 1, 2487 | 1, 2488 | 1, 2489 | 1, 2490 | 1, 2491 | 1, 2492 | 1, 2493 | 1, 2494 | 1, 2495 | 1, 2496 | 1, 2497 | 1, 2498 | 1, 2499 | 1, 2500 | 1, 2501 | 1, 2502 | 1, 2503 | 1, 2504 | 1, 2505 | 1, 2506 | 1, 2507 | 1, 2508 | 1, 2509 | 1, 2510 | 1, 2511 | 1, 2512 | 1, 2513 | 1, 2514 | 1, 2515 | 1, 2516 | 1, 2517 | 1, 2518 | 1, 2519 | 1, 2520 | 1, 2521 | 1, 2522 | 1, 2523 | 1, 2524 | 1, 2525 | 1, 2526 | 1, 2527 | 1, 2528 | 0, 2529 | 0, 2530 | 0, 2531 | 0, 2532 | 0, 2533 | 1, 2534 | 1, 2535 | 1, 2536 | 1, 2537 | 1, 2538 | 1, 2539 | 0, 2540 | 0, 2541 | 0, 2542 | 0, 2543 | 0, 2544 | 1, 2545 | 1, 2546 | 1, 2547 | 1, 2548 | 1, 2549 | 1, 2550 | 1, 2551 | 1, 2552 | 1, 2553 | 1, 2554 | 1, 2555 | 1, 2556 | 1, 2557 | 1, 2558 | 1, 2559 | 1, 2560 | 1, 2561 | 1, 2562 | 1, 2563 | 1, 2564 | 1, 2565 | 1, 2566 | 1, 2567 | 1, 2568 | 1, 2569 | 1, 2570 | 1, 2571 | 1, 2572 | 1, 2573 | 1, 2574 | 1, 2575 | 1, 2576 | 1, 2577 | 1, 2578 | 1, 2579 | 1, 2580 | 1, 2581 | 1, 2582 | 1, 2583 | 1, 2584 | 1, 2585 | 1, 2586 | 1, 2587 | 1, 2588 | 0, 2589 | 0, 2590 | 0, 2591 | 0, 2592 | 0, 2593 | 0, 2594 | 1, 2595 | 1, 2596 | 1, 2597 | 1, 2598 | 0, 2599 | 0, 2600 | 0, 2601 | 0, 2602 | 0, 2603 | 1, 2604 | 1, 2605 | 1, 2606 | 1, 2607 | 1, 2608 | 1, 2609 | 1, 2610 | 1, 2611 | 1, 2612 | 1, 2613 | 1, 2614 | 1, 2615 | 1, 2616 | 1, 2617 | 1, 2618 | 1, 2619 | 1, 2620 | 1, 2621 | 1, 2622 | 1, 2623 | 1, 2624 | 1, 2625 | 1, 2626 | 1, 2627 | 1, 2628 | 1, 2629 | 1, 2630 | 1, 2631 | 1, 2632 | 1, 2633 | 1, 2634 | 1, 2635 | 1, 2636 | 1, 2637 | 1, 2638 | 1, 2639 | 1, 2640 | 1, 2641 | 1, 2642 | 1, 2643 | 1, 2644 | 1, 2645 | 1, 2646 | 1, 2647 | 1, 2648 | 0, 2649 | 0, 2650 | 0, 2651 | 0, 2652 | 0, 2653 | 0, 2654 | 0, 2655 | 0, 2656 | 0, 2657 | 0, 2658 | 0, 2659 | 0, 2660 | 0, 2661 | 0, 2662 | 1, 2663 | 1, 2664 | 1, 2665 | 1, 2666 | 1, 2667 | 1, 2668 | 1, 2669 | 1, 2670 | 1, 2671 | 1, 2672 | 1, 2673 | 1, 2674 | 1, 2675 | 1, 2676 | 1, 2677 | 1, 2678 | 1, 2679 | 1, 2680 | 1, 2681 | 1, 2682 | 1, 2683 | 1, 2684 | 1, 2685 | 1, 2686 | 1, 2687 | 1, 2688 | 1, 2689 | 1, 2690 | 1, 2691 | 1, 2692 | 1, 2693 | 1, 2694 | 1, 2695 | 1, 2696 | 1, 2697 | 1, 2698 | 1, 2699 | 1, 2700 | 1, 2701 | 1, 2702 | 1, 2703 | 1, 2704 | 1, 2705 | 1, 2706 | 1, 2707 | 1, 2708 | 1, 2709 | 0, 2710 | 0, 2711 | 0, 2712 | 0, 2713 | 0, 2714 | 0, 2715 | 0, 2716 | 0, 2717 | 0, 2718 | 0, 2719 | 0, 2720 | 0, 2721 | 1, 2722 | 1, 2723 | 1, 2724 | 1, 2725 | 1, 2726 | 1, 2727 | 1, 2728 | 1, 2729 | 1, 2730 | 1, 2731 | 1, 2732 | 1, 2733 | 1, 2734 | 1, 2735 | 1, 2736 | 1, 2737 | 1, 2738 | 1, 2739 | 1, 2740 | 1, 2741 | 1, 2742 | 1, 2743 | 1, 2744 | 1, 2745 | 1, 2746 | 1, 2747 | 1, 2748 | 1, 2749 | 1, 2750 | 1, 2751 | 1, 2752 | 1, 2753 | 1, 2754 | 1, 2755 | 1, 2756 | 1, 2757 | 1, 2758 | 1, 2759 | 1, 2760 | 1, 2761 | 1, 2762 | 1, 2763 | 1, 2764 | 1, 2765 | 1, 2766 | 1, 2767 | 1, 2768 | 1, 2769 | 0, 2770 | 0, 2771 | 0, 2772 | 0, 2773 | 0, 2774 | 0, 2775 | 0, 2776 | 0, 2777 | 0, 2778 | 0, 2779 | 1, 2780 | 1, 2781 | 1, 2782 | 1, 2783 | 1, 2784 | 1, 2785 | 1, 2786 | 1, 2787 | 1, 2788 | 1, 2789 | 1, 2790 | 1, 2791 | 1, 2792 | 1, 2793 | 1, 2794 | 1, 2795 | 1, 2796 | 1, 2797 | 1, 2798 | 1, 2799 | 1, 2800 | 1, 2801 | 1, 2802 | 1, 2803 | 1, 2804 | 1, 2805 | 1, 2806 | 1, 2807 | 1, 2808 | 1, 2809 | 1, 2810 | 1, 2811 | 1, 2812 | 1, 2813 | 1, 2814 | 1, 2815 | 1, 2816 | 1, 2817 | 1, 2818 | 1, 2819 | 1, 2820 | 1, 2821 | 1, 2822 | 1, 2823 | 1, 2824 | 1, 2825 | 1, 2826 | 1, 2827 | 1, 2828 | 1, 2829 | 1, 2830 | 1, 2831 | 0, 2832 | 0, 2833 | 0, 2834 | 0, 2835 | 0, 2836 | 0, 2837 | 1, 2838 | 1, 2839 | 1, 2840 | 1, 2841 | 1, 2842 | 1, 2843 | 1, 2844 | 1, 2845 | 1, 2846 | 1, 2847 | 1, 2848 | 1, 2849 | 1, 2850 | 1, 2851 | 1, 2852 | 1, 2853 | 1, 2854 | 1, 2855 | 1, 2856 | 1, 2857 | 1, 2858 | 1, 2859 | 1, 2860 | 1, 2861 | 1, 2862 | 1, 2863 | 1, 2864 | 1, 2865 | 1, 2866 | 1, 2867 | 1, 2868 | 1, 2869 | 1, 2870 | 1, 2871 | 1, 2872 | 1, 2873 | 1, 2874 | 1, 2875 | 1, 2876 | 1, 2877 | 1, 2878 | 1, 2879 | 1, 2880 | 1, 2881 | 1, 2882 | 1, 2883 | 1, 2884 | 1, 2885 | 1, 2886 | 1, 2887 | 1, 2888 | 1, 2889 | 1, 2890 | 1, 2891 | 1, 2892 | 1, 2893 | 1, 2894 | 1, 2895 | 1, 2896 | 1, 2897 | 1, 2898 | 1, 2899 | 1, 2900 | 1, 2901 | 1, 2902 | 1, 2903 | 1, 2904 | 1, 2905 | 1, 2906 | 1, 2907 | 1, 2908 | 1, 2909 | 1, 2910 | 1, 2911 | 1, 2912 | 1, 2913 | 1, 2914 | 1, 2915 | 1, 2916 | 1, 2917 | 1, 2918 | 1, 2919 | 1, 2920 | 1, 2921 | 1, 2922 | 1, 2923 | 1, 2924 | 1, 2925 | 1, 2926 | 1, 2927 | 1, 2928 | 1, 2929 | 1, 2930 | 1, 2931 | 1, 2932 | 1, 2933 | 1, 2934 | 1, 2935 | 1, 2936 | 1, 2937 | 1, 2938 | 1, 2939 | 1, 2940 | 1, 2941 | 1, 2942 | 1, 2943 | 1, 2944 | 1, 2945 | 1, 2946 | 1, 2947 | 1, 2948 | 1, 2949 | 1, 2950 | 1, 2951 | 1, 2952 | 1, 2953 | 1, 2954 | 1, 2955 | 1, 2956 | 1, 2957 | 1, 2958 | 1, 2959 | 1, 2960 | 1, 2961 | 1, 2962 | 1, 2963 | 1, 2964 | 1, 2965 | 1, 2966 | 1, 2967 | 1, 2968 | 1, 2969 | 1, 2970 | 1, 2971 | 1, 2972 | 1, 2973 | 1, 2974 | 1, 2975 | 1, 2976 | 1, 2977 | 1, 2978 | 1, 2979 | 1, 2980 | 1, 2981 | 1, 2982 | 1, 2983 | 1, 2984 | 1, 2985 | 1, 2986 | 1, 2987 | 1, 2988 | 1, 2989 | 1, 2990 | 1, 2991 | 1, 2992 | 1, 2993 | 1, 2994 | 1, 2995 | 1, 2996 | 1, 2997 | 1, 2998 | 1, 2999 | 1, 3000 | 1, 3001 | 1, 3002 | 1, 3003 | 1, 3004 | 1, 3005 | 1, 3006 | 1, 3007 | 1, 3008 | 1, 3009 | 1, 3010 | 1, 3011 | 1, 3012 | 1, 3013 | 1, 3014 | 1, 3015 | 1, 3016 | 1, 3017 | 1, 3018 | 1, 3019 | 1, 3020 | 1, 3021 | 1, 3022 | 1, 3023 | 1, 3024 | 1, 3025 | 1, 3026 | 1, 3027 | 1, 3028 | 1, 3029 | 1, 3030 | 1, 3031 | 1, 3032 | 1, 3033 | 1, 3034 | 1, 3035 | 1, 3036 | 1, 3037 | 1, 3038 | 1, 3039 | 1, 3040 | 1, 3041 | 1, 3042 | 1, 3043 | 1, 3044 | 1, 3045 | 1, 3046 | 1, 3047 | 1, 3048 | 1, 3049 | 1, 3050 | 1, 3051 | 1, 3052 | 1, 3053 | 1, 3054 | 1, 3055 | 1, 3056 | 1, 3057 | 1, 3058 | 1, 3059 | 1, 3060 | 1, 3061 | 1, 3062 | 1, 3063 | 1, 3064 | 1, 3065 | 1, 3066 | 1, 3067 | 1, 3068 | 1, 3069 | 1, 3070 | 1, 3071 | 1, 3072 | 1, 3073 | 1, 3074 | 1, 3075 | 1, 3076 | 1, 3077 | 1, 3078 | 1, 3079 | 1, 3080 | 1, 3081 | 1, 3082 | 1, 3083 | 1, 3084 | 1, 3085 | 1, 3086 | 1, 3087 | 1, 3088 | 1, 3089 | 1, 3090 | 1, 3091 | 1, 3092 | 1, 3093 | 1, 3094 | 1, 3095 | 1, 3096 | 1, 3097 | 1, 3098 | 1, 3099 | 1, 3100 | 1, 3101 | 1, 3102 | 1, 3103 | 1, 3104 | 1, 3105 | 1, 3106 | 1, 3107 | 1, 3108 | 1, 3109 | 1, 3110 | 1, 3111 | 1, 3112 | 1, 3113 | 1, 3114 | 1, 3115 | 1, 3116 | 1, 3117 | 1, 3118 | 1, 3119 | 1, 3120 | 1, 3121 | 1, 3122 | 1, 3123 | 1, 3124 | 1, 3125 | 1, 3126 | 1, 3127 | 1, 3128 | 1, 3129 | 1, 3130 | 1, 3131 | 1, 3132 | 1, 3133 | 1, 3134 | 1, 3135 | 1, 3136 | 1, 3137 | 1, 3138 | 1, 3139 | 1, 3140 | 1, 3141 | 1, 3142 | 1, 3143 | 1, 3144 | 1, 3145 | 1, 3146 | 1, 3147 | 1, 3148 | 1, 3149 | 1, 3150 | 1, 3151 | 1, 3152 | 1, 3153 | 1, 3154 | 1, 3155 | 1, 3156 | 1, 3157 | 1, 3158 | 1, 3159 | 1, 3160 | 1, 3161 | 1, 3162 | 1, 3163 | 1, 3164 | 1, 3165 | 1, 3166 | 1, 3167 | 1, 3168 | 1, 3169 | 1, 3170 | 1, 3171 | 1, 3172 | 1, 3173 | 1, 3174 | 1, 3175 | 1, 3176 | 1, 3177 | 1, 3178 | 1, 3179 | 1, 3180 | 1, 3181 | 1, 3182 | 1, 3183 | 1, 3184 | 1, 3185 | 1, 3186 | 1, 3187 | 1, 3188 | 1, 3189 | 1, 3190 | 1, 3191 | 1, 3192 | 1, 3193 | 1, 3194 | 1, 3195 | 1, 3196 | 1, 3197 | 1, 3198 | 1, 3199 | 1, 3200 | 1, 3201 | 1, 3202 | 1, 3203 | 1, 3204 | 1, 3205 | 1, 3206 | 1, 3207 | 1, 3208 | 1, 3209 | 1, 3210 | 1, 3211 | 1, 3212 | 1, 3213 | 1, 3214 | 1, 3215 | 1, 3216 | 1, 3217 | 1, 3218 | 1, 3219 | 1, 3220 | 1, 3221 | 1, 3222 | 1, 3223 | 1, 3224 | 1, 3225 | 1, 3226 | 1, 3227 | 1, 3228 | 1, 3229 | 1, 3230 | 1, 3231 | 1, 3232 | 1, 3233 | 1, 3234 | 1, 3235 | 1, 3236 | 1, 3237 | 1, 3238 | 1, 3239 | 1, 3240 | 1, 3241 | 1, 3242 | 1, 3243 | 1, 3244 | 1, 3245 | 1, 3246 | 1, 3247 | 1, 3248 | 1, 3249 | 1, 3250 | 1, 3251 | 1, 3252 | 1, 3253 | 1, 3254 | 1, 3255 | 1, 3256 | 1, 3257 | 1, 3258 | 1, 3259 | 1, 3260 | 1, 3261 | 1, 3262 | 1, 3263 | 1, 3264 | 1, 3265 | 1, 3266 | 1, 3267 | 1, 3268 | 1, 3269 | 1, 3270 | 1, 3271 | 1, 3272 | 1, 3273 | 1, 3274 | 1, 3275 | 1, 3276 | 1, 3277 | 1, 3278 | 1, 3279 | 1, 3280 | 1, 3281 | 1, 3282 | 1, 3283 | 1, 3284 | 1, 3285 | 1, 3286 | 1, 3287 | 1, 3288 | 1, 3289 | 1, 3290 | 1, 3291 | 1, 3292 | 1, 3293 | 1, 3294 | 1, 3295 | 1, 3296 | 1, 3297 | 1, 3298 | 1, 3299 | 1, 3300 | 1, 3301 | 1, 3302 | 1, 3303 | 1, 3304 | 1, 3305 | 1, 3306 | 1, 3307 | 1, 3308 | 1, 3309 | 1, 3310 | 1, 3311 | 1, 3312 | 1, 3313 | 1, 3314 | 1, 3315 | 1, 3316 | 1, 3317 | 1, 3318 | 1, 3319 | 1, 3320 | 1, 3321 | 1, 3322 | 1, 3323 | 1, 3324 | 1, 3325 | 1, 3326 | 1, 3327 | 1, 3328 | 1, 3329 | 1, 3330 | 1, 3331 | 1, 3332 | 1, 3333 | 1, 3334 | 1, 3335 | 1, 3336 | 1, 3337 | 1, 3338 | 1, 3339 | 1, 3340 | 1, 3341 | 1, 3342 | 1, 3343 | 1, 3344 | 1, 3345 | 1, 3346 | 1, 3347 | 1, 3348 | 1, 3349 | 1, 3350 | 1, 3351 | 1, 3352 | 1, 3353 | 1, 3354 | 1, 3355 | 1, 3356 | 1, 3357 | 1, 3358 | 1, 3359 | 1, 3360 | 1, 3361 | 1, 3362 | 1, 3363 | 1, 3364 | 1, 3365 | 1, 3366 | 1, 3367 | 1, 3368 | 1, 3369 | 1, 3370 | 1, 3371 | 1, 3372 | 1, 3373 | 1, 3374 | 1, 3375 | 1, 3376 | 1, 3377 | 1, 3378 | 1, 3379 | 1, 3380 | 1, 3381 | 1, 3382 | 1, 3383 | 1, 3384 | 1, 3385 | 1, 3386 | 1, 3387 | 1, 3388 | 1, 3389 | 1, 3390 | 1, 3391 | 1, 3392 | 1, 3393 | 1, 3394 | 1, 3395 | 1, 3396 | 1, 3397 | 1, 3398 | 1, 3399 | 1, 3400 | 1, 3401 | 1, 3402 | 1, 3403 | 1, 3404 | 1, 3405 | 1, 3406 | 1, 3407 | 1, 3408 | 1, 3409 | 1, 3410 | 1, 3411 | 1, 3412 | 1, 3413 | 1, 3414 | 1, 3415 | 1, 3416 | 1, 3417 | 1, 3418 | 1, 3419 | 1, 3420 | 1, 3421 | 1, 3422 | 1, 3423 | 1, 3424 | 1, 3425 | 1, 3426 | 1, 3427 | 1, 3428 | 1, 3429 | 1, 3430 | 1, 3431 | 1, 3432 | 1, 3433 | 1, 3434 | 1, 3435 | 1, 3436 | 1, 3437 | 1, 3438 | 1, 3439 | 1, 3440 | 1, 3441 | 1, 3442 | 1, 3443 | 1, 3444 | 1, 3445 | 1, 3446 | 1, 3447 | 1, 3448 | 1, 3449 | 1, 3450 | 1, 3451 | 1, 3452 | 1, 3453 | 1, 3454 | 1, 3455 | 1, 3456 | 1, 3457 | 1, 3458 | 1, 3459 | 1, 3460 | 1, 3461 | 1, 3462 | 1, 3463 | 1, 3464 | 1, 3465 | 1, 3466 | 1, 3467 | 1, 3468 | 1, 3469 | 1, 3470 | 1, 3471 | 1, 3472 | 1, 3473 | 1, 3474 | 1, 3475 | 1, 3476 | 1, 3477 | 1, 3478 | 1, 3479 | 1, 3480 | 1, 3481 | 1, 3482 | 1, 3483 | 1, 3484 | 1, 3485 | 1, 3486 | 1, 3487 | 1, 3488 | 1, 3489 | 1, 3490 | 1, 3491 | 1, 3492 | 1, 3493 | 1, 3494 | 1, 3495 | 1, 3496 | 1, 3497 | 1, 3498 | 1, 3499 | 1, 3500 | 1, 3501 | 1, 3502 | 1, 3503 | 1, 3504 | 1, 3505 | 1, 3506 | 1, 3507 | 1, 3508 | 1, 3509 | 1, 3510 | 1, 3511 | 1, 3512 | 1, 3513 | 1, 3514 | 1, 3515 | 1, 3516 | 1, 3517 | 1, 3518 | 1, 3519 | 1, 3520 | 1, 3521 | 1, 3522 | 1, 3523 | 1, 3524 | 1, 3525 | 1, 3526 | 1, 3527 | 1, 3528 | 1, 3529 | 1, 3530 | 1, 3531 | 1, 3532 | 1, 3533 | 1, 3534 | 1, 3535 | 1, 3536 | 1, 3537 | 1, 3538 | 1, 3539 | 1, 3540 | 1, 3541 | 1, 3542 | 1, 3543 | 1, 3544 | 1, 3545 | 1, 3546 | 1, 3547 | 1, 3548 | 1, 3549 | 1, 3550 | 1, 3551 | 1, 3552 | 1, 3553 | 1, 3554 | 1, 3555 | 1, 3556 | 1, 3557 | 1, 3558 | 1, 3559 | 1, 3560 | 1, 3561 | 1, 3562 | 1, 3563 | 1, 3564 | 1, 3565 | 1, 3566 | 1, 3567 | 1, 3568 | 1, 3569 | 1, 3570 | 1, 3571 | 1, 3572 | 1, 3573 | 1, 3574 | 1, 3575 | 1, 3576 | 1, 3577 | 1, 3578 | 1, 3579 | 1, 3580 | 1, 3581 | 1, 3582 | 1, 3583 | 1, 3584 | 1, 3585 | 1, 3586 | 1, 3587 | 1, 3588 | 1, 3589 | 1, 3590 | 1, 3591 | 1, 3592 | 1, 3593 | 1, 3594 | 1, 3595 | 1, 3596 | 1, 3597 | 1, 3598 | 1, 3599 | 1, 3600 | 1, 3601 | 1, 3602 | 1, 3603 | ; -------------------------------------------------------------------------------- /images/0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tinylic/ASIC-FPGA-tetris/d6e5226dd147fddc03502d10e4851ef89cbcf07a/images/0.png -------------------------------------------------------------------------------- /images/1.coe: -------------------------------------------------------------------------------- 1 | memory_initialization_radix=2; 2 | memory_initialization_vector = 3 | 1, 4 | 1, 5 | 1, 6 | 1, 7 | 1, 8 | 1, 9 | 1, 10 | 1, 11 | 1, 12 | 1, 13 | 1, 14 | 1, 15 | 1, 16 | 1, 17 | 1, 18 | 1, 19 | 1, 20 | 1, 21 | 1, 22 | 1, 23 | 1, 24 | 1, 25 | 1, 26 | 1, 27 | 1, 28 | 1, 29 | 1, 30 | 1, 31 | 1, 32 | 1, 33 | 1, 34 | 1, 35 | 1, 36 | 1, 37 | 1, 38 | 1, 39 | 1, 40 | 1, 41 | 1, 42 | 1, 43 | 1, 44 | 1, 45 | 1, 46 | 1, 47 | 1, 48 | 1, 49 | 1, 50 | 1, 51 | 1, 52 | 1, 53 | 1, 54 | 1, 55 | 1, 56 | 1, 57 | 1, 58 | 1, 59 | 1, 60 | 1, 61 | 1, 62 | 1, 63 | 1, 64 | 1, 65 | 1, 66 | 1, 67 | 1, 68 | 1, 69 | 1, 70 | 1, 71 | 1, 72 | 1, 73 | 1, 74 | 1, 75 | 1, 76 | 1, 77 | 1, 78 | 1, 79 | 1, 80 | 1, 81 | 1, 82 | 1, 83 | 1, 84 | 1, 85 | 1, 86 | 1, 87 | 1, 88 | 1, 89 | 1, 90 | 1, 91 | 1, 92 | 1, 93 | 1, 94 | 1, 95 | 1, 96 | 1, 97 | 1, 98 | 1, 99 | 1, 100 | 1, 101 | 1, 102 | 1, 103 | 1, 104 | 1, 105 | 1, 106 | 1, 107 | 1, 108 | 1, 109 | 1, 110 | 1, 111 | 1, 112 | 1, 113 | 1, 114 | 1, 115 | 1, 116 | 1, 117 | 1, 118 | 1, 119 | 1, 120 | 1, 121 | 1, 122 | 1, 123 | 1, 124 | 1, 125 | 1, 126 | 1, 127 | 1, 128 | 1, 129 | 1, 130 | 1, 131 | 1, 132 | 1, 133 | 1, 134 | 1, 135 | 1, 136 | 1, 137 | 1, 138 | 1, 139 | 1, 140 | 1, 141 | 1, 142 | 1, 143 | 1, 144 | 1, 145 | 1, 146 | 1, 147 | 1, 148 | 1, 149 | 1, 150 | 1, 151 | 1, 152 | 1, 153 | 1, 154 | 1, 155 | 1, 156 | 1, 157 | 1, 158 | 1, 159 | 1, 160 | 1, 161 | 1, 162 | 1, 163 | 1, 164 | 1, 165 | 1, 166 | 1, 167 | 1, 168 | 1, 169 | 1, 170 | 1, 171 | 1, 172 | 1, 173 | 1, 174 | 1, 175 | 1, 176 | 1, 177 | 1, 178 | 1, 179 | 1, 180 | 1, 181 | 1, 182 | 1, 183 | 1, 184 | 1, 185 | 1, 186 | 1, 187 | 1, 188 | 1, 189 | 1, 190 | 1, 191 | 1, 192 | 1, 193 | 1, 194 | 1, 195 | 1, 196 | 1, 197 | 1, 198 | 1, 199 | 1, 200 | 1, 201 | 1, 202 | 1, 203 | 1, 204 | 1, 205 | 1, 206 | 1, 207 | 1, 208 | 1, 209 | 1, 210 | 1, 211 | 1, 212 | 1, 213 | 1, 214 | 1, 215 | 1, 216 | 1, 217 | 1, 218 | 1, 219 | 1, 220 | 1, 221 | 1, 222 | 1, 223 | 1, 224 | 1, 225 | 1, 226 | 1, 227 | 1, 228 | 1, 229 | 1, 230 | 1, 231 | 1, 232 | 1, 233 | 1, 234 | 1, 235 | 1, 236 | 1, 237 | 1, 238 | 1, 239 | 1, 240 | 1, 241 | 1, 242 | 1, 243 | 1, 244 | 1, 245 | 1, 246 | 1, 247 | 1, 248 | 1, 249 | 1, 250 | 1, 251 | 1, 252 | 1, 253 | 1, 254 | 1, 255 | 1, 256 | 1, 257 | 1, 258 | 1, 259 | 1, 260 | 1, 261 | 1, 262 | 1, 263 | 1, 264 | 1, 265 | 1, 266 | 1, 267 | 1, 268 | 1, 269 | 1, 270 | 1, 271 | 1, 272 | 1, 273 | 1, 274 | 1, 275 | 1, 276 | 1, 277 | 1, 278 | 1, 279 | 1, 280 | 1, 281 | 1, 282 | 1, 283 | 1, 284 | 1, 285 | 1, 286 | 1, 287 | 1, 288 | 1, 289 | 1, 290 | 1, 291 | 1, 292 | 1, 293 | 1, 294 | 1, 295 | 1, 296 | 1, 297 | 1, 298 | 1, 299 | 1, 300 | 1, 301 | 1, 302 | 1, 303 | 1, 304 | 1, 305 | 1, 306 | 1, 307 | 1, 308 | 1, 309 | 1, 310 | 1, 311 | 1, 312 | 1, 313 | 1, 314 | 1, 315 | 1, 316 | 1, 317 | 1, 318 | 1, 319 | 1, 320 | 1, 321 | 1, 322 | 1, 323 | 1, 324 | 1, 325 | 1, 326 | 1, 327 | 1, 328 | 1, 329 | 1, 330 | 1, 331 | 1, 332 | 1, 333 | 1, 334 | 1, 335 | 1, 336 | 1, 337 | 1, 338 | 1, 339 | 1, 340 | 1, 341 | 1, 342 | 1, 343 | 1, 344 | 1, 345 | 1, 346 | 1, 347 | 1, 348 | 1, 349 | 1, 350 | 1, 351 | 1, 352 | 1, 353 | 1, 354 | 1, 355 | 1, 356 | 1, 357 | 1, 358 | 1, 359 | 1, 360 | 1, 361 | 1, 362 | 1, 363 | 1, 364 | 1, 365 | 1, 366 | 1, 367 | 1, 368 | 1, 369 | 1, 370 | 1, 371 | 1, 372 | 1, 373 | 1, 374 | 1, 375 | 1, 376 | 1, 377 | 1, 378 | 1, 379 | 1, 380 | 1, 381 | 1, 382 | 1, 383 | 1, 384 | 1, 385 | 1, 386 | 1, 387 | 1, 388 | 1, 389 | 1, 390 | 1, 391 | 1, 392 | 1, 393 | 1, 394 | 1, 395 | 1, 396 | 1, 397 | 1, 398 | 1, 399 | 1, 400 | 1, 401 | 1, 402 | 1, 403 | 1, 404 | 1, 405 | 1, 406 | 1, 407 | 1, 408 | 1, 409 | 1, 410 | 1, 411 | 1, 412 | 1, 413 | 1, 414 | 1, 415 | 1, 416 | 1, 417 | 1, 418 | 1, 419 | 1, 420 | 1, 421 | 1, 422 | 1, 423 | 1, 424 | 1, 425 | 1, 426 | 1, 427 | 1, 428 | 1, 429 | 1, 430 | 1, 431 | 1, 432 | 1, 433 | 1, 434 | 1, 435 | 1, 436 | 1, 437 | 1, 438 | 1, 439 | 1, 440 | 1, 441 | 1, 442 | 1, 443 | 1, 444 | 1, 445 | 1, 446 | 1, 447 | 1, 448 | 1, 449 | 1, 450 | 1, 451 | 1, 452 | 1, 453 | 1, 454 | 1, 455 | 1, 456 | 1, 457 | 1, 458 | 1, 459 | 1, 460 | 1, 461 | 1, 462 | 1, 463 | 1, 464 | 1, 465 | 1, 466 | 1, 467 | 1, 468 | 1, 469 | 1, 470 | 1, 471 | 1, 472 | 1, 473 | 1, 474 | 1, 475 | 1, 476 | 1, 477 | 1, 478 | 1, 479 | 1, 480 | 1, 481 | 1, 482 | 1, 483 | 1, 484 | 1, 485 | 1, 486 | 1, 487 | 1, 488 | 1, 489 | 1, 490 | 1, 491 | 1, 492 | 1, 493 | 1, 494 | 1, 495 | 1, 496 | 1, 497 | 1, 498 | 1, 499 | 1, 500 | 1, 501 | 1, 502 | 1, 503 | 1, 504 | 1, 505 | 1, 506 | 1, 507 | 1, 508 | 1, 509 | 1, 510 | 1, 511 | 1, 512 | 1, 513 | 1, 514 | 1, 515 | 1, 516 | 1, 517 | 1, 518 | 1, 519 | 1, 520 | 1, 521 | 1, 522 | 1, 523 | 1, 524 | 1, 525 | 1, 526 | 1, 527 | 1, 528 | 1, 529 | 1, 530 | 1, 531 | 1, 532 | 1, 533 | 1, 534 | 1, 535 | 1, 536 | 1, 537 | 1, 538 | 1, 539 | 1, 540 | 1, 541 | 1, 542 | 1, 543 | 1, 544 | 1, 545 | 1, 546 | 1, 547 | 1, 548 | 1, 549 | 1, 550 | 1, 551 | 1, 552 | 1, 553 | 1, 554 | 1, 555 | 1, 556 | 1, 557 | 1, 558 | 1, 559 | 1, 560 | 1, 561 | 1, 562 | 1, 563 | 1, 564 | 1, 565 | 1, 566 | 1, 567 | 1, 568 | 1, 569 | 1, 570 | 1, 571 | 1, 572 | 1, 573 | 1, 574 | 1, 575 | 1, 576 | 1, 577 | 1, 578 | 1, 579 | 1, 580 | 1, 581 | 1, 582 | 1, 583 | 1, 584 | 1, 585 | 1, 586 | 1, 587 | 1, 588 | 1, 589 | 1, 590 | 1, 591 | 1, 592 | 1, 593 | 1, 594 | 1, 595 | 1, 596 | 1, 597 | 1, 598 | 1, 599 | 1, 600 | 1, 601 | 1, 602 | 1, 603 | 1, 604 | 1, 605 | 1, 606 | 1, 607 | 1, 608 | 1, 609 | 1, 610 | 1, 611 | 1, 612 | 1, 613 | 1, 614 | 1, 615 | 1, 616 | 1, 617 | 1, 618 | 1, 619 | 1, 620 | 1, 621 | 1, 622 | 1, 623 | 1, 624 | 1, 625 | 1, 626 | 1, 627 | 1, 628 | 1, 629 | 1, 630 | 1, 631 | 1, 632 | 1, 633 | 1, 634 | 1, 635 | 1, 636 | 1, 637 | 1, 638 | 1, 639 | 1, 640 | 1, 641 | 1, 642 | 1, 643 | 1, 644 | 1, 645 | 1, 646 | 1, 647 | 1, 648 | 1, 649 | 1, 650 | 1, 651 | 1, 652 | 1, 653 | 1, 654 | 1, 655 | 1, 656 | 1, 657 | 1, 658 | 1, 659 | 1, 660 | 1, 661 | 1, 662 | 1, 663 | 1, 664 | 1, 665 | 1, 666 | 1, 667 | 1, 668 | 1, 669 | 1, 670 | 1, 671 | 1, 672 | 1, 673 | 1, 674 | 1, 675 | 1, 676 | 1, 677 | 1, 678 | 1, 679 | 1, 680 | 1, 681 | 1, 682 | 1, 683 | 1, 684 | 1, 685 | 1, 686 | 1, 687 | 1, 688 | 1, 689 | 1, 690 | 1, 691 | 1, 692 | 1, 693 | 1, 694 | 1, 695 | 1, 696 | 1, 697 | 1, 698 | 1, 699 | 1, 700 | 1, 701 | 1, 702 | 1, 703 | 1, 704 | 1, 705 | 1, 706 | 1, 707 | 1, 708 | 1, 709 | 1, 710 | 1, 711 | 1, 712 | 1, 713 | 1, 714 | 1, 715 | 1, 716 | 1, 717 | 1, 718 | 1, 719 | 1, 720 | 1, 721 | 1, 722 | 1, 723 | 1, 724 | 1, 725 | 1, 726 | 1, 727 | 1, 728 | 1, 729 | 1, 730 | 1, 731 | 1, 732 | 1, 733 | 1, 734 | 1, 735 | 1, 736 | 1, 737 | 1, 738 | 1, 739 | 1, 740 | 1, 741 | 1, 742 | 1, 743 | 1, 744 | 1, 745 | 1, 746 | 1, 747 | 1, 748 | 1, 749 | 1, 750 | 1, 751 | 1, 752 | 1, 753 | 1, 754 | 1, 755 | 1, 756 | 1, 757 | 1, 758 | 1, 759 | 1, 760 | 1, 761 | 1, 762 | 1, 763 | 1, 764 | 1, 765 | 1, 766 | 1, 767 | 1, 768 | 1, 769 | 1, 770 | 1, 771 | 1, 772 | 1, 773 | 1, 774 | 1, 775 | 1, 776 | 1, 777 | 1, 778 | 1, 779 | 1, 780 | 1, 781 | 1, 782 | 1, 783 | 1, 784 | 1, 785 | 1, 786 | 1, 787 | 1, 788 | 1, 789 | 1, 790 | 1, 791 | 1, 792 | 1, 793 | 1, 794 | 1, 795 | 1, 796 | 1, 797 | 1, 798 | 1, 799 | 1, 800 | 1, 801 | 1, 802 | 1, 803 | 1, 804 | 1, 805 | 1, 806 | 1, 807 | 1, 808 | 1, 809 | 1, 810 | 1, 811 | 1, 812 | 1, 813 | 1, 814 | 1, 815 | 1, 816 | 1, 817 | 1, 818 | 1, 819 | 1, 820 | 1, 821 | 1, 822 | 1, 823 | 1, 824 | 1, 825 | 1, 826 | 1, 827 | 1, 828 | 1, 829 | 1, 830 | 1, 831 | 1, 832 | 1, 833 | 1, 834 | 1, 835 | 1, 836 | 1, 837 | 1, 838 | 1, 839 | 1, 840 | 1, 841 | 1, 842 | 1, 843 | 1, 844 | 1, 845 | 1, 846 | 1, 847 | 1, 848 | 1, 849 | 1, 850 | 1, 851 | 1, 852 | 1, 853 | 1, 854 | 1, 855 | 1, 856 | 1, 857 | 1, 858 | 1, 859 | 1, 860 | 1, 861 | 1, 862 | 1, 863 | 1, 864 | 1, 865 | 1, 866 | 1, 867 | 1, 868 | 1, 869 | 1, 870 | 1, 871 | 1, 872 | 1, 873 | 1, 874 | 1, 875 | 1, 876 | 1, 877 | 1, 878 | 1, 879 | 1, 880 | 1, 881 | 1, 882 | 1, 883 | 1, 884 | 1, 885 | 1, 886 | 1, 887 | 1, 888 | 1, 889 | 1, 890 | 1, 891 | 1, 892 | 1, 893 | 1, 894 | 1, 895 | 1, 896 | 1, 897 | 1, 898 | 1, 899 | 1, 900 | 1, 901 | 1, 902 | 1, 903 | 1, 904 | 1, 905 | 1, 906 | 1, 907 | 1, 908 | 1, 909 | 1, 910 | 1, 911 | 1, 912 | 1, 913 | 1, 914 | 1, 915 | 1, 916 | 1, 917 | 1, 918 | 1, 919 | 1, 920 | 1, 921 | 1, 922 | 1, 923 | 1, 924 | 1, 925 | 1, 926 | 1, 927 | 1, 928 | 1, 929 | 1, 930 | 1, 931 | 1, 932 | 1, 933 | 1, 934 | 1, 935 | 1, 936 | 1, 937 | 1, 938 | 1, 939 | 1, 940 | 1, 941 | 1, 942 | 1, 943 | 1, 944 | 1, 945 | 1, 946 | 1, 947 | 1, 948 | 1, 949 | 1, 950 | 1, 951 | 1, 952 | 1, 953 | 1, 954 | 1, 955 | 1, 956 | 1, 957 | 1, 958 | 1, 959 | 1, 960 | 1, 961 | 1, 962 | 1, 963 | 1, 964 | 1, 965 | 1, 966 | 1, 967 | 1, 968 | 1, 969 | 1, 970 | 1, 971 | 1, 972 | 1, 973 | 1, 974 | 1, 975 | 1, 976 | 1, 977 | 1, 978 | 1, 979 | 1, 980 | 1, 981 | 1, 982 | 1, 983 | 1, 984 | 1, 985 | 1, 986 | 1, 987 | 1, 988 | 1, 989 | 1, 990 | 1, 991 | 1, 992 | 1, 993 | 1, 994 | 1, 995 | 1, 996 | 1, 997 | 1, 998 | 1, 999 | 1, 1000 | 1, 1001 | 1, 1002 | 1, 1003 | 1, 1004 | 1, 1005 | 1, 1006 | 1, 1007 | 1, 1008 | 1, 1009 | 1, 1010 | 1, 1011 | 1, 1012 | 1, 1013 | 1, 1014 | 1, 1015 | 1, 1016 | 1, 1017 | 1, 1018 | 1, 1019 | 1, 1020 | 1, 1021 | 1, 1022 | 1, 1023 | 1, 1024 | 1, 1025 | 1, 1026 | 1, 1027 | 1, 1028 | 1, 1029 | 1, 1030 | 1, 1031 | 1, 1032 | 1, 1033 | 1, 1034 | 1, 1035 | 1, 1036 | 1, 1037 | 1, 1038 | 1, 1039 | 1, 1040 | 1, 1041 | 1, 1042 | 1, 1043 | 1, 1044 | 1, 1045 | 1, 1046 | 1, 1047 | 1, 1048 | 1, 1049 | 1, 1050 | 1, 1051 | 1, 1052 | 1, 1053 | 1, 1054 | 1, 1055 | 1, 1056 | 1, 1057 | 1, 1058 | 1, 1059 | 1, 1060 | 1, 1061 | 1, 1062 | 1, 1063 | 1, 1064 | 1, 1065 | 1, 1066 | 1, 1067 | 1, 1068 | 1, 1069 | 1, 1070 | 1, 1071 | 1, 1072 | 1, 1073 | 1, 1074 | 1, 1075 | 1, 1076 | 1, 1077 | 1, 1078 | 1, 1079 | 1, 1080 | 1, 1081 | 1, 1082 | 1, 1083 | 1, 1084 | 1, 1085 | 1, 1086 | 1, 1087 | 1, 1088 | 1, 1089 | 1, 1090 | 1, 1091 | 1, 1092 | 1, 1093 | 1, 1094 | 1, 1095 | 1, 1096 | 1, 1097 | 1, 1098 | 1, 1099 | 1, 1100 | 1, 1101 | 1, 1102 | 1, 1103 | 1, 1104 | 1, 1105 | 1, 1106 | 1, 1107 | 1, 1108 | 1, 1109 | 1, 1110 | 1, 1111 | 1, 1112 | 1, 1113 | 1, 1114 | 1, 1115 | 1, 1116 | 1, 1117 | 1, 1118 | 1, 1119 | 1, 1120 | 1, 1121 | 1, 1122 | 1, 1123 | 1, 1124 | 1, 1125 | 1, 1126 | 1, 1127 | 1, 1128 | 1, 1129 | 1, 1130 | 1, 1131 | 1, 1132 | 1, 1133 | 1, 1134 | 1, 1135 | 1, 1136 | 1, 1137 | 1, 1138 | 1, 1139 | 1, 1140 | 1, 1141 | 1, 1142 | 1, 1143 | 1, 1144 | 1, 1145 | 1, 1146 | 1, 1147 | 1, 1148 | 1, 1149 | 1, 1150 | 1, 1151 | 1, 1152 | 1, 1153 | 1, 1154 | 1, 1155 | 1, 1156 | 1, 1157 | 1, 1158 | 1, 1159 | 1, 1160 | 1, 1161 | 1, 1162 | 1, 1163 | 1, 1164 | 1, 1165 | 1, 1166 | 1, 1167 | 1, 1168 | 1, 1169 | 1, 1170 | 1, 1171 | 1, 1172 | 1, 1173 | 1, 1174 | 1, 1175 | 1, 1176 | 1, 1177 | 1, 1178 | 1, 1179 | 1, 1180 | 1, 1181 | 1, 1182 | 1, 1183 | 1, 1184 | 1, 1185 | 1, 1186 | 1, 1187 | 1, 1188 | 1, 1189 | 1, 1190 | 1, 1191 | 1, 1192 | 1, 1193 | 1, 1194 | 1, 1195 | 1, 1196 | 1, 1197 | 1, 1198 | 1, 1199 | 1, 1200 | 1, 1201 | 1, 1202 | 1, 1203 | 1, 1204 | 1, 1205 | 1, 1206 | 1, 1207 | 1, 1208 | 1, 1209 | 1, 1210 | 1, 1211 | 1, 1212 | 1, 1213 | 1, 1214 | 1, 1215 | 1, 1216 | 1, 1217 | 1, 1218 | 1, 1219 | 1, 1220 | 1, 1221 | 1, 1222 | 1, 1223 | 1, 1224 | 1, 1225 | 0, 1226 | 0, 1227 | 0, 1228 | 1, 1229 | 1, 1230 | 1, 1231 | 1, 1232 | 1, 1233 | 1, 1234 | 1, 1235 | 1, 1236 | 1, 1237 | 1, 1238 | 1, 1239 | 1, 1240 | 1, 1241 | 1, 1242 | 1, 1243 | 1, 1244 | 1, 1245 | 1, 1246 | 1, 1247 | 1, 1248 | 1, 1249 | 1, 1250 | 1, 1251 | 1, 1252 | 1, 1253 | 1, 1254 | 1, 1255 | 1, 1256 | 1, 1257 | 1, 1258 | 1, 1259 | 1, 1260 | 1, 1261 | 1, 1262 | 1, 1263 | 1, 1264 | 1, 1265 | 1, 1266 | 1, 1267 | 1, 1268 | 1, 1269 | 1, 1270 | 1, 1271 | 1, 1272 | 1, 1273 | 1, 1274 | 1, 1275 | 1, 1276 | 1, 1277 | 1, 1278 | 1, 1279 | 1, 1280 | 0, 1281 | 0, 1282 | 0, 1283 | 0, 1284 | 0, 1285 | 0, 1286 | 0, 1287 | 1, 1288 | 1, 1289 | 1, 1290 | 1, 1291 | 1, 1292 | 1, 1293 | 1, 1294 | 1, 1295 | 1, 1296 | 1, 1297 | 1, 1298 | 1, 1299 | 1, 1300 | 1, 1301 | 1, 1302 | 1, 1303 | 1, 1304 | 1, 1305 | 1, 1306 | 1, 1307 | 1, 1308 | 1, 1309 | 1, 1310 | 1, 1311 | 1, 1312 | 1, 1313 | 1, 1314 | 1, 1315 | 1, 1316 | 1, 1317 | 1, 1318 | 1, 1319 | 1, 1320 | 1, 1321 | 1, 1322 | 1, 1323 | 1, 1324 | 1, 1325 | 1, 1326 | 1, 1327 | 1, 1328 | 1, 1329 | 1, 1330 | 1, 1331 | 1, 1332 | 1, 1333 | 1, 1334 | 1, 1335 | 1, 1336 | 0, 1337 | 0, 1338 | 0, 1339 | 0, 1340 | 0, 1341 | 0, 1342 | 0, 1343 | 0, 1344 | 0, 1345 | 0, 1346 | 0, 1347 | 1, 1348 | 1, 1349 | 1, 1350 | 1, 1351 | 1, 1352 | 1, 1353 | 1, 1354 | 1, 1355 | 1, 1356 | 1, 1357 | 1, 1358 | 1, 1359 | 1, 1360 | 1, 1361 | 1, 1362 | 1, 1363 | 1, 1364 | 1, 1365 | 1, 1366 | 1, 1367 | 1, 1368 | 1, 1369 | 1, 1370 | 1, 1371 | 1, 1372 | 1, 1373 | 1, 1374 | 1, 1375 | 1, 1376 | 1, 1377 | 1, 1378 | 1, 1379 | 1, 1380 | 1, 1381 | 1, 1382 | 1, 1383 | 1, 1384 | 1, 1385 | 1, 1386 | 1, 1387 | 1, 1388 | 1, 1389 | 1, 1390 | 1, 1391 | 1, 1392 | 1, 1393 | 1, 1394 | 1, 1395 | 1, 1396 | 0, 1397 | 0, 1398 | 0, 1399 | 0, 1400 | 0, 1401 | 0, 1402 | 0, 1403 | 0, 1404 | 0, 1405 | 0, 1406 | 0, 1407 | 1, 1408 | 1, 1409 | 1, 1410 | 1, 1411 | 1, 1412 | 1, 1413 | 1, 1414 | 1, 1415 | 1, 1416 | 1, 1417 | 1, 1418 | 1, 1419 | 1, 1420 | 1, 1421 | 1, 1422 | 1, 1423 | 1, 1424 | 1, 1425 | 1, 1426 | 1, 1427 | 1, 1428 | 1, 1429 | 1, 1430 | 1, 1431 | 1, 1432 | 1, 1433 | 1, 1434 | 1, 1435 | 1, 1436 | 1, 1437 | 1, 1438 | 1, 1439 | 1, 1440 | 1, 1441 | 1, 1442 | 1, 1443 | 1, 1444 | 1, 1445 | 1, 1446 | 1, 1447 | 1, 1448 | 1, 1449 | 1, 1450 | 1, 1451 | 1, 1452 | 1, 1453 | 1, 1454 | 1, 1455 | 0, 1456 | 0, 1457 | 0, 1458 | 0, 1459 | 0, 1460 | 0, 1461 | 0, 1462 | 0, 1463 | 0, 1464 | 0, 1465 | 0, 1466 | 1, 1467 | 1, 1468 | 1, 1469 | 1, 1470 | 1, 1471 | 1, 1472 | 1, 1473 | 1, 1474 | 1, 1475 | 1, 1476 | 1, 1477 | 1, 1478 | 1, 1479 | 1, 1480 | 1, 1481 | 1, 1482 | 1, 1483 | 1, 1484 | 1, 1485 | 1, 1486 | 1, 1487 | 1, 1488 | 1, 1489 | 1, 1490 | 1, 1491 | 1, 1492 | 1, 1493 | 1, 1494 | 1, 1495 | 1, 1496 | 1, 1497 | 1, 1498 | 1, 1499 | 1, 1500 | 1, 1501 | 1, 1502 | 1, 1503 | 1, 1504 | 1, 1505 | 1, 1506 | 1, 1507 | 1, 1508 | 1, 1509 | 1, 1510 | 1, 1511 | 1, 1512 | 1, 1513 | 1, 1514 | 1, 1515 | 0, 1516 | 0, 1517 | 0, 1518 | 0, 1519 | 0, 1520 | 0, 1521 | 0, 1522 | 0, 1523 | 0, 1524 | 0, 1525 | 0, 1526 | 1, 1527 | 1, 1528 | 1, 1529 | 1, 1530 | 1, 1531 | 1, 1532 | 1, 1533 | 1, 1534 | 1, 1535 | 1, 1536 | 1, 1537 | 1, 1538 | 1, 1539 | 1, 1540 | 1, 1541 | 1, 1542 | 1, 1543 | 1, 1544 | 1, 1545 | 1, 1546 | 1, 1547 | 1, 1548 | 1, 1549 | 1, 1550 | 1, 1551 | 1, 1552 | 1, 1553 | 1, 1554 | 1, 1555 | 1, 1556 | 1, 1557 | 1, 1558 | 1, 1559 | 1, 1560 | 1, 1561 | 1, 1562 | 1, 1563 | 1, 1564 | 1, 1565 | 1, 1566 | 1, 1567 | 1, 1568 | 1, 1569 | 1, 1570 | 1, 1571 | 1, 1572 | 1, 1573 | 1, 1574 | 1, 1575 | 0, 1576 | 1, 1577 | 1, 1578 | 1, 1579 | 1, 1580 | 1, 1581 | 0, 1582 | 0, 1583 | 0, 1584 | 0, 1585 | 0, 1586 | 1, 1587 | 1, 1588 | 1, 1589 | 1, 1590 | 1, 1591 | 1, 1592 | 1, 1593 | 1, 1594 | 1, 1595 | 1, 1596 | 1, 1597 | 1, 1598 | 1, 1599 | 1, 1600 | 1, 1601 | 1, 1602 | 1, 1603 | 1, 1604 | 1, 1605 | 1, 1606 | 1, 1607 | 1, 1608 | 1, 1609 | 1, 1610 | 1, 1611 | 1, 1612 | 1, 1613 | 1, 1614 | 1, 1615 | 1, 1616 | 1, 1617 | 1, 1618 | 1, 1619 | 1, 1620 | 1, 1621 | 1, 1622 | 1, 1623 | 1, 1624 | 1, 1625 | 1, 1626 | 1, 1627 | 1, 1628 | 1, 1629 | 1, 1630 | 1, 1631 | 1, 1632 | 1, 1633 | 1, 1634 | 1, 1635 | 1, 1636 | 1, 1637 | 1, 1638 | 1, 1639 | 1, 1640 | 0, 1641 | 0, 1642 | 0, 1643 | 0, 1644 | 0, 1645 | 1, 1646 | 1, 1647 | 1, 1648 | 1, 1649 | 1, 1650 | 1, 1651 | 1, 1652 | 1, 1653 | 1, 1654 | 1, 1655 | 1, 1656 | 1, 1657 | 1, 1658 | 1, 1659 | 1, 1660 | 1, 1661 | 1, 1662 | 1, 1663 | 1, 1664 | 1, 1665 | 1, 1666 | 1, 1667 | 1, 1668 | 1, 1669 | 1, 1670 | 1, 1671 | 1, 1672 | 1, 1673 | 1, 1674 | 1, 1675 | 1, 1676 | 1, 1677 | 1, 1678 | 1, 1679 | 1, 1680 | 1, 1681 | 1, 1682 | 1, 1683 | 1, 1684 | 1, 1685 | 1, 1686 | 1, 1687 | 1, 1688 | 1, 1689 | 1, 1690 | 1, 1691 | 1, 1692 | 1, 1693 | 1, 1694 | 1, 1695 | 1, 1696 | 1, 1697 | 1, 1698 | 1, 1699 | 1, 1700 | 0, 1701 | 0, 1702 | 0, 1703 | 0, 1704 | 0, 1705 | 1, 1706 | 1, 1707 | 1, 1708 | 1, 1709 | 1, 1710 | 1, 1711 | 1, 1712 | 1, 1713 | 1, 1714 | 1, 1715 | 1, 1716 | 1, 1717 | 1, 1718 | 1, 1719 | 1, 1720 | 1, 1721 | 1, 1722 | 1, 1723 | 1, 1724 | 1, 1725 | 1, 1726 | 1, 1727 | 1, 1728 | 1, 1729 | 1, 1730 | 1, 1731 | 1, 1732 | 1, 1733 | 1, 1734 | 1, 1735 | 1, 1736 | 1, 1737 | 1, 1738 | 1, 1739 | 1, 1740 | 1, 1741 | 1, 1742 | 1, 1743 | 1, 1744 | 1, 1745 | 1, 1746 | 1, 1747 | 1, 1748 | 1, 1749 | 1, 1750 | 1, 1751 | 1, 1752 | 1, 1753 | 1, 1754 | 1, 1755 | 1, 1756 | 1, 1757 | 1, 1758 | 1, 1759 | 1, 1760 | 0, 1761 | 0, 1762 | 0, 1763 | 0, 1764 | 0, 1765 | 1, 1766 | 1, 1767 | 1, 1768 | 1, 1769 | 1, 1770 | 1, 1771 | 1, 1772 | 1, 1773 | 1, 1774 | 1, 1775 | 1, 1776 | 1, 1777 | 1, 1778 | 1, 1779 | 1, 1780 | 1, 1781 | 1, 1782 | 1, 1783 | 1, 1784 | 1, 1785 | 1, 1786 | 1, 1787 | 1, 1788 | 1, 1789 | 1, 1790 | 1, 1791 | 1, 1792 | 1, 1793 | 1, 1794 | 1, 1795 | 1, 1796 | 1, 1797 | 1, 1798 | 1, 1799 | 1, 1800 | 1, 1801 | 1, 1802 | 1, 1803 | 1, 1804 | 1, 1805 | 1, 1806 | 1, 1807 | 1, 1808 | 1, 1809 | 1, 1810 | 1, 1811 | 1, 1812 | 1, 1813 | 1, 1814 | 1, 1815 | 1, 1816 | 1, 1817 | 1, 1818 | 1, 1819 | 0, 1820 | 0, 1821 | 0, 1822 | 0, 1823 | 0, 1824 | 1, 1825 | 1, 1826 | 1, 1827 | 1, 1828 | 1, 1829 | 1, 1830 | 1, 1831 | 1, 1832 | 1, 1833 | 1, 1834 | 1, 1835 | 1, 1836 | 1, 1837 | 1, 1838 | 1, 1839 | 1, 1840 | 1, 1841 | 1, 1842 | 1, 1843 | 1, 1844 | 1, 1845 | 1, 1846 | 1, 1847 | 1, 1848 | 1, 1849 | 1, 1850 | 1, 1851 | 1, 1852 | 1, 1853 | 1, 1854 | 1, 1855 | 1, 1856 | 1, 1857 | 1, 1858 | 1, 1859 | 1, 1860 | 1, 1861 | 1, 1862 | 1, 1863 | 1, 1864 | 1, 1865 | 1, 1866 | 1, 1867 | 1, 1868 | 1, 1869 | 1, 1870 | 1, 1871 | 1, 1872 | 1, 1873 | 1, 1874 | 1, 1875 | 1, 1876 | 1, 1877 | 1, 1878 | 1, 1879 | 0, 1880 | 0, 1881 | 0, 1882 | 0, 1883 | 0, 1884 | 1, 1885 | 1, 1886 | 1, 1887 | 1, 1888 | 1, 1889 | 1, 1890 | 1, 1891 | 1, 1892 | 1, 1893 | 1, 1894 | 1, 1895 | 1, 1896 | 1, 1897 | 1, 1898 | 1, 1899 | 1, 1900 | 1, 1901 | 1, 1902 | 1, 1903 | 1, 1904 | 1, 1905 | 1, 1906 | 1, 1907 | 1, 1908 | 1, 1909 | 1, 1910 | 1, 1911 | 1, 1912 | 1, 1913 | 1, 1914 | 1, 1915 | 1, 1916 | 1, 1917 | 1, 1918 | 1, 1919 | 1, 1920 | 1, 1921 | 1, 1922 | 1, 1923 | 1, 1924 | 1, 1925 | 1, 1926 | 1, 1927 | 1, 1928 | 1, 1929 | 1, 1930 | 1, 1931 | 1, 1932 | 1, 1933 | 1, 1934 | 1, 1935 | 1, 1936 | 1, 1937 | 1, 1938 | 1, 1939 | 0, 1940 | 0, 1941 | 0, 1942 | 0, 1943 | 0, 1944 | 1, 1945 | 1, 1946 | 1, 1947 | 1, 1948 | 1, 1949 | 1, 1950 | 1, 1951 | 1, 1952 | 1, 1953 | 1, 1954 | 1, 1955 | 1, 1956 | 1, 1957 | 1, 1958 | 1, 1959 | 1, 1960 | 1, 1961 | 1, 1962 | 1, 1963 | 1, 1964 | 1, 1965 | 1, 1966 | 1, 1967 | 1, 1968 | 1, 1969 | 1, 1970 | 1, 1971 | 1, 1972 | 1, 1973 | 1, 1974 | 1, 1975 | 1, 1976 | 1, 1977 | 1, 1978 | 1, 1979 | 1, 1980 | 1, 1981 | 1, 1982 | 1, 1983 | 1, 1984 | 1, 1985 | 1, 1986 | 1, 1987 | 1, 1988 | 1, 1989 | 1, 1990 | 1, 1991 | 1, 1992 | 1, 1993 | 1, 1994 | 1, 1995 | 1, 1996 | 1, 1997 | 1, 1998 | 0, 1999 | 0, 2000 | 0, 2001 | 0, 2002 | 0, 2003 | 1, 2004 | 1, 2005 | 1, 2006 | 1, 2007 | 1, 2008 | 1, 2009 | 1, 2010 | 1, 2011 | 1, 2012 | 1, 2013 | 1, 2014 | 1, 2015 | 1, 2016 | 1, 2017 | 1, 2018 | 1, 2019 | 1, 2020 | 1, 2021 | 1, 2022 | 1, 2023 | 1, 2024 | 1, 2025 | 1, 2026 | 1, 2027 | 1, 2028 | 1, 2029 | 1, 2030 | 1, 2031 | 1, 2032 | 1, 2033 | 1, 2034 | 1, 2035 | 1, 2036 | 1, 2037 | 1, 2038 | 1, 2039 | 1, 2040 | 1, 2041 | 1, 2042 | 1, 2043 | 1, 2044 | 1, 2045 | 1, 2046 | 1, 2047 | 1, 2048 | 1, 2049 | 1, 2050 | 1, 2051 | 1, 2052 | 1, 2053 | 1, 2054 | 1, 2055 | 1, 2056 | 1, 2057 | 1, 2058 | 0, 2059 | 0, 2060 | 0, 2061 | 0, 2062 | 0, 2063 | 1, 2064 | 1, 2065 | 1, 2066 | 1, 2067 | 1, 2068 | 1, 2069 | 1, 2070 | 1, 2071 | 1, 2072 | 1, 2073 | 1, 2074 | 1, 2075 | 1, 2076 | 1, 2077 | 1, 2078 | 1, 2079 | 1, 2080 | 1, 2081 | 1, 2082 | 1, 2083 | 1, 2084 | 1, 2085 | 1, 2086 | 1, 2087 | 1, 2088 | 1, 2089 | 1, 2090 | 1, 2091 | 1, 2092 | 1, 2093 | 1, 2094 | 1, 2095 | 1, 2096 | 1, 2097 | 1, 2098 | 1, 2099 | 1, 2100 | 1, 2101 | 1, 2102 | 1, 2103 | 1, 2104 | 1, 2105 | 1, 2106 | 1, 2107 | 1, 2108 | 1, 2109 | 1, 2110 | 1, 2111 | 1, 2112 | 1, 2113 | 1, 2114 | 1, 2115 | 1, 2116 | 1, 2117 | 1, 2118 | 0, 2119 | 0, 2120 | 0, 2121 | 0, 2122 | 0, 2123 | 1, 2124 | 1, 2125 | 1, 2126 | 1, 2127 | 1, 2128 | 1, 2129 | 1, 2130 | 1, 2131 | 1, 2132 | 1, 2133 | 1, 2134 | 1, 2135 | 1, 2136 | 1, 2137 | 1, 2138 | 1, 2139 | 1, 2140 | 1, 2141 | 1, 2142 | 1, 2143 | 1, 2144 | 1, 2145 | 1, 2146 | 1, 2147 | 1, 2148 | 1, 2149 | 1, 2150 | 1, 2151 | 1, 2152 | 1, 2153 | 1, 2154 | 1, 2155 | 1, 2156 | 1, 2157 | 1, 2158 | 1, 2159 | 1, 2160 | 1, 2161 | 1, 2162 | 1, 2163 | 1, 2164 | 1, 2165 | 1, 2166 | 1, 2167 | 1, 2168 | 1, 2169 | 1, 2170 | 1, 2171 | 1, 2172 | 1, 2173 | 1, 2174 | 1, 2175 | 1, 2176 | 1, 2177 | 0, 2178 | 0, 2179 | 0, 2180 | 0, 2181 | 0, 2182 | 1, 2183 | 1, 2184 | 1, 2185 | 1, 2186 | 1, 2187 | 1, 2188 | 1, 2189 | 1, 2190 | 1, 2191 | 1, 2192 | 1, 2193 | 1, 2194 | 1, 2195 | 1, 2196 | 1, 2197 | 1, 2198 | 1, 2199 | 1, 2200 | 1, 2201 | 1, 2202 | 1, 2203 | 1, 2204 | 1, 2205 | 1, 2206 | 1, 2207 | 1, 2208 | 1, 2209 | 1, 2210 | 1, 2211 | 1, 2212 | 1, 2213 | 1, 2214 | 1, 2215 | 1, 2216 | 1, 2217 | 1, 2218 | 1, 2219 | 1, 2220 | 1, 2221 | 1, 2222 | 1, 2223 | 1, 2224 | 1, 2225 | 1, 2226 | 1, 2227 | 1, 2228 | 1, 2229 | 1, 2230 | 1, 2231 | 1, 2232 | 1, 2233 | 1, 2234 | 1, 2235 | 1, 2236 | 1, 2237 | 0, 2238 | 0, 2239 | 0, 2240 | 0, 2241 | 0, 2242 | 1, 2243 | 1, 2244 | 1, 2245 | 1, 2246 | 1, 2247 | 1, 2248 | 1, 2249 | 1, 2250 | 1, 2251 | 1, 2252 | 1, 2253 | 1, 2254 | 1, 2255 | 1, 2256 | 1, 2257 | 1, 2258 | 1, 2259 | 1, 2260 | 1, 2261 | 1, 2262 | 1, 2263 | 1, 2264 | 1, 2265 | 1, 2266 | 1, 2267 | 1, 2268 | 1, 2269 | 1, 2270 | 1, 2271 | 1, 2272 | 1, 2273 | 1, 2274 | 1, 2275 | 1, 2276 | 1, 2277 | 1, 2278 | 1, 2279 | 1, 2280 | 1, 2281 | 1, 2282 | 1, 2283 | 1, 2284 | 1, 2285 | 1, 2286 | 1, 2287 | 1, 2288 | 1, 2289 | 1, 2290 | 1, 2291 | 1, 2292 | 1, 2293 | 1, 2294 | 1, 2295 | 1, 2296 | 1, 2297 | 0, 2298 | 0, 2299 | 0, 2300 | 0, 2301 | 0, 2302 | 1, 2303 | 1, 2304 | 1, 2305 | 1, 2306 | 1, 2307 | 1, 2308 | 1, 2309 | 1, 2310 | 1, 2311 | 1, 2312 | 1, 2313 | 1, 2314 | 1, 2315 | 1, 2316 | 1, 2317 | 1, 2318 | 1, 2319 | 1, 2320 | 1, 2321 | 1, 2322 | 1, 2323 | 1, 2324 | 1, 2325 | 1, 2326 | 1, 2327 | 1, 2328 | 1, 2329 | 1, 2330 | 1, 2331 | 1, 2332 | 1, 2333 | 1, 2334 | 1, 2335 | 1, 2336 | 1, 2337 | 1, 2338 | 1, 2339 | 1, 2340 | 1, 2341 | 1, 2342 | 1, 2343 | 1, 2344 | 1, 2345 | 1, 2346 | 1, 2347 | 1, 2348 | 1, 2349 | 1, 2350 | 1, 2351 | 1, 2352 | 1, 2353 | 1, 2354 | 1, 2355 | 1, 2356 | 0, 2357 | 0, 2358 | 0, 2359 | 0, 2360 | 0, 2361 | 1, 2362 | 1, 2363 | 1, 2364 | 1, 2365 | 1, 2366 | 1, 2367 | 1, 2368 | 1, 2369 | 1, 2370 | 1, 2371 | 1, 2372 | 1, 2373 | 1, 2374 | 1, 2375 | 1, 2376 | 1, 2377 | 1, 2378 | 1, 2379 | 1, 2380 | 1, 2381 | 1, 2382 | 1, 2383 | 1, 2384 | 1, 2385 | 1, 2386 | 1, 2387 | 1, 2388 | 1, 2389 | 1, 2390 | 1, 2391 | 1, 2392 | 1, 2393 | 1, 2394 | 1, 2395 | 1, 2396 | 1, 2397 | 1, 2398 | 1, 2399 | 1, 2400 | 1, 2401 | 1, 2402 | 1, 2403 | 1, 2404 | 1, 2405 | 1, 2406 | 1, 2407 | 1, 2408 | 1, 2409 | 1, 2410 | 1, 2411 | 1, 2412 | 1, 2413 | 1, 2414 | 1, 2415 | 1, 2416 | 0, 2417 | 0, 2418 | 0, 2419 | 0, 2420 | 0, 2421 | 1, 2422 | 1, 2423 | 1, 2424 | 1, 2425 | 1, 2426 | 1, 2427 | 1, 2428 | 1, 2429 | 1, 2430 | 1, 2431 | 1, 2432 | 1, 2433 | 1, 2434 | 1, 2435 | 1, 2436 | 1, 2437 | 1, 2438 | 1, 2439 | 1, 2440 | 1, 2441 | 1, 2442 | 1, 2443 | 1, 2444 | 1, 2445 | 1, 2446 | 1, 2447 | 1, 2448 | 1, 2449 | 1, 2450 | 1, 2451 | 1, 2452 | 1, 2453 | 1, 2454 | 1, 2455 | 1, 2456 | 1, 2457 | 1, 2458 | 1, 2459 | 1, 2460 | 1, 2461 | 1, 2462 | 1, 2463 | 1, 2464 | 1, 2465 | 1, 2466 | 1, 2467 | 1, 2468 | 1, 2469 | 1, 2470 | 1, 2471 | 1, 2472 | 1, 2473 | 1, 2474 | 1, 2475 | 1, 2476 | 0, 2477 | 0, 2478 | 0, 2479 | 0, 2480 | 0, 2481 | 1, 2482 | 1, 2483 | 1, 2484 | 1, 2485 | 1, 2486 | 1, 2487 | 1, 2488 | 1, 2489 | 1, 2490 | 1, 2491 | 1, 2492 | 1, 2493 | 1, 2494 | 1, 2495 | 1, 2496 | 1, 2497 | 1, 2498 | 1, 2499 | 1, 2500 | 1, 2501 | 1, 2502 | 1, 2503 | 1, 2504 | 1, 2505 | 1, 2506 | 1, 2507 | 1, 2508 | 1, 2509 | 1, 2510 | 1, 2511 | 1, 2512 | 1, 2513 | 1, 2514 | 1, 2515 | 1, 2516 | 1, 2517 | 1, 2518 | 1, 2519 | 1, 2520 | 1, 2521 | 1, 2522 | 1, 2523 | 1, 2524 | 1, 2525 | 1, 2526 | 1, 2527 | 1, 2528 | 1, 2529 | 1, 2530 | 1, 2531 | 1, 2532 | 1, 2533 | 1, 2534 | 1, 2535 | 0, 2536 | 0, 2537 | 0, 2538 | 0, 2539 | 0, 2540 | 1, 2541 | 1, 2542 | 1, 2543 | 1, 2544 | 1, 2545 | 1, 2546 | 1, 2547 | 1, 2548 | 1, 2549 | 1, 2550 | 1, 2551 | 1, 2552 | 1, 2553 | 1, 2554 | 1, 2555 | 1, 2556 | 1, 2557 | 1, 2558 | 1, 2559 | 1, 2560 | 1, 2561 | 1, 2562 | 1, 2563 | 1, 2564 | 1, 2565 | 1, 2566 | 1, 2567 | 1, 2568 | 1, 2569 | 1, 2570 | 1, 2571 | 1, 2572 | 1, 2573 | 1, 2574 | 1, 2575 | 1, 2576 | 1, 2577 | 1, 2578 | 1, 2579 | 1, 2580 | 1, 2581 | 1, 2582 | 1, 2583 | 1, 2584 | 1, 2585 | 1, 2586 | 1, 2587 | 1, 2588 | 1, 2589 | 1, 2590 | 1, 2591 | 1, 2592 | 1, 2593 | 1, 2594 | 1, 2595 | 0, 2596 | 0, 2597 | 0, 2598 | 0, 2599 | 0, 2600 | 1, 2601 | 1, 2602 | 1, 2603 | 1, 2604 | 1, 2605 | 1, 2606 | 1, 2607 | 1, 2608 | 1, 2609 | 1, 2610 | 1, 2611 | 1, 2612 | 1, 2613 | 1, 2614 | 1, 2615 | 1, 2616 | 1, 2617 | 1, 2618 | 1, 2619 | 1, 2620 | 1, 2621 | 1, 2622 | 1, 2623 | 1, 2624 | 1, 2625 | 1, 2626 | 1, 2627 | 1, 2628 | 1, 2629 | 1, 2630 | 1, 2631 | 1, 2632 | 1, 2633 | 1, 2634 | 1, 2635 | 1, 2636 | 1, 2637 | 1, 2638 | 1, 2639 | 1, 2640 | 1, 2641 | 1, 2642 | 1, 2643 | 1, 2644 | 1, 2645 | 1, 2646 | 1, 2647 | 1, 2648 | 1, 2649 | 0, 2650 | 0, 2651 | 0, 2652 | 0, 2653 | 0, 2654 | 0, 2655 | 0, 2656 | 0, 2657 | 0, 2658 | 0, 2659 | 0, 2660 | 0, 2661 | 0, 2662 | 0, 2663 | 0, 2664 | 0, 2665 | 1, 2666 | 1, 2667 | 1, 2668 | 1, 2669 | 1, 2670 | 1, 2671 | 1, 2672 | 1, 2673 | 1, 2674 | 1, 2675 | 1, 2676 | 1, 2677 | 1, 2678 | 1, 2679 | 1, 2680 | 1, 2681 | 1, 2682 | 1, 2683 | 1, 2684 | 1, 2685 | 1, 2686 | 1, 2687 | 1, 2688 | 1, 2689 | 1, 2690 | 1, 2691 | 1, 2692 | 1, 2693 | 1, 2694 | 1, 2695 | 1, 2696 | 1, 2697 | 1, 2698 | 1, 2699 | 1, 2700 | 1, 2701 | 1, 2702 | 1, 2703 | 1, 2704 | 1, 2705 | 1, 2706 | 1, 2707 | 1, 2708 | 0, 2709 | 0, 2710 | 0, 2711 | 0, 2712 | 0, 2713 | 0, 2714 | 0, 2715 | 0, 2716 | 0, 2717 | 0, 2718 | 0, 2719 | 0, 2720 | 0, 2721 | 0, 2722 | 0, 2723 | 0, 2724 | 0, 2725 | 1, 2726 | 1, 2727 | 1, 2728 | 1, 2729 | 1, 2730 | 1, 2731 | 1, 2732 | 1, 2733 | 1, 2734 | 1, 2735 | 1, 2736 | 1, 2737 | 1, 2738 | 1, 2739 | 1, 2740 | 1, 2741 | 1, 2742 | 1, 2743 | 1, 2744 | 1, 2745 | 1, 2746 | 1, 2747 | 1, 2748 | 1, 2749 | 1, 2750 | 1, 2751 | 1, 2752 | 1, 2753 | 1, 2754 | 1, 2755 | 1, 2756 | 1, 2757 | 1, 2758 | 1, 2759 | 1, 2760 | 1, 2761 | 1, 2762 | 1, 2763 | 1, 2764 | 1, 2765 | 1, 2766 | 1, 2767 | 1, 2768 | 0, 2769 | 0, 2770 | 0, 2771 | 0, 2772 | 0, 2773 | 0, 2774 | 0, 2775 | 0, 2776 | 0, 2777 | 0, 2778 | 0, 2779 | 0, 2780 | 0, 2781 | 0, 2782 | 0, 2783 | 0, 2784 | 0, 2785 | 1, 2786 | 1, 2787 | 1, 2788 | 1, 2789 | 1, 2790 | 1, 2791 | 1, 2792 | 1, 2793 | 1, 2794 | 1, 2795 | 1, 2796 | 1, 2797 | 1, 2798 | 1, 2799 | 1, 2800 | 1, 2801 | 1, 2802 | 1, 2803 | 1, 2804 | 1, 2805 | 1, 2806 | 1, 2807 | 1, 2808 | 1, 2809 | 1, 2810 | 1, 2811 | 1, 2812 | 1, 2813 | 1, 2814 | 1, 2815 | 1, 2816 | 1, 2817 | 1, 2818 | 1, 2819 | 1, 2820 | 1, 2821 | 1, 2822 | 1, 2823 | 1, 2824 | 1, 2825 | 1, 2826 | 1, 2827 | 1, 2828 | 0, 2829 | 0, 2830 | 0, 2831 | 0, 2832 | 0, 2833 | 0, 2834 | 0, 2835 | 0, 2836 | 0, 2837 | 0, 2838 | 0, 2839 | 0, 2840 | 0, 2841 | 0, 2842 | 0, 2843 | 0, 2844 | 1, 2845 | 1, 2846 | 1, 2847 | 1, 2848 | 1, 2849 | 1, 2850 | 1, 2851 | 1, 2852 | 1, 2853 | 1, 2854 | 1, 2855 | 1, 2856 | 1, 2857 | 1, 2858 | 1, 2859 | 1, 2860 | 1, 2861 | 1, 2862 | 1, 2863 | 1, 2864 | 1, 2865 | 1, 2866 | 1, 2867 | 1, 2868 | 1, 2869 | 1, 2870 | 1, 2871 | 1, 2872 | 1, 2873 | 1, 2874 | 1, 2875 | 1, 2876 | 1, 2877 | 1, 2878 | 1, 2879 | 1, 2880 | 1, 2881 | 1, 2882 | 1, 2883 | 1, 2884 | 1, 2885 | 1, 2886 | 1, 2887 | 1, 2888 | 1, 2889 | 1, 2890 | 1, 2891 | 1, 2892 | 1, 2893 | 1, 2894 | 1, 2895 | 1, 2896 | 1, 2897 | 1, 2898 | 1, 2899 | 1, 2900 | 1, 2901 | 1, 2902 | 1, 2903 | 1, 2904 | 1, 2905 | 1, 2906 | 1, 2907 | 1, 2908 | 1, 2909 | 1, 2910 | 1, 2911 | 1, 2912 | 1, 2913 | 1, 2914 | 1, 2915 | 1, 2916 | 1, 2917 | 1, 2918 | 1, 2919 | 1, 2920 | 1, 2921 | 1, 2922 | 1, 2923 | 1, 2924 | 1, 2925 | 1, 2926 | 1, 2927 | 1, 2928 | 1, 2929 | 1, 2930 | 1, 2931 | 1, 2932 | 1, 2933 | 1, 2934 | 1, 2935 | 1, 2936 | 1, 2937 | 1, 2938 | 1, 2939 | 1, 2940 | 1, 2941 | 1, 2942 | 1, 2943 | 1, 2944 | 1, 2945 | 1, 2946 | 1, 2947 | 1, 2948 | 1, 2949 | 1, 2950 | 1, 2951 | 1, 2952 | 1, 2953 | 1, 2954 | 1, 2955 | 1, 2956 | 1, 2957 | 1, 2958 | 1, 2959 | 1, 2960 | 1, 2961 | 1, 2962 | 1, 2963 | 1, 2964 | 1, 2965 | 1, 2966 | 1, 2967 | 1, 2968 | 1, 2969 | 1, 2970 | 1, 2971 | 1, 2972 | 1, 2973 | 1, 2974 | 1, 2975 | 1, 2976 | 1, 2977 | 1, 2978 | 1, 2979 | 1, 2980 | 1, 2981 | 1, 2982 | 1, 2983 | 1, 2984 | 1, 2985 | 1, 2986 | 1, 2987 | 1, 2988 | 1, 2989 | 1, 2990 | 1, 2991 | 1, 2992 | 1, 2993 | 1, 2994 | 1, 2995 | 1, 2996 | 1, 2997 | 1, 2998 | 1, 2999 | 1, 3000 | 1, 3001 | 1, 3002 | 1, 3003 | 1, 3004 | 1, 3005 | 1, 3006 | 1, 3007 | 1, 3008 | 1, 3009 | 1, 3010 | 1, 3011 | 1, 3012 | 1, 3013 | 1, 3014 | 1, 3015 | 1, 3016 | 1, 3017 | 1, 3018 | 1, 3019 | 1, 3020 | 1, 3021 | 1, 3022 | 1, 3023 | 1, 3024 | 1, 3025 | 1, 3026 | 1, 3027 | 1, 3028 | 1, 3029 | 1, 3030 | 1, 3031 | 1, 3032 | 1, 3033 | 1, 3034 | 1, 3035 | 1, 3036 | 1, 3037 | 1, 3038 | 1, 3039 | 1, 3040 | 1, 3041 | 1, 3042 | 1, 3043 | 1, 3044 | 1, 3045 | 1, 3046 | 1, 3047 | 1, 3048 | 1, 3049 | 1, 3050 | 1, 3051 | 1, 3052 | 1, 3053 | 1, 3054 | 1, 3055 | 1, 3056 | 1, 3057 | 1, 3058 | 1, 3059 | 1, 3060 | 1, 3061 | 1, 3062 | 1, 3063 | 1, 3064 | 1, 3065 | 1, 3066 | 1, 3067 | 1, 3068 | 1, 3069 | 1, 3070 | 1, 3071 | 1, 3072 | 1, 3073 | 1, 3074 | 1, 3075 | 1, 3076 | 1, 3077 | 1, 3078 | 1, 3079 | 1, 3080 | 1, 3081 | 1, 3082 | 1, 3083 | 1, 3084 | 1, 3085 | 1, 3086 | 1, 3087 | 1, 3088 | 1, 3089 | 1, 3090 | 1, 3091 | 1, 3092 | 1, 3093 | 1, 3094 | 1, 3095 | 1, 3096 | 1, 3097 | 1, 3098 | 1, 3099 | 1, 3100 | 1, 3101 | 1, 3102 | 1, 3103 | 1, 3104 | 1, 3105 | 1, 3106 | 1, 3107 | 1, 3108 | 1, 3109 | 1, 3110 | 1, 3111 | 1, 3112 | 1, 3113 | 1, 3114 | 1, 3115 | 1, 3116 | 1, 3117 | 1, 3118 | 1, 3119 | 1, 3120 | 1, 3121 | 1, 3122 | 1, 3123 | 1, 3124 | 1, 3125 | 1, 3126 | 1, 3127 | 1, 3128 | 1, 3129 | 1, 3130 | 1, 3131 | 1, 3132 | 1, 3133 | 1, 3134 | 1, 3135 | 1, 3136 | 1, 3137 | 1, 3138 | 1, 3139 | 1, 3140 | 1, 3141 | 1, 3142 | 1, 3143 | 1, 3144 | 1, 3145 | 1, 3146 | 1, 3147 | 1, 3148 | 1, 3149 | 1, 3150 | 1, 3151 | 1, 3152 | 1, 3153 | 1, 3154 | 1, 3155 | 1, 3156 | 1, 3157 | 1, 3158 | 1, 3159 | 1, 3160 | 1, 3161 | 1, 3162 | 1, 3163 | 1, 3164 | 1, 3165 | 1, 3166 | 1, 3167 | 1, 3168 | 1, 3169 | 1, 3170 | 1, 3171 | 1, 3172 | 1, 3173 | 1, 3174 | 1, 3175 | 1, 3176 | 1, 3177 | 1, 3178 | 1, 3179 | 1, 3180 | 1, 3181 | 1, 3182 | 1, 3183 | 1, 3184 | 1, 3185 | 1, 3186 | 1, 3187 | 1, 3188 | 1, 3189 | 1, 3190 | 1, 3191 | 1, 3192 | 1, 3193 | 1, 3194 | 1, 3195 | 1, 3196 | 1, 3197 | 1, 3198 | 1, 3199 | 1, 3200 | 1, 3201 | 1, 3202 | 1, 3203 | 1, 3204 | 1, 3205 | 1, 3206 | 1, 3207 | 1, 3208 | 1, 3209 | 1, 3210 | 1, 3211 | 1, 3212 | 1, 3213 | 1, 3214 | 1, 3215 | 1, 3216 | 1, 3217 | 1, 3218 | 1, 3219 | 1, 3220 | 1, 3221 | 1, 3222 | 1, 3223 | 1, 3224 | 1, 3225 | 1, 3226 | 1, 3227 | 1, 3228 | 1, 3229 | 1, 3230 | 1, 3231 | 1, 3232 | 1, 3233 | 1, 3234 | 1, 3235 | 1, 3236 | 1, 3237 | 1, 3238 | 1, 3239 | 1, 3240 | 1, 3241 | 1, 3242 | 1, 3243 | 1, 3244 | 1, 3245 | 1, 3246 | 1, 3247 | 1, 3248 | 1, 3249 | 1, 3250 | 1, 3251 | 1, 3252 | 1, 3253 | 1, 3254 | 1, 3255 | 1, 3256 | 1, 3257 | 1, 3258 | 1, 3259 | 1, 3260 | 1, 3261 | 1, 3262 | 1, 3263 | 1, 3264 | 1, 3265 | 1, 3266 | 1, 3267 | 1, 3268 | 1, 3269 | 1, 3270 | 1, 3271 | 1, 3272 | 1, 3273 | 1, 3274 | 1, 3275 | 1, 3276 | 1, 3277 | 1, 3278 | 1, 3279 | 1, 3280 | 1, 3281 | 1, 3282 | 1, 3283 | 1, 3284 | 1, 3285 | 1, 3286 | 1, 3287 | 1, 3288 | 1, 3289 | 1, 3290 | 1, 3291 | 1, 3292 | 1, 3293 | 1, 3294 | 1, 3295 | 1, 3296 | 1, 3297 | 1, 3298 | 1, 3299 | 1, 3300 | 1, 3301 | 1, 3302 | 1, 3303 | 1, 3304 | 1, 3305 | 1, 3306 | 1, 3307 | 1, 3308 | 1, 3309 | 1, 3310 | 1, 3311 | 1, 3312 | 1, 3313 | 1, 3314 | 1, 3315 | 1, 3316 | 1, 3317 | 1, 3318 | 1, 3319 | 1, 3320 | 1, 3321 | 1, 3322 | 1, 3323 | 1, 3324 | 1, 3325 | 1, 3326 | 1, 3327 | 1, 3328 | 1, 3329 | 1, 3330 | 1, 3331 | 1, 3332 | 1, 3333 | 1, 3334 | 1, 3335 | 1, 3336 | 1, 3337 | 1, 3338 | 1, 3339 | 1, 3340 | 1, 3341 | 1, 3342 | 1, 3343 | 1, 3344 | 1, 3345 | 1, 3346 | 1, 3347 | 1, 3348 | 1, 3349 | 1, 3350 | 1, 3351 | 1, 3352 | 1, 3353 | 1, 3354 | 1, 3355 | 1, 3356 | 1, 3357 | 1, 3358 | 1, 3359 | 1, 3360 | 1, 3361 | 1, 3362 | 1, 3363 | 1, 3364 | 1, 3365 | 1, 3366 | 1, 3367 | 1, 3368 | 1, 3369 | 1, 3370 | 1, 3371 | 1, 3372 | 1, 3373 | 1, 3374 | 1, 3375 | 1, 3376 | 1, 3377 | 1, 3378 | 1, 3379 | 1, 3380 | 1, 3381 | 1, 3382 | 1, 3383 | 1, 3384 | 1, 3385 | 1, 3386 | 1, 3387 | 1, 3388 | 1, 3389 | 1, 3390 | 1, 3391 | 1, 3392 | 1, 3393 | 1, 3394 | 1, 3395 | 1, 3396 | 1, 3397 | 1, 3398 | 1, 3399 | 1, 3400 | 1, 3401 | 1, 3402 | 1, 3403 | 1, 3404 | 1, 3405 | 1, 3406 | 1, 3407 | 1, 3408 | 1, 3409 | 1, 3410 | 1, 3411 | 1, 3412 | 1, 3413 | 1, 3414 | 1, 3415 | 1, 3416 | 1, 3417 | 1, 3418 | 1, 3419 | 1, 3420 | 1, 3421 | 1, 3422 | 1, 3423 | 1, 3424 | 1, 3425 | 1, 3426 | 1, 3427 | 1, 3428 | 1, 3429 | 1, 3430 | 1, 3431 | 1, 3432 | 1, 3433 | 1, 3434 | 1, 3435 | 1, 3436 | 1, 3437 | 1, 3438 | 1, 3439 | 1, 3440 | 1, 3441 | 1, 3442 | 1, 3443 | 1, 3444 | 1, 3445 | 1, 3446 | 1, 3447 | 1, 3448 | 1, 3449 | 1, 3450 | 1, 3451 | 1, 3452 | 1, 3453 | 1, 3454 | 1, 3455 | 1, 3456 | 1, 3457 | 1, 3458 | 1, 3459 | 1, 3460 | 1, 3461 | 1, 3462 | 1, 3463 | 1, 3464 | 1, 3465 | 1, 3466 | 1, 3467 | 1, 3468 | 1, 3469 | 1, 3470 | 1, 3471 | 1, 3472 | 1, 3473 | 1, 3474 | 1, 3475 | 1, 3476 | 1, 3477 | 1, 3478 | 1, 3479 | 1, 3480 | 1, 3481 | 1, 3482 | 1, 3483 | 1, 3484 | 1, 3485 | 1, 3486 | 1, 3487 | 1, 3488 | 1, 3489 | 1, 3490 | 1, 3491 | 1, 3492 | 1, 3493 | 1, 3494 | 1, 3495 | 1, 3496 | 1, 3497 | 1, 3498 | 1, 3499 | 1, 3500 | 1, 3501 | 1, 3502 | 1, 3503 | 1, 3504 | 1, 3505 | 1, 3506 | 1, 3507 | 1, 3508 | 1, 3509 | 1, 3510 | 1, 3511 | 1, 3512 | 1, 3513 | 1, 3514 | 1, 3515 | 1, 3516 | 1, 3517 | 1, 3518 | 1, 3519 | 1, 3520 | 1, 3521 | 1, 3522 | 1, 3523 | 1, 3524 | 1, 3525 | 1, 3526 | 1, 3527 | 1, 3528 | 1, 3529 | 1, 3530 | 1, 3531 | 1, 3532 | 1, 3533 | 1, 3534 | 1, 3535 | 1, 3536 | 1, 3537 | 1, 3538 | 1, 3539 | 1, 3540 | 1, 3541 | 1, 3542 | 1, 3543 | 1, 3544 | 1, 3545 | 1, 3546 | 1, 3547 | 1, 3548 | 1, 3549 | 1, 3550 | 1, 3551 | 1, 3552 | 1, 3553 | 1, 3554 | 1, 3555 | 1, 3556 | 1, 3557 | 1, 3558 | 1, 3559 | 1, 3560 | 1, 3561 | 1, 3562 | 1, 3563 | 1, 3564 | 1, 3565 | 1, 3566 | 1, 3567 | 1, 3568 | 1, 3569 | 1, 3570 | 1, 3571 | 1, 3572 | 1, 3573 | 1, 3574 | 1, 3575 | 1, 3576 | 1, 3577 | 1, 3578 | 1, 3579 | 1, 3580 | 1, 3581 | 1, 3582 | 1, 3583 | 1, 3584 | 1, 3585 | 1, 3586 | 1, 3587 | 1, 3588 | 1, 3589 | 1, 3590 | 1, 3591 | 1, 3592 | 1, 3593 | 1, 3594 | 1, 3595 | 1, 3596 | 1, 3597 | 1, 3598 | 1, 3599 | 1, 3600 | 1, 3601 | 1, 3602 | 1, 3603 | ; -------------------------------------------------------------------------------- /images/1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tinylic/ASIC-FPGA-tetris/d6e5226dd147fddc03502d10e4851ef89cbcf07a/images/1.png -------------------------------------------------------------------------------- /images/2.coe: -------------------------------------------------------------------------------- 1 | memory_initialization_radix=2; 2 | memory_initialization_vector = 3 | 1, 4 | 1, 5 | 1, 6 | 1, 7 | 1, 8 | 1, 9 | 1, 10 | 1, 11 | 1, 12 | 1, 13 | 1, 14 | 1, 15 | 1, 16 | 1, 17 | 1, 18 | 1, 19 | 1, 20 | 1, 21 | 1, 22 | 1, 23 | 1, 24 | 1, 25 | 1, 26 | 1, 27 | 1, 28 | 1, 29 | 1, 30 | 1, 31 | 1, 32 | 1, 33 | 1, 34 | 1, 35 | 1, 36 | 1, 37 | 1, 38 | 1, 39 | 1, 40 | 1, 41 | 1, 42 | 1, 43 | 1, 44 | 1, 45 | 1, 46 | 1, 47 | 1, 48 | 1, 49 | 1, 50 | 1, 51 | 1, 52 | 1, 53 | 1, 54 | 1, 55 | 1, 56 | 1, 57 | 1, 58 | 1, 59 | 1, 60 | 1, 61 | 1, 62 | 1, 63 | 1, 64 | 1, 65 | 1, 66 | 1, 67 | 1, 68 | 1, 69 | 1, 70 | 1, 71 | 1, 72 | 1, 73 | 1, 74 | 1, 75 | 1, 76 | 1, 77 | 1, 78 | 1, 79 | 1, 80 | 1, 81 | 1, 82 | 1, 83 | 1, 84 | 1, 85 | 1, 86 | 1, 87 | 1, 88 | 1, 89 | 1, 90 | 1, 91 | 1, 92 | 1, 93 | 1, 94 | 1, 95 | 1, 96 | 1, 97 | 1, 98 | 1, 99 | 1, 100 | 1, 101 | 1, 102 | 1, 103 | 1, 104 | 1, 105 | 1, 106 | 1, 107 | 1, 108 | 1, 109 | 1, 110 | 1, 111 | 1, 112 | 1, 113 | 1, 114 | 1, 115 | 1, 116 | 1, 117 | 1, 118 | 1, 119 | 1, 120 | 1, 121 | 1, 122 | 1, 123 | 1, 124 | 1, 125 | 1, 126 | 1, 127 | 1, 128 | 1, 129 | 1, 130 | 1, 131 | 1, 132 | 1, 133 | 1, 134 | 1, 135 | 1, 136 | 1, 137 | 1, 138 | 1, 139 | 1, 140 | 1, 141 | 1, 142 | 1, 143 | 1, 144 | 1, 145 | 1, 146 | 1, 147 | 1, 148 | 1, 149 | 1, 150 | 1, 151 | 1, 152 | 1, 153 | 1, 154 | 1, 155 | 1, 156 | 1, 157 | 1, 158 | 1, 159 | 1, 160 | 1, 161 | 1, 162 | 1, 163 | 1, 164 | 1, 165 | 1, 166 | 1, 167 | 1, 168 | 1, 169 | 1, 170 | 1, 171 | 1, 172 | 1, 173 | 1, 174 | 1, 175 | 1, 176 | 1, 177 | 1, 178 | 1, 179 | 1, 180 | 1, 181 | 1, 182 | 1, 183 | 1, 184 | 1, 185 | 1, 186 | 1, 187 | 1, 188 | 1, 189 | 1, 190 | 1, 191 | 1, 192 | 1, 193 | 1, 194 | 1, 195 | 1, 196 | 1, 197 | 1, 198 | 1, 199 | 1, 200 | 1, 201 | 1, 202 | 1, 203 | 1, 204 | 1, 205 | 1, 206 | 1, 207 | 1, 208 | 1, 209 | 1, 210 | 1, 211 | 1, 212 | 1, 213 | 1, 214 | 1, 215 | 1, 216 | 1, 217 | 1, 218 | 1, 219 | 1, 220 | 1, 221 | 1, 222 | 1, 223 | 1, 224 | 1, 225 | 1, 226 | 1, 227 | 1, 228 | 1, 229 | 1, 230 | 1, 231 | 1, 232 | 1, 233 | 1, 234 | 1, 235 | 1, 236 | 1, 237 | 1, 238 | 1, 239 | 1, 240 | 1, 241 | 1, 242 | 1, 243 | 1, 244 | 1, 245 | 1, 246 | 1, 247 | 1, 248 | 1, 249 | 1, 250 | 1, 251 | 1, 252 | 1, 253 | 1, 254 | 1, 255 | 1, 256 | 1, 257 | 1, 258 | 1, 259 | 1, 260 | 1, 261 | 1, 262 | 1, 263 | 1, 264 | 1, 265 | 1, 266 | 1, 267 | 1, 268 | 1, 269 | 1, 270 | 1, 271 | 1, 272 | 1, 273 | 1, 274 | 1, 275 | 1, 276 | 1, 277 | 1, 278 | 1, 279 | 1, 280 | 1, 281 | 1, 282 | 1, 283 | 1, 284 | 1, 285 | 1, 286 | 1, 287 | 1, 288 | 1, 289 | 1, 290 | 1, 291 | 1, 292 | 1, 293 | 1, 294 | 1, 295 | 1, 296 | 1, 297 | 1, 298 | 1, 299 | 1, 300 | 1, 301 | 1, 302 | 1, 303 | 1, 304 | 1, 305 | 1, 306 | 1, 307 | 1, 308 | 1, 309 | 1, 310 | 1, 311 | 1, 312 | 1, 313 | 1, 314 | 1, 315 | 1, 316 | 1, 317 | 1, 318 | 1, 319 | 1, 320 | 1, 321 | 1, 322 | 1, 323 | 1, 324 | 1, 325 | 1, 326 | 1, 327 | 1, 328 | 1, 329 | 1, 330 | 1, 331 | 1, 332 | 1, 333 | 1, 334 | 1, 335 | 1, 336 | 1, 337 | 1, 338 | 1, 339 | 1, 340 | 1, 341 | 1, 342 | 1, 343 | 1, 344 | 1, 345 | 1, 346 | 1, 347 | 1, 348 | 1, 349 | 1, 350 | 1, 351 | 1, 352 | 1, 353 | 1, 354 | 1, 355 | 1, 356 | 1, 357 | 1, 358 | 1, 359 | 1, 360 | 1, 361 | 1, 362 | 1, 363 | 1, 364 | 1, 365 | 1, 366 | 1, 367 | 1, 368 | 1, 369 | 1, 370 | 1, 371 | 1, 372 | 1, 373 | 1, 374 | 1, 375 | 1, 376 | 1, 377 | 1, 378 | 1, 379 | 1, 380 | 1, 381 | 1, 382 | 1, 383 | 1, 384 | 1, 385 | 1, 386 | 1, 387 | 1, 388 | 1, 389 | 1, 390 | 1, 391 | 1, 392 | 1, 393 | 1, 394 | 1, 395 | 1, 396 | 1, 397 | 1, 398 | 1, 399 | 1, 400 | 1, 401 | 1, 402 | 1, 403 | 1, 404 | 1, 405 | 1, 406 | 1, 407 | 1, 408 | 1, 409 | 1, 410 | 1, 411 | 1, 412 | 1, 413 | 1, 414 | 1, 415 | 1, 416 | 1, 417 | 1, 418 | 1, 419 | 1, 420 | 1, 421 | 1, 422 | 1, 423 | 1, 424 | 1, 425 | 1, 426 | 1, 427 | 1, 428 | 1, 429 | 1, 430 | 1, 431 | 1, 432 | 1, 433 | 1, 434 | 1, 435 | 1, 436 | 1, 437 | 1, 438 | 1, 439 | 1, 440 | 1, 441 | 1, 442 | 1, 443 | 1, 444 | 1, 445 | 1, 446 | 1, 447 | 1, 448 | 1, 449 | 1, 450 | 1, 451 | 1, 452 | 1, 453 | 1, 454 | 1, 455 | 1, 456 | 1, 457 | 1, 458 | 1, 459 | 1, 460 | 1, 461 | 1, 462 | 1, 463 | 1, 464 | 1, 465 | 1, 466 | 1, 467 | 1, 468 | 1, 469 | 1, 470 | 1, 471 | 1, 472 | 1, 473 | 1, 474 | 1, 475 | 1, 476 | 1, 477 | 1, 478 | 1, 479 | 1, 480 | 1, 481 | 1, 482 | 1, 483 | 1, 484 | 1, 485 | 1, 486 | 1, 487 | 1, 488 | 1, 489 | 1, 490 | 1, 491 | 1, 492 | 1, 493 | 1, 494 | 1, 495 | 1, 496 | 1, 497 | 1, 498 | 1, 499 | 1, 500 | 1, 501 | 1, 502 | 1, 503 | 1, 504 | 1, 505 | 1, 506 | 1, 507 | 1, 508 | 1, 509 | 1, 510 | 1, 511 | 1, 512 | 1, 513 | 1, 514 | 1, 515 | 1, 516 | 1, 517 | 1, 518 | 1, 519 | 1, 520 | 1, 521 | 1, 522 | 1, 523 | 1, 524 | 1, 525 | 1, 526 | 1, 527 | 1, 528 | 1, 529 | 1, 530 | 1, 531 | 1, 532 | 1, 533 | 1, 534 | 1, 535 | 1, 536 | 1, 537 | 1, 538 | 1, 539 | 1, 540 | 1, 541 | 1, 542 | 1, 543 | 1, 544 | 1, 545 | 1, 546 | 1, 547 | 1, 548 | 1, 549 | 1, 550 | 1, 551 | 1, 552 | 1, 553 | 1, 554 | 1, 555 | 1, 556 | 1, 557 | 1, 558 | 1, 559 | 1, 560 | 1, 561 | 1, 562 | 1, 563 | 1, 564 | 1, 565 | 1, 566 | 1, 567 | 1, 568 | 1, 569 | 1, 570 | 1, 571 | 1, 572 | 1, 573 | 1, 574 | 1, 575 | 1, 576 | 1, 577 | 1, 578 | 1, 579 | 1, 580 | 1, 581 | 1, 582 | 1, 583 | 1, 584 | 1, 585 | 1, 586 | 1, 587 | 1, 588 | 1, 589 | 1, 590 | 1, 591 | 1, 592 | 1, 593 | 1, 594 | 1, 595 | 1, 596 | 1, 597 | 1, 598 | 1, 599 | 1, 600 | 1, 601 | 1, 602 | 1, 603 | 1, 604 | 1, 605 | 1, 606 | 1, 607 | 1, 608 | 1, 609 | 1, 610 | 1, 611 | 1, 612 | 1, 613 | 1, 614 | 1, 615 | 1, 616 | 1, 617 | 1, 618 | 1, 619 | 1, 620 | 1, 621 | 1, 622 | 1, 623 | 1, 624 | 1, 625 | 1, 626 | 1, 627 | 1, 628 | 1, 629 | 1, 630 | 1, 631 | 1, 632 | 1, 633 | 1, 634 | 1, 635 | 1, 636 | 1, 637 | 1, 638 | 1, 639 | 1, 640 | 1, 641 | 1, 642 | 1, 643 | 1, 644 | 1, 645 | 1, 646 | 1, 647 | 1, 648 | 1, 649 | 1, 650 | 1, 651 | 1, 652 | 1, 653 | 1, 654 | 1, 655 | 1, 656 | 1, 657 | 1, 658 | 1, 659 | 1, 660 | 1, 661 | 1, 662 | 1, 663 | 1, 664 | 1, 665 | 1, 666 | 1, 667 | 1, 668 | 1, 669 | 1, 670 | 1, 671 | 1, 672 | 1, 673 | 1, 674 | 1, 675 | 1, 676 | 1, 677 | 1, 678 | 1, 679 | 1, 680 | 1, 681 | 1, 682 | 1, 683 | 1, 684 | 1, 685 | 1, 686 | 1, 687 | 1, 688 | 1, 689 | 1, 690 | 1, 691 | 1, 692 | 1, 693 | 1, 694 | 1, 695 | 1, 696 | 1, 697 | 1, 698 | 1, 699 | 1, 700 | 1, 701 | 1, 702 | 1, 703 | 1, 704 | 1, 705 | 1, 706 | 1, 707 | 1, 708 | 1, 709 | 1, 710 | 1, 711 | 1, 712 | 1, 713 | 1, 714 | 1, 715 | 1, 716 | 1, 717 | 1, 718 | 1, 719 | 1, 720 | 1, 721 | 1, 722 | 1, 723 | 1, 724 | 1, 725 | 1, 726 | 1, 727 | 1, 728 | 1, 729 | 1, 730 | 1, 731 | 1, 732 | 1, 733 | 1, 734 | 1, 735 | 1, 736 | 1, 737 | 1, 738 | 1, 739 | 1, 740 | 1, 741 | 1, 742 | 1, 743 | 1, 744 | 1, 745 | 1, 746 | 1, 747 | 1, 748 | 1, 749 | 1, 750 | 1, 751 | 1, 752 | 1, 753 | 1, 754 | 1, 755 | 1, 756 | 1, 757 | 1, 758 | 1, 759 | 1, 760 | 1, 761 | 1, 762 | 1, 763 | 1, 764 | 1, 765 | 1, 766 | 1, 767 | 1, 768 | 1, 769 | 1, 770 | 1, 771 | 1, 772 | 1, 773 | 1, 774 | 1, 775 | 1, 776 | 1, 777 | 1, 778 | 1, 779 | 1, 780 | 1, 781 | 1, 782 | 1, 783 | 1, 784 | 1, 785 | 1, 786 | 1, 787 | 1, 788 | 1, 789 | 1, 790 | 1, 791 | 1, 792 | 1, 793 | 1, 794 | 1, 795 | 1, 796 | 1, 797 | 1, 798 | 1, 799 | 1, 800 | 1, 801 | 1, 802 | 1, 803 | 1, 804 | 1, 805 | 1, 806 | 1, 807 | 1, 808 | 1, 809 | 1, 810 | 1, 811 | 1, 812 | 1, 813 | 1, 814 | 1, 815 | 1, 816 | 1, 817 | 1, 818 | 1, 819 | 1, 820 | 1, 821 | 1, 822 | 1, 823 | 1, 824 | 1, 825 | 1, 826 | 1, 827 | 1, 828 | 1, 829 | 1, 830 | 1, 831 | 1, 832 | 1, 833 | 1, 834 | 1, 835 | 1, 836 | 1, 837 | 1, 838 | 1, 839 | 1, 840 | 1, 841 | 1, 842 | 1, 843 | 1, 844 | 1, 845 | 1, 846 | 1, 847 | 1, 848 | 1, 849 | 1, 850 | 1, 851 | 1, 852 | 1, 853 | 1, 854 | 1, 855 | 1, 856 | 1, 857 | 1, 858 | 1, 859 | 1, 860 | 1, 861 | 1, 862 | 1, 863 | 1, 864 | 1, 865 | 1, 866 | 1, 867 | 1, 868 | 1, 869 | 1, 870 | 1, 871 | 1, 872 | 1, 873 | 1, 874 | 1, 875 | 1, 876 | 1, 877 | 1, 878 | 1, 879 | 1, 880 | 1, 881 | 1, 882 | 1, 883 | 1, 884 | 1, 885 | 1, 886 | 1, 887 | 1, 888 | 1, 889 | 1, 890 | 1, 891 | 1, 892 | 1, 893 | 1, 894 | 1, 895 | 1, 896 | 1, 897 | 1, 898 | 1, 899 | 1, 900 | 1, 901 | 1, 902 | 1, 903 | 1, 904 | 1, 905 | 1, 906 | 1, 907 | 1, 908 | 1, 909 | 1, 910 | 1, 911 | 1, 912 | 1, 913 | 1, 914 | 1, 915 | 1, 916 | 1, 917 | 1, 918 | 1, 919 | 1, 920 | 1, 921 | 1, 922 | 1, 923 | 1, 924 | 1, 925 | 1, 926 | 1, 927 | 1, 928 | 1, 929 | 1, 930 | 1, 931 | 1, 932 | 1, 933 | 1, 934 | 1, 935 | 1, 936 | 1, 937 | 1, 938 | 1, 939 | 1, 940 | 1, 941 | 1, 942 | 1, 943 | 1, 944 | 1, 945 | 1, 946 | 1, 947 | 1, 948 | 1, 949 | 1, 950 | 1, 951 | 1, 952 | 1, 953 | 1, 954 | 1, 955 | 1, 956 | 1, 957 | 1, 958 | 1, 959 | 1, 960 | 1, 961 | 1, 962 | 1, 963 | 1, 964 | 1, 965 | 1, 966 | 1, 967 | 1, 968 | 1, 969 | 1, 970 | 1, 971 | 1, 972 | 1, 973 | 1, 974 | 1, 975 | 1, 976 | 1, 977 | 1, 978 | 1, 979 | 1, 980 | 1, 981 | 1, 982 | 1, 983 | 1, 984 | 1, 985 | 1, 986 | 1, 987 | 1, 988 | 1, 989 | 1, 990 | 1, 991 | 1, 992 | 1, 993 | 1, 994 | 1, 995 | 1, 996 | 1, 997 | 1, 998 | 1, 999 | 1, 1000 | 1, 1001 | 1, 1002 | 1, 1003 | 1, 1004 | 1, 1005 | 1, 1006 | 1, 1007 | 1, 1008 | 1, 1009 | 1, 1010 | 1, 1011 | 1, 1012 | 1, 1013 | 1, 1014 | 1, 1015 | 1, 1016 | 1, 1017 | 1, 1018 | 1, 1019 | 1, 1020 | 1, 1021 | 1, 1022 | 1, 1023 | 1, 1024 | 1, 1025 | 1, 1026 | 1, 1027 | 1, 1028 | 1, 1029 | 1, 1030 | 1, 1031 | 1, 1032 | 1, 1033 | 1, 1034 | 1, 1035 | 1, 1036 | 1, 1037 | 1, 1038 | 1, 1039 | 1, 1040 | 1, 1041 | 1, 1042 | 1, 1043 | 1, 1044 | 1, 1045 | 1, 1046 | 1, 1047 | 1, 1048 | 1, 1049 | 1, 1050 | 1, 1051 | 1, 1052 | 1, 1053 | 1, 1054 | 1, 1055 | 1, 1056 | 1, 1057 | 1, 1058 | 1, 1059 | 1, 1060 | 1, 1061 | 1, 1062 | 1, 1063 | 1, 1064 | 1, 1065 | 1, 1066 | 1, 1067 | 1, 1068 | 1, 1069 | 1, 1070 | 1, 1071 | 1, 1072 | 1, 1073 | 1, 1074 | 1, 1075 | 1, 1076 | 1, 1077 | 1, 1078 | 1, 1079 | 1, 1080 | 1, 1081 | 1, 1082 | 1, 1083 | 1, 1084 | 1, 1085 | 1, 1086 | 1, 1087 | 1, 1088 | 1, 1089 | 1, 1090 | 1, 1091 | 1, 1092 | 1, 1093 | 1, 1094 | 1, 1095 | 1, 1096 | 1, 1097 | 1, 1098 | 1, 1099 | 1, 1100 | 1, 1101 | 1, 1102 | 1, 1103 | 1, 1104 | 1, 1105 | 1, 1106 | 1, 1107 | 1, 1108 | 1, 1109 | 1, 1110 | 1, 1111 | 1, 1112 | 1, 1113 | 1, 1114 | 1, 1115 | 1, 1116 | 1, 1117 | 1, 1118 | 1, 1119 | 1, 1120 | 1, 1121 | 1, 1122 | 1, 1123 | 1, 1124 | 1, 1125 | 1, 1126 | 1, 1127 | 1, 1128 | 1, 1129 | 1, 1130 | 1, 1131 | 1, 1132 | 1, 1133 | 1, 1134 | 1, 1135 | 1, 1136 | 1, 1137 | 1, 1138 | 1, 1139 | 1, 1140 | 1, 1141 | 1, 1142 | 1, 1143 | 1, 1144 | 1, 1145 | 1, 1146 | 1, 1147 | 1, 1148 | 1, 1149 | 1, 1150 | 1, 1151 | 1, 1152 | 1, 1153 | 1, 1154 | 1, 1155 | 1, 1156 | 1, 1157 | 1, 1158 | 1, 1159 | 1, 1160 | 1, 1161 | 1, 1162 | 1, 1163 | 1, 1164 | 1, 1165 | 1, 1166 | 1, 1167 | 1, 1168 | 1, 1169 | 1, 1170 | 1, 1171 | 1, 1172 | 1, 1173 | 1, 1174 | 1, 1175 | 1, 1176 | 1, 1177 | 1, 1178 | 1, 1179 | 1, 1180 | 1, 1181 | 1, 1182 | 1, 1183 | 1, 1184 | 1, 1185 | 1, 1186 | 1, 1187 | 1, 1188 | 1, 1189 | 1, 1190 | 1, 1191 | 1, 1192 | 1, 1193 | 1, 1194 | 1, 1195 | 1, 1196 | 1, 1197 | 1, 1198 | 1, 1199 | 1, 1200 | 1, 1201 | 1, 1202 | 1, 1203 | 1, 1204 | 1, 1205 | 1, 1206 | 1, 1207 | 1, 1208 | 1, 1209 | 1, 1210 | 1, 1211 | 1, 1212 | 1, 1213 | 1, 1214 | 1, 1215 | 1, 1216 | 1, 1217 | 1, 1218 | 1, 1219 | 1, 1220 | 0, 1221 | 0, 1222 | 0, 1223 | 0, 1224 | 0, 1225 | 0, 1226 | 0, 1227 | 1, 1228 | 1, 1229 | 1, 1230 | 1, 1231 | 1, 1232 | 1, 1233 | 1, 1234 | 1, 1235 | 1, 1236 | 1, 1237 | 1, 1238 | 1, 1239 | 1, 1240 | 1, 1241 | 1, 1242 | 1, 1243 | 1, 1244 | 1, 1245 | 1, 1246 | 1, 1247 | 1, 1248 | 1, 1249 | 1, 1250 | 1, 1251 | 1, 1252 | 1, 1253 | 1, 1254 | 1, 1255 | 1, 1256 | 1, 1257 | 1, 1258 | 1, 1259 | 1, 1260 | 1, 1261 | 1, 1262 | 1, 1263 | 1, 1264 | 1, 1265 | 1, 1266 | 1, 1267 | 1, 1268 | 1, 1269 | 1, 1270 | 1, 1271 | 1, 1272 | 1, 1273 | 1, 1274 | 1, 1275 | 1, 1276 | 1, 1277 | 0, 1278 | 0, 1279 | 0, 1280 | 0, 1281 | 0, 1282 | 0, 1283 | 0, 1284 | 0, 1285 | 0, 1286 | 0, 1287 | 0, 1288 | 0, 1289 | 1, 1290 | 1, 1291 | 1, 1292 | 1, 1293 | 1, 1294 | 1, 1295 | 1, 1296 | 1, 1297 | 1, 1298 | 1, 1299 | 1, 1300 | 1, 1301 | 1, 1302 | 1, 1303 | 1, 1304 | 1, 1305 | 1, 1306 | 1, 1307 | 1, 1308 | 1, 1309 | 1, 1310 | 1, 1311 | 1, 1312 | 1, 1313 | 1, 1314 | 1, 1315 | 1, 1316 | 1, 1317 | 1, 1318 | 1, 1319 | 1, 1320 | 1, 1321 | 1, 1322 | 1, 1323 | 1, 1324 | 1, 1325 | 1, 1326 | 1, 1327 | 1, 1328 | 1, 1329 | 1, 1330 | 1, 1331 | 1, 1332 | 1, 1333 | 1, 1334 | 1, 1335 | 0, 1336 | 0, 1337 | 0, 1338 | 0, 1339 | 0, 1340 | 0, 1341 | 0, 1342 | 0, 1343 | 0, 1344 | 0, 1345 | 0, 1346 | 0, 1347 | 0, 1348 | 0, 1349 | 0, 1350 | 1, 1351 | 1, 1352 | 1, 1353 | 1, 1354 | 1, 1355 | 1, 1356 | 1, 1357 | 1, 1358 | 1, 1359 | 1, 1360 | 1, 1361 | 1, 1362 | 1, 1363 | 1, 1364 | 1, 1365 | 1, 1366 | 1, 1367 | 1, 1368 | 1, 1369 | 1, 1370 | 1, 1371 | 1, 1372 | 1, 1373 | 1, 1374 | 1, 1375 | 1, 1376 | 1, 1377 | 1, 1378 | 1, 1379 | 1, 1380 | 1, 1381 | 1, 1382 | 1, 1383 | 1, 1384 | 1, 1385 | 1, 1386 | 1, 1387 | 1, 1388 | 1, 1389 | 1, 1390 | 1, 1391 | 1, 1392 | 1, 1393 | 1, 1394 | 1, 1395 | 0, 1396 | 0, 1397 | 0, 1398 | 0, 1399 | 0, 1400 | 0, 1401 | 0, 1402 | 0, 1403 | 0, 1404 | 0, 1405 | 0, 1406 | 0, 1407 | 0, 1408 | 0, 1409 | 0, 1410 | 1, 1411 | 1, 1412 | 1, 1413 | 1, 1414 | 1, 1415 | 1, 1416 | 1, 1417 | 1, 1418 | 1, 1419 | 1, 1420 | 1, 1421 | 1, 1422 | 1, 1423 | 1, 1424 | 1, 1425 | 1, 1426 | 1, 1427 | 1, 1428 | 1, 1429 | 1, 1430 | 1, 1431 | 1, 1432 | 1, 1433 | 1, 1434 | 1, 1435 | 1, 1436 | 1, 1437 | 1, 1438 | 1, 1439 | 1, 1440 | 1, 1441 | 1, 1442 | 1, 1443 | 1, 1444 | 1, 1445 | 1, 1446 | 1, 1447 | 1, 1448 | 1, 1449 | 1, 1450 | 1, 1451 | 1, 1452 | 1, 1453 | 1, 1454 | 1, 1455 | 0, 1456 | 0, 1457 | 0, 1458 | 1, 1459 | 1, 1460 | 1, 1461 | 1, 1462 | 1, 1463 | 1, 1464 | 0, 1465 | 0, 1466 | 0, 1467 | 0, 1468 | 0, 1469 | 0, 1470 | 1, 1471 | 1, 1472 | 1, 1473 | 1, 1474 | 1, 1475 | 1, 1476 | 1, 1477 | 1, 1478 | 1, 1479 | 1, 1480 | 1, 1481 | 1, 1482 | 1, 1483 | 1, 1484 | 1, 1485 | 1, 1486 | 1, 1487 | 1, 1488 | 1, 1489 | 1, 1490 | 1, 1491 | 1, 1492 | 1, 1493 | 1, 1494 | 1, 1495 | 1, 1496 | 1, 1497 | 1, 1498 | 1, 1499 | 1, 1500 | 1, 1501 | 1, 1502 | 1, 1503 | 1, 1504 | 1, 1505 | 1, 1506 | 1, 1507 | 1, 1508 | 1, 1509 | 1, 1510 | 1, 1511 | 1, 1512 | 1, 1513 | 1, 1514 | 0, 1515 | 1, 1516 | 1, 1517 | 1, 1518 | 1, 1519 | 1, 1520 | 1, 1521 | 1, 1522 | 1, 1523 | 1, 1524 | 1, 1525 | 0, 1526 | 0, 1527 | 0, 1528 | 0, 1529 | 0, 1530 | 1, 1531 | 1, 1532 | 1, 1533 | 1, 1534 | 1, 1535 | 1, 1536 | 1, 1537 | 1, 1538 | 1, 1539 | 1, 1540 | 1, 1541 | 1, 1542 | 1, 1543 | 1, 1544 | 1, 1545 | 1, 1546 | 1, 1547 | 1, 1548 | 1, 1549 | 1, 1550 | 1, 1551 | 1, 1552 | 1, 1553 | 1, 1554 | 1, 1555 | 1, 1556 | 1, 1557 | 1, 1558 | 1, 1559 | 1, 1560 | 1, 1561 | 1, 1562 | 1, 1563 | 1, 1564 | 1, 1565 | 1, 1566 | 1, 1567 | 1, 1568 | 1, 1569 | 1, 1570 | 1, 1571 | 1, 1572 | 1, 1573 | 1, 1574 | 1, 1575 | 1, 1576 | 1, 1577 | 1, 1578 | 1, 1579 | 1, 1580 | 1, 1581 | 1, 1582 | 1, 1583 | 1, 1584 | 1, 1585 | 0, 1586 | 0, 1587 | 0, 1588 | 0, 1589 | 0, 1590 | 1, 1591 | 1, 1592 | 1, 1593 | 1, 1594 | 1, 1595 | 1, 1596 | 1, 1597 | 1, 1598 | 1, 1599 | 1, 1600 | 1, 1601 | 1, 1602 | 1, 1603 | 1, 1604 | 1, 1605 | 1, 1606 | 1, 1607 | 1, 1608 | 1, 1609 | 1, 1610 | 1, 1611 | 1, 1612 | 1, 1613 | 1, 1614 | 1, 1615 | 1, 1616 | 1, 1617 | 1, 1618 | 1, 1619 | 1, 1620 | 1, 1621 | 1, 1622 | 1, 1623 | 1, 1624 | 1, 1625 | 1, 1626 | 1, 1627 | 1, 1628 | 1, 1629 | 1, 1630 | 1, 1631 | 1, 1632 | 1, 1633 | 1, 1634 | 1, 1635 | 1, 1636 | 1, 1637 | 1, 1638 | 1, 1639 | 1, 1640 | 1, 1641 | 1, 1642 | 1, 1643 | 1, 1644 | 1, 1645 | 0, 1646 | 0, 1647 | 0, 1648 | 0, 1649 | 0, 1650 | 1, 1651 | 1, 1652 | 1, 1653 | 1, 1654 | 1, 1655 | 1, 1656 | 1, 1657 | 1, 1658 | 1, 1659 | 1, 1660 | 1, 1661 | 1, 1662 | 1, 1663 | 1, 1664 | 1, 1665 | 1, 1666 | 1, 1667 | 1, 1668 | 1, 1669 | 1, 1670 | 1, 1671 | 1, 1672 | 1, 1673 | 1, 1674 | 1, 1675 | 1, 1676 | 1, 1677 | 1, 1678 | 1, 1679 | 1, 1680 | 1, 1681 | 1, 1682 | 1, 1683 | 1, 1684 | 1, 1685 | 1, 1686 | 1, 1687 | 1, 1688 | 1, 1689 | 1, 1690 | 1, 1691 | 1, 1692 | 1, 1693 | 1, 1694 | 1, 1695 | 1, 1696 | 1, 1697 | 1, 1698 | 1, 1699 | 1, 1700 | 1, 1701 | 1, 1702 | 1, 1703 | 1, 1704 | 0, 1705 | 0, 1706 | 0, 1707 | 0, 1708 | 0, 1709 | 1, 1710 | 1, 1711 | 1, 1712 | 1, 1713 | 1, 1714 | 1, 1715 | 1, 1716 | 1, 1717 | 1, 1718 | 1, 1719 | 1, 1720 | 1, 1721 | 1, 1722 | 1, 1723 | 1, 1724 | 1, 1725 | 1, 1726 | 1, 1727 | 1, 1728 | 1, 1729 | 1, 1730 | 1, 1731 | 1, 1732 | 1, 1733 | 1, 1734 | 1, 1735 | 1, 1736 | 1, 1737 | 1, 1738 | 1, 1739 | 1, 1740 | 1, 1741 | 1, 1742 | 1, 1743 | 1, 1744 | 1, 1745 | 1, 1746 | 1, 1747 | 1, 1748 | 1, 1749 | 1, 1750 | 1, 1751 | 1, 1752 | 1, 1753 | 1, 1754 | 1, 1755 | 1, 1756 | 1, 1757 | 1, 1758 | 1, 1759 | 1, 1760 | 1, 1761 | 1, 1762 | 1, 1763 | 1, 1764 | 0, 1765 | 0, 1766 | 0, 1767 | 0, 1768 | 0, 1769 | 1, 1770 | 1, 1771 | 1, 1772 | 1, 1773 | 1, 1774 | 1, 1775 | 1, 1776 | 1, 1777 | 1, 1778 | 1, 1779 | 1, 1780 | 1, 1781 | 1, 1782 | 1, 1783 | 1, 1784 | 1, 1785 | 1, 1786 | 1, 1787 | 1, 1788 | 1, 1789 | 1, 1790 | 1, 1791 | 1, 1792 | 1, 1793 | 1, 1794 | 1, 1795 | 1, 1796 | 1, 1797 | 1, 1798 | 1, 1799 | 1, 1800 | 1, 1801 | 1, 1802 | 1, 1803 | 1, 1804 | 1, 1805 | 1, 1806 | 1, 1807 | 1, 1808 | 1, 1809 | 1, 1810 | 1, 1811 | 1, 1812 | 1, 1813 | 1, 1814 | 1, 1815 | 1, 1816 | 1, 1817 | 1, 1818 | 1, 1819 | 1, 1820 | 1, 1821 | 1, 1822 | 1, 1823 | 0, 1824 | 0, 1825 | 0, 1826 | 0, 1827 | 0, 1828 | 1, 1829 | 1, 1830 | 1, 1831 | 1, 1832 | 1, 1833 | 1, 1834 | 1, 1835 | 1, 1836 | 1, 1837 | 1, 1838 | 1, 1839 | 1, 1840 | 1, 1841 | 1, 1842 | 1, 1843 | 1, 1844 | 1, 1845 | 1, 1846 | 1, 1847 | 1, 1848 | 1, 1849 | 1, 1850 | 1, 1851 | 1, 1852 | 1, 1853 | 1, 1854 | 1, 1855 | 1, 1856 | 1, 1857 | 1, 1858 | 1, 1859 | 1, 1860 | 1, 1861 | 1, 1862 | 1, 1863 | 1, 1864 | 1, 1865 | 1, 1866 | 1, 1867 | 1, 1868 | 1, 1869 | 1, 1870 | 1, 1871 | 1, 1872 | 1, 1873 | 1, 1874 | 1, 1875 | 1, 1876 | 1, 1877 | 1, 1878 | 1, 1879 | 1, 1880 | 1, 1881 | 1, 1882 | 1, 1883 | 0, 1884 | 0, 1885 | 0, 1886 | 0, 1887 | 0, 1888 | 1, 1889 | 1, 1890 | 1, 1891 | 1, 1892 | 1, 1893 | 1, 1894 | 1, 1895 | 1, 1896 | 1, 1897 | 1, 1898 | 1, 1899 | 1, 1900 | 1, 1901 | 1, 1902 | 1, 1903 | 1, 1904 | 1, 1905 | 1, 1906 | 1, 1907 | 1, 1908 | 1, 1909 | 1, 1910 | 1, 1911 | 1, 1912 | 1, 1913 | 1, 1914 | 1, 1915 | 1, 1916 | 1, 1917 | 1, 1918 | 1, 1919 | 1, 1920 | 1, 1921 | 1, 1922 | 1, 1923 | 1, 1924 | 1, 1925 | 1, 1926 | 1, 1927 | 1, 1928 | 1, 1929 | 1, 1930 | 1, 1931 | 1, 1932 | 1, 1933 | 1, 1934 | 1, 1935 | 1, 1936 | 1, 1937 | 1, 1938 | 1, 1939 | 1, 1940 | 1, 1941 | 1, 1942 | 0, 1943 | 0, 1944 | 0, 1945 | 0, 1946 | 0, 1947 | 1, 1948 | 1, 1949 | 1, 1950 | 1, 1951 | 1, 1952 | 1, 1953 | 1, 1954 | 1, 1955 | 1, 1956 | 1, 1957 | 1, 1958 | 1, 1959 | 1, 1960 | 1, 1961 | 1, 1962 | 1, 1963 | 1, 1964 | 1, 1965 | 1, 1966 | 1, 1967 | 1, 1968 | 1, 1969 | 1, 1970 | 1, 1971 | 1, 1972 | 1, 1973 | 1, 1974 | 1, 1975 | 1, 1976 | 1, 1977 | 1, 1978 | 1, 1979 | 1, 1980 | 1, 1981 | 1, 1982 | 1, 1983 | 1, 1984 | 1, 1985 | 1, 1986 | 1, 1987 | 1, 1988 | 1, 1989 | 1, 1990 | 1, 1991 | 1, 1992 | 1, 1993 | 1, 1994 | 1, 1995 | 1, 1996 | 1, 1997 | 1, 1998 | 1, 1999 | 1, 2000 | 1, 2001 | 0, 2002 | 0, 2003 | 0, 2004 | 0, 2005 | 0, 2006 | 1, 2007 | 1, 2008 | 1, 2009 | 1, 2010 | 1, 2011 | 1, 2012 | 1, 2013 | 1, 2014 | 1, 2015 | 1, 2016 | 1, 2017 | 1, 2018 | 1, 2019 | 1, 2020 | 1, 2021 | 1, 2022 | 1, 2023 | 1, 2024 | 1, 2025 | 1, 2026 | 1, 2027 | 1, 2028 | 1, 2029 | 1, 2030 | 1, 2031 | 1, 2032 | 1, 2033 | 1, 2034 | 1, 2035 | 1, 2036 | 1, 2037 | 1, 2038 | 1, 2039 | 1, 2040 | 1, 2041 | 1, 2042 | 1, 2043 | 1, 2044 | 1, 2045 | 1, 2046 | 1, 2047 | 1, 2048 | 1, 2049 | 1, 2050 | 1, 2051 | 1, 2052 | 1, 2053 | 1, 2054 | 1, 2055 | 1, 2056 | 1, 2057 | 1, 2058 | 1, 2059 | 0, 2060 | 0, 2061 | 0, 2062 | 0, 2063 | 0, 2064 | 0, 2065 | 1, 2066 | 1, 2067 | 1, 2068 | 1, 2069 | 1, 2070 | 1, 2071 | 1, 2072 | 1, 2073 | 1, 2074 | 1, 2075 | 1, 2076 | 1, 2077 | 1, 2078 | 1, 2079 | 1, 2080 | 1, 2081 | 1, 2082 | 1, 2083 | 1, 2084 | 1, 2085 | 1, 2086 | 1, 2087 | 1, 2088 | 1, 2089 | 1, 2090 | 1, 2091 | 1, 2092 | 1, 2093 | 1, 2094 | 1, 2095 | 1, 2096 | 1, 2097 | 1, 2098 | 1, 2099 | 1, 2100 | 1, 2101 | 1, 2102 | 1, 2103 | 1, 2104 | 1, 2105 | 1, 2106 | 1, 2107 | 1, 2108 | 1, 2109 | 1, 2110 | 1, 2111 | 1, 2112 | 1, 2113 | 1, 2114 | 1, 2115 | 1, 2116 | 1, 2117 | 1, 2118 | 0, 2119 | 0, 2120 | 0, 2121 | 0, 2122 | 0, 2123 | 0, 2124 | 1, 2125 | 1, 2126 | 1, 2127 | 1, 2128 | 1, 2129 | 1, 2130 | 1, 2131 | 1, 2132 | 1, 2133 | 1, 2134 | 1, 2135 | 1, 2136 | 1, 2137 | 1, 2138 | 1, 2139 | 1, 2140 | 1, 2141 | 1, 2142 | 1, 2143 | 1, 2144 | 1, 2145 | 1, 2146 | 1, 2147 | 1, 2148 | 1, 2149 | 1, 2150 | 1, 2151 | 1, 2152 | 1, 2153 | 1, 2154 | 1, 2155 | 1, 2156 | 1, 2157 | 1, 2158 | 1, 2159 | 1, 2160 | 1, 2161 | 1, 2162 | 1, 2163 | 1, 2164 | 1, 2165 | 1, 2166 | 1, 2167 | 1, 2168 | 1, 2169 | 1, 2170 | 1, 2171 | 1, 2172 | 1, 2173 | 1, 2174 | 1, 2175 | 1, 2176 | 1, 2177 | 0, 2178 | 0, 2179 | 0, 2180 | 0, 2181 | 0, 2182 | 0, 2183 | 1, 2184 | 1, 2185 | 1, 2186 | 1, 2187 | 1, 2188 | 1, 2189 | 1, 2190 | 1, 2191 | 1, 2192 | 1, 2193 | 1, 2194 | 1, 2195 | 1, 2196 | 1, 2197 | 1, 2198 | 1, 2199 | 1, 2200 | 1, 2201 | 1, 2202 | 1, 2203 | 1, 2204 | 1, 2205 | 1, 2206 | 1, 2207 | 1, 2208 | 1, 2209 | 1, 2210 | 1, 2211 | 1, 2212 | 1, 2213 | 1, 2214 | 1, 2215 | 1, 2216 | 1, 2217 | 1, 2218 | 1, 2219 | 1, 2220 | 1, 2221 | 1, 2222 | 1, 2223 | 1, 2224 | 1, 2225 | 1, 2226 | 1, 2227 | 1, 2228 | 1, 2229 | 1, 2230 | 1, 2231 | 1, 2232 | 1, 2233 | 1, 2234 | 1, 2235 | 0, 2236 | 0, 2237 | 0, 2238 | 0, 2239 | 0, 2240 | 0, 2241 | 1, 2242 | 1, 2243 | 1, 2244 | 1, 2245 | 1, 2246 | 1, 2247 | 1, 2248 | 1, 2249 | 1, 2250 | 1, 2251 | 1, 2252 | 1, 2253 | 1, 2254 | 1, 2255 | 1, 2256 | 1, 2257 | 1, 2258 | 1, 2259 | 1, 2260 | 1, 2261 | 1, 2262 | 1, 2263 | 1, 2264 | 1, 2265 | 1, 2266 | 1, 2267 | 1, 2268 | 1, 2269 | 1, 2270 | 1, 2271 | 1, 2272 | 1, 2273 | 1, 2274 | 1, 2275 | 1, 2276 | 1, 2277 | 1, 2278 | 1, 2279 | 1, 2280 | 1, 2281 | 1, 2282 | 1, 2283 | 1, 2284 | 1, 2285 | 1, 2286 | 1, 2287 | 1, 2288 | 1, 2289 | 1, 2290 | 1, 2291 | 1, 2292 | 1, 2293 | 1, 2294 | 0, 2295 | 0, 2296 | 0, 2297 | 0, 2298 | 0, 2299 | 0, 2300 | 1, 2301 | 1, 2302 | 1, 2303 | 1, 2304 | 1, 2305 | 1, 2306 | 1, 2307 | 1, 2308 | 1, 2309 | 1, 2310 | 1, 2311 | 1, 2312 | 1, 2313 | 1, 2314 | 1, 2315 | 1, 2316 | 1, 2317 | 1, 2318 | 1, 2319 | 1, 2320 | 1, 2321 | 1, 2322 | 1, 2323 | 1, 2324 | 1, 2325 | 1, 2326 | 1, 2327 | 1, 2328 | 1, 2329 | 1, 2330 | 1, 2331 | 1, 2332 | 1, 2333 | 1, 2334 | 1, 2335 | 1, 2336 | 1, 2337 | 1, 2338 | 1, 2339 | 1, 2340 | 1, 2341 | 1, 2342 | 1, 2343 | 1, 2344 | 1, 2345 | 1, 2346 | 1, 2347 | 1, 2348 | 1, 2349 | 1, 2350 | 1, 2351 | 1, 2352 | 1, 2353 | 0, 2354 | 0, 2355 | 0, 2356 | 0, 2357 | 0, 2358 | 1, 2359 | 1, 2360 | 1, 2361 | 1, 2362 | 1, 2363 | 1, 2364 | 1, 2365 | 1, 2366 | 1, 2367 | 1, 2368 | 1, 2369 | 1, 2370 | 1, 2371 | 1, 2372 | 1, 2373 | 1, 2374 | 1, 2375 | 1, 2376 | 1, 2377 | 1, 2378 | 1, 2379 | 1, 2380 | 1, 2381 | 1, 2382 | 1, 2383 | 1, 2384 | 1, 2385 | 1, 2386 | 1, 2387 | 1, 2388 | 1, 2389 | 1, 2390 | 1, 2391 | 1, 2392 | 1, 2393 | 1, 2394 | 1, 2395 | 1, 2396 | 1, 2397 | 1, 2398 | 1, 2399 | 1, 2400 | 1, 2401 | 1, 2402 | 1, 2403 | 1, 2404 | 1, 2405 | 1, 2406 | 1, 2407 | 1, 2408 | 1, 2409 | 1, 2410 | 1, 2411 | 0, 2412 | 0, 2413 | 0, 2414 | 0, 2415 | 0, 2416 | 0, 2417 | 1, 2418 | 1, 2419 | 1, 2420 | 1, 2421 | 1, 2422 | 1, 2423 | 1, 2424 | 1, 2425 | 1, 2426 | 1, 2427 | 1, 2428 | 1, 2429 | 1, 2430 | 1, 2431 | 1, 2432 | 1, 2433 | 1, 2434 | 1, 2435 | 1, 2436 | 1, 2437 | 1, 2438 | 1, 2439 | 1, 2440 | 1, 2441 | 1, 2442 | 1, 2443 | 1, 2444 | 1, 2445 | 1, 2446 | 1, 2447 | 1, 2448 | 1, 2449 | 1, 2450 | 1, 2451 | 1, 2452 | 1, 2453 | 1, 2454 | 1, 2455 | 1, 2456 | 1, 2457 | 1, 2458 | 1, 2459 | 1, 2460 | 1, 2461 | 1, 2462 | 1, 2463 | 1, 2464 | 1, 2465 | 1, 2466 | 1, 2467 | 1, 2468 | 1, 2469 | 1, 2470 | 0, 2471 | 0, 2472 | 0, 2473 | 0, 2474 | 0, 2475 | 0, 2476 | 1, 2477 | 1, 2478 | 1, 2479 | 1, 2480 | 1, 2481 | 1, 2482 | 1, 2483 | 1, 2484 | 1, 2485 | 1, 2486 | 1, 2487 | 1, 2488 | 1, 2489 | 1, 2490 | 1, 2491 | 1, 2492 | 1, 2493 | 1, 2494 | 1, 2495 | 1, 2496 | 1, 2497 | 1, 2498 | 1, 2499 | 1, 2500 | 1, 2501 | 1, 2502 | 1, 2503 | 1, 2504 | 1, 2505 | 1, 2506 | 1, 2507 | 1, 2508 | 1, 2509 | 1, 2510 | 1, 2511 | 1, 2512 | 1, 2513 | 1, 2514 | 1, 2515 | 1, 2516 | 1, 2517 | 1, 2518 | 1, 2519 | 1, 2520 | 1, 2521 | 1, 2522 | 1, 2523 | 1, 2524 | 1, 2525 | 1, 2526 | 1, 2527 | 1, 2528 | 1, 2529 | 0, 2530 | 0, 2531 | 0, 2532 | 0, 2533 | 0, 2534 | 1, 2535 | 1, 2536 | 1, 2537 | 1, 2538 | 1, 2539 | 1, 2540 | 1, 2541 | 1, 2542 | 1, 2543 | 1, 2544 | 1, 2545 | 1, 2546 | 1, 2547 | 1, 2548 | 1, 2549 | 1, 2550 | 1, 2551 | 1, 2552 | 1, 2553 | 1, 2554 | 1, 2555 | 1, 2556 | 1, 2557 | 1, 2558 | 1, 2559 | 1, 2560 | 1, 2561 | 1, 2562 | 1, 2563 | 1, 2564 | 1, 2565 | 1, 2566 | 1, 2567 | 1, 2568 | 1, 2569 | 1, 2570 | 1, 2571 | 1, 2572 | 1, 2573 | 1, 2574 | 1, 2575 | 1, 2576 | 1, 2577 | 1, 2578 | 1, 2579 | 1, 2580 | 1, 2581 | 1, 2582 | 1, 2583 | 1, 2584 | 1, 2585 | 1, 2586 | 1, 2587 | 0, 2588 | 0, 2589 | 0, 2590 | 0, 2591 | 0, 2592 | 0, 2593 | 1, 2594 | 1, 2595 | 1, 2596 | 1, 2597 | 1, 2598 | 1, 2599 | 1, 2600 | 1, 2601 | 1, 2602 | 1, 2603 | 1, 2604 | 1, 2605 | 1, 2606 | 1, 2607 | 1, 2608 | 1, 2609 | 1, 2610 | 1, 2611 | 1, 2612 | 1, 2613 | 1, 2614 | 1, 2615 | 1, 2616 | 1, 2617 | 1, 2618 | 1, 2619 | 1, 2620 | 1, 2621 | 1, 2622 | 1, 2623 | 1, 2624 | 1, 2625 | 1, 2626 | 1, 2627 | 1, 2628 | 1, 2629 | 1, 2630 | 1, 2631 | 1, 2632 | 1, 2633 | 1, 2634 | 1, 2635 | 1, 2636 | 1, 2637 | 1, 2638 | 1, 2639 | 1, 2640 | 1, 2641 | 1, 2642 | 1, 2643 | 1, 2644 | 1, 2645 | 1, 2646 | 0, 2647 | 0, 2648 | 0, 2649 | 0, 2650 | 0, 2651 | 0, 2652 | 0, 2653 | 0, 2654 | 0, 2655 | 0, 2656 | 0, 2657 | 0, 2658 | 0, 2659 | 0, 2660 | 0, 2661 | 0, 2662 | 0, 2663 | 0, 2664 | 1, 2665 | 1, 2666 | 1, 2667 | 1, 2668 | 1, 2669 | 1, 2670 | 1, 2671 | 1, 2672 | 1, 2673 | 1, 2674 | 1, 2675 | 1, 2676 | 1, 2677 | 1, 2678 | 1, 2679 | 1, 2680 | 1, 2681 | 1, 2682 | 1, 2683 | 1, 2684 | 1, 2685 | 1, 2686 | 1, 2687 | 1, 2688 | 1, 2689 | 1, 2690 | 1, 2691 | 1, 2692 | 1, 2693 | 1, 2694 | 1, 2695 | 1, 2696 | 1, 2697 | 1, 2698 | 1, 2699 | 1, 2700 | 1, 2701 | 1, 2702 | 1, 2703 | 1, 2704 | 1, 2705 | 1, 2706 | 0, 2707 | 0, 2708 | 0, 2709 | 0, 2710 | 0, 2711 | 0, 2712 | 0, 2713 | 0, 2714 | 0, 2715 | 0, 2716 | 0, 2717 | 0, 2718 | 0, 2719 | 0, 2720 | 0, 2721 | 0, 2722 | 0, 2723 | 1, 2724 | 1, 2725 | 1, 2726 | 1, 2727 | 1, 2728 | 1, 2729 | 1, 2730 | 1, 2731 | 1, 2732 | 1, 2733 | 1, 2734 | 1, 2735 | 1, 2736 | 1, 2737 | 1, 2738 | 1, 2739 | 1, 2740 | 1, 2741 | 1, 2742 | 1, 2743 | 1, 2744 | 1, 2745 | 1, 2746 | 1, 2747 | 1, 2748 | 1, 2749 | 1, 2750 | 1, 2751 | 1, 2752 | 1, 2753 | 1, 2754 | 1, 2755 | 1, 2756 | 1, 2757 | 1, 2758 | 1, 2759 | 1, 2760 | 1, 2761 | 1, 2762 | 1, 2763 | 1, 2764 | 1, 2765 | 1, 2766 | 0, 2767 | 0, 2768 | 0, 2769 | 0, 2770 | 0, 2771 | 0, 2772 | 0, 2773 | 0, 2774 | 0, 2775 | 0, 2776 | 0, 2777 | 0, 2778 | 0, 2779 | 0, 2780 | 0, 2781 | 0, 2782 | 0, 2783 | 1, 2784 | 1, 2785 | 1, 2786 | 1, 2787 | 1, 2788 | 1, 2789 | 1, 2790 | 1, 2791 | 1, 2792 | 1, 2793 | 1, 2794 | 1, 2795 | 1, 2796 | 1, 2797 | 1, 2798 | 1, 2799 | 1, 2800 | 1, 2801 | 1, 2802 | 1, 2803 | 1, 2804 | 1, 2805 | 1, 2806 | 1, 2807 | 1, 2808 | 1, 2809 | 1, 2810 | 1, 2811 | 1, 2812 | 1, 2813 | 1, 2814 | 1, 2815 | 1, 2816 | 1, 2817 | 1, 2818 | 1, 2819 | 1, 2820 | 1, 2821 | 1, 2822 | 1, 2823 | 1, 2824 | 1, 2825 | 0, 2826 | 0, 2827 | 0, 2828 | 0, 2829 | 0, 2830 | 0, 2831 | 0, 2832 | 0, 2833 | 0, 2834 | 0, 2835 | 0, 2836 | 0, 2837 | 0, 2838 | 0, 2839 | 0, 2840 | 0, 2841 | 0, 2842 | 0, 2843 | 1, 2844 | 1, 2845 | 1, 2846 | 1, 2847 | 1, 2848 | 1, 2849 | 1, 2850 | 1, 2851 | 1, 2852 | 1, 2853 | 1, 2854 | 1, 2855 | 1, 2856 | 1, 2857 | 1, 2858 | 1, 2859 | 1, 2860 | 1, 2861 | 1, 2862 | 1, 2863 | 1, 2864 | 1, 2865 | 1, 2866 | 1, 2867 | 1, 2868 | 1, 2869 | 1, 2870 | 1, 2871 | 1, 2872 | 1, 2873 | 1, 2874 | 1, 2875 | 1, 2876 | 1, 2877 | 1, 2878 | 1, 2879 | 1, 2880 | 1, 2881 | 1, 2882 | 1, 2883 | 1, 2884 | 1, 2885 | 1, 2886 | 1, 2887 | 1, 2888 | 1, 2889 | 1, 2890 | 1, 2891 | 1, 2892 | 1, 2893 | 1, 2894 | 1, 2895 | 1, 2896 | 1, 2897 | 1, 2898 | 1, 2899 | 1, 2900 | 1, 2901 | 1, 2902 | 1, 2903 | 1, 2904 | 1, 2905 | 1, 2906 | 1, 2907 | 1, 2908 | 1, 2909 | 1, 2910 | 1, 2911 | 1, 2912 | 1, 2913 | 1, 2914 | 1, 2915 | 1, 2916 | 1, 2917 | 1, 2918 | 1, 2919 | 1, 2920 | 1, 2921 | 1, 2922 | 1, 2923 | 1, 2924 | 1, 2925 | 1, 2926 | 1, 2927 | 1, 2928 | 1, 2929 | 1, 2930 | 1, 2931 | 1, 2932 | 1, 2933 | 1, 2934 | 1, 2935 | 1, 2936 | 1, 2937 | 1, 2938 | 1, 2939 | 1, 2940 | 1, 2941 | 1, 2942 | 1, 2943 | 1, 2944 | 1, 2945 | 1, 2946 | 1, 2947 | 1, 2948 | 1, 2949 | 1, 2950 | 1, 2951 | 1, 2952 | 1, 2953 | 1, 2954 | 1, 2955 | 1, 2956 | 1, 2957 | 1, 2958 | 1, 2959 | 1, 2960 | 1, 2961 | 1, 2962 | 1, 2963 | 1, 2964 | 1, 2965 | 1, 2966 | 1, 2967 | 1, 2968 | 1, 2969 | 1, 2970 | 1, 2971 | 1, 2972 | 1, 2973 | 1, 2974 | 1, 2975 | 1, 2976 | 1, 2977 | 1, 2978 | 1, 2979 | 1, 2980 | 1, 2981 | 1, 2982 | 1, 2983 | 1, 2984 | 1, 2985 | 1, 2986 | 1, 2987 | 1, 2988 | 1, 2989 | 1, 2990 | 1, 2991 | 1, 2992 | 1, 2993 | 1, 2994 | 1, 2995 | 1, 2996 | 1, 2997 | 1, 2998 | 1, 2999 | 1, 3000 | 1, 3001 | 1, 3002 | 1, 3003 | 1, 3004 | 1, 3005 | 1, 3006 | 1, 3007 | 1, 3008 | 1, 3009 | 1, 3010 | 1, 3011 | 1, 3012 | 1, 3013 | 1, 3014 | 1, 3015 | 1, 3016 | 1, 3017 | 1, 3018 | 1, 3019 | 1, 3020 | 1, 3021 | 1, 3022 | 1, 3023 | 1, 3024 | 1, 3025 | 1, 3026 | 1, 3027 | 1, 3028 | 1, 3029 | 1, 3030 | 1, 3031 | 1, 3032 | 1, 3033 | 1, 3034 | 1, 3035 | 1, 3036 | 1, 3037 | 1, 3038 | 1, 3039 | 1, 3040 | 1, 3041 | 1, 3042 | 1, 3043 | 1, 3044 | 1, 3045 | 1, 3046 | 1, 3047 | 1, 3048 | 1, 3049 | 1, 3050 | 1, 3051 | 1, 3052 | 1, 3053 | 1, 3054 | 1, 3055 | 1, 3056 | 1, 3057 | 1, 3058 | 1, 3059 | 1, 3060 | 1, 3061 | 1, 3062 | 1, 3063 | 1, 3064 | 1, 3065 | 1, 3066 | 1, 3067 | 1, 3068 | 1, 3069 | 1, 3070 | 1, 3071 | 1, 3072 | 1, 3073 | 1, 3074 | 1, 3075 | 1, 3076 | 1, 3077 | 1, 3078 | 1, 3079 | 1, 3080 | 1, 3081 | 1, 3082 | 1, 3083 | 1, 3084 | 1, 3085 | 1, 3086 | 1, 3087 | 1, 3088 | 1, 3089 | 1, 3090 | 1, 3091 | 1, 3092 | 1, 3093 | 1, 3094 | 1, 3095 | 1, 3096 | 1, 3097 | 1, 3098 | 1, 3099 | 1, 3100 | 1, 3101 | 1, 3102 | 1, 3103 | 1, 3104 | 1, 3105 | 1, 3106 | 1, 3107 | 1, 3108 | 1, 3109 | 1, 3110 | 1, 3111 | 1, 3112 | 1, 3113 | 1, 3114 | 1, 3115 | 1, 3116 | 1, 3117 | 1, 3118 | 1, 3119 | 1, 3120 | 1, 3121 | 1, 3122 | 1, 3123 | 1, 3124 | 1, 3125 | 1, 3126 | 1, 3127 | 1, 3128 | 1, 3129 | 1, 3130 | 1, 3131 | 1, 3132 | 1, 3133 | 1, 3134 | 1, 3135 | 1, 3136 | 1, 3137 | 1, 3138 | 1, 3139 | 1, 3140 | 1, 3141 | 1, 3142 | 1, 3143 | 1, 3144 | 1, 3145 | 1, 3146 | 1, 3147 | 1, 3148 | 1, 3149 | 1, 3150 | 1, 3151 | 1, 3152 | 1, 3153 | 1, 3154 | 1, 3155 | 1, 3156 | 1, 3157 | 1, 3158 | 1, 3159 | 1, 3160 | 1, 3161 | 1, 3162 | 1, 3163 | 1, 3164 | 1, 3165 | 1, 3166 | 1, 3167 | 1, 3168 | 1, 3169 | 1, 3170 | 1, 3171 | 1, 3172 | 1, 3173 | 1, 3174 | 1, 3175 | 1, 3176 | 1, 3177 | 1, 3178 | 1, 3179 | 1, 3180 | 1, 3181 | 1, 3182 | 1, 3183 | 1, 3184 | 1, 3185 | 1, 3186 | 1, 3187 | 1, 3188 | 1, 3189 | 1, 3190 | 1, 3191 | 1, 3192 | 1, 3193 | 1, 3194 | 1, 3195 | 1, 3196 | 1, 3197 | 1, 3198 | 1, 3199 | 1, 3200 | 1, 3201 | 1, 3202 | 1, 3203 | 1, 3204 | 1, 3205 | 1, 3206 | 1, 3207 | 1, 3208 | 1, 3209 | 1, 3210 | 1, 3211 | 1, 3212 | 1, 3213 | 1, 3214 | 1, 3215 | 1, 3216 | 1, 3217 | 1, 3218 | 1, 3219 | 1, 3220 | 1, 3221 | 1, 3222 | 1, 3223 | 1, 3224 | 1, 3225 | 1, 3226 | 1, 3227 | 1, 3228 | 1, 3229 | 1, 3230 | 1, 3231 | 1, 3232 | 1, 3233 | 1, 3234 | 1, 3235 | 1, 3236 | 1, 3237 | 1, 3238 | 1, 3239 | 1, 3240 | 1, 3241 | 1, 3242 | 1, 3243 | 1, 3244 | 1, 3245 | 1, 3246 | 1, 3247 | 1, 3248 | 1, 3249 | 1, 3250 | 1, 3251 | 1, 3252 | 1, 3253 | 1, 3254 | 1, 3255 | 1, 3256 | 1, 3257 | 1, 3258 | 1, 3259 | 1, 3260 | 1, 3261 | 1, 3262 | 1, 3263 | 1, 3264 | 1, 3265 | 1, 3266 | 1, 3267 | 1, 3268 | 1, 3269 | 1, 3270 | 1, 3271 | 1, 3272 | 1, 3273 | 1, 3274 | 1, 3275 | 1, 3276 | 1, 3277 | 1, 3278 | 1, 3279 | 1, 3280 | 1, 3281 | 1, 3282 | 1, 3283 | 1, 3284 | 1, 3285 | 1, 3286 | 1, 3287 | 1, 3288 | 1, 3289 | 1, 3290 | 1, 3291 | 1, 3292 | 1, 3293 | 1, 3294 | 1, 3295 | 1, 3296 | 1, 3297 | 1, 3298 | 1, 3299 | 1, 3300 | 1, 3301 | 1, 3302 | 1, 3303 | 1, 3304 | 1, 3305 | 1, 3306 | 1, 3307 | 1, 3308 | 1, 3309 | 1, 3310 | 1, 3311 | 1, 3312 | 1, 3313 | 1, 3314 | 1, 3315 | 1, 3316 | 1, 3317 | 1, 3318 | 1, 3319 | 1, 3320 | 1, 3321 | 1, 3322 | 1, 3323 | 1, 3324 | 1, 3325 | 1, 3326 | 1, 3327 | 1, 3328 | 1, 3329 | 1, 3330 | 1, 3331 | 1, 3332 | 1, 3333 | 1, 3334 | 1, 3335 | 1, 3336 | 1, 3337 | 1, 3338 | 1, 3339 | 1, 3340 | 1, 3341 | 1, 3342 | 1, 3343 | 1, 3344 | 1, 3345 | 1, 3346 | 1, 3347 | 1, 3348 | 1, 3349 | 1, 3350 | 1, 3351 | 1, 3352 | 1, 3353 | 1, 3354 | 1, 3355 | 1, 3356 | 1, 3357 | 1, 3358 | 1, 3359 | 1, 3360 | 1, 3361 | 1, 3362 | 1, 3363 | 1, 3364 | 1, 3365 | 1, 3366 | 1, 3367 | 1, 3368 | 1, 3369 | 1, 3370 | 1, 3371 | 1, 3372 | 1, 3373 | 1, 3374 | 1, 3375 | 1, 3376 | 1, 3377 | 1, 3378 | 1, 3379 | 1, 3380 | 1, 3381 | 1, 3382 | 1, 3383 | 1, 3384 | 1, 3385 | 1, 3386 | 1, 3387 | 1, 3388 | 1, 3389 | 1, 3390 | 1, 3391 | 1, 3392 | 1, 3393 | 1, 3394 | 1, 3395 | 1, 3396 | 1, 3397 | 1, 3398 | 1, 3399 | 1, 3400 | 1, 3401 | 1, 3402 | 1, 3403 | 1, 3404 | 1, 3405 | 1, 3406 | 1, 3407 | 1, 3408 | 1, 3409 | 1, 3410 | 1, 3411 | 1, 3412 | 1, 3413 | 1, 3414 | 1, 3415 | 1, 3416 | 1, 3417 | 1, 3418 | 1, 3419 | 1, 3420 | 1, 3421 | 1, 3422 | 1, 3423 | 1, 3424 | 1, 3425 | 1, 3426 | 1, 3427 | 1, 3428 | 1, 3429 | 1, 3430 | 1, 3431 | 1, 3432 | 1, 3433 | 1, 3434 | 1, 3435 | 1, 3436 | 1, 3437 | 1, 3438 | 1, 3439 | 1, 3440 | 1, 3441 | 1, 3442 | 1, 3443 | 1, 3444 | 1, 3445 | 1, 3446 | 1, 3447 | 1, 3448 | 1, 3449 | 1, 3450 | 1, 3451 | 1, 3452 | 1, 3453 | 1, 3454 | 1, 3455 | 1, 3456 | 1, 3457 | 1, 3458 | 1, 3459 | 1, 3460 | 1, 3461 | 1, 3462 | 1, 3463 | 1, 3464 | 1, 3465 | 1, 3466 | 1, 3467 | 1, 3468 | 1, 3469 | 1, 3470 | 1, 3471 | 1, 3472 | 1, 3473 | 1, 3474 | 1, 3475 | 1, 3476 | 1, 3477 | 1, 3478 | 1, 3479 | 1, 3480 | 1, 3481 | 1, 3482 | 1, 3483 | 1, 3484 | 1, 3485 | 1, 3486 | 1, 3487 | 1, 3488 | 1, 3489 | 1, 3490 | 1, 3491 | 1, 3492 | 1, 3493 | 1, 3494 | 1, 3495 | 1, 3496 | 1, 3497 | 1, 3498 | 1, 3499 | 1, 3500 | 1, 3501 | 1, 3502 | 1, 3503 | 1, 3504 | 1, 3505 | 1, 3506 | 1, 3507 | 1, 3508 | 1, 3509 | 1, 3510 | 1, 3511 | 1, 3512 | 1, 3513 | 1, 3514 | 1, 3515 | 1, 3516 | 1, 3517 | 1, 3518 | 1, 3519 | 1, 3520 | 1, 3521 | 1, 3522 | 1, 3523 | 1, 3524 | 1, 3525 | 1, 3526 | 1, 3527 | 1, 3528 | 1, 3529 | 1, 3530 | 1, 3531 | 1, 3532 | 1, 3533 | 1, 3534 | 1, 3535 | 1, 3536 | 1, 3537 | 1, 3538 | 1, 3539 | 1, 3540 | 1, 3541 | 1, 3542 | 1, 3543 | 1, 3544 | 1, 3545 | 1, 3546 | 1, 3547 | 1, 3548 | 1, 3549 | 1, 3550 | 1, 3551 | 1, 3552 | 1, 3553 | 1, 3554 | 1, 3555 | 1, 3556 | 1, 3557 | 1, 3558 | 1, 3559 | 1, 3560 | 1, 3561 | 1, 3562 | 1, 3563 | 1, 3564 | 1, 3565 | 1, 3566 | 1, 3567 | 1, 3568 | 1, 3569 | 1, 3570 | 1, 3571 | 1, 3572 | 1, 3573 | 1, 3574 | 1, 3575 | 1, 3576 | 1, 3577 | 1, 3578 | 1, 3579 | 1, 3580 | 1, 3581 | 1, 3582 | 1, 3583 | 1, 3584 | 1, 3585 | 1, 3586 | 1, 3587 | 1, 3588 | 1, 3589 | 1, 3590 | 1, 3591 | 1, 3592 | 1, 3593 | 1, 3594 | 1, 3595 | 1, 3596 | 1, 3597 | 1, 3598 | 1, 3599 | 1, 3600 | 1, 3601 | 1, 3602 | 1, 3603 | ; -------------------------------------------------------------------------------- /images/2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tinylic/ASIC-FPGA-tetris/d6e5226dd147fddc03502d10e4851ef89cbcf07a/images/2.png -------------------------------------------------------------------------------- /images/3.coe: -------------------------------------------------------------------------------- 1 | memory_initialization_radix=2; 2 | memory_initialization_vector = 3 | 1, 4 | 1, 5 | 1, 6 | 1, 7 | 1, 8 | 1, 9 | 1, 10 | 1, 11 | 1, 12 | 1, 13 | 1, 14 | 1, 15 | 1, 16 | 1, 17 | 1, 18 | 1, 19 | 1, 20 | 1, 21 | 1, 22 | 1, 23 | 1, 24 | 1, 25 | 1, 26 | 1, 27 | 1, 28 | 1, 29 | 1, 30 | 1, 31 | 1, 32 | 1, 33 | 1, 34 | 1, 35 | 1, 36 | 1, 37 | 1, 38 | 1, 39 | 1, 40 | 1, 41 | 1, 42 | 1, 43 | 1, 44 | 1, 45 | 1, 46 | 1, 47 | 1, 48 | 1, 49 | 1, 50 | 1, 51 | 1, 52 | 1, 53 | 1, 54 | 1, 55 | 1, 56 | 1, 57 | 1, 58 | 1, 59 | 1, 60 | 1, 61 | 1, 62 | 1, 63 | 1, 64 | 1, 65 | 1, 66 | 1, 67 | 1, 68 | 1, 69 | 1, 70 | 1, 71 | 1, 72 | 1, 73 | 1, 74 | 1, 75 | 1, 76 | 1, 77 | 1, 78 | 1, 79 | 1, 80 | 1, 81 | 1, 82 | 1, 83 | 1, 84 | 1, 85 | 1, 86 | 1, 87 | 1, 88 | 1, 89 | 1, 90 | 1, 91 | 1, 92 | 1, 93 | 1, 94 | 1, 95 | 1, 96 | 1, 97 | 1, 98 | 1, 99 | 1, 100 | 1, 101 | 1, 102 | 1, 103 | 1, 104 | 1, 105 | 1, 106 | 1, 107 | 1, 108 | 1, 109 | 1, 110 | 1, 111 | 1, 112 | 1, 113 | 1, 114 | 1, 115 | 1, 116 | 1, 117 | 1, 118 | 1, 119 | 1, 120 | 1, 121 | 1, 122 | 1, 123 | 1, 124 | 1, 125 | 1, 126 | 1, 127 | 1, 128 | 1, 129 | 1, 130 | 1, 131 | 1, 132 | 1, 133 | 1, 134 | 1, 135 | 1, 136 | 1, 137 | 1, 138 | 1, 139 | 1, 140 | 1, 141 | 1, 142 | 1, 143 | 1, 144 | 1, 145 | 1, 146 | 1, 147 | 1, 148 | 1, 149 | 1, 150 | 1, 151 | 1, 152 | 1, 153 | 1, 154 | 1, 155 | 1, 156 | 1, 157 | 1, 158 | 1, 159 | 1, 160 | 1, 161 | 1, 162 | 1, 163 | 1, 164 | 1, 165 | 1, 166 | 1, 167 | 1, 168 | 1, 169 | 1, 170 | 1, 171 | 1, 172 | 1, 173 | 1, 174 | 1, 175 | 1, 176 | 1, 177 | 1, 178 | 1, 179 | 1, 180 | 1, 181 | 1, 182 | 1, 183 | 1, 184 | 1, 185 | 1, 186 | 1, 187 | 1, 188 | 1, 189 | 1, 190 | 1, 191 | 1, 192 | 1, 193 | 1, 194 | 1, 195 | 1, 196 | 1, 197 | 1, 198 | 1, 199 | 1, 200 | 1, 201 | 1, 202 | 1, 203 | 1, 204 | 1, 205 | 1, 206 | 1, 207 | 1, 208 | 1, 209 | 1, 210 | 1, 211 | 1, 212 | 1, 213 | 1, 214 | 1, 215 | 1, 216 | 1, 217 | 1, 218 | 1, 219 | 1, 220 | 1, 221 | 1, 222 | 1, 223 | 1, 224 | 1, 225 | 1, 226 | 1, 227 | 1, 228 | 1, 229 | 1, 230 | 1, 231 | 1, 232 | 1, 233 | 1, 234 | 1, 235 | 1, 236 | 1, 237 | 1, 238 | 1, 239 | 1, 240 | 1, 241 | 1, 242 | 1, 243 | 1, 244 | 1, 245 | 1, 246 | 1, 247 | 1, 248 | 1, 249 | 1, 250 | 1, 251 | 1, 252 | 1, 253 | 1, 254 | 1, 255 | 1, 256 | 1, 257 | 1, 258 | 1, 259 | 1, 260 | 1, 261 | 1, 262 | 1, 263 | 1, 264 | 1, 265 | 1, 266 | 1, 267 | 1, 268 | 1, 269 | 1, 270 | 1, 271 | 1, 272 | 1, 273 | 1, 274 | 1, 275 | 1, 276 | 1, 277 | 1, 278 | 1, 279 | 1, 280 | 1, 281 | 1, 282 | 1, 283 | 1, 284 | 1, 285 | 1, 286 | 1, 287 | 1, 288 | 1, 289 | 1, 290 | 1, 291 | 1, 292 | 1, 293 | 1, 294 | 1, 295 | 1, 296 | 1, 297 | 1, 298 | 1, 299 | 1, 300 | 1, 301 | 1, 302 | 1, 303 | 1, 304 | 1, 305 | 1, 306 | 1, 307 | 1, 308 | 1, 309 | 1, 310 | 1, 311 | 1, 312 | 1, 313 | 1, 314 | 1, 315 | 1, 316 | 1, 317 | 1, 318 | 1, 319 | 1, 320 | 1, 321 | 1, 322 | 1, 323 | 1, 324 | 1, 325 | 1, 326 | 1, 327 | 1, 328 | 1, 329 | 1, 330 | 1, 331 | 1, 332 | 1, 333 | 1, 334 | 1, 335 | 1, 336 | 1, 337 | 1, 338 | 1, 339 | 1, 340 | 1, 341 | 1, 342 | 1, 343 | 1, 344 | 1, 345 | 1, 346 | 1, 347 | 1, 348 | 1, 349 | 1, 350 | 1, 351 | 1, 352 | 1, 353 | 1, 354 | 1, 355 | 1, 356 | 1, 357 | 1, 358 | 1, 359 | 1, 360 | 1, 361 | 1, 362 | 1, 363 | 1, 364 | 1, 365 | 1, 366 | 1, 367 | 1, 368 | 1, 369 | 1, 370 | 1, 371 | 1, 372 | 1, 373 | 1, 374 | 1, 375 | 1, 376 | 1, 377 | 1, 378 | 1, 379 | 1, 380 | 1, 381 | 1, 382 | 1, 383 | 1, 384 | 1, 385 | 1, 386 | 1, 387 | 1, 388 | 1, 389 | 1, 390 | 1, 391 | 1, 392 | 1, 393 | 1, 394 | 1, 395 | 1, 396 | 1, 397 | 1, 398 | 1, 399 | 1, 400 | 1, 401 | 1, 402 | 1, 403 | 1, 404 | 1, 405 | 1, 406 | 1, 407 | 1, 408 | 1, 409 | 1, 410 | 1, 411 | 1, 412 | 1, 413 | 1, 414 | 1, 415 | 1, 416 | 1, 417 | 1, 418 | 1, 419 | 1, 420 | 1, 421 | 1, 422 | 1, 423 | 1, 424 | 1, 425 | 1, 426 | 1, 427 | 1, 428 | 1, 429 | 1, 430 | 1, 431 | 1, 432 | 1, 433 | 1, 434 | 1, 435 | 1, 436 | 1, 437 | 1, 438 | 1, 439 | 1, 440 | 1, 441 | 1, 442 | 1, 443 | 1, 444 | 1, 445 | 1, 446 | 1, 447 | 1, 448 | 1, 449 | 1, 450 | 1, 451 | 1, 452 | 1, 453 | 1, 454 | 1, 455 | 1, 456 | 1, 457 | 1, 458 | 1, 459 | 1, 460 | 1, 461 | 1, 462 | 1, 463 | 1, 464 | 1, 465 | 1, 466 | 1, 467 | 1, 468 | 1, 469 | 1, 470 | 1, 471 | 1, 472 | 1, 473 | 1, 474 | 1, 475 | 1, 476 | 1, 477 | 1, 478 | 1, 479 | 1, 480 | 1, 481 | 1, 482 | 1, 483 | 1, 484 | 1, 485 | 1, 486 | 1, 487 | 1, 488 | 1, 489 | 1, 490 | 1, 491 | 1, 492 | 1, 493 | 1, 494 | 1, 495 | 1, 496 | 1, 497 | 1, 498 | 1, 499 | 1, 500 | 1, 501 | 1, 502 | 1, 503 | 1, 504 | 1, 505 | 1, 506 | 1, 507 | 1, 508 | 1, 509 | 1, 510 | 1, 511 | 1, 512 | 1, 513 | 1, 514 | 1, 515 | 1, 516 | 1, 517 | 1, 518 | 1, 519 | 1, 520 | 1, 521 | 1, 522 | 1, 523 | 1, 524 | 1, 525 | 1, 526 | 1, 527 | 1, 528 | 1, 529 | 1, 530 | 1, 531 | 1, 532 | 1, 533 | 1, 534 | 1, 535 | 1, 536 | 1, 537 | 1, 538 | 1, 539 | 1, 540 | 1, 541 | 1, 542 | 1, 543 | 1, 544 | 1, 545 | 1, 546 | 1, 547 | 1, 548 | 1, 549 | 1, 550 | 1, 551 | 1, 552 | 1, 553 | 1, 554 | 1, 555 | 1, 556 | 1, 557 | 1, 558 | 1, 559 | 1, 560 | 1, 561 | 1, 562 | 1, 563 | 1, 564 | 1, 565 | 1, 566 | 1, 567 | 1, 568 | 1, 569 | 1, 570 | 1, 571 | 1, 572 | 1, 573 | 1, 574 | 1, 575 | 1, 576 | 1, 577 | 1, 578 | 1, 579 | 1, 580 | 1, 581 | 1, 582 | 1, 583 | 1, 584 | 1, 585 | 1, 586 | 1, 587 | 1, 588 | 1, 589 | 1, 590 | 1, 591 | 1, 592 | 1, 593 | 1, 594 | 1, 595 | 1, 596 | 1, 597 | 1, 598 | 1, 599 | 1, 600 | 1, 601 | 1, 602 | 1, 603 | 1, 604 | 1, 605 | 1, 606 | 1, 607 | 1, 608 | 1, 609 | 1, 610 | 1, 611 | 1, 612 | 1, 613 | 1, 614 | 1, 615 | 1, 616 | 1, 617 | 1, 618 | 1, 619 | 1, 620 | 1, 621 | 1, 622 | 1, 623 | 1, 624 | 1, 625 | 1, 626 | 1, 627 | 1, 628 | 1, 629 | 1, 630 | 1, 631 | 1, 632 | 1, 633 | 1, 634 | 1, 635 | 1, 636 | 1, 637 | 1, 638 | 1, 639 | 1, 640 | 1, 641 | 1, 642 | 1, 643 | 1, 644 | 1, 645 | 1, 646 | 1, 647 | 1, 648 | 1, 649 | 1, 650 | 1, 651 | 1, 652 | 1, 653 | 1, 654 | 1, 655 | 1, 656 | 1, 657 | 1, 658 | 1, 659 | 1, 660 | 1, 661 | 1, 662 | 1, 663 | 1, 664 | 1, 665 | 1, 666 | 1, 667 | 1, 668 | 1, 669 | 1, 670 | 1, 671 | 1, 672 | 1, 673 | 1, 674 | 1, 675 | 1, 676 | 1, 677 | 1, 678 | 1, 679 | 1, 680 | 1, 681 | 1, 682 | 1, 683 | 1, 684 | 1, 685 | 1, 686 | 1, 687 | 1, 688 | 1, 689 | 1, 690 | 1, 691 | 1, 692 | 1, 693 | 1, 694 | 1, 695 | 1, 696 | 1, 697 | 1, 698 | 1, 699 | 1, 700 | 1, 701 | 1, 702 | 1, 703 | 1, 704 | 1, 705 | 1, 706 | 1, 707 | 1, 708 | 1, 709 | 1, 710 | 1, 711 | 1, 712 | 1, 713 | 1, 714 | 1, 715 | 1, 716 | 1, 717 | 1, 718 | 1, 719 | 1, 720 | 1, 721 | 1, 722 | 1, 723 | 1, 724 | 1, 725 | 1, 726 | 1, 727 | 1, 728 | 1, 729 | 1, 730 | 1, 731 | 1, 732 | 1, 733 | 1, 734 | 1, 735 | 1, 736 | 1, 737 | 1, 738 | 1, 739 | 1, 740 | 1, 741 | 1, 742 | 1, 743 | 1, 744 | 1, 745 | 1, 746 | 1, 747 | 1, 748 | 1, 749 | 1, 750 | 1, 751 | 1, 752 | 1, 753 | 1, 754 | 1, 755 | 1, 756 | 1, 757 | 1, 758 | 1, 759 | 1, 760 | 1, 761 | 1, 762 | 1, 763 | 1, 764 | 1, 765 | 1, 766 | 1, 767 | 1, 768 | 1, 769 | 1, 770 | 1, 771 | 1, 772 | 1, 773 | 1, 774 | 1, 775 | 1, 776 | 1, 777 | 1, 778 | 1, 779 | 1, 780 | 1, 781 | 1, 782 | 1, 783 | 1, 784 | 1, 785 | 1, 786 | 1, 787 | 1, 788 | 1, 789 | 1, 790 | 1, 791 | 1, 792 | 1, 793 | 1, 794 | 1, 795 | 1, 796 | 1, 797 | 1, 798 | 1, 799 | 1, 800 | 1, 801 | 1, 802 | 1, 803 | 1, 804 | 1, 805 | 1, 806 | 1, 807 | 1, 808 | 1, 809 | 1, 810 | 1, 811 | 1, 812 | 1, 813 | 1, 814 | 1, 815 | 1, 816 | 1, 817 | 1, 818 | 1, 819 | 1, 820 | 1, 821 | 1, 822 | 1, 823 | 1, 824 | 1, 825 | 1, 826 | 1, 827 | 1, 828 | 1, 829 | 1, 830 | 1, 831 | 1, 832 | 1, 833 | 1, 834 | 1, 835 | 1, 836 | 1, 837 | 1, 838 | 1, 839 | 1, 840 | 1, 841 | 1, 842 | 1, 843 | 1, 844 | 1, 845 | 1, 846 | 1, 847 | 1, 848 | 1, 849 | 1, 850 | 1, 851 | 1, 852 | 1, 853 | 1, 854 | 1, 855 | 1, 856 | 1, 857 | 1, 858 | 1, 859 | 1, 860 | 1, 861 | 1, 862 | 1, 863 | 1, 864 | 1, 865 | 1, 866 | 1, 867 | 1, 868 | 1, 869 | 1, 870 | 1, 871 | 1, 872 | 1, 873 | 1, 874 | 1, 875 | 1, 876 | 1, 877 | 1, 878 | 1, 879 | 1, 880 | 1, 881 | 1, 882 | 1, 883 | 1, 884 | 1, 885 | 1, 886 | 1, 887 | 1, 888 | 1, 889 | 1, 890 | 1, 891 | 1, 892 | 1, 893 | 1, 894 | 1, 895 | 1, 896 | 1, 897 | 1, 898 | 1, 899 | 1, 900 | 1, 901 | 1, 902 | 1, 903 | 1, 904 | 1, 905 | 1, 906 | 1, 907 | 1, 908 | 1, 909 | 1, 910 | 1, 911 | 1, 912 | 1, 913 | 1, 914 | 1, 915 | 1, 916 | 1, 917 | 1, 918 | 1, 919 | 1, 920 | 1, 921 | 1, 922 | 1, 923 | 1, 924 | 1, 925 | 1, 926 | 1, 927 | 1, 928 | 1, 929 | 1, 930 | 1, 931 | 1, 932 | 1, 933 | 1, 934 | 1, 935 | 1, 936 | 1, 937 | 1, 938 | 1, 939 | 1, 940 | 1, 941 | 1, 942 | 1, 943 | 1, 944 | 1, 945 | 1, 946 | 1, 947 | 1, 948 | 1, 949 | 1, 950 | 1, 951 | 1, 952 | 1, 953 | 1, 954 | 1, 955 | 1, 956 | 1, 957 | 1, 958 | 1, 959 | 1, 960 | 1, 961 | 1, 962 | 1, 963 | 1, 964 | 1, 965 | 1, 966 | 1, 967 | 1, 968 | 1, 969 | 1, 970 | 1, 971 | 1, 972 | 1, 973 | 1, 974 | 1, 975 | 1, 976 | 1, 977 | 1, 978 | 1, 979 | 1, 980 | 1, 981 | 1, 982 | 1, 983 | 1, 984 | 1, 985 | 1, 986 | 1, 987 | 1, 988 | 1, 989 | 1, 990 | 1, 991 | 1, 992 | 1, 993 | 1, 994 | 1, 995 | 1, 996 | 1, 997 | 1, 998 | 1, 999 | 1, 1000 | 1, 1001 | 1, 1002 | 1, 1003 | 1, 1004 | 1, 1005 | 1, 1006 | 1, 1007 | 1, 1008 | 1, 1009 | 1, 1010 | 1, 1011 | 1, 1012 | 1, 1013 | 1, 1014 | 1, 1015 | 1, 1016 | 1, 1017 | 1, 1018 | 1, 1019 | 1, 1020 | 1, 1021 | 1, 1022 | 1, 1023 | 1, 1024 | 1, 1025 | 1, 1026 | 1, 1027 | 1, 1028 | 1, 1029 | 1, 1030 | 1, 1031 | 1, 1032 | 1, 1033 | 1, 1034 | 1, 1035 | 1, 1036 | 1, 1037 | 1, 1038 | 1, 1039 | 1, 1040 | 1, 1041 | 1, 1042 | 1, 1043 | 1, 1044 | 1, 1045 | 1, 1046 | 1, 1047 | 1, 1048 | 1, 1049 | 1, 1050 | 1, 1051 | 1, 1052 | 1, 1053 | 1, 1054 | 1, 1055 | 1, 1056 | 1, 1057 | 1, 1058 | 1, 1059 | 1, 1060 | 1, 1061 | 1, 1062 | 1, 1063 | 1, 1064 | 1, 1065 | 1, 1066 | 1, 1067 | 1, 1068 | 1, 1069 | 1, 1070 | 1, 1071 | 1, 1072 | 1, 1073 | 1, 1074 | 1, 1075 | 1, 1076 | 1, 1077 | 1, 1078 | 1, 1079 | 1, 1080 | 1, 1081 | 1, 1082 | 1, 1083 | 1, 1084 | 1, 1085 | 1, 1086 | 1, 1087 | 1, 1088 | 1, 1089 | 1, 1090 | 1, 1091 | 1, 1092 | 1, 1093 | 1, 1094 | 1, 1095 | 1, 1096 | 1, 1097 | 1, 1098 | 1, 1099 | 1, 1100 | 1, 1101 | 1, 1102 | 1, 1103 | 1, 1104 | 1, 1105 | 1, 1106 | 1, 1107 | 1, 1108 | 1, 1109 | 1, 1110 | 1, 1111 | 1, 1112 | 1, 1113 | 1, 1114 | 1, 1115 | 1, 1116 | 1, 1117 | 1, 1118 | 1, 1119 | 1, 1120 | 1, 1121 | 1, 1122 | 1, 1123 | 1, 1124 | 1, 1125 | 1, 1126 | 1, 1127 | 1, 1128 | 1, 1129 | 1, 1130 | 1, 1131 | 1, 1132 | 1, 1133 | 1, 1134 | 1, 1135 | 1, 1136 | 1, 1137 | 1, 1138 | 1, 1139 | 1, 1140 | 1, 1141 | 1, 1142 | 1, 1143 | 1, 1144 | 1, 1145 | 1, 1146 | 1, 1147 | 1, 1148 | 1, 1149 | 1, 1150 | 1, 1151 | 1, 1152 | 1, 1153 | 1, 1154 | 1, 1155 | 1, 1156 | 1, 1157 | 1, 1158 | 1, 1159 | 1, 1160 | 1, 1161 | 1, 1162 | 1, 1163 | 1, 1164 | 1, 1165 | 1, 1166 | 1, 1167 | 1, 1168 | 1, 1169 | 1, 1170 | 1, 1171 | 1, 1172 | 1, 1173 | 1, 1174 | 1, 1175 | 1, 1176 | 1, 1177 | 1, 1178 | 1, 1179 | 1, 1180 | 1, 1181 | 1, 1182 | 1, 1183 | 1, 1184 | 1, 1185 | 1, 1186 | 1, 1187 | 1, 1188 | 1, 1189 | 1, 1190 | 1, 1191 | 1, 1192 | 1, 1193 | 1, 1194 | 1, 1195 | 1, 1196 | 1, 1197 | 1, 1198 | 1, 1199 | 1, 1200 | 1, 1201 | 1, 1202 | 1, 1203 | 1, 1204 | 1, 1205 | 1, 1206 | 1, 1207 | 1, 1208 | 1, 1209 | 1, 1210 | 1, 1211 | 1, 1212 | 1, 1213 | 1, 1214 | 1, 1215 | 1, 1216 | 1, 1217 | 1, 1218 | 1, 1219 | 1, 1220 | 1, 1221 | 1, 1222 | 0, 1223 | 0, 1224 | 0, 1225 | 0, 1226 | 0, 1227 | 0, 1228 | 0, 1229 | 1, 1230 | 1, 1231 | 1, 1232 | 1, 1233 | 1, 1234 | 1, 1235 | 1, 1236 | 1, 1237 | 1, 1238 | 1, 1239 | 1, 1240 | 1, 1241 | 1, 1242 | 1, 1243 | 1, 1244 | 1, 1245 | 1, 1246 | 1, 1247 | 1, 1248 | 1, 1249 | 1, 1250 | 1, 1251 | 1, 1252 | 1, 1253 | 1, 1254 | 1, 1255 | 1, 1256 | 1, 1257 | 1, 1258 | 1, 1259 | 1, 1260 | 1, 1261 | 1, 1262 | 1, 1263 | 1, 1264 | 1, 1265 | 1, 1266 | 1, 1267 | 1, 1268 | 1, 1269 | 1, 1270 | 1, 1271 | 1, 1272 | 1, 1273 | 1, 1274 | 1, 1275 | 1, 1276 | 1, 1277 | 1, 1278 | 1, 1279 | 0, 1280 | 0, 1281 | 0, 1282 | 0, 1283 | 0, 1284 | 0, 1285 | 0, 1286 | 0, 1287 | 0, 1288 | 0, 1289 | 0, 1290 | 0, 1291 | 1, 1292 | 1, 1293 | 1, 1294 | 1, 1295 | 1, 1296 | 1, 1297 | 1, 1298 | 1, 1299 | 1, 1300 | 1, 1301 | 1, 1302 | 1, 1303 | 1, 1304 | 1, 1305 | 1, 1306 | 1, 1307 | 1, 1308 | 1, 1309 | 1, 1310 | 1, 1311 | 1, 1312 | 1, 1313 | 1, 1314 | 1, 1315 | 1, 1316 | 1, 1317 | 1, 1318 | 1, 1319 | 1, 1320 | 1, 1321 | 1, 1322 | 1, 1323 | 1, 1324 | 1, 1325 | 1, 1326 | 1, 1327 | 1, 1328 | 1, 1329 | 1, 1330 | 1, 1331 | 1, 1332 | 1, 1333 | 1, 1334 | 1, 1335 | 1, 1336 | 1, 1337 | 1, 1338 | 1, 1339 | 0, 1340 | 0, 1341 | 0, 1342 | 0, 1343 | 0, 1344 | 0, 1345 | 0, 1346 | 0, 1347 | 0, 1348 | 0, 1349 | 0, 1350 | 0, 1351 | 0, 1352 | 1, 1353 | 1, 1354 | 1, 1355 | 1, 1356 | 1, 1357 | 1, 1358 | 1, 1359 | 1, 1360 | 1, 1361 | 1, 1362 | 1, 1363 | 1, 1364 | 1, 1365 | 1, 1366 | 1, 1367 | 1, 1368 | 1, 1369 | 1, 1370 | 1, 1371 | 1, 1372 | 1, 1373 | 1, 1374 | 1, 1375 | 1, 1376 | 1, 1377 | 1, 1378 | 1, 1379 | 1, 1380 | 1, 1381 | 1, 1382 | 1, 1383 | 1, 1384 | 1, 1385 | 1, 1386 | 1, 1387 | 1, 1388 | 1, 1389 | 1, 1390 | 1, 1391 | 1, 1392 | 1, 1393 | 1, 1394 | 1, 1395 | 1, 1396 | 1, 1397 | 1, 1398 | 0, 1399 | 0, 1400 | 0, 1401 | 0, 1402 | 0, 1403 | 0, 1404 | 0, 1405 | 0, 1406 | 0, 1407 | 0, 1408 | 0, 1409 | 0, 1410 | 0, 1411 | 0, 1412 | 1, 1413 | 1, 1414 | 1, 1415 | 1, 1416 | 1, 1417 | 1, 1418 | 1, 1419 | 1, 1420 | 1, 1421 | 1, 1422 | 1, 1423 | 1, 1424 | 1, 1425 | 1, 1426 | 1, 1427 | 1, 1428 | 1, 1429 | 1, 1430 | 1, 1431 | 1, 1432 | 1, 1433 | 1, 1434 | 1, 1435 | 1, 1436 | 1, 1437 | 1, 1438 | 1, 1439 | 1, 1440 | 1, 1441 | 1, 1442 | 1, 1443 | 1, 1444 | 1, 1445 | 1, 1446 | 1, 1447 | 1, 1448 | 1, 1449 | 1, 1450 | 1, 1451 | 1, 1452 | 1, 1453 | 1, 1454 | 1, 1455 | 1, 1456 | 1, 1457 | 1, 1458 | 0, 1459 | 0, 1460 | 1, 1461 | 1, 1462 | 1, 1463 | 1, 1464 | 1, 1465 | 1, 1466 | 0, 1467 | 0, 1468 | 0, 1469 | 0, 1470 | 0, 1471 | 0, 1472 | 1, 1473 | 1, 1474 | 1, 1475 | 1, 1476 | 1, 1477 | 1, 1478 | 1, 1479 | 1, 1480 | 1, 1481 | 1, 1482 | 1, 1483 | 1, 1484 | 1, 1485 | 1, 1486 | 1, 1487 | 1, 1488 | 1, 1489 | 1, 1490 | 1, 1491 | 1, 1492 | 1, 1493 | 1, 1494 | 1, 1495 | 1, 1496 | 1, 1497 | 1, 1498 | 1, 1499 | 1, 1500 | 1, 1501 | 1, 1502 | 1, 1503 | 1, 1504 | 1, 1505 | 1, 1506 | 1, 1507 | 1, 1508 | 1, 1509 | 1, 1510 | 1, 1511 | 1, 1512 | 1, 1513 | 1, 1514 | 1, 1515 | 1, 1516 | 1, 1517 | 1, 1518 | 1, 1519 | 1, 1520 | 1, 1521 | 1, 1522 | 1, 1523 | 1, 1524 | 1, 1525 | 1, 1526 | 1, 1527 | 0, 1528 | 0, 1529 | 0, 1530 | 0, 1531 | 0, 1532 | 1, 1533 | 1, 1534 | 1, 1535 | 1, 1536 | 1, 1537 | 1, 1538 | 1, 1539 | 1, 1540 | 1, 1541 | 1, 1542 | 1, 1543 | 1, 1544 | 1, 1545 | 1, 1546 | 1, 1547 | 1, 1548 | 1, 1549 | 1, 1550 | 1, 1551 | 1, 1552 | 1, 1553 | 1, 1554 | 1, 1555 | 1, 1556 | 1, 1557 | 1, 1558 | 1, 1559 | 1, 1560 | 1, 1561 | 1, 1562 | 1, 1563 | 1, 1564 | 1, 1565 | 1, 1566 | 1, 1567 | 1, 1568 | 1, 1569 | 1, 1570 | 1, 1571 | 1, 1572 | 1, 1573 | 1, 1574 | 1, 1575 | 1, 1576 | 1, 1577 | 1, 1578 | 1, 1579 | 1, 1580 | 1, 1581 | 1, 1582 | 1, 1583 | 1, 1584 | 1, 1585 | 1, 1586 | 1, 1587 | 0, 1588 | 0, 1589 | 0, 1590 | 0, 1591 | 0, 1592 | 1, 1593 | 1, 1594 | 1, 1595 | 1, 1596 | 1, 1597 | 1, 1598 | 1, 1599 | 1, 1600 | 1, 1601 | 1, 1602 | 1, 1603 | 1, 1604 | 1, 1605 | 1, 1606 | 1, 1607 | 1, 1608 | 1, 1609 | 1, 1610 | 1, 1611 | 1, 1612 | 1, 1613 | 1, 1614 | 1, 1615 | 1, 1616 | 1, 1617 | 1, 1618 | 1, 1619 | 1, 1620 | 1, 1621 | 1, 1622 | 1, 1623 | 1, 1624 | 1, 1625 | 1, 1626 | 1, 1627 | 1, 1628 | 1, 1629 | 1, 1630 | 1, 1631 | 1, 1632 | 1, 1633 | 1, 1634 | 1, 1635 | 1, 1636 | 1, 1637 | 1, 1638 | 1, 1639 | 1, 1640 | 1, 1641 | 1, 1642 | 1, 1643 | 1, 1644 | 1, 1645 | 1, 1646 | 1, 1647 | 0, 1648 | 0, 1649 | 0, 1650 | 0, 1651 | 0, 1652 | 1, 1653 | 1, 1654 | 1, 1655 | 1, 1656 | 1, 1657 | 1, 1658 | 1, 1659 | 1, 1660 | 1, 1661 | 1, 1662 | 1, 1663 | 1, 1664 | 1, 1665 | 1, 1666 | 1, 1667 | 1, 1668 | 1, 1669 | 1, 1670 | 1, 1671 | 1, 1672 | 1, 1673 | 1, 1674 | 1, 1675 | 1, 1676 | 1, 1677 | 1, 1678 | 1, 1679 | 1, 1680 | 1, 1681 | 1, 1682 | 1, 1683 | 1, 1684 | 1, 1685 | 1, 1686 | 1, 1687 | 1, 1688 | 1, 1689 | 1, 1690 | 1, 1691 | 1, 1692 | 1, 1693 | 1, 1694 | 1, 1695 | 1, 1696 | 1, 1697 | 1, 1698 | 1, 1699 | 1, 1700 | 1, 1701 | 1, 1702 | 1, 1703 | 1, 1704 | 1, 1705 | 1, 1706 | 0, 1707 | 0, 1708 | 0, 1709 | 0, 1710 | 0, 1711 | 1, 1712 | 1, 1713 | 1, 1714 | 1, 1715 | 1, 1716 | 1, 1717 | 1, 1718 | 1, 1719 | 1, 1720 | 1, 1721 | 1, 1722 | 1, 1723 | 1, 1724 | 1, 1725 | 1, 1726 | 1, 1727 | 1, 1728 | 1, 1729 | 1, 1730 | 1, 1731 | 1, 1732 | 1, 1733 | 1, 1734 | 1, 1735 | 1, 1736 | 1, 1737 | 1, 1738 | 1, 1739 | 1, 1740 | 1, 1741 | 1, 1742 | 1, 1743 | 1, 1744 | 1, 1745 | 1, 1746 | 1, 1747 | 1, 1748 | 1, 1749 | 1, 1750 | 1, 1751 | 1, 1752 | 1, 1753 | 1, 1754 | 1, 1755 | 1, 1756 | 1, 1757 | 1, 1758 | 1, 1759 | 1, 1760 | 1, 1761 | 1, 1762 | 1, 1763 | 1, 1764 | 1, 1765 | 1, 1766 | 0, 1767 | 0, 1768 | 0, 1769 | 0, 1770 | 0, 1771 | 1, 1772 | 1, 1773 | 1, 1774 | 1, 1775 | 1, 1776 | 1, 1777 | 1, 1778 | 1, 1779 | 1, 1780 | 1, 1781 | 1, 1782 | 1, 1783 | 1, 1784 | 1, 1785 | 1, 1786 | 1, 1787 | 1, 1788 | 1, 1789 | 1, 1790 | 1, 1791 | 1, 1792 | 1, 1793 | 1, 1794 | 1, 1795 | 1, 1796 | 1, 1797 | 1, 1798 | 1, 1799 | 1, 1800 | 1, 1801 | 1, 1802 | 1, 1803 | 1, 1804 | 1, 1805 | 1, 1806 | 1, 1807 | 1, 1808 | 1, 1809 | 1, 1810 | 1, 1811 | 1, 1812 | 1, 1813 | 1, 1814 | 1, 1815 | 1, 1816 | 1, 1817 | 1, 1818 | 1, 1819 | 1, 1820 | 1, 1821 | 1, 1822 | 1, 1823 | 1, 1824 | 1, 1825 | 0, 1826 | 0, 1827 | 0, 1828 | 0, 1829 | 0, 1830 | 1, 1831 | 1, 1832 | 1, 1833 | 1, 1834 | 1, 1835 | 1, 1836 | 1, 1837 | 1, 1838 | 1, 1839 | 1, 1840 | 1, 1841 | 1, 1842 | 1, 1843 | 1, 1844 | 1, 1845 | 1, 1846 | 1, 1847 | 1, 1848 | 1, 1849 | 1, 1850 | 1, 1851 | 1, 1852 | 1, 1853 | 1, 1854 | 1, 1855 | 1, 1856 | 1, 1857 | 1, 1858 | 1, 1859 | 1, 1860 | 1, 1861 | 1, 1862 | 1, 1863 | 1, 1864 | 1, 1865 | 1, 1866 | 1, 1867 | 1, 1868 | 1, 1869 | 1, 1870 | 1, 1871 | 1, 1872 | 1, 1873 | 1, 1874 | 1, 1875 | 1, 1876 | 1, 1877 | 1, 1878 | 1, 1879 | 1, 1880 | 1, 1881 | 1, 1882 | 1, 1883 | 0, 1884 | 0, 1885 | 0, 1886 | 0, 1887 | 0, 1888 | 0, 1889 | 1, 1890 | 1, 1891 | 1, 1892 | 1, 1893 | 1, 1894 | 1, 1895 | 1, 1896 | 1, 1897 | 1, 1898 | 1, 1899 | 1, 1900 | 1, 1901 | 1, 1902 | 1, 1903 | 1, 1904 | 1, 1905 | 1, 1906 | 1, 1907 | 1, 1908 | 1, 1909 | 1, 1910 | 1, 1911 | 1, 1912 | 1, 1913 | 1, 1914 | 1, 1915 | 1, 1916 | 1, 1917 | 1, 1918 | 1, 1919 | 1, 1920 | 1, 1921 | 1, 1922 | 1, 1923 | 1, 1924 | 1, 1925 | 1, 1926 | 1, 1927 | 1, 1928 | 1, 1929 | 1, 1930 | 1, 1931 | 1, 1932 | 1, 1933 | 1, 1934 | 1, 1935 | 1, 1936 | 1, 1937 | 0, 1938 | 0, 1939 | 0, 1940 | 0, 1941 | 0, 1942 | 0, 1943 | 0, 1944 | 0, 1945 | 0, 1946 | 0, 1947 | 1, 1948 | 1, 1949 | 1, 1950 | 1, 1951 | 1, 1952 | 1, 1953 | 1, 1954 | 1, 1955 | 1, 1956 | 1, 1957 | 1, 1958 | 1, 1959 | 1, 1960 | 1, 1961 | 1, 1962 | 1, 1963 | 1, 1964 | 1, 1965 | 1, 1966 | 1, 1967 | 1, 1968 | 1, 1969 | 1, 1970 | 1, 1971 | 1, 1972 | 1, 1973 | 1, 1974 | 1, 1975 | 1, 1976 | 1, 1977 | 1, 1978 | 1, 1979 | 1, 1980 | 1, 1981 | 1, 1982 | 1, 1983 | 1, 1984 | 1, 1985 | 1, 1986 | 1, 1987 | 1, 1988 | 1, 1989 | 1, 1990 | 1, 1991 | 1, 1992 | 1, 1993 | 1, 1994 | 1, 1995 | 1, 1996 | 1, 1997 | 0, 1998 | 0, 1999 | 0, 2000 | 0, 2001 | 0, 2002 | 0, 2003 | 0, 2004 | 0, 2005 | 1, 2006 | 1, 2007 | 1, 2008 | 1, 2009 | 1, 2010 | 1, 2011 | 1, 2012 | 1, 2013 | 1, 2014 | 1, 2015 | 1, 2016 | 1, 2017 | 1, 2018 | 1, 2019 | 1, 2020 | 1, 2021 | 1, 2022 | 1, 2023 | 1, 2024 | 1, 2025 | 1, 2026 | 1, 2027 | 1, 2028 | 1, 2029 | 1, 2030 | 1, 2031 | 1, 2032 | 1, 2033 | 1, 2034 | 1, 2035 | 1, 2036 | 1, 2037 | 1, 2038 | 1, 2039 | 1, 2040 | 1, 2041 | 1, 2042 | 1, 2043 | 1, 2044 | 1, 2045 | 1, 2046 | 1, 2047 | 1, 2048 | 1, 2049 | 1, 2050 | 1, 2051 | 1, 2052 | 1, 2053 | 1, 2054 | 1, 2055 | 1, 2056 | 0, 2057 | 0, 2058 | 0, 2059 | 0, 2060 | 0, 2061 | 0, 2062 | 0, 2063 | 0, 2064 | 0, 2065 | 0, 2066 | 0, 2067 | 1, 2068 | 1, 2069 | 1, 2070 | 1, 2071 | 1, 2072 | 1, 2073 | 1, 2074 | 1, 2075 | 1, 2076 | 1, 2077 | 1, 2078 | 1, 2079 | 1, 2080 | 1, 2081 | 1, 2082 | 1, 2083 | 1, 2084 | 1, 2085 | 1, 2086 | 1, 2087 | 1, 2088 | 1, 2089 | 1, 2090 | 1, 2091 | 1, 2092 | 1, 2093 | 1, 2094 | 1, 2095 | 1, 2096 | 1, 2097 | 1, 2098 | 1, 2099 | 1, 2100 | 1, 2101 | 1, 2102 | 1, 2103 | 1, 2104 | 1, 2105 | 1, 2106 | 1, 2107 | 1, 2108 | 1, 2109 | 1, 2110 | 1, 2111 | 1, 2112 | 1, 2113 | 1, 2114 | 1, 2115 | 1, 2116 | 0, 2117 | 0, 2118 | 0, 2119 | 0, 2120 | 0, 2121 | 0, 2122 | 0, 2123 | 0, 2124 | 0, 2125 | 0, 2126 | 0, 2127 | 0, 2128 | 1, 2129 | 1, 2130 | 1, 2131 | 1, 2132 | 1, 2133 | 1, 2134 | 1, 2135 | 1, 2136 | 1, 2137 | 1, 2138 | 1, 2139 | 1, 2140 | 1, 2141 | 1, 2142 | 1, 2143 | 1, 2144 | 1, 2145 | 1, 2146 | 1, 2147 | 1, 2148 | 1, 2149 | 1, 2150 | 1, 2151 | 1, 2152 | 1, 2153 | 1, 2154 | 1, 2155 | 1, 2156 | 1, 2157 | 1, 2158 | 1, 2159 | 1, 2160 | 1, 2161 | 1, 2162 | 1, 2163 | 1, 2164 | 1, 2165 | 1, 2166 | 1, 2167 | 1, 2168 | 1, 2169 | 1, 2170 | 1, 2171 | 1, 2172 | 1, 2173 | 1, 2174 | 1, 2175 | 1, 2176 | 1, 2177 | 1, 2178 | 1, 2179 | 1, 2180 | 1, 2181 | 1, 2182 | 0, 2183 | 0, 2184 | 0, 2185 | 0, 2186 | 0, 2187 | 0, 2188 | 1, 2189 | 1, 2190 | 1, 2191 | 1, 2192 | 1, 2193 | 1, 2194 | 1, 2195 | 1, 2196 | 1, 2197 | 1, 2198 | 1, 2199 | 1, 2200 | 1, 2201 | 1, 2202 | 1, 2203 | 1, 2204 | 1, 2205 | 1, 2206 | 1, 2207 | 1, 2208 | 1, 2209 | 1, 2210 | 1, 2211 | 1, 2212 | 1, 2213 | 1, 2214 | 1, 2215 | 1, 2216 | 1, 2217 | 1, 2218 | 1, 2219 | 1, 2220 | 1, 2221 | 1, 2222 | 1, 2223 | 1, 2224 | 1, 2225 | 1, 2226 | 1, 2227 | 1, 2228 | 1, 2229 | 1, 2230 | 1, 2231 | 1, 2232 | 1, 2233 | 1, 2234 | 1, 2235 | 1, 2236 | 1, 2237 | 1, 2238 | 1, 2239 | 1, 2240 | 1, 2241 | 1, 2242 | 1, 2243 | 0, 2244 | 0, 2245 | 0, 2246 | 0, 2247 | 0, 2248 | 0, 2249 | 1, 2250 | 1, 2251 | 1, 2252 | 1, 2253 | 1, 2254 | 1, 2255 | 1, 2256 | 1, 2257 | 1, 2258 | 1, 2259 | 1, 2260 | 1, 2261 | 1, 2262 | 1, 2263 | 1, 2264 | 1, 2265 | 1, 2266 | 1, 2267 | 1, 2268 | 1, 2269 | 1, 2270 | 1, 2271 | 1, 2272 | 1, 2273 | 1, 2274 | 1, 2275 | 1, 2276 | 1, 2277 | 1, 2278 | 1, 2279 | 1, 2280 | 1, 2281 | 1, 2282 | 1, 2283 | 1, 2284 | 1, 2285 | 1, 2286 | 1, 2287 | 1, 2288 | 1, 2289 | 1, 2290 | 1, 2291 | 1, 2292 | 1, 2293 | 1, 2294 | 1, 2295 | 1, 2296 | 1, 2297 | 1, 2298 | 1, 2299 | 1, 2300 | 1, 2301 | 1, 2302 | 1, 2303 | 1, 2304 | 0, 2305 | 0, 2306 | 0, 2307 | 0, 2308 | 0, 2309 | 1, 2310 | 1, 2311 | 1, 2312 | 1, 2313 | 1, 2314 | 1, 2315 | 1, 2316 | 1, 2317 | 1, 2318 | 1, 2319 | 1, 2320 | 1, 2321 | 1, 2322 | 1, 2323 | 1, 2324 | 1, 2325 | 1, 2326 | 1, 2327 | 1, 2328 | 1, 2329 | 1, 2330 | 1, 2331 | 1, 2332 | 1, 2333 | 1, 2334 | 1, 2335 | 1, 2336 | 1, 2337 | 1, 2338 | 1, 2339 | 1, 2340 | 1, 2341 | 1, 2342 | 1, 2343 | 1, 2344 | 1, 2345 | 1, 2346 | 1, 2347 | 1, 2348 | 1, 2349 | 1, 2350 | 1, 2351 | 1, 2352 | 1, 2353 | 1, 2354 | 1, 2355 | 1, 2356 | 1, 2357 | 1, 2358 | 1, 2359 | 1, 2360 | 1, 2361 | 1, 2362 | 1, 2363 | 1, 2364 | 0, 2365 | 0, 2366 | 0, 2367 | 0, 2368 | 0, 2369 | 1, 2370 | 1, 2371 | 1, 2372 | 1, 2373 | 1, 2374 | 1, 2375 | 1, 2376 | 1, 2377 | 1, 2378 | 1, 2379 | 1, 2380 | 1, 2381 | 1, 2382 | 1, 2383 | 1, 2384 | 1, 2385 | 1, 2386 | 1, 2387 | 1, 2388 | 1, 2389 | 1, 2390 | 1, 2391 | 1, 2392 | 1, 2393 | 1, 2394 | 1, 2395 | 1, 2396 | 1, 2397 | 1, 2398 | 1, 2399 | 1, 2400 | 1, 2401 | 1, 2402 | 1, 2403 | 1, 2404 | 1, 2405 | 1, 2406 | 1, 2407 | 1, 2408 | 1, 2409 | 1, 2410 | 1, 2411 | 1, 2412 | 1, 2413 | 1, 2414 | 1, 2415 | 1, 2416 | 1, 2417 | 1, 2418 | 1, 2419 | 1, 2420 | 1, 2421 | 1, 2422 | 1, 2423 | 0, 2424 | 0, 2425 | 0, 2426 | 0, 2427 | 0, 2428 | 1, 2429 | 1, 2430 | 1, 2431 | 1, 2432 | 1, 2433 | 1, 2434 | 1, 2435 | 1, 2436 | 1, 2437 | 1, 2438 | 1, 2439 | 1, 2440 | 1, 2441 | 1, 2442 | 1, 2443 | 1, 2444 | 1, 2445 | 1, 2446 | 1, 2447 | 1, 2448 | 1, 2449 | 1, 2450 | 1, 2451 | 1, 2452 | 1, 2453 | 1, 2454 | 1, 2455 | 1, 2456 | 1, 2457 | 1, 2458 | 1, 2459 | 1, 2460 | 1, 2461 | 1, 2462 | 1, 2463 | 1, 2464 | 1, 2465 | 1, 2466 | 1, 2467 | 1, 2468 | 1, 2469 | 1, 2470 | 1, 2471 | 1, 2472 | 1, 2473 | 1, 2474 | 1, 2475 | 1, 2476 | 1, 2477 | 1, 2478 | 1, 2479 | 1, 2480 | 1, 2481 | 1, 2482 | 1, 2483 | 0, 2484 | 0, 2485 | 0, 2486 | 0, 2487 | 0, 2488 | 1, 2489 | 1, 2490 | 1, 2491 | 1, 2492 | 1, 2493 | 1, 2494 | 1, 2495 | 1, 2496 | 1, 2497 | 1, 2498 | 1, 2499 | 1, 2500 | 1, 2501 | 1, 2502 | 1, 2503 | 1, 2504 | 1, 2505 | 1, 2506 | 1, 2507 | 1, 2508 | 1, 2509 | 1, 2510 | 1, 2511 | 1, 2512 | 1, 2513 | 1, 2514 | 1, 2515 | 1, 2516 | 1, 2517 | 1, 2518 | 1, 2519 | 1, 2520 | 1, 2521 | 1, 2522 | 1, 2523 | 1, 2524 | 1, 2525 | 1, 2526 | 1, 2527 | 1, 2528 | 1, 2529 | 1, 2530 | 1, 2531 | 1, 2532 | 1, 2533 | 1, 2534 | 1, 2535 | 1, 2536 | 1, 2537 | 1, 2538 | 1, 2539 | 1, 2540 | 1, 2541 | 1, 2542 | 0, 2543 | 0, 2544 | 0, 2545 | 0, 2546 | 0, 2547 | 1, 2548 | 1, 2549 | 1, 2550 | 1, 2551 | 1, 2552 | 1, 2553 | 1, 2554 | 1, 2555 | 1, 2556 | 1, 2557 | 1, 2558 | 1, 2559 | 1, 2560 | 1, 2561 | 1, 2562 | 1, 2563 | 1, 2564 | 1, 2565 | 1, 2566 | 1, 2567 | 1, 2568 | 1, 2569 | 1, 2570 | 1, 2571 | 1, 2572 | 1, 2573 | 1, 2574 | 1, 2575 | 1, 2576 | 1, 2577 | 1, 2578 | 1, 2579 | 1, 2580 | 1, 2581 | 1, 2582 | 1, 2583 | 1, 2584 | 1, 2585 | 1, 2586 | 1, 2587 | 1, 2588 | 1, 2589 | 1, 2590 | 0, 2591 | 0, 2592 | 0, 2593 | 1, 2594 | 1, 2595 | 1, 2596 | 1, 2597 | 1, 2598 | 1, 2599 | 1, 2600 | 0, 2601 | 0, 2602 | 0, 2603 | 0, 2604 | 0, 2605 | 0, 2606 | 1, 2607 | 1, 2608 | 1, 2609 | 1, 2610 | 1, 2611 | 1, 2612 | 1, 2613 | 1, 2614 | 1, 2615 | 1, 2616 | 1, 2617 | 1, 2618 | 1, 2619 | 1, 2620 | 1, 2621 | 1, 2622 | 1, 2623 | 1, 2624 | 1, 2625 | 1, 2626 | 1, 2627 | 1, 2628 | 1, 2629 | 1, 2630 | 1, 2631 | 1, 2632 | 1, 2633 | 1, 2634 | 1, 2635 | 1, 2636 | 1, 2637 | 1, 2638 | 1, 2639 | 1, 2640 | 1, 2641 | 1, 2642 | 1, 2643 | 1, 2644 | 1, 2645 | 1, 2646 | 1, 2647 | 1, 2648 | 1, 2649 | 1, 2650 | 0, 2651 | 0, 2652 | 0, 2653 | 0, 2654 | 0, 2655 | 0, 2656 | 0, 2657 | 0, 2658 | 0, 2659 | 0, 2660 | 0, 2661 | 0, 2662 | 0, 2663 | 0, 2664 | 0, 2665 | 1, 2666 | 1, 2667 | 1, 2668 | 1, 2669 | 1, 2670 | 1, 2671 | 1, 2672 | 1, 2673 | 1, 2674 | 1, 2675 | 1, 2676 | 1, 2677 | 1, 2678 | 1, 2679 | 1, 2680 | 1, 2681 | 1, 2682 | 1, 2683 | 1, 2684 | 1, 2685 | 1, 2686 | 1, 2687 | 1, 2688 | 1, 2689 | 1, 2690 | 1, 2691 | 1, 2692 | 1, 2693 | 1, 2694 | 1, 2695 | 1, 2696 | 1, 2697 | 1, 2698 | 1, 2699 | 1, 2700 | 1, 2701 | 1, 2702 | 1, 2703 | 1, 2704 | 1, 2705 | 1, 2706 | 1, 2707 | 1, 2708 | 1, 2709 | 1, 2710 | 0, 2711 | 0, 2712 | 0, 2713 | 0, 2714 | 0, 2715 | 0, 2716 | 0, 2717 | 0, 2718 | 0, 2719 | 0, 2720 | 0, 2721 | 0, 2722 | 0, 2723 | 0, 2724 | 1, 2725 | 1, 2726 | 1, 2727 | 1, 2728 | 1, 2729 | 1, 2730 | 1, 2731 | 1, 2732 | 1, 2733 | 1, 2734 | 1, 2735 | 1, 2736 | 1, 2737 | 1, 2738 | 1, 2739 | 1, 2740 | 1, 2741 | 1, 2742 | 1, 2743 | 1, 2744 | 1, 2745 | 1, 2746 | 1, 2747 | 1, 2748 | 1, 2749 | 1, 2750 | 1, 2751 | 1, 2752 | 1, 2753 | 1, 2754 | 1, 2755 | 1, 2756 | 1, 2757 | 1, 2758 | 1, 2759 | 1, 2760 | 1, 2761 | 1, 2762 | 1, 2763 | 1, 2764 | 1, 2765 | 1, 2766 | 1, 2767 | 1, 2768 | 1, 2769 | 0, 2770 | 0, 2771 | 0, 2772 | 0, 2773 | 0, 2774 | 0, 2775 | 0, 2776 | 0, 2777 | 0, 2778 | 0, 2779 | 0, 2780 | 0, 2781 | 0, 2782 | 1, 2783 | 1, 2784 | 1, 2785 | 1, 2786 | 1, 2787 | 1, 2788 | 1, 2789 | 1, 2790 | 1, 2791 | 1, 2792 | 1, 2793 | 1, 2794 | 1, 2795 | 1, 2796 | 1, 2797 | 1, 2798 | 1, 2799 | 1, 2800 | 1, 2801 | 1, 2802 | 1, 2803 | 1, 2804 | 1, 2805 | 1, 2806 | 1, 2807 | 1, 2808 | 1, 2809 | 1, 2810 | 1, 2811 | 1, 2812 | 1, 2813 | 1, 2814 | 1, 2815 | 1, 2816 | 1, 2817 | 1, 2818 | 1, 2819 | 1, 2820 | 1, 2821 | 1, 2822 | 1, 2823 | 1, 2824 | 1, 2825 | 1, 2826 | 1, 2827 | 1, 2828 | 1, 2829 | 1, 2830 | 1, 2831 | 0, 2832 | 0, 2833 | 0, 2834 | 0, 2835 | 0, 2836 | 0, 2837 | 0, 2838 | 0, 2839 | 0, 2840 | 1, 2841 | 1, 2842 | 1, 2843 | 1, 2844 | 1, 2845 | 1, 2846 | 1, 2847 | 1, 2848 | 1, 2849 | 1, 2850 | 1, 2851 | 1, 2852 | 1, 2853 | 1, 2854 | 1, 2855 | 1, 2856 | 1, 2857 | 1, 2858 | 1, 2859 | 1, 2860 | 1, 2861 | 1, 2862 | 1, 2863 | 1, 2864 | 1, 2865 | 1, 2866 | 1, 2867 | 1, 2868 | 1, 2869 | 1, 2870 | 1, 2871 | 1, 2872 | 1, 2873 | 1, 2874 | 1, 2875 | 1, 2876 | 1, 2877 | 1, 2878 | 1, 2879 | 1, 2880 | 1, 2881 | 1, 2882 | 1, 2883 | 1, 2884 | 1, 2885 | 1, 2886 | 1, 2887 | 1, 2888 | 1, 2889 | 1, 2890 | 1, 2891 | 1, 2892 | 1, 2893 | 1, 2894 | 1, 2895 | 1, 2896 | 1, 2897 | 1, 2898 | 1, 2899 | 1, 2900 | 1, 2901 | 1, 2902 | 1, 2903 | 1, 2904 | 1, 2905 | 1, 2906 | 1, 2907 | 1, 2908 | 1, 2909 | 1, 2910 | 1, 2911 | 1, 2912 | 1, 2913 | 1, 2914 | 1, 2915 | 1, 2916 | 1, 2917 | 1, 2918 | 1, 2919 | 1, 2920 | 1, 2921 | 1, 2922 | 1, 2923 | 1, 2924 | 1, 2925 | 1, 2926 | 1, 2927 | 1, 2928 | 1, 2929 | 1, 2930 | 1, 2931 | 1, 2932 | 1, 2933 | 1, 2934 | 1, 2935 | 1, 2936 | 1, 2937 | 1, 2938 | 1, 2939 | 1, 2940 | 1, 2941 | 1, 2942 | 1, 2943 | 1, 2944 | 1, 2945 | 1, 2946 | 1, 2947 | 1, 2948 | 1, 2949 | 1, 2950 | 1, 2951 | 1, 2952 | 1, 2953 | 1, 2954 | 1, 2955 | 1, 2956 | 1, 2957 | 1, 2958 | 1, 2959 | 1, 2960 | 1, 2961 | 1, 2962 | 1, 2963 | 1, 2964 | 1, 2965 | 1, 2966 | 1, 2967 | 1, 2968 | 1, 2969 | 1, 2970 | 1, 2971 | 1, 2972 | 1, 2973 | 1, 2974 | 1, 2975 | 1, 2976 | 1, 2977 | 1, 2978 | 1, 2979 | 1, 2980 | 1, 2981 | 1, 2982 | 1, 2983 | 1, 2984 | 1, 2985 | 1, 2986 | 1, 2987 | 1, 2988 | 1, 2989 | 1, 2990 | 1, 2991 | 1, 2992 | 1, 2993 | 1, 2994 | 1, 2995 | 1, 2996 | 1, 2997 | 1, 2998 | 1, 2999 | 1, 3000 | 1, 3001 | 1, 3002 | 1, 3003 | 1, 3004 | 1, 3005 | 1, 3006 | 1, 3007 | 1, 3008 | 1, 3009 | 1, 3010 | 1, 3011 | 1, 3012 | 1, 3013 | 1, 3014 | 1, 3015 | 1, 3016 | 1, 3017 | 1, 3018 | 1, 3019 | 1, 3020 | 1, 3021 | 1, 3022 | 1, 3023 | 1, 3024 | 1, 3025 | 1, 3026 | 1, 3027 | 1, 3028 | 1, 3029 | 1, 3030 | 1, 3031 | 1, 3032 | 1, 3033 | 1, 3034 | 1, 3035 | 1, 3036 | 1, 3037 | 1, 3038 | 1, 3039 | 1, 3040 | 1, 3041 | 1, 3042 | 1, 3043 | 1, 3044 | 1, 3045 | 1, 3046 | 1, 3047 | 1, 3048 | 1, 3049 | 1, 3050 | 1, 3051 | 1, 3052 | 1, 3053 | 1, 3054 | 1, 3055 | 1, 3056 | 1, 3057 | 1, 3058 | 1, 3059 | 1, 3060 | 1, 3061 | 1, 3062 | 1, 3063 | 1, 3064 | 1, 3065 | 1, 3066 | 1, 3067 | 1, 3068 | 1, 3069 | 1, 3070 | 1, 3071 | 1, 3072 | 1, 3073 | 1, 3074 | 1, 3075 | 1, 3076 | 1, 3077 | 1, 3078 | 1, 3079 | 1, 3080 | 1, 3081 | 1, 3082 | 1, 3083 | 1, 3084 | 1, 3085 | 1, 3086 | 1, 3087 | 1, 3088 | 1, 3089 | 1, 3090 | 1, 3091 | 1, 3092 | 1, 3093 | 1, 3094 | 1, 3095 | 1, 3096 | 1, 3097 | 1, 3098 | 1, 3099 | 1, 3100 | 1, 3101 | 1, 3102 | 1, 3103 | 1, 3104 | 1, 3105 | 1, 3106 | 1, 3107 | 1, 3108 | 1, 3109 | 1, 3110 | 1, 3111 | 1, 3112 | 1, 3113 | 1, 3114 | 1, 3115 | 1, 3116 | 1, 3117 | 1, 3118 | 1, 3119 | 1, 3120 | 1, 3121 | 1, 3122 | 1, 3123 | 1, 3124 | 1, 3125 | 1, 3126 | 1, 3127 | 1, 3128 | 1, 3129 | 1, 3130 | 1, 3131 | 1, 3132 | 1, 3133 | 1, 3134 | 1, 3135 | 1, 3136 | 1, 3137 | 1, 3138 | 1, 3139 | 1, 3140 | 1, 3141 | 1, 3142 | 1, 3143 | 1, 3144 | 1, 3145 | 1, 3146 | 1, 3147 | 1, 3148 | 1, 3149 | 1, 3150 | 1, 3151 | 1, 3152 | 1, 3153 | 1, 3154 | 1, 3155 | 1, 3156 | 1, 3157 | 1, 3158 | 1, 3159 | 1, 3160 | 1, 3161 | 1, 3162 | 1, 3163 | 1, 3164 | 1, 3165 | 1, 3166 | 1, 3167 | 1, 3168 | 1, 3169 | 1, 3170 | 1, 3171 | 1, 3172 | 1, 3173 | 1, 3174 | 1, 3175 | 1, 3176 | 1, 3177 | 1, 3178 | 1, 3179 | 1, 3180 | 1, 3181 | 1, 3182 | 1, 3183 | 1, 3184 | 1, 3185 | 1, 3186 | 1, 3187 | 1, 3188 | 1, 3189 | 1, 3190 | 1, 3191 | 1, 3192 | 1, 3193 | 1, 3194 | 1, 3195 | 1, 3196 | 1, 3197 | 1, 3198 | 1, 3199 | 1, 3200 | 1, 3201 | 1, 3202 | 1, 3203 | 1, 3204 | 1, 3205 | 1, 3206 | 1, 3207 | 1, 3208 | 1, 3209 | 1, 3210 | 1, 3211 | 1, 3212 | 1, 3213 | 1, 3214 | 1, 3215 | 1, 3216 | 1, 3217 | 1, 3218 | 1, 3219 | 1, 3220 | 1, 3221 | 1, 3222 | 1, 3223 | 1, 3224 | 1, 3225 | 1, 3226 | 1, 3227 | 1, 3228 | 1, 3229 | 1, 3230 | 1, 3231 | 1, 3232 | 1, 3233 | 1, 3234 | 1, 3235 | 1, 3236 | 1, 3237 | 1, 3238 | 1, 3239 | 1, 3240 | 1, 3241 | 1, 3242 | 1, 3243 | 1, 3244 | 1, 3245 | 1, 3246 | 1, 3247 | 1, 3248 | 1, 3249 | 1, 3250 | 1, 3251 | 1, 3252 | 1, 3253 | 1, 3254 | 1, 3255 | 1, 3256 | 1, 3257 | 1, 3258 | 1, 3259 | 1, 3260 | 1, 3261 | 1, 3262 | 1, 3263 | 1, 3264 | 1, 3265 | 1, 3266 | 1, 3267 | 1, 3268 | 1, 3269 | 1, 3270 | 1, 3271 | 1, 3272 | 1, 3273 | 1, 3274 | 1, 3275 | 1, 3276 | 1, 3277 | 1, 3278 | 1, 3279 | 1, 3280 | 1, 3281 | 1, 3282 | 1, 3283 | 1, 3284 | 1, 3285 | 1, 3286 | 1, 3287 | 1, 3288 | 1, 3289 | 1, 3290 | 1, 3291 | 1, 3292 | 1, 3293 | 1, 3294 | 1, 3295 | 1, 3296 | 1, 3297 | 1, 3298 | 1, 3299 | 1, 3300 | 1, 3301 | 1, 3302 | 1, 3303 | 1, 3304 | 1, 3305 | 1, 3306 | 1, 3307 | 1, 3308 | 1, 3309 | 1, 3310 | 1, 3311 | 1, 3312 | 1, 3313 | 1, 3314 | 1, 3315 | 1, 3316 | 1, 3317 | 1, 3318 | 1, 3319 | 1, 3320 | 1, 3321 | 1, 3322 | 1, 3323 | 1, 3324 | 1, 3325 | 1, 3326 | 1, 3327 | 1, 3328 | 1, 3329 | 1, 3330 | 1, 3331 | 1, 3332 | 1, 3333 | 1, 3334 | 1, 3335 | 1, 3336 | 1, 3337 | 1, 3338 | 1, 3339 | 1, 3340 | 1, 3341 | 1, 3342 | 1, 3343 | 1, 3344 | 1, 3345 | 1, 3346 | 1, 3347 | 1, 3348 | 1, 3349 | 1, 3350 | 1, 3351 | 1, 3352 | 1, 3353 | 1, 3354 | 1, 3355 | 1, 3356 | 1, 3357 | 1, 3358 | 1, 3359 | 1, 3360 | 1, 3361 | 1, 3362 | 1, 3363 | 1, 3364 | 1, 3365 | 1, 3366 | 1, 3367 | 1, 3368 | 1, 3369 | 1, 3370 | 1, 3371 | 1, 3372 | 1, 3373 | 1, 3374 | 1, 3375 | 1, 3376 | 1, 3377 | 1, 3378 | 1, 3379 | 1, 3380 | 1, 3381 | 1, 3382 | 1, 3383 | 1, 3384 | 1, 3385 | 1, 3386 | 1, 3387 | 1, 3388 | 1, 3389 | 1, 3390 | 1, 3391 | 1, 3392 | 1, 3393 | 1, 3394 | 1, 3395 | 1, 3396 | 1, 3397 | 1, 3398 | 1, 3399 | 1, 3400 | 1, 3401 | 1, 3402 | 1, 3403 | 1, 3404 | 1, 3405 | 1, 3406 | 1, 3407 | 1, 3408 | 1, 3409 | 1, 3410 | 1, 3411 | 1, 3412 | 1, 3413 | 1, 3414 | 1, 3415 | 1, 3416 | 1, 3417 | 1, 3418 | 1, 3419 | 1, 3420 | 1, 3421 | 1, 3422 | 1, 3423 | 1, 3424 | 1, 3425 | 1, 3426 | 1, 3427 | 1, 3428 | 1, 3429 | 1, 3430 | 1, 3431 | 1, 3432 | 1, 3433 | 1, 3434 | 1, 3435 | 1, 3436 | 1, 3437 | 1, 3438 | 1, 3439 | 1, 3440 | 1, 3441 | 1, 3442 | 1, 3443 | 1, 3444 | 1, 3445 | 1, 3446 | 1, 3447 | 1, 3448 | 1, 3449 | 1, 3450 | 1, 3451 | 1, 3452 | 1, 3453 | 1, 3454 | 1, 3455 | 1, 3456 | 1, 3457 | 1, 3458 | 1, 3459 | 1, 3460 | 1, 3461 | 1, 3462 | 1, 3463 | 1, 3464 | 1, 3465 | 1, 3466 | 1, 3467 | 1, 3468 | 1, 3469 | 1, 3470 | 1, 3471 | 1, 3472 | 1, 3473 | 1, 3474 | 1, 3475 | 1, 3476 | 1, 3477 | 1, 3478 | 1, 3479 | 1, 3480 | 1, 3481 | 1, 3482 | 1, 3483 | 1, 3484 | 1, 3485 | 1, 3486 | 1, 3487 | 1, 3488 | 1, 3489 | 1, 3490 | 1, 3491 | 1, 3492 | 1, 3493 | 1, 3494 | 1, 3495 | 1, 3496 | 1, 3497 | 1, 3498 | 1, 3499 | 1, 3500 | 1, 3501 | 1, 3502 | 1, 3503 | 1, 3504 | 1, 3505 | 1, 3506 | 1, 3507 | 1, 3508 | 1, 3509 | 1, 3510 | 1, 3511 | 1, 3512 | 1, 3513 | 1, 3514 | 1, 3515 | 1, 3516 | 1, 3517 | 1, 3518 | 1, 3519 | 1, 3520 | 1, 3521 | 1, 3522 | 1, 3523 | 1, 3524 | 1, 3525 | 1, 3526 | 1, 3527 | 1, 3528 | 1, 3529 | 1, 3530 | 1, 3531 | 1, 3532 | 1, 3533 | 1, 3534 | 1, 3535 | 1, 3536 | 1, 3537 | 1, 3538 | 1, 3539 | 1, 3540 | 1, 3541 | 1, 3542 | 1, 3543 | 1, 3544 | 1, 3545 | 1, 3546 | 1, 3547 | 1, 3548 | 1, 3549 | 1, 3550 | 1, 3551 | 1, 3552 | 1, 3553 | 1, 3554 | 1, 3555 | 1, 3556 | 1, 3557 | 1, 3558 | 1, 3559 | 1, 3560 | 1, 3561 | 1, 3562 | 1, 3563 | 1, 3564 | 1, 3565 | 1, 3566 | 1, 3567 | 1, 3568 | 1, 3569 | 1, 3570 | 1, 3571 | 1, 3572 | 1, 3573 | 1, 3574 | 1, 3575 | 1, 3576 | 1, 3577 | 1, 3578 | 1, 3579 | 1, 3580 | 1, 3581 | 1, 3582 | 1, 3583 | 1, 3584 | 1, 3585 | 1, 3586 | 1, 3587 | 1, 3588 | 1, 3589 | 1, 3590 | 1, 3591 | 1, 3592 | 1, 3593 | 1, 3594 | 1, 3595 | 1, 3596 | 1, 3597 | 1, 3598 | 1, 3599 | 1, 3600 | 1, 3601 | 1, 3602 | 1, 3603 | ; -------------------------------------------------------------------------------- /images/3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tinylic/ASIC-FPGA-tetris/d6e5226dd147fddc03502d10e4851ef89cbcf07a/images/3.png -------------------------------------------------------------------------------- /images/4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tinylic/ASIC-FPGA-tetris/d6e5226dd147fddc03502d10e4851ef89cbcf07a/images/4.png -------------------------------------------------------------------------------- /images/5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tinylic/ASIC-FPGA-tetris/d6e5226dd147fddc03502d10e4851ef89cbcf07a/images/5.png -------------------------------------------------------------------------------- /images/6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tinylic/ASIC-FPGA-tetris/d6e5226dd147fddc03502d10e4851ef89cbcf07a/images/6.png -------------------------------------------------------------------------------- /images/7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tinylic/ASIC-FPGA-tetris/d6e5226dd147fddc03502d10e4851ef89cbcf07a/images/7.png -------------------------------------------------------------------------------- /images/8.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tinylic/ASIC-FPGA-tetris/d6e5226dd147fddc03502d10e4851ef89cbcf07a/images/8.png -------------------------------------------------------------------------------- /images/9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tinylic/ASIC-FPGA-tetris/d6e5226dd147fddc03502d10e4851ef89cbcf07a/images/9.png -------------------------------------------------------------------------------- /images/image.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tinylic/ASIC-FPGA-tetris/d6e5226dd147fddc03502d10e4851ef89cbcf07a/images/image.bmp -------------------------------------------------------------------------------- /images/image1.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tinylic/ASIC-FPGA-tetris/d6e5226dd147fddc03502d10e4851ef89cbcf07a/images/image1.bmp -------------------------------------------------------------------------------- /images/over.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tinylic/ASIC-FPGA-tetris/d6e5226dd147fddc03502d10e4851ef89cbcf07a/images/over.bmp -------------------------------------------------------------------------------- /images/start.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tinylic/ASIC-FPGA-tetris/d6e5226dd147fddc03502d10e4851ef89cbcf07a/images/start.bmp -------------------------------------------------------------------------------- /sources/automaton.v: -------------------------------------------------------------------------------- 1 | `timescale 1ns / 1ps 2 | 3 | module automaton 4 | (clk, rst_n, over, start_sig, gameready_sig, over_sig 5 | ); 6 | input clk; 7 | input rst_n; 8 | input over; 9 | output start_sig; 10 | output gameready_sig; 11 | output over_sig; 12 | 13 | /**************************************************/ 14 | 15 | parameter ready = 3'b001, game = 3'b010, game_over = 3'b100; 16 | parameter T5S = 30'd125_000_000; 17 | reg[29:0] count_T5S; 18 | reg start; 19 | 20 | always@(posedge clk or negedge rst_n) 21 | begin 22 | if(!rst_n) 23 | begin 24 | start <= 0; 25 | count_T5S <= 0; 26 | end 27 | else 28 | begin 29 | if(count_T5S < T5S) 30 | begin 31 | count_T5S <= count_T5S + 1'b1; 32 | start <= 0; 33 | end 34 | else if(count_T5S == T5S) 35 | begin 36 | count_T5S <= 0; 37 | start <= 1; 38 | end 39 | else 40 | begin 41 | count_T5S <= 0; 42 | start <= 0; 43 | end 44 | end 45 | end 46 | 47 | /**************************************************/ 48 | 49 | reg[2:0] game_current_process; 50 | reg[2:0] game_next_process; 51 | reg start_sig; 52 | reg gameready_sig; 53 | reg over_sig; 54 | 55 | always @ ( posedge clk or negedge rst_n ) 56 | begin 57 | if( !rst_n ) 58 | game_current_process <= ready; 59 | else 60 | game_current_process <= game_next_process; 61 | end 62 | 63 | always @ ( game_current_process or start or over ) 64 | begin 65 | case( game_current_process ) 66 | ready: 67 | begin 68 | ready_out; 69 | if( start ) 70 | game_next_process = game; 71 | else 72 | game_next_process = ready; 73 | end 74 | game: 75 | begin 76 | game_out; 77 | if( over ) 78 | game_next_process = game_over; 79 | else 80 | game_next_process = game; 81 | end 82 | game_over: 83 | begin 84 | over_out; 85 | game_next_process = game_over; 86 | end 87 | default: 88 | begin 89 | ready_out; 90 | game_next_process = ready; 91 | end 92 | endcase 93 | end 94 | 95 | task ready_out; 96 | { gameready_sig, start_sig, over_sig } = 3'b100; 97 | endtask 98 | 99 | task game_out; 100 | { gameready_sig, start_sig, over_sig } = 3'b010; 101 | endtask 102 | 103 | task over_out; 104 | { gameready_sig, start_sig, over_sig } = 3'b001; 105 | endtask 106 | 107 | /**************************************************/ 108 | 109 | endmodule 110 | 111 | -------------------------------------------------------------------------------- /sources/debouncer.v: -------------------------------------------------------------------------------- 1 | `timescale 1ns / 1ps 2 | 3 | module debouncer 4 | (clk, rst_n, key_in, key_out 5 | ); 6 | input clk; 7 | input rst_n; 8 | input key_in; 9 | output key_out; 10 | 11 | /**************************************************/ 12 | 13 | reg key_in_dly1; 14 | reg key_in_dly2; 15 | 16 | always @ ( posedge clk or negedge rst_n ) 17 | begin 18 | if( !rst_n ) 19 | begin 20 | key_in_dly1 <= 1'b0; 21 | key_in_dly2 <= 1'b0; 22 | end 23 | else 24 | begin 25 | key_in_dly1 <= key_in; 26 | key_in_dly2 <= key_in_dly1; 27 | end 28 | end 29 | 30 | /**************************************************/ 31 | 32 | reg[17:0] count_debouncer; 33 | reg key_out_tmp; 34 | 35 | always @ ( posedge clk or negedge rst_n ) 36 | begin 37 | if( !rst_n ) 38 | begin 39 | count_debouncer <= 18'd260_000; 40 | key_out_tmp <= 1'b0; 41 | end 42 | else if(key_in_dly2) 43 | begin 44 | count_debouncer <= 18'd0; 45 | key_out_tmp <= 1'b0; 46 | end 47 | else if( count_debouncer == 18'd250_000 ) 48 | begin 49 | key_out_tmp <= 1'b1; 50 | end 51 | else if( count_debouncer == 18'd260_000 ) 52 | begin 53 | key_out_tmp <= 1'b0; 54 | end 55 | else 56 | count_debouncer <= count_debouncer + 1'b1; 57 | end 58 | 59 | /**************************************************/ 60 | 61 | reg key_out_tmp_dly1; 62 | 63 | always @ ( posedge clk or negedge rst_n ) 64 | begin 65 | if( !rst_n ) 66 | key_out_tmp_dly1 <= 1'b0; 67 | else 68 | key_out_tmp_dly1 <= key_out_tmp; 69 | end 70 | 71 | /**************************************************/ 72 | 73 | assign key_out = key_out_tmp & ( ~key_out_tmp_dly1 ); 74 | 75 | 76 | /**************************************************/ 77 | 78 | endmodule 79 | -------------------------------------------------------------------------------- /sources/display_border.v: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tinylic/ASIC-FPGA-tetris/d6e5226dd147fddc03502d10e4851ef89cbcf07a/sources/display_border.v -------------------------------------------------------------------------------- /sources/display_little_square.v: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tinylic/ASIC-FPGA-tetris/d6e5226dd147fddc03502d10e4851ef89cbcf07a/sources/display_little_square.v -------------------------------------------------------------------------------- /sources/display_moving_square.v: -------------------------------------------------------------------------------- 1 | `timescale 1ns / 1ps 2 | ////////////////////////////////////////////////////////////////////////////////// 3 | // Company: 4 | // Engineer: 5 | // 6 | // Create Date: 20:54:02 05/07/2016 7 | // Design Name: 8 | // Module Name: display_moving_square 9 | // Project Name: 10 | // Target Devices: 11 | // Tool versions: 12 | // Description: 13 | // 14 | // Dependencies: 15 | // 16 | // Revision: 17 | // Revision 0.01 - File Created 18 | // Additional Comments: 19 | // 20 | ////////////////////////////////////////////////////////////////////////////////// 21 | module display_moving_square 22 | (clk, rst_n, col_addr_sig, row_addr_sig, h, v, enable_moving, enable_blue_moving 23 | ); 24 | input clk; 25 | input rst_n; 26 | input[10:0] col_addr_sig; 27 | input[10:0] row_addr_sig; 28 | input[10:0] h; 29 | input[10:0] v; 30 | input[15:0] enable_moving; 31 | output enable_blue_moving; 32 | 33 | /**************************************************/ 34 | 35 | reg[15:0] enable_blue_moving_h; 36 | 37 | always @ ( posedge clk or negedge rst_n ) 38 | begin 39 | if( !rst_n ) 40 | enable_blue_moving_h[0] <= 1'b0; 41 | else if( enable_moving[0] == 1'b1 ) 42 | begin 43 | if( col_addr_sig == h - 11'd2 ) 44 | enable_blue_moving_h[0] <= 1'b1; 45 | else if( col_addr_sig == h + 11'd17 ) 46 | enable_blue_moving_h[0] <= 1'b0; 47 | else 48 | enable_blue_moving_h[0] <= enable_blue_moving_h[0]; 49 | end 50 | else 51 | enable_blue_moving_h[0] <= 1'b0; 52 | end 53 | 54 | always @ ( posedge clk or negedge rst_n ) 55 | begin 56 | if( !rst_n ) 57 | enable_blue_moving_h[1] <= 1'b0; 58 | else if( enable_moving[1] == 1'b1 ) 59 | begin 60 | if( col_addr_sig == h + 11'd18 ) 61 | enable_blue_moving_h[1] <= 1'b1; 62 | else if( col_addr_sig == h + 11'd37 ) 63 | enable_blue_moving_h[1] <= 1'b0; 64 | else 65 | enable_blue_moving_h[1] <= enable_blue_moving_h[1]; 66 | end 67 | else 68 | enable_blue_moving_h[1] <=1'b0; 69 | end 70 | 71 | always @ ( posedge clk or negedge rst_n ) 72 | begin 73 | if( !rst_n ) 74 | enable_blue_moving_h[2] <= 1'b0; 75 | else if( enable_moving[2] == 1'b1 ) 76 | begin 77 | if( col_addr_sig == h + 11'd38 ) 78 | enable_blue_moving_h[2] <= 1'b1; 79 | else if( col_addr_sig == h + 11'd57 ) 80 | enable_blue_moving_h[2] <= 1'b0; 81 | else 82 | enable_blue_moving_h[2] <= enable_blue_moving_h[2]; 83 | end 84 | else 85 | enable_blue_moving_h[2] <=1'b0; 86 | end 87 | 88 | always @ ( posedge clk or negedge rst_n ) 89 | begin 90 | if( !rst_n ) 91 | enable_blue_moving_h[3] <= 1'b0; 92 | else if( enable_moving[3] == 1'b1 ) 93 | begin 94 | if( col_addr_sig == h + 11'd58 ) 95 | enable_blue_moving_h[3] <= 1'b1; 96 | else if( col_addr_sig == h + 11'd77 ) 97 | enable_blue_moving_h[3] <= 1'b0; 98 | else 99 | enable_blue_moving_h[3] <= enable_blue_moving_h[3]; 100 | end 101 | else 102 | enable_blue_moving_h[3] <= 1'b0; 103 | end 104 | 105 | always @ ( posedge clk or negedge rst_n ) 106 | begin 107 | if( !rst_n ) 108 | enable_blue_moving_h[4] <= 1'b0; 109 | else if( enable_moving[4] == 1'b1 ) 110 | begin 111 | if( col_addr_sig == h - 11'd2 ) 112 | enable_blue_moving_h[4] <= 1'b1; 113 | else if( col_addr_sig == h + 11'd17 ) 114 | enable_blue_moving_h[4] <= 1'b0; 115 | else 116 | enable_blue_moving_h[4] <= enable_blue_moving_h[4]; 117 | end 118 | else 119 | enable_blue_moving_h[4] <= 1'b0; 120 | end 121 | 122 | always @ ( posedge clk or negedge rst_n ) 123 | begin 124 | if( !rst_n ) 125 | enable_blue_moving_h[5] <= 1'b0; 126 | else if( enable_moving[5] == 1'b1 ) 127 | begin 128 | if( col_addr_sig == h + 11'd18 ) 129 | enable_blue_moving_h[5] <= 1'b1; 130 | else if( col_addr_sig == h + 11'd37 ) 131 | enable_blue_moving_h[5] <= 1'b0; 132 | else 133 | enable_blue_moving_h[5] <= enable_blue_moving_h[5]; 134 | end 135 | else 136 | enable_blue_moving_h[5] <=1'b0; 137 | end 138 | 139 | always @ ( posedge clk or negedge rst_n ) 140 | begin 141 | if( !rst_n ) 142 | enable_blue_moving_h[6] <= 1'b0; 143 | else if( enable_moving[6] == 1'b1 ) 144 | begin 145 | if( col_addr_sig == h + 11'd38 ) 146 | enable_blue_moving_h[6] <= 1'b1; 147 | else if( col_addr_sig == h + 11'd57 ) 148 | enable_blue_moving_h[6] <= 1'b0; 149 | else 150 | enable_blue_moving_h[6] <= enable_blue_moving_h[6]; 151 | end 152 | else 153 | enable_blue_moving_h[6] <= 1'b0; 154 | end 155 | 156 | always @ ( posedge clk or negedge rst_n ) 157 | begin 158 | if( !rst_n ) 159 | enable_blue_moving_h[7] <= 1'b0; 160 | else if( enable_moving[7] == 1'b1 ) 161 | begin 162 | if( col_addr_sig == h + 11'd58 ) 163 | enable_blue_moving_h[7] <= 1'b1; 164 | else if( col_addr_sig == h + 11'd77 ) 165 | enable_blue_moving_h[7] <= 1'b0; 166 | else 167 | enable_blue_moving_h[7] <= enable_blue_moving_h[7]; 168 | end 169 | else 170 | enable_blue_moving_h[7] <=1'b0; 171 | end 172 | 173 | always @ ( posedge clk or negedge rst_n ) 174 | begin 175 | if( !rst_n ) 176 | enable_blue_moving_h[8] <= 1'b0; 177 | else if( enable_moving[8] == 1'b1 ) 178 | begin 179 | if( col_addr_sig == h - 11'd2 ) 180 | enable_blue_moving_h[8] <= 1'b1; 181 | else if( col_addr_sig == h + 11'd17 ) 182 | enable_blue_moving_h[8] <= 1'b0; 183 | else 184 | enable_blue_moving_h[8] <= enable_blue_moving_h[8]; 185 | end 186 | else 187 | enable_blue_moving_h[8] <= 1'b0; 188 | end 189 | 190 | always @ ( posedge clk or negedge rst_n ) 191 | begin 192 | if( !rst_n ) 193 | enable_blue_moving_h[9] <= 1'b0; 194 | else if( enable_moving[9] == 1'b1 ) 195 | begin 196 | if( col_addr_sig == h + 11'd18 ) 197 | enable_blue_moving_h[9] <= 1'b1; 198 | else if( col_addr_sig == h + 11'd37 ) 199 | enable_blue_moving_h[9] <= 1'b0; 200 | else 201 | enable_blue_moving_h[9] <= enable_blue_moving_h[9]; 202 | end 203 | else 204 | enable_blue_moving_h[9] <= 1'b0; 205 | end 206 | 207 | always @ ( posedge clk or negedge rst_n ) 208 | begin 209 | if( !rst_n ) 210 | enable_blue_moving_h[10] <= 1'b0; 211 | else if( enable_moving[10] == 1'b1 ) 212 | begin 213 | if( col_addr_sig == h + 11'd38 ) 214 | enable_blue_moving_h[10] <= 1'b1; 215 | else if( col_addr_sig == h + 11'd57 ) 216 | enable_blue_moving_h[10] <= 1'b0; 217 | else 218 | enable_blue_moving_h[10] <= enable_blue_moving_h[10]; 219 | end 220 | else 221 | enable_blue_moving_h[10] <=1'b0; 222 | end 223 | 224 | always @ ( posedge clk or negedge rst_n ) 225 | begin 226 | if( !rst_n ) 227 | enable_blue_moving_h[11] <= 1'b0; 228 | else if( enable_moving[11] == 1'b1 ) 229 | begin 230 | if( col_addr_sig == h + 11'd58 ) 231 | enable_blue_moving_h[11] <= 1'b1; 232 | else if( col_addr_sig == h + 11'd77 ) 233 | enable_blue_moving_h[11] <= 1'b0; 234 | else 235 | enable_blue_moving_h[11] <= enable_blue_moving_h[11]; 236 | end 237 | else 238 | enable_blue_moving_h[11] <=1'b0; 239 | end 240 | 241 | always @ ( posedge clk or negedge rst_n ) 242 | begin 243 | if( !rst_n ) 244 | enable_blue_moving_h[12] <= 1'b0; 245 | else if( enable_moving[12] == 1'b1 ) 246 | begin 247 | if( col_addr_sig == h - 11'd2 ) 248 | enable_blue_moving_h[12] <= 1'b1; 249 | else if( col_addr_sig == h + 11'd17 ) 250 | enable_blue_moving_h[12] <= 1'b0; 251 | else 252 | enable_blue_moving_h[12] <= enable_blue_moving_h[12]; 253 | end 254 | else 255 | enable_blue_moving_h[12] <=1'b0; 256 | end 257 | 258 | always @ ( posedge clk or negedge rst_n ) 259 | begin 260 | if( !rst_n ) 261 | enable_blue_moving_h[13] <= 1'b0; 262 | else if( enable_moving[13] == 1'b1 ) 263 | begin 264 | if( col_addr_sig == h + 11'd18 ) 265 | enable_blue_moving_h[13] <= 1'b1; 266 | else if( col_addr_sig == h + 11'd37 ) 267 | enable_blue_moving_h[13] <= 1'b0; 268 | else 269 | enable_blue_moving_h[13] <= enable_blue_moving_h[13]; 270 | end 271 | else 272 | enable_blue_moving_h[13] <= 1'b0; 273 | end 274 | 275 | always @ ( posedge clk or negedge rst_n ) 276 | begin 277 | if( !rst_n ) 278 | enable_blue_moving_h[14] <= 1'b0; 279 | else if( enable_moving[14] == 1'b1 ) 280 | begin 281 | if( col_addr_sig == h + 11'd38 ) 282 | enable_blue_moving_h[14] <= 1'b1; 283 | else if( col_addr_sig == h + 11'd57 ) 284 | enable_blue_moving_h[14] <= 1'b0; 285 | else 286 | enable_blue_moving_h[14] <= enable_blue_moving_h[14]; 287 | end 288 | else 289 | enable_blue_moving_h[14] <=1'b0; 290 | end 291 | 292 | always @ ( posedge clk or negedge rst_n ) 293 | begin 294 | if( !rst_n ) 295 | enable_blue_moving_h[15] <= 1'b0; 296 | else if( enable_moving[15] == 1'b1 ) 297 | begin 298 | if( col_addr_sig == h + 11'd58 ) 299 | enable_blue_moving_h[15] <= 1'b1; 300 | else if( col_addr_sig == h + 11'd77 ) 301 | enable_blue_moving_h[15] <= 1'b0; 302 | else 303 | enable_blue_moving_h[15] <= enable_blue_moving_h[15]; 304 | end 305 | else 306 | enable_blue_moving_h[15] <=1'b0; 307 | end 308 | 309 | /**************************************************/ 310 | 311 | reg[15:0] enable_blue_moving_v; 312 | 313 | always @ ( posedge clk or negedge rst_n ) 314 | begin 315 | if( !rst_n ) 316 | enable_blue_moving_v[0] <= 1'b0; 317 | else if( enable_moving[0] == 1'b1 ) 318 | begin 319 | if( row_addr_sig == v ) 320 | enable_blue_moving_v[0] <= 1'b1; 321 | else if( row_addr_sig == v + 11'd19 ) 322 | enable_blue_moving_v[0] <= 1'b0; 323 | else 324 | enable_blue_moving_v[0] <= enable_blue_moving_v[0]; 325 | end 326 | else 327 | enable_blue_moving_v[0] <=1'b0; 328 | end 329 | 330 | always @ ( posedge clk or negedge rst_n ) 331 | begin 332 | if( !rst_n ) 333 | enable_blue_moving_v[4] <= 1'b0; 334 | else if( enable_moving[4] == 1'b1 ) 335 | begin 336 | if( row_addr_sig == v + 11'd20 ) 337 | enable_blue_moving_v[4] <= 1'b1; 338 | else if( row_addr_sig == v + 11'd39 ) 339 | enable_blue_moving_v[4] <= 1'b0; 340 | else 341 | enable_blue_moving_v[4] <= enable_blue_moving_v[4]; 342 | end 343 | else 344 | enable_blue_moving_v[4] <=1'b0; 345 | end 346 | 347 | always @ ( posedge clk or negedge rst_n ) 348 | begin 349 | if( !rst_n ) 350 | enable_blue_moving_v[8] <= 1'b0; 351 | else if( enable_moving[8] == 1'b1 ) 352 | begin 353 | if( row_addr_sig == v + 11'd40 ) 354 | enable_blue_moving_v[8] <= 1'b1; 355 | else if( row_addr_sig == v + 11'd59 ) 356 | enable_blue_moving_v[8] <= 1'b0; 357 | else 358 | enable_blue_moving_v[8] <= enable_blue_moving_v[8]; 359 | end 360 | else 361 | enable_blue_moving_v[8] <=1'b0; 362 | end 363 | 364 | always @ ( posedge clk or negedge rst_n ) 365 | begin 366 | if( !rst_n ) 367 | enable_blue_moving_v[12] <= 1'b0; 368 | else if( enable_moving[12] == 1'b1 ) 369 | begin 370 | if( row_addr_sig == v + 11'd60 ) 371 | enable_blue_moving_v[12] <= 1'b1; 372 | else if( row_addr_sig == v + 11'd79 ) 373 | enable_blue_moving_v[12] <= 1'b0; 374 | else 375 | enable_blue_moving_v[12] <= enable_blue_moving_v[12]; 376 | end 377 | else 378 | enable_blue_moving_v[12] <= 1'b0; 379 | end 380 | 381 | always @ ( posedge clk or negedge rst_n ) 382 | begin 383 | if( !rst_n ) 384 | enable_blue_moving_v[1] <= 1'b0; 385 | else if( enable_moving[1] == 1'b1 ) 386 | begin 387 | if( row_addr_sig == v ) 388 | enable_blue_moving_v[1] <= 1'b1; 389 | else if( row_addr_sig == v + 11'd19 ) 390 | enable_blue_moving_v[1] <= 1'b0; 391 | else 392 | enable_blue_moving_v[1] <= enable_blue_moving_v[1]; 393 | end 394 | else 395 | enable_blue_moving_v[1] <=1'b0; 396 | end 397 | 398 | always @ ( posedge clk or negedge rst_n ) 399 | begin 400 | if( !rst_n ) 401 | enable_blue_moving_v[5] <= 1'b0; 402 | else if( enable_moving[5] == 1'b1 ) 403 | begin 404 | if( row_addr_sig == v + 11'd20 ) 405 | enable_blue_moving_v[5] <= 1'b1; 406 | else if( row_addr_sig == v + 11'd39 ) 407 | enable_blue_moving_v[5] <= 1'b0; 408 | else 409 | enable_blue_moving_v[5] <= enable_blue_moving_v[5]; 410 | end 411 | else 412 | enable_blue_moving_v[5] <=1'b0; 413 | end 414 | 415 | always @ ( posedge clk or negedge rst_n ) 416 | begin 417 | if( !rst_n ) 418 | enable_blue_moving_v[9] <= 1'b0; 419 | else if( enable_moving[9] == 1'b1 ) 420 | begin 421 | if( row_addr_sig == v + 11'd40 ) 422 | enable_blue_moving_v[9] <= 1'b1; 423 | else if( row_addr_sig == v + 11'd59 ) 424 | enable_blue_moving_v[9] <= 1'b0; 425 | else 426 | enable_blue_moving_v[9] <= enable_blue_moving_v[9]; 427 | end 428 | else 429 | enable_blue_moving_v[9] <=1'b0; 430 | end 431 | 432 | always @ ( posedge clk or negedge rst_n ) 433 | begin 434 | if( !rst_n ) 435 | enable_blue_moving_v[13] <= 1'b0; 436 | else if( enable_moving[13] == 1'b1 ) 437 | begin 438 | if( row_addr_sig == v + 11'd60 ) 439 | enable_blue_moving_v[13] <= 1'b1; 440 | else if( row_addr_sig == v + 11'd79 ) 441 | enable_blue_moving_v[13] <= 1'b0; 442 | else 443 | enable_blue_moving_v[13] <= enable_blue_moving_v[13]; 444 | end 445 | else 446 | enable_blue_moving_v[13] <=1'b0; 447 | end 448 | 449 | always @ ( posedge clk or negedge rst_n ) 450 | begin 451 | if( !rst_n ) 452 | enable_blue_moving_v[2] <= 1'b0; 453 | else if( enable_moving[2] == 1'b1 ) 454 | begin 455 | if( row_addr_sig == v ) 456 | enable_blue_moving_v[2] <= 1'b1; 457 | else if( row_addr_sig == v + 11'd19 ) 458 | enable_blue_moving_v[2] <= 1'b0; 459 | else 460 | enable_blue_moving_v[2] <= enable_blue_moving_v[2]; 461 | end 462 | else 463 | enable_blue_moving_v[2] <=1'b0; 464 | end 465 | 466 | always @ ( posedge clk or negedge rst_n ) 467 | begin 468 | if( !rst_n ) 469 | enable_blue_moving_v[6] <= 1'b0; 470 | else if( enable_moving[6] == 1'b1 ) 471 | begin 472 | if( row_addr_sig == v + 11'd20 ) 473 | enable_blue_moving_v[6] <= 1'b1; 474 | else if( row_addr_sig == v + 11'd39 ) 475 | enable_blue_moving_v[6] <= 1'b0; 476 | else 477 | enable_blue_moving_v[6] <= enable_blue_moving_v[6]; 478 | end 479 | else 480 | enable_blue_moving_v[6] <=1'b0; 481 | end 482 | 483 | always @ ( posedge clk or negedge rst_n ) 484 | begin 485 | if( !rst_n ) 486 | enable_blue_moving_v[10] <= 1'b0; 487 | else if( enable_moving[10] == 1'b1 ) 488 | begin 489 | if( row_addr_sig == v + 11'd40 ) 490 | enable_blue_moving_v[10] <= 1'b1; 491 | else if( row_addr_sig == v + 11'd59 ) 492 | enable_blue_moving_v[10] <= 1'b0; 493 | else 494 | enable_blue_moving_v[10] <= enable_blue_moving_v[10]; 495 | end 496 | else 497 | enable_blue_moving_v[10] <=1'b0; 498 | end 499 | 500 | always @ ( posedge clk or negedge rst_n ) 501 | begin 502 | if( !rst_n ) 503 | enable_blue_moving_v[14] <= 1'b0; 504 | else if( enable_moving[14] == 1'b1 ) 505 | begin 506 | if( row_addr_sig == v + 11'd60 ) 507 | enable_blue_moving_v[14] <= 1'b1; 508 | else if( row_addr_sig == v + 11'd79 ) 509 | enable_blue_moving_v[14] <= 1'b0; 510 | else 511 | enable_blue_moving_v[14] <= enable_blue_moving_v[14]; 512 | end 513 | else 514 | enable_blue_moving_v[14] <=1'b0; 515 | end 516 | 517 | always @ ( posedge clk or negedge rst_n ) 518 | begin 519 | if( !rst_n ) 520 | enable_blue_moving_v[3] <= 1'b0; 521 | else if( enable_moving[3] == 1'b1 ) 522 | begin 523 | if( row_addr_sig == v ) 524 | enable_blue_moving_v[3] <= 1'b1; 525 | else if( row_addr_sig == v + 11'd19 ) 526 | enable_blue_moving_v[3] <= 1'b0; 527 | else 528 | enable_blue_moving_v[3] <= enable_blue_moving_v[3]; 529 | end 530 | else 531 | enable_blue_moving_v[3] <=1'b0; 532 | end 533 | 534 | always @ ( posedge clk or negedge rst_n ) 535 | begin 536 | if( !rst_n ) 537 | enable_blue_moving_v[7] <= 1'b0; 538 | else if( enable_moving[7] == 1'b1 ) 539 | begin 540 | if( row_addr_sig == v + 11'd20 ) 541 | enable_blue_moving_v[7] <= 1'b1; 542 | else if( row_addr_sig == v + 11'd39 ) 543 | enable_blue_moving_v[7] <= 1'b0; 544 | else 545 | enable_blue_moving_v[7] <= enable_blue_moving_v[7]; 546 | end 547 | else 548 | enable_blue_moving_v[7] <= 1'b0; 549 | end 550 | 551 | always @ ( posedge clk or negedge rst_n ) 552 | begin 553 | if( !rst_n ) 554 | enable_blue_moving_v[11] <= 1'b0; 555 | else if( enable_moving[11] == 1'b1 ) 556 | begin 557 | if( row_addr_sig == v + 11'd40 ) 558 | enable_blue_moving_v[11] <= 1'b1; 559 | else if( row_addr_sig == v + 11'd59 ) 560 | enable_blue_moving_v[11] <= 1'b0; 561 | else 562 | enable_blue_moving_v[11] <= enable_blue_moving_v[11]; 563 | end 564 | else 565 | enable_blue_moving_v[11] <=1'b0; 566 | end 567 | 568 | always @ ( posedge clk or negedge rst_n ) 569 | begin 570 | if( !rst_n ) 571 | enable_blue_moving_v[15] <= 1'b0; 572 | else if( enable_moving[15] == 1'b1 ) 573 | begin 574 | if( row_addr_sig == v + 11'd60 ) 575 | enable_blue_moving_v[15] <= 1'b1; 576 | else if( row_addr_sig == v + 11'd79 ) 577 | enable_blue_moving_v[15] <= 1'b0; 578 | else 579 | enable_blue_moving_v[15] <= enable_blue_moving_v[15]; 580 | end 581 | else 582 | enable_blue_moving_v[15] <=1'b0; 583 | end 584 | 585 | /**************************************************/ 586 | 587 | wire[15:0] enable_blue_moving_r; 588 | 589 | 590 | assign enable_blue_moving_r[0] = enable_blue_moving_h[0]&enable_blue_moving_v[0]; 591 | assign enable_blue_moving_r[1] = enable_blue_moving_h[1]&enable_blue_moving_v[1]; 592 | assign enable_blue_moving_r[2] = enable_blue_moving_h[2]&enable_blue_moving_v[2]; 593 | assign enable_blue_moving_r[3] = enable_blue_moving_h[3]&enable_blue_moving_v[3]; 594 | assign enable_blue_moving_r[4] = enable_blue_moving_h[4]&enable_blue_moving_v[4]; 595 | assign enable_blue_moving_r[5] = enable_blue_moving_h[5]&enable_blue_moving_v[5]; 596 | assign enable_blue_moving_r[6] = enable_blue_moving_h[6]&enable_blue_moving_v[6]; 597 | assign enable_blue_moving_r[7] = enable_blue_moving_h[7]&enable_blue_moving_v[7]; 598 | assign enable_blue_moving_r[8] = enable_blue_moving_h[8]&enable_blue_moving_v[8]; 599 | assign enable_blue_moving_r[9] = enable_blue_moving_h[9]&enable_blue_moving_v[9]; 600 | assign enable_blue_moving_r[10] = enable_blue_moving_h[10]&enable_blue_moving_v[10]; 601 | assign enable_blue_moving_r[11] = enable_blue_moving_h[11]&enable_blue_moving_v[11]; 602 | assign enable_blue_moving_r[12] = enable_blue_moving_h[12]&enable_blue_moving_v[12]; 603 | assign enable_blue_moving_r[13] = enable_blue_moving_h[13]&enable_blue_moving_v[13]; 604 | assign enable_blue_moving_r[14] = enable_blue_moving_h[14]&enable_blue_moving_v[14]; 605 | assign enable_blue_moving_r[15] = enable_blue_moving_h[15]&enable_blue_moving_v[15]; 606 | 607 | 608 | 609 | /**************************************************/ 610 | 611 | assign enable_blue_moving =|enable_blue_moving_r; 612 | 613 | /**************************************************/ 614 | 615 | endmodule 616 | -------------------------------------------------------------------------------- /sources/display_next_square.v: -------------------------------------------------------------------------------- 1 | `timescale 1ns / 1ps 2 | ////////////////////////////////////////////////////////////////////////////////// 3 | // Company: 4 | // Engineer: 5 | // 6 | // Create Date: 22:22:42 05/07/2016 7 | // Design Name: 8 | // Module Name: display_next_square 9 | // Project Name: 10 | // Target Devices: 11 | // Tool versions: 12 | // Description: 13 | // 14 | // Dependencies: 15 | // 16 | // Revision: 17 | // Revision 0.01 - File Created 18 | // Additional Comments: 19 | // 20 | ////////////////////////////////////////////////////////////////////////////////// 21 | module display_next_square 22 | (clk, rst_n, col_addr_sig, row_addr_sig, loading_square, next_yellow_display,square_type_out 23 | ); 24 | input clk; 25 | input rst_n; 26 | input[10:0] col_addr_sig; 27 | input[10:0] row_addr_sig; 28 | input loading_square; 29 | input[2:0] square_type_out; 30 | output next_yellow_display; 31 | 32 | /**************************************************/ 33 | 34 | wire[2:0] square_type; 35 | 36 | assign square_type=square_type_out; 37 | /**************************************************/ 38 | 39 | reg[15:0] enable_display_r; 40 | 41 | always @ ( posedge clk or negedge rst_n ) 42 | begin 43 | if( !rst_n ) 44 | enable_display_r <= 16'b0000_0111_0010_0000; 45 | else 46 | begin 47 | case(square_type) 48 | 3'b000: enable_display_r <= 16'b0000_0000_0111_0010; 49 | 3'b001: enable_display_r <= 16'b0000_0110_0110_0000; 50 | 3'b010: enable_display_r <= 16'b0010_0010_0010_0010; 51 | 3'b011: enable_display_r <= 16'b0000_0011_0110_0000; 52 | 3'b100: enable_display_r <= 16'b0000_0110_0011_0000; 53 | 3'b101: enable_display_r <= 16'b0000_0011_0010_0010; 54 | 3'b110: enable_display_r <= 16'b0000_0011_0001_0001; 55 | default: enable_display_r <= 16'b0000_0110_0110_0000; 56 | endcase 57 | end 58 | end 59 | 60 | /**************************************************/ 61 | 62 | reg[15:0] enable_next_display_h; 63 | 64 | generate 65 | genvar i1,j1; 66 | for(i1=0;i1<4;i1=i1+1) 67 | begin:fwgwgwr 68 | for(j1=0;j1<4;j1=j1+1) 69 | begin:fewrgnfq 70 | always @ ( posedge clk or negedge rst_n ) 71 | begin 72 | if( !rst_n ) 73 | enable_next_display_h[i1*4+j1] <= 1'b0; 74 | else if( enable_display_r[i1*4+j1] == 1'b1 ) 75 | begin 76 | if( col_addr_sig == 11'd101+j1*20 ) 77 | enable_next_display_h[i1*4+j1] <= 1'b1; 78 | else if( col_addr_sig == 11'd120+j1*20 ) 79 | enable_next_display_h[i1*4+j1] <= 1'b0; 80 | else 81 | enable_next_display_h[i1*4+j1] <= enable_next_display_h[i1*4+j1]; 82 | end 83 | else 84 | enable_next_display_h[i1*4+j1] <= enable_next_display_h[i1*4+j1]; 85 | end 86 | end 87 | end 88 | endgenerate 89 | 90 | reg[15:0] enable_next_display_v; 91 | generate 92 | genvar i2,j2; 93 | for(i2=0;i2<4;i2=i2+1) 94 | begin:gwhghw 95 | for(j2=0;j2<4;j2=j2+1) 96 | begin:whrwge 97 | always @ ( posedge clk or negedge rst_n ) 98 | begin 99 | if( !rst_n ) 100 | enable_next_display_v[i2*4+j2] <= 1'b0; 101 | else if( enable_display_r[i2*4+j2] == 1'b1 ) 102 | begin 103 | if( row_addr_sig == 11'd101+i2*20 ) 104 | enable_next_display_v[i2*4+j2] <= 1'b1; 105 | else if( row_addr_sig == 11'd120+i2*20 ) 106 | enable_next_display_v[i2*4+j2] <= 1'b0; 107 | else 108 | enable_next_display_v[i2*4+j2] <= enable_next_display_v[i2*4+j2]; 109 | end 110 | else 111 | enable_next_display_v[i2*4+j2] <= enable_next_display_v[i2*4+j2]; 112 | end 113 | end 114 | end 115 | endgenerate 116 | 117 | 118 | /**************************************************/ 119 | 120 | /**************************************************/ 121 | 122 | reg[15:0] enable_next_display_r; 123 | 124 | always @ ( posedge clk or negedge rst_n ) 125 | begin 126 | if( !rst_n ) 127 | enable_next_display_r <= 16'd0; 128 | else 129 | enable_next_display_r <= enable_next_display_h & enable_next_display_v; 130 | end 131 | 132 | /**************************************************/ 133 | 134 | assign next_yellow_display = | enable_next_display_r; 135 | 136 | /**************************************************/ 137 | 138 | endmodule -------------------------------------------------------------------------------- /sources/display_score.v: -------------------------------------------------------------------------------- 1 | `timescale 1ns / 1ps 2 | 3 | module display_score( 4 | clk, 5 | rst_n, 6 | col_addr_sig, 7 | row_addr_sig, 8 | score_out, 9 | color_score_out 10 | ); 11 | input clk; 12 | input rst_n; 13 | input[10:0] col_addr_sig; 14 | input[10:0] row_addr_sig; 15 | input[15:0] score_out; 16 | output color_score_out; 17 | 18 | reg data; 19 | reg[11:0] addra; 20 | wire[15:0] data_n; 21 | 22 | 23 | assign data_n[15] = 0; 24 | assign data_n[14] = 0; 25 | 26 | assign data_n[13] = 0; 27 | assign data_n[12] = 0; 28 | assign data_n[11] = 0; 29 | assign data_n[10] = 0; 30 | assign color_score_out = ~data; 31 | reg[3:0] r1, r2, r3, r4; 32 | always@(posedge clk or negedge rst_n) 33 | 34 | begin 35 | if(!rst_n) 36 | begin 37 | r1 <= 0; 38 | r2 <= 0; 39 | r3 <= 0; 40 | r4 <= 0; 41 | end 42 | else 43 | begin 44 | r1 <= score_out[15:12]; 45 | r2 <= score_out[11:8]; 46 | r3 <= score_out[7:4]; 47 | r4 <= score_out[3:0]; 48 | end 49 | end 50 | 51 | 52 | always@(posedge clk or negedge rst_n) 53 | if(!rst_n) 54 | begin 55 | addra <= 0; 56 | data <= 1; 57 | end 58 | 59 | else 60 | begin 61 | if(col_addr_sig >= 12'd40 && col_addr_sig < 12'd100 && row_addr_sig >= 12'd360 && row_addr_sig < 12'd420) 62 | begin 63 | addra <= (row_addr_sig-12'd360)*60+col_addr_sig-12'd40; 64 | data <= data_n[r1]; 65 | end 66 | else if(col_addr_sig >= 12'd100 && col_addr_sig < 12'd160 && row_addr_sig >= 12'd360 && row_addr_sig < 12'd420) 67 | begin 68 | addra <= (row_addr_sig - 12'd360) * 60 + col_addr_sig - 12'd100; 69 | data <= data_n[r2]; 70 | end 71 | else if(col_addr_sig >= 12'd160 && col_addr_sig < 12'd220 && row_addr_sig >= 12'd360 && row_addr_sig < 12'd420) 72 | begin 73 | addra <= (row_addr_sig - 12'd360) * 60 + col_addr_sig - 12'd160; 74 | data <= data_n[r3]; 75 | end 76 | else if(col_addr_sig >= 12'd220 && col_addr_sig < 12'd280 && row_addr_sig >= 12'd360 && row_addr_sig < 12'd420) 77 | begin 78 | addra <= (row_addr_sig - 12'd360) * 60 + col_addr_sig - 12'd220; 79 | data <= data_n[r4]; 80 | end 81 | else 82 | begin 83 | addra <= 0; 84 | data <= 1; 85 | end 86 | end 87 | 88 | n_1 n_1 ( 89 | .clka(clk), // input clka 90 | .addra(addra), // input [11 : 0] addra 91 | .douta(data_n[1]) // output [0 : 0] douta 92 | ); 93 | 94 | n_2 n_2 ( 95 | .clka(clk), // input clka 96 | .addra(addra), // input [11 : 0] addra 97 | .douta(data_n[2]) // output [0 : 0] douta 98 | ); 99 | n_3 n_3 ( 100 | .clka(clk), // input clka 101 | .addra(addra), // input [11 : 0] addra 102 | .douta(data_n[3]) // output [0 : 0] douta 103 | ); 104 | 105 | n_4 n_4( 106 | .clka(clk), // input clka 107 | .addra(addra), // input [11 : 0] addra 108 | .douta(data_n[4]) // output [0 : 0] douta 109 | ); 110 | 111 | n_5 n_5( 112 | .clka(clk), // input clka 113 | .addra(addra), // input [11 : 0] addra 114 | .douta(data_n[5]) // output [0 : 0] douta 115 | ); 116 | 117 | n_6 n_6( 118 | .clka(clk), // input clka 119 | .addra(addra), // input [11 : 0] addra 120 | .douta(data_n[6]) // output [0 : 0] douta 121 | ); 122 | n_7 n_7( 123 | .clka(clk), // input clka 124 | .addra(addra), // input [11 : 0] addra 125 | .douta(data_n[7]) // output [0 : 0] douta 126 | ); 127 | 128 | n_8 n_8( 129 | .clka(clk), // input clka 130 | .addra(addra), // input [11 : 0] addra 131 | .douta(data_n[8]) // output [0 : 0] douta 132 | ); 133 | 134 | n_9 n_9( 135 | .clka(clk), // input clka 136 | .addra(addra), // input [11 : 0] addra 137 | .douta(data_n[9]) // output [0 : 0] douta 138 | ); 139 | 140 | n_0 n_0( 141 | .clka(clk), // input clka 142 | .addra(addra), // input [11 : 0] addra 143 | .douta(data_n[0]) // output [0 : 0] douta 144 | ); 145 | endmodule 146 | -------------------------------------------------------------------------------- /sources/div_clk.v: -------------------------------------------------------------------------------- 1 | `timescale 1ns / 1ps 2 | module div_clk( 3 | rst_n, 4 | sys_clk, 5 | clk 6 | ); 7 | input rst_n; 8 | input sys_clk; 9 | output clk; 10 | reg clk; 11 | reg[1:0] h; 12 | 13 | always@(posedge sys_clk) 14 | if(!rst_n) 15 | begin 16 | h <= 0; 17 | clk <= 0; 18 | end 19 | 20 | 21 | else 22 | if(h == 2'b00) 23 | begin 24 | clk <= 0; 25 | h <= h + 1; 26 | end 27 | else if(h == 2'b01) 28 | begin 29 | clk <= 0; 30 | h <= h + 1; 31 | end 32 | else if(h == 2'b10) 33 | begin 34 | clk <= 1'b1; 35 | h <= h + 1; 36 | end 37 | else 38 | begin 39 | clk <= 1'b1; 40 | h <= h + 1; 41 | end 42 | 43 | endmodule 44 | -------------------------------------------------------------------------------- /sources/game_display.v: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tinylic/ASIC-FPGA-tetris/d6e5226dd147fddc03502d10e4851ef89cbcf07a/sources/game_display.v -------------------------------------------------------------------------------- /sources/game_sync_module.v: -------------------------------------------------------------------------------- 1 | `timescale 1ns / 1ps 2 | 3 | module game_sync_module 4 | (clk, rst_n, col_addr_sig, row_addr_sig, hsync, vsync, ready_sig 5 | ); 6 | input clk; 7 | input rst_n; 8 | output[10:0] col_addr_sig; 9 | output[10:0] row_addr_sig; 10 | output hsync; 11 | output vsync; 12 | output ready_sig; 13 | 14 | /**************************************************/ 15 | 16 | reg[10:0] cnt_h; 17 | 18 | always @ ( posedge clk or negedge rst_n ) 19 | begin 20 | if( !rst_n ) 21 | cnt_h <= 11'd0; 22 | else if( cnt_h == 11'd799 ) 23 | cnt_h <= 11'd0; 24 | else cnt_h <= cnt_h + 1'b1; 25 | end 26 | 27 | /**************************************************/ 28 | 29 | reg[10:0] cnt_v; 30 | 31 | always @ ( posedge clk or negedge rst_n ) 32 | begin 33 | if( !rst_n ) 34 | cnt_v <= 11'd0; 35 | else if( cnt_v == 11'd523 ) 36 | cnt_v <= 11'd0; 37 | else if( cnt_h == 11'd799 ) 38 | cnt_v <= cnt_v + 1'b1; 39 | end 40 | 41 | /**************************************************/ 42 | 43 | reg isready; 44 | 45 | always @ ( posedge clk or negedge rst_n ) 46 | begin 47 | if( !rst_n ) 48 | isready <= 1'b0; 49 | else if( cnt_h >= 11'd143 && cnt_h < 11'd783 && cnt_v >= 11'd32 && cnt_v < 11'd512 ) 50 | isready <= 1'b1; 51 | else isready <= 1'b0; 52 | end 53 | 54 | /**************************************************/ 55 | 56 | assign hsync = ( cnt_h <= 11'd95 ) ? 1'b0 : 1'b1; 57 | assign vsync = ( cnt_v <= 11'd1 ) ? 1'b0 : 1'b1; 58 | assign col_addr_sig = isready ? ( cnt_h - 11'd143 ) : 11'd0; 59 | assign row_addr_sig = isready ? ( cnt_v - 11'd32 ) : 11'd0; 60 | assign ready_sig = isready; 61 | 62 | /**************************************************/ 63 | 64 | endmodule -------------------------------------------------------------------------------- /sources/loading_happen.v: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tinylic/ASIC-FPGA-tetris/d6e5226dd147fddc03502d10e4851ef89cbcf07a/sources/loading_happen.v -------------------------------------------------------------------------------- /sources/main_module.v: -------------------------------------------------------------------------------- 1 | `timescale 1ns / 1ps 2 | module main_module(sys_clk, rst_n, 3 | KEY_DATA,KEY_CLK, 4 | right, left, rotateR,verticalspeed, 5 | VGA_G,VGA_R,VGA_B, 6 | VGA_CLK,VGA_VSYNC,VGA_HSYNC,VGA_PSVAE_N,VGA_SYNC_N,VGA_BLANK_N, 7 | ); 8 | input sys_clk; 9 | input rst_n; 10 | input right; 11 | input left; 12 | input rotateR; 13 | input KEY_DATA; 14 | input KEY_CLK; 15 | input verticalspeed; 16 | output[7:0] VGA_G; 17 | output[7:0] VGA_R; 18 | output[7:0] VGA_B; 19 | output VGA_CLK; 20 | output VGA_VSYNC; 21 | output VGA_HSYNC; 22 | output VGA_PSVAE_N; 23 | output VGA_SYNC_N; 24 | output VGA_BLANK_N; 25 | 26 | 27 | 28 | //********************************************************************* 29 | wire red; 30 | wire green; 31 | wire blue; 32 | wire clk; 33 | wire levelup_sig; 34 | 35 | assign VGA_PSVAE_N=1'b1; 36 | assign VGA_SYNC_N=1'b0; 37 | assign VGA_BLANK_N=VGA_VSYNC&VGA_HSYNC; 38 | 39 | 40 | //********************************************************************* 41 | div_clk div_clk( 42 | .rst_n(rst_n), 43 | .sys_clk(sys_clk), 44 | .clk(clk) 45 | ); 46 | 47 | //********************************************************************* 48 | 49 | 50 | 51 | wire w_right; 52 | wire w_left; 53 | wire w_rotateR; 54 | wire verticalspeed_out; 55 | 56 | debouncer m_right(.clk(clk),.rst_n(rst_n),.key_in(right),.key_out(w_right)); 57 | debouncer m_left(.clk(clk),.rst_n(rst_n),.key_in(left),.key_out(w_left)); 58 | debouncer m_rotateR(.clk(clk),.rst_n(rst_n),.key_in(rotateR),.key_out(w_rotateR)); 59 | v_speed_debouncer v_speed_debouncer(.clk(clk),.rst_n(rst_n),.invs(verticalspeed),.outvs(verticalspeed_out)); 60 | //********************************************************************* 61 | 62 | 63 | //********************************************************************** 64 | 65 | wire over_out; 66 | wire start_sig; 67 | wire gameready_sig; 68 | wire over_sig; 69 | automaton automaton( 70 | .clk(clk), 71 | .rst_n(rst_n), 72 | .over(over_out), 73 | .start_sig(start_sig), 74 | .gameready_sig(gameready_sig), 75 | .over_sig(over_sig) 76 | ); 77 | //*********************************************************************** 78 | //*********************************************************************** 79 | 80 | 81 | 82 | 83 | //********************************************************************** 84 | //start_sync_module 85 | wire[10:0] ready_col_addr_sig; 86 | wire[10:0] ready_row_addr_sig; 87 | wire ready_hsync; 88 | wire ready_vsync; 89 | wire ready_out_sig; 90 | 91 | start_sync_module start_sync_module( 92 | .clk(clk), 93 | .rst_n(rst_n), 94 | .ready_col_addr_sig(ready_col_addr_sig), 95 | .ready_row_addr_sig(ready_row_addr_sig), 96 | .ready_hsync(ready_hsync), 97 | .ready_vsync(ready_vsync), 98 | .ready_out_sig(ready_out_sig) 99 | ); 100 | 101 | //start_vga_control_module 102 | wire[18:0] tetris_rom_addr; 103 | wire ready_red_sig; 104 | wire ready_green_sig; 105 | wire ready_blue_sig; 106 | wire[2:0] ready_tetris_rom_data; 107 | 108 | start_vga_control_module start_vga_control_module( 109 | .clk(clk), 110 | .rst_n(rst_n), 111 | .ready_col_addr_sig(ready_col_addr_sig), 112 | .ready_row_addr_sig(ready_row_addr_sig), 113 | .ready_sig(ready_out_sig), 114 | .gameready_sig(gameready_sig), 115 | .tetris_rom_data(ready_tetris_rom_data), 116 | .tetris_rom_addr(tetris_rom_addr), 117 | .ready_red_sig(ready_red_sig), 118 | .ready_green_sig(ready_green_sig), 119 | .ready_blue_sig(ready_blue_sig) 120 | ); 121 | 122 | start_interface start_instance_name ( 123 | .clka(clk), // input clka 124 | .addra(tetris_rom_addr), // input [18 : 0] addra 125 | .douta(ready_tetris_rom_data) // output [2 : 0] douta 126 | ); 127 | 128 | //*********************************************************************** 129 | //*********************************************************************** 130 | 131 | 132 | //*********************************************************************** 133 | //*********************************************************************** 134 | //over_sync_module 135 | wire[10:0] over_col_addr_sig; 136 | wire[10:0] over_row_addr_sig; 137 | wire over_hsync; 138 | wire over_vsync; 139 | wire over_out_sig; 140 | 141 | over_sync_module over_sync_module( 142 | .clk(clk), 143 | .rst_n(rst_n), 144 | .over_col_addr_sig(over_col_addr_sig), 145 | .over_row_addr_sig(over_row_addr_sig), 146 | .over_hsync(over_hsync), 147 | .over_vsync(over_vsync), 148 | .over_out_sig(over_out_sig) 149 | ); 150 | 151 | //over_vga_control_module 152 | wire[18:0] over_rom_addr; 153 | wire over_red_sig; 154 | wire over_green_sig; 155 | wire over_blue_sig; 156 | wire[2:0] over_tetris_rom_data1; 157 | over_vga_control_module over_vga_control_module( 158 | .clk(clk), 159 | .rst_n(rst_n), 160 | .over_col_addr_sig(over_col_addr_sig), 161 | .over_row_addr_sig(over_row_addr_sig), 162 | .ready_sig(over_out_sig), 163 | .over_sig(over_sig), 164 | .over_rom_data(over_tetris_rom_data1), 165 | .over_rom_addr(over_rom_addr), 166 | .over_red_sig(over_red_sig), 167 | .over_green_sig(over_green_sig), 168 | .over_blue_sig(over_blue_sig), 169 | .red(red), 170 | .blue(blue), 171 | .green(green) 172 | ); 173 | 174 | over_view over_view_mem ( 175 | .clka(clk), // input clka 176 | .addra(over_rom_addr), // input [18 : 0] addra 177 | .douta(over_tetris_rom_data1) // output [2 : 0] douta 178 | ); 179 | 180 | wire[10:0] col_addr_sig; 181 | wire[10:0] row_addr_sig; 182 | wire hsync; 183 | wire vsync; 184 | wire ready_sig; 185 | 186 | game_sync_module game_sync_module( 187 | .clk(clk), 188 | .rst_n(rst_n), 189 | .col_addr_sig(col_addr_sig), 190 | .row_addr_sig(row_addr_sig), 191 | .hsync(hsync), 192 | .vsync(vsync), 193 | .ready_sig(ready_sig) 194 | ); 195 | 196 | //loading happen module 197 | //****************************************** 198 | wire[10:0] h; 199 | wire[10:0] v; 200 | wire[499:0] enable_little; 201 | wire[15:0] enable_moving; 202 | wire loading_square; 203 | wire[8:0] little_square_num; 204 | wire[15:0] score_out; 205 | 206 | loading_happen loading_happen 207 | ( 208 | .clk(clk), 209 | .rst_n(rst_n), 210 | .move_right(w_right), 211 | .move_left(w_left), 212 | .start_sig(start_sig), 213 | .row_addr_sig(row_addr_sig), 214 | .blue(blue), 215 | .h(h), 216 | .v(v), 217 | .enable_little(enable_little), 218 | .enable_moving(enable_moving), 219 | .loading_square(loading_square), 220 | .little_square_num(little_square_num), 221 | .over_out(over_out), 222 | .verticalspeed_out(verticalspeed_out), 223 | .score_out(score_out), 224 | .level_up(levelup_sig) 225 | ); 226 | //******************************************* 227 | 228 | //******************************************* 229 | wire enable_red_border; 230 | 231 | display_border display_border 232 | ( 233 | .clk(clk), 234 | .rst_n(rst_n), 235 | .col_addr_sig(col_addr_sig), 236 | .row_addr_sig(row_addr_sig), 237 | .enable_red_border(enable_red_border) 238 | ); 239 | //******************************************* 240 | 241 | 242 | 243 | //******************************************* 244 | wire enable_blue_moving; 245 | 246 | display_moving_square display_moving_square 247 | ( 248 | .clk(clk), 249 | .rst_n(rst_n), 250 | .col_addr_sig(col_addr_sig), 251 | .row_addr_sig(row_addr_sig), 252 | .h(h), 253 | .v(v), 254 | .enable_blue_moving(enable_blue_moving), 255 | .enable_moving(enable_moving) 256 | ); 257 | //******************************************* 258 | 259 | 260 | 261 | 262 | //******************************************* 263 | wire enable_blue_little_flag; 264 | 265 | display_little_square display_little_square 266 | ( 267 | .clk(clk), 268 | .rst_n(rst_n), 269 | .col_addr_sig(col_addr_sig), 270 | .row_addr_sig(row_addr_sig), 271 | .enable_little(enable_little), 272 | .enable_blue_little_flag(enable_blue_little_flag) 273 | ); 274 | //******************************************* 275 | 276 | 277 | 278 | 279 | 280 | 281 | //square_gen 282 | //*********************************************************************** 283 | wire[2:0] square_type_out; 284 | 285 | square_gen square_gen 286 | ( 287 | .clk(clk), 288 | .rst_n(rst_n), 289 | .enable_moving(enable_moving), 290 | .rotate_r(w_rotateR), 291 | .rotate_l(w_rotateL), 292 | .loading_square(loading_square), 293 | .little_square_num(little_square_num), 294 | .enable_little(enable_little), 295 | .square_type_out(square_type_out) 296 | ); 297 | //*********************************************************************** 298 | 299 | wire color_score_out; 300 | 301 | display_score display_score( 302 | .clk(clk), 303 | .rst_n(rst_n), 304 | .col_addr_sig(col_addr_sig), 305 | .row_addr_sig(row_addr_sig), 306 | .score_out(score_out), 307 | .color_score_out(color_score_out) 308 | ); 309 | 310 | 311 | 312 | 313 | //*********************************************************************** 314 | wire next_yellow_display; 315 | 316 | display_next_square display_next_square 317 | ( 318 | .clk(clk), 319 | .rst_n(rst_n), 320 | .col_addr_sig(col_addr_sig), 321 | .row_addr_sig(row_addr_sig), 322 | .loading_square(loading_square), 323 | .next_yellow_display(next_yellow_display), 324 | .square_type_out(square_type_out) 325 | ); 326 | //*********************************************************************** 327 | wire score_out_c; 328 | 329 | show_score show_score( 330 | .clk(clk), 331 | .rst_n(rst_n), 332 | .col_addr_sig(col_addr_sig), 333 | .row_addr_sig(row_addr_sig), 334 | .levelup_sig(levelup_sig), 335 | .score_out_c(score_out_c) 336 | ); 337 | 338 | 339 | 340 | 341 | 342 | 343 | //************************************************************************ 344 | wire next_c; 345 | game_display game_display 346 | ( 347 | .clk(clk), 348 | .rst_n(rst_n), 349 | .ready_sig(ready_sig), 350 | .enable_red_border(enable_red_border), 351 | .enable_blue_moving(enable_blue_moving), 352 | .enable_blue_little_flag(enable_blue_little_flag), 353 | .next_yellow_display(next_yellow_display), 354 | .red(red), 355 | .green(green), 356 | .blue(blue), 357 | .next_c(next_c), 358 | .score_out_c(score_out_c), 359 | .score(color_score_out) 360 | ); 361 | //************************************************************************ 362 | 363 | show_next show_next( 364 | .clk(clk), 365 | .rst_n(rst_n), 366 | .col_addr_sig(col_addr_sig), 367 | .row_addr_sig(row_addr_sig), 368 | .next_c(next_c) 369 | ); 370 | 371 | //************************************************************************* 372 | wire hsync_out; 373 | wire vsync_out; 374 | wire red_out; 375 | wire green_out; 376 | wire blue_out; 377 | 378 | 379 | vga_select_module vga_select_module 380 | ( 381 | .clk(clk), 382 | .rst_n(rst_n), 383 | .start_sig(start_sig), 384 | .hsync(hsync), 385 | .vsync(vsync), 386 | .red(red), 387 | .green(green), 388 | .blue(blue), 389 | .gameready_sig(gameready_sig), 390 | .ready_hsync(ready_hsync), 391 | .ready_vsync(ready_vsync), 392 | .ready_red_sig(ready_red_sig), 393 | .ready_green_sig(ready_green_sig), 394 | .ready_blue_sig(ready_blue_sig), 395 | .over_sig(over_sig), 396 | .over_hsync(over_hsync), 397 | .over_vsync(over_vsync), 398 | .over_red_sig(over_red_sig), 399 | .over_green_sig(over_green_sig), 400 | .over_blue_sig(over_blue_sig), 401 | .hsync_out(hsync_out), 402 | .vsync_out(vsync_out), 403 | .red_out(red_out), 404 | .green_out(green_out), 405 | .blue_out(blue_out) 406 | ); 407 | 408 | //************************************************************************* 409 | 410 | assign VGA_VSYNC=vsync_out; 411 | assign VGA_HSYNC=hsync_out; 412 | assign VGA_CLK=clk; 413 | assign VGA_R[7]=red_out; 414 | assign VGA_R[6:0]=0; 415 | assign VGA_G[7]=green_out; 416 | assign VGA_G[6:0]=0; 417 | assign VGA_B[7]=blue_out; 418 | assign VGA_B[6:0]=0; 419 | assign w_rotateL=1'b1; 420 | 421 | endmodule 422 | -------------------------------------------------------------------------------- /sources/over_sync_module.v: -------------------------------------------------------------------------------- 1 | `timescale 1ns / 1ps 2 | ////////////////////////////////////////////////////////////////////////////////// 3 | // Company: 4 | // Engineer: 5 | // 6 | // Create Date: 22:13:36 05/04/2016 7 | // Design Name: 8 | // Module Name: over_sync_module 9 | // Project Name: 10 | // Target Devices: 11 | // Tool versions: 12 | // Description: 13 | // 14 | // Dependencies: 15 | // 16 | // Revision: 17 | // Revision 0.01 - File Created 18 | // Additional Comments: 19 | // 20 | ////////////////////////////////////////////////////////////////////////////////// 21 | module over_sync_module 22 | (clk, rst_n, over_col_addr_sig, over_row_addr_sig, over_hsync, over_vsync, over_out_sig 23 | ); 24 | input clk; 25 | input rst_n; 26 | output[10:0] over_col_addr_sig; 27 | output[10:0] over_row_addr_sig; 28 | output over_hsync; 29 | output over_vsync; 30 | output over_out_sig; 31 | 32 | /**************************************************/ 33 | 34 | reg[10:0] cnt_h; 35 | 36 | always @ ( posedge clk or negedge rst_n ) 37 | begin 38 | if( !rst_n ) 39 | cnt_h <= 11'd0; 40 | else if( cnt_h == 11'd799 ) 41 | cnt_h <= 11'd0; 42 | else cnt_h <= cnt_h + 1'b1; 43 | end 44 | 45 | /**************************************************/ 46 | 47 | reg[10:0] cnt_v; 48 | 49 | always @ ( posedge clk or negedge rst_n ) 50 | begin 51 | if( !rst_n ) 52 | cnt_v <= 11'd0; 53 | else if( cnt_v == 11'd523 ) 54 | cnt_v <= 11'd0; 55 | else if( cnt_h == 11'd799 ) 56 | cnt_v <= cnt_v + 1'b1; 57 | end 58 | 59 | /**************************************************/ 60 | 61 | reg isready; 62 | 63 | always @ ( posedge clk or negedge rst_n ) 64 | begin 65 | if( !rst_n ) 66 | isready <= 1'b0; 67 | else if(cnt_h >= 11'd143 && cnt_h < 11'd783 && cnt_v >= 11'd32 && cnt_v < 11'd512 ) 68 | isready <= 1'b1; 69 | else isready <= 1'b0; 70 | end 71 | 72 | /**************************************************/ 73 | 74 | assign over_hsync = ( cnt_h <= 11'd95) ? 1'b0 : 1'b1; 75 | assign over_vsync = ( cnt_v <= 11'd1 ) ? 1'b0 : 1'b1; 76 | assign over_col_addr_sig = isready ? ( cnt_h - 11'd143) : 11'd0; 77 | assign over_row_addr_sig = isready ? ( cnt_v - 11'd32 ) : 11'd0; 78 | assign over_out_sig = isready; 79 | 80 | /**************************************************/ 81 | 82 | endmodule 83 | -------------------------------------------------------------------------------- /sources/over_vga_control_module.v: -------------------------------------------------------------------------------- 1 | `timescale 1ns / 1ps 2 | ////////////////////////////////////////////////////////////////////////////////// 3 | // Company: 4 | // Engineer: 5 | // 6 | // Create Date: 22:12:35 05/04/2016 7 | // Design Name: 8 | // Module Name: over_vga_control_module 9 | // Project Name: 10 | // Target Devices: 11 | // Tool versions: 12 | // Description: 13 | // 14 | // Dependencies: 15 | // 16 | // Revision: 17 | // Revision 0.01 - File Created 18 | // Additional Comments: 19 | // 20 | ////////////////////////////////////////////////////////////////////////////////// 21 | module over_vga_control_module 22 | (clk, rst_n, over_col_addr_sig, over_row_addr_sig, ready_sig, over_sig, 23 | over_rom_data, red, green, blue, over_rom_addr, 24 | over_red_sig, over_green_sig, over_blue_sig 25 | ); 26 | input clk; 27 | input rst_n; 28 | input[10:0] over_col_addr_sig; 29 | input[10:0] over_row_addr_sig; 30 | input ready_sig; 31 | input over_sig; 32 | input[2:0] over_rom_data; 33 | input red; 34 | input green; 35 | input blue; 36 | output[18:0] over_rom_addr; 37 | output over_red_sig; 38 | output over_green_sig; 39 | output over_blue_sig; 40 | parameter flush = 30'd500_000; 41 | /**************************************************/ 42 | 43 | reg[21:0] m; 44 | reg[30:0] vcnt; 45 | reg[10:0] nowv; 46 | // assign nowv = 20'd000; 47 | always @ ( posedge clk or negedge rst_n ) 48 | begin 49 | if( !rst_n ) 50 | m <= 9'd0; 51 | else if(over_row_addr_sig < 480 ) 52 | m <= over_row_addr_sig[10:0]*640+over_col_addr_sig[10:0]; 53 | end 54 | 55 | always @ ( posedge clk or negedge rst_n) 56 | begin 57 | if( !rst_n ) 58 | begin 59 | vcnt <= 0; 60 | nowv <= 0; 61 | end 62 | else 63 | if (over_sig) 64 | begin 65 | if (nowv > 480) 66 | nowv <= 480; 67 | else 68 | if (vcnt == flush) 69 | begin 70 | vcnt <= 0; 71 | nowv <= nowv + 1; 72 | end 73 | else 74 | vcnt <= vcnt + 1; 75 | end 76 | end 77 | 78 | 79 | 80 | /**************************************************/ 81 | 82 | assign over_rom_addr = m; 83 | assign over_red_sig = (over_sig && (over_row_addr_sig < nowv))?over_rom_data[0]:red; 84 | assign over_green_sig = (over_sig && (over_row_addr_sig < nowv)) ? over_rom_data[1] : green; 85 | assign over_blue_sig = (over_sig&& (over_row_addr_sig < nowv))?over_rom_data[2]:blue; 86 | 87 | /**************************************************/ 88 | 89 | endmodule -------------------------------------------------------------------------------- /sources/show_next.v: -------------------------------------------------------------------------------- 1 | `timescale 1ns / 1ps 2 | module show_next(clk,rst_n,col_addr_sig,row_addr_sig,next_c); 3 | 4 | input clk; 5 | input rst_n; 6 | input[10:0] col_addr_sig; 7 | input[10:0] row_addr_sig; 8 | output next_c; 9 | 10 | reg[12:0] addra; 11 | wire next; 12 | 13 | reg next_c; 14 | always@(posedge clk or negedge rst_n) 15 | begin 16 | if(!rst_n) 17 | begin 18 | addra<=0; 19 | end 20 | else 21 | begin 22 | if(col_addr_sig>=12'd100&&col_addr_sig<12'd200&&row_addr_sig>=12'd10&&row_addr_sig<12'd88) 23 | begin 24 | addra<=(row_addr_sig-12'd10)*100+col_addr_sig-12'd100; 25 | end 26 | else 27 | addra<=0; 28 | end 29 | end 30 | 31 | always@(posedge clk or negedge rst_n) 32 | begin 33 | if(!rst_n) 34 | begin 35 | next_c<=0; 36 | end 37 | else 38 | begin 39 | if(col_addr_sig>=12'd100&&col_addr_sig<12'd200&&row_addr_sig>=12'd10&&row_addr_sig<12'd88) 40 | begin 41 | next_c<=~next; 42 | end 43 | else 44 | next_c<=0; 45 | end 46 | end 47 | 48 | 49 | next_rom next_rom ( 50 | .clka(clk), // input clka 51 | .addra(addra), // input [12 : 0] addra 52 | .douta(next) // output [0 : 0] douta 53 | ); 54 | 55 | 56 | endmodule 57 | -------------------------------------------------------------------------------- /sources/show_score.v: -------------------------------------------------------------------------------- 1 | `timescale 1ns / 1ps 2 | module show_score( 3 | clk, 4 | rst_n, 5 | col_addr_sig, 6 | row_addr_sig, 7 | levelup_sig, 8 | score_out_c 9 | ); 10 | parameter bling = 26'd12_500_000; 11 | input clk; 12 | input rst_n; 13 | input[10:0] col_addr_sig; 14 | input[10:0] row_addr_sig; 15 | input levelup_sig; 16 | output score_out_c; 17 | 18 | 19 | reg[14:0] addra; 20 | wire next; 21 | wire next_sp; 22 | reg next_c; 23 | assign score_out_c=next_c; 24 | 25 | reg show; 26 | reg[25:0] count_down; 27 | 28 | always @ ( posedge clk or negedge rst_n ) 29 | begin 30 | 31 | if( !rst_n ) 32 | begin 33 | count_down <= 26'd0; 34 | show <= 0; 35 | end 36 | else if( count_down >= bling) 37 | begin 38 | count_down <= 26'd0; 39 | show <= ~show; 40 | end 41 | else 42 | count_down <= count_down + 1'b1; 43 | end 44 | always@(posedge clk or negedge rst_n) 45 | begin 46 | if(!rst_n) 47 | begin 48 | addra <= 0; 49 | end 50 | else 51 | begin 52 | if (col_addr_sig >= 12'd40 && col_addr_sig < 12'd280 && row_addr_sig >= 12'd210 && row_addr_sig < 12'd330) 53 | begin 54 | addra <= (row_addr_sig - 12'd210) * 240 + col_addr_sig - 12'd40; 55 | end 56 | else 57 | addra <= 0; 58 | end 59 | end 60 | 61 | always@(posedge clk or negedge rst_n) 62 | begin 63 | if(!rst_n) 64 | begin 65 | next_c <= 0; 66 | end 67 | else 68 | begin 69 | if (col_addr_sig >= 12'd40 && col_addr_sig < 12'd280 && row_addr_sig >= 12'd210 && row_addr_sig < 12'd330) 70 | begin 71 | if (levelup_sig && show) 72 | next_c <= ~next_sp; 73 | else 74 | next_c <= ~next; 75 | end 76 | else 77 | next_c <= 0; 78 | end 79 | end 80 | 81 | score score ( 82 | .clka(clk), // input clka 83 | .addra(addra), // input [15 : 0] addra 84 | .douta(next) // output [1 : 0] douta 85 | ); 86 | 87 | spscore spscore ( 88 | .clka(clk), // input clka 89 | .addra(addra), // input [15 : 0] addra 90 | .douta(next_sp) // output [1 : 0] douta 91 | ); 92 | 93 | endmodule 94 | -------------------------------------------------------------------------------- /sources/square_gen.v: -------------------------------------------------------------------------------- 1 | `timescale 1ns / 1ps 2 | 3 | module square_gen 4 | (clk, rst_n, 5 | rotate_r, rotate_l, loading_square, enable_little, little_square_num, enable_moving,square_type_out 6 | ); 7 | input clk; 8 | input rst_n; 9 | input rotate_r; 10 | input rotate_l; 11 | input loading_square; 12 | input[499:0] enable_little; 13 | input[8:0] little_square_num; 14 | output[15:0] enable_moving; 15 | output[2:0] square_type_out; 16 | /**************************************************/ 17 | 18 | wire rotate_en; 19 | reg[15:0] enable_moving_r; 20 | reg rotate_l_dly; 21 | reg rotate_r_dly; 22 | 23 | always @ ( posedge clk or negedge rst_n ) 24 | begin 25 | if( !rst_n ) 26 | begin 27 | rotate_r_dly <= 1'b0; 28 | end 29 | else 30 | begin 31 | rotate_r_dly <= rotate_r; 32 | end 33 | end 34 | 35 | /**************************************************/ 36 | 37 | reg[15:0] enable_moving_rotate; 38 | 39 | always @ ( posedge clk or negedge rst_n ) 40 | begin 41 | if( !rst_n ) 42 | enable_moving_rotate <= 16'b0000_0111_0010_0000; 43 | else if( rotate_r == 1'b1 ) 44 | begin 45 | enable_moving_rotate[0] <= enable_moving_rotate[12]; 46 | enable_moving_rotate[1] <= enable_moving_rotate[8]; 47 | enable_moving_rotate[2] <= enable_moving_rotate[4]; 48 | enable_moving_rotate[3] <= enable_moving_rotate[0]; 49 | enable_moving_rotate[4] <= enable_moving_rotate[13]; 50 | enable_moving_rotate[5] <= enable_moving_rotate[9]; 51 | enable_moving_rotate[6] <= enable_moving_rotate[5]; 52 | enable_moving_rotate[7] <= enable_moving_rotate[1]; 53 | enable_moving_rotate[8] <= enable_moving_rotate[14]; 54 | enable_moving_rotate[9] <= enable_moving_rotate[10]; 55 | enable_moving_rotate[10] <= enable_moving_rotate[6]; 56 | enable_moving_rotate[11] <= enable_moving_rotate[2]; 57 | enable_moving_rotate[12] <= enable_moving_rotate[15]; 58 | enable_moving_rotate[13] <= enable_moving_rotate[11]; 59 | enable_moving_rotate[14] <= enable_moving_rotate[7]; 60 | enable_moving_rotate[15] <= enable_moving_rotate[3]; 61 | end 62 | else if( rotate_r_dly && (~rotate_en) ) 63 | begin 64 | enable_moving_rotate <= enable_moving_r; 65 | end 66 | else if(rotate_r_dly||rotate_r) 67 | begin 68 | enable_moving_rotate <= enable_moving_rotate; 69 | end 70 | else 71 | begin 72 | enable_moving_rotate <= enable_moving_r; 73 | end 74 | end 75 | 76 | /**************************************************/ 77 | //******************** 78 | reg[7:0] rand_num; 79 | 80 | always@(posedge clk or negedge rst_n) 81 | begin 82 | if(!rst_n) 83 | begin 84 | rand_num <= 8'b1111_1111; 85 | end 86 | else 87 | begin 88 | rand_num[0] <= rand_num[7]; 89 | rand_num[1] <= rand_num[0]; 90 | rand_num[2] <= rand_num[1]; 91 | rand_num[3] <= rand_num[2]; 92 | rand_num[4] <= rand_num[3]^rand_num[7]; 93 | rand_num[5] <= rand_num[4]^rand_num[7]; 94 | rand_num[6] <= rand_num[5]^rand_num[7]; 95 | rand_num[7] <= rand_num[6]; 96 | end 97 | 98 | end 99 | 100 | 101 | /**************************************************/ 102 | 103 | reg[2:0] square_type; 104 | always @ ( posedge clk or negedge rst_n ) 105 | begin 106 | if( !rst_n ) 107 | square_type <= 3'd0; 108 | else if( loading_square ) 109 | square_type<=rand_num[3:1]; 110 | else 111 | square_type <= square_type; 112 | end 113 | 114 | /**************************************************/ 115 | 116 | 117 | 118 | always @ ( posedge clk or negedge rst_n ) 119 | begin 120 | if( !rst_n ) 121 | enable_moving_r <= 16'b0000_0111_0010_0000; 122 | else if( rotate_r_dly && rotate_en ) 123 | begin 124 | enable_moving_r[0] <= enable_moving_rotate[0]; 125 | enable_moving_r[1] <= enable_moving_rotate[1]; 126 | enable_moving_r[2] <= enable_moving_rotate[2]; 127 | enable_moving_r[3] <= enable_moving_rotate[3]; 128 | enable_moving_r[4] <= enable_moving_rotate[4]; 129 | enable_moving_r[5] <= enable_moving_rotate[5]; 130 | enable_moving_r[6] <= enable_moving_rotate[6]; 131 | enable_moving_r[7] <= enable_moving_rotate[7]; 132 | enable_moving_r[8] <= enable_moving_rotate[8]; 133 | enable_moving_r[9] <= enable_moving_rotate[9]; 134 | enable_moving_r[10] <= enable_moving_rotate[10]; 135 | enable_moving_r[11] <= enable_moving_rotate[11]; 136 | enable_moving_r[12] <= enable_moving_rotate[12]; 137 | enable_moving_r[13] <= enable_moving_rotate[13]; 138 | enable_moving_r[14] <= enable_moving_rotate[14]; 139 | enable_moving_r[15] <= enable_moving_rotate[15]; 140 | end 141 | 142 | 143 | else if( loading_square ) 144 | begin 145 | case( square_type ) 146 | 3'b000: enable_moving_r <= 16'b0000_0111_0010_0000; 147 | 3'b001: enable_moving_r <= 16'b0000_0110_0110_0000; 148 | 3'b010: enable_moving_r <= 16'b0010_0010_0010_0010; 149 | 3'b011: enable_moving_r <= 16'b0000_0011_0110_0000; 150 | 3'b100: enable_moving_r <= 16'b0000_0110_0011_0000; 151 | 3'b101: enable_moving_r <= 16'b0000_0011_0010_0010; 152 | 3'b110: enable_moving_r <= 16'b0000_0011_0001_0001; 153 | default: enable_moving_r <= 16'b0000_0110_0110_0000; 154 | endcase 155 | end 156 | else 157 | enable_moving_r <= enable_moving_r; 158 | end 159 | 160 | /**************************************************/ 161 | 162 | 163 | 164 | assign rotate_en = ~ ( (enable_moving_rotate[0] && enable_little[little_square_num]) || 165 | (enable_moving_rotate[1] && enable_little[little_square_num + 9'd1]) || 166 | (enable_moving_rotate[2] && enable_little[little_square_num + 9'd2]) || 167 | (enable_moving_rotate[3] && enable_little[little_square_num + 9'd3]) || 168 | (enable_moving_rotate[4] && enable_little[little_square_num + 9'd20]) || 169 | (enable_moving_rotate[5] && enable_little[little_square_num + 9'd21]) || 170 | (enable_moving_rotate[6] && enable_little[little_square_num + 9'd22]) || 171 | (enable_moving_rotate[7] && enable_little[little_square_num + 9'd23]) || 172 | (enable_moving_rotate[8] && enable_little[little_square_num + 9'd40]) || 173 | (enable_moving_rotate[9] && enable_little[little_square_num + 9'd41]) || 174 | (enable_moving_rotate[10] && enable_little[little_square_num + 9'd42]) || 175 | (enable_moving_rotate[11] && enable_little[little_square_num + 9'd43]) || 176 | (enable_moving_rotate[12] && enable_little[little_square_num + 9'd60]) || 177 | (enable_moving_rotate[13] && enable_little[little_square_num + 9'd61]) || 178 | (enable_moving_rotate[14] && enable_little[little_square_num + 9'd62]) || 179 | (enable_moving_rotate[15] && enable_little[little_square_num + 9'd63]) ); 180 | 181 | /**************************************************/ 182 | 183 | assign enable_moving = enable_moving_r; 184 | assign square_type_out = square_type; 185 | 186 | /**************************************************/ 187 | 188 | endmodule -------------------------------------------------------------------------------- /sources/start_sync_module.v: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tinylic/ASIC-FPGA-tetris/d6e5226dd147fddc03502d10e4851ef89cbcf07a/sources/start_sync_module.v -------------------------------------------------------------------------------- /sources/start_vga_control_module.v: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tinylic/ASIC-FPGA-tetris/d6e5226dd147fddc03502d10e4851ef89cbcf07a/sources/start_vga_control_module.v -------------------------------------------------------------------------------- /sources/transform.m: -------------------------------------------------------------------------------- 1 | im = imread('start.bmp'); 2 | [a,b,c] = size(im); 3 | a, b, c 4 | rgbs = im; 5 | imshow(rgbs); 6 | fid = fopen( 'start.coe', 'w+' ); 7 | fprintf( fid, 'memory_initialization_radix=2;\n'); 8 | fprintf( fid, 'memory_initialization_vector =\n'); 9 | for i = 1 : a 10 | for j = 1 : b 11 | fprintf( fid, '%d',rgbs(i, j, 1) > 0); 12 | fprintf( fid, '%d',rgbs(i, j, 2) > 0); 13 | fprintf( fid, '%d,\n',rgbs(i, j, 3) > 0); 14 | end 15 | end 16 | fprintf( fid, ';'); 17 | fclose( fid ); -------------------------------------------------------------------------------- /sources/v_speed_debouncer.v: -------------------------------------------------------------------------------- 1 | `timescale 1ns / 1ps 2 | 3 | module v_speed_debouncer(clk,rst_n,invs,outvs 4 | ); 5 | 6 | input clk; 7 | input rst_n; 8 | input invs; 9 | output outvs; 10 | 11 | reg[2:0] counter; 12 | reg outvs; 13 | 14 | 15 | always@(posedge clk or negedge rst_n) 16 | begin 17 | if(!rst_n) 18 | begin 19 | counter<=3'd0; 20 | outvs<=1'b0; 21 | end 22 | else 23 | begin 24 | if(invs) 25 | begin 26 | counter<=3'b0; 27 | outvs<=1'b0; 28 | end 29 | else 30 | begin 31 | if(counter<3'd7) 32 | begin 33 | counter<=counter+1'b1; 34 | outvs<=1'b0; 35 | end 36 | else 37 | begin 38 | counter<=counter; 39 | outvs<=1'b1; 40 | end 41 | end 42 | end 43 | 44 | 45 | end 46 | 47 | 48 | 49 | endmodule 50 | -------------------------------------------------------------------------------- /sources/vga_select_module.v: -------------------------------------------------------------------------------- 1 | `timescale 1ns / 1ps 2 | module vga_select_module 3 | (clk, rst_n, start_sig, hsync, vsync, red, green, blue, 4 | gameready_sig, ready_hsync, ready_vsync, ready_red_sig, ready_green_sig, ready_blue_sig, 5 | over_sig, over_hsync, over_vsync, over_red_sig, over_green_sig, over_blue_sig, 6 | hsync_out, vsync_out, red_out, green_out, blue_out 7 | ); 8 | input clk; 9 | input rst_n; 10 | input start_sig; 11 | input hsync; 12 | input vsync; 13 | input red; 14 | input green; 15 | input blue; 16 | input gameready_sig; 17 | input ready_hsync; 18 | input ready_vsync; 19 | input ready_red_sig; 20 | input ready_green_sig; 21 | input ready_blue_sig; 22 | input over_sig; 23 | input over_hsync; 24 | input over_vsync; 25 | input over_red_sig; 26 | input over_green_sig; 27 | input over_blue_sig; 28 | output hsync_out; 29 | output vsync_out; 30 | output red_out; 31 | output green_out; 32 | output blue_out; 33 | 34 | /**************************************************/ 35 | 36 | reg hsync_out_r; 37 | reg vsync_out_r; 38 | reg red_out_r; 39 | reg green_out_r; 40 | reg blue_out_r; 41 | 42 | always @ ( posedge clk or negedge rst_n ) 43 | begin 44 | if( !rst_n ) 45 | begin 46 | hsync_out_r <= ready_hsync; 47 | vsync_out_r <= ready_vsync; 48 | red_out_r <= ready_red_sig; 49 | green_out_r <= ready_green_sig; 50 | blue_out_r <= ready_blue_sig; 51 | end 52 | else if( { gameready_sig, start_sig, over_sig } == 3'b010 ) 53 | begin 54 | hsync_out_r <= hsync; 55 | vsync_out_r <= vsync; 56 | red_out_r <= red; 57 | green_out_r <= green; 58 | blue_out_r <= blue; 59 | end 60 | else if( { gameready_sig, start_sig, over_sig } == 3'b001 ) 61 | begin 62 | hsync_out_r <= over_hsync; 63 | vsync_out_r <= over_vsync; 64 | red_out_r <= over_red_sig; 65 | green_out_r <= over_green_sig; 66 | blue_out_r <= over_blue_sig; 67 | end 68 | else 69 | begin 70 | hsync_out_r <= ready_hsync; 71 | vsync_out_r <= ready_vsync; 72 | red_out_r <= ready_red_sig; 73 | green_out_r <= ready_green_sig; 74 | blue_out_r <= ready_blue_sig; 75 | end 76 | end 77 | 78 | /**************************************************/ 79 | 80 | assign hsync_out = hsync_out_r; 81 | assign vsync_out = vsync_out_r; 82 | assign red_out = red_out_r; 83 | assign green_out = green_out_r; 84 | assign blue_out = blue_out_r; 85 | 86 | /**************************************************/ 87 | 88 | endmodule 89 | --------------------------------------------------------------------------------