#include using namespace std; using ll = unsigned long long; int main(){ string S;cin >> S; map>mp; int N = S.size(); for(int i = 0;i < N;i++){ mp[S[i]].push_back(i); } int ans = 0; for(auto &p:mp){ //最初の二文字をpから取り出す auto &pos = p.second; char c = p.first; int s = pos.size(); if(s<2)continue; //cout << s << endl; int cnt2 = 0; for(int i = 1;i < (int)pos.size();i++){ //前半の文字の選び方はi通り //後半がpos[i]にあるとき int cnt = 0; for(int j = pos[i]+1;j < N;j++){ if(S[j]!=c)cnt++; } cnt2+=cnt*i; } ans+=cnt2; } cout << ans << endl; }