/*
TASK:books
LANG:C
*/

#include<stdio.h>

int n,k;
long a[201],p[201][201]={0},s[201];
double cnt=0;

void inp(void)
{int i;
 scanf("%d %d",&n,&k);
 for(i=1;i<=n;i++) scanf("%ld",&a[i]);
 for(i=1;i<=n;i++) scanf("%ld",&s[i]);

}

void arei(void)
{int i,e,j,x,y;long l;
 for(i=1;i<=n;i++)
  for(j=i;j<=n;j++)
   p[i][j]=p[i][j-1]+s[j-i+1]*a[j];
  l=1999999999;
  for(i=1;i<=n;i++) if(l>p[i][n]) {l=p[i][n]; e=i;}
  cnt+=p[e][n];e--;
  if(k==2) {cnt+=p[1][e+1];return;}
  for(i=0;i<k-3;i++) cnt+=p[e-i][e-i];
  x=e;y=e;
  if (p[x][x]+p[1][x-1]>p[1][1]+p[2][y])
  cnt+=p[1][1]+p[2][y];
  else cnt+=p[x][x]+p[1][x-1];
}

int main()
{ int i,j,l,g;double z=1999999999;
  inp();
  if (k==1) { for(j=1;j<=n;j++) cnt+=a[j]*s[j];printf("%.0f\n",cnt);return 0; }

  g=k;
  for(i=2;i<=g;i++)
  {
  k=i;
  cnt=0;for(j=1;j<=n;j++)
  for(l=1;l<=n;l++) p[j][l]=0;
  arei();
  if(z>cnt) z=cnt;
  }
  printf("%.0f\n",z);
  return 0;
}
