#include <bits/stdc++.h>
using namespace std;
vector<int> vn, vp;
int n, k, a;
int main() {
  cin >> n >> k;
  for (int i = 0; i < n; i++) {
    cin >> a;
    a < 0 ? vn.push_back(a) : vp.push_back(a);
  }
  sort(vn.begin(), vn.end());
  sort(vp.begin(), vp.end());
  a = 0;
  for (int i = 0; i < vn.size(); i++) {
    if (k > 0) {
      a -= vn[i];
      k--;
    } else
      a += vn[i];
  }
  for (int i = 0; i < vp.size(); i++) {
    a += vp[i];
  }
  if (k > 0 && k % 2) {
    if (!vn.empty() && !vp.empty() && vp[0] > 0) {
      a -= 2 * min(abs(vn[vn.size() - 1]), vp[0]);
    }
    if (!vn.empty() && vp.empty()) {
      a += 2 * vn[vn.size() - 1];
    }
    if (vn.empty() && !vp.empty() && vp[0] > 0) {
      a -= 2 * vp[0];
    }
  }
  cout << a << endl;
  return 0;
}
