#include <iostream>
#include <fstream>
#include <deque>
#include <vector>
using namespace std;
ifstream f("deque.in");
ofstream g("deque.out");
int n,k;
long long s,x;
deque<long long>q;
vector<long long>v;
int main(){
int i;
f>>n>>k;
for(i=1; i<=n; i++){
f>>x;
q.push_back(x);
}
for(i=1; i<=k; i++){
x=q.back();
q.pop_back();
v.push_back(x);
}
long long Min=11000000;
for(i=0; i<k; i++)
if(v[i]<Min)
Min=v[i];
// g<<Min<<" ";
s+=Min;
while(!q.empty())
{
// g<<q.back()<<" ";
//for(i=0; i<k; i++)
// if(v[i]<Min)
// Min=v[i];
if(v[0]==Min){
for(i=0; i<k-1; i++)
v[i]=v[i+1];
Min=11000000;
for(i=0; i<k; i++)
if(v[i]<Min)
Min=v[i];
}
else
for(i=0; i<k-1; i++)
v[i]=v[i+1];
v.pop_back();
x=q.back();
q.pop_back();
v.push_back(x);
if(v.back()<Min)
Min=v.back();
//v.push_back(v[0]);
//for(i=0; i<k-1; i++)
//v[i]=v[i+1];
s+=Min;
//g<<Min<<" ";
}
g<<s;
return 0;
}