/*
#include<stdio.h>
typedef struct answer
{
int x,y;
} answer;
answer que[1000000],d,datas[1000000];
int wx[4]= {-1,1,0,0};
int wy[4]= {0,0,-1,1};
int f=0,r=0,q=0,m,n,l=0;
int visited[1000][1000]={};
int warehouse[1000][1000]= {};
void enq(int x,int y)
{
q++;
que[++r].x=x;
que[r].y=y;
visited[x][y]=1;
}
void deq()
{
int i,a,b,j;
for(i=1; i<=q; i++)
{
d=que[++f];
warehouse[d.x][d.y]=1;
datas[l++]=d;
}
q=0;
for(i=0;i<l;i++)
{
for(j=0; j<4; j++)
{
a = datas[i].x+wx[j];
b = datas[i].y+wy[j];
if((a>=0 && a<n) && (b>=0 && b<m) && !warehouse[a][b] && !visited[a][b])
{
enq(a,b);
}
}
}
}
int main()
{
int i,j,day=0;
scanf("%d %d",&m,&n);
for(i=0; i<n; i++)
{
for(j=0; j<m; j++)
{
scanf("%d",&warehouse[i][j]);
if(warehouse[i][j]==1)
{
enq(i,j);
}
}
}
while(f!=r)
{
deq();
day++;
}
for(i=0;i<n;i++)
{
for(j=0;j<m;j++)
{
if(warehouse[i][j]==0)
{
printf("%d",-1);
return 0;
}
}
}
printf("%d",day-1);
}
*/
/*
#include<stdio.h>
int candypang[7][7];
int k,m,u=0;
dfs(int x,int y)
{
//printf(" %d\n",candypang[x][y]);
if(x>=0 && x<=6 && y>=0 && x<=6 &&candypang[x][y]==k )
{
//printf("%d >> %d and %d\n",candypang[x][y],x,y);
m++;
candypang[x][y]=0;
if(x-1!=-1)
{
dfs(x-1,y);
}
if(y-1>-1)
{
dfs(x,y-1);
}
if(x+1<=6)
{
dfs(x+1,y);
}
if(y+1<=6)
{
dfs(x,y+1);
}
}
}
int main()
{
int i,j;
for(i=0;i<7;i++)
{
for(j=0;j<7;j++)
{
scanf("%d",&candypang[i][j]);
}
}
for(i=0;i<7;i++)
{
for(j=0;j<7;j++)
{
if(candypang[i][j]!=0)
{
k=candypang[i][j];
dfs(i,j);
}
if(m>=3)
{
//printf("%d\n",m);
//printf("\n%d\n",m);
u++;
}
m=0;
}
}
printf("%d",u);
}
*/
/*
#include<stdio.h>
int m,n,day=0;
int q[10000000][2],r=0,f=0;
int map[1000][1000]={0};
void enq(int x,int y)
{
q[r][0]=x;
q[r][1]=y;
map[x][y]=1;
r++;
}
void deq()
{
int u = r-1;
for(int i=f;i<=u;i++)
{
int x = q[i][0];
int y = q[i][1];
if(x-1>=0 && map[x-1][y]==0)
{
enq(x-1,y);
}
if(x+1<n && map[x+1][y]==0)
{
enq(x+1,y);
}
if(y-1>=0 && map[x][y-1]==0)
{
enq(x,y-1);
}
if(y+1<m && map[x][y+1]==0)
{
enq(x,y+1);
}
f++;
}
}
void out()
{
while(1)
{
if(r!=f)
{
deq();
day++;
}
else
{
return;
}
}
}
int main()
{
int i,j;
scanf("%d %d",&m,&n);
for(i=0;i<n;i++)
{
for(j=0;j<m;j++)
{
scanf("%d",&map[i][j]);
}
}
for(i=0;i<n;i++)
{
for(j=0;j<m;j++)
{
if(map[i][j]==1)
{
enq(i,j);
}
}
}
out();
for(i=0;i<n;i++)
{
for(j=0;j<m;j++)
{
if(map[i][j]==0)
{
printf("-1");
return 0;
}
}
}
printf("%d",day-1);
}
*/
/*
#include<stdio.h>
char str[100][100]={};
int w,h;
dfs(int x,int y)
{
if(x>=0 && x<h && y>=0 && y<w && str[x][y]=='L')
{
str[x][y]='E';
//printf("L >> %d and %d\n",x,y);
dfs(x-1,y);
dfs(x+1,y);
dfs(x,y-1);
dfs(x,y+1);
dfs(x+1,y+1);
dfs(x-1,y-1);
dfs(x+1,y-1);
dfs(x-1,y+1);
}
}
int main()
{
int i,j,k=0;
scanf("%d %d",&w,&h);
for(i=0;i<h;i++)
{
for(j=0;j<w;j++)
{
scanf(" %c",&str[i][j]);
}
}
for(i=0;i<h;i++)
{
for(j=0;j<w;j++)
{
if(str[i][j]=='L')
{
dfs(i,j);
k++;
//printf("%d\n",k);
}
}
}
printf("%d",k);
for(i=0;i<h;i++)
{
for(j=0;j<w;j++)
{
printf("%c ",str[i][j]);
}printf("\n");
}
}
*/
/*
#include<stdio.h>
int gp[100][100]={};
int p[1000],temp;
int l=0,m,n;
void make(int x1,int y1,int x2,int y2)
{
for(int i=y1;i<y2;i++)
{
for(int j=x1;j<x2;j++)
{
gp[i][j]=1;
}
}
}
void dfs(int x,int y)
{
if(x>=0 && x<m && y>=0 && y<n && gp[x][y]==0)
{
gp[x][y]=-1;
p[l]++;
dfs(x-1,y);
dfs(x+1,y);
dfs(x,y-1);
dfs(x,y+1);
}
}
int main()
{
int k,x1,y1,x2,y2,i,j;
scanf("%d %d %d",&m,&n,&k);
for(i=0;i<k;i++)
{
scanf("%d %d %d %d",&x1,&y1,&x2,&y2);
make(x1,y1,x2,y2);
}
for(i=m-1;i>=0;i--)
{
for(j=0;j<n;j++)
{
//printf("%d ",gp[i][j]);
if(gp[i][j]==0)
{
l++;
dfs(i,j);
}
}//printf("\n");
}
for(i=1;i<l;i++)
{
for(j=1;j<=l-i;j++)
{
if(p[j]>p[j+1])
{
temp=p[j];
p[j]=p[j+1];
p[j+1]=temp;
}
}
}
printf("%d\n",l);
for(i=1;i<=l;i++)
{
printf("%d ",p[i]);
}
}
*/
#include<stdio.h>
int k[100]=[];
int m[100][100]={};
int main()
{
int n;
scanf("%d",n);
for(i=0;i<n;i++)
{
for(j=0;j<n;j++)
{
scanf("%d",&m[i][j])
}
}
}