#include <iostream>
#include <vector>
#include <bitset>
#include <cstring>
#include <queue>
#include <stack>
#include <algorithm>
#include <set>
#include <map>
using namespace std;
typedef long long ll;

int main(){
	cin.tie(nullptr);
	ios::sync_with_stdio(false);
	int n,m,t; cin >> n >> m >> t;
	vector<int> a(n);
	for(int i=0;i<n;i++){
		cin >> a[i];
	}
	a.push_back(0);
	a.push_back(t);
	int ans=0;
	sort(a.begin(),a.end());
	for(int i=0;i<n+1;i++){
		if(i!=0&&i!=n)ans+=max(0,a[i+1]-a[i]-m-m);
		else ans+=max(0,a[i+1]-a[i]-m);
	}
	cout << ans << endl;
}
