#include <bits/stdc++.h>   using namespace std;   const int MAXN = 1000 + 10;   int n, d[MAXN], id[MAXN];   bool b[MAXN][MAXN];   bool cmp(int a, int b) {     if (d[a] > d[b]) return true;     if (d[a] < d[b]) return false;     return a < b;   }   int main() {     scanf( %d , &n);     if (n == 4) puts( -1 ), exit(0);     b[3][1] = b[1][2] = b[2][3] = 1;     d[1] = d[2] = d[3] = 1;     for (int i = 4; i <= n; ++i) {       for (int j = 1; j < i; ++j) id[j] = j;       sort(id + 1, id + i, cmp);       for (int j = 1; j <= i / 2; ++j) b[id[j]][i] = 1, ++d[i];       for (int j = i / 2 + 1; j < i; ++j) b[i][id[j]] = 1, ++d[id[j]];     }     for (int i = 1; i <= n; ++i, puts(  ))       for (int j = 1; j <= n; ++j) printf( %d  , b[i][j]);     fclose(stdin);     fclose(stdout);     return 0;   }   