#include <bits/stdc++.h>   using namespace std;   const int mod =  1000000007;   const int LIM = 100005;   #define int long long   #define IOS ios_base::sync_with_stdio(0);cin.tie(0);cout.tie(0)   #define mem(a,b) memset(a,b,sizeof(a))   #define all(a) a.begin() , a.end()   #define pii pair<int,int>   #define vi vector<int>   #define endl   n    #define pb push_back   #define sp <<   <<   #define ss second   #define ff first   int power(int x, int n){       int res = 1;       while(n){             if(n&1){                   res = res * x % mod;             }             x = x * x % mod;             n>>=1;       }       return (res%mod);   }   /*bool prime[1000006];   void sieve(int n)   {         memset(prime, true, sizeof(prime));         int rootn = (int)sqrt(n);         for (int p = 2; p <= rootn; p++)               if(prime[p] == true)                     for(int i = p*p; i <= n; i += p)                           prime[i] = false;         prime[1] = 0;      }*/   /*   int fac[300005];   int ncr(int n,int r)   {         return fac[n]*((power(fac[n-r], mod-2)*power(fac[r], mod-2))%mod)%mod;   }   */   bool check(int a[],int n)   {    for(int i=1;i<n;i++)    {     if(a[i]<a[i-1])return false;    }    return true;   }      int32_t main()   {     IOS;     int tt=1,n,x,k,y,z,i,j;     cin>>tt;     while(tt--){       cin>>n>>x;     int a[n];     for(int i=0;i<n;i++)     {      cin>>a[i];     }     int ans=0;     for(int i=0;i<=n;i++)     {      if(check(a,n))break;      ans++;      for(int j=0;j<n;j++)      {       if(a[j]>x)       {        swap(a[j],x);        break;       }      }     }     if(check(a,n))cout<<ans<<endl;     else cout<<-1<<endl;     }   }   