시간 제한
메모리 제한
시간 제한
2초
메모리 제한
128 MB
가로 도로가 N개, 세로 도로가 M개 있는 격자 모양의 도시가 있다. 두 종류의 도로가 만나는 N x M개의 교점마다 마을이 하나씩 있다. 처음에는 모든 도로를 양방향으로 이용할 수 있었지만, 사고를 줄이기 위해 각 도로를 한 방향으로만 통행하도록 정하려고 한다. 각 가로 도로는 왼쪽에서 오른쪽 또는 오른쪽에서 왼쪽 중 하나의 방향을 가지고, 각 세로 도로는 위에서 아래 또는 아래에서 위 중 하나의 방향을 가진다.
도시에는 K개의 직행 버스 노선이 있다. 각 버스는 한 마을에서 다른 한 마을로 이동해야 한다. 도로 방향을 정한 뒤에도 모든 버스가 출발지에서 도착지까지 최단거리로 이동할 수 있어야 한다. 또한 각 버스의 경로는 단순해야 하며, 최대 두 개의 도로만 사용할 수 있다. 즉, 가로 도로를 최대 하나, 세로 도로를 최대 하나만 사용해야 한다.
따라서 출발지와 도착지의 행과 열이 모두 다르면, 가능한 경로는 두 가지뿐이다. 출발지가 있는 가로 도로를 먼저 따라간 뒤 도착지가 있는 세로 도로를 따라가거나, 출발지가 있는 세로 도로를 먼저 따라간 뒤 도착지가 있는 가로 도로를 따라가야 한다. 두 경우 중 적어도 하나가 도로 방향과 맞아야 한다.
도로와 버스 노선 정보가 주어졌을 때, 모든 버스가 위 조건을 만족하도록 도로 방향을 정할 수 있는지 판별하시오.
첫째 줄에 테스트 데이터의 개수 T(1 <= T <= 10)가 주어진다.
각 테스트 데이터의 첫째 줄에는 세 정수 N, M, K가 주어진다. N은 가로 도로의 개수이고, M은 세로 도로의 개수이며, K는 버스 노선의 개수이다.
다음 K개의 줄에는 각 버스 노선을 나타내는 네 정수 A, B, C, D가 주어진다. 이는 버스가 A번 가로 도로와 B번 세로 도로가 만나는 마을에서 출발해, C번 가로 도로와 D번 세로 도로가 만나는 마을로 이동해야 함을 의미한다.
가로 도로 번호는 1부터 N까지이고, 세로 도로 번호는 1부터 M까지이다. 버스의 출발지와 도착지는 같을 수도 있다.
각 테스트 데이터마다 한 줄에 답을 출력한다. 조건을 만족하도록 도로 방향을 정할 수 있으면 Yes, 그렇지 않으면 No를 출력한다.