#include #include #include #include using namespace std; typedef long long LL; typedef pair LLLL; typedef set LLLLSet; int main(int argc, char *argv[]) { LL N, D, T; string s; getline(cin, s); stringstream sa(s); sa >> N >> D >> T; getline(cin, s); stringstream sb(s); LLLLSet y; LL ans = (T * 2 + 1) * N; for (LL i = 0; i < N; ++i) { LL x; sb >> x; LL a = x - D * T, b = x + D * T; LL c = ((a % D) + D) % D; for (LLLL r : y) { LL d = r.first; LL e = r.second; LL f = ((d % D) + D) % D; if (c == f) { if (a >= d && a <= e) { ans -= (e - a + D) / D; } else if (b >= d && b <= e) { ans -= (d - b + D) / D; } } } y.insert(LLLL(a, b)); } cout << ans << endl; return 0; }