홍수

아직 제출이 없습니다시간 제한1초메모리 제한128 MB

문제

1964년, 한 도시에 큰 홍수가 닥쳤습니다. 물이 벽을 밀어붙이면서 많은 건물이 파괴되었습니다. 이 문제에서는 홍수가 나기 직전 도시를 단순화한 모형이 주어지며, 물이 전체를 모두 침수시킨 뒤 어떤 벽이 무너지지 않고 남는지 판별해야 합니다.

모형은 좌표평면 위의 점 $N$개와 벽 $W$개로 이루어져 있습니다. 각 벽은 두 점을 잇는 선분이며, 다른 점을 지나가지 않습니다. 또한 모형은 다음 성질을 만족합니다.

  • 어떤 두 벽도 서로 교차하거나 겹치지 않습니다. 다만 끝점에서 맞닿을 수는 있습니다.
  • 모든 벽은 가로축 또는 세로축과 평행합니다.

처음에는 평면 전체가 말라 있습니다. 시각 $0$에 물이 바깥 영역(벽으로 둘러싸이지 않은 모든 공간)을 순식간에 침수시킵니다. 정확히 한 시간 뒤, 한쪽에는 물이 있고 다른 쪽에는 공기가 있는 모든 벽이 수압을 견디지 못하고 무너집니다. 그러면 물이 새로 드러난 영역으로 흘러 들어갑니다. 이때 한쪽은 물, 다른 쪽은 공기인 벽이 새로 생길 수 있습니다. 다시 한 시간 뒤 이 벽들도 무너지고 물이 더 퍼집니다. 이 과정은 물이 평면 전체를 침수시킬 때까지 반복됩니다.

아래 그림은 이 과정을 보여 줍니다.

시각 0의 상태입니다. 색칠된 칸은 침수된 영역, 흰 칸은 마른 영역(공기)을 나타냅니다.한 시간 뒤의 상태입니다.두 시간 뒤의 상태입니다. 물이 전체 영역을 침수시켰고, 남은 4개의 벽은 더 이상 무너뜨릴 수 없습니다.

$N$개 점의 좌표와 $W$개 벽의 정보가 주어질 때, 홍수가 끝난 뒤 무너지지 않고 남아 있는 벽을 구하는 프로그램을 작성하세요.

입력

첫째 줄에 점의 개수 $N$ ($2 \le N \le 100000$)이 주어집니다.

다음 $N$개의 줄에는 각각 한 점의 좌표 $X$와 $Y$ ($0 \le X, Y \le 1000000$)가 주어집니다. 점은 주어진 순서대로 $1$번부터 $N$번까지 번호가 매겨지며, 좌표가 같은 두 점은 없습니다.

그다음 줄에는 벽의 개수 $W$ ($1 \le W \le 2N$)가 주어집니다.

다음 $W$개의 줄에는 각각 서로 다른 두 정수 $A$와 $B$ ($1 \le A, B \le N$)가 주어지며, 이는 홍수 전에 점 $A$와 점 $B$를 잇는 벽이 있었음을 뜻합니다. 벽은 주어진 순서대로 $1$번부터 $W$번까지 번호가 매겨집니다.

출력

첫째 줄에 홍수가 끝난 뒤 남아 있는 벽의 개수 $K$를 출력합니다.

다음 $K$개의 줄에 남아 있는 벽의 번호를 한 줄에 하나씩, 증가하는 순서로 출력합니다.