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()
ls1=[]
ls2=[]
a={}
t=0
for i in range(len(s)):
    ls1.append(s[i])
for i in range(len(s)):
    a[ls1[i]]=a.get(ls1[i],0)+1
ls1=list(set(ls1))
for i in range(len(ls1)):
    ls2.append(a[ls1[i]])
for i in ls2:
    i=int(i)
    if i!=1:
        t+=i**2
    else:
        t+=1
print(t)