{"raw_statement":[{"iden":"background","content":"**提示：此题有大样例。**\n\n**提示：本题中的九连环与传统九连环不同。**\n\n九连环是一种源于中国的传统智力游戏。如图所示，九个的圆环套在一把“剑”上，并且互相牵连。\n\n![](https://cdn.luogu.com.cn/upload/pic/17568.png)\n\n在传统的九连环中，第 $k(k\\ge 2)$ 个环可以装上“剑”（记为 $1$）或拆下“剑”（记为 $0$），当且仅当第 $k-1$ 个环在剑上，且再之前的环不在剑上；特别地，第 $1$ 个环可以任意上下。\n\n本题中我们将会讨论更一般的情形，虽然这种简单九连环不一定可以在物理意义上造出。"},{"iden":"statement","content":"一个简单九连环，可以看作两个 `01` 串——规则串 $s$ 和状态串 $t$，满足 $|s|=|t|-1$。其中 $t_i = \\texttt 1$ 表示第 $i$ 个环是装上的，$t_i = \\texttt 0$ 表示第 $i$ 个环是拆下的。\n\n$s$ 在同一局游戏中是不变的，而 $t$ 每步会变化一个位置上的值（从 `0` 变成 `1` 或从 `1` 变成 `0`）。简单九连环被拆下，当且仅当 $t_i$ 全是 `0`；简单九连环被装上，当且仅当 $t_i$ 全是 `1`。\n\n简单九连环规定，$t_i$ 可以变化，当且仅当 $t_{1\\sim i-1}$ 是 $s$ 的一个**后缀**。可以看出，传统的九连环就是 $s$ 为 `00...01` 的特殊情形。\n\n给出一个 $s$，问从拆下状态到装上状态至少需要几步，答案对 $10^9+7$ 取模。"},{"iden":"input","content":"第一行一个整数 $n$，表示 $s$ 的长度。**注意不是环的数量。**\n\n第二行一个 `01` 串 $s$。"},{"iden":"output","content":"一行一个整数，表示答案对 $10^9+7$ 取模后的值。"},{"iden":"note","content":"### 样例 1 解释\n\n初始时刻所有环都不在简单九连环的剑上，状态串 $t$ 为 `0000`。\n\n第 1 步装上第 $1$ 个环，$t$ 变成 `1000`。\n\n第 2 步装上第 $2$ 个环，$t$ 变成 `1100`。\n\n第 3 步装上第 $3$ 个环，$t$ 变成 `1110`。\n\n接下来你不能直接装上第 $4$ 个环，因为 `111` 并不是规则串 $s$ `011` 的后缀。因此第 4 步应拆下第 $1$ 个环，$t$ 变成 `0110`。\n\n然后第 5 步装上第 $4$ 个环，$t$ 变成 `0111`。\n\n最后一步装上第 $1$ 个环，$t$ 变成 `1111`，完成目标。\n\n### 样例 2 解释\n\n这就是传统的九连环，且恰好有 $9$ 个环。\n\n### 样例 3 解释\n\n样例 3 满足测试点 $7$ 的限制。\n\n### 样例 4 解释\n\n样例 4 满足测试点 $15$ 的限制。\n\n### 数据规模与约定\n\n对于 $100\\%$ 的数据，$1\\le n\\le 2000$，$s_i\\in\\{\\texttt 0,\\texttt 1\\}$。\n\n|测试点编号|$\\vert s\\vert\\le$|特殊性质|\n|:-:|:-:|:-:|\n|$1\\sim 3$|$3$||\n|$4\\sim 6$|$15$||\n|$7\\sim 11$|$300$||\n|$12\\sim 13$|$1000$||\n|$14$|$2000$|$s_i$ 全为 `0`|\n|$15\\sim 17$|$2000$|$s$ 末尾为 `1`，其余位置为 `0`|\n|$18\\sim 25$|$2000$||"}],"translated_statement":null,"sample_group":[["3\n011\n","6\n"],["8\n00000001\n","341\n"],["见附件中的 samples/rings3.in","见附件中的 samples/rings3.ans"],["见附件中的 samples/rings4.in","见附件中的 samples/rings4.ans"]],"show_order":[],"formal_statement":null,"simple_statement":null,"has_page_source":false}