드워프 김리는 팡고른 숲에 들어선 뒤로 마음이 편치 않다. 이곳의 나무는 어딘가 이상하다. 그래서 김리는 숲 가장자리에 있는 야영지 가운데 한 곳으로 가려고 한다. 다만 안심하려면 언제나 모든 나무가 보여야 한다. 다행히 드워프의 눈은 아주 좋아서 모든 방향으로 무한히 멀리 본다.
팡고른 숲은 변이 좌표축과 평행하고 두 꼭짓점이 (0,0)과 (w,h)인 직사각형 F다. 나무 N그루는 모두 F의 내부에 있고, 1번부터 C번까지 번호가 붙은 야영지 C개는 모두 F의 변 위에 있다. 나무는 지도 바깥으로 곧게 자라므로 점으로 본다. 따라서 김리는 자기 위치와 나무를 잇는 선분 위에 다른 나무가 없을 때, 그리고 그때만 그 나무를 본다.
어느 야영지에서든 김리는 모든 나무를 본다. 처음에 김리는 숲 내부의 나무가 없는 자리에 서 있고(드워프는 나무에 오르지 않는다), 그 자리에서 모든 야영지와 모든 나무를 본다. 팡고른 숲은 아주 오래되어 한 직선 위에 놓인 나무가 세 그루 이상 없다.
처음 위치에서 야영지 c까지 이어지는 경로 γ가 있고 γ 위의 모든 점에서 모든 나무가 보이면, 김리는 야영지 c에 안전하게 갈 수 있다. 김리가 안전하게 갈 수 있는 야영지를 모두 찾는 프로그램을 작성하라.
첫째 줄에 직사각형 F의 크기를 나타내는 정수 w와 h가 주어진다. 둘째 줄에 김리의 처음 위치를 나타내는 정수 xG와 yG가 주어진다.
셋째 줄에 야영지의 개수 C가 주어진다. 다음 C개 줄 중 i번째 줄에는 i번 야영지의 좌표를 나타내는 정수 xi와 yi가 주어진다.
그 다음 줄에 나무의 수 N이 주어진다. 다음 N개 줄에는 나무의 좌표를 나타내는 정수 x와 y가 주어진다. 이 N개 줄 가운데 같은 줄은 없다.
첫째 줄에 김리가 안전하게 갈 수 있는 야영지의 개수 m을 출력한다. m=0이면 둘째 줄에 그 야영지의 번호를 증가하는 순서로, 공백 하나로 구분해 출력한다.
모든 테스트 케이스에서 3≤N≤2000, 1≤C≤10000, 0<w,h≤109이다.
첫 번째 예제의 상황과, 김리의 시작 위치 G에서 안전하게 갈 수 있는 야영지까지 이어지는 경로 하나를 그리면 다음과 같다.

김리는 가는 도중에 숲을 벗어나도 된다. 다만 숲 바깥에서도 모든 나무가 보여야 한다. 그렇지 않다면 2번 야영지에도 갈 수 있었을 것이다.