#!/usr/bin/env python3
# an O(max(d)*n) solution
n, k = map(int, input().split())

ds = list(map(int, input().split()))
assert len(ds) == n

l = [0] * (sum(ds) + 1)

l[0] = k
last_event = 0
end = 0
t = 0
ans = 0
next_d = 0

while t <= end:
    for _ in range(l[t]):
        ans = max(ans, t - last_event)
        last_event = t

        if next_d < n:
            d = ds[next_d]
            l[t + d] += 1
            end = max(end, t + d)
            next_d += 1
    t += 1
print(ans)
