You are given a sequence of positive integers $*x*_{1}, *x*_{2}, ..., *x*_{*n*}$ and two non-negative integers $*a*$ and $*b*$. Your task is to transform $*a*$ into $*b*$. To do that, you can perform the following moves:
- subtract 1 from the current
$*a*$; - subtract
$*a*$mod$*x*_{*i*}$$(1 ≤ *i* ≤ *n*)$from the current$*a*$.
Operation $*a*$ mod $*x*_{*i*}$ means taking the remainder after division of number $*a*$ by number $*x*_{*i*}$.
Now you want to know the minimum number of moves needed to transform $*a*$ into $*b*$.
Input
The first line contains a single integer $*n*$ ($1 ≤ *n* ≤ 10^{5}$). The second line contains $*n*$ space-separated integers $*x*_{1}, *x*_{2}, ..., *x*_{*n*}$ ($2 ≤ *x*_{*i*} ≤ 10^{9}$). The third line contains two integers $*a*$ and $*b*$ ($0 ≤ *b* ≤ *a* ≤ 10^{9}$, $*a* - *b* ≤ 10^{6}$).
Output
Print a single integer — the required minimum number of moves needed to transform number $*a*$ into number $*b*$.
样例
3
3 4 5
30 17
6
3
5 6 7
1000 200
206
题面与样例版权归 Codeforces 及出题人所有;中文翻译由 AI 生成(CI 管线),如有出入请以原文为准。