#include <bits/stdc++.h>
#pragma comment(linker, "/STACK:1024000000,1024000000")
using namespace std;
template <class T>
T gcd(T x, T y) {
  while (T t = x % y) x = y, y = t;
  return y;
}
const double eps = 1e-9;
const double PI = acos(-1.);
const int INF = 1000000000;
const int MOD = 1000000007;
const double E = 2.7182818284590452353602874713527;
bool isdig(char x) { return x >= '0' && x <= '9'; }
bool isup(char x) { return x >= 'A' && x <= 'Z'; }
bool isdown(char x) { return x >= 'a' && x <= 'z'; }
bool islet(char x) { return isup(x) || isdown(x); }
int N, num[1005];
void get_data() {
  cin >> N;
  N = N * 2 - 1;
  for (int i = 0; i < N; i++) cin >> num[i];
}
void run() {
  int zero = 0;
  int cnt = 0, minn = -1, sum = 0;
  for (int i = 0; i < N; i++) {
    if (num[i] < 0) {
      sum += -num[i];
      cnt++;
      if (minn == -1 || -num[i] < minn) minn = -num[i];
    } else if (num[i] == 0)
      zero++;
    else {
      sum += num[i];
      if (minn == -1 || minn > num[i]) minn = num[i];
    }
  }
  int tn = (N + 1) / 2;
  if (cnt % 2 == 0 || zero || (cnt - tn) % 2 == 0)
    cout << sum << endl;
  else
    cout << sum - 2 * minn << endl;
}
int main() {
  {
    get_data();
    run();
  }
  return 0;
}
