#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
const int MOD=1000000007;
#define INF 1LL<<30
#define rep(i,n) for (int i = 0; i < (n); ++i)
#define all(x) (x).begin(),(x).end()

int dp[310][310];
int w[310];

int rec(int l,int r){
    if(dp[l][r]!=-1) return dp[l][r];
    if(abs(l-r)<=1) return 0;

    int res=0;
    if(abs(w[l]-w[r-1])<=1 && rec(l+1,r-1)==r-l-2){
        res=r-l;
    }
    for(int mid=l+1;mid<=r-1;mid++){
        res=max(res,rec(l,mid)+rec(mid,r));
    }
    return dp[l][r]=res;
}

int main() {
    while(1){
        int n;
        cin>>n;
        if(n==0) break;
        rep(i,n) cin>>w[i];
        rep(i,310) rep(j,310) dp[i][j]=-1;
        cout<<rec(0,n)<<endl;
    }
    return 0;
}


