#include<bits/stdc++.h>
using namespace std;
#define rep(i, a, b) for (int i = a; i <= b; i++)
#define per(i, a, b) for (int i = a; i >= b; i--)
#define FASTIO ios_base::sync_with_stdio(false); cin.tie(nullptr); cout.tie(nullptr);
#define PB push_back
typedef long long ll;
const ll N = 1000000007;
const ll N1 = 1000000001;
const int SUP = 10000009;
int gcd(int a,int b)
{
    if(b==0)
     return a;
    else
     return gcd(b,a%b);
}
string decimalToBinary(int n)
{
    string s = bitset<64> (n).to_string();
    const auto loc1 = s.find('1');
    return s;
}
void swapped(char s1,char s2)
{
    char temp=s1;
    s1=s2;
    s2=temp;
}
long long int modd(long long int n, long long int k)
{
    return (k+(n%k))%k;
}
long long int gcd(long long int a, long long int b)
{
    if(a==0)
        return b;
    return gcd(b%a,a);
}
void solve()
{
    int n;
    cin >> n;
    if(n%2){
        std::vector<int> a;
        for(int i=1;i<=n;i++){
            a.push_back(i);
        }
        for(int i=1;i<n;i+=2){
            swap(a[i],a[i-1]);
        }
        swap(a[n-1],a[n-2]);
        for(int i=0;i<n;i++){
            cout << a[i] << " ";
        }
        cout << endl;
    }
    else{
        vector<int> a;
        for(int i=1;i<=n;i++){
            a.push_back(i);
        }
        for(int i=1;i<n;i+=2){
            swap(a[i],a[i-1]);
        }
        for(int i=0;i<n;i++){
            cout << a[i] << " ";
        }
        cout << endl;
    }
}
int main()
{
    int t=1;
    std::cin >> t;
    int T=t;
    while(t--)
    {
        //cout << "Case #" << T-t << ":" << " ";
        solve();
    }
    return 0;
}
/*
0 2 4 6  8  10
5 7 9 11 13 15
*/
