#include <bits/stdc++.h>
using namespace std;
const int N = 1005;
int t, n, k, A[N][N] = {};
void del(){
for (int i=0; i<n; i++) {
fill(A[i], A[i]+n, 0);
}
}
void print(){
for (int i=0; i<n; i++){
for (int j=0; j<n; j++){
cout << A[i][j]<< " ";
}
cout << "\n";
}
}
void fillin(int &cnt) {
for (int i=0; i<n; i++){
for (int j=0; j<n; j++){
if (!A[i][j])A[i][j]= cnt++;
}
}
}
void progress() {
int cnt =1;
if (k<n||k>n*2-1) {cout << "-1\n"; return;}
else if (k==n){
while(cnt<=n) {
A[cnt-1][cnt-1]=cnt;
cnt++;
}
fillin(cnt);
print();
return;
}
k%=n;
for (int i=0; i<n; i++){
if(i==n-k-1){
for (int j=i; j<n; j++){
A[i][j]=cnt++;
}
i++;
}
if (i==n) break;
A[i][i]=cnt++;
}
fillin(cnt);
print();
}
int main() {
ios_base::sync_with_stdio(0);
cin.tie(0);
//input
cin >> t;
//call
for (int i=0; i<t; i++) {
cin >> n >> k;
progress();
del();
}
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CmNvbnN0IGludCBOID0gMTAwNTsKIAppbnQgdCwgbiwgaywgQVtOXVtOXSA9IHt9OwogCnZvaWQgZGVsKCl7CiAgICBmb3IgKGludCBpPTA7IGk8bjsgaSsrKSB7CiAgICAgICAgZmlsbChBW2ldLCBBW2ldK24sIDApOwogICAgfQp9CiAKdm9pZCBwcmludCgpewogICAgZm9yIChpbnQgaT0wOyBpPG47IGkrKyl7CiAgICAgICAgZm9yIChpbnQgaj0wOyBqPG47IGorKyl7CiAgICAgICAgICAgIGNvdXQgPDwgQVtpXVtqXTw8ICIgIjsKICAgICAgICB9CiAgICAgICAgY291dCA8PCAiXG4iOwogICAgfQp9CiAKdm9pZCBmaWxsaW4oaW50ICZjbnQpIHsKICAgIGZvciAoaW50IGk9MDsgaTxuOyBpKyspewogICAgICAgIGZvciAoaW50IGo9MDsgajxuOyBqKyspewogICAgICAgICAgICBpZiAoIUFbaV1bal0pQVtpXVtqXT0gY250Kys7CiAgICAgICAgfQogICAgfQp9CiAKdm9pZCBwcm9ncmVzcygpIHsKICAgIGludCBjbnQgPTE7CiAgICBpZiAoazxufHxrPm4qMi0xKSB7Y291dCA8PCAiLTFcbiI7IHJldHVybjt9CiAgICBlbHNlIGlmIChrPT1uKXsKICAgICAgICB3aGlsZShjbnQ8PW4pIHsKICAgICAgICAgICAgQVtjbnQtMV1bY250LTFdPWNudDsKICAgICAgICAgICAgY250Kys7CiAgICAgICAgfQogICAgICAgIGZpbGxpbihjbnQpOwogICAgICAgIHByaW50KCk7CiAgICAgICAgcmV0dXJuOwogICAgfQogICAgayU9bjsKICAgIGZvciAoaW50IGk9MDsgaTxuOyBpKyspewogICAgICAgIGlmKGk9PW4tay0xKXsKICAgICAgICAgICAgZm9yIChpbnQgaj1pOyBqPG47IGorKyl7CiAgICAgICAgICAgICAgICBBW2ldW2pdPWNudCsrOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGkrKzsKICAgICAgICB9CiAgICAgICAgaWYgKGk9PW4pIGJyZWFrOwogICAgICAgIEFbaV1baV09Y250Kys7CiAgICB9CiAgICBmaWxsaW4oY250KTsKICAgIHByaW50KCk7Cn0KIAppbnQgbWFpbigpIHsKICAgIGlvc19iYXNlOjpzeW5jX3dpdGhfc3RkaW8oMCk7CiAgICBjaW4udGllKDApOwogCiAgICAvL2lucHV0CiAgICBjaW4gPj4gdDsKIAogICAgLy9jYWxsCiAgICBmb3IgKGludCBpPTA7IGk8dDsgaSsrKSB7CiAgICAgICAgY2luID4+IG4gPj4gazsKICAgICAgICBwcm9ncmVzcygpOwogICAgICAgIGRlbCgpOwogICAgfQogCiAKIAogICAgcmV0dXJuIDA7Cn0=