#include <bits/stdc++.h>
using namespace std;
int getrand() {
  int s = 0;
  for (int i = 1; i <= 3; i++) s = s * 1000 + rand() % 1000;
  return s;
}
int v[20][20];
int main() {
  int n;
  cin >> n;
  srand(20938472);
  for (int i = 1; i <= n; i++)
    for (int j = 1; j <= n; j++) v[i][j] = getrand();
  for (int i = 1; i <= n; i++) {
    for (int j = 1; j <= n; j++) {
      long long ans;
      if (i == j)
        ans = 0;
      else {
        int x = min(i, j), y = max(i, j);
        if (y == n)
          ans = v[x][y];
        else
          ans = 1ll << ((y - 1) * (y - 2) / 2 + x - 1);
      }
      printf("%lld ", ans);
      if (j == n) putchar('\n');
    }
  }
  return 0;
}
