#AT1874. F - Substrings

F - Substrings

F - 子字符串

得分:$500$ 分

问题描述

给定一个字符串 $S$。高哈什会按照以下方式将其转换成一个新的字符串 $T$。

  • 首先,在 $S$ 中标记一个或多个字符。在这里,两个被标记的字符不得相邻。
  • 接下来,删除所有未被标记的字符。
  • 最后,让 $T$ 成为剩余的字符串。在这里,禁止改变字符的顺序。

有多少种字符串可以作为 $T$ 得到?求模 $(10^9 + 7)$ 后的结果。

约束

  • $S$ 是一个长度在 $1$ 到 $2 \times 10^5$(包括端点)之间的字符串,由小写英文字母组成。

输入

输入以以下格式从标准输入中给出:

SS

输出

打印可以作为 $T$ 得到的不同字符串的数量,模 $(10^9 + 7)$。


abc
4

有四个字符串可以作为 $T$ 得到:abcac

将 $S$ 的第一个字符标记为 a

将 $S$ 的第二个字符标记为 b

将 $S$ 的第三个字符标记为 c

将 $S$ 的第一个和第三个字符标记为 ac

请注意,禁止标记第一个和第二个字符的两个位置。


aa
1

只有一个字符串可以作为 $T$ 得到,那就是 a。 注意,标记不同的位置可能会得到相同的字符串。


acba
6

有六个字符串可以作为 $T$ 得到:abcaaabca


chokudai
54