给定一维棋盘上的 个黑色棋子,第 个棋子的坐标是 ,任意两个棋子的坐标互不相同。若存在 个棋子满足如下情况,我们则认为是 子连珠: 将这 个棋子的坐标按照从小到大排序后,它们构成一个公差为 的等差数列。 你现在需要判断:是否可以再下一个黑色棋子,使得局面出现 子连珠。保证初始局面不存在 子连珠。 【名词解释】 等差数列:是一种数列,满足相邻两项之差相等,这个差值被称作等差数列的公差。例如,对于长度为 的数列 ,若存在常数 ,使得对于任意的 ,都有 ,则称这个数列是等差数列, 是这个数列的公差。
输入描述:
每个测试文件均包含多组测试数据。第一行输入一个整数 代表数据组数,每组测试数据描述如下:第一行两个整数 ,表示初始给定的黑色棋子数量和连珠数量。第二行输入 个整数 ,表示棋子的坐标,保证任意两个棋子的坐标互不相同。除此之外,保证单个测试文件的 之和不超过 。


输出描述:
对于每一组测试数据,新起一行。如果可以使得局面出现 子连珠,输出 ,否则输出 。
示例1

输入

3
3 3
1 2 5
3 10
1 2 3
3 2
5 1 3

输出

YES
NO
YES

说明

\hspace{15pt}对于第一组测试数据,可以在 3 的位置再下一个黑色棋子,此时,棋盘上 1,2,3 三个棋子构成一个公差为 1 的等差数列,因此局面出现 3 子连珠。

\hspace{15pt}对于第二组测试数据,无论如何再下一个黑色棋子,都无法使得局面出现 10 子连珠,因为棋盘上至多只有 4 个棋子。
加载中...