#include <iostream>
#include <map>
using namespace std;

using Para = pair<int,int>;
map<Para, int> rozw;
string ll;

int R(int i, int j) {
    if(i>j) return 0;
    if(i==j) return 1;
    Para ij = {i,j};
    auto iter = rozw.find(ij);
    if(iter!=rozw.end()) return *iter;
    int odp = R(i, j-1)+1;
    for(int k=i; k<j; k++) {
        if(ll[k]==ll[j]) {
            int val = R(i,k-1) + max(R(k+1,j-1),1);
            if(val<odp) {
                odp = val;
            }
        }
    }
    rozw[ij] = odp;
    return odp;
}

int main() {
    int n;
    cin >> n >> ll;
    cout << R(0,n-1);
}
