logo AlgoBeat OnlineJudge
登录 注册

#102420. [BZOJ 2420] Toy

内存限制:128 MiB 时间限制:10000 ms 标准输入输出
题目类型:传统 评测方式:文本比较
上传者: 匿名

题目描述

堆积木是小 Y 很喜欢的一款游戏。有 种颜色(颜色标号为 )的积木,我们规定, 在堆放积木 列只能放第 种颜色的积木,如图 (白色为空)。

小 Y 每次可以选三块颜色都不同的积木, 种颜色共有 种选法。对于每次操作,将选出的三块积木堆在已经摆好的积木上。对于同种颜色的积木,如果之前已经存在了一个积木,那么就将这块积木和选出的积木一起消去。图 消去后就变成图

游戏开始前有一些积木,为了简化游戏,规定每种颜色的积木初始数量不超过 。小 Y 操作 次后,如果剩下的状态和小 X 给的状态一样,那么小 Y 就赢了。但小 Y 觉得赢了还不够过瘾,他想知道有多少种方法可以获胜。

如果 方案的某次操作在 方案中没有出现,那么 方案可视为不同。由于答案会很大,请对 取模。

输入格式

第一行有两个数 ,表示有 种颜色, 次操作。

第二行有 个数, ,表示初始状态。

第三行有 个数, ,表示最终状态。

注意 表示有, 表示无。

输出格式

仅包含一个数,表示方案数,如果不能获胜,输出

样例

样例输入 #1

4 3
1101
1001

样例输出 #1

1

数据范围与提示

一种方案中不能重复选同一组积木,比如之前选过了 就不能再选了, 是可以选的。

对于 的数据,保证