#include <bits/stdc++.h>
using namespace std;
const int MAX_N = 200005;
char S[MAX_N];
int N, val[MAX_N], f[MAX_N];
int pos[1 << 26];
int main() {
  scanf("%s", S + 1), N = strlen(S + 1);
  for (int i = 1; i <= N; ++i) val[i] = val[i - 1] ^ (1 << (S[i] - 'a'));
  memset(f, 0x3f, sizeof f);
  pos[val[N]] = N, f[N] = 0;
  for (int i = N - 1; i >= 0; --i) {
    if (pos[val[i]]) f[i] = f[pos[val[i]]] + 1;
    for (int j = 0; j < 26; ++j) {
      int temp = val[i] ^ (1 << j);
      if (pos[temp]) f[i] = min(f[i], f[pos[temp]] + 1);
    }
    if (!pos[val[i]]) pos[val[i]] = i;
  }
  printf("%d\n", f[0]);
  return 0;
}
