#include <bits/stdc++.h>
#include <ext/pb_ds/assoc_container.hpp>
using namespace __gnu_pbds;
#define FAST ios::sync_with_stdio(0), cin.tie(0),cout.tie(0)
#define ll long long
#define ld long double
#define int long long
#define endl "\n"
#define yes cout<<"yes"<<endl
#define no cout<<"no"<<endl
#define pb push_back
//#pragma GCC optimize("O3,unroll-loops")
//#pragma GCC target("avx2,bmi,bmi2,lzcnt,popcnt")
using namespace std;
const int MOD = 1e9+7 ;
//const int MOD = 998244353 ;
const int N = 1e5+5 ;
const ll INF = 1e18 ;
const ll MIN = -1e18 ;
typedef tree<ll,null_type,less<ll>,rb_tree_tag,tree_order_statistics_node_update> indexed_set;
void solve() {
ll n,k;cin>>n>>k;
vector<ll> a(n+2,0);
vector<ll> pref1(n+2,0),pref2(n+2,0);
for(int i=1;i<=n;i++){
cin>>a[i];
if(a[i]==k){
pref1[i]++;
}
if(a[i]<k){
pref2[i]++;
}
pref1[i]+=pref1[i-1];
pref2[i]+=pref2[i-1];
}
if(n==1 && a[1]==k){
yes;
return;
}
ll test=0;
for(int i=1;i<=n;i++){
if(a[i]==k && (a[i-1]>=a[i] || a[i+1]>=a[i])){
test=1;
}
}
for(int i=3;i<=n;i++){
if(a[i]==k && a[i-2]==k){
test=1;
}
}
if(test){
yes;
return;
}
no;
}
signed main() {
FAST;
auto begin = std::chrono::high_resolution_clock::now();
#ifndef ONLINE_JUDGE
freopen("input.txt","r",stdin);
freopen("output.txt","w",stdout);
#endif
ll t=1;
cin>>t;
while(t--) solve();
#ifndef ONLINE_JUDGE
auto end = std::chrono::high_resolution_clock::now();
cout << setprecision(4) << fixed;
cout << "Execution time: " << std::chrono::duration_cast<std::chrono::duration<double>>(end - begin).count() << " seconds" << endl;
#endif
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CiNpbmNsdWRlIDxleHQvcGJfZHMvYXNzb2NfY29udGFpbmVyLmhwcD4KdXNpbmcgbmFtZXNwYWNlIF9fZ251X3BiZHM7CiNkZWZpbmUgRkFTVCBpb3M6OnN5bmNfd2l0aF9zdGRpbygwKSwgY2luLnRpZSgwKSxjb3V0LnRpZSgwKQojZGVmaW5lIGxsIGxvbmcgbG9uZwojZGVmaW5lIGxkIGxvbmcgZG91YmxlCiNkZWZpbmUgaW50IGxvbmcgbG9uZwojZGVmaW5lIGVuZGwgIlxuIgojZGVmaW5lIHllcyBjb3V0PDwieWVzIjw8ZW5kbAojZGVmaW5lIG5vIGNvdXQ8PCJubyI8PGVuZGwKI2RlZmluZSBwYiBwdXNoX2JhY2sKLy8jcHJhZ21hIEdDQyBvcHRpbWl6ZSgiTzMsdW5yb2xsLWxvb3BzIikKLy8jcHJhZ21hIEdDQyB0YXJnZXQoImF2eDIsYm1pLGJtaTIsbHpjbnQscG9wY250IikKdXNpbmcgbmFtZXNwYWNlIHN0ZDsKY29uc3QgaW50IE1PRCA9IDFlOSs3ICA7Ci8vY29uc3QgaW50IE1PRCA9IDk5ODI0NDM1MyAgOwpjb25zdCBpbnQgTiA9IDFlNSs1ICA7CmNvbnN0IGxsIElORiA9IDFlMTggOwpjb25zdCBsbCBNSU4gPSAtMWUxOCA7CnR5cGVkZWYgdHJlZTxsbCxudWxsX3R5cGUsbGVzczxsbD4scmJfdHJlZV90YWcsdHJlZV9vcmRlcl9zdGF0aXN0aWNzX25vZGVfdXBkYXRlPiBpbmRleGVkX3NldDsKCgp2b2lkIHNvbHZlKCkgewogICAgbGwgbixrO2Npbj4+bj4+azsKICAgIHZlY3RvcjxsbD4gYShuKzIsMCk7CiAgICB2ZWN0b3I8bGw+IHByZWYxKG4rMiwwKSxwcmVmMihuKzIsMCk7CiAgICBmb3IoaW50IGk9MTtpPD1uO2krKyl7CiAgICAgICAgY2luPj5hW2ldOwogICAgICAgIGlmKGFbaV09PWspewogICAgICAgICAgICBwcmVmMVtpXSsrOwogICAgICAgIH0KICAgICAgICBpZihhW2ldPGspewogICAgICAgICAgICBwcmVmMltpXSsrOwogICAgICAgIH0KICAgICAgICBwcmVmMVtpXSs9cHJlZjFbaS0xXTsKICAgICAgICBwcmVmMltpXSs9cHJlZjJbaS0xXTsKICAgIH0KICAgIGlmKG49PTEgJiYgYVsxXT09ayl7CiAgICAgICAgeWVzOwogICAgICAgIHJldHVybjsKICAgIH0KICAgIGxsIHRlc3Q9MDsKICAgIGZvcihpbnQgaT0xO2k8PW47aSsrKXsKICAgICAgICBpZihhW2ldPT1rICYmIChhW2ktMV0+PWFbaV0gfHwgYVtpKzFdPj1hW2ldKSl7CiAgICAgICAgICAgIHRlc3Q9MTsKICAgICAgICB9CiAgICB9CiAgICBmb3IoaW50IGk9MztpPD1uO2krKyl7CiAgICAgICAgaWYoYVtpXT09ayAmJiBhW2ktMl09PWspewogICAgICAgICAgICB0ZXN0PTE7CiAgICAgICAgfQogICAgfQogICAgaWYodGVzdCl7CiAgICAgICAgeWVzOwogICAgICAgIHJldHVybjsKICAgIH0KICAgIG5vOwoKfQoKc2lnbmVkIG1haW4oKSB7CiAgICBGQVNUOwogICAgYXV0byBiZWdpbiA9IHN0ZDo6Y2hyb25vOjpoaWdoX3Jlc29sdXRpb25fY2xvY2s6Om5vdygpOwogICAgI2lmbmRlZiBPTkxJTkVfSlVER0UKICAgICAgICBmcmVvcGVuKCJpbnB1dC50eHQiLCJyIixzdGRpbik7CiAgICAgICAgZnJlb3Blbigib3V0cHV0LnR4dCIsInciLHN0ZG91dCk7CiAgICAjZW5kaWYKICAgIGxsIHQ9MTsKICAgIGNpbj4+dDsKICAgIHdoaWxlKHQtLSkgc29sdmUoKTsKICAgICNpZm5kZWYgT05MSU5FX0pVREdFCiAgICAgICAgYXV0byBlbmQgPSBzdGQ6OmNocm9ubzo6aGlnaF9yZXNvbHV0aW9uX2Nsb2NrOjpub3coKTsKICAgICAgICBjb3V0IDw8IHNldHByZWNpc2lvbig0KSA8PCBmaXhlZDsKICAgICAgICBjb3V0IDw8ICJFeGVjdXRpb24gdGltZTogIiA8PCBzdGQ6OmNocm9ubzo6ZHVyYXRpb25fY2FzdDxzdGQ6OmNocm9ubzo6ZHVyYXRpb248ZG91YmxlPj4oZW5kIC0gYmVnaW4pLmNvdW50KCkgPDwgIiBzZWNvbmRzIiA8PCBlbmRsOwogICAgI2VuZGlmCn0KCgo=