from bisect import bisect_left, bisect_right, insort N, K, X = map(int, input().split()) A = list(map(int, input().split())) L = [] total = 0 ans = -1e18 for i in range(N): a = A[i] if i < K: total += a insort(L, a) else: # a はどこにはいるか? idx = bisect_right(L, a) if i - K + 1 <= idx: # 上位K人にランクインできる total -= L[i - K] total += a insort(L, a) else: insort(L, a) # i+1 個の要素がある memo = total - (i + 1)*X if memo > ans: ans = memo print(ans)