#include <bits/stdc++.h>
using namespace std;
unsigned long long over = 1000000007;
int solve(string s) {
  int az[26];
  fill(az, az + 26, 0);
  for (size_t i = 0; i < s.size(); ++i) az[s[i] - 'a']++;
  bool isone[26];
  for (size_t i = 0; i < 26; ++i) {
    isone[i] = (az[i] == 1 ? true : false);
  }
  int ans = 0;
  int prev = 0;
  int flg = true;
  for (size_t i = 1; i < s.size(); ++i) {
    if (isone[s[i - 1] - 'a'] && isone[s[i] - 'a']) {
      flg = false;
      ans += solve(s.substr(prev, i - prev));
      prev = i;
    }
  }
  if (flg) {
    int ans = 0;
    for (size_t i = 0; i < 26; ++i) {
      if (az[i] % 2 == 1) ans++;
    }
    if (ans == 0) ans = 1;
    return ans;
  }
  ans += solve(s.substr(prev));
  return ans;
}
int main(void) {
  cin.tie(0);
  ios::sync_with_stdio(false);
  cout << fixed;
  string s;
  cin >> s;
  cout << solve(s) << endl;
  return 0;
}
