/******************************Templates***********************************/

#include <bits/stdc++.h>
using namespace std;

#define test                      lld t; cin >>t; while(t--)
#define Y                         cout <<"YES" <<endl;
#define N                         cout <<"NO" <<endl;
#define debug                     cout <<"dukse" <<endl;
#define lcm(x, y)                 (x*y)/__gcd(x, y)
#define pi                        acos(-1)
#define fst                       first
#define snd                       second
#define cube(x)                   (x*x*x)
#define pb                        push_back
#define mp                        make_pair
#define bi                        binary_search()
#define MAAX                      101
#define GR                        1.61803398875
#define eps                       1e-9
#define mod                       1000000007
#define e                         2.718281828

typedef unsigned long long        ull;
typedef long long int             lld;

/*****************************----START----*******************************/

void solve() {
    test{
        int n;
        cin >> n;
        std::vector<lld> v;
        for (int i = 1; i <= n; i++) {
            v.push_back(i);
        }
        int p = n;
        if (n % 2 == 1)
            p--;
        for (int i = 0; i < p; i += 2) {
            swap(v[i], v[i + 1]);
        }
        if (n % 2 == 1) {
            swap(v[n - 1], v[n - 2]);
        }

        for (int i = 0; i < v.size(); i++) {
            cout << v[i] << " ";
        }
        cout << endl;
    }
}


int main() {
#ifndef ONLINE_JUDGE
    clock_t tStart = clock();
    freopen("input.txt", "r", stdin);
    freopen("output.txt", "w", stdout);
#endif
    ios_base::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL);
    solve();
#ifndef ONLINE_JUDGE
    fprintf(stderr, "\n>> Runtime: %.10fs\n", (double) (clock() - tStart) / CLOCKS_PER_SEC);
#endif
    return 0;
}