from collections import defaultdict pair=defaultdict(list) ind=defaultdict(int) M=int(input()) B=list(map(int,input().split())) def dfs(S,c): if len(S)<=2: if len(S)==2: a,b=list(S) if pair[a^b]!=[]: ans=[ind[a],ind[b]] for i in pair[a^b]: ans.append(i) print(len(ans)) print(*ans) exit() else: pair[a^b]=[ind[a],ind[b]] if len(S)==1: S=list(S) a=S[0] if pair[a]!=[]: ans=[ind[a]] for i in pair[a^b]: ans.append(i) print(len(ans)) print(*ans) exit() else: pair[a]=[ind[a]] else: s0=set() s1=set() for i in S: if (2**c)&i==0: s0.add(i) else: s1.add(i) dfs(s0,c-1) dfs(s1,c-1) for i in range(M): if ind[B[i]]!=0: print(2) print(ind[B[i]],i+1) exit() elif B[i]==0: print(1) print(i+1) exit() ind[B[i]]=i+1 dfs(set(B),59) print(-1)