#include<bits/stdc++.h>
using namespace std;
const int maxn=200000;
int a[maxn];
map<int,int>mapp;
struct node
{
int x,y;
}b[maxn*2];
int cmp(node aa,node bb)
{
if(aa.x==bb.x)
return aa.y>bb.y;
return aa.x>bb.x;
}
int main ()
{
int t;
scanf("%d",&t);
while(t--)
{
int n,m;
mapp.clear();
scanf("%d%d",&n,&m);
for(int i=0;i<n;i++)
{
scanf("%d",&a[i]);
mapp[a[i]]++;
}
int l=-1;
for(auto it=mapp.begin();it!=mapp.end();it++)
{
b[++l].x=it->first;
b[l].y=it->second;
}
sort(b,b+l+1,cmp);
int sum=n-m;
int flag=0;
for(int i=0;i<=l;i++)
{
int answer=sum-b[i].y;
if(answer<=0)
{
flag=b[i].x;
break;
}
for(int j=0;j<=l;j++)
{
if(j==i)
continue;
answer-=min(b[j].y,b[i].y-1);
if(answer<=0)
{
flag=b[i].x;
break;
}
}
if(flag)
break;
}
if(flag)
printf("%d\n",flag);
else
printf("-1\n");
}
}