魔改森林
题号:NC200324
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld

题目描述

曾经有一道叫做迷雾森林的题目,然而牛牛认为地图中的障碍太多,实在是太难了,所以删去了很多点,出了这道题。


牛牛给出了一个n行m列的网格图
初始牛牛处在最左下角的格点上(n+1,1),终点在右上角的格点(1,m+1)

现在它想知道,从起点走到终点,只能向上或向右走,一共有多少种走法呢?

需要注意的是,除了起点和终点外,其它的每个格点都有可能有障碍,无法通过。

请注意格子与格点的区别

输入描述:

第一行三个整数n,m,k,表示格子的大小,以及有k个障碍
接下来k行(若k=0则无此行),每行一个格点坐标(x,y),表示每个障碍的位置

输出描述:

仅一行,一个整数表示答案对998244353取模的值
示例1

输入

复制
4 5 1
3 4

输出

复制
66

说明

示例2

输入

复制
12345 54321 2
123 321
456 654

输出

复制
801071140
示例3

输入

复制
114 514 3
19 19
8 10
65 45

输出

复制
567102428

备注:

对于全部数据,n,m\leq 10^5,k\leq 10^5