#include <cstdio>
#include <iostream>
#include <algorithm>
#include <fstream>
#include <cstring>
#include <string>
#define For(i,a,b) for(i=a;i<=b;i++)
using namespace std;
int arr[18];
int res,t,n,k,m,oper;
/*this function returns whether the sequence is valid or not*/
bool isValid(){
int hash[19],i,maxm=0,j;
memset(hash,0,sizeof(hash));
For(i,1,n+1){
if(i-k>=1){
maxm=0;
For(j,1,18){
if(hash[j])
maxm = max(maxm,j);
}
if(hash[maxm]>=m)
return 0;
hash[arr[i-k]]-=1;
}
if(i<=n)
hash[arr[i]]++;
}
return 1;
}
/*using backtracking search() is creating all permutations*/
/*its argument is the index of the array,oper is the operations performed till now*/
void search(int i){
if(i>n){
if(isValid()){
res = min(res,oper);
/*cout<<"This sequence is valid:\n";
int l;
For(l,1,n)
cout<<arr[l]<< " ";
cout<<endl; */
}
return;
}
int k;
For(k,i,n+1){
arr[k]+=1;
if(k<=n)
oper++;
search(k+1);
if(k<=n)
oper--;
arr[k]-=1;
}
}
int main(){
cin>>t;
while(t--){
oper = 0;
res = 18;
cin>>n>>k>>m;
int i;
For(i,1,n)
cin>>arr[i];
search(1);
if(res<=n)
cout<<res<<endl;
else
cout<<-1<<endl;
}
return 0;
}
I2luY2x1ZGUgPGNzdGRpbz4KI2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8YWxnb3JpdGhtPgojaW5jbHVkZSA8ZnN0cmVhbT4KI2luY2x1ZGUgPGNzdHJpbmc+CiNpbmNsdWRlIDxzdHJpbmc+CiNkZWZpbmUgRm9yKGksYSxiKSBmb3IoaT1hO2k8PWI7aSsrKQp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKIGludCBhcnJbMThdOwogaW50IHJlcyx0LG4sayxtLG9wZXI7CiAKCi8qdGhpcyBmdW5jdGlvbiByZXR1cm5zIHdoZXRoZXIgdGhlIHNlcXVlbmNlIGlzIHZhbGlkIG9yIG5vdCovIAogYm9vbCBpc1ZhbGlkKCl7CiAgICAgaW50IGhhc2hbMTldLGksbWF4bT0wLGo7CiAJbWVtc2V0KGhhc2gsMCxzaXplb2YoaGFzaCkpOwogCUZvcihpLDEsbisxKXsKIAkJaWYoaS1rPj0xKXsKIAkJCW1heG09MDsKIAkJCUZvcihqLDEsMTgpewogCQkJCWlmKGhhc2hbal0pCgkJCQkJbWF4bSA9IG1heChtYXhtLGopOwogCQkJfQogCQkJaWYoaGFzaFttYXhtXT49bSkKIAkJCQlyZXR1cm4gMDsKIAkJCWhhc2hbYXJyW2kta11dLT0xOwogCQl9CiAJICAgIGlmKGk8PW4pCiAJCQloYXNoW2FycltpXV0rKzsKIAl9CiAJcmV0dXJuIDE7CiB9CiAKIC8qdXNpbmcgYmFja3RyYWNraW5nIHNlYXJjaCgpIGlzIGNyZWF0aW5nIGFsbCBwZXJtdXRhdGlvbnMqLwogLyppdHMgYXJndW1lbnQgaXMgdGhlIGluZGV4IG9mIHRoZSBhcnJheSxvcGVyIGlzIHRoZSBvcGVyYXRpb25zIHBlcmZvcm1lZCB0aWxsIG5vdyovCiAKIHZvaWQgc2VhcmNoKGludCBpKXsKIAlpZihpPm4pewogCQlpZihpc1ZhbGlkKCkpewogCQkJcmVzID0gbWluKHJlcyxvcGVyKTsKIAkJLypjb3V0PDwiVGhpcyBzZXF1ZW5jZSBpcyB2YWxpZDpcbiI7CiAJCQlpbnQgbDsKIAkJCUZvcihsLDEsbikKIAkJCQljb3V0PDxhcnJbbF08PCAiICI7CiAJCQljb3V0PDxlbmRsOwkqLwogCQl9CiAJCXJldHVybjsKIAl9CiAJaW50IGs7CiAJRm9yKGssaSxuKzEpewogCQlhcnJba10rPTE7CiAJICBpZihrPD1uKQogCQlvcGVyKys7CiAJCXNlYXJjaChrKzEpOwogCSAgaWYoazw9bikJCiAJCW9wZXItLTsKIAkJYXJyW2tdLT0xOwogCX0KIH0KIAogaW50IG1haW4oKXsKICBjaW4+PnQ7CiAgd2hpbGUodC0tKXsKICAJb3BlciA9IDA7CiAgCXJlcyA9IDE4OwogIAljaW4+Pm4+Pms+Pm07CiAgCWludCBpOwogIAlGb3IoaSwxLG4pCiAgCQljaW4+PmFycltpXTsKICAJc2VhcmNoKDEpOwogIAlpZihyZXM8PW4pCiAgCQljb3V0PDxyZXM8PGVuZGw7CiAgCWVsc2UKICAJCWNvdXQ8PC0xPDxlbmRsOwkKICB9CiByZXR1cm4gMDsKIH0=