#include <bits/stdc++.h>
using namespace std;
#define pb push_back
#define fi first
#define se second
#define mp make_pair
#define endl '\n';
#define sz(x) ((int)(x).size())
#define min(a, b) a < b ? a : b
#define all(x) (x).begin(), (x).end()
#define rall(x) (x).rbegin(), (x).rend()
#define show(x) cout << #x << " = " << x << endl
#define yes cout << "YES\n"
#define no cout << "NO\n"
void dbg_out()
{
cerr << endl;
}
template <typename Head, typename... Tail>
void dbg_out(Head H, Tail... T)
{
cerr << ' ' << H;
dbg_out(T...);
}
#define dbg(...) cerr << "(" << #__VA_ARGS__ << "):", dbg_out(__VA_ARGS__)
typedef long long ll;
// const int N = 2e5 + 5;
const int MOD = (1e9) + 7;
void solve() {
int N;
cin >> N;
int size = 2*N;
vector<int> slots(size, 0);
bool possible = true;
for(int i = N; i >=1; --i){
bool placed = false;
for(int p =0; p +i < size; ++p){
if(slots[p]==0 && slots[p+i]==0){
slots[p] = i;
slots[p+i] = i;
placed = true;
break;
}
}
if(!placed){
possible = false;
break;
}
}
if(possible){
string output;
for(int idx =0; idx < size; ++idx){
output += to_string(slots[idx]);
if(idx != size-1){
output += ' ';
}
}
cout << output << '\n';
}
else{
cout << "-1\n";
}
}
int main()
{
// freopen("input.txt", "r", stdin);
ios::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);
int T = 1;
cin >> T;
while (T--)
{
solve();
}
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgojZGVmaW5lIHBiIHB1c2hfYmFjawojZGVmaW5lIGZpIGZpcnN0CiNkZWZpbmUgc2Ugc2Vjb25kCiNkZWZpbmUgbXAgbWFrZV9wYWlyCiNkZWZpbmUgZW5kbCAnXG4nOwojZGVmaW5lIHN6KHgpICgoaW50KSh4KS5zaXplKCkpCiNkZWZpbmUgbWluKGEsIGIpIGEgPCBiID8gYSA6IGIKI2RlZmluZSBhbGwoeCkgKHgpLmJlZ2luKCksICh4KS5lbmQoKQojZGVmaW5lIHJhbGwoeCkgKHgpLnJiZWdpbigpLCAoeCkucmVuZCgpCiNkZWZpbmUgc2hvdyh4KSBjb3V0IDw8ICN4IDw8ICIgPSAiIDw8IHggPDwgZW5kbAojZGVmaW5lIHllcyBjb3V0IDw8ICJZRVNcbiIKI2RlZmluZSBubyBjb3V0IDw8ICJOT1xuIgp2b2lkIGRiZ19vdXQoKQp7CiAgICBjZXJyIDw8IGVuZGw7Cn0KdGVtcGxhdGUgPHR5cGVuYW1lIEhlYWQsIHR5cGVuYW1lLi4uIFRhaWw+CnZvaWQgZGJnX291dChIZWFkIEgsIFRhaWwuLi4gVCkKewogICAgY2VyciA8PCAnICcgPDwgSDsKICAgIGRiZ19vdXQoVC4uLik7Cn0KI2RlZmluZSBkYmcoLi4uKSBjZXJyIDw8ICIoIiA8PCAjX19WQV9BUkdTX18gPDwgIik6IiwgZGJnX291dChfX1ZBX0FSR1NfXykKdHlwZWRlZiBsb25nIGxvbmcgbGw7Ci8vIGNvbnN0IGludCBOID0gMmU1ICsgNTsKY29uc3QgaW50IE1PRCA9ICgxZTkpICsgNzsKCgp2b2lkIHNvbHZlKCkgewogICAgaW50IE47CiAgICBjaW4gPj4gTjsKICAgIGludCBzaXplID0gMipOOwogICAgdmVjdG9yPGludD4gc2xvdHMoc2l6ZSwgMCk7CiAgICBib29sIHBvc3NpYmxlID0gdHJ1ZTsKICAgIGZvcihpbnQgaSA9IE47IGkgPj0xOyAtLWkpewogICAgICAgIGJvb2wgcGxhY2VkID0gZmFsc2U7CiAgICAgICAgZm9yKGludCBwID0wOyBwICtpIDwgc2l6ZTsgKytwKXsKICAgICAgICAgICAgaWYoc2xvdHNbcF09PTAgJiYgc2xvdHNbcCtpXT09MCl7CiAgICAgICAgICAgICAgICBzbG90c1twXSA9IGk7CiAgICAgICAgICAgICAgICBzbG90c1twK2ldID0gaTsKICAgICAgICAgICAgICAgIHBsYWNlZCA9IHRydWU7CiAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgICAgICBpZighcGxhY2VkKXsKICAgICAgICAgICAgcG9zc2libGUgPSBmYWxzZTsKICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgfQogICAgfQogICAgaWYocG9zc2libGUpewogICAgICAgIHN0cmluZyBvdXRwdXQ7CiAgICAgICAgZm9yKGludCBpZHggPTA7IGlkeCA8IHNpemU7ICsraWR4KXsKICAgICAgICAgICAgb3V0cHV0ICs9IHRvX3N0cmluZyhzbG90c1tpZHhdKTsKICAgICAgICAgICAgaWYoaWR4ICE9IHNpemUtMSl7CiAgICAgICAgICAgICAgICBvdXRwdXQgKz0gJyAnOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIGNvdXQgPDwgb3V0cHV0IDw8ICdcbic7CiAgICB9CiAgICBlbHNlewogICAgICAgIGNvdXQgPDwgIi0xXG4iOwogICAgfQp9CgoKCmludCBtYWluKCkKewogICAgLy8gZnJlb3BlbigiaW5wdXQudHh0IiwgInIiLCBzdGRpbik7CiAgICBpb3M6OnN5bmNfd2l0aF9zdGRpbygwKTsKICAgIGNpbi50aWUoMCk7CiAgICBjb3V0LnRpZSgwKTsKICAgIGludCBUID0gMTsKICAgIGNpbiA+PiBUOwogICAgd2hpbGUgKFQtLSkKICAgIHsKICAgICAgICBzb2x2ZSgpOwogICAgfQoKICAgIHJldHVybiAwOwp9Cg==