#include<bits/stdc++.h>

using namespace std;

struct I{I(){ios::sync_with_stdio(false);cin.tie(0);}}init;
typedef long long LL;
typedef vector<LL> V;

int main(){
    int N;LL P,Q;
    cin>>N>>P>>Q;
    V C(N);for(auto &it:C)cin>>it;
    reverse(C.begin(),C.end());
    
    LL sum=0;
    for(int i=0;i<N;i++){
        C[i]-=i*P;
        sum+=P*(Q++);
    }
    Q--;
    LL res=sum;
    sort(C.begin(),C.end());
    reverse(C.begin(),C.end());
    for(int i=0;i<N;i++,Q-=2){
        sum+=C[i]-P*(Q);
        res=max(res,sum);
    }
    cout<<res<<endl;
    
    return 0;
}