D. 简单的填充问题
time limit per test
2 seconds
memory limit per test
512 megabytes
input
standard input
output
standard output

Kendieer 现在手头上有一个 $$$n\times m$$$ 的网格矩形,他觉得太空旷了,于是他决定塞一些 $$$2\times 2$$$ 的正方形进入该矩形之中。

不过对于每一个被填入矩形的正方形而言,都需要满足:

  • 每个 $$$2 \times 2$$$ 的正方形必须恰好覆盖网格中的 $$$4$$$ 个完整小方格。
  • 正方形不能超出 $$$n \times m$$$ 的矩形边界。
  • 对于其他任意一个 $$$2\times 2$$$ 的正方形,与当前正方形接触的长度不超过 $$$1$$$。

例如以下放置方式:

不合法合法合法

Duanhen 看到这个问题之后,觉得太简单了,于是他破坏了 $$$k$$$ 个格子,使得这些格子均不可被正方形覆盖。

由于合法的填充方案太多了,Kendieer 多得数不过来,于是他向你请教一下一共有多少种本质不同$$$^\dagger$$$的合法放置方案,这个答案可能很大,你需要将答案对 $$$998244353$$$ 取模。

$$$\dagger$$$:两种方案被视为不同,当且仅当存在至少一个 $$$2 \times 2$$$ 的正方形位置,在一种方案中被放置而在另一种方案中未被放置。

Input

第一行输入两个正整数 $$$n,m(2\le m\le n\le 12)$$$。

第二行输入一个非负整数 $$$k(0\le k\le n\times m)$$$,表示被破坏的格子数量。

接下来 $$$k$$$ 行,每行输入两个正整数 $$$x_i,y_i(1\le x_i\le n,1\le y_i\le m)$$$,表示被破坏的格子坐标,数据保证坐标两两不同。

Output

输出一个非负整数,表示答案。

Examples
Input
3 3
1
1 3
Output
4
Input
7 6
2
7 6
7 3
Output
3388
Input
12 12
1
7 6
Output
567132745
Note

对于样例 1,共有以下 $$$4$$$ 种方案:(注意,不放置正方形也视作一种合法的放置方案)