#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;   }   