#include<iostream>
//#include<fstream>
#define in cin
#define out cout
using namespace std;
//ifstream in("test.in");
//ofstream out("test.out");
const int Nmax = 2001;
int a[Nmax][Nmax];
int A[4][Nmax][Nmax];
int N;
int ok(int x,int y,int s){
    int X=x+s-1;
    int Y=y+s-1;
    int z[5];
    z[0] = A[0][x][Y]-A[0][x][y-1];
    z[1] = A[1][X][Y]-A[1][X][y-1];
    z[2] = A[2][X][y]-A[2][x-1][y];
    z[3] = A[3][X][Y]-A[3][x-1][Y];
    z[4]=z[0]+z[1]+z[2]+z[3];
    return (z[4]==0);
}
int main(){
    in>>N;
    for(int i=1;i<=N;i++){
        for(int j=1;j<=N;j++){
            in>>a[i][j];
        }
    }
    for(int i=2;i<=N-1;i++){
        for(int j=2;j<=N-1;j++){
            if(a[i-1][j]==a[i][j]) A[0][i][j]=1;
            if(a[i+1][j]==a[i][j]) A[1][i][j]=1;
            if(a[i][j]==a[i][j-1]) A[2][i][j]=1;
            if(a[i][j]==a[i][j+1]) A[3][i][j]=1;
        }
    }
    for(int i=2;i<=N-1;i++){
        for(int j=2;j<=N-1;j++){
            A[0][i][j]+=A[0][i][j-1];
            A[1][i][j]+=A[1][i][j-1];
            A[2][i][j]+=A[2][i-1][j];
            A[3][i][j]+=A[3][i-1][j];
        }
    }
    /*for(int k=0;k<4;k++){
        for(int i=1;i<=N;i++){
            for(int j=1;j<=N;j++){
                out<<A[k][i][j]<<' ';
            }
            out<<'\n';
        }
        out<<'\n';
    }*/
    for(int S=N-2;S>=1;S--){
        for(int i=2;i<=N-1-S+1;i++){
            for(int j=2;j<=N-1-S+1;j++){
                if(ok(i,j,S)){
                    out<<S<<' '<<i<<' '<<j<<'\n';
                    return 0;
                }
            }
        }
    }
    return 0;
}
