#include <iostream>
#include <fstream>
using namespace std;

const int MAX_N = 2010;

int a[MAX_N][MAX_N];
bool d[2][MAX_N][MAX_N]; // 0 st 1 sus
int sp[2][MAX_N][MAX_N];

int main()
{
   // ifstream cin("fis.in");
    //ofstream cout("fis.out");
    int n;
    cin >> n;
    for(int i = 1; i <= n; i++) {
        for(int j = 1; j <= n; j++) {
            cin >> a[i][j];
            d[0][i][j] = (a[i][j] == a[i - 1][j]);
            d[1][i][j] = (a[i][j] == a[i][j - 1]);
            sp[0][i][j] = d[1][i][j] + sp[0][i - 1][j];
            sp[1][i][j] = d[0][i][j] + sp[1][i][j - 1];
        }
    }

    int ans = 0;
    int pozi = 0;
    int pozj = 0;

    for(int i = 2; i <= n - 1; i++) {
        for(int j = 2; j <= n - 2; j++) {
            for(int k = 2; i + k <= n && j + k <= n; k += 2) {
                if((sp[0][i + k - 1][j] - sp[0][i - 1][j]) || (sp[1][i][j + k - 1] - sp[1][i][j - 1])) {
                    break;
                }
                if(!d[1][i][j + k] && !d[1][i + k - 1][j + k] && !d[0][i + k][j] && !d[0][i + k][j + k - 1]) {
                    if(!(sp[0][i + k - 1][j + k] - sp[0][i - 1][j + k]) && !(sp[1][i + k][j + k - 1] - sp[1][i + k][j - 1])) {
                        if(k > ans) {
                            ans = k;
                            pozi = i;
                            pozj = j;
                        }
                    }
                }
            }
        }
    }

    cout << ans << ' ' << pozi << ' ' << pozj << '\n';

    return 0;
}
