#include <bits/stdc++.h>
using namespace std;
inline void debugMode() {}
inline void PrintYes() { cout << "YES\n"; }
inline void PrintNo() { cout << "NO\n"; }
const int NMax = 2e5 + 5;
int code[NMax];
int ans[NMax];
int sz[NMax];
map<int, int> Map;
int main() {
  string s;
  cin >> s;
  int n = (int)s.size();
  int cod = 0;
  for (int i = 1; i <= n; ++i) {
    cod ^= (1 << (s[i - 1] - 'a'));
    code[i] = cod;
  }
  ans[0] = 1;
  for (int i = 1; i <= n; ++i) {
    if (code[i] == 0) {
      sz[i] = i;
      ans[i] = 1;
      continue;
    }
    if (Map[code[i]] == 0) {
      if (sz[i - 1] % 2 == 0) {
        ans[i] = ans[i - 1];
        sz[i] = sz[i - 1] + 1;
      } else {
        ans[i] = ans[i - 1] + 1;
        sz[i] = 1;
      }
      Map[code[i]] = i;
    } else {
      if (sz[i - 1] % 2 == 0) {
        ans[i] = ans[i - 1];
        sz[i] = sz[i - 1] + 1;
      } else {
        ans[i] = ans[i - 1] + 1;
        sz[i] = 1;
      }
      if (ans[i] > ans[Map[code[i]]]) {
        ans[i] = ans[Map[code[i]]];
        sz[i] = i - Map[code[i]];
      }
    }
  }
  cout << max(1, ans[n]);
  return 0;
}
