조공
시간 제한15초메모리 제한512 MB
2^n - 1개의 모든 공집합이 아닌 부분집합 합이 주어질 때, 원래의 n개 양의 정수를 복원하거나 답이 없거나 유일하지 않으면 NO를 출력한다.
문제
천자이신 황제께서 재상인 당신에게 이웃한 개 왕국에서 조공을 거둬들이라고 명하셨다. 각 조공국에는 은화로 낼 액수가 정해져 있는데, 번째 왕국의 액수는 이다. 황제께서는 무한한 은혜를 베푸시기 위해 일부 국가에서만 돈을 거두고 나머지는 봐주기로 하셨다. 열의가 넘치던 재무 대신은 모든 를 적어 두고 이미 가능한 모든 가지 수입 값, 즉 조공국의 공집합이 아닌 부분집합의 합을 산출해 두었다. 그런데 그 과정에서 대신은 원래 조공 액수가 적힌 종이를 잃어버렸다. 이 잘못과 서체 불량으로 그는 즉시 처형되었다.
이제 당신에게는 아주 엉망으로 적힌 개의 합만 남아 있다. 이 합들로부터 조공 액수를 복원할 수 있겠는가?
입력
첫 줄에는 테스트 케이스의 수 가 주어진다 . 그다음에 각 테스트 케이스의 설명이 이어진다.
각 테스트 케이스는 두 줄로 이루어진다. 첫째 줄에는 이 주어지고, 둘째 줄에는 조공의 가능한 모든 합을 나타내는 개의 정수가 주어지며 각 값은 를 넘지 않는다. 조공 액수는 모두 양의 정수였다고 가정한다. 모든 테스트 케이스에 있는 합의 총 개수는 을 넘지 않는다.
출력
각 테스트 케이스마다 복원한 값을 에 대해 오름차순으로 출력한다. 입력에 맞는 값이 없거나 가능한 값이 여러 가지라면 대신 ``\texttt{NO}''를 출력한다. 같은 사람을 두 번 처형할 수는 없기 때문이다.