#include <iostream>
#include <cstring>

#define NMAX 405
using namespace std;

int n, m;
char mat[NMAX][NMAX];
int vis[NMAX][NMAX];

int dx[4] = {0, 0, 1, -1};
int dy[4] = {1, -1, 0, 0};

int zona;
int marimi[NMAX*NMAX];
bool pus[NMAX*NMAX];

void dfs (int lin, int col) {
    vis[lin][col] = zona;
    marimi[zona] ++;

    int nx, ny;
    for (int i = 0; i < 4; i++) {
        nx = lin + dx[i];
        ny = col + dy[i];

        if (nx >= 1 && ny >= 1 && nx <= n && ny <= m && mat[lin][col] == mat[nx][ny] && !vis[nx][ny])
            dfs (nx, ny);
    }
}

int main()
{
    int v = 1;
    cin >> v;
    cin >> n >> m;

    cin.get();
    for (int i = 1; i <= n; i++) {
        cin.get(mat[i] + 1, NMAX);
        cin.get();
    }

    int j, maxim = -1;
    for (int i = 1; i <= n; i++)
        for (j = 1; j <= m; j++)
            if (!vis[i][j]) {
                zona ++;
                dfs(i, j);

                if (marimi[zona] > maxim)
                    maxim = marimi[zona];
            }

    if (v == 1)
        cout << maxim << '\n';
    else {
        int maxim = -1;
        int lin, col;
        char cul;

        int j, k, nx, ny, l, nx2, ny2, p = 0;
        for (int i = 1; i <= n; i++)
            for (j = 1; j <= m; j++) {
                for (k = 0; k < 4; k++) {
                    nx = i + dx[k];
                    ny = j + dy[k];

                    if (nx >= 1 && ny >= 1 && nx <= n && ny <= m) {
                        for (l = 0; l < 4; l++) {
                            nx2 = i + dx[l];
                            ny2 = j + dy[l];

                            if (nx2 >= 1 && ny2 >= 1 && nx2 <= n && ny2 <= m && mat[nx][ny] == mat[nx2][ny2] && !pus[vis[nx2][ny2]]) {
                                pus[vis[nx2][ny2]] = 1;
                                p += marimi[vis[nx2][ny2]];
                            }
                        }

                        if (p > maxim) {
                            maxim = p;
                            lin = i;
                            col = j;
                            cul = mat[nx][ny];
                        }

                        for (l = 0; l < 4; l++) {
                            nx2 = i + dx[l];
                            ny2 = j + dy[l];

                            if (nx2 >= 1 && ny2 >= 1 && nx2 <= n && ny2 <= m && mat[nx][ny] == mat[nx2][ny2] && pus[vis[nx2][ny2]]) {
                                pus[vis[nx2][ny2]] = 0;
                                p -= marimi[vis[nx2][ny2]];
                            }
                        }
                    }
                }
            }

        cout << lin << ' ' << col << '\n';
        cout << cul << '\n';
    }

    return 0;
}