#include <bits/stdc++.h>
using namespace std;
string S;
long long alph[30];
long long GetOdd() {
  long long ret = 0;
  for (int i = 0; i < 30; ++i) {
    if (alph[i] % 2 != 0) {
      ret++;
    }
  }
  return ret;
}
int main() {
  memset(alph, 0, sizeof(alph));
  cin >> S;
  int odd = 0;
  int l = 0;
  int f_ans = 0;
  for (int i = 0; i < S.length(); ++i) {
    for (int j = i; j < S.length(); ++j) {
      alph[S[j] - 'a']++;
      odd = GetOdd();
      if (odd <= 1) {
        l = j;
      }
    }
    i = l;
    f_ans++;
    memset(alph, 0, sizeof(alph));
  }
  int b_ans = 0;
  for (int i = S.length() - 1; i >= 0; --i) {
    for (int j = i; j >= 0; --j) {
      alph[S[j] - 'a']++;
      odd = GetOdd();
      if (odd <= 1) {
        l = j;
      }
    }
    i = l;
    b_ans++;
    memset(alph, 0, sizeof(alph));
  }
  printf("%d\n", min(f_ans, b_ans));
  return 0;
}
