import itertools
line = ['A','B','%']
def line_permutations(line):
if '%' not in line:
return [line]
line.remove('%') # use copy.copy if you don't want to modify your matrix here
for i in range(len(line)):
yield line[i:] + ['%'] + line[:i]
permutations = itertools.product([line_permutations(line) for line in matrix])
print(permutations)
aW1wb3J0IGl0ZXJ0b29scwpsaW5lID0gWydBJywnQicsJyUnXQpkZWYgbGluZV9wZXJtdXRhdGlvbnMobGluZSk6CiAgIGlmICclJyBub3QgaW4gbGluZToKICAgICAgIHJldHVybiBbbGluZV0KICAgbGluZS5yZW1vdmUoJyUnKSAjIHVzZSBjb3B5LmNvcHkgaWYgeW91IGRvbid0IHdhbnQgdG8gbW9kaWZ5IHlvdXIgbWF0cml4IGhlcmUKICAgZm9yIGkgaW4gcmFuZ2UobGVuKGxpbmUpKToKICAgICAgIHlpZWxkIGxpbmVbaTpdICsgWyclJ10gKyBsaW5lWzppXQpwZXJtdXRhdGlvbnMgPSBpdGVydG9vbHMucHJvZHVjdChbbGluZV9wZXJtdXRhdGlvbnMobGluZSkgZm9yIGxpbmUgaW4gbWF0cml4XSkKcHJpbnQocGVybXV0YXRpb25zKQ==