#include #include #include #include #include #include #include #include #include #include int main(int argc, char* argv[]) { int teams; while (scanf("%d", &teams) != EOF) { std::string line; std::getline(std::cin, line); int rowCounters[26][26]; int columnCounters[26][26]; int letterCounters[26]; std::string lines[26]; memset(rowCounters, 0, sizeof(rowCounters)); memset(columnCounters, 0, sizeof(columnCounters)); memset(letterCounters, 0, sizeof(letterCounters)); for (int i = 0; i < teams; i++) { std::getline(std::cin, lines[i]); for (int k = 0; k < teams; k++) { columnCounters[k][lines[i][k] - 'A']++; rowCounters[i][lines[i][k] - 'A']++; letterCounters[lines[i][k] - 'A']++; } } int missingLetter = 0; int wrongLetter = 0; for (int i = 0; i < 26; i++) { if (letterCounters[i] == teams - 1) { missingLetter = i; } if (letterCounters[i] == teams + 1 || letterCounters[i] == 1) wrongLetter = i; } int foundcol; int foundrow; for (int i = 0; i < teams; i++) { if (columnCounters[i][missingLetter] == 0 || columnCounters[i][missingLetter] == 2) { foundcol = i; for (int k = 0; k < teams; k++) { if (rowCounters[k][missingLetter] == 0 || rowCounters[k][missingLetter] == 2) { foundrow = k; break; } } break; } } char finalletter = missingLetter + 'A'; printf("%d %d %c\n", foundrow + 1, foundcol + 1, finalletter); } return 0; }