{
TASK:Books
LANG:Pascal
}
{$R-}
Const
 maxN = 256;
 maxK = 128;
var
a : array[0..maxN, 0..maxK] of QWord;
b : array[0..maxN] of Longint;
s : array[0..maxN] of Longint;
i, j, k, l, m, n, p : Longint;
Sum : QWord;

Begin
readln(n, k);
for i:=1 to n do
  read(s[i]);
readln;
for i:=1 to n do
  read(b[i]);
for i:=1 to n do
  a[1,i]:=a[1,i-1]+s[i]*b[i];
for i:=2 to k do
  for j:=1 to n do
    for l:=1 to j do
      begin
        sum:=0;
        for p:=l+1 to j do
          sum:=sum+s[p]*b[p-l];
        if (a[i,j]=0) or (a[i,j]>a[i-1,l]+sum) then
         a[i,j]:=a[i-1,l]+sum;
      end;
writeln(a[k,n]);
End.
