#include <bits/stdc++.h>
using namespace std;
using ll = long long;
void Anas() {
int n,m; cin >> n >> m;
int mn = min(n,m);
mn = 1<<mn;
// cout << mn;
int mx = max(n,m);
mn = min(mn,mx);
cout << mn <<"\n";
if(m >= n){
int cnt = 1;
for(int i = 1; i <= n; i++){
for(int j = 1; j <= cnt; j++){
cout << "1" <<" ";
}
int x = 2;
for(int j = 1; j <= (m - cnt); j++){
cout << x <<" ";
x++;
}
cnt++;
cout <<"\n";
}
return;
}
for(int i = 1; i <= n; i++){
int x = i;
for(int j = 1; j <= m; j++){
if(x == 1){
cout << 1 <<" ";
continue;
}
cout << x <<" ";
x--;
}
cout <<"\n";
}
}
int32_t main() {
ios::sync_with_stdio(false);
cin.tie(NULL);
int test = 1;
cin >> test;
while (test--) {
Anas();
}
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7Cgp1c2luZyBsbCA9IGxvbmcgbG9uZzsKCnZvaWQgQW5hcygpIHsKICAgIGludCBuLG07IGNpbiA+PiBuID4+IG07CiAgICBpbnQgbW4gPSBtaW4obixtKTsKICAgIG1uID0gMTw8bW47CiAgICAvLyBjb3V0IDw8IG1uOwogICAgaW50IG14ID0gbWF4KG4sbSk7CiAgICBtbiA9IG1pbihtbixteCk7CiAgICBjb3V0IDw8IG1uIDw8IlxuIjsKICAgIGlmKG0gPj0gbil7CiAgICAJaW50IGNudCA9IDE7CiAgICAJZm9yKGludCBpID0gMTsgaSA8PSBuOyBpKyspewogICAgCQlmb3IoaW50IGogPSAxOyBqIDw9IGNudDsgaisrKXsKICAgIAkJCWNvdXQgPDwgIjEiIDw8IiAiOwogICAgCQl9CiAgICAJCWludCB4ID0gMjsKICAgIAkJZm9yKGludCBqID0gMTsgaiA8PSAobSAtIGNudCk7IGorKyl7CiAgICAJCQljb3V0IDw8IHggPDwiICI7CiAgICAJCQl4Kys7CiAgICAJCX0KICAgIAkJY250Kys7CiAgICAJCWNvdXQgPDwiXG4iOwogICAgCX0KICAgIAlyZXR1cm47CiAgICB9CiAJZm9yKGludCBpID0gMTsgaSA8PSBuOyBpKyspewogCQlpbnQgeCA9IGk7CiAJCWZvcihpbnQgaiA9IDE7IGogPD0gbTsgaisrKXsKIAkJCWlmKHggPT0gMSl7CiAJCQkJY291dCA8PCAxIDw8IiAiOwogCQkJCWNvbnRpbnVlOwogCQkJfQogCQkJY291dCA8PCB4IDw8IiAiOwogCQkJeC0tOwogCQl9CiAJCWNvdXQgPDwiXG4iOwogCX0KfQoKaW50MzJfdCBtYWluKCkgewogICAgaW9zOjpzeW5jX3dpdGhfc3RkaW8oZmFsc2UpOwogICAgY2luLnRpZShOVUxMKTsKICAgIAogICAgaW50IHRlc3QgPSAxOwogICAgY2luID4+IHRlc3Q7CgogICAgd2hpbGUgKHRlc3QtLSkgewogICAgICAgQW5hcygpOwogICAgfQogICAgCiAgICByZXR1cm4gMDsKfQo=