/*
1 如果牌堆中有相同的，直接删去
2 我们希望对于每一层而言， 每一种牌的个数都至少要有2张

我们可以通过手写栈
先将输入的元素去重
利用数组cnt[x]表示当前这一层中为x型的牌有多少张 

对于一种类型，如果下一次出现的距离小于n
则将其它类型的牌放在不同的栈中
通过栈顶来消去

如果出现的距离大于n，我们选择将一些牌放在上层
这些放在上面的牌需要满足他们下一次出现的距离比n-当前有的小 
然后栈顶消去

同层

救星来的早，就放上去 


啊啊啊啊

牡蛎
muli

还有3分钟

我没有做完

就急急急急急急急急急急寄啦！！！！！！！！！！！！ 
*/
#include <cstdio>
#include <iostream>
#include <algorithm>
using namespace std;

const int N = 310;
const int M = 2e6 + 10;
const int UP = 10; 
int st[N][N], t[N], cnt;
int nxt[M], a[M], fi[N];
int n, m, k;
bool f[M];


void work()
{
	scanf("%d %d %d", &n, &m, &k);
	for (int i = 1; i <= m; ++ i) scanf("%d", &a[i]), fi[a[i]] = i;
	cnt = 1;
	//对于i第一个后面跟其颜色相同的下标 
	if (m == 10)
	{
		int cnt = 3, k = 4;
		st[1][1] = a[1]; st[2][1] = a[2]; st[3][1] = a[3];
		while (1)
		{
			for (int i = 1; i <= 3; ++ i)
			{
				if (st[i][t[i]] == )
			}
		}
	}
}

int main()
{
	//freopen("meow.in", "r", stdin);
	//freopen("meow.out", "w", stdout);
	int T; scanf("%d", &T);
	while (T --) work();
	return 0;
}
/*
1
2 11 3
1 2 3 1 2 3 2 2 1 2 3 
*/
