兔子喜欢和猫玩。它们住在一个城镇里,地面铺满了正六边形瓷砖。
这个城镇是无限大的。每个单元格由两个整数 $(x, y)$ 表示,如下图所示。
城镇中有 $N$ 个猫的领地。每个领地由六个单元格组成,它们构成一个正六边形,其边与瓷砖的某条边垂直,且包含该六边形边界上的所有单元格。例如,六个单元格 $(1, -1), (3, -1), (3, 1), (1, 3), (-1, 3)$ 和 $(-1, 1)$ 定义了一个包含十二个单元格的领地。
猫想要到达单元格 $(0, 0)$。猫的起始点有 $K$ 个候选位置。
兔子决定搞恶作剧来干扰猫。兔子和猫将轮流采取以下行动(兔子先手):
- 兔子封锁猫当前所在单元格的六个相邻单元格中的至多两个。兔子不能封锁属于猫的至少一个领地的单元格。如果兔子选择封锁两个单元格,它们必须是相邻的。
- 猫选择当前所在单元格的六个相邻单元格中的一个。猫不能选择在刚才兔子的行动中被封锁的单元格(注意,最多有两个这样的单元格)。然后猫移动到所选的单元格。
请编写一个程序,对于每个候选点,判断猫是否能在兔子的干扰下到达单元格 $(0, 0)$。
输入格式
输入格式如下:
$N$ $P_{1,1} \ Q_{1,1} \ P_{1,2} \ Q_{1,2} \ \dots \ P_{1,6} \ Q_{1,6}$ $\vdots$ $P_{N,1} \ Q_{N,1} \ P_{N,2} \ Q_{N,2} \ \dots \ P_{N,6} \ Q_{N,6}$ $K$ $X_1 \ Y_1$ $\vdots$ $X_K \ Y_K$
第一行包含一个整数 $N$ ($1 \le N \le 40\,000$)。接下来的 $N$ 行中,第 $i$ 行包含十二个整数 $P_{i,j}$ 和 $Q_{i,j}$ ($1 \le j \le 6, -10^9 \le P_{i,j} \le 10^9, -10^9 \le Q_{i,j} \le 10^9$),表示第 $i$ 个领地由六个单元格 $(P_{i,j}, Q_{i,j})$ 定义。这六个单元格互不相同,构成一个合适的正六边形,且按逆时针顺序排列。下一行包含一个整数 $K$ ($1 \le K \le 40\,000$)。接下来的 $K$ 行中,第 $k$ 行包含两个整数 $X_k$ 和 $Y_k$ ($-10^9 \le X_k \le 10^9, -10^9 \le Y_k \le 10^9$),表示猫的第 $k$ 个起始点候选位置为单元格 $(X_k, Y_k)$。
输出格式
程序应输出 $K$ 行。第 $k$ 行应包含一个单词 YES(如果猫能从 $(X_k, Y_k)$ 到达 $(0, 0)$)或 NO(否则)。
样例
样例输入 1
2 1 -1 3 -1 3 1 1 3 -1 3 -1 1 3 0 4 0 4 1 3 2 2 2 2 1 3 1 1 -1 -1 2 4
样例输出 1
YES NO YES