#include <bits/stdc++.h>
long long gi() {
  long long x = 0, f = 1;
  char ch = getchar();
  while (!isdigit(ch)) f ^= ch == '-', ch = getchar();
  while (isdigit(ch)) x = x * 10 + ch - '0', ch = getchar();
  return f ? x : -x;
}
std::mt19937 rnd(time(NULL));
template <class T>
void cxk(T& a, T b) {
  a = a > b ? a : b;
}
template <class T>
void cnk(T& a, T b) {
  a = a < b ? a : b;
}
int a[100010];
int main() {
  int qwq = gi(), n, k;
  while (qwq--) {
    n = gi(), k = gi();
    for (int i = 1; i <= n; ++i) a[i] = gi();
    bool s1 = 0, s2 = n == 1;
    for (int i = 1; i <= n; ++i) s1 |= a[i] == k;
    for (int i = 1; i < n; ++i) s2 |= a[i] >= k && a[i + 1] >= k;
    for (int i = 1; i + 1 < n; ++i) s2 |= a[i] >= k && a[i + 2] >= k;
    puts((s1 & s2) ? "yes" : "no");
  }
  return 0;
}
