package current;

import io.Reader;
import io.OutputWriter;

public class ManageYourEnergy {
    long e,r;
    int n;
    public void solve(int testNumber, Reader in, OutputWriter out) {
        e = in.nextInt();
        r = in.nextInt();
        n = in.nextInt();

        int[] v = in.nextIntArray(n);

        out.println("Case #" + testNumber + ": " + solve(v, 0, n, e, 0));
    }

    private long solve(int[] v, int from, int to, long startE, long toE) {

        if(from == to)
            return 0;


        int index = from;

        for(int i = from; i < to; ++i){
            if(v[i] > v[index])
                index = i;
        }

        long startHere = Math.min(e, startE + (index - from) * r);
        long endHere = Math.max(0, toE - (to - index - 1) * r);

        return solve(v, from, index, startE, Math.max(startHere - r, 0)) + (startHere - endHere) * 1L * v[index] + solve(v, index + 1, to, Math.min(e, r + endHere), toE);

    }
}
