#include<bits/stdc++.h>
#define f1(i, n) for(ll i=1;i<=n;++i)
#define f0(i, n) for(ll i=0;i<n;++i)
#define ull unsigned long long
#define ll long long
#define rev(a) reverse(a.begin(),a.end())
#define all(x) x.begin(),x.end()
#define so(A, n) sort(A+1, A+n+1)
using namespace std;
const int maxn = 2e5 + 1;
ll A[maxn], B[maxn];
int main()
{
ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0);
int n;
cin >> n;
f1(i, n) {
cin >> A[i];
}
int i = 1, j = 1;
ll sum = 0, res = LLONG_MIN;
while (j <= n) {
if (A[j] % 3 != 0) {
sum += A[j];
res = max(res, sum);
++j;
}
else if (A[j] % 3 == 0 || sum < 0) {
++j;
i = j;
sum = 0;
}
}
cout << res;
return 0;
}
I2luY2x1ZGU8Yml0cy9zdGRjKysuaD4KI2RlZmluZSBmMShpLCBuKSBmb3IobGwgaT0xO2k8PW47KytpKQojZGVmaW5lIGYwKGksIG4pIGZvcihsbCBpPTA7aTxuOysraSkKI2RlZmluZSB1bGwgdW5zaWduZWQgbG9uZyBsb25nCiNkZWZpbmUgbGwgbG9uZyBsb25nCiNkZWZpbmUgcmV2KGEpIHJldmVyc2UoYS5iZWdpbigpLGEuZW5kKCkpCiNkZWZpbmUgYWxsKHgpIHguYmVnaW4oKSx4LmVuZCgpCiNkZWZpbmUgc28oQSwgbikgc29ydChBKzEsIEErbisxKQp1c2luZyBuYW1lc3BhY2Ugc3RkOwpjb25zdCBpbnQgbWF4biA9IDJlNSArIDE7CmxsIEFbbWF4bl0sIEJbbWF4bl07CmludCBtYWluKCkKewoJaW9zX2Jhc2U6OnN5bmNfd2l0aF9zdGRpbygwKTsgY2luLnRpZSgwKTsgY291dC50aWUoMCk7CglpbnQgbjsKCWNpbiA+PiBuOwoJZjEoaSwgbikgewoJCWNpbiA+PiBBW2ldOwoJfQoJaW50IGkgPSAxLCBqID0gMTsKCWxsIHN1bSA9IDAsIHJlcyA9IExMT05HX01JTjsKCXdoaWxlIChqIDw9IG4pIHsKCQlpZiAoQVtqXSAlIDMgIT0gMCkgewoJCQlzdW0gKz0gQVtqXTsKCQkJcmVzID0gbWF4KHJlcywgc3VtKTsKCQkJKytqOwoJCX0KCQllbHNlIGlmIChBW2pdICUgMyA9PSAwIHx8IHN1bSA8IDApIHsKCQkJKytqOwoJCQlpID0gajsKCQkJc3VtID0gMDsKCQl9Cgl9Cgljb3V0IDw8IHJlczsKCglyZXR1cm4gMDsKfQoK