#include int main() { char c, a[27][27]; int n, i, j, k, t, row[28][2], wrong1, wrongn, right, count; while (scanf("%d\n", &n) != EOF) { for (i = 0; i < 27; i++) for (j = 0; j < 27; j++) a[i][j] = 0; for (i = 0; i < 28; i++) for (j = 0; j < 2; j++) row[i][j] = 0; for (i = 0; i < n; i++) { for (j = 0; j < n; j++) { scanf("%c", &a[i][j]); //printf("%c", a[i][j]); } scanf("%c", &c); //if (c != '\n') printf("AA!\n"); } count = 0; for (i = 0; i < n; i++) { t = 0; for (j = 0; j < count; j++) if (row[j][0] == (int)a[0][i]) { row[j][1]++; t++; } if (t == 0) { row[count][0] = (int)(a[0][i]); row[count++][1] = 1; } } //row[n + 1][0] = (int)('a'); //row[n + 1][1] = 0; for (j = 1; j < n; j++) { for (i = 0; i < n; i++) { t = 0; for (k = 0; k < count; k++) if (row[k][0] == (int)a[j][i]) { row[k][1]++; t = 1; } if (t == 0) { row[count][0] = (int)a[j][i]; row[count++][1] = 1; } } } wrong1 = 0; wrongn = 0; //for (i = 0; i < count; i++) printf(" %c %d\n", (char)row[i][0], row[i][1]); for (i = 0; i < count; i++) { if (row[i][1] == 1) wrong1 = row[i][0]; if (row[i][1] == (n + 1)) wrongn = row[i][0]; if (row[i][1] == n - 1) right = row[i][0]; } if (wrong1 > 0) for (i = 0; i < n; i++) for (j = 0; j < n; j++) if ((int)a[i][j] == wrong1) printf("%d %d ", i + 1, j + 1); else continue; else { for (i = 0; i < n; i++) { t = 0; for (j = 0; j < n; j++) if ((int)a[i][j] == wrongn) t++; if (t == 2) { printf("%d ", i + 1); break; } } for (i = 0; i < n; i++) { t = 0; for (j = 0; j < n; j++) if ((int)a[j][i] == wrongn) ++t; if (t == 2) { printf("%d ", i + 1); break; } } } printf("%c \n", (char)right); } return 0; }