diff options
Diffstat (limited to 'gcc/testsuite/gcc.target/i386/vperm-4-2.inc')
-rw-r--r-- | gcc/testsuite/gcc.target/i386/vperm-4-2.inc | 4262 |
1 files changed, 4262 insertions, 0 deletions
diff --git a/gcc/testsuite/gcc.target/i386/vperm-4-2.inc b/gcc/testsuite/gcc.target/i386/vperm-4-2.inc new file mode 100644 index 000000000..2f7baa0ed --- /dev/null +++ b/gcc/testsuite/gcc.target/i386/vperm-4-2.inc @@ -0,0 +1,4262 @@ +/* This file auto-generated with ./vperm.pl 4 2. */ + +void check0(void) +{ + TEST (0, 0, 0, 0) + TEST (1, 0, 0, 0) + TEST (2, 0, 0, 0) + TEST (3, 0, 0, 0) + TEST (4, 0, 0, 0) + TEST (5, 0, 0, 0) + TEST (6, 0, 0, 0) + TEST (7, 0, 0, 0) + TEST (0, 1, 0, 0) + TEST (1, 1, 0, 0) + TEST (2, 1, 0, 0) + TEST (3, 1, 0, 0) + TEST (4, 1, 0, 0) + TEST (5, 1, 0, 0) + TEST (6, 1, 0, 0) + TEST (7, 1, 0, 0) + TEST (0, 2, 0, 0) + TEST (1, 2, 0, 0) + TEST (2, 2, 0, 0) + TEST (3, 2, 0, 0) + TEST (4, 2, 0, 0) + TEST (5, 2, 0, 0) + TEST (6, 2, 0, 0) + TEST (7, 2, 0, 0) + TEST (0, 3, 0, 0) + TEST (1, 3, 0, 0) + TEST (2, 3, 0, 0) + TEST (3, 3, 0, 0) + TEST (4, 3, 0, 0) + TEST (5, 3, 0, 0) + TEST (6, 3, 0, 0) + TEST (7, 3, 0, 0) + TEST (0, 4, 0, 0) + TEST (1, 4, 0, 0) + TEST (2, 4, 0, 0) + TEST (3, 4, 0, 0) + TEST (4, 4, 0, 0) + TEST (5, 4, 0, 0) + TEST (6, 4, 0, 0) + TEST (7, 4, 0, 0) + TEST (0, 5, 0, 0) + TEST (1, 5, 0, 0) + TEST (2, 5, 0, 0) + TEST (3, 5, 0, 0) + TEST (4, 5, 0, 0) + TEST (5, 5, 0, 0) + TEST (6, 5, 0, 0) + TEST (7, 5, 0, 0) + TEST (0, 6, 0, 0) + TEST (1, 6, 0, 0) + TEST (2, 6, 0, 0) + TEST (3, 6, 0, 0) + TEST (4, 6, 0, 0) + TEST (5, 6, 0, 0) + TEST (6, 6, 0, 0) + TEST (7, 6, 0, 0) + TEST (0, 7, 0, 0) + TEST (1, 7, 0, 0) + TEST (2, 7, 0, 0) + TEST (3, 7, 0, 0) + TEST (4, 7, 0, 0) + TEST (5, 7, 0, 0) + TEST (6, 7, 0, 0) + TEST (7, 7, 0, 0) + TEST (0, 0, 1, 0) + TEST (1, 0, 1, 0) + TEST (2, 0, 1, 0) + TEST (3, 0, 1, 0) + TEST (4, 0, 1, 0) + TEST (5, 0, 1, 0) + TEST (6, 0, 1, 0) + TEST (7, 0, 1, 0) + TEST (0, 1, 1, 0) + TEST (1, 1, 1, 0) + TEST (2, 1, 1, 0) + TEST (3, 1, 1, 0) + TEST (4, 1, 1, 0) + TEST (5, 1, 1, 0) + TEST (6, 1, 1, 0) + TEST (7, 1, 1, 0) + TEST (0, 2, 1, 0) + TEST (1, 2, 1, 0) + TEST (2, 2, 1, 0) + TEST (3, 2, 1, 0) + TEST (4, 2, 1, 0) + TEST (5, 2, 1, 0) + TEST (6, 2, 1, 0) + TEST (7, 2, 1, 0) + TEST (0, 3, 1, 0) + TEST (1, 3, 1, 0) + TEST (2, 3, 1, 0) + TEST (3, 3, 1, 0) + TEST (4, 3, 1, 0) + TEST (5, 3, 1, 0) + TEST (6, 3, 1, 0) + TEST (7, 3, 1, 0) + TEST (0, 4, 1, 0) + TEST (1, 4, 1, 0) + TEST (2, 4, 1, 0) + TEST (3, 4, 1, 0) + TEST (4, 4, 1, 0) + TEST (5, 4, 1, 0) + TEST (6, 4, 1, 0) + TEST (7, 4, 1, 0) + TEST (0, 5, 1, 0) + TEST (1, 5, 1, 0) + TEST (2, 5, 1, 0) + TEST (3, 5, 1, 0) + TEST (4, 5, 1, 0) + TEST (5, 5, 1, 0) + TEST (6, 5, 1, 0) + TEST (7, 5, 1, 0) + TEST (0, 6, 1, 0) + TEST (1, 6, 1, 0) + TEST (2, 6, 1, 0) + TEST (3, 6, 1, 0) + TEST (4, 6, 1, 0) + TEST (5, 6, 1, 0) + TEST (6, 6, 1, 0) + TEST (7, 6, 1, 0) + TEST (0, 7, 1, 0) + TEST (1, 7, 1, 0) + TEST (2, 7, 1, 0) + TEST (3, 7, 1, 0) + TEST (4, 7, 1, 0) + TEST (5, 7, 1, 0) + TEST (6, 7, 1, 0) + TEST (7, 7, 1, 0) +} + +void check1(void) +{ + TEST (0, 0, 2, 0) + TEST (1, 0, 2, 0) + TEST (2, 0, 2, 0) + TEST (3, 0, 2, 0) + TEST (4, 0, 2, 0) + TEST (5, 0, 2, 0) + TEST (6, 0, 2, 0) + TEST (7, 0, 2, 0) + TEST (0, 1, 2, 0) + TEST (1, 1, 2, 0) + TEST (2, 1, 2, 0) + TEST (3, 1, 2, 0) + TEST (4, 1, 2, 0) + TEST (5, 1, 2, 0) + TEST (6, 1, 2, 0) + TEST (7, 1, 2, 0) + TEST (0, 2, 2, 0) + TEST (1, 2, 2, 0) + TEST (2, 2, 2, 0) + TEST (3, 2, 2, 0) + TEST (4, 2, 2, 0) + TEST (5, 2, 2, 0) + TEST (6, 2, 2, 0) + TEST (7, 2, 2, 0) + TEST (0, 3, 2, 0) + TEST (1, 3, 2, 0) + TEST (2, 3, 2, 0) + TEST (3, 3, 2, 0) + TEST (4, 3, 2, 0) + TEST (5, 3, 2, 0) + TEST (6, 3, 2, 0) + TEST (7, 3, 2, 0) + TEST (0, 4, 2, 0) + TEST (1, 4, 2, 0) + TEST (2, 4, 2, 0) + TEST (3, 4, 2, 0) + TEST (4, 4, 2, 0) + TEST (5, 4, 2, 0) + TEST (6, 4, 2, 0) + TEST (7, 4, 2, 0) + TEST (0, 5, 2, 0) + TEST (1, 5, 2, 0) + TEST (2, 5, 2, 0) + TEST (3, 5, 2, 0) + TEST (4, 5, 2, 0) + TEST (5, 5, 2, 0) + TEST (6, 5, 2, 0) + TEST (7, 5, 2, 0) + TEST (0, 6, 2, 0) + TEST (1, 6, 2, 0) + TEST (2, 6, 2, 0) + TEST (3, 6, 2, 0) + TEST (4, 6, 2, 0) + TEST (5, 6, 2, 0) + TEST (6, 6, 2, 0) + TEST (7, 6, 2, 0) + TEST (0, 7, 2, 0) + TEST (1, 7, 2, 0) + TEST (2, 7, 2, 0) + TEST (3, 7, 2, 0) + TEST (4, 7, 2, 0) + TEST (5, 7, 2, 0) + TEST (6, 7, 2, 0) + TEST (7, 7, 2, 0) + TEST (0, 0, 3, 0) + TEST (1, 0, 3, 0) + TEST (2, 0, 3, 0) + TEST (3, 0, 3, 0) + TEST (4, 0, 3, 0) + TEST (5, 0, 3, 0) + TEST (6, 0, 3, 0) + TEST (7, 0, 3, 0) + TEST (0, 1, 3, 0) + TEST (1, 1, 3, 0) + TEST (2, 1, 3, 0) + TEST (3, 1, 3, 0) + TEST (4, 1, 3, 0) + TEST (5, 1, 3, 0) + TEST (6, 1, 3, 0) + TEST (7, 1, 3, 0) + TEST (0, 2, 3, 0) + TEST (1, 2, 3, 0) + TEST (2, 2, 3, 0) + TEST (3, 2, 3, 0) + TEST (4, 2, 3, 0) + TEST (5, 2, 3, 0) + TEST (6, 2, 3, 0) + TEST (7, 2, 3, 0) + TEST (0, 3, 3, 0) + TEST (1, 3, 3, 0) + TEST (2, 3, 3, 0) + TEST (3, 3, 3, 0) + TEST (4, 3, 3, 0) + TEST (5, 3, 3, 0) + TEST (6, 3, 3, 0) + TEST (7, 3, 3, 0) + TEST (0, 4, 3, 0) + TEST (1, 4, 3, 0) + TEST (2, 4, 3, 0) + TEST (3, 4, 3, 0) + TEST (4, 4, 3, 0) + TEST (5, 4, 3, 0) + TEST (6, 4, 3, 0) + TEST (7, 4, 3, 0) + TEST (0, 5, 3, 0) + TEST (1, 5, 3, 0) + TEST (2, 5, 3, 0) + TEST (3, 5, 3, 0) + TEST (4, 5, 3, 0) + TEST (5, 5, 3, 0) + TEST (6, 5, 3, 0) + TEST (7, 5, 3, 0) + TEST (0, 6, 3, 0) + TEST (1, 6, 3, 0) + TEST (2, 6, 3, 0) + TEST (3, 6, 3, 0) + TEST (4, 6, 3, 0) + TEST (5, 6, 3, 0) + TEST (6, 6, 3, 0) + TEST (7, 6, 3, 0) + TEST (0, 7, 3, 0) + TEST (1, 7, 3, 0) + TEST (2, 7, 3, 0) + TEST (3, 7, 3, 0) + TEST (4, 7, 3, 0) + TEST (5, 7, 3, 0) + TEST (6, 7, 3, 0) + TEST (7, 7, 3, 0) +} + +void check2(void) +{ + TEST (0, 0, 4, 0) + TEST (1, 0, 4, 0) + TEST (2, 0, 4, 0) + TEST (3, 0, 4, 0) + TEST (4, 0, 4, 0) + TEST (5, 0, 4, 0) + TEST (6, 0, 4, 0) + TEST (7, 0, 4, 0) + TEST (0, 1, 4, 0) + TEST (1, 1, 4, 0) + TEST (2, 1, 4, 0) + TEST (3, 1, 4, 0) + TEST (4, 1, 4, 0) + TEST (5, 1, 4, 0) + TEST (6, 1, 4, 0) + TEST (7, 1, 4, 0) + TEST (0, 2, 4, 0) + TEST (1, 2, 4, 0) + TEST (2, 2, 4, 0) + TEST (3, 2, 4, 0) + TEST (4, 2, 4, 0) + TEST (5, 2, 4, 0) + TEST (6, 2, 4, 0) + TEST (7, 2, 4, 0) + TEST (0, 3, 4, 0) + TEST (1, 3, 4, 0) + TEST (2, 3, 4, 0) + TEST (3, 3, 4, 0) + TEST (4, 3, 4, 0) + TEST (5, 3, 4, 0) + TEST (6, 3, 4, 0) + TEST (7, 3, 4, 0) + TEST (0, 4, 4, 0) + TEST (1, 4, 4, 0) + TEST (2, 4, 4, 0) + TEST (3, 4, 4, 0) + TEST (4, 4, 4, 0) + TEST (5, 4, 4, 0) + TEST (6, 4, 4, 0) + TEST (7, 4, 4, 0) + TEST (0, 5, 4, 0) + TEST (1, 5, 4, 0) + TEST (2, 5, 4, 0) + TEST (3, 5, 4, 0) + TEST (4, 5, 4, 0) + TEST (5, 5, 4, 0) + TEST (6, 5, 4, 0) + TEST (7, 5, 4, 0) + TEST (0, 6, 4, 0) + TEST (1, 6, 4, 0) + TEST (2, 6, 4, 0) + TEST (3, 6, 4, 0) + TEST (4, 6, 4, 0) + TEST (5, 6, 4, 0) + TEST (6, 6, 4, 0) + TEST (7, 6, 4, 0) + TEST (0, 7, 4, 0) + TEST (1, 7, 4, 0) + TEST (2, 7, 4, 0) + TEST (3, 7, 4, 0) + TEST (4, 7, 4, 0) + TEST (5, 7, 4, 0) + TEST (6, 7, 4, 0) + TEST (7, 7, 4, 0) + TEST (0, 0, 5, 0) + TEST (1, 0, 5, 0) + TEST (2, 0, 5, 0) + TEST (3, 0, 5, 0) + TEST (4, 0, 5, 0) + TEST (5, 0, 5, 0) + TEST (6, 0, 5, 0) + TEST (7, 0, 5, 0) + TEST (0, 1, 5, 0) + TEST (1, 1, 5, 0) + TEST (2, 1, 5, 0) + TEST (3, 1, 5, 0) + TEST (4, 1, 5, 0) + TEST (5, 1, 5, 0) + TEST (6, 1, 5, 0) + TEST (7, 1, 5, 0) + TEST (0, 2, 5, 0) + TEST (1, 2, 5, 0) + TEST (2, 2, 5, 0) + TEST (3, 2, 5, 0) + TEST (4, 2, 5, 0) + TEST (5, 2, 5, 0) + TEST (6, 2, 5, 0) + TEST (7, 2, 5, 0) + TEST (0, 3, 5, 0) + TEST (1, 3, 5, 0) + TEST (2, 3, 5, 0) + TEST (3, 3, 5, 0) + TEST (4, 3, 5, 0) + TEST (5, 3, 5, 0) + TEST (6, 3, 5, 0) + TEST (7, 3, 5, 0) + TEST (0, 4, 5, 0) + TEST (1, 4, 5, 0) + TEST (2, 4, 5, 0) + TEST (3, 4, 5, 0) + TEST (4, 4, 5, 0) + TEST (5, 4, 5, 0) + TEST (6, 4, 5, 0) + TEST (7, 4, 5, 0) + TEST (0, 5, 5, 0) + TEST (1, 5, 5, 0) + TEST (2, 5, 5, 0) + TEST (3, 5, 5, 0) + TEST (4, 5, 5, 0) + TEST (5, 5, 5, 0) + TEST (6, 5, 5, 0) + TEST (7, 5, 5, 0) + TEST (0, 6, 5, 0) + TEST (1, 6, 5, 0) + TEST (2, 6, 5, 0) + TEST (3, 6, 5, 0) + TEST (4, 6, 5, 0) + TEST (5, 6, 5, 0) + TEST (6, 6, 5, 0) + TEST (7, 6, 5, 0) + TEST (0, 7, 5, 0) + TEST (1, 7, 5, 0) + TEST (2, 7, 5, 0) + TEST (3, 7, 5, 0) + TEST (4, 7, 5, 0) + TEST (5, 7, 5, 0) + TEST (6, 7, 5, 0) + TEST (7, 7, 5, 0) +} + +void check3(void) +{ + TEST (0, 0, 6, 0) + TEST (1, 0, 6, 0) + TEST (2, 0, 6, 0) + TEST (3, 0, 6, 0) + TEST (4, 0, 6, 0) + TEST (5, 0, 6, 0) + TEST (6, 0, 6, 0) + TEST (7, 0, 6, 0) + TEST (0, 1, 6, 0) + TEST (1, 1, 6, 0) + TEST (2, 1, 6, 0) + TEST (3, 1, 6, 0) + TEST (4, 1, 6, 0) + TEST (5, 1, 6, 0) + TEST (6, 1, 6, 0) + TEST (7, 1, 6, 0) + TEST (0, 2, 6, 0) + TEST (1, 2, 6, 0) + TEST (2, 2, 6, 0) + TEST (3, 2, 6, 0) + TEST (4, 2, 6, 0) + TEST (5, 2, 6, 0) + TEST (6, 2, 6, 0) + TEST (7, 2, 6, 0) + TEST (0, 3, 6, 0) + TEST (1, 3, 6, 0) + TEST (2, 3, 6, 0) + TEST (3, 3, 6, 0) + TEST (4, 3, 6, 0) + TEST (5, 3, 6, 0) + TEST (6, 3, 6, 0) + TEST (7, 3, 6, 0) + TEST (0, 4, 6, 0) + TEST (1, 4, 6, 0) + TEST (2, 4, 6, 0) + TEST (3, 4, 6, 0) + TEST (4, 4, 6, 0) + TEST (5, 4, 6, 0) + TEST (6, 4, 6, 0) + TEST (7, 4, 6, 0) + TEST (0, 5, 6, 0) + TEST (1, 5, 6, 0) + TEST (2, 5, 6, 0) + TEST (3, 5, 6, 0) + TEST (4, 5, 6, 0) + TEST (5, 5, 6, 0) + TEST (6, 5, 6, 0) + TEST (7, 5, 6, 0) + TEST (0, 6, 6, 0) + TEST (1, 6, 6, 0) + TEST (2, 6, 6, 0) + TEST (3, 6, 6, 0) + TEST (4, 6, 6, 0) + TEST (5, 6, 6, 0) + TEST (6, 6, 6, 0) + TEST (7, 6, 6, 0) + TEST (0, 7, 6, 0) + TEST (1, 7, 6, 0) + TEST (2, 7, 6, 0) + TEST (3, 7, 6, 0) + TEST (4, 7, 6, 0) + TEST (5, 7, 6, 0) + TEST (6, 7, 6, 0) + TEST (7, 7, 6, 0) + TEST (0, 0, 7, 0) + TEST (1, 0, 7, 0) + TEST (2, 0, 7, 0) + TEST (3, 0, 7, 0) + TEST (4, 0, 7, 0) + TEST (5, 0, 7, 0) + TEST (6, 0, 7, 0) + TEST (7, 0, 7, 0) + TEST (0, 1, 7, 0) + TEST (1, 1, 7, 0) + TEST (2, 1, 7, 0) + TEST (3, 1, 7, 0) + TEST (4, 1, 7, 0) + TEST (5, 1, 7, 0) + TEST (6, 1, 7, 0) + TEST (7, 1, 7, 0) + TEST (0, 2, 7, 0) + TEST (1, 2, 7, 0) + TEST (2, 2, 7, 0) + TEST (3, 2, 7, 0) + TEST (4, 2, 7, 0) + TEST (5, 2, 7, 0) + TEST (6, 2, 7, 0) + TEST (7, 2, 7, 0) + TEST (0, 3, 7, 0) + TEST (1, 3, 7, 0) + TEST (2, 3, 7, 0) + TEST (3, 3, 7, 0) + TEST (4, 3, 7, 0) + TEST (5, 3, 7, 0) + TEST (6, 3, 7, 0) + TEST (7, 3, 7, 0) + TEST (0, 4, 7, 0) + TEST (1, 4, 7, 0) + TEST (2, 4, 7, 0) + TEST (3, 4, 7, 0) + TEST (4, 4, 7, 0) + TEST (5, 4, 7, 0) + TEST (6, 4, 7, 0) + TEST (7, 4, 7, 0) + TEST (0, 5, 7, 0) + TEST (1, 5, 7, 0) + TEST (2, 5, 7, 0) + TEST (3, 5, 7, 0) + TEST (4, 5, 7, 0) + TEST (5, 5, 7, 0) + TEST (6, 5, 7, 0) + TEST (7, 5, 7, 0) + TEST (0, 6, 7, 0) + TEST (1, 6, 7, 0) + TEST (2, 6, 7, 0) + TEST (3, 6, 7, 0) + TEST (4, 6, 7, 0) + TEST (5, 6, 7, 0) + TEST (6, 6, 7, 0) + TEST (7, 6, 7, 0) + TEST (0, 7, 7, 0) + TEST (1, 7, 7, 0) + TEST (2, 7, 7, 0) + TEST (3, 7, 7, 0) + TEST (4, 7, 7, 0) + TEST (5, 7, 7, 0) + TEST (6, 7, 7, 0) + TEST (7, 7, 7, 0) +} + +void check4(void) +{ + TEST (0, 0, 0, 1) + TEST (1, 0, 0, 1) + TEST (2, 0, 0, 1) + TEST (3, 0, 0, 1) + TEST (4, 0, 0, 1) + TEST (5, 0, 0, 1) + TEST (6, 0, 0, 1) + TEST (7, 0, 0, 1) + TEST (0, 1, 0, 1) + TEST (1, 1, 0, 1) + TEST (2, 1, 0, 1) + TEST (3, 1, 0, 1) + TEST (4, 1, 0, 1) + TEST (5, 1, 0, 1) + TEST (6, 1, 0, 1) + TEST (7, 1, 0, 1) + TEST (0, 2, 0, 1) + TEST (1, 2, 0, 1) + TEST (2, 2, 0, 1) + TEST (3, 2, 0, 1) + TEST (4, 2, 0, 1) + TEST (5, 2, 0, 1) + TEST (6, 2, 0, 1) + TEST (7, 2, 0, 1) + TEST (0, 3, 0, 1) + TEST (1, 3, 0, 1) + TEST (2, 3, 0, 1) + TEST (3, 3, 0, 1) + TEST (4, 3, 0, 1) + TEST (5, 3, 0, 1) + TEST (6, 3, 0, 1) + TEST (7, 3, 0, 1) + TEST (0, 4, 0, 1) + TEST (1, 4, 0, 1) + TEST (2, 4, 0, 1) + TEST (3, 4, 0, 1) + TEST (4, 4, 0, 1) + TEST (5, 4, 0, 1) + TEST (6, 4, 0, 1) + TEST (7, 4, 0, 1) + TEST (0, 5, 0, 1) + TEST (1, 5, 0, 1) + TEST (2, 5, 0, 1) + TEST (3, 5, 0, 1) + TEST (4, 5, 0, 1) + TEST (5, 5, 0, 1) + TEST (6, 5, 0, 1) + TEST (7, 5, 0, 1) + TEST (0, 6, 0, 1) + TEST (1, 6, 0, 1) + TEST (2, 6, 0, 1) + TEST (3, 6, 0, 1) + TEST (4, 6, 0, 1) + TEST (5, 6, 0, 1) + TEST (6, 6, 0, 1) + TEST (7, 6, 0, 1) + TEST (0, 7, 0, 1) + TEST (1, 7, 0, 1) + TEST (2, 7, 0, 1) + TEST (3, 7, 0, 1) + TEST (4, 7, 0, 1) + TEST (5, 7, 0, 1) + TEST (6, 7, 0, 1) + TEST (7, 7, 0, 1) + TEST (0, 0, 1, 1) + TEST (1, 0, 1, 1) + TEST (2, 0, 1, 1) + TEST (3, 0, 1, 1) + TEST (4, 0, 1, 1) + TEST (5, 0, 1, 1) + TEST (6, 0, 1, 1) + TEST (7, 0, 1, 1) + TEST (0, 1, 1, 1) + TEST (1, 1, 1, 1) + TEST (2, 1, 1, 1) + TEST (3, 1, 1, 1) + TEST (4, 1, 1, 1) + TEST (5, 1, 1, 1) + TEST (6, 1, 1, 1) + TEST (7, 1, 1, 1) + TEST (0, 2, 1, 1) + TEST (1, 2, 1, 1) + TEST (2, 2, 1, 1) + TEST (3, 2, 1, 1) + TEST (4, 2, 1, 1) + TEST (5, 2, 1, 1) + TEST (6, 2, 1, 1) + TEST (7, 2, 1, 1) + TEST (0, 3, 1, 1) + TEST (1, 3, 1, 1) + TEST (2, 3, 1, 1) + TEST (3, 3, 1, 1) + TEST (4, 3, 1, 1) + TEST (5, 3, 1, 1) + TEST (6, 3, 1, 1) + TEST (7, 3, 1, 1) + TEST (0, 4, 1, 1) + TEST (1, 4, 1, 1) + TEST (2, 4, 1, 1) + TEST (3, 4, 1, 1) + TEST (4, 4, 1, 1) + TEST (5, 4, 1, 1) + TEST (6, 4, 1, 1) + TEST (7, 4, 1, 1) + TEST (0, 5, 1, 1) + TEST (1, 5, 1, 1) + TEST (2, 5, 1, 1) + TEST (3, 5, 1, 1) + TEST (4, 5, 1, 1) + TEST (5, 5, 1, 1) + TEST (6, 5, 1, 1) + TEST (7, 5, 1, 1) + TEST (0, 6, 1, 1) + TEST (1, 6, 1, 1) + TEST (2, 6, 1, 1) + TEST (3, 6, 1, 1) + TEST (4, 6, 1, 1) + TEST (5, 6, 1, 1) + TEST (6, 6, 1, 1) + TEST (7, 6, 1, 1) + TEST (0, 7, 1, 1) + TEST (1, 7, 1, 1) + TEST (2, 7, 1, 1) + TEST (3, 7, 1, 1) + TEST (4, 7, 1, 1) + TEST (5, 7, 1, 1) + TEST (6, 7, 1, 1) + TEST (7, 7, 1, 1) +} + +void check5(void) +{ + TEST (0, 0, 2, 1) + TEST (1, 0, 2, 1) + TEST (2, 0, 2, 1) + TEST (3, 0, 2, 1) + TEST (4, 0, 2, 1) + TEST (5, 0, 2, 1) + TEST (6, 0, 2, 1) + TEST (7, 0, 2, 1) + TEST (0, 1, 2, 1) + TEST (1, 1, 2, 1) + TEST (2, 1, 2, 1) + TEST (3, 1, 2, 1) + TEST (4, 1, 2, 1) + TEST (5, 1, 2, 1) + TEST (6, 1, 2, 1) + TEST (7, 1, 2, 1) + TEST (0, 2, 2, 1) + TEST (1, 2, 2, 1) + TEST (2, 2, 2, 1) + TEST (3, 2, 2, 1) + TEST (4, 2, 2, 1) + TEST (5, 2, 2, 1) + TEST (6, 2, 2, 1) + TEST (7, 2, 2, 1) + TEST (0, 3, 2, 1) + TEST (1, 3, 2, 1) + TEST (2, 3, 2, 1) + TEST (3, 3, 2, 1) + TEST (4, 3, 2, 1) + TEST (5, 3, 2, 1) + TEST (6, 3, 2, 1) + TEST (7, 3, 2, 1) + TEST (0, 4, 2, 1) + TEST (1, 4, 2, 1) + TEST (2, 4, 2, 1) + TEST (3, 4, 2, 1) + TEST (4, 4, 2, 1) + TEST (5, 4, 2, 1) + TEST (6, 4, 2, 1) + TEST (7, 4, 2, 1) + TEST (0, 5, 2, 1) + TEST (1, 5, 2, 1) + TEST (2, 5, 2, 1) + TEST (3, 5, 2, 1) + TEST (4, 5, 2, 1) + TEST (5, 5, 2, 1) + TEST (6, 5, 2, 1) + TEST (7, 5, 2, 1) + TEST (0, 6, 2, 1) + TEST (1, 6, 2, 1) + TEST (2, 6, 2, 1) + TEST (3, 6, 2, 1) + TEST (4, 6, 2, 1) + TEST (5, 6, 2, 1) + TEST (6, 6, 2, 1) + TEST (7, 6, 2, 1) + TEST (0, 7, 2, 1) + TEST (1, 7, 2, 1) + TEST (2, 7, 2, 1) + TEST (3, 7, 2, 1) + TEST (4, 7, 2, 1) + TEST (5, 7, 2, 1) + TEST (6, 7, 2, 1) + TEST (7, 7, 2, 1) + TEST (0, 0, 3, 1) + TEST (1, 0, 3, 1) + TEST (2, 0, 3, 1) + TEST (3, 0, 3, 1) + TEST (4, 0, 3, 1) + TEST (5, 0, 3, 1) + TEST (6, 0, 3, 1) + TEST (7, 0, 3, 1) + TEST (0, 1, 3, 1) + TEST (1, 1, 3, 1) + TEST (2, 1, 3, 1) + TEST (3, 1, 3, 1) + TEST (4, 1, 3, 1) + TEST (5, 1, 3, 1) + TEST (6, 1, 3, 1) + TEST (7, 1, 3, 1) + TEST (0, 2, 3, 1) + TEST (1, 2, 3, 1) + TEST (2, 2, 3, 1) + TEST (3, 2, 3, 1) + TEST (4, 2, 3, 1) + TEST (5, 2, 3, 1) + TEST (6, 2, 3, 1) + TEST (7, 2, 3, 1) + TEST (0, 3, 3, 1) + TEST (1, 3, 3, 1) + TEST (2, 3, 3, 1) + TEST (3, 3, 3, 1) + TEST (4, 3, 3, 1) + TEST (5, 3, 3, 1) + TEST (6, 3, 3, 1) + TEST (7, 3, 3, 1) + TEST (0, 4, 3, 1) + TEST (1, 4, 3, 1) + TEST (2, 4, 3, 1) + TEST (3, 4, 3, 1) + TEST (4, 4, 3, 1) + TEST (5, 4, 3, 1) + TEST (6, 4, 3, 1) + TEST (7, 4, 3, 1) + TEST (0, 5, 3, 1) + TEST (1, 5, 3, 1) + TEST (2, 5, 3, 1) + TEST (3, 5, 3, 1) + TEST (4, 5, 3, 1) + TEST (5, 5, 3, 1) + TEST (6, 5, 3, 1) + TEST (7, 5, 3, 1) + TEST (0, 6, 3, 1) + TEST (1, 6, 3, 1) + TEST (2, 6, 3, 1) + TEST (3, 6, 3, 1) + TEST (4, 6, 3, 1) + TEST (5, 6, 3, 1) + TEST (6, 6, 3, 1) + TEST (7, 6, 3, 1) + TEST (0, 7, 3, 1) + TEST (1, 7, 3, 1) + TEST (2, 7, 3, 1) + TEST (3, 7, 3, 1) + TEST (4, 7, 3, 1) + TEST (5, 7, 3, 1) + TEST (6, 7, 3, 1) + TEST (7, 7, 3, 1) +} + +void check6(void) +{ + TEST (0, 0, 4, 1) + TEST (1, 0, 4, 1) + TEST (2, 0, 4, 1) + TEST (3, 0, 4, 1) + TEST (4, 0, 4, 1) + TEST (5, 0, 4, 1) + TEST (6, 0, 4, 1) + TEST (7, 0, 4, 1) + TEST (0, 1, 4, 1) + TEST (1, 1, 4, 1) + TEST (2, 1, 4, 1) + TEST (3, 1, 4, 1) + TEST (4, 1, 4, 1) + TEST (5, 1, 4, 1) + TEST (6, 1, 4, 1) + TEST (7, 1, 4, 1) + TEST (0, 2, 4, 1) + TEST (1, 2, 4, 1) + TEST (2, 2, 4, 1) + TEST (3, 2, 4, 1) + TEST (4, 2, 4, 1) + TEST (5, 2, 4, 1) + TEST (6, 2, 4, 1) + TEST (7, 2, 4, 1) + TEST (0, 3, 4, 1) + TEST (1, 3, 4, 1) + TEST (2, 3, 4, 1) + TEST (3, 3, 4, 1) + TEST (4, 3, 4, 1) + TEST (5, 3, 4, 1) + TEST (6, 3, 4, 1) + TEST (7, 3, 4, 1) + TEST (0, 4, 4, 1) + TEST (1, 4, 4, 1) + TEST (2, 4, 4, 1) + TEST (3, 4, 4, 1) + TEST (4, 4, 4, 1) + TEST (5, 4, 4, 1) + TEST (6, 4, 4, 1) + TEST (7, 4, 4, 1) + TEST (0, 5, 4, 1) + TEST (1, 5, 4, 1) + TEST (2, 5, 4, 1) + TEST (3, 5, 4, 1) + TEST (4, 5, 4, 1) + TEST (5, 5, 4, 1) + TEST (6, 5, 4, 1) + TEST (7, 5, 4, 1) + TEST (0, 6, 4, 1) + TEST (1, 6, 4, 1) + TEST (2, 6, 4, 1) + TEST (3, 6, 4, 1) + TEST (4, 6, 4, 1) + TEST (5, 6, 4, 1) + TEST (6, 6, 4, 1) + TEST (7, 6, 4, 1) + TEST (0, 7, 4, 1) + TEST (1, 7, 4, 1) + TEST (2, 7, 4, 1) + TEST (3, 7, 4, 1) + TEST (4, 7, 4, 1) + TEST (5, 7, 4, 1) + TEST (6, 7, 4, 1) + TEST (7, 7, 4, 1) + TEST (0, 0, 5, 1) + TEST (1, 0, 5, 1) + TEST (2, 0, 5, 1) + TEST (3, 0, 5, 1) + TEST (4, 0, 5, 1) + TEST (5, 0, 5, 1) + TEST (6, 0, 5, 1) + TEST (7, 0, 5, 1) + TEST (0, 1, 5, 1) + TEST (1, 1, 5, 1) + TEST (2, 1, 5, 1) + TEST (3, 1, 5, 1) + TEST (4, 1, 5, 1) + TEST (5, 1, 5, 1) + TEST (6, 1, 5, 1) + TEST (7, 1, 5, 1) + TEST (0, 2, 5, 1) + TEST (1, 2, 5, 1) + TEST (2, 2, 5, 1) + TEST (3, 2, 5, 1) + TEST (4, 2, 5, 1) + TEST (5, 2, 5, 1) + TEST (6, 2, 5, 1) + TEST (7, 2, 5, 1) + TEST (0, 3, 5, 1) + TEST (1, 3, 5, 1) + TEST (2, 3, 5, 1) + TEST (3, 3, 5, 1) + TEST (4, 3, 5, 1) + TEST (5, 3, 5, 1) + TEST (6, 3, 5, 1) + TEST (7, 3, 5, 1) + TEST (0, 4, 5, 1) + TEST (1, 4, 5, 1) + TEST (2, 4, 5, 1) + TEST (3, 4, 5, 1) + TEST (4, 4, 5, 1) + TEST (5, 4, 5, 1) + TEST (6, 4, 5, 1) + TEST (7, 4, 5, 1) + TEST (0, 5, 5, 1) + TEST (1, 5, 5, 1) + TEST (2, 5, 5, 1) + TEST (3, 5, 5, 1) + TEST (4, 5, 5, 1) + TEST (5, 5, 5, 1) + TEST (6, 5, 5, 1) + TEST (7, 5, 5, 1) + TEST (0, 6, 5, 1) + TEST (1, 6, 5, 1) + TEST (2, 6, 5, 1) + TEST (3, 6, 5, 1) + TEST (4, 6, 5, 1) + TEST (5, 6, 5, 1) + TEST (6, 6, 5, 1) + TEST (7, 6, 5, 1) + TEST (0, 7, 5, 1) + TEST (1, 7, 5, 1) + TEST (2, 7, 5, 1) + TEST (3, 7, 5, 1) + TEST (4, 7, 5, 1) + TEST (5, 7, 5, 1) + TEST (6, 7, 5, 1) + TEST (7, 7, 5, 1) +} + +void check7(void) +{ + TEST (0, 0, 6, 1) + TEST (1, 0, 6, 1) + TEST (2, 0, 6, 1) + TEST (3, 0, 6, 1) + TEST (4, 0, 6, 1) + TEST (5, 0, 6, 1) + TEST (6, 0, 6, 1) + TEST (7, 0, 6, 1) + TEST (0, 1, 6, 1) + TEST (1, 1, 6, 1) + TEST (2, 1, 6, 1) + TEST (3, 1, 6, 1) + TEST (4, 1, 6, 1) + TEST (5, 1, 6, 1) + TEST (6, 1, 6, 1) + TEST (7, 1, 6, 1) + TEST (0, 2, 6, 1) + TEST (1, 2, 6, 1) + TEST (2, 2, 6, 1) + TEST (3, 2, 6, 1) + TEST (4, 2, 6, 1) + TEST (5, 2, 6, 1) + TEST (6, 2, 6, 1) + TEST (7, 2, 6, 1) + TEST (0, 3, 6, 1) + TEST (1, 3, 6, 1) + TEST (2, 3, 6, 1) + TEST (3, 3, 6, 1) + TEST (4, 3, 6, 1) + TEST (5, 3, 6, 1) + TEST (6, 3, 6, 1) + TEST (7, 3, 6, 1) + TEST (0, 4, 6, 1) + TEST (1, 4, 6, 1) + TEST (2, 4, 6, 1) + TEST (3, 4, 6, 1) + TEST (4, 4, 6, 1) + TEST (5, 4, 6, 1) + TEST (6, 4, 6, 1) + TEST (7, 4, 6, 1) + TEST (0, 5, 6, 1) + TEST (1, 5, 6, 1) + TEST (2, 5, 6, 1) + TEST (3, 5, 6, 1) + TEST (4, 5, 6, 1) + TEST (5, 5, 6, 1) + TEST (6, 5, 6, 1) + TEST (7, 5, 6, 1) + TEST (0, 6, 6, 1) + TEST (1, 6, 6, 1) + TEST (2, 6, 6, 1) + TEST (3, 6, 6, 1) + TEST (4, 6, 6, 1) + TEST (5, 6, 6, 1) + TEST (6, 6, 6, 1) + TEST (7, 6, 6, 1) + TEST (0, 7, 6, 1) + TEST (1, 7, 6, 1) + TEST (2, 7, 6, 1) + TEST (3, 7, 6, 1) + TEST (4, 7, 6, 1) + TEST (5, 7, 6, 1) + TEST (6, 7, 6, 1) + TEST (7, 7, 6, 1) + TEST (0, 0, 7, 1) + TEST (1, 0, 7, 1) + TEST (2, 0, 7, 1) + TEST (3, 0, 7, 1) + TEST (4, 0, 7, 1) + TEST (5, 0, 7, 1) + TEST (6, 0, 7, 1) + TEST (7, 0, 7, 1) + TEST (0, 1, 7, 1) + TEST (1, 1, 7, 1) + TEST (2, 1, 7, 1) + TEST (3, 1, 7, 1) + TEST (4, 1, 7, 1) + TEST (5, 1, 7, 1) + TEST (6, 1, 7, 1) + TEST (7, 1, 7, 1) + TEST (0, 2, 7, 1) + TEST (1, 2, 7, 1) + TEST (2, 2, 7, 1) + TEST (3, 2, 7, 1) + TEST (4, 2, 7, 1) + TEST (5, 2, 7, 1) + TEST (6, 2, 7, 1) + TEST (7, 2, 7, 1) + TEST (0, 3, 7, 1) + TEST (1, 3, 7, 1) + TEST (2, 3, 7, 1) + TEST (3, 3, 7, 1) + TEST (4, 3, 7, 1) + TEST (5, 3, 7, 1) + TEST (6, 3, 7, 1) + TEST (7, 3, 7, 1) + TEST (0, 4, 7, 1) + TEST (1, 4, 7, 1) + TEST (2, 4, 7, 1) + TEST (3, 4, 7, 1) + TEST (4, 4, 7, 1) + TEST (5, 4, 7, 1) + TEST (6, 4, 7, 1) + TEST (7, 4, 7, 1) + TEST (0, 5, 7, 1) + TEST (1, 5, 7, 1) + TEST (2, 5, 7, 1) + TEST (3, 5, 7, 1) + TEST (4, 5, 7, 1) + TEST (5, 5, 7, 1) + TEST (6, 5, 7, 1) + TEST (7, 5, 7, 1) + TEST (0, 6, 7, 1) + TEST (1, 6, 7, 1) + TEST (2, 6, 7, 1) + TEST (3, 6, 7, 1) + TEST (4, 6, 7, 1) + TEST (5, 6, 7, 1) + TEST (6, 6, 7, 1) + TEST (7, 6, 7, 1) + TEST (0, 7, 7, 1) + TEST (1, 7, 7, 1) + TEST (2, 7, 7, 1) + TEST (3, 7, 7, 1) + TEST (4, 7, 7, 1) + TEST (5, 7, 7, 1) + TEST (6, 7, 7, 1) + TEST (7, 7, 7, 1) +} + +void check8(void) +{ + TEST (0, 0, 0, 2) + TEST (1, 0, 0, 2) + TEST (2, 0, 0, 2) + TEST (3, 0, 0, 2) + TEST (4, 0, 0, 2) + TEST (5, 0, 0, 2) + TEST (6, 0, 0, 2) + TEST (7, 0, 0, 2) + TEST (0, 1, 0, 2) + TEST (1, 1, 0, 2) + TEST (2, 1, 0, 2) + TEST (3, 1, 0, 2) + TEST (4, 1, 0, 2) + TEST (5, 1, 0, 2) + TEST (6, 1, 0, 2) + TEST (7, 1, 0, 2) + TEST (0, 2, 0, 2) + TEST (1, 2, 0, 2) + TEST (2, 2, 0, 2) + TEST (3, 2, 0, 2) + TEST (4, 2, 0, 2) + TEST (5, 2, 0, 2) + TEST (6, 2, 0, 2) + TEST (7, 2, 0, 2) + TEST (0, 3, 0, 2) + TEST (1, 3, 0, 2) + TEST (2, 3, 0, 2) + TEST (3, 3, 0, 2) + TEST (4, 3, 0, 2) + TEST (5, 3, 0, 2) + TEST (6, 3, 0, 2) + TEST (7, 3, 0, 2) + TEST (0, 4, 0, 2) + TEST (1, 4, 0, 2) + TEST (2, 4, 0, 2) + TEST (3, 4, 0, 2) + TEST (4, 4, 0, 2) + TEST (5, 4, 0, 2) + TEST (6, 4, 0, 2) + TEST (7, 4, 0, 2) + TEST (0, 5, 0, 2) + TEST (1, 5, 0, 2) + TEST (2, 5, 0, 2) + TEST (3, 5, 0, 2) + TEST (4, 5, 0, 2) + TEST (5, 5, 0, 2) + TEST (6, 5, 0, 2) + TEST (7, 5, 0, 2) + TEST (0, 6, 0, 2) + TEST (1, 6, 0, 2) + TEST (2, 6, 0, 2) + TEST (3, 6, 0, 2) + TEST (4, 6, 0, 2) + TEST (5, 6, 0, 2) + TEST (6, 6, 0, 2) + TEST (7, 6, 0, 2) + TEST (0, 7, 0, 2) + TEST (1, 7, 0, 2) + TEST (2, 7, 0, 2) + TEST (3, 7, 0, 2) + TEST (4, 7, 0, 2) + TEST (5, 7, 0, 2) + TEST (6, 7, 0, 2) + TEST (7, 7, 0, 2) + TEST (0, 0, 1, 2) + TEST (1, 0, 1, 2) + TEST (2, 0, 1, 2) + TEST (3, 0, 1, 2) + TEST (4, 0, 1, 2) + TEST (5, 0, 1, 2) + TEST (6, 0, 1, 2) + TEST (7, 0, 1, 2) + TEST (0, 1, 1, 2) + TEST (1, 1, 1, 2) + TEST (2, 1, 1, 2) + TEST (3, 1, 1, 2) + TEST (4, 1, 1, 2) + TEST (5, 1, 1, 2) + TEST (6, 1, 1, 2) + TEST (7, 1, 1, 2) + TEST (0, 2, 1, 2) + TEST (1, 2, 1, 2) + TEST (2, 2, 1, 2) + TEST (3, 2, 1, 2) + TEST (4, 2, 1, 2) + TEST (5, 2, 1, 2) + TEST (6, 2, 1, 2) + TEST (7, 2, 1, 2) + TEST (0, 3, 1, 2) + TEST (1, 3, 1, 2) + TEST (2, 3, 1, 2) + TEST (3, 3, 1, 2) + TEST (4, 3, 1, 2) + TEST (5, 3, 1, 2) + TEST (6, 3, 1, 2) + TEST (7, 3, 1, 2) + TEST (0, 4, 1, 2) + TEST (1, 4, 1, 2) + TEST (2, 4, 1, 2) + TEST (3, 4, 1, 2) + TEST (4, 4, 1, 2) + TEST (5, 4, 1, 2) + TEST (6, 4, 1, 2) + TEST (7, 4, 1, 2) + TEST (0, 5, 1, 2) + TEST (1, 5, 1, 2) + TEST (2, 5, 1, 2) + TEST (3, 5, 1, 2) + TEST (4, 5, 1, 2) + TEST (5, 5, 1, 2) + TEST (6, 5, 1, 2) + TEST (7, 5, 1, 2) + TEST (0, 6, 1, 2) + TEST (1, 6, 1, 2) + TEST (2, 6, 1, 2) + TEST (3, 6, 1, 2) + TEST (4, 6, 1, 2) + TEST (5, 6, 1, 2) + TEST (6, 6, 1, 2) + TEST (7, 6, 1, 2) + TEST (0, 7, 1, 2) + TEST (1, 7, 1, 2) + TEST (2, 7, 1, 2) + TEST (3, 7, 1, 2) + TEST (4, 7, 1, 2) + TEST (5, 7, 1, 2) + TEST (6, 7, 1, 2) + TEST (7, 7, 1, 2) +} + +void check9(void) +{ + TEST (0, 0, 2, 2) + TEST (1, 0, 2, 2) + TEST (2, 0, 2, 2) + TEST (3, 0, 2, 2) + TEST (4, 0, 2, 2) + TEST (5, 0, 2, 2) + TEST (6, 0, 2, 2) + TEST (7, 0, 2, 2) + TEST (0, 1, 2, 2) + TEST (1, 1, 2, 2) + TEST (2, 1, 2, 2) + TEST (3, 1, 2, 2) + TEST (4, 1, 2, 2) + TEST (5, 1, 2, 2) + TEST (6, 1, 2, 2) + TEST (7, 1, 2, 2) + TEST (0, 2, 2, 2) + TEST (1, 2, 2, 2) + TEST (2, 2, 2, 2) + TEST (3, 2, 2, 2) + TEST (4, 2, 2, 2) + TEST (5, 2, 2, 2) + TEST (6, 2, 2, 2) + TEST (7, 2, 2, 2) + TEST (0, 3, 2, 2) + TEST (1, 3, 2, 2) + TEST (2, 3, 2, 2) + TEST (3, 3, 2, 2) + TEST (4, 3, 2, 2) + TEST (5, 3, 2, 2) + TEST (6, 3, 2, 2) + TEST (7, 3, 2, 2) + TEST (0, 4, 2, 2) + TEST (1, 4, 2, 2) + TEST (2, 4, 2, 2) + TEST (3, 4, 2, 2) + TEST (4, 4, 2, 2) + TEST (5, 4, 2, 2) + TEST (6, 4, 2, 2) + TEST (7, 4, 2, 2) + TEST (0, 5, 2, 2) + TEST (1, 5, 2, 2) + TEST (2, 5, 2, 2) + TEST (3, 5, 2, 2) + TEST (4, 5, 2, 2) + TEST (5, 5, 2, 2) + TEST (6, 5, 2, 2) + TEST (7, 5, 2, 2) + TEST (0, 6, 2, 2) + TEST (1, 6, 2, 2) + TEST (2, 6, 2, 2) + TEST (3, 6, 2, 2) + TEST (4, 6, 2, 2) + TEST (5, 6, 2, 2) + TEST (6, 6, 2, 2) + TEST (7, 6, 2, 2) + TEST (0, 7, 2, 2) + TEST (1, 7, 2, 2) + TEST (2, 7, 2, 2) + TEST (3, 7, 2, 2) + TEST (4, 7, 2, 2) + TEST (5, 7, 2, 2) + TEST (6, 7, 2, 2) + TEST (7, 7, 2, 2) + TEST (0, 0, 3, 2) + TEST (1, 0, 3, 2) + TEST (2, 0, 3, 2) + TEST (3, 0, 3, 2) + TEST (4, 0, 3, 2) + TEST (5, 0, 3, 2) + TEST (6, 0, 3, 2) + TEST (7, 0, 3, 2) + TEST (0, 1, 3, 2) + TEST (1, 1, 3, 2) + TEST (2, 1, 3, 2) + TEST (3, 1, 3, 2) + TEST (4, 1, 3, 2) + TEST (5, 1, 3, 2) + TEST (6, 1, 3, 2) + TEST (7, 1, 3, 2) + TEST (0, 2, 3, 2) + TEST (1, 2, 3, 2) + TEST (2, 2, 3, 2) + TEST (3, 2, 3, 2) + TEST (4, 2, 3, 2) + TEST (5, 2, 3, 2) + TEST (6, 2, 3, 2) + TEST (7, 2, 3, 2) + TEST (0, 3, 3, 2) + TEST (1, 3, 3, 2) + TEST (2, 3, 3, 2) + TEST (3, 3, 3, 2) + TEST (4, 3, 3, 2) + TEST (5, 3, 3, 2) + TEST (6, 3, 3, 2) + TEST (7, 3, 3, 2) + TEST (0, 4, 3, 2) + TEST (1, 4, 3, 2) + TEST (2, 4, 3, 2) + TEST (3, 4, 3, 2) + TEST (4, 4, 3, 2) + TEST (5, 4, 3, 2) + TEST (6, 4, 3, 2) + TEST (7, 4, 3, 2) + TEST (0, 5, 3, 2) + TEST (1, 5, 3, 2) + TEST (2, 5, 3, 2) + TEST (3, 5, 3, 2) + TEST (4, 5, 3, 2) + TEST (5, 5, 3, 2) + TEST (6, 5, 3, 2) + TEST (7, 5, 3, 2) + TEST (0, 6, 3, 2) + TEST (1, 6, 3, 2) + TEST (2, 6, 3, 2) + TEST (3, 6, 3, 2) + TEST (4, 6, 3, 2) + TEST (5, 6, 3, 2) + TEST (6, 6, 3, 2) + TEST (7, 6, 3, 2) + TEST (0, 7, 3, 2) + TEST (1, 7, 3, 2) + TEST (2, 7, 3, 2) + TEST (3, 7, 3, 2) + TEST (4, 7, 3, 2) + TEST (5, 7, 3, 2) + TEST (6, 7, 3, 2) + TEST (7, 7, 3, 2) +} + +void check10(void) +{ + TEST (0, 0, 4, 2) + TEST (1, 0, 4, 2) + TEST (2, 0, 4, 2) + TEST (3, 0, 4, 2) + TEST (4, 0, 4, 2) + TEST (5, 0, 4, 2) + TEST (6, 0, 4, 2) + TEST (7, 0, 4, 2) + TEST (0, 1, 4, 2) + TEST (1, 1, 4, 2) + TEST (2, 1, 4, 2) + TEST (3, 1, 4, 2) + TEST (4, 1, 4, 2) + TEST (5, 1, 4, 2) + TEST (6, 1, 4, 2) + TEST (7, 1, 4, 2) + TEST (0, 2, 4, 2) + TEST (1, 2, 4, 2) + TEST (2, 2, 4, 2) + TEST (3, 2, 4, 2) + TEST (4, 2, 4, 2) + TEST (5, 2, 4, 2) + TEST (6, 2, 4, 2) + TEST (7, 2, 4, 2) + TEST (0, 3, 4, 2) + TEST (1, 3, 4, 2) + TEST (2, 3, 4, 2) + TEST (3, 3, 4, 2) + TEST (4, 3, 4, 2) + TEST (5, 3, 4, 2) + TEST (6, 3, 4, 2) + TEST (7, 3, 4, 2) + TEST (0, 4, 4, 2) + TEST (1, 4, 4, 2) + TEST (2, 4, 4, 2) + TEST (3, 4, 4, 2) + TEST (4, 4, 4, 2) + TEST (5, 4, 4, 2) + TEST (6, 4, 4, 2) + TEST (7, 4, 4, 2) + TEST (0, 5, 4, 2) + TEST (1, 5, 4, 2) + TEST (2, 5, 4, 2) + TEST (3, 5, 4, 2) + TEST (4, 5, 4, 2) + TEST (5, 5, 4, 2) + TEST (6, 5, 4, 2) + TEST (7, 5, 4, 2) + TEST (0, 6, 4, 2) + TEST (1, 6, 4, 2) + TEST (2, 6, 4, 2) + TEST (3, 6, 4, 2) + TEST (4, 6, 4, 2) + TEST (5, 6, 4, 2) + TEST (6, 6, 4, 2) + TEST (7, 6, 4, 2) + TEST (0, 7, 4, 2) + TEST (1, 7, 4, 2) + TEST (2, 7, 4, 2) + TEST (3, 7, 4, 2) + TEST (4, 7, 4, 2) + TEST (5, 7, 4, 2) + TEST (6, 7, 4, 2) + TEST (7, 7, 4, 2) + TEST (0, 0, 5, 2) + TEST (1, 0, 5, 2) + TEST (2, 0, 5, 2) + TEST (3, 0, 5, 2) + TEST (4, 0, 5, 2) + TEST (5, 0, 5, 2) + TEST (6, 0, 5, 2) + TEST (7, 0, 5, 2) + TEST (0, 1, 5, 2) + TEST (1, 1, 5, 2) + TEST (2, 1, 5, 2) + TEST (3, 1, 5, 2) + TEST (4, 1, 5, 2) + TEST (5, 1, 5, 2) + TEST (6, 1, 5, 2) + TEST (7, 1, 5, 2) + TEST (0, 2, 5, 2) + TEST (1, 2, 5, 2) + TEST (2, 2, 5, 2) + TEST (3, 2, 5, 2) + TEST (4, 2, 5, 2) + TEST (5, 2, 5, 2) + TEST (6, 2, 5, 2) + TEST (7, 2, 5, 2) + TEST (0, 3, 5, 2) + TEST (1, 3, 5, 2) + TEST (2, 3, 5, 2) + TEST (3, 3, 5, 2) + TEST (4, 3, 5, 2) + TEST (5, 3, 5, 2) + TEST (6, 3, 5, 2) + TEST (7, 3, 5, 2) + TEST (0, 4, 5, 2) + TEST (1, 4, 5, 2) + TEST (2, 4, 5, 2) + TEST (3, 4, 5, 2) + TEST (4, 4, 5, 2) + TEST (5, 4, 5, 2) + TEST (6, 4, 5, 2) + TEST (7, 4, 5, 2) + TEST (0, 5, 5, 2) + TEST (1, 5, 5, 2) + TEST (2, 5, 5, 2) + TEST (3, 5, 5, 2) + TEST (4, 5, 5, 2) + TEST (5, 5, 5, 2) + TEST (6, 5, 5, 2) + TEST (7, 5, 5, 2) + TEST (0, 6, 5, 2) + TEST (1, 6, 5, 2) + TEST (2, 6, 5, 2) + TEST (3, 6, 5, 2) + TEST (4, 6, 5, 2) + TEST (5, 6, 5, 2) + TEST (6, 6, 5, 2) + TEST (7, 6, 5, 2) + TEST (0, 7, 5, 2) + TEST (1, 7, 5, 2) + TEST (2, 7, 5, 2) + TEST (3, 7, 5, 2) + TEST (4, 7, 5, 2) + TEST (5, 7, 5, 2) + TEST (6, 7, 5, 2) + TEST (7, 7, 5, 2) +} + +void check11(void) +{ + TEST (0, 0, 6, 2) + TEST (1, 0, 6, 2) + TEST (2, 0, 6, 2) + TEST (3, 0, 6, 2) + TEST (4, 0, 6, 2) + TEST (5, 0, 6, 2) + TEST (6, 0, 6, 2) + TEST (7, 0, 6, 2) + TEST (0, 1, 6, 2) + TEST (1, 1, 6, 2) + TEST (2, 1, 6, 2) + TEST (3, 1, 6, 2) + TEST (4, 1, 6, 2) + TEST (5, 1, 6, 2) + TEST (6, 1, 6, 2) + TEST (7, 1, 6, 2) + TEST (0, 2, 6, 2) + TEST (1, 2, 6, 2) + TEST (2, 2, 6, 2) + TEST (3, 2, 6, 2) + TEST (4, 2, 6, 2) + TEST (5, 2, 6, 2) + TEST (6, 2, 6, 2) + TEST (7, 2, 6, 2) + TEST (0, 3, 6, 2) + TEST (1, 3, 6, 2) + TEST (2, 3, 6, 2) + TEST (3, 3, 6, 2) + TEST (4, 3, 6, 2) + TEST (5, 3, 6, 2) + TEST (6, 3, 6, 2) + TEST (7, 3, 6, 2) + TEST (0, 4, 6, 2) + TEST (1, 4, 6, 2) + TEST (2, 4, 6, 2) + TEST (3, 4, 6, 2) + TEST (4, 4, 6, 2) + TEST (5, 4, 6, 2) + TEST (6, 4, 6, 2) + TEST (7, 4, 6, 2) + TEST (0, 5, 6, 2) + TEST (1, 5, 6, 2) + TEST (2, 5, 6, 2) + TEST (3, 5, 6, 2) + TEST (4, 5, 6, 2) + TEST (5, 5, 6, 2) + TEST (6, 5, 6, 2) + TEST (7, 5, 6, 2) + TEST (0, 6, 6, 2) + TEST (1, 6, 6, 2) + TEST (2, 6, 6, 2) + TEST (3, 6, 6, 2) + TEST (4, 6, 6, 2) + TEST (5, 6, 6, 2) + TEST (6, 6, 6, 2) + TEST (7, 6, 6, 2) + TEST (0, 7, 6, 2) + TEST (1, 7, 6, 2) + TEST (2, 7, 6, 2) + TEST (3, 7, 6, 2) + TEST (4, 7, 6, 2) + TEST (5, 7, 6, 2) + TEST (6, 7, 6, 2) + TEST (7, 7, 6, 2) + TEST (0, 0, 7, 2) + TEST (1, 0, 7, 2) + TEST (2, 0, 7, 2) + TEST (3, 0, 7, 2) + TEST (4, 0, 7, 2) + TEST (5, 0, 7, 2) + TEST (6, 0, 7, 2) + TEST (7, 0, 7, 2) + TEST (0, 1, 7, 2) + TEST (1, 1, 7, 2) + TEST (2, 1, 7, 2) + TEST (3, 1, 7, 2) + TEST (4, 1, 7, 2) + TEST (5, 1, 7, 2) + TEST (6, 1, 7, 2) + TEST (7, 1, 7, 2) + TEST (0, 2, 7, 2) + TEST (1, 2, 7, 2) + TEST (2, 2, 7, 2) + TEST (3, 2, 7, 2) + TEST (4, 2, 7, 2) + TEST (5, 2, 7, 2) + TEST (6, 2, 7, 2) + TEST (7, 2, 7, 2) + TEST (0, 3, 7, 2) + TEST (1, 3, 7, 2) + TEST (2, 3, 7, 2) + TEST (3, 3, 7, 2) + TEST (4, 3, 7, 2) + TEST (5, 3, 7, 2) + TEST (6, 3, 7, 2) + TEST (7, 3, 7, 2) + TEST (0, 4, 7, 2) + TEST (1, 4, 7, 2) + TEST (2, 4, 7, 2) + TEST (3, 4, 7, 2) + TEST (4, 4, 7, 2) + TEST (5, 4, 7, 2) + TEST (6, 4, 7, 2) + TEST (7, 4, 7, 2) + TEST (0, 5, 7, 2) + TEST (1, 5, 7, 2) + TEST (2, 5, 7, 2) + TEST (3, 5, 7, 2) + TEST (4, 5, 7, 2) + TEST (5, 5, 7, 2) + TEST (6, 5, 7, 2) + TEST (7, 5, 7, 2) + TEST (0, 6, 7, 2) + TEST (1, 6, 7, 2) + TEST (2, 6, 7, 2) + TEST (3, 6, 7, 2) + TEST (4, 6, 7, 2) + TEST (5, 6, 7, 2) + TEST (6, 6, 7, 2) + TEST (7, 6, 7, 2) + TEST (0, 7, 7, 2) + TEST (1, 7, 7, 2) + TEST (2, 7, 7, 2) + TEST (3, 7, 7, 2) + TEST (4, 7, 7, 2) + TEST (5, 7, 7, 2) + TEST (6, 7, 7, 2) + TEST (7, 7, 7, 2) +} + +void check12(void) +{ + TEST (0, 0, 0, 3) + TEST (1, 0, 0, 3) + TEST (2, 0, 0, 3) + TEST (3, 0, 0, 3) + TEST (4, 0, 0, 3) + TEST (5, 0, 0, 3) + TEST (6, 0, 0, 3) + TEST (7, 0, 0, 3) + TEST (0, 1, 0, 3) + TEST (1, 1, 0, 3) + TEST (2, 1, 0, 3) + TEST (3, 1, 0, 3) + TEST (4, 1, 0, 3) + TEST (5, 1, 0, 3) + TEST (6, 1, 0, 3) + TEST (7, 1, 0, 3) + TEST (0, 2, 0, 3) + TEST (1, 2, 0, 3) + TEST (2, 2, 0, 3) + TEST (3, 2, 0, 3) + TEST (4, 2, 0, 3) + TEST (5, 2, 0, 3) + TEST (6, 2, 0, 3) + TEST (7, 2, 0, 3) + TEST (0, 3, 0, 3) + TEST (1, 3, 0, 3) + TEST (2, 3, 0, 3) + TEST (3, 3, 0, 3) + TEST (4, 3, 0, 3) + TEST (5, 3, 0, 3) + TEST (6, 3, 0, 3) + TEST (7, 3, 0, 3) + TEST (0, 4, 0, 3) + TEST (1, 4, 0, 3) + TEST (2, 4, 0, 3) + TEST (3, 4, 0, 3) + TEST (4, 4, 0, 3) + TEST (5, 4, 0, 3) + TEST (6, 4, 0, 3) + TEST (7, 4, 0, 3) + TEST (0, 5, 0, 3) + TEST (1, 5, 0, 3) + TEST (2, 5, 0, 3) + TEST (3, 5, 0, 3) + TEST (4, 5, 0, 3) + TEST (5, 5, 0, 3) + TEST (6, 5, 0, 3) + TEST (7, 5, 0, 3) + TEST (0, 6, 0, 3) + TEST (1, 6, 0, 3) + TEST (2, 6, 0, 3) + TEST (3, 6, 0, 3) + TEST (4, 6, 0, 3) + TEST (5, 6, 0, 3) + TEST (6, 6, 0, 3) + TEST (7, 6, 0, 3) + TEST (0, 7, 0, 3) + TEST (1, 7, 0, 3) + TEST (2, 7, 0, 3) + TEST (3, 7, 0, 3) + TEST (4, 7, 0, 3) + TEST (5, 7, 0, 3) + TEST (6, 7, 0, 3) + TEST (7, 7, 0, 3) + TEST (0, 0, 1, 3) + TEST (1, 0, 1, 3) + TEST (2, 0, 1, 3) + TEST (3, 0, 1, 3) + TEST (4, 0, 1, 3) + TEST (5, 0, 1, 3) + TEST (6, 0, 1, 3) + TEST (7, 0, 1, 3) + TEST (0, 1, 1, 3) + TEST (1, 1, 1, 3) + TEST (2, 1, 1, 3) + TEST (3, 1, 1, 3) + TEST (4, 1, 1, 3) + TEST (5, 1, 1, 3) + TEST (6, 1, 1, 3) + TEST (7, 1, 1, 3) + TEST (0, 2, 1, 3) + TEST (1, 2, 1, 3) + TEST (2, 2, 1, 3) + TEST (3, 2, 1, 3) + TEST (4, 2, 1, 3) + TEST (5, 2, 1, 3) + TEST (6, 2, 1, 3) + TEST (7, 2, 1, 3) + TEST (0, 3, 1, 3) + TEST (1, 3, 1, 3) + TEST (2, 3, 1, 3) + TEST (3, 3, 1, 3) + TEST (4, 3, 1, 3) + TEST (5, 3, 1, 3) + TEST (6, 3, 1, 3) + TEST (7, 3, 1, 3) + TEST (0, 4, 1, 3) + TEST (1, 4, 1, 3) + TEST (2, 4, 1, 3) + TEST (3, 4, 1, 3) + TEST (4, 4, 1, 3) + TEST (5, 4, 1, 3) + TEST (6, 4, 1, 3) + TEST (7, 4, 1, 3) + TEST (0, 5, 1, 3) + TEST (1, 5, 1, 3) + TEST (2, 5, 1, 3) + TEST (3, 5, 1, 3) + TEST (4, 5, 1, 3) + TEST (5, 5, 1, 3) + TEST (6, 5, 1, 3) + TEST (7, 5, 1, 3) + TEST (0, 6, 1, 3) + TEST (1, 6, 1, 3) + TEST (2, 6, 1, 3) + TEST (3, 6, 1, 3) + TEST (4, 6, 1, 3) + TEST (5, 6, 1, 3) + TEST (6, 6, 1, 3) + TEST (7, 6, 1, 3) + TEST (0, 7, 1, 3) + TEST (1, 7, 1, 3) + TEST (2, 7, 1, 3) + TEST (3, 7, 1, 3) + TEST (4, 7, 1, 3) + TEST (5, 7, 1, 3) + TEST (6, 7, 1, 3) + TEST (7, 7, 1, 3) +} + +void check13(void) +{ + TEST (0, 0, 2, 3) + TEST (1, 0, 2, 3) + TEST (2, 0, 2, 3) + TEST (3, 0, 2, 3) + TEST (4, 0, 2, 3) + TEST (5, 0, 2, 3) + TEST (6, 0, 2, 3) + TEST (7, 0, 2, 3) + TEST (0, 1, 2, 3) + TEST (1, 1, 2, 3) + TEST (2, 1, 2, 3) + TEST (3, 1, 2, 3) + TEST (4, 1, 2, 3) + TEST (5, 1, 2, 3) + TEST (6, 1, 2, 3) + TEST (7, 1, 2, 3) + TEST (0, 2, 2, 3) + TEST (1, 2, 2, 3) + TEST (2, 2, 2, 3) + TEST (3, 2, 2, 3) + TEST (4, 2, 2, 3) + TEST (5, 2, 2, 3) + TEST (6, 2, 2, 3) + TEST (7, 2, 2, 3) + TEST (0, 3, 2, 3) + TEST (1, 3, 2, 3) + TEST (2, 3, 2, 3) + TEST (3, 3, 2, 3) + TEST (4, 3, 2, 3) + TEST (5, 3, 2, 3) + TEST (6, 3, 2, 3) + TEST (7, 3, 2, 3) + TEST (0, 4, 2, 3) + TEST (1, 4, 2, 3) + TEST (2, 4, 2, 3) + TEST (3, 4, 2, 3) + TEST (4, 4, 2, 3) + TEST (5, 4, 2, 3) + TEST (6, 4, 2, 3) + TEST (7, 4, 2, 3) + TEST (0, 5, 2, 3) + TEST (1, 5, 2, 3) + TEST (2, 5, 2, 3) + TEST (3, 5, 2, 3) + TEST (4, 5, 2, 3) + TEST (5, 5, 2, 3) + TEST (6, 5, 2, 3) + TEST (7, 5, 2, 3) + TEST (0, 6, 2, 3) + TEST (1, 6, 2, 3) + TEST (2, 6, 2, 3) + TEST (3, 6, 2, 3) + TEST (4, 6, 2, 3) + TEST (5, 6, 2, 3) + TEST (6, 6, 2, 3) + TEST (7, 6, 2, 3) + TEST (0, 7, 2, 3) + TEST (1, 7, 2, 3) + TEST (2, 7, 2, 3) + TEST (3, 7, 2, 3) + TEST (4, 7, 2, 3) + TEST (5, 7, 2, 3) + TEST (6, 7, 2, 3) + TEST (7, 7, 2, 3) + TEST (0, 0, 3, 3) + TEST (1, 0, 3, 3) + TEST (2, 0, 3, 3) + TEST (3, 0, 3, 3) + TEST (4, 0, 3, 3) + TEST (5, 0, 3, 3) + TEST (6, 0, 3, 3) + TEST (7, 0, 3, 3) + TEST (0, 1, 3, 3) + TEST (1, 1, 3, 3) + TEST (2, 1, 3, 3) + TEST (3, 1, 3, 3) + TEST (4, 1, 3, 3) + TEST (5, 1, 3, 3) + TEST (6, 1, 3, 3) + TEST (7, 1, 3, 3) + TEST (0, 2, 3, 3) + TEST (1, 2, 3, 3) + TEST (2, 2, 3, 3) + TEST (3, 2, 3, 3) + TEST (4, 2, 3, 3) + TEST (5, 2, 3, 3) + TEST (6, 2, 3, 3) + TEST (7, 2, 3, 3) + TEST (0, 3, 3, 3) + TEST (1, 3, 3, 3) + TEST (2, 3, 3, 3) + TEST (3, 3, 3, 3) + TEST (4, 3, 3, 3) + TEST (5, 3, 3, 3) + TEST (6, 3, 3, 3) + TEST (7, 3, 3, 3) + TEST (0, 4, 3, 3) + TEST (1, 4, 3, 3) + TEST (2, 4, 3, 3) + TEST (3, 4, 3, 3) + TEST (4, 4, 3, 3) + TEST (5, 4, 3, 3) + TEST (6, 4, 3, 3) + TEST (7, 4, 3, 3) + TEST (0, 5, 3, 3) + TEST (1, 5, 3, 3) + TEST (2, 5, 3, 3) + TEST (3, 5, 3, 3) + TEST (4, 5, 3, 3) + TEST (5, 5, 3, 3) + TEST (6, 5, 3, 3) + TEST (7, 5, 3, 3) + TEST (0, 6, 3, 3) + TEST (1, 6, 3, 3) + TEST (2, 6, 3, 3) + TEST (3, 6, 3, 3) + TEST (4, 6, 3, 3) + TEST (5, 6, 3, 3) + TEST (6, 6, 3, 3) + TEST (7, 6, 3, 3) + TEST (0, 7, 3, 3) + TEST (1, 7, 3, 3) + TEST (2, 7, 3, 3) + TEST (3, 7, 3, 3) + TEST (4, 7, 3, 3) + TEST (5, 7, 3, 3) + TEST (6, 7, 3, 3) + TEST (7, 7, 3, 3) +} + +void check14(void) +{ + TEST (0, 0, 4, 3) + TEST (1, 0, 4, 3) + TEST (2, 0, 4, 3) + TEST (3, 0, 4, 3) + TEST (4, 0, 4, 3) + TEST (5, 0, 4, 3) + TEST (6, 0, 4, 3) + TEST (7, 0, 4, 3) + TEST (0, 1, 4, 3) + TEST (1, 1, 4, 3) + TEST (2, 1, 4, 3) + TEST (3, 1, 4, 3) + TEST (4, 1, 4, 3) + TEST (5, 1, 4, 3) + TEST (6, 1, 4, 3) + TEST (7, 1, 4, 3) + TEST (0, 2, 4, 3) + TEST (1, 2, 4, 3) + TEST (2, 2, 4, 3) + TEST (3, 2, 4, 3) + TEST (4, 2, 4, 3) + TEST (5, 2, 4, 3) + TEST (6, 2, 4, 3) + TEST (7, 2, 4, 3) + TEST (0, 3, 4, 3) + TEST (1, 3, 4, 3) + TEST (2, 3, 4, 3) + TEST (3, 3, 4, 3) + TEST (4, 3, 4, 3) + TEST (5, 3, 4, 3) + TEST (6, 3, 4, 3) + TEST (7, 3, 4, 3) + TEST (0, 4, 4, 3) + TEST (1, 4, 4, 3) + TEST (2, 4, 4, 3) + TEST (3, 4, 4, 3) + TEST (4, 4, 4, 3) + TEST (5, 4, 4, 3) + TEST (6, 4, 4, 3) + TEST (7, 4, 4, 3) + TEST (0, 5, 4, 3) + TEST (1, 5, 4, 3) + TEST (2, 5, 4, 3) + TEST (3, 5, 4, 3) + TEST (4, 5, 4, 3) + TEST (5, 5, 4, 3) + TEST (6, 5, 4, 3) + TEST (7, 5, 4, 3) + TEST (0, 6, 4, 3) + TEST (1, 6, 4, 3) + TEST (2, 6, 4, 3) + TEST (3, 6, 4, 3) + TEST (4, 6, 4, 3) + TEST (5, 6, 4, 3) + TEST (6, 6, 4, 3) + TEST (7, 6, 4, 3) + TEST (0, 7, 4, 3) + TEST (1, 7, 4, 3) + TEST (2, 7, 4, 3) + TEST (3, 7, 4, 3) + TEST (4, 7, 4, 3) + TEST (5, 7, 4, 3) + TEST (6, 7, 4, 3) + TEST (7, 7, 4, 3) + TEST (0, 0, 5, 3) + TEST (1, 0, 5, 3) + TEST (2, 0, 5, 3) + TEST (3, 0, 5, 3) + TEST (4, 0, 5, 3) + TEST (5, 0, 5, 3) + TEST (6, 0, 5, 3) + TEST (7, 0, 5, 3) + TEST (0, 1, 5, 3) + TEST (1, 1, 5, 3) + TEST (2, 1, 5, 3) + TEST (3, 1, 5, 3) + TEST (4, 1, 5, 3) + TEST (5, 1, 5, 3) + TEST (6, 1, 5, 3) + TEST (7, 1, 5, 3) + TEST (0, 2, 5, 3) + TEST (1, 2, 5, 3) + TEST (2, 2, 5, 3) + TEST (3, 2, 5, 3) + TEST (4, 2, 5, 3) + TEST (5, 2, 5, 3) + TEST (6, 2, 5, 3) + TEST (7, 2, 5, 3) + TEST (0, 3, 5, 3) + TEST (1, 3, 5, 3) + TEST (2, 3, 5, 3) + TEST (3, 3, 5, 3) + TEST (4, 3, 5, 3) + TEST (5, 3, 5, 3) + TEST (6, 3, 5, 3) + TEST (7, 3, 5, 3) + TEST (0, 4, 5, 3) + TEST (1, 4, 5, 3) + TEST (2, 4, 5, 3) + TEST (3, 4, 5, 3) + TEST (4, 4, 5, 3) + TEST (5, 4, 5, 3) + TEST (6, 4, 5, 3) + TEST (7, 4, 5, 3) + TEST (0, 5, 5, 3) + TEST (1, 5, 5, 3) + TEST (2, 5, 5, 3) + TEST (3, 5, 5, 3) + TEST (4, 5, 5, 3) + TEST (5, 5, 5, 3) + TEST (6, 5, 5, 3) + TEST (7, 5, 5, 3) + TEST (0, 6, 5, 3) + TEST (1, 6, 5, 3) + TEST (2, 6, 5, 3) + TEST (3, 6, 5, 3) + TEST (4, 6, 5, 3) + TEST (5, 6, 5, 3) + TEST (6, 6, 5, 3) + TEST (7, 6, 5, 3) + TEST (0, 7, 5, 3) + TEST (1, 7, 5, 3) + TEST (2, 7, 5, 3) + TEST (3, 7, 5, 3) + TEST (4, 7, 5, 3) + TEST (5, 7, 5, 3) + TEST (6, 7, 5, 3) + TEST (7, 7, 5, 3) +} + +void check15(void) +{ + TEST (0, 0, 6, 3) + TEST (1, 0, 6, 3) + TEST (2, 0, 6, 3) + TEST (3, 0, 6, 3) + TEST (4, 0, 6, 3) + TEST (5, 0, 6, 3) + TEST (6, 0, 6, 3) + TEST (7, 0, 6, 3) + TEST (0, 1, 6, 3) + TEST (1, 1, 6, 3) + TEST (2, 1, 6, 3) + TEST (3, 1, 6, 3) + TEST (4, 1, 6, 3) + TEST (5, 1, 6, 3) + TEST (6, 1, 6, 3) + TEST (7, 1, 6, 3) + TEST (0, 2, 6, 3) + TEST (1, 2, 6, 3) + TEST (2, 2, 6, 3) + TEST (3, 2, 6, 3) + TEST (4, 2, 6, 3) + TEST (5, 2, 6, 3) + TEST (6, 2, 6, 3) + TEST (7, 2, 6, 3) + TEST (0, 3, 6, 3) + TEST (1, 3, 6, 3) + TEST (2, 3, 6, 3) + TEST (3, 3, 6, 3) + TEST (4, 3, 6, 3) + TEST (5, 3, 6, 3) + TEST (6, 3, 6, 3) + TEST (7, 3, 6, 3) + TEST (0, 4, 6, 3) + TEST (1, 4, 6, 3) + TEST (2, 4, 6, 3) + TEST (3, 4, 6, 3) + TEST (4, 4, 6, 3) + TEST (5, 4, 6, 3) + TEST (6, 4, 6, 3) + TEST (7, 4, 6, 3) + TEST (0, 5, 6, 3) + TEST (1, 5, 6, 3) + TEST (2, 5, 6, 3) + TEST (3, 5, 6, 3) + TEST (4, 5, 6, 3) + TEST (5, 5, 6, 3) + TEST (6, 5, 6, 3) + TEST (7, 5, 6, 3) + TEST (0, 6, 6, 3) + TEST (1, 6, 6, 3) + TEST (2, 6, 6, 3) + TEST (3, 6, 6, 3) + TEST (4, 6, 6, 3) + TEST (5, 6, 6, 3) + TEST (6, 6, 6, 3) + TEST (7, 6, 6, 3) + TEST (0, 7, 6, 3) + TEST (1, 7, 6, 3) + TEST (2, 7, 6, 3) + TEST (3, 7, 6, 3) + TEST (4, 7, 6, 3) + TEST (5, 7, 6, 3) + TEST (6, 7, 6, 3) + TEST (7, 7, 6, 3) + TEST (0, 0, 7, 3) + TEST (1, 0, 7, 3) + TEST (2, 0, 7, 3) + TEST (3, 0, 7, 3) + TEST (4, 0, 7, 3) + TEST (5, 0, 7, 3) + TEST (6, 0, 7, 3) + TEST (7, 0, 7, 3) + TEST (0, 1, 7, 3) + TEST (1, 1, 7, 3) + TEST (2, 1, 7, 3) + TEST (3, 1, 7, 3) + TEST (4, 1, 7, 3) + TEST (5, 1, 7, 3) + TEST (6, 1, 7, 3) + TEST (7, 1, 7, 3) + TEST (0, 2, 7, 3) + TEST (1, 2, 7, 3) + TEST (2, 2, 7, 3) + TEST (3, 2, 7, 3) + TEST (4, 2, 7, 3) + TEST (5, 2, 7, 3) + TEST (6, 2, 7, 3) + TEST (7, 2, 7, 3) + TEST (0, 3, 7, 3) + TEST (1, 3, 7, 3) + TEST (2, 3, 7, 3) + TEST (3, 3, 7, 3) + TEST (4, 3, 7, 3) + TEST (5, 3, 7, 3) + TEST (6, 3, 7, 3) + TEST (7, 3, 7, 3) + TEST (0, 4, 7, 3) + TEST (1, 4, 7, 3) + TEST (2, 4, 7, 3) + TEST (3, 4, 7, 3) + TEST (4, 4, 7, 3) + TEST (5, 4, 7, 3) + TEST (6, 4, 7, 3) + TEST (7, 4, 7, 3) + TEST (0, 5, 7, 3) + TEST (1, 5, 7, 3) + TEST (2, 5, 7, 3) + TEST (3, 5, 7, 3) + TEST (4, 5, 7, 3) + TEST (5, 5, 7, 3) + TEST (6, 5, 7, 3) + TEST (7, 5, 7, 3) + TEST (0, 6, 7, 3) + TEST (1, 6, 7, 3) + TEST (2, 6, 7, 3) + TEST (3, 6, 7, 3) + TEST (4, 6, 7, 3) + TEST (5, 6, 7, 3) + TEST (6, 6, 7, 3) + TEST (7, 6, 7, 3) + TEST (0, 7, 7, 3) + TEST (1, 7, 7, 3) + TEST (2, 7, 7, 3) + TEST (3, 7, 7, 3) + TEST (4, 7, 7, 3) + TEST (5, 7, 7, 3) + TEST (6, 7, 7, 3) + TEST (7, 7, 7, 3) +} + +void check16(void) +{ + TEST (0, 0, 0, 4) + TEST (1, 0, 0, 4) + TEST (2, 0, 0, 4) + TEST (3, 0, 0, 4) + TEST (4, 0, 0, 4) + TEST (5, 0, 0, 4) + TEST (6, 0, 0, 4) + TEST (7, 0, 0, 4) + TEST (0, 1, 0, 4) + TEST (1, 1, 0, 4) + TEST (2, 1, 0, 4) + TEST (3, 1, 0, 4) + TEST (4, 1, 0, 4) + TEST (5, 1, 0, 4) + TEST (6, 1, 0, 4) + TEST (7, 1, 0, 4) + TEST (0, 2, 0, 4) + TEST (1, 2, 0, 4) + TEST (2, 2, 0, 4) + TEST (3, 2, 0, 4) + TEST (4, 2, 0, 4) + TEST (5, 2, 0, 4) + TEST (6, 2, 0, 4) + TEST (7, 2, 0, 4) + TEST (0, 3, 0, 4) + TEST (1, 3, 0, 4) + TEST (2, 3, 0, 4) + TEST (3, 3, 0, 4) + TEST (4, 3, 0, 4) + TEST (5, 3, 0, 4) + TEST (6, 3, 0, 4) + TEST (7, 3, 0, 4) + TEST (0, 4, 0, 4) + TEST (1, 4, 0, 4) + TEST (2, 4, 0, 4) + TEST (3, 4, 0, 4) + TEST (4, 4, 0, 4) + TEST (5, 4, 0, 4) + TEST (6, 4, 0, 4) + TEST (7, 4, 0, 4) + TEST (0, 5, 0, 4) + TEST (1, 5, 0, 4) + TEST (2, 5, 0, 4) + TEST (3, 5, 0, 4) + TEST (4, 5, 0, 4) + TEST (5, 5, 0, 4) + TEST (6, 5, 0, 4) + TEST (7, 5, 0, 4) + TEST (0, 6, 0, 4) + TEST (1, 6, 0, 4) + TEST (2, 6, 0, 4) + TEST (3, 6, 0, 4) + TEST (4, 6, 0, 4) + TEST (5, 6, 0, 4) + TEST (6, 6, 0, 4) + TEST (7, 6, 0, 4) + TEST (0, 7, 0, 4) + TEST (1, 7, 0, 4) + TEST (2, 7, 0, 4) + TEST (3, 7, 0, 4) + TEST (4, 7, 0, 4) + TEST (5, 7, 0, 4) + TEST (6, 7, 0, 4) + TEST (7, 7, 0, 4) + TEST (0, 0, 1, 4) + TEST (1, 0, 1, 4) + TEST (2, 0, 1, 4) + TEST (3, 0, 1, 4) + TEST (4, 0, 1, 4) + TEST (5, 0, 1, 4) + TEST (6, 0, 1, 4) + TEST (7, 0, 1, 4) + TEST (0, 1, 1, 4) + TEST (1, 1, 1, 4) + TEST (2, 1, 1, 4) + TEST (3, 1, 1, 4) + TEST (4, 1, 1, 4) + TEST (5, 1, 1, 4) + TEST (6, 1, 1, 4) + TEST (7, 1, 1, 4) + TEST (0, 2, 1, 4) + TEST (1, 2, 1, 4) + TEST (2, 2, 1, 4) + TEST (3, 2, 1, 4) + TEST (4, 2, 1, 4) + TEST (5, 2, 1, 4) + TEST (6, 2, 1, 4) + TEST (7, 2, 1, 4) + TEST (0, 3, 1, 4) + TEST (1, 3, 1, 4) + TEST (2, 3, 1, 4) + TEST (3, 3, 1, 4) + TEST (4, 3, 1, 4) + TEST (5, 3, 1, 4) + TEST (6, 3, 1, 4) + TEST (7, 3, 1, 4) + TEST (0, 4, 1, 4) + TEST (1, 4, 1, 4) + TEST (2, 4, 1, 4) + TEST (3, 4, 1, 4) + TEST (4, 4, 1, 4) + TEST (5, 4, 1, 4) + TEST (6, 4, 1, 4) + TEST (7, 4, 1, 4) + TEST (0, 5, 1, 4) + TEST (1, 5, 1, 4) + TEST (2, 5, 1, 4) + TEST (3, 5, 1, 4) + TEST (4, 5, 1, 4) + TEST (5, 5, 1, 4) + TEST (6, 5, 1, 4) + TEST (7, 5, 1, 4) + TEST (0, 6, 1, 4) + TEST (1, 6, 1, 4) + TEST (2, 6, 1, 4) + TEST (3, 6, 1, 4) + TEST (4, 6, 1, 4) + TEST (5, 6, 1, 4) + TEST (6, 6, 1, 4) + TEST (7, 6, 1, 4) + TEST (0, 7, 1, 4) + TEST (1, 7, 1, 4) + TEST (2, 7, 1, 4) + TEST (3, 7, 1, 4) + TEST (4, 7, 1, 4) + TEST (5, 7, 1, 4) + TEST (6, 7, 1, 4) + TEST (7, 7, 1, 4) +} + +void check17(void) +{ + TEST (0, 0, 2, 4) + TEST (1, 0, 2, 4) + TEST (2, 0, 2, 4) + TEST (3, 0, 2, 4) + TEST (4, 0, 2, 4) + TEST (5, 0, 2, 4) + TEST (6, 0, 2, 4) + TEST (7, 0, 2, 4) + TEST (0, 1, 2, 4) + TEST (1, 1, 2, 4) + TEST (2, 1, 2, 4) + TEST (3, 1, 2, 4) + TEST (4, 1, 2, 4) + TEST (5, 1, 2, 4) + TEST (6, 1, 2, 4) + TEST (7, 1, 2, 4) + TEST (0, 2, 2, 4) + TEST (1, 2, 2, 4) + TEST (2, 2, 2, 4) + TEST (3, 2, 2, 4) + TEST (4, 2, 2, 4) + TEST (5, 2, 2, 4) + TEST (6, 2, 2, 4) + TEST (7, 2, 2, 4) + TEST (0, 3, 2, 4) + TEST (1, 3, 2, 4) + TEST (2, 3, 2, 4) + TEST (3, 3, 2, 4) + TEST (4, 3, 2, 4) + TEST (5, 3, 2, 4) + TEST (6, 3, 2, 4) + TEST (7, 3, 2, 4) + TEST (0, 4, 2, 4) + TEST (1, 4, 2, 4) + TEST (2, 4, 2, 4) + TEST (3, 4, 2, 4) + TEST (4, 4, 2, 4) + TEST (5, 4, 2, 4) + TEST (6, 4, 2, 4) + TEST (7, 4, 2, 4) + TEST (0, 5, 2, 4) + TEST (1, 5, 2, 4) + TEST (2, 5, 2, 4) + TEST (3, 5, 2, 4) + TEST (4, 5, 2, 4) + TEST (5, 5, 2, 4) + TEST (6, 5, 2, 4) + TEST (7, 5, 2, 4) + TEST (0, 6, 2, 4) + TEST (1, 6, 2, 4) + TEST (2, 6, 2, 4) + TEST (3, 6, 2, 4) + TEST (4, 6, 2, 4) + TEST (5, 6, 2, 4) + TEST (6, 6, 2, 4) + TEST (7, 6, 2, 4) + TEST (0, 7, 2, 4) + TEST (1, 7, 2, 4) + TEST (2, 7, 2, 4) + TEST (3, 7, 2, 4) + TEST (4, 7, 2, 4) + TEST (5, 7, 2, 4) + TEST (6, 7, 2, 4) + TEST (7, 7, 2, 4) + TEST (0, 0, 3, 4) + TEST (1, 0, 3, 4) + TEST (2, 0, 3, 4) + TEST (3, 0, 3, 4) + TEST (4, 0, 3, 4) + TEST (5, 0, 3, 4) + TEST (6, 0, 3, 4) + TEST (7, 0, 3, 4) + TEST (0, 1, 3, 4) + TEST (1, 1, 3, 4) + TEST (2, 1, 3, 4) + TEST (3, 1, 3, 4) + TEST (4, 1, 3, 4) + TEST (5, 1, 3, 4) + TEST (6, 1, 3, 4) + TEST (7, 1, 3, 4) + TEST (0, 2, 3, 4) + TEST (1, 2, 3, 4) + TEST (2, 2, 3, 4) + TEST (3, 2, 3, 4) + TEST (4, 2, 3, 4) + TEST (5, 2, 3, 4) + TEST (6, 2, 3, 4) + TEST (7, 2, 3, 4) + TEST (0, 3, 3, 4) + TEST (1, 3, 3, 4) + TEST (2, 3, 3, 4) + TEST (3, 3, 3, 4) + TEST (4, 3, 3, 4) + TEST (5, 3, 3, 4) + TEST (6, 3, 3, 4) + TEST (7, 3, 3, 4) + TEST (0, 4, 3, 4) + TEST (1, 4, 3, 4) + TEST (2, 4, 3, 4) + TEST (3, 4, 3, 4) + TEST (4, 4, 3, 4) + TEST (5, 4, 3, 4) + TEST (6, 4, 3, 4) + TEST (7, 4, 3, 4) + TEST (0, 5, 3, 4) + TEST (1, 5, 3, 4) + TEST (2, 5, 3, 4) + TEST (3, 5, 3, 4) + TEST (4, 5, 3, 4) + TEST (5, 5, 3, 4) + TEST (6, 5, 3, 4) + TEST (7, 5, 3, 4) + TEST (0, 6, 3, 4) + TEST (1, 6, 3, 4) + TEST (2, 6, 3, 4) + TEST (3, 6, 3, 4) + TEST (4, 6, 3, 4) + TEST (5, 6, 3, 4) + TEST (6, 6, 3, 4) + TEST (7, 6, 3, 4) + TEST (0, 7, 3, 4) + TEST (1, 7, 3, 4) + TEST (2, 7, 3, 4) + TEST (3, 7, 3, 4) + TEST (4, 7, 3, 4) + TEST (5, 7, 3, 4) + TEST (6, 7, 3, 4) + TEST (7, 7, 3, 4) +} + +void check18(void) +{ + TEST (0, 0, 4, 4) + TEST (1, 0, 4, 4) + TEST (2, 0, 4, 4) + TEST (3, 0, 4, 4) + TEST (4, 0, 4, 4) + TEST (5, 0, 4, 4) + TEST (6, 0, 4, 4) + TEST (7, 0, 4, 4) + TEST (0, 1, 4, 4) + TEST (1, 1, 4, 4) + TEST (2, 1, 4, 4) + TEST (3, 1, 4, 4) + TEST (4, 1, 4, 4) + TEST (5, 1, 4, 4) + TEST (6, 1, 4, 4) + TEST (7, 1, 4, 4) + TEST (0, 2, 4, 4) + TEST (1, 2, 4, 4) + TEST (2, 2, 4, 4) + TEST (3, 2, 4, 4) + TEST (4, 2, 4, 4) + TEST (5, 2, 4, 4) + TEST (6, 2, 4, 4) + TEST (7, 2, 4, 4) + TEST (0, 3, 4, 4) + TEST (1, 3, 4, 4) + TEST (2, 3, 4, 4) + TEST (3, 3, 4, 4) + TEST (4, 3, 4, 4) + TEST (5, 3, 4, 4) + TEST (6, 3, 4, 4) + TEST (7, 3, 4, 4) + TEST (0, 4, 4, 4) + TEST (1, 4, 4, 4) + TEST (2, 4, 4, 4) + TEST (3, 4, 4, 4) + TEST (4, 4, 4, 4) + TEST (5, 4, 4, 4) + TEST (6, 4, 4, 4) + TEST (7, 4, 4, 4) + TEST (0, 5, 4, 4) + TEST (1, 5, 4, 4) + TEST (2, 5, 4, 4) + TEST (3, 5, 4, 4) + TEST (4, 5, 4, 4) + TEST (5, 5, 4, 4) + TEST (6, 5, 4, 4) + TEST (7, 5, 4, 4) + TEST (0, 6, 4, 4) + TEST (1, 6, 4, 4) + TEST (2, 6, 4, 4) + TEST (3, 6, 4, 4) + TEST (4, 6, 4, 4) + TEST (5, 6, 4, 4) + TEST (6, 6, 4, 4) + TEST (7, 6, 4, 4) + TEST (0, 7, 4, 4) + TEST (1, 7, 4, 4) + TEST (2, 7, 4, 4) + TEST (3, 7, 4, 4) + TEST (4, 7, 4, 4) + TEST (5, 7, 4, 4) + TEST (6, 7, 4, 4) + TEST (7, 7, 4, 4) + TEST (0, 0, 5, 4) + TEST (1, 0, 5, 4) + TEST (2, 0, 5, 4) + TEST (3, 0, 5, 4) + TEST (4, 0, 5, 4) + TEST (5, 0, 5, 4) + TEST (6, 0, 5, 4) + TEST (7, 0, 5, 4) + TEST (0, 1, 5, 4) + TEST (1, 1, 5, 4) + TEST (2, 1, 5, 4) + TEST (3, 1, 5, 4) + TEST (4, 1, 5, 4) + TEST (5, 1, 5, 4) + TEST (6, 1, 5, 4) + TEST (7, 1, 5, 4) + TEST (0, 2, 5, 4) + TEST (1, 2, 5, 4) + TEST (2, 2, 5, 4) + TEST (3, 2, 5, 4) + TEST (4, 2, 5, 4) + TEST (5, 2, 5, 4) + TEST (6, 2, 5, 4) + TEST (7, 2, 5, 4) + TEST (0, 3, 5, 4) + TEST (1, 3, 5, 4) + TEST (2, 3, 5, 4) + TEST (3, 3, 5, 4) + TEST (4, 3, 5, 4) + TEST (5, 3, 5, 4) + TEST (6, 3, 5, 4) + TEST (7, 3, 5, 4) + TEST (0, 4, 5, 4) + TEST (1, 4, 5, 4) + TEST (2, 4, 5, 4) + TEST (3, 4, 5, 4) + TEST (4, 4, 5, 4) + TEST (5, 4, 5, 4) + TEST (6, 4, 5, 4) + TEST (7, 4, 5, 4) + TEST (0, 5, 5, 4) + TEST (1, 5, 5, 4) + TEST (2, 5, 5, 4) + TEST (3, 5, 5, 4) + TEST (4, 5, 5, 4) + TEST (5, 5, 5, 4) + TEST (6, 5, 5, 4) + TEST (7, 5, 5, 4) + TEST (0, 6, 5, 4) + TEST (1, 6, 5, 4) + TEST (2, 6, 5, 4) + TEST (3, 6, 5, 4) + TEST (4, 6, 5, 4) + TEST (5, 6, 5, 4) + TEST (6, 6, 5, 4) + TEST (7, 6, 5, 4) + TEST (0, 7, 5, 4) + TEST (1, 7, 5, 4) + TEST (2, 7, 5, 4) + TEST (3, 7, 5, 4) + TEST (4, 7, 5, 4) + TEST (5, 7, 5, 4) + TEST (6, 7, 5, 4) + TEST (7, 7, 5, 4) +} + +void check19(void) +{ + TEST (0, 0, 6, 4) + TEST (1, 0, 6, 4) + TEST (2, 0, 6, 4) + TEST (3, 0, 6, 4) + TEST (4, 0, 6, 4) + TEST (5, 0, 6, 4) + TEST (6, 0, 6, 4) + TEST (7, 0, 6, 4) + TEST (0, 1, 6, 4) + TEST (1, 1, 6, 4) + TEST (2, 1, 6, 4) + TEST (3, 1, 6, 4) + TEST (4, 1, 6, 4) + TEST (5, 1, 6, 4) + TEST (6, 1, 6, 4) + TEST (7, 1, 6, 4) + TEST (0, 2, 6, 4) + TEST (1, 2, 6, 4) + TEST (2, 2, 6, 4) + TEST (3, 2, 6, 4) + TEST (4, 2, 6, 4) + TEST (5, 2, 6, 4) + TEST (6, 2, 6, 4) + TEST (7, 2, 6, 4) + TEST (0, 3, 6, 4) + TEST (1, 3, 6, 4) + TEST (2, 3, 6, 4) + TEST (3, 3, 6, 4) + TEST (4, 3, 6, 4) + TEST (5, 3, 6, 4) + TEST (6, 3, 6, 4) + TEST (7, 3, 6, 4) + TEST (0, 4, 6, 4) + TEST (1, 4, 6, 4) + TEST (2, 4, 6, 4) + TEST (3, 4, 6, 4) + TEST (4, 4, 6, 4) + TEST (5, 4, 6, 4) + TEST (6, 4, 6, 4) + TEST (7, 4, 6, 4) + TEST (0, 5, 6, 4) + TEST (1, 5, 6, 4) + TEST (2, 5, 6, 4) + TEST (3, 5, 6, 4) + TEST (4, 5, 6, 4) + TEST (5, 5, 6, 4) + TEST (6, 5, 6, 4) + TEST (7, 5, 6, 4) + TEST (0, 6, 6, 4) + TEST (1, 6, 6, 4) + TEST (2, 6, 6, 4) + TEST (3, 6, 6, 4) + TEST (4, 6, 6, 4) + TEST (5, 6, 6, 4) + TEST (6, 6, 6, 4) + TEST (7, 6, 6, 4) + TEST (0, 7, 6, 4) + TEST (1, 7, 6, 4) + TEST (2, 7, 6, 4) + TEST (3, 7, 6, 4) + TEST (4, 7, 6, 4) + TEST (5, 7, 6, 4) + TEST (6, 7, 6, 4) + TEST (7, 7, 6, 4) + TEST (0, 0, 7, 4) + TEST (1, 0, 7, 4) + TEST (2, 0, 7, 4) + TEST (3, 0, 7, 4) + TEST (4, 0, 7, 4) + TEST (5, 0, 7, 4) + TEST (6, 0, 7, 4) + TEST (7, 0, 7, 4) + TEST (0, 1, 7, 4) + TEST (1, 1, 7, 4) + TEST (2, 1, 7, 4) + TEST (3, 1, 7, 4) + TEST (4, 1, 7, 4) + TEST (5, 1, 7, 4) + TEST (6, 1, 7, 4) + TEST (7, 1, 7, 4) + TEST (0, 2, 7, 4) + TEST (1, 2, 7, 4) + TEST (2, 2, 7, 4) + TEST (3, 2, 7, 4) + TEST (4, 2, 7, 4) + TEST (5, 2, 7, 4) + TEST (6, 2, 7, 4) + TEST (7, 2, 7, 4) + TEST (0, 3, 7, 4) + TEST (1, 3, 7, 4) + TEST (2, 3, 7, 4) + TEST (3, 3, 7, 4) + TEST (4, 3, 7, 4) + TEST (5, 3, 7, 4) + TEST (6, 3, 7, 4) + TEST (7, 3, 7, 4) + TEST (0, 4, 7, 4) + TEST (1, 4, 7, 4) + TEST (2, 4, 7, 4) + TEST (3, 4, 7, 4) + TEST (4, 4, 7, 4) + TEST (5, 4, 7, 4) + TEST (6, 4, 7, 4) + TEST (7, 4, 7, 4) + TEST (0, 5, 7, 4) + TEST (1, 5, 7, 4) + TEST (2, 5, 7, 4) + TEST (3, 5, 7, 4) + TEST (4, 5, 7, 4) + TEST (5, 5, 7, 4) + TEST (6, 5, 7, 4) + TEST (7, 5, 7, 4) + TEST (0, 6, 7, 4) + TEST (1, 6, 7, 4) + TEST (2, 6, 7, 4) + TEST (3, 6, 7, 4) + TEST (4, 6, 7, 4) + TEST (5, 6, 7, 4) + TEST (6, 6, 7, 4) + TEST (7, 6, 7, 4) + TEST (0, 7, 7, 4) + TEST (1, 7, 7, 4) + TEST (2, 7, 7, 4) + TEST (3, 7, 7, 4) + TEST (4, 7, 7, 4) + TEST (5, 7, 7, 4) + TEST (6, 7, 7, 4) + TEST (7, 7, 7, 4) +} + +void check20(void) +{ + TEST (0, 0, 0, 5) + TEST (1, 0, 0, 5) + TEST (2, 0, 0, 5) + TEST (3, 0, 0, 5) + TEST (4, 0, 0, 5) + TEST (5, 0, 0, 5) + TEST (6, 0, 0, 5) + TEST (7, 0, 0, 5) + TEST (0, 1, 0, 5) + TEST (1, 1, 0, 5) + TEST (2, 1, 0, 5) + TEST (3, 1, 0, 5) + TEST (4, 1, 0, 5) + TEST (5, 1, 0, 5) + TEST (6, 1, 0, 5) + TEST (7, 1, 0, 5) + TEST (0, 2, 0, 5) + TEST (1, 2, 0, 5) + TEST (2, 2, 0, 5) + TEST (3, 2, 0, 5) + TEST (4, 2, 0, 5) + TEST (5, 2, 0, 5) + TEST (6, 2, 0, 5) + TEST (7, 2, 0, 5) + TEST (0, 3, 0, 5) + TEST (1, 3, 0, 5) + TEST (2, 3, 0, 5) + TEST (3, 3, 0, 5) + TEST (4, 3, 0, 5) + TEST (5, 3, 0, 5) + TEST (6, 3, 0, 5) + TEST (7, 3, 0, 5) + TEST (0, 4, 0, 5) + TEST (1, 4, 0, 5) + TEST (2, 4, 0, 5) + TEST (3, 4, 0, 5) + TEST (4, 4, 0, 5) + TEST (5, 4, 0, 5) + TEST (6, 4, 0, 5) + TEST (7, 4, 0, 5) + TEST (0, 5, 0, 5) + TEST (1, 5, 0, 5) + TEST (2, 5, 0, 5) + TEST (3, 5, 0, 5) + TEST (4, 5, 0, 5) + TEST (5, 5, 0, 5) + TEST (6, 5, 0, 5) + TEST (7, 5, 0, 5) + TEST (0, 6, 0, 5) + TEST (1, 6, 0, 5) + TEST (2, 6, 0, 5) + TEST (3, 6, 0, 5) + TEST (4, 6, 0, 5) + TEST (5, 6, 0, 5) + TEST (6, 6, 0, 5) + TEST (7, 6, 0, 5) + TEST (0, 7, 0, 5) + TEST (1, 7, 0, 5) + TEST (2, 7, 0, 5) + TEST (3, 7, 0, 5) + TEST (4, 7, 0, 5) + TEST (5, 7, 0, 5) + TEST (6, 7, 0, 5) + TEST (7, 7, 0, 5) + TEST (0, 0, 1, 5) + TEST (1, 0, 1, 5) + TEST (2, 0, 1, 5) + TEST (3, 0, 1, 5) + TEST (4, 0, 1, 5) + TEST (5, 0, 1, 5) + TEST (6, 0, 1, 5) + TEST (7, 0, 1, 5) + TEST (0, 1, 1, 5) + TEST (1, 1, 1, 5) + TEST (2, 1, 1, 5) + TEST (3, 1, 1, 5) + TEST (4, 1, 1, 5) + TEST (5, 1, 1, 5) + TEST (6, 1, 1, 5) + TEST (7, 1, 1, 5) + TEST (0, 2, 1, 5) + TEST (1, 2, 1, 5) + TEST (2, 2, 1, 5) + TEST (3, 2, 1, 5) + TEST (4, 2, 1, 5) + TEST (5, 2, 1, 5) + TEST (6, 2, 1, 5) + TEST (7, 2, 1, 5) + TEST (0, 3, 1, 5) + TEST (1, 3, 1, 5) + TEST (2, 3, 1, 5) + TEST (3, 3, 1, 5) + TEST (4, 3, 1, 5) + TEST (5, 3, 1, 5) + TEST (6, 3, 1, 5) + TEST (7, 3, 1, 5) + TEST (0, 4, 1, 5) + TEST (1, 4, 1, 5) + TEST (2, 4, 1, 5) + TEST (3, 4, 1, 5) + TEST (4, 4, 1, 5) + TEST (5, 4, 1, 5) + TEST (6, 4, 1, 5) + TEST (7, 4, 1, 5) + TEST (0, 5, 1, 5) + TEST (1, 5, 1, 5) + TEST (2, 5, 1, 5) + TEST (3, 5, 1, 5) + TEST (4, 5, 1, 5) + TEST (5, 5, 1, 5) + TEST (6, 5, 1, 5) + TEST (7, 5, 1, 5) + TEST (0, 6, 1, 5) + TEST (1, 6, 1, 5) + TEST (2, 6, 1, 5) + TEST (3, 6, 1, 5) + TEST (4, 6, 1, 5) + TEST (5, 6, 1, 5) + TEST (6, 6, 1, 5) + TEST (7, 6, 1, 5) + TEST (0, 7, 1, 5) + TEST (1, 7, 1, 5) + TEST (2, 7, 1, 5) + TEST (3, 7, 1, 5) + TEST (4, 7, 1, 5) + TEST (5, 7, 1, 5) + TEST (6, 7, 1, 5) + TEST (7, 7, 1, 5) +} + +void check21(void) +{ + TEST (0, 0, 2, 5) + TEST (1, 0, 2, 5) + TEST (2, 0, 2, 5) + TEST (3, 0, 2, 5) + TEST (4, 0, 2, 5) + TEST (5, 0, 2, 5) + TEST (6, 0, 2, 5) + TEST (7, 0, 2, 5) + TEST (0, 1, 2, 5) + TEST (1, 1, 2, 5) + TEST (2, 1, 2, 5) + TEST (3, 1, 2, 5) + TEST (4, 1, 2, 5) + TEST (5, 1, 2, 5) + TEST (6, 1, 2, 5) + TEST (7, 1, 2, 5) + TEST (0, 2, 2, 5) + TEST (1, 2, 2, 5) + TEST (2, 2, 2, 5) + TEST (3, 2, 2, 5) + TEST (4, 2, 2, 5) + TEST (5, 2, 2, 5) + TEST (6, 2, 2, 5) + TEST (7, 2, 2, 5) + TEST (0, 3, 2, 5) + TEST (1, 3, 2, 5) + TEST (2, 3, 2, 5) + TEST (3, 3, 2, 5) + TEST (4, 3, 2, 5) + TEST (5, 3, 2, 5) + TEST (6, 3, 2, 5) + TEST (7, 3, 2, 5) + TEST (0, 4, 2, 5) + TEST (1, 4, 2, 5) + TEST (2, 4, 2, 5) + TEST (3, 4, 2, 5) + TEST (4, 4, 2, 5) + TEST (5, 4, 2, 5) + TEST (6, 4, 2, 5) + TEST (7, 4, 2, 5) + TEST (0, 5, 2, 5) + TEST (1, 5, 2, 5) + TEST (2, 5, 2, 5) + TEST (3, 5, 2, 5) + TEST (4, 5, 2, 5) + TEST (5, 5, 2, 5) + TEST (6, 5, 2, 5) + TEST (7, 5, 2, 5) + TEST (0, 6, 2, 5) + TEST (1, 6, 2, 5) + TEST (2, 6, 2, 5) + TEST (3, 6, 2, 5) + TEST (4, 6, 2, 5) + TEST (5, 6, 2, 5) + TEST (6, 6, 2, 5) + TEST (7, 6, 2, 5) + TEST (0, 7, 2, 5) + TEST (1, 7, 2, 5) + TEST (2, 7, 2, 5) + TEST (3, 7, 2, 5) + TEST (4, 7, 2, 5) + TEST (5, 7, 2, 5) + TEST (6, 7, 2, 5) + TEST (7, 7, 2, 5) + TEST (0, 0, 3, 5) + TEST (1, 0, 3, 5) + TEST (2, 0, 3, 5) + TEST (3, 0, 3, 5) + TEST (4, 0, 3, 5) + TEST (5, 0, 3, 5) + TEST (6, 0, 3, 5) + TEST (7, 0, 3, 5) + TEST (0, 1, 3, 5) + TEST (1, 1, 3, 5) + TEST (2, 1, 3, 5) + TEST (3, 1, 3, 5) + TEST (4, 1, 3, 5) + TEST (5, 1, 3, 5) + TEST (6, 1, 3, 5) + TEST (7, 1, 3, 5) + TEST (0, 2, 3, 5) + TEST (1, 2, 3, 5) + TEST (2, 2, 3, 5) + TEST (3, 2, 3, 5) + TEST (4, 2, 3, 5) + TEST (5, 2, 3, 5) + TEST (6, 2, 3, 5) + TEST (7, 2, 3, 5) + TEST (0, 3, 3, 5) + TEST (1, 3, 3, 5) + TEST (2, 3, 3, 5) + TEST (3, 3, 3, 5) + TEST (4, 3, 3, 5) + TEST (5, 3, 3, 5) + TEST (6, 3, 3, 5) + TEST (7, 3, 3, 5) + TEST (0, 4, 3, 5) + TEST (1, 4, 3, 5) + TEST (2, 4, 3, 5) + TEST (3, 4, 3, 5) + TEST (4, 4, 3, 5) + TEST (5, 4, 3, 5) + TEST (6, 4, 3, 5) + TEST (7, 4, 3, 5) + TEST (0, 5, 3, 5) + TEST (1, 5, 3, 5) + TEST (2, 5, 3, 5) + TEST (3, 5, 3, 5) + TEST (4, 5, 3, 5) + TEST (5, 5, 3, 5) + TEST (6, 5, 3, 5) + TEST (7, 5, 3, 5) + TEST (0, 6, 3, 5) + TEST (1, 6, 3, 5) + TEST (2, 6, 3, 5) + TEST (3, 6, 3, 5) + TEST (4, 6, 3, 5) + TEST (5, 6, 3, 5) + TEST (6, 6, 3, 5) + TEST (7, 6, 3, 5) + TEST (0, 7, 3, 5) + TEST (1, 7, 3, 5) + TEST (2, 7, 3, 5) + TEST (3, 7, 3, 5) + TEST (4, 7, 3, 5) + TEST (5, 7, 3, 5) + TEST (6, 7, 3, 5) + TEST (7, 7, 3, 5) +} + +void check22(void) +{ + TEST (0, 0, 4, 5) + TEST (1, 0, 4, 5) + TEST (2, 0, 4, 5) + TEST (3, 0, 4, 5) + TEST (4, 0, 4, 5) + TEST (5, 0, 4, 5) + TEST (6, 0, 4, 5) + TEST (7, 0, 4, 5) + TEST (0, 1, 4, 5) + TEST (1, 1, 4, 5) + TEST (2, 1, 4, 5) + TEST (3, 1, 4, 5) + TEST (4, 1, 4, 5) + TEST (5, 1, 4, 5) + TEST (6, 1, 4, 5) + TEST (7, 1, 4, 5) + TEST (0, 2, 4, 5) + TEST (1, 2, 4, 5) + TEST (2, 2, 4, 5) + TEST (3, 2, 4, 5) + TEST (4, 2, 4, 5) + TEST (5, 2, 4, 5) + TEST (6, 2, 4, 5) + TEST (7, 2, 4, 5) + TEST (0, 3, 4, 5) + TEST (1, 3, 4, 5) + TEST (2, 3, 4, 5) + TEST (3, 3, 4, 5) + TEST (4, 3, 4, 5) + TEST (5, 3, 4, 5) + TEST (6, 3, 4, 5) + TEST (7, 3, 4, 5) + TEST (0, 4, 4, 5) + TEST (1, 4, 4, 5) + TEST (2, 4, 4, 5) + TEST (3, 4, 4, 5) + TEST (4, 4, 4, 5) + TEST (5, 4, 4, 5) + TEST (6, 4, 4, 5) + TEST (7, 4, 4, 5) + TEST (0, 5, 4, 5) + TEST (1, 5, 4, 5) + TEST (2, 5, 4, 5) + TEST (3, 5, 4, 5) + TEST (4, 5, 4, 5) + TEST (5, 5, 4, 5) + TEST (6, 5, 4, 5) + TEST (7, 5, 4, 5) + TEST (0, 6, 4, 5) + TEST (1, 6, 4, 5) + TEST (2, 6, 4, 5) + TEST (3, 6, 4, 5) + TEST (4, 6, 4, 5) + TEST (5, 6, 4, 5) + TEST (6, 6, 4, 5) + TEST (7, 6, 4, 5) + TEST (0, 7, 4, 5) + TEST (1, 7, 4, 5) + TEST (2, 7, 4, 5) + TEST (3, 7, 4, 5) + TEST (4, 7, 4, 5) + TEST (5, 7, 4, 5) + TEST (6, 7, 4, 5) + TEST (7, 7, 4, 5) + TEST (0, 0, 5, 5) + TEST (1, 0, 5, 5) + TEST (2, 0, 5, 5) + TEST (3, 0, 5, 5) + TEST (4, 0, 5, 5) + TEST (5, 0, 5, 5) + TEST (6, 0, 5, 5) + TEST (7, 0, 5, 5) + TEST (0, 1, 5, 5) + TEST (1, 1, 5, 5) + TEST (2, 1, 5, 5) + TEST (3, 1, 5, 5) + TEST (4, 1, 5, 5) + TEST (5, 1, 5, 5) + TEST (6, 1, 5, 5) + TEST (7, 1, 5, 5) + TEST (0, 2, 5, 5) + TEST (1, 2, 5, 5) + TEST (2, 2, 5, 5) + TEST (3, 2, 5, 5) + TEST (4, 2, 5, 5) + TEST (5, 2, 5, 5) + TEST (6, 2, 5, 5) + TEST (7, 2, 5, 5) + TEST (0, 3, 5, 5) + TEST (1, 3, 5, 5) + TEST (2, 3, 5, 5) + TEST (3, 3, 5, 5) + TEST (4, 3, 5, 5) + TEST (5, 3, 5, 5) + TEST (6, 3, 5, 5) + TEST (7, 3, 5, 5) + TEST (0, 4, 5, 5) + TEST (1, 4, 5, 5) + TEST (2, 4, 5, 5) + TEST (3, 4, 5, 5) + TEST (4, 4, 5, 5) + TEST (5, 4, 5, 5) + TEST (6, 4, 5, 5) + TEST (7, 4, 5, 5) + TEST (0, 5, 5, 5) + TEST (1, 5, 5, 5) + TEST (2, 5, 5, 5) + TEST (3, 5, 5, 5) + TEST (4, 5, 5, 5) + TEST (5, 5, 5, 5) + TEST (6, 5, 5, 5) + TEST (7, 5, 5, 5) + TEST (0, 6, 5, 5) + TEST (1, 6, 5, 5) + TEST (2, 6, 5, 5) + TEST (3, 6, 5, 5) + TEST (4, 6, 5, 5) + TEST (5, 6, 5, 5) + TEST (6, 6, 5, 5) + TEST (7, 6, 5, 5) + TEST (0, 7, 5, 5) + TEST (1, 7, 5, 5) + TEST (2, 7, 5, 5) + TEST (3, 7, 5, 5) + TEST (4, 7, 5, 5) + TEST (5, 7, 5, 5) + TEST (6, 7, 5, 5) + TEST (7, 7, 5, 5) +} + +void check23(void) +{ + TEST (0, 0, 6, 5) + TEST (1, 0, 6, 5) + TEST (2, 0, 6, 5) + TEST (3, 0, 6, 5) + TEST (4, 0, 6, 5) + TEST (5, 0, 6, 5) + TEST (6, 0, 6, 5) + TEST (7, 0, 6, 5) + TEST (0, 1, 6, 5) + TEST (1, 1, 6, 5) + TEST (2, 1, 6, 5) + TEST (3, 1, 6, 5) + TEST (4, 1, 6, 5) + TEST (5, 1, 6, 5) + TEST (6, 1, 6, 5) + TEST (7, 1, 6, 5) + TEST (0, 2, 6, 5) + TEST (1, 2, 6, 5) + TEST (2, 2, 6, 5) + TEST (3, 2, 6, 5) + TEST (4, 2, 6, 5) + TEST (5, 2, 6, 5) + TEST (6, 2, 6, 5) + TEST (7, 2, 6, 5) + TEST (0, 3, 6, 5) + TEST (1, 3, 6, 5) + TEST (2, 3, 6, 5) + TEST (3, 3, 6, 5) + TEST (4, 3, 6, 5) + TEST (5, 3, 6, 5) + TEST (6, 3, 6, 5) + TEST (7, 3, 6, 5) + TEST (0, 4, 6, 5) + TEST (1, 4, 6, 5) + TEST (2, 4, 6, 5) + TEST (3, 4, 6, 5) + TEST (4, 4, 6, 5) + TEST (5, 4, 6, 5) + TEST (6, 4, 6, 5) + TEST (7, 4, 6, 5) + TEST (0, 5, 6, 5) + TEST (1, 5, 6, 5) + TEST (2, 5, 6, 5) + TEST (3, 5, 6, 5) + TEST (4, 5, 6, 5) + TEST (5, 5, 6, 5) + TEST (6, 5, 6, 5) + TEST (7, 5, 6, 5) + TEST (0, 6, 6, 5) + TEST (1, 6, 6, 5) + TEST (2, 6, 6, 5) + TEST (3, 6, 6, 5) + TEST (4, 6, 6, 5) + TEST (5, 6, 6, 5) + TEST (6, 6, 6, 5) + TEST (7, 6, 6, 5) + TEST (0, 7, 6, 5) + TEST (1, 7, 6, 5) + TEST (2, 7, 6, 5) + TEST (3, 7, 6, 5) + TEST (4, 7, 6, 5) + TEST (5, 7, 6, 5) + TEST (6, 7, 6, 5) + TEST (7, 7, 6, 5) + TEST (0, 0, 7, 5) + TEST (1, 0, 7, 5) + TEST (2, 0, 7, 5) + TEST (3, 0, 7, 5) + TEST (4, 0, 7, 5) + TEST (5, 0, 7, 5) + TEST (6, 0, 7, 5) + TEST (7, 0, 7, 5) + TEST (0, 1, 7, 5) + TEST (1, 1, 7, 5) + TEST (2, 1, 7, 5) + TEST (3, 1, 7, 5) + TEST (4, 1, 7, 5) + TEST (5, 1, 7, 5) + TEST (6, 1, 7, 5) + TEST (7, 1, 7, 5) + TEST (0, 2, 7, 5) + TEST (1, 2, 7, 5) + TEST (2, 2, 7, 5) + TEST (3, 2, 7, 5) + TEST (4, 2, 7, 5) + TEST (5, 2, 7, 5) + TEST (6, 2, 7, 5) + TEST (7, 2, 7, 5) + TEST (0, 3, 7, 5) + TEST (1, 3, 7, 5) + TEST (2, 3, 7, 5) + TEST (3, 3, 7, 5) + TEST (4, 3, 7, 5) + TEST (5, 3, 7, 5) + TEST (6, 3, 7, 5) + TEST (7, 3, 7, 5) + TEST (0, 4, 7, 5) + TEST (1, 4, 7, 5) + TEST (2, 4, 7, 5) + TEST (3, 4, 7, 5) + TEST (4, 4, 7, 5) + TEST (5, 4, 7, 5) + TEST (6, 4, 7, 5) + TEST (7, 4, 7, 5) + TEST (0, 5, 7, 5) + TEST (1, 5, 7, 5) + TEST (2, 5, 7, 5) + TEST (3, 5, 7, 5) + TEST (4, 5, 7, 5) + TEST (5, 5, 7, 5) + TEST (6, 5, 7, 5) + TEST (7, 5, 7, 5) + TEST (0, 6, 7, 5) + TEST (1, 6, 7, 5) + TEST (2, 6, 7, 5) + TEST (3, 6, 7, 5) + TEST (4, 6, 7, 5) + TEST (5, 6, 7, 5) + TEST (6, 6, 7, 5) + TEST (7, 6, 7, 5) + TEST (0, 7, 7, 5) + TEST (1, 7, 7, 5) + TEST (2, 7, 7, 5) + TEST (3, 7, 7, 5) + TEST (4, 7, 7, 5) + TEST (5, 7, 7, 5) + TEST (6, 7, 7, 5) + TEST (7, 7, 7, 5) +} + +void check24(void) +{ + TEST (0, 0, 0, 6) + TEST (1, 0, 0, 6) + TEST (2, 0, 0, 6) + TEST (3, 0, 0, 6) + TEST (4, 0, 0, 6) + TEST (5, 0, 0, 6) + TEST (6, 0, 0, 6) + TEST (7, 0, 0, 6) + TEST (0, 1, 0, 6) + TEST (1, 1, 0, 6) + TEST (2, 1, 0, 6) + TEST (3, 1, 0, 6) + TEST (4, 1, 0, 6) + TEST (5, 1, 0, 6) + TEST (6, 1, 0, 6) + TEST (7, 1, 0, 6) + TEST (0, 2, 0, 6) + TEST (1, 2, 0, 6) + TEST (2, 2, 0, 6) + TEST (3, 2, 0, 6) + TEST (4, 2, 0, 6) + TEST (5, 2, 0, 6) + TEST (6, 2, 0, 6) + TEST (7, 2, 0, 6) + TEST (0, 3, 0, 6) + TEST (1, 3, 0, 6) + TEST (2, 3, 0, 6) + TEST (3, 3, 0, 6) + TEST (4, 3, 0, 6) + TEST (5, 3, 0, 6) + TEST (6, 3, 0, 6) + TEST (7, 3, 0, 6) + TEST (0, 4, 0, 6) + TEST (1, 4, 0, 6) + TEST (2, 4, 0, 6) + TEST (3, 4, 0, 6) + TEST (4, 4, 0, 6) + TEST (5, 4, 0, 6) + TEST (6, 4, 0, 6) + TEST (7, 4, 0, 6) + TEST (0, 5, 0, 6) + TEST (1, 5, 0, 6) + TEST (2, 5, 0, 6) + TEST (3, 5, 0, 6) + TEST (4, 5, 0, 6) + TEST (5, 5, 0, 6) + TEST (6, 5, 0, 6) + TEST (7, 5, 0, 6) + TEST (0, 6, 0, 6) + TEST (1, 6, 0, 6) + TEST (2, 6, 0, 6) + TEST (3, 6, 0, 6) + TEST (4, 6, 0, 6) + TEST (5, 6, 0, 6) + TEST (6, 6, 0, 6) + TEST (7, 6, 0, 6) + TEST (0, 7, 0, 6) + TEST (1, 7, 0, 6) + TEST (2, 7, 0, 6) + TEST (3, 7, 0, 6) + TEST (4, 7, 0, 6) + TEST (5, 7, 0, 6) + TEST (6, 7, 0, 6) + TEST (7, 7, 0, 6) + TEST (0, 0, 1, 6) + TEST (1, 0, 1, 6) + TEST (2, 0, 1, 6) + TEST (3, 0, 1, 6) + TEST (4, 0, 1, 6) + TEST (5, 0, 1, 6) + TEST (6, 0, 1, 6) + TEST (7, 0, 1, 6) + TEST (0, 1, 1, 6) + TEST (1, 1, 1, 6) + TEST (2, 1, 1, 6) + TEST (3, 1, 1, 6) + TEST (4, 1, 1, 6) + TEST (5, 1, 1, 6) + TEST (6, 1, 1, 6) + TEST (7, 1, 1, 6) + TEST (0, 2, 1, 6) + TEST (1, 2, 1, 6) + TEST (2, 2, 1, 6) + TEST (3, 2, 1, 6) + TEST (4, 2, 1, 6) + TEST (5, 2, 1, 6) + TEST (6, 2, 1, 6) + TEST (7, 2, 1, 6) + TEST (0, 3, 1, 6) + TEST (1, 3, 1, 6) + TEST (2, 3, 1, 6) + TEST (3, 3, 1, 6) + TEST (4, 3, 1, 6) + TEST (5, 3, 1, 6) + TEST (6, 3, 1, 6) + TEST (7, 3, 1, 6) + TEST (0, 4, 1, 6) + TEST (1, 4, 1, 6) + TEST (2, 4, 1, 6) + TEST (3, 4, 1, 6) + TEST (4, 4, 1, 6) + TEST (5, 4, 1, 6) + TEST (6, 4, 1, 6) + TEST (7, 4, 1, 6) + TEST (0, 5, 1, 6) + TEST (1, 5, 1, 6) + TEST (2, 5, 1, 6) + TEST (3, 5, 1, 6) + TEST (4, 5, 1, 6) + TEST (5, 5, 1, 6) + TEST (6, 5, 1, 6) + TEST (7, 5, 1, 6) + TEST (0, 6, 1, 6) + TEST (1, 6, 1, 6) + TEST (2, 6, 1, 6) + TEST (3, 6, 1, 6) + TEST (4, 6, 1, 6) + TEST (5, 6, 1, 6) + TEST (6, 6, 1, 6) + TEST (7, 6, 1, 6) + TEST (0, 7, 1, 6) + TEST (1, 7, 1, 6) + TEST (2, 7, 1, 6) + TEST (3, 7, 1, 6) + TEST (4, 7, 1, 6) + TEST (5, 7, 1, 6) + TEST (6, 7, 1, 6) + TEST (7, 7, 1, 6) +} + +void check25(void) +{ + TEST (0, 0, 2, 6) + TEST (1, 0, 2, 6) + TEST (2, 0, 2, 6) + TEST (3, 0, 2, 6) + TEST (4, 0, 2, 6) + TEST (5, 0, 2, 6) + TEST (6, 0, 2, 6) + TEST (7, 0, 2, 6) + TEST (0, 1, 2, 6) + TEST (1, 1, 2, 6) + TEST (2, 1, 2, 6) + TEST (3, 1, 2, 6) + TEST (4, 1, 2, 6) + TEST (5, 1, 2, 6) + TEST (6, 1, 2, 6) + TEST (7, 1, 2, 6) + TEST (0, 2, 2, 6) + TEST (1, 2, 2, 6) + TEST (2, 2, 2, 6) + TEST (3, 2, 2, 6) + TEST (4, 2, 2, 6) + TEST (5, 2, 2, 6) + TEST (6, 2, 2, 6) + TEST (7, 2, 2, 6) + TEST (0, 3, 2, 6) + TEST (1, 3, 2, 6) + TEST (2, 3, 2, 6) + TEST (3, 3, 2, 6) + TEST (4, 3, 2, 6) + TEST (5, 3, 2, 6) + TEST (6, 3, 2, 6) + TEST (7, 3, 2, 6) + TEST (0, 4, 2, 6) + TEST (1, 4, 2, 6) + TEST (2, 4, 2, 6) + TEST (3, 4, 2, 6) + TEST (4, 4, 2, 6) + TEST (5, 4, 2, 6) + TEST (6, 4, 2, 6) + TEST (7, 4, 2, 6) + TEST (0, 5, 2, 6) + TEST (1, 5, 2, 6) + TEST (2, 5, 2, 6) + TEST (3, 5, 2, 6) + TEST (4, 5, 2, 6) + TEST (5, 5, 2, 6) + TEST (6, 5, 2, 6) + TEST (7, 5, 2, 6) + TEST (0, 6, 2, 6) + TEST (1, 6, 2, 6) + TEST (2, 6, 2, 6) + TEST (3, 6, 2, 6) + TEST (4, 6, 2, 6) + TEST (5, 6, 2, 6) + TEST (6, 6, 2, 6) + TEST (7, 6, 2, 6) + TEST (0, 7, 2, 6) + TEST (1, 7, 2, 6) + TEST (2, 7, 2, 6) + TEST (3, 7, 2, 6) + TEST (4, 7, 2, 6) + TEST (5, 7, 2, 6) + TEST (6, 7, 2, 6) + TEST (7, 7, 2, 6) + TEST (0, 0, 3, 6) + TEST (1, 0, 3, 6) + TEST (2, 0, 3, 6) + TEST (3, 0, 3, 6) + TEST (4, 0, 3, 6) + TEST (5, 0, 3, 6) + TEST (6, 0, 3, 6) + TEST (7, 0, 3, 6) + TEST (0, 1, 3, 6) + TEST (1, 1, 3, 6) + TEST (2, 1, 3, 6) + TEST (3, 1, 3, 6) + TEST (4, 1, 3, 6) + TEST (5, 1, 3, 6) + TEST (6, 1, 3, 6) + TEST (7, 1, 3, 6) + TEST (0, 2, 3, 6) + TEST (1, 2, 3, 6) + TEST (2, 2, 3, 6) + TEST (3, 2, 3, 6) + TEST (4, 2, 3, 6) + TEST (5, 2, 3, 6) + TEST (6, 2, 3, 6) + TEST (7, 2, 3, 6) + TEST (0, 3, 3, 6) + TEST (1, 3, 3, 6) + TEST (2, 3, 3, 6) + TEST (3, 3, 3, 6) + TEST (4, 3, 3, 6) + TEST (5, 3, 3, 6) + TEST (6, 3, 3, 6) + TEST (7, 3, 3, 6) + TEST (0, 4, 3, 6) + TEST (1, 4, 3, 6) + TEST (2, 4, 3, 6) + TEST (3, 4, 3, 6) + TEST (4, 4, 3, 6) + TEST (5, 4, 3, 6) + TEST (6, 4, 3, 6) + TEST (7, 4, 3, 6) + TEST (0, 5, 3, 6) + TEST (1, 5, 3, 6) + TEST (2, 5, 3, 6) + TEST (3, 5, 3, 6) + TEST (4, 5, 3, 6) + TEST (5, 5, 3, 6) + TEST (6, 5, 3, 6) + TEST (7, 5, 3, 6) + TEST (0, 6, 3, 6) + TEST (1, 6, 3, 6) + TEST (2, 6, 3, 6) + TEST (3, 6, 3, 6) + TEST (4, 6, 3, 6) + TEST (5, 6, 3, 6) + TEST (6, 6, 3, 6) + TEST (7, 6, 3, 6) + TEST (0, 7, 3, 6) + TEST (1, 7, 3, 6) + TEST (2, 7, 3, 6) + TEST (3, 7, 3, 6) + TEST (4, 7, 3, 6) + TEST (5, 7, 3, 6) + TEST (6, 7, 3, 6) + TEST (7, 7, 3, 6) +} + +void check26(void) +{ + TEST (0, 0, 4, 6) + TEST (1, 0, 4, 6) + TEST (2, 0, 4, 6) + TEST (3, 0, 4, 6) + TEST (4, 0, 4, 6) + TEST (5, 0, 4, 6) + TEST (6, 0, 4, 6) + TEST (7, 0, 4, 6) + TEST (0, 1, 4, 6) + TEST (1, 1, 4, 6) + TEST (2, 1, 4, 6) + TEST (3, 1, 4, 6) + TEST (4, 1, 4, 6) + TEST (5, 1, 4, 6) + TEST (6, 1, 4, 6) + TEST (7, 1, 4, 6) + TEST (0, 2, 4, 6) + TEST (1, 2, 4, 6) + TEST (2, 2, 4, 6) + TEST (3, 2, 4, 6) + TEST (4, 2, 4, 6) + TEST (5, 2, 4, 6) + TEST (6, 2, 4, 6) + TEST (7, 2, 4, 6) + TEST (0, 3, 4, 6) + TEST (1, 3, 4, 6) + TEST (2, 3, 4, 6) + TEST (3, 3, 4, 6) + TEST (4, 3, 4, 6) + TEST (5, 3, 4, 6) + TEST (6, 3, 4, 6) + TEST (7, 3, 4, 6) + TEST (0, 4, 4, 6) + TEST (1, 4, 4, 6) + TEST (2, 4, 4, 6) + TEST (3, 4, 4, 6) + TEST (4, 4, 4, 6) + TEST (5, 4, 4, 6) + TEST (6, 4, 4, 6) + TEST (7, 4, 4, 6) + TEST (0, 5, 4, 6) + TEST (1, 5, 4, 6) + TEST (2, 5, 4, 6) + TEST (3, 5, 4, 6) + TEST (4, 5, 4, 6) + TEST (5, 5, 4, 6) + TEST (6, 5, 4, 6) + TEST (7, 5, 4, 6) + TEST (0, 6, 4, 6) + TEST (1, 6, 4, 6) + TEST (2, 6, 4, 6) + TEST (3, 6, 4, 6) + TEST (4, 6, 4, 6) + TEST (5, 6, 4, 6) + TEST (6, 6, 4, 6) + TEST (7, 6, 4, 6) + TEST (0, 7, 4, 6) + TEST (1, 7, 4, 6) + TEST (2, 7, 4, 6) + TEST (3, 7, 4, 6) + TEST (4, 7, 4, 6) + TEST (5, 7, 4, 6) + TEST (6, 7, 4, 6) + TEST (7, 7, 4, 6) + TEST (0, 0, 5, 6) + TEST (1, 0, 5, 6) + TEST (2, 0, 5, 6) + TEST (3, 0, 5, 6) + TEST (4, 0, 5, 6) + TEST (5, 0, 5, 6) + TEST (6, 0, 5, 6) + TEST (7, 0, 5, 6) + TEST (0, 1, 5, 6) + TEST (1, 1, 5, 6) + TEST (2, 1, 5, 6) + TEST (3, 1, 5, 6) + TEST (4, 1, 5, 6) + TEST (5, 1, 5, 6) + TEST (6, 1, 5, 6) + TEST (7, 1, 5, 6) + TEST (0, 2, 5, 6) + TEST (1, 2, 5, 6) + TEST (2, 2, 5, 6) + TEST (3, 2, 5, 6) + TEST (4, 2, 5, 6) + TEST (5, 2, 5, 6) + TEST (6, 2, 5, 6) + TEST (7, 2, 5, 6) + TEST (0, 3, 5, 6) + TEST (1, 3, 5, 6) + TEST (2, 3, 5, 6) + TEST (3, 3, 5, 6) + TEST (4, 3, 5, 6) + TEST (5, 3, 5, 6) + TEST (6, 3, 5, 6) + TEST (7, 3, 5, 6) + TEST (0, 4, 5, 6) + TEST (1, 4, 5, 6) + TEST (2, 4, 5, 6) + TEST (3, 4, 5, 6) + TEST (4, 4, 5, 6) + TEST (5, 4, 5, 6) + TEST (6, 4, 5, 6) + TEST (7, 4, 5, 6) + TEST (0, 5, 5, 6) + TEST (1, 5, 5, 6) + TEST (2, 5, 5, 6) + TEST (3, 5, 5, 6) + TEST (4, 5, 5, 6) + TEST (5, 5, 5, 6) + TEST (6, 5, 5, 6) + TEST (7, 5, 5, 6) + TEST (0, 6, 5, 6) + TEST (1, 6, 5, 6) + TEST (2, 6, 5, 6) + TEST (3, 6, 5, 6) + TEST (4, 6, 5, 6) + TEST (5, 6, 5, 6) + TEST (6, 6, 5, 6) + TEST (7, 6, 5, 6) + TEST (0, 7, 5, 6) + TEST (1, 7, 5, 6) + TEST (2, 7, 5, 6) + TEST (3, 7, 5, 6) + TEST (4, 7, 5, 6) + TEST (5, 7, 5, 6) + TEST (6, 7, 5, 6) + TEST (7, 7, 5, 6) +} + +void check27(void) +{ + TEST (0, 0, 6, 6) + TEST (1, 0, 6, 6) + TEST (2, 0, 6, 6) + TEST (3, 0, 6, 6) + TEST (4, 0, 6, 6) + TEST (5, 0, 6, 6) + TEST (6, 0, 6, 6) + TEST (7, 0, 6, 6) + TEST (0, 1, 6, 6) + TEST (1, 1, 6, 6) + TEST (2, 1, 6, 6) + TEST (3, 1, 6, 6) + TEST (4, 1, 6, 6) + TEST (5, 1, 6, 6) + TEST (6, 1, 6, 6) + TEST (7, 1, 6, 6) + TEST (0, 2, 6, 6) + TEST (1, 2, 6, 6) + TEST (2, 2, 6, 6) + TEST (3, 2, 6, 6) + TEST (4, 2, 6, 6) + TEST (5, 2, 6, 6) + TEST (6, 2, 6, 6) + TEST (7, 2, 6, 6) + TEST (0, 3, 6, 6) + TEST (1, 3, 6, 6) + TEST (2, 3, 6, 6) + TEST (3, 3, 6, 6) + TEST (4, 3, 6, 6) + TEST (5, 3, 6, 6) + TEST (6, 3, 6, 6) + TEST (7, 3, 6, 6) + TEST (0, 4, 6, 6) + TEST (1, 4, 6, 6) + TEST (2, 4, 6, 6) + TEST (3, 4, 6, 6) + TEST (4, 4, 6, 6) + TEST (5, 4, 6, 6) + TEST (6, 4, 6, 6) + TEST (7, 4, 6, 6) + TEST (0, 5, 6, 6) + TEST (1, 5, 6, 6) + TEST (2, 5, 6, 6) + TEST (3, 5, 6, 6) + TEST (4, 5, 6, 6) + TEST (5, 5, 6, 6) + TEST (6, 5, 6, 6) + TEST (7, 5, 6, 6) + TEST (0, 6, 6, 6) + TEST (1, 6, 6, 6) + TEST (2, 6, 6, 6) + TEST (3, 6, 6, 6) + TEST (4, 6, 6, 6) + TEST (5, 6, 6, 6) + TEST (6, 6, 6, 6) + TEST (7, 6, 6, 6) + TEST (0, 7, 6, 6) + TEST (1, 7, 6, 6) + TEST (2, 7, 6, 6) + TEST (3, 7, 6, 6) + TEST (4, 7, 6, 6) + TEST (5, 7, 6, 6) + TEST (6, 7, 6, 6) + TEST (7, 7, 6, 6) + TEST (0, 0, 7, 6) + TEST (1, 0, 7, 6) + TEST (2, 0, 7, 6) + TEST (3, 0, 7, 6) + TEST (4, 0, 7, 6) + TEST (5, 0, 7, 6) + TEST (6, 0, 7, 6) + TEST (7, 0, 7, 6) + TEST (0, 1, 7, 6) + TEST (1, 1, 7, 6) + TEST (2, 1, 7, 6) + TEST (3, 1, 7, 6) + TEST (4, 1, 7, 6) + TEST (5, 1, 7, 6) + TEST (6, 1, 7, 6) + TEST (7, 1, 7, 6) + TEST (0, 2, 7, 6) + TEST (1, 2, 7, 6) + TEST (2, 2, 7, 6) + TEST (3, 2, 7, 6) + TEST (4, 2, 7, 6) + TEST (5, 2, 7, 6) + TEST (6, 2, 7, 6) + TEST (7, 2, 7, 6) + TEST (0, 3, 7, 6) + TEST (1, 3, 7, 6) + TEST (2, 3, 7, 6) + TEST (3, 3, 7, 6) + TEST (4, 3, 7, 6) + TEST (5, 3, 7, 6) + TEST (6, 3, 7, 6) + TEST (7, 3, 7, 6) + TEST (0, 4, 7, 6) + TEST (1, 4, 7, 6) + TEST (2, 4, 7, 6) + TEST (3, 4, 7, 6) + TEST (4, 4, 7, 6) + TEST (5, 4, 7, 6) + TEST (6, 4, 7, 6) + TEST (7, 4, 7, 6) + TEST (0, 5, 7, 6) + TEST (1, 5, 7, 6) + TEST (2, 5, 7, 6) + TEST (3, 5, 7, 6) + TEST (4, 5, 7, 6) + TEST (5, 5, 7, 6) + TEST (6, 5, 7, 6) + TEST (7, 5, 7, 6) + TEST (0, 6, 7, 6) + TEST (1, 6, 7, 6) + TEST (2, 6, 7, 6) + TEST (3, 6, 7, 6) + TEST (4, 6, 7, 6) + TEST (5, 6, 7, 6) + TEST (6, 6, 7, 6) + TEST (7, 6, 7, 6) + TEST (0, 7, 7, 6) + TEST (1, 7, 7, 6) + TEST (2, 7, 7, 6) + TEST (3, 7, 7, 6) + TEST (4, 7, 7, 6) + TEST (5, 7, 7, 6) + TEST (6, 7, 7, 6) + TEST (7, 7, 7, 6) +} + +void check28(void) +{ + TEST (0, 0, 0, 7) + TEST (1, 0, 0, 7) + TEST (2, 0, 0, 7) + TEST (3, 0, 0, 7) + TEST (4, 0, 0, 7) + TEST (5, 0, 0, 7) + TEST (6, 0, 0, 7) + TEST (7, 0, 0, 7) + TEST (0, 1, 0, 7) + TEST (1, 1, 0, 7) + TEST (2, 1, 0, 7) + TEST (3, 1, 0, 7) + TEST (4, 1, 0, 7) + TEST (5, 1, 0, 7) + TEST (6, 1, 0, 7) + TEST (7, 1, 0, 7) + TEST (0, 2, 0, 7) + TEST (1, 2, 0, 7) + TEST (2, 2, 0, 7) + TEST (3, 2, 0, 7) + TEST (4, 2, 0, 7) + TEST (5, 2, 0, 7) + TEST (6, 2, 0, 7) + TEST (7, 2, 0, 7) + TEST (0, 3, 0, 7) + TEST (1, 3, 0, 7) + TEST (2, 3, 0, 7) + TEST (3, 3, 0, 7) + TEST (4, 3, 0, 7) + TEST (5, 3, 0, 7) + TEST (6, 3, 0, 7) + TEST (7, 3, 0, 7) + TEST (0, 4, 0, 7) + TEST (1, 4, 0, 7) + TEST (2, 4, 0, 7) + TEST (3, 4, 0, 7) + TEST (4, 4, 0, 7) + TEST (5, 4, 0, 7) + TEST (6, 4, 0, 7) + TEST (7, 4, 0, 7) + TEST (0, 5, 0, 7) + TEST (1, 5, 0, 7) + TEST (2, 5, 0, 7) + TEST (3, 5, 0, 7) + TEST (4, 5, 0, 7) + TEST (5, 5, 0, 7) + TEST (6, 5, 0, 7) + TEST (7, 5, 0, 7) + TEST (0, 6, 0, 7) + TEST (1, 6, 0, 7) + TEST (2, 6, 0, 7) + TEST (3, 6, 0, 7) + TEST (4, 6, 0, 7) + TEST (5, 6, 0, 7) + TEST (6, 6, 0, 7) + TEST (7, 6, 0, 7) + TEST (0, 7, 0, 7) + TEST (1, 7, 0, 7) + TEST (2, 7, 0, 7) + TEST (3, 7, 0, 7) + TEST (4, 7, 0, 7) + TEST (5, 7, 0, 7) + TEST (6, 7, 0, 7) + TEST (7, 7, 0, 7) + TEST (0, 0, 1, 7) + TEST (1, 0, 1, 7) + TEST (2, 0, 1, 7) + TEST (3, 0, 1, 7) + TEST (4, 0, 1, 7) + TEST (5, 0, 1, 7) + TEST (6, 0, 1, 7) + TEST (7, 0, 1, 7) + TEST (0, 1, 1, 7) + TEST (1, 1, 1, 7) + TEST (2, 1, 1, 7) + TEST (3, 1, 1, 7) + TEST (4, 1, 1, 7) + TEST (5, 1, 1, 7) + TEST (6, 1, 1, 7) + TEST (7, 1, 1, 7) + TEST (0, 2, 1, 7) + TEST (1, 2, 1, 7) + TEST (2, 2, 1, 7) + TEST (3, 2, 1, 7) + TEST (4, 2, 1, 7) + TEST (5, 2, 1, 7) + TEST (6, 2, 1, 7) + TEST (7, 2, 1, 7) + TEST (0, 3, 1, 7) + TEST (1, 3, 1, 7) + TEST (2, 3, 1, 7) + TEST (3, 3, 1, 7) + TEST (4, 3, 1, 7) + TEST (5, 3, 1, 7) + TEST (6, 3, 1, 7) + TEST (7, 3, 1, 7) + TEST (0, 4, 1, 7) + TEST (1, 4, 1, 7) + TEST (2, 4, 1, 7) + TEST (3, 4, 1, 7) + TEST (4, 4, 1, 7) + TEST (5, 4, 1, 7) + TEST (6, 4, 1, 7) + TEST (7, 4, 1, 7) + TEST (0, 5, 1, 7) + TEST (1, 5, 1, 7) + TEST (2, 5, 1, 7) + TEST (3, 5, 1, 7) + TEST (4, 5, 1, 7) + TEST (5, 5, 1, 7) + TEST (6, 5, 1, 7) + TEST (7, 5, 1, 7) + TEST (0, 6, 1, 7) + TEST (1, 6, 1, 7) + TEST (2, 6, 1, 7) + TEST (3, 6, 1, 7) + TEST (4, 6, 1, 7) + TEST (5, 6, 1, 7) + TEST (6, 6, 1, 7) + TEST (7, 6, 1, 7) + TEST (0, 7, 1, 7) + TEST (1, 7, 1, 7) + TEST (2, 7, 1, 7) + TEST (3, 7, 1, 7) + TEST (4, 7, 1, 7) + TEST (5, 7, 1, 7) + TEST (6, 7, 1, 7) + TEST (7, 7, 1, 7) +} + +void check29(void) +{ + TEST (0, 0, 2, 7) + TEST (1, 0, 2, 7) + TEST (2, 0, 2, 7) + TEST (3, 0, 2, 7) + TEST (4, 0, 2, 7) + TEST (5, 0, 2, 7) + TEST (6, 0, 2, 7) + TEST (7, 0, 2, 7) + TEST (0, 1, 2, 7) + TEST (1, 1, 2, 7) + TEST (2, 1, 2, 7) + TEST (3, 1, 2, 7) + TEST (4, 1, 2, 7) + TEST (5, 1, 2, 7) + TEST (6, 1, 2, 7) + TEST (7, 1, 2, 7) + TEST (0, 2, 2, 7) + TEST (1, 2, 2, 7) + TEST (2, 2, 2, 7) + TEST (3, 2, 2, 7) + TEST (4, 2, 2, 7) + TEST (5, 2, 2, 7) + TEST (6, 2, 2, 7) + TEST (7, 2, 2, 7) + TEST (0, 3, 2, 7) + TEST (1, 3, 2, 7) + TEST (2, 3, 2, 7) + TEST (3, 3, 2, 7) + TEST (4, 3, 2, 7) + TEST (5, 3, 2, 7) + TEST (6, 3, 2, 7) + TEST (7, 3, 2, 7) + TEST (0, 4, 2, 7) + TEST (1, 4, 2, 7) + TEST (2, 4, 2, 7) + TEST (3, 4, 2, 7) + TEST (4, 4, 2, 7) + TEST (5, 4, 2, 7) + TEST (6, 4, 2, 7) + TEST (7, 4, 2, 7) + TEST (0, 5, 2, 7) + TEST (1, 5, 2, 7) + TEST (2, 5, 2, 7) + TEST (3, 5, 2, 7) + TEST (4, 5, 2, 7) + TEST (5, 5, 2, 7) + TEST (6, 5, 2, 7) + TEST (7, 5, 2, 7) + TEST (0, 6, 2, 7) + TEST (1, 6, 2, 7) + TEST (2, 6, 2, 7) + TEST (3, 6, 2, 7) + TEST (4, 6, 2, 7) + TEST (5, 6, 2, 7) + TEST (6, 6, 2, 7) + TEST (7, 6, 2, 7) + TEST (0, 7, 2, 7) + TEST (1, 7, 2, 7) + TEST (2, 7, 2, 7) + TEST (3, 7, 2, 7) + TEST (4, 7, 2, 7) + TEST (5, 7, 2, 7) + TEST (6, 7, 2, 7) + TEST (7, 7, 2, 7) + TEST (0, 0, 3, 7) + TEST (1, 0, 3, 7) + TEST (2, 0, 3, 7) + TEST (3, 0, 3, 7) + TEST (4, 0, 3, 7) + TEST (5, 0, 3, 7) + TEST (6, 0, 3, 7) + TEST (7, 0, 3, 7) + TEST (0, 1, 3, 7) + TEST (1, 1, 3, 7) + TEST (2, 1, 3, 7) + TEST (3, 1, 3, 7) + TEST (4, 1, 3, 7) + TEST (5, 1, 3, 7) + TEST (6, 1, 3, 7) + TEST (7, 1, 3, 7) + TEST (0, 2, 3, 7) + TEST (1, 2, 3, 7) + TEST (2, 2, 3, 7) + TEST (3, 2, 3, 7) + TEST (4, 2, 3, 7) + TEST (5, 2, 3, 7) + TEST (6, 2, 3, 7) + TEST (7, 2, 3, 7) + TEST (0, 3, 3, 7) + TEST (1, 3, 3, 7) + TEST (2, 3, 3, 7) + TEST (3, 3, 3, 7) + TEST (4, 3, 3, 7) + TEST (5, 3, 3, 7) + TEST (6, 3, 3, 7) + TEST (7, 3, 3, 7) + TEST (0, 4, 3, 7) + TEST (1, 4, 3, 7) + TEST (2, 4, 3, 7) + TEST (3, 4, 3, 7) + TEST (4, 4, 3, 7) + TEST (5, 4, 3, 7) + TEST (6, 4, 3, 7) + TEST (7, 4, 3, 7) + TEST (0, 5, 3, 7) + TEST (1, 5, 3, 7) + TEST (2, 5, 3, 7) + TEST (3, 5, 3, 7) + TEST (4, 5, 3, 7) + TEST (5, 5, 3, 7) + TEST (6, 5, 3, 7) + TEST (7, 5, 3, 7) + TEST (0, 6, 3, 7) + TEST (1, 6, 3, 7) + TEST (2, 6, 3, 7) + TEST (3, 6, 3, 7) + TEST (4, 6, 3, 7) + TEST (5, 6, 3, 7) + TEST (6, 6, 3, 7) + TEST (7, 6, 3, 7) + TEST (0, 7, 3, 7) + TEST (1, 7, 3, 7) + TEST (2, 7, 3, 7) + TEST (3, 7, 3, 7) + TEST (4, 7, 3, 7) + TEST (5, 7, 3, 7) + TEST (6, 7, 3, 7) + TEST (7, 7, 3, 7) +} + +void check30(void) +{ + TEST (0, 0, 4, 7) + TEST (1, 0, 4, 7) + TEST (2, 0, 4, 7) + TEST (3, 0, 4, 7) + TEST (4, 0, 4, 7) + TEST (5, 0, 4, 7) + TEST (6, 0, 4, 7) + TEST (7, 0, 4, 7) + TEST (0, 1, 4, 7) + TEST (1, 1, 4, 7) + TEST (2, 1, 4, 7) + TEST (3, 1, 4, 7) + TEST (4, 1, 4, 7) + TEST (5, 1, 4, 7) + TEST (6, 1, 4, 7) + TEST (7, 1, 4, 7) + TEST (0, 2, 4, 7) + TEST (1, 2, 4, 7) + TEST (2, 2, 4, 7) + TEST (3, 2, 4, 7) + TEST (4, 2, 4, 7) + TEST (5, 2, 4, 7) + TEST (6, 2, 4, 7) + TEST (7, 2, 4, 7) + TEST (0, 3, 4, 7) + TEST (1, 3, 4, 7) + TEST (2, 3, 4, 7) + TEST (3, 3, 4, 7) + TEST (4, 3, 4, 7) + TEST (5, 3, 4, 7) + TEST (6, 3, 4, 7) + TEST (7, 3, 4, 7) + TEST (0, 4, 4, 7) + TEST (1, 4, 4, 7) + TEST (2, 4, 4, 7) + TEST (3, 4, 4, 7) + TEST (4, 4, 4, 7) + TEST (5, 4, 4, 7) + TEST (6, 4, 4, 7) + TEST (7, 4, 4, 7) + TEST (0, 5, 4, 7) + TEST (1, 5, 4, 7) + TEST (2, 5, 4, 7) + TEST (3, 5, 4, 7) + TEST (4, 5, 4, 7) + TEST (5, 5, 4, 7) + TEST (6, 5, 4, 7) + TEST (7, 5, 4, 7) + TEST (0, 6, 4, 7) + TEST (1, 6, 4, 7) + TEST (2, 6, 4, 7) + TEST (3, 6, 4, 7) + TEST (4, 6, 4, 7) + TEST (5, 6, 4, 7) + TEST (6, 6, 4, 7) + TEST (7, 6, 4, 7) + TEST (0, 7, 4, 7) + TEST (1, 7, 4, 7) + TEST (2, 7, 4, 7) + TEST (3, 7, 4, 7) + TEST (4, 7, 4, 7) + TEST (5, 7, 4, 7) + TEST (6, 7, 4, 7) + TEST (7, 7, 4, 7) + TEST (0, 0, 5, 7) + TEST (1, 0, 5, 7) + TEST (2, 0, 5, 7) + TEST (3, 0, 5, 7) + TEST (4, 0, 5, 7) + TEST (5, 0, 5, 7) + TEST (6, 0, 5, 7) + TEST (7, 0, 5, 7) + TEST (0, 1, 5, 7) + TEST (1, 1, 5, 7) + TEST (2, 1, 5, 7) + TEST (3, 1, 5, 7) + TEST (4, 1, 5, 7) + TEST (5, 1, 5, 7) + TEST (6, 1, 5, 7) + TEST (7, 1, 5, 7) + TEST (0, 2, 5, 7) + TEST (1, 2, 5, 7) + TEST (2, 2, 5, 7) + TEST (3, 2, 5, 7) + TEST (4, 2, 5, 7) + TEST (5, 2, 5, 7) + TEST (6, 2, 5, 7) + TEST (7, 2, 5, 7) + TEST (0, 3, 5, 7) + TEST (1, 3, 5, 7) + TEST (2, 3, 5, 7) + TEST (3, 3, 5, 7) + TEST (4, 3, 5, 7) + TEST (5, 3, 5, 7) + TEST (6, 3, 5, 7) + TEST (7, 3, 5, 7) + TEST (0, 4, 5, 7) + TEST (1, 4, 5, 7) + TEST (2, 4, 5, 7) + TEST (3, 4, 5, 7) + TEST (4, 4, 5, 7) + TEST (5, 4, 5, 7) + TEST (6, 4, 5, 7) + TEST (7, 4, 5, 7) + TEST (0, 5, 5, 7) + TEST (1, 5, 5, 7) + TEST (2, 5, 5, 7) + TEST (3, 5, 5, 7) + TEST (4, 5, 5, 7) + TEST (5, 5, 5, 7) + TEST (6, 5, 5, 7) + TEST (7, 5, 5, 7) + TEST (0, 6, 5, 7) + TEST (1, 6, 5, 7) + TEST (2, 6, 5, 7) + TEST (3, 6, 5, 7) + TEST (4, 6, 5, 7) + TEST (5, 6, 5, 7) + TEST (6, 6, 5, 7) + TEST (7, 6, 5, 7) + TEST (0, 7, 5, 7) + TEST (1, 7, 5, 7) + TEST (2, 7, 5, 7) + TEST (3, 7, 5, 7) + TEST (4, 7, 5, 7) + TEST (5, 7, 5, 7) + TEST (6, 7, 5, 7) + TEST (7, 7, 5, 7) +} + +void check31(void) +{ + TEST (0, 0, 6, 7) + TEST (1, 0, 6, 7) + TEST (2, 0, 6, 7) + TEST (3, 0, 6, 7) + TEST (4, 0, 6, 7) + TEST (5, 0, 6, 7) + TEST (6, 0, 6, 7) + TEST (7, 0, 6, 7) + TEST (0, 1, 6, 7) + TEST (1, 1, 6, 7) + TEST (2, 1, 6, 7) + TEST (3, 1, 6, 7) + TEST (4, 1, 6, 7) + TEST (5, 1, 6, 7) + TEST (6, 1, 6, 7) + TEST (7, 1, 6, 7) + TEST (0, 2, 6, 7) + TEST (1, 2, 6, 7) + TEST (2, 2, 6, 7) + TEST (3, 2, 6, 7) + TEST (4, 2, 6, 7) + TEST (5, 2, 6, 7) + TEST (6, 2, 6, 7) + TEST (7, 2, 6, 7) + TEST (0, 3, 6, 7) + TEST (1, 3, 6, 7) + TEST (2, 3, 6, 7) + TEST (3, 3, 6, 7) + TEST (4, 3, 6, 7) + TEST (5, 3, 6, 7) + TEST (6, 3, 6, 7) + TEST (7, 3, 6, 7) + TEST (0, 4, 6, 7) + TEST (1, 4, 6, 7) + TEST (2, 4, 6, 7) + TEST (3, 4, 6, 7) + TEST (4, 4, 6, 7) + TEST (5, 4, 6, 7) + TEST (6, 4, 6, 7) + TEST (7, 4, 6, 7) + TEST (0, 5, 6, 7) + TEST (1, 5, 6, 7) + TEST (2, 5, 6, 7) + TEST (3, 5, 6, 7) + TEST (4, 5, 6, 7) + TEST (5, 5, 6, 7) + TEST (6, 5, 6, 7) + TEST (7, 5, 6, 7) + TEST (0, 6, 6, 7) + TEST (1, 6, 6, 7) + TEST (2, 6, 6, 7) + TEST (3, 6, 6, 7) + TEST (4, 6, 6, 7) + TEST (5, 6, 6, 7) + TEST (6, 6, 6, 7) + TEST (7, 6, 6, 7) + TEST (0, 7, 6, 7) + TEST (1, 7, 6, 7) + TEST (2, 7, 6, 7) + TEST (3, 7, 6, 7) + TEST (4, 7, 6, 7) + TEST (5, 7, 6, 7) + TEST (6, 7, 6, 7) + TEST (7, 7, 6, 7) + TEST (0, 0, 7, 7) + TEST (1, 0, 7, 7) + TEST (2, 0, 7, 7) + TEST (3, 0, 7, 7) + TEST (4, 0, 7, 7) + TEST (5, 0, 7, 7) + TEST (6, 0, 7, 7) + TEST (7, 0, 7, 7) + TEST (0, 1, 7, 7) + TEST (1, 1, 7, 7) + TEST (2, 1, 7, 7) + TEST (3, 1, 7, 7) + TEST (4, 1, 7, 7) + TEST (5, 1, 7, 7) + TEST (6, 1, 7, 7) + TEST (7, 1, 7, 7) + TEST (0, 2, 7, 7) + TEST (1, 2, 7, 7) + TEST (2, 2, 7, 7) + TEST (3, 2, 7, 7) + TEST (4, 2, 7, 7) + TEST (5, 2, 7, 7) + TEST (6, 2, 7, 7) + TEST (7, 2, 7, 7) + TEST (0, 3, 7, 7) + TEST (1, 3, 7, 7) + TEST (2, 3, 7, 7) + TEST (3, 3, 7, 7) + TEST (4, 3, 7, 7) + TEST (5, 3, 7, 7) + TEST (6, 3, 7, 7) + TEST (7, 3, 7, 7) + TEST (0, 4, 7, 7) + TEST (1, 4, 7, 7) + TEST (2, 4, 7, 7) + TEST (3, 4, 7, 7) + TEST (4, 4, 7, 7) + TEST (5, 4, 7, 7) + TEST (6, 4, 7, 7) + TEST (7, 4, 7, 7) + TEST (0, 5, 7, 7) + TEST (1, 5, 7, 7) + TEST (2, 5, 7, 7) + TEST (3, 5, 7, 7) + TEST (4, 5, 7, 7) + TEST (5, 5, 7, 7) + TEST (6, 5, 7, 7) + TEST (7, 5, 7, 7) + TEST (0, 6, 7, 7) + TEST (1, 6, 7, 7) + TEST (2, 6, 7, 7) + TEST (3, 6, 7, 7) + TEST (4, 6, 7, 7) + TEST (5, 6, 7, 7) + TEST (6, 6, 7, 7) + TEST (7, 6, 7, 7) + TEST (0, 7, 7, 7) + TEST (1, 7, 7, 7) + TEST (2, 7, 7, 7) + TEST (3, 7, 7, 7) + TEST (4, 7, 7, 7) + TEST (5, 7, 7, 7) + TEST (6, 7, 7, 7) + TEST (7, 7, 7, 7) +} + +void check(void) +{ + check0 (); + check1 (); + check2 (); + check3 (); + check4 (); + check5 (); + check6 (); + check7 (); + check8 (); + check9 (); + check10 (); + check11 (); + check12 (); + check13 (); + check14 (); + check15 (); + check16 (); + check17 (); + check18 (); + check19 (); + check20 (); + check21 (); + check22 (); + check23 (); + check24 (); + check25 (); + check26 (); + check27 (); + check28 (); + check29 (); + check30 (); + check31 (); +} + |