from collections import defaultdict,Counter,deque from heapq import heappush,heappop,heapify from bisect import bisect,bisect_left from itertools import product,permutations,combinations,combinations_with_replacement from math import gcd import sys from functools import lru_cache if len(sys.argv)==2:sys.stdin=open(sys.argv[1]) input=sys.stdin.readline sys.setrecursionlimit(10**9) N,A,B=map(int,input().split()) X=list(map(int,input().split())) C=[-1]*N c=0 q=[] ans=dict() for i,x in enumerate(X): if C[i]<0: res=0 q.append(i) C[i]=c while q: i=q.pop() res+=1 x=X[i] j=bisect(X,x-A)-1 while j>=0 and x-X[j]<=B: if C[j]<0: C[j]=c q.append(j) j-=1 j=bisect_left(X,x+A) while j