1#define N 8 2#define TESTS \ 3T (0, 0, 1, 2, 3, 4, 5, 6, 7) \ 4T (1, 0, 0, 0, 0, 0, 0, 0, 0) \ 5T (2, 0, 1, 2, 3, 0, 1, 2, 3) \ 6T (3, 0, 10, 3, 8, 1, 11, 10, 2) \ 7T (4, 0, 1, 2, 3, 3, 0, 2, 1) \ 8T (5, 12, 5, 14, 9, 8, 15, 1, 7) \ 9T (6, 9, 10, 11, 8, 4, 15, 14, 12) \ 10T (7, 4, 10, 14, 9, 11, 1, 12, 11) \ 11T (8, 15, 3, 3, 8, 5, 11, 2, 10) \ 12T (9, 13, 11, 10, 15, 8, 5, 14, 8) \ 13T (10, 9, 13, 12, 14, 10, 1, 5, 14) \ 14T (11, 5, 11, 12, 6, 3, 2, 4, 15) \ 15T (12, 5, 13, 14, 8, 4, 10, 4, 12) \ 16T (13, 14, 8, 12, 3, 13, 9, 5, 4) \ 17T (14, 15, 3, 13, 6, 14, 12, 10, 0) \ 18T (15, 0, 5, 11, 7, 4, 6, 14, 1) \ 19T (16, 0, 2, 4, 6, 8, 10, 12, 14) \ 20T (17, 1, 3, 5, 7, 9, 11, 13, 15) \ 21T (18, 3, 3, 3, 3, 3, 3, 3, 3) \ 22T (19, 7, 6, 5, 4, 3, 2, 1, 0) \ 23T (20, 0, 8, 1, 9, 2, 10, 3, 11) \ 24T (21, 4, 12, 5, 13, 6, 14, 7, 15) \ 25T (22, 1, 2, 3, 4, 5, 6, 7, 0) \ 26T (23, 6, 5, 4, 3, 2, 1, 0, 7) \ 27T (24, 0, 1, 2, 3, 8, 9, 10, 11) \ 28T (25, 0, 1, 2, 3, 12, 13, 14, 15) \ 29T (26, 0, 1, 8, 9, 10, 11, 12, 13) \ 30T (27, 0, 8, 9, 10, 11, 12, 13, 14) \ 31T (28, 1, 9, 3, 11, 5, 13, 7, 15) \ 32T (29, 0, 9, 2, 11, 4, 13, 6, 15) 33#define EXPTESTS \ 34T (116, 9, 3, 9, 4, 7, 0, 0, 6) \ 35T (117, 4, 14, 12, 8, 9, 6, 0, 10) \ 36T (118, 10, 12, 1, 3, 4, 11, 9, 2) \ 37T (119, 4, 11, 9, 5, 8, 14, 0, 2) \ 38T (120, 0, 10, 8, 6, 4, 9, 7, 5) \ 39T (121, 10, 15, 0, 4, 12, 9, 7, 3) \ 40T (122, 13, 6, 0, 7, 5, 12, 12, 2) \ 41T (123, 4, 10, 11, 15, 12, 7, 3, 8) \ 42T (124, 1, 13, 15, 9, 6, 5, 7, 4) \ 43T (125, 7, 13, 2, 5, 2, 8, 1, 6) \ 44T (126, 4, 5, 2, 12, 14, 13, 8, 6) \ 45T (127, 4, 10, 2, 7, 11, 15, 9, 0) \ 46T (128, 14, 8, 12, 10, 13, 3, 11, 2) \ 47T (129, 10, 8, 14, 9, 5, 1, 15, 7) \ 48T (130, 12, 2, 9, 13, 5, 14, 1, 15) \ 49T (131, 10, 4, 1, 14, 11, 15, 9, 2) \ 50T (132, 9, 12, 7, 4, 2, 1, 0, 9) \ 51T (133, 11, 15, 4, 10, 3, 12, 13, 5) \ 52T (134, 1, 5, 6, 13, 14, 15, 3, 10) \ 53T (135, 0, 14, 6, 10, 1, 13, 3, 2) \ 54T (136, 2, 11, 1, 5, 12, 13, 3, 5) \ 55T (137, 7, 11, 4, 1, 12, 10, 14, 10) \ 56T (138, 3, 6, 7, 13, 11, 15, 10, 0) \ 57T (139, 10, 8, 7, 14, 1, 11, 0, 13) \ 58T (140, 5, 3, 13, 11, 8, 5, 12, 6) \ 59T (141, 15, 2, 12, 13, 10, 8, 5, 0) \ 60T (142, 13, 9, 10, 2, 11, 3, 4, 1) \ 61T (143, 2, 14, 6, 5, 1, 8, 15, 0) \ 62T (144, 12, 9, 14, 10, 1, 3, 11, 13) \ 63T (145, 12, 13, 11, 2, 5, 6, 4, 8) \ 64T (146, 5, 0, 2, 1, 6, 8, 15, 13) \ 65T (147, 8, 7, 1, 3, 5, 11, 14, 15) \ 66T (148, 0, 9, 2, 15, 3, 1, 8, 10) \ 67T (149, 4, 14, 11, 6, 8, 5, 12, 7) \ 68T (150, 5, 9, 10, 12, 14, 15, 2, 7) \ 69T (151, 11, 6, 5, 7, 11, 14, 2, 1) \ 70T (152, 13, 1, 7, 4, 6, 8, 15, 9) \ 71T (153, 10, 12, 9, 1, 6, 7, 8, 15) \ 72T (154, 8, 4, 5, 1, 3, 0, 7, 13) \ 73T (155, 13, 9, 3, 4, 10, 1, 15, 7) \ 74T (156, 13, 8, 2, 7, 0, 6, 3, 6) \ 75T (157, 15, 15, 13, 6, 0, 5, 14, 4) \ 76T (158, 13, 1, 2, 2, 7, 9, 2, 6) \ 77T (159, 5, 12, 10, 13, 6, 1, 4, 7) \ 78T (160, 0, 2, 9, 1, 5, 11, 14, 11) \ 79T (161, 14, 6, 5, 10, 3, 2, 15, 4) \ 80T (162, 3, 10, 0, 1, 13, 14, 11, 15) \ 81T (163, 13, 7, 5, 9, 5, 0, 11, 4) \ 82T (164, 2, 11, 1, 12, 3, 13, 4, 9) \ 83T (165, 1, 0, 10, 11, 5, 13, 4, 3) \ 84T (166, 3, 9, 1, 12, 15, 14, 10, 5) \ 85T (167, 3, 10, 11, 14, 5, 1, 8, 12) \ 86T (168, 10, 15, 5, 14, 4, 13, 6, 3) \ 87T (169, 1, 8, 6, 4, 11, 13, 7, 10) \ 88T (170, 8, 7, 1, 15, 11, 9, 0, 3) \ 89T (171, 4, 0, 11, 7, 1, 15, 3, 13) \ 90T (172, 14, 7, 3, 4, 9, 11, 0, 6) \ 91T (173, 7, 3, 11, 4, 8, 2, 10, 15) \ 92T (174, 7, 9, 14, 2, 0, 5, 13, 3) \ 93T (175, 4, 8, 5, 9, 3, 11, 1, 14) \ 94T (176, 13, 12, 3, 3, 1, 4, 8, 5) \ 95T (177, 7, 12, 9, 13, 10, 4, 5, 8) \ 96T (178, 14, 3, 12, 7, 2, 6, 5, 5) \ 97T (179, 7, 0, 8, 6, 2, 14, 12, 15) \ 98T (180, 2, 12, 0, 4, 1, 15, 11, 10) \ 99T (181, 0, 7, 5, 12, 15, 10, 14, 3) \ 100T (182, 3, 10, 2, 5, 11, 6, 13, 14) \ 101T (183, 3, 2, 7, 11, 0, 13, 8, 10) \ 102T (184, 0, 12, 15, 1, 9, 2, 11, 4) \ 103T (185, 11, 15, 8, 10, 9, 1, 13, 3) \ 104T (186, 12, 13, 15, 12, 3, 9, 5, 7) \ 105T (187, 4, 10, 5, 6, 1, 11, 0, 11) \ 106T (188, 11, 6, 7, 9, 0, 8, 14, 8) \ 107T (189, 1, 15, 6, 9, 12, 6, 7, 14) \ 108T (190, 1, 5, 6, 11, 12, 13, 3, 0) \ 109T (191, 0, 8, 15, 13, 12, 6, 1, 4) \ 110T (192, 12, 15, 8, 4, 2, 0, 9, 5) \ 111T (193, 14, 5, 13, 10, 12, 11, 0, 1) \ 112T (194, 12, 1, 9, 8, 10, 9, 0, 2) \ 113T (195, 11, 0, 13, 4, 6, 2, 14, 15) \ 114T (196, 0, 10, 6, 2, 12, 4, 9, 13) \ 115T (197, 7, 12, 8, 10, 1, 0, 5, 0) \ 116T (198, 12, 13, 0, 5, 3, 14, 11, 4) \ 117T (199, 9, 1, 4, 14, 10, 12, 15, 6) \ 118T (200, 3, 12, 13, 6, 14, 2, 1, 6) \ 119T (201, 5, 14, 8, 10, 1, 12, 2, 0) \ 120T (202, 5, 8, 2, 7, 4, 15, 14, 2) \ 121T (203, 14, 13, 10, 9, 11, 15, 7, 8) \ 122T (204, 12, 13, 14, 2, 4, 9, 5, 7) \ 123T (205, 0, 7, 5, 4, 7, 13, 6, 8) \ 124T (206, 7, 0, 15, 6, 12, 2, 5, 4) \ 125T (207, 8, 6, 0, 1, 1, 11, 1, 9) \ 126T (208, 11, 6, 14, 9, 5, 3, 7, 13) \ 127T (209, 12, 3, 15, 9, 1, 0, 8, 13) \ 128T (210, 11, 1, 9, 8, 7, 6, 12, 2) \ 129T (211, 10, 9, 2, 6, 8, 11, 0, 4) \ 130T (212, 10, 13, 15, 9, 6, 15, 14, 10) \ 131T (213, 9, 5, 8, 3, 4, 7, 11, 4) \ 132T (214, 1, 2, 13, 5, 8, 4, 3, 6) \ 133T (215, 8, 3, 2, 4, 9, 14, 12, 13) \ 134T (216, 5, 7, 8, 15, 3, 1, 10, 4) \ 135T (217, 2, 9, 3, 2, 14, 11, 5, 7) \ 136T (218, 15, 6, 4, 10, 14, 3, 13, 2) \ 137T (219, 0, 8, 14, 5, 15, 7, 10, 1) \ 138T (220, 14, 0, 6, 10, 8, 2, 7, 4) \ 139T (221, 15, 13, 3, 14, 11, 2, 14, 6) \ 140T (222, 8, 2, 10, 13, 1, 0, 4, 11) \ 141T (223, 7, 15, 2, 9, 1, 12, 11, 3) \ 142T (224, 13, 15, 3, 12, 15, 7, 0, 8) \ 143T (225, 0, 2, 1, 11, 14, 3, 9, 14) \ 144T (226, 12, 14, 3, 15, 8, 5, 1, 7) \ 145T (227, 0, 5, 13, 8, 4, 2, 1, 3) 146