#include<bits/stdc++.h>
using namespace std;

int main() {
    int n, r;
    cin >> n >> r;
    vector<int> t(n);
    for(int i=0;i<n;i++) cin>>t[i];
    
    // 按打水时间从短到长排序
    sort(t.begin(), t.end());
    
    // 维护每个水龙头的当前总时间
    vector<int> taps(r, 0);
    int total=0;
    
    // 分配每个人到当前时间最少的水龙头
    for(int i=0;i<n;i++) {
        // 找到当前累计时间最少的水龙头
        int min_tap=0;
        for(int j=1;j<r;j++) {
            if(taps[j]<taps[min_tap]) min_tap=j;
        }
        
        // 更新该水龙头的总时间和全局总时间
        taps[min_tap]+=t[i];
        total+=taps[min_tap];
    }
    
    cout<<total;
    return 0;
}
/**************************************************************
	Problem: 1228
	User: zhengzihao
	Language: C++
	Result: Accepted
	Time:9 ms
	Memory:2076 kb
****************************************************************/