#include <bits/stdc++.h>
using namespace std;
using VS = vector<string>;
using LL = long long;
using VI = vector<int>;
using VVI = vector<VI>;
using PII = pair<int, int>;
using PLL = pair<LL, LL>;
using VL = vector<LL>;
using VVL = vector<VL>;
const int INF = 1e9;
const LL LINF = 1e16;
const LL MOD = 1000000007;
const double PI = acos(-1.0);
int DX[8] = {0, 0, 1, -1, 1, 1, -1, -1};
int DY[8] = {1, -1, 0, 0, 1, -1, 1, -1};
LL N;
LL ans = 0LL;
struct info {
  vector<int> c[26];
  int ok = 0;
};
int main() {
  cin.tie(0);
  ios_base::sync_with_stdio(false);
  string s;
  cin >> s;
  int state = 0;
  VI dp(1 << 26, INF);
  dp[0] = 0;
  for (int(i) = (0); (i) < (int((s).size())); (i)++) {
    state ^= 1 << (s[i] - 'a');
    dp[state] = dp[state];
    for (int(j) = (0); (j) < (26); (j)++) {
      int temp = (state ^ (1 << j));
      dp[state] = min(dp[state], dp[temp] + 1);
    }
  }
  if (ans == 0)
    ans = 1;
  else
    ans = dp[state];
  cout << ans << "\n";
  return 0;
}
