#include<bits/stdc++.h>
using namespace std;
#define IOS ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0);
#define ll long long
#define endl "\n"
const ll mod = 1e9+7;
#define fi first
#define ss second
#define ii pair<ll,ll>
#define pb push_back
#define mp make_pair

/*ll n,m;
ll dis[200100];
vector<ii>g[200100];
bool vis[200100];

void djik(ll st)
{
    for(ll i=0;i<n;i++)
    {
        vis[i]=0;
        dis[i]=1e18;
    }


    priority_queue<ii>q;

    dis[st] = 0;
    q.push({-0,st});


    while(!q.empty())
    {
        ll cur = q.top().ss;
        q.pop();

        if(vis[cur])continue;
        vis[cur]=1;

        for(auto neigh:g[cur])
        {
            ll node = neigh.fi;
            ll wlen = neigh.ss;
            if(dis[node]>dis[cur]+wlen)
            {
                dis[node] = dis[cur]+wlen;
                q.push(mp(-dis[node],node));
            }
        }

    }


}*/
void solve()
{
    int n;
    cin>>n;
   
    if(n%2==0)
    {
    	int i=1;
    	while(i<=n)
    	{
			cout<<i+1<<" "<<i<<" ";
    		i=i+2;
		}
	}
	else{
		int i=1;
		while(i<n-2)
		{
			cout<<i+1<<" "<<i<<" ";
			i=i+2;
		}
		int f=i+1;
		int sec=n;
		int thi=i;
		cout<<f<<" "<<sec<<" "<<thi;
	}
	cout<<"\n";
}
signed main()
{
    IOS
    int t;
	cin>>t;
     while(t--)
    {
        solve();
    }
}