#include<iostream>
using namespace std;
long long n,a[2048][2048];
void read()
{
    int i,j;
    cin>>n;
    for(i=1;i<=n;i++)
    {
        for(j=1;j<=n;j++)
        {
            cin>>a[i][j];
        }
    }
}
void solve()
{
    int i,j,k,l,maxi=0,o,p,sx,sy,y,ansx,ansy,xa;
    for(i=2;i<n-1;i++)
    {
        for(j=2;j<n-1;j++)
        {
            if((a[i][j]==a[i][j+1]&&a[i+1][j]==a[i+1][j+1])||(a[i][j]==a[i+1][j]&&a[i][j+1]==a[i+1][j+1])||(a[i][j]==a[i][j+1]&&a[i+1][j]==a[i+2][j]&&a[i+1][j+1]==a[i+2][j+1]&&i<n-2)||(a[i+2][j]==a[i+2][j+1]&&a[i][j]==a[i+1][j]&&a[i][j+1]==a[i+1][j+1]&&i<n-2))
            {
                sx=i;
                sy=j;
                for(l=j;l<n-1;l++)
                {
                    if((a[i][l]!=a[i][l-1]&&l!=1&&a[i][l]!=a[i][l+1])||(a[i][l]!=a[i+1][l]&&a[i+1][l]!=a[i+1][l+1]&&a[i+1][l-1]!=a[i+1][l]&&l!=1))
                    {
                        if(l%2==0)y=l;
                        else y=l-1;
                        break;
                    }
                    if(l==n-2)l++;
                    if((l-1)%2==0)y=l;
                }
                if(i+y-2<n)o=i+y-2;
                else o=n-1;
                if(j+y>n)p=n-1;
                else p=j+y;
                xa=0;
                for(k=i+2;k<=o;k++)
                {
                    xa=1;
                    for(l=j;l<p;l++)
                    {
                        if(l==p-1)l++;
                        else
                        {
                            if((a[k][l]==a[k][l-1])||(a[k][l]==a[k-1][l]&&k>i))l++;
                            if(a[k][l]!=a[k][l+1]&&a[k][l]!=a[k+1][l])
                            {
                                break;
                            }
                        }
                        if(l==o-1)l++;
                        if((k-sx)==(l-sy))
                        {
                            if(((k-sx+1)*(l-sy+1))>maxi)
                            {
                                ansx=sx;
                                ansy=sy;
                                maxi=(k-sx+1);
                            }
                        }
                    }
                }
               if(!xa&&((k-sx+1)>maxi))
                {
                    ansx=sx;
                    ansy=sy;
                    maxi=k-sx;
                }
            }
        }
    }
    cout<<maxi<<" "<<ansx<<" "<<ansy<<endl;
}
int main()
{
    read();
    solve();
    return 0;
}
/*
6
1 1 2 2 3 3
4 5 5 6 6 4
4 6 6 5 5 4
1 2 2 3 3 1
1 3 3 2 2 1
1 1 2 2 3 3

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 1 17 18 18 
*/ 