A string is called a hyperdrome if its characters can be rearranged into a palindrome.
Given a string $S$, count how many of its substrings are hyperdromes.
A substring of $S$ is the string formed by the $i$-th through $j$-th characters ($1 \le i \le j \le n$). Two substrings with the same content but different $(i, j)$ are counted as different substrings.
A string $x_1 x_2 \dots x_l$ is a palindrome if $x_i = x_{l-i+1}$ holds for every position $i$.
$S$ consists of uppercase and lowercase letters ('a'–'z', 'A'–'Z'), and uppercase and lowercase letters are treated as different characters (for example, 'A' and 'a' are different).
The first line contains the length $n$ of the string $S$. ($1 \le n \le 3 \cdot 10^5$)
The second line contains the string $S$.
Print the number of substrings of $S$ that are hyperdromes.
A substring can be a hyperdrome even if it is not itself a palindrome. For example, 'aAA' is not a palindrome, but it can be rearranged into the palindrome 'AaA', so it is a hyperdrome.