#include
#include
#include
#include
#include
using namespace std;
const int MAXN = 1e3;
typedef __int64 ll;
int a[MAXN+10];
ll dp[MAXN+10];//记录改点出发的最大子数组
int main()
{
int n;
while(scanf("%d",&n),n){
for(int i=0;i){
scanf("%d",&a[i]);
dp[i] = a[i];
}
for(int i=n-2;i>=0;i--){
for(int j=i+1;j){
if(a[i]<a[j]){
dp[i] = max(dp[i],a[i]+dp[j]);
}
}
}
ll maxn = -MAXN;
for(int i=0;i)
maxn = max(maxn,dp[i]);
cout<endl;
}
//cout <<"Hello world!" <
return 0;
}