#ys008. 数列操作

数列操作

给你一个长为 NN 的整数序列 A=(A1,,AN)A = (A_1, \dots, A_N) 和两个正整数 KK1KN1 \le K \le N),XX

你可以进行下述操作任意多次。

  • 选择一个整数 ii 满足 1iNK+11 \le i \le N - K + 1,给 Ai,Ai+1,,Ai+K1A_i, A_{i+1},\dots, A_{i+K-1} 加上 XX

判断能否使得 AA 的元素完全相同。

一个输入文件里有 TT 组测试。

限制

  • 1T1051 \le T \le 10^5
  • 2N2×1052 \le N \le 2 \times 10^5
  • 1KN1 \le K \le N
  • 1X1091 \le X \le 10^9
  • 1Ai1091 \le A_i \le 10^9
  • 一个输入文件里 NN 的总和不超过 2×1052\times 10^5

输入

从文件 equal.in 中读入数据。

第一行包含一个整数 TT。接下来有 2T2T 行,每两行表示一组测试。每组测试的第一行包含三个整数 N,K,XN, K, X,第二行包含 NN 个整数 A1,,ANA_1, \dots, A_N

输出

输出到文件 equal.out 中。

输出 TT 行。第 ii 行应包含一个字符串,表示第 ii 组测试的答案。若可能让 AA 的元素都相同,输出 Yes,否则输出 No

样例输入 1

4
4 2 3
5 2 5 8
8 3 4
17 5 5 21 29 17 21 25
4 3 8
2 3 5 7
3 2 1
7 7 7

样例输出 1

Yes
Yes
No
Yes

对于第一组测试,进行下列 2 次操作过后,AA 的元素全都相同。

  • A1,A2A_1, A_2 增加 33AA 变成 (8,5,5,8)(8,5,5,8)
  • A2,A3A_2, A_3 增加 33AA 变成 (8,8,8,8)(8,8,8,8)

附件样例