/*
TASK:books
LANG:C++
*/


#include <iostream>
#include <stdio.h>

using namespace std;

long n,k,ind[201], a[201], b[201], f[201][201];


int main() {

//freopen("books.inp","r",stdin);
scanf("%ld%ld",&n,&k);
for (long i=1; i<=n; i++) { scanf("%d", &a[i]); }
for (long i=1; i<=n; i++) scanf("%d", &b[i]);

for (long i=1; i<=n; i++) f[i][1] = f[i-1][1] + a[i]*b[i];


for (long q=2; q<=k; q++)
  for (long p=q; p<=n; p++) {

  f[p][q] = f[p][q-1];

  if (ind[q] && f[p-1][q] + a[p]*b[p-ind[q]+1] < f[p][q])
     f[p][q] = f[p-1][q] + a[p]*b[p-ind[q]+1];

  if (f[p-1][q-1] + a[p]*b[1] < f[p][q]) {
     ind[q] = p;
     f[p][q] = f[p-1][q-1] + a[p]*b[1];
     }

  }


cout << f[n][k] << endl;

return 0;
}
