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