import java.io.*; import java.util.*; import java.text.*; import java.math.*; import java.util.regex.*; public class Solution { static long maximumPeople(long[] p, long[] x, long[] y, long[] r, int n, int m) { long d[] = new long[m]; long a[] = new long[m]; long t[] = new long[n]; int k = 0, c = 0, u = 0,h = 0; for(int i = 0; i < m; i++){ d[i] = y[i] - r[i]; a[i] = y[i] + r[i]; } for(int i = 0; i < m; i++){ k=0; for(int g = 0; g < n; g++){ if(x[g]<=a[(int)i] && x[g]>=d[i]){ k += p[g]; t[u] = g; u++; }else{ if(x[g] > a[i]){ break; } } } if(k >= c){ c = k; } } for(int i = (int)t[0]; i < n; i++){ if(i==t[h]){ h++; continue; }else{ k+=p[i]; } } return k; } public static void main(String[] args) { Scanner in = new Scanner(System.in); int n = in.nextInt(); long[] p = new long[n]; for(int p_i = 0; p_i < n; p_i++){ p[p_i] = in.nextLong(); } long[] x = new long[n]; for(int x_i = 0; x_i < n; x_i++){ x[x_i] = in.nextLong(); } int m = in.nextInt(); long[] y = new long[m]; for(int y_i = 0; y_i < m; y_i++){ y[y_i] = in.nextLong(); } long[] r = new long[m]; for(int r_i = 0; r_i < m; r_i++){ r[r_i] = in.nextLong(); } long result = maximumPeople(p, x, y, r, n, m); System.out.println(result); in.close(); } }