#include <bits/stdc++.h> #define ll long long int #define ld long double using namespace std; void mainSolve() { int n; cin >> n; if (n == 1) { cout << "1\n1\n"; return; } if (n % 2 == 1) { cout << "-1\n"; return; } ll p = 1; while (p <= n) p *= 2ll; vector<pair<ll, ll>> v; vector<bool> mark(n + 1, false); for (int i = n; i >= 1; i--) { if (mark[i]) continue; while (2 * i < p) p /= 2; mark[i] = 1; mark[p - 1 - i] = 1; v.push_back({i, p - 1 - i}); } for (auto it : v) cout << it.first << ' '; for (auto it : v) cout << it.second << ' '; cout << '\n'; for (auto it : v) cout << it.second << ' '; for (auto it : v) cout << it.first << ' '; cout << '\n'; } int main() { #ifndef ONLINE_JUDGE freopen("input.txt", "r", stdin); freopen("output.txt", "w", stdout); #endif int t; cin >> t; while (t--) { mainSolve(); } return 0; }