#include <bits/stdc++.h>
using namespace std;
vector<bool> alcnt(26, true);
bool isR() {
  int ch = 0;
  for (int i = 0; i < 26; i++) {
    if (!alcnt[i]) ch++;
    if (ch == 2) return false;
  }
  return true;
}
int main(void) {
  int ch;
  string s;
  stack<int> st;
  cin >> s;
  for (int i = 0; i < s.size(); i++) {
    alcnt.assign(26, true);
    st.push(i);
    ch = 0;
    for (int j = i; j >= 0; j--) {
      alcnt[(int)(s[j] - 'a')] = !alcnt[(int)(s[j] - 'a')];
      if (alcnt[(int)(s[j] - 'a')])
        ch--;
      else
        ch++;
      if (ch < 2) {
        while (st.top() > j) {
          st.pop();
        }
        if (st.top() != j) st.push(j);
      }
    }
  }
  cout << st.size() << endl;
  return 0;
}
