[BalticOI 2017] Plus Minus
题目背景
物理学家马修正在研究硅基矩形微芯片的量子电动力学。
题目描述
这一块芯片的大小为 $n \times m$ ,可以分成 $n \times m$ 个电子。
我们都知道电子的状态只有正电 `+` 和负电 `-`。
所以,每一个电子都只有一个状态,`+` 或者 `-`。
马修不知道每个电子的状态,但他可以进行 $k$ 次测量。
第 $i$ 次测量他可以得到 $(y_i,x_i)$ 这个电子的状态 $s_i$。
($s_i$ 是 `+` 或者 `-`)
马修还知道,在任意一个 $2\times2$ 的大小的电子块中,拥有 `+` 的电子和拥有 `-` 的电子数量相等。
然后他找到了您,想让您给出有多少种电子排列的形式满足测量的结果和上述要求。
答案对 $10^9+7$ 取模。
输入输出格式
输入格式
第一行三个整数 $n,m,k$ 代表芯片的大小和测量次数。
接下来 $k$ 行每行一个字符 $s_i$ 代表这次测量得到的状态和 $y_i,x_i$ 代表测量的位置。
输出格式
一行一个整数代表有多少种电子排布的形式。
答案对 $10^9+7$ 取模。
输入输出样例
输入样例 #1
2 4 4
+ 1 1
- 1 2
+ 1 3
- 1 4
输出样例 #1
2
输入样例 #2
3 3 3
- 2 1
+ 2 3
+ 3 3
输出样例 #2
0
说明
#### 样例说明
对于样例 $1$,有以下 $2$ 种情况:
```
+-+-
+-+-
```
和
```
+-+-
-+-+
```
#### 数据规模与约定
**本题采用捆绑测试。**
- Subtask 1(12 pts):$n,m \le 5$。
- Subtask 2(42 pts):$n,m \le 1000$。
- Subtask 3(46 pts):无特殊限制。
对于 $100\%$ 的数据,$1 \le n,m \le 10^9$,$0 \le k \le 10^5$,$1 \le y_i \le n$,$1 \le x_i \le m$。
#### 说明
**翻译自 [BOI 2017 D2](https://boi.cses.fi/files/boi2017_day2.pdf) T3 Plus Minus。**
翻译者:@[一只书虫仔](https://www.luogu.com.cn/user/114914)。