#include <bits/stdc++.h>
using namespace std;
using ll = long long;
vector<vector<int>> a;
vector<int> dp;
int calc(int i) {
  if (dp[i] != 1e9) return dp[i];
  int res = 1e9;
  for (int j : a[i]) {
    if (j == 0) return dp[i] = 1;
    res = min(res, calc(j) + 1);
  }
  return dp[i] = res;
}
int main() {
  ios::sync_with_stdio(false);
  cin.tie(0);
  string s;
  cin >> s;
  int n = s.size();
  vector<int> x(n + 1);
  multimap<int, int> mp;
  mp.insert({0, 0});
  for (int i = (0); i < (n); i++) {
    x[i + 1] = x[i] ^ (1 << (s[i] - 'a'));
    mp.insert({x[i + 1], i + 1});
  }
  a.resize(n + 1);
  dp.resize(n + 1, 1e9);
  for (int i = (0); i < (n); i++) {
    auto r = mp.equal_range(x[i + 1]);
    for (auto it = r.first; it != r.second; it++) {
      if (it->second < i + 1) a[i + 1].emplace_back(it->second);
    }
    for (int j = (0); j < (26); j++) {
      r = mp.equal_range(x[i + 1] ^ (1 << j));
      for (auto it = r.first; it != r.second; it++) {
        if (it->second < i + 1) a[i + 1].emplace_back(it->second);
      }
    }
    sort(a[i + 1].begin(), a[i + 1].end());
  }
  cout << calc(n) << endl;
  0;
  return 0;
}
