#include <iostream>
unsigned map[2048][2048];
int main(){
	std::size_t n;
	std::ios::sync_with_stdio(false);
	std::cin.tie(NULL);
	std::cin>>n;
	for(std::size_t i=0;i<n;i++){
		for(std::size_t j=0;j<n;j++){
			std::cin>>map[i][j];
		}
	}
	std::size_t best=0, bi, bj;
	for(std::size_t i=1;i<n-1;i++){
		std::size_t last=n;
		for(std::size_t j=1;j<n-1;j++){
			for(std::size_t k=best+1;i+k<n && j+k<n;k++){
				bool fail=false;
				for(std::size_t l=0;l<k;l++){
					if(map[i][j+l]==map[i-1][j+l] || map[i+l][j]==map[i+l][j-1] || map[i+k][j+l]==map[i+k-1][j+l] || map[i+l][j+k]==map[i+l][j+k-1]){
						fail=true;
						break;
					}
				}
				if(!fail && k>best){
					best=k;
					bi=i;
					bj=j;
				}
			}
		}
	}
	std::cout<<best<<' '<<bi+1<<' '<<bj+1<<'\n';
	return 0;
}
