Program machine;

{ constraints }
const
    MAXD = 1000;

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


begin
{
    uncomment the following lines if you want to read/write from files
    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;
    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
                temporestante:=Y mod i;
                j:=1;
                while j <= temporestante do
                       begin
                            bilancio[i]:=bilancio[i-1]+P[i-1]+M[i]-P[i];
                            acquisti:=Y div i;
                           costo:=bilancio[i]*acquisti+bilancio[j]*(Y div j);
                           if costo<costominimo then costominimo:=costo;
                           if bilancio[j]< minimo then  minimo:=bilancio[j]; 
                           j:=j+1;
                      end;  
                     
            end;
    writeln(costominimo);   { print result }
end. 

