#include "boxes.h"
#include <bits/stdc++.h>
using namespace std;
#define ll long long
long long delivery(int N, int K, int L, int p[]) {
vector<ll> V(p, p+N);
sort(V.begin(), V.end());
vector<ll> dpl(N), dpr(N);
for(int i=0;i<N;i++){
if(i<K) dpl[i]=2*V[i];
else dpl[i]=dpl[i-K]+2*V[i];
}
vector<ll> R(N);
for(int i=0;i<N;i++){
R[i]=L - V[N-1-i];
}
for(int i=0;i<N;i++){
if(i<K) dpr[i]=2*R[i];
else dpr[i]=dpr[i-K]+2*R[i];
}
ll ans = min(dpl[N-1], dpr[N-1]);
for(int i=-1;i<N;i++){
ll left = (i>=0 ? dpl[i] : 0);
ll right = (i+1<N ? dpr[N-2-i] : 0);
ans = min(ans, left + right);
}
for(int i=-1;i<N;i++){
ll left = (i>=0 ? dpl[i] : 0);
ll right = (i+1<N ? dpr[N-2-i] : 0);
ans = min(ans, left + right + L);
}
return ans;
}