#!/bin/python3 import sys def maximumPeople(p, x, y, r): #print(cmark) #print(zipt) if m <= 1: return sum(p) cmark = [0]*n cnum = [0]*n #print(cmark) amax = max(x) #zipt = zip(p,x) zipt = zip(p,x,cmark,cnum) zipt = list(zipt) #print(zipt[1]) for clds in range(m): cloudrngmin = y[clds] - r[clds] cloudrngmin = cloudrngmin if cloudrngmin >=1 else 1 if cloudrngmin <= amax: cloudrngmax = y[clds] + r[clds] cloudrngmax = cloudrngmax if cloudrngmax <= amax else amax for twns in zipt: if cloudrngmin <= twns[1] <= cloudrngmax: twns[2] += 1 twns[3] = twns[3].append(clds) else: continue for ttls in range(zipt): pass #print(*zipt) #zipt = zip(p,x) #print(zipt[1]) #for cloud in range(m): #if #for x in y: #if x #print(*zipt) #(towns,population) #(population,location,cloud location,cloudrange) # Return the maximum number of people that will be in a sunny town after removing exactly one cloud. #zipall = zip(p, x, y,r) #print(*zipall) #enumer if __name__ == "__main__": n = int(input().strip()) p = list(map(int, input().strip().split(' '))) x = list(map(int, input().strip().split(' '))) m = int(input().strip()) y = list(map(int, input().strip().split(' '))) r = list(map(int, input().strip().split(' '))) result = maximumPeople(p, x, y, r) print(result)