#include <bits/stdc++.h>
using namespace std;
int n, m;
char a[505];
int f[505][505];
void rd() {
  scanf("%d", &n);
  scanf("%s", a + 1);
}
int main() {
  rd();
  for (int i = 1; i <= n; i++)
    for (int j = i + 1; j <= n; j++) f[i][j] = 0x3f3f3f3f;
  for (int i = 1; i <= n; i++) f[i][i] = 1;
  for (int i = n; i >= 1; i--) {
    for (int j = i + 1; j <= n; j++) {
      if (a[i] == a[j]) {
        f[i][j] = min(f[i][j], f[i][j - 1]);
      }
      for (int k = j; k <= n; k++)
        f[i][k] = min(f[i][k], f[i][j - 1] + f[j][k]);
    }
  }
  cout << f[1][n];
  return 0;
}
