#include<bits/stdc++.h>
using namespace std;

long long int dp[100010];

int x[100010];

int main(){
	ios_base::sync_with_stdio(0);
	cin.tie(0);
	int n,e,t;
	cin>>n>>e>>t;
	for(int i=1;i<=n;i++)
		cin>>x[i];
	long long int trans = 1e18;
	int p=0;
	for(int i=1;i<=n;i++)
		dp[i]=1e18;
	for(int i=1;i<=n;i++){
		while(p+1<=i&&(x[i]-x[p+1])*2>=t)
			trans=min(trans,dp[p]-2*x[p+1]),p++;
		dp[i]=min(x[i]*2+trans,dp[i]);
		if(p!=i)
			dp[i]=min(dp[i],t+dp[p]);
	}
	cout<<dp[n]+e<<endl;
}
