#P2214. [蓝桥杯2020] F.子串分值和

[蓝桥杯2020] F.子串分值和

Description

对于一个字符串S ,我们定义S 的分值f (S ) 为S 中出现的不同的字符个数。

例如f (”aba”) = 2, f (”abc”) = 3, f (”aaa”) = 1。

现在给定一个字符串S [0 : n - 1](长度为n),请你计算对于所有S 的非空子串S [i : j](0 ≤ i ≤ j < n), f (S [i:: j]) 的和是多少。

Format

Input

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

对于所有评测用例,1 ≤ n ≤ 100000。

Output

输出一个整数表示答案。

Samples

ababc
28

Limitation

1s, 1024KiB for each test case.