from libsolve import Permutation from itertools import permutations PRINT_LATEX = False # (1 2 5 8 3 7 6)(4) rhs = Permutation([1, 4, 6, 3, 7, 0, 5, 2]) # (2 8 5 7 3 6 4)(1) lhs = Permutation([0, 7, 5, 1, 6, 3, 2, 4]) for perm in permutations(range(8), 8): p = Permutation(perm) id = list(range(8)) right = rhs.apply(id) left = p.apply(lhs.apply(p.apply(id))) if left == right: if PRINT_LATEX: print('\\begin{pmatrix}', end='') print(*range(1, 9), sep=' & ', end='') print(*map(lambda i: f'{i + 1}', p.perm), sep=' & ', end='\\end{pmatrix}\\\\\n') else: print(p.perm)