#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
typedef pair<int,int> pii;
typedef pair<ll,ll> pll;
const int maxn=1e6+5;
vector<ll> V;
ll pre[maxn];
int main() {
	ll n,x,y,z=0;cin>>n;
    for(int i=1;i<=n;i++) cin>>pre[i];
    for(int i=3;i<=n;i++) z^=pre[i];x=pre[1];y=pre[2];
    z=x+y-z;if(z%2||z<0||z/2>x) return 0*puts("-1");z/=2;
    ll a=z,now=x+y-2*z;
    for(int i=60;i>=0;i--) {
    	if((now&(1ll<<i))&&(a&(1ll<<i))) {
    		return 0*puts("-1");
    	}
    	if(now&(1ll<<i)&&(a+(1ll<<i)<=x))  a+=(1ll<<i);
    }
    if(a==0) puts("-1");
    else cout<<x-a<<endl;
    return 0;
}