난공불락의 벽
시간 제한1초메모리 제한1024 MB
고정된 문 꼭짓점을 지나고 관측탑만을 꼭짓점으로 사용하며 집을 엄격히 포함하고 집에서 별 모양으로 보이며 모든 탑 각이 볼록한 단순 다각형의 개수를 10^9+7로 나눈 나머지를 구한다.
문제
해피랜드의 대통령은 재선되어야 한다. 그녀는 마지막 남은 노력을 해피랜드 주민들이 가장 사랑하는 것 중 하나에 쏟기로 한다. 바로 어린이다. 그녀는 아이들이 국립 고아원에서 계속 도망치는 것이 큰 문제라는 것을 알고, 고아원 주변에 벽을 다시 세워 고아원을 더 안전하게 만들고 주민들을 더 행복하게 하려 한다.
벽을 세워야 하는 영역은 고아원 건물, 고아원 문, 그리고 해피랜드의 전성기에서 남은 여러 관측탑으로 이루어진다.
해피랜드 대통령은 고아원 전문가들과의 회의에서 안전한 벽이 다음과 같은 다각형이어야 한다고 결정했다.
- 건물은 벽에 의해 엄격히 둘러싸여야 한다.
- 문은 벽의 꼭짓점이고, 나머지 꼭짓점은 모두 관측탑이다.
- 관측탑인 벽의 꼭짓점에서 모든 내각은 엄격히 180도보다 작다 (이 조건은 문 꼭짓점에는 적용되지 않는다).
- 벽 전체가 건물에서 보여야 한다. 즉, 벽 위의 모든 점에 대해, 건물과 그 점을 잇는 선분은 벽을 지나지 않는다.

예제 입력 1과 같은 물체의 가능한 배치. 점 H는 건물, 점 G는 문, 나머지 점은 모두 관측탑이다.

위에 나타난 벽들은 하나 이상의 규칙을 위반하므로 유효한 벽이 아니다.
이제 대통령은 서로 다른 안전한 벽을 몇 개나 세울 수 있는지 알고 싶어 한다. 두 벽은 한쪽 벽의 꼭짓점이지만 다른 쪽 벽의 꼭짓점이 아닌 관측탑이 존재할 때, 그리고 그럴 때만 서로 다르다.

위에 나타난 벽들은 예제 입력 1에 대한 서로 다른 유효한 벽 전부이다.
입력
첫 번째 줄에는 건물의 좌표를 나타내는 두 정수 Xh와 Yh가 주어진다. 다음 줄에는 문의 좌표를 나타내는 두 정수 Xg와 Yg가 주어진다. 다음 줄에는 관측탑의 개수 N (0 ≤ N ≤ 300)이 주어진다. 다음 N개의 줄 각각에는 관측탑의 좌표를 나타내는 두 정수 Xt와 Yt가 주어진다. 언급된 모든 좌표 (X, Y)는 서로 다르고, −10⁹ ≤ X, Y ≤ 10⁹을 만족한다.
출력
제한을 만족하는 서로 다른 벽의 개수를 한 줄에 정수로 출력한다. 이 수는 매우 클 수 있으므로, 10⁹ + 7로 나눈 나머지를 출력한다.