#include <bits/stdc++.h>
using namespace std;
void init() {}
void solve() {
  int n;
  cin >> n;
  vector<int> a(n, -1);
  a[0] = 1;
  vector<int> u(2000);
  for (int _n(n), i(1); i < _n; i++) {
    for (int _n(1001), p(1); p < _n; p++) {
      int ok = 1;
      for (int _n(n), j(0); j < _n; j++)
        if (a[j] != -1 && (u[p + a[j]] || a[j] == p)) {
          ok = 0;
          break;
        }
      if (ok) {
        a[i] = p;
        for (int _n(n), j(0); j < _n; j++)
          if (a[j] != -1) u[p + a[j]] = 1;
        break;
      }
    }
  }
  for (int _n(n), i(0); i < _n; i++) {
    for (int _n(n), j(0); j < _n; j++)
      cout << ((i == j) ? 0 : a[i] + a[j]) << " ";
    cout << endl;
  }
}
int main() {
  init();
  solve();
  return 0;
}
