S = input() #alpha_set = set(list(S)) # ruiseki[i][s]をS[:i]のアルファベットsの出現回数とする # 初期化 #ruiseki = [{s:0 for s in alpha_set} for _ in range(len(S)+1)] ruiseki = [0 for _ in range(26)] ans = 0 for i, A in enumerate(S): i += 1 #for MM in alpha_set: for MM in range(26): if ord(A) - ord('A') == MM: # 1文字目2文字目3文字目が全て同じ文字列はMMA文字列でない continue ans += ruiseki[MM]*(ruiseki[MM]-1)//2 ruiseki[ord(A) - ord('A')] += 1 print(ans)