N=int(input()) A=list(map(int,input().split())) if N>=100: N=100 A=A[:N] B=[1<<i for i in range(N)] tria=[] for i in range(N): a=A[i] b=B[i] for x,y in tria: if a^x<a: a=a^x b=b^y if a==0: ans_lst=[i for i in range(N) if b&1<<i] print(len(ans_lst)) print(*[ans+1 for ans in ans_lst]) break else: prev=tria tria=[] for x,y in prev: if x^a<x: x=x^a y=y^b tria.append((x,y)) tria.append((a,b)) else: print(-1)