#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
typedef pair<int, int> ii;
const int INF = 1e9;
const ll LINF = 1e18;
template<typename T>
void maximize(T& a, const T& b) {
if (b < a) return;
a = b;
}
const int N = 1e5 + 5;
int n;
int a[N];
ll dp[N][2]; // dp[i][0/1] = Tổng lớn nhất đạt được khi xét đến vị trí thứ i, và có/không sử dụng thao tác lên vị trí thứ i
int main() {
ios::sync_with_stdio(0); cin.tie(0);
cin >> n;
for (int i = 1; i <= n; i++) cin >> a[i];
for (int i = 0; i <= n; i++) {
for (int j = 0; j <= 1; j++) dp[i][j] = -LINF;
}
dp[0][0] = 0;
for (int i = 1; i <= n; i++) {
for (int j = 0; j <= 1; j++) {
for (int prev_j = 0; prev_j <= 1; prev_j++) {
int sign = ((j ^ prev_j) ? -1 : 1);
maximize(dp[i][j], dp[i - 1][prev_j] + sign * a[i]);
}
}
}
cout << dp[n][0] << '\n';
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+IAp1c2luZyBuYW1lc3BhY2Ugc3RkOyAgCgp0eXBlZGVmIGxvbmcgbG9uZyBsbDsgIAp0eXBlZGVmIHBhaXI8aW50LCBpbnQ+IGlpOyAgCgpjb25zdCBpbnQgSU5GID0gMWU5OyAgCmNvbnN0IGxsIExJTkYgPSAxZTE4OyAgCgp0ZW1wbGF0ZTx0eXBlbmFtZSBUPgp2b2lkIG1heGltaXplKFQmIGEsIGNvbnN0IFQmIGIpIHsKCWlmIChiIDwgYSkgcmV0dXJuOyAKCWEgPSBiOyAKfQoKY29uc3QgaW50IE4gPSAxZTUgKyA1OyAgCgppbnQgbjsgIAppbnQgYVtOXTsgCgpsbCBkcFtOXVsyXTsgLy8gZHBbaV1bMC8xXSA9IFThu5VuZyBs4bubbiBuaOG6pXQgxJHhuqF0IMSRxrDhu6NjIGtoaSB4w6l0IMSR4bq/biB24buLIHRyw60gdGjhu6kgaSwgdsOgIGPDsy9raMO0bmcgc+G7rSBk4bulbmcgdGhhbyB0w6FjIGzDqm4gduG7iyB0csOtIHRo4bupIGkKCmludCBtYWluKCkgewoJaW9zOjpzeW5jX3dpdGhfc3RkaW8oMCk7IGNpbi50aWUoMCk7ICAJCgljaW4gPj4gbjsgCglmb3IgKGludCBpID0gMTsgaSA8PSBuOyBpKyspIGNpbiA+PiBhW2ldOyAKCglmb3IgKGludCBpID0gMDsgaSA8PSBuOyBpKyspIHsKCQlmb3IgKGludCBqID0gMDsgaiA8PSAxOyBqKyspIGRwW2ldW2pdID0gLUxJTkY7IAoJfQoKCWRwWzBdWzBdID0gMDsgICAKCWZvciAoaW50IGkgPSAxOyBpIDw9IG47IGkrKykgewoJCWZvciAoaW50IGogPSAwOyBqIDw9IDE7IGorKykgewoJCQlmb3IgKGludCBwcmV2X2ogPSAwOyBwcmV2X2ogPD0gMTsgcHJldl9qKyspIHsKCQkJCWludCBzaWduID0gKChqIF4gcHJldl9qKSA/IC0xIDogMSk7ICAKCQkJCW1heGltaXplKGRwW2ldW2pdLCBkcFtpIC0gMV1bcHJldl9qXSArIHNpZ24gKiBhW2ldKTsgCgkJCX0KCQl9Cgl9CgoJY291dCA8PCBkcFtuXVswXSA8PCAnXG4nOyAKfQ==