#include <bits/stdc++.h>
using namespace std;
map<int, int> m;
int main() {
  char c[100005];
  scanf("%s", c + 1);
  int dp[200005];
  dp[0] = 0;
  m[0] = 0;
  int now = 0;
  for (int i = 1; c[i] != 0; i++) {
    now = now ^ (1 << (c[i] - 'a'));
    int Min = 1e9;
    if (m.find(now) != m.end()) Min = m[now];
    for (int j = 0; j < 26; j++) {
      int k = now ^ (1 << j);
      if (m.find(k) != m.end()) Min = min(m[k], Min);
    }
    dp[i] = Min + 1;
    if (m.find(now) == m.end())
      m[now] = Min + 1;
    else
      m[now] = min(m[now], Min);
  }
  printf("%d\n", dp[strlen(c + 1)]);
}
