#include <bits/stdc++.h>
using namespace std;
const int MAXN = 1e2 + 2;
int a[MAXN][MAXN];
int main() {
  int n, k;
  scanf("%d", &n), scanf("%d", &k);
  int kk = k;
  for (int r = 0; r < n && k; r++)
    for (int c = r; c < n && k; c++) {
      if (r == c) {
        a[r][c] = 1;
        k--;
      } else if (k > 1) {
        a[r][c] = a[c][r] = 1;
        k -= 2;
      }
    }
  if (kk > n * n)
    printf("-1\n");
  else
    for (int r = 0; r < (int)n; r++)
      for (int c = 0; c < (int)n; c++)
        printf("%d%c", a[r][c], " \n"[c == n - 1]);
}
