#include <bits/stdc++.h>
using namespace std;
const long int MaxN=1e9+7;
int main() {
long int N,D,P;
cin>>N>>D>>P;
vector<long int> vec;
long int K;
for(int i=0;i<N;i++){
cin >> K;
vec.push_back(K);
}
sort(vec.begin(),vec.end());
long int T=1;
long int total=0;
while(T==1){
long int num=0;
//cout << vec.size();
int temp=vec.size()-1;
for(int i=temp;i>=temp-D+1 && i>=0;i--){
num+=vec[i];
//cout << vec[i] << ' ';
}
//cout << '\n';
//cout << num << '\n';
if(num>P){
for(int i=0;i<D && i<temp+1;i++){
vec.pop_back();
// cout << i << ' ';
}//cout << '\n';
total+=P;
}else{
T=0;
}
}
int X=vec.size();
//cout << vec.size() << ' '<<vec[0];
if(X>0){
for(int i=0;i<vec.size();i++){
total+=vec[i];
}
}
cout << total << '\n';
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7Cgpjb25zdCBsb25nIGludCBNYXhOPTFlOSs3OwoKaW50IG1haW4oKSB7Cglsb25nIGludCBOLEQsUDsKCWNpbj4+Tj4+RD4+UDsKCXZlY3Rvcjxsb25nIGludD4gdmVjOwoJbG9uZyBpbnQgSzsKCWZvcihpbnQgaT0wO2k8TjtpKyspewoJCWNpbiA+PiBLOwoJCXZlYy5wdXNoX2JhY2soSyk7Cgl9Cglzb3J0KHZlYy5iZWdpbigpLHZlYy5lbmQoKSk7Cglsb25nIGludCBUPTE7Cglsb25nIGludCB0b3RhbD0wOwoJd2hpbGUoVD09MSl7CgkJbG9uZyBpbnQgbnVtPTA7CgkJLy9jb3V0IDw8IHZlYy5zaXplKCk7CgkJaW50IHRlbXA9dmVjLnNpemUoKS0xOwoJCWZvcihpbnQgaT10ZW1wO2k+PXRlbXAtRCsxICYmIGk+PTA7aS0tKXsKCQkJbnVtKz12ZWNbaV07CgkJCS8vY291dCA8PCB2ZWNbaV0gPDwgJyAnOwoJCX0KCQkvL2NvdXQgPDwgJ1xuJzsKCQkvL2NvdXQgPDwgbnVtIDw8ICdcbic7CgkJaWYobnVtPlApewoJCQkKCQkJZm9yKGludCBpPTA7aTxEICYmIGk8dGVtcCsxO2krKyl7CgkJCQl2ZWMucG9wX2JhY2soKTsKCQkJLy8JY291dCA8PCBpIDw8ICcgJzsKCQkJfS8vY291dCA8PCAnXG4nOwoJCQl0b3RhbCs9UDsKCQl9ZWxzZXsKCQkJVD0wOwoJCX0KCX0KCWludCBYPXZlYy5zaXplKCk7CgkvL2NvdXQgPDwgdmVjLnNpemUoKSA8PCAnICc8PHZlY1swXTsKCWlmKFg+MCl7CgkJZm9yKGludCBpPTA7aTx2ZWMuc2l6ZSgpO2krKyl7CgkJCXRvdGFsKz12ZWNbaV07CgkJfQoJfQoJY291dCA8PCB0b3RhbCA8PCAnXG4nOwoJCn0=