#include using namespace std; #define DUMP(x) cerr << #x << "=" << x << endl #define DUMP2(x, y) cerr<<"("<<#x<<", "<<#y<<") = ("< >(x) #define rep(i,n) for(int i=0;i<(int)(n);i++) #define REP(i,m,n) for (int i=m;i<(int)(n);i++) #define in_range(x, y, w, h) (0<=(int)(x) && (int)(x)<(int)(w) && 0<=(int)(y) && (int)(y)<(int)(h)) #define ALL(a) (a).begin(),(a).end() typedef long long ll; const int INF = 1e9; typedef pair PII; int dx[4]={0, -1, 1, 0}, dy[4]={-1, 0, 0, 1}; int main() { ios::sync_with_stdio(false); int N, M; cin >> N >> M; vector left, right; rep(i, M) { int D; cin >> D; if (D > 0) { right.push_back(D); } else if (D < 0) { left.push_back(-D); } else { N--; } } sort(ALL(right)); sort(ALL(left)); int ans = INF; rep(i, 2) { for (int j=0; j<=min(N, (int)right.size()); j++) { if ((N-j) > left.size()) continue; int tmp = 0; if (j > 0) tmp += right[j-1]; if (N-j > 0) tmp += left[N-j-1]; if (j > 0 && N-j > 0) tmp += right[j-1]; ans = min(ans, tmp); } swap(left, right); } cout << ans << endl; }