#include <bits/stdc++.h>
using namespace std;
int main(void) {
  string s;
  cin >> s;
  int m[256];
  for (int i = (0); i < (26); ++i) m['a' + i] = (1 << i);
  int tmp = 0;
  map<int, int> d;
  for (auto i = s.begin(); i != s.end(); ++i) {
    tmp = (tmp ^ m[*i]);
    d[tmp] = -33554432;
  }
  priority_queue<pair<int, int> > q;
  q.push(make_pair(0, 0));
  d[0] = 0;
  while (!q.empty()) {
    int nc, v;
    tie(nc, v) = q.top();
    if (v == tmp) {
      cout << max(1, -d[tmp]) << endl;
      return 0;
    }
    q.pop();
    for (int i = (0); i < (26); ++i) {
      if (d[v ^ (1 << i)] < nc - 1) {
        q.push(make_pair(nc - 1, v ^ (1 << i)));
        d[v ^ (1 << i)] = nc - 1;
      }
    }
  }
  cout << max(1, -d[tmp]) << endl;
  return 0;
}
