#include <bits/stdc++.h>
using namespace std;
int n = 0;
int a[200005];
long long f[200005][3][2];
inline void update(long long &x, long long y) {
  if (y > x) x = y;
}
int main() {
  scanf("%d", &n);
  for (int i = 1; i <= n; i++) scanf("%d", a + i);
  if (n == 1) {
    printf("%d", a[1]);
    return 0;
  }
  memset(f, -0x3f, sizeof(f));
  f[0][0][1] = 0;
  for (int i = 0; i < n; i++)
    for (int j = 0; j <= 2; j++) {
      update(f[i + 1][(j + 2) % 3][0], f[i][j][0] - a[i + 1]);
      update(f[i + 1][(j + 1) % 3][0], f[i][j][0] + a[i + 1]);
      update(f[i + 1][(j + 2) % 3][(i & 1)], f[i][j][1] - a[i + 1]);
      update(f[i + 1][(j + 1) % 3][!(i & 1)], f[i][j][1] + a[i + 1]);
    }
  printf("%lld", f[n][1][0]);
  return 0;
}
