#include<bits/stdc++.h>
#define ll long long
#define M 501
using namespace std;
ll n;
ll a[M],dp[M][M];
int main(){
cin>>n;
for(ll i=1;i<=n;i++)
cin>>a[i];
for(ll l=1;l<=n;l++)
for(ll i=1;i+l-1<=n;i++){
ll j=i+l-1;
if(i==j) dp[i][j]=1;
else if(i+1==j) dp[i][j]=1+(a[i]!=a[j]);
else if(a[i]==a[j]) dp[i][j]=dp[i+1][j-1];
else{
dp[i][j]=INT_MAX;
for(ll k=i;k<j;k++)
dp[i][j]=min(dp[i][j],dp[i][k]+dp[k+1][j]);
}
}
cout<<dp[1][n];
return 0;
}