#include <bits/stdc++.h>
using namespace std;
vector<int> g;
int n;
int a = 0;
int b = 0;
int ans = 0;
bool used[200][200];
void dfs(int a, int b) {
  used[a][b] = 1;
  for (int i = max(0, n - a); i <= min(n, b); i++) {
    if (!used[a + i - (n - i)][b - i + (n - i)]) {
      dfs(a + i - n + i, b - i - i + n);
    }
  }
}
int main() {
  scanf("%d", &n);
  for (int i = 0; i < 2 * n - 1; i++) {
    int x;
    scanf("%d", &x);
    if (x <= 0)
      b++;
    else
      a++;
    g.push_back(abs(x));
  }
  sort(g.begin(), g.end());
  for (int i = 0; i < 200; i++) {
    for (int j = 0; j < 200; j++) {
      used[i][j] = 0;
    }
  }
  dfs(a, b);
  for (int i = 0; i <= 2 * n - 1; i++) {
    if (used[2 * n - 1 - i][i]) {
      for (int j = 0; j < i; j++) {
        ans -= g[j];
      }
      for (int j = i; j < g.size(); j++) {
        ans += g[j];
      }
      printf("%d", ans);
      return 0;
    }
  }
  return 0;
}
