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

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