#include <bits/stdc++.h>
using namespace std;
const long long int INF = 1e15;
const long long int MOD = 1e9 + 7;
signed main() {
  ios::sync_with_stdio(false);
  cin.tie(0);
  string s;
  cin >> s;
  long long int n = ((long long int)(s).size());
  vector<long long int> a(n + 1);
  for (long long int i = 0; i < (n); ++i) {
    a[i + 1] = a[i] ^ (1 << (s[i] - 'a'));
  }
  map<long long int, long long int> dp;
  dp[0] = 0;
  for (long long int i = 1; i <= n; i++) {
    if (__builtin_popcount(a[i]) <= 1) {
      dp[a[i]] = 1;
    }
    for (long long int j = 0; j < (26); ++j) {
      long long int x = (1 << j) ^ a[i];
      if (dp.find(x) == dp.end()) {
        dp[x] = INF;
      }
      if (dp.find(a[i]) == dp.end()) {
        dp[a[i]] = INF;
      }
      dp[a[i]] = min(dp[a[i]], dp[x] + 1);
    }
  }
  cout << dp[a[n]] << endl;
  return 0;
}
