#include <bits/stdc++.h>
using namespace std;
int main() {
  string s;
  cin >> s;
  map<int, int> mp;
  vector<int> states;
  states.push_back(0);
  int bit = 0;
  for (int i = 0; i < s.size(); i++) {
    int val = s[i] - 'a';
    bit ^= (1 << val);
    mp[bit] = i + 1;
    states.push_back(bit);
  }
  vector<int> dp(s.size() + 10, s.size() + 10);
  dp[0] = 0;
  dp[mp[0]] = 0;
  int ans = 0;
  for (int z = 0; z < s.size(); z++) {
    int cur = states[z];
    int best = 0;
    for (int i = 0; i < 26; i++) {
      int nxt = cur ^ (1 << i);
      best = mp[nxt];
      dp[best] = min(dp[best], dp[z] + 1);
    }
  }
  ans = dp[s.size()];
  if (states[s.size()] == 0) ans = 1;
  cout << ans << endl;
  return 0;
}
