#include <bits/stdc++.h>
using namespace std;
template <class T>
inline void read(T& x) {
  bool fu = 0;
  char c;
  for (c = getchar(); c <= 32; c = getchar())
    ;
  if (c == '-') fu = 1, c = getchar();
  for (x = 0; c > 32; c = getchar()) x = x * 10 + c - '0';
  if (fu) x = -x;
};
template <class T>
inline void read(T& x, T& y) {
  read(x);
  read(y);
}
template <class T>
inline void read(T& x, T& y, T& z) {
  read(x);
  read(y);
  read(z);
}
inline char getc() {
  char c;
  for (c = getchar(); c <= 32; c = getchar())
    ;
  return c;
}
int n, i, j, k, l, p, x, tot;
int a[1111];
bool v[11111];
int main() {
  for (i = 1; i <= 3; i++) a[i] = i;
  for (i = 1; i <= 3; i++)
    for (j = i + 1; j <= 3; j++) v[a[i] + a[j]] = 1;
  for (i = 4; i <= 20; i++)
    for (j = 4; j <= 1000; j++) {
      for (k = 1; k < i && !v[j + a[k]]; k++)
        ;
      if (k == i) {
        a[i] = j;
        for (k = 1; k <= i - 1; k++) v[a[i] + a[k]] = 1;
        break;
      }
    }
  read(n);
  for (i = 1; i <= n; i++)
    for (j = 1; j <= n; j++)
      printf("%d%s", i == j ? 0 : a[i] + a[j], j == n ? "\n" : " ");
  return 0;
}
