#include<bits/stdc++.h>
using namespace std;
const int INF=1e9;

int n,m,d[1000],c[1000];
int dp[2000];

int main(){
    cin>>n>>m;
    for(int i=0;i<n;i++)cin>>d[i];
    for(int i=0;i<m;i++)cin>>c[i];

    fill_n(dp,n+1,INF);
    dp[0]=0;

    for(int i=0;i<m;i++){
        for(int j=n-1;j>=0;j--){
            dp[j+1]=min(dp[j+1],dp[j]+d[j]*c[i]);
        }
    }

    cout<<dp[n]<<endl;

    return 0;
}