#Lutece2803. 回转数

回转数

Migrated from Lutece 2803 回转数

All parts of this problem, including description, images, samples, data and checker, might be broken. If you find bugs in this problem, please contact the admins.

Description

平面内的有向封闭曲线围绕某一点的回转数是一个整数,代表该曲线逆时针围绕该点的总次数(负数则表示顺时针)。你可以想象有一辆火车在该封闭曲线上运动,你站在某一点盯着火车头看,当火车在该曲线上运动一周后,你相对于原来的状态旋转了多少圈则是该点的回转数。

现在给出一段由 nn 条有向线段组成的有向封闭折线,可能有交叉和重叠,并给出 mm 个点,对每个点求折线围绕该点的回转数。

Input

第一行包含一个整数 nn (3n50003 \le n \le 5000)。接下来的 nn 行中的每一行都包含一个点的整数坐标 x,yx,y (x,y109|x|,|y| \le 10^9)。折线顺次连接这些点,连接到最后一个点后回到第一个点。

接下来一行包含一个整数 mm (1m50001 \le m \le 5000)。接下来的 mm 行中每一行都包含一个点的整数坐标 x,yx,y (x,y109|x|,|y| \le 10^9),代表一个询问点。

Output

对于每个询问点,如果它位于封闭折线上,输出 EDGE。否则,输出折线围绕该点的回转数。

Samples

8
-2 -2
-5 1
-2 4
1 3
-2 0
-3 1
-2 2
1 1
3
-2 1
0 0
1 2
-2
EDGE
0

Resources

2022 UESTC ICPC Training for Math and Geometry