#include <bits/stdc++.h>
using namespace std;
int n;
string s;
int dp[510][510];
bool has[510][510][30];
int dfs(int l, int r) {
  if (l >= r) return 0;
  int &ans = dp[l][r];
  if (ans != 0) return ans;
  if (!has[l + 1][r][s[l] - 'a']) return ans = dfs(l + 1, r);
  ans = dfs(l + 1, r);
  for (int i = l + 1; i <= r; i++)
    if (s[i] == s[l]) ans = max(ans, dfs(l + 1, i) + 1 + dfs(i + 1, r));
  return ans;
}
int main() {
  cin >> n >> s;
  for (int i = 0; i < (int)s.size(); i++)
    for (int j = 0; j < (int)s.size(); j++)
      for (int k = i; k <= j; k++) has[i][j][s[k] - 'a'] = 1;
  cout << (int)s.size() - dfs(0, s.size() - 1) << endl;
  return 0;
}
