#ABC214F. 本质不同单词(Substrings)

本质不同单词(Substrings)

题目描述

给定字符串 SS。高桥君按照以下步骤从该字符串构造新字符串 TT

  • 首先,给 SS 中至少一个字符做标记。但标记的字符不能相邻。
  • 其次,删除所有未标记的字符。
  • 最后,将剩余字符作为 TT。此时不能改变字符的顺序。

问有多少种可能的 TT?结果对 (109+7)(10^9 + 7) 取模。

输入格式

输入通过标准输入按以下形式给出。

SS

输出格式

输出可能的 TT 的种类数对 (109+7)(10^9 + 7) 取模的结果。

输入输出样例 #1

输入 #1

abc

输出 #1

4

输入输出样例 #2

输入 #2

aa

输出 #2

1

输入输出样例 #3

输入 #3

acba

输出 #3

6

输入输出样例 #4

输入 #4

chokudai

输出 #4

54

说明/提示

约束条件

  • SS 仅由小写英文字母组成,长度为 1 以上 2×1052×10^5 以下

样例解释 1

可能的 TTabcac 这 4 种。仅标记 SS 的第 1 个字符时 TTa,仅标记第 2 个字符时 TTb,仅标记第 3 个字符时 TTc,仅标记第 1 个和第 3 个字符时 TTac。请注意,不能同时标记第 1 个和第 2 个字符。

样例解释 2

可能的 TT 只有 a。请注意,即使标记位置不同,TT 也可能相同。

样例解释 3

可能的 TTabcaaabca 这 6 种。