棋盘石子游戏
题号:NC236786
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld

题目描述

有 n 个石子分别摆在一个  的棋盘上的 n 个单元格Rainw和Playf在棋盘上玩取石子游戏,双方轮流行动,游戏规则如下:
1. Rainw先手,第一次可以取任意位置的石子。
2. 之后的每一次,假设上一个人取的石子坐标是 (x,y) ,则本次取的石子坐标 (x',y') 与上一次取石子的坐标的曼哈顿距离必须  ,即需要满足  。
3. 当一个人没有任何石子可以取时,他就输了游戏。
Playf想知道,当两个人都以最优策略进行游戏时,他是否能必胜。

输入描述:

输入包含多组数据。
第一行输入一个整数  ,表示测试数据的组数。
对于每组测试数据,第一行输入一个整数  ,表示石子个数。
接下来n行,每行两个整数  ,表示每个石子的坐标。输入保证不存在两个石子有相同的坐标。
接下来一行输入一个整数  ,表示两次取石子的最大曼哈顿距离。

输出描述:

对于每组测试数据,输出一行。如果Playf能够必胜,输出"YES",否则输出"NO"。
示例1

输入

复制
2
2
0 2
2 0
2
2
0 2
2 0
4

输出

复制
NO
YES