#include <bits/stdc++.h>
using namespace std;
bool isP(int val) {
  bool isFound = false;
  for (int i = 0; i < 32; i++) {
    if (val & (1 << i)) {
      if (isFound) {
        return false;
      } else {
        isFound = true;
      }
    }
  }
  return true;
}
int main() {
  string s;
  cin >> s;
  vector<int> state(s.size());
  int bit = 0;
  for (int i = 0; i < s.size(); i++) {
    bit = bit ^ (1 << (s[i] - 'a'));
    state[i] = bit;
  }
  int l = 0;
  int r = s.size() - 1;
  int res = 1;
  while (l < r) {
    if (isP(state[r])) {
      break;
    }
    int ml = l;
    for (int i = l + 1; i < r; i++) {
      if (isP(state[i] ^ state[l])) {
        ml = i;
      }
    }
    int mr = r;
    for (int i = r - 1; i >= l; i--) {
      if (isP(state[r] ^ state[i])) {
        mr = i;
      }
    }
    int nl = ml - l;
    int nr = r - mr;
    if (nl > nr) {
      l = ml;
    } else {
      r = mr;
    }
    res++;
  }
  cout << res << endl;
  return 0;
}
