问题描述
在 xy-平面上有 N 个点和 M 条线段。每条线段连接这些点中的两个点,除了端点外它们不相交。还给定了 Q 个查询点。你的任务是确定对于每个查询点,是否可以用给定的一些线段构成一个包含该查询点的多边形。注意,多边形不一定是凸多边形。
输入
每个输入的格式如下。
N M Q
x_1 y_1
...
x_N y_N
a_1 b_1
...
a_M b_M
qx_1 qy_1
...
qx_Q qy_Q
第一行包含三个整数 N (2≤N≤100,000)、M (1≤M≤100,000) 和 Q (1≤Q≤100,000),代表点的数量、线段的数量和查询的数量。接下来的 N 行中,每行包含两个整数 x_i 和 y_i (−100,000≤x_i,y_i≤100,000),表示第 i 个点的坐标。保证点是不同的,即 (x_i,y_i)=(x_j,y_j) 当 i=j。接下来的 M 行中,每行包含两个整数 a_i 和 b_i (1≤a_i<b_i≤N),表示第 i 条线段连接 a_i 号点和 b_i 号点。假设这些线段除了端点外不相交。接下来的 Q 行中,每行包含两个整数 qx_i 和 qy_i (−100,000≤qx_i,qy_i≤100,000),表示第 i 个查询点的坐标。
可以假设对于任意一对查询点和线段,它们之间的距离至少为 10−4。
输出
输出应包含 Q 行。如果存在一个包含第 i 个查询点的多边形,则在第 i 行上打印 "Yes"。否则,在第 i 行上打印 "No"。
示例输入 1