atcoder#DPY. Grid 2

Grid 2

配点 : 100100

問題文

HH 行、横 WW 列のグリッドがあります。 上から ii 行目、左から jj 列目のマスを (i,j)(i, j) で表します。

グリッドのうち、NN 個のマス (r1,c1),(r2,c2),,(rN,cN)(r_1, c_1), (r_2, c_2), \ldots, (r_N, c_N) は壁のマスであり、それら以外のマスはすべて空マスです。 マス (1,1)(1, 1) および (H,W)(H, W) は空マスであることが保証されています。

太郎君は、マス (1,1)(1, 1) から出発し、右または下に隣り合う空マスへの移動を繰り返すことで、マス (H,W)(H, W) まで辿り着こうとしています。

マス (1,1)(1, 1) から (H,W)(H, W) までの太郎君の経路は何通りでしょうか? 109+710^9 + 7 で割った余りを求めてください。

制約

  • 入力はすべて整数である。
  • 2H,W1052 \leq H, W \leq 10^5
  • 1N30001 \leq N \leq 3000
  • 1riH1 \leq r_i \leq H
  • 1ciW1 \leq c_i \leq W
  • マス (ri,ci)(r_i, c_i) はすべて相異なる。
  • マス (1,1)(1, 1) および (H,W)(H, W) は空マスである。

入力

入力は以下の形式で標準入力から与えられる。

HH WW NN

r1r_1 c1c_1

r2r_2 c2c_2

::

rNr_N cNc_N

出力

マス (1,1)(1, 1) から (H,W)(H, W) までの太郎君の経路は何通りか? 109+710^9 + 7 で割った余りを出力せよ。

3 4 2
2 2
1 4
3

経路は次図の 33 通りです。

5 2 2
2 1
4 2
0

経路が存在しない場合もあります。

5 5 4
3 1
3 5
1 3
5 3
24
100000 100000 1
50000 50000
123445622

答えを 109+710^9 + 7 で割った余りを出力することを忘れずに。