#include <bits/stdc++.h>
int comp(const void* a, const void* b) { return *(int*)a - *(int*)b; }
char str[200001];
int cnt[26][200001];
int dp[200001];
int check(int s, int t) {
  int k, n = 0, i;
  k = (t - s + 1) % 2;
  for (i = (0); i < (26); i++) {
    if ((cnt[i][t] - cnt[i][s - 1]) % 2) n++;
  }
  return k == n;
}
int main(void) {
  int len, i, j;
  scanf("%s", str);
  len = strlen(str);
  for (i = (0); i < (len); i++) cnt[str[i] - 'a'][i + 1]++;
  for (i = (0); i < (26); i++) {
    for (j = (2); j < (len + 1); j++) {
      cnt[i][j] += cnt[i][j - 1];
    }
  }
  for (i = (1); i < (len + 1); i++) dp[i] = i;
  for (i = (2); i < (len + 1); i++) {
    for (j = (1); j < (i); j++) {
      if (check(j, i))
        dp[i] = (((dp[i]) < (dp[j - 1] + 1)) ? (dp[i]) : (dp[j - 1] + 1));
    }
  }
  printf("%d\n", dp[len]);
  return 0;
}
