output_description: Print the number of Taro's paths from Square (1, 1) to (H, W), modulo 10^9 +
  7.
  
  * * *
input_description: Input is given from Standard Input in the following format:
  
      
      
      H W N
      r_1 c_1
      r_2 c_2
      :
      r_N c_N
attempt: # -----conbination計算部分------
  #   https://qiita.com/derodero24/items/91b6468e66923a87f39f より
  
  
  def cmb(n, r, mod=10**9 + 7):
      if r < 0 or r > n:
          return 0
      r = min(r, n - r)
      return g1[n] * g2[r] * g2[n - r] % mod
  
  
  mod = 10**9 + 7  # 出力の制限
  N = 10**5 * 2
  g1 = [1, 1]  # 元テーブル
  g2 = [1, 1]  # 逆元テーブル
  inverse = [0, 1]  # 逆元テーブル計算用テーブル
  
  for i in range(2, N + 1):
      g1.append((g1[-1] * i) % mod)
      inverse.append((-inverse[mod % i] * (mod // i)) % mod)
      g2.append((g2[-1] * inverse[-1]) % mod)
  
  # -------------------------------------------------------
  
  # 入力
  H, W, N = map(int, input().split())
  # 迷路の初期化
  # keystr = str(H).zfill(6)+str(W).zfill(6)
  maplst = []
  maplst.append([H, W, cmb(H + W - 2, W - 1)])
  for i in range(N):
      x, y = map(int, input().split())
      keystr = str(x).zfill(6) + str(y).zfill(6)
      maplst.append([x, y, cmb(x + y - 2, y - 1)])
  
  maplst.sort()
  
problem_description: Statement
  
  There is a grid with H horizontal rows and W vertical columns. Let (i, j)
  denote the square at the i-th row from the top and the j-th column from the
  left.
  
  In the grid, N Squares (r_1, c_1), (r_2, c_2), \ldots, (r_N, c_N) are wall
  squares, and the others are all empty squares. It is guaranteed that Squares
  (1, 1) and (H, W) are empty squares.
  
  Taro will start from Square (1, 1) and reach (H, W) by repeatedly moving right
  or down to an adjacent empty square.
  
  Find the number of Taro's paths from Square (1, 1) to (H, W), modulo 10^9 + 7.
samples: [{"input": "3 4 2\n    2 2\n    1 4", "output": "3\n    \n\nThere are three paths as follows:\n\n![](https://img.atcoder.jp/dp/grid_1_0_muffet.png)\n\n* * *"}, {"input": "5 2 2\n    2 1\n    4 2", "output": "0\n    \n\nThere may be no paths.\n\n* * *"}, {"input": "5 5 4\n    3 1\n    3 5\n    1 3\n    5 3", "output": "24\n    \n\n* * *"}, {"input": "100000 100000 1\n    50000 50000", "output": "123445622\n    \n\nBe sure to print the count modulo 10^9 + 7."}]