#include <bits/stdc++.h>
using namespace std;
long long dp[505][505];
string second;
long long ans;
long long cal(long long l, long long r) {
  if (l > r) return dp[l][r] = 0;
  if (l == r || dp[l][r] != -1) return dp[l][r];
  dp[l][r] = 1 + cal(l + 1, r);
  for (int i = l + 1; i <= r; i++) {
    if (second[l] == second[i])
      dp[l][r] = min(dp[l][r], cal(l + 1, i - 1) + cal(i, r));
  }
  return dp[l][r];
}
int main() {
  long long n;
  cin >> n;
  cin >> second;
  memset(dp, -1, sizeof(dp));
  for (int i = 0; i < second.length(); i++) dp[i][i] = 1;
  cout << cal(0, n - 1);
}
