
import sys
input = sys.stdin.readline

MAX_N = 50

line = input()
cc = int(line.strip())
assert (str(cc) + "\n") == line
assert 1 <= cc <= 20

vals = []
seen = []
ans = []

def go(index, pos):
    global ans, seen, vals
    if index < 0 or index >= len(seen) or seen[index]:
        return 0
    seen[index] = 1
    ans[pos] = index
    if pos == n - 1:
        print(" ".join(str(x) for x in ans))
        return 1
    if go(index - vals[pos], pos + 1):
        return 1
    if go(index + vals[pos], pos + 1):
        return 1
    seen[index] = 0
    return 0


for _ in range(cc):
    line = input()
    n = int(line.strip())
    assert str(n) + "\n" == line
    assert 1 <= n <= MAX_N

    line = input()
    vals = [int(x) for x in line.split()]
    assert " ".join(str(x) for x in vals) + "\n" == line
    assert len(vals) == n - 1

    ans = [0] * n
    seen = [0] * n
    printed = 0
    for i in range(n):
        if go(i, 0):
            printed = 1
            break
    if not printed:
        print("impossible")

    
