#include <bits/stdc++.h>
using namespace std;
int n;
char s[510];
int f[510][510];
int main() {
  scanf("%d", &n);
  gets(s);
  gets(s);
  for (int i = 1; i <= n; i++) f[i][i] = 1;
  for (int t = 2; t <= n; t++)
    for (int i = 1; i <= n - t + 1; i++) {
      if (s[i - 1] == s[i + t - 2])
        f[i][i + t - 1] = f[i + 1][i + t - 2] + 1;
      else
        f[i][i + t - 1] = min(f[i + 1][i + t - 1], f[i][i + t - 2]) + 1;
      for (int j = i; j < i + t; j++)
        f[i][i + t - 1] = min(f[i][i + t - 1], f[i][j] + f[j][i + t - 1] - 1);
    }
  printf("%d\n", f[1][n]);
  return 0;
}
