'use strict'
function main(input) {
  let ans = 0
  let prev = []
  let next = []
  let mP = []
  let mN = []
  const calc = (p, n) => p > n ? p + n * 2 : n + p * 2

  input = input.trim().split('\n')
  const NM = input[0].split(' ').map(v => v - 0)
  input[1].split(' ').forEach(v => {
    let n = v - 0
    if (n === 0) {
      NM[1]--
    } else {
      n < 0 ? prev.unshift(n*-1) : next.push(n)
    }
  })

  if (next.length <= NM[1]) {
    mN = [...next]
    NM[1] -= next.length
  } else {
    for (let i = 0; i < NM[1]; i++) {
      mN.push(next.shift())
    }
    NM[1] = 0
  }
  for (let i = 0; i < NM[1]; i++) {
    mP.push(prev.shift())
  }

  ans = calc(mP[mP.length - 1] || 0, mN[mN.length - 1] || 0)

  while (mN.length && prev.length) {
    let c = calc(prev[0], mN[mN.length - 2] || 0)
    if (c < ans) {
      mP.push(prev.shift())
      mN.pop()
      ans = c
    } else {
      break
    }
  }

  console.log(ans)
}
main(require('fs').readFileSync('/dev/stdin', 'utf8'));
