#include using namespace std; #define int long long signed main(void) { int N, D, T; cin >> N >> D >> T; vector X(N); for(int i = 0; i < N; ++i) cin >> X[i]; map> m; for(int i = 0; i < N; ++i) m[X[i] % D].push_back(X[i] / D); int ans = 0; for(auto [_, v] : m) { sort(v.begin(), v.end()); int M = v.size(), fr = v.front() - T; for(int i = 0; i < M - 1; ++i) { if(v[i] + T < v[i + 1] - T) { ans += (v[i] + T) - fr + 1; fr = v[i + 1] - T; } } ans += (v.back() + T) - fr + 1; } cout << ans << endl; return 0; }