There is a given string *S* consisting of *N* symbols. Your task is to find the number of ordered pairs of integers *i* and *j* such that

1. 1 ≤ *i*, *j* ≤ *N*

2. *S*[*i*] = *S*[*j*], that is the *i*-th symbol of string *S* is equal to the *j*-th.
The single input line contains *S*, consisting of lowercase Latin letters and digits. It is guaranteed that string *S* in not empty and its length does not exceed 10<sup class="upper-index">5</sup>.
s = input()

alphabet_and_digit = []
for i in range(0, 11):
    alphabet_and_digit.append(str(i))
for i in range(11, 37):
    alphabet_and_digit.append(chr(ord('a')+i-11))

distinct_element = []
for i in range(37):
    distinct_element.append(0)
for i in range(len(s)):
    distinct_element[alphabet_and_digit.index(s[i])] += 1
cnt = 0
for i in range(37):
    cnt += distinct_element[i]**2

print(cnt)
