구멍 뚫린 체스판

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

문제

Jaś와 Małgosia는 KK개의 열과 WW개의 행으로 이루어진 직사각형 체스판을 가지고 있습니다 (WKW \le K). 그런데 이 체스판의 몇몇 칸에는 구멍이 뚫려 있어서 그 칸에는 어떤 말도 놓을 수 없습니다. 구멍은 드릴로 노는 것을 좋아하는 Jaś가 뚫은 것입니다.

Małgosia는 이것이 마음에 들지 않았지만 수학을 잘했기 때문에, 서로 공격하지 않도록(즉 어떤 두 룩도 같은 행이나 같은 열에 놓이지 않도록) 구멍이 없는 칸에만 룩 WW개를 놓는 방법의 수를 세어 두었습니다. WKW \le K이고 행이 정확히 WW개이므로, 이는 각 행에 룩을 하나씩 서로 다른 열에 놓는 방법의 수와 같습니다. Małgosia는 그 값을 적어 두고 이따금 값이 바뀌지 않았는지 확인합니다.

Jaś는 포기하지 않습니다. Małgosia가 눈치채지 못하도록, 즉 서로 공격하지 않게 룩 WW개를 놓는 방법의 수가 바뀌지 않도록 하면서 구멍을 최대한 많이 더 뚫으려고 합니다. 그래서 구멍을 더 뚫을 수 있는 칸(지금 구멍이 없는 칸)의 최대 개수를 찾는 것을 도와 달라고 합니다.

다음을 수행하는 프로그램을 작성하세요.

  • 체스판의 크기와 구멍의 위치를 입력받습니다.
  • WW개를 놓는 방법의 수를 바꾸지 않으면서 구멍을 뚫을 수 있는 칸의 최대 집합을 구합니다.
  • 해당 칸들을 출력합니다.

입력

첫째 줄에 공백으로 구분된 세 자연수 KK, WW, PP가 주어집니다 (1WK1 \le W \le K, 0PKW1060 \le P \le K \cdot W \le 10^6). KKWW는 각각 열의 개수와 행의 개수이고, PP는 구멍의 개수입니다.

이어지는 PP개의 줄에 각 구멍의 위치가 주어집니다. 각 줄에는 공백으로 구분된 두 자연수 xx, yy가 있으며 (1xK1 \le x \le K, 1yW1 \le y \le W), 이는 구멍이 있는 칸의 열 번호와 행 번호입니다. 같은 칸은 입력에 정확히 한 번만 나타납니다.

출력

첫째 줄에 구멍을 뚫을 수 있는 칸의 최대 개수 DD를 하나의 정수로 출력합니다.

이어지는 DD개의 줄에 구멍을 뚫을 수 있는 칸의 좌표를 열 번호 xx와 행 번호 yy 순서로, 각 줄에 두 정수로 출력합니다. 칸은 먼저 xx 좌표를 기준으로, xx가 같으면 yy 좌표를 기준으로 사전순으로 정렬해 출력합니다. 조건을 만족하는 최대 크기의 칸 집합은 유일하게 결정됩니다.