#include <bits/stdc++.h>
using namespace std;
int n;
string a;
vector<vector<vector<int>>> mem(500, vector<vector<int>>(500, vector<int>(2)));
int dp(int l, int r, int ty) {
  if (r < l) return 0;
  if (mem[l][r][ty]) return mem[l][r][ty] - 1;
  int ans = dp(l + 1, r, 1) + ty;
  for (int i = l + 1; i <= r; i++) {
    if (a[l] == a[i]) {
      ans = min(ans, dp(l + 1, i - 1, 1) + dp(i, r, 0) + ty);
    }
  }
  mem[l][r][ty] = ans + 1;
  return ans;
}
int main() {
  cin >> n >> a;
  cout << dp(0, n - 1, 1);
  return 0;
}
