import sys, threading N = int(input()) A_list = list(map(int, input().split())) basis, comb = [0]*60, [None]*60 for idx, Ai in enumerate(A_list): v, cmb = Ai, {idx: 1} for k in reversed(range(60)): if (v >> k) & 1: if not basis[k]: basis[k], comb[k] = v, cmb.copy() break v ^= basis[k] for key, val in comb[k].items(): cmb[key] = (cmb.get(key, 0) + val) % 2 else: ans = sorted(i+1 for i, cnt in cmb.items() if cnt % 2) print(len(ans)) print(' '.join(map(str, ans))) exit() print(-1) threading.Thread(target=lambda: None).start()