#D5031. Reverse and Compare
Reverse and Compare
Reverse and Compare
You have a string A = A_1 A_2 ... A_n consisting of lowercase English letters.
You can choose any two indices i and j such that 1 \leq i \leq j \leq n and reverse substring A_i A_{i+1} ... A_j.
You can perform this operation at most once.
How many different strings can you obtain?
Constraints
- 1 \leq |A| \leq 200,000
- A consists of lowercase English letters.
Input
Input is given from Standard Input in the following format:
A
Output
Print the number of different strings you can obtain by reversing any substring in A at most once.
Examples
Input
aatt
Output
5
Input
xxxxxxxxxx
Output
1
Input
abracadabra
Output
44
inputFormat
Input
Input is given from Standard Input in the following format:
A
outputFormat
Output
Print the number of different strings you can obtain by reversing any substring in A at most once.
Examples
Input
aatt
Output
5
Input
xxxxxxxxxx
Output
1
Input
abracadabra
Output
44
样例
xxxxxxxxxx
1