P0704

[Apio2011]方格染色

[Apio2011]方格染色

Sam 和他的妹妹 Sara 有一个包含 n×mn\times m 个方格的表格。她们想将每个方格染成红色或蓝色,并要求表格中每个 2×22\times 2 的方形区域都恰好包含奇数个红色方格,即包含 11 个或 33 个红色方格。

现在,表格中的一些方格已经被染上了颜色。请判断是否可以为剩余方格染色,使整个表格满足上述要求,并计算满足要求的染色方案总数。

输入格式

第一行包含三个整数 nn、mm 和 kk,分别表示表格的行数、列数以及已经染色的方格数。

接下来 kk 行描述已经染色的方格。第 ii 行包含三个整数 xix_i、yiy_i 和 cic_i,分别表示第 ii 个已染色方格的行编号、列编号和颜色。

ci=1c_i=1 表示该方格被染成红色,ci=0c_i=0 表示该方格被染成蓝色。

输出格式

输出一个整数,表示满足要求的染色方案数 WW 对 10910^9 取模后的结果。

样例输入

3 4 3
2 2 1
1 2 0
2 3 1

样例输出

8

数据范围

  • 2≤n,m≤1062\le n,m\le 10^6;
  • 0≤k≤1060\le k\le 10^6;
  • 1≤xi≤n1\le x_i\le n;
  • 1≤yi≤m1\le y_i\le m;
  • ci∈{0,1}c_i\in\{0,1\}。

来源与许可

本题为 APIO 2011 试题「方格染色」,题面与测试数据整理自 BZOJ 2303。

样例 1

输入

3 4 3
2 2 1
1 2 0
2 3 1

输出

8