n =int(input())
s =[]for i inrange(n):
a =list(map(int,input().split()))
s +=[a]
x,y =0,0
d =[0for _ inrange(n*n)]#设置三个判断下一步动作的布尔
right=True
l_down=False
r_up=Falsefor i inrange(n*n):
d[i]=s[x][y]if right==True:if y!=n-1and x!=n-1:
y+=1
right=False
l_down=Trueelif y==n-1and x==n-1:
right=False
l_down=False
r_up=Falseelse:
x -=1
right=False
l_down=Trueelif l_down==True:if y!=0and x!=n-1:
x +=1
y -=1
l_down=Trueelif x == n-1:
y +=1if y == n-1:
right=False
l_down=False
r_up=Falseelse:
l_down=False
r_up=Trueelse:
x +=1
r_up =True
l_down=Falseelif r_up==True:if x!=0and y!=n-1:
x -=1
y +=1
r_up=Trueelif x ==0and y!=n-1:
y+=1
r_up=False
l_down =Trueelse:
x +=1
r_up =False
l_down =Truefor i inrange(n*n):print(d[i],end=' ')