#include using namespace std; int main(){ ios_base::sync_with_stdio(false); cin.tie(nullptr); long long N,D,T; cin >> N >> D >> T; map> X; for(int i=0; i> x; int p = x%D+D; p %= D; X[p].push_back((x-p)/D); } long long answer = 0; for(auto [ign,A] : X){ sort(A.begin(),A.end()); A.erase(unique(A.begin(),A.end()),A.end()); priority_queue> Q; for(auto x : A) Q.push({x+T,1}),Q.push({x-T-1,-1}); long long now = 0,back = 1e18; while(Q.size()){ auto [x,add] = Q.top(); Q.pop(); if(now > 0) answer += back-x; now += add; back = x; } } cout << answer << endl; }