#include <bits/stdc++.h>
#include <climits>
#include <vector>
using namespace std;
int main() {
    int n;
    while (cin >> n) {
        vector<int> v;
        int data;
        for (int i = 0; i < n; i++) {
            cin >> data;
            v.push_back(data);
        }
        int dp[n];//dp[i]代表以i结尾的最长递增子序列之和
        int maxv = INT_MIN;
        if (n > 0) maxv = v[0];
        for (int i = 0; i < n; i++) {
            dp[i] = v[i];
        }
        for (int i = 1; i < n; i++) {
            for (int j = 0; j < i; j++) {
                if (v[j] < v[i])
                    dp[i] = max(dp[i], dp[j] + v[i]);
                maxv = max(maxv, dp[i]);
            }
        }
        cout << maxv << endl;
    }
}
// 64 位输出请用 printf("%lld")