#include <iostream>
#include <vector>
#include <algorithm>

using namespace std;

bool canCreateDoubledSequence(int N) {
    // Une séquence doublée est impossible si N > 4
    // car pour N ≥ 5, la distance N ne peut pas être respectée
    return N <= 4;
}

vector<int> constructDoubledSequence(int N) {
    if (N == 1) {
        return {1, 1};
    }
    if (N == 4) {
        // Une solution valide pour N = 4
        return {2, 3, 2, 4, 3, 1, 1, 4};
    }
    // Pour N = 2 et N = 3, pas de solution
    return {};
}

int main() {
    ios_base::sync_with_stdio(false);
    cin.tie(nullptr);
    
    int T;
    cin >> T;
    
    while (T--) {
        int N;
        cin >> N;
        
        vector<int> sequence = constructDoubledSequence(N);
        if (sequence.empty() || !canCreateDoubledSequence(N)) {
            cout << -1 << "\n";
        } else {
            for (size_t i = 0; i < sequence.size(); i++) {
                if (i > 0) cout << " ";
                cout << sequence[i];
            }
            cout << "\n";
        }
    }
    
    return 0;
}