import sys from math import gcd def main(): input = sys.stdin.read().split() N = int(input[0]) L = int(input[1]) H = int(input[2]) C = list(map(int, input[3:3+N])) answer = 0 for i in range(N): ci = C[i] A = H // ci - (L - 1) // ci if A <= 0: continue has_one = False D = [] for j in range(N): if j == i: continue cj = C[j] g = gcd(ci, cj) dj = cj // g if dj == 1: has_one = True break D.append(dj) if has_one: continue m = len(D) if m == 0: answer += A continue k_start = (L + ci - 1) // ci k_end = H // ci if k_start > k_end: continue B = 0 for mask in range(1, 1 << m): bits = bin(mask).count('1') current_lcm = 1 valid = True for idx in range(m): if mask & (1 << idx): d = D[idx] g = gcd(current_lcm, d) new_lcm = (current_lcm // g) * d if new_lcm > k_end: valid = False break current_lcm = new_lcm if not valid: continue cnt = (k_end // current_lcm) - ((k_start - 1) // current_lcm) if cnt > 0: if bits % 2 == 1: B += cnt else: B -= cnt answer += (A - B) print(answer) if __name__ == "__main__": main()