There are quite a lot of ways to have fun with inflatable balloons. For example, you can fill them with water and see what happens.

Grigory and Andrew have the same opinion. So, once upon a time, they went to the shop and bought $n$ packets with inflatable balloons, where $i$-th of them has exactly $a_i$ balloons inside.

They want to divide the balloons among themselves. In addition, there are several conditions to hold:

  Do not rip the packets (both Grigory and Andrew should get unbroken packets);  Distribute all packets (every packet should be given to someone);  Give both Grigory and Andrew at least one packet;  To provide more fun, the total number of balloons in Grigory's packets should not be equal to the total number of balloons in Andrew's packets. 

Help them to divide the balloons or determine that it's impossible under these conditions.


-----Input-----

The first line of input contains a single integer $n$ ($1 \le n \le 10$) — the number of packets with balloons.

The second line contains $n$ integers: $a_1$, $a_2$, $\ldots$, $a_n$ ($1 \le a_i \le 1000$) — the number of balloons inside the corresponding packet.


-----Output-----

If it's impossible to divide the balloons satisfying the conditions above, print $-1$.

Otherwise, print an integer $k$ — the number of packets to give to Grigory followed by $k$ distinct integers from $1$ to $n$ — the indices of those. The order of packets doesn't matter.

If there are multiple ways to divide balloons, output any of them.


-----Examples-----
Input
3
1 2 1

Output
2
1 2

Input
2
5 5

Output
-1

Input
1
10

Output
-1



-----Note-----

In the first test Grigory gets $3$ balloons in total while Andrey gets $1$.

In the second test there's only one way to divide the packets which leads to equal numbers of balloons.

In the third test one of the boys won't get a packet at all.

Source: codeforces | Difficulty: EASY
Tags: Implementation

Constructive algorithms


Solutions:
n = int(input())
L = [int(x) for x in input().split()]
if len(L) == 1:
	print(-1)
elif len(L) == 2 and L[0] == L[1]:
	print(-1)
else:
	print(1)
	print(L.index(min(L)) + 1)


import math
getInputList = lambda : list(input().split())
getInputIntList = lambda : list(map(int, input().split()))
n = int(input())
arr = getInputIntList()
if n == 1:
	print(-1)
elif n == 2 and arr[0] == arr[1]:
	print(-1)
else:
	print(1)
	print(arr.index(min(arr)) + 1)


n = int(input())
s = list(map(int, input().split()))
if n == 1:
	print(-1)
elif n == 2 and s[0] == s[1]:
	print(-1)
else:
	print(1)
	min = s[0]
	minval = 0
	for i in range(1, n):
		if s[i] < min:
			min = s[i]
			minval = i
	print(minval + 1)


n = int(input())
a = (*map(int, input().split()),)
x = a.index(min(a))
print([-1, f'1\n{x + 1}'][n > 1 and a[x] < 0 - -sum(a) // 2])


n = int(input())
A = [int(x) for x in input().split()]
if n == 1:
	print('-1')
elif n == 2 and A[0] == A[1]:
	print('-1')
else:
	m = min(A)
	print('1')
	print(A.index(m) + 1)


Input = lambda : map(int, input().split())
n = int(input())
Packet = list(Input())
if n == 1 or (n == 2 and Packet[0] == Packet[1]):
	print(-1)
	exit()
print(1)
print(Packet.index(min(Packet)) + 1)


n = int(input())
a = [int(x) for x in input().split()]
s = sum(a)
y = set(a)
l = []
x = 0
ind = 0
if n == 1 or (len(y) == 1 and n == 2):
	print(-1)
else:
	while True:
		x += a[ind]
		l.append(str(ind + 1))
		ind += 1
		if x != s / 2:
			break
	print(len(l))
	print(' '.join(l))


import sys
n = int(input())
a = []
sum = 0
a = input().split()
for i in range(n):
	a[i] = int(a[i])
	sum += a[i]
for i in range(n):
	if a[i] != sum and a[i] * 2 != sum:
		print(1)
		print(i + 1)
		sys.exit(0)
print(-1)


n = int(input())
arr = list(map(int, input().split()))
if n < 2:
	print(-1)
elif n == 2:
	if arr[0] == arr[1]:
		print(-1)
	else:
		print(1)
		print(1)
else:
	mi = arr[0]
	ind = 0
	for i in range(n):
		if arr[i] < mi:
			mi = arr[i]
			ind = i
	print(1)
	print(ind + 1)


n = int(input())
daf = list(map(int, input().split()))
has = []
total = 0
total_daf = sum(daf)
for i in range(n - 1):
	has.append(i + 1)
	total += daf[i]
	if total != total_daf - total:
		print(len(has))
		print(*has)
		break
else:
	print(-1)


sum = 0
flag = 0
m = [0] * 2005
n = int(input())
a = list(map(int, input().split()))
for i in range(n):
	sum += a[i]
	m[a[i]] = i + 1
a.sort(reverse=True)
if n > 1:
	for i in range(n):
		if a[i] < sum / 2:
			print(1)
			print(m[a[i]])
			flag = 1
			break
if flag != 1:
	print(-1)


n = int(input())
a = list(map(int, input().split()))
if n == 1:
	print(-1)
else:
	aa = a.copy()
	a.sort()
	g = a[0]
	an = sum(a[1:])
	if g == an:
		print(-1)
	else:
		print(1)
		print(aa.index(g) + 1)


number_of_packs = int(input())
pack_contents = input()
pack_contents = [int(i) for i in pack_contents.split(' ')]
answer = 0
for i in range(number_of_packs):
	if pack_contents[i] == sum(pack_contents) - pack_contents[i]:
		continue
	if number_of_packs == 1:
		answer = -1
		break
	else:
		answer = i + 1
		break
if answer == 0:
	answer = -1
if answer == -1:
	print(answer)
else:
	print(1)
	print(answer)


n = int(input().strip())
andrew = list(map(int, input().strip().split()))
grigory = [min(andrew)]
i = andrew.index(min(andrew))
andrew[i] = 0
if sum(andrew) == sum(grigory) or n == 1:
	print(-1)
else:
	print(1)
	print(i + 1)


n = int(input())
a = list(map(int, input().split(' ')))
if n == 1:
	print(-1)
elif n == 2:
	if a[0] == a[1]:
		print(-1)
	else:
		print(1)
		print(1)
else:
	sum = sum(a)
	if sum % 2 != 0:
		print(1)
		print(1)
	else:
		sum /= 2
		for i in range(0, n):
			if a[i] == sum:
				continue
			if a[i] != sum:
				print(1)
				print(i + 1)
				break


n = int(input())
li = [*map(int, input().split())]
if len(li) == 1 or (len(li) == 2 and li[0] == li[1]):
	print('-1')
elif len(li) == 2:
	print(1)
	print(1)
else:
	print(1)
	print(li.index(min(li)) + 1)


n = int(input())
l = list(map(int, input().split()))
if n == 1:
	print(-1)
	exit(0)
if n == 2:
	if l[0] == l[1]:
		print(-1)
		exit(0)
	else:
		print(1)
		print(1)
		exit(0)
if sum(l[0:n - 1]) != sum(l[n - 1:n]):
	print(n - 1)
	for i in range(1, n):
		print(i, end=' ')
	print()
else:
	print(n - 2)
	for i in range(1, n - 1):
		print(i, end=' ')
	print()


from __future__ import print_function
import sys
import math
import os.path
import random
from copy import deepcopy
from functools import reduce
from collections import Counter, ChainMap, defaultdict
from itertools import cycle, chain
from queue import Queue, PriorityQueue
from heapq import heappush, heappop, heappushpop, heapify, heapreplace, nlargest, nsmallest
import bisect
from statistics import mean, mode, median, median_low, median_high
sys.setrecursionlimit(10 ** 9)

def log(*args, **kwargs):
	print(*args, file=sys.stderr, **kwargs)

def ni():
	return map(int, input().split())

def nio(offset):
	return map(lambda x: int(x) + offset, input().split())

def nia():
	return list(map(int, input().split()))

def toString(aList, sep=' '):
	return sep.join((str(x) for x in aList))

def toMapInvertIndex(aList):
	return {k: v for (v, k) in enumerate(aList)}

def sortId(arr):
	return sorted(range(len(arr)), key=lambda k: arr[k])
(n,) = ni()
a = nia()
if max(a) == min(a) and n <= 2:
	print(-1)
else:
	print(1)
	print(a.index(min(a)) + 1)


def main():
	n = int(input())
	a = list(map(int, input().split()))
	s = sum(a) / 2
	if n == 1:
		print(-1)
		return 0
	if n == 2:
		if a[0] == a[1]:
			print(-1)
		else:
			print(1)
			print(1)
		return 0
	for i in range(n):
		if a[i] != s:
			print(1)
			print(i + 1)
			return 0
main()


n = int(input())
arr = list(map(int, input().split()))
mn = mx = arr[0]
c = 0
for x in range(n):
	if arr[x] < mn:
		mn = arr[x]
		c = x
	if arr[x] > mx:
		mx = arr[x]
if mx != mn and n >= 2:
	print(1)
	print(c + 1)
elif mx == mn and n > 2:
	print(1)
	print(c + 1)
else:
	print(-1)


n = int(input())
a = list(map(int, input().split()))
q = len(a)
if q == 1 or (q == 2 and a[0] == a[1]):
	print(-1)
else:
	print(1)
	print(a.index(min(a)) + 1)


def go():
	n = int(input())
	a = [int(i) for i in input().split(' ')]
	if n < 2:
		return -1
	if n == 2 and a[0] == a[1]:
		return -1
	s = sum(a)
	for i in range(len(a)):
		if s - a[i] != a[i]:
			return '{}\n{}'.format(1, i + 1)
	return -1
print(go())


n = int(input())
l = list(map(int, input().split()))
if n == 1:
	print('-1')
elif n == 2 and l[0] == l[1]:
	print('-1')
else:
	print(str(1) + ' ' + str(l.index(min(l)) + 1))


def main():
	n = int(input())
	arr = list(map(int, input().split()))
	if n == 1 or (n == 2 and arr[0] == arr[1]):
		print(-1)
	else:
		(mval, midx) = (9999999, -1)
		for (idx, x) in enumerate(arr):
			if x < mval:
				mval = x
				midx = idx
		print(1)
		print(midx + 1)
main()


n = int(input())
a = list(map(int, input().split()))
if n == 1:
	print(-1)
elif n == 2 and a[0] == a[1]:
	print(-1)
else:
	print(1)
	print(a.index(min(a)) + 1)


n = int(input())
s = list(map(int, input().split()))
dic = {s[i]: i + 1 for i in range(n)}
s.sort()
if n == 1:
	print('-1')
elif n == 2:
	if s[0] == s[1]:
		print('-1')
	else:
		print('1')
		print(dic[s[0]])
else:
	print('1')
	print(dic[s[0]])


def func():
	n = int(input())
	x = [int(i) for i in input().split()]
	if n == 1:
		print(-1)
		return
	y = [x[0]]
	x = x[1:]
	ans = [1]
	i = 1
	while len(x) > 0 and sum(x) == sum(y):
		y = y + [x[0]]
		x = x[1:]
		i += 1
		ans = ans + [i]
	if len(x) == 0:
		print(-1)
	else:
		print(len(ans))
		print(*ans)
	return
func()


import copy
n = input()
n = int(n)
a = list(map(int, input().split(' ')))
tmpa = copy.deepcopy(a)
a.sort(reverse=False)
if n == 1 or (n == 2 and a[0] == a[1]):
	print(-1)
else:
	print(1)
	for i in range(0, n):
		if tmpa[i] == a[0]:
			print(i + 1)
			break


n = int(input())
lun = list(map(int, input().split()))
l = sorted(lun)
if n >= 3:
	print(1)
	print(lun.index(l[0]) + 1)
if n == 2:
	if l[0] == l[1]:
		print(-1)
	else:
		print(1)
		print(1)
if n == 1:
	print(-1)


n = int(input())
a = list(map(int, input().split()))

def solve():
	global a
	if n < 2:
		print(-1)
		return
	if n == 2 and a[0] == a[1]:
		print(-1)
		return
	print(n - 1)
	z = a.index(min(a))
	for i in range(len(a)):
		if i != z:
			print(i + 1, end=' ')
solve()


n = int(input())
li = [int(x) for x in input().split(' ')]
if n == 1:
	print('-1')
elif n == 2:
	if li[0] == li[1]:
		print('-1')
	else:
		print('1')
		print('1')
elif li[0] == sum(li) - li[0]:
	print('2')
	print('1 2')
else:
	print('1')
	print('1')


n = int(input())
a = list(map(int, input().split()))
sm = a.copy()
for i in range(1, len(a)):
	sm[i] = sm[i - 1] + a[i]
flag = False
index = -2
for i in range(0, len(a) - 1):
	if sm[i] != sm[len(a) - 1] - sm[i]:
		flag = True
		index = i
		break
print(index + 1)
for i in range(index + 1):
	print(i + 1, end=' ')


import bisect
import heapq
import math
import random
import sys
from collections import Counter, defaultdict
from decimal import ROUND_CEILING, ROUND_HALF_UP, Decimal
from functools import lru_cache, reduce
from itertools import combinations, combinations_with_replacement, product, permutations
sys.setrecursionlimit(10000)

def read_int():
	return int(input())

def read_int_n():
	return list(map(int, input().split()))

def read_float():
	return float(input())

def read_float_n():
	return list(map(float, input().split()))

def read_str():
	return input()

def read_str_n():
	return list(map(str, input().split()))

def error_print(*args):
	print(*args, file=sys.stderr)

def mt(f):
	import time

	def wrap(*args, **kwargs):
		s = time.time()
		ret = f(*args, **kwargs)
		e = time.time()
		error_print(e - s, 'sec')
		return ret
	return wrap

@mt
def slv(N, A):
	ans = 0
	if N == 1:
		return -1
	if N == 2 and A[0] == A[1]:
		return -1
	ad = min(A)
	ad_i = A.index(ad) + 1
	return '%d\n%d' % (1, ad_i)

def main():
	N = read_int()
	A = read_int_n()
	print(slv(N, A))
main()


n = int(input().strip())
a = [int(x) for x in input().strip().split(' ')]
if n < 2:
	print(-1)
else:
	s = sum(a)
	flag = False
	for i in range(n):
		if a[i] != s - a[i]:
			print(1)
			print(i + 1)
			flag = True
			break
	if flag == False:
		print(-1)


n = int(input())
l = list(map(int, input().split()))
if n == 1:
	print(-1)
	exit()
if n == 2 and len(set(l)) == 1:
	print(-1)
	exit()
else:
	print(1)
	print(l.index(min(l)) + 1)


n = int(input())
(a, *A) = map(int, input().split())
if n == 1 or (n == 2 and a == A[0]):
	print(-1)
elif a == sum(A):
	print(2)
	print(1, 2)
else:
	print(1)
	print(1)


k = input()
pole = list(map(int, input().split()))

def divide_balloons(pole):
	if len(pole) < 2:
		return (-1, 0)
	if len(pole) == 2:
		if pole[0] == pole[1]:
			return (-1, 0)
		else:
			return (1, 2)
	suma = 0
	suma_pole = sum(pole)
	for i in range(len(pole)):
		suma += pole[i]
		if suma != suma_pole - suma:
			return (i + 1, i + 2)
	return (-1, 0)
(grig_count, packets) = divide_balloons(pole)
if grig_count == -1:
	print(-1)
else:
	print(grig_count)
	print(' '.join(map(str, list(range(1, packets)))))


def read():
	return int(input())

def rl():
	return list(map(int, input().split()))
n = read()
a = rl()
if n == 1:
	print('-1')
elif n == 2:
	if a[0] == a[1]:
		print('-1')
	else:
		print(1)
		print(1)
elif a[0] == sum(a[1:]):
	print(2)
	print(1, 2)
else:
	print(1)
	print(1)


n = int(input(''))
a = [int(x) for x in input().split()]
if len(a) == 1 or (len(a) == 2 and a[0] == a[1]):
	print('-1')
else:
	for i in range(1, n):
		if sum(a[0:i]) != sum(a[i:n]):
			print(i)
			print(*range(1, i + 1), end=' ')
			break


n = int(input())
a = [int(q) for q in input().strip().split()]
t = sum(a)
u = 0
for k in range(n):
	if a[k] != t - a[k] and n != 1:
		print(1)
		print(k + 1)
		u = 1
		break
if u == 0:
	print(-1)


n = int(input())
(m, c, ci) = (1001, 0, 0)
for i in input().split():
	i = int(i)
	if n == 2 and m != 1001 and (m == i):
		n = -1
	if m > i:
		c = ci
		m = i
	ci += 1
if n <= 1:
	print(-1)
else:
	print('1\n{0}'.format(c + 1))


input = __import__('sys').stdin.readline
n = int(input())
lis = list(map(int, input().split()))
s = sum(lis)
if n == 2 and lis[0] == lis[1] or n <= 1:
	print(-1)
	exit()
for i in range(n):
	if s - lis[i] != lis[i]:
		print(1)
		print(i + 1)
		exit()


packets = int(input())
balloonList = list(map(int, input().split(' ')))
total = sum(balloonList)
if packets == 1:
	print('-1')
elif packets == 2 and balloonList[0] == balloonList[1]:
	print('-1')
elif balloonList[0] == total / 2:
	print('2')
	print('1 2')
else:
	print('1')
	print('1')


a = int(input())
if a < 2:
	print(-1)
elif a > 2:
	a = input().split()
	total = 0
	for i in a:
		total += int(i)
	if int(a[0]) * 2 == total:
		print('2\n1 2')
	else:
		print('1\n1')
else:
	a = input().split()
	if a[0] == a[1]:
		print(-1)
	else:
		print('1\n1')


n = int(input())
l = list(map(int, input().split()))
z = sorted(l)
for i in range(n):
	if l[i] == z[0]:
		mi = i
if n > 2:
	print(1)
	print(mi + 1)
elif n == 2:
	if l[0] == l[1]:
		print(-1)
	else:
		print(1)
		print(1)
else:
	print(-1)


n = int(input())
a = [int(i) for i in input().split()]
if n == 1:
	print(-1)
elif n == 2 and a[0] == a[1]:
	print(-1)
elif sum(a) == 2 * a[0]:
	print(2)
	print(1, 2)
else:
	print(1)
	print(1)


n = int(input())
a = list(map(int, input().split()))
ele = min(a)
pos = -1
if n == 1 or (n == 2 and a[0] == a[1]):
	print(-1)
else:
	for i in range(0, n):
		if ele == a[i]:
			pos = i + 1
			break
	print(1)
	print(pos)


def r(a, b):
	ans = a // b
	if a % b != 0:
		ans += 1
	return ans
n = int(input())
a = list(map(int, input().split()))
if n == 2 and a[0] == a[1] or n == 1:
	print(-1)
else:
	print(1)
	pos = a.index(min(a)) + 1
	print(pos)


def solve(n, arr):
	if n == 1:
		print(-1)
		return
	if n == 2:
		if arr[0] == arr[1]:
			print(-1)
			return
		else:
			print(1)
			print(1)
			return
	min_index = 0
	for i in range(n):
		if arr[i] < arr[min_index]:
			min_index = i
	tot = 0
	for i in range(n):
		if i == min_index:
			continue
		tot += arr[i]
	if tot == arr[min_index]:
		print(-1)
		return
	print(1)
	print(min_index + 1)
	return

def main():
	n = int(input())
	arr = list(map(int, input().split(' ')))
	solve(n, arr)
main()


n = int(input())
s = list(map(int, input().split()))
p = s[:]
s.sort()
if n == 1:
	print(-1)
elif n == 2 and s[0] == s[1]:
	print(-1)
else:
	print(1)
	print(p.index(s[0]) + 1)


import math
import itertools
import collections

def getdict(n):
	d = {}
	if type(n) is list:
		for i in n:
			if i in d:
				d[i] += 1
			else:
				d[i] = 1
	else:
		for i in range(n):
			t = ii()
			if t in d:
				d[t] += 1
			else:
				d[t] = 1
	return d

def cdiv(n, k):
	return n // k + (n % k != 0)

def ii():
	return int(input())

def mi():
	return map(int, input().split())

def li():
	return list(map(int, input().split()))

def lcm(a, b):
	return abs(a * b) // math.gcd(a, b)
n = ii()
a = li()
if len(set(a)) == 1 and n < 3:
	print(-1)
else:
	print(1)
	print(a.index(min(a)) + 1)


from sys import *

def read():
	return list(map(int, stdin.readline().split()))
n = read()[0]
a = read()
if n == 1:
	print(-1)
elif n == 2 and a[0] == a[1]:
	print(-1)
else:
	print(1)
	print(a.index(min(a)) + 1)


input()
X = list(map(int, input().split()))
if len(X) == 1 or (len(X) == 2 and X[1] == X[0]):
	print(-1)
	exit()
print(len(X) - 1)
Answer = [i for i in range(1, len(X) + 1)]
Answer.remove(X.index(min(X)) + 1)
print(*Answer)


n = int(input())
arr = list(map(int, input().split()))
if n == 1:
	print(-1)
elif n == 2:
	if len(set(arr)) == 1:
		print(-1)
	else:
		print(1, '\n', 1)
else:
	print(1)
	print(arr.index(min(arr)) + 1)


n = int(input())
arr = list(map(int, input().split()))
if n == 1 or (n == 2 and arr[0] == arr[1]):
	print(-1)
else:
	print(1)
	print(arr.index(min(arr)) + 1)


n = int(input())
l = list(map(int, input().split()))
if n == 1:
	print(-1)
	exit(0)
elif n == 2:
	if l[1] == l[0]:
		print(-1)
	else:
		print(1)
		print(1)
else:
	print(1)
	print(l.index(min(l)) + 1)


from math import *
import sys

def main():
	t = int(input())
	a = [int(x) for x in input().split(' ')]
	if t == 1:
		print(-1)
	elif t == 2 and a[0] == a[1]:
		print(-1)
	else:
		print(1)
		m = 0
		fi = 39234345
		for (v, i) in enumerate(a):
			if i < fi:
				fi = i
				m = v + 1
		print(m)
main()


n = int(input())
inp = list(map(int, input().split()))
k = min(inp)
a = inp.index(k)
j = sum(inp) - 2 * k
if j > 0:
	print(1)
	print(a + 1)
else:
	print(-1)


n = int(input())
arr = list(map(int, input().split()))
if n == 1:
	print(-1)
elif n == 2 and arr[0] == arr[1]:
	print(-1)
else:
	mn = min(arr)
	mnindex = arr.index(mn)
	print(n - 1)
	for i in range(n):
		if i != mnindex:
			print(i + 1, end=' ')


n = int(input())
ns = [int(x) for x in input().split()]
sum = sum(ns)
if n == 1:
	print(-1)
	quit()
if len(ns) == 2 and ns[0] == ns[1]:
	print(-1)
	quit()
if ns[0] * 2 == sum:
	print(2)
	print('1 2')
else:
	print(1)
	print(1)


n = int(input())
a = [int(i) for i in input().split()]
if n == 1 or (n == 2 and len(set(a)) == 1):
	print(-1)
else:
	print(1)
	print(a.index(min(a)) + 1)


n = int(input())
arr = input().split(' ')
arr = [int(x) for x in arr]
min_ele = min(arr)
min_indx = arr.index(min_ele)
if n <= 1:
	print(-1)
elif n == 2 and arr[0] == arr[1]:
	print(-1)
else:
	greg = n - 1
	print(greg)
	ans = ''
	for tup in enumerate(arr):
		if tup[0] != min_indx:
			ans = ans + str(tup[0] + 1) + ' '
	print(ans)


n = int(input())
a = [int(_) for _ in input().strip().split()]
if n < 2:
	print('-1')
elif n == 2:
	if a[0] == a[1]:
		print('-1')
	else:
		print('1')
		print('1')
elif sum(a[1:]) != a[0]:
	print('1')
	print('1')
else:
	print('2')
	print('1 2')


t = int(input())
l = list(map(int, input().split()))
if len(l) == 1:
	print('-1')
elif len(l) == 2 and len(set(l)) == 1:
	print('-1')
else:
	print(1)
	print(l.index(min(l)) + 1)


nbpackets = int(input())
n = input()
rock = 1
liste2 = [int(x) for x in n.split()]
if nbpackets <= 1 or (nbpackets <= 2 and liste2.count(liste2[0]) == len(liste2)):
	print('-1')
else:
	print(1)
	print(liste2.index(min(liste2)) + 1)


n = int(input())
a = [int(x) for x in input().split()]
if n < 2 or (n == 2 and a[0] == a[1]):
	print(-1)
	exit()
from operator import itemgetter
print(1)
print(min(enumerate(a), key=itemgetter(1))[0] + 1)


n = int(input())
a = list(map(int, input().split()))
if n == 2 and a[0] == a[1]:
	print(-1)
elif n == 2 and a[0] != a[1]:
	print(1)
	print(1)
elif n < 2:
	print(-1)
elif n > 2:
	s = sum(a)
	if a[0] * 2 == s:
		print(2)
		print(1, 2)
	else:
		print(1)
		print(1)
else:
	print(-1)


import sys
import math
from functools import reduce
import bisect

def getN():
	return int(input())

def getNM():
	return map(int, input().split())

def getList():
	return list(map(int, input().split()))

def input():
	return sys.stdin.readline().rstrip()

def index(a, x):
	i = bisect.bisect_left(a, x)
	if i != len(a) and a[i] == x:
		return i
	return -1
n = getN()
arr = getList()
ans = min(arr)
print(-1 if ans == sum(arr) - ans or n == 1 else '1' + '\n' + str(arr.index(ans) + 1))


n = int(input())
a = input().split()
for i in range(n):
	a[i] = int(a[i])
if n == 1:
	print(-1)
elif n == 2:
	if a[0] == a[1]:
		print(-1)
	else:
		print(1)
		print(1)
else:
	s = 0
	for i in range(1, n):
		s += a[i]
	if a[0] == s:
		print(2)
		print(1, 2)
	else:
		print(1)
		print(1)


n = int(input())
A = list(map(int, input().split()))
B = [[A[i], i + 1] for i in range(len(A))]
B.sort(key=lambda x: -x[0])
C = sum(A) // 2
c = 0
i = 0
while c <= C:
	c += B[i][0]
	i += 1
if i == len(A):
	print(-1)
else:
	print(i)
	for x in range(i):
		print(B[x][1], end=' ')


n = int(input())
arr = list(map(int, input().split()))
if n == 1:
	print(-1)
	exit(0)
z = 0
for i in range(n):
	if arr[i] < arr[z]:
		z = i
if arr[z] != sum(arr) - arr[z]:
	print(1)
	print(z + 1)
else:
	print(-1)


from sys import stdin, stdout
from collections import *
from math import ceil, floor, log, gcd
st = lambda : list(stdin.readline().strip())
li = lambda : list(map(int, stdin.readline().split()))
mp = lambda : map(int, stdin.readline().split())
inp = lambda : int(stdin.readline())
pr = lambda n: stdout.write(str(n) + '\n')
mod = 1000000007
INF = float('inf')

def solve():
	n = inp()
	l = li()
	if n < 2:
		pr(-1)
		return
	s = sum(l)
	a = 0
	x = []
	for i in range(n):
		a += l[i]
		b = s - a
		x.append(i + 1)
		if a != b:
			if len(x) != n:
				print(len(x))
				print(*x)
				return
	pr(-1)
for _ in range(1):
	solve()


n = int(input())
k = list(map(int, input().split()))
if n == 1:
	print(-1)
else:
	min1 = min(k)
	sum1 = sum(k) - min1
	if min1 != sum1:
		print(1)
		for val in range(0, len(k)):
			if k[val] == min1:
				print(val + 1)
				break
	else:
		print(-1)


import sys
n = int(input())
a = [int(i) for i in input().split()]
if n == 1:
	print('-1')
	sys.exit()
l = [a[0]]
a = a[1:]
ans = [1]
i = 1
while len(a) > 0 and sum(a) == sum(l):
	l += [a[0]]
	a = a[1:]
	i += 1
	ans += [i]
if len(a) == 0:
	print('-1')
else:
	print(len(ans))
	print(*ans)


n = int(input())
if n == 1:
	print('-1')
else:
	arr = list(map(int, input().split()))
	m = 10000
	sum = 0
	ind = -1
	for i in range(n):
		sum += arr[i]
		if arr[i] < m:
			m = arr[i]
			ind = i + 1
	if sum - m != m:
		print('1')
		print(ind)
	else:
		print('-1')


q = int(input())
a = list(map(int, input().split()))
if q == 1:
	print(-1)
elif (q == 2) & (a[0] == a[1]):
	print(-1)
elif a[q - 1] != sum(a[:q - 1]):
	print(1)
	print(q)
else:
	print(2)
	print(q - 1, q)


n = int(input())
x = [*map(int, input().split())]
if n == 1 or (n == 2 and x[0] == x[1]):
	print(-1)
else:
	print(1)
	(m, p) = (x[0], 1)
	for i in range(n):
		if x[i] < m:
			(m, p) = (x[i], i + 1)
	print(p)


n = int(input())
a = list(map(int, input().split()))
sum0 = 0
sum1 = 0
num0 = 0
num1 = 0
owner = [[0] for i in range(n)]
ans = True
if n < 2:
	ans = False
for i in range(n):
	if i % 2 == 0:
		sum0 += a[i]
		num0 += 1
		owner[i] = 0
	else:
		sum1 += a[i]
		num1 += 1
		owner[i] = 1
if sum0 == sum1:
	if n == 2:
		ans = False
	elif owner[n - 1] == 0:
		num0 -= 1
		num1 += 1
		owner[n - 1] = 1
	else:
		num0 += 1
		num1 -= 1
		owner[n - 1] = 0
if ans:
	print(num0)
	for i in range(n):
		if owner[i] == 0:
			print(i + 1, end=' ')
	print()
else:
	print(-1)


def solve():
	n = int(input())
	arr = list(map(int, input().split()))
	arr2 = []
	if len(arr) == 1:
		print(-1)
		return
	for val in arr:
		arr2.append(val)
	arr2.sort()
	if arr2[0] == arr2[1] and len(arr2) == 2:
		print(-1)
		return
	print(1)
	print(arr.index(arr2[0]) + 1)
solve()


bags_nr = int(input())
bag_idx___balls_nr = [int(x) for x in input().split()]
if bags_nr < 2:
	print(-1)
elif bags_nr == 2:
	if bag_idx___balls_nr[0] == bag_idx___balls_nr[1]:
		print(-1)
	else:
		print(1)
		print(1)
else:
	print(1)
	mn = min(bag_idx___balls_nr)
	mn_idx = bag_idx___balls_nr.index(mn)
	print(mn_idx + 1)


def func():
	n = int(input())
	a = list(map(int, input().split()))
	if n == 1:
		print(-1)
		return
	s = sum(a)
	for i in range(n):
		if a[i] != s / 2:
			print(1)
			print(i + 1)
			return
	print(-1)
func()


n = int(input())
a = list(map(int, input().split()))
b = sorted(a)
if n == 1:
	print(-1)
elif n == 2:
	if a[0] == a[1]:
		print(-1)
	else:
		print(1)
		print(1)
else:
	print(1)
	print(a.index(b[0]) + 1)


n = input()
l = list(map(int, input().split()))
s = sum(l)
if len(l) == 1:
	print('-1')
elif len(l) == 2 and l[0] == l[1]:
	print('-1')
else:
	print('1')
	for i in range(len(l)):
		if l[i] != s - l[i]:
			print(i + 1)
			break


def solve(a):
	if len(a) <= 1 or (len(a) == 2 and a[0] == a[1]):
		return []
	(r, i) = ([a[0]], 1)
	while 2 * sum(r) == sum(a):
		r.append(a[i])
		i += 1
	return list(range(1, len(r) + 1))
input()
a = list(map(int, input().split()))
r = solve(a)
if len(r) == 0:
	print(-1)
else:
	print(len(r))
	print(str(r)[1:-1].replace(',', ''))


n = int(input())
a = list(map(int, input().split()))
ans = [-1]
if n > 1:
	if n == 2:
		if a[0] != a[1]:
			ans = [1, 1]
	else:
		for i in range(n):
			if sum(a) - a[i] != a[i]:
				ans = [1, i + 1]
if ans == [-1]:
	print(-1)
else:
	print(ans[0])
	print(ans[1])


def judge(n, a):
	if n == 1:
		return -1
	s = sum(a)
	for (i, j) in enumerate(a):
		if s / 2 != j:
			return i
	return -1
n = int(input())
a = list(map(int, input().split()))
ans = judge(n, a)
if ans != -1:
	print(1, ans + 1)
else:
	print(ans)


n = int(input())
j = []
l = [int(x) for x in input().split()]
if n == 1:
	print(-1)
elif n == 2:
	if l[0] == l[1]:
		print(-1)
	else:
		print(1)
		print(1)
else:
	j = sorted(l)
	print(1)
	print(l.index(j[0]) + 1)


t = int(input())
l = list(map(int, input().split()))
if t == 1:
	print(-1)
elif t == 2 and l == [l[0]] * t:
	print(-1)
elif l[0] != sum(l) - l[0]:
	print(1)
	print(1)
else:
	print(2)
	print(1, 2)


I = lambda : int(input())
ID = lambda : map(int, input().split())
IL = lambda : list(ID())
n = I()
a = IL()
if n == 2:
	if a[0] == a[1]:
		print(-1)
	else:
		print(1, 1)
elif n < 2:
	print(-1)
else:
	print(1)
	print(a.index(min(a)) + 1)


n = int(input())
a = list(map(int, input().split()))
b = []
if n == 1:
	print(-1)
	quit()
elif n == 2 and a[0] == a[1]:
	print(-1)
	quit()
s = 0
s1 = 0
for i in range(n):
	s += a[i]
for i in range(n):
	if s1 != s and s1 != 0:
		break
	s -= a[i]
	s1 += a[i]
	b.append(i + 1)
k = len(b)
print(k)
print(' '.join((str(x) for x in b)))


n = int(input())
a = list(map(int, input().split()))
if len(set(a)) == 1 and n <= 2:
	print('-1')
else:
	print(1)
	mn = 10000
	for i in range(n):
		mn = min(mn, a[i])
	for i in range(n):
		if a[i] == mn:
			print(i + 1)
			break


n = int(input())
a = input()
b = a.split()
for i in range(n):
	b[i] = int(b[i])
if n == 1:
	print(-1)
elif n == 2:
	if b[0] == b[1]:
		print(-1)
	else:
		print(1)
		print(2)
else:
	t = 0
	c = 0
	for k in range(n):
		t += b[k]
	for i in range(n):
		if c == 1:
			break
		for j in range(i + 1, n):
			if b[i] + b[j] > t // 2 or b[i] + b[j] < t // 2:
				m = i + 1
				n = j + 1
				a = str(m)
				b = str(n)
				print(2)
				print(a + ' ' + b)
				c = 1
				break
	if c == 0:
		print(1)
		print(1)


n = int(input())
a = list(map(int, input().strip().split()))
tot = sum(a)
for msk in range(2 ** n):
	cnt = 0
	sum_ = 0
	for i in range(n):
		if msk & 2 ** i > 0:
			sum_ += a[i]
			cnt += 1
	if 0 < cnt and cnt < n and (sum_ * 2 != tot):
		ans = list()
		for i in range(n):
			if msk & 2 ** i > 0:
				ans.append(i + 1)
		print(cnt)
		print(' '.join(map(str, ans)))
		exit(0)
print('-1')


def solve():
	n = int(input())
	a = list(map(int, input().split()))
	if n == 1:
		return -1
	if a[0] != sum(a[1:]):
		return [0]
	if n == 2:
		return -1
	if a[0:2] != sum(a[2:]):
		return [0, 1]
	return -1
res = solve()
if res == -1:
	print(res)
else:
	print(len(res))
	print(' '.join(map(str, [val + 1 for val in res])))


N = int(input())
packs = list(map(int, input().split()))
balls = sum(packs)
balls_for_1 = 0
balls_for_2 = 0
packs_for_1 = 0
packs_for_2 = 0
if len(packs) <= 1:
	print(-1)
else:
	packs_for_1 = 1
	packs_for_2 = len(packs) - 1
	balls_for_1 = packs[0]
	balls_for_2 = balls - balls_for_1
	i = 1
	while i < len(packs) and (packs_for_2 < 1 or balls_for_1 == balls_for_2):
		packs_for_2 -= 1
		balls_for_2 -= packs[i]
		balls_for_1 += packs[i]
		packs_for_1 += 1
		i += 1
	if packs_for_1 > 0 and packs_for_2 > 0 and (balls_for_1 != balls_for_2):
		print(packs_for_1)
		answer = ''
		for j in range(packs_for_1):
			answer += str(j + 1)
			answer += ' '
		answer = answer[:-1]
		print(answer)
	else:
		print(-1)


def get_ints():
	return [int(n) for n in input().split()]

def get_floats():
	return [float(n) for n in input().split()]
a = get_ints()
assert len(a) == 1
n = a[0]
a = get_ints()
assert len(a) == n
index = -1
if n > 1:
	for i in range(len(a)):
		b = list(a)
		del b[i]
		if a[i] != sum(b):
			index = i
			break
if index >= 0:
	print('1')
	print(index + 1)
else:
	print(-1)


def main():
	input()
	numbers = list(map(int, input().split()))
	if len(numbers) < 2 or (len(numbers) == 2 and numbers[0] == numbers[1]):
		print(-1)
		return
	print(1)
	print(numbers.index(min(numbers)) + 1)
main()


import math, sys
from collections import Counter, defaultdict, deque
from sys import stdin, stdout
lili = lambda : list(map(int, sys.stdin.readlines()))
li = lambda : list(map(int, input().split()))

def gcd(x, y):
	while y:
		(x, y) = (y, x % y)
	return x
n = int(input())
a = li()
m = min(a)
if len(a) == 1:
	print(-1)
elif len(a) == 2:
	if a[0] == a[1]:
		print(-1)
	else:
		print(1)
		print(1)
else:
	print(1)
	print(a.index(m) + 1)


n = int(input())
arr = list(map(int, input().split()))
if n <= 1:
	print('-1')
elif n == 2:
	if arr[0] == arr[1]:
		print('-1')
	else:
		print(1)
		print(1)
else:
	a = sorted(arr)
	if a[0] == a[n - 1]:
		print(n // 2 + 1)
		for i in range(n // 2 + 1):
			print(i + 1, end=' ')
		print()
	else:
		print('1')
		print(arr.index(a[0]) + 1)


n = int(input())
nums = input()
nums = [int(i) for i in nums.split()]
if n == 1:
	print(-1)
elif n == 2:
	if nums[0] == nums[1]:
		print(-1)
	else:
		print(1)
		print(1)
else:
	ans = 0
	for i in range(len(nums)):
		if nums[i] < nums[ans]:
			ans = i
	print(1)
	print(ans + 1)


n = int(input())
l = list(map(int, input().split()))
s = frozenset(l)
if n == 1:
	print(-1)
elif n == 2 and len(s) == 1:
	print(-1)
else:
	print(1, l.index(min(l)) + 1, sep='\n')


n = int(input())
s = []
ans = -1
a = list(map(int, input().split()))
for i in range(n):
	s.append([a[i], i])
s.sort()
gr = []
gr.append(s[0])
del s[0]
grs = 0
ands = 0
for i in range(len(s)):
	ands += s[i][0]
grs += gr[0][0]
if grs == ands and len(s) != 0:
	gr.append(s[0])
	del s[0]
if grs != ands and len(gr) != 0 and (len(s) != 0):
	print(len(gr))
	for i in range(len(gr)):
		print(gr[i][1] + 1, end=' ')
else:
	print(-1)


def main():
	n = int(input())
	packets = list(map(int, input().split()))
	if n < 2 or (n == 2 and packets[0] == packets[1]):
		print(-1)
	else:
		print(1)
		print(packets.index(min(packets)) + 1)
main()


def balloons(n, a):
	if n < 2:
		print(-1)
	elif n == 2:
		if a[0] == a[1]:
			print(-1)
		elif a[0] < a[1]:
			print(1)
			print(2)
		else:
			print(1)
			print(1)
	else:
		min = 1001
		j = 0
		print(1)
		for i in range(0, n):
			if a[i] < min:
				min = a[i]
				j = i
		print(j + 1)
num = int(input())
arr = [int(x) for x in input().split()]
balloons(num, arr)


n = int(input())
a = [int(x) for x in input().split()]
s = sum(a)
if n == 1 or (len(set(a)) == 1 and n == 2):
	print(-1)
else:
	add = 0
	l = []
	for i in range(n - 1):
		l.append(i + 1)
		add += a[i]
		if 2 * add != s:
			break
	print(len(l))
	for i in l:
		print(i, end=' ')
	print()


import itertools

def find_subsets(nums):
	for m in range(len(nums)):
		for subset in itertools.combinations(nums, m):
			yield subset

def read_nums():
	return [int(x) for x in input().split()]

def main():
	(n,) = read_nums()
	balloons = read_nums()
	if len(balloons) == 1:
		print(-1)
		return
	total_sum = sum(balloons)
	balloons = list(enumerate(balloons))
	for subset in find_subsets(balloons):
		if len(subset) > 0 and sum([x[1] for x in subset]) * 2 != total_sum:
			print(len(subset))
			print(' '.join([str(index + 1) for (index, num) in subset]))
			return
	print(-1)
main()


def solve():
	n = int(input())
	a = [int(c) for c in input().split(' ')]
	total = sum(a)
	if n < 2:
		return None
	elif n == 2:
		if a[0] == a[1]:
			return None
		else:
			return (0,)
	else:
		for i in range(n):
			if a[i] != total - a[i]:
				return (i,)
result = solve()
if not result:
	print(-1)
else:
	print(len(result))
	for num in result:
		print(num + 1, end=' ')


n = int(input())
v = list(map(int, input().split()))
if n == 1:
	print(-1)
elif n == 2:
	if v[0] == v[1]:
		print(-1)
	else:
		print(1)
		print(1)
elif n > 2:
	new = sorted(v)
	gs = new[0]
	print(1)
	print(v.index(gs) + 1)


N = int(input())
if N == 1:
	print(-1)
elif N == 2:
	(a, b) = map(int, input().split())
	if a == b:
		print(-1)
	else:
		print('1\n1')
else:
	arr = list(map(int, input().split()))
	if arr[0] == sum(arr[1:]):
		print('2\n1 2')
	else:
		print('1\n1')


n = int(input())
cl = list(map(int, input().split()))
if n < 2:
	print(-1)
elif n == 2:
	if cl[0] != cl[1]:
		print('1')
		print('1')
	else:
		print(-1)
else:
	print(1)
	print(cl.index(min(cl)) + 1)


n = int(input())
L = list(map(int, input().split()))
a = min(L)
p = [i + 1 for i in range(n)]
p.remove(L.index(a) + 1)
tot = sum(L)
if len(p) > 0 and a != tot - a:
	print(len(p))
	print(*p)
else:
	print(-1)


n = int(input())
l = list(map(int, input().split()))
if n == 1:
	print(-1)
	exit()
if n == 2 and l[0] == l[1]:
	print(-1)
	exit()
print(1)
print(l.index(min(l)) + 1)


n = int(input())
a = [int(i) for i in input().split()]
m = a.index(min(a))
t = []
if n == 1:
	print('-1')
elif n == 2:
	if a[0] == a[1]:
		print('-1')
	elif a[0] > a[1]:
		print('1')
		print('1')
	else:
		print('1')
		print('2')
else:
	print(n - 1)
	for i in range(0, n):
		if i != m:
			t.append(i + 1)
	print(*t, sep=' ')


def readline():
	return map(int, input().split())

def main():
	(n,) = readline()
	a = tuple(readline())
	if n == 1 or (n == 2 and a[0] == a[1]):
		print(-1)
	else:
		print(1)
		print(a.index(min(a)) + 1)
main()


n = int(input())
a = list(map(int, input().split()))
s = sum(a)
if n > 1:
	for i in range(n):
		if 2 * a[i] != s:
			print(1)
			print(i + 1)
			exit()
print(-1)


from sys import stdin, stdout

def main():
	n = int(stdin.readline())
	a = [int(i) for i in stdin.readline().split()]
	if n < 2:
		print(-1)
	elif n == 2:
		if a[0] == a[-1]:
			print(-1)
		else:
			print(1)
			print(1)
	else:
		total = sum(a)
		if a[0] != total / 2:
			print(1)
			print(1)
		else:
			print(1)
			print(n)
main()


from math import ceil
t = 1
for test in range(t):
	n = int(input())
	a = list(map(int, input().split()))
	if n == 1:
		print(-1)
		continue
	minval = 2000
	minInd = -1
	ind = 0
	for i in a:
		if i < minval:
			minval = i
			minInd = ind
		ind += 1
	if sum(a) - minval == minval:
		print(-1)
	else:
		print(1)
		print(minInd + 1)


n = int(input())
arr = [int(s) for s in input().split()]
min_ = min(arr)
max_ = max(arr)
for i in range(0, n):
	if arr[i] == min_:
		a = i
if n == 1 or (n == 2 and min_ == max_):
	print(-1)
else:
	print(1)
	print(a + 1)


n = int(input())
v = list(map(int, input().split()))
for i in range(1, (1 << n) - 1):
	(s1, s2) = (0, 0)
	b = 0
	for j in range(n):
		if i & 1 << j:
			s1 += v[j]
			b += 1
		else:
			s2 += v[j]
	if s1 != s2:
		print(b)
		for j in range(n):
			if i & 1 << j:
				print(j + 1, end=' ')
		break
else:
	print(-1)


def R():
	return map(int, input().split())

def I():
	return int(input())

def S():
	return str(input())

def L():
	return list(R())
from collections import Counter
import math
import sys
n = I()
a = L()
for i in range(n - 1):
	if sum(a[:i + 1]) != sum(a[i + 1:]):
		print(i + 1)
		print(*list(range(1, i + 2)))
		exit()
print('-1')


def func():
	n = int(input())
	a = [int(i) for i in input().split()]
	if n <= 1:
		print(-1)
		return
	x = sum(a)
	m1 = min(a)
	y = -1
	for i in range(len(a)):
		if m1 == a[i]:
			y = i + 1
	m2 = x - m1
	if m1 == m2:
		print(-1)
		return
	print('1')
	print(y)
	return
func()


(n, l) = (int(input()), list(map(int, input().split())))
l1 = sorted(l)
if len(l1) < 2:
	print(-1)
elif len(l1) == 2:
	if l1[-1] == l1[0]:
		print(-1)
	else:
		print(1, 1, sep='\n')
else:
	print(1, l.index(l1[0]) + 1, sep='\n')


n = int(input())
m = list(map(int, input().split()))
if n == 1 or (n == 2 and m[0] == m[1]):
	print(-1)
	exit(0)
else:
	print(1, '\n', m.index(min(m)) + 1, sep='')


n = int(input())
packs = list(map(int, input().split()))
lowest_index = packs.index(min(packs)) + 1
if n == 1 or (n == 2 and packs[0] == packs[1]):
	print(-1)
else:
	print(1)
	print(lowest_index)


n = int(input())
a = [int(_) for _ in input().split()]
if n == 1:
	print(-1)
elif n == 2 and a[0] == a[1]:
	print(-1)
else:
	M = 1000000
	k = -1
	for i in range(n):
		if a[i] < M:
			M = a[i]
			k = i + 1
	print(1, k, sep='\n')


n = int(input())
str = input()
a = list(map(int, str.split()))
a.sort()
if a[0] == sum(a[1:]) or len(a) <= 1:
	print(-1)
else:
	print(1)
	print(list(map(int, str.split())).index(a[0]) + 1)


n = int(input())
a = [int(i) for i in input().split()]
gri = a[:n // 2]
adr = a[n // 2:]
if n == 1:
	print(-1)
elif sum(gri) != sum(adr):
	print(len(gri))
	for i in range(len(gri)):
		print(i + 1, end=' ')
elif n == 2:
	print(-1)
elif n == 3:
	print(2)
	print('1 3')
else:
	t = len(gri)
	print(t - 1)
	for i in range(len(gri[:t - 1])):
		print(i + 1, end=' ')


n = int(input())
l = list(map(int, input().split()))
if n == 1 or (n == 2 and l.count(l[0]) == 2):
	print('-1')
else:
	print('1')
	print(l.index(min(l)) + 1)


import sys
Input = sys.stdin.readline
z = int(input())
n = list(map(int, Input().split()))
if z == 1:
	print(-1)
	exit()
if z == 2 and n[0] == n[1]:
	print(-1)
else:
	print(1, n.index(min(n)) + 1, sep='\n')


def baloons(lst):
	a = list()
	for elem in lst:
		a.append([elem, lst.index(elem)])
	sorted_by_first = sorted(a, key=lambda tup: tup[0])
	if len(lst) == 1:
		return (-1,)
	if len(lst) == 2:
		if sorted_by_first[0][0] == sorted_by_first[1][0]:
			return (-1,)
	return (1, sorted_by_first[0][1] + 1)
n = int(input())
b = [int(j) for j in input().split()]
print(*baloons(b), sep='\n')


n = int(input())
ls = list(map(int, input().split()))
s = sum(ls) / 2
sm = 0
ans = 1
fa = list()
for i in range(n):
	sm += ls[i]
	if sm != s:
		ans = i + 1
		break
if n == 1:
	print(-1)
elif n == 2 and ls[0] == ls[1]:
	print(-1)
else:
	print(ans)
	for i in range(ans):
		print(i + 1, end=' ')


import sys
import math
get_string = lambda : sys.stdin.readline().strip()
get_list = lambda : list(map(int, sys.stdin.readline().strip().split()))
get_int = lambda : int(sys.stdin.readline())
n = get_int()
lst = get_list()
if n == 1:
	print(-1)
else:
	m = min(lst)
	i = lst.index(m)
	s = sum(lst)
	if m != s - m:
		print(1)
		print(i + 1)
	else:
		print(-1)


import math
import sys
import collections
import bisect
input = sys.stdin.readline
flush = sys.stdout.flush
readint = lambda : int(input())
readintm = lambda : map(int, input().strip().split())
readintl = lambda : list(map(int, input().strip().split()))
readfloatm = lambda : map(float, input().strip().split())
readfloatl = lambda : list(map(float, input().strip().split()))
readstr = lambda : input().strip()
readstrl = lambda : list(input().strip())
join = lambda x, l: x.join(map(str, l))
print = lambda *x: sys.stdout.write(' '.join(map(str, x)) + '\n')
printl = lambda l: sys.stdout.write(' '.join(map(str, l)) + '\n')
ceil = lambda x, y: (x + y - 1) // y
mod = 1000000007
n = readint()
a = readintl()
if n == 1 or (len(a) == 2 and a[0] == a[1]):
	print(-1)
else:
	print(1)
	print(a.index(min(a)) + 1)


n = int(input())
packets = [int(k) for k in input().split()]
if n == 1 or (n == 2 and packets[0] == packets[1]):
	print(-1)
else:
	print(1)
	print(1 + packets.index(min(packets)))


n = int(input())
a = list(map(int, input().split()))
if n == 2 and len(list(set(a))) == 1 or n == 1:
	print(-1)
elif len(list(set(a))) == 1:
	print(1)
	print(1)
else:
	b = []
	for i in range(n):
		b.append([a[i], i])
	b.sort()
	print(n // 2)
	for i in range(n // 2):
		print(b[i][1] + 1, end=' ')


from copy import deepcopy
import itertools
from bisect import bisect_left
from bisect import bisect_right
import math
from collections import deque
from collections import Counter

def read():
	return int(input())

def readmap():
	return map(int, input().split())

def readlist():
	return list(map(int, input().split()))
N = read()
A = readlist()
if N == 1:
	print(-1)
	quit()
if N == 2 and A[0] == A[1]:
	print(-1)
	quit()
if A[0] == sum(A[1:]):
	print(2)
	print(1, 2)
else:
	print(1)
	print(1)


from itertools import combinations

def main():
	n = int(input())
	a = [int(c) for c in input().split()]
	_sum = sum(a)
	for i in range(1, n):
		for comb in combinations(range(len(a)), i):
			first_sum = sum([a[e] for e in comb])
			second_sum = _sum - first_sum
			if first_sum != second_sum:
				print(len(comb))
				print(' '.join([str(j + 1) for j in comb]))
				return
	print(-1)
main()


n = int(input())
arr = list(map(int, input().split()))
if n == 1:
	k = -1
elif n == 2 and arr[0] == arr[1]:
	k = -1
else:
	k = 1
	ans = [1]
	if arr[0] == sum(arr[1:]):
		ans.append(2)
		k = 2
print(k)
if k != -1:
	print(*ans)


n = int(input())
b = []
s = input().split()
for i in range(n):
	b.append((int(s[i]), i + 1))
if n == 1:
	print(-1)
elif n == 2:
	if b[0][0] == b[1][0]:
		print(-1)
	else:
		print(1)
		print(1)
else:
	b.sort()
	print(1)
	print(b[0][1])


n = int(input())
a = [int(v) for v in input().split()]
if n == 1:
	print(-1)
elif n == 2:
	if a[0] == a[1]:
		print(-1)
	else:
		print(1)
		print(1)
else:
	print(1)
	mini = None
	minv = 10000000
	for (i, v) in enumerate(a):
		if v < minv:
			minv = v
			mini = i
	print(mini + 1)


n = int(input())
a = list(map(int, input().split()))
g = d = 0
lst = []
for i in range(n):
	if i % 2 == 0:
		g += a[i]
		lst.append(a[i])
	else:
		d += a[i]
if d > 0 and g > 0 and (g != d):
	print(1)
	print(2)
elif g == d and n > 2:
	print(1)
	print(1)
else:
	print(-1)


n = int(input())
a = [int(x) for x in input().split()]
if n == 1 or (n == 2 and a[0] == a[1]):
	print(-1)
else:
	s = 0
	for i in range(n):
		s += a[i]
	for i in range(n):
		if a[i] != s - a[i]:
			print(1)
			print(i + 1)
			break


n = int(input())
s = [int(i) for i in input().split()]
a = s.count(s[0])
b = s.index(min(s)) + 1
if len(s) < 3 and a == len(s):
	print(-1)
else:
	print(1)
	print(b)


n = int(input())
a = list(map(int, input().split()))
if n == 1:
	print(-1)
	return
x = min(a)
t = a.index(x)
d = []
c = []
for i in range(n):
	if i != t:
		d.append(i)
		c.append(a[i])
if sum(c) == x:
	print(-1)
else:
	print(1)
	print(t + 1)


n = int(input())
a = list(map(int, input().split()))
if n == 1 or (n == 2 and a[0] == a[1]):
	print(-1)
	exit()
sm = sum(a)
for i in range(n):
	if a[i] != sm - a[i]:
		print(1, i + 1, sep='\n')
		exit()
print(-1)
exit()


from sys import stdin, stdout
t = 1
for _ in range(t):
	n = int(input())
	a = [int(x) for x in input().split()]
	if n == 1 or (n == 2 and len(set(a)) == 1):
		print(-1)
		continue
	x = min(a)
	for i in range(n):
		if a[i] == x:
			print(1)
			print(i + 1)
			break


n = int(input())
a = list(map(int, input().split()))
if n == 1:
	print(-1)
elif n == 2:
	if a[0] != a[1]:
		print(1)
		print(a.index(max(a)) + 1)
	else:
		print(-1)
else:
	b = a.copy()
	b.remove(min(b))
	b.sort()
	print(len(b))
	for i in b:
		print(a.index(i) + 1, end=' ')
		a[a.index(i)] = 10001


total = int(input())
balloons = list(map(int, input().split()))
flag = True
if len(balloons) == 1:
	flag = True
else:
	for i in range(len(balloons)):
		if balloons[i] != sum(balloons) - balloons[i]:
			print(1)
			print(i + 1)
			flag = False
			break
		else:
			flag = True
if flag:
	print(-1)


import math as ma
from sys import exit
from decimal import Decimal as dec

def li():
	return list(map(int, input().split()))

def num():
	return map(int, input().split())

def nu():
	return int(input())
n = nu()
a = li()
z = []
for i in range(n):
	z.append(i)
zz = sorted(zip(a, z))
s = sum(a)
x = 0
v = 0
flag = False
xx = []
for i in range(n):
	x = x + zz[n - i - 1][0]
	v = v + 1
	xx.append(zz[n - i - 1][1] + 1)
	if x > s // 2:
		if i < n - 1:
			flag = True
			break
if flag == True:
	print(v)
	print(*xx)
else:
	print(-1)


n = int(input())
S = list(map(int, input().split()))
X = S[:]
S.sort()
if n < 2:
	print(-1)
elif n == 2 and S[0] == S[1]:
	print(-1)
else:
	print(1)
	print(X.index(S[0]) + 1)


n = int(input())
c = list(map(int, input().strip().split(' ')))
s = sum(c)
s1 = 0
v = []
for x in range(0, len(c)):
	s1 += c[x]
	s -= c[x]
	if s1 != s and s != 0:
		v.append(x + 1)
for x in range(0, len(v) - 1):
	if v[x + 1] - v[x] > 1:
		break
v = v[:x + 1]
if len(v) != 0:
	print(len(v))
	for y in range(0, len(v)):
		print(v[y], end=' ')
else:
	print('-1')


n = int(input())
a = list(map(int, input().split()))
for i in range(n):
	a[i] = [a[i], i]
a.sort()
if n == 1:
	print(-1)
elif n == 2 and a[0][0] == a[1][0]:
	print(-1)
else:
	print(1)
	print(a[0][1] + 1)


class pac:

	def __init__(self, val, ind):
		self.val = val
		self.ind = ind
n = int(input())
arrr = list(map(int, input().split()))
if n == 1:
	print(-1)
elif n == 2:
	if arrr[0] == arrr[1]:
		print(-1)
	else:
		print(1)
		print(1)
else:
	arr = []
	for i in range(n):
		arr.append(pac(arrr[i], i + 1))
	arr.sort(key=lambda pac: pac.val, reverse=True)
	yo = arr[0].val
	ro = 0
	for i in range(1, n):
		ro += arr[i].val
	if yo != ro:
		print(1)
		print(arr[0].ind)
	else:
		print(2)
		print(arr[0].ind, arr[1].ind)


n = int(input())
lst = [int(i) for i in input().split()]
mini = min(lst)
if n == 2 and lst[0] == lst[1]:
	print(-1)
elif n == 1:
	print(-1)
else:
	print(1)
	print(lst.index(mini) + 1)


n = int(input())
l = list(map(int, input().split()))
if len(l) == 1:
	print(-1)
else:
	l1 = []
	l2 = []
	(e, q) = (0, 0)
	for i in range(0, len(l) - 1):
		l1 = l[0:i + 1]
		l2 = l[i + 1:]
		a = sum(l1)
		b = sum(l2)
		if a != b:
			q = 1
			e = i
			break
	if q == 1:
		print(len(l1))
		for i in range(1, len(l1) + 1):
			print(i, end=' ')
	else:
		print(-1)


n = int(input())
arr = list(map(int, input().split()))
if n == 2 and arr[0] == arr[1] or n == 1:
	print(-1)
else:
	i = arr.index(min(arr))
	print(n - 1)
	for j in range(n):
		if j != i:
			print(j + 1, end=' ')


def imin(a):
	imn = 0
	for i in range(n):
		if a[i] < a[imn]:
			imn = i
	return imn
n = int(input())
a = list(map(int, input().split()))
if n == 1:
	print(-1)
elif n == 2 and a[0] == a[1]:
	print(-1)
else:
	print(1)
	print(imin(a) + 1)


import sys, collections
n = int(sys.stdin.readline())
arr = list(map(int, sys.stdin.readline().split()))
for i in range(n):
	arr[i] = (arr[i], i + 1)
arr.sort()
g = []
a = []
s = 0
a.append(arr[0])
for i in range(1, n):
	g.append(arr[i][1])
	s += arr[i][0]
if not g or s == arr[0][0]:
	print(-1)
else:
	print(len(g))
	print(' '.join(map(str, g)))


n = int(input())
A = list(map(int, input().split()))
if n == 1:
	print(-1)
	exit(0)
minn = A[0]
mini = 0
for i in range(len(A)):
	if A[i] < minn:
		minn = A[i]
		mini = i
if n == 2 and A[0] == A[1]:
	print(-1)
	exit(0)
print(1)
print(mini + 1)


n = int(input())
a = list(map(int, input().split()))
total = sum(a)
s = a[0]
i = 1
while i < n - 1 and s == total - s:
	s += a[i]
	i += 1
if n == 1 or s == total - s:
	print(-1)
else:
	print(i)
	for j in range(0, i):
		print(j + 1, end=' ')


n = int(input())
arr = list(map(int, input().strip().split(' ')))
m = min(arr)
ind = arr.index(m)
if n == 1:
	print(-1)
elif n == 2 and arr[0] == arr[1]:
	print(-1)
else:
	print(1)
	print(ind + 1)


from itertools import combinations

def solve():
	items = list(range(1, n + 1))
	total = sum(a)
	for no in range(1, n - 1):
		for combination in combinations(items, no):
			loc_sum = 0
			for index in combination:
				loc_sum += a[index - 1]
			if loc_sum * 2 != total:
				print(no)
				print(' '.join((str(i) for i in combination)))
				return True
	return False
n = int(input())
a = list(map(int, input().split()))
if n == 1:
	print(-1)
elif n == 2:
	if a[0] == a[1]:
		print(-1)
	else:
		print(1)
		print(1)
elif not solve():
	print(-1)


input()
a = list(map(int, input().split()))
if len(a) <= 1 or (len(a) == 2 and a[0] == a[1]):
	print('-1')
else:
	min_i = a.index(min(a))
	print(len(a) - 1)
	for i in range(len(a)):
		if i != min_i:
			print(i + 1, end=' ')
	print()


n = int(input().strip())
ais = list(map(int, input().strip().split()))
if n < 2 or (n == 2 and ais[0] == ais[1]):
	print(-1)
else:
	print(1)
	print(ais.index(min(ais)) + 1)


n = int(input())
tab = [int(x) for x in input().split()]
if n < 2 or (n == 2 and tab[0] == tab[1]):
	print(-1)
else:
	print(1)
	print(tab.index(min(tab)) + 1)


from sys import stdin, stdout
input = lambda : stdin.readline().rstrip()
write = stdout.write

def main():
	N = int(input())
	A = tuple(map(int, input().split()))
	if N < 2 or (N == 2 and A[0] == A[1]):
		write('-1\n')
	else:
		i = A.index(min(A)) + 1
		write('1\n' + str(i) + '\n')
main()


n = int(input())
ai = list(map(int, input().split()))
if n == 1:
	print(-1)
elif n == 2:
	if ai[0] == ai[1]:
		print(-1)
	else:
		print(1)
		print(1)
else:
	num1 = ai[0]
	num2 = sum(ai[1:])
	if num1 == num2:
		print(2)
		print(1, 2)
	else:
		print(1)
		print(1)


n = int(input())
t = list(map(int, input().split()))
if n == 1:
	print(-1)
elif n == 2:
	if len(set(t)) == 1:
		print(-1)
	else:
		print(1)
		print(1)
else:
	p = 0
	for j in range(1, n):
		if sum(t[0:j]) != sum(t[j:]):
			print(j)
			print(*[i for i in range(1, j + 1)])
			p += 1
			break
	if p == 0:
		print(-1)


n = int(input())
a = [1] + [int(ele) for ele in str(input()).split()]
sumVal = 0
minNum = 2000
minPos = 0
for idx in range(1, n + 1):
	sumVal = sumVal + a[idx]
	if minNum > a[idx]:
		minNum = a[idx]
		minPos = idx
if n == 1 or minNum * 2 == sumVal:
	print(-1)
else:
	print(1)
	print(minPos)


n = int(input())
x = list(map(int, input().split(' ')))
if n == 1 or x.count(min(x)) == 2 == len(x):
	print(-1)
else:
	print(1, x.index(min(x)) + 1, sep='\n')


n = int(input())
a = list(map(int, input().split()))
if n == 1:
	print(-1)
elif n == 2:
	if a[0] == a[1]:
		print(-1)
	else:
		print(1)
		print(1)
else:
	print(1)
	rec = 100000
	p = 0
	for i in range(n):
		if rec > a[i]:
			p = i + 1
			rec = a[i]
	print(p)


n = int(input())
l = [int(x) for x in input().split()]
if n <= 1 or (n == 2 and l[0] == l[1]):
	print(-1)
else:
	p = sorted(l)
	print(1)
	print(l.index(p[len(p) // 2]) + 1)


n = int(input())
a = list(map(int, input().split()))
if n != 1:
	gr = 0
	an = 0
	gr = min(a)
	b = []
	q = 0
	for i in range(len(a)):
		b.append(i)
		an += a[i]
		if a[i] == gr:
			q = i
	b.pop(q)
	b = [i + 1 for i in b]
	an -= gr
	if an == gr:
		print(-1)
	else:
		print(len(a) - 1)
		c = ' '.join(map(str, b))
		print(c)
else:
	print(-1)


global sum1
global sum2
sum1 = 0
sum2 = 0
global l
global a
a = []
global g
g = []
n = int(input())
l = list(map(int, input().split()))

def ag(b, index):
	global sum1, sum2, a, g
	if sum1 > sum2:
		a.append(index + 1)
		sum1 = sum1 + b
	if sum2 > sum1:
		g.append(index + 1)
		sum2 = sum2 + b
	if sum1 == sum2:
		a.append(index + 1)
		sum1 = sum1 + b
if len(l) > 1:
	sum1 = l[0]
	sum2 = l[1]
	a.append(1)
	g.append(2)
	i = 2
	while i < len(l):
		ag(l[i], i)
		i += 1
else:
	pass
if sum1 == sum2:
	print('-1')
else:
	print(len(a))
	for i in range(len(a)):
		print(a[i], end=' ')


n = int(input())
b = input().split()
a = []
for i in range(n):
	a.append(b[i])
if n < 2 or (n == 2 and a[0] == a[1]):
	print(-1)
else:
	print(1)
	print(a.index(min(a)) + 1)


def f(n, packets):
	if n == 1 or (n == 2 and packets[0] == packets[1]):
		return -1
	if packets[0] > packets[1]:
		return 1
	else:
		return 0
in_n = int(input())
in_packets = [int(i) for i in input().split()]
r = f(in_n, in_packets)
if r == -1:
	print(-1)
else:
	print(1)
	print(r + 1)


import math as m

def main():
	rd = lambda : list(map(int, input().split()))
	n = int(input())
	tmp = rd()
	arr = list(zip(tmp, range(n)))
	arr.sort(reverse=True)
	s = sum(tmp)
	ind = []
	g = 0
	for i in range(n - 1):
		g += arr[i][0]
		ind.append(arr[i][1] + 1)
	if s - g < g and len(ind) < len(tmp):
		print(len(ind))
		print(*ind)
	else:
		print(-1)
main()


n = int(input())
s = input().split()
h = []
minn = 100000000
min_number = 0
for i in range(0, n):
	h.append(i)
	if int(s[i]) < int(minn):
		minn = s[i]
		min_number = i
if n == 1:
	print(-1)
elif n == 2 and s[0] == s[1]:
	print(-1)
else:
	print(1)
	print(min_number + 1)


def min(l):
	a = l[0]
	j = 0
	for i in range(1, len(l)):
		if l[i] < a:
			a = l[i]
			j = i
	return j + 1
n = int(input())
s = input()
s = s.split(' ')
for i in range(0, len(s)):
	s[i] = int(s[i])
if n == 1 or (n == 2 and int(s[0]) == int(s[1])):
	print(-1)
else:
	j = min(s)
	print(1)
	print(j)


n = int(input())
a = list(map(int, input().split()))
if n == 1:
	print(-1)
else:
	k = 0
	s = [0] * (n + 1)
	for i in range(n):
		if a[i] != sum(a) - a[i]:
			print(1)
			print(i + 1)
			quit()
	for i in range(1, n):
		s[i] = s[i - 1] + a[i - 1]
		if s[i] != sum(a) - s[i]:
			print(i)
			for j in range(i):
				print(j + 1, end=' ')
			print()
			quit()
	print(-1)


n = int(input())
a = list(map(int, input().split()))
m = min(a)
if m * 2 < sum(a):
	print('1\n' + str(a.index(m) + 1))
else:
	print(-1)


n = int(input())
nums = list(map(int, input().split(' ')))
Grig = 0
Grigbals = [1]
Andrew = 0
Andrewbals = [2]
if n == 1 or (n == 2 and nums[0] == nums[1]):
	print(-1)
	exit()
Grig = nums[0]
Andrew = nums[1]
for i in range(2, n):
	if Grig + nums[i] == Andrew:
		Andrew += nums[i]
		Andrewbals += [i + 1]
	else:
		Grig += nums[i]
		Grigbals += [i + 1]
print(len(Grigbals))
for c in Grigbals:
	print(c, end=' ')
print()


def solution(n, b):
	if n <= 2 and b == [b[0]] * n:
		return -1
	return f'1 {b.index(min(b)) + 1}'

def main():
	packs = int(input())
	balloons = input().split()
	print(solution(packs, balloons))
main()


n = int(input())
a = list(map(int, input().split()))
sum = 0
for i in range(len(a)):
	sum += a[i]
if n == 1:
	print('-1')
else:
	val = a[0]
	flag = 1
	if val * 2 != sum:
		flag = 0
	i = 0
	if flag == 1:
		i = 1
		while i < n - 1:
			val += a[i]
			if val * 2 != sum:
				flag = 0
				break
			i += 1
	if flag == 0:
		print(i + 1)
		for i in range(i + 1):
			print(i + 1, end=' ')
		print()
	else:
		print('-1')


input()
a = (*map(int, input().split()),)
if len(a) > 2 or len(set(a)) != 1:
	print(1, a.index(min(a)) + 1)
else:
	print(-1)


import sys
(n, *a) = [int(s) for s in sys.stdin.read().split()]
if n == 1:
	print(-1)
elif n == 2 and a[0] == a[1]:
	print(-1)
else:
	print(1)
	print(a.index(min(a)) + 1)


n = int(input())
ar = input().split()
mi = ar.index(min(ar))
print('-1' if n == 2 and ar[0] == ar[1] or n < 2 else '1 \r' + str(mi + 1))


n = int(input())
packets = list(map(int, input().split()))
totsum = sum(packets)
greg = []
for i in range(n):
	if totsum % 2 and packets[i] < totsum:
		greg.append(i + 1)
		break
	elif totsum % 2 == 0 and packets[i] < totsum and (packets[i] != totsum // 2):
		greg.append(i + 1)
		break
if len(greg) > 0:
	print(len(greg))
	print(*greg)
else:
	print(-1)


n = int(input())
A = input().split()
for i in range(0, n):
	A[i] = int(A[i])
if n == 1 or (n == 2 and A[0] == A[1]):
	print(-1)
else:
	minimum = min(A)
	for i in range(0, n):
		if A[i] == minimum:
			print(1)
			print(i + 1)
			break


a = int(input())
b = [int(b) for b in input().split()]
if a == 1:
	print(-1)
elif a == 2 and b[0] == b[1]:
	print(-1)
else:
	print(1)
	print(b.index(min(b)) + 1)


n = int(input())
a = list(map(int, input().split(' ')))
d = {}
for i in range(n - 1, -1, -1):
	d.update({a[i]: i})
a = sorted(a, reverse=True)
s = sum(a)
c = 0
b = []
for i in range(1, n):
	c = c + a[i]
	if c != s - a[i]:
		b.append(a[i])
		break
if len(b) != n:
	if n > 1 and b != []:
		print(len(b))
		print(d[b[0]] + 1)
	else:
		print('-1')
else:
	print('-1')


n = int(input())
a = list(map(int, input().split()))
if n == 1 or (n == 2 and len(set(a)) == 1):
	print(-1)
	exit()
print(1)
print(1 + a.index(min(a)))


n = int(input())
a = list(map(int, input().split()))
s = 0
for x in a:
	s += x
if n == 1:
	print(-1)
	exit()
for i in range(n):
	if 2 * a[i] != s:
		print(1)
		print(i + 1)
		break
else:
	print(-1)


a = int(input())
b = list(map(int, input().split()))
if a == 1 or (a == 2 and b[0] == b[1]):
	print(-1)
else:
	for i in range(1, a):
		if sum(b[:i]) != sum(b[i:]):
			print(len(b[:i]))
			for k in range(1, i + 1):
				print(k, end=' ')
			break


n = int(input())
a = [int(i) for i in input().split()]
s = sum(a)
(r, t) = ([], 0)
for i in range(len(a)):
	t += a[i]
	r += [i + 1]
	if t != s - t:
		break
if t == 0 or s - t == 0:
	print(-1)
else:
	print(len(r))
	for i in r:
		print(i, end=' ')


n = int(input())
lis = list(map(int, input().rstrip(' ').split(' ')))
if len(lis) <= 1:
	print('-1')
else:
	sumv = 0
	pp = lis
	lis = sorted(lis)
	for i in range(min(len(lis), 3)):
		sumv += lis[i]
	k = lis[0]
	if sumv - k == k:
		print('-1')
	else:
		print('1')
		print(pp.index(lis[0]) + 1)


n = int(input())
a = [int(x) for x in input().split()]
p = sum(a)
q = min(a)
p -= q
j = a.index(q)
if p != q and n != 1:
	print(n - 1)
	for i in range(n):
		if i != j:
			print(i + 1, end=' ')
else:
	print(-1)


n = int(input())
a = [int(x) for x in input().split()]
if n <= 1:
	print(-1)
elif n == 2:
	if a[0] == a[1]:
		print(-1)
	else:
		print(1)
		print(1)
elif sum(a) % 2 == 1:
	print(1)
	print(1)
else:
	for i in range(n):
		if sum(a) - a[i] != sum(a) / 2:
			print(1)
			print(i + 1)
			break


n = int(input())
baloons = list(map(int, input().split()))
if n == 1:
	print(-1)
else:
	x = min(baloons)
	y = baloons.index(x)
	if sum(baloons) - x != x:
		print(1)
		print(y + 1)
	else:
		print(-1)


from itertools import permutations
n = int(input())
a = list(zip(map(int, input().split()), range(n)))
for p in permutations(a):
	for i in range(1, len(p)):
		(f, s) = (map(lambda x: x[0], p[:i]), map(lambda x: x[0], p[i:]))
		if sum(f) != sum(s):
			print(i)
			for j in p[:i]:
				print(j[1] + 1, end=' ')
			exit()
print(-1)


n = int(input())
a = list(map(int, input().split()))
if n < 2:
	print(-1)
else:
	num = a.index(min(a))
	if sum(a) - a[num] != a[num]:
		print(1)
		print(num + 1)
	else:
		print(-1)


n = int(input())
a = list(map(int, input().split()))
r = sum(a)
if n == 1:
	exit(print(-1))
for i in range(n):
	if a[i] != r - a[i]:
		c = list(range(1, n + 1))
		c.remove(i + 1)
		print(len(c))
		exit(print(*c))
print(-1)


n = int(input())
balloons = list(map(int, input().rstrip().split(' ')))
if n == 1:
	print(-1)
else:
	balloons_sum = sum(balloons)
	b = 0
	present = balloons[b]
	while present == balloons_sum - present and b < n:
		b += 1
		if b >= n:
			break
		present = balloons[b]
	if b < n:
		print(1)
		print(b + 1)
	else:
		print(-1)


n = int(input())
a = [int(i) for i in input().split()]
res = []
if n == 2 and a[0] == a[1]:
	print('-1')
elif n == 1:
	print('-1')
else:
	for i in range(n):
		if a[i] != sum(a) - a[i]:
			res.append(i + 1)
			break
if len(res) != 0:
	print('1')
	print(*res)


n = int(input())
A = list(map(int, input().split()))
if n == 1:
	print(-1)
elif len(A) == 2:
	if A[0] != A[1]:
		print(1)
		print(1)
	else:
		print(-1)
elif sum(A) - A[n - 1] != A[n - 1]:
	print(1)
	print(n)
else:
	print(2)
	print(n - 1, n)


def cmp(ele):
	return ele[0]
a = [(0, 0)] * 11
b = [0] * 11
n = int(input())
b = [int(n) for n in input().split()]
tot = 0
for i in range(n):
	a[i] = (b[i], i)
	tot = tot + b[i]
a.sort(key=cmp, reverse=True)
if n < 2 or (n == 2 and a[0][0] == a[1][0]):
	print(-1)
else:
	ans = 0
	for i in range(n):
		ans = ans + a[i][0]
		if ans * 2 > tot:
			print(i + 1)
			for j in range(i + 1):
				print(a[j][1] + 1, end=' ')
			break


def main():
	n = int(input())
	l = list(map(int, input().split()))
	if n == 1 or (n == 2 and l[0] == l[1]):
		print(-1)
		return
	s = sum(l)
	for (i, x) in enumerate(l, 1):
		if x * 2 != s:
			print(1, i, sep='\n')
			return
main()


n = int(input())
lst = list(map(int, input().split()))
num = []
for i in range(n):
	num.append([lst[i], i])
if n == 1:
	print(-1)
elif n == 2 and num[0][0] == num[1][0]:
	print(-1)
elif n == 2:
	print(1)
	print(1)
else:
	ans = []
	y = 0
	for i in range(n - 1):
		best = -1000000
		for j in range(len(num)):
			if num[j][0] > best:
				best = num[j][0]
				ind = j
		for j in range(len(num)):
			if num[j][0] == best:
				ans.append(num[j][1] + 1)
				break
		num.pop(ind)
	if False:
		print(-1)
	else:
		print(n - 1)
		for i in range(n - 1):
			print(ans[i], end=' ')


n = int(input())
my_list = input()
my_list = my_list.split()
ind_listG = list()
f = 0
sun = 0
if n == 1:
	print(-1)
	f = 1
if f == 0:
	for i in range(n):
		my_list[i] = int(my_list[i])
		sun = sun + my_list[i]
	cnt = 1
	Gsum = my_list[0]
	q = 1
	if sun - Gsum != Gsum and sun - Gsum != 0:
		print(cnt)
		print(1)
	else:
		Gsum = Gsum + my_list[q]
		if sun - Gsum != Gsum and sun - Gsum != 0:
			print(cnt + 1)
			print('1 2')
		else:
			print(-1)


a = int(input())
b = list(map(int, input().split()))
print(*[[-1], ['1\n', b.index(min(b)) + 1]][a > 1 and min(b) != sum(b) - min(b)])


def main():
	n = int(input())
	inp = list(map(int, input().split()))
	if n == 1:
		print(-1)
		return
	if n == 2 and inp[0] == inp[1]:
		print(-1)
		return
	s = sum(inp)
	pr = list(range(1, n + 1))
	if inp[0] == s - inp[0]:
		pr.remove(2)
	else:
		pr.remove(1)
	print(len(pr))
	string = str(pr[0])
	del pr[0]
	for i in pr:
		string += ' ' + str(i)
	print(string)
main()


R = lambda : list(map(int, input().split(' ')))
input()
a = R()
f = False
for i in range(0, 2 ** len(a)):
	gr_k = 0
	gr_ans = []
	an = 0
	gr = 0
	mask = i
	for j in range(0, len(a)):
		if mask % 2 == 1:
			an += a[j]
		else:
			gr += a[j]
			gr_k += 1
			gr_ans.append(j + 1)
		mask = mask // 2
	if an > 0 and gr > 0 and (an != gr):
		f = True
		print(gr_k)
		print(*gr_ans)
		break
if f == False:
	print(-1)


n = int(input())
l = [int(i) for i in input().split()]
if n == 1:
	print(-1)
elif n == 2 and len(set(l)) == 1:
	print(-1)
else:
	ans = []
	for i in range(n):
		ans.append((l[i], i + 1))
	ans.sort(reverse=True)
	print(n - 1)
	for i in range(n - 1):
		print(ans[i][1], end=' ')


n = int(input())
a = [int(x) for x in input().split()]
allocation = [0] * n

def rec(sum1, sum2, b1, b2, i):
	if i == n:
		if sum1 != sum2 and b1 >= 1 and (b2 >= 1):
			return True
		else:
			return False
	allocation[i] = 1
	to1 = rec(sum1 + a[i], sum2, b1 + 1, b2, i + 1)
	if to1:
		return True
	allocation[i] = 2
	to2 = rec(sum1, sum2 + a[i], b1, b2 + 1, i + 1)
	return to2
if rec(0, 0, 0, 0, 0):
	p1 = []
	for i in range(n):
		if allocation[i] == 1:
			p1.append(i + 1)
	print('{}\n{}'.format(len(p1), ' '.join((str(x) for x in p1))))
else:
	print(-1)


def main():
	n = int(input())
	a = [int(i) for i in input().split(' ')]
	if n == 1:
		print(-1)
		exit()
	s = sum(a)
	for i in range(n):
		if a[i] != s - a[i]:
			print(1)
			print(i + 1)
			exit()
	print(-1)
main()


import math
n = int(input())
a = list(map(int, input().split()))
b = list()
if n == 1:
	print(-1)
	exit()
s = sum(a)
for i in range(len(a)):
	x = a[i]
	if s - x != x:
		print(1)
		print(i + 1)
		exit()
print(-1)


import sys
n = int(input())
b = list(map(int, input().split()))
b_s = sorted([(i, x) for (i, x) in enumerate(b)], key=lambda x: (x[1], x[0]))
if n == 1:
	print(-1)
	sys.exit()
if n == 2:
	if b[0] == b[1]:
		print(-1)
		sys.exit()
print(1)
print(b_s[0][0] + 1)


n = int(input())
a = list(map(int, input().split()))
if len(a) == 1:
	print(-1)
elif len(a) == 2 and a[0] == a[1]:
	print(-1)
else:
	mina = min(a)
	for (i, x) in enumerate(a):
		if x == mina:
			print(1)
			print(i + 1)
			break


import sys

def mp():
	return list(map(int, input().split()))

def dead():
	print('-1')
	sys.exit()
debug = 0
if debug:
	f = open('input.txt', 'r')
	input = f.readline

def _main():
	n = int(input())
	a = mp()
	if n == 1:
		dead()
	if n == 2 and a[0] == a[1]:
		dead()
	x = sum(a[1:])
	if x == a[0]:
		print(2)
		print(1, 2)
	else:
		print(1)
		print(1)
_main()


import sys
import math
import itertools
import functools
import collections
import operator
import fileinput
import copy
from collections import *
ORDA = 97

def ii():
	return int(input())

def mi():
	return map(int, input().split())

def li():
	return [int(i) for i in input().split()]

def lcm(a, b):
	return abs(a * b) // math.gcd(a, b)

def revn(n):
	return str(n)[::-1]

def dd():
	return collections.defaultdict(int)

def ddl():
	return collections.defaultdict(list)

def sieve(n):
	if n < 2:
		return list()
	prime = [True for _ in range(n + 1)]
	p = 3
	while p * p <= n:
		if prime[p]:
			for i in range(p * 2, n + 1, p):
				prime[i] = False
		p += 2
	r = [2]
	for p in range(3, n + 1, 2):
		if prime[p]:
			r.append(p)
	return r

def divs(n, start=2):
	r = []
	for i in range(start, int(math.sqrt(n) + 1)):
		if n % i == 0:
			if n / i == i:
				r.append(i)
			else:
				r.extend([i, n // i])
	return r

def divn(n, primes):
	divs_number = 1
	for i in primes:
		if n == 1:
			return divs_number
		t = 1
		while n % i == 0:
			t += 1
			n //= i
		divs_number *= t

def prime(n):
	if n == 2:
		return True
	if n % 2 == 0 or n <= 1:
		return False
	sqr = int(math.sqrt(n)) + 1
	for d in range(3, sqr, 2):
		if n % d == 0:
			return False
	return True

def convn(number, base):
	new_number = 0
	while number > 0:
		new_number += number % base
		number //= base
	return new_number

def cdiv(n, k):
	return n // k + (n % k != 0)

def ispal(s):
	for i in range(len(s) // 2 + 1):
		if s[i] != s[-i - 1]:
			return False
	return True

def function(arr, size, dp):
	if size == 1 or size == 0:
		return 1
	key = ''.join(map(str, arr[:size]))
	if dp[key]:
		return dp[key]
	output = function(arr, size - 1, dp)
	key = ''.join(map(str, arr[:size - 1]))
	dp[key] = output
	if arr[size - 2] * 10 + arr[size - 1] <= 26:
		output += function(arr, size - 2, dp)
		key = ''.join(map(str, arr[:size - 2]))
		dp[key] = output
	return output

def main():
	n = ii()
	arr = li()
	b = arr[:]
	arr = sorted(arr)
	if n == 1:
		print(-1)
	elif n == 2 and arr[0] == arr[1]:
		print(-1)
	else:
		i = b.index(arr[0]) + 1
		print(n - 1)
		for j in range(n):
			if j + 1 == i:
				continue
			print(j + 1, end=' ')
main()


TN = 1

def solution():
	n = int(input())
	a = list(map(int, input().split()))
	andr = min(a)
	ind = a.index(min(a))
	grsh = a[:ind] + a[ind + 1:]
	if andr == sum(grsh) or n == 1:
		print(-1)
	else:
		print(len(grsh))
		for i in range(n):
			if i != ind:
				print(i + 1, end=' ')
		print()
while TN != 0:
	solution()
	TN -= 1


n = int(input())
arr = list(map(int, input().split()))
if n == 1 or (n == 2 and arr[0] == arr[1]):
	print(-1)
else:
	d = dict(zip(arr, range(n)))
	keys = sorted(d)
	print(1)
	print(d[keys[0]] + 1)


n = int(input())
arr = list(map(int, input().split()))
s = sum(arr)
for i in range(n):
	if s - arr[i] != arr[i] and s - arr[i]:
		print(1)
		print(i + 1)
		exit(0)
print(-1)


N = int(input())
B = list(map(int, input().split(' ')))
SUM = sum(B)
if N == 1:
	print(-1)
elif N == 2 and B[0] == B[1]:
	print(-1)
elif N == 2 and B[0] != B[1]:
	print(1)
	print(1)
elif B[0] == SUM - B[0]:
	print(2)
	print(1, 2)
else:
	print(1)
	print(1)


n = int(input())
a = [int(x) for x in input().split()]
one = [1]
one_sum = a[0]
total_sum = sum(a)
if n < 2:
	print(-1)
elif n == 2:
	if a[0] == a[1]:
		print(-1)
	else:
		print(1)
		print(1)
else:
	for i in range(1, n - 1):
		if one_sum + a[i] != total_sum - (one_sum + a[i]):
			one_sum += a[i]
			one += [i + 1]
	print(len(one))
	s = ''
	for i in one:
		s += str(i) + ' '
	print(s)


import sys
n = int(sys.stdin.readline())
ballons = list(map(int, sys.stdin.readline().split()))
b = list()
i = 1
for x in ballons:
	b.append([x, i])
	i += 1
b.sort(reverse=True)
if n < 2 or (b[0][0] == b[n - 1][0] and n == 2):
	print(-1)
else:
	print(n - 1)
	for loop in range(n - 1):
		print(b[loop][1], end=' ')


n = int(input())
array = list(map(int, input().split()))
if n == 1 or (n == 2 and array[0] == array[1]):
	print(-1)
else:
	solNumber = 1
	solArray = [1]
	s = sum((array[i] for i in range(1, n)))
	if array[0] == s:
		solNumber += 1
		solArray.append(2)
	print(solNumber)
	for item in solArray:
		print(item, end=' ')


n = int(input())
m = list(map(int, input().split()))
if len(m) == 2 and m[0] == m[1] or len(m) < 2:
	print(-1)
else:
	q = []
	print(n - 1)
	w = 0
	for i in range(n):
		q.append(i + 1)
		if m[w] >= m[i]:
			w = i
	q.remove(w + 1)
	for i in range(len(q)):
		print(q[i], end=' ')


n = int(input())
u = list(map(int, input().split()))
s = sum(u)
m = min(u)
if m != s - m and n > 1:
	print(1)
	print(u.index(m) + 1)
else:
	print(-1)


n = int(input())
a = {}
b = []
(count, key) = (0, 0)
for i in input().split():
	j = int(i)
	try:
		if a[j] >= 1:
			a[j] = a[j] + 1
	except KeyError:
		a[j] = count
		key = key + 1
		b.append(j)
	count = count + 1
if key == 1 and n <= 2:
	print(-1)
else:
	print(1)
	print(a[min(b)] + 1)


n = int(input())
a = list(map(int, input().split()))
sumAll = sum(a)
ans = None
for m in range(1, (1 << n) - 1):
	s = sum((a[i] for i in range(n) if m & 1 << i != 0))
	if sumAll - s != s:
		ans = list((i + 1 for i in range(n) if m & 1 << i != 0))
		break
if ans:
	print(len(ans))
	print(' '.join(map(str, ans)))
else:
	print(-1)


n = int(input())
a = list(map(int, input().split()))
if n == 1 or (n == 2 and a[0] == a[1]):
	print(-1)
	exit(0)
if a[0] == sum(a) - a[0]:
	print(2)
	print(1, 2)
else:
	print(1, 1, sep='\n')


n = int(input())
a = list(map(int, input().split()))
x = sum(a)
if n == 1:
	print(-1)
elif n == 2 and a[0] == a[1]:
	print(-1)
else:
	for i in range(1, n):
		if x % 2 == 1 or sum(a[i:]) != x // 2:
			print(i, end=' ')
			print(*list(range(1, i + 1)))
			break


n = int(input())
a = list(map(int, input().split()))
tot = sum(a) - a[0]
if n == 1 or (n == 2 and a[0] == a[1]):
	print(-1)
elif tot != a[0]:
	print('1\n1\n')
else:
	print('2\n1 2\n')


import time
n = int(input())
a = [int(i) for i in input().split()]
if n == 1 or (n == 2 and a[0] == a[1]):
	print(-1)
else:
	k = sum(a) / 2
	for i in range(n):
		if a[i] != k:
			print(1)
			print(i + 1)
			break
finish = time.time()


n = int(input())
po = list(map(int, input().split()))
if len(po) == 1:
	print('-1')
elif len(po) == 2:
	if po[0] == po[1]:
		print('-1')
	else:
		print('1')
		print('1')
else:
	kam = po.index(min(po))
	print('1')
	print(kam + 1)


n = int(input())
balloons = [int(x) for x in input().split()]
if n == 1:
	print(-1)
elif n == 2 and balloons[0] == balloons[1]:
	print(-1)
else:
	min_packet = 0
	min_balloons = balloons[min_packet]
	for packet in range(n):
		if balloons[packet] < min_balloons:
			min_packet = packet
	print(1)
	print(min_packet + 1)


from sys import *
from math import *
from bisect import *
n = int(stdin.readline())
a = list(map(int, stdin.readline().split()))
m = min(a)
i = 0
for i in range(n):
	if a[i] == m:
		break
if sum(a) - 2 * m == 0 or n == 1:
	print(-1)
else:
	print(1)
	print(i + 1)


n = int(input())
li = list(map(int, input().split()))
if n == 2:
	if li[0] == li[1]:
		print(-1)
	else:
		print(1)
		print(1)
elif n == 1:
	print(-1)
else:
	minin = 0
	minu = li[0]
	for k in range(len(li)):
		if li[k] < minu:
			minu = li[k]
			minin = k
	print(1)
	print(minin + 1)


n = int(input())
a = [int(i) for i in input().split()]
if n == 1:
	print(-1)
elif n == 2 and len(set(a)) == 1:
	print(-1)
else:
	l = []
	d = a.index(min(a)) + 1
	for i in range(1, n + 1):
		if i != d:
			l.append(i)
	print(len(l))
	print(*l)


n = int(input())
l = [int(x) for x in input().split()]
z = min(l)
if n == 1:
	print('-1')
elif n == 2:
	if l[0] == l[1]:
		print('-1')
	else:
		print('1')
		print(l.index(z) + 1)
else:
	print('1')
	print(l.index(z) + 1)


n = int(input())
l = [int(x) for x in input().split()]
if n == 1:
	print(-1)
elif n == 2:
	if l[0] == l[1]:
		print(-1)
	else:
		print(1)
		print(1)
else:
	m = min(l)
	i = l.index(m)
	print(n - 1)
	for x in range(n):
		if x != i:
			print(x + 1, end=' ')


import sys
for _ in range(1):
	n = int(input())
	l = list(map(int, input().split()))
	if n == 1:
		print(-1)
		break
	i = l.index(min(l))
	l.sort()
	if l[0] == sum(l[1:]):
		print(-1)
	else:
		print(1)
		print(i + 1)


n = int(input())
a = list(map(int, input().split()))
if n == 1 or (n == 2 and a[0] == a[1]):
	print(-1)
else:
	found = False
	print(n - 1)
	for i in range(len(a)):
		if a[i] == min(a) and (not found):
			found = True
		else:
			print(i + 1, end=' ')


n = int(input())
a = list(map(int, input().strip().split(' ')))
sum = 0
min = None
for i in range(n):
	sum += a[i]
	if min is None or a[i] < a[min]:
		min = i
if sum - a[min] >= 1 and (not sum - a[min] == a[min]):
	print('1')
	print(min + 1)
else:
	print('-1')


pakets = int(input())
l = list(map(int, input().split()))
l_copy = l.copy()
l.sort()
the_set = set()
res = 0
Grigory = []
Andrew = []
if pakets == 1:
	res = -1
elif pakets == 2 and len(set(l)) == 1:
	res = -1
else:
	for i in range(len(l)):
		if i == 0:
			Grigory.append(l[i])
			the_set.add(l_copy.index(l[i]) + 1)
		elif i == 1:
			Andrew.append(l[i])
		else:
			Andrew.append(l[i])
if res == -1:
	print(res)
else:
	print(len(the_set))
	for val in the_set:
		print(val, end=' ')


i = int(input().strip())
q = list(map(int, input().strip().split()))
a = sum(q)
flag = 0
if i > 1:
	for j in range(len(q)):
		if q[j] != a - q[j]:
			print(1)
			print(j + 1)
			flag = -1
			break
if flag == 0:
	print(-1)


n = int(input())
if n == 1:
	print('-1')
	exit()
a = list(map(int, input().split(' ')))
if n == 2:
	if a[0] == a[1]:
		print('-1')
		exit()
	else:
		print('1\n1')
		exit()
a1 = sum(a[1:])
if a[0] == a1:
	print('2\n1 2')
else:
	print('1\n1')


n = int(input())
l = list(map(int, input().split()))
if n == 1:
	print(-1)
elif n == 2:
	if l[0] == l[1]:
		print(-1)
	else:
		print(1)
		print(1)
else:
	x = min(l)
	y = l.index(x)
	print(1)
	print(y + 1)


t = int(input())
s = list(map(int, input().split()))
if len(s) == 2:
	if s[0] == s[1]:
		print('-1')
	else:
		print('1 1')
elif len(s) < 2:
	print('-1')
else:
	print(1)
	print(s.index(min(s)) + 1)


import collections
from functools import cmp_to_key
import math
import sys

def getIntList():
	return list(map(int, input().split()))
import bisect
try:
	import numpy
	dprint = print
	dprint('debug mode')
except ModuleNotFoundError:

	def dprint(*args, **kwargs):
		pass

def makePair(z):
	return [(z[i], z[i + 1]) for i in range(0, len(z), 2)]

def memo(func):
	cache = {}

	def wrap(*args):
		if args not in cache:
			cache[args] = func(*args)
		return cache[args]
	return wrap

@memo
def comb(n, k):
	if k == 0:
		return 1
	if n == k:
		return 1
	return comb(n - 1, k - 1) + comb(n - 1, k)
(n,) = getIntList()
za = getIntList()
if n == 1 or (n == 2 and za[0] == za[1]):
	print(-1)
	sys.exit()
total = sum(za)
for i in range(n):
	if za[i] * 2 != total:
		print(1)
		print(i + 1)
		break


n = int(input())
l = list(map(int, input().split()))
m = min(l)
if n == 1:
	print(-1)
else:
	x = l.index(m)
	s = sum(l)
	if m != s - m:
		print(1)
		print(x + 1)
	else:
		print(-1)


n = int(input())
a = [int(i) for i in input().split()]
if n == 1:
	print(-1)
	exit(0)
sum1 = a[0]
sum2 = 0
cnt = 0
for i in range(1, n):
	sum2 += a[i]
	cnt += 1
	if sum2 > sum1:
		print('1\n1')
		exit(0)
	elif sum2 < sum1:
		print('1\n2')
		exit(0)
print(-1)


n = int(input())
a = input().split()
for i in range(n):
	a[i] = [int(a[i]), i + 1]
a.sort()
if n == 2 and a[0][0] == a[1][0] or n < 2:
	print('-1')
else:
	print('1')
	print(a[0][1])


n = int(input())
a = [int(x) for x in input().split()]
if n == 1 or (n == 2 and a[0] == a[1]):
	print(-1)
elif sum(a) - a[0] != a[0]:
	print(1)
	print(1)
else:
	print(2)
	print('1 2')


n = int(input())
l = list(map(int, input().strip().split()))
min1 = 1000000000000
index = 11
for i in range(n):
	if l[i] < min1:
		min1 = l[i]
		index = i
if n == 1:
	print(-1)
elif n == 2:
	if l[0] == l[1]:
		print(-1)
	else:
		print(1)
		print(index + 1)
else:
	print(1)
	print(index + 1)


num_packets = input()
packets = [int(x) for x in input().split()]
G_packet = [x for x in range(len(packets) // 2)]
A_packet = [x for x in range(len(packets) // 2, len(packets))]

def sum_balloons(packet_array):
	count = 0
	for packet in packet_array:
		count += packets[packet]
	return count
i = 0
while sum_balloons(G_packet) == sum_balloons(A_packet) and i <= len(packets):
	j = i
	while j < min(len(G_packet), len(A_packet)):
		if A_packet[i] != G_packet[j]:
			tmp = A_packet[i]
			A_packet[i] = G_packet[j]
			G_packet[j] = tmp
			j += 1
		elif A_packet:
			A_packet = A_packet[1:]
			G_packet = G_packet + A_packet[:1]
			i -= 1
			j += 1
	i += 1
if sum_balloons(G_packet) == sum_balloons(A_packet) and min(len(G_packet), len(A_packet)) > 1:
	higher = min(G_packet, A_packet)
	lower = max(G_packet, A_packet)
	lower = lower + higher[:1]
	higher = higher[1:]
	print(len(lower))
	output = ''
	for item in lower:
		output += str(item + 1)
		output += ' '
	print(output)
elif sum_balloons(G_packet) == sum_balloons(A_packet) or min(sum_balloons(G_packet), sum_balloons(A_packet)) <= 0:
	print('-1')
else:
	output = ''
	for item in G_packet:
		output += str(item + 1)
		output += ' '
	print(len(G_packet))
	print(output)


n = int(input())
ls = [int(x) for x in input().split()]
g = list()
if n == 1:
	print(-1)
elif n == 2 and ls[0] == ls[1]:
	print(-1)
else:
	g.append(ls[0])
	if sum(g) == sum(ls[1:]):
		print(2)
		print('1 2')
	else:
		print(1)
		print(1)


nobp = int(input())
ballon_cnt = [int(x) for x in input().split()]
if nobp == 1 or (len(ballon_cnt) == 2 and len(set(ballon_cnt)) == 1):
	print(-1)
else:
	print(1)
	print(ballon_cnt.index(min(ballon_cnt)) + 1)


n = int(input())
ls = [int(i) for i in input().split()]
if n == 1 or (n == 2 and ls[0] == ls[1]):
	exit(print(-1))
print(1)
for (i, j) in enumerate(ls):
	if j != sum(ls) / 2:
		exit(print(i + 1))


n = int(input())
l = [int(i) for i in input().split()]
s = sorted(l)
if n == 1:
	print(-1)
elif s[0] != sum(s[1:]):
	print(1)
	print(l.index(s[0]) + 1)
else:
	print(-1)


from collections import defaultdict, deque, Counter
from sys import stdin, stdout
from heapq import heappush, heappop
import math
import io
import os
import math
import bisect

def isPrime(x):
	for i in range(2, x):
		if i * i > x:
			break
		if x % i == 0:
			return False
	return True

def ncr(n, r, p):
	num = den = 1
	for i in range(r):
		num = num * (n - i) % p
		den = den * (i + 1) % p
	return num * pow(den, p - 2, p) % p

def primeFactors(n):
	l = []
	while n % 2 == 0:
		l.append(2)
		n = n / 2
	for i in range(3, int(math.sqrt(n)) + 1, 2):
		while n % i == 0:
			l.append(int(i))
			n = n / i
	if n > 2:
		l.append(n)
	return list(set(l))

def power(x, y, p):
	res = 1
	x = x % p
	if x == 0:
		return 0
	while y > 0:
		if y & 1 == 1:
			res = res * x % p
		y = y >> 1
		x = x * x % p
	return res

def sieve(n):
	prime = [True for i in range(n + 1)]
	p = 2
	while p * p <= n:
		if prime[p] == True:
			for i in range(p * p, n + 1, p):
				prime[i] = False
		p += 1
	return prime

def digits(n):
	c = 0
	while n > 0:
		n //= 10
		c += 1
	return c

def ceil(n, x):
	if n % x == 0:
		return n // x
	return n // x + 1

def mapin():
	return [int(x) for x in input().split()]
t = 1
for _ in range(t):
	n = int(input())
	l = mapin()
	if n == 1:
		print(-1)
	elif n == 2 and l[0] == l[1]:
		print(-1)
	else:
		temp = min(l)
		temp = l.index(temp)
		print(1)
		print(temp + 1)


sl = int(input())
bong = list(map(int, input().split()))
gioihan = sum(bong) / 2
bong_clone = sorted(bong)
for (ind, val) in enumerate(bong):
	if gioihan - val > 0:
		print(1)
		print(ind + 1)
		exit()
print(-1)


n = int(input())
x = list(map(int, input().split()))
if n == 1:
	print(-1)
	exit(0)
(l, m) = ([], [])
for i in range(n):
	l.append(x[i])
	m.append(i + 1)
for i in range(n):
	for j in range(i + 1, n):
		if l[i] > l[j]:
			(l[i], l[j]) = (l[j], l[i])
			(m[i], m[j]) = (m[j], m[i])
for i in range(1, n):
	a = sum(l[:i])
	b = sum(l[i:])
	if a != b:
		print(i)
		for j in range(i):
			print(m[j], end=' ')
		print()
		exit(0)
print(-1)


n = int(input())
array = [int(x) for x in input().split()]
a_w_i = sorted([(array[i], i + 1) for i in range(len(array))])
if len(a_w_i) == 1:
	print(-1)
elif len(a_w_i) == 2 and a_w_i[0][0] == a_w_i[1][0]:
	print(-1)
else:
	answer = [item[1] for item in a_w_i[1:]]
	print(len(answer))
	print(' '.join(map(str, answer)))


packet = int(input())
colvo = list(map(int, input().split()))
counter = 0
if len(colvo) == 1 or len(colvo) == 0:
	print(-1)
	exit()
elif len(colvo) == 2 and colvo[0] == colvo[1]:
	print(-1)
	exit()
else:
	for k in range(packet - 1):
		counter += colvo[k]
	if counter == colvo[-1]:
		print(packet - 2)
		print(' '.join(map(str, list(range(1, packet - 1)))))
	else:
		print(packet - 1)
		print(' '.join(map(str, list(range(1, packet)))))


def scanf(t=int):
	return list(map(t, input().split()))
(n,) = scanf()
m = scanf()
if n == 1 or (n == 2 and m[0] == m[1]):
	print(-1)
	quit()
i = min(range(n), key=lambda x: m[x])
print(1)
print(i + 1)


from copy import *
n = int(input())
arr = list(map(int, input().split()))
k = 0
arry = []
for i in arr:
	if i not in arry:
		arry.append(i)
		k += 1
if n == 1:
	print(-1)
elif k == 1 and n == 2:
	print(-1)
else:
	ans = 1
	arrz = arr.index(min(arr)) + 1
	print(ans)
	print(arrz)


n = int(input())
bal = [int(x) for x in input().split()]
m = min(bal)
s = sum(bal)
if m < s - m:
	print(1)
	print(bal.index(m) + 1)
else:
	print(-1)


n = int(input().strip())
packet = list(map(int, input().strip().split()))
total = sum(packet)
if n < 2:
	print(-1)
elif n == 2:
	if packet[0] == packet[1]:
		print(-1)
	else:
		print(1)
		print(1)
else:
	i = 0
	while i < n and total - packet[i] == packet[i]:
		i += 1
	print(1)
	print(i + 1)


n = int(input())
list1 = [int(i) for i in input().split()]
if n == 1:
	print('-1')
elif (n == 2) & (list1[1] == list1[0]):
	print('-1')
elif sum(list1[0:int(n / 2)]) != sum(list1[int(n / 2):n]):
	print(len(list1[0:int(n / 2)]))
	for j in range(len(list1[0:int(n / 2)])):
		print(j + 1, end=' ')
elif sum(list1[0:int(n / 2) + 1]) != sum(list1[int(n / 2) + 2:n]):
	print(len(list1[0:int(n / 2) + 1]))
	for j in range(len(list1[0:int(n / 2)]) + 1):
		print(j + 1, end=' ')


n = int(input())
l = list(map(int, input().split()))
if n == 1:
	print(-1)
elif n == 2 and l[0] == l[1]:
	print(-1)
else:
	print(1)
	ans = 1
	minu = 2e+18
	for t in range(n):
		if l[t] < minu:
			minu = l[t]
			ans = t + 1
	print(ans)


def f(l):
	if len(l) < 2:
		print(-1)
	elif len(l) == 2 and l[0] == l[1]:
		print(-1)
	elif sum(l[:n - 1]) == l[n - 1]:
		print(len(l) - 2)
		print(*list(range(1, n - 1)))
	else:
		print(len(l) - 1)
		print(*list(range(1, n)))
n = int(input())
l = list(map(int, input().split()))
f(l)


def solution(p):
	if len(p) < 2:
		print(-1)
		return
	summ = sum(p)
	for (ind, val) in enumerate(p):
		if summ - val != val:
			print(1)
			print(ind + 1)
			return
	print(-1)
n = [int(val) for val in input().split()][0]
p = [int(val) for val in input().split()]
solution(p)


n = int(input())
a = input().split(' ')
for i in range(len(a)):
	a[i] = int(a[i])
neg = False
if n == 1:
	print(-1)
elif n == 2 and a[0] == a[1]:
	print(-1)
elif a[0] != sum(a[1:]):
	print(1)
	print(1)
else:
	print(2)
	print(1, 2)


import os
import sys
debug = True
if debug and os.path.exists('input.in'):
	input = open('input.in', 'r').readline
else:
	debug = False
	input = sys.stdin.readline

def inp():
	return int(input())

def inlt():
	return list(map(int, input().split()))

def insr():
	s = input()
	return s[:len(s) - 1]

def invr():
	return map(int, input().split())
test_count = 1
if debug:
	test_count = int(input())
for t in range(test_count):
	if debug:
		print('Test Case #', t + 1)
	n = inp()
	a = inlt()
	b = sorted(a)
	if n == 1 or (n == 2 and a[0] == a[1]):
		print(-1)
	else:
		print(1)
		print(a.index(b[0]) + 1)


m = int(input())
lista = input()
lista = lista.split(' ')
array = []
for i in lista:
	array.append(int(i))
andrew = 0
asum = 0
ind = array.index(min(array))
gsum = array[array.index(min(array))]
array[array.index(min(array))] = -1
grigory = 1
while max(array) != -1:
	andrew += 1
	asum += array[array.index(max(array))]
	array[array.index(max(array))] = -1
if andrew == 0 or gsum == asum or m == 1:
	print('{}'.format(-1))
else:
	print(grigory)
	print(ind + 1)


n = int(input())
a = list(map(int, input().split()))
val = min(a)
for i in range(len(a)):
	if a[i] == val:
		id1 = i + 1
a.sort()
s = 0
for i in range(1, n):
	s = s + a[i]
if a[0] == s or n == 1:
	print('-1')
else:
	print(1)
	print(id1)


(n, a) = (int(input()), list(sorted(((a, j) for (j, a) in enumerate(map(int, input().split()))))))
if n == 1 or (n == 2 and a[0][0] == a[1][0]):
	print(-1)
else:
	print(1, a[0][1] + 1, sep='\n')


n = int(input())
a = list(map(int, input().split()))
res = min(a)
item = a.index(res)
if sum(a) - res != res and n > 1:
	print(1)
	print(item + 1)
else:
	print(-1)


from sys import stdin
n = int(stdin.readline())
a = list(map(int, stdin.readline().split()))
if len(set(a)) == 1 and n <= 2:
	print(-1)
else:
	print(1)
	print(a.index(min(a)) + 1)