#include "boxes.h"
#include <bits/stdc++.h>
using namespace std;
#define ll long long
const int maxn = 1e7 + 5;
const ll inf = 9e18;
ll dpl[maxn], dpr[maxn];
ll mn = inf;
ll delivery(int n, int k, int l, int p[]){
for(int i=0;i<n;++i){
dpl[i] = (i >= k ? dpl[i-k] : 0) + p[i]*2LL;
}
for(int i=n-1;i>=0;--i){
dpr[i] = (n - i - 1 >= k ? dpr[i+k] : 0) + (l - p[i])*2LL;
}
mn = min(dpl[n-1], dpr[0]);
for(int i=0;i<n-1;++i){
mn = min(mn, dpl[i] + dpr[i+1]);
if(i + k + 1 < n) mn = min(mn, dpl[i] + dpr[i+k+1] + l);
else mn = min(mn, dpl[i] + 1LL*l);
}
if(k < n){
mn = min(mn, min(dpr[k], dpl[n-k-1]) + 1LL*l);
}
return mn;
}