N=int(input()) A=list(map(int,input().split())) B=[];C=[];p=1 for i in range(min(N,70)): B.append(A[i]) C.append(p) p*=2 p,q=0,0;D=[] for i in range(min(N,70)): a,b=B[i],C[i] for x,y in D: if a^x<a: a^=x;b^=y if a==0: ans=[] s=str(bin(b)) for j in range(len(s)-2): if s[-1-j]=='1': ans.append(j+1) print(len(ans)) print(*ans) exit() DD=[] for x,y in D: if x^a<x: x^=a;y^=b DD.append((x,y)) DD.append((a,b)) D=DD print(-1)