题号:NC236786
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld
题目描述
有
个石子分别摆在一个
的棋盘上的
个单元格,Rainw和
Playf在棋盘上玩取石子游戏,双方轮流行动,游戏规则如下:
1. Rainw先手,第一次可以取任意位置的石子。
2. 之后的每一次,假设上一个人取的石子坐标是
)
,则本次取的石子坐标
)
与上一次取石子的坐标的曼哈顿距离必须

,即需要满足

。
3. 当一个人没有任何石子可以取时,他就输了游戏。
Playf想知道,当两个人都以最优策略进行游戏时,他是否能必胜。
输入描述:
输入包含多组数据。
第一行输入一个整数
)
,表示测试数据的组数。
对于每组测试数据,第一行输入一个整数
)
,表示石子个数。
接下来

行,每行两个整数
)
,表示每个石子的坐标。输入保证不存在两个石子有相同的坐标。
接下来一行输入一个整数
)
,表示两次取石子的最大曼哈顿距离。
输出描述:
对于每组测试数据,输出一行。如果Playf能够必胜,输出"YES",否则输出"NO"。
示例1
输入
复制
2
2
0 2
2 0
2
2
0 2
2 0
4