#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <cmath>
#include <iostream>
#include <sstream>
#include <string>
#include <algorithm>
#include <map>
#include <set>
#include <vector>
#include <queue>
using namespace std;
int dp[200][200];
class P8XGraphBuilder
{
public:
int solve(vector <int> scores)
{
int n=scores.size();//n+1 nodes, 2*n degree sum
memset(dp,-1,sizeof(dp));
dp[0][0]=0;
for(int i=0; i<=n; i++)
for(int j=0; j<=2*n; j++)
if(dp[i][j]!=-1)
for(int k=1; k<=n && j+k<=2*n; k++)
dp[i+1][j+k]=max(dp[i+1][j+k],dp[i][j]+scores[k-1]);
return dp[n+1][2*n];
}
};