#include<bits/stdc++.h>
using namespace std;
#define all(x) x.begin(),x.end()
#define rall(x) x.rbegin(),x.rend()
const int MAX = 1e6+7;
const int MOD = 1e9+7;
#define ll long long int
int n;
int vi[501];
int dp[501][501][501];
ll Min(ll a , ll b){
return a<=b ? a : b;
}
ll solve(int i,int x,int last){
if(i == n) return 0;
if(dp[i][x][last]!=-1) return dp[i][x][last];
int mn = INT_MAX;
if(i == 0)
mn = Min(solve(i+1,x,vi[0]),1+solve(i+1,vi[0],x));
else{
if(vi[i]>=last){
mn = Min(solve(i+1,x,vi[i]),1+solve(i+1,vi[i],x));
}else if(x>=last) mn = 1+solve(i+1,vi[i],x);
else mn = INT_MAX;
}
dp[i][x][last] = mn;
return mn;
}
int main(){
ios_base::sync_with_stdio(0);
cin.tie(0); cout.tie(0);
int t;
cin>>t;
while(t-->0){
memset(vi,0,sizeof(vi));
int p;
cin>>n>>p;
for(int i = 0;i<n;i++) cin>>vi[i];
for(int i = 0;i<501;i++){
for(int j = 0;j<501;j++){
for(int k = 0;k<501;k++) dp[i][j][k] = -1;
}
}
ll mx = solve(0,p,0);
if(mx>=INT_MAX) cout<<-1<<'\n';
else cout<<mx<<'\n';
}
return 0;
}
I2luY2x1ZGU8Yml0cy9zdGRjKysuaD4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKI2RlZmluZSBhbGwoeCkgeC5iZWdpbigpLHguZW5kKCkKI2RlZmluZSByYWxsKHgpIHgucmJlZ2luKCkseC5yZW5kKCkKY29uc3QgaW50IE1BWCA9IDFlNis3Owpjb25zdCBpbnQgTU9EID0gMWU5Kzc7CiNkZWZpbmUgbGwgbG9uZyBsb25nIGludAoKaW50IG47CmludCB2aVs1MDFdOwppbnQgZHBbNTAxXVs1MDFdWzUwMV07CgpsbCBNaW4obGwgYSAsIGxsIGIpewogIHJldHVybiBhPD1iID8gYSA6IGI7Cn0KCmxsIHNvbHZlKGludCBpLGludCB4LGludCBsYXN0KXsKCiAgaWYoaSA9PSBuKSByZXR1cm4gMDsKICBpZihkcFtpXVt4XVtsYXN0XSE9LTEpIHJldHVybiBkcFtpXVt4XVtsYXN0XTsKCgogIGludCBtbiA9IElOVF9NQVg7CiAgaWYoaSA9PSAwKQogICAgbW4gPSBNaW4oc29sdmUoaSsxLHgsdmlbMF0pLDErc29sdmUoaSsxLHZpWzBdLHgpKTsKICBlbHNlewoKICAgICAgaWYodmlbaV0+PWxhc3QpewogICAgICAgICAgbW4gPSBNaW4oc29sdmUoaSsxLHgsdmlbaV0pLDErc29sdmUoaSsxLHZpW2ldLHgpKTsKICAgICAgfWVsc2UgaWYoeD49bGFzdCkgbW4gPSAxK3NvbHZlKGkrMSx2aVtpXSx4KTsKICAgICAgZWxzZSBtbiA9IElOVF9NQVg7CiAgfQoKICBkcFtpXVt4XVtsYXN0XSA9ICBtbjsKICByZXR1cm4gbW47Cgp9CgppbnQgbWFpbigpewoKICBpb3NfYmFzZTo6c3luY193aXRoX3N0ZGlvKDApOwogIGNpbi50aWUoMCk7IGNvdXQudGllKDApOwoKICBpbnQgdDsKICBjaW4+PnQ7CgogIHdoaWxlKHQtLT4wKXsKCgltZW1zZXQodmksMCxzaXplb2YodmkpKTsKCWludCBwOwogICAgY2luPj5uPj5wOwogICAgZm9yKGludCBpID0gMDtpPG47aSsrKSBjaW4+PnZpW2ldOwoKICAgIGZvcihpbnQgaSA9IDA7aTw1MDE7aSsrKXsKICAgICAgZm9yKGludCBqID0gMDtqPDUwMTtqKyspewogICAgICAgIGZvcihpbnQgayA9IDA7azw1MDE7aysrKSBkcFtpXVtqXVtrXSA9IC0xOwogICAgICB9CiAgICB9CgogICAgbGwgbXggPSBzb2x2ZSgwLHAsMCk7CiAgICBpZihteD49SU5UX01BWCkgY291dDw8LTE8PCdcbic7CiAgICBlbHNlIGNvdXQ8PG14PDwnXG4nOwogIH0KCiAgcmV0dXJuIDA7Cn0K