#include<iostream>#include<cstring>#include<vector>#include<stdio.h>#include<queue>#include<math.h>#include<stack>#include<algorithm>#include<map>#include<set>#define MAX 99999999typedeflonglong ll;usingnamespace std;int n,m;
vector<int>a;
vector<int>b;intmain(){
cin>>n;for(int i =0;i<n;i++){int x;
cin>>x;
a.push_back(x);}
cin>>m;for(int i =0;i<m;i++){int x;
cin>>x;
b.push_back(x);}sort(a.begin(),a.end());sort(b.begin(),b.end());int ans =0;int i =0,j =0;for(;i<n&&j<m&&a[i]*b[j]>0&&a[i]<0&&b[j]<0;i++,j++){
ans += a[i]*b[j];}
i = n-1;
j = m-1;for(;i>=0&&j>=0&&a[i]*b[j]>0&&a[i]>0&&b[j]>0;i--,j--)
ans += a[i]*b[j];
cout<<ans;return0;}