#include<cstdio>
#include <algorithm>
long long c[100010],pzheng[100010],b[100010],pfu[100010];
using namespace std;
bool big(long long a,long long b){
return a>b;
}
bool lit(long long a,long long b){
return a<b;
}
int main(){
freopen("in.txt","r",stdin);
int cc,pp;
int nc=0,nb=0,pz=0,pf=0;
scanf("%d",&cc);
for(int i=0;i<cc;i++){
long long x;
scanf("%lld",&x);
if(x>0){
c[nc++]=x;
}else if(x<0){
b[nb++]=x;
}
}
sort(c,c+nc,big);
sort(b,b+nb,lit);
scanf("%d",&pp);
for(int i=0;i<pp;i++){
long long x;
scanf("%lld",&x);
if(x>0){
pzheng[pz++]=x;
}else if(x<0){
pfu[pf++]=x;
}
}
sort(pzheng,pz+pzheng,big);
sort(pfu,pfu+pf,lit);
long long ans=0;
int len=nc<pz?nc:pz;
for(int i=0;i<len;i++){
ans+=pzheng[i]*c[i];
}
len=nb<pf?nb:pf;
for(int i=0;i<len;i++){
ans+=pfu[i]*b[i];
}
printf("%lld\n",ans);
return 0;
}