Read problems statements in Mandarin Chinese  and Russian. 

You are given a multiset of N integers. Please find such a nonempty subset of it that the sum of the subset's elements is divisible by N. Otherwise, state that this subset doesn't exist.

------ Input ------ 

The first line of the input contains an integer T denoting the number of test cases. The description of T test cases follows. 

The first line of each test consists of a single integer N - the size of the multiset.

The second line of each test contains N single space separated integers - the multiset's elements.

------ Output ------ 

For each test case output:

-1 if the required subset doesn't exist
If the required subset exists, output two lines. Output the size of the subset on the first line and output the list of indices of the multiset's element that form the required subset. Of course, any number can be taken in the subset no more than once.

If there are several such subsets, you can output any.

------ Constraints ------ 

$1 ≤ The sum of N over all the test cases ≤ 10^{5}$
$Each element of the multiset is a positive integer, not exceeding 10^{9}.$
$1 ≤ N ≤ 15 : 37 points. $
$1 ≤ N ≤ 1000 : 24 points.$
$1 ≤ N ≤ 10^{5} : 39 points. $

------ Example ------ 

Input:
1
3
4 6 10

Output:
1
2

------ Explanation ------ 

We can pick {6} as the subset, then its sum is 6 and this is divisible by 3 - the size of the initial multiset.

Difficulty: VERY_HARD

Solutions:
t = int(input())
for _ in range(t):
	N = int(input())
	array = list(map(int, input().split()))
	sumx = 0
	sumxIndex = {}
	for i in range(0, N):
		sumx = (sumx + array[i]) % N
		if sumx == 0:
			left = 0
			right = i
			break
		if sumx in sumxIndex.keys():
			left = sumxIndex[sumx] + 1
			right = i
			break
		sumxIndex[sumx] = i
	print(right - left + 1)
	for index in range(left, right + 1):
		print(index + 1, end=' ')
	print()


t = int(input())
for _ in range(t):
	n = int(input())
	arr = list(map(int, input().split()))
	sm = 0
	mp = {0: 0}
	for i in range(n):
		sm += arr[i]
		r = sm % n
		if r in mp:
			print(i - mp[r] + 1)
			print(*range(mp[r] + 1, i + 1 + 1), sep=' ')
			break
		else:
			mp[r] = i + 1
	else:
		print(-1)


t = int(input())
for _ in range(t):
	n = int(input())
	a = [int(x) for x in input().split()]
	b = {}
	s = 0
	for i in range(n):
		s = (s + a[i]) % n
		if s % n == 0:
			print(i + 1)
			for j in range(1, i + 2):
				print(j, end=' ')
			print()
			break
		elif s in b:
			print(i - b[s])
			for j in range(b[s] + 2, i + 2):
				print(j, end=' ')
			print()
			break
		else:
			b[s] = i


t = int(input())
for _ in range(t):
	n = int(input())
	a = list(map(int, input().split()))
	res = 0
	mapper = {}
	for i in range(len(a)):
		res = (res + a[i]) % n
		if res % n == 0:
			print(i + 1)
			for j in range(1, i + 2):
				print(j, end=' ')
			print()
			break
		elif res in mapper:
			print(i - mapper[res])
			for j in range(mapper[res] + 2, i + 2):
				print(j, end=' ')
			print()
			break
		else:
			mapper[res] = i


from numpy import ma
T = int(input())

def solve(N: int, input_set: list):
	compounded = []
	curr_sum = 0
	for (i, x) in enumerate(input_set):
		curr_sum = (curr_sum + x) % N
		if curr_sum == 0:
			print(i + 1)
			print(' '.join(map(str, range(1, i + 2))))
			return
		compounded.append((curr_sum, i + 1))
	compounded = sorted(compounded)
	prev_x = -1
	prev_y = None
	for (x, y) in compounded:
		if x == prev_x:
			print(y - prev_y)
			print(' '.join(map(str, range(prev_y + 1, y + 1))))
			return
		prev_x = x
		prev_y = y
	raise ValueError('Did not find matching moduli')
for _ in range(T):
	N = int(input())
	input_set = [int(x) for x in input().split()]
	solve(N, input_set)


t = int(input())
import collections
for _ in range(t):
	n = int(input())
	a = list(map(int, input().split()))
	s = 0
	d = {}
	for i in range(n):
		s = (s + a[i]) % n
		if s == 0:
			print(i + 1)
			for j in range(i):
				print(j + 1, end=' ')
			print(i + 1)
			break
		elif s in d:
			print(i - d[s])
			for j in range(d[s] + 1, i):
				print(j + 1, end=' ')
			print(i + 1)
			break
		else:
			d[s] = i