给定一个仅由 0 和 1 组成的数列$ \{a_0, a_1, \cdots, a_{n - 1}\}$。求有多少个仅有0和1组成的长度在 $1$ 到 $n$ 之间的数列 $\{b_0, b_1, \cdots, b_{m - 1}\}$,使得对于任意 $0 \le p \le n - m$,$\sum_{k = 0} ^ {m - 1}{a_{p + k} \wedge b_k}$均为偶数。
答案对 $1\,000\,000\,007$ 取模。
输入格式
一行一个 01 串,表示数列 $a$,从左到右的第 $k$ 个字符表示 $a_k$。
输出格式
一行一个整数表示数列 $b$ 的个数对 $1\,000\,000\,007$ 取模的值。
样例一
input
00101110101110101011
output
699063
样例二
input
00001100100101110011110011100010011010101011001010
output
932640914
限制与约定
每组测试数据的限制与约定如下所示:
| 测试点编号 | $n$ |
|---|---|
| 1 | $n \le 20$ |
| 2 | |
| 3 | $n \le 100$ |
| 4 | |
| 5 | |
| 6 | |
| 7 | $n \le 5000$ |
| 8 | |
| 9 | |
| 10 | |
| 11 | |
| 12 | |
| 13 | $n \le 50000$ |
| 14 | |
| 15 | |
| 16 | |
| 17 | |
| 18 | |
| 19 | |
| 20 |
对于全部数据$1 \le n \le 50000$,输入数据中的串是一个01串。