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')