#include <bits/stdc++.h>
using namespace std;
template <typename T>
inline void output(T a, int p = 0) {
  if (p)
    cout << fixed << setprecision(p) << a << "\n";
  else
    cout << a << "\n";
}
template <typename T>
inline void voutput(T &v) {
  for (int i = (int)(0); i < (int)(v.size()); ++i) {
    if (i)
      cout << " " << v[i];
    else
      cout << v[i];
  }
  cout << endl;
}
int main() {
  cin.tie(0);
  ios::sync_with_stdio(0);
  string s;
  cin >> s;
  vector<int> dp(1 << 26, 2000000007);
  vector<int> C(s.size() + 1);
  C[0] = 0;
  for (int i = (int)(0); i < (int)(s.size()); ++i) {
    C[i + 1] = C[i] ^ (1 << (s[i] - 'a'));
  }
  dp[0] = 0;
  for (int i = (int)(1); i < (int)(s.size() + 1); ++i) {
    int tmp = dp[C[i]] + 1;
    for (int j = (int)(0); j < (int)(26); ++j) {
      int c = C[i] ^ (1 << j);
      tmp = min(tmp, dp[c] + 1);
    }
    dp[C[i]] = tmp;
  }
  output(dp[C[s.size()]]);
  return 0;
}
