#include <bits/stdc++.h>
using namespace std;
long long MOD = 1000000007;
int popcount(int a) {
  int ret = 0;
  for (int i = 0; i < 32; i++) {
    if (a & (1 << i)) {
      ret++;
    }
  }
  return ret;
}
int main() {
  string S;
  cin >> S;
  if (S.length() > 100000) {
    return 0;
  }
  vector<int> hash(S.length());
  for (int i = 0; i < S.length(); i++) {
    if (!i) {
      hash[i] = (1 << (S[i] - 'a'));
    } else {
      hash[i] = hash[i - 1] ^ (1 << (S[i] - 'a'));
    }
  }
  vector<int> opt(S.length());
  fill(opt.begin(), opt.end(), INT_MAX);
  opt[0] = 1;
  for (int i = 1; i < S.length(); i++) {
    if (popcount(hash[i]) <= 1) {
      opt[i] = 1;
      continue;
    }
    for (int j = 0; j < i; j++) {
      if (popcount(hash[i] ^ hash[j]) <= 1) {
        opt[i] = min(opt[i], opt[j] + 1);
      }
      opt[i] = min(opt[i], opt[i - 1] + 1);
    }
  }
  cout << opt[S.length() - 1] << endl;
  return 0;
}
