import std.stdio, std.conv, std.math, std.string, std.range, std.array, std.algorithm; void main() { auto buf = readln().strip().split().map!(to!int)().array(); immutable N = buf[0]; immutable M = buf[1]; int[] D = new int[](M); foreach(immutable int i; 0 .. M) { D[i] = readln().strip().to!int(); } D.sort(); int[] p; int[] n; n ~= 0; p ~= 0; foreach(d; D) { if(d < 0) { n ~= d; } else { p ~= d; } } n.sort!"a>b"(); int ans = int.max; foreach(i; 0..N+1) { if(p.length <= i) { break; } int j = N - i; if(n.length <= j) { continue; } //writeln(i, ", ", j); immutable tdisr = p[i] + p[i]-n[j]; immutable tdisl = -n[j] + p[i]-n[j]; //tdisr.writeln; //tdisl.writeln; ans = min(ans, tdisr, tdisl); } ans.writeln; }