ACM 지하철

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

문제

ACM은 여러 철도 구간으로 이루어진 특별한 지하철 시스템을 가진 도시다. 각 구간을 노선이라고 부른다. 모든 노선에는 양방향으로 열차가 다닌다. 두 노선은 서로 교차할 수 있으며, 교차점에서는 승객이 한 노선의 열차에서 다른 노선의 열차로 갈아탈 수 있다.

여행의 출발지와 도착지는 모두 지하철 노선 위 어딘가에 있다. 출발지가 놓인 노선에서 승차하고, 두 노선의 교차점에서만 노선을 바꿀 수 있으며, 도착지에 이를 때까지 이동한다. 목표는 표를 한 장도 사지 않고, 즉 무임으로 전체 여행을 마치는 것이다.

문제는 표를 검사하는 경찰들이며, 이들에게 절대로 표 검사를 당해서는 안 된다. 표 검사를 당하는 경우는 정확히 두 가지다.

  • 교차점에서, 단 그곳에서 실제로 노선을 갈아탈 때만. 교차점에 서 있는 경찰은 그 지점에서 노선을 바꿀 때만 표를 검사한다. 같은 노선을 유지한 채 그냥 지나가면 검사하지 않는다.
  • 노선을 따라 이동하는 중에, 교차점이 아닌 노선 위에 서 있는 경찰의 정확한 위치를 지나갈 때. 그런 경찰은 자기 위치를 지나는 모든 사람을 검사한다.

어느 노선에도 있지 않은 경찰은 무시한다. 모든 경찰의 위치는 미리 알고 있다.

예를 들어 위 그림에는 지하철 노선 5개와 경찰 3명(검은 원)이 있다. $s$에서 $d$까지는 노선 $l_1 \rightarrow l_4$을 따라 어떤 경찰도 만나지 않고 갈 수 있지만, $s$에서 $d'$까지는 검사를 당하지 않고 갈 수 있는 방법이 없다.

지하철 노선, 경찰, 그리고 출발지와 도착지를 입력받아, 어떤 경찰에게도 검사당하지 않고 출발지에서 도착지까지 갈 수 있는지 판정하는 프로그램을 작성하라.

입력

첫 줄에는 테스트 케이스의 수 $T$가 주어진다. 각 테스트 케이스는 다음과 같은 형식이다.

  • 정수 두 개 $n$과 $m$ ($1 \le m \le 100$, $1 \le n \le 3000$)이 있는 한 줄: 지하철 노선의 수와 경찰의 수.
  • 정수 네 개 $x_s\ y_s\ x_d\ y_d$가 있는 한 줄: 출발지 $(x_s, y_s)$와 도착지 $(x_d, y_d)$의 좌표. 두 점은 반드시 지하철 노선 위에 있다.
  • $n$개의 줄: 각 줄에는 정수 네 개 $x_1\ y_1\ x_2\ y_2$가 있으며, 한 지하철 노선의 두 끝점 $(x_1, y_1)$과 $(x_2, y_2)$를 나타낸다.
  • $m$개의 줄: 각 줄에는 정수 두 개 $x\ y$가 있으며, 경찰 한 명의 위치를 나타낸다.

모든 좌표는 임의의 정수다.

출력

입력과 같은 순서로 각 테스트 케이스마다 한 줄씩, 총 $T$줄을 출력한다. 각 테스트 케이스에 대해 검사당하지 않고 출발지에서 도착지까지 갈 수 있으면 YES를, 그렇지 않으면 NO를 한 단어로 출력한다.