#include <bits/stdc++.h>
using namespace std;
const int SIZE = 100001;
int N;
long E, T;
long x[SIZE];
int main(void) {
  cin >> N >> E >> T;
  for (int i = 1; i <= N; i++) {
    cin >> x[i];
  }
  long ans = E + T * N;
  for (int i = 1; i <= N;) {
    int m = i;
    long d = 0;
    for (int j = i + 1; j <= N; j++) {
      long d1 = (x[j] - x[i]) + (j - i + 1) * T;
      long d2 = (x[j] - x[i]) * 3 + max(T - (x[j] - x[i]) * 2, 0l);
      if (d < d1 - d2) {
        m = j;
        d = d1 - d2;
      }
    }
    ans -= d;
    i = m + 1;
  }
  cout << ans << endl;
  return 0;
}
