#include <stdio.h>

int n;
int v[1005][1005];
int stanga[1005][1005], sus[1005][1005], stsus[1005][1005], susst[1005][1005];

inline int min (int a, int b) {return a < b ? a : b;}

int main ()
{
#ifdef local
    freopen ("window.in", "r", stdin);
    freopen ("window.out", "w", stdout);
#endif

    scanf ("%d", &n);
    
    int i, j, k;
    
    for (i = 1; i <= n; i ++)
        for (j = 1; j <= n; j ++)
            scanf ("%d", &v[i][j]);
    for (i = 2; i < n; i ++)
    {
        for (j = 2; j < n; j ++)
        {
            if (v[i - 1][j] == v[i][j])
                continue;
            if (v[i][j - 1] == v[i][j])
            {
                stanga[i][j] = stanga[i][j - 2] + 2;
                continue;
            }
            if (v[i][j + 1] == v[i][j])
                continue;
            if (v[i + 1][j] == v[i][j])
                stanga[i][j] = stanga[i][j - 1] + 1;
        }
        for (j = 2; j < n; j ++)
        {
            if (v[i - 1][j] == v[i][j]) // in sus
                sus[i][j] = sus[i - 2][j] + 2;
            if (v[i][j - 1] == v[i][j]) // in stanga
                continue;
            if (v[i][j + 1] == v[i][j]) // in dreapta
                sus[i][j] = sus[i - 1][j] + 1;
            if (v[i + 1][j] == v[i][j]) // in jos
                continue;
        }
        for (j = 2; j < n; j ++)
        {
            if (v[i - 1][j] == v[i][j]) // in sus
                susst[i][j] = susst[i - 2][j] + 2;
            if (v[i][j - 1] == v[i][j]) // in stanga
                susst[i][j] = susst[i - 1][j] + 1;
            if (v[i][j + 1] == v[i][j]) // in dreapta
                continue;
            if (v[i + 1][j] == v[i][j]) // in jos
                continue;
        }
        for (j = 2; j < n; j ++)
        {
            if (v[i - 1][j] == v[i][j])
                stsus[i][j] = stsus[i - 1][j] + 1;
            if (v[i][j - 1] == v[i][j])
            {
                stsus[i][j] = stsus[i][j - 2] + 2;
                continue;
            }
            if (v[i][j + 1] == v[i][j])
                continue;
            if (v[i + 1][j] == v[i][j])
                continue;
        }
    }
    
    int sol = 0, ci, cj, lim;
    
    for (i = 2; i < n; i ++)
    {
        for (j = 2; j < n; j ++)
        {
            lim = min (i - 1, j - 1);
            for (k = sol + 2; k <= lim; k += 2)
            {
                if (susst[i][j] >= k && stanga[i - k + 1][j] >= k && stsus[i][j] >= k && sus[i][j - k + 1] >= k)
                {
                    sol = k;
                    ci = i - k + 1;
                    cj = j - k + 1;
                }
            }
        }
    }
    printf ("%d %d %d", sol, ci, cj);
    return 0;
}