图片来源:Unsplash
照顾猫咪可不是一件容易的事。你需要时刻让它们保持开心,并确保公平地对待你的所有猫咪。
一天,你下班回家,发现你的 $n$ 只猫咪正急切地等待着糖果。你有 $n$ 盒糖果,其中第 $i$ 个盒子装有 $c_i$ 颗糖果。你想选择这些盒子中的一个非空子集,将它们打开并全部用完。当然,你想公平地对待所有的猫咪,因此你需要确保从这些盒子中获得的糖果总数能够平分给你的 $n$ 只猫咪。
你能否找到一个非空的糖果盒子集,满足上述条件?你不需要使该子集的大小最小。
输入格式
输入的第一行包含一个整数 $n$ ($1 \le n \le 10^6$),表示猫咪的数量以及糖果盒的数量。
第二行包含 $n$ 个空格分隔的整数,其中第 $i$ 个整数 $c_i$ ($1 \le c_i \le 10^9$) 表示第 $i$ 个盒子中的糖果数量。注意,盒子的编号为 $1$ 到 $n$。
输出格式
如果无解,输出一个整数 $-1$。
否则,在输出的第一行,输出 $m$ ($1 \le m \le n$),表示你选择的子集中的元素个数。
在输出的第二行,输出 $m$ 个空格分隔的整数,对应你选择的子集中糖果盒的编号。糖果盒的编号可以按任意顺序输出。如果存在多个解,你可以输出其中任意一个。
样例
输入样例 1
4 3 2 3 1
输出样例 1
2 1 4
输入样例 2
5 4 2 6 1 2
输出样例 2
3 2 3 5
输入样例 3
9 1 2 3 10 20 30 100 200 300
输出样例 3
4 1 3 5 9