#include <bits/stdc++.h>
using namespace std;
const int maxn = 1e3 + 10, mod = 1e9 + 7;
int a[maxn][maxn];
bool b[maxn][maxn];
int main() {
  ios::sync_with_stdio(0);
  int n;
  cin >> n;
  ;
  for (int i = 1; i < n - 1; i++) {
    a[0][i] = a[i][0] = a[i - 1][0] + 1;
    b[0][a[i][0]] = b[i][a[i][0]] = 1;
    for (int j = 1; j < i; j++) {
      a[i][j] = (a[i][j - 1] + 1) % n;
      a[i][j] += (a[i][j] == 0);
      a[j][i] = a[i][j];
      b[j][a[i][j]] = b[i][a[i][j]] = 1;
    }
  }
  for (int i = 0; i < n - 1; i++)
    for (int j = 1; j < n; j++)
      if (!b[i][j]) {
        a[i][n - 1] = a[n - 1][i] = j;
        break;
      }
  for (int i = 0; i < n; i++) {
    for (int j = 0; j < n; j++) cout << a[i][j] << " ";
    cout << endl;
  }
  return 0;
}
