Codeforces Round 129 (Div. 1)
D
Little Elephant and Retro Strings
Codeforces
2400
原题
← CE →
翻译中…

The Little Elephant has found a ragged old black-and-white string $*s*$ on the attic.

翻译中…

The characters of string $*s*$ are numbered from the left to the right from $1$ to $|*s*|$, where $|*s*|$ is the length of the string. Let's denote the $*i*$-th character of string $*s*$ as $*s*_{*i*}$. As the string is black-and-white, each character of the string is either letter "B", or letter "W". Unfortunately, the string is very old and some characters are damaged. The damaged positions are denoted as "X".

翻译中…

The Little Elephant in determined to restore the string and hang it on the wall. For that he needs to replace each character "X" by a "B" or a "W". The string must look good on the wall, so it must be beautiful. The Little Elephant considers a string beautiful if it has two non-intersecting substrings of a given length $*k*$, such that the left one fully consists of characters "B", and the right one fully consists of characters "W". More formally, there are four integers $*a*, *b*, *c*, *d*$ $(1 ≤ *a* ≤ *b* < *c* ≤ *d* ≤ |*s*|; *b* - *a* + 1 = *d* - *c* + 1 = *k*)$ such that $*s*_{*i*}$ = "B" $(*a* ≤ *i* ≤ *b*)$ and $*s*_{*j*}$ = "W" $(*c* ≤ *j* ≤ *d*)$.

翻译中…

Help the Little Elephant find the number of different beautiful strings he can obtain from string $*s*$. Two strings are considered different if there is such position, where the character in the first string differs from the corresponding character in the second string. If this string doesn't contain characters «X» and it is already beautiful — the answer is 1.

翻译中…

As the answer can be rather large, print it modulo $1000000007$ $(10^{9} + 7)$.

翻译中…

Input

翻译中…

The first line contains two space-separated integers $*n*$ and $*k*$ $(1 ≤ *k* ≤ *n* ≤ 10^{6})$. The second line contains string $*s*$. String $*s*$ has length $*n*$ and only consists of characters "W", "B" and "X".

翻译中…

Output

翻译中…

On a single line print an integer — the answer to the problem modulo $1000000007$ $(10^{9} + 7)$.

翻译中…

样例

Input #1
3 2
XXX
Output #1
0
InputCopy OutputCopy
Input #2
4 2
XXXX
Output #2
1
InputCopy OutputCopy
Input #3
10 2
XXBXXWXXXX
Output #3
166
InputCopy OutputCopy
题目信息
题号
204D
时间限制
2 s
内存限制
256 MB
标签
动态规划

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