1964 年,一场灾难性的洪水袭击了萨格勒布市。当洪水冲击建筑物墙壁时,许多建筑物被彻底摧毁。在这个任务中,给定洪水发生前城市的简化模型,你需要确定洪水过后哪些墙壁仍然完好无损。
该模型由坐标平面上的 $N$ 个点和 $W$ 堵墙组成。每堵墙连接一对点,且不经过任何其他点。该模型具有以下附加属性: 任意两堵墙不会相交或重叠,但它们可以在端点处接触; 每堵墙都平行于水平或垂直坐标轴。
最初,整个坐标平面是干燥的。在零时刻,水瞬间淹没了外部区域(未被墙壁包围的空间)。一小时后,每一堵一侧有水、另一侧有空气的墙壁都会在水压下倒塌。随后,水会淹没新的未被任何墙壁包围的区域。现在,可能又会有新的墙壁出现一侧有水、另一侧有空气的情况。再过一小时,这些墙壁也会倒塌,洪水进一步蔓延。此过程重复进行,直到水淹没了整个区域。
该过程的示例如下图所示。
零时刻的状态。阴影单元格代表被淹没区域,白色单元格代表干燥区域(空气)。一小时后的状态。两小时后的状态。水已经淹没了整个区域,剩下的 4 堵墙无法被冲垮。
任务
编写一个程序,给定 $N$ 个点的坐标以及连接这些点的 $W$ 堵墙的描述,确定洪水过后哪些墙壁仍然屹立不倒。
输入格式
第一行包含一个整数 $N$ ($2 \le N \le 100\,000$),表示平面上的点数。 接下来的 $N$ 行,每行包含两个整数 $X$ 和 $Y$(均在 $0$ 到 $1\,000\,000$ 之间,含边界),表示一个点的坐标。点按照给定的顺序编号为 $1$ 到 $N$。没有两个点位于相同的坐标。 下一行包含一个整数 $W$ ($1 \le W \le 2N$),表示墙壁的数量。 接下来的 $W$ 行,每行包含两个不同的整数 $A$ 和 $B$ ($1 \le A \le N, 1 \le B \le N$),表示在洪水发生前,有一堵连接点 $A$ 和点 $B$ 的墙。墙壁按照给定的顺序编号为 $1$ 到 $W$。
输出格式
第一行输出一个整数 $K$,表示洪水过后仍然屹立不倒的墙壁数量。 接下来的 $K$ 行,每行输出一个仍然屹立不倒的墙壁的编号。编号可以以任意顺序输出。
子任务
在总分 40 分的测试用例中,所有坐标最大为 500。 在上述用例以及另外 15 分的测试用例中,点数最大为 500。
样例
输入 1
15 1 1 8 1 4 2 7 2 2 3 4 3 6 3 2 5 4 5 6 5 4 6 7 6 1 8 4 8 8 8 17 1 2 2 15 15 14 14 13 13 1 14 11 11 12 12 4 4 3 3 6 6 5 5 8 8 9 9 11 9 10 10 7 7 6
输出 1
4 6 15 16 17
说明 1
该样例对应于前一页的图示。