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