#include <bits/stdc++.h>
using namespace std;
const int64_t inf = 1e15;
int main() {
cin.tie(nullptr)->sync_with_stdio(false);
int n, m;
cin >> n >> m;
vector<int64_t> a(n), b(m);
for (auto &i : a) {
cin >> i;
}
for (auto &i : b) {
cin >> i;
}
vector dp(n + 1, vector<int64_t>(m + 1));
for (int i = n; i >= 0; --i) {
for (int j = m; j >= 0; --j) {
if (i == n || j == m) {
dp[i][j] = inf;
continue;
}
if (i == n - 1 && j == m - 1) {
dp[i][j] = 0;
continue;
}
dp[i][j] = min(dp[i][j + 1] + a[i], dp[i + 1][j] + b[j]);
}
}
cout << dp[0][0] << '\n';
}