#CF2119B. 线段

线段

B. 线段

每个测试的时间限制: 1.5 秒
每个测试的内存限制: 256 兆字节

在欧几里得平面上,给定两个点 (px,py)(p_x, p_y)(qx,qy)(q_x, q_y)

你从起点 (px,py)(p_x, p_y) 出发,将执行 nn 次操作。在第 ii 次操作中,你必须选择一个点,使得你当前位置与该点的欧几里得距离∗ 恰好等于 aia_i,然后移动到该点。

判断在执行完所有操作后,是否有可能到达终点 (qx,qy)(q_x, q_y)

∗ 点 (x1,y1)(x_1, y_1)(x2,y2)(x_2, y_2) 之间的欧几里得距离为 (x1x2)2+(y1y2)2\sqrt{(x_1 - x_2)^2 + (y_1 - y_2)^2}


输入

每个测试包含多个测试用例。第一行包含测试用例的数量 tt1t1041 \leq t \leq 10^4)。接下来是每个测试用例的描述。

每个测试用例的第一行包含一个整数 nn1n1031 \leq n \leq 10^3)——序列 aa 的长度。

每个测试用例的第二行包含四个整数 px,py,qx,qyp_x, p_y, q_x, q_y1px,py,qx,qy1071 \leq p_x, p_y, q_x, q_y \leq 10^7)——起点和终点的坐标。

每个测试用例的第三行包含 nn 个整数 a1,a2,,ana_1, a_2, \dots, a_n1ai1041 \leq a_i \leq 10^4)——每次操作中需要移动的距离。

保证所有测试用例的 nn 之和不超过 21052 \cdot 10^5


输出

对于每个测试用例,如果可以在所有操作后到达终点 (qx,qy)(q_x, q_y),则输出 "Yes";否则输出 "No"

答案不区分大小写。例如,"yEs""yes""Yes""YES" 都将被视为肯定回答。


示例

输入

5
2
1 1 5 1
3 3
3
1 1 3 3
2 3 4
2
100 100 100 100
4 5
1
5 1 1 4
5
2
10000000 10000000 10000000 10000000
10000 10000

输出

Yes
Yes
No
Yes
Yes

第一组测试用例的可能移动路径如图。点 r1r_1 的坐标为 (3,1+5)(3, 1 + \sqrt{5})

第一组测试用例图示。

第二组测试用例的可能移动路径如图。点 r1r_1 的坐标为 (1+3,0)(1 + \sqrt{3}, 0),点 r2r_2 的坐标为 $\left( -\frac{(\sqrt{3}+4)(33\sqrt{149-24\sqrt{3}} - 73\sqrt{3} - 38)}{104}, -\frac{3(1331-764\sqrt{3})\sqrt{?} + 12\sqrt{3} - 27}{104} \right)$。

第二组测试用例图示。

第三组测试用例可以证明不存在满足所有要求的移动序列。

第四组测试用例的可能移动路径如图。

第四组测试用例图示。