#include using namespace std; #include using namespace atcoder; using ll = long long; ll n,d,t; vector x; using P = pair; void solve(){ map> mp; sort(x.begin(),x.end()); for(ll i = 0;i> vvp; for(auto &i:mp){ vvp.push_back(i.second); } for(auto &i:vvp){ for(auto &[l,r]:i){ l -= d*t; r += d*t; } } for(auto &i:vvp){ vector

add; for(auto &j:i){ if(add.empty()){ add.push_back(j); }else{ //cout<= j.first){ add.back().second = j.second; }else{ add.push_back(j); } } } i = add; } ll ans = 0; for(auto &i:vvp){ for(auto &[l,r]:i){ ans += (r-l+d-1)/d; } } cout<> n >> d >> t; x = vector(n); for(auto &i:x)cin >> i; solve(); }