I=input J=int P=print N=J(I()) T=I().split() A={} s=0 for i in range(N): a=J(T[i]) A[i+1]=a s^=a t=min(s,1) P(t) while len(A)!=0: if t==0: T=I().split() i=J(T[0]) k=J(T[1]) s=A[i] if s==k:del(A[i]) else: A[i]-=k s^=s-k else: m=0 L=list(A) for i in L: a=A[i] d=a-(a^s) if d==a: P(i,a) del(A[i]) m=-1 break; if m