#include <bits/stdc++.h>
using namespace std;
string s="";
int n,di[4]={0,1,0,-1},dj[4]={1,0,-1,0},b[505][505];
char a[505][505];
void ds1()
{
int x=1,y=1,d=1;
for (int i=1;i<=n*n;i++)
{
s=s+a[x][y];
x-=d;
y+=d;
if (x>n)
{
x=n;
y+=2;
d*=-1;
}
if (y>n)
{
y=n;
x+=2;
d*=-1;
}
if (x<1)
{
x=1;
d*=-1;
}
if (y<1)
{
y=1;
d*=-1;
}
}
}
void ds2()
{
int x=1,y=1,tx,ty,m=0;
b[x][n+1]=-1;
b[n+1][n]=-1;
b[n][0]=-1;
for (int i=1;i<=n*n;i++)
{
a[x][y]=s[i-1];
b[x][y]=i;
tx=x+di[m];
ty=y+dj[m];
if (b[tx][ty]!=0) m++;
if (m==4) m=0;
x+=di[m];
y+=dj[m];
}
}
int main()
{
cin>>n;
for (int i=1;i<=n;i++)
{
for (int j=1;j<=n;j++)
{
cin>>a[i][j];
}
}
ds1();
ds2();
for (int i=1;i<=n;i++)
{
for (int j=1;j<=n;j++)
{
cout<<a[i][j];
}
cout<<endl;
}
return 0;
}