Program machine;
Uses Math;
{ constraints }
const
    MAXD = 2000;

{ input data }
var
    C, D, Y, i, j,acquisti,costo, costominimo, temporestante  : longint;
    // Warning! M and P are 1-based
    M, P        : array[0..MAXD] of longint;
    bilancio : array[0..MAXD] of longint;

begin

    (*assign(input,  'input.txt');  reset(input);
    assign(output, 'output.txt'); rewrite(output);*)


    readln(C, D, Y);
     // Warning! M and P are 1-based
     M[0]:=0; P[0]:=0;
    for i:=1 to D do
        read(M[i]);
    readln();
    for i:=1 to D do
        read(P[i]);
    readln();

    { insert your code here }
    bilancio[0]:=0; costo:=C;
    for i:=1 to D do
            begin
                costo:= costo+P[i-1]+M[i]-P[i];
                costominimo:= costo;
                for j:=1 to (i div 2) do costominimo:=min(costominimo, bilancio[j]+bilancio[i-j]);
                bilancio[i]:=costominimo;
            end;
    for i:=D+1 to 2*D do
            begin
                costominimo:=bilancio[1]+bilancio[i-1];
                for j:=2 to (i div 2) do costominimo:=min(costominimo, bilancio[j]+bilancio[i-j]);
                bilancio[i]:=costominimo;
            end;        
    costominimo:=bilancio[1]* Y; 
    for i:=2 to 2*D do
             begin
                acquisti:=Y div i;
                temporestante:=Y mod i; 
                costominimo:=min(costominimo, bilancio[i]*acquisti+bilancio[temporestante]);
            end;
    writeln(costominimo);   { print result }
end. 