n = int(input()) d = list(map(int, input().split())) x, y = map(int, input().split()) D = max(abs(x), abs(y)) if D == 0: print(0) exit() max_d = max(d) all_even = all(di % 2 == 0 for di in d) all_odd = all(di % 2 == 1 for di in d) D_parity = D % 2 k_start = (D + max_d - 1) // max_d if all_even: if D_parity != 0: print(-1) else: print(k_start) elif all_odd: found_k = -1 # Check k_start and k_start +1 for k in [k_start, k_start + 1]: if k % 2 == D_parity and max_d * k >= D: found_k = k break print(found_k if found_k != -1 else -1) else: print(k_start)