#include #include int main(){ int teams[26]; int test[26][3]; bzero(teams, 26); bzero(test,3*26); int err_char = 0; int err_row = 0; int err_col = 0; int N = 0; int c = 0; int i = 0; int j = 0; int k = 0; int buf = 0; while(1){ if (scanf("%d\n", &N) == EOF){break;} //c = getchar(); //printf("c: %c\n", (char)c); //if (c == EOF){ //printf("eof\n"); //break;} //if(c=='\n'){//printf("enter\n"); //c = getchar();} // printf("c: %c\n", (char)c); //printf("N=%d\n", N); for(i = 0; i < N; i++){ if(err_char == 0){ for (j = 0; j <= N; j++){ c = getchar(); if(c=='\n'){continue;} teams[c-65]++; if(i > 2){ if(teams[c-65] == 1){ err_char = c; buf = i; err_row = i+1; err_col = j+1; } } if(i <= 2) { test[i][j] = c; // printf("(%c) - %d, %d",(char)c, i, j); } } }else{ for (j = 0; j <= N; j++){ c= getchar(); if(c=='\n'){continue;} //if(c=='\n'){c = getchar();} //printf("read %c\n", (char) c); } } } if (err_char == 0){ for(k = 0; k < 26; k++){ if(teams[k]==1){ err_char = k+65; //printf("k %c", (char)err_char); } if(teams[k]==2){ buf = k+65; } } for(i = 0; i < 26; i++){ for (j = 0; j < 3; j++){ if(test[i][j] == err_char){ printf("%d %d %c\n",i+1, j+1, (char)buf); break; } } } }else{ for(j = 0; j<26; j++){ if(teams[j] == buf){ printf("%d %d %c\n", err_row, err_col, (char)(j+65)); break; } } } for(i = 0; i < 26; i++){ teams[i] = 0; } for(i = 0; i < 26; i++){ for(j = 0; j < 3; j++) { test[i][j] = 0; } } err_char = 0; err_col = 0; err_row = 0; buf = 0; N=0; } return 0; }