#include <bits/stdc++.h>
using namespace std;
using namespace std;
const int maxn = 200000 + 10;
const long long inf = 1e18;
long long a[maxn];
int n;
long long dp[2][3][3];
inline void clear(int t) {
  for (auto i = (0); i < (3); ++i)
    for (auto j = (0); j < (3); ++j) dp[t][i][j] = -inf;
}
inline void update(long long& o, long long v) {
  if (o < v) o = v;
}
int main(void) {
  scanf("%d", &(n));
  for (auto i = (1); i <= (n); ++i) scanf("%lld", &(a[i]));
  if (n == 1) {
    return printf("%d\n", a[1]), 0;
  }
  int t = 0;
  clear(t);
  dp[t][n % 3][1] = a[1];
  dp[t][(n + 1) % 3][0] = -a[1];
  for (auto i = (2); i <= (n); ++i) {
    clear(t ^ 1);
    for (auto j = (0); j < (3); ++j) {
      update(dp[t ^ 1][(j + 1) % 3][0], dp[t][j][1] - a[i]);
      update(dp[t ^ 1][(j + 1) % 3][2], dp[t][j][0] - a[i]);
      update(dp[t ^ 1][(j + 1) % 3][2], dp[t][j][2] - a[i]);
      update(dp[t ^ 1][j][1], dp[t][j][0] + a[i]);
      update(dp[t ^ 1][j][2], dp[t][j][1] + a[i]);
      update(dp[t ^ 1][j][2], dp[t][j][2] + a[i]);
    }
    t ^= 1;
  }
  printf("%lld\n", dp[t][1][2]);
  return 0;
}
