#include <bits/stdc++.h>
using namespace std;
#define pi pair<int,int>
#define lli long long int
int n,k;
int a[1000005];
int tree[4000005][2];
void buildTree(int l ,int r, int index)
{
if(l==r)
{
tree[index][0] = a[l];
tree[index][1] = INT_MIN;
return;
}
int mid = (l+r)/2;
buildTree(l,mid,2*index);
buildTree(mid+1,r,2*index+1);
int b[4];
b[0]=tree[2*index][0];
b[1]=tree[2*index][1];
b[2]=tree[2*index+1][0];
b[3]=tree[2*index+1][1];
sort(b,b+4);
tree[index][0] = b[3];
tree[index][1] = b[2];
return;
}
pi query(int l ,int r , int ql,int qr,int index)
{
if(ql>r || qr<l)
{
return make_pair(INT_MIN,INT_MIN);
}
if(l >= ql && r<=qr)
{
return make_pair(tree[index][0],tree[index][1]);
}
int mid = (l+r)/2;
pi val1 = query(l,mid,ql,qr,2*index);
pi val2 = query(mid+1,r,ql,qr,2*index+1);
int b[4];
b[0]=val1.first;
b[1]=val1.second;
b[2]=val2.first;
b[3]=val2.second;
sort(b,b+4);
return make_pair(b[3],b[2]);
}
bool check(int mid){
for(int i=0;i<=(n-mid);i++){
pi x = query(0,n-1,i,i+mid-1,1);
if(x.first == x.second){
if(k < x.first){
return 1;
}
}else if(k < x.first && k>=x.second){
return 1;
}
}
return 0;
}
int main()
{
ios_base::sync_with_stdio(false);
cin.tie(NULL);
int t;
cin>>t;
while(t--){
cin>>n>>k;
for(int i=0;i<n;i++)
{
cin>>a[i];
}
if(n==1){
if(a[0] > k){
cout<<"1\n";
}else{
cout<<"0\n";
}
continue;
}
for(int i=0;i<=(4*n);i++){
tree[i][0]=INT_MIN;
tree[i][1]=INT_MIN;
}
buildTree(0,n-1,1);
/*for(int i=1;i<=4*n;i++)
{
cout<<tree[i][0]<<" "<<tree[i][1]<<"\n";
}
cout<<"\n";*/
int l=0,r=n,mid,ans=0;
while(l<=r){
mid = (l+r)/2;
//cout<<mid<<"\n";
if(check(mid)){
//cout<<mid<<"\n";
ans = mid;
l = mid + 1;
}else{
r = mid - 1;
}
}
cout<<ans<<"\n";
}
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7ICAgCiNkZWZpbmUgcGkgcGFpcjxpbnQsaW50PgojZGVmaW5lIGxsaSBsb25nIGxvbmcgaW50CiAgICAgCmludCBuLGs7CmludCBhWzEwMDAwMDVdOwppbnQgdHJlZVs0MDAwMDA1XVsyXTsKICAgICAKdm9pZCBidWlsZFRyZWUoaW50IGwgLGludCByLCBpbnQgaW5kZXgpCiAgICB7CiAgICAgICAgaWYobD09cikKICAgICAgICB7CiAgICAgICAgICAgdHJlZVtpbmRleF1bMF0gPSBhW2xdOwogICAgICAgICAgIHRyZWVbaW5kZXhdWzFdID0gSU5UX01JTjsKICAgICAgICAgICByZXR1cm47CiAgICAgICAgfQogICAgICAgIGludCBtaWQgPSAobCtyKS8yOwogICAgICAgIGJ1aWxkVHJlZShsLG1pZCwyKmluZGV4KTsKICAgICAgICBidWlsZFRyZWUobWlkKzEsciwyKmluZGV4KzEpOwogICAgICAgIAogICAgICAgIGludCBiWzRdOwogICAgICAgIGJbMF09dHJlZVsyKmluZGV4XVswXTsKICAgICAgICBiWzFdPXRyZWVbMippbmRleF1bMV07CiAgICAgICAgYlsyXT10cmVlWzIqaW5kZXgrMV1bMF07CiAgICAgICAgYlszXT10cmVlWzIqaW5kZXgrMV1bMV07CiAgICAgICAgc29ydChiLGIrNCk7CiAgICAgCiAgICAgICAgdHJlZVtpbmRleF1bMF0gPSBiWzNdOwogICAgICAgIHRyZWVbaW5kZXhdWzFdID0gYlsyXTsKICAgICAgICByZXR1cm47Cn0KICAgICAKICAgCiAgICAgCiAgICBwaSBxdWVyeShpbnQgbCAsaW50IHIgLCBpbnQgcWwsaW50IHFyLGludCBpbmRleCkKICAgIHsKICAgICAgICBpZihxbD5yIHx8IHFyPGwpCiAgICAgICAgewogICAgICAgICAgICByZXR1cm4gbWFrZV9wYWlyKElOVF9NSU4sSU5UX01JTik7CiAgICAgICAgfQogICAgICAgIAogICAgICAgIGlmKGwgPj0gcWwgJiYgcjw9cXIpCiAgICAgICAgewogICAgICAgICAgICByZXR1cm4gbWFrZV9wYWlyKHRyZWVbaW5kZXhdWzBdLHRyZWVbaW5kZXhdWzFdKTsKICAgICAgICB9CiAgICAgCiAgICAgCiAgICAgICAgaW50IG1pZCA9IChsK3IpLzI7CiAgICAgICAgcGkgdmFsMSA9IHF1ZXJ5KGwsbWlkLHFsLHFyLDIqaW5kZXgpOwogICAgICAgIHBpIHZhbDIgPSBxdWVyeShtaWQrMSxyLHFsLHFyLDIqaW5kZXgrMSk7CiAgICAgCiAgICAgICAgaW50IGJbNF07CiAgICAgICAgYlswXT12YWwxLmZpcnN0OwogICAgICAgIGJbMV09dmFsMS5zZWNvbmQ7CiAgICAgICAgYlsyXT12YWwyLmZpcnN0OwogICAgICAgIGJbM109dmFsMi5zZWNvbmQ7CiAgICAgICAgc29ydChiLGIrNCk7CiAgICAgICAgCiAgICAgICAgcmV0dXJuIG1ha2VfcGFpcihiWzNdLGJbMl0pOwogICAgfQogICAgIAogICAgIGJvb2wgY2hlY2soaW50IG1pZCl7CiAgICAgICAgIGZvcihpbnQgaT0wO2k8PShuLW1pZCk7aSsrKXsKICAgICAgICAgICAgIHBpIHggPSBxdWVyeSgwLG4tMSxpLGkrbWlkLTEsMSk7CiAgICAgICAgICAgICBpZih4LmZpcnN0ID09IHguc2Vjb25kKXsKICAgICAgICAgICAgICAgICBpZihrIDwgeC5maXJzdCl7CiAgICAgICAgICAgICAgICAgICAgIHJldHVybiAxOwogICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgIH1lbHNlIGlmKGsgPCB4LmZpcnN0ICYmIGs+PXguc2Vjb25kKXsKICAgICAgICAgICAgICAgICByZXR1cm4gMTsKICAgICAgICAgICAgIH0KICAgICAgICAgfQogICAgICAgICByZXR1cm4gMDsKICAgICB9CiAgICAgCiAgICBpbnQgbWFpbigpCiAgICB7CiAgICAgICAgaW9zX2Jhc2U6OnN5bmNfd2l0aF9zdGRpbyhmYWxzZSk7CiAgICAgICAgY2luLnRpZShOVUxMKTsKICAgICAgICBpbnQgdDsKICAgICAgICBjaW4+PnQ7CiAgICAgICAgd2hpbGUodC0tKXsKICAgICAgICAgICAgY2luPj5uPj5rOwogICAgICAgICAgICBmb3IoaW50IGk9MDtpPG47aSsrKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBjaW4+PmFbaV07CiAgICAgICAgICAgIH0KICAgICAgICAgICAgaWYobj09MSl7CiAgICAgICAgICAgICAgICBpZihhWzBdID4gayl7CiAgICAgICAgICAgICAgICAgICAgY291dDw8IjFcbiI7CiAgICAgICAgICAgICAgICB9ZWxzZXsKICAgICAgICAgICAgICAgICAgICBjb3V0PDwiMFxuIjsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGZvcihpbnQgaT0wO2k8PSg0Km4pO2krKyl7CiAgICAgICAgICAgICAgICB0cmVlW2ldWzBdPUlOVF9NSU47CiAgICAgICAgICAgICAgICB0cmVlW2ldWzFdPUlOVF9NSU47CiAgICAgICAgICAgIH0KICAgICAgICAgICAgYnVpbGRUcmVlKDAsbi0xLDEpOwogICAgICAgICAgICAvKmZvcihpbnQgaT0xO2k8PTQqbjtpKyspCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGNvdXQ8PHRyZWVbaV1bMF08PCIgIjw8dHJlZVtpXVsxXTw8IlxuIjsKICAgICAgICAgICAgfQogICAgICAgICAgICBjb3V0PDwiXG4iOyovCiAgICAgICAgICAgIGludCBsPTAscj1uLG1pZCxhbnM9MDsKICAgICAgICAgICAgd2hpbGUobDw9cil7CiAgICAgICAgICAgICAgICBtaWQgPSAobCtyKS8yOwogICAgICAgICAgICAgICAgLy9jb3V0PDxtaWQ8PCJcbiI7CiAgICAgICAgICAgICAgICBpZihjaGVjayhtaWQpKXsKICAgICAgICAgICAgICAgICAgICAvL2NvdXQ8PG1pZDw8IlxuIjsKICAgICAgICAgICAgICAgICAgICBhbnMgPSBtaWQ7CiAgICAgICAgICAgICAgICAgICAgbCA9IG1pZCArIDE7CiAgICAgICAgICAgICAgICB9ZWxzZXsKICAgICAgICAgICAgICAgICAgICByID0gbWlkIC0gMTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgICAgICBjb3V0PDxhbnM8PCJcbiI7CiAgICAgICAgfQogICAgICAgIHJldHVybiAwOwogICAgfQogICAgIAoK