**水王**有一个正整数序列a_1,a_2,…,a_n。
**冷藏柜**可以在一个操作中选择该序列的任意子段 [l…r] ,并将 a_l,a_{l+1},…,a_r 的所有值替换为 \{a_l,a_{l+1},…,a_r\} 的中位数。
在这个问题中,对于多重整数集 s , s 的中位数的值等于第 \lfloor \dfrac{ |s|+1}{2} \rfloor 小的数。其中|s|表示集合s 里的数字数量,\lfloor {x }\rfloor表示对x向下取整。
例如, \{1,4,4,6,5\} 的中位数是 4 ,而 \{1,7,5,8\} 的中位数是 5 。
**水王**希望**冷藏柜**通过这些操作使 a_1=a_2=…=a_n=k 。
**冷藏柜**认为这是不可能的,他不想~~做人~~浪费时间,所以他决定问你是否可以满足**水王**的要求,他可能会问你多次这些问题。
第一行一个整数 t 表示询问的数量。
对于每个询问,第一行包含两个整数 n(1\leq n\leq 100\ 000) 和 k(1≤k≤10^9) ,第二行包含 n 个正整数 a_1,a_2,…,a_n(1≤a_i≤10^9)
n 的总和最多是 100\ 000 。
输出应该包含 t 行。对于第 i 组数据如果可能使所有整数在某些操作后为 k ,第 i 行应该输出 ”yes“,否则输出 ”no“
5 5 3 1 5 2 6 1 1 6 6 3 2 1 2 3 4 3 3 1 2 3 10 3 1 2 3 4 5 6 7 8 9 10
no yes yes no yes
样例解释
在第一个查询中,**冷藏柜**不能将所有元素转换为 3 。
在第二个查询中, a_1=6 已经得到满足。
在第三个查询中,**冷藏柜**可以选择完整的数组并将所有元素转换为 2 。
在第四个查询中,**冷藏柜**不能将所有元素转换为 3 。
在第五个查询中,**冷藏柜**可以先选择 [1,6] ,再选择 [2,10] 。
数据规模
| 数据点编号 | t= | n<= | k,a[i]<= |
| :-------------: | :-----: | :--------: | :------: |
| 1,2,3,4 | 2 | 10 | 10 |
| 5,6,7,8 | 10 | 20 | 20 |
| 9,10,11,12 | 20 | 20 | 20 |
| 13,14,15,16 | 50 | 6250 | 10^9 |
| 17,18,19 | 100 | 100000 | 10^9 |
| 20 | 10 | 100000 | 10^9 |
时间限制 | 2 秒 |
内存限制 | 256 MB |