N = int(input())
A = list(map(int, input().split()))

n = min(22,N)
s = set()
d = {}
for i in range(1,1<<n):
    sm = 0
    for j in range(n):
        if i&(1<<j):
            sm += A[j]
    if sm in s:
        bit1,bit2 = d[sm],i
        res = [0]*N
        for k in range(n):
            if bit1&(1<<k) and not bit2&(1<<k):
                res[k] = 1
            elif bit2&(1<<k) and not bit1&(1<<k):
                res[k] = -1
        for k in range(N):
            res[k] *= A[k]
        print('Yes')
        print(*res)
        exit()
    else:
        s.add(sm)
        d[sm] = i

print('No')