from collections import defaultdict N,D,T = map(int,raw_input().split()) X = map(int,raw_input().split()) X.sort() same_rem = defaultdict(list) for x in X: same_rem[(x+D)%D].append(x) ans = 0 for l in same_rem.itervalues(): n = len(l) ans += n + T*2 for i in xrange(n-1): if l[i] + T*D < l[i+1] - T*D: ans += T*2 else: ans += (l[i+1] - l[i])/D - 1 print ans