import sys def input(): return sys.stdin.readline().strip() def mapint(): return list(map(int, input().split())) sys.setrecursionlimit(10**9) N = int(input()) As = mapint() over22 = False if N>=22: diff = N-22 N = 22 over22 = True used = {} for i in range(1<>j)&1: tmp += As[j] lis.append(As[j]) else: lis.append(0) if tmp in used: neg_lis = [] neg_i = used[tmp] for j in range(N): if (neg_i>>j)&1: neg_lis.append(-As[j]) else: neg_lis.append(0) for i in range(N): lis[i] += neg_lis[i] print('Yes') if over22: lis.extend([0]*diff) print(*lis) exit() used[tmp] = i else: print('No')