题目描述
Y 同学来到一片由 N 行 M 列格点组成的云格。左上角为 (1,1),右下角为 (N,M)。他每一步只能从 (x,y) 走到 (x+1,y) 或 (x,y+1)。
云格中有 B 个破碎格点,Y 同学不能经过这些格点。起点和终点保证没有破碎。
请你计算从 (1,1) 走到 (N,M) 的合法路径条数。答案可能很大,请对 998244353 取模。
输入格式
第一行包含三个整数 N,M,B。
接下来 B 行,每行两个整数 xi,yi,表示一个破碎格点。
输出格式
输出一行一个整数,表示合法路径条数对 998244353 取模后的值。
样例
样例输入 #1
4 5 3
2 3
3 2
3 4
样例输出 #1
3
数据范围与约定
对于 100% 的数据,保证 1≤N,M≤106,N+M≤2×106,0≤B≤5000。所有破碎格点互不相同,且不为 (1,1) 或 (N,M)。
| 测试点 |
分值 |
范围 |
特殊性质 |
| 1∼4 |
20 |
N,M≤10,B≤8 |
无 |
| 5∼8 |
N,M≤106 |
B=0 |
| 9∼12 |
N,M≤106,B≤5000 |
所有破碎格点至多位于两行 |
| 13∼16 |
N,M≤105,B≤800 |
无 |
| 17∼20 |
N,M≤106,B≤5000 |