#include #define rep(i,a,b) for(int i=a;i=b;i--) #define fore(i,a) for(auto &i:a) #define all(x) (x).begin(),(x).end() #pragma GCC optimize ("-O3") using namespace std; void _main(); int main() { cin.tie(0); ios::sync_with_stdio(false); _main(); } typedef long long ll; const int inf = INT_MAX / 2; const ll infl = 1LL << 60; templatebool chmax(T &a, const T &b) { if (abool chmin(T &a, const T &b) { if (b odd; rep(i, 0, N) if (D[i] % 2 == 1) odd.push_back(D[i]); sort(all(odd)); rep(i, 0, N) if(D[i] % 2 == 0) { int j = lower_bound(all(odd), abs(ma - D[i])) - odd.begin(); if (j < odd.size() and check(D[i], odd[j], ma)) return 2; if (0 <= j - 1 and check(D[i], odd[j - 1], ma)) return 2; } } return -1; } //--------------------------------------------------------------------------------------------------- void _main() { while (cin >> N) { rep(i, 0, N) cin >> D[i]; cin >> X >> Y; cout << solve() << endl; } }