F. 序列

内存限制:256 MiB 时间限制:2000 ms 标准输入输出
题目类型:传统 评测方式:文本比较

题目描述

对于一个 的排列 ,一个 0 操作表示交换 ,一个 1 操作表示交换 。一个 01 操作序列是好的,当且仅当对于初始排列 ,依次执行每个操作后,得到的排列还是

给定一个包含 0,1,?的字符串以及正整数 ,求有多少种把 ? 替换为 01 的方案数,使得该字符串恰好有 01,且对应的操作序列是好的。答案对 取模。

输入格式

第一行:两个正整数

第二行:一个长度为 的字符串,由 0,1,? 构成。

输出格式

一行一个整数,表示答案。

样例

样例输入1

2 4
0??1??

样例输出1

2

样例解释1

共有两种方案,分别为 001111011110

样例输入2

6 10
???0??????111??1

样例输出2

201

数据范围与提示

对于所有数据,满足