/*
TASK:books
LANG:C
*/
#include <stdio.h>
long long s[256];
long long d[256];
long long t[256][256];
int u[256][256];
int n;
#define LLMAX 0x7fffffffffffffffl
long long f(int x,int k)
{
   int i;
   if( x==n)
       return 0;
   if( u[x][k])
       return t[x][k];
   u[x][k]=1;
   if(k==1)
   {
      for(i=0;x+i < n;i++)
         t[x][k]+=d[i]*s[x+i];
   }
   else
   {
      long long cur=0,c;
      long long best=LLMAX;
      for(i=0;i<(n-x);i++)
      {
         cur+=s[x+i]*d[i];
         c=cur+f(x+i+1,k-1);
         if(c < best)
            best=c;
      }
      t[x][k]=best;
   }
   return t[x][k];
}

int main()
{
 int k,i;
// freopen("books.in","r",stdin);
 scanf("%d %d",&n,&k);
 for(i=0;i<n;i++)
    scanf("%lld",&s[i]);
 for(i=0;i<n;i++)
    scanf("%lld",&d[i]);
 printf("%lld\n",f(0,k));
 return 0;
}
