#include <bits/stdc++.h>
using namespace std;
const int maxn = 2e5 + 10;
int msk[maxn], dp[maxn], n;
int mp[1 << 27];
string s;
int32_t main() {
  ios::sync_with_stdio(0);
  cin.tie(0);
  cout.tie(0);
  cin >> s;
  n = s.length();
  msk[0] = 0;
  for (int i = 1; i <= n; i++) {
    msk[i] = msk[i - 1] ^ 1 << (s[i - 1] - 'a');
  }
  for (int i = 0; i < 1 << 27; i++) {
    mp[i] = 1e8;
  }
  mp[0] = 0;
  for (int i = 1; i <= n; i++) {
    dp[i] = i;
    dp[i] = min(dp[i], mp[msk[i]] + 1);
    for (int j = 0; j < 26; j++) {
      int cur = msk[i] ^ 1 << j;
      dp[i] = min(dp[i], mp[cur] + 1);
    }
    if (mp[msk[i]] > dp[i]) {
      mp[msk[i]] = dp[i];
    }
  }
  cout << dp[n];
}
