import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
import java.util.Map;
import java.util.Scanner;
import java.util.Set;

public class Main {

	/**
	 * @param args
	 * @throws IOException
	 */
	public static void main(String[] args) throws IOException {

		String all[];
		List<String> result = new ArrayList<String>();

		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

		String q = "";
		while ((q = br.readLine()) != null) {

			if (q.equals(""))
				break;

			int numbers = new Scanner(q).nextInt();

			all = new String[numbers];

			String line;
			for (int i = 0; i < numbers; i++) {
				all[i] = br.readLine();
			}

			Map<Character, Integer> ch = new HashMap();

			for (int i = 0; i < numbers; i++) {
				for (int j = 0; j < numbers; j++) {

					int v = 1;
					if (ch.containsKey(all[i].charAt(j)))
						v = ch.get(all[i].charAt(j)) + 1;

					ch.put(all[i].charAt(j), v);
				}
			}

			char our = '.';
			char miss = '.';
			int row = 0;
			int col = 0;
			for (Character a : ch.keySet()) {
				if (ch.get(a) == 1) {
					our = a;
				}
				if (ch.get(a) == numbers - 1) {
					miss = a;
				}
			}

			for (int i = 0; i < numbers; i++) {
				for (int j = 0; j < numbers; j++) {

					if (all[i].charAt(j) == our) {
						row = i + 1;
						col = j + 1;
						break;
					}
				}
			}

			result.add("" + row + " " + col + " " + miss);

		}

		for (int i = 0; i < result.size(); i++) {
			System.out.println(result.get(i));
		}

	}

}
