#include <bits/stdc++.h>
int a[210];
int dp[210][210];
int cmp(const void* a, const void* b) { return (*((int*)a)) - (*((int*)b)); }
void recur(int c0, int c1, int n, int m) {
  int i, j;
  if (dp[c0][c1] != -1) {
    return;
  }
  dp[c0][c1] = 1;
  for (i = ((n) < (c0) ? (n) : (c0)); i >= 0; i--) {
    if (n - i > m - c0) {
      break;
    }
    for (j = ((c1) < (n - i) ? (c1) : (n - i)); j >= 0; j--) {
      if (m - c0 - c1 >= n - i - j) {
        recur(c0 - i + j, c1 - j + i, n, m);
      } else {
        break;
      }
    }
  }
}
void solve(int n) {
  int cnt_p, cnt_m, i, j, num, sum, m;
  cnt_p = cnt_m = 0;
  m = (n << 1) - 1;
  for (i = 0; i < m; i++) {
    if (a[i] > 0) {
      cnt_p++;
    } else if (a[i] < 0) {
      cnt_m++;
    }
  }
  memset(dp, 255, sizeof(dp));
  recur(cnt_p, cnt_m, n, m);
  num = -1;
  for (i = m; i >= 0; i--) {
    if (dp[i][cnt_p + cnt_m - i] == 1) {
      num = i;
      break;
    }
  }
  qsort(a, m, sizeof(int), cmp);
  i = 0;
  j = m - 1;
  sum = 0;
  while (num > 0) {
    if (abs(a[i]) > abs(a[j])) {
      sum += abs(a[i]);
      i++;
    } else {
      sum += abs(a[j]);
      j--;
    }
    num--;
  }
  while (i <= j) {
    sum -= abs(a[i]);
    i++;
  }
  printf("%d\n", sum);
}
int main() {
  int n, i;
  while (scanf("%d", &n) == 1) {
    for (i = 0; i < (n << 1) - 1; i++) {
      scanf("%d", &a[i]);
    }
    solve(n);
  }
  return 0;
}
