#include <bits/stdc++.h>
using namespace std;
using ll = long long;
using ull = unsigned long long;
using pii = pair<int, int>;
using pll = pair<ll, ll>;
template <class T>
inline bool Min(T &a, T b) {
  return a > b ? (a = b, true) : false;
}
template <class T>
inline bool Max(T &a, T b) {
  return a < b ? (a = b, true) : false;
}
inline int ni() {
  int a;
  scanf("%d", &a);
  return a;
}
inline ll nl() {
  ll a;
  scanf("%lld", &a);
  return a;
}
inline double nd() {
  double a;
  scanf("%lf", &a);
  return a;
}
inline void pi(int a) { printf("%d ", a); }
inline void pl(ll a) { printf("%lld ", a); }
inline void pd(double a) { printf("%.12lf ", a); }
void solve() {
  int n = ni();
  vector<int> xs(n);
  for (int i = 0; i < (int)(n); ++i) xs[i] = ni();
  sort((xs).begin(), (xs).end());
  xs.resize(unique((xs).begin(), (xs).end()) - xs.begin());
  n = xs.size();
  int a = ni();
  int b = ni();
  int ans = 0;
  while (a > b) {
    int a1 = a - 1;
    for (int i = int(xs.size()) - 1; i >= 0; i--) {
      int cur = a - a % xs[i];
      if (cur >= b) Min(a1, cur);
    }
    while (xs.size() and a - a % xs.back() < b) xs.pop_back();
    a = a1;
    ans++;
  }
  cout << ans;
}
int main() {
  ios_base::sync_with_stdio(false);
  cin.tie(0);
  cout.tie(0);
  solve();
  return 0;
}
