#include <bits/stdc++.h> int main() { int n; std::cin >> n; int dp[n + 1][n + 1]; for (int i = 1; i <= n; i++) {

    dp[1][i] = i;
}
for (int y = 2; y <= n; y++)
{
    for (int r = 1; r <= y - 1; r++)
    {
        dp[y][r] = dp[r][y];
    }
    int orr = n - y + 1;
    int yrr = y - 1;
    int ree = dp[y - 1][n];
    while (orr--)
    {
        yrr++;
        ree++;
        dp[y][yrr] = ree;
    }
}
for (int g = 1; g <= n; g++)
{
    for (int l = 1; l <= n; l++)
    {

        std::cout << dp[g][l] << " ";
    }
    std::cout << "\n";
}

}