D. 孤独之歌

传统 1000 ms 256 MiB
标准 IO
文本比较

题目描述

拉普拉斯科算中心正在破解术士密码。

有三种操作。你的任务是用它们来打出给定的 01 串 SS

三种操作是 0\texttt{0}1\texttt{1}B\texttt{B}

  • 操作 0\texttt{0} 表示在末尾添加一个 0\texttt{0}
  • 操作 1\texttt{1} 表示在末尾添加一个 1\texttt{1}
  • 操作 B\texttt{B} 表示删除最后一个字符。特别地,若当前字符串为空,则什么也不做。

初始时,打字机上的字符串为空。

你需要进行恰好 nn 次操作,打出给定的 01 串 SS

求有多少个操作方案。答案对 109+710^9+7 取模。

输入格式

第一行一个整数 nn1n50001\le n\le5000)。

第二行一个 01 串 SS1Sn1\le|S|\le n)。

输出格式

一行一个整数,表示答案对 109+710^9+7 取模后的结果。

样例

样例 1

输入

3
1

输出

5

解释

55 个合法的操作方案:10B\texttt{10B}11B\texttt{11B}0B1\texttt{0B1}1B1\texttt{1B1}BB1\texttt{BB1}

样例 2

输入

9
110

输出

509