from collections import deque
n, k = map(int, input().split())
x, d, ssum = list(map(int, input().split())), deque(), 0
b = [(0,0) for i in range(n)]
for i in range(n):
ssum += x[i]
if i >= k :
ssum -= x[i - k]
if d[0] == i - k :
d.popleft()
while len(d) and x[d[-1]] >= x[i]:
d.pop()
d.append(i)
if i >= k - 1:
nb = (b[i-k][0] + x[d[0]] * ssum, i-k+2)
b[i] = max(b[i-1], nb, key=lambda x: x[0])
i = n - 1
d = deque()
j = b[-1][1]
d.appendleft(j)
while i !=0:
i -= 1
j1 = b[i][1]
if j-k>=j1 and j1 > 0 :
d.appendleft(j1)
j = j1
print(str(len(d)))
print(" ".join(map(str, d)))
A,ae:real;
N,i:integer;
Begin
WriteLn('Введи начальный рост');
ReadLn(A);
WriteLn('Введи кол-во месяцев');
ReadLn(N);
WriteLn('Введи прирост в месац в %');
ReadLn(ae);
ae:=ae/100;
For i:= 1 to N do
A:=A*(1+ae);
WriteLn(A);
ReadLn
End.