#include <bits/stdc++.h>
using namespace std;
int dp[505][505];
int n;
string s, s1;
int call(int l, int r) {
  int &res = dp[l][r];
  if (res != -1) return res;
  if (l > r) return 0;
  if (l == r) return 1;
  res = 1 + call(l + 1, r);
  for (int i = l + 1; i <= r; i++) {
    if (s[l] == s[i]) {
      res = min(res, call(l + 1, i - 1) + call(i, r));
    }
  }
  return res;
}
int main() {
  std::ios::sync_with_stdio(false);
  cin.tie(NULL);
  ;
  cin >> n;
  cin >> s;
  int cnt = n;
  string ss;
  for (int i = 1; i < s.size(); i++) {
    if (s[i] == s[i - 1]) {
      cnt--;
      s.erase(s.begin() + i - 1);
    }
  }
  cnt = s.size();
  memset(dp, -1, sizeof dp);
  int ans = call(0, cnt - 1);
  cout << ans << endl;
}
