AT_s8pc_1_d square1001の通学経路 (square1001's School Road)

题目描述

square1001 每天步行去中学上学。 他住在左下角的交叉点 $(1,1)$,学校在右上角的交叉点 $(W,H)$。 不过,有如下条件: - 为了节省时间,他只能向右或向上走。 - 这一天,他有 $K$ 个格子有事要办。 每个有事的格子左下角为 $(X_i,Y_i)$,右上角为 $(X_i+1,Y_i+1)$。因此,对于每个有事的格子,他必须经过该格子四个角的交叉点中的至少一个。 请计算满足上述条件的走法有多少种。答案对 $1,000,000,007$ 取模。

输入格式

输入从标准输入按以下格式给出。 > $H$ $W$ $K$ > $X_1$ $Y_1$ > $X_2$ $Y_2$ > $\vdots$ > $X_K$ $Y_K$ - 第 $1$ 行包含三个整数 $H\ (1 \leq H \leq 1,000)$,$W\ (1 \leq W \leq 1,000)$,$K\ (1 \leq K \leq 200)$,以空格分隔。 - 接下来的 $K$ 行,每行包含两个整数 $X_i\ (1 \leq X_i < W)$,$Y_i\ (1 \leq Y_i < H)$,以空格分隔。

输出格式

请输出满足条件的走法数,输出一行。

说明/提示

### 样例解释 1 ![](/img/other/s8pc-1/3D60242BC3594620918CA1044AE12FBE.png) 像 $(1,1)→(1,2)→(1,3)→(1,4)→(2,4)→(3,4)→(4,4)$ 这样的走法,以及 $(1,1)→(2,1)→(3,1)→(4,1)→(4,2)→(4,3)→(4,4)$ 这样的走法都不可以。因此,$20-2=18$,输出 $18$。 ※图片左上角的数字缺失,敬请谅解。 由 ChatGPT 4.1 翻译