#include <iostream>
#include <ranges>
#include <vector>
#define sv std::ranges::views::

using namespace std;
using tp = long long int;

signed main() {
  string s;
  cin >> s;
  vector f(s.size(), vector<tp>(s.size(), -1ull >> 2));
  for (tp i = 0; i < s.size(); ++i) {
    f[i][i] = 1;
  }
  for (tp len = 1; len < s.size(); ++len) {
    for (tp l = 0; l + len < s.size(); ++l) {
      tp r = l + len;
      if (s[l] == s[r]) {
        f[l][r] = min(f[l + 1][r], f[l][r - 1]);
      } else {
        for (tp k = l; k < r; ++k) {  // [l, k] & (k, r]
          f[l][r] = min(f[l][r], f[l][k] + f[k + 1][r]);
        }
      }
    }
  }
  cout << f.front().back();
  return EXIT_SUCCESS;
}

struct __Initer_t__ {
  __Initer_t__() {
    ios_base::sync_with_stdio(0);
    cin.tie(nullptr);
    cout.tie(nullptr);
  }
} __Initer__;

/*
 */

/*#################################################################
#.................................................................#
#............................This.Code.Was.Created.By.RBTree......#
#.............#......#...............Limiting-Factor..............#
#............#.#....#.#.................Soul-Code.................#
#.............########............................................#
#............#........#..##############################...........#
#...........#..V....V......#..#........................#..#...#...#
#............#........#....#..........###..###..........#..#.#.#..#
#............#..X##X..#..#............#....#.#...........#..#...#.#
#...........#...N##N...#..#...........###..###..........#.........#
#.......MOE..#..@.....#....#.#.#.#...................#.#..........#
#.............########.....#.#.#.##############.#.#..#.#..........#
#..........................#.#.#.#.............#.#.#.#.#..........#
#......#########...........#.#.#.#.................#.#.#..........#
#.....#.........#..........#.#.#.#.................#.#.#..........#
#.#.#.#G#R#A#S#S#.#.#......#.#.#.#.................#.#.#..........#
#.###################......#.#.#.#.................#.#.#..........#
#...........................#.#.#...................#.#...........#
#.................................................................#
#################################################################*/