#include <bits/stdc++.h>
using namespace std;
int n, k;
int m[100][100];
void print_m() {
  for (int r = 0; r < n; r++) {
    for (int c = 0; c < n; c++) cout << m[r][c] << ' ';
    cout << '\n';
  }
}
int main() {
  ios::sync_with_stdio(false);
  cin.tie(nullptr);
  cout.tie(nullptr);
  cin >> n >> k;
  if (n * n < k) {
    cout << -1;
    return 0;
  }
  if (k == 0) {
    print_m();
    return 0;
  }
  for (int b = 0; b < n; b++) {
    if (!k) break;
    if (k >= 1) {
      k--;
      m[b][b] = 1;
    }
    for (int shift = 1; shift + b < n; shift++) {
      if (k < 2) break;
      k -= 2;
      m[b + shift][b] = 1;
      m[b][b + shift] = 1;
    }
  }
  print_m();
}
