#include<cstdio>
#include<cmath>
#include<iostream>
using namespace std;
int n,a[2048][2048],u[2048][2048],d[2048][2048],l[2048][2048],r[2048][2048];
int m,mu,md,ml,mr,mdr,mul;
int main()
{
    int i,j;
    scanf("%d",&n);
    for(i=0;i<n;++i)
    {
        for(j=0;j<n;++j)
        {
            scanf("%d",&a[i][j]);
        }
    }
    for(i=1;i<n-1;++i)
    {
        for(j=1;j<n-1;++j)
        {
            if(a[i][j]==a[i+1][j]){l[i+1][j+1]=0;}
            else{l[i+1][j+1]=l[i+1][j]+1;if(l[i+1][j+1]>ml){ml=l[i+1][j+1];}}
            if(a[i][j]==a[i][j+1]){u[i+1][j+1]=0;}
            else{u[i+1][j+1]=u[i][j+1]+1;if(u[i+1][j+1]>mu){mu=u[i+1][j+1];}}
            if(min(l[i+1][j+1],u[i+1][j+1])>mul){mul=min(l[i+1][j+1],u[i+1][j+1]);}
        }
    }
    for(i=n-2;i>0;--i)
    {
        for(j=n-2;j>0;--j)
        {
            if(a[i][j]==a[i-1][j]){r[i][j]=0;if(r[i][j]>mr){mr=r[i][j];}}
            else{r[i][j]=r[i][j+1]+1;}
            if(a[i][j]==a[i][j-1]){d[i][j]=0;if(d[i][j]>md){md=d[i][j];}}
            else{d[i][j]=d[i+1][j]+1;}
            if(min(r[i][j],d[i][j])>mdr){mdr=min(r[i][j],d[i][j]);}
        }
    }
    //m=mu;if(m<md){m=md;}if(m<ml){m=ml;}if(m<mr){m=mr;}
    m=min(mdr,mul);
    if(m%2){--m;}
    while(m)
    {
        for(i=1;i<n-m;++i)
        {
            for(j=1;j<n-m;++j)
            {
                if(d[i][j]>=m&&r[i][j]>=m&&u[i+m][j+m]>=m&&l[i+m][j+m]>=m)
                {
                    printf("%d %d %d\n",m,i+1,j+1);return 0;
                }
            }
        }
        m-=2;
    }
    return 0;
}
/*
6
1 1 4 4 13 14
2 3 3 5 13 14
2 6 7 5 12 12
9 6 7 10 10 15
9 8 8 11 11 15
16 16 17 17 18 18
*/