题目描述
众所周知在青蛙园中有一个荷塘,由于荷塘中荷叶众多,青蛙们喜欢来荷塘嬉戏。
每只青蛙有两个独特的能力值,分别为 d[1], d[2] 。荷塘中有一列荷叶,总数为 n,从左到右编号为 1, 2, ... , n,第 i 个荷叶的半径为 r[i]。青蛙们喜欢从左跳到右,为了增加一点乐趣,青蛙们只会选择两种跳法,分别为:
- 当
|r[i] - r[i+1]| ≤ d[1]时,青蛙可以从第i个荷叶跳到第i+1个荷叶。 - 当
r[i] > r[i+1]且r[i+1] < r[i+2]且|r[i] - r[i+2]| ≤ d[2]时,青蛙可以从第i个荷叶跳到第i+2个荷叶。
今天有一只名字奇怪的青蛙小猪来到了荷塘,小猪告诉了你它的能力值,它想知道它是否能从第一个荷叶开始跳到最后一个荷叶。
输入格式
第一行包含一个整数 T,表示测试数据组数。
之后每组数据格式如下:
- 第一行包含三个整数
n, d[1], d[2],分别表示荷叶的数量,小猪的能力值。 - 第二行包含
n个整数r[1], r[2], ... , r[n],表示荷叶的半径。
输出格式
对于每组数据,如果小猪能从第一个荷叶跳到最后一个荷叶,输出 YES,否则输出 NO。
样例
样例输入
5
1 5 19
10
14 18 5
13 3 8 16 12 4 17 18 20 13 5 14 13 8
8 3 1
12 11 13 7 9 9 16 17
3 17 5
20 20 6
4 1 12
11 9 13 9
样例输出
Yes
Yes
No
Yes
No
数据范围
对于所有数据,1 ≤ T, Sum(n), r[i] ≤ 100000, 0≤ d[2] ≤ d[1] ≤ 100000。
对于 50% 的数据,n ≤1000。
