#include <bits/stdc++.h>
using namespace std;
char ch[505];
int dp[505][505];
int main() {
  int n;
  cin >> n;
  scanf("%s", ch);
  memset(dp, 0x3f3f3f3f, sizeof(dp));
  for (int i = n - 1; i >= 0; i--) {
    for (int j = i; j < n; j++) {
      if (i == j)
        dp[i][j] = 1;
      else
        dp[i][j] = dp[i + 1][j] + 1;
      for (int skt = i + 1; skt <= j; skt++) {
        if (ch[skt] == ch[i]) {
          if (skt == j) {
            dp[i][j] = min(dp[i][j], dp[i + 1][j]);
          } else
            dp[i][j] = min(dp[i][j], dp[i + 1][skt] + dp[skt + 1][j]);
        }
      }
    }
  }
  cout << dp[0][n - 1] << endl;
  return 0;
}
