#L3111. 「SDOI2019」染色

「SDOI2019」染色

题目描述

给定 2×n2 \times n 的格点图。其中一些结点有着已知的颜色,其余的结点还没有被染色。一个合法的染色方案不允许相邻结点有相同的染色。

现在一共有 cc 种不同的颜色,依次记为 11cc。请问有多少对未染色结点的合法染色方案?


输入格式

第一行有两个整数 nncc,分别描述了格点图的大小和总的颜色个数。

之后两行,每行有 nn 个整数:如果是 00 则表示对应结点未被染色,否则一定是一个 11cc 的整数表示对应结点已经染了某一种颜色。


输出格式

输出一个整数,为总的染色方案数对 109+910^9 + 9 取模后的值。


样例

样例 1

输入

3 5
1 0 1
0 0 0

输出

172

样例 2

输入

5 7
1 0 0 0 2
0 0 3 0 0

输出

116370

样例 3

输入

10 13
0 2 0 0 1 0 2 0 0 3
0 1 0 1 0 0 0 0 4 0

输出

770175525

数据范围与提示

  • 子任务 14444 分):
    1n100001 \le n \le 100005c100005 \le c \le 10000;不存在一列有 22 个已染色结点;被染色结点全部位于第一行;第一列和最后一列均有结点已被染色。

  • 子任务 23232 分):
    1n100001 \le n \le 100005c100005 \le c \le 10000;不存在一列有 22 个已染色结点;第一列和最后一列均有结点已被染色。

  • 子任务 31212 分):
    1n100001 \le n \le 100005c100005 \le c \le 10000;第一列和最后一列均有结点已被染色。

  • 子任务 488 分):
    1n100001 \le n \le 100005c100005 \le c \le 10000

  • 子任务 544 分):
    1n1000001 \le n \le 1000005c1000005 \le c \le 100000