#include <bits/stdc++.h>
using namespace std;
char s[307][307];
int main() {
  int t;
  scanf("%d", &t);
  while (0 < t--) {
    int n, k;
    scanf("%d%d", &n, &k);
    if (k % n == 0)
      puts("0");
    else
      puts("2");
    memset(s, '0', sizeof s);
    for (int cnt = 0, i = 0, t = 0; cnt < k; cnt++) {
      s[i][(i + t) % n] = '1';
      i++;
      if (i == n) {
        i = 0;
        t++;
      }
    }
    for (int i = 0; i < n; i++) {
      s[i][n] = 0;
      puts(s[i]);
    }
  }
}
