#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;
}