#include <bits/stdc++.h>
long long dp[100005];
int arr[100005];
int main() {
  int n, e, t;
  scanf("%d%d%d", &n, &e, &t);
  for (int i = 1; i <= n; i++) scanf("%d", arr + i);
  memset(dp, 0x3f, sizeof(dp));
  dp[0] = 0;
  for (int i = 1; i <= n; i++) {
    for (int j = 0; j < i; j++)
      dp[i] = std::min(dp[i], dp[j] + std::max(t, arr[i] - arr[j + 1] << 1));
  }
  printf("%lld\n", dp[n] + e);
  return 0;
}
