#include<stdio.h>

const int NMAX = 2005;

int i, j, ir, jr, w[NMAX][NMAX], di[] = {-1, 0 , 1, 0}, dj[] = {0, 1, 0, -1};

/*bool inBound (int x, int y) {
    return x >= i && x <= ir && y >= j && y <= jr;
}

bool ok() {
    int x, y, k, found;

    for(x = i; x <= ir; ++ x)
        for(y = j; y <= jr; ++ y) {
            found = 0;
            for(k = 0; k <= 3; ++ k)
                if(inBound(x + di[k], y + dj[k]) && w[x + di[k]][y + dj[k]] == w[x][y]) {
                    found = 1;
                    break;
                }
            if(!found)
                return 0;
        }
    return 1;
}

int main() {
   // freopen("window.in", "r", stdin);
   // freopen("window.out", "w", stdout);
    int dir, len, found, n;

    scanf("%d", &n);
    for(i = 1; i <= n; ++ i)
        for(j = 1; j <= n; ++ j)
            scanf("%d", &w[i][j]);

    for(len = n - 1; len > 1; -- len)
        for(i = 2; i <= n - len; ++ i)
            for(j = 2; j <= n - len; ++ j) {
                ir = i + len - 1;
                jr = j + len - 1;

                if(ok()) {
                    printf("%d %d %d\n", len, i, j);
                    return 0;
                }
            }
*/

int len, oleft[NMAX][NMAX], oright[NMAX][NMAX], vsus[NMAX][NMAX], vjos[NMAX][NMAX];

bool ok2() {
    return vsus[i][jr] - vsus[i][j - 1] == 0 && vjos[ir][jr] - vjos[ir][j - 1] == 0 &&
    oleft[ir][j] - oleft[i - 1][j] == 0 && oright[ir][jr] - oright[i - 1][jr] == 0;
}

int main() {
  // freopen("window.in", "r", stdin);
  // freopen("window.out", "w", stdout);
   int n;

   scanf("%d", &n);
   for(i = 1; i <= n; ++ i)
       for(j = 1; j <= n; ++ j)
           scanf("%d", &w[i][j]);


   for(i = 1; i <= n; ++ i)
        for(j = 1; j <= n; ++ j) {
            if(w[i][j] == w[i][j + 1])
                oright[i][j] = 1,
                oleft[i][j + 1] = 1;
            if(w[i + 1][j] == w[i][j])
                vjos[i][j] = 1,
                vsus[i + 1][j] = 1;
        }

    for(i = 1; i <= n; ++ i)
        for(j = 1; j <= n; ++ j)
            vjos[i][j] += vjos[i][j - 1],
            vsus[i][j] += vsus[i][j - 1],
            oleft[i][j] += oleft[i - 1][j],
            oright[i][j] += oright[i - 1][j];

    for(len = n - 1; len > 1; -- len)
        for(i = 2; i <= n - len; ++ i)
            for(j = 2; j <= n - len; ++ j) {
                ir = i + len - 1;
                jr = j + len - 1;

                if(ok2()) {
                    printf("%d %d %d\n", len, i, j);
                    return 0;
                }
            }
   return 0;
}
