from collections import defaultdict def main(): N,M = map(int,input().split()) A = list(map(int,input().split())) B = list(map(int,input().split())) C = list(map(int,input().split())) assert 1 <= M < N <= 2*10**5 for a in A: assert -10**9 <= a <= 10**9 for b in B: assert -10**9 <= b <= 10**9 for c in C: assert 1 <= c <= 10**9 A_hope = [A[0]] for i in range(N-1): A_hope.append(A_hope[-1]+B[i%M]) # print(A_hope) diff_hope = [] for i in range(N): diff_hope.append(A[i]-A_hope[i]) # print(diff_hope) C_per_diff = defaultdict(int) for i in range(N): C_per_diff[diff_hope[i]] += C[i] # print(C_per_diff) print(sum(C) - max(C_per_diff.values())) if __name__ == "__main__": main()