#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 (a < b) 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 áp dụng thao tác lên vị trí thứ i
int main() {
ios::sync_with_stdio(false);
cin.tie(nullptr);
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++) {
// Ta đưa bài toán tính tổng i phần tử về bài toán nhỏ hơn là tính tổng i - 1 phần tử
// Và từ việc biết vị trí i - 1 và i có áp dụng thao tác hay không
// ta suy ra được giá trị sau cùng của a[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+IAoKdXNpbmcgbmFtZXNwYWNlIHN0ZDsgIAoKdHlwZWRlZiBsb25nIGxvbmcgbGw7ICAKdHlwZWRlZiBwYWlyPGludCwgaW50PiBpaTsgIAoKY29uc3QgaW50IElORiA9IDFlOTsgIApjb25zdCBsbCBMSU5GID0gMWUxODsgIAoKdGVtcGxhdGU8dHlwZW5hbWUgVD4Kdm9pZCBtYXhpbWl6ZShUJiBhLCBjb25zdCBUJiBiKSB7CglpZiAoYSA8IGIpIGEgPSBiOyAKfQoKY29uc3QgaW50IE4gPSAxZTUgKyA1OyAgCgppbnQgbjsgIAppbnQgYVtOXTsgCgpsbCBkcFtOXVsyXTsgLy8gZHBbaV1bMC8xXSA9IFThu5VuZyBs4bubbiBuaOG6pXQgxJHhuqF0IMSRxrDhu6NjIGtoaSB4w6l0IMSR4bq/biB24buLIHRyw60gdGjhu6kgaSwgCgkJCSAvLyAgICAgICAgICAgICAgdsOgIGPDsy9raMO0bmcgw6FwIGThu6VuZyB0aGFvIHTDoWMgbMOqbiB24buLIHRyw60gdGjhu6kgaQoKaW50IG1haW4oKSB7Cglpb3M6OnN5bmNfd2l0aF9zdGRpbyhmYWxzZSk7IAoJY2luLnRpZShudWxscHRyKTsgIAkKCWNpbiA+PiBuOyAKCWZvciAoaW50IGkgPSAxOyBpIDw9IG47IGkrKykgY2luID4+IGFbaV07IAoKCWZvciAoaW50IGkgPSAwOyBpIDw9IG47IGkrKykgewoJCWZvciAoaW50IGogPSAwOyBqIDw9IDE7IGorKykgZHBbaV1bal0gPSAtTElORjsgCgl9CglkcFswXVswXSA9IDA7ICAgCgkKCWZvciAoaW50IGkgPSAxOyBpIDw9IG47IGkrKykgewoJCS8vIFRhIMSRxrBhIGLDoGkgdG/DoW4gdMOtbmggdOG7lW5nIGkgcGjhuqduIHThu60gduG7gSBiw6BpIHRvw6FuIG5o4buPIGjGoW4gbMOgIHTDrW5oIHThu5VuZyBpIC0gMSBwaOG6p24gdOG7rQoJCS8vIFbDoCB04burIHZp4buHYyBiaeG6v3QgduG7iyB0csOtIGkgLSAxIHbDoCBpIGPDsyDDoXAgZOG7pW5nIHRoYW8gdMOhYyBoYXkga2jDtG5nIAoJCS8vIHRhIHN1eSByYSDEkcaw4bujYyBnacOhIHRy4buLIHNhdSBjw7luZyBj4bunYSBhW2ldCgkJZm9yIChpbnQgaiA9IDA7IGogPD0gMTsgaisrKSB7CgkJCWZvciAoaW50IHByZXZfaiA9IDA7IHByZXZfaiA8PSAxOyBwcmV2X2orKykgewoJCQkJaW50IHNpZ24gPSAoKGogXiBwcmV2X2opID8gLTEgOiAxKTsgIAoJCQkJbWF4aW1pemUoZHBbaV1bal0sIGRwW2kgLSAxXVtwcmV2X2pdICsgc2lnbiAqIGFbaV0pOyAKCQkJfQoJCX0KCX0KCgljb3V0IDw8IGRwW25dWzBdIDw8ICdcbic7IAp9