n=int(input()) a=list(map(int,input().split())) """ 1<=n<=150000 1<=ai<=150000 n<=sum(a)<=1.5^2*10^10 とりうる部分和は2^n-1 2^n-122以上ならOKなのでaを小さく取って全探索 """ if n==1: print('No') elif n==2: if a[0]==a[1]: print('Yes') print(a[0],-a[1]) else: print('No') else: b=[a[0],a[1]] sumb=a[0]+a[1] for x in a[2:]: if sumb>j)&1: key+=a[j] if key in d: sub0=d[key] sub1=i u=sub0&sub1 sub0-=u sub1-=u ans=[] for j in range(m): if (sub0>>j)&1: ans.append(a[j]) elif (sub1>>j)&1: ans.append(-a[j]) else: ans.append(0) ans+=[0]*(n-m) print('Yes') print(*ans) exit() d[key]=i print('No')