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

int n;
struct cell { int num;
              int pokeup,pokedown;
              int pokeright,pokeleft;
              }a[2005][2005];
int ansl,ansi,ansj;

bool iswindow(int fromi,int fromj, int toi,int toj)
{   
   if(a[toi][toj].pokeright - a[fromi-1][toj].pokeright != 0) return false; //dqsna
   if(a[toi][toj].pokedown - a[toi][fromj-1].pokedown !=0) return false; //dolna
   if(a[fromi][toj].pokeup - a[fromi][fromj-1].pokeup !=0) return false; //gorna
   if(a[toi][fromj].pokeleft - a[fromi-1][fromj].pokeleft !=0) return false; //lqva
   
   return true;
}

void out(int i,int j)
{
   cout<<a[i][j].pokeup<<' '<<a[i][j].pokeleft<<' '<<a[i][j].pokedown<<' '<<a[i][j].pokeright<<"\n";
}

int main()
{
   int i,j,k,l;
   
   scanf("%d", &n);
   
   for(i=1;i<=n;i++) for(j=1;j<=n;j++) scanf("%d",&a[i][j].num);
    
   for(i=1;i<=n;i++)
      for(j=1;j<=n;j++)        
      {
         a[i][j].pokeright=a[i-1][j].pokeright;
         a[i][j].pokeleft=a[i-1][j].pokeleft;
         a[i][j].pokeup=a[i][j-1].pokeup;
         a[i][j].pokedown=a[i][j-1].pokedown;
         
         if(a[i][j].num==a[i-1][j].num) a[i][j].pokeup++;
         if(a[i][j].num==a[i][j-1].num) a[i][j].pokeleft++;
         
         if(a[i][j].num==a[i+1][j].num) a[i][j].pokedown++;
         if(a[i][j].num==a[i][j+1].num) a[i][j].pokeright++;
      }

   /*for(i=1;i<=n;i++){for(j=1;j<=n;j++)cout<<a[i][j].pokeleft<<' '; cout<<"\n";} cout<<"\n\n";
   for(i=1;i<=n;i++){for(j=1;j<=n;j++)cout<<a[i][j].pokeright<<' '; cout<<"\n";} cout<<"\n\n";
   for(i=1;i<=n;i++){for(j=1;j<=n;j++)cout<<a[i][j].pokeup<<' '; cout<<"\n";} cout<<"\n\n";
   for(i=1;i<=n;i++){for(j=1;j<=n;j++)cout<<a[i][j].pokedown<<' '; cout<<"\n";} cout<<"\n\n";
   */
   
   /*while(1)
   {
      cin>>i>>j>>k>>l;
      //out(i,j);
      //out(k,l);
      cout<<iswindow(i,j,k,l)<<"\n\n";
   }
   */
   
   for(l=n-2;l>=2;l-=2)
      for(i=2;i<=n-l;i++)
         for(j=2;j<=n-l;j++)
            if(iswindow(i,j,i+l-1,j+l-1))
            {
               printf("%d %d %d\n",l,i,j);
               return 0;
            }
   
   /*for(i=2;i<=n-2;i++)
      for(j=2;j<=n-2;j++)
      {
         l=2;
         while(i+l-1<=n-2 && j+l-1<=n-2)
         {
            if(iswindow(i,j,i+l-1,j+l-1) && l>ansl)
            {
               ansl=l;
               ansi=i;
               ansj=j;
            }
            l+=2;
         }
      }
   
   printf("%d %d %d\n", ansl, ansi, ansj);*/
   
   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

*/
