#include <bits/stdc++.h>
using namespace std;
#define REP(i, n) for (int i = 0; i < int(n); ++i)
#define REPE(i, a, b) for (int i = (a); i <= int(b); ++i)
#define SZ(x) ((int)(x).size())
#define ALL(x) x.begin(), x.end()
#define PB push_back
#define EB emplace_back
using LL = long long;
using PII = pair<int, int>;
#define F first
#define S second

int ans = 0;
int dp[1 << 26];
char s[200010];
int main() {
  memset(dp, 0x7f, sizeof dp);
  dp[0] = 0;
  scanf("%s", s);
  int m = 0;
  for (int i = 0; s[i]; ++i) {
    m ^= 1 << (s[i] - 'a');
    ans = dp[m] + 1;
    REP(j, 26) {
      ans = min(ans, dp[m ^ (1 << j)] + 1);
    }
    dp[m] = min(dp[m], ans);
  }
  printf("%d\n", ans);
  return 0;
}

