호모토픽 경로
시간 제한2초메모리 제한512 MB
점 장애물(나무)이 있는 평면에서 같은 시작점과 끝점을 잇는 두 꺾은선 경로가 나무를 지나지 않고 서로 변형될 수 있는지, 즉 호모토픽인지 판정한다.
문제
소루시는 새 정원에서 미리 정해 둔 길을 따라 입구에서 출구까지 걸으며 나무 위의 새를 구경한다. 목줄에 묶인 강아지는 같은 길로 가지 않아도 되지만 결국 출구에 도착한다. 정원에는 키 큰 나무만 있고 다른 장애물은 없다. 목줄은 길이가 0부터 얼마든지 늘어나지만 언제나 가능한 가장 짧은 길이가 되려 한다. 소루시와 강아지는 목줄 길이가 0인 채로 입구에서 출발한다. 소루시는 강아지가 갈 길을 미리 알고 있고, 둘이 출구에 도착하는 순간 목줄 길이가 0이 될 수 있는지 궁금하다. 목줄은 나무를 넘어갈 수 없다. 출구에서 목줄 길이가 0이면 소루시의 경로와 강아지의 경로를 호모토픽하다고 한다.
각 경로는 주어진 점을 순서대로 이은 선분의 열이다. 나무는 평면 위의 한 점이고, 두 경로 모두 나무를 지나지 않는다. 두 경로가 호모토픽하다는 것은 양 끝점을 고정한 채 어떤 나무도 넘지 않으면서 한 경로를 다른 경로로 연속적으로 변형할 수 있다는 뜻이다. 주어진 두 경로가 호모토픽한지 판정하는 프로그램을 작성하라.
입력
입력은 여러 개의 테스트 케이스로 이루어진다. 각 테스트 케이스의 첫 줄에 정수 , , 가 주어진다 (, ). 은 나무의 수이고, 과 는 각각 소루시의 경로와 강아지의 경로에 있는 중간 정점의 수다. 다음 두 줄에는 입구 의 , 좌표와 출구 의 , 좌표가 이 순서로 주어진다 (). 이어지는 개의 줄에는 나무의 , 좌표가 주어진다. 소루시의 경로를 , 강아지의 경로를 라고 하면, 그다음 개의 줄에 부터 까지의 좌표가 차례로 오고, 이어지는 개의 줄에 부터 까지의 좌표가 차례로 온다.
두 경로는 자기 자신과 교차하거나 서로 교차할 수 있다. 와 를 포함해 두 경로 위에는 나무가 없다. 모든 좌표는 절댓값이 이하인 정수다. 입력의 마지막 줄은 0 0 0이며, 이 줄은 처리하지 않는다.
출력
각 테스트 케이스마다 두 경로가 호모토픽하면 Yes를, 그렇지 않으면 No를 한 줄에 출력한다.