#abc214f. [abc214_f]Substrings

[abc214_f]Substrings

题目描述

给定一个字符串 SS。从这个字符串中,Takahashi 将按以下方式生成一个新的字符串 TT

  • 首先,在 SS 中标记一个或多个字符。在这里,不能有相邻的标记字符。
  • 然后,删除所有未标记的字符。
  • 最后,令 TT 为剩余的字符串。在这里,禁止改变字符的顺序。

有多少个字符串可以作为 TT 获得?找到计数模 (109+7)(10^9 + 7)

约束条件

  • SS 是一个由小写英文字母组成的长度在 112×1052 \times 10^5 之间(包括两端)的字符串。

输入

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

SS

输出

打印可以作为 TT 获得的不同字符串的数量,模 (109+7)(10^9 + 7)


示例输入 1

abc

示例输出 1

4

有四个字符串可以作为 TT 获得:abcac

标记 SS 的第一个字符会得到 a

标记 SS 的第二个字符会得到 b

标记 SS 的第三个字符会得到 c

标记 SS 的第一个和第三个字符会得到 ac

注意,例如同时标记第一个和第二个字符是被禁止的。


示例输入 2

aa

示例输出 2

1

只有一个字符串可以作为 TT 获得,即 a。注意,标记不同的位置可能会得到相同的字符串。


示例输入 3

acba

示例输出 3

6

有六个字符串可以作为 TT 获得:abcaaabca


示例输入 4

chokudai

示例输出 4

54