//#pragma comment(linker, "/STACK:102400000,102400000")
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
typedef pair<int,int>pii;
#define int ll
#define ff first
#define ss second
#define debug(x) std:: cerr << #x << " = " << x << std::endl;
const int maxn=2e5+10,inf=0x3f3f3f3f,mod=1000000007;
const ll INF=0x3f3f3f3f3f3f3f3f;
const double eps=1e-9;
//#define DEBUG//#define lowbit(x) ((x) & -(x))//<<setiosflags(ios::fixed)<<setprecision(9)
void read(){}
template<typename T,typename... T2>inline void read(T &x,T2 &... oth) {
	x=0; int ch=getchar(),f=0;
	while(ch<'0'||ch>'9'){if (ch=='-') f=1;ch=getchar();}
	while (ch>='0'&&ch<='9'){x=(x<<1)+(x<<3)+(ch^48);ch=getchar();}
	if(f)x=-x;
	read(oth...);
}
int h[maxn],b[maxn],need[maxn],sub[maxn];
int check(int n)
{
	for(int i=1;i<n;i++)
		if(h[i]<h[i+1])
			return i;
	return 0;
}
signed main(signed argc, char const *argv[])
{
	std::ios::sync_with_stdio(false),cin.tie(0),cout.tie(0);
	#ifdef DEBUG
		freopen("input.in", "r", stdin);
	//	freopen("output.out", "w", stdout);
	#endif
	int t,n,k;
	cin>>t;
	while(t--)
	{
		cin>>n>>k;
		for(int i=1;i<=n;i++)
			cin>>h[i];
		h[n+1]=0;
		int lev=h[n],ans=-1,sum=0,pos;
		bool ok=0;
		while((pos=check(n))>0)
		{
			h[pos]++;
			sum++;
//			for(int i=1;i<pos;i++)
//			{
//				if(h[i]<h[pos])
//				{
//					sum+=h[pos]-h[i];
//					h[i]=h[pos];
//					if(sum>=k)
//					{
//						ans=i;
//						break;
//					}
//				}
//			}
			if(sum==k)
				ans=pos;
		}
//		sub[n]=0;
//		need[n]=0;
//		for(int i=n-1;i>=0;i--)
//		{
//			lev=max(lev,h[i]);
//			b[i]=lev;
//			need[i]=b[i]-h[i];
//		}
//		int sum=0;
//		for(int i=1;i<=n;i++)
//		{
//			sum+=need[i];
//			if(sum>=k)
//			{
//				ans=i;
//				break;
//			}
//		}
		cout<<ans<<endl;
	}
	return 0;
}


