n,m = map(int,input().split()) P = list(map(int,input().split())) A,B,C,D = [0]*n,[0]*n,[0]*m,[0]*m for i in range(n): A[i],B[i] = map(int,input().split()) for i in range(m): C[i],D[i] = map(int,input().split()) ans = 0 for s,t in ((1,1),(1,-1),(-1,1),(-1,-1)): dic = {} for i in range(n): for j in range(m): u = C[j]-s*A[i] v = D[j]-t*B[i] dic[v+(u<<32)] = dic.get(v+(u<<32),0)+P[i] ans = max(ans,max(dic.values())) print(ans)