import sys def main(): input = sys.stdin.readline # 读取输入 n = int(input()) a = list(map(int, input().split())) b = list(map(int, input().split())) # 把每个位置的 (a, b, id) 打包,方便排序和选择 nodes = [[a[i], b[i], i+1] for i in range(n)] # Step1: 按 a 从大到小排序 # - 确保选择的子集在 A 上容易超过总和的一半 nodes.sort(key=lambda x: x[0], reverse=True) # Step2: 构造子集 result = [] # 一定要包含第一个元素(a 最大的那个) result.append(nodes[0][2]) # Step3: 处理成对的元素 # - 每次看两个元素,取 b 更大的那个 # - 这样可以保证在 B 上的和尽量大 for i in range(1, n-1, 2): if nodes[i][1] >= nodes[i + 1][1]: result.append(nodes[i][2]) else: result.append(nodes[i + 1][2]) # Step4: 如果 n 是偶数,多出来的最后一个元素单独加入 if n % 2 == 0: result.append(nodes[n - 1][2]) # Step5: 输出结果 # - 按升序输出下标(题目要求) result.sort() print(len(result)) print(*result) if __name__ == "__main__": main()