#include <bits/stdc++.h>
using namespace std;
const int MN = 1e5 + 5;
int h[MN], dp[(1 << 26)];
string s;
int main() {
  ios::sync_with_stdio(false);
  cin.tie(0);
  cin >> s;
  int n = s.length();
  h[0] = (1 << (s[0] - 'a'));
  for (int i = 1, _b = n; i < _b; ++i) {
    h[i] = h[i - 1] ^ ((1 << (s[i] - 'a')));
  }
  memset(dp, 1, sizeof dp);
  for (int i = 0, _b = n; i < _b; ++i) {
    if (__builtin_popcount(h[i]) <= 1)
      dp[h[i]] = 1;
    else {
      for (int j = 0, _b = 26; j < _b; ++j) {
        dp[h[i]] = min(dp[h[i]], dp[h[i] ^ (1 << (j))] + 1);
      }
    }
  }
  cout << dp[h[n - 1]] << "\n";
  return 0;
}
