Problem:
一般化うるう年

通常，西暦 x 年がうるう年か否かは以下のように定義されている．

x が 400 の倍数であれば，うるう年である．

そうでないとき，x が 100 の倍数であれば，うるう年ではない．

そうでないとき，x が 4 の倍数であれば，うるう年である．

そうでないとき，うるう年ではない．

これは次のように一般化できる．ある数列 A1, ..., An について，西暦 x 年が "一般化うるう年" であるか否かを以下のように定義する．

x が Ai の倍数であるような最小の i (1 ≤ i ≤ n) について，i が奇数であれば一般化うるう年であり，偶数であれば一般化うるう年ではない．

そのような i が存在しないとき，n が奇数であれば一般化うるう年ではなく，偶数であれば一般化うるう年である．

例えば A = [400, 100, 4] のとき，この A に対する一般化うるう年は通常のうるう年と等価になる．

数列 A1, ..., An と正の整数 l, r が与えられるので．l ≤ x ≤ r なる正の整数 x のうち，西暦 x 年が A に対する一般化うるう年であるような x の個数を答えよ．

Input

入力は最大で 50 個のデータセットからなる．各データセットは次の形式で表される．

n l r
A1
A2
...
An

整数 n は 1 ≤ n ≤ 50 を満たす．整数 l,r は1 ≤ l ≤ r ≤ 4000 を満たす．各 i に対し整数 Ai は 1 ≤ Ai ≤ 4000 を満たす．

入力の終わりは 3 つのゼロからなる行で表される．

Output

各データセットについて，答えを 1 行で出力せよ．

Sample Input

3 1988 2014
400
100
4
1 1000 1999
1
2 1111 3333
2
2
6 2000 3000
5
7
11
9
3
13
0 0 0

Output for the Sample Input

7
1000
2223
785

Solution in Ruby (judge verdict: Accepted)

while true
    n, l, r = gets.chomp.split.map(&:to_i)
    break if [n, l, r] == [0, 0, 0]
    arr = []
    n.times{arr << gets.to_i}
    sum = 0
    l.upto(r){|x|
        found = false
        arr.each_with_index{|y, i|
            if x % y == 0
                sum += 1 if i.even?
                found = true
                break
            end
        }
        sum += 1 if n.even? if !found
    }
    puts sum
end