

from collections import deque
line = list(map(int, input().split()))
n, w, L = line[0], line[1], line[2]
trucks = list(map(int, input().split()))
# 다리 위에는 최대 w개의 트럭 올라갈 수 있음
# 트럭 무게 합은 L보다 작거나 같아야함
# 트럭이 들어와서 나가기까지 w초 소요
q = deque()
# w 길이만큼 큐에 0 넣어주기 - 트럭이 큐에서 한 칸 씩 이동하는 것을 구현하기 위함
for _ in range(w):
q.append(0)
idx = 0
sec = 0
while idx < n:
# 큐의 맨 앞 팝하기
q.popleft()
sec += 1
new = trucks[idx]
# 현재 큐 전체 합 + 새로운 트럭의 합이 L 이하라면 큐에 넣기
if sum(q) + new <= L:
q.append(new)
idx += 1 # 인덱스 뒤로 보내기
# 트럭을 넣을 수 없다면 0 채우기
else:
q.append(0)
# 트럭 리스트를 모두 큐에 넣었다면 남은 걸 모두 빼주기
while q:
q.popleft()
sec += 1
print(sec)