만드는 중입니다

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

체스판

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

요약
격자판에서 두 말이 (1,1)에서 (N,M)까지 서로 만나지 않고 이동하는 경로 쌍의 수를 10^9+7로 나눈 나머지로 구합니다.
난이도

어려움10점 중 8점

유형
조합론, 동적 계획법, 수학
정답자
아직 제출이 없습니다

문제

크기가 N×MN \times M인 체스판이 있다. 행 번호는 위에서부터 1,2,⋯ ,N1, 2, \cdots, N이고, 열 번호는 왼쪽에서부터 1,2,⋯ ,M1, 2, \cdots, M이다. 체스판의 각 칸은 (i,j)(i, j)로 나타내며, ii는 행 번호, jj는 열 번호이다. 체스판에는 KK개의 금지된 칸이 있다. 단, (1,1)(1,1)과 (N,M)(N,M)은 금지된 칸이 아니다.

말 AA, BB는 (1,1)(1,1)에서 출발하여 다음 규칙에 따라 동시에 한 칸씩 이동하며 (N,M)(N,M)까지 가려고 한다.

  1. 말이 (i,j)(i,j)에 있으면 (i+1,j)(i+1,j) 또는 (i,j+1)(i,j+1)으로 이동할 수 있다. 이때 체스판을 벗어나는 이동은 허용하지 않는다.
  2. 처음에 말 AA는 (1,1)(1,1)에서 (1,2)(1,2)로 이동하고, 말 BB는 (1,1)(1,1)에서 (2,1)(2,1)로 이동해야 한다.
  3. 이동하는 과정에서 두 말은 (1,1)(1,1)과 (N,M)(N,M)을 제외한 어떤 칸에서도 만나면 안 된다.
  4. 어떤 말도 금지된 칸으로 이동할 수 없다.

이 규칙을 따르면서 말 AA, BB가 (1,1)(1,1)에서 동시에 출발해 (N,M)(N,M)에 도달할 수 있는 경로쌍의 개수를 구한다. 말 AA가 이동한 경로를 aa, 말 BB가 이동한 경로를 bb라고 할 때, 조건을 만족하는 (a,b)(a,b)의 개수를 구하면 된다.

입력

첫 번째 줄에 체스판의 행 크기 NN, 열 크기 MM, 금지된 칸의 개수 KK가 공백으로 구분되어 주어진다. (2≤N,M≤1 000 0002 \le N,M \le 1\,000\,000, 0≤K≤min⁡(N×M−2,5 000)0 \le K \le \min(N \times M-2,5\,000))

두 번째 줄부터 K+1K+1번째 줄까지는 금지된 칸의 행 번호 xx, 열 번호 yy가 공백으로 구분되어 주어진다. 같은 칸은 두 번 이상 주어지지 않는다. (1≤x≤N1 \le x \le N, 1≤y≤M1 \le y \le M, (x,y)≠(1,1)(x,y) \neq (1,1), (x,y)≠(N,M)(x,y) \neq (N,M))

입력으로 주어지는 모든 수는 정수이다.

출력

말 AA, BB가 (1,1)(1,1)에서 동시에 출발하여 (N,M)(N,M)에 도달할 수 있는 경로쌍의 개수를 109+710^9 + 7로 나눈 나머지를 출력한다.

예제2

  1. 예제 1

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

    입력
    5 5 4
    3 1
    3 5
    1 3
    5 3
    
    예상 출력
    0