编程题
### 问题描述
小然是一个热爱阅读的书虫,他有一本神秘的书,这本书有 $N$ 页。小然发现书页上的数字有一种神秘的规律,他可以选择任何 $K$ 个不同的页码,然后将这些页码上的数字都增加 1。例如,如果书的页码数是 $[3,2,8,4,6]$,小然选择了第2页、第3页和第5页,那么页码数就变成了 $[3,3,9,4,7]$。
小然观察到,如果书的页码数字顺序和逆序阅读是一样的,那么书中会出现一些神秘的内容。例如,$[4,10,10,4]$ 和 $[7,1,7]$ 是符合条件的页码数。
现在,小然想知道,他是否可以通过调整页码上的数字,使得这本书的页码数满足神秘内容的出现条件。请你帮助小然解决这个问题。
### 输入格式
第一行包含一个整数 $T$,表示测试用例的数量。
每个测试用例包括两行。每个测试用例的第一行包含两个整数 $N$ 和 $K$,表示书的页数和小然可以选择的页码数量。
每个测试用例的第二行包含 $N$ 个空格分隔的整数 $A_1, A_2, \ldots, A_N$,表示每一页的页码数。
### 输出格式
对于每个测试用例,如果小然可以通过调整页码上的数字,使得这本书的页码数满足神秘内容的出现条件,输出 "YES"。否则,输出 "NO"。
### 样例输入
```text
4
5 3
2 4 5 4 2
6 1
4 5 5 4 6 4
6 2
4 5 5 4 6 4
4 2
1 2 3 3
```
### 样例输出
```text
YES
YES
YES
NO
```
### 说明
对于第 $1$ 个测试用例:给定的页码数已经满足神秘内容的出现条件。
对于第 $2$ 个测试用例:小然可以进行以下操作:
- 选择第 $4$ 页,页码数变为 $[4,5,5,5,6,4]$。
- 选择第 $2$ 页,页码数变为 $[4,6,5,5,6,4]$。
对于第 $3$ 个测试用例:小然可以进行以下操作:
- 选择第 $2$ 页和第 $4$ 页,页码数变为 $[4,6,5,5,6,4]$。
对于第 $4$ 个测试用例:无论如何调整,页码数都无法满足神秘内容的出现条件。
### 评测数据范围
$1 \leq T \leq 10^5$。
$1 \leq K \leq N \leq 10^5$。
$1 \leq A_i \leq 10^6$。
所有测试用例中的 $N$ 之和不超过 $2 \times 10^5$。