문제
구슬 주머니에 번호가 써진 구슬이 N개 있을 때, 어느 한 구슬에 쓰여진 번호가 다른 나머지 구슬에 쓰여진 번호의 합과 같다면 그 구슬 주머니는 '좋은 주머니'이다. 예를 들어, 구슬 주머니 안에 [3, 1, 7, 3]라는 번호가 쓰여진 구슬이 들어있다면, 7을 제외한 나머지 번호의 합이 7(1+3+3)이므로 이 구슬 주머니는 좋은 구슬 주머니이다.
당신은 현재 N개의 구슬이 담긴 구슬 주머니를 가지고 있는데, 단 한 개의 구슬을 꺼내어 이 주머니를 좋은 구슬 주머니를 만들고 싶다.
예를 들어, 구슬 주머니에 [8, 3, 5, 2]라는 번호가 써진 구슬이 들어있다고 가정해보자. 8을 꺼내면 [3, 5, 2]가 남게 되고 2+3=5이므로 좋은 구슬 주머니가 된다. 또한, 2를 꺼내면 [8, 3, 5]가 남게 되고 3+5=8이므로 역시 좋은 구슬 주머니가 된다. 하지만 3 또는 5를 꺼내면 좋은 구슬 주머니가 될 수 없다. 따라서 좋은 구슬 주머니가 될 수 있는 경우의 수는 2가지, 가능한 각 경우는 1번째, 4번째 구슬을 꺼내는 경우이다.
구슬의 개수와 구슬에 쓰여진 숫자가 주어졌을 때 가능한 경우의 수와 그 각각의 경우를 출력하는 프로그램을 작성하라.
입력
첫째 줄에 구슬의 개수를 나타내는 정수 N이 주어진다.
둘째 줄에 구슬에 써진 번호 이 공백으로 구분되어 주어진다.
출력
첫째 줄에 좋은 구슬 주머니를 만들 수 있는 경우의 수 를 출력한다.
둘째 줄에 몇 번째 구슬을 꺼내야 하는지 k개의 인덱스를 공백으로 구분하여 오름차순으로 출력한다. 만약 k가 0이라면 출력하지 않는다.