#include <bits/stdc++.h>
using namespace std;
#define Rep(i,N) for(int i = 0; i < N; i++)
#define INF 1 << 28
#define S second
#define F first
typedef pair<int,int> Pi;

inline void chmax(int &a, int b) { a = max(a,b); }
inline void chmin(int &a, int b) { a = min(a,b); }

int main()
{
  int N, M;
  int dist[1005], temp[1005];
  cin >> N >> M;
  Rep(i,N)cin >> dist[i];
  Rep(i,M)cin >> temp[i];

  int dp[1005][1005];
  fill(dp[0],dp[1],0);
  fill(dp[1],dp[1005],INF);
  for(int i = 1; i <= N; i++) {
    for(int j = 1; j <= M; j++) {
      chmin(dp[i][j],min(dp[i][j - 1],dp[i - 1][j - 1] + dist[i - 1] * temp[j - 1]));
    }
  }
  cout << dp[N][M] << endl;
  return 0;
}