#include<bits/stdc++.h>
using namespace std;
int h[200100],x,y,t,n,m,k;
bool nx,ny;
int ans,an[400200][5];
void chu1()
{
	x=y=0;
	for(int i=1;i<=m;i++)
	{
		if(x==0&&y==0)
		{
			x=h[i];nx=true;
			ans++;an[ans][0]=1;an[ans][1]=1;
			continue;
		}
		else if(x==h[i])
		{
			ans++;an[ans][0]=1;an[ans][1]=1;
			if(nx==true) 
			{
				x=0;nx=false;	
			}
			else if(nx==false)
			{
				ans++;an[ans][0]=2;an[ans][1]=1;an[ans][2]=2;
				x=y;y=0;ny=false;nx=true;
			 } 
			continue;
		}
		else if(y==h[i])
		{
			ans++;an[ans][0]=1;an[ans][1]=2;
			if(ny==true) 
			{
				y=0;ny=false;
			}
			else if(ny==false) 
			{
				ans++;an[ans][0]=1;an[ans][1]=1;an[ans][2]=1;
				y=x;x=0;nx=true;ny=false;	
			}
			continue;
		}
		else if(x==0&&y!=0)
		{
			ans++;an[ans][0]=1;an[ans][1]=1;
			x=h[i];nx=true;
			continue;
		}
		else if(y==0&&x!=0)
		{
			ans++;an[ans][0]=1;an[ans][1]=2;
			y=h[i];ny=true;
			continue;
		}
		else
		{
			if(h[i+1]==x)
			{
				if(nx==false&&ny==true)
				{cout<<" A";
					ans++;an[ans][0]=1;an[ans][1]=2;
					ans++;an[ans][0]=1;an[ans][1]=1;
					ans++;an[ans][0]=2;an[ans][1]=1;an[ans][2]=2;
					x=y;y=h[i];nx=false;ny=true;i++;
					continue;
				}
				if(nx==true&&ny==false)
				{
					ans++;an[ans][0]=1;an[ans][1]=2;
					ans++;an[ans][0]=1;an[ans][1]=1;
					x=y;y=h[i];nx=true;ny=true;i++;
					continue;
				}
				if(nx==true&&ny==true)
				{
					ans++;an[ans][0]=1;an[ans][1]=2;
					ans++;an[ans][0]=1;an[ans][1]=1;
					x=y;y=h[i];nx=false;ny=true;i++;
					continue;
				}
			}
			if(h[i+1]==y)
			{
				if(nx==false&&ny==true)
				{
					ans++;an[ans][0]=1;an[ans][1]=1;
					ans++;an[ans][0]=1;an[ans][1]=2;
					y=x;x=h[i];nx=true;ny=true;i++;
					continue;
				}
				if(nx==true&&ny==true)
				{
					ans++;an[ans][0]=1;an[ans][1]=1;
					ans++;an[ans][0]=1;an[ans][1]=2;
					y=x;x=h[i];nx=true;ny=false;i++;
					continue;
				}
				if(nx==true&&ny==false)
				{cout<<" A";
					ans++;an[ans][0]=1;an[ans][1]=1;
					ans++;an[ans][0]=1;an[ans][1]=2;
					ans++;an[ans][0]=2;an[ans][1]=1;an[ans][2]=2;
					y=x;x=h[i];nx=true;ny=false;i++;
					continue;
				}
			}
			if(h[i+1]==h[i])
			{
				ans++;an[ans][0]=1;an[ans][1]=1;
				ans++;an[ans][0]=1;an[ans][1]=1;
				i++;continue;
			}
		}
	}
}

int main()
{
	freopen("meow.in","r",stdin);freopen("meow.out","w",stdout);
	ios::sync_with_stdio(false);cin.tie();cout.tie();
	cin>>t;
	while(t--)
	{
		ans=0;nx=ny=false;
		cin>>n>>m>>k;
		for(int i=1;i<=m;i++)
		{
			cin>>h[i];
		}
		chu1();
		cout<<ans<<endl;
		for(int i=1;i<=ans;i++)
		{
			cout<<an[i][0]<<" "<<an[i][1];
			if(an[i][0]==2) cout<<" "<<an[i][2];
			cout<<endl;
		}
	}
}
