#include<cstdio>
using namespace std;

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

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;
}

int main()
{
   int i,j,l;
   bool frag;
   
   scanf("%d", &n);
   
   frag=false;
   for(i=1;i<=n;i++)
      for(j=1;j<=n;j++)
      {
         scanf("%d",&a[i][j].num);
         
         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(frag==true)
         {
            frag=false;
            if(a[i][j].num==a[i][j-1].num) a[i][j-1].pokeright++;
            else a[i][j-1].pokedown++;
         }
         
         if(a[i][j].num!=a[i][j-1].num && a[i][j].num!=a[i-1][j].num)
         {
            if(j==n) a[i][j].pokedown++;
            else if(i==n) a[i][j].pokeright++;
            else frag=true;
         }
      }

   /*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";
   */
   
   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;
            }
   
   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

*/
