def find_triplet(a): from collections import defaultdict # 要素をキー、インデックスのリストを値とする辞書を作成 index_map = defaultdict(list) for idx, num in enumerate(a): index_map[num].append(idx) n = len(a) # 各要素a[k]を基準に探索 for k in range(n): target = a[k] for i in range(n): a_i = a[i] a_j = target ^ a_i # a[j] = a[k] XOR a[i] if a_j in index_map: # a[j] が存在する場合、そのインデックスを取得 for j in index_map[a_j]: if j != k and j != i: # 異なるインデックスであることを確認 return (i, j, k) return None # 使用例 n = int(input()) a = list(map(int, input().split(' '))) for i in range(n): if a[i] == 0: print(1) print(i+1) exit() from collections import Counter cnt = Counter(a) for key,val in cnt.items(): if val >= 2: ans = [] for i in range(n): if a[i] == key: ans.append(i+1) if len(ans) == 2: break print(2) print(*ans) exit() result = find_triplet(a) if result: i, j, k = result print(3) ans = [i+1,j+1,k+1] ans.sort() print(*ans) else: print(-1)