/*
TASK: BOOKS
LANG: C
*/
#include<stdio.h>

#define MAXN 256

long long f[MAXN],s[MAXN],d[MAXN];

int main()
{
        long long i,j,l,n,k,tmp;
        scanf("%lld%lld",&n,&k);
        for(i=0;i<n;i++) scanf("%lld",&s[i]);
        for(i=0;i<n;i++) scanf("%lld",&d[i]);
        for(i=0;i<n;i++)
        {
                for(j=i;j<n;j++) f[i]+=s[j]*d[j-i];
        }
        for(i=1;i<k;i++)
        {
                for(j=0;j<n;j++)
                {
                        tmp=0;
                        for(l=j;l<n;l++)
                        {
                                if(f[l]+tmp<f[j]) f[j]=f[l]+tmp;
                                tmp+=s[l]*d[l-j];
                        }
                }
        }
        printf("%lld\n",f[0]);
        return 0;
}
