/*
TASK:oldmap
LANG:C
*/
#include <stdio.h>
long a[5][5];
long o[5];
long n,r;
void inp(void)
{
  long i,j;
  scanf("%ld",&n);
  for (i=0;i<n;i++)
	for (j=0;j<n;j++) scanf("%ld",&a[i][j]);
}
void showa(void)
{
  int i,j;
  for (i=0;i<n;i++)
  { for (j=0;j<n;j++) printf(" %ld ",a[i][j]);
    printf("\n");
  }
}
void showo(void)
{
  int j;
  for (j=0;j<n;j++) printf(" %ld ",o[j]);

}
void inita(void)
{
 int i,j;
 for (i=0;i<n;i++)
	for (j=0;j<n;j++) a[i][j]=0;
}
void inito(void)
{
 int j;
 for (j=0;j<n;j++) o[j]=100000000;
}
void work(long s)
{
  long i;
  for (i=s+1;i<n;i++) {
		      r+=a[s][i];
		      if (r<o[i]) o[i]=r;
		      work(i);
		      r-=a[s][i];
		    }

}
void outp(long l)
{
  long i;
  for (i=0;i<n;i++) if (a[l][i]==o[i]) printf("%ld %ld %ld \n",l+1,i+1,a[l][i]);
}
int main(void)
{
long i;
r=0;
//printf("----- \n");
inp();
for (i=0;i<n;i++) {
		   inito();
		   work(i);
		   outp(i);
//		   showo();
//		   printf("\n");
		  }
//printf("----- \n");
return 0;
}