#include <iostream>
using namespace std;
const int mn=2e5;
long arr[mn+1]={};
long prec[mn+1]={};
long bestcp[mn+1]={};
int main() {
	int N;
	cin>>N;
	for(int i=1;i<=N;i++){
		cin>>arr[i];
		prec[i]=arr[i]+prec[i-1];
		bestcp[i]=max(bestcp[i-1],prec[i]);
		//cout<<bestcp[i]<<' ';
	}
	//cout<<'\n';
	long ans=0;
	for(int i=1;i<=N;i++){
		prec[i]+=prec[i-1];
		ans=max(ans,prec[i-1]+bestcp[i]);
		ans=max(ans,prec[i]);
		//cout<<prec[i]<<' ';
	}
	//cout<<'\n';
	cout<<ans<<'\n';
	
}
/*
2 -1 -2
2  1 -1
2  3  2
*/
#include <iostream>
#include <vector>
#include <map>

using namespace std;
using lint = long long;

void solve() {
    int n;
    cin >> n;

    lint ans = 0, sum = 0;
    map<lint, lint> cnt{{0, 1}};
    for (int i = 0; i < n; ++i) {
        lint x;
        cin >> x;
        if (i % 2) x = -x;
        sum += x;
        ans += cnt[sum];
        ++cnt[sum];
    }

    cout << ans << "\n";
}

int main() {
    cin.tie(nullptr);
    ios::sync_with_stdio(false);

    solve();

    return 0;
}
