翻硬币
题目描述
小 Z 离开家的时候忘记带走了钱包,掉下的硬币在桌子上排成了一列。正在等着哥哥回来的小 D 坐在桌子旁边,无聊地翻着桌子上的硬币。
出于某种爱好,小 D 一次一定会同时翻转 $M$ 枚硬币。由于小 D 是一个爱动脑的小学生,这样进行了若干次之后她很快想到了一个问题:有多少种方法能够在 $K$ 次翻转后把硬币由原来的状态变成现在这样呢?
因为小 D 是个好学的小学生,她只需要你告诉她方案数对 $10^9+7$ 取模的值以方便她进行验算就可以了。
输入输出格式
输入格式
第一行,包含三个字符 $N,K,M$,表示硬币的数量,翻转的次数和每次翻转的硬币数量。
第 $2 \sim 3$ 行,包含 $N$ 个字母,表示硬币在一开始的状态和最终要变成的状态。$1$ 表示正面而 $0$ 表示背面。
输出格式
一行包含一个整数,表示方案数对 $10^9+7$ 取模的值。
输入输出样例
输入样例 #1
3 2 1
100
001
输出样例 #1
2
说明
### 样例解释
存在两种方案:
- $100 \to 101 \to 001$;
- $100 \to 000 \to 001$。
### 数据规模
- 对于 $30\%$ 的数据,$N \le 4$,$0 \le K \le 5$;
- 对于 $60\%$ 的数据,$N \le 10$;
- 对于 $100\%$ 的数据,$1 \le N \le 100$,$0 \le K \le 100$,$0 \le M \le N$。