#include<iomanip>
#include<string>
using namespace std;
int main()
{
int a[100][100];
for (int i = 0; i < 100; i++)
for (int y = 0; y < 100; y++)
a[i][y] = 0;
int n;
cin >> n;
int k = 0, j = 0;
int ji = 1;
int kmax = 0;
int jmax = 0;
a[0][0] = n;
int i;
for (i = 0; i < n; )
{
switch (ji)
{
case 1:
{
j++;//向右
a[k][j] = n-i-1;
kmax = kmax > k ? kmax : k;
jmax = jmax > j ? jmax : j;
i++;
break;
}
case 2:
{
while (j > 0)
{
k++; j--;
a[k][j] = n - i - 1;
i++;
kmax = kmax > k ? kmax : k;
jmax = jmax > j ? jmax : j;
}//向斜下
break;
}
case 3:
{
k++;//向下
a[k][j] =n-i-1;
i++;
kmax = kmax > k ? kmax : k;
jmax = jmax > j ? jmax : j;
break;
}
case 4:
{while (k > 0)
{
k--; j++;
a[k][j] = n - i - 1;
i++;
kmax = kmax > k ? kmax : k;
jmax = jmax > j ? jmax : j;
}//向斜上
break; }
}
ji++;
if (ji == 5)
ji = 1;
}
for (int i = 0; i <= kmax; i++)
{
for (int y = 0; y <= jmax; y++)
if(a[i][y]>0) cout << a[i][y] << " ";
if (a[i + 1][0] != 0)
cout << endl;
}
}