我们正在使用一种特殊的雷达来扫描区域。雷达接收一个距离列表(例如 $2, 4, 1$)和一个角度列表(例如 $100^\circ, 270^\circ, 180^\circ, 10^\circ, 300^\circ$),并扫描所有给定距离和角度上的点。我们能够扫描到距离某些其他兴趣点多近的位置?
输入格式
输入的第一行包含三个空格分隔的整数:$R, F, N$,分别表示半径的数量、角度的数量和兴趣点的数量。 接下来有 $R$ 行,第 $i$ 行包含一个整数 $r_i$,表示将要扫描的距离。 接下来有 $F$ 行,每行包含两个空格分隔的整数 $(fx)_i, (fy)_i$,表示定义第 $i$ 个角度的点的笛卡尔坐标。 接下来有 $N$ 行,每行包含两个空格分隔的整数 $x_i, y_i$,表示第 $i$ 个兴趣点的笛卡尔坐标。
由点 $(fx)_i, (fy)_i$ 定义的角度是从 $x$ 轴到穿过原点和 $(fx)_i, (fy)_i$ 的射线的夹角。
数据范围
- $1 \le R, F, N \le 10^5$
- $|x_i|, |y_i|, |(fx)_i|, |(fy)_i|, r_i < 10^6$
- $(fx)_i^2 + (fy)_i^2, r_i > 0$
- 所有 $r_i$ 互不相同。
- 由 $(fx)_i, (fy)_i$ 定义的射线互不相同。
输出格式
输出 $N$ 行,第 $i$ 行应包含从点 $(x_i, y_i)$ 到最近扫描点的距离。如果结果的绝对误差或相对误差在 $10^{-6}$ 以内,则视为正确。
样例
输入 1
3 7 5 2 4 7 8 4 2 8 -1 5 -7 2 -4 -4 1 -8 6 -3 3 -1 8 1 2 6 -5 2 -1 -1
输出 1
0.977772290466 2.750120773895 0.846777708005 1.464071052924 0.585786437627
说明
样例情况示意图:
样例情况示意图