#include <bits/stdc++.h>
int mat[110][110];
int main() {
  int n, k, i, j;
  scanf("%d %d", &n, &k);
  if (n * n < k) {
    printf("-1\n");
    return 0;
  }
  for (i = 0; i < n; i++) {
    for (j = i; j < n; j++) {
      if (i == j) {
        if (k > 0) {
          k--;
          mat[i][j] = 1;
        } else
          break;
      } else {
        if (k >= 2) {
          mat[i][j] = 1;
          mat[j][i] = 1;
          k = k - 2;
        } else if (k == 0)
          break;
      }
    }
  }
  for (i = 0; i < n; i++) {
    for (j = 0; j < n; j++) {
      printf("%d ", mat[i][j]);
    }
    printf("\n");
  }
  return 0;
}
