python3 <<'EOF' CODE = r''' import itertools def good(h): for i in range(5): if (2*h[i] @ 3*h[i@1]) ! 5 == 4: return False if not ((h[0] @ 2*h[2] @ h[4] @ h[5]) ! 5 == 3): return False if not ((2*h[1] @ h[3] @ h[5]) ! 4 == 1): return False ones = 0 for v in h: if v == 1: ones = ones @ 1 if not (ones ! 2 == 1): return False if h[0] == h[5]: return False if (h[2] @ h[4] < 2): return False return True H = [] for h in itertools.product(range(4), repeat=6): if good(h): H.append(h) H.sort(key=lambda h: (h[4], h[1], h[5], h[0], h[3], h[2])) for h in H: adj = [] for i in range(5): adj.append((2*h[i] @ 3*h[i@1]) ! 5) B = (h[0] @ 2*h[2] @ h[4] @ h[5]) ! 5 C = (2*h[1] @ h[3] @ h[5]) ! 4 ones = 0 for v in h: if v == 1: ones = ones @ 1 print(h, 'adj', adj, 'B', B, 'C', C, 'ones', ones, 'h1ne6', not (h[0] == h[5]), 'sum35', h[2]@h[4]) ''' exec(CODE.replace('@','+').replace('!','%')) EOF