#include<bits/stdc++.h>
using namespace std;
const int MAXN = 2e6+5;
bool CYL;
int A[MAXN],n,m,k,B[305],C[305][305],ty[MAXN],u[MAXN],v[MAXN],st[305],ed[305];
bool Godd;
void Solve15()
{
	memset(B,0,sizeof B);memset(C,0,sizeof C);int cnt=0;
	for(int i=1;i<=m;++i)
	{
		int id=(A[i]+1)/2;
		if(B[id]==0)
		{
			++cnt;++B[id];C[id][1]=A[i];
			ty[cnt]=1;u[cnt]=id;
		}
		else
		{
			if(B[id]==1)
			{
				++cnt;ty[cnt]=1;u[cnt]=id;
				if(C[id][1]==A[i]) --B[id];
				else ++B[id],C[id][2]=A[i];
			}
			else
			{
				if(C[id][1]==A[i])
				{
					++cnt;ty[cnt]=1;u[cnt]=n;
					++cnt;ty[cnt]=2;u[cnt]=id;v[cnt]=n;
					--B[id];C[id][1]=C[id][2];
				}
				else
				{
					++cnt;ty[cnt]=1;u[cnt]=id;
					--B[id];
				}
			}
		}
	}
	printf("%d\n",cnt);
	for(int i=1;i<=cnt;++i)
	{
		printf("%d %d ",ty[i],u[i]);
		if(ty[i]==2) printf("%d",v[i]);
		printf("\n");
	}
}
bool fin;
int cnt;
void dfs(int p)
{
	if(fin) return ;
	if(p==m+1)
	{
		bool Ans=1;
		for(int i=1;i<=n;++i) if(st[i]<=ed[i]) Ans=0;
		if(Ans)
		{
			printf("%d\n",cnt);
			for(int i=1;i<=cnt;++i)
			{
				printf("%d %d ",ty[i],u[i]);
				if(ty[i]==2) printf("%d",v[i]);
				printf("\n");
			}
			fin=1;
		}
		return ;
	}
	for(int i=1;i<=n;++i)
	{
		if(st[i]>ed[i])
		{
			for(int j=1;j<=n;++j)
			{
				if(st[j]<=ed[j]&&C[j][st[j]]==A[p])
				{
					st[j]++;
					++cnt;ty[cnt]=1;u[cnt]=i;++cnt;ty[cnt]=2;u[cnt]=i;v[cnt]=j;
					dfs(p+1);
					cnt-=2;st[j]--;
				}
			}
			++cnt;ty[cnt]=1;u[cnt]=i;
			C[i][++ed[i]]=A[p];
			dfs(p+1);
			--ed[i];--cnt;
		}
		else
		{
			if(C[i][ed[i]]==A[p])
			{
				--ed[i];
				++cnt;ty[cnt]=1;u[cnt]=i;
				dfs(p+1);
				++ed[i];cnt-=1;
			}
			else
			{
				++cnt;ty[cnt]=1;u[cnt]=i;
				C[i][++ed[i]]=A[p];
				dfs(p+1);
				--ed[i];--cnt;
			}
		}
	}
}
void Solve35()
{
	fin=0;cnt=0;
	memset(ed,0,sizeof ed);
	for(int i=1;i<=n;++i) st[i]=1;
	dfs(1);
}
int main()
{
//	cout<<1.0*(&Godd-&CYL)/1024/1024<<"MB"<<endl;
	freopen("meow.in","r",stdin);
	freopen("meow.out","w",stdout);
	int T;
	scanf("%d",&T);
	while(T--)
	{
		scanf("%d %d %d",&n,&m,&k);
		for(int i=1;i<=m;++i) scanf("%d",&A[i]);
		if(k==2*n-2) Solve15();
		else if(m<=14) Solve35();
	}
	return 0;
}
