#include <bits/stdc++.h>
using namespace std;
long long dx[4] = {1, 0, -1, 0};
long long dy[4] = {0, -1, 0, 1};
template <class T>
void inputVector(vector<T>& v, long long n) {
  v.resize(n);
  for (long long i = 0; i < v.size(); i++) cin >> v[i];
}
string S;
long long memo[200010];
long long dfs(long long pt) {
  if (memo[pt] != 0) return memo[pt];
  if (pt == S.size()) return 0;
  long long ret = INT_MAX;
  long long odd = 0;
  long long cnt[30];
  memset(cnt, 0, sizeof cnt);
  for (long long i = (pt); i <= (S.size() - 1); i++) {
    cnt[S[i] - 'a']++;
    if (cnt[S[i] - 'a'] % 2)
      odd++;
    else
      odd--;
    if (odd <= 1) {
      ret = min(ret, dfs(i + 1) + 1);
    }
  }
  memo[pt] = ret;
  return ret;
}
signed main() {
  cin >> S;
  cout << dfs(0) << endl;
  return 0;
}
