#include <bits/stdc++.h>
using namespace std;
const double PI = acos(-1.0);
const int INF = 1000000000;
long long MOD = 1000000007;
const int M = INF;
const double RRR = 180.0 / PI;
vector<vector<int> > g;
vector<int> used;
void dfs(int v) {
  used[v] = 1;
  for (int i = 0; i < g[v].size(); i++) {
    int to = g[v][i];
    if (!used[to]) {
      dfs(to);
    }
  }
}
int main() {
  int n;
  cin >> n;
  vector<int> mas(2 * n - 1);
  for (int i = 0; i < 2 * n - 1; i++) {
    cin >> mas[i];
  }
  int k = 0;
  int m = 2 * n - 1;
  for (int i = 0; i < m; i++) {
    if (mas[i] < 0) {
      k++;
    }
  }
  g.resize(m + 1);
  used.resize(m + 1);
  used.assign(m + 1, 0);
  for (int i = 0; i <= m; i++) {
    for (int j = 0; j <= i; j++) {
      if (i - j + (n - j) < 0 || (i - j + (n - j)) >= m + 1) {
        continue;
      }
      g[i].push_back(i - j + (n - j));
    }
  }
  dfs(k);
  for (int i = 0; i < m + 1; i++) {
    if (used[i] == 1) {
      int vid = i;
      for (int j = 0; j < m; j++) {
        if (mas[j] < 0) {
          mas[j] = -mas[j];
        }
      }
      int ans = 0;
      sort(mas.begin(), mas.end());
      for (int j = vid; j < m; j++) {
        ans += mas[j];
      }
      for (int j = 0; j < vid; j++) {
        ans -= mas[j];
      }
      cout << ans;
      return 0;
    }
  }
  return 0;
}
