N,D,T = map(int,raw_input().split()) A = {} X = map(int,raw_input().split()) for x in X: if x%D not in A: A[x%D] = [[x/D-T, x/D+T]] else: A[x%D].append([x/D-T,x/D+T]) A = [a for a in A.values()] B = [] for a in A: B.append([a[0]]) for ai in a[1:]: if B[-1][-1][1] >= ai[0]: B[-1][-1][1] = max(B[-1][-1][1],ai[1]) else: B[-1].append(ai) ans = sum(sum(bi[1]+1-bi[0] for bi in b) for b in B) print ans