만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

세 개의 룩

시간 제한8초메모리 제한512 MB

요약
X×Y 크기의 큰 체스판에 토끼 K마리가 있을 때, 토끼가 가로막는 경우를 고려해 룩 3개를 서로 공격하지 않게 놓는 방법의 수를 구합니다.
난이도

보통10점 중 7점

유형
수학, 조합론, 해시맵, 정렬
정답자
아직 제출이 없습니다

문제

고양이가 체스를 연습하고 있다.

고양이는 X×YX \times Y 크기의 체스판 위에 룩을 3개 놓으려고 한다. 이 체스판의 KK개 칸에는 토끼가 앉아 있다. ii번째 토끼의 좌표는 (xi,yi)(x_i, y_i)이다. 체스판의 왼쪽 위 칸의 좌표는 (0,0)(0, 0), 오른쪽 아래 칸의 좌표는 (X−1,Y−1)(X-1, Y-1)이다. 토끼가 앉아 있는 칸에는 룩을 놓을 수 없다. 또한 한 칸에 룩을 여러 개 놓을 수 없다.

두 룩이 같은 행이나 같은 열에 있고 그 사이에 토끼가 없으면 서로 공격한다. 서로 공격하지 않도록 룩 3개를 놓는 방법의 수를 1,000,000,007로 나눈 나머지로 구하시오.

입력

입력은 다음 형식으로 주어진다.

XX YY KK

x1x_1 y1y_1

...

xKx_K yKy_K

출력

룩을 놓는 방법의 수를 1,000,000,007로 나눈 나머지를 한 줄에 출력한다.

제한

  • XX와 YY는 1 이상 1,000,000,000 이하이다.
  • KK는 1 이상 100,000 이하이다.
  • xix_i는 0 이상 X−1X-1 이하이다.
  • yiy_i는 0 이상 Y−1Y-1 이하이다.
  • 같은 칸에 앉아 있는 토끼는 없다.

예제2

  1. 예제 1

    입력
    3 3 1
    0 0
    
    예상 출력
    4
    
  2. 예제 2

    입력
    5 8 2
    2 2
    4 5
    
    예상 출력
    3424