#include #define ll long long #define INF 1000000005 #define MOD 1000000007 #define EPS 1e-10 #define rep(i,n) for(int i=0;i<(int)n;++i) #define each(a, b) for(auto (a): (b)) #define all(v) (v).begin(),(v).end() #define fi first #define se second #define pb push_back #define show(x) cout <<#x<<" = "<<(x)<P; const int MAX_N = 100005; int n,L,H; vector vec; ll gcd(ll a,ll b) { if(a % b == 0){ return b; }else{ return gcd(b,a%b); } } ll solve(ll u) { ll res = 0; for(int i=1;i<(1 << n);i++){ int num = 0; int bf = i; while(bf){ if(bf & 1){ num++; } bf >>= 1; } ll lcm = 1; rep(j,n){ if(i & (1 << j)){ lcm = lcm / gcd(lcm,vec[j]) * vec[j]; if(lcm > u){ break; } } } if(num % 2 == 0){ res -= num * (u / lcm); }else{ res += num * (u / lcm); } } return res; } int main() { cin >> n >> L >> H; rep(i,n){ int a; cin >> a; vec.pb(a); } cout << solve(H) - solve(L-1) << endl; return 0; }