#include <bits/stdc++.h>
using namespace std;
#define DEBUG(x) std::cout << '>' << #x << ':' << x << '\n';
#define PRINTVEC(x) for (int i = 0; i < (int)x.size(); i++) std::cout << x[i] << ' '; std::cout << '\n';
#define PRINTPAIR(x) for (int i = 0; i < (int)x.size(); i++) std::cout << x[i].first << ' ' << x[i].second << '\n'; std::cout << '\n';
#define PRINTSET(x) for (auto it = x.begin(); it != x.end(); it++) { std::cout << *it << ' '; } std::cout << '\n';
#define SZ(x) (int)size(x)
#define io std::ios_base::sync_with_stdio(false);std::cin.tie(NULL);   
const int INF = 1<<29;
const double PI = acos(-1.0);

// FILE I/O
void setIn(string s) { freopen(s.c_str(),"r",stdin); }
void setOut(string s) { freopen(s.c_str(),"w",stdout); }
void setIO(string s = "") {
    if (s.size()) setIn(s+".in"), setOut(s+".out"); // for USACO
}

using ll = long long;
using pll = pair<long,long>;
using pii = pair<int,int>;
using vi = vector<int>;
using vl = vector<ll>;
using vpll = vector<pll>;
using vpii = vector<pii>;

void solve() {
    ll n,k; cin >> n >> k;
    if (k > (n - 1) / 2) {
        cout << -1 << endl;
    }
    else if (k == 0) {
        for (ll i = 1; i <= n; i++) cout << i << ' ';
        cout << endl;
    }
    else {
        cout << 1 << ' ' << 3 << ' ' << 2 << ' ';
        ll mx = 3;
        for (ll i = 0; i < k - 1; i++) {
            cout << 5 + i * 2 << ' ' << 4 + i * 2 << ' ';
            mx = max(mx, 5 + i * 2);
            mx = max(mx, 4 + i * 2);
        }
        for (ll i = mx + 1; i <= n; i++) cout << i << ' ';
        cout << endl;
    }
}

int main()
{
	io;
    //setIO("test")

    int t;
    cin >> t;
    while(t--) {
        solve();
    }

    return 0;
}

