#include <bits/stdc++.h>
using namespace std;
const long long mod = 1000000007;
const long long INF = (long long)1000000007 * 1000000007;
const long double eps = 1e-8;
const long double pi = acos(-1.0);
int n;
string s;
int dp[200010], st[200010];
unordered_map<int, int> ma;
void solve() {
  cin >> s;
  n = s.length();
  for (int i = 0; i < n; i++) {
    int k = (1 << (s[i] - 'a'));
    st[i + 1] = st[i] ^ k;
  }
  if (st[n] == 0) {
    cout << 1 << endl;
    return;
  }
  ma[0] = 0;
  for (int i = 0; i < n; i++) {
    int res = mod;
    for (int k = 0; k < 26; k++) {
      int m = (1 << k);
      if (ma.find(st[i + 1] ^ m) != ma.end()) {
        res = min(res, ma[st[i + 1] ^ m]);
      }
    }
    dp[i + 1] = res + 1;
    if (ma.find(st[i + 1]) == ma.end()) {
      ma[st[i + 1]] = res + 1;
    }
  }
  cout << dp[n] << endl;
}
int main() {
  ios::sync_with_stdio(false);
  cin.tie(0);
  cout << fixed << setprecision(50);
  solve();
}
