#include <bits/stdc++.h>
#pragma GCC target("avx2")
#pragma GCC optimize("O3")
#pragma GCC optimize("unroll-loops")
using namespace std;
using ll = long long;
using lld = long double;
using l64 = int64_t;
const ll MOD = 1000000007;
const int N = 101;
vector<int> ar(2 * N, 0);
int main() {
  int N, z = 0;
  cin >> N;
  vector<int> V(2 * N - 1);
  for (int i = 0; i < 2 * N - 1; i++) {
    cin >> V[i];
    if (V[i] < 0) z++;
    if (V[i] < 0) V[i] *= -1;
  }
  sort(V.begin(), V.end());
  queue<int> q;
  q.push(z);
  vector<bool> vis(2 * N, false);
  vis[z] = true;
  while (!q.empty()) {
    int a = q.front();
    for (int i = 0; i <= min(N, a); i++)
      if (a - i + (N - i) < 2 * N)
        if (!vis[a - i + (N - i)]) {
          q.push(a - i + (N - i));
          vis[a - i + (N - i)] = true;
        }
    q.pop();
  }
  for (int i = 0; i < 2 * N; i++)
    if (vis[i]) {
      int second = 0;
      for (int j = 0; j < i; j++) second -= abs(V[j]);
      for (int j = i; j < 2 * N - 1; j++) second += abs(V[j]);
      cout << second << endl;
      return 0;
    }
  return 0;
}
