#include <bits/stdc++.h>
using namespace std;
int a[510], dp[510][510];
int main() {
  int i, j, k, n;
  cin >> n;
  for (i = 0; i < n; i++) {
    cin >> a[i];
    dp[i][i] = 1;
  }
  for (i = 1; i <= n - 1; i++)
    for (j = 0; j <= n - 1 - i; j++) {
      dp[j][j + i] =
          dp[j + 1][j + i - 1] + ((a[j] == a[j + i]) ? ((i >= 2) ? 0 : 1) : 2);
      for (k = j; k <= j + i - 1; k++)
        dp[j][j + i] = min(dp[j][j + i], dp[j][k] + dp[k + 1][j + i]);
    }
  cout << dp[0][n - 1] << endl;
  return 0;
}
