import java.util.*; public class Tribune { private static final Scanner sc = new Scanner(System.in); public static void main(String[] args) { while (sc.hasNextLine()) { Map map = new HashMap<>(); int n = sc.nextInt(); char[][] ch = new char[n][n]; for (int i = 0; i < n; i++) { String rada = sc.next(); for (int j = 0; j < n; j++) { char c = rada.charAt(j); ch[i][j] = c; if (map.containsKey(c)) { int pocet = map.get(c); map.replace(c, pocet + 1); } else { map.put(c, 1); } } } char spatny = '*'; char dobry = '*'; boolean pomB = true; for (char c : map.keySet()) { if (map.get(c) == 1 || map.get(c) == (n+1)) { if(map.get(c) == 1){ pomB = false; } spatny = c; } if (map.get(c) == (n - 1)) { dobry = c; } } if(pomB){ for (int i = 0; i < n; i++) { byte vyskyt = 0; int[][] pom = new int[2][2]; for (int j = 0; j < n; j++) { if (ch[i][j] == spatny) { pom[vyskyt][0] = i; pom[vyskyt][1] = j; vyskyt++; } } if(vyskyt == 2){ byte pocetA = 0; for (int k = 0; k < n; k++) { if (ch[pom[0][0]][k] == spatny) { pocetA++; } } if(pocetA == 2){ System.out.println((pom[0][0]+1) + " " + (pom[0][1] + 1) + " " + dobry); }else{ System.out.println((pom[1][0] + 1) + " " + (pom[1][1] + 1) + " " + dobry); } } } }else{ for (int i = 0; i < n; i++) { for (int j = 0; j < n; j++) { if (ch[i][j] == spatny) { System.out.println((i + 1) + " " + (j + 1) + " " + dobry); break; } } } } } } }