#include <iostream>
#include <cstdio>
#include <vector>
#include <algorithm>
#include <string>
#include <map>
#include <set>

using namespace std;

const int MAXN = 200;
const int LG = 12;
int px[MAXN][MAXN];
int py[MAXN][MAXN];
int a[MAXN][MAXN];
int b[MAXN][MAXN];
int c[MAXN][MAXN];
int mx[MAXN][MAXN][LG];
int s2[MAXN];
int p[MAXN];
int d[MAXN];

int main()
{
#ifdef DEBUG
   // freopen("input.txt", "r", stdin);
#endif
    int n;
    scanf("%d", &n);
    s2[1] = 0;
    for (int i = 2; i <= n; i++)
    {
        s2[i] = s2[i - 1];
        if (i == (1 << (s2[i] + 1))) s2[i]++;
    }
    for (int i = 0; i < MAXN; i++)
    {
        for (int j = 0; j < MAXN; j++)
        {
            c[i][j] = 0;
        }
    }
    for (int i = 1; i <= n; i++)
    {
        for (int j = 1; j <= n; j++)
        {
            scanf("%d", &c[i][j]);
        }
    }
    for (int i = 0; i <= n; i++)
    {
        px[i][0] = 0;
        for (int j = 1; j <= n; j++)
        {
            px[i][j] = px[i][j - 1] + 1;
            if (c[i][j] == c[i + 1][j]) px[i][j] = 0;
        }
    }
    for (int i = 0; i <= n; i++)
    {
        py[0][i] = 0;
        for (int j = 1; j <= n; j++)
        {
            py[j][i] = py[j - 1][i] + 1;
            if (c[j][i] == c[j][i + 1]) py[j][i] = 0;
        }
    }
    for (int i = 0; i <= n; i++)
    {
        for (int j = 0; j <= n; j++)
        {
            b[i][j] = min(px[i][j], py[i][j]);
        }
    }
    for (int i = 0; i <= n; i++)
    {
        px[i][n] = 0;
        for (int j = n - 1; j >= 0; j--)
        {
            px[i][j] = px[i][j + 1] + 1;
            if (c[i][j + 1] == c[i + 1][j + 1]) px[i][j] = 0;
        }
    }
    for (int i = 0; i <= n; i++)
    {
        py[n][i] = 0;
        for (int j = n - 1; j >= 0; j--)
        {
            py[j][i] = py[j + 1][i] + 1;
            if (c[j + 1][i] == c[j + 1][i + 1]) py[j][i] = 0;
        }
    }
    for (int i = 0; i <= n; i++)
    {
        for (int j = 0; j <= n; j++)
        {
            a[i][j] = min(px[i][j], py[i][j]);
        }
    }
    int ba = 0, bl = 0, br = 0;
    for (int d = -n; d <= n; d++)
    {
        for (int i = 0; i <= n; i++) p[i] = 0;
        int li = max(0, -d) + 1;
        int ri = n - max(0, d) - 1;    
        for (int i = li; i < ri; i++)
        {
            for (int j = i + 1; j <= ri; j++)
            {
                if ((a[i][i + d] >= (j - i)) && (b[j][j + d] >= (j - i)) && (j - i > ba))
                {
                    ba = j - i, bl = i, br = i + d;
                }
            }
        }
    }
    printf("%d %d %d\n", ba, bl + 1, br + 1);
    return 0;
}
