#include <bits/stdc++.h>
using namespace std;
const int INF = 0x3f3f3f3f;
int n, ans, aux;
vector<int> neg;
multiset<int> pos;
int main() {
  scanf("%d", &n);
  for (int i = 1, x; i <= 2 * n - 1; ++i) {
    scanf("%d", &x);
    ans += x, aux += abs(x);
    if (x < 0) {
      if (neg.empty())
        neg.push_back(x);
      else {
        pos.insert(-neg.back());
        pos.insert(-x);
        ans -= 2 * (x + neg.back()), neg.pop_back();
      }
    } else if (x >= 0)
      pos.insert(x);
  }
  if (n % 2 == 1) printf("%d\n", aux), exit(0);
  if (!neg.empty() && !pos.empty())
    ans = max(ans, ans - 2 * neg.back() - 2 * (*pos.begin()));
  printf("%d\n", ans);
}
