Toy
有 种颜色,每种颜色的状态为 或 。一次操作需要选择三种编号两两不同的颜色,并将它们的状态分别取反,即 变为 , 变为 。
你需要恰好进行 次操作。同一个由三种颜色组成的无序三元组在一种方案中至多被选择一次。一种方案是由 个不同的无序三元组组成的集合,操作的先后顺序不同不视为不同方案。
求有多少种方案能够使所有颜色从给定的初始状态变为给定的最终状态。
输入格式
第一行包含两个整数 ,分别表示颜色数量和操作次数。
第二行包含一个长度为 、仅由字符 和 组成的字符串,表示初始状态。
第三行包含一个长度为 、仅由字符 和 组成的字符串,表示最终状态。字符串的第 位为 ,表示第 种颜色的状态为 ;为 ,表示其状态为 。
输出格式
输出一个整数,表示能够使初始状态变为最终状态的方案数对 取模的结果。若不存在合法方案,则输出 。
样例输入
4 3
1101
1001
样例输出
1
样例解释
一种方案中不能重复选择同一个无序三元组。例如,选择过 后,不能再次选择 ,但仍然可以选择 或 。
数据范围
- ;
- 。
来源与许可
本题题面与测试数据整理自 BZOJ。
样例 1
输入
4 3
1101
1001
输出
1