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)