#include <bits/stdc++.h>
using namespace std;
long long dp[140000000];
long long Hash[200050];
string S;
long long beki[30];
int moji(char in) { return (int)in - (int)'a' + 1; }
int main() {
  cin >> S;
  S = "#" + S;
  beki[0] = 1;
  for (int i = 1; i < 30; i++) {
    beki[i] = beki[i - 1] * 2;
  }
  Hash[0] = 0;
  for (int i = 1; i < S.size(); i++) {
    Hash[i] = Hash[i - 1] ^ beki[moji(S[i])];
  }
  for (int i = 0; i < 140000000; i++) {
    dp[i] = (1e9);
  }
  for (int i = 1; i < S.size(); i++) {
  }
  dp[0] = 0;
  for (int i = 1; i < S.size(); i++) {
    long long opt = dp[Hash[i]] + 1;
    for (int j = 0; j <= 26; j++) {
      opt = min(opt, dp[(Hash[i] ^ beki[j])] + 1);
    }
    dp[Hash[i]] = min(dp[Hash[i]], opt);
    if (i + 1 == S.size()) {
      cout << opt << endl;
      return 0;
    }
  }
  return 0;
}
