#dpy. [dp_y]Grid 2

[dp_y]Grid 2

問題文

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

グリッドのうち、NN 個のマス (r1,c1),(r2,c2),ldots,(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 で割った余りを求めてください。

制約

  • 入力はすべて整数である。
  • 2leqH,Wleq1052 \\leq H, W \\leq 10^5
  • 1leqNleq30001 \\leq N \\leq 3000
  • 1leqrileqH1 \\leq r_i \\leq H
  • 1leqcileqW1 \\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 で割った余りを出力せよ。


入力例 1

3 4 2
2 2
1 4

出力例 1

3

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


入力例 2

5 2 2
2 1
4 2

出力例 2

0

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


入力例 3

5 5 4
3 1
3 5
1 3
5 3

出力例 3

24

入力例 4

100000 100000 1
50000 50000

出力例 4

123445622

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