#include <bits/stdc++.h>
using namespace std;
const int N = 510, INF = 1e9 + 7;
long long dp[N][N], a[N], n;
int main() {
  ios_base::sync_with_stdio(0);
  cin.tie(0);
  cout.tie(0);
  cin >> n;
  for (int i = 0; i < n; i++) cin >> a[i];
  for (int i = 0; i <= n; i++)
    for (int j = 0; j <= n - i; j++) {
      if (i < 2) {
        dp[j][j] = 1;
        dp[j][j - 1] = 1;
        continue;
      }
      dp[j][j + i - 1] = INF;
      if (a[j] == a[j + i - 1]) dp[j][j + i - 1] = dp[j + 1][j + i - 2];
      for (int k = j; k < j + i - 1; k++)
        dp[j][j + i - 1] =
            min(dp[j][j + i - 1], dp[j][k] + dp[k + 1][j + i - 1]);
    }
  cout << dp[0][n - 1];
  return 0;
}
