Program machine;

{ constraints }
const
    MAXD = 1000;

{ input data }
var
    C, D, Y, i,acquisti,costo,  minimo, costominimo, temporestante  : longint;
    // Warning! M and P are 1-based
    M, P, bilancio       : array[1..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
    for i:=1 to D do
        read(M[i]);
    readln();
    for i:=1 to D do
        read(P[i]);
    readln();

    { insert your code here }

    minimo:= 2000000; acquisti:=1; temporestante:=0;
    bilancio[1]:=C+M[1]-P[1];
    if bilancio[1]< minimo then begin minimo:=bilancio[1]; costominimo:=bilancio[1]* Y; end;
    for i:=2 to D do
            begin
                bilancio[i]:=bilancio[i-1]+P[i-1]+M[i]-P[i];
                if bilancio[i]< minimo then  minimo:=bilancio[i];
                acquisti:=Y div i;
                temporestante:=Y mod i; 
                costo:=minimo*acquisti+bilancio[temporestante];
                if costo<costominimo then costominimo:=costo;
                
            end;
    writeln(costominimo);   { print result }
end. 