#include <bits/stdc++.h>
using namespace std;
int main() {
int n, m;
cin >> n >> m;
vector<int> a(n + 1);
vector<int> b(m + 1);
for(int i = 1; i <= n; i++){
cin >> a[i];
}
for(int i = 1; i <= m; i++){
cin >> b[i];
}
int MIN = min(n, m);
int ans = INT_MIN;
vector<int> dp(MIN + 1, INT_MIN);
dp[0] = 0;
for(int i = 1; i <= MIN; i++){
dp[i] = max(a[i] * b[i], dp[i - 1] + (a[i] * b[i]));
ans = max(ans, dp[i]);
cout << dp[i] << " ";
}cout << endl;
vector<int> dp2(MIN + 1, INT_MIN);
dp2[0] = 0;
reverse(a.begin() + 1, a.end());
for(int i = 1; i <= MIN; i++){
dp2[i] = max(a[i] * b[i], dp2[i - 1] + (a[i] * b[i]));
ans = max(ans, dp2[i]);
}
cout << ans;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgppbnQgbWFpbigpIHsKCWludCBuLCBtOwoJY2luID4+IG4gPj4gbTsKCXZlY3RvcjxpbnQ+IGEobiArIDEpOwoJdmVjdG9yPGludD4gYihtICsgMSk7Cglmb3IoaW50IGkgPSAxOyBpIDw9IG47IGkrKyl7CgkJY2luID4+IGFbaV07Cgl9Cglmb3IoaW50IGkgPSAxOyBpIDw9IG07IGkrKyl7CgkJY2luID4+IGJbaV07Cgl9CglpbnQgTUlOID0gbWluKG4sIG0pOwoJaW50IGFucyA9IElOVF9NSU47Cgl2ZWN0b3I8aW50PiBkcChNSU4gKyAxLCBJTlRfTUlOKTsKCWRwWzBdID0gMDsKCWZvcihpbnQgaSA9IDE7IGkgPD0gTUlOOyBpKyspewoJCWRwW2ldID0gbWF4KGFbaV0gKiBiW2ldLCBkcFtpIC0gMV0gKyAoYVtpXSAqIGJbaV0pKTsKCQlhbnMgPSBtYXgoYW5zLCBkcFtpXSk7CgkJY291dCA8PCBkcFtpXSA8PCAiICI7CiAJfWNvdXQgPDwgZW5kbDsgCiAJdmVjdG9yPGludD4gZHAyKE1JTiArIDEsIElOVF9NSU4pOwogCWRwMlswXSA9IDA7CiAJcmV2ZXJzZShhLmJlZ2luKCkgKyAxLCBhLmVuZCgpKTsKCWZvcihpbnQgaSA9IDE7IGkgPD0gTUlOOyBpKyspewoJCWRwMltpXSA9IG1heChhW2ldICogYltpXSwgZHAyW2kgLSAxXSArIChhW2ldICogYltpXSkpOwoJCWFucyA9IG1heChhbnMsIGRwMltpXSk7CgkKIAl9CiAJY291dCA8PCBhbnM7CgkKfQ==