#include<cstdio>
#include<vector>
#include<string>
#include<iostream>
#include<queue>
#include<set>
#include<algorithm>
#define maxn 22
typedef long long ll;
using namespace std;
vector<ll> coupon, product;
ll sum = 0;
int main() {
int n, m;
ll a;
scanf("%d", &n);
for (int i = 0; i < n; i++) {
scanf("%lld", &a);
coupon.push_back(a);
}
scanf("%d", &m);
for (int i = 0; i < m; i++) {
scanf("%lld", &a);
product.push_back(a);
}
sort(coupon.begin(), coupon.end());
sort(product.begin(), product.end());
for (int i = 0; i < coupon.size() && i < product.size(); i++) {
if (coupon[i] >= 0 || product[i] >= 0) break;
else sum += coupon[i] * product[i];
}
int j = coupon.size() - 1;
int k = product.size() - 1;
for (; j >= 0 && k >= 0; j--, k--) {
if (coupon[j] <= 0 || product[k] <= 0) break;
else sum += coupon[j] * product[k];
}
printf("%lld\n", sum);
}