from collections import defaultdict,deque import sys,heapq,bisect,math,itertools,string,queue,datetime sys.setrecursionlimit(10**8) INF = float('inf') mod = 10**9+7 eps = 10**-7 def inpl(): return list(map(int, input().split())) def inpls(): return list(input().split()) N,D,T = inpl() xx = inpl() d_ed = set() d_xx = defaultdict(set) for x in xx: d = x%D d_ed.add(d) d_xx[d].add(x) ans = 0 for d in d_ed: tmp = 0 brx = -INF for x in sorted(list(d_xx[d])): lx = max(x - D*T, brx + D) rx = x + D*T tmp += (rx-lx)//D+1 brx = rx ans += tmp print(ans)