#include "bits/stdc++.h" using namespace std; long long int gcd(long long int l, long long int r) { assert(l > 0 && r > 0); if (l > r)return gcd(r, l); else { const long long int num = r%l; if (num) { return gcd(l, num); } else { return l; } } } long long int lca(long long int l, long long int r) { return l / gcd(l, r)*r; } int solve(vectorcs, long long int K) { long long int sum = 0; vectormemo(1 << cs.size()); for (int i = 0; i < cs.size(); ++i) { memo[(1 << i)] = 1; } for (int i = 0; i < (1 << cs.size()); ++i) { bitset<10>bs(i); long long int alca = 1; for (int j = 0; j < cs.size(); ++j) { if (bs[j]) { alca = lca(alca, cs[j]); if (alca > 1e9)break; } } for (int l = 0; l < (1<< cs.size()); ++l) { bitset<10>as(l); bool flag = true; if (l == i)continue; for (int j = 0; j < cs.size(); ++j) { if (bs[j] && !as[j])flag = false; } if (flag) { memo[l]-=memo[i]; } } sum +=memo[i]*( K / alca); } return sum; } int main() { int N, L, H; cin >> N >> L >> H; vectorcs; for (int i = 0; i < N; ++i) { int c; cin >> c; cs.emplace_back(c); } int ans = solve(cs, H) - solve(cs, L - 1); cout << ans << endl; return 0; }