uses math;
var n1,nn,n,m,i,k,min,ans:longint; a,b:array[0..10001]of longint;
begin
  read(n,m);filldword(b,sizeof(b)>>2,0);
  for i:=1 to n do read(a[i]);
  ans:=0;nn:=m;n1:=n;
for i:=1 to m do b[i]:=a[i];
  while nn<=n do
   begin
    if n1<=m then begin inc(ans,maxintvalue(b)); break; end;
   min:=maxlongint;k:=0;
    for i:=1 to m do
      if b[i]<min then begin min:=b[i]; k:=i; end;
    for i:=1 to m do
      b[i]:=b[i]-min;
     dec(n1);
     inc(nn);
b[k]:=a[nn];
inc(ans,min);
end;
writeln(ans);
close(input);
close(output);
end.

/**************************************************************
	Problem: 2293
	User: admin
	Language: Pascal
	Result: Wrong Answer
****************************************************************/