CF40E Number Table

题目描述

研究发现,Berland 当前的经济状况可以用一个大小为 $n \times m$ 的简单表格来描述。其中,$n$ 表示 Berland 每个月的天数,$m$ 表示月份数。因此,表格的每个单元格对应 Berland 一年中的某一天和某一月。每个单元格包含的值是 $1$ 或 $-1$,分别表示国家在该月该天的收益($1$ 为盈利,$-1$ 为亏损)。为了成功发展经济,分析上一年经济状况的数据非常重要。然而,当财务人员查阅档案时,发现表格已严重损坏:部分单元格的数据褪色无法辨认。已知保存数据的单元格数量严格小于 $\max(n,m)$。但有一条额外信息:每行和每列的数字乘积均为 $-1$。你的任务是计算符合已保存数据的不同表格的数量。由于结果可能很大,需对 $p$ 取模后输出。

输入格式

第一行包含整数 $n$ 和 $m$($1 \leq n, m \leq 1000$)。 第二行包含整数 $k$($0 \leq k < \max(n, m)$),表示保存数据的单元格数量。 接下来的 $k$ 行描述已保存单元格的数据,每行格式为 `a b c`,其中 $a$($1 \leq a \leq n$)为行号,$b$($1 \leq b \leq m$)为列号,$c$ 为单元格的值($1$ 或 $-1$)。行号和列号从 $1$ 开始。保证不存在重复的 $(a, b)$ 组合。 最后一行包含整数 $p$($2 \leq p \leq 10^9 + 7$)。

输出格式

输出符合已保存数据的不同表格的数量,结果对 $p$ 取模。