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

#define ff              first
#define ss              second
#define int             long long
#define pb              push_back
#define mp              make_pair
#define pii             pair<int,int>
#define vi              vector<int>
#define mii             map<int,int>
#define pqb             priority_queue<int>
#define pqs             priority_queue<int,vi,greater<int> >
#define setbits(x)      __builtin_popcountll(x)
#define zrobits(x)      __builtin_ctzll(x)
#define mod             998244353
#define inf             1e18
#define ps(x,y)         fixed<<setprecision(y)<<x
#define mk(arr,n,type)  type *arr=new type[n];
#define w(x)            int x; cin>>x; while(x--)
#define all(v)          v.begin(), v.end()
#define rall(v)         v.rbegin(), v.rend()
mt19937                 rng(chrono::steady_clock::now().time_since_epoch().count());



void c_p_c()
{
    ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0);
#ifndef ONLINE_JUDGE
    freopen("input.txt", "r", stdin);
    freopen("output.txt", "w", stdout);
#endif
}
int gcd(int a, int b) {
    while (a != 0) {
        int temp = a;
        a = b % a;
        b = temp;
    }
    return b;
}

void bfs(vector<vi> &a, vector<vi> &vis, int n, int m) {
    queue<pair<int, int>> q;
    q.push({0, 0});
    vis[0][0] = 1;
    vi dx = {0, 1, 0, -1};
    vi dy = { -1, 0, 1, 0};
    while (!q.empty()) {
        pii f = q.front(); q.pop();
        int ci = f.ff, cj = f.ss;

        cout << a[ci][cj] << " ";
        for (int i = 0; i < 4; ++i) {
            int x = ci + dx[i];
            int y = cj + dy[i];
            if (x >= 0 && x < n && y >= 0 && y < m && !vis[x][y]) {
                q.push({x, y});
                vis[x][y] = 1;
            }
        }

    }
    return ;

}

void swap(vi& a, int i, int j) {
    int temp = a[i];
    a[i] = a[j];
    a[j] = temp;
    return ;
}
int ceil(int a, int b) {
    return (a % b == 0 ? a / b : a / b + 1);
}


void solve() {
    int n;
    cin >> n;
    vi a(n);
    for (int i = 0; i < n; ++i)a[i] = i + 1;
    for (int i = 0; i < n - 1; i += 2) {
        swap(a, i, i + 1);
    }
    if (n % 2)swap(a, n - 2, n - 1);
    for (auto &x : a) {
        cout << x << " ";
    }
    cout << "\n";
    return ;

}

int32_t main()
{
    c_p_c();
    int t = 1;
    cin >> t;
    while (t--) {
        solve();
    }
    return 0;
}