#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;
int k = 0;
bool a;
do
{
a = true;
k++;
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;
}
} while (!a);
m[i][j] = k;
}
}
for (int i = 0; i < n; i++)
{
for (int j = 0; j < n; j++)
{
std::cout << m[i][j] << ' ';
}
std::cout << '\n';
}
return 0;
}