#include<iostream>
#include<cstdio>

using namespace std;

const int MAXN= 2010;

int n;
int a[MAXN][MAXN];
int ans[MAXN];
int I, J;

void read() {
    int i, j;
    
    scanf("%d", &n);
    
    for(i=0; i<n; i++) {
        for(j=0; j<n; j++) {
            scanf("%d", &a[i][j]);
        }
    }
    
    for(i=1; i<n/2; i++) {
        ans[i]= ans[i-1]+2;
    }
}

bool check(int len) {
    int i, j, x;
    bool l;
    
    for(i=1; i<n-len; i++) {
        for(j=1; j<n-len; j++) {            
            l=0;
            
            for(x=j; x<j+len; x++) {
                if(a[i][x] == a[i-1][x]) {
                    l=1; break;
                }
                if(a[i+len-1][x] == a[i+len][x]) {
                    l=1; break;
                }
            }
            if(l == 0){
            
                for(x=i; x<i+len; x++) {
                    if(a[x][j] == a[x][j-1]) {
                        l=1; break;
                    }
                    if(a[x][j+len-1] == a[x][j+len]) {
                        l=1; break;
                    }
                }
                
                if(l == 0) {
                    I= i+1; J=j+1;
                    return 1;
                }
            }
        }
    }
    
    return 0;
}

int bin_search() {
    int mid, l=0, r=n/2;
    
    while((r-l) > 1) {
        mid= (l+r)/2;
        
        if(check(ans[mid]) == 1) {
            l=mid;
        }
        else {
            r=mid;
        }
    }
    
    return ans[l];
}

int main (){
    int i;
    
    read();
    
    if(n<=100) {
        for(i=n-2; i>=2; i-=2) {
            if(check(i) == 1) {
                printf("%d %d %d\n", i, I, J);
                return 0;
            }
        }
    }
    
    else {
        printf("%d ", bin_search());
        printf("%d %d\n",  I, J);
    }
    return 0;
}