京セラプログラミングコンテスト2021(AtCoder Beginner Contest 200)
F
Minflip Summation
AtCoder
⌀ 2556
原题
← E→
翻译中…

Problem Statement

翻译中…

We have a string $S$ consisting of 0, 1, and ?. Let $T$ be the concatenation of $K$ copies of $S$. By replacing each ? in $T$ with 0 or 1, we can obtain $2^{Kq}$ strings, where $q$ is the number of ?s in $S$. Solve the problem below for each of these strings and find the sum of all the answers, modulo $(10^9+7)$.

翻译中…

Let $T'$ be the string obtained by replacing ? in $T$. We will repeatedly do the operation below to make all the characters in $T$ the same. At least how many operations are needed for this?

  • Choose integers $l$ and $r$ such that $1 \le l \le r \le |T'|$, and invert the $l$-th through $r$-th characters of $T$: from 0 and 1 and vice versa.
翻译中…

Constraints

翻译中…
  • $1 \le |S| \le 10^5$
  • $1 \le K \le 10^9$
翻译中…

Input

翻译中…

Input is given from Standard Input in the following format:

翻译中…

S
K

翻译中…

Output

翻译中…

Print the answer as an integer.

翻译中…

样例

Input #1
101
2
Output #1
2
We have $T=$ `101101`, which does not contain `?`, so we just need to solve the problem for the only $T'=$ `101101`. We can make all the characters the same in two operations as, for example, `101101` $\rightarrow$ `110011` $\rightarrow$ `111111`. We cannot make all the characters the same in one or fewer operations.
Input #2
?0?
1
Output #2
3
We have four candidates for $T'$: `000`, `001`, `100`, and `101`.
Input #3
10111?10??1101??1?00?1?01??00010?0?1??
998244353
Output #3
235562598
Since the answer can be enormous, find it modulo $(10^9+7)$.
题目信息
题号
abc200_f
时间限制
2 s
内存限制
1024 MB

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