#include<cstdio>
int a[2003][2003],di[2003][2003];
int tr[2003][2003];
int main()
{
 //   freopen("x.in","r",stdin);
    int n,i,j,st,dr,mi,x,y,lu,li,ma,xs,ys;
    bool te,t2;
    ma=-1;
    scanf("%d",&n);
    for(i=1;i<=n;i++)
        for(j=1;j<=n;j++)
        scanf("%d",&a[i][j]);
        st=1;
        dr=n-2;
        mi=n-2;
        if(mi%2==1)
            mi--;
        te=0;
     while(st<=dr)
     {
         mi=(st+dr)/2;
        li=n-1;
    for(i=mi+1;i<=li;i++)
    {
        for(j=mi+1;j<=li;j++)
        {
            if(a[i][j]==a[i+1][j])
                tr[i][j]=mi;
            if(a[i][j]==a[i][j+1])
                tr[i][j]=mi;
            if(tr[i][j]!=mi)
        {
            t2=1;
        for(x=0;x<mi;x++)
        if(a[i][j-x]==a[i+1][j-x])
        {
            t2=0;
            break;
        }
        for(y=j;y<j-x+mi;y++)
            tr[i][y]=mi;
        for(x=0;x<mi;x++)
        if(a[i-mi+1][j-x]==a[i-mi][j-x])
        {
            t2=0;
            break;
        }
        for(y=j;y<j-x+mi;y++)
            tr[i][y]=mi;
        for(x=0;x<mi;x++)
        if(a[i-x][j]==a[i-x][j+1])
        {
            t2=0;
            break;
        }
         for(y=i;y<i-x+mi;y++)
            tr[y][j]=mi;
        for(x=0;x<mi;x++)
        if(a[i-x][j-mi+1]==a[i-x][j-mi])
        {
            t2=0;
            break;
        }
         for(y=i;y<i-x+mi;y++)
            tr[y][j]=mi;
        if(t2==1)
        {
            te=1;
            ma=mi;
            xs=i;
            ys=j;
            i=li+1;
            j=li+1;
        }
        }
        }

    }
    if(te)
    {
        st=mi+1;
    }
    else
        dr=mi-1;
    }
    printf("%d %d %d\n",ma,xs-ma+1,ys-ma+1);
    return 0;
}
