#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;

// ?£???????????????????????????±?????????????????§?????????+2, ?£????+0 ??????????°?????????????
// ??¬??\???????????????????????§???????????????
// ?£????+0??????????????¨??§????´???????????????°?????????????????????????????§????????????

int main() {
    long long N,P,Q; cin >> N >> P >> Q;
    vector<long long> cs;

    for (int i=0; i<N; ++i) {
        long long c; cin >> c;
        cs.push_back(c + P*i); // ?£??????????P*(k-1)????¶?????????????, k??\????????????,?£???????????????§???P*(k-1)????????????
    }

    sort(cs.rbegin(), cs.rend());

    long long ans = P*Q*N + P*N*(N-1); // ??¨??¨??????
    long long dining_sum = 0;
    for (int i=1; i<=N; ++i) { // i????£?????????????????????¨???
        long long self_catering = P*Q*(N-i) + P*(N-i)*(N-i-1);
        dining_sum += cs[i - 1];
        ans = max(ans, self_catering + dining_sum);
    }

    // ?????´
    for (int i=0; i<N; ++i) ans -= P*i;
    cout << ans << endl;

    return 0;
}