#include <bits/stdc++.h>
using namespace std;
int n, e, t;
int x[2000];
int main() {
  ios::sync_with_stdio(0);
  cin.tie(0);
  cin >> n >> e >> t;
  if (n > 2000) return 0;
  for (int i = 0; i < (int)(n); i++) cin >> x[i];
  long long dp[2001];
  fill_n(dp, n + 1, 1LL << 60);
  dp[0] = x[0];
  for (int i = 0; i < (int)(n); i++) {
    for (int j = i; j < n; j++) {
      long long d = x[j] - x[i];
      long long nxt = (j + 1 == n ? e : x[j + 1]) - x[j];
      long long c = t <= 2 * d ? 3 * d : 3 * d + (t - d * 2);
      dp[j + 1] = min(dp[j + 1], dp[i] + c + nxt);
    }
  }
  cout << dp[n] << endl;
  return 0;
}
