// url: https://codeforces.com/problemset/problem/1822/D
// memory limit: 256MB
// time limit: 2000s
#include <bits/stdc++.h>
using namespace std;
typedef long long big;
#define pb push_back
typedef long double ludo;
#define fl(i,a,n) for(int i=a;i<n;i++)
#define all(x) (x).begin(), (x).end()
template <typename T>
ostream& operator <<(ostream& ostream , vector<T> &vec)
{
for(auto x:vec) cout<<x<<' ';
return ostream;
}
template <typename T>
ostream& operator <<(ostream& ostream , pair<T,T> &x)
{
cout<<x.first<<' '<<x.second;
return ostream;
}
template <typename T>
istream& operator >> (istream& istream , vector<T> &vec)
{
for(int i=0;i<vec.size();i++)
{
cin>>vec[i];
}
return istream;
}
int gcd(int a, int b)
{
return b == 0 ? a : gcd(a,a%b);
}
void solve()
{
int n;cin>>n;
if(n==1)
{
cout<<1;
return;
}
if(n%2!=0)
{
cout<<"-1";
return;
}
cout<<n<<' '<<n-1<<' ';
int l = 1;
int r = n-2;
int pos = n-1;
for(int i=0;i<n-2;i+=2)
{
cout<<n-pos+l<<' '<<r-l<<' ';
pos=r;
r--;l++;
}
}
int main()
{
ios_base::sync_with_stdio(false); cin.tie(NULL);
big test;
cin>>test;
while(test--)
{
solve();
cout<<'\n';
}
}
4
4
5
6
7
8
233A - Perfect Permutation | 1360A - Minimal Square |
467A - George and Accommodation | 893C - Rumor |
227B - Effective Approach | 1534B - Histogram Ugliness |
1611B - Team Composition Programmers and Mathematicians | 110A - Nearly Lucky Number |
1220B - Multiplication Table | 1644A - Doors and Keys |
1644B - Anti-Fibonacci Permutation | 1610A - Anti Light's Cell Guessing |
349B - Color the Fence | 144A - Arrival of the General |
1106A - Lunar New Year and Cross Counting | 58A - Chat room |
230A - Dragons | 200B - Drinks |
13A - Numbers | 129A - Cookies |
1367B - Even Array | 136A - Presents |
1450A - Avoid Trygub | 327A - Flipping Game |
411A - Password Check | 1520C - Not Adjacent Matrix |
1538B - Friends and Candies | 580A - Kefa and First Steps |
1038B - Non-Coprime Partition | 43A - Football |