#AT1874. F - Substrings
F - Substrings
F - Substrings
Score : $500$ points
Problem Statement
Given is a string $S$. From this string, Takahashi will make a new string $T$ as follows.
- First, mark one or more characters in $S$. Here, no two marked characters should be adjacent.
- Next, delete all unmarked characters.
- Finally, let $T$ be the remaining string. Here, it is forbidden to change the order of the characters.
How many strings are there that can be obtained as $T$? Find the count modulo $(10^9 + 7)$.
Constraints
- $S$ is a string of length between $1$ and $2 \times 10^5$ (inclusive) consisting of lowercase English letters.
Input
Input is given from Standard Input in the following format:
Output
Print the number of different strings that can be obtained as $T$, modulo $(10^9 + 7)$.
abc
4
There are four strings that can be obtained as $T$: a, b, c, and ac.
Marking the first character of $S$ yields a;
marking the second character of $S$ yields b;
marking the third character of $S$ yields c;
marking the first and third characters of $S$ yields ac.
Note that it is forbidden to, for example, mark both the first and second characters.
aa
1
There is just one string that can be obtained as $T$, which is a.
Note that marking different positions may result in the same string.
acba
6
There are six strings that can be obtained as $T$: a, b, c, aa, ab, and ca.
chokudai
54