def solve(n,l,r,A): minus = [] plus = [] zero = [] for a in A: if a < 0: minus.append(a) elif a > 0: plus.append(a) else: zero.append(a) minus.sort() plus.sort() ans = 1 def solve1(plus,minus): ans = 1 minus += zero minus = minus[::-1] plus = zero + plus for i in range(len(minus)-1): for j in range(i+1,len(minus)): l1,l2 = minus[i],minus[i+1] r1,r2 = minus[j],minus[j-1] if l1*l2 >= l and r1*r2 <= r: ans = max(ans,j-i+1) for i in range(len(plus)-1): for j in range(i+1,len(plus)): l1,l2 = plus[i],plus[i+1] r1,r2 = plus[j],plus[j-1] if l1*l2 >= l and r1*r2 <= r: ans = max(ans,j-i+1) if ans > 1: return ans for i in range(len(minus)): for j in range(i): if l <= minus[i]*minus[j] <= r: ans = 2 for i in range(len(plus)): for j in range(i): if l <= plus[i]*plus[j] <= r: ans = 2 return ans def solve2(plus,minus): plus = zero + plus minus = minus[::-1] ans = 1 for i in range(len(plus)): for j in range(len(minus)): l1 = plus[i] if i: l2 = plus[i-1] else: l2 = 0 r1 = minus[j] if j: r2 = minus[j-1] else: r2 = 0 if l1*l2 <= r and r1*r2 <= r and l1*r1 >= l: ans = max(ans,j+i+2) return ans def solve3(plus,minus): ans = 1 for p in plus: for m in minus: if l <= p*m <= r: ans = 2 return ans if l >= 0: ans = solve1(plus[:],minus[:]) elif r < 0: ans = solve3(plus[:],minus[:]) else: ans = max(solve1(plus[:],minus[:]),solve2(plus[:],minus[:])) assert ans return ans n,l,r = map(int,input().split()) A = list(map(int,input().split())) ans = solve(n,l,r,A) print(ans)