AtCoder Regular Contest 059
F
Unhappy Hacking
AtCoder
⌀ 2427
原题
← E→
翻译中…

Problem Statement

翻译中…

Sig has built his own keyboard. Designed for ultimate simplicity, this keyboard only has $3$ keys on it: the 0 key, the 1 key and the backspace key.

翻译中…

To begin with, he is using a plain text editor with this keyboard. This editor always displays one string (possibly empty). Just after the editor is launched, this string is empty. When each key on the keyboard is pressed, the following changes occur to the string:

翻译中…
  • The 0 key: a letter 0 will be inserted to the right of the string.
  • The 1 key: a letter 1 will be inserted to the right of the string.
  • The backspace key: if the string is empty, nothing happens. Otherwise, the rightmost letter of the string is deleted.
翻译中…

Sig has launched the editor, and pressed these keys $N$ times in total. As a result, the editor displays a string $s$. Find the number of such ways to press the keys, modulo $10^9 + 7$.

翻译中…

Constraints

翻译中…
  • $1 ≦ N ≦ 5000$
  • $1 ≦ |s| ≦ N$
  • $s$ consists of the letters 0 and 1.
翻译中…

Partial Score

翻译中…
  • $400$ points will be awarded for passing the test set satisfying $1 ≦ N ≦ 300$.
翻译中…

Input

翻译中…

The input is given from Standard Input in the following format:

翻译中…

N
s

翻译中…

Output

翻译中…

Print the number of the ways to press the keys $N$ times in total such that the editor displays the string $s$ in the end, modulo $10^9+7$.

翻译中…

样例

Input #1
3
0
Output #1
5
We will denote the backspace key by `B`. The following $5$ ways to press the keys will cause the editor to display the string `0` in the end: `00B`, `01B`, `0B0`, `1B0`, `BB0`. In the last way, nothing will happen when the backspace key is pressed.
Input #2
300
1100100
Output #2
519054663
Input #3
5000
01000001011101000100001101101111011001000110010101110010000
Output #3
500886057
题目信息
题号
arc059_d
时间限制
2 s
内存限制
256 MB

题面与样例版权归 AtCoder 及出题人所有;中文翻译由 AI 生成(CI 管线),如有出入请以原文为准。