1729: 子串分值和

内存限制:128 MB 时间限制:1.000 S
评测方式:文本比较 命题人:
提交:13 解决:9

题目描述

对于一个字符串 S,我们定义 S 的分值 f(S ) 为 S 中出现的不同的字符个数。例如 f(”aba”) = 2,f(”abc”) = 3, f(”aaa”) = 1。现在给定一个字符串 S [0..n n 1](长度为 n),请你计算对于所有 S 的非空子串 S [i.. j](0 ≤ i ≤ j < n),f(S [i.. j]) 的和是多少。

输入

输入一行包含一个由小写字母组成的字符串 S。

输出

输出一个整数表示答案。

样例输入 复制

ababc

样例输出 复制

28

提示

子串    f 值
a          1
ab        2
aba      2
abab    2

ababc   3

b         1
ba        2
bab      2
babc     3
a          1
ab        2
abc      3
b          1
bc        2
c          1