#include <bits/stdc++.h>
using namespace std;
int a[105][105];
int main() {
  int n, m, i, j;
  scanf("%d %d", &n, &m);
  if (n * n < m) {
    puts("-1");
    return 0;
  }
  for (i = 1; i <= n; i++) {
    for (j = 1; j <= n; j++) {
      if (i == j) {
        if (m) {
          a[i][j] = 1;
          m--;
        }
      } else if (m >= 2) {
        if (m && a[i][j] == 0) a[i][j] = 1, m--;
        if (m && a[j][i] == 0) a[j][i] = 1, m--;
      }
    }
  }
  for (i = 1; i <= n; i++) {
    for (j = 1; j <= n; j++) {
      if (a[i][j] != a[j][i]) {
        puts("-1");
        return 0;
      }
    }
  }
  for (i = 1; i <= n; i++) {
    for (j = 1; j <= n; j++) {
      printf("%d ", a[i][j]);
    }
    puts("");
  }
  return 0;
}
