#include #include #include #include //#include #include #include #include #include #include //#include #include #include #include //#include #include #include //#include #include #include #include #include #include const int dx[] = {1, 0, -1, 0}; const int dy[] = {0, 1, 0, -1}; using namespace std; typedef long long ll; typedef unsigned long long ull; typedef vector vi; typedef vector vll; typedef pair pii; int main() { cin.tie(0); ios::sync_with_stdio(false); int N, M; cin >> N >> M; vector minus, plus; for (int i = 0; i < M; i++) { int d; cin >> d; if (d < 0) minus.push_back(-d); else if (d > 0) plus.push_back(d); else N--; } sort(minus.begin(), minus.end()); sort(plus.begin(), plus.end()); ll ans = 1ll<<60; for (int k = 0; k <= N; k++) { if (minus.size() < k) continue; int kp = N-k; if (plus.size() < kp) continue; ll a = 0, b = 0; if (k > 0) a = minus[k-1]; if (kp > 0) b = plus[kp-1]; ll tmp = a+b + min(a, b); ans = min(ans, tmp); } cout << ans << endl; return 0; }