Nathan 赶往公共不服从协会(PDA)年会的行程迟到了。他正以最快的速度开车赶去,直到被红灯拦下。由于他很着急,他无论如何都想穿过马路(见免责声明)。当然,Nathan 不是恶魔,所以只有在有足够空间穿过且不会伤害任何行人的情况下,他才会过马路。在给定的时刻 $T$,Nathan “感觉”自己可以安全地穿过马路,但 Nathan 的感觉可能是完全错误的!
人行道的长度为 $L$,可以建模为 $x$ 轴上端点为 $x = 0$ 和 $x = L$ 的线段。$x$ 轴上有 $N$ 名行人,他们不一定在人行道上。每名行人都有一个初始位置 $X$ 和恒定的速度 $V$(可正可负);这意味着在每个时刻 $t \ge 0$,行人的位置为 $X + t \cdot V$。
Nathan 的车宽为 $C$。如果人行道上相邻的两名行人之间,或者行人与人行道的端点之间存在一个宽度至少为 $C$ 的空隙,他就可以穿过马路。
给你 $Q$ 个查询。每个查询指定一个整数时刻 $T \ge 0$,你必须判断 Nathan 是否能在该时刻穿过马路。
免责声明:Programadores de América (PDA) 组织并不纵容闯红灯或违法行为。这是一个虚构的故事,Nathan 的行为不代表本竞赛组织方的观点。
输入格式
第一行包含三个整数 $N$、$C$ 和 $L$($1 \le N \le 1000$ 且 $1 \le C \le L \le 10^9$),分别表示行人的数量、Nathan 的车宽以及人行道的长度。
接下来的 $N$ 行中,每行描述一名行人,包含两个整数 $X$ 和 $V$($-10^9 \le X, V \le 10^9$ 且 $V \neq 0$),分别表示该行人的初始位置和速度。没有任意两名行人具有相同的初始位置和速度(它们至少在其中一项上有所不同)。
下一行包含一个整数 $Q$($1 \le Q \le 2 \times 10^6$),表示查询的数量。
接下来的 $Q$ 行中,每行包含一个整数 $T$($0 \le T \le 10^9$),表示需要考虑的时刻。给出的时刻按递增顺序排列。
输出格式
对每个查询输出一行,如果 Nathan 可以在对应时刻穿过马路,则输出大写字母 “Y”,否则输出大写字母 “N”。
样例
样例输入 1
4 5 10 1 1 9 -1 -1 -1 11 1 3 0 3 4
样例输出 1
Y N Y
样例 1 说明
在该样例中,有 $N = 4$ 名行人,Nathan 的车宽为 $C = 5$,人行道长度为 $L = 10$。
在时刻 $T = 0$,行人的位置分别为 $x_1 = 1, x_2 = 9, x_3 = -1$ 和 $x_4 = 11$。因为在 $x_1 = 1$ 和 $x_2 = 9$ 之间存在一个宽度至少为 $5$ 的空隙,所以 Nathan 可以过马路。
在时刻 $T = 3$,行人的位置分别为 $x_1 = 4, x_2 = 6, x_3 = -4$ 和 $x_4 = 14$。因为没有足够宽的空隙,所以 Nathan 无法过马路。
最后,在时刻 $T = 4$,行人的位置分别为 $x_1 = x_2 = 5, x_3 = -5$ 和 $x_4 = 15$。Nathan 可以利用 $x = 0$ 与 $x_1 = x_2 = 5$ 之间的空隙,或者 $x_1 = x_2 = 5$ 与 $x = L = 10$ 之间的空隙来过马路。