C. BloomsTD6
time limit per test
1 second
memory limit per test
512 megabytes
input
standard input
output
standard output

猴村遭受了气球的入侵,众猴不知所措之时,回旋镖猴淡笑一声表示:"很简单,我成尊不就是了?",说完,不再掩饰气息,显露出 $$$555$$$ 修为。

猴村发现有 $$$m$$$ 个气球正在靠近,它们分别在 $$$a_1, a_2, \dots, a_m$$$ 时刻出现在 $$$(x_1,y_1)$$$,并以 $$$1$$$ 单位/秒的速度沿着一条路径 $$$\{(x_1,y_1),(x_2,y_2),\dots,(x_n,y_n)\}$$$ 移动。

此时,回旋镖猴站在 $$$(ta_x, ta_y)$$$,索敌半径为 $$$2r$$$;每次攻击时,回旋镖猴会选择当前攻击范围内还未被击破的生成时间最早的气球,然后向该气球抛出一个回旋镖,并会瞬间击破所有与其运动轨迹距离不超过 $$$10^{-8}$$$ 的气球。回旋镖的轨迹是以他为起点的一个逆时针方向的半径为 $$$r$$$ 的圆,且目标气球位于轨迹的前半段

回旋镖猴会在气球进入攻击范围内时进行攻击,但回旋镖猴每次攻击后需要 $$$gap$$$ 时间休息,然后才能进行下一次攻击。

当气球走出路径后,回旋镖猴便失败。请问回旋镖猴能否守住猴村呢?

Input

第一行输入五个正整数 $$$n, ta_x, ta_y, r, gap$$$ ($$$2 \leq n \leq 10^5$$$, $$$-10^3 \leq ta_x,ta_y \leq 10^3$$$, $$$1 \leq r,gap \leq 10^3$$$),分别表示路径点数量,气球数量,回旋镖猴的初始坐标、索敌半径和攻击间隔;

接下来 $$$n$$$ 行,每行输入两个整数 $$$x_i,y_i$$$ ($$$-10^3 \leq x_i,y_i \leq 10^3$$$),表示第 $$$i$$$ 个路径点的坐标; 第 $$$n+2$$$ 行,输入一个正整数 $$$m$$$ ($$$1 \leq m \leq 10^3$$$),表示气球数量;

第 $$$n+3$$$ 行,输入 $$$m$$$ 个整数 $$$a_1,a_2,\dots,a_m$$$ ($$$0 \leq a_1 \leq a_2 \leq ... \leq a_m \leq 5 \times 10^4$$$),表示气球出现的时间。

保证回旋镖猴不会出现在路径上。

Output

若守得住,你应当输出 Yes 后输出结束时间(即最后一个气球被击破的时间);

若守不住,你应当输出 No 后输出第一个冲破防守的气球的编号。

本题采用 Special Judge,你的输出答案和标准答案相对误差小于 $$$10^{-6}$$$ 即视作正确。

你可以以任意大小写输出 YesNo(例如,字符串 yEsyesYesYES 将被识别为肯定的回答)。

Examples
Input
5 2 2 2 4
0 0
4 0
4 4
0 4
0 0
6
0 1 2 3 4 5
Output
Yes
20.0000000000
Input
5 20 6 5 12
12 0
12 12
0 12
0 0
12 0
5
0 12 24 36 48
Output
Yes
48.0000000000
Input
5 3 1 1 1
0 0
1 0
1 1
0 1
0 0
5
0 1 2 3 4
Output
Yes
6.0000000000
Note

第一组测试样例中,当 $$$t = 4$$$ 时,气球与回旋镖猴的位置可参考下图:

注意当 $$$t=0$$$ 时,第一个气球出来瞬间被回旋镖猴击破了。