//Author: Bishal Sarang #include using namespace std; typedef unsigned long long ull; typedef long long ll; int main() { ll n; cin >> n; vector popn(n); vector loc(n); ll clouds; for(int i = 0; i < n; i++) { cin >> popn[i]; // cout << popn[i] << ""; } for(int i = 0; i < n; i++) cin >> loc[i]; cin >> clouds; vector loc_cloud(clouds), rang_cloud(clouds); for(int i = 0; i < clouds; i++) cin >> loc_cloud[i]; for(int i = 0; i < clouds; i++) cin >> rang_cloud[i]; ll maxm = 0; map xa; for(int i = 0;i < n; i++) { xa[i] = false; } // cout << popn[1]; for(int i = 0; i < n; i++) { for(int j = 0; j < clouds; j++) if((loc_cloud[j] - rang_cloud[j]) <= loc[i] && (loc[i] <= loc_cloud[j] + rang_cloud[j] )) { maxm = max(maxm, popn[i]); xa[i] = true; } } // cout << maxm; ll sum = 0; for(int i = 0; i < n; i++ ) { if(xa[i] == false) sum += popn[i]; } cout << sum + maxm; return 0; }