#include <bits/stdc++.h>
using namespace std;
const int MOD = 1000000007;
char S[222222];
int DP[222222];
int first[1 << 26];
int main() {
  scanf("%s", S);
  int N = strlen(S);
  for (int i = 0; i < ((1 << 26)); ++i) first[i] = -1;
  DP[0] = 0;
  first[0] = 0;
  int m = 0;
  for (int i = 0; i < (N); ++i) {
    DP[i + 1] = DP[i] + 1;
    m ^= (1 << (S[i] - 'a'));
    if (first[m] > -1)
      DP[i + 1] = min(DP[i + 1], DP[first[m]] + 1);
    else
      first[m] = i + 1;
    for (int b = 0; b < (26); ++b)
      if (first[m ^ (1 << b)] > -1)
        DP[i + 1] = min(DP[i + 1], DP[first[m ^ (1 << b)]] + 1);
  }
  printf("%d\n", DP[N]);
}
