#include int gcd(int a, int b) { if (b == 0) return a; else return gcd(b, a % b); } int da[26][26], l[26]; int main() { int n = 26; int i, j, k, d; for (i = 0; i < n; i++) l[i] = 0; for (d = 0; d < n; d++) { if (d == 1) continue; j = gcd(n, d); for (i = 0; i < j; i++) da[i][l[i]++] = d; } int s; for (s = 0; s < n; s++) { for (k = 0; k < l[s]; k++) { d = da[s][k]; for (i = s;;) { j = (i + d) % n; printf("%c%c\n", 'A' + i, 'A' + j); if (j == s) break; i = j; } } printf("%c%c\n", 'A' + s, 'A' + (s + 1) % n); } return 0; }