#include <bits/stdc++.h>
typedef long long ll;
using namespace std;
const int MAXN=1e5+5;
const ll inf=(1ll<<63-1);
ll a[MAXN];
ll dp[MAXN];
int main()
{
 
    ll n,e,t;
    cin>>n>>e>>t;
    for(int i=1;i<=n;i++)
    {
        cin>>a[i];
    }
    memset(dp,(ll)0x3f3f3f3f,sizeof(dp));
    dp[0]=0;
    ll mn=inf;
    for(int i=1,now=0;i<=n;i++){
        while(t<=2*(a[i]-a[now+1]))
        {
            mn=min(mn,dp[now]-2*a[now+1]);
            now++;
        }
        dp[i]=dp[now]+t;
        dp[i]=min(dp[i],mn+2*a[i]);
 
    }
    cout<<e+dp[n]<<endl;
    return 0;
 
}