#include <bits/stdc++.h>
using namespace std;
template <typename T>
inline bool chkmin(T &a, const T &b) {
  return b < a ? a = b, 1 : 0;
}
template <typename T>
inline bool chkmax(T &a, const T &b) {
  return a < b ? a = b, 1 : 0;
}
const int oo = 0x3f3f3f3f;
const int maxn = 200100;
int n;
char s[maxn + 5];
map<int, int> Min;
int main() {
  scanf("%s", s);
  n = strlen(s);
  int tmp = 0;
  Min[0] = 0;
  for (int i = (0), i_end_ = (n); i < i_end_; ++i) {
    tmp ^= 1 << (s[i] - 'a');
    int ans = oo;
    for (int j = (0), j_end_ = (26); j < j_end_; ++j)
      if (Min.count(tmp ^ (1 << j))) chkmin(ans, Min[tmp ^ (1 << j)]);
    if (!Min.count(tmp))
      Min[tmp] = ans + 1;
    else
      chkmin(Min[tmp], ans + 1);
    if (i == n - 1) printf("%d\n", ans + 1);
  }
  return 0;
}
