import sys import math import bisect import heapq from collections import deque, defaultdict #160427717982164055zq # ------------------------------------------------- def ST(): return input().rstrip() def IN(): return int(input()) def ML(typ=int): return [typ(x) for x in input().split()] def IM(): return ML() def IL(): return ML() def SR(n:int)->list: return [input().rstrip() for _ in range(n)] def IMatrix(n:int)->list: return [Mul(int) for _ in range(n)] def prefix_sum(L): #1次元リストの累積和を返す ret = [L[0]] for i in range(1, len(L)): ret.append(ret[i-1]+L[i]) return ret N, M = IM() A = [0]+IL() B = [0]+IL() for i in range(1, N+1): if A[i] < B[i]: A[i] = 0 B[i] = 0 #print(A, B) pA = prefix_sum(A) pB = prefix_sum(B) ans = 0 for i in range(N-M+1): ans = max(ans, pA[i+M]-pA[i]+pB[i]-pB[i+M]) print(ans)