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

int a[2000005];
int stac[2000005];
int pushup[2000005];
int n,m,k;
int T;


bool ok1(int j)
{
	for(int i=1;i<=n;i++)
	{
		if(stac[i]==a[j])return 1;
	}
	return 0;
}
int findid1()
{
	for(int i=1;i<=n;i++)
	{
		if(stac[i]==0)return i;
	}
	return -1;
}

int main()
{
	freopen("meow.in","r",stdin);
	freopen("meow.out","w",stdout);
	scanf("%d",&T);
	for(int i=1;i<=T;i++)
	{
		scanf("%d%d%d",&n,&m,&k);
		for(int j=1;j<=m;j++)
		{
			scanf("%d",&a[i]);
		}
		for(int j=1;j<=m;j++)
		{
			int tmp1=findid1();//find first empty
			int tmpk=a[j];
//			printf("(%d,%d)",ok1(j),tmp1);
			if(ok1(j))
			{
				int tmp2=1;
				for(tmp2=1;tmp2<=n;tmp2++)
				{
//					printf("%d %d\n",stac[tmp2],a[j]);
					if(stac[tmp2]==a[j])
					{
//						printf("%d\n",stac[tmp2]);
						stac[tmp2]=0;
						break;
					}
				}
				
//				printf("\n");
				printf("1 %d\n",tmp2);
//				printf("\n");
			}
			else if(tmp1!=-1)
			{
				stac[tmp1]=a[j];
				printf("1 %d\n",tmp1);
			}
//			for(int i=1;i<=n;i++)
//			{
//				printf("%d ",stac[i]);
//			}
//			printf("(%d)(%d)",ok1(j),tmp1)
		}
	}
	
	
	
	
	
	
	return 0;
}