#include <bits/stdc++.h>
using namespace std;
int in() {
  int x;
  scanf("%d", &x);
  return x;
}
long long lin() {
  long long x;
  scanf("%lld", &x);
  return x;
}
long long MOD = 1e9 + 7;
int change(vector<int> v) {
  int ret = 0, bi = 1;
  for (long long i = 0; i < 26; i++) {
    ret += v[i] * bi;
    bi *= 2;
  }
  return ret;
}
int main() {
  string ss;
  cin >> ss;
  int n = ss.size();
  vector<int> dp(1 << 26 + 2, 1e9 + 7);
  vector<int> s;
  for (long long i = 0; i < n; i++) {
    s.push_back((int)(ss[i] - 'a'));
  }
  int counter = 0;
  for (long long i = 0; i <= n - 1; ++i) {
    counter ^= 1 << s[i];
  }
  int flag = 1;
  for (long long i = 0; i < 26; i++)
    if (counter && (1 << i)) flag--;
  if (flag >= 0) {
    cout << 1 << "\n";
    return 0;
  }
  counter = 0;
  dp[0] = 0;
  for (long long i = 0; i < n + 1; i++) {
    for (long long j = 0; j < 26; j++) {
      int tmp = counter ^ (1 << j);
      dp[counter] = min(dp[counter], dp[tmp] + 1);
    }
    if (i < n)
      counter ^= 1 << s[i];
    else
      cout << dp[counter] << "\n";
  }
  return 0;
}
