/*
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#+*%+*##%+#@@@@@@@%@@@@@@%@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%***+#@@@@@%@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#+#%@@@#@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%@@@@@@@@@@@@@@@@@%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@#%@@@@#%@@@@@@@@@@@@@@@@@@@@%#%##%#@%+@@@@@@@@@@@@@#%@@*@@*@@@@@@@@@@@@@@@@%*#%%@@@@@@@@@@@@@@@@@@@@@@
*%%%*#%%%+#@@@@@@@@@@@@@@@@@@+@@#+%@@+*@@@@@@@@@@@@@@%@**@#+@@@@@@@@%*%@@@#*#****#%%%#%@@@%@@@@@@@@@@@@
*%@%#@@%*%@@@@%#@@@@@@@@@@@@@@@@*#@@#*%@@*#@%%#@@*%#%@%*@%**@%#%%####%#*#@@@@%#%%###@@%%@@@@@@@%@@@%@@@
%@@@@@@@@@@%*##@%*@@@@@@@@@@@@@@+#@@+#@@%*%@%+##+@%%@@@@@@**%+@@#%%*###%@%@%**+*#@@#*%@%%@@%%@@@@@@@%@@
@@@@@@%@@@%@%@#**@@@@@@@@@@@@@@%+%@%+%@%####%%%@%%@@@@#%@@*%@@%@@@@@@%#@%*@@%%@@%#%@@@****@%@@@@@%#%%@@
@@@@@@@@@@@@%%@@@@@#*%@@@@@@@@@@%%#*+*##@@@@#***#@@@%###*+*@@@@@%#**##%@@@@@@@@@@@@@+*##%@%@@@%@@#@@**@
@@@@@@@@@@@%%@@@@@@@@@@@@@@@@@@%=-=+=--+%@+--==--=#@#=-===-=*@%+-=+=--*@@@@@@@@@@@**+*#%##%@@@##@#@@#%#
@@@@@@@@@@@@%####**%#%@@@@@@@@@#**#@%=-=#%=-=%@+-=#@*==#@*--+@+-=#@@###@@@@@@@@@@@@%*#****@@@%%#@+@@**%
@@@@@@@@@@@@@@@@@@@@%*#@@@@@@@@@@@@#=-=*@%=-+%@+--*@@@@@*=-+@%=-----=+@@@@@@@%+@#%%@@@@%%@@@@##@@@@@#*#
@@@@@%@@@@@@@@@%%##*++%@@@@@@@%@@%+--+%@@%=-=%@+--*@@@#=-=#@@%=--#@%=-*@%%@%#*#%%#***%%@@@@@@@@@@@@@@@@
@@@@@@%%@@@@@@@@@%%%%%@@@@%%@@@@*=-=%@@@@%=-=%@+-=*@%+--+@@@@%=-=%@%=-*%*+#%@@@@@@@@%*#*%@@@@@@@@@@@@@%
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*=--====+%@+=-----+%@*--=====#@#=-=*+-=%@@%@@@@@@@@@@@%%##@@@@@@@@@@@@@@
@%@@@@%@@@@@%@@@%%%@@@@@@@@@@@@%#######%@@@@%##%@@@@#*######@@@@%#*%@@@#*#%%@##%%@@@@@%##@@@@@@@@@@@@@@
@@@%%@@%%##%@@@#+%@@@@@@@@@@@@@@@@@##@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%#%@%#%@@@@@@@%#%@@@@@@@@@@@@@@@
@@@@@@@@@%@%*@%#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#*#%@#%##%##%@@@@@@@@@@@@@@@@
%%#@@@@@@%**@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%
+#%#@##%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@#%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
*/
// LQDOJ: HoaiNam
// CVPOJ: namtrank29CVP
// Riot Username: HoaiNam#1337
// Facebook: https://w...content-available-to-author-only...k.com/anh.nam.cha.muc/
// Taskname:
// #pragma GCC optimize("O3")
// #pragma GCC target("avx2,bmi,bmi2,lzcnt,popcnt")
#include<bits/stdc++.h>
#define int long long
#define endl "\n"
#define sz(x) (int)(x).size()
#define all(x) (x).begin(),(x).end()
#define f0(i,n) for(int i=0;i<n;i++)
#define f1(i,n) for(int i=1;i<=n;i++)
#define faster ios_base::sync_with_stdio(false);cin.tie(0);cout.tie(0);
#define file(name) freopen(name".inp","r",stdin);freopen(name".out","w",stdout);
using namespace std;
const int maxn = 1e5 + 5;
const int MOD = 1e9 + 7;
int n, f[maxn], a[maxn], B[maxn], A[maxn], dp[maxn];
void update(int pos, int val) {
for (int i = pos; i <= n; i += i & -i) {
dp[i] = max(dp[i], val);
}
}
int get(int pos) {
int ans = -1e18;
for (int i = pos; i; i -= i & -i) {
ans = max(ans, dp[i]);
}
return ans;
}
int sum(int l, int r) {
return get(r) - get(l - 1);
}
map<int, int> zip;
int m;
void nenso() {
sort(a + 1, a + n + 1);
int iter = 1;
zip[a[1]] = 1;
for (int i = 2; i <= n; ++i) {
if (a[i] > a[i - 1]) {
iter++;
zip[a[i]] = iter;
}
else {
zip[a[i]] = iter;
}
}
m = iter;
}
int32_t main() {
faster
cin >> n;
// f1(i, n) f[i] = -1e18;
f1(i, n) {
cin >> A[i];
zip[A[i]] = 1;
}
f1(i, n) {
a[i] = A[i];
B[i] = A[i];
}
nenso();
for (int i = 1; i <= n; ++i) {
A[i] = zip[A[i]];
}
for (int i = 1; i <= n; ++i) {
dp[i] = -1e18;
}
for (int i = 1; i <= n; ++i) {
update(A[i], B[i]);
update(A[i], get(A[i] - 1) + B[i]);
}
cout << get(m);
return 0;
}