#include <bits/stdc++.h>
using namespace std;
const int inf = 1e9;
const int N = 1e5 + 10;
int f[N];
int ma[1 << 26];
int main() {
  string s;
  cin >> s;
  int n = s.length();
  memset(ma, -1, sizeof(ma));
  ma[0] = 0;
  f[0] = 0;
  for (int i = 1, mask = 0; i <= n; i++) {
    mask ^= 1 << (s[i - 1] - 'a');
    f[i] = inf;
    if (ma[mask] != -1) f[i] = min(f[i], f[ma[mask]] + 1);
    for (int j = 0; j < 26; j++) {
      int cmask = mask ^ (1 << j);
      if (ma[cmask] != -1) f[i] = min(f[i], f[ma[cmask]] + 1);
    }
    if (ma[mask] == -1) ma[mask] = i;
  }
  cout << f[n];
}
