#!/usr/bin/python3

n, k = [int(x) for x in input().split()]
ds = [int(x) for x in input().split()]

didx = 0
num_servers = [0]*(10**7 + 2)
num_servers[0] = k
biggest_gap = 0
cur_time = 0
for i in range(len(num_servers)):
    for j in range(num_servers[i]):
        if didx < n:
            num_servers[i + ds[didx]] += 1
            didx += 1
    if num_servers[i] > 0:
        biggest_gap = max(biggest_gap, i - cur_time)
        cur_time = i
print(biggest_gap)
