#include<cstdio>
using namespace std;
int gen[1001][1001];

int main(void)
{
	int n,m,i,j,hiro,min,x,y,gou;
	int c[1001],d[1001];
	min=2100000000;
	scanf("%d %d",&n,&m);
	for(i=0;i<=m;i++){
		for(j=0;j<=n;j++){
			gen[i][j]=2100000000;
		}
	}
	for(i=0;i<n;i++){
		scanf("%d",&d[i]);
	}
	for(i=0;i<m;i++){
		scanf("%d",&c[i]);
	}
	gen[0][0]=0;
	for(i=0;i<m;i++){
		for(j=0;j<=n;j++){
			hiro=c[i]*d[j];
			if(gen[i+1][j]>gen[i][j]){
				gen[i+1][j]=gen[i][j];
			}
			if(gen[i+1][j+1]>gen[i][j]+hiro && j<n){
				gen[i+1][j+1]=gen[i][j]+hiro;
			}
		}
	}
	/*for(i=0;i<=m;i++)	{
		for(j=0;j<=n;j++)	{
			printf("%8d ",gen[i][j]);
		}
		printf("\n");
	}*/
	printf("%d\n",gen[m][n]);
	return 0;
}