using namespace std;

#include <iostream>
#include <fstream>
#include <queue>

int N,M,L;

int main() {
	cin >> N >> M >> L;

	int curLimit = 0;
	queue<int> q;
	int ans = 0;
	// cout << "done" << endl;
	for(int i = 0;i < N;++i) {
		int cur;
		cin >> cur;
		int last = -1;
		while(q.size() > 0 && q.front() < cur) {
			curLimit--;
			last = q.front();
			q.pop();
		}
		if(last != - 1 && curLimit == 0) {
			ans += cur - last - 1;
		}
		if(curLimit == L) {
			q.push(q.front() + M);
			q.pop();
		}
		if(curLimit < L) {
			q.push(cur + M - 1);
			curLimit++;
		}
	}
	cout << ans << endl;
}