#include <iostream>
#include <vector>
int main()
{
int n;
std::cin >> n;
std::vector<std::vector<int>> m;
for (int i = 0; i < n; i++)
{
m.push_back(std::vector<int>(n));
}
for (int i = 0; i < n; i++)
{
m[0][i] = 1 + i;
m[i][0] = 1 + i;
}
for (int i = 1; i < n; i++)
{
for (int j = 1; j < n; j++)
{
int x = n;
for (int k = n; k > 0; k--)
{
bool a = true;
for (int l = 0; l < i; l++)
{
if (m[l][j] == k)
a = false;
}
for (int l = 0; l < j; l++)
{
if (m[i][l] == k)
a = false;
}
if (a)
x = k;
}
m[i][j] = x;
}
}
for (int i = 0; i < n; i++)
{
for (int j = 0; j < n; j++)
{
std::cout << m[i][j] << ' ';
}
std::cout << '\n';
}
return 0;
}