#include <iostream>
#include <set>
using namespace std;
int matrix[2000][2000];
int N;
int main()
{
    ios::sync_with_stdio(false);
    cin >> N;
    for(int i = 0; i < N; ++i)
    {
        for(int j = 0; j < N; ++j)
        {
            cin >> matrix[i][j];
        }
    }
    int maxim = 1;
    int col, row;
    for(int i = 1; i < N-1; ++i)
    {
        for(int j = 1; j < N-1; ++j)
        {
            for(int k = 1; k < N-1; ++k)
            {
                if(i + k >= N-1) break;
                if(j + k >= N-1) break;
                set<int> set1, set2;
                bool isValid = true;
                for(int z = 0; z <= k; ++z)
                {
                    set1.insert(matrix[i][j+z]); //top
                    set1.insert(matrix[i+k][j+z]);//bot
                    set1.insert(matrix[i+z][j]);//left
                    set1.insert(matrix[i+z][j+k]);//right
                }
                for(int z = 0; z <= k; ++z)
                {
                    set2.insert(matrix[i-1][j+z]); //top
                    set2.insert(matrix[i+k+1][j+z]);//bot
                    set2.insert(matrix[i+z][j-1]);//left
                    set2.insert(matrix[i+z][j+k+1]);//right
                    set2.insert(matrix[i-1][j-1]);
                    set2.insert(matrix[i-1][j+k+1]);
                    set2.insert(matrix[i+k+1][j-1]);
                    set2.insert(matrix[i+k+1][j+k+1]);
                }
                set<int>::iterator o;
                for(o = set1.begin(); o != set1.end(); ++o)
                {
                    int val = *o;
                    if(set2.find(val) == set2.end())
                    {
                        isValid = false;
                        break;
                    }
                }
                if(isValid && k + 1 > maxim)
                {
                    maxim = k + 1;
                    col = j;
                    row = i;
                }
            }
        }
    }

/*
    for(int i = 1; i < N-1; ++i)
    {
        for(int j = 1; j < N-1; ++j)
        {
            for(int k = 1; k < N-1; ++k)
            {
                if(i + k >= N-1) break;
                if(j + k >= N-1) break;
                if(i != 1) //check top side
                {
                    isValid = true;
                    for(int z = j; z <= j+k; ++z) // top
                    {
                        bool val = true;
                        if(matrix[i][z] == matrix[i-1][z]) isValid = false;
                        if(z == j && matrix[i][z] == matrix[i][z-1]) isValid = false;
                        if(z == j+k && matrix[i][z] == matrix[i][j+k+1]) isValid = false;

                        //bot
                        if(matrix[i+k][z] == matrix[i+k+1][z]) isValid = false;
                        if(z == j && matrix[i+k][z] == matrix[i+k][z-1]) isValid = false;
                        if(z == j+k && matrix[i+k][z] == matrix[i+k][j+k+1]) isValid = false;
                    }
                    // now sides
                    for(int z = i; i <= i+k; ++z)
                    {
                       if(matrix[z][j] == matrix[z][j-1]) isValid = false;
                        if(matrix[z][j+k] == matrix[z][j+k+1]) isValid = false;
                       if(z == i && matrix[z][j] == matrix[z-1][j]) isValid = false;
                        if(z == i+k && matrix[z][j])
                    }

                }
            }
        }
    }*
    */
    /*
    for(int i = 1; i < N-1; ++i)
    {
        for(int j = 1; j < N-1; ++j)
        {
            int minimal = min(i, N-1);
            minimal = min(minimal, j);
            minimal = min(minimal, N-j)
            int c = 1;
            for(int k = min(i, j); k < N-1; ++k)
            {
                if(isSquare(i-c, j-c, i+c, j+c))
                {
                    max += c + 1;
                }
            }
        }
    }
    */
    cout<<maxim<<" "<<row<<" "<<col<<endl;
    //cout << "Hello world!" << endl;
    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
*/
