#include <bits/stdc++.h>
using namespace std;
const long long INF = 1e9;
const long long MD = 1e9 + 7;
const long long MAXN = (1 << 17);
const long long BASE = 1e9;
const long double EPS = 1e-9;
const long double pi = acos(-1);
long long n;
string st;
long long dp[1000][1000];
signed main() {
  ios_base::sync_with_stdio(0);
  cin.tie(0);
  cout.tie(0);
  cin >> n >> st;
  st = '#' + st;
  for (long long i = 0; i < 1000; i++) {
    for (long long j = 0; j < 1000; j++) {
      dp[i][j] = 1e9;
      if (i > j) {
        dp[i][j] = 0;
      }
    }
  }
  for (long long dl = 1; dl <= n; dl++) {
    for (long long l = 1; l <= n; l++) {
      long long r = l + dl - 1;
      if (r > n) break;
      if (dl == 1) {
        dp[l][r] = 1;
      }
      if (st[l] == st[r]) {
        dp[l][r] = min(dp[l][r], dp[l + 1][r - 1] + 1);
      }
      for (long long m = l; m <= r; m++) {
        dp[l][r] = min(dp[l][m] + dp[m + 1][r], dp[l][r]);
        dp[l][r] = min(dp[l][m] + dp[m][r] - 1, dp[l][r]);
      }
    }
  }
  cout << dp[1][n] << endl;
}
