fork download
  1. import itertools
  2. offsets = (0, 1, 3, 9)
  3. offsets = {tuple((13 + j - i) % 13 for j in offsets) for i in offsets}
  4. offsets = {j for i in offsets for j in itertools.permutations(i)}
  5. offsets = {tuple((j * k) % 13 for k in i) for i in offsets for j in range(1, 13)}
  6. print(f"{len(offsets)} offsets, not printing them all")
  7. for i in sorted(offsets):
  8. if i == tuple(sorted(i)) and i[0] == 0:
  9. print(" ".join(f"{j:2d}" for j in i))
Success #stdin #stdout 0.03s 9304KB
stdin
Standard input is empty
stdout
384 offsets, not printing them all
 0   1   3   9
 0   1   4   6
 0   1   5  11
 0   1   8  10
 0   2   3   7
 0   2   5   6
 0   2   8  12
 0   2   9  10
 0   3   4  11
 0   3   5  12
 0   4   5   7
 0   4  10  12
 0   6   8   9
 0   6  10  11
 0   7   8  11
 0   7   9  12