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) {
       
        long people=0;
        int cloud=0;
        long max=0;
        
        for(int i=0;i<y.length;i++){
            
            max=0;
            
            for(int j=0;j<x.length;j++){
                
                if(y[i]-r[i]<x[j] && y[i]+r[i]>x[j]){
                    
                    if(p[j]>people){
                        people = p[j];
                        cloud=j;
                    }else{
                        
                        max-=p[j];
                    }
                    
                }else{
                    max+=p[j];
                }
                
            }
            
        }
        
        max+=people;
        return max;
        
    }

    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);
        System.out.println(result);
        in.close();
    }
}